
/* =========================================================
   VALENZUELA PROPIEDADES — V29
   Navbar/Footer internos idénticos al INDEX
   ========================================================= */

body.internal-index-shell{
  --vp-red:#b40000;
  --vp-red-dark:#b40000;
  --vp-ink:#1d2630;
  --header-strip-h:31px;
  --navbar-h:112px;
  --vp-shell-gutter:clamp(88px,6.45vw,124px);

  padding-top:0!important;
  margin:0!important;
  overflow-x:hidden!important;
  background:#fff!important;
}
body.internal-index-shell[data-page]{
  padding-top:0!important;
}

/* ÚNICO offset del contenido */
body.internal-index-shell .internal-v16-main,
body.internal-index-shell[data-page] .internal-v16-main{
  box-sizing:border-box!important;
  padding-top:calc(var(--header-strip-h) + var(--navbar-h))!important;
  margin-top:0!important;
  min-height:55vh!important;
}

/* UNDERLAY */
body.internal-index-shell .header-underlay{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  height:calc(var(--header-strip-h) + var(--navbar-h))!important;
  background:#fff!important;
  z-index:1030!important;
  pointer-events:none!important;
  border:0!important;
  box-shadow:none!important;
  filter:none!important;
}
body.internal-index-shell.header-compact .header-underlay{
  height:84px!important;
}

/* TOP STRIP */
body.internal-index-shell .top-strip{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  height:var(--header-strip-h)!important;
  z-index:1040!important;
  background:#fff!important;
  border:0!important;
  box-shadow:none!important;
  transform:translateY(0)!important;
  transition:transform .22s ease-in-out!important;
}
body.internal-index-shell .top-strip.is-hidden{
  transform:translateY(-100%)!important;
  pointer-events:none!important;
}
body.internal-index-shell .top-strip .container-xl{
  height:100%!important;
  max-width:1480px!important;
  width:100%!important;
  padding-left:24px!important;
  padding-right:24px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:19px!important;
  font-family:"Roboto",sans-serif!important;
  font-size:.86rem!important;
  font-weight:400!important;
  color:#5d6670!important;
  white-space:nowrap!important;
}
body.internal-index-shell .top-strip .info{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  font-size:.86rem!important;
}
body.internal-index-shell .top-strip .info i{
  color:#111!important;
  font-size:.9rem!important;
}
body.internal-index-shell .top-socials{
  display:flex!important;
  gap:7px!important;
  margin-left:4px!important;
}
body.internal-index-shell .top-socials a{
  width:25px!important;
  height:25px!important;
  border:1px solid #dcdfe3!important;
  border-radius:5px!important;
  display:grid!important;
  place-items:center!important;
  color:#26313a!important;
  background:#fff!important;
  box-shadow:0 1px 3px rgba(0,0,0,.04)!important;
}

/* NAVBAR */
body.internal-index-shell .main-nav{
  position:fixed!important;
  top:var(--header-strip-h)!important;
  left:0!important;
  right:0!important;
  z-index:1045!important;
  height:112px!important;
  background:#fff!important;
  border:0!important;
  box-shadow:none!important;
  transform:translateY(0)!important;
  transition:transform .22s ease-in-out,height .22s ease-in-out!important;
}
body.internal-index-shell .main-nav.compact{
  top:var(--header-strip-h)!important;
  transform:translateY(calc(-1 * var(--header-strip-h)))!important;
  height:84px!important;
}
body.internal-index-shell .main-nav .container-xl{
  height:112px!important;
  max-width:1480px!important;
  width:100%!important;
  padding-left:24px!important;
  padding-right:24px!important;
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  position:relative!important;
}
body.internal-index-shell .main-nav.compact .container-xl{
  height:84px!important;
}

