/*
Theme Name: Aventura Eléctrica
Theme URI: https://aventuralectrica.com
Description: Tema a medida para el proyecto Aventura Eléctrica (Todos Eléctricos + TestCoches): portada, fichas de cada edición con sus vídeos de YouTube, colaboradores y perfiles de los creadores. Ligero, mobile-first y centrado en vídeo. Sin Elementor ni page builders.
Author: Carlos González / TestCoches
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: aventura-electrica
*/

/* ===================================================================
   1. TOKENS DE MARCA
   Marca paraguas "Aventura Eléctrica": base cinematográfica oscura,
   tipografía épica grabada (Cinzel) + sans ligera (Barlow), acento
   "voltio" dorado. Cada edición reescribe --acc / --acc-2 vía clase.
   =================================================================== */
:root{
  /* Base universal */
  --ink:#0d1014;          /* Mist Black: fondo */
  --ink-2:#14181e;        /* paneles elevados */
  --ink-3:#1b2026;        /* tarjetas / hover */
  --line:rgba(241,237,228,.12);
  --line-2:rgba(241,237,228,.22);
  --bone:#f1ede4;         /* texto principal, blanco hueso cálido */
  --bone-dim:#cdc9c0;
  --mut:#94999f;          /* texto secundario */
  --mut-2:#6b7077;        /* texto terciario / data labels */

  /* Acento maestro de la franquicia (oro voltio) */
  --volt:#e6a532;
  --volt-soft:rgba(230,165,50,.14);

  /* Acento activo (lo sobrescribe cada edición). Por defecto = voltio */
  --acc:#e6a532;
  --acc-2:#c97f2a;
  --acc-soft:rgba(230,165,50,.12);
  --acc-ink:#0d1014;      /* texto sobre fondo de acento */

  /* Tipografía */
  --display:"Cinzel", Georgia, "Times New Roman", serif;
  --body:"Barlow", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --mono:ui-monospace, "SFMono-Regular", "JetBrains Mono", Menlo, Consolas, monospace;

  /* Métrica */
  --maxw:1140px;
  --gap:clamp(1.5rem, 4vw, 3rem);
  --pad-x:clamp(1.1rem, 5vw, 2.25rem);
  --sec-y:clamp(3.5rem, 9vw, 7rem);
  --radius:14px;
  --radius-s:9px;
}

/* Acentos por edición --------------------------------------------- */
/* Edición 1 · Cabo Norte → aurora ártica (verde aurora + azul hielo) */
.is-cabo-norte{
  --acc:#5fd0a6;
  --acc-2:#5fb8d6;
  --acc-soft:rgba(95,208,166,.12);
  --acc-ink:#06120d;
}
/* Edición 2 · Escocia → Highlands (oro whisky + rojo tartán) */
.is-escocia{
  --acc:#c8964a;
  --acc-2:#8b1a1a;
  --acc-soft:rgba(200,150,74,.13);
  --acc-ink:#0d1014;
}

/* ===================================================================
   2. RESET LIGERO + BASE
   =================================================================== */
*,*::before,*::after{box-sizing:border-box}
*{margin:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  background:var(--ink);
  color:var(--bone);
  font-family:var(--body);
  font-size:clamp(1rem,.96rem + .2vw,1.075rem);
  line-height:1.62;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;background:none;border:none}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:3px}

/* ===================================================================
   3. TIPOGRAFÍA
   =================================================================== */
h1,h2,h3,h4{font-family:var(--display);font-weight:700;line-height:1.04;letter-spacing:.005em}
.h-xxl{font-size:clamp(2.6rem,7vw + .5rem,5.5rem);text-transform:uppercase;letter-spacing:.02em}
.h-xl{font-size:clamp(2rem,4.5vw,3.4rem);text-transform:uppercase;letter-spacing:.015em}
.h-l{font-size:clamp(1.5rem,3vw,2.2rem)}
.lede{font-size:clamp(1.1rem,1rem + .6vw,1.4rem);line-height:1.5;color:var(--bone-dim);font-weight:400}
p{max-width:68ch}
strong{font-weight:600;color:var(--bone)}

