/* Ficha de videojuego del catálogo (ver src/games/render.mjs). Se lee como la página de un juego: la portada es
   una pantalla (con play si hay tráiler), los datos van en un "HUD" y el temario es un mapa de niveles que se
   enciende al llegar a él (la única animación de la página). El resto, sobrio y legible. */
.gm-hero{align-items:center}
.gm-hero h1{font-size:clamp(32px,3.7vw,54px);line-height:1.02;font-stretch:118%}
.gm-back{display:flex;width:max-content;align-items:center;gap:8px;margin-bottom:18px;color:var(--fog);font:650 14px/1 var(--font-body);text-decoration:none}
.gm-back:hover{color:#fff}
.gm-back svg{width:16px;height:16px}
.gm-skill{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;padding:7px 14px 7px 10px;border-radius:999px;background:var(--gold);color:var(--ink);font:760 14px/1.2 var(--font-body);transform:rotate(-1.5deg)}
.gm-skill svg{width:19px;height:19px;flex:none}
.gm-hud{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 0;padding:0}
.gm-hud li{display:flex;align-items:center;gap:9px;padding:9px 14px 9px 11px;border-radius:12px;background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);color:#fff;font-size:15px}
.gm-hud svg{width:19px;height:19px;color:var(--gold)}
.gm-hud b{font-weight:720}
.gm-hero .lp-btns .btn svg{width:18px;height:18px}

/* la pantalla: portada del juego con marco y un leve giro; el vídeo ocupa el mismo hueco */
.gm-media{perspective:1400px}
.gm-screen{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#000;box-shadow:0 0 0 7px #081424,0 0 0 8px rgba(255,255,255,.12),0 40px 80px -30px rgba(0,0,0,.85);transform:rotateY(-7deg) rotateX(2deg);transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.gm-media:hover .gm-screen,.gm-screen.is-playing{transform:none}
.gm-screen img{display:block;width:100%;height:100%;object-fit:cover}
.gm-play{position:absolute;inset:0;display:block}
.gm-play img{transition:transform .5s cubic-bezier(.2,.8,.2,1),filter .3s}
.gm-play:hover img{transform:scale(1.03);filter:brightness(.82)}
.gm-play-btn{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:84px;height:84px;margin:-42px 0 0 -42px;border-radius:50%;background:var(--gold);color:var(--ink);box-shadow:0 6px 0 #C9831D,0 20px 40px -10px rgba(0,0,0,.6);transition:transform .2s}
.gm-play-btn svg{width:36px;height:36px;margin-left:5px;fill:currentColor}
.gm-play:hover .gm-play-btn{transform:scale(1.08)}
.gm-play:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}
.gm-screen iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* secciones */
.gm{background:#fff}
.gm-sec{padding:clamp(56px,6.5vw,96px) 0}
.gm-sec h2{margin:0 0 28px;font:820 clamp(28px,3.2vw,42px)/1.06 var(--font-head);font-stretch:118%;letter-spacing:-.02em;color:var(--ink);text-wrap:balance}
.gm-learn,.gm-aud,.gm-more{background:var(--paper)}

/* de qué va + ficha */
.gm-story-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.9fr);gap:clamp(32px,5vw,72px);align-items:start}
.gm-story-copy p{max-width:38em;margin:0 0 1em;color:#2A3A4E;font-size:18px;line-height:1.72}
.gm-story-copy p:first-of-type{color:var(--ink);font-size:clamp(19px,1.6vw,22px);line-height:1.55;font-weight:560}
.gm-sheet{position:sticky;top:24px;padding:26px;border-radius:20px;background:var(--ink);color:#fff}
.gm-sheet h2{margin:0 0 16px!important;font-size:20px!important;color:#fff!important}
.gm-sheet dl{margin:0 0 20px;display:grid;gap:14px}
.gm-sheet dl div{display:grid;gap:3px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.12)}
.gm-sheet dt{color:var(--gold);font:700 13px/1.2 var(--font-body)}
.gm-sheet dd{margin:0;color:var(--fog);font-size:15px;line-height:1.5}
.gm-sheet .btn{width:100%;justify-content:center}

/* qué vas a aprender */
.gm-checks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.gm-checks li{display:flex;gap:14px;align-items:flex-start;padding:20px 22px;border-radius:18px;background:#fff;box-shadow:0 0 0 1px var(--rule);color:var(--ink);font-size:17px;line-height:1.5}
.gm-checks svg{flex:none;width:26px;height:26px;padding:4px;border-radius:8px;background:var(--gold);color:var(--ink);stroke-width:2.6}

/* temario: mapa de niveles */
.gm-program{background:var(--ink);color:#fff}
.gm-program h2{color:#fff}
.gm-levels{list-style:none;position:relative;margin:0;padding:0;display:grid;gap:18px;max-width:880px}
.gm-levels::before{content:"";position:absolute;left:35px;top:20px;bottom:20px;border-left:3px dashed rgba(255,255,255,.2)}
.gm-levels li{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr);gap:22px;align-items:center}
.gm-lv{position:relative;z-index:1;display:grid;place-items:center;align-content:center;width:72px;height:72px;border-radius:20px;background:#13263F;box-shadow:inset 0 0 0 2px rgba(255,255,255,.18);color:var(--fog);transform:rotate(-4deg);transition:background-color .4s,color .4s,box-shadow .4s,transform .4s}
.gm-lv small{font:700 11px/1 var(--font-body);opacity:.8}
.gm-lv b{font:840 28px/1 var(--font-head);font-stretch:120%}
.gm-levels li > div{padding:18px 22px;border-radius:18px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.gm-levels h3{margin:0;font:780 19px/1.3 var(--font-head);font-stretch:108%;color:#fff}
.gm-levels p{margin:6px 0 0;color:var(--fog);font-size:15.5px;line-height:1.55}
.gm-levels.is-in .gm-lv{background:var(--gold);color:var(--ink);box-shadow:0 5px 0 #C9831D;transform:rotate(0);transition-delay:calc(var(--i,0) * 140ms)}

/* cómo se juega */
.gm-mech{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.gm-mech li{padding:26px 24px;border-radius:20px;background:var(--paper)}
.gm-mech-ic{display:grid;place-items:center;width:52px;height:52px;margin-bottom:16px;border-radius:15px;background:var(--ink);color:var(--gold)}
.gm-mech-ic svg{width:26px;height:26px}
.gm-mech h3{margin:0 0 8px;font:780 19px/1.25 var(--font-head);font-stretch:108%;color:var(--ink)}
.gm-mech p{margin:0;color:var(--muted);font-size:15.5px;line-height:1.6}

/* para quién */
.gm-aud-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:clamp(24px,4vw,56px);align-items:start}
.gm-aud-grid h2{margin:0}
.gm-aud ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.gm-aud li{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border-radius:16px;background:#fff;box-shadow:0 0 0 1px var(--rule);color:var(--ink);font-size:16.5px;line-height:1.5}
.gm-aud li svg{flex:none;width:24px;height:24px;color:var(--action)}

/* preguntas frecuentes y "más sobre el curso" (texto de siempre en las fichas protegidas) */
.gm-faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:clamp(24px,4vw,56px);align-items:start}
.gm-faq-grid h2{margin:0}
.gm-legacy .doc-body{max-width:760px}
.gm-more h2{font-size:clamp(26px,3vw,36px)}
.gm-more .res-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.gm-more .res-card{background:#fff}

@media (max-width:960px){
  .gm-story-grid,.gm-aud-grid,.gm-faq-grid{grid-template-columns:minmax(0,1fr)}
  .gm-sheet{position:static}
  .gm-screen{transform:none}
}
@media (max-width:760px){
  .gm-checks{grid-template-columns:minmax(0,1fr)}
  .gm-more .res-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .gm-hero h1{font-size:30px}
  .gm-levels::before{left:27px}
  .gm-levels li{grid-template-columns:56px minmax(0,1fr);gap:14px}
  .gm-lv{width:56px;height:56px;border-radius:16px}
  .gm-lv b{font-size:22px}
  .gm-play-btn{width:64px;height:64px;margin:-32px 0 0 -32px}
  .gm-play-btn svg{width:28px;height:28px}
}
@media (prefers-reduced-motion:reduce){.gm-screen,.gm-play img,.gm-play-btn,.gm-lv{transition:none}}
