/* BienVivir — estilos base del tema (layout, header, footer, componentes compartidos).
   Los tokens viven en tokens.css. Los estilos propios de la landing viven en front-page.css. */

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--ink);font-family:var(--fs-sans);font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:inherit;}
.container{max-width:var(--maxw);margin:0 auto;padding-left:var(--pad-x);padding-right:var(--pad-x);}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--agua-texto);color:#fff;padding:.6rem 1rem;z-index:999;}
.skip-link:focus{left:var(--s2);top:var(--s2);}

/* Oculto visualmente, disponible para lectores de pantalla (labels sin equivalente visual) */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* ── Tipografía utilitaria ── */
.overline{font-family:var(--fs-sans);font-weight:600;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--agua-texto);max-width:none;}
.h1{font-family:var(--fs-serif);font-weight:400;font-size:clamp(2.4rem,6vw,3.4rem);line-height:1.12;}
.h2{font-family:var(--fs-serif);font-weight:400;font-size:clamp(1.9rem,4.2vw,2.7rem);line-height:1.15;}
.h3{font-family:var(--fs-serif);font-weight:400;font-size:1.3rem;}
.bree{font-family:var(--fs-slab);color:var(--agua-texto);}
p{max-width:62ch;}
.section{padding-block:clamp(3.5rem,8vw,6rem);}

/* ── Botones ── */
.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--fs-sans);font-weight:600;font-size:.78rem;
  letter-spacing:.08em;text-transform:uppercase;padding:.8rem 1.5rem;border-radius:var(--r-pill);cursor:pointer;
  border:1.5px solid var(--agua);transition:.15s;text-decoration:none;background:transparent;color:var(--agua-texto);}
.btn-fill{background:var(--agua-texto);border-color:var(--agua-texto);color:#fff;}
.btn-fill:hover{background:#556f66;border-color:#556f66;}
.btn-out:hover{background:var(--agua-texto);border-color:var(--agua-texto);color:#fff;}
.btn-on-dark{border-color:#fff;color:#fff;}
.btn-on-dark:hover{background:#fff;color:var(--ink);}
.btn:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--agua);outline-offset:2px;}

/* ── Scroll reveal ── */
[data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease;}
[data-reveal].is-visible{opacity:1;transform:none;}
@media (prefers-reduced-motion: reduce){
  [data-reveal]{opacity:1;transform:none;transition:none;}
}

/* ── Header ── */
header.masthead{position:sticky;top:0;z-index:50;background:rgba(246,243,231,.92);backdrop-filter:blur(6px);border-bottom:1px solid var(--border);}
.masthead .container{display:flex;align-items:center;justify-content:space-between;height:70px;gap:1rem;}
.wordmark{font-family:var(--fs-serif);font-size:1.6rem;letter-spacing:.5px;color:var(--ink);text-decoration:none;}
.wordmark b{font-weight:700;}
.nav-primary{display:flex;align-items:center;gap:2rem;list-style:none;}
.nav-primary li{display:contents;}
.nav-primary a{font-size:.82rem;color:var(--muted);text-decoration:none;transition:.15s;}
.nav-primary a:hover{color:var(--agua-texto);}
.nav-actions{display:flex;align-items:center;gap:1rem;}
.hamb{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px;}
.hamb span{width:24px;height:2px;background:var(--ink);transition:.2s;}

/* ── Navbar oscura, solo en el Glosario (índice y fichas) ── */
/* Prueba de Fede: usar la paleta dark-ready de tokens.css (nunca activada
   en el sitio) para la navbar, a tono con el cielo estrellado del hero
   nuevo. Solo la navbar por ahora — no es modo oscuro del sitio completo. */
.post-type-archive-saber .masthead,
.single-saber .masthead{
  background:rgba(30,45,61,.92); /* var(--azul-d) con opacity, no soporta rgba(var()) directo */
  border-bottom-color:rgba(255,255,255,.1);
}
.post-type-archive-saber .masthead .wordmark,
.single-saber .masthead .wordmark{color:#fff;}
.post-type-archive-saber .masthead .nav-primary a,
.single-saber .masthead .nav-primary a{color:#b8c4cf;}
.post-type-archive-saber .masthead .nav-primary a:hover,
.single-saber .masthead .nav-primary a:hover,
.post-type-archive-saber .masthead .nav-primary a.active,
.single-saber .masthead .nav-primary a.active{color:var(--cielo);}
.post-type-archive-saber .masthead .hamb span,
.single-saber .masthead .hamb span{background:#fff;}
.post-type-archive-saber .masthead .nav-actions .btn-fill,
.single-saber .masthead .nav-actions .btn-fill{
  background:var(--cielo);border-color:var(--cielo);color:var(--azul-d);
}
.post-type-archive-saber .masthead .nav-actions .btn-fill:hover,
.single-saber .masthead .nav-actions .btn-fill:hover{background:#fff;border-color:#fff;}
@media (max-width:768px){
  .post-type-archive-saber .masthead .nav-primary.open,
  .single-saber .masthead .nav-primary.open{background:var(--azul-d);border-bottom-color:rgba(255,255,255,.1);}
}

/* ── Footer ── */
footer.site{background:var(--footer);color:#c7d2dc;text-align:center;padding-block:3rem;position:relative;overflow:hidden;}
footer.site .watermark{position:absolute;top:59%;transform:translateY(-50%);width:clamp(260px,32vw,460px);height:auto;
  opacity:.05;pointer-events:none;user-select:none;z-index:0;}
footer.site .watermark--right{right:-15%;}
footer.site .watermark--left{left:-15%;}
footer.site .container{position:relative;z-index:1;}
footer .wordmark{color:#eaf0f4;font-size:1.5rem;}
footer .fnav{display:flex;flex-wrap:wrap;justify-content:center;gap:1.6rem;margin:1.4rem 0;list-style:none;}
footer .fnav a{font-size:.82rem;color:#aebccb;text-decoration:none;}
footer .fnav a:hover{color:#fff;}
footer .rule{border:0;border-top:1px solid rgba(255,255,255,.12);max-width:640px;margin:0 auto 1.3rem;}
footer .copy{font-size:.78rem;color:#8fa1b2;max-width:none;}
footer .copy a{text-decoration:underline;text-underline-offset:2px;}
footer .copy a:hover{color:#fff;}
footer .disc{font-size:.72rem;color:#7d90a2;max-width:60ch;margin:.8rem auto 0;}

/* En mobile el footer es casi cuadrado: el isotipo se centra, agranda y atenúa
   mucho más — funciona como textura de fondo en vez de acento de esquina. */
@media (max-width:640px){
  footer.site .watermark--left{display:none;}
  footer.site .watermark--right{left:auto;right:50%;top:auto;bottom:-2%;transform:translateX(50%);width:min(115vw,520px);opacity:.05;}
}

/* ── Responsive: header ── */
@media (max-width:768px){
  .nav-primary,.nav-actions .btn{display:none;}
  .hamb{display:flex;}
  .nav-primary.open{display:flex;position:absolute;top:70px;left:0;right:0;flex-direction:column;gap:1.2rem;
    background:var(--arena);padding:1.5rem var(--pad-x);border-bottom:1px solid var(--border);}
}
