/* ==========================================================================
   Nova Stem Academy — páginas públicas y accesos desde la web de la clínica.
   Acento dorado propio de la academia sobre la base azul del sitio.
   ========================================================================== */

:root{
  --oro:#EDC46E;
  --oro-2:#C8923A;
  --oro-claro:#FFE6AE;
}

/* ==========================================================================
   Accesos a la academia desde la web de la clínica
   ========================================================================== */

/* Pestaña «Cursos» del menú: dorada, distinta al resto */
.nav__links > a.nav__cursos{
  display:inline-flex; align-items:center; gap:7px;
  margin-left:4px;
  padding:7px 14px !important;
  border-radius:var(--r-full);
  border:1px solid rgba(237,196,110,.55);
  background:linear-gradient(135deg, rgba(237,196,110,.18), rgba(200,146,58,.08));
  color:var(--oro-claro) !important;
  font-weight:600;
  box-shadow:0 0 18px rgba(237,196,110,.12);
}
.nav__links > a.nav__cursos svg{ width:17px; height:17px; flex-shrink:0; }
.nav__links > a.nav__cursos:hover{ background:linear-gradient(135deg,#F6D58E,var(--oro) 50%,var(--oro-2)); color:#1B1406 !important; text-decoration:none; }
/* Escritorio estrecho: la pestaña cede unos píxeles para que todo quepa */
@media (min-width:1301px) and (max-width:1520px){
  .nav__links > a:not(.nav__cta):not(.nav__cursos){ padding-inline:5px !important; }
  .nav__links > a.nav__cursos{ padding:6px 11px !important; margin-left:2px; }
}
/* En el menú móvil, «Cursos» es una tarjeta dorada bien visible */
@media (max-width:1300px){
  .nav__links > a.nav__cursos{
    margin:var(--s-4) 0 0; padding:14px 16px !important;
    justify-content:center; border-radius:var(--r-md); font-size:1.05rem;
  }
  .nav__links > a.nav__cursos::after{ display:none; }
}

/* Pestaña lateral grande y fija: visible en todo el recorrido de la web */
.pestanaCursos{
  position:fixed; right:0; top:50%; z-index:calc(var(--z-float) - 1);
  transform:translate(6px,-50%);
  display:flex; flex-direction:column; align-items:center; gap:10px;
  padding:18px 12px 18px 10px;
  border-radius:16px 0 0 16px;
  background:linear-gradient(180deg,#F6D58E 0%,var(--oro) 40%,var(--oro-2) 100%);
  color:#1B1406; text-decoration:none;
  box-shadow:-8px 10px 34px rgba(0,0,0,.45), 0 0 26px rgba(237,196,110,.35);
  transition:transform var(--t-mid) var(--e-out), box-shadow var(--t-mid);
}
.pestanaCursos:hover{ transform:translate(0,-50%); text-decoration:none; box-shadow:-10px 12px 40px rgba(0,0,0,.5), 0 0 40px rgba(237,196,110,.55); }
.pestanaCursos svg{ width:24px; height:24px; }
.pestanaCursos__txt{
  writing-mode:vertical-rl; transform:rotate(180deg);
  font-family:'Sora',sans-serif; font-weight:700; font-size:1.02rem;
  letter-spacing:.2em;
}
.pestanaCursos__sub{
  writing-mode:vertical-rl; transform:rotate(180deg);
  font-size:.62rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; opacity:.75;
}
@media (max-width:1023px){ .pestanaCursos{ display:none; } }
html.menu-open .pestanaCursos{ display:none; }

/* Sección «Nova Stem Academy» en la portada de la clínica */
.section--academia{
  background:
    radial-gradient(800px 480px at 85% 10%, rgba(237,196,110,.12), transparent 60%),
    linear-gradient(180deg, var(--ink), #07152B 55%, var(--ink));
}
.acaTab{
  position:relative; overflow:hidden;
  display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:28px;
  padding:34px 40px; margin-bottom:var(--s-7);
  border-radius:var(--r-xl);
  background:
    radial-gradient(420px 260px at 0% 50%, rgba(255,230,174,.35), transparent 70%),
    linear-gradient(120deg,#F6D58E 0%,var(--oro) 38%,var(--oro-2) 100%);
  color:#1B1406; text-decoration:none;
  box-shadow:0 24px 70px rgba(0,0,0,.45), 0 0 60px rgba(237,196,110,.2);
  transition:transform var(--t-mid) var(--e-out), box-shadow var(--t-mid);
}
.acaTab::after{
  content:''; position:absolute; top:0; bottom:0; left:-40%; width:30%;
  background:linear-gradient(100deg, transparent, rgba(255,255,255,.35), transparent);
  transform:skewX(-18deg);
  animation:acaBrillo 5s ease-in-out infinite;
}
@keyframes acaBrillo{ 0%,60%{ left:-40%; } 100%{ left:130%; } }
.acaTab:hover{ transform:translateY(-4px); text-decoration:none; box-shadow:0 30px 80px rgba(0,0,0,.5), 0 0 80px rgba(237,196,110,.35); }
.acaTab__ico{
  width:84px; height:84px; display:grid; place-items:center;
  border-radius:50%; background:rgba(27,20,6,.12); border:2px solid rgba(27,20,6,.25);
}
.acaTab__ico svg{ width:44px; height:44px; }
.acaTab__kicker{ font-size:.74rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; opacity:.7; }
.acaTab__titulo{ font-family:'Sora',sans-serif; font-size:clamp(2.2rem,5vw,3.6rem); font-weight:800; letter-spacing:.06em; line-height:1; margin:4px 0 8px; }
.acaTab__txt{ font-size:1rem; max-width:52ch; opacity:.85; }
.acaTab__ir{
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 22px; border-radius:var(--r-full);
  background:#1B1406; color:var(--oro-claro);
  font-family:'Sora',sans-serif; font-weight:600; white-space:nowrap;
}
.acaTab__ir svg{ width:18px; height:18px; }

/* ==========================================================================
   Páginas de la academia
   ========================================================================== */

.brand__sub--oro{ color:var(--oro); }
.brand__sub--oro::before{ background:linear-gradient(90deg, rgba(237,196,110,0), rgba(255,226,160,.95) 50%, rgba(237,196,110,0)); }
.nav__links > a.nav__cta--oro{
  background:linear-gradient(135deg,#F6D58E,var(--oro) 50%,var(--oro-2));
  color:#1B1406; box-shadow:0 6px 22px rgba(237,196,110,.3);
}
.nav__links > a.nav__cta--oro:hover{ background:var(--oro-claro); color:#1B1406; }
.btn--oro{
  background:linear-gradient(135deg,#F6D58E,var(--oro) 50%,var(--oro-2));
  color:#1B1406;
  box-shadow:0 8px 28px rgba(237,196,110,.3);
}
.btn--oro:hover{ transform:translateY(-2px); filter:brightness(1.05); color:#1B1406; }
.secHead__tag--oro{ color:var(--oro); }
.secHead__tag--oro::before{ background:var(--oro); }

/* Portada */
.acaHero{
  position:relative; overflow:hidden; overflow:clip;
  padding:calc(var(--nav-h) + var(--s-8)) 0 var(--s-9);
}
.acaHero__fondo{
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(900px 560px at 75% 30%, rgba(237,196,110,.16), transparent 60%),
    radial-gradient(900px 560px at 10% 0%, rgba(11,111,212,.28), transparent 62%),
    repeating-linear-gradient(0deg, rgba(200,228,247,.03) 0 1px, transparent 1px 44px),
    repeating-linear-gradient(90deg, rgba(200,228,247,.03) 0 1px, transparent 1px 44px),
    var(--ink);
}
.acaHero__inner{ position:relative; z-index:1; display:grid; grid-template-columns:1.2fr .8fr; align-items:center; gap:48px; }
.acaHero__kicker{
  display:inline-flex; align-items:center; gap:10px;
  padding:7px 14px; border-radius:var(--r-full);
  border:1px solid rgba(237,196,110,.4); background:rgba(237,196,110,.08);
  color:var(--oro-claro); font-size:.8rem; font-weight:600;
}
.acaHero__kicker svg{ width:18px; height:18px; }
.acaHero__titulo{ font-size:clamp(2.6rem,6.2vw,4.8rem); font-weight:700; letter-spacing:-.04em; margin:var(--s-5) 0 var(--s-4); line-height:1.02; }
.acaHero__titulo span{
  background:linear-gradient(100deg,var(--oro) 0%,var(--oro-claro) 55%,var(--oro) 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:var(--oro);
}
.acaHero__lead{ font-size:1.1rem; color:var(--text-2); max-width:60ch; }
.acaHero__acc{ display:flex; flex-wrap:wrap; gap:12px; margin:var(--s-6) 0; }
.acaStats{ display:flex; flex-wrap:wrap; gap:14px 34px; }
.acaStats strong{ display:block; font-family:'Sora',sans-serif; font-size:1.9rem; color:var(--text); line-height:1.1; }
.acaStats span{ font-size:.82rem; color:var(--text-3); }

/* Sello dorado con el emblema */
.acaSello{ position:relative; width:min(360px,80vw); aspect-ratio:1; margin-inline:auto; display:grid; place-items:center; }
.acaSello__anillo{
  position:absolute; inset:0; border-radius:50%;
  background:conic-gradient(from 0deg, rgba(237,196,110,0) 0deg, var(--oro) 80deg, #FFF3D4 120deg, rgba(237,196,110,0) 180deg, rgba(34,185,245,0) 200deg, rgba(34,185,245,.8) 290deg, rgba(34,185,245,0) 350deg);
  -webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 3px));
          mask:radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 3px));
  filter:drop-shadow(0 0 10px rgba(237,196,110,.7));
  animation:orbeGiro 9s linear infinite;
}
.acaSello__nucleo{
  position:absolute; inset:12px; border-radius:50%;
  display:grid; place-items:center;
  background:radial-gradient(circle at 50% 35%, rgba(255,240,200,.18), transparent 45%), radial-gradient(circle, #0E3566 0%, #061A3A 55%, #020B1C 100%);
  box-shadow:inset 0 0 50px rgba(237,196,110,.25), 0 0 80px rgba(237,196,110,.2);
}
.acaSello__nucleo img{ width:58%; height:auto; filter:drop-shadow(0 0 18px rgba(34,185,245,.5)); }
.acaSello__txt{
  position:absolute; bottom:18%;
  font-family:'Sora',sans-serif; font-weight:700; font-size:.8rem; letter-spacing:.5em; margin-right:-.5em;
  color:var(--oro);
}
@keyframes orbeGiro{ to{ transform:rotate(360deg); } }

/* Catálogo */
.acaCursos{ background:linear-gradient(180deg,var(--ink),#061530); }
.acaFiltros{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-bottom:var(--s-6); }
.acaSelect select{
  height:42px; padding:0 40px 0 16px; border-radius:var(--r-full);
  border:1px solid var(--navy-edge); background:rgba(13,46,88,.45); color:var(--text);
  appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--text-2) 50%),linear-gradient(135deg,var(--text-2) 50%,transparent 50%);
  background-position:calc(100% - 20px) 18px, calc(100% - 14px) 18px; background-size:6px 6px; background-repeat:no-repeat;
}
.acaSelect select option{ background:var(--navy); }

.cursoGrid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:var(--s-5); }
.cursoCard{
  position:relative; display:flex; flex-direction:column;
  border-radius:var(--r-lg); overflow:hidden;
  background:linear-gradient(165deg, rgba(13,46,88,.72), rgba(8,32,63,.55));
  border:1px solid var(--navy-edge);
  transition:transform var(--t-mid) var(--e-out), border-color var(--t-mid), box-shadow var(--t-mid);
}
.cursoCard:hover{ transform:translateY(-6px); border-color:rgba(237,196,110,.55); box-shadow:0 22px 60px rgba(0,0,0,.42); }
.cursoCard.is-oculta{ display:none; }
.cursoCard__img{ position:relative; aspect-ratio:16/9; overflow:hidden; background:radial-gradient(400px 220px at 50% 60%, rgba(237,196,110,.18), transparent 70%), linear-gradient(160deg,#0A2A55,#041430); }
.cursoCard__img img{ width:100%; height:100%; object-fit:cover; transition:transform var(--t-slow) var(--e-out); }
.cursoCard:hover .cursoCard__img img{ transform:scale(1.05); }
.cursoCard__sinFoto{ position:absolute; inset:0; display:grid; place-items:center; color:var(--oro); }
.cursoCard__sinFoto svg{ width:64px; height:64px; opacity:.7; }
.cursoCard__mod, .cursoCard__cert{
  position:absolute; top:12px; z-index:1;
  padding:5px 12px; border-radius:var(--r-full);
  font-size:.7rem; font-weight:700; letter-spacing:.06em;
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
}
.cursoCard__mod{ left:12px; background:rgba(3,13,31,.72); border:1px solid rgba(34,185,245,.35); color:#BDEBFF; }
.cursoCard__cert{ right:12px; background:rgba(237,196,110,.9); color:#1B1406; }
.cursoCard__cuerpo{ flex:1; display:flex; flex-direction:column; padding:var(--s-5); }
.cursoCard__cat{ font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--oro); margin-bottom:8px; }
.cursoCard__titulo{ font-size:1.2rem; line-height:1.28; margin-bottom:8px; }
.cursoCard__titulo a{ color:var(--text); text-decoration:none; }
.cursoCard__titulo a::after{ content:''; position:absolute; inset:0; z-index:2; }
.cursoCard__titulo a:focus-visible{ outline:none; }
.cursoCard__titulo a:focus-visible::after{ outline:2px solid var(--oro); outline-offset:-2px; border-radius:var(--r-lg); }
.cursoCard__sub{ font-size:.92rem; color:var(--text-2); margin-bottom:12px; }
.cursoCard__datos{ display:flex; flex-wrap:wrap; gap:6px 16px; font-size:.82rem; color:var(--text-3); margin-bottom:10px; }
.cursoCard__datos strong{ color:var(--text); font-weight:600; }
.cursoCard__doc{ font-size:.84rem; color:var(--text-2); margin-bottom:14px; }
.cursoCard__pie{ margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:10px; padding-top:14px; border-top:1px solid rgba(22,64,111,.6); }
.cursoCard__precio{ font-family:'Sora',sans-serif; font-weight:700; color:var(--oro-claro); }
.cursoCard__ver{ font-weight:600; font-size:.9rem; color:var(--oro); }
.cursoCard__ver span{ display:inline-block; transition:transform var(--t-fast) var(--e-out); }
.cursoCard:hover .cursoCard__ver span{ transform:translateX(5px); }

.cursoVacio{
  grid-column:1 / -1; display:flex; align-items:center; gap:18px;
  padding:var(--s-6); border-radius:var(--r-lg);
  border:1px dashed rgba(237,196,110,.35); background:rgba(8,32,63,.4); color:var(--text-2);
}
.cursoVacio svg{ width:44px; height:44px; flex-shrink:0; color:var(--oro); }
.cursoVacio strong{ color:var(--text); }
.cursoVacio--grande{ flex-direction:column; text-align:center; padding:var(--s-8) var(--s-5); }

/* Cómo funciona */
.acaComo{ background:#040F22; }
.acaPasos{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:var(--s-4); counter-reset:paso; }
.acaPaso{ padding:var(--s-6) var(--s-5); border-radius:var(--r-lg); background:rgba(8,32,63,.55); border:1px solid var(--navy-edge); }
.acaPaso__n{
  width:44px; height:44px; display:grid; place-items:center; margin-bottom:var(--s-4);
  border-radius:50%; background:linear-gradient(135deg,#F6D58E,var(--oro-2)); color:#1B1406;
  font-family:'Sora',sans-serif; font-weight:700;
}
.acaPaso h3{ font-size:1.05rem; margin-bottom:6px; }
.acaPaso p{ font-size:.92rem; color:var(--text-2); }

/* Aula */
.acaAula__inner{ display:grid; grid-template-columns:.9fr 1.1fr; gap:48px; align-items:center; }
.acaAula .secHead{ margin-bottom:0; }
.acaAula .secHead .btn{ margin-top:var(--s-5); }
.acaRasgos{ display:grid; gap:12px; }
.acaRasgos li{ display:flex; gap:16px; padding:var(--s-5); border-radius:var(--r-md); background:rgba(8,32,63,.55); border:1px solid var(--navy-edge); }
.acaRasgo__ico{ width:44px; height:44px; flex-shrink:0; display:grid; place-items:center; border-radius:12px; background:rgba(237,196,110,.12); color:var(--oro); font-weight:700; }
.acaRasgos h3{ font-size:1rem; margin-bottom:4px; }
.acaRasgos p{ font-size:.9rem; color:var(--text-2); }

/* Ficha del curso */
.cursoHero{ position:relative; overflow:hidden; overflow:clip; padding:calc(var(--nav-h) + var(--s-7)) 0 var(--s-8); background:radial-gradient(900px 500px at 80% 0%, rgba(237,196,110,.12), transparent 60%), var(--ink); }
.cursoHero__img{ position:absolute; inset:0; z-index:0; }
.cursoHero__img img{ width:100%; height:100%; object-fit:cover; opacity:.22; }
.cursoHero__img::after{ content:''; position:absolute; inset:0; background:linear-gradient(90deg, var(--ink) 20%, rgba(3,13,31,.7) 60%, rgba(3,13,31,.4)), linear-gradient(0deg, var(--ink), transparent 40%); }
.cursoHero__inner{ position:relative; z-index:1; max-width:var(--container); }
.cursoHero__cat{ display:inline-flex; padding:6px 14px; border-radius:var(--r-full); border:1px solid rgba(237,196,110,.45); background:rgba(237,196,110,.1); color:var(--oro); font-size:.74rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; margin-bottom:var(--s-4); }
.cursoHero__titulo{ font-size:clamp(2rem,4.8vw,3.4rem); letter-spacing:-.035em; max-width:22ch; margin-bottom:var(--s-4); }
.cursoHero__sub{ font-size:1.15rem; color:var(--text-2); max-width:60ch; }
.cursoHero__datos{ display:flex; flex-wrap:wrap; gap:14px; margin:var(--s-6) 0; }
.cursoHero__datos li{ padding:12px 18px; border-radius:var(--r-md); background:rgba(8,32,63,.7); border:1px solid var(--navy-edge); }
.cursoHero__datos span{ display:block; font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--text-3); }
.cursoHero__datos strong{ font-family:'Sora',sans-serif; font-size:.98rem; color:var(--text); }
.cursoHero__acc{ display:flex; flex-wrap:wrap; gap:12px; }
.cursoCerrado{ display:inline-flex; align-items:center; padding:12px 20px; border-radius:var(--r-full); background:rgba(240,104,94,.12); border:1px solid rgba(240,104,94,.4); color:#FFB4AD; font-weight:600; }

.cursoCuerpo{ display:grid; grid-template-columns:minmax(0,1fr) 380px; gap:48px; align-items:start; padding-block:var(--s-8) var(--s-9); }
.cursoBloque + .cursoBloque{ margin-top:var(--s-7); }
.cursoBloque > h2{ font-size:1.5rem; margin-bottom:var(--s-4); }
.cursoBloque .prosa{ font-size:1.02rem; line-height:1.75; color:#D3E4F4; }
.cursoBloque .prosa p + p{ margin-top:1em; }
.cursoObjetivos{ display:grid; gap:10px; }
.cursoObjetivos li{ position:relative; padding-left:30px; color:var(--text-2); }
.cursoObjetivos li::before{ content:''; position:absolute; left:4px; top:5px; width:8px; height:14px; border:solid var(--oro); border-width:0 2px 2px 0; transform:rotate(42deg); }
.temario{ display:grid; gap:10px; }
.temario__mod{ border-radius:var(--r-md); background:rgba(8,32,63,.55); border:1px solid var(--navy-edge); overflow:hidden; }
.temario__mod[open]{ border-color:rgba(237,196,110,.4); }
.temario__mod summary{ list-style:none; cursor:pointer; display:flex; align-items:center; gap:14px; padding:16px 18px; }
.temario__mod summary::-webkit-details-marker{ display:none; }
.temario__n{ font-family:'Sora',sans-serif; font-weight:700; color:var(--oro); font-size:.9rem; }
.temario__t{ flex:1; font-family:'Sora',sans-serif; font-weight:500; }
.temario__c{ font-size:.78rem; color:var(--text-3); white-space:nowrap; }
.temario__mod ol{ padding:0 18px 14px 50px; display:grid; gap:8px; list-style:decimal; color:var(--text-2); font-size:.92rem; }
.temario__mod li{ display:list-item; }
.temario__mod li small{ margin-left:8px; color:var(--text-3); }
.cursoDocentes{ display:grid; gap:14px; }
.cursoDocente{ display:flex; gap:16px; padding:var(--s-5); border-radius:var(--r-md); background:rgba(8,32,63,.55); border:1px solid var(--navy-edge); }
.cursoDocente__avatar{ width:56px; height:56px; flex-shrink:0; display:grid; place-items:center; border-radius:50%; font-family:'Sora',sans-serif; font-weight:700; color:#1B1406; background:radial-gradient(circle at 50% 35%, #F6D58E, var(--oro-2) 75%); box-shadow:0 0 22px rgba(237,196,110,.35); }
.cursoDocente h3{ font-size:1.05rem; }
.cursoDocente__prof{ font-size:.84rem; color:var(--oro); margin:2px 0 6px; }
.cursoDocente p{ font-size:.9rem; color:var(--text-2); }

.cursoCuerpo__lateral{ position:sticky; top:calc(var(--nav-h) + 20px); }
.cursoInscripcion{ padding:var(--s-6); border-radius:var(--r-xl); background:linear-gradient(165deg, rgba(13,46,88,.8), rgba(8,32,63,.65)); border:1px solid rgba(237,196,110,.35); box-shadow:0 24px 60px rgba(0,0,0,.4); }
.cursoInscripcion h2{ font-size:1.25rem; margin-bottom:6px; }
.cursoInscripcion__precio{ margin-bottom:var(--s-5); padding-bottom:var(--s-4); border-bottom:1px solid rgba(22,64,111,.6); font-family:'Sora',sans-serif; font-size:1.7rem; font-weight:700; color:var(--oro-claro); }
.cursoInscripcion__precio span{ display:block; font-family:'Inter',sans-serif; font-size:.72rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--text-3); }
.cursoInscripcion__txt{ font-size:.9rem; color:var(--text-2); margin-bottom:var(--s-4); }
.acaForm{ display:grid; gap:12px; }
.acaForm label{ display:grid; gap:6px; font-size:.84rem; font-weight:500; color:var(--text); }
.acaForm small{ color:var(--text-3); font-weight:400; }
.acaForm input, .acaForm textarea, .acaForm select{
  width:100%; min-height:44px; padding:10px 14px; border-radius:var(--r-sm);
  background:rgba(3,13,31,.6); border:1px solid var(--navy-edge); color:var(--text); font-size:.95rem;
}
.acaForm textarea{ resize:vertical; }
.acaForm input:focus, .acaForm textarea:focus, .acaForm select:focus{ outline:none; border-color:var(--oro); box-shadow:0 0 0 3px rgba(237,196,110,.18); }
.acaForm input.has-error, .acaForm select.has-error{ border-color:var(--danger); }
.acaForm select{
  appearance:none; padding-right:40px; cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--text-2) 50%),linear-gradient(135deg,var(--text-2) 50%,transparent 50%);
  background-position:calc(100% - 20px) 19px, calc(100% - 14px) 19px; background-size:6px 6px; background-repeat:no-repeat;
}
.acaForm select option{ background:var(--navy); }
.acaForm__planes{ display:grid; gap:8px; margin:0; padding:0; border:0; }
.acaForm__planes legend{ padding:0; margin-bottom:6px; font-size:.84rem; font-weight:500; color:var(--text); }
.acaForm__planes label{
  display:flex !important; align-items:flex-start; gap:10px !important;
  padding:11px 13px; border-radius:var(--r-sm); cursor:pointer;
  background:rgba(3,13,31,.45); border:1px solid var(--navy-edge);
  font-weight:400 !important; color:var(--text-2) !important;
  transition:border-color var(--t-fast), background var(--t-fast);
}
.acaForm__planes label:has(input:checked){ border-color:var(--oro); background:rgba(237,196,110,.1); color:var(--text) !important; }
.acaForm__planes input{ width:18px; height:18px; min-height:0; margin-top:2px; accent-color:var(--oro); flex-shrink:0; }
.acaForm__planes strong{ color:var(--text); font-weight:600; }

/* Planes en la ficha del curso */
.cursoPlanes{ display:grid; gap:10px; margin-bottom:var(--s-5); padding-bottom:var(--s-4); border-bottom:1px solid rgba(22,64,111,.6); }
.cursoPlan{ padding:12px 14px; border-radius:var(--r-md); background:rgba(3,13,31,.4); border:1px solid var(--navy-edge); }
.cursoPlan:first-child{ border-color:rgba(237,196,110,.45); background:linear-gradient(135deg, rgba(237,196,110,.12), rgba(3,13,31,.4)); }
.cursoPlan__nombre{ font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--oro); }
.cursoPlan__precio{ font-family:'Sora',sans-serif; font-size:1.35rem; font-weight:700; color:var(--oro-claro); line-height:1.2; margin-top:2px; }
.cursoPlan__txt{ font-size:.82rem; color:var(--text-2); margin-top:4px; }

/* A quién va dirigido */
.cursoCard__publico{
  display:inline-flex; align-items:center; gap:6px; align-self:flex-start;
  margin:-2px 0 12px; padding:4px 11px 4px 9px; border-radius:var(--r-full);
  font-size:.74rem; font-weight:600; color:#BDEBFF;
  background:rgba(34,185,245,.1); border:1px solid rgba(34,185,245,.32);
}
.cursoCard__publico svg{ width:14px; height:14px; flex-shrink:0; }
.cursoHero__datos li.cursoHero__publico{ border-color:rgba(34,185,245,.4); background:rgba(34,185,245,.08); }
.cursoPublico{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:var(--s-4); }
.cursoPublico li{
  display:inline-flex; align-items:center; gap:8px;
  padding:9px 16px 9px 12px; border-radius:var(--r-full);
  font-size:.9rem; font-weight:600; border:1px solid var(--navy-edge);
}
.cursoPublico li > span[aria-hidden]{ display:grid; place-items:center; width:22px; height:22px; border-radius:50%; font-size:.72rem; }
.cursoPublico .is-si{ color:var(--text); background:rgba(63,191,127,.08); border-color:rgba(63,191,127,.4); }
.cursoPublico .is-si > span[aria-hidden]{ background:rgba(63,191,127,.2); color:#7BE0AE; }
.cursoPublico .is-no{ color:var(--text-3); opacity:.7; text-decoration:line-through; text-decoration-color:rgba(110,140,171,.5); }
.cursoPublico .is-no > span[aria-hidden]{ background:rgba(110,140,171,.14); }
.acaForm__trampa{ position:absolute !important; left:-9999px; width:1px; height:1px; overflow:hidden; }
.acaForm__check{ display:flex !important; grid-template-columns:none; align-items:flex-start; gap:10px !important; font-weight:400 !important; color:var(--text-2) !important; font-size:.82rem !important; }
.acaForm__check input{ width:18px; min-height:0; height:18px; margin-top:2px; accent-color:var(--oro); flex-shrink:0; }
.acaForm__error{ font-size:.84rem; color:var(--danger); min-height:0; }
.acaForm__ok{ text-align:center; }
.acaForm__okTit{ font-family:'Sora',sans-serif; font-size:1.3rem; font-weight:700; color:var(--oro-claro); margin-bottom:8px; }
.acaForm__ok p{ color:var(--text-2); font-size:.92rem; margin-bottom:16px; }

/* Certificado */
.certificado .nav, .certificado .waFloat{ display:none; }
.certPagina{ padding:var(--s-7) var(--s-4) var(--s-9); background:radial-gradient(900px 500px at 50% 0%, rgba(237,196,110,.12), transparent 60%), var(--ink); }
.certAcciones{ max-width:1000px; margin:0 auto var(--s-5); display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; }
.certValido{ display:inline-flex; align-items:center; gap:8px; color:#8BE3B3; font-size:.92rem; }
.certValido::before{ content:'✓'; width:24px; height:24px; display:grid; place-items:center; border-radius:50%; background:rgba(63,191,127,.2); }
.cert{ max-width:1000px; margin:0 auto; aspect-ratio:1.414; background:#FFFDF7; color:#1D2433; border-radius:6px; padding:22px; box-shadow:0 30px 80px rgba(0,0,0,.5); }
.cert__marco{ height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:4% 7%; border:2px solid #C8923A; outline:1px solid rgba(200,146,58,.45); outline-offset:-10px; position:relative; }
.cert__cab{ display:flex; align-items:center; gap:14px; margin-bottom:3%; }
.cert__cab img{ width:78px; height:auto; }
.cert__marca{ text-align:left; line-height:1; }
.cert__marca span{ display:block; font-family:'Sora',sans-serif; font-weight:700; font-size:1.7rem; letter-spacing:.22em; color:#0A2A55; }
.cert__marca small{ display:block; margin-top:6px; font-family:'Sora',sans-serif; font-weight:600; font-size:.7rem; letter-spacing:.44em; color:#A8781F; }
.cert__tipo{ font-family:'Sora',sans-serif; font-size:clamp(1.2rem,2.6vw,1.9rem); font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:#A8781F; margin-bottom:3%; }
.cert__otorga, .cert__texto{ font-size:clamp(.8rem,1.4vw,1rem); color:#5A6275; }
.cert__nombre{ font-family:'Sora',sans-serif; font-size:clamp(1.6rem,4vw,2.8rem); color:#0A2A55; margin:1.5% 0; letter-spacing:-.01em; border-bottom:1px solid rgba(200,146,58,.5); padding:0 4% 1%; }
.cert__curso{ font-family:'Sora',sans-serif; font-size:clamp(1.05rem,2.4vw,1.6rem); color:#1D2433; margin:1.5% 0 1%; max-width:30ch; }
.cert__detalle{ font-size:clamp(.72rem,1.2vw,.9rem); color:#5A6275; max-width:70ch; }
.cert__firmas{ display:flex; justify-content:center; gap:10%; width:100%; margin-top:5%; }
.cert__firma{ display:flex; flex-direction:column; align-items:center; min-width:180px; }
.cert__linea{ width:100%; height:1px; background:#1D2433; margin-bottom:8px; }
.cert__firma strong{ font-size:clamp(.72rem,1.2vw,.9rem); }
.cert__firma small{ font-size:clamp(.62rem,1vw,.76rem); color:#5A6275; }
.cert__pie{ position:absolute; bottom:12px; left:18px; right:18px; display:flex; justify-content:space-between; gap:12px; font-size:clamp(.55rem,.9vw,.7rem); color:#7A8294; }
@media print{
  @page{ size:A4 landscape; margin:0; }
  body.certificado{ background:#fff !important; }
  .certificado .footer, .certAcciones, .certificado .skip-link, .certificado .toast{ display:none !important; }
  .certPagina{ padding:0; background:#fff; }
  .cert{ max-width:none; width:297mm; height:210mm; aspect-ratio:auto; box-shadow:none; border-radius:0; }
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width:1100px){
  .acaHero__inner, .acaAula__inner, .cursoCuerpo{ grid-template-columns:1fr; }
  .acaSello{ width:min(280px,70vw); order:-1; }
  .cursoCuerpo__lateral{ position:static; }
}
@media (max-width:900px){
  .acaTab{ grid-template-columns:1fr; text-align:center; justify-items:center; padding:28px 22px; }
  .acaTab__ico{ width:70px; height:70px; }
}
@media (max-width:720px){
  .cursoGrid--inicio{
    grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:86%; gap:12px;
    overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory;
    scroll-padding-inline:var(--s-4); margin-inline:calc(var(--s-4) * -1); padding:6px var(--s-4) 10px;
    scrollbar-width:none;
  }
  .cursoGrid--inicio::-webkit-scrollbar{ display:none; }
  .cursoGrid--inicio > *{ scroll-snap-align:start; min-width:0; }
  .cursoGrid{ grid-template-columns:1fr; }
  .acaHero{ padding-top:calc(var(--nav-h) + var(--s-6)); }
  .acaHero__acc .btn{ flex:1 1 100%; }
  .cursoHero__datos li{ flex:1 1 40%; }
  .cursoHero__acc .btn{ flex:1 1 100%; }
  .cursoInscripcion{ padding:var(--s-5); }
  .cert{ padding:10px; }
  .cert__cab img{ width:48px; }
  .cert__marca span{ font-size:1.1rem; }
  .cert__firmas{ flex-direction:column; align-items:center; gap:14px; }
  .cert__pie{ position:static; flex-direction:column; margin-top:14px; }
  .cert{ aspect-ratio:auto; }
}
@media (hover:none){
  .cursoCard:hover, .acaTab:hover{ transform:none; }
}
@media (prefers-reduced-motion:reduce){
  .acaSello__anillo, .acaTab::after{ animation:none !important; }
}
