/*
Theme Name: Enjambre Folclórico
Theme URI: https://enjambrefolclorico.com
Author: Enjambre Folclórico
Description: Tema propio de Enjambre Folclórico — agrupación de música y danza folclórica afrodominicana en Nueva York. Bilingüe español/inglés, orientado a la contratación. Paleta de archivo: papel envejecido, tinta sepia, ocre y añil.
Version: 1.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: enjambre
*/

/* Enjambre Folclórico — hoja de estilo única
   Paleta de archivo: papel envejecido, tinta sepia, ocre y añil. */

:root{
  --ground:#E6E0D2; --paper:#F1ECE0; --paper-2:#DBD4C2;
  --ink:#1F1A15; --ink-soft:#57503F; --ink-faint:#8A8170;
  --rule:#C7BEAA; --rule-soft:#D7D0BE;
  --indigo:#2B4152; --ochre:#95651A;
  /* Ocre solo para botones sólidos. El --ochre de marca da 3.60:1 con el
     texto #1A1509 y el mínimo accesible es 4.5:1. Este da 4.99:1. En modo
     oscuro el ocre ya es claro y pasa con holgura, así que allí no cambia. */
  --ochre-btn:#B07C28;
  --deep:#15120E; --deep-2:#1E1A14; --deep-ink:#EDE7D9;
  --deep-soft:#A69D89; --deep-rule:#3A3228; --deep-ochre:#D9A63F;

  --display:"Young Serif","Hoefler Text",Georgia,serif;
  --body:"Newsreader",Georgia,"Times New Roman",serif;
  --mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;

  color-scheme:light dark;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --ground:#15120E; --paper:#1E1A15; --paper-2:#262019;
    --ink:#EDE7D9; --ink-soft:#A69D89; --ink-faint:#7B7361;
    --rule:#362F26; --rule-soft:#2A241D;
    --indigo:#8FB0C4; --ochre:#D9A63F; --ochre-btn:#D9A63F;
  }
}
:root[data-theme="dark"]{
  --ground:#15120E; --paper:#1E1A15; --paper-2:#262019;
  --ink:#EDE7D9; --ink-soft:#A69D89; --ink-faint:#7B7361;
  --rule:#362F26; --rule-soft:#2A241D;
  --indigo:#8FB0C4; --ochre:#D9A63F; --ochre-btn:#D9A63F;
}

*{box-sizing:border-box}
body{
  background:var(--ground); color:var(--ink);
  font-family:var(--body); font-size:1.0625rem; line-height:1.62;
  font-optical-sizing:auto; -webkit-font-smoothing:antialiased; margin:0;
}
::selection{background:var(--ochre); color:var(--deep)}
a{color:inherit}
h1,h2,h3{font-family:var(--display); font-weight:400; line-height:1.03; text-wrap:balance; margin:0}
p{margin:0}
img{display:block; max-width:100%}
[hidden]{display:none!important}

.wrap{max-width:1160px; margin-inline:auto; padding-inline:clamp(16px,4.5vw,56px)}
.lbl{font-family:var(--mono); font-size:.6875rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-faint)}
.skip{position:absolute; left:-9999px}
.skip:focus{left:12px; top:12px; z-index:99; background:var(--ink); color:var(--ground); padding:10px 14px}

/* ── cabecera ─────────────────────────────── */
.mast{position:sticky; top:env(safe-area-inset-top,0px); z-index:40;
  background:color-mix(in oklab, var(--ground) 92%, transparent);
  backdrop-filter:blur(10px); border-bottom:1px solid var(--rule)}
.mast-in{display:flex; align-items:center; gap:clamp(12px,3vw,32px); padding-block:13px; min-height:56px}
.brand{font-family:var(--display); font-size:1.0625rem; letter-spacing:-.01em; text-decoration:none; white-space:nowrap}
.brand span{color:var(--ochre)}
.nav{display:flex; gap:clamp(10px,2vw,24px); margin-left:auto; flex-wrap:wrap}
.nav a{font-family:var(--mono); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase;
  text-decoration:none; color:var(--ink-soft); padding-block:4px; border-bottom:1px solid transparent}
