/* ============================================================
   PÁGINAS INDEPENDIENTES — SHELL ESTABLE
   Evita menús crudos, headers duplicados y saltos de layout.
   ============================================================ */

:root{--internal-header-h:74px;--internal-gold:#c6a15b}

/* ---------- HEADER COMPARTIDO: CALCULADORA / CONTACTO ---------- */
body.calc-page .home-top-header,
body.contact-page .home-top-header{
  position:fixed!important;
  z-index:5000!important;
  left:18px!important;
  right:18px!important;
  top:14px!important;
  height:74px!important;
  display:grid!important;
  grid-template-columns:auto 1fr auto!important;
  align-items:center!important;
  gap:28px!important;
  padding:0 18px 0 20px!important;
  border:1px solid rgba(198,161,91,.52)!important;
  border-radius:18px!important;
  background:#000000!important;
  color:#ffffff!important;
  box-shadow:0 12px 34px rgba(0,0,0,.16)!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
body.calc-page .home-top-brand,
body.contact-page .home-top-brand{
  display:flex!important;align-items:center!important;width:136px!important;height:54px!important;overflow:visible!important;
}
body.calc-page .home-top-brand img,
body.contact-page .home-top-brand img{
  display:block!important;width:auto!important;height:50px!important;max-width:136px!important;max-height:50px!important;object-fit:contain!important;
}
body.calc-page .home-top-nav,
body.contact-page .home-top-nav{
  justify-self:end!important;display:flex!important;align-items:center!important;gap:clamp(22px,2.4vw,42px)!important;
}
body.calc-page .home-top-nav a,
body.contact-page .home-top-nav a,
body.calc-page .home-top-menu,
body.contact-page .home-top-menu{
  color:#ffffff!important;text-decoration:none!important;text-transform:uppercase!important;font:600 9px/1 Montserrat,Arial,sans-serif!important;letter-spacing:.13em!important;
}
body.calc-page .home-top-nav a,
body.contact-page .home-top-nav a{position:relative!important;padding:10px 0!important;white-space:nowrap!important}
body.calc-page .home-top-nav a[aria-current="page"],
body.contact-page .home-top-nav a[aria-current="page"]{color:var(--internal-gold)!important}
body.calc-page .home-top-nav a.is-contact,
body.contact-page .home-top-nav a.is-contact{
  min-height:40px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0 20px!important;border-radius:999px!important;background:var(--internal-gold)!important;color:#000!important;
}
body.calc-page .home-top-menu,
body.contact-page .home-top-menu{display:none!important;appearance:none!important;border:0!important;background:transparent!important;padding:10px 0!important;cursor:pointer!important}

/* ---------- DRAWER: CALCULADORA / CONTACTO ---------- */
body.calc-page .menu-backdrop,
body.contact-page .menu-backdrop{
  position:fixed!important;z-index:5200!important;inset:0!important;background:rgba(0,0,0,.52)!important;opacity:0!important;visibility:hidden!important;transition:opacity .3s ease,visibility .3s ease!important;
}
body.calc-page .menu-drawer,
body.contact-page .menu-drawer{
  position:fixed!important;z-index:5201!important;left:0!important;top:0!important;height:100dvh!important;width:min(540px,100vw)!important;padding:28px 34px 32px!important;background:#000000!important;color:#ffffff!important;transform:translateX(-102%)!important;visibility:hidden!important;transition:transform .42s cubic-bezier(.2,.75,.25,1),visibility 0s linear .42s!important;display:flex!important;flex-direction:column!important;box-shadow:20px 0 54px rgba(0,0,0,.24)!important;
}
body.calc-page.menu-open .menu-backdrop,
body.contact-page.menu-open .menu-backdrop{opacity:1!important;visibility:visible!important}
body.calc-page.menu-open .menu-drawer,
body.contact-page.menu-open .menu-drawer{transform:none!important;visibility:visible!important;transition-delay:0s!important}
body.calc-page .menu-head,
body.contact-page .menu-head{display:flex!important;justify-content:space-between!important;align-items:center!important;color:#fff!important;font-size:11px!important;font-weight:600!important;letter-spacing:.14em!important}
body.calc-page .menu-close,
body.contact-page .menu-close{appearance:none!important;border:0!important;background:transparent!important;color:#fff!important;font:300 34px/1 Georgia,serif!important;padding:0 4px!important;cursor:pointer!important}
body.calc-page .menu-nav,
body.contact-page .menu-nav{display:flex!important;flex-direction:column!important;margin-top:46px!important}
body.calc-page .menu-link,
body.contact-page .menu-link{appearance:none!important;border:0!important;background:transparent!important;display:flex!important;align-items:flex-start!important;width:max-content!important;max-width:100%!important;padding:8px 0!important;color:#fff!important;cursor:pointer!important}
body.calc-page .menu-link span,
body.contact-page .menu-link span{font:400 clamp(31px,3.05vw,48px)/1.05 "Cormorant Garamond",Georgia,serif!important;border-bottom:1px solid rgba(255,255,255,.28)!important}
body.calc-page .menu-link sup,
body.contact-page .menu-link sup{font:400 12px/1 Montserrat,Arial,sans-serif!important;margin:5px 0 0 8px!important;color:var(--internal-gold)!important}
body.calc-page .menu-bottom,
body.contact-page .menu-bottom{margin-top:auto!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:24px!important;align-items:end!important}
body.calc-page .menu-signature,
body.contact-page .menu-signature{color:#fff!important;font:400 24px/1.03 "Cormorant Garamond",Georgia,serif!important}
body.calc-page .menu-socials,
body.contact-page .menu-socials{display:flex!important;flex-direction:column!important;gap:9px!important;font-size:12px!important}
body.calc-page .menu-socials span,
body.contact-page .menu-socials span{margin-bottom:8px!important;color:var(--internal-gold)!important}
body.calc-page .menu-socials a,
body.contact-page .menu-socials a{color:#fff!important;text-decoration:none!important}

/* ---------- CALCULADORA: NO DEJAR NODOS CRUDOS ---------- */
body.calc-page{padding-top:102px!important;background:#ffffff!important}
body.calc-page .calc-hero{margin-top:-18px!important}
body.calc-page .calc-footer{width:100%!important;margin:0!important}

/* ---------- NOSOTROS: SU DRAWER LF SIEMPRE CONTROLADO ---------- */
body.al-nosotros-page .lf-menu-backdrop{
  position:fixed!important;z-index:5200!important;inset:0!important;background:rgba(0,0,0,.52)!important;opacity:0!important;visibility:hidden!important;transition:.3s!important;
}
body.al-nosotros-page .lf-menu-drawer{
  position:fixed!important;z-index:5201!important;left:0!important;top:0!important;height:100dvh!important;width:min(540px,100vw)!important;padding:28px 34px 32px!important;background:#000!important;color:#fff!important;transform:translateX(-102%)!important;visibility:hidden!important;transition:transform .42s cubic-bezier(.2,.75,.25,1),visibility 0s linear .42s!important;display:flex!important;flex-direction:column!important;
}
body.al-nosotros-page.lf-menu-open .lf-menu-backdrop{opacity:1!important;visibility:visible!important}
body.al-nosotros-page.lf-menu-open .lf-menu-drawer{transform:none!important;visibility:visible!important;transition-delay:0s!important}

/* ---------- SERVICIOS: SOLO UN HEADER ---------- */
body.services-black-gold #site-header{display:none!important;visibility:hidden!important;pointer-events:none!important}
body.services-black-gold .services-home-header{display:grid!important;visibility:visible!important}
body.services-black-gold .services-home-mobile{display:none!important}
body.services-black-gold .services-home-mobile.open{display:flex!important}

/* ---------- MOBILE ---------- */
@media(max-width:900px){
  :root{--internal-header-h:60px}
  body.calc-page .home-top-header,
  body.contact-page .home-top-header{left:10px!important;right:10px!important;top:8px!important;height:60px!important;grid-template-columns:1fr auto!important;padding:0 14px!important;border-radius:14px!important}
  body.calc-page .home-top-brand,
  body.contact-page .home-top-brand{width:110px!important;height:46px!important}
  body.calc-page .home-top-brand img,
  body.contact-page .home-top-brand img{height:42px!important;max-width:110px!important;max-height:42px!important}
  body.calc-page .home-top-nav,
  body.contact-page .home-top-nav{display:none!important}
  body.calc-page .home-top-menu,
  body.contact-page .home-top-menu{display:block!important}
  body.calc-page{padding-top:76px!important}
  body.calc-page .calc-hero{margin-top:0!important}
  body.calc-page .menu-bottom,
  body.contact-page .menu-bottom{grid-template-columns:1fr!important}
}