/* LOGO SIN CARD */
body.internal-index-shell .main-nav .brand-wrap,
body.internal-index-shell .main-nav .navbar-brand{
  min-width:310px!important;
  width:310px!important;
  flex:0 0 310px!important;
  height:calc(112px + var(--header-strip-h))!important;
  margin-top:calc(-1 * var(--header-strip-h))!important;
  margin-left:0!important;
  margin-right:0!important;
  padding:0!important;

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

  background:transparent!important;
  background-image:none!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  box-shadow:none!important;
  filter:none!important;
  overflow:visible!important;
}
body.internal-index-shell .main-nav .brand-logo{
  position:relative!important;
  left:auto!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;

  width:auto!important;
  height:132px!important;
  max-width:none!important;
  max-height:none!important;

  margin:0!important;
  padding:0!important;
  display:block!important;
  object-fit:contain!important;

  background:transparent!important;
  background-image:none!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  box-shadow:none!important;
  filter:none!important;
}
body.internal-index-shell .main-nav.compact .brand-wrap{
  height:84px!important;
  margin-top:0!important;
  padding:4px 0!important;
}
body.internal-index-shell .main-nav.compact .brand-logo{
  height:78px!important;
}

/* MENU */
body.internal-index-shell #mainMenu{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex:1 1 auto!important;
  min-width:0!important;
  height:112px!important;
}
body.internal-index-shell .main-nav.compact #mainMenu{
  height:84px!important;
}
body.internal-index-shell #mainMenu .navbar-nav{
  margin-left:auto!important;
  margin-right:18px!important;
  width:auto!important;
  flex:0 0 auto!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:38px!important;
  height:112px!important;
  flex-wrap:nowrap!important;
  white-space:nowrap!important;
}
body.internal-index-shell .main-nav.compact #mainMenu .navbar-nav{
  height:84px!important;
}
body.internal-index-shell .main-nav .nav-link{
  position:relative!important;
  height:112px!important;
  display:flex!important;
  align-items:center!important;
  padding:0!important;
  color:#4a4a46!important;
  font-family:"Roboto",sans-serif!important;
  font-size:.96rem!important;
  font-weight:700!important;
  letter-spacing:.005em!important;
  line-height:1.15!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}
body.internal-index-shell .main-nav.compact .nav-link{
  height:84px!important;
  font-size:.90rem!important;
}
body.internal-index-shell .main-nav .nav-link:hover,
body.internal-index-shell .main-nav .nav-link.active{
  color:var(--vp-red)!important;
}
body.internal-index-shell .main-nav .nav-link.active::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:20px!important;
  height:2px!important;
  background:var(--vp-red)!important;
  border-radius:3px!important;
}
body.internal-index-shell .main-nav.compact .nav-link.active::after{
  bottom:14px!important;
}
body.internal-index-shell .btn-contact-nav{
  margin-left:20px!important;
  flex:0 0 auto!important;
  align-self:center!important;
  border:0!important;
  border-radius:6px!important;
  background:linear-gradient(180deg,#b40000,#b40000)!important;
  color:#fff!important;
  font-family:"Roboto",sans-serif!important;
  font-weight:700!important;
  font-size:.94rem!important;
  padding:10px 17px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  box-shadow:0 3px 7px rgba(180,0,0,.24)!important;
}
body.internal-index-shell .main-nav .dropdown-menu{
  border:0!important;
  box-shadow:0 12px 30px rgba(19,28,38,.14)!important;
}

/* 14" / 1366px */
@media (min-width:1200px) and (max-width:1499.98px){
  body.internal-index-shell .main-nav .brand-wrap{
    min-width:255px!important;
    width:255px!important;
    flex-basis:255px!important;
  }
  body.internal-index-shell .main-nav .brand-logo{
    height:126px!important;
  }
  body.internal-index-shell #mainMenu .navbar-nav{
    margin-left:auto!important;
    margin-right:12px!important;
    gap:28px!important;
  }
  body.internal-index-shell .main-nav .nav-link{
    font-size:.91rem!important;
  }
  body.internal-index-shell .btn-contact-nav{
    margin-left:16px!important;
    font-size:.84rem!important;
    padding:10px 12px!important;
  }
  body.internal-index-shell .main-nav.compact .brand-logo{
    height:76px!important;
  }
}

