/* ============================================
   InmoPanama — Overrides de HouseBox
   Paleta de marca aplicada sobre la plantilla.
   Cargar SIEMPRE después de main.css.
   ============================================ */

/* ============================================
   VARIABLES DE MARCA InmoPanama
   ============================================ */
:root {
  --ib-negro-principal: #0B0B0B;
  --ib-negro-secundario: #1A1A1A;
  --ib-amarillo: #F5C400;
  --ib-amarillo-hover: #E0B000;
  --ib-blanco: #FFFFFF;
  --ib-gris-fondo: #F5F5F5;
  --ib-gris-borde: #D9D9D9;
  --ib-texto-oscuro: #222222;
}

/* ============================================
   OVERRIDE DE VARIABLES DE HOUSEBOX
   Reemplaza el verde lima (#CBCD30) y verde oliva (#073B3A)
   de HouseBox por la paleta de marca InmoPanama.
   Estas 4 variables cubren botones, accents y hovers en
   todo el template de forma centralizada.
   ============================================ */
:root {
  --ztc-bg-bg-3: #F5C400;      /* era #CBCD30 (verde lima) — fondo de botones primarios */
  --ztc-bg-bg-4: #0B0B0B;      /* era #073B3A (verde oliva) — top bar, hover de botones */
  --ztc-text-text-4: #F5C400;  /* era #CBCD30 — links activos, hover de flechas del slider */
  --ztc-text-text-5: #F5C400;  /* era #073B3A — hover de menú, dropdown y links de footer */
}

/* ============================================
   TOP BAR
   El fondo oscuro ya queda cubierto por --ztc-bg-bg-4 (#0B0B0B)
   que usa el ::after de .header-area.homepage1.
   Solo sobrescribimos los separadores | que tienen color
   hardcodeado #224F4E en main.css.
   ============================================ */
.homepage1-body .header-area.homepage1 .header-top-area .header-content li span,
.homepage1-body .header-area.homepage1 .header-top-area .list-content li .signin span {
  color: rgba(255, 255, 255, 0.3); /* era #224F4E (teal) — blanco semitransparente */
}

/* ============================================
   NAVBAR
   main.css asigna background: var(--ztc-bg-bg-1) = blanco a
   .header-area.homepage1. Se sobrescribe a negro.
   Los links del menú usan color: var(--ztc-text-text-2) = #030E0F
   (oscuro sobre blanco), se cambian a blanco para el fondo negro.
   El ícono de búsqueda también era oscuro.
   ============================================ */
.homepage1-body .header-area.homepage1 {
  background: #0B0B0B;
}

.homepage1-body .header-area.homepage1 .header-elements .main-menu ul li a {
  color: #FFFFFF;
}

.homepage1-body .header-area.homepage1 .btn-area .search-icon svg {
  color: #FFFFFF;
}

.homepage1-body .header-area.homepage1 .btn-area .search-icon {
  border-right-color: rgba(255, 255, 255, 0.2);
}

/* Estado sticky: cuando el usuario hace scroll el header se fija.
   !important necesario porque main.css usa var(--ztc-bg-bg-1)
   en .header-area.homepage1.sticky (mismo selector, misma
   especificidad, pero ib-overrides carga después y gana sin
   !important — sin embargo se conserva para blindar cualquier
   variación JS que pueda inyectar estilos inline). */
.header-area.homepage1.sticky {
  background: rgba(11, 11, 11, 0.95) !important;
  backdrop-filter: blur(12px);
}

/* ============================================
   DROPDOWNS (.dropdown-padding)
   main.css usa background: var(--ztc-text-text-1) = blanco.
   Se cambia a negro secundario.
   Los links del dropdown eran oscuros (#030E0F), se cambian a blanco.
   ============================================ */
.homepage1-body .header-area.homepage1 .header-elements .main-menu ul li ul.dropdown-padding {
  background: #1A1A1A;
}

.homepage1-body .header-area.homepage1 .header-elements .main-menu ul li ul.dropdown-padding li a {
  color: #FFFFFF;
}

/* ============================================
   NAVBAR MÓVIL — barra superior
   main.css usa background: var(--ztc-text-text-1) = blanco en
   .mobile-header.mobile-header1.
   El ícono hamburguesa usa var(--ztc-text-text-2) = dark.
   Los círculos de usuario y + tienen background #E4E4C9 hardcodeado
   en main.css (L5219), y los SVG tienen fill="#073B3A" en el HTML
   — CSS fill property overrides el atributo HTML.
   ============================================ */
.mobile-header.mobile-header1 {
  background: #0B0B0B;
}

.mobile-header.mobile-header1 .mobile-nav-icon {
  color: #FFFFFF;
}

/* Íconos circulares (usuario y +): background hardcodeado #E4E4C9 */
.mobile-header .circle-button {
  background-color: #F5C400;
}

/* SVG paths con fill="#073B3A" hardcodeado en el HTML — CSS lo sobreescribe */
.mobile-header .circle-button svg path {
  fill: #0B0B0B;
}

/* ============================================
   SIDEBAR MÓVIL — drawer
   main.css usa background: var(--ztc-text-text-1) = blanco en
   .mobile-sidebar.mobile-sidebar1.
   Links y headings usan var(--ztc-text-text-2) = dark.
   Mobile.css base usa color: #161616 para .menu-close y sub-items.
   ============================================ */
.mobile-sidebar.mobile-sidebar1 {
  background: #0B0B0B;
}

/* Botón cerrar (X): mobile.css tiene color: #161616; se sobreescribe */
.mobile-sidebar.mobile-sidebar1 .menu-close {
  color: #FFFFFF;
}

/* Links principales de navegación */
.mobile-sidebar.mobile-sidebar1 .mobile-nav.mobile-nav1 .mobile-nav-list.nav-list1 li a {
  color: #FFFFFF;
}

/* Sub-items de menú desplegable */
.mobile-sidebar.mobile-sidebar1 .mobile-nav.mobile-nav1 .mobile-nav-list.nav-list1 li ul li a,
.mobile-sidebar.mobile-sidebar1 .sub-menu li a {
  color: rgba(255, 255, 255, 0.75);
}

/* Headings de secciones del sidebar (Información de Contacto, Ubicación, etc.) */
.mobile-sidebar.mobile-sidebar1 .mobile-nav.mobile-nav1 h3 {
  color: #FFFFFF;
}

/* Links de información de contacto (teléfono, email, dirección) */
.mobile-sidebar.mobile-sidebar1 .footer1-contact-info .contact-info-single .contact-info-text a {
  color: rgba(255, 255, 255, 0.80);
}

/* Íconos SVG de contacto usan fill="currentColor", hereda del color del padre */
.mobile-sidebar.mobile-sidebar1 .footer1-contact-info .contact-info-single .contact-info-icon svg {
  color: #F5C400;
}

/* Círculos de redes sociales: main.css usa bg blanco y borde dark */
.mobile-sidebar.mobile-sidebar1 .footer1-contact-info .social-links-mobile-menu ul li a {
  background: #1A1A1A;
  border-color: rgba(255, 255, 255, 0.2);
  color: #FFFFFF;
}

/* Hover de círculos sociales: --ztc-text-text-4 ya es #F5C400, solo ajustamos texto */
.mobile-sidebar.mobile-sidebar1 .footer1-contact-info .social-links-mobile-menu ul li a:hover {
  color: #0B0B0B;
  border-color: #F5C400;
}

/* ============================================
   BOTÓN CTA — .theme-btn1 (+ PUBLICAR)
   El fondo ya es amarillo via --ztc-bg-bg-3 = #F5C400.
   El hover ya es negro via --ztc-bg-bg-4 = #0B0B0B.
   Reforzamos que el texto sea negro oscuro sobre amarillo
   para máximo contraste — ya era var(--ztc-text-text-2) = dark,
   pero al usar variables en el override de :root conviene
   declararlo explícito.
   ============================================ */
.theme-btn1 {
  color: #0B0B0B;
}

/* ============================================
   HERO — OVERLAY Y BOTONES
   El overlay del hero usa background: #073B3A HARDCODEADO en
   main.css (línea 1898, NO es variable). Se sobrescribe con
   selector idéntico al de main.css, ganando por orden de carga.
   theme-btn2 ("Ver listados") se convierte a transparente con
   borde blanco para legibilidad sobre la imagen oscurecida.
   ============================================ */
