/* el atributo hidden debe ganar siempre a las reglas de display de autor */
[hidden]{display:none!important}

/* ══════ CHROME DEL SITIO · nav + footer · transcrito del original ══════
   Único para todo el sitio. No redefinir por página.                      */
body>nav{position:fixed;top:0;left:0;right:0;z-index:400;height:64px;padding:0 48px;
  display:flex;align-items:center;justify-content:space-between;
  background:rgba(253,251,247,.85);backdrop-filter:blur(20px);border-bottom:1px solid var(--line)}
.nav-logo{font-size:20px;font-weight:700;color:var(--text);text-decoration:none;letter-spacing:-.4px}
.nav-logo span{color:var(--teal)}
.nav-links{display:flex;gap:2px;align-items:center}
/* ── submenús ── */
.nav-item{position:relative}
.nav-item>a{display:inline-flex;align-items:center;gap:5px}
.nav-item>a svg{width:12px;height:12px;opacity:.5;transition:transform .2s}
.nav-item:hover>a svg,.nav-item:focus-within>a svg{transform:rotate(180deg)}
.submenu{position:absolute;top:calc(100% + 10px);left:0;min-width:250px;z-index:410;
  background:var(--white);border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh-lg);
  padding:8px;display:flex;flex-direction:column;gap:1px;
  opacity:0;visibility:hidden;transform:translateY(-5px);transition:all .16s}
.nav-item:hover .submenu,.nav-item:focus-within .submenu{opacity:1;visibility:visible;transform:none}
.submenu::before{content:'';position:absolute;top:-10px;left:0;right:0;height:10px}
.submenu .sm-t{font-size:9.5px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;
  color:var(--text-l);padding:9px 12px 5px}
.submenu .sm-sep{height:1px;background:var(--line);margin:6px 4px}
/* ── menú móvil ── */
.nav-burger{display:none;width:38px;height:38px;border:1px solid var(--line);border-radius:9px;
  background:var(--white);align-items:center;justify-content:center;cursor:pointer;flex:none}
.nav-burger svg{width:18px;height:18px;color:var(--text)}
.nav-links a{font-size:12px;font-weight:500;color:var(--text);opacity:.62;text-decoration:none;
  padding:6px 12px;border-radius:20px;transition:all .2s;
  text-transform:none;letter-spacing:normal;font-family:'Plus Jakarta Sans',system-ui,sans-serif}
.nav-links a:hover,.nav-links a.active{color:var(--teal);background:rgba(75,93,79,.08);opacity:1}
.nav-links a.nav-cta,.nav-cta{background:var(--teal);color:#fff!important;font-size:12px;font-weight:600;
  padding:9px 20px;border-radius:8px;opacity:1!important;
  text-transform:none;letter-spacing:normal}
.nav-links a.nav-cta:hover,.nav-cta:hover{background:var(--teal-d)!important}
body{padding-top:64px}
@media(max-width:960px){
  body>nav{padding:0 18px}
  .nav-burger{display:flex}
  .nav-links{position:fixed;top:64px;left:0;right:0;bottom:0;background:var(--cream);
    flex-direction:column;align-items:stretch;gap:0;padding:14px 18px 40px;overflow-y:auto;
    border-top:1px solid var(--line)}
  .nav-links{display:none}
  .nav-links[hidden]{display:none}
  .nav-item{width:100%}
  .nav-item>a{width:100%;justify-content:space-between;font-size:15px;font-weight:600;
    padding:14px 6px;border-radius:0;border-bottom:1px solid var(--line);opacity:1}
  .nav-item>a svg{opacity:.4}
  .submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;
    border:0;border-bottom:1px solid var(--line);border-radius:0;padding:4px 0 12px 6px;background:transparent}
  .nav-links a.nav-cta{margin-top:18px;justify-content:center;height:48px;display:flex;align-items:center}
}
@media(min-width:961px){.nav-links{display:flex!important}}

/* ── footer de dos zonas: enlazado interno + barra ── */
footer{background:var(--dark);border-top:1px solid rgba(255,255,255,.05)}
.f-cols{display:grid;grid-template-columns:1fr 1fr;gap:32px 24px;padding:44px 48px 36px;
  border-bottom:1px solid rgba(255,255,255,.07)}