/* Etiqueta "HUD": dato técnico en mono, la firma del proyecto */
.tag{
  font-family:var(--mono);
  font-size:.72rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--mut-2);
  font-weight:500;
}
.tag-acc{color:var(--acc)}
.eyebrow{
  font-family:var(--mono);
  font-size:.74rem;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--acc);
  font-weight:500;
  display:inline-flex;align-items:center;gap:.6rem;
}
.eyebrow::before{content:"";width:1.6rem;height:1px;background:var(--acc);opacity:.7}

/* ===================================================================
   4. LAYOUT
   =================================================================== */
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad-x)}
.wrap-n{max-width:820px}
.section{padding-block:var(--sec-y)}
.section + .section{border-top:1px solid var(--line)}
.stack > * + *{margin-top:1.1rem}
.center{text-align:center}
.grid{display:grid;gap:var(--gap)}

/* ===================================================================
   5. BOTONES
   =================================================================== */
.btn{
  display:inline-flex;align-items:center;gap:.6rem;
  font-family:var(--mono);font-size:.82rem;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;
  padding:.85rem 1.4rem;border-radius:var(--radius-s);
  transition:transform .15s ease, background-color .2s ease, border-color .2s ease;
  line-height:1;
}
.btn svg{width:1.05em;height:1.05em;flex:none}
.btn-primary{background:var(--acc);color:var(--acc-ink);font-weight:700}
.btn-primary:hover{transform:translateY(-2px)}
.btn-ghost{border:1px solid var(--line-2);color:var(--bone)}
.btn-ghost:hover{border-color:var(--acc);color:var(--acc)}
.btn-yt{background:#ff0033;color:#fff}
.btn-yt:hover{transform:translateY(-2px);background:#e60030}
@media (prefers-reduced-motion:reduce){.btn:hover{transform:none}}

/* ===================================================================
   6. HEADER / NAV
   =================================================================== */
.site-header{
  position:fixed;inset:0 0 auto 0;z-index:60;
  display:flex;align-items:center;justify-content:space-between;
  padding:1rem var(--pad-x);
  transition:background-color .3s ease, padding .3s ease, border-color .3s ease;
  border-bottom:1px solid transparent;
}
.site-header.scrolled{
  background:rgba(13,16,20,.85);
  backdrop-filter:saturate(140%) blur(10px);
  -webkit-backdrop-filter:saturate(140%) blur(10px);
  border-bottom-color:var(--line);
  padding-block:.7rem;
}
.brand{display:flex;align-items:baseline;gap:.5rem;line-height:1}
.brand b{
  font-family:var(--display);font-weight:700;font-size:1.18rem;
  text-transform:uppercase;letter-spacing:.04em;color:var(--bone);
}
.brand span{font-family:var(--mono);font-size:.6rem;letter-spacing:.3em;color:var(--acc);text-transform:uppercase}
.nav{display:flex;align-items:center;gap:1.6rem}
.nav a{
  font-family:var(--mono);font-size:.78rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--bone-dim);
  padding:.3rem 0;position:relative;transition:color .18s ease;
}
.nav a:hover,.nav a[aria-current="page"]{color:var(--acc)}
.nav a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1px;background:var(--acc);transition:width .22s ease}
.nav a:hover::after,.nav a[aria-current="page"]::after{width:100%}

.nav-toggle{display:none;width:42px;height:42px;border:1px solid var(--line-2);border-radius:9px;align-items:center;justify-content:center}
.nav-toggle span{display:block;width:18px;height:1.5px;background:var(--bone);position:relative}
.nav-toggle span::before,.nav-toggle span::after{content:"";position:absolute;left:0;width:18px;height:1.5px;background:var(--bone);transition:transform .25s ease}
.nav-toggle span::before{top:-6px}.nav-toggle span::after{top:6px}
body.nav-open .nav-toggle span{background:transparent}
body.nav-open .nav-toggle span::before{transform:translateY(6px) rotate(45deg)}
body.nav-open .nav-toggle span::after{transform:translateY(-6px) rotate(-45deg)}

@media (max-width:860px){
  .nav-toggle{display:flex}
  .nav{
    position:fixed;inset:0;z-index:55;
    flex-direction:column;justify-content:center;gap:2rem;
    background:var(--ink);
    transform:translateX(100%);transition:transform .32s cubic-bezier(.4,0,.2,1);
    padding:5rem var(--pad-x);
  }
  body.nav-open .nav{transform:translateX(0)}
  .nav a{font-size:1.4rem;font-family:var(--display);letter-spacing:.02em}
  .nav a::after{display:none}
}