.hero-area-slider .hero1-section-area::after {
  background: #0B0B0B;
}

/* Botón secundario del hero: transparente con borde blanco */
.hero-area-slider .hero1-section-area .hero-header-area .btn-area1 .theme-btn2 {
  background-color: transparent;
  border: 2px solid #FFFFFF;
  color: #FFFFFF;
}

/* En hover, el ::after (overlay animado) pasa a blanco */
.hero-area-slider .hero1-section-area .hero-header-area .btn-area1 .theme-btn2::after {
  background: #FFFFFF;
}

/* Texto en hover del botón secundario: negro sobre blanco */
.hero-area-slider .hero1-section-area .hero-header-area .btn-area1 .theme-btn2:hover {
  color: #0B0B0B;
}

/* ============================================
   FOOTER
   main.css usa background: #F2F3F3 HARDCODEADO (no es variable).
   Se cambia a negro de marca. Todos los textos y headings
   heredan colores oscuros (var(--ztc-text-text-2) = dark,
   var(--ztc-text-text-3) = gray), se sobrescriben a blanco
   para legibilidad sobre fondo negro.
   ============================================ */
.footer1-section-area {
  background: #0B0B0B;
}

/* Descripción bajo el logo */
.footer1-section-area .footer-logoarea p {
  color: rgba(255, 255, 255, 0.70);
}

/* Círculos de redes sociales */
.footer1-section-area .footer-logoarea ul li a {
  background: #1A1A1A;
  color: #FFFFFF;
}

.footer1-section-area .footer-logoarea ul li a:hover {
  color: #0B0B0B; /* texto oscuro sobre el fondo amarillo del hover (--ztc-bg-bg-3) */
}

/* Headings de las columnas del footer */
.footer1-section-area .footer-content h3,
.footer1-section-area .footer-content2 h3,
.footer1-section-area .instagram-posts h3 {
  color: #FFFFFF;
}

/* Links de navegación y contacto */
.footer1-section-area .footer-content ul li a,
.footer1-section-area .footer-content2 ul li a {
  color: rgba(255, 255, 255, 0.70);
}

/* Copyright */
.footer1-section-area .copyright p {
  color: rgba(255, 255, 255, 0.45);
  border-top-color: rgba(255, 255, 255, 0.10);
}


/* ============================================
   PROPIEDADES REBAJADAS — slider vertical
   Forzar altura fija a las cards para que slick-vertical
   no se descalibre con títulos de largo variable.
   ============================================ */

.box-slider .item-featured-boxarea {
    min-height: 334px;
    max-height: 334px;
    overflow: hidden;
}

.box-slider .item-featured-boxarea h2 {
    /* Limitar título a 2 líneas máximo */
    display: -webkit-box;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* ============================================
   PROPIEDADES DESTACADAS — Card CTA "Espacio disponible"
   Card mostrada cuando un tipo no tiene 6 destacados pagados.
   Visualmente diferenciada para invitar a pagar por destacado.
   ============================================ */

.property-boxarea.ib-cta-card {
    background: var(--ib-gris-fondo);
    border: 2px dashed var(--ib-gris-borde);
    min-height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 40px 20px;
    transition: all 0.3s ease;
}

.property-boxarea.ib-cta-card:hover {
    border-color: var(--ib-amarillo);
    background: var(--ib-blanco);
}

.ib-cta-inner {
    width: 100%;
}

.ib-cta-icon {
    color: var(--ib-amarillo);
    margin-bottom: 16px;
}

.ib-cta-text h4 {
    color: var(--ib-texto-oscuro);
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 8px;
}

.ib-cta-text p {
    color: var(--ib-texto-oscuro);
    font-size: 14px;
    margin-bottom: 20px;
}

/* ============================================
   PROPIEDADES DESTACADAS — Tamaño uniforme de imágenes
   Fuerza el contenedor del swiper y las imágenes a una altura fija.
   Sin esto, Swiper calcula altura según el slide más alto y deja
   espacios vacíos cuando los tamaños de las fotos varían.
   ============================================ */

.property-boxarea .img1,
.property-boxarea .img1 .swiper,
.property-boxarea .img1 .swiper-wrapper,
.property-boxarea .img1 .swiper-slide {
    height: 300px !important;
    max-height: 300px;
}

.property-boxarea .img1 .swiper-slide img,
.property-boxarea .img1 > img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    display: block;
}

.property-boxarea .btn-area a.heart {
    background: var(--ib-amarillo) !important;
}

.property-boxarea .btn-area a.heart:hover {
    background: var(--ib-amarillo-hover) !important;
}

/* ============================================
   MOTOR DE BÚSQUEDA — Autocomplete y botón customize
   ============================================ */

.ib-search-zone {
    position: relative;
}

.ib-suggest-results {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--ib-blanco);
    border: 1px solid var(--ib-gris-borde);
    border-top: none;
    max-height: 300px;
    overflow-y: auto;
    z-index: 100;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

.ib-suggest-item {
    padding: 10px 14px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--ib-gris-fondo);
    transition: background 0.15s ease;
}

.ib-suggest-item:hover {
    background: var(--ib-gris-fondo);
}

.ib-suggest-name {
    color: var(--ib-texto-oscuro);
    font-weight: 500;
}

.ib-suggest-tipo {
    font-size: 11px;
    color: var(--ib-texto-oscuro);
    opacity: 0.6;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.ib-suggest-empty {
    padding: 14px;
    text-align: center;
    color: var(--ib-texto-oscuro);
    opacity: 0.5;
    font-style: italic;
}

.ib-customize-btn {
    background: transparent;
    border: 1px solid var(--ib-gris-borde);
    border-radius: 50%;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--ib-texto-oscuro);
    transition: all 0.2s ease;
}

.ib-customize-btn:hover,
.ib-customize-btn.active {
    background: var(--ib-amarillo);
    border-color: var(--ib-amarillo);
    color: var(--ib-negro-principal);
}

.ib-customize-trigger label {
    visibility: hidden;
}

/* ============================================
   MOTOR DE BÚSQUEDA — Avanzado oculto/expandido
   Estrategia: visibility:hidden + height:0 mantiene el elemento
   renderizado en el DOM para que HouseBox inicialice sus componentes
   (slider, nice-select) al cargar, pero invisible al usuario.
   Al hacer toggle, .ib-ready lo expande.
   ============================================ */

.ib-advanced-form {
    visibility: hidden;
    height: 0;
    overflow: hidden;
    opacity: 0;
    margin: 0;
    padding: 0;
    transition: opacity 0.2s ease;
}

.ib-advanced-form.ib-ready {
    visibility: visible;
    height: auto;
    overflow: visible;
    opacity: 1;
    margin-top: 24px;
    padding: 24px 0 0 0;
}

/* ============================================
   MOTOR DE BÚSQUEDA — Tabs Venta/Alquiler
   Renombradas .tab-btn → .ib-tab-btn para evitar conflicto con
   el JS de HouseBox. Se replican los estilos visuales aquí.
   ============================================ */