/* MARGEN HEADER IGUAL AL INDEX */
@media (min-width:1366px){
  body.internal-index-shell .top-strip,
  body.internal-index-shell .main-nav{
    left:var(--vp-shell-gutter)!important;
    right:var(--vp-shell-gutter)!important;
    width:auto!important;
  }
  body.internal-index-shell .top-strip>.container-xl,
  body.internal-index-shell .main-nav>.container-xl{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding-left:0!important;
    padding-right:0!important;
  }
}

/* OCULTAR FLOTANTES LEGACY */
body.internal-index-shell .floating{
  display:none!important;
}

/* FOOTER EXACTO INDEX */
body.internal-index-shell .home-footer{
  width:100%!important;
  background:#192129!important;
  color:#c9d0d6!important;
  padding:22px 0 0!important;
  margin:0!important;
  font-family:"Roboto",sans-serif!important;
}
body.internal-index-shell .home-footer>.container-xl{
  width:100%!important;
  max-width:1480px!important;
  padding-left:24px!important;
  padding-right:24px!important;
}
body.internal-index-shell .footer-grid{
  display:grid!important;
  grid-template-columns:1.35fr .72fr .88fr 1.17fr .62fr!important;
  gap:30px!important;
  padding-bottom:18px!important;
}
body.internal-index-shell .footer-brand img{
  height:48px!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  filter:brightness(1.06)!important;
}
body.internal-index-shell .footer-brand p{
  font-size:.67rem!important;
  line-height:1.45!important;
  color:#9fa8b0!important;
  margin:10px 0 0!important;
  max-width:240px!important;
}
body.internal-index-shell .home-footer h3{
  font-size:.72rem!important;
  color:#fff!important;
  font-weight:800!important;
  margin:0 0 11px!important;
}
body.internal-index-shell .home-footer ul{
  padding:0!important;
  margin:0!important;
  list-style:none!important;
}
body.internal-index-shell .home-footer li,
body.internal-index-shell .home-footer a{
  font-size:.64rem!important;
  color:#b7c0c8!important;
  line-height:1.7!important;
}
body.internal-index-shell .contact-line{
  display:flex!important;
  gap:7px!important;
  align-items:flex-start!important;
  margin:0!important;
}
body.internal-index-shell .contact-line i{
  color:#fff!important;
  font-size:.7rem!important;
  margin-top:2px!important;
}
body.internal-index-shell .footer-social{
  display:flex!important;
  gap:8px!important;
}
body.internal-index-shell .footer-social a{
  width:30px!important;
  height:30px!important;
  border-radius:5px!important;
  border:1px solid #54606a!important;
  display:grid!important;
  place-items:center!important;
  color:#fff!important;
  font-size:.8rem!important;
}
body.internal-index-shell .footer-bottom{
  border-top:1px solid rgba(255,255,255,.09)!important;
  padding:10px 0!important;
  display:flex!important;
  justify-content:space-between!important;
  gap:20px!important;
  color:#8f99a2!important;
  font-size:.58rem!important;
}
body.internal-index-shell .footer-bottom span{
  font-size:.58rem!important;
}

@media (min-width:1366px){
  body.internal-index-shell .home-footer>.container-xl{
    max-width:none!important;
    padding-left:calc(var(--vp-shell-gutter) + 28px)!important;
    padding-right:calc(var(--vp-shell-gutter) + 28px)!important;
  }
}
@media (min-width:1920px){
  body.internal-index-shell .home-footer>.container-xl{
    padding-left:calc((100vw - 1672px)/2 + 28px)!important;
    padding-right:calc((100vw - 1672px)/2 + 28px)!important;
  }
}