/* ===================================================================
   7. HERO (portada y edición)
   =================================================================== */
.hero{
  position:relative;min-height:92vh;min-height:92svh;
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:6rem 0 clamp(2.5rem,6vw,4.5rem);overflow:hidden;isolation:isolate;
}
.hero::before{ /* viñeta + base */
  content:"";position:absolute;inset:0;z-index:-2;
  background:
    radial-gradient(120% 90% at 80% 0%, var(--acc-soft), transparent 55%),
    linear-gradient(180deg,#0a0d11 0%, var(--ink) 60%, var(--ink) 100%);
}
.hero-media{position:absolute;inset:0;z-index:-3;background-size:cover;background-position:center;opacity:.5}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,13,17,.35) 0%,rgba(13,16,20,.85) 75%,var(--ink) 100%)}
.hero-inner{position:relative}
.hero h1{margin:.6rem 0 0}
.hero .lede{margin-top:1.3rem;max-width:34ch}
.hero-cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}

/* línea de ruta animada: firma del proyecto */
.routeline{position:absolute;left:0;right:0;bottom:0;z-index:-1;height:2px;opacity:.5}
.routeline svg{width:100%;height:120px;position:absolute;bottom:-1px;left:0}
.route-dash{stroke:var(--acc);stroke-width:2;fill:none;stroke-dasharray:6 9;stroke-linecap:round;
  animation:flow 14s linear infinite}
.route-node{fill:var(--acc)}
@keyframes flow{to{stroke-dashoffset:-180}}
@media (prefers-reduced-motion:reduce){.route-dash{animation:none}}

/* fila de stats HUD */
.hud{
  display:flex;flex-wrap:wrap;gap:0;margin-top:2.2rem;
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  background:rgba(20,24,30,.5);backdrop-filter:blur(4px);max-width:680px;
}
.hud div{flex:1 1 33%;min-width:120px;padding:1rem 1.15rem;border-right:1px solid var(--line)}
.hud div:last-child{border-right:0}
.hud dt{font-family:var(--mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mut-2);margin-bottom:.35rem}
.hud dd{font-family:var(--display);font-size:clamp(1.3rem,3.5vw,1.9rem);font-weight:700;color:var(--bone);line-height:1}
.hud dd small{font-size:.55em;color:var(--acc);font-family:var(--mono);font-weight:500;margin-left:.2rem}

/* Fila de tripulación en la edición */
.crew-row{margin-top:1.4rem;font-size:1rem;color:var(--bone);line-height:1.5}
.crew-row .crew-k{font-family:var(--mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--acc);display:inline-block;margin-right:.6rem;vertical-align:middle}

/* Grupos de patrocinadores por temporada */
.sponsor-group{margin-bottom:2.4rem}
.sponsor-group:last-of-type{margin-bottom:0}

/* ===================================================================
   8. EDICIONES (tarjetas-dossier de la portada)
   =================================================================== */
.editions{display:grid;gap:var(--gap)}
@media (min-width:820px){.editions{grid-template-columns:1fr 1fr}}
.edition-card{
  position:relative;display:flex;flex-direction:column;
  border:1px solid var(--line);border-radius:var(--radius);
  background:var(--ink-2);overflow:hidden;
  transition:border-color .25s ease, transform .25s ease;
}
.edition-card:hover{border-color:var(--acc);transform:translateY(-4px)}
@media (prefers-reduced-motion:reduce){.edition-card:hover{transform:none}}
.edition-card .cover{aspect-ratio:16/10;background-size:cover;background-position:center;position:relative}
.edition-card .cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(20,24,30,.95) 100%)}
.edition-card .cover.empty{background:
  radial-gradient(90% 80% at 20% 10%, var(--acc-soft), transparent 60%),
  repeating-linear-gradient(135deg,var(--ink-3),var(--ink-3) 12px,var(--ink-2) 12px,var(--ink-2) 24px)}
.edition-badge{position:absolute;top:1rem;left:1rem;z-index:2;display:flex;align-items:center;gap:.55rem}
.edition-badge svg{width:34px;height:34px}
.edition-badge .n{font-family:var(--mono);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--acc)}
.edition-state{position:absolute;top:1rem;right:1rem;z-index:2;font-family:var(--mono);
  font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;padding:.35rem .6rem;border-radius:99px;
  background:rgba(13,16,20,.7);border:1px solid var(--line-2);color:var(--bone-dim)}