.nav a:hover,.nav a[aria-current="page"]{color:var(--ink); border-bottom-color:var(--ochre)}
@media (max-width:900px){ .nav{display:none} }
.mast-act{display:flex; align-items:center; gap:10px; margin-left:auto}
@media (min-width:901px){ .mast-act{margin-left:clamp(12px,3vw,32px)} }

.langsw{display:inline-flex; border:1px solid var(--rule); border-radius:2px; overflow:hidden}
.langsw button{font-family:var(--mono); font-size:.66rem; letter-spacing:.1em; text-transform:uppercase;
  background:transparent; color:var(--ink-faint); border:0; padding:6px 9px; cursor:pointer}
.langsw button[aria-pressed="true"]{background:var(--ink); color:var(--ground)}
.langsw button:focus-visible{outline:2px solid var(--ochre); outline-offset:-2px}

.btn{display:inline-block; font-family:var(--mono); font-size:.72rem; letter-spacing:.1em;
  text-transform:uppercase; text-decoration:none; padding:11px 18px; border-radius:2px;
  border:1px solid transparent; cursor:pointer; transition:transform .12s ease, background .16s ease;
  /* Sin esto, un <button> conserva el fondo gris claro del navegador y el texto
     claro de .btn-ghost queda ilegible (contraste 1.07:1). */
  background:transparent; -webkit-appearance:none; appearance:none}
.btn-solid{background:var(--ochre-btn); color:#1A1509; border-color:var(--ochre-btn)}
.btn-solid:hover{transform:translateY(-1px)}
.btn-line{border-color:currentColor; color:var(--ink)}
.btn-line:hover{background:var(--ink); color:var(--ground); border-color:var(--ink)}
.btn-ghost{border-color:var(--deep-soft); color:var(--deep-ink)}
.btn-ghost:hover{background:var(--deep-ink); color:var(--deep); border-color:var(--deep-ink)}
.btn:focus-visible{outline:2px solid var(--ochre); outline-offset:2px}
.mast .btn{padding:9px 14px}
@media (max-width:540px){ .mast .btn-solid{display:none} }

/* ── portada ──────────────────────────────── */
.hero{background:var(--deep); color:var(--deep-ink); position:relative; overflow:hidden}
.hero-grid{display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.78fr);
  gap:clamp(24px,4vw,56px); align-items:end; padding-block:clamp(40px,7vw,84px) clamp(28px,4vw,44px)}
@media (max-width:880px){ .hero-grid{grid-template-columns:minmax(0,1fr); align-items:start} }
.eyebrow{font-family:var(--mono); font-size:.6875rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--deep-ochre); margin-bottom:clamp(16px,2.4vw,26px)}
.hero h1{font-size:clamp(2.9rem,9.4vw,6.4rem); letter-spacing:-.025em; color:var(--deep-ink)}
.hero h1 em{font-style:normal; display:block; color:var(--deep-ochre)}
.lede{font-size:clamp(1.0625rem,1.55vw,1.3rem); line-height:1.52; color:var(--deep-soft);
  max-width:31em; margin-top:clamp(18px,2.6vw,28px)}
.lede strong{color:var(--deep-ink); font-weight:400}
.hero-cta{display:flex; flex-wrap:wrap; gap:10px; margin-top:clamp(22px,3vw,32px)}

.spec{border-top:1px solid var(--deep-rule); margin-top:clamp(30px,5vw,54px);
  display:grid; grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr))}
.spec div{padding:16px 18px 18px 0; border-right:1px solid var(--deep-rule)}
.spec div:last-child{border-right:0}
.spec dt{font-family:var(--mono); font-size:.625rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--deep-soft); margin-bottom:7px}
.spec dd{margin:0; font-size:.95rem; color:var(--deep-ink); line-height:1.35}