@media(min-width:820px){.f-cols{grid-template-columns:repeat(4,1fr);gap:40px}}
.f-col h4{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--on-dark-l);margin:0 0 14px}
.f-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.f-col a{font-size:13px;color:var(--on-dark-m);text-decoration:none;transition:color .2s;line-height:1.4}
.f-col a:hover{color:var(--teal-m)}
.f-bar{padding:22px 48px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}
@media(max-width:860px){.f-cols{padding:32px 20px 26px}.f-bar{padding:20px}}
.f-logo{font-size:17px;font-weight:700;color:var(--on-dark-m);text-decoration:none}
.f-logo span{color:var(--teal-m)}
.f-links{display:flex;gap:24px;flex-wrap:wrap}
.f-links a{font-size:11px;color:var(--on-dark-l);text-decoration:none;transition:color .2s}
.f-links a:hover{color:var(--on-dark-m)}
.f-copy{font-size:11px;color:var(--on-dark-l)}


/* sin filete decorativo antes de los antetítulos */
.eyebrow::before,.eyebrow::after{display:none!important}
.eyebrow{gap:0}

/* ── marca sobre fondo oscuro ── */
.logo-dark{color:var(--on-dark-l)}
.logo-dark span{color:var(--teal-m)}
.logo-sage{color:var(--on-dark-l)}
.logo-sage span{color:var(--on-sage)}

/* enlaces del submenú · al final para ganar a .nav-links a por orden,
   sin atarlos a .nav-links (el componente debe rendir igual fuera del nav) */
.submenu a{display:block;padding:9px 12px;border-radius:8px;font-size:13px;
  font-weight:500;color:var(--text);opacity:.78;line-height:1.35;text-decoration:none;
  text-transform:none;letter-spacing:normal}
.submenu a:hover{opacity:1;color:var(--teal);background:var(--teal-l)}
.submenu a.sm-lead{font-weight:700;color:var(--teal);opacity:1}

/* los tokens --on-dark* / --on-sage* viven en lefune.css (:root base),
   porque money.css y obit.css los consumen sin cargar esta hoja. */


/* ══════════════════════════════════════════════════════
   HEADER APROBADO · H en móvil, F en escritorio
   Transcrito del header aprobado (header-propuesto.html).
   ══════════════════════════════════════════════════════ */

/* ── icono de buscar: presente en los dos tamaños ── */
.nav-tap{width:38px;height:38px;border:1px solid var(--line);border-radius:9px;background:var(--white);
  display:flex;align-items:center;justify-content:center;flex:none;text-decoration:none}
.nav-tap svg{width:16px;height:16px;color:var(--text)}
.nav-tap:hover{border-color:var(--teal)}
.nav-tap.on{background:var(--teal);border-color:var(--teal)}
.nav-tap.on svg{color:var(--cream)}
.nav-burger.on{background:var(--teal);border-color:var(--teal)}
.nav-burger.on svg{color:var(--cream)}
.nav-r{display:flex;align-items:center;gap:7px}

/* campo de búsqueda: ocupa el aire de la barra en escritorio */
.nav-search{display:flex;align-items:center;gap:9px;height:38px;padding:0 13px;flex:1 1 auto;min-width:0;
  background:var(--white);border:1px solid var(--line);border-radius:9px;text-decoration:none}