.edition-state.live{color:var(--acc);border-color:var(--acc)}
.edition-body{padding:clamp(1.3rem,3vw,1.9rem);display:flex;flex-direction:column;gap:.7rem;flex:1}
.edition-body h3{font-size:clamp(1.6rem,4vw,2.3rem);text-transform:uppercase}
.edition-route{font-family:var(--mono);font-size:.8rem;letter-spacing:.06em;color:var(--acc);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.edition-route .arrow{color:var(--mut-2)}
.edition-body p{color:var(--mut);font-size:.97rem}
.edition-meta{display:flex;flex-wrap:wrap;gap:1.2rem;margin-top:.3rem}
.edition-meta span{font-family:var(--mono);font-size:.74rem;color:var(--bone-dim)}
.edition-meta span b{color:var(--acc);font-weight:600}
.edition-link{margin-top:auto;padding-top:1rem;font-family:var(--mono);font-size:.8rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--acc);display:inline-flex;align-items:center;gap:.5rem;font-weight:600}
.edition-card:hover .edition-link svg{transform:translateX(4px)}
.edition-link svg{width:1em;height:1em;transition:transform .2s ease}

/* ===================================================================
   9. EPISODIOS (galería de vídeos / facade YouTube)
   =================================================================== */
.episodes{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.ep{border:1px solid var(--line);border-radius:var(--radius-s);overflow:hidden;background:var(--ink-2);
  transition:border-color .2s ease}
.ep:hover{border-color:var(--acc)}
.yt-facade{position:relative;aspect-ratio:16/9;width:100%;display:block;background:#000 center/cover no-repeat;overflow:hidden}
.yt-facade img{width:100%;height:100%;object-fit:cover;opacity:.92;transition:opacity .2s ease, transform .3s ease}
.yt-facade:hover img{opacity:1;transform:scale(1.03)}
.yt-facade .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.yt-facade .play svg{width:62px;height:62px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.5));transition:transform .2s ease}
.yt-facade:hover .play svg{transform:scale(1.08)}
.yt-facade iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ep-cap{padding:.85rem 1rem}
.ep-cap .num{font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;color:var(--acc);text-transform:uppercase}
.ep-cap h4{font-family:var(--body);font-weight:600;font-size:.96rem;line-height:1.3;margin-top:.25rem;color:var(--bone)}

.episodes-empty{
  border:1px dashed var(--line-2);border-radius:var(--radius);
  padding:clamp(2rem,6vw,3.5rem);text-align:center;background:var(--acc-soft);
}
.episodes-empty .tag-acc{display:block;margin-bottom:.8rem}
.episodes-empty p{margin-inline:auto;color:var(--bone-dim)}

/* ===================================================================
   10. CREADORES
   =================================================================== */
.creators{display:grid;gap:var(--gap)}
@media (min-width:780px){.creators{grid-template-columns:1fr 1fr}}
.creator{
  display:flex;gap:1.2rem;padding:clamp(1.3rem,3vw,1.8rem);
  border:1px solid var(--line);border-radius:var(--radius);background:var(--ink-2);
  transition:border-color .2s ease;
}
.creator:hover{border-color:var(--acc)}
.creator .avatar{width:78px;height:78px;flex:none;border-radius:50%;background:var(--ink-3) center/cover;
  border:2px solid var(--line-2);overflow:hidden}
.creator .info{display:flex;flex-direction:column;gap:.35rem}
.creator h3{font-family:var(--display);font-size:1.35rem}
.creator .channel{font-family:var(--mono);font-size:.76rem;letter-spacing:.06em;color:var(--acc)}
.creator p{font-size:.92rem;color:var(--mut);max-width:none}
.creator .links{display:flex;gap:.9rem;margin-top:.4rem}
.creator .links a{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--bone-dim);transition:color .15s ease}
.creator .links a:hover{color:var(--acc)}

/* Cabecera de perfil (página de creador) */
.profile-hero{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(1.5rem,4vw,3rem)}
.profile-hero .avatar-xl{width:clamp(110px,28vw,170px);height:clamp(110px,28vw,170px);border-radius:50%;
  background:var(--ink-3) center/cover;border:2px solid var(--acc);flex:none;overflow:hidden}