/* ── recuadros de imagen pendiente ────────── */
.slot{position:relative; border:1px dashed var(--rule); border-radius:2px;
  background:repeating-linear-gradient(135deg, transparent 0 11px, color-mix(in oklab,var(--rule) 40%, transparent) 11px 12px);
  display:flex; flex-direction:column; justify-content:flex-end; gap:5px; padding:14px; min-height:120px}
.hero .slot{border-color:var(--deep-rule); aspect-ratio:4/5;
  background:repeating-linear-gradient(135deg, transparent 0 11px, #241F18 11px 12px)}
.slot .slot-k{font-family:var(--mono); font-size:.6875rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ochre)}
.hero .slot .slot-k{color:var(--deep-ochre)}
.slot .slot-d{font-family:var(--mono); font-size:.6875rem; line-height:1.45; color:var(--ink-faint)}
.hero .slot .slot-d{color:var(--deep-soft)}

/* ── secciones ────────────────────────────── */
section{padding-block:clamp(48px,7vw,96px)}
section + section{border-top:1px solid var(--rule)}
.sec{display:grid; grid-template-columns:minmax(0,150px) minmax(0,1fr); gap:clamp(18px,3.6vw,52px)}
@media (max-width:800px){ .sec{grid-template-columns:minmax(0,1fr); gap:20px} }
.rail{position:relative}
@media (min-width:801px){ .rail{position:sticky; top:calc(env(safe-area-inset-top,0px) + 82px); align-self:start} }
.rail .n{font-family:var(--mono); font-size:.6875rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink-faint); display:block; padding-top:5px; border-top:2px solid var(--ochre)}
h2{font-size:clamp(1.65rem,3.6vw,2.55rem); letter-spacing:-.018em; max-width:22em}
h3{font-size:1.32rem; letter-spacing:-.01em}
.prose{max-width:37em; display:flex; flex-direction:column; gap:1.05em; margin-top:clamp(18px,2.4vw,26px)}
.prose p{font-size:1.09rem}
.prose h3{margin-top:.5em}
.prose .first::first-letter{font-family:var(--display); font-size:3.1em; float:left;
  line-height:.82; padding:.06em .1em 0 0; color:var(--ochre)}
.prose em{color:var(--ink-soft)}
.quote{font-family:var(--display); font-size:clamp(1.2rem,2.3vw,1.6rem); line-height:1.3;
  border-left:2px solid var(--ochre); padding-left:clamp(14px,2vw,22px); margin-block:.4em; max-width:24em}
.quote cite{display:block; font-family:var(--mono); font-size:.6875rem; font-style:normal;
  letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint); margin-top:12px}
.split{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.62fr); gap:clamp(22px,3.5vw,44px); align-items:start}
@media (max-width:800px){ .split{grid-template-columns:minmax(0,1fr)} }

/* ── fichas de repertorio ─────────────────── */
.fichas{display:grid; grid-template-columns:repeat(auto-fill,minmax(min(285px,100%),1fr));
  gap:1px; background:var(--rule); border:1px solid var(--rule); margin-top:clamp(22px,3vw,34px)}
.ficha{background:var(--paper); padding:clamp(18px,2.2vw,26px); display:flex; flex-direction:column}
.ficha > .region{font-family:var(--mono); font-size:.625rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--ochre); margin-bottom:11px}
.ficha h3 a{text-decoration:none; border-bottom:1px solid transparent}
.ficha h3 a:hover{border-bottom-color:var(--ochre)}
.ficha > p{font-size:.975rem; color:var(--ink-soft); margin-top:9px; line-height:1.5}
.fields{margin:15px 0 0; padding-top:13px; border-top:1px solid var(--rule-soft);
  display:grid; grid-template-columns:auto minmax(0,1fr); gap:6px 14px}