.nav-search svg{width:15px;height:15px;color:var(--text-l);flex:none}
.nav-search span{font-size:12.5px;color:var(--text-l);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav-search:hover,.nav-search:focus-within{border-color:var(--teal)}
.nav-search input{flex:1;min-width:0;border:0;background:none;outline:none;font-family:inherit;
  font-size:12.5px;color:var(--text)}
.nav-search input::placeholder{color:var(--text-l)}
.nav-search input::-webkit-search-cancel-button{-webkit-appearance:none}
@media(min-width:961px){body>nav .nav-cta{margin-left:auto}}
@media(max-width:960px){.nav-search{display:none}}

/* ── panel de sección en escritorio ── */
.submenu.wide{width:498px;min-width:0;max-width:none;padding:15px 18px 17px}
.sm-cols{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px 18px;align-items:start}
.sm-cols>.sm-shots{grid-column:1/-1;padding-bottom:14px;border-bottom:1px solid var(--line)}
.sm-shots{display:flex;gap:8px;flex-wrap:wrap}
.submenu .sm-shot{width:54px;padding:0;text-decoration:none;display:block}
.sm-shot .th{height:58px;border-radius:4px;background:var(--cream2);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center}
.sm-shot .th svg{width:19px;height:19px;color:var(--teal);opacity:.75}
.sm-shot em{display:block;font-style:normal;font-size:8.5px;font-weight:600;letter-spacing:.7px;
  text-transform:uppercase;color:var(--text-m);text-align:center;margin-top:6px;line-height:1.25}
.sm-shot:hover .th{border-color:var(--teal);background:var(--teal-l)}
.sm-lbl{font-size:8.5px;font-weight:700;letter-spacing:1.1px;text-transform:uppercase;color:var(--text-l);margin:0 0 8px}
.sm-cols a{font-size:11.5px;font-weight:500;letter-spacing:.4px;text-transform:uppercase;
  color:var(--text);opacity:.82;padding:6px 0;display:block}
.sm-cols a.sm-lead{color:var(--teal);opacity:1;font-weight:700}
.sm-cols a:hover{background:none;text-decoration:underline}

/* ── panel móvil: acción primero ── */
.nav-cta-big{display:flex;align-items:center;gap:11px;padding:13px 14px;border-radius:12px;
  background:var(--teal);color:var(--cream);text-decoration:none;margin-bottom:8px}
.nav-cta-big svg{width:19px;height:19px;flex:none}
.nav-cta-big b{display:block;font-size:13.5px;font-weight:700;line-height:1.2}
.nav-cta-big em{font-style:normal;font-size:11px;opacity:.82;display:block;margin-top:2px}
.nav-search-big{display:flex;align-items:center;gap:9px;height:46px;padding:0 13px;background:var(--white);
  border:1.5px solid var(--teal);border-radius:11px;text-decoration:none}
.nav-search-big svg{width:16px;height:16px;color:var(--teal);flex:none}
.nav-search-big span{font-size:12.5px;color:var(--text-l);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav-lbl{font-size:9.5px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;
  color:var(--text-l);padding:9px 2px 6px}

/* tira de ciudades, deslizable */
.nav-strip-wrap{position:relative}
.nav-strip-wrap::after{content:'';position:absolute;top:0;right:0;bottom:8px;width:26px;pointer-events:none;
  background:linear-gradient(90deg,transparent,var(--cream))}
.nav-strip{display:flex;gap:8px;overflow-x:auto;padding:2px 0 8px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.nav-strip::-webkit-scrollbar{display:none}
.nav-strip a{flex:0 0 auto;width:150px;background:var(--white);border:1px solid var(--line);border-radius:11px;
  padding:11px;text-decoration:none;display:flex;flex-direction:column;gap:7px}
.nav-strip .hi{width:28px;height:28px;border-radius:8px;background:var(--teal-l);
  display:flex;align-items:center;justify-content:center}
.nav-strip .hi svg{width:14px;height:14px;color:var(--teal)}
.nav-strip b{font-size:12.5px;font-weight:600;color:var(--text);line-height:1.25}
.nav-strip em{font-style:normal;font-size:10.5px;color:var(--text-l)}

/* navegación del panel: sección + segundo nivel a la vista */
.nav-vsec{padding-top:4px}
.nav-mi{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 8px;border-radius:9px;
  text-decoration:none;color:var(--text)}
.nav-mi svg{width:16px;height:16px;color:var(--teal);flex:none}
.nav-mi b{font-size:13.5px;font-weight:600;flex:1}
.nav-mi.on{background:var(--teal-l)}
.nav-mi+.nav-mi{border-top:1px solid var(--line)}
.nav-here{font-size:9px;font-weight:700;letter-spacing:.9px;text-transform:uppercase;color:var(--teal);
  background:var(--white);border:1px solid rgba(75,93,79,.25);border-radius:50px;padding:3px 8px}
.nav-vlink{display:flex;align-items:center;min-height:44px;font-size:12.5px;color:var(--text-m);
  text-decoration:none;padding:6px 8px 6px 34px}
.nav-vlink:hover{color:var(--teal)}

/* por debajo de 960px: secciones tras el botón, panel a pantalla completa */
@media(max-width:960px){
  .submenu.wide{width:auto;padding:0}
  .sm-shots{display:none}
  .sm-cols{grid-template-columns:1fr;gap:0}
  .sm-lbl{padding-top:10px}
}

/* objetivo táctil mínimo en móvil: la regla de 44px del sistema también rige la barra */
@media(max-width:960px){
  .nav-tap,.nav-burger{width:44px;height:44px}
  .nav-cta{min-height:44px;display:inline-flex;align-items:center;padding:0 16px;font-size:13px}
}

/* ── panel móvil: contenedor propio, nunca dentro de .nav-links ──
   Vivía dentro y a partir de 961px la barra lo desplegaba entero. */
.nav-panel{display:none}
@media(max-width:960px){
  .nav-panel{position:fixed;top:64px;left:0;right:0;bottom:0;background:var(--cream);
    flex-direction:column;align-items:stretch;gap:0;padding:14px 18px 40px;overflow-y:auto;
    border-top:1px solid var(--line);z-index:70}
  .nav-panel.open{display:flex}
}