.ib-tab-header {
    display: inline-flex;
    background: var(--ib-blanco);
    border-radius: 8px;
    padding: 4px;
    margin-bottom: 0;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.ib-tab-btn {
    background: transparent;
    color: var(--ib-texto-oscuro);
    border: none;
    padding: 12px 32px;
    font-size: 15px;
    font-weight: 600;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
    outline: none;
}

.ib-tab-btn.active {
    background: var(--ib-amarillo);
    color: var(--ib-negro-principal);
}

/* ============================================
   MOTOR DE BÚSQUEDA — Inputs de rango (Precio + Metraje)
   Dos grupos lado a lado, cada uno con min/max y mensaje de error
   inline. Reemplaza los sliders anteriores.
   ============================================ */

.ib-range-inputs {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    margin-bottom: 24px;
}

.ib-range-group {
    flex: 1 1 calc(50% - 12px);
    min-width: 260px;
}

.ib-range-label {
    font-size: 15px;
    font-weight: 600;
    color: var(--ib-texto-oscuro);
    margin-bottom: 10px;
}

.ib-range-fields {
    display: flex;
    align-items: center;
    gap: 10px;
}

.ib-range-input {
    flex: 1;
    background: var(--ib-blanco);
    border: 1px solid var(--ib-gris-borde);
    border-radius: 8px;
    padding: 12px 14px;
    font-size: 14px;
    color: var(--ib-texto-oscuro);
    transition: border-color 0.2s ease;
    outline: none;
    -moz-appearance: textfield;
    appearance: textfield;
}

.ib-range-input::-webkit-outer-spin-button,
.ib-range-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.ib-range-input:focus {
    border-color: var(--ib-amarillo);
}

.ib-range-input.ib-range-error-input {
    border-color: #d83838;
    background: #fff5f5;
}

.ib-range-sep {
    color: var(--ib-texto-oscuro);
    opacity: 0.5;
    font-weight: 600;
    padding: 0 4px;
}

.ib-range-error {
    display: none;
    color: #d83838;
    font-size: 12px;
    margin-top: 6px;
    font-weight: 500;
}

@media (max-width: 768px) {
    .ib-range-group {
        flex: 1 1 100%;
    }
}

/* ============================================
   MOTOR DE BÚSQUEDA — Visibilidad en móvil
   HouseBox aplica display:none al .property-tab-section en pantallas
   chicas esperando un motor móvil alternativo que en nuestra
   integración no existe. Forzamos visibilidad en todos los breakpoints.
   ============================================ */

@media (max-width: 991px) {
    .ib-search-form.property-tab-section {
        display: block !important;
    }

    /* Stack vertical: cada campo ocupa 100% del ancho disponible */
    .ib-search-form .filters {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .ib-search-form .filters .ib-search-zone,
    .ib-search-form .filters .filter-group,
    .ib-search-form .filters .search-button {
        flex: 1 1 100% !important;
        min-width: 0 !important;
        width: 100%;
    }

    /* Customize + Buscar en una fila horizontal abajo */
    .ib-search-form .filters .ib-customize-trigger,
    .ib-search-form .filters .search-button {
        flex: 0 0 auto !important;
        width: auto !important;
    }

    .ib-search-form .filters .ib-customize-trigger {
        margin-right: 8px !important;
    }

    /* Asegurar que el botón Buscar ocupe todo el ancho restante */
    .ib-search-form .filters .search-button button {
        width: 100%;
    }
}

/* ============================================
   MOTOR DE BÚSQUEDA — Override hover de HouseBox en móvil
   HouseBox tiene una regla genérica:
     .others-section-area .property-tab-section button:hover { background: #eee; }
   que se activa al tap en móvil y pisa nuestro .ib-tab-btn.active.
   Forzamos que el activo conserve su amarillo incluso bajo :hover.
   ============================================ */

.others-section-area .property-tab-section .ib-tab-btn.active,
.others-section-area .property-tab-section .ib-tab-btn.active:hover,
.others-section-area .property-tab-section .ib-tab-btn.active:focus {
    background: var(--ib-amarillo) !important;
    color: var(--ib-negro-principal) !important;
}

/* En desktop, hover sobre tab no activo va a gris claro como antes */
@media (hover: hover) {
    .others-section-area .property-tab-section .ib-tab-btn:not(.active):hover {
        background: var(--ib-gris-fondo) !important;
    }
}

/* En móvil, sin hover ningún tab no-activo cambia color */
@media (hover: none) {
    .others-section-area .property-tab-section .ib-tab-btn:not(.active):hover,
    .others-section-area .property-tab-section .ib-tab-btn:not(.active):focus {
        background: transparent !important;
    }
}
/* ============================================
   LISTADO — Overlay del hero
   HouseBox aplica un overlay verde por defecto sobre las imágenes
   del hero. Lo reemplazamos por negro semitransparente (#0B0B0B al
   55%) que es lo estándar de la industria y mantiene legible el
   texto blanco del breadcrumb y h1.
   ============================================ */

.hero-inner-section-area-sidebar {
    position: relative;
}

.hero-inner-section-area-sidebar::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(11, 11, 11, 0.55);
    z-index: 1;
}

.hero-inner-section-area-sidebar .hero-img1 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

.hero-inner-section-area-sidebar .container {
    position: relative;
    z-index: 2;
}


/* ============================================
   LISTADO SIDEBAR — Estilos completos del componente
   Bloque único, sin conflictos, con specificity suficiente para
   ganar sobre el CSS de HouseBox.
   ============================================ */

/* Contenedor principal del sidebar */
.ib-sidebar-form {
    background: var(--ib-blanco);
    border: 1px solid var(--ib-gris-borde);
    border-radius: 12px;
    padding: 24px;
    position: relative;
}

.ib-sidebar-form .ib-sidebar-title {
    font-size: 20px;
    font-weight: 700;
    color: var(--ib-texto-oscuro);
    margin: 0 0 20px 0;
    padding: 0;
    line-height: 1.3;
}

/* Tabs venta/alquiler */
.ib-sidebar-form .ib-sidebar-tabs {
    display: flex;
    margin-bottom: 20px;
    background: var(--ib-gris-fondo);
    border-radius: 8px;
    padding: 4px;
    width: 100%;
}

.ib-sidebar-form .ib-sidebar-tabs .ib-tab-btn {
    flex: 1;
    background: transparent;
    color: var(--ib-texto-oscuro);
    border: none;
    padding: 10px 16px;
    font-size: 14px;
    font-weight: 600;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
    outline: none;
    line-height: 1.4;
}

.ib-sidebar-form .ib-sidebar-tabs .ib-tab-btn.active {
    background: var(--ib-amarillo);
    color: var(--ib-negro-principal);
}

/* Wrapper de cada campo */
.ib-sidebar-form .ib-sidebar-field {
    margin: 0 0 18px 0;
    padding: 0;
    position: relative;
    display: block;
    min-height: 0;
    height: auto;
}

/* Label de cada campo: forzar altura natural */
.ib-sidebar-form .ib-sidebar-field > label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--ib-texto-oscuro);
    margin: 0 0 6px 0;
    padding: 0;
    line-height: 1.4;
    height: auto;
    min-height: 0;
    max-height: none;
    /* CRÍTICO: cancelar inline-block de bootstrap.min.css */
    width: auto;
}

/* Inputs de texto y número */
.ib-sidebar-form .ib-sidebar-input {
    width: 100%;
    background: var(--ib-blanco);
    border: 1px solid var(--ib-gris-borde);
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 14px;
    color: var(--ib-texto-oscuro);
    outline: none;
    transition: border-color 0.2s ease;
    box-sizing: border-box;
    line-height: 1.4;
    height: auto;
    min-height: 42px;
}

.ib-sidebar-form .ib-sidebar-input:focus {
    border-color: var(--ib-amarillo);
}

.ib-sidebar-form .ib-sidebar-input.ib-range-error-input {
    border-color: #d83838;
    background: #fff5f5;
}