.fields dt{font-family:var(--mono); font-size:.625rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--ink-faint); padding-top:3px}
.fields dd{margin:0; font-size:.9rem; line-height:1.4; color:var(--ink)}
.unesco{align-self:flex-start; display:inline-block; font-family:var(--mono); font-size:.5625rem;
  letter-spacing:.12em; text-transform:uppercase; border:1px solid var(--indigo); color:var(--indigo);
  padding:3px 6px; border-radius:2px; margin-top:12px}
.more{font-family:var(--mono); font-size:.625rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--ochre); text-decoration:none; border-bottom:1px solid var(--ochre);
  align-self:flex-start; margin-top:15px}

/* ── formatos ─────────────────────────────── */
.formats{display:flex; flex-direction:column; margin-top:clamp(22px,3vw,34px); border-top:1px solid var(--rule)}
.fmt{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,260px);
  gap:clamp(14px,3vw,40px); padding-block:clamp(22px,2.8vw,30px); border-bottom:1px solid var(--rule)}
@media (max-width:760px){ .fmt{grid-template-columns:minmax(0,1fr); gap:16px} }
.fmt h3{font-size:1.4rem}
.fmt > div > p{font-size:1rem; color:var(--ink-soft); margin-top:9px; max-width:38em}
.fmt-spec{display:grid; grid-template-columns:auto minmax(0,1fr); gap:6px 14px; align-content:start}
.fmt-spec dt{font-family:var(--mono); font-size:.625rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--ink-faint); padding-top:3px}
.fmt-spec dd{margin:0; font-size:.9rem; line-height:1.4; font-variant-numeric:tabular-nums}
.pick{background:none; border:0; padding:0; margin-top:14px; cursor:pointer; text-align:left;
  font-family:var(--mono); font-size:.6875rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--ochre); border-bottom:1px solid var(--ochre)}
.pick:focus-visible{outline:2px solid var(--ochre); outline-offset:3px}

/* ── tarjetas y listas ────────────────────── */
.cols{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr)); gap:clamp(18px,2.6vw,32px); margin-top:clamp(20px,2.8vw,30px)}
.card{background:var(--paper); border:1px solid var(--rule); border-radius:2px; padding:clamp(18px,2.2vw,24px)}
.card h3{font-size:1.15rem; margin-bottom:11px}
.ticks{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px}
.ticks li{font-size:.94rem; line-height:1.45; color:var(--ink-soft); padding-left:17px; position:relative}
.ticks li::before{content:""; position:absolute; left:0; top:.62em; width:7px; height:1px; background:var(--ochre)}
.note{font-family:var(--mono); font-size:.6875rem; line-height:1.55; color:var(--ink-faint);
  border-left:1px solid var(--rule); padding-left:13px; margin-top:clamp(20px,2.6vw,28px); max-width:44em}

.gallery{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(215px,100%),1fr)); gap:14px; margin-top:clamp(20px,2.8vw,32px)}
.gallery .slot{aspect-ratio:4/3}
.gallery .slot:nth-child(1){grid-column:span 2; aspect-ratio:16/9}
@media (max-width:640px){ .gallery .slot:nth-child(1){grid-column:span 1} }

/* ── páginas de tradición ─────────────────── */
.crumb{font-family:var(--mono); font-size:.625rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--deep-soft); margin-bottom:clamp(14px,2vw,22px)}
.crumb a{color:var(--deep-soft); text-decoration:none; border-bottom:1px solid var(--deep-rule)}
.crumb a:hover{color:var(--deep-ochre); border-bottom-color:var(--deep-ochre)}
.trad-hero{background:var(--deep); color:var(--deep-ink); padding-block:clamp(34px,5.5vw,64px) clamp(30px,4.5vw,52px)}
.trad-hero h1{font-family:var(--display); font-size:clamp(2.2rem,6.4vw,4.2rem); letter-spacing:-.022em; color:var(--deep-ink)}
.trad-hero .sub{font-family:var(--body); font-size:.5em; color:var(--deep-ochre); display:block; margin-top:.35em; letter-spacing:0}
.datos{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr)); gap:1px;
  background:var(--rule); border:1px solid var(--rule); margin-top:clamp(22px,3vw,32px)}
