
:root{--tinta:#16283F;--papel:#EDEFE9;--mar:#1E7A8C;--sol:#E9B44C;--coral:#C2453A;--niebla:#8D9691;
--max:1120px;--r:2px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--papel);color:var(--tinta);
font-family:"Newsreader",Georgia,serif;font-size:19px;line-height:1.65;-webkit-font-smoothing:antialiased}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
h1,h2,h3,.dsp{font-family:"Archivo Black","Arial Black",sans-serif;font-weight:400;line-height:1.03;letter-spacing:-.01em}
h1{font-size:clamp(2.1rem,5.2vw,3.6rem);margin:0 0 .4em}
h2{font-size:clamp(1.35rem,2.6vw,1.9rem);margin:2.4em 0 .5em}
h3{font-size:1.1rem;margin:1.8em 0 .3em}
p{margin:0 0 1.1em}
a{color:var(--tinta)}
.mono{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}
/* header */
header.top{background:var(--tinta);color:var(--papel);position:sticky;top:0;z-index:20}
.top .wrap{display:flex;align-items:center;gap:28px;height:62px}
.brand{font-family:"Archivo Black",sans-serif;font-size:1.05rem;color:var(--papel);text-decoration:none;letter-spacing:-.02em;white-space:nowrap}
.brand span{color:var(--sol)}
nav.main{margin-left:auto;display:flex;gap:20px;flex-wrap:wrap}
nav.main a{color:var(--papel);text-decoration:none;opacity:.82}
nav.main a:hover,nav.main a:focus{opacity:1;color:var(--sol)}
/* hero */
.hero{background:var(--tinta);color:var(--papel);padding:64px 0 0;border-bottom:6px solid var(--sol)}
.hero h1{color:var(--papel);max-width:14ch}
.hero h1 em{font-style:normal;color:var(--sol)}
.hero p.lead{font-size:1.15rem;max-width:52ch;opacity:.88}
/* departure board */
.board{margin:44px 0 0;background:#0E1B2C;border-top:2px solid var(--sol)}
.board table{width:100%;border-collapse:collapse}
.board th{text-align:left;padding:12px 14px;color:var(--sol);border-bottom:1px solid #2A3B52;white-space:nowrap}
.board td{padding:13px 14px;border-bottom:1px solid #1E2E44;font-size:.95rem;color:var(--papel);vertical-align:middle}
.board tr:hover td{background:#152941}
.board a{color:var(--papel);text-decoration:none;font-family:"Archivo Black",sans-serif;font-size:1rem}
.board a:hover{color:var(--sol)}
.board td.n{font-family:"JetBrains Mono",monospace;font-size:.82rem;color:#9FB2C6;white-space:nowrap}
.filters{display:flex;gap:8px;flex-wrap:wrap;padding:18px 14px 0}
.filters button{font-family:"JetBrains Mono",monospace;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
background:transparent;color:var(--papel);border:1px solid #2F4159;padding:8px 14px;border-radius:99px;cursor:pointer}
#q{width:100%;max-width:420px;font-family:"Newsreader",serif;font-size:1rem;padding:11px 14px;background:#152941;color:var(--papel);border:1px solid #2F4159;border-radius:2px}
#q::placeholder{color:#6E829A}
.filters button[aria-pressed=true]{background:var(--sol);color:var(--tinta);border-color:var(--sol)}
/* grid */
.grid{display:grid;gap:26px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin:28px 0 0;padding:0;list-style:none}
.card{background:#fff;border:1px solid #DCDFD6;border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.card .poster{display:block;width:100%;height:auto}
.card .body{padding:18px 20px 22px}
.card h3{margin:.2em 0 .35em;font-size:1.15rem}
.card h3 a{text-decoration:none}
.card p{font-size:.93rem;margin:0}
.eyebrow{color:var(--mar);display:block;margin-bottom:.2em}
/* dest fichas */
.ficha{background:#fff;border:1px solid #DCDFD6;padding:26px 28px;margin:0 0 22px}
.ficha h3{margin-top:0;font-size:1.35rem}
.datos{display:flex;gap:26px;flex-wrap:wrap;margin:0 0 14px;padding:12px 0;border-top:1px solid #E3E6DE;border-bottom:1px solid #E3E6DE}
.datos div{min-width:90px}
.datos .k{display:block;color:var(--niebla)}
.datos .v{font-family:"Archivo Black",sans-serif;font-size:.95rem}
.aviso{background:#FBF3DF;border-left:4px solid var(--sol);padding:12px 16px;font-size:.93rem;margin:0}
.aviso strong{font-family:"Archivo Black",sans-serif;font-weight:400}
/* article */
article.post{max-width:70ch;margin:0 auto}
article.post p.lead{font-size:1.22rem;color:#3A4A5E}
.meta{color:var(--niebla);margin:0 0 26px}
.toc{background:#fff;border:1px solid #DCDFD6;padding:18px 22px;margin:0 0 34px}
.toc ol{margin:.4em 0 0;padding-left:1.2em;font-size:.95rem}
.toc li{margin:.2em 0}
main{padding:52px 0 80px}
.section-intro{max-width:62ch;font-size:1.1rem}
footer{background:var(--tinta);color:var(--papel);padding:44px 0;font-size:.9rem}
footer a{color:var(--sol)}
footer .cols{display:flex;gap:48px;flex-wrap:wrap}
.crumbs{margin:0 0 22px}
.crumbs a{color:var(--mar)}
@media(max-width:640px){body{font-size:17px}.top .wrap{height:auto;padding:12px 20px;flex-wrap:wrap;gap:12px}
nav.main{margin-left:0;gap:14px;font-size:.9rem}.hero{padding:40px 0 0}.board td,.board th{padding:10px 8px;font-size:.85rem}
.hide-s{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
:focus-visible{outline:3px solid var(--coral);outline-offset:2px}
.chip{display:inline-block;background:#fff;border:1px solid #DCDFD6;padding:5px 13px;border-radius:99px;
font-family:"JetBrains Mono",monospace;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;margin:0 6px 6px 0}
.chip:hover{background:var(--sol);border-color:var(--sol)}
.btn{display:inline-block;background:var(--tinta);color:var(--papel);text-decoration:none;padding:12px 22px;
font-family:"Archivo Black",sans-serif;font-size:.9rem;border-radius:2px;margin:0 10px 10px 0}
.btn:hover{background:var(--mar)}
.btn.ghost{background:transparent;color:var(--tinta);box-shadow:inset 0 0 0 2px var(--tinta)}
.btn.ghost:hover{background:var(--tinta);color:var(--papel)}
.btn.small{padding:8px 16px;font-size:.8rem}
.acciones{margin:0 0 .6em}
.fila{display:flex;gap:24px;align-items:flex-start}
.mini{flex:0 0 200px}
.mini .poster{width:100%;height:auto;display:block;border-radius:2px}
article.post .poster{width:100%;height:auto;display:block;margin:0 0 28px;border-radius:2px}
.board caption{text-align:left;padding:14px;color:#9FB2C6}
.card .poster{transition:transform .35s ease}
.card:hover .poster{transform:scale(1.04)}
.card a[aria-hidden]{display:block;overflow:hidden}
.lang{margin-left:18px;font-family:"JetBrains Mono",monospace;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;
border:1px solid rgba(237,239,233,.35);padding:6px 12px;border-radius:99px;color:var(--papel);text-decoration:none;white-space:nowrap}
.lang:hover{background:var(--sol);color:var(--tinta);border-color:var(--sol)}
@media(max-width:720px){.fila{flex-direction:column}.mini{flex:none;width:100%}}
.rellenar{background:#FFE600;color:#16283F;padding:2px 8px;border-radius:2px;
font-family:"JetBrains Mono",monospace;font-size:.85em;font-weight:500;
box-shadow:0 0 0 2px #E9B44C;display:inline-block;margin:2px 0}
.pendiente{background:#FFF6D6;border:2px dashed #E9B44C;border-left:6px solid #C2453A;
padding:16px 20px;font-size:.95rem;margin:0 0 28px}
.pendiente strong{font-family:"Archivo Black",sans-serif;font-weight:400;color:#C2453A}
.poster-box{display:block;position:relative;overflow:hidden;line-height:0}
.poster-box .poster-foto{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.poster-box .poster{display:block;width:100%;height:auto}
.poster-box.con-foto .poster{display:none}
.card .poster-box .poster-foto{transition:transform .35s ease}
.card:hover .poster-box .poster-foto{transform:scale(1.04)}
article.post .poster-box{margin:0 0 28px;border-radius:2px}
.mini .poster-box{border-radius:2px}
.hero-foto{max-width:520px;margin:26px 0 0}
.hero-foto .poster-box{border-radius:2px;box-shadow:0 6px 28px rgba(0,0,0,.35)}
a[data-r],a[data-jump],#langBtn{cursor:pointer;color:var(--tinta);text-decoration:none}
nav.main a[data-r],footer a[data-r],.brand[data-r],#langBtn{color:var(--papel)}
.crumbs a[data-r]{color:var(--mar)}
article.post p a[data-r]{color:var(--mar);text-decoration:underline}
.toc a[data-jump]{color:var(--tinta);text-decoration:underline}
.card h3 a[data-r],.ficha h3 a[data-r]{color:var(--tinta)}
.chip[data-r]{color:var(--tinta)}
.btn[data-r]{color:var(--papel)}
.btn.small[data-r]{color:var(--papel)}
/* Los enlaces sin href del tablero deben mantener su color sobre fondo oscuro */
.board a,.board a[data-r]{color:var(--papel)}
.board a:hover,.board a[data-r]:hover,.board a:focus-visible{color:var(--sol)}
.board td.n{color:#B9C9D8}
.hero .crumbs a[data-r]{color:var(--sol)}
/* Recuperar los colores originales que el selector con data-r había pisado */
footer a[data-r]{color:var(--sol)}
nav.main a[data-r]:hover,nav.main a[data-r]:focus-visible{color:var(--sol)}
.card h3 a[data-r]:hover,.ficha h3 a[data-r]:hover{color:var(--mar)}
/* Tarjetas: imagen con altura contenida para que no dominen la portada */
.grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:22px}
.card .poster-box,.card .poster{max-height:180px}
.card .poster-box{display:block;height:180px}
.card .poster-box .poster-foto,.card .poster-box .poster{height:180px;width:100%;object-fit:cover}
.card>a[aria-hidden]>.poster{height:180px;object-fit:cover}
/* Hero de categoría: foto más contenida */
.hero-foto{max-width:420px}
.hero-foto .poster-box{height:220px}
.hero-foto .poster-box .poster-foto,.hero-foto .poster-box .poster{height:220px;object-fit:cover}
@media(max-width:640px){
  .grid{grid-template-columns:1fr;gap:18px}
  .card .poster-box,.card .poster-box .poster-foto,.card .poster-box .poster,.card>a[aria-hidden]>.poster{height:150px}
  .hero-foto{max-width:100%}
  .hero-foto .poster-box,.hero-foto .poster-box .poster-foto,.hero-foto .poster-box .poster{height:170px}
}
/* Cabecera limpia: marca a la izquierda, idioma a la derecha */
.top .wrap{justify-content:space-between}
nav.main{display:none}
.lang{margin-left:auto}