.ib-sidebar-form .ib-sidebar-input::-webkit-outer-spin-button,
.ib-sidebar-form .ib-sidebar-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Range min/max (precio) */
.ib-sidebar-form .ib-sidebar-range {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ib-sidebar-form .ib-sidebar-range-sep {
    color: var(--ib-texto-oscuro);
    opacity: 0.5;
    font-weight: 600;
}

.ib-sidebar-form .ib-sidebar-input-half {
    flex: 1;
}

/* Select original: oculto completamente */
.ib-sidebar-form select.ib-sidebar-select {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    left: -9999px !important;
    top: -9999px !important;
    pointer-events: none !important;
    visibility: hidden !important;
}

/* Nice-select (dropdowns custom de HouseBox) */
.ib-sidebar-form div.nice-select.ib-sidebar-select,
.ib-sidebar-form .ib-sidebar-field > .nice-select {
    display: block !important;
    width: 100% !important;
    background: var(--ib-blanco) !important;
    border: 1px solid var(--ib-gris-borde) !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    color: var(--ib-texto-oscuro) !important;
    cursor: pointer !important;
    position: relative !important;
    box-sizing: border-box !important;
    padding: 0 32px 0 14px !important;
    height: 42px !important;
    line-height: 40px !important;
    margin: 0 !important;
    float: none !important;
    clear: none !important;
}

.ib-sidebar-form .nice-select .current {
    display: block;
    color: var(--ib-texto-oscuro);
    font-size: 14px;
    line-height: 40px;
    margin: 0;
    padding: 0;
}

.ib-sidebar-form .nice-select::after {
    content: '';
    position: absolute;
    right: 14px;
    top: 50%;
    width: 8px;
    height: 8px;
    border-bottom: 2px solid var(--ib-texto-oscuro);
    border-right: 2px solid var(--ib-texto-oscuro);
    transform: translateY(-65%) rotate(45deg);
    pointer-events: none;
    transition: transform 0.2s ease;
}

.ib-sidebar-form .nice-select.open::after {
    transform: translateY(-30%) rotate(-135deg);
}

.ib-sidebar-form .nice-select .list {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    background: var(--ib-blanco);
    border: 1px solid var(--ib-gris-borde);
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    padding: 4px;
    z-index: 100;
    max-height: 240px;
    overflow-y: auto;
    list-style: none;
    margin: 0;
    display: none;
}

.ib-sidebar-form .nice-select.open .list {
    display: block;
}

.ib-sidebar-form .nice-select .option {
    padding: 8px 12px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    color: var(--ib-texto-oscuro);
    list-style: none;
    line-height: 1.4;
    height: auto;
    min-height: 0;
}

@media (hover: hover) {
    .ib-sidebar-form .nice-select .option:hover {
        background: var(--ib-gris-fondo);
    }
}

.ib-sidebar-form .nice-select .option.focus,
.ib-sidebar-form .nice-select .option.selected.focus {
    background: var(--ib-gris-fondo);
}

.ib-sidebar-form .nice-select .option.selected {
    color: var(--ib-amarillo-hover);
    font-weight: 600;
}

/* Amenidades en 2 columnas */
.ib-sidebar-form .ib-sidebar-amenities {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px 12px;
    margin-top: 4px;
}

.ib-sidebar-form .ib-sidebar-amenity {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    font-size: 13px;
    color: var(--ib-texto-oscuro);
    margin: 0;
    font-weight: 400;
    line-height: 1.3;
}

.ib-sidebar-form .ib-sidebar-amenity input[type="checkbox"] {
    accent-color: var(--ib-amarillo);
    cursor: pointer;
    margin: 0;
    flex-shrink: 0;
}

.ib-sidebar-form .ib-sidebar-amenity-label {
    flex: 1;
}

/* Acciones (botones) */
.ib-sidebar-form .ib-sidebar-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 24px;
}

.ib-sidebar-form .ib-sidebar-btn-primary {
    background: var(--ib-amarillo);
    color: var(--ib-negro-principal);
    border: none;
    border-radius: 8px;
    padding: 14px 20px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: background 0.2s ease;
    line-height: 1.2;
    width: 100%;
    box-sizing: border-box;
}

@media (hover: hover) {
    .ib-sidebar-form .ib-sidebar-btn-primary:hover {
        background: var(--ib-amarillo-hover);
    }
}

.ib-sidebar-form .ib-sidebar-btn-secondary {
    background: transparent;
    color: var(--ib-texto-oscuro);
    border: 1px solid var(--ib-gris-borde);
    border-radius: 8px;
    padding: 10px 20px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    line-height: 1.2;
    width: 100%;
    box-sizing: border-box;
}

@media (hover: hover) {
    .ib-sidebar-form .ib-sidebar-btn-secondary:hover {
        background: var(--ib-gris-fondo);
    }
}

/* Mensaje de error inline */
.ib-sidebar-form .ib-range-error {
    display: none;
    color: #d83838;
    font-size: 12px;
    margin-top: 6px;
    font-weight: 500;
}

/* Autocomplete zona */
.ib-sidebar-form .ib-sidebar-zone {
    position: relative;
}

.ib-sidebar-form .ib-sidebar-zone .ib-suggest-results {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--ib-blanco);
    border: 1px solid var(--ib-gris-borde);
    border-top: none;
    max-height: 250px;
    overflow-y: auto;
    z-index: 100;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    display: none;
    border-radius: 0 0 8px 8px;
}

.ib-sidebar-form .ib-sidebar-zone .ib-suggest-item {
    padding: 10px 14px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--ib-gris-fondo);
    transition: background 0.15s ease;
}

@media (hover: hover) {
    .ib-sidebar-form .ib-sidebar-zone .ib-suggest-item:hover {
        background: var(--ib-gris-fondo);
    }
}

.ib-sidebar-form .ib-sidebar-zone .ib-suggest-name {
    color: var(--ib-texto-oscuro);
    font-weight: 500;
}

.ib-sidebar-form .ib-sidebar-zone .ib-suggest-tipo {
    font-size: 11px;
    color: var(--ib-texto-oscuro);
    opacity: 0.6;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.ib-sidebar-form .ib-sidebar-zone .ib-suggest-empty {
    padding: 14px;
    text-align: center;
    color: var(--ib-texto-oscuro);
    opacity: 0.5;
    font-style: italic;
}


/* ============================================
   LISTADO — Cards de altura fija (todas iguales a 280px)
   La imagen llena 100% de su columna izquierda.
   El content-area usa justify-content:space-between para
   distribuir: título arriba, footer abajo.
   Versión: fase-c-v3 (height fijo + heart único).
   ============================================ */

/* Card wrapper — altura fija para igualdad visual entre cards */
.ib-property-list-card {
    display: flex;
    flex-direction: row;
    gap: 0;
    align-items: stretch;
    height: 280px;
    margin-bottom: 24px;
    background: var(--ib-blanco);
    border: 1px solid var(--ib-gris-borde);
    border-radius: 12px;
    overflow: hidden;
}

/* Columna izquierda: imagen fija 360×280 */
.ib-property-list-card .img1 {
    flex: 0 0 360px;
    max-width: 360px;
    width: 360px;
    height: 280px;
    position: relative;
    overflow: hidden;
}

/* Swiper y todos sus contenedores respetan 280px */
.ib-property-list-card .img1 .swiper,
.ib-property-list-card .img1 .swiper-wrapper,
.ib-property-list-card .img1 .swiper-slide {
    height: 280px !important;
    width: 100% !important;
}

.ib-property-list-card .img1 .swiper-slide img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    display: block;
}

.ib-property-list-card .img1 .swiper-slide a {
    display: block;
    height: 100%;
    line-height: 0;
}

/* Paginación superpuesta sobre la imagen */
.ib-property-list-card .img1 .swiper-pagination {
    position: absolute !important;
    bottom: 12px;
    left: 0;
    right: 0;
    z-index: 4;
}

.ib-property-list-card .img1 .swiper-pagination-bullet {
    background: rgba(255, 255, 255, 0.6);
    opacity: 1;
    width: 8px;
    height: 8px;
}

.ib-property-list-card .img1 .swiper-pagination-bullet-active {
    background: var(--ib-amarillo);
}

/* Badges (Destacada / En Venta / En Alquiler) */
.ib-property-list-card .category-list ul {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 6px;
    list-style: none;
    margin: 0;
    padding: 0;
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 5;
}

.ib-property-list-card .category-list ul li a {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    cursor: default;
    pointer-events: none;
    white-space: nowrap;
    line-height: 1.2;
}

/* Badge "Destacada": amarillo */
.ib-property-list-card .category-list ul li.ib-badge-featured a {
    background: var(--ib-amarillo) !important;
    color: var(--ib-negro-principal) !important;
}

/* Badge operación: SIEMPRE blanco */
.ib-property-list-card .category-list ul li.ib-badge-operacion a {
    background: var(--ib-blanco) !important;
    color: var(--ib-negro-principal) !important;
}

/* Columna derecha: contenido distribuido en 280px */
.ib-property-list-card .content-area {
    flex: 1 1 auto;
    padding: 20px 24px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 280px;
    overflow: hidden;
    box-sizing: border-box;
}

/* Título */
.ib-property-list-card .ib-prop-title {
    font-size: 17px;
    font-weight: 700;
    color: var(--ib-texto-oscuro);
    text-decoration: none;
    line-height: 1.3;
    display: block;
}

@media (hover: hover) {
    .ib-property-list-card .ib-prop-title:hover {
        color: var(--ib-amarillo-hover);
    }
}

/* Zona */
.ib-property-list-card .ib-prop-zone {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--ib-texto-oscuro);
    opacity: 0.7;
    font-size: 14px;
    margin: 0;
}

.ib-property-list-card .ib-prop-zone svg {
    flex-shrink: 0;
}

/* Íconos: camas / baños / m² */
.ib-property-list-card .ib-prop-features {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
}