.datos > div{background:var(--paper); padding:15px 17px}
.datos dt{font-family:var(--mono); font-size:.5625rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink-faint); margin-bottom:7px}
.datos dd{margin:0; font-size:.94rem; line-height:1.4}
.vecinas{display:flex; flex-wrap:wrap; gap:9px; margin-top:clamp(18px,2.4vw,26px)}
.vecinas a{font-family:var(--mono); font-size:.6875rem; letter-spacing:.08em; text-decoration:none;
  border:1px solid var(--rule); border-radius:2px; padding:8px 12px; color:var(--ink-soft)}
.vecinas a:hover{border-color:var(--ochre); color:var(--ink)}
.cta-band{background:var(--paper-2); border-top:1px solid var(--rule); border-bottom:1px solid var(--rule)}
.cta-in{display:flex; flex-wrap:wrap; gap:18px; align-items:center; justify-content:space-between; padding-block:clamp(26px,3.6vw,40px)}
.cta-in h2{font-size:clamp(1.3rem,2.6vw,1.9rem); max-width:26em}

/* ── contacto ─────────────────────────────── */
.contact{background:var(--deep); color:var(--deep-ink)}
.contact .rail .n{color:var(--deep-soft); border-top-color:var(--deep-ochre)}
.contact h2{color:var(--deep-ink)}
.contact .lede{margin-top:16px}
form{margin-top:clamp(22px,3vw,32px); display:grid; grid-template-columns:repeat(auto-fit,minmax(min(215px,100%),1fr)); gap:16px 18px; max-width:44em}
.f{display:flex; flex-direction:column; gap:7px}
.f.wide{grid-column:1/-1}
.f label{font-family:var(--mono); font-size:.625rem; letter-spacing:.12em; text-transform:uppercase; color:var(--deep-soft)}
.f input,.f select,.f textarea{font-family:var(--body); font-size:1rem; color:var(--deep-ink);
  background:var(--deep-2); border:1px solid var(--deep-rule); border-radius:2px; padding:10px 12px; width:100%}
.f textarea{min-height:104px; resize:vertical; line-height:1.5}
.f select{font-family:var(--mono); font-size:.85rem}
.f input:focus,.f select:focus,.f textarea:focus{outline:2px solid var(--deep-ochre); outline-offset:-1px; border-color:var(--deep-ochre)}
.f-act{grid-column:1/-1; display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:4px}
.said{font-family:var(--mono); font-size:.6875rem; letter-spacing:.06em; color:var(--deep-ochre)}
.direct{grid-column:1/-1; border-top:1px solid var(--deep-rule); padding-top:clamp(18px,2.4vw,24px);
  display:grid; grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr)); gap:18px}
.direct dt{font-family:var(--mono); font-size:.625rem; letter-spacing:.12em; text-transform:uppercase; color:var(--deep-soft); margin-bottom:6px}
.direct dd{margin:0; font-size:.98rem}
.direct a{color:var(--deep-ochre); text-decoration:none; border-bottom:1px solid transparent}
.direct a:hover{border-bottom-color:var(--deep-ochre)}

/* vía directa por WhatsApp, encima del formulario */
.wa-linea{display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px;
  margin:0 0 clamp(20px,2.6vw,28px)}
.wa-linea>span{display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px}
.wa-linea>span[hidden]{display:none}
.wa-nota{font-family:var(--mono); font-size:.6875rem; letter-spacing:.06em; color:var(--deep-soft)}
.wa-btn{border-bottom:0}