/* FLOAT STACK */
body.internal-index-shell .float-stack{
  position:fixed!important;
  right:20px!important;
  bottom:20px!important;
  z-index:1060!important;
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  align-items:center!important;
}
body.internal-index-shell .floating-btn{
  width:48px!important;
  height:48px!important;
  border-radius:50%!important;
  border:0!important;
  display:grid!important;
  place-items:center!important;
  color:#fff!important;
  box-shadow:0 6px 18px rgba(0,0,0,.22)!important;
}
body.internal-index-shell .whatsapp{
  background:#25D366!important;
  font-size:1.5rem!important;
}
body.internal-index-shell .scrolltop{
  background:#202a33!important;
  font-size:1rem!important;
  opacity:0!important;
  pointer-events:none!important;
}
body.internal-index-shell .scrolltop.show{
  opacity:1!important;
  pointer-events:auto!important;
}

/* RESPONSIVE 992-1199 */
@media (max-width:1199.98px) and (min-width:992px){
  body.internal-index-shell .navbar-expand-lg .navbar-toggler{
    display:block!important;
    margin-left:auto!important;
  }
  body.internal-index-shell .navbar-expand-lg .navbar-collapse{
    display:none!important;
    position:absolute!important;
    top:100%!important;
    left:0!important;
    right:0!important;
    background:#fff!important;
    border-top:1px solid #eef1f3!important;
    box-shadow:0 10px 24px rgba(0,0,0,.10)!important;
    padding:14px 24px 20px!important;
  }
  body.internal-index-shell .navbar-expand-lg .navbar-collapse.show{
    display:block!important;
  }
  body.internal-index-shell .navbar-expand-lg .navbar-nav{
    flex-direction:column!important;
    align-items:stretch!important;
  }
}

/* MOBILE */
@media (max-width:991.98px){
  body.internal-index-shell{
    --header-strip-h:0px;
    --navbar-h:66px;
    padding-top:0!important;
  }
  body.internal-index-shell .top-strip{
    display:none!important;
  }
  body.internal-index-shell .header-underlay{
    height:66px!important;
  }
  body.internal-index-shell .main-nav,
  body.internal-index-shell .main-nav.compact{
    top:0!important;
    transform:none!important;
    height:66px!important;
    left:0!important;
    right:0!important;
  }
  body.internal-index-shell .main-nav .container-xl,
  body.internal-index-shell .main-nav.compact .container-xl{
    height:66px!important;
    padding-left:18px!important;
    padding-right:18px!important;
  }
  body.internal-index-shell .main-nav .brand-wrap,
  body.internal-index-shell .main-nav.compact .brand-wrap{
    min-width:185px!important;
    width:185px!important;
    flex-basis:185px!important;
    height:66px!important;
    margin-top:0!important;
    padding:8px 5px 8px 0!important;
  }
  body.internal-index-shell .main-nav .brand-logo,
  body.internal-index-shell .main-nav.compact .brand-logo{
    height:76px!important;
  }
  body.internal-index-shell .internal-v16-main,
  body.internal-index-shell[data-page] .internal-v16-main{
    padding-top:66px!important;
  }
  body.internal-index-shell #mainMenu{
    height:auto!important;
    background:#fff!important;
    padding:10px 16px 16px!important;
    box-shadow:0 8px 18px rgba(0,0,0,.10)!important;
  }
  body.internal-index-shell #mainMenu .navbar-nav{
    height:auto!important;
    gap:0!important;
    margin:0!important;
  }
  body.internal-index-shell .main-nav .nav-link,
  body.internal-index-shell .main-nav.compact .nav-link{
    height:auto!important;
    padding:11px 3px!important;
    font-size:.9rem!important;
  }
  body.internal-index-shell .main-nav .nav-link.active::after{
    display:none!important;
  }
  body.internal-index-shell .btn-contact-nav{
    width:100%!important;
    justify-content:center!important;
    margin:8px 0 0!important;
  }
  body.internal-index-shell .footer-grid{
    grid-template-columns:1fr 1fr!important;
  }
}

@media (max-width:767.98px){
  body.internal-index-shell .footer-grid{
    grid-template-columns:1fr!important;
  }
  body.internal-index-shell .footer-bottom{
    flex-direction:column!important;
    align-items:flex-start!important;
  }
  body.internal-index-shell .home-footer>.container-xl{
    padding-left:18px!important;
    padding-right:18px!important;
  }
}
