
/* =========================================================
   VALENZUELA PROPIEDADES — V34
   FIX DEFINITIVO: NAVBAR ARRIBA EN CELULAR
   ========================================================= */

/*
  Objetivo:
  - El navbar debe comenzar en y=0 en TODAS las páginas.
  - No debe existir ningún bloque blanco sobre el navbar.
  - Index y páginas internas usan la misma geometría.
  - Solo aplica a celular/tablet <= 991.98px.
*/

@media (max-width:991.98px){

  html{
    margin:0 !important;
    padding:0 !important;
    scroll-padding-top:72px !important;
  }

  body,
  body.internal-index-shell,
  body.internal-index-shell[data-page]{
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    min-height:100% !important;
    overflow-x:hidden !important;
  }

  /* En móvil no necesitamos top-strip ni underlay.
     Esto elimina cualquier reserva vertical antigua. */
  .top-strip,
  body.internal-index-shell .top-strip,
  .header-underlay,
  body.internal-index-shell .header-underlay{
    display:none !important;
    visibility:hidden !important;
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
  }

  /* Navbar clavado arriba de la pantalla */
  .main-nav,
  .main-nav.compact,
  body.header-compact .main-nav,
  body.internal-index-shell .main-nav,
  body.internal-index-shell .main-nav.compact,
  body.internal-index-shell.header-compact .main-nav{
    position:fixed !important;
    inset:0 0 auto 0 !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;

    width:100% !important;
    max-width:100% !important;
    height:72px !important;
    min-height:72px !important;
    max-height:72px !important;

    margin:0 !important;
    padding:0 !important;

    transform:none !important;
    translate:none !important;

    background:#fff !important;
    border:0 !important;
    border-bottom:1px solid rgba(21,31,42,.06) !important;
    box-shadow:0 2px 9px rgba(18,25,31,.055) !important;

    z-index:1100 !important;
    overflow:visible !important;
  }

  .main-nav > .container-xl,
  .main-nav.compact > .container-xl,
  body.internal-index-shell .main-nav > .container-xl,
  body.internal-index-shell .main-nav.compact > .container-xl{
    width:100% !important;
    max-width:none !important;
    height:72px !important;
    min-height:72px !important;
    margin:0 !important;
    padding:0 14px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    flex-wrap:nowrap !important;
  }

  /* Logo siempre contenido dentro de la barra */
  .main-nav .brand-wrap,
  .main-nav.compact .brand-wrap,
  body.internal-index-shell .main-nav .brand-wrap,
  body.internal-index-shell .main-nav.compact .brand-wrap{
    position:static !important;

    width:auto !important;
    min-width:0 !important;
    max-width:124px !important;
    height:72px !important;
    min-height:72px !important;

    flex:0 0 auto !important;
    margin:0 !important;
    padding:5px 0 !important;

    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;

    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    overflow:hidden !important;
  }

  .main-nav .brand-logo,
  .main-nav.compact .brand-logo,
  body.internal-index-shell .main-nav .brand-logo,
  body.internal-index-shell .main-nav.compact .brand-logo{
    position:static !important;
    inset:auto !important;

    display:block !important;
    width:auto !important;
    height:62px !important;
    min-height:0 !important;
    max-height:62px !important;
    max-width:116px !important;

    margin:0 !important;
    padding:0 !important;
    transform:none !important;

    object-fit:contain !important;

    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
  }

  /* Botón hamburguesa siempre en la misma altura del logo */
  .vp-mobile-menu-toggle,
  .navbar-toggler.vp-mobile-menu-toggle{
    position:relative !important;
    top:auto !important;
    right:auto !important;

    width:46px !important;
    height:46px !important;
    min-width:46px !important;

    margin:0 0 0 auto !important;
    padding:0 !important;

    border:1px solid rgba(180,0,0,.20) !important;
    border-radius:10px !important;

    background:#fff !important;
    box-shadow:none !important;

    z-index:1120 !important;
  }

  /* Menú sale inmediatamente debajo del navbar, nunca más abajo */
  #mainMenu.navbar-collapse{
    position:absolute !important;
    top:72px !important;
    left:12px !important;
    right:12px !important;

    width:auto !important;
    height:auto !important;
    max-height:calc(100dvh - 88px) !important;

    margin:0 !important;
    padding:12px !important;

    overflow-y:auto !important;

    background:#fff !important;
    border:1px solid #edf0f2 !important;
    border-radius:12px !important;
    box-shadow:0 16px 34px rgba(18,25,31,.14) !important;

    z-index:1110 !important;
  }

  #mainMenu.navbar-collapse.collapse:not(.show){
    display:none !important;
  }

  #mainMenu.navbar-collapse.collapse.show,
  #mainMenu.navbar-collapse.collapsing{
    display:block !important;
  }

  /* INDEX:
     navbar fijo 72px + contenido inmediatamente debajo */
  body:not(.internal-index-shell) .page-wrap{
    margin-top:0 !important;
    padding-top:72px !important;
  }

  /* PÁGINAS INTERNAS:
     el main es la única reserva vertical.
     Ningún segundo offset puede sumarse. */
  body.internal-index-shell .internal-v16-main,
  body.internal-index-shell[data-page] .internal-v16-main{
    margin-top:0 !important;
    padding-top:72px !important;
  }

  /* El primer bloque de cada página no puede volver a añadir
     una gran reserva superior. */
  body.internal-index-shell .internal-v16-main > :first-child{
    margin-top:0 !important;
  }

  body[data-page="propiedades"] .catalog-page,
  body[data-page="propiedades"] .catalog-page.operation-listing-mode{
    margin-top:0 !important;
    padding-top:14px !important;
  }

  body[data-page="detalle"] .detail-page-head,
  body[data-page="detalle"] .detail-gallery-section{
    margin-top:0 !important;
  }

  body[data-page="detalle"] .detail-page-head{
    padding-top:8px !important;
    padding-bottom:6px !important;
  }

  body[data-page="detalle"] .detail-gallery-section{
    padding-top:4px !important;
  }

  /* Breadcrumb interno compacto */
  body.internal-index-shell .page-breadcrumb,
  body.internal-index-shell .breadcrumb-wrap,
  body.internal-index-shell .internal-breadcrumb,
  body.internal-index-shell .breadcrumb-shell{
    margin-top:0 !important;
    padding-top:8px !important;
    padding-bottom:8px !important;
  }
}