/* ── pie ──────────────────────────────────── */
footer{background:var(--deep); color:var(--deep-soft); border-top:1px solid var(--deep-rule)}
.foot{display:flex; flex-wrap:wrap; gap:22px; justify-content:space-between; align-items:flex-end; padding-block:clamp(30px,4vw,44px)}
.foot .brand{color:var(--deep-ink); font-size:1.25rem}
.foot .lbl{color:var(--deep-soft)}
.foot-soc{display:flex; gap:16px; flex-wrap:wrap}
.foot-soc a{font-family:var(--mono); font-size:.6875rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--deep-soft); text-decoration:none; border-bottom:1px solid var(--deep-rule)}
.foot-soc a:hover{color:var(--deep-ochre); border-bottom-color:var(--deep-ochre)}
.foot small{font-family:var(--mono); font-size:.625rem; letter-spacing:.06em; color:#6A6152}

@media (prefers-reduced-motion: reduce){ *{transition:none!important; animation:none!important} }

/* ═══════════════════════════════════════════════════════════
   Añadidos de WordPress: eventos, blog y galería
   ═══════════════════════════════════════════════════════════ */

/* ── eventos ──────────────────────────────── */
.eventos{display:flex; flex-direction:column; margin-top:clamp(22px,3vw,34px); border-top:1px solid var(--rule)}
.evento{display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:clamp(16px,3vw,32px);
  align-items:start; padding-block:clamp(20px,2.6vw,28px); border-bottom:1px solid var(--rule)}
@media (max-width:700px){ .evento{grid-template-columns:auto minmax(0,1fr); gap:14px 18px} }
.fecha{background:var(--paper); border:1px solid var(--rule); border-radius:2px;
  padding:9px 13px 11px; text-align:center; min-width:66px; font-variant-numeric:tabular-nums}
.fecha .dia{font-family:var(--display); font-size:1.7rem; line-height:1; display:block}
.fecha .mes{font-family:var(--mono); font-size:.5625rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ochre); display:block; margin-top:5px}
.fecha .anio{font-family:var(--mono); font-size:.5625rem; letter-spacing:.1em; color:var(--ink-faint); display:block; margin-top:3px}
.evento-cuerpo h3{font-size:1.28rem}
.evento-cuerpo h3 a{text-decoration:none; border-bottom:1px solid transparent}
.evento-cuerpo h3 a:hover{border-bottom-color:var(--ochre)}
.evento-meta{font-family:var(--mono); font-size:.6875rem; letter-spacing:.06em; color:var(--ink-faint); margin-top:8px}
.evento-meta span + span::before{content:" · "; color:var(--rule)}
.evento-cuerpo > p{font-size:.97rem; color:var(--ink-soft); margin-top:9px; max-width:44em}
.evento-accion{align-self:center}
@media (max-width:700px){ .evento-accion{grid-column:2; justify-self:start; margin-top:4px} }
.evento.pasado{opacity:.62}
.evento.pasado .fecha{background:transparent}
.sin-eventos{font-family:var(--mono); font-size:.6875rem; line-height:1.6; color:var(--ink-faint);
  border:1px dashed var(--rule); border-radius:2px; padding:22px; margin-top:clamp(20px,3vw,30px)}

/* ── blog ─────────────────────────────────── */
.articulos{display:grid; grid-template-columns:repeat(auto-fill,minmax(min(290px,100%),1fr));
  gap:1px; background:var(--rule); border:1px solid var(--rule); margin-top:clamp(22px,3vw,34px)}
.articulo{background:var(--paper); padding:clamp(18px,2.2vw,26px); display:flex; flex-direction:column}
.articulo .kicker{font-family:var(--mono); font-size:.625rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--ochre); margin-bottom:11px}
.articulo h2,.articulo h3{font-size:1.3rem; letter-spacing:-.01em}
.articulo h2 a,.articulo h3 a{text-decoration:none; border-bottom:1px solid transparent}
.articulo h2 a:hover,.articulo h3 a:hover{border-bottom-color:var(--ochre)}
.articulo .extracto{font-size:.975rem; color:var(--ink-soft); margin-top:10px; line-height:1.5}
.articulo .thumb{margin:-clamp(18px,2.2vw,26px) -clamp(18px,2.2vw,26px) 16px;
  aspect-ratio:16/9; overflow:hidden}