.ib-property-list-card .ib-prop-features li {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 5px 10px;
    border: 1px solid var(--ib-gris-borde);
    border-radius: 20px;
    font-size: 13px;
    color: var(--ib-texto-oscuro);
}

.ib-property-list-card .ib-prop-features li img {
    width: 15px;
    height: 15px;
}

/* Separador */
.ib-property-list-card .ib-prop-divider {
    border: 0;
    border-top: 1px solid var(--ib-gris-borde);
    margin: 10px 0;
}

/* Footer: agente izquierda — corazón+precio derecha */
.ib-property-list-card .ib-prop-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    flex-shrink: 0;
}

.ib-property-list-card .ib-prop-agent {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

/* Avatar con foto */
.ib-property-list-card .ib-prop-agent-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    background: var(--ib-gris-fondo);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow: hidden;
}

/* Fallback: iniciales cuando no hay foto */
.ib-property-list-card .ib-prop-agent-initials {
    background: var(--ib-amarillo);
    color: var(--ib-negro-principal);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.5px;
}

.ib-property-list-card .ib-prop-agent-name {
    font-size: 13px;
    color: var(--ib-texto-oscuro);
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Precio + corazón */
.ib-property-list-card .ib-prop-price-wrapper {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}

/* Corazón único: solo .heart1 (vacío) visible */
.ib-property-list-card .ib-prop-price-wrapper .heart {
    position: relative;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--ib-amarillo);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex-shrink: 0;
    overflow: hidden;
}

.ib-property-list-card .ib-prop-price-wrapper .heart .heart1 {
    display: block;
    width: 20px;
    height: 20px;
}

/* heart2 (lleno) oculto hasta conectar lógica de favoritos */
.ib-property-list-card .ib-prop-price-wrapper .heart .heart2 {
    display: none !important;
}

.ib-property-list-card .ib-prop-price-wrapper .ib-prop-price {
    background: var(--ib-negro-principal);
    color: var(--ib-blanco);
    padding: 10px 18px;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 700;
    white-space: nowrap;
}

/* Responsive: stack vertical en móvil, altura libre */
@media (max-width: 768px) {
    .ib-property-list-card {
        flex-direction: column;
        height: auto;
    }
    .ib-property-list-card .img1 {
        flex: 1 1 100%;
        max-width: 100%;
        width: 100%;
        height: 220px;
    }
    .ib-property-list-card .img1 .swiper,
    .ib-property-list-card .img1 .swiper-wrapper,
    .ib-property-list-card .img1 .swiper-slide {
        height: 220px !important;
    }
    .ib-property-list-card .img1 .swiper-slide img {
        height: 220px;
    }
    .ib-property-list-card .content-area {
        height: auto;
    }
}

/* Mensaje de relajación de filtros */
.ib-results-relaxed {
    color: var(--ib-texto-oscuro);
    font-size: 17px;
    font-weight: 500;
    line-height: 1.4;
    margin: 0;
}

.ib-results-relaxed strong {
    color: var(--ib-amarillo-hover);
}

/* Sin resultados */
.ib-no-results {
    text-align: center;
    padding: 60px 20px;
    background: var(--ib-gris-fondo);
    border-radius: 12px;
}

.ib-no-results h3 {
    color: var(--ib-texto-oscuro);
    margin-bottom: 8px;
}

.ib-no-results p {
    color: var(--ib-texto-oscuro);
    opacity: 0.7;
    margin-bottom: 20px;
}

/* Paginación numerada */
.ib-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    margin: 32px 0 8px;
    flex-wrap: wrap;
}

.ib-pagination a,
.ib-pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 38px;
    padding: 0 10px;
    border-radius: 8px;
    border: 1px solid var(--ib-gris-borde);
    background: var(--ib-blanco);
    color: var(--ib-texto-oscuro);
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s ease;
}

@media (hover: hover) {
    .ib-pagination a:hover {
        background: var(--ib-gris-fondo);
        border-color: var(--ib-amarillo);
    }
}

.ib-pagination .ib-pagination-current {
    background: var(--ib-amarillo);
    border-color: var(--ib-amarillo);
    color: var(--ib-negro-principal);
    font-weight: 700;
    cursor: default;
}

.ib-pagination .ib-pagination-dots {
    border: 0;
    background: transparent;
    cursor: default;
}

.ib-pagination .ib-pagination-prev,
.ib-pagination .ib-pagination-next {
    padding: 0 14px;
}

/* -------------------------------------------------------
   Botón WhatsApp flotante (#wacorner)
   Lo posicionamos encima del scroll-to-top de HouseBox
   (.progress-wrap: bottom 30px, z-index 10000)
------------------------------------------------------- */
#wacorner {
    position: fixed !important;
    right: 30px !important;
    bottom: 100px !important;
    z-index: 99999 !important;
    cursor: pointer;
    pointer-events: auto !important;
}

/* ============================================
   FICHA PROPIEDAD — Página 404 cuando la propiedad no se encuentra
   ============================================ */

.ib-not-found-area {
    padding: 120px 0 80px 0;
    background: var(--ib-gris-fondo);
    min-height: calc(100vh - 200px);
    display: flex;
    align-items: center;
}

.ib-not-found-content h1 {
    color: var(--ib-texto-oscuro);
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 16px;
}

.ib-not-found-content p {
    color: var(--ib-texto-oscuro);
    opacity: 0.7;
    font-size: 16px;
    margin-bottom: 32px;
}

.ib-not-found-actions {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
}

/* ============================================
   FICHA PROPIEDAD — Página 404 cuando la propiedad no se encuentra
   Se muestra cuando ib_property_detail.php recibe un id inválido,
   sin id, o un id que no existe en BD.
   ============================================ */

.ib-not-found-area {
    padding: 120px 0 80px 0;
    background: var(--ib-gris-fondo);
    min-height: calc(100vh - 200px);
    display: flex;
    align-items: center;
}

.ib-not-found-content h1 {
    color: var(--ib-texto-oscuro);
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 16px;
}

.ib-not-found-content p {
    color: var(--ib-texto-oscuro);
    opacity: 0.7;
    font-size: 16px;
    margin-bottom: 32px;
}

.ib-not-found-actions {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
}
/* ============================================
   FICHA PROPIEDAD — Estilos de los componentes (Fase B)
   ============================================ */

/* --- Galería --- */
.ib-prop-gallery { margin-bottom: 32px; }
.ib-prop-gallery-main .swiper-slide img {
    width: 100%; height: 480px; object-fit: cover; display: block; border-radius: 12px;
}
.ib-prop-gallery-thumbs { margin-top: 12px; }
.ib-prop-gallery-thumbs .swiper-slide { cursor: pointer; opacity: 0.6; transition: opacity 0.2s; }
.ib-prop-gallery-thumbs .swiper-slide-thumb-active { opacity: 1; }
.ib-prop-gallery-thumbs .swiper-slide img {
    width: 100%; height: 80px; object-fit: cover; border-radius: 8px;
}