/* Celulares angostos */
@media (max-width:575.98px){
  .main-nav,
  .main-nav.compact,
  body.internal-index-shell .main-nav,
  body.internal-index-shell .main-nav.compact{
    height:68px !important;
    min-height:68px !important;
    max-height:68px !important;
  }

  .main-nav > .container-xl,
  .main-nav.compact > .container-xl,
  body.internal-index-shell .main-nav > .container-xl,
  body.internal-index-shell .main-nav.compact > .container-xl{
    height:68px !important;
    min-height:68px !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }

  .main-nav .brand-wrap,
  .main-nav.compact .brand-wrap,
  body.internal-index-shell .main-nav .brand-wrap,
  body.internal-index-shell .main-nav.compact .brand-wrap{
    height:68px !important;
    min-height:68px !important;
    max-width:112px !important;
  }

  .main-nav .brand-logo,
  .main-nav.compact .brand-logo,
  body.internal-index-shell .main-nav .brand-logo,
  body.internal-index-shell .main-nav.compact .brand-logo{
    height:58px !important;
    max-height:58px !important;
    max-width:106px !important;
  }

  #mainMenu.navbar-collapse{
    top:68px !important;
  }

  body:not(.internal-index-shell) .page-wrap{
    padding-top:68px !important;
  }

  body.internal-index-shell .internal-v16-main,
  body.internal-index-shell[data-page] .internal-v16-main{
    padding-top:68px !important;
  }
}