.articulo .thumb img{width:100%; height:100%; object-fit:cover}

.entrada-hero{background:var(--deep); color:var(--deep-ink);
  padding-block:clamp(34px,5.5vw,64px) clamp(30px,4.5vw,52px)}
.entrada-hero h1{font-family:var(--display); font-size:clamp(2rem,5.4vw,3.6rem);
  letter-spacing:-.022em; color:var(--deep-ink); max-width:20em}
.entrada-hero .meta{font-family:var(--mono); font-size:.625rem; letter-spacing:.12em;
  text-transform:uppercase; color:var(--deep-soft); margin-top:clamp(14px,2vw,20px)}
.entrada-hero .meta span + span::before{content:" · "; color:var(--deep-rule)}

.contenido{max-width:37em; margin-top:clamp(18px,2.4vw,26px)}
.contenido > * + *{margin-top:1.05em}
.contenido p{font-size:1.09rem}
.contenido h2{font-size:clamp(1.4rem,2.8vw,1.9rem); margin-top:1.6em}
.contenido h3{font-size:1.25rem; margin-top:1.4em}
.contenido ul,.contenido ol{padding-left:1.2em}
.contenido li + li{margin-top:.4em}
.contenido blockquote{font-family:var(--display); font-size:1.2rem; line-height:1.35;
  border-left:2px solid var(--ochre); padding-left:18px; margin-inline:0}
.contenido img,.contenido figure img{border-radius:2px}
.contenido figcaption{font-family:var(--mono); font-size:.625rem; letter-spacing:.06em;
  color:var(--ink-faint); margin-top:8px}
.contenido a{color:var(--ochre); text-decoration:none; border-bottom:1px solid var(--ochre)}
.contenido a:hover{background:color-mix(in oklab,var(--ochre) 14%,transparent)}
.contenido table{width:100%; border-collapse:collapse; font-size:.95rem}
.contenido th,.contenido td{border:1px solid var(--rule); padding:8px 11px; text-align:left}
.tabla-scroll{overflow-x:auto}

/* ── galería ──────────────────────────────── */
.galeria-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));
  gap:14px; margin-top:clamp(22px,3vw,34px)}
.pieza{position:relative; display:block; border:1px solid var(--rule); border-radius:2px;
  overflow:hidden; background:var(--paper); text-decoration:none}
.pieza img{width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform .3s ease}
.pieza:hover img{transform:scale(1.03)}
.pieza .pie{padding:11px 13px 13px}
.pieza .pie .t{font-family:var(--body); font-size:.95rem; line-height:1.35; color:var(--ink)}
.pieza .pie .c{font-family:var(--mono); font-size:.5625rem; letter-spacing:.12em;
  text-transform:uppercase; color:var(--ink-faint); margin-top:6px}
.pieza .play{position:absolute; top:11px; right:11px; background:var(--deep); color:var(--deep-ochre);
  font-family:var(--mono); font-size:.5625rem; letter-spacing:.12em; text-transform:uppercase;
  padding:4px 8px; border-radius:2px}
.video-wrap{position:relative; aspect-ratio:16/9; margin-top:clamp(20px,3vw,30px)}
.video-wrap iframe{position:absolute; inset:0; width:100%; height:100%; border:0; border-radius:2px}

/* ── paginación y utilidades ──────────────── */
.paginacion{display:flex; flex-wrap:wrap; gap:8px; margin-top:clamp(24px,3.4vw,38px)}
.paginacion .page-numbers{font-family:var(--mono); font-size:.6875rem; letter-spacing:.08em;
  text-decoration:none; border:1px solid var(--rule); border-radius:2px; padding:8px 12px; color:var(--ink-soft)}
.paginacion .page-numbers.current{background:var(--ink); color:var(--ground); border-color:var(--ink)}
.paginacion a.page-numbers:hover{border-color:var(--ochre); color:var(--ink)}