/* --- Info card (título / precio / features) --- */
.ib-prop-info-card {
    background: var(--ib-blanco); border: 1px solid var(--ib-gris-borde);
    border-radius: 12px; padding: 24px; margin-bottom: 32px;
}
.ib-prop-info-card-top {
    display: flex; justify-content: space-between; align-items: flex-start;
    gap: 16px; flex-wrap: wrap; margin-bottom: 16px;
}
.ib-prop-info-card-badges { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.ib-prop-op-badge {
    background: var(--ib-negro-principal); color: var(--ib-blanco);
    padding: 6px 14px; border-radius: 6px; font-size: 13px; font-weight: 600;
}
.ib-prop-phase-badge {
    background: var(--ib-amarillo); color: var(--ib-negro-principal);
    padding: 6px 14px; border-radius: 6px; font-size: 13px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.5px;
}
.ib-prop-info-card-price { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ib-prop-old-price { color: var(--ib-texto-oscuro); opacity: 0.5; text-decoration: line-through; font-size: 16px; }
.ib-prop-discount-badge {
    background: #d83838; color: white;
    padding: 4px 10px; border-radius: 4px; font-size: 13px; font-weight: 700;
}
.ib-prop-main-price { color: var(--ib-texto-oscuro); font-size: 26px; font-weight: 700; }
.ib-prop-info-card-title { font-size: 26px; font-weight: 700; color: var(--ib-texto-oscuro); margin: 0 0 10px 0; }
.ib-prop-info-card-location {
    display: flex; align-items: center; gap: 6px;
    color: var(--ib-texto-oscuro); opacity: 0.7; font-size: 14px; margin: 0 0 16px 0;
}
.ib-prop-info-card-features { display: flex; gap: 10px; list-style: none; padding: 0; margin: 0; flex-wrap: wrap; }
.ib-prop-info-card-features li {
    display: flex; align-items: center; gap: 8px;
    padding: 8px 14px; border: 1px solid var(--ib-gris-borde); border-radius: 8px;
    font-size: 14px; color: var(--ib-texto-oscuro);
}
.ib-prop-info-card-features li img { width: 18px; height: 18px; }

/* --- Descripción, amenidades, placeholders --- */
.ib-prop-description, .ib-prop-amenities-placeholder, .ib-prop-no-map, .ib-prop-no-video {
    background: var(--ib-gris-fondo); padding: 20px; border-radius: 8px;
    color: var(--ib-texto-oscuro);
}

/* --- Detalles técnicos --- */
.ib-prop-details-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 24px; }
.ib-prop-details-list li { display: flex; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid var(--ib-gris-fondo); font-size: 14px; }
.ib-prop-details-list li span { color: var(--ib-texto-oscuro); opacity: 0.7; }
.ib-prop-details-list li strong { color: var(--ib-texto-oscuro); }

/* --- Mapa --- */
.ib-prop-map iframe { width: 100%; border: 0; border-radius: 12px; }

/* --- Video --- */
.ib-prop-video-wrapper { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; border-radius: 12px; }
.ib-prop-video-wrapper iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; border-radius: 12px; }

/* --- Card del agente --- */
.ib-prop-agent-box {
    background: var(--ib-blanco); border: 1px solid var(--ib-gris-borde);
    border-radius: 12px; padding: 24px; position: static;
}
.ib-prop-agent-header { display: flex; align-items: center; gap: 14px; margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px solid var(--ib-gris-fondo); }
.ib-prop-agent-photo { width: 60px; height: 60px; border-radius: 50%; object-fit: cover; display: flex; align-items: center; justify-content: center; background: var(--ib-gris-fondo); flex-shrink: 0; }
.ib-prop-agent-photo-initials { background: var(--ib-amarillo); color: var(--ib-negro-principal); font-size: 18px; font-weight: 700; }
.ib-prop-agent-info h4 { margin: 0; font-size: 17px; color: var(--ib-texto-oscuro); }
.ib-prop-agent-info p { margin: 4px 0 0 0; font-size: 13px; color: var(--ib-texto-oscuro); opacity: 0.7; }
.ib-prop-agent-form { display: flex; flex-direction: column; gap: 10px; }
.ib-prop-agent-form input,
.ib-prop-agent-form textarea { width: 100%; padding: 12px 14px; border: 1px solid var(--ib-gris-borde); border-radius: 8px; font-size: 14px; outline: none; box-sizing: border-box; }
.ib-prop-agent-form input:focus,
.ib-prop-agent-form textarea:focus { border-color: var(--ib-amarillo); }
.ib-prop-form-hint { font-size: 11px; color: var(--ib-texto-oscuro); opacity: 0.5; }
.ib-prop-form-submit { background: var(--ib-amarillo); color: var(--ib-negro-principal); border: none; padding: 14px 20px; border-radius: 8px; font-size: 15px; font-weight: 700; cursor: pointer; width: 100%; margin-top: 4px; }
.ib-prop-form-whatsapp { background: #25D366; color: white; border: none; padding: 14px 20px; border-radius: 8px; font-size: 15px; font-weight: 600; cursor: pointer; width: 100%; margin-top: 12px; display: flex; align-items: center; justify-content: center; gap: 8px; }
.ib-prop-form-whatsapp img { width: 20px; height: 20px; }

/* --- Popup WhatsApp --- */
.ib-prop-wa-popup { position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 100000; }
.ib-prop-wa-overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,0.5); }
.ib-prop-wa-modal { position: relative; max-width: 420px; margin: 80px auto; background: var(--ib-blanco); border-radius: 12px; padding: 32px; box-shadow: 0 10px 40px rgba(0,0,0,0.2); }
.ib-prop-wa-close { position: absolute; top: 12px; right: 16px; background: transparent; border: none; font-size: 28px; cursor: pointer; color: var(--ib-texto-oscuro); }
.ib-prop-wa-modal h3 { margin: 0 0 8px 0; color: var(--ib-texto-oscuro); }
.ib-prop-wa-modal p { margin: 0 0 20px 0; font-size: 14px; color: var(--ib-texto-oscuro); opacity: 0.7; }
.ib-prop-wa-form { display: flex; flex-direction: column; gap: 10px; }
.ib-prop-wa-form input { padding: 12px 14px; border: 1px solid var(--ib-gris-borde); border-radius: 8px; font-size: 14px; outline: none; }
.ib-prop-wa-form input:focus { border-color: var(--ib-amarillo); }

/* --- Propiedades similares --- */
.ib-prop-similar-section { margin: 0 0 48px 0; }
.ib-prop-similar-section h3 { font-size: 22px; font-weight: 700; color: var(--ib-texto-oscuro); margin: 0; }
.ib-prop-similar-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 20px;
}
.ib-prop-similar-card-v2 {
    display: block; text-decoration: none;
    border: 1px solid var(--ib-gris-borde); border-radius: 10px;
    overflow: hidden; transition: box-shadow 0.2s, transform 0.2s;
    background: var(--ib-blanco);
}
.ib-prop-similar-card-v2:hover { box-shadow: 0 6px 24px rgba(0,0,0,0.10); transform: translateY(-2px); }
.ib-prop-similar-card-img img { width: 100%; height: 160px; object-fit: cover; display: block; }
.ib-prop-similar-card-body { padding: 12px 14px; }
.ib-prop-similar-card-title {
    font-size: 13px; color: var(--ib-texto-oscuro); margin: 0 0 6px 0; font-weight: 600; line-height: 1.4;
    overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical;
}
.ib-prop-similar-card-price { font-size: 14px; font-weight: 700; color: var(--ib-negro-principal); margin: 0; }

/* --- Responsive --- */
@media (max-width: 768px) {
    .ib-prop-gallery-main .swiper-slide img { height: 280px; }
    .ib-prop-details-list { grid-template-columns: 1fr; }
    .ib-prop-info-card-title { font-size: 20px; }
    .ib-prop-main-price { font-size: 20px; }
    .ib-prop-info-card { padding: 16px; }
    .ib-prop-similar-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ============================================
   FICHA PROPIEDAD — Estados de formulario (loading, éxito, error)
   ============================================ */

/* Mensaje de éxito que reemplaza al form */
.ib-prop-form-success {
    background: var(--ib-gris-fondo);
    border-radius: 8px;
    padding: 24px 20px;
    text-align: center;
    color: var(--ib-texto-oscuro);
}
.ib-prop-form-success svg {
    color: #25c46e;
    margin-bottom: 8px;
}
.ib-prop-form-success h4 {
    margin: 0 0 6px 0;
    font-size: 17px;
    font-weight: 700;
}
.ib-prop-form-success p {
    margin: 0;
    font-size: 14px;
    opacity: 0.7;
}

/* Mensaje de error inline en el form */
.ib-prop-form-error {
    background: #fef2f2;
    color: #d83838;
    padding: 10px 14px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    border: 1px solid #fecaca;
}

/* Botón submit deshabilitado durante loading */
.ib-prop-form-submit:disabled,
.ib-prop-form-whatsapp:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Popup WhatsApp: paso de éxito */
.ib-prop-wa-step-success {
    text-align: center;
}
.ib-prop-wa-step-success svg {
    margin-bottom: 8px;
}
.ib-prop-wa-step-success h4 {
    margin: 0 0 8px 0;
    font-size: 18px;
    color: var(--ib-texto-oscuro);
}
.ib-prop-wa-step-success p {
    margin: 0 0 20px 0;
    font-size: 14px;
    color: var(--ib-texto-oscuro);
    opacity: 0.8;
    line-height: 1.5;
}

/* Botón "Abrir WhatsApp" en el paso de éxito */
.ib-prop-wa-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #25D366;
    color: white;
    padding: 14px 28px;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    transition: background 0.2s ease;
    width: 100%;
    box-sizing: border-box;
}
@media (hover: hover) {
    .ib-prop-wa-action-btn:hover {
        background: #1ea854;
        color: white;
        text-decoration: none;
    }
}
.ib-prop-wa-action-btn img {
    flex-shrink: 0;
}