.profile-stats{display:flex;flex-wrap:wrap;gap:1.6rem;margin-top:1.6rem}
.profile-stats div .v{font-family:var(--display);font-size:clamp(1.4rem,4vw,2rem);font-weight:700;color:var(--acc)}
.profile-stats div .k{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mut-2)}

/* ===================================================================
   11. PATROCINADORES
   =================================================================== */
.sponsors{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));align-items:stretch}
.sponsor{
  display:flex;align-items:center;justify-content:center;
  min-height:96px;padding:1.2rem;border:1px solid var(--line);border-radius:var(--radius-s);
  background:var(--ink-2);transition:border-color .2s ease, background-color .2s ease;
}
.sponsor:hover{border-color:var(--acc);background:var(--ink-3)}
.sponsor img{max-height:48px;width:auto;filter:grayscale(1) brightness(1.6);opacity:.8;transition:filter .25s ease, opacity .25s ease}
.sponsor:hover img{filter:none;opacity:1}
.sponsor .placeholder{font-family:var(--display);font-size:1.1rem;color:var(--mut);letter-spacing:.03em}
.tier-label{font-family:var(--mono);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--acc);margin:2.4rem 0 1rem}
.tier-label:first-child{margin-top:0}

.cta-band{
  border:1px solid var(--acc);border-radius:var(--radius);
  background:var(--acc-soft);padding:clamp(1.8rem,5vw,3rem);text-align:center;margin-top:var(--gap);
}
.cta-band h3{font-size:clamp(1.5rem,4vw,2.2rem);text-transform:uppercase;margin-bottom:.7rem}
.cta-band p{margin:0 auto 1.5rem;color:var(--bone-dim)}

/* ===================================================================
   12. PROSA EDITORIAL (páginas con contenido WP)
   =================================================================== */
.prose{max-width:70ch}
.prose > * + *{margin-top:1.15rem}
.prose h2{font-size:clamp(1.5rem,3.5vw,2.1rem);margin-top:2.4rem;text-transform:uppercase}
.prose h3{font-size:1.3rem;margin-top:1.8rem}
.prose a{color:var(--acc);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.prose ul,.prose ol{padding-left:1.3rem}
.prose li + li{margin-top:.4rem}
.prose blockquote{border-left:2px solid var(--acc);padding-left:1.2rem;color:var(--bone-dim);font-style:italic}

/* lista de hitos de ruta */
.highlights{list-style:none;padding:0;display:grid;gap:.2rem}
.highlights li{display:flex;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line);align-items:baseline}
.highlights li .hk{font-family:var(--mono);font-size:.78rem;color:var(--acc);min-width:3.5rem;letter-spacing:.05em}
.highlights li .hv{color:var(--bone-dim)}

/* ===================================================================
   13. FOOTER
   =================================================================== */
.site-footer{border-top:1px solid var(--line);padding:clamp(2.5rem,6vw,4rem) 0 2.5rem;background:#0a0d11}
.footer-grid{display:flex;flex-wrap:wrap;gap:2.5rem;justify-content:space-between;align-items:flex-start}
.footer-brand b{font-family:var(--display);font-size:1.3rem;text-transform:uppercase;letter-spacing:.04em}
.footer-brand p{font-size:.88rem;color:var(--mut);max-width:32ch;margin-top:.6rem}
.footer-cols{display:flex;flex-wrap:wrap;gap:2.5rem}
.footer-col h5{font-family:var(--mono);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mut-2);margin-bottom:.9rem}
.footer-col a{display:block;font-size:.9rem;color:var(--bone-dim);padding:.25rem 0;transition:color .15s ease}
.footer-col a:hover{color:var(--acc)}
.footer-bottom{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--line);
  display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center}
.footer-bottom small{font-family:var(--mono);font-size:.72rem;letter-spacing:.05em;color:var(--mut-2)}

/* ===================================================================
   14. UTIL / MOTION
   =================================================================== */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease, transform .6s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.section-head{max-width:640px;margin-bottom:clamp(2rem,5vw,3rem)}
.section-head h2{margin-top:.7rem}
.section-head p{color:var(--mut);margin-top:.9rem}