.aviso-pruebas{background:var(--ochre); color:#1A1509; font-family:var(--mono);
  font-size:.6875rem; letter-spacing:.06em; text-align:center; padding:9px 16px}
.aviso-pruebas a{color:#1A1509}

.screen-reader-text{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
.alignwide{max-width:100%}
.wp-block-image{margin:0}

/* ── menú móvil ───────────────────────────── */
.menu-btn{display:none; background:transparent; border:1px solid var(--rule); border-radius:2px;
  width:38px; height:34px; cursor:pointer; padding:0; position:relative}
.menu-btn .barra{display:block; width:16px; height:1.5px; background:var(--ink);
  margin:3.5px auto; transition:transform .2s ease, opacity .2s ease}
.menu-btn[aria-expanded="true"] .barra:nth-child(1){transform:translateY(5px) rotate(45deg)}
.menu-btn[aria-expanded="true"] .barra:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] .barra:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
.menu-btn:focus-visible{outline:2px solid var(--ochre); outline-offset:2px}
@media (max-width:900px){ .menu-btn{display:block} }

.menu-movil{background:var(--ground); border-top:1px solid var(--rule)}
.menu-movil .wrap{display:flex; flex-direction:column; padding-block:6px 14px}
.menu-movil a{font-family:var(--mono); font-size:.78rem; letter-spacing:.08em; text-transform:uppercase;
  text-decoration:none; color:var(--ink-soft); padding:13px 0; border-bottom:1px solid var(--rule-soft)}
.menu-movil a:last-child{border-bottom:0}
.menu-movil a[aria-current="page"]{color:var(--ink)}
.menu-movil a.destacado{color:var(--ochre); margin-top:6px}
@media (min-width:901px){ .menu-movil{display:none!important} }

/* ── enlaces de redes en el pie (desde el menú) ── */
.soc-lista{display:flex; gap:16px; flex-wrap:wrap; list-style:none; margin:0; padding:0}
.soc-lista a{font-family:var(--mono); font-size:.6875rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--deep-soft); text-decoration:none; border-bottom:1px solid var(--deep-rule)}
.soc-lista a:hover{color:var(--deep-ochre); border-bottom-color:var(--deep-ochre)}
.foot-soc .pendiente{font-family:var(--mono); font-size:.625rem; letter-spacing:.06em; color:#6A6152}

/* ── foto de portada ──────────────────────── */
.hero-foto{margin:0; display:flex; flex-direction:column; gap:10px}
.hero-foto img{width:100%; height:auto; aspect-ratio:4/5; object-fit:cover;
  border-radius:2px; background:var(--deep-2); display:block}
.hero-foto figcaption{font-family:var(--mono); font-size:.625rem; letter-spacing:.1em;
  text-transform:uppercase; color:var(--deep-soft)}

/* ═══════════════════════════════════════════════════════════
   Solo dentro del editor de WordPress.
   En el sitio, el inglés va oculto y el conmutador lo enseña.
   Pero en el editor eso es una trampa: no se ve, y se borra sin
   querer. Aquí se muestra etiquetado, para poder editar los dos.
   ═══════════════════════════════════════════════════════════ */
.editor-styles-wrapper .es,
.editor-styles-wrapper .en[hidden]{display:inline!important}
.editor-styles-wrapper .en[hidden]{opacity:.72; background:color-mix(in oklab,var(--indigo) 10%,transparent)}
.editor-styles-wrapper .es::before,
.editor-styles-wrapper .en[hidden]::before{
  font-family:var(--mono); font-size:.62em; letter-spacing:.14em; font-weight:500;
  vertical-align:.25em; margin-right:.35em; padding:.1em .3em; border-radius:2px}
.editor-styles-wrapper .es::before{content:"ES"; color:#1A1509; background:var(--ochre)}
.editor-styles-wrapper .en[hidden]::before{content:"EN"; color:#fff; background:var(--indigo)}
.editor-styles-wrapper .en[hidden]::after{content:""; display:inline}