/* ============================================
   PÁGINA CONTÁCTANOS — Form personalizado (con !important para
   ganar a los resets de HouseBox que estaban pisando los estilos)
   ============================================ */

.ib-contact-form-field {
    margin-bottom: 16px;
    position: relative;
}
.ib-contact-form-field input,
.ib-contact-form-field textarea {
    width: 100% !important;
    padding: 14px 16px !important;
    border: 1px solid var(--ib-gris-borde) !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    color: var(--ib-texto-oscuro) !important;
    background: var(--ib-blanco) !important;
    outline: none !important;
    transition: border-color 0.2s ease !important;
    box-sizing: border-box !important;
    font-family: inherit !important;
    line-height: 1.5 !important;
    height: auto !important;
    min-height: 48px !important;
}
.ib-contact-form-field input:focus,
.ib-contact-form-field textarea:focus {
    border-color: var(--ib-amarillo) !important;
}
.ib-contact-form-field textarea {
    resize: vertical !important;
    min-height: 120px !important;
}
.ib-contact-form-field input::placeholder,
.ib-contact-form-field textarea::placeholder {
    color: var(--ib-texto-oscuro) !important;
    opacity: 0.5 !important;
}

.ib-contact-form-hint {
    display: block;
    margin-top: 6px;
    font-size: 11px;
    color: var(--ib-texto-oscuro);
    opacity: 0.6;
    text-align: right;
}
.ib-contact-form-submit {
    background: var(--ib-amarillo) !important;
    color: var(--ib-negro-principal) !important;
    border: none !important;
    padding: 14px 32px !important;
    border-radius: 8px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: background 0.2s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: auto !important;
    line-height: 1 !important;
}
@media (hover: hover) {
    .ib-contact-form-submit:hover {
        background: var(--ib-amarillo-hover) !important;
    }
}
.ib-contact-form-submit:disabled {
    opacity: 0.6 !important;
    cursor: not-allowed !important;
}

/* Error inline en el form */
.ib-contact-form-error {
    background: #fef2f2;
    color: #d83838;
    padding: 12px 16px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    border: 1px solid #fecaca;
    margin-bottom: 16px;
}

/* Mensaje de éxito que reemplaza al form */
.ib-contact-form-success {
    background: var(--ib-gris-fondo);
    border-radius: 12px;
    padding: 48px 32px;
    text-align: center;
    color: var(--ib-texto-oscuro);
}
.ib-contact-form-success svg {
    color: #25c46e;
    margin-bottom: 16px;
}
.ib-contact-form-success h3 {
    margin: 0 0 8px 0;
    font-size: 22px;
    font-weight: 700;
}
.ib-contact-form-success p {
    margin: 0;
    font-size: 15px;
    opacity: 0.7;
}

/* intl-tel-input dentro del form de contáctanos */
.ib-contact-form .iti {
    width: 100% !important;
    display: block !important;
}
.ib-contact-form .iti input[type="tel"] {
    width: 100% !important;
    padding-left: 110px !important;
    box-sizing: border-box !important;
}
.ib-contact-form .iti--separate-dial-code .iti__selected-flag {
    background-color: var(--ib-gris-fondo) !important;
    border-right: 1px solid var(--ib-gris-borde);
    border-radius: 8px 0 0 8px;
    padding: 0 8px;
}
.ib-contact-form .iti__country-list {
    z-index: 100 !important;
    max-height: 240px;
    overflow-y: auto;
}

/* ============================================
   PÁGINA CONTÁCTANOS — Ajustes finos del wrapper de iti
   Asegurar que el selector de país + dial code no se superponga
   con el texto del input.
   ============================================ */

.ib-contact-form .iti--separate-dial-code .iti__selected-dial-code {
    color: var(--ib-texto-oscuro);
    font-size: 14px;
    margin-left: 4px;
}

.ib-contact-form .iti--separate-dial-code .iti__selected-flag {
    width: 95px;
    padding: 0 6px 0 12px;
}

.ib-contact-form .iti__flag {
    margin-right: 4px;
}

/* ============================================
   PÁGINA 404 — Diseño centrado con número grande
   Tres dígitos: 4 negro, 0 círculo amarillo
   sobre fondo negro, 4 negro.
   ============================================ */

.ib-404-area {
    padding: 180px 0 120px;
    background: var(--ib-blanco);
    min-height: calc(100vh - 100px);
    display: flex;
    align-items: center;
}

.ib-404-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
}

/* Número "404" */
.ib-404-number {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    line-height: 1;
}

.ib-404-digit-4-left,
.ib-404-digit-4-right {
    font-size: 160px;
    font-weight: 800;
    color: var(--ib-negro);
    line-height: 1;
    font-family: inherit;
}

/* El "0" es un círculo amarillo con el dígito blanco encima */
.ib-404-digit-0 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 160px;
    height: 160px;
    border-radius: 50%;
    background: var(--ib-negro);
    color: var(--ib-amarillo);
    font-size: 130px;
    font-weight: 800;
    line-height: 1;
    font-family: inherit;
}

/* Título y subtítulo */
.ib-404-title {
    font-size: 32px;
    font-weight: 700;
    color: var(--ib-negro);
    margin: 0;
}

.ib-404-subtitle {
    font-size: 18px;
    color: var(--ib-gris-texto);
    margin: 0;
}

/* Botones de acción */
.ib-404-actions {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 8px;
}

.ib-404-btn-primary {
    display: inline-block;
    padding: 14px 32px;
    background: var(--ib-amarillo);
    color: var(--ib-negro);
    font-weight: 700;
    font-size: 15px;
    border-radius: 8px;
    text-decoration: none;
    transition: background 0.2s, transform 0.15s;
}

.ib-404-btn-primary:hover {
    background: #e6b800;
    color: var(--ib-negro);
    text-decoration: none;
    transform: translateY(-2px);
}

.ib-404-btn-secondary {
    display: inline-block;
    padding: 14px 32px;
    background: transparent;
    color: var(--ib-negro);
    font-weight: 700;
    font-size: 15px;
    border: 2px solid var(--ib-negro);
    border-radius: 8px;
    text-decoration: none;
    transition: background 0.2s, color 0.2s, transform 0.15s;
}

.ib-404-btn-secondary:hover {
    background: var(--ib-negro);
    color: var(--ib-blanco);
    text-decoration: none;
    transform: translateY(-2px);
}

/* Responsive — pantallas pequeñas */
@media (max-width: 576px) {
    .ib-404-area {
        padding: 120px 0 80px;
    }

    .ib-404-digit-4-left,
    .ib-404-digit-4-right {
        font-size: 100px;
    }

    .ib-404-digit-0 {
        width: 100px;
        height: 100px;
        font-size: 80px;
    }

    .ib-404-title {
        font-size: 24px;
    }

    .ib-404-subtitle {
        font-size: 16px;
    }

    .ib-404-btn-primary,
    .ib-404-btn-secondary {
        padding: 12px 24px;
        font-size: 14px;
        width: 100%;
        text-align: center;
    }
}

/* ============================================
   PÁGINA POLÍTICA DE PRIVACIDAD — Layout 2 columnas estilo plantilla
   ============================================ */

.ib-privacy-section {
    padding: 80px 0 100px 0;
    background: var(--ib-blanco);
}

/* Contenido principal */
.ib-privacy-content {
    color: var(--ib-texto-oscuro);
    line-height: 1.7;
    font-size: 15px;
}

.ib-privacy-main-title {
    font-size: 36px;
    font-weight: 700;
    color: var(--ib-texto-oscuro);
    margin: 0 0 16px 0;
    line-height: 1.2;
}

.ib-privacy-update {
    background: var(--ib-gris-fondo);
    padding: 10px 18px;
    border-radius: 6px;
    margin-bottom: 24px;
    font-size: 13px;
    color: var(--ib-texto-oscuro);
    display: inline-block;
}

.ib-privacy-intro {
    font-size: 16px;
    color: var(--ib-texto-oscuro);
    opacity: 0.85;
    margin: 0 0 36px 0;
    line-height: 1.7;
}

.ib-privacy-block {
    margin-bottom: 36px;
    scroll-margin-top: 120px;
}

.ib-privacy-block h2 {
    font-size: 24px;
    font-weight: 700;
    color: var(--ib-texto-oscuro);
    margin: 0 0 14px 0;
    line-height: 1.3;
}

.ib-privacy-block h3 {
    font-size: 17px;
    font-weight: 700;
    color: var(--ib-texto-oscuro);
    margin: 20px 0 10px 0;
}

.ib-privacy-block p {
    margin: 0 0 12px 0;
}

.ib-privacy-block ul {
    margin: 8px 0 16px 22px;
    padding: 0;
}

.ib-privacy-block ul li {
    margin-bottom: 10px;
    line-height: 1.6;
}

.ib-privacy-block a {
    color: var(--ib-amarillo-hover);
    text-decoration: underline;
}

@media (hover: hover) {
    .ib-privacy-block a:hover {
        color: var(--ib-negro-principal);
    }
}

.ib-privacy-block strong {
    color: var(--ib-texto-oscuro);
    font-weight: 700;
}

/* Sidebar de categorías */
.ib-privacy-sidebar {
    position: sticky;
    top: 100px;
}

.ib-privacy-sidebar-card {
    background: var(--ib-gris-fondo);
    border-radius: 12px;
    padding: 28px 24px;
}

.ib-privacy-sidebar-title {
    font-size: 20px;
    font-weight: 700;
    color: var(--ib-texto-oscuro);
    margin: 0 0 20px 0;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--ib-gris-borde);
}

.ib-privacy-sidebar-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ib-privacy-sidebar-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 16px;
    background: var(--ib-blanco);
    border-radius: 8px;
    color: var(--ib-texto-oscuro) !important;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
    transition: all 0.2s ease;
    border: 1px solid transparent;
}

@media (hover: hover) {
    .ib-privacy-sidebar-link:hover {
        background: var(--ib-amarillo);
        color: var(--ib-negro-principal) !important;
        border-color: var(--ib-amarillo);
        transform: translateX(4px);
    }
}

.ib-privacy-sidebar-link span {
    color: var(--ib-texto-oscuro);
    opacity: 0.5;
    font-size: 18px;
    font-weight: 700;
    transition: opacity 0.2s ease;
}

@media (hover: hover) {
    .ib-privacy-sidebar-link:hover span {
        opacity: 1;
    }
}

/* Responsive */
@media (max-width: 991px) {
    .ib-privacy-sidebar {
        position: static;
        margin-top: 40px;
    }
}

@media (max-width: 768px) {
    .ib-privacy-section {
        padding: 60px 0 80px 0;
    }
    .ib-privacy-content {
        font-size: 14px;
    }
    .ib-privacy-main-title {
        font-size: 26px;
    }
    .ib-privacy-block h2 {
        font-size: 20px;
    }
    .ib-privacy-block h3 {
        font-size: 16px;
    }
    .ib-privacy-sidebar-card {
        padding: 20px 18px;
    }
}

/* Smooth scroll global */
html {
    scroll-behavior: smooth;
}

/* ============================================
   LISTADO — Sidebar de edificios de la zona
   ============================================ */
.ib-zone-buildings {
    margin-top: 32px;
    background: var(--ib-blanco);
    border: 1px solid var(--ib-gris-borde);
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.ib-zone-buildings-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--ib-texto-oscuro);
    margin: 0 0 16px 0;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--ib-gris-borde);
    line-height: 1.3;
}
.ib-zone-buildings-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.ib-zone-buildings-list li {
    margin: 0;
    padding: 0;
}
.ib-zone-buildings-list li a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    color: var(--ib-texto-oscuro);
    font-size: 14px;
    text-decoration: none;
    border-radius: 6px;
    transition: all 0.15s ease;
    line-height: 1.4;
}
@media (hover: hover) {
    .ib-zone-buildings-list li a:hover {
        background: var(--ib-gris-fondo);
        color: var(--ib-amarillo-hover);
        padding-left: 14px;
    }
}
.ib-zone-buildings-list li a svg {
    flex-shrink: 0;
    color: var(--ib-amarillo);
    opacity: 0.8;
}

/* ============================================
   HOME — Bloque SEO con links de tipos y zonas
   9 columnas en grid 3x3. Cada card con icono (placeholder),
   título, "Ver todo →" y lista de zonas relevantes.
   ============================================ */

.ib-home-seo-block {
    padding: 80px 0;
    background: var(--ib-gris-fondo);
}

.ib-home-seo-header {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 96px auto;
}

.ib-home-seo-header h2 {
    font-size: 30px;
    font-weight: 700;
    color: var(--ib-texto-oscuro);
    margin: 0 0 12px 0;
    line-height: 1.2;
}

.ib-home-seo-header p {
    font-size: 15px;
    color: var(--ib-texto-oscuro);
    opacity: 0.7;
    margin: 0;
    line-height: 1.5;
}

.ib-home-seo-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.ib-home-seo-card {
    background: var(--ib-blanco);
    border: 1px solid var(--ib-gris-borde);
    border-radius: 12px;
    padding: 24px;
    transition: box-shadow 0.2s ease;
}

@media (hover: hover) {
    .ib-home-seo-card:hover {
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
    }
}

.ib-home-seo-card-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--ib-gris-borde);
}

.ib-home-seo-icon {
    width: 36px;
    height: 36px;
    background: var(--ib-amarillo);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--ib-negro-principal);
}

.ib-home-seo-icon img {
    width: 22px;
    height: 22px;
    object-fit: contain;
}

.ib-home-seo-card-header h3 {
    font-size: 17px;
    font-weight: 700;
    color: var(--ib-texto-oscuro);
    margin: 0;
    flex: 1;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 8px;
    line-height: 1.2;
}

.ib-home-seo-vertodo {
    font-size: 12px;
    font-weight: 500;
    color: var(--ib-texto-oscuro);
    opacity: 0.6;
    text-decoration: none;
    flex-shrink: 0;
    transition: all 0.15s ease;
}

@media (hover: hover) {
    .ib-home-seo-vertodo:hover {
        opacity: 1;
        color: var(--ib-amarillo-hover);
    }
}

.ib-home-seo-card ul {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}

.ib-home-seo-card ul li {
    margin: 0;
    padding: 0;
}

.ib-home-seo-card ul li a {
    display: block;
    padding: 7px 0;
    color: var(--ib-texto-oscuro);
    font-size: 14px;
    text-decoration: none;
    transition: all 0.15s ease;
    line-height: 1.4;
    text-align: left;
}

@media (hover: hover) {
    .ib-home-seo-card ul li a:hover {
        color: var(--ib-amarillo-hover);
        padding-left: 6px;
    }
}

/* Responsive */
@media (max-width: 991px) {
    .ib-home-seo-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    .ib-home-seo-block {
        padding: 60px 0;
    }
    .ib-home-seo-header h2 {
        font-size: 26px;
    }
}

@media (max-width: 575px) {
    .ib-home-seo-grid {
        grid-template-columns: 1fr;
    }
    .ib-home-seo-block {
        padding: 48px 0;
    }
    .ib-home-seo-card {
        padding: 20px;
    }
}

/* ============================================
   FICHA — Slider principal de imágenes
   ============================================ */

.ib-prop-gallery-main {
    width: 100%;
    height: 520px;
    background: #f5f5f5;
    border-radius: 12px;
    overflow: hidden;
}

.ib-prop-gallery-main .swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f5f5f5;
}

.ib-prop-gallery-main .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

@media (max-width: 991px) {
    .ib-prop-gallery-main {
        height: 420px;
    }
}

@media (max-width: 575px) {
    .ib-prop-gallery-main {
        height: 320px;
    }
}

/* ============================================
   PRELOADER — Fondo negro InmoPanama
   ============================================ */
.preloader {
    background: var(--ib-negro-principal) !important;
}

/* ============================================
   HEADER — Selector de idioma (banderas)
   ============================================ */
.ib-lang-switcher {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 16px;
}

.ib-lang-flag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    border-radius: 3px;
    overflow: hidden;
    transition: opacity 0.15s ease, transform 0.15s ease;
    opacity: 0.85;
}

.ib-lang-flag svg {
    display: block;
}

@media (hover: hover) {
    .ib-lang-flag:hover {
        opacity: 1;
        transform: scale(1.1);
    }
}
