:root{
  --fondo:#0f0d0a; --panel:#16130e; --panel2:#1b1712; --borde:#2e2820;
  /* --tenue aclarado hasta superar 4.5:1 sobre el fondo y sobre --panel */
  --borde2:#3d3527; --texto:#eae5da; --suave:#a89f8d; --tenue:#968e7c;
  --oro:#f0b429; --oro2:#d99a12; --ancho:1140px; --lectura:760px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--fondo);color:var(--texto);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;}
img{max-width:100%;height:auto;}
a{color:var(--oro);}
:focus-visible{outline:3px solid var(--oro);outline-offset:3px;border-radius:4px;}
.saltar{position:absolute;left:-9999px;top:0;background:var(--oro);color:#1a1509;
  padding:10px 18px;border-radius:0 0 8px 0;font-weight:700;z-index:100;}
.saltar:focus{left:0;}

/* ---------------------------------------------------------------- cabecera */
.barra{border-bottom:1px solid var(--borde);background:rgba(15,13,10,.94);
  position:sticky;top:0;z-index:40;backdrop-filter:blur(10px);}
.barra .caja{max-width:var(--ancho);margin:0 auto;padding:13px 20px;display:flex;
  align-items:center;justify-content:space-between;gap:18px;}
.marca{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--texto);}
.marca img{width:34px;height:34px;border-radius:8px;display:block;}
.marca b{font-size:15.5px;font-weight:800;letter-spacing:-.01em;}
.marca span{color:var(--tenue);font-size:12px;display:block;line-height:1.2;font-weight:500;}
.navbar{display:flex;align-items:center;gap:20px;}
.navbar a{color:var(--suave);text-decoration:none;font-size:14.5px;white-space:nowrap;}
.navbar a:hover,.navbar a[aria-current]{color:var(--oro);}
@media(max-width:760px){.navbar .oculta-movil{display:none;}}
@media(max-width:520px){
  .barra .caja{gap:10px;padding:12px 14px;}
  .navbar{gap:11px;}
  .navbar a{font-size:13.5px;}
  .navbar .oculta-chica{display:none;}
  .marca span span{display:none;}   /* el sublema cede espacio en pantallas chicas */
}

.contenedor{max-width:var(--ancho);margin:0 auto;padding:0 20px;}

/* -------------------------------------------------------------------- hero */
.hero{padding:56px 0 12px;}
.hero h1{font-size:clamp(30px,4.6vw,46px);line-height:1.12;margin:0 0 16px;
  letter-spacing:-.025em;max-width:16ch;}
.hero .sub{color:var(--suave);font-size:clamp(16px,1.7vw,18.5px);margin:0 0 30px;
  max-width:62ch;line-height:1.6;}
.buscador{max-width:660px;position:relative;}
.buscador form{display:flex;gap:10px;}
.campo{position:relative;flex:1;}
.campo svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);
  color:var(--tenue);pointer-events:none;}
.buscador input[type=search]{width:100%;padding:16px 16px 16px 46px;border-radius:12px;
  border:1px solid var(--borde2);background:var(--panel);color:var(--texto);
  font-size:16px;font-family:inherit;}
.buscador input::placeholder{color:var(--tenue);}
.buscador input:focus{border-color:var(--oro);outline:none;
  box-shadow:0 0 0 3px rgba(240,180,41,.16);}
.buscador button{padding:16px 26px;border-radius:12px;border:0;background:var(--oro);
  color:#1a1509;font-weight:700;font-size:15px;cursor:pointer;font-family:inherit;}
.buscador button:hover{background:var(--oro2);}
.ejemplos{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0;align-items:center;}
.ejemplos span{color:var(--tenue);font-size:13px;}
.ejemplos button{background:none;border:0;color:var(--suave);font-size:13px;cursor:pointer;
  padding:4px 10px;border-radius:999px;border:1px solid var(--borde);font-family:inherit;}
.ejemplos button:hover{border-color:var(--oro);color:var(--oro);}
.cuenta-total{color:var(--tenue);font-size:14px;margin:26px 0 0;}
.cuenta-total b{color:var(--texto);}
#sugerencias{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--panel);
  border:1px solid var(--borde2);border-radius:12px;overflow:hidden;z-index:30;
  box-shadow:0 18px 40px rgba(0,0,0,.5);}
#sugerencias a{display:block;padding:11px 16px;color:var(--texto);text-decoration:none;
  font-size:14.5px;border-bottom:1px solid var(--borde);}
#sugerencias a:last-child{border-bottom:0;}
#sugerencias a:hover,#sugerencias a.activo{background:var(--panel2);color:var(--oro);}
#sugerencias .cat{display:block;color:var(--tenue);font-size:12px;margin-top:2px;}

/* ----------------------------------------------------------------- bloques */
section{padding:52px 0;}
section.compacta{padding:34px 0;}
.tit-bloque{display:flex;align-items:flex-end;justify-content:space-between;
  gap:20px;margin:0 0 22px;flex-wrap:wrap;}
.tit-bloque h2{font-size:clamp(21px,2.6vw,27px);margin:0;letter-spacing:-.015em;}
.tit-bloque p{color:var(--suave);margin:6px 0 0;font-size:15px;}
.tit-bloque a{font-size:14.5px;text-decoration:none;white-space:nowrap;}
.tit-bloque a:hover{text-decoration:underline;}

/* ------------------------------------------------------------------- cards */
.rejilla{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));}
.rejilla.temas{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));}
.tema{display:flex;flex-direction:column;gap:8px;background:var(--panel);
  border:1px solid var(--borde);border-radius:14px;padding:20px;text-decoration:none;
  color:var(--texto);transition:border-color .16s,transform .16s;}
.tema:hover{border-color:var(--oro);transform:translateY(-2px);}
.tema h3{margin:0;font-size:17px;letter-spacing:-.01em;}
.tema p{margin:0;color:var(--suave);font-size:14px;line-height:1.55;flex:1;}
.tema .pie{display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin-top:6px;font-size:13.5px;}
.tema .n{color:var(--tenue);}
.tema .ir{color:var(--oro);font-weight:600;}

.tema.guia{border-left:3px solid var(--oro);}
.tema .rot{color:var(--oro);font-size:11px;font-weight:700;letter-spacing:.07em;
  text-transform:uppercase;}

/* --------------------------------------------------------------- pilares */
.apoyo{font-size:13.5px;color:var(--tenue);margin:-6px 0 22px;line-height:1.6;}
.apoyo span{text-transform:uppercase;letter-spacing:.05em;font-size:11.5px;
  color:var(--oro);font-weight:700;margin-right:6px;}
.apoyo a{color:var(--suave);text-decoration:none;border-bottom:1px solid var(--borde2);}
.apoyo a:hover{color:var(--oro);border-color:var(--oro);}
article .destacado{background:var(--panel);border:1px solid var(--borde);
  border-left:3px solid var(--oro);border-radius:10px;padding:15px 18px;margin:0 0 22px;}
article .destacado .rot{color:var(--oro);font-size:11.5px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;margin:0 0 6px;}
article .destacado p:last-child{margin:0;}
.faq{margin:38px 0 0;}
.faq h2{font-size:22px;margin:0 0 14px;letter-spacing:-.015em;}
.faq details{border:1px solid var(--borde);border-radius:11px;background:var(--panel);
  padding:14px 18px;margin:0 0 10px;}
.faq summary{cursor:pointer;font-weight:650;font-size:16px;line-height:1.45;}
.faq summary::marker{color:var(--oro);}
.faq details[open] summary{color:var(--oro);margin-bottom:8px;}
.faq p{margin:0;color:var(--suave);font-size:15.5px;line-height:1.65;}

.card{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--borde);
  border-radius:14px;overflow:hidden;text-decoration:none;color:var(--texto);
  transition:border-color .16s,transform .16s;}
.card:hover{border-color:var(--borde2);transform:translateY(-3px);}
.card .foto{width:100%;aspect-ratio:16/10;background:#0a0908;overflow:hidden;}
.card .foto picture{display:block;width:100%;height:100%;}
.card .foto img{width:100%;height:100%;object-fit:cover;display:block;}
.card .foto.vacia{display:flex;align-items:center;justify-content:center;
  color:#4d4638;font-size:30px;font-weight:800;letter-spacing:.06em;}
.card .cuerpo{padding:15px 17px 18px;display:flex;flex-direction:column;gap:9px;flex:1;}
.card .meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:12px;
  color:var(--tenue);}
.card .cat{color:var(--oro);font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  font-size:11.5px;}
.card h3{margin:0;font-size:16px;line-height:1.42;font-weight:650;}
.card p{margin:0;color:var(--suave);font-size:14px;line-height:1.55;}
.card.grande .foto{aspect-ratio:16/9;}
.card.grande h3{font-size:18.5px;}

/* --------------------------------------------------------------- recursos */
.recurso{display:flex;gap:18px;align-items:center;background:var(--panel);
  border:1px solid var(--borde);border-left:3px solid var(--oro);border-radius:14px;
  padding:20px;text-decoration:none;color:var(--texto);transition:transform .16s,border-color .16s;}
.recurso:hover{transform:translateY(-2px);border-color:var(--borde2);border-left-color:var(--oro);}
.recurso .tapa{flex:none;width:86px;border-radius:8px;overflow:hidden;border:1px solid var(--borde2);}
.recurso .tapa img{display:block;width:100%;}
.recurso .rot{color:var(--oro);font-size:11.5px;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;}
.recurso h3{margin:4px 0 4px;font-size:16.5px;line-height:1.4;}
.recurso p{margin:0;color:var(--suave);font-size:13.5px;}

/* ------------------------------------------------------- newsletter y CTA */
.panel{background:linear-gradient(135deg,#1d1810 0%,#241d10 100%);
  border:1px solid #4a3d1c;border-radius:18px;padding:34px 30px;}
.panel h2{margin:0 0 10px;font-size:clamp(20px,2.4vw,25px);letter-spacing:-.015em;}
.panel p{margin:0 0 20px;color:#b5ab96;font-size:15.5px;max-width:60ch;}
.suscribir{display:flex;gap:10px;flex-wrap:wrap;max-width:540px;}
.suscribir input[type=email]{flex:1;min-width:220px;padding:14px 16px;border-radius:11px;
  border:1px solid var(--borde2);background:rgba(0,0,0,.35);color:var(--texto);
  font-size:15.5px;font-family:inherit;}
.suscribir input:focus{border-color:var(--oro);outline:none;}
.suscribir button{padding:14px 24px;border-radius:11px;border:0;background:var(--oro);
  color:#1a1509;font-weight:700;font-size:15px;cursor:pointer;font-family:inherit;}
.suscribir button:hover{background:var(--oro2);}
.consent{display:flex;gap:10px;align-items:flex-start;margin:14px 0 0;color:var(--tenue);
  font-size:12.5px;max-width:58ch;line-height:1.5;}
/* 24x24 es el minimo de area tactil de la WCAG 2.2 AA */
.consent input{accent-color:var(--oro);width:24px;height:24px;flex:none;cursor:pointer;}
.consent label{cursor:pointer;padding:3px 0;}
.aviso-form{margin:12px 0 0;font-size:14px;color:var(--oro);min-height:20px;}
.botones{display:flex;flex-wrap:wrap;gap:12px;}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 26px;
  border-radius:999px;font-size:15px;font-weight:700;text-decoration:none;
  transition:transform .15s;}
.btn:hover{transform:translateY(-2px);}
.btn-p{background:var(--oro);color:#1a1509;}
.btn-s{background:transparent;color:var(--texto);border:1px solid #5a4d2c;}

/* ---------------------------------------------------------------- articulo */
.miga{font-size:13px;color:var(--tenue);margin:0 0 18px;display:flex;flex-wrap:wrap;
  gap:7px;align-items:center;}
.miga a{color:var(--suave);text-decoration:none;}
.miga a:hover{color:var(--oro);}
.miga span[aria-hidden]{color:#4d4638;}
.art-cabecera{max-width:var(--lectura);margin:0 auto;padding:34px 0 0;}
.chip{display:inline-block;background:#241f16;border:1px solid #4a4130;color:var(--oro);
  font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  padding:5px 13px;border-radius:999px;text-decoration:none;}
.chip:hover{border-color:var(--oro);}
.art-cabecera h1{font-size:clamp(25px,3.4vw,34px);line-height:1.25;margin:14px 0 12px;
  letter-spacing:-.02em;}
.bajada{color:var(--suave);font-size:17.5px;line-height:1.6;margin:0 0 20px;}
.firma{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:16px 0;
  border-top:1px solid var(--borde);border-bottom:1px solid var(--borde);margin:0 0 26px;}
/* Lleva la foto de Elias, no iniciales: sin object-fit la imagen (4:5)
   se aplasta dentro del circulo, y el encuadre alto deja la cara centrada. */
.firma .av{width:40px;height:40px;border-radius:50%;background:#241f16;border:1px solid #4a4130;
  object-fit:cover;object-position:50% 22%;flex:none;display:block;}
.firma .quien a{color:var(--texto);text-decoration:none;font-weight:650;font-size:14.5px;}
.firma .quien a:hover{color:var(--oro);}
.firma .datos{color:var(--tenue);font-size:13px;margin-top:1px;}
.firma .datos b{color:var(--suave);font-weight:600;}
.art-portada{max-width:var(--lectura);margin:0 auto 30px;}
.art-portada img{width:100%;border-radius:14px;border:1px solid var(--borde);display:block;}

.art-grid{display:grid;grid-template-columns:1fr;gap:0;max-width:var(--lectura);margin:0 auto;}
@media(min-width:1180px){
  .art-grid{grid-template-columns:minmax(0,var(--lectura)) 250px;gap:48px;
    max-width:calc(var(--lectura) + 298px);align-items:start;}
}
.toc{border:1px solid var(--borde);border-radius:12px;background:var(--panel);
  padding:16px 18px;margin:0 0 28px;}
.toc h2{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--oro);
  margin:0 0 10px;}
.toc ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.toc a{color:var(--suave);text-decoration:none;font-size:14px;line-height:1.4;display:block;}
.toc a:hover,.toc a.activo{color:var(--oro);}
.toc summary{cursor:pointer;font-size:12px;text-transform:uppercase;letter-spacing:.07em;
  color:var(--oro);font-weight:700;}
@media(min-width:1180px){
  .toc-lateral{position:sticky;top:86px;margin:0;}
  .toc-movil{display:none;}
}
@media(max-width:1179px){.toc-lateral{display:none;}}

article{font-size:17px;}
article p{margin:0 0 18px;}
article h2{font-size:22px;margin:38px 0 14px;letter-spacing:-.015em;line-height:1.3;
  scroll-margin-top:86px;}
article h3{font-size:18px;margin:28px 0 10px;color:var(--oro);scroll-margin-top:86px;}
article ul,article ol{margin:0 0 18px;padding-left:22px;}
article li{margin-bottom:8px;}
article blockquote{margin:22px 0;padding:14px 20px;border-left:3px solid var(--oro);
  background:var(--panel);border-radius:0 10px 10px 0;color:var(--suave);font-style:italic;}
article a{text-decoration:underline;text-underline-offset:3px;}

.bloque-adjunto{display:flex;align-items:center;gap:16px;background:var(--panel);
  border:1px solid var(--borde);border-left:3px solid var(--oro);border-radius:12px;
  padding:16px 18px;margin:30px 0;text-decoration:none;color:var(--texto);
  transition:border-color .15s,transform .15s;}
.bloque-adjunto:hover{transform:translateY(-2px);border-color:var(--borde2);}
.bloque-adjunto .ic{flex:none;width:42px;height:42px;border-radius:10px;background:#3a2e12;
  border:1px solid #a97a1f;display:flex;align-items:center;justify-content:center;
  color:var(--oro);font-size:11px;font-weight:800;}
.bloque-adjunto .rot{color:var(--oro);font-size:11.5px;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;}
.bloque-adjunto .nom{font-size:15.5px;font-weight:600;line-height:1.35;display:block;margin:2px 0;}
.bloque-adjunto .det{color:var(--suave);font-size:13px;}

.fuentes{border:1px solid var(--borde);border-radius:12px;padding:20px;margin:34px 0 0;
  background:var(--panel);}
.fuentes h2{font-size:15px;margin:0 0 12px;letter-spacing:-.01em;}
.fuentes ul{margin:0;padding-left:20px;}
.fuentes li{margin-bottom:7px;font-size:14.5px;}
.fuentes a{color:var(--suave);}
.fuentes a:hover{color:var(--oro);}
.fuentes .nota{color:var(--tenue);font-size:12.5px;margin:12px 0 0;}

.etiquetas{display:flex;flex-wrap:wrap;gap:8px;margin:32px 0 0;}
.etiquetas a{font-size:13px;color:var(--suave);text-decoration:none;padding:5px 12px;
  border:1px solid var(--borde);border-radius:999px;}
.etiquetas a:hover{border-color:var(--oro);color:var(--oro);}

.ficha-autor{display:flex;gap:18px;align-items:flex-start;background:var(--panel);
  border:1px solid var(--borde);border-radius:14px;padding:22px;margin:36px 0 0;}
.ficha-autor .av{width:58px;height:58px;border-radius:50%;background:#241f16;
  border:1px solid #4a4130;object-fit:cover;object-position:50% 22%;flex:none;display:block;}
.ficha-autor .rot{color:var(--oro);font-size:11.5px;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;}
.ficha-autor h2{margin:4px 0 8px;font-size:18px;}
.ficha-autor p{margin:0 0 10px;color:var(--suave);font-size:14.5px;line-height:1.6;}
.ficha-autor a{font-size:14px;text-decoration:none;}
.ficha-autor a:hover{text-decoration:underline;}

/* ------------------------------------------------------------- paginacion */
.paginacion{display:flex;gap:8px;justify-content:center;align-items:center;
  margin:38px 0 0;flex-wrap:wrap;}
.paginacion a,.paginacion span{padding:9px 15px;border-radius:9px;border:1px solid var(--borde);
  color:var(--suave);text-decoration:none;font-size:14.5px;background:var(--panel);}
.paginacion a:hover{border-color:var(--oro);color:var(--oro);}
.paginacion .actual{background:var(--oro);color:#1a1509;border-color:var(--oro);font-weight:700;}
.paginacion .inerte{opacity:.4;}

/* ---------------------------------------------------------------- filtros */
.filtros{display:flex;gap:8px;overflow-x:auto;padding:4px 0 10px;margin:0 0 8px;
  scrollbar-width:thin;-webkit-overflow-scrolling:touch;}
.filtros a{white-space:nowrap;padding:8px 15px;border-radius:999px;border:1px solid var(--borde);
  background:var(--panel);color:var(--suave);text-decoration:none;font-size:13.5px;}
.filtros a:hover{border-color:var(--oro);color:var(--oro);}
.filtros a[aria-current]{background:#241f16;border-color:#5a4d2c;color:var(--oro);font-weight:700;}

/* --------------------------------------------------------------- vacio/404 */
.vacio{text-align:center;padding:44px 20px;border:1px dashed var(--borde2);
  border-radius:14px;background:var(--panel);}
.vacio h2{margin:0 0 10px;font-size:21px;}
.vacio p{color:var(--suave);margin:0 0 20px;}

/* ------------------------------------------------------------------- pie */
.pie{border-top:1px solid var(--borde);margin-top:64px;padding:30px 0 44px;}
.pie .caja{max-width:var(--ancho);margin:0 auto;padding:0 20px;display:flex;
  flex-wrap:wrap;gap:14px 28px;justify-content:space-between;align-items:center;}
.pie .caja>div{display:flex;flex-wrap:wrap;gap:4px 18px;}
/* el relleno vertical lleva el area tactil a 24px sin agrandar el texto */
.pie a{color:var(--suave);text-decoration:none;font-size:13.5px;
  padding:6px 0;display:inline-block;}
.pie a:hover{color:var(--oro);}
.pie small{color:var(--tenue);font-size:12.5px;}
/* bloque de herramientas gratuitas: es la puerta de entrada de quien aun no
   compra, asi que se separa de los enlaces legales y lleva titulo propio */
.pie-utiles{flex-direction:column !important;align-items:flex-start;gap:2px !important;}
.pie-utiles>b{color:var(--oro);font-size:11.5px;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;}
.pie-utiles>div{display:flex;flex-wrap:wrap;gap:4px 18px;}
/* redes sociales + carrito en el pie (mismo trato que "Seguro te sirve") */
.pie-redes{flex-direction:column !important;align-items:flex-start;gap:2px !important;}
.pie-redes>b{color:var(--oro);font-size:11.5px;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;}
.pie-redes>div{display:flex;flex-wrap:wrap;gap:4px 18px;align-items:center;}
/* sello de pago seguro: da confianza antes de comprar */
.pie-pago{display:flex;align-items:center;gap:9px;}
.pie-pago img{height:20px;width:auto;background:#fff;border-radius:5px;padding:4px 7px;box-sizing:content-box;
  display:block;flex:none;}
.pie-pago span{font-size:12.5px;color:var(--tenue);line-height:1.4;}
.pie-pago span b{display:block;color:var(--suave);font-weight:600;}

@media(max-width:600px){
  .hero{padding:34px 0 8px;}
  section{padding:38px 0;}
  .buscador form{flex-direction:column;}
  .buscador button{width:100%;}
  .panel{padding:26px 20px;}
  .suscribir{flex-direction:column;}
  .suscribir button{width:100%;}
  .recurso{flex-direction:column;align-items:flex-start;}
  .recurso .tapa{width:110px;}
  .ficha-autor{flex-direction:column;}
  article{font-size:16.5px;}
  .btn{width:100%;}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}
/* Ficha de curso en pantalla angosta: el panel de compra va ANTES del
   articulo. Con el grid apilado quedaba al fondo (~3.900px de scroll en
   un telefono) y nadie compra lo que no ve. El !important gana a los
   estilos en linea del panel (sticky y max-width de escritorio). */
@media(max-width:1179px){
  .ficha-grid{display:flex;flex-direction:column;}
  .ficha-grid>aside{order:-1;margin:0 0 26px;position:static!important;}
  .ficha-grid>aside .curso-card{max-width:none!important;}
}
/* Pack Academia completa: borde dorado y banda superior con el ahorro. */
.curso-card-pack{border-color:var(--oro);position:relative;box-shadow:0 0 0 1px var(--oro);}
.curso-card-pack:hover{border-color:var(--oro);}
.gp-pack-mini{display:block;margin:12px 0 0;padding:10px 13px;font-size:13.5px;line-height:1.45;color:var(--suave);text-decoration:none;border:1px solid var(--oro);border-radius:10px;background:rgba(240,180,41,.07);}
.gp-pack-mini b{color:var(--oro);}
.gp-pack-mini:hover{background:rgba(240,180,41,.13);}
.gp-upsell-pack{display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:26px 0 0;padding:20px 24px;border:1px solid var(--oro);border-radius:14px;background:rgba(240,180,41,.06);}
.gp-upsell-pack p{margin:6px 0 0;color:var(--suave);font-size:14.5px;line-height:1.5;max-width:56ch;}
.gp-upsell-pack .btn{flex:none;}
.pack-banda{margin:-22px -22px 8px;padding:8px 14px;background:var(--oro);color:#141308;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;border-radius:14px 14px 0 0;}
/* ------------------------------ tienda y carrito ------------------------ */
.curso-card{display:flex;flex-direction:column;background:var(--panel);
  border:1px solid var(--borde);border-radius:14px;padding:22px;gap:10px;
  transition:border-color .16s,transform .16s;}
.curso-card:hover{border-color:var(--borde2);transform:translateY(-2px);}
.curso-card .meta{display:flex;gap:8px;align-items:center;font-size:12px;
  color:var(--tenue);text-transform:uppercase;letter-spacing:.05em;font-weight:700;}
.curso-card .meta .nivel{color:var(--oro);}
.curso-card h3{margin:0;font-size:18px;letter-spacing:-.01em;}
/* tarjetas mas anchas que la rejilla general: con la miniatura al lado, un
   ancho de 290px dejaba el titulo en cuatro lineas */
.rejilla-cursos{grid-template-columns:repeat(auto-fill,minmax(420px,1fr));}
@media(max-width:900px){.rejilla-cursos{grid-template-columns:1fr;}}
/* titulo y miniatura en la misma linea, como en la portada */
.curso-card .titulo{display:flex;align-items:flex-start;gap:14px;}
.curso-card .titulo h3{flex:1;min-width:0;}
.curso-card .tapa{flex:none;width:96px;height:96px;object-fit:cover;border-radius:10px;
  border:1px solid var(--borde2);background:#0a0908;}
.curso-card .rotulo-mapa{margin:2px 0 0;font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--tenue);font-weight:700;}
.curso-card .mapa{display:flex;flex-wrap:wrap;gap:7px;}
.curso-card .mapa span{font-size:10.5px;font-weight:800;letter-spacing:.09em;
  text-transform:uppercase;padding:4px 10px;border-radius:999px;
  border:1px solid #565550;color:#565550;}
.curso-card .mapa span.on{border-color:var(--oro);color:var(--oro);}
@media(max-width:420px){
  .curso-card .tapa{width:72px;height:72px;}
}
.curso-card h3 a{color:var(--texto);text-decoration:none;}
.curso-card h3 a:hover{color:var(--oro);}
.curso-card p{margin:0;color:var(--suave);font-size:14.5px;line-height:1.6;flex:1;}
.curso-card .precio{font-size:21px;font-weight:800;letter-spacing:-.01em;}
.curso-card .precio small{color:var(--tenue);font-weight:500;font-size:12.5px;
  display:block;letter-spacing:0;}
.precio .lista{color:var(--tenue);font-weight:500;font-size:15px;
  text-decoration:line-through;margin-left:8px;}
.precio .sello-preventa{display:inline-block;background:#3a2e12;border:1px solid #a97a1f;
  color:var(--oro);font-size:10.5px;font-weight:800;letter-spacing:.06em;
  text-transform:uppercase;padding:3px 9px;border-radius:999px;margin-left:8px;
  vertical-align:3px;}
.curso-card .acciones{display:flex;gap:10px;flex-wrap:wrap;}
.curso-card .acciones .btn{flex:1;min-width:130px;padding:11px 16px;font-size:14px;}
.aviso-preventa{background:#241d10;border:1px solid #4a3d1c;border-radius:12px;
  padding:14px 18px;color:#d9cba8;font-size:14px;margin:0 0 26px;line-height:1.6;}
.aviso-preventa b{color:var(--oro);}

/* icono carrito en header */
.nav-carrito{position:relative;display:inline-flex;align-items:center;
  justify-content:center;width:38px;height:38px;border-radius:9px;color:var(--suave);}
.nav-carrito:hover{color:var(--oro);}
.nav-carrito svg{display:block;}
.nav-badge{position:absolute;top:1px;right:0;min-width:17px;height:17px;
  border-radius:999px;background:var(--oro);color:#1a1509;font-size:11px;
  font-weight:800;display:flex;align-items:center;justify-content:center;
  padding:0 4px;line-height:1;}
.nav-badge[hidden]{display:none;}
.nav-badge.late{animation:gp-late .35s ease;}
@keyframes gp-late{0%{transform:scale(1);}45%{transform:scale(1.35);}100%{transform:scale(1);}}

/* carrito circular flotante */
.cart-flotante{position:fixed;right:22px;bottom:22px;z-index:60;width:62px;height:62px;
  border-radius:50%;background:#16130e;border:1px solid #4a4130;display:flex;
  align-items:center;justify-content:center;color:var(--oro);cursor:pointer;
  box-shadow:0 10px 26px rgba(0,0,0,.45);transition:transform .16s,border-color .16s;}
.cart-flotante:hover{transform:translateY(-3px);border-color:var(--oro);}
.cart-flotante .nav-badge{top:-3px;right:-3px;min-width:20px;height:20px;font-size:12px;
  border:2px solid #16130e;}
@media(max-width:760px){.cart-flotante{width:52px;height:52px;right:14px;bottom:14px;}}

/* circulo dorado orbitando el carrito, para que se note */
.cart-flotante .nav-badge{z-index:3;}
.cart-flotante::before{content:"";position:absolute;inset:-6px;border-radius:50%;
  border:2px solid rgba(240,180,41,.20);pointer-events:none;}
.cart-flotante::after{content:"";position:absolute;top:-6px;left:50%;width:10px;height:10px;
  margin-left:-5px;border-radius:50%;background:#ffd76e;
  box-shadow:0 0 10px 3px rgba(240,180,41,.7);transform-origin:50% 32px;
  animation:gp-orbita 2.4s linear infinite;pointer-events:none;z-index:2;}
@keyframes gp-orbita{to{transform:rotate(360deg);}}
@media(max-width:760px){.cart-flotante::after{transform-origin:50% 27px;}}
@media(prefers-reduced-motion:reduce){.cart-flotante::after{animation:none;}}

/* contador de preventa: cuenta hacia una fecha real, nunca se reinicia */
.gp-cuenta{display:flex;align-items:center;justify-content:center;gap:14px 18px;
  flex-wrap:wrap;margin:0 0 26px;padding:14px 20px;border-radius:14px;
  background:linear-gradient(90deg,#1c1710,#241d12);border:1px solid #4a4130;}
.gp-cuenta-txt{font-size:14.5px;color:var(--suave);line-height:1.4;}
.gp-cuenta-txt b{color:var(--oro);font-weight:700;}
.gp-cuenta-reloj{display:flex;gap:8px;}
.gp-cuenta-reloj span{min-width:56px;padding:6px 8px;border-radius:9px;
  background:#0f0c07;border:1px solid #3a3226;text-align:center;}
.gp-cuenta-reloj b{display:block;font-size:20px;font-weight:800;color:var(--oro);
  font-variant-numeric:tabular-nums;line-height:1.15;}
.gp-cuenta-reloj i{display:block;font-style:normal;font-size:10.5px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--tenue);}
.gp-cuenta.termino{background:#171310;}
.gp-cuenta.termino .gp-cuenta-reloj{display:none;}
@media(max-width:560px){.gp-cuenta{padding:12px 14px;gap:10px;}
  .gp-cuenta-txt{font-size:13.5px;text-align:center;width:100%;}
  .gp-cuenta-reloj span{min-width:48px;}.gp-cuenta-reloj b{font-size:17px;}}

/* sello de pago seguro con el logo de Flow */
.gp-pago{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0 0;}
.gp-pago img{height:20px;width:auto;background:#fff;border-radius:5px;padding:4px 7px;
  box-sizing:content-box;display:block;flex:none;}
.gp-pago-txt{font-size:13px;color:var(--suave);line-height:1.45;}
.gp-pago-txt b{color:var(--texto);font-weight:600;display:block;}
.gp-garantia{display:flex;align-items:center;gap:9px;margin:12px 0 0;padding:10px 13px;
  border:1px solid rgba(240,180,41,.4);border-radius:10px;background:rgba(240,180,41,.06);
  font-size:13.5px;color:var(--texto);line-height:1.4;}
.gp-garantia>span[aria-hidden]{color:var(--oro);font-size:17px;flex:none;font-weight:700;}

/* fin de preventa junto al boton de compra: misma fecha real del contador */
.gp-fin-preventa{margin:12px 0 0;font-size:13.5px;line-height:1.5;color:var(--suave);}
.gp-fin-preventa b{color:var(--oro);}

/* dudas por WhatsApp en la ficha del curso */
.gp-wsp{display:flex;align-items:center;gap:10px;margin:12px 0 0;padding:10px 13px;
  border:1px solid var(--borde2);border-radius:10px;font-size:13px;line-height:1.45;
  color:var(--suave);text-decoration:none;transition:border-color .16s;}
.gp-wsp:hover{border-color:#25d366;}
.gp-wsp svg{flex:none;}
.gp-wsp b{color:var(--texto);font-weight:600;display:block;}

/* drawer */
#gp-velo{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:70;}
#gp-drawer{position:fixed;top:0;right:0;bottom:0;width:min(400px,94vw);z-index:71;
  background:var(--fondo);border-left:1px solid var(--borde2);display:flex;
  flex-direction:column;transform:translateX(102%);transition:transform .18s ease;}
#gp-drawer.abierto{transform:translateX(0);}
.gp-drawer-cab{display:flex;align-items:center;justify-content:space-between;
  padding:18px 20px;border-bottom:1px solid var(--borde);}
.gp-drawer-cab h2{margin:0;font-size:19px;}
.gp-drawer-x{background:none;border:0;color:var(--suave);font-size:26px;cursor:pointer;
  width:38px;height:38px;border-radius:9px;line-height:1;}
.gp-drawer-x:hover{color:var(--oro);}
.gp-drawer-cuerpo{padding:18px 20px;overflow-y:auto;flex:1;}
.gp-drawer-botones{display:flex;flex-direction:column;gap:10px;margin:16px 0 0;}
.gp-seguir{background:none;border:0;color:var(--suave);cursor:pointer;font-size:14px;
  padding:8px;font-family:inherit;}
.gp-seguir:hover{color:var(--oro);}
@media(max-width:520px){
  #gp-drawer{top:auto;height:min(78vh,560px);width:100%;border-left:0;
    border-top:1px solid var(--borde2);border-radius:16px 16px 0 0;
    transform:translateY(102%);}
  #gp-drawer.abierto{transform:translateY(0);}
}

/* filas de producto */
.gp-item{display:flex;gap:12px;align-items:center;padding:13px 0;
  border-bottom:1px solid var(--borde);}
.gp-item img,.gp-item-ini{width:52px;height:52px;border-radius:10px;flex:none;
  object-fit:cover;}
.gp-item-ini{background:#241f16;border:1px solid #4a4130;color:var(--oro);
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:19px;}
.gp-item-txt{flex:1;min-width:0;}
.gp-item-txt a{color:var(--texto);text-decoration:none;font-weight:650;font-size:14.5px;
  line-height:1.35;display:block;}
.gp-item-txt a:hover{color:var(--oro);}
.gp-item-txt span{color:var(--tenue);font-size:12.5px;}
.gp-item-fin{text-align:right;flex:none;}
.gp-item-fin b{display:block;font-size:15px;}
.gp-item-fin button{background:none;border:0;color:var(--tenue);cursor:pointer;
  font-size:12.5px;padding:5px 0;font-family:inherit;text-decoration:underline;}
.gp-item-fin button:hover{color:#e05c5c;}
.gp-sub{display:flex;justify-content:space-between;padding:13px 0 0;font-size:15px;
  color:var(--suave);}
.gp-sub b{color:var(--texto);font-size:16px;}
.gp-sub.total b{color:var(--oro);font-size:19px;}
.gp-seguro{color:var(--tenue);font-size:12.5px;text-align:center;margin:14px 0 0;}
.gp-vacio{text-align:center;padding:34px 14px;}
.gp-vacio h3{margin:0 0 10px;font-size:19px;}
.gp-vacio p{color:var(--suave);margin:0 0 20px;font-size:14.5px;}

/* pagina carrito / checkout */
.gp-carrito-cols{display:grid;grid-template-columns:1fr;gap:26px;}
@media(min-width:900px){.gp-carrito-cols{grid-template-columns:1fr 320px;align-items:start;}}
.gp-resumen{background:var(--panel);border:1px solid var(--borde);border-radius:14px;
  padding:22px;position:sticky;top:86px;display:flex;flex-direction:column;gap:6px;}
.gp-resumen h2{margin:0 0 6px;font-size:18px;}
.gp-resumen .btn{margin-top:14px;}
.form-checkout label{display:block;font-size:14px;color:var(--suave);margin:0 0 6px;}
.form-checkout input{width:100%;padding:13px 15px;border-radius:11px;margin:0 0 16px;
  border:1px solid var(--borde2);background:var(--panel);color:var(--texto);
  font-size:15.5px;font-family:inherit;}
.form-checkout input:focus{border-color:var(--oro);outline:none;}
.form-checkout select{width:100%;padding:13px 15px;border-radius:11px;margin:0 0 16px;
  border:1px solid var(--borde);background:var(--fondo-2);color:var(--texto);font-size:15px;}
.form-checkout select:focus{border-color:var(--oro);outline:none;}
.gp-cupon{border-top:1px solid var(--borde);margin:4px 0 18px;padding:16px 0 0;}
.gp-cupon label{display:block;font-size:14px;color:var(--suave);margin:0 0 8px;}
.gp-cupon-fila{display:flex;gap:9px;align-items:stretch;flex-wrap:wrap;}
.gp-cupon-fila input{flex:1 1 165px;min-width:0;margin:0;}
.gp-cupon-fila .btn{flex:0 0 auto;width:auto;padding:0 18px;}
.gp-cupon-aviso{margin:9px 0 0;font-size:13px;color:var(--tenue);min-height:1em;}
.gp-cupon-aviso.ok{color:var(--oro);font-weight:600;}
.gp-sub.descuento b{color:var(--oro);}
.gp-factura{border-top:1px solid var(--borde);margin:4px 0 18px;padding:16px 0 0;}
.gp-factura-check{display:flex;align-items:center;gap:9px;font-size:14.5px;
  color:var(--texto);cursor:pointer;margin:0 0 4px;}
.gp-factura-check input{width:auto;margin:0;accent-color:var(--oro);}
#co-factura-campos[hidden]{display:none;}

/* aviso agregado */
.ficha-autor .av-curso{width:96px;height:96px;border-radius:14px;flex:none;
  border:1px solid var(--borde2);object-fit:cover;display:block;}
@media(max-width:700px){.ficha-autor .av-curso{width:120px;height:120px;}}

#gp-aviso-cart{position:fixed;right:20px;bottom:96px;z-index:65;background:var(--panel);
  border:1px solid var(--borde2);border-left:3px solid var(--oro);border-radius:13px;
  padding:16px 18px;width:min(320px,90vw);box-shadow:0 16px 40px rgba(0,0,0,.5);
  opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s;}
#gp-aviso-cart.visible{opacity:1;transform:translateY(0);}
#gp-aviso-cart b{color:var(--oro);display:block;margin:0 0 4px;font-size:14px;}
#gp-aviso-cart .gp-aviso-fila{display:flex;gap:12px;align-items:center;margin:0;}
#gp-aviso-cart .gp-aviso-fila img{width:56px;height:56px;border-radius:10px;flex:none;
  border:1px solid var(--borde);display:block;}
#gp-aviso-cart .gp-aviso-fila div{display:block;margin:0;min-width:0;}
#gp-aviso-cart span{display:block;font-size:14px;color:var(--texto);}
#gp-aviso-cart span+span{color:var(--suave);margin-top:2px;}
#gp-aviso-cart div{display:flex;gap:8px;margin-top:12px;}
#gp-aviso-cart .btn{flex:1;padding:9px 10px;font-size:13px;}
@media(max-width:760px){#gp-aviso-cart{bottom:80px;right:12px;}}

/* guarda tu carrito (recuperacion por correo) */
.gp-guardar{margin:28px 0 0;padding:22px 24px;border:1px solid var(--borde2);
  border-radius:14px;background:var(--panel);max-width:560px;}
.gp-guardar h2{margin:0 0 6px;font-size:18px;}
.gp-guardar>p{margin:0 0 16px;color:var(--suave);font-size:14.5px;line-height:1.55;}
.gp-guardar label{display:block;font-size:14px;color:var(--suave);margin:0 0 6px;}
.gp-guardar input{width:100%;padding:13px 15px;border-radius:11px;margin:0 0 14px;
  border:1px solid var(--borde2);background:var(--fondo);color:var(--texto);
  font-size:15.5px;font-family:inherit;}
.gp-guardar input:focus{border-color:var(--oro);outline:none;}
.gp-guardar .btn{width:100%;}
.gp-guardar-ok{margin:0;color:var(--oro);font-weight:600;line-height:1.55;}

/* landing del lead magnet */
.recurso-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;
  padding:26px 0 40px;}
.recurso-kicker{color:var(--oro);font-weight:700;letter-spacing:.12em;font-size:12px;
  text-transform:uppercase;margin:6px 0 12px;}
.recurso-txt h1{font-size:clamp(26px,3.4vw,38px);line-height:1.1;margin:0 0 14px;}
.recurso-txt h1 span{color:var(--oro);}
.recurso-incluye{list-style:none;padding:0;margin:18px 0 22px;display:grid;gap:10px;}
.recurso-incluye li{position:relative;padding-left:28px;font-size:15px;color:var(--texto);}
.recurso-incluye li::before{content:"";position:absolute;left:0;top:3px;width:17px;height:17px;
  border-radius:5px;background:var(--oro);}
.recurso-incluye li::after{content:"";position:absolute;left:5px;top:7px;width:7px;height:4px;
  border-left:2px solid #0A0A09;border-bottom:2px solid #0A0A09;transform:rotate(-45deg);}
#gp-recurso-form{background:var(--panel);border:1px solid var(--borde2);border-radius:14px;
  padding:20px 22px;max-width:440px;}
#gp-recurso-form label{display:block;font-size:14px;color:var(--suave);margin:0 0 6px;}
#gp-recurso-form input{width:100%;padding:13px 15px;border-radius:11px;margin:0 0 14px;
  border:1px solid var(--borde2);background:var(--fondo);color:var(--texto);
  font-size:15.5px;font-family:inherit;}
#gp-recurso-form input:focus{border-color:var(--oro);outline:none;}
#gp-recurso-form .btn{width:100%;}
.recurso-legal{color:var(--tenue);font-size:12px;margin:12px 0 0;line-height:1.5;}
.recurso-ok{margin:0;color:var(--oro);font-weight:600;line-height:1.55;}
.recurso-img img{width:100%;height:auto;border-radius:12px;
  box-shadow:0 24px 60px rgba(0,0,0,.5);border:1px solid var(--borde);}
@media(max-width:820px){.recurso-hero{grid-template-columns:1fr;gap:26px;}
  .recurso-img{order:-1;max-width:420px;margin:0 auto;}}

/* sello de proveedor habil junto al de Flow en el pie */
.pie-sellos{display:flex;flex-wrap:wrap;align-items:center;gap:14px;}
/* sello de proveedor habil: mismo tratamiento que el de Flow, para que los
   dos se lean como una pareja. El logo va sobre una pastilla blanca (asi
   conserva sus colores oficiales) y el texto es texto de verdad, no una
   imagen con letras dentro, que se veia borrosa. */
.pie-habil{display:flex;align-items:center;gap:9px;}
.pie-habil img{height:22px;width:auto;background:#fff;border-radius:5px;
  padding:5px 8px;box-sizing:content-box;display:block;flex:none;}
.pie-habil span{font-size:12.5px;color:var(--tenue);line-height:1.4;}
.pie-habil span b{display:block;color:var(--suave);font-weight:600;}

/* captura del lead magnet en el blog */
.blog-lead{margin:40px 0;}
.bl-caja{background:var(--panel);border:1px solid var(--borde2);border-radius:16px;
  padding:28px 30px;display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center;}
.bl-rot{color:var(--oro);font-weight:700;letter-spacing:.1em;font-size:12px;
  text-transform:uppercase;margin:0 0 8px;}
.bl-txt h2{margin:0 0 8px;font-size:22px;line-height:1.2;}
.bl-txt p{margin:0;color:var(--suave);font-size:15px;line-height:1.55;}
.bl-form label{display:block;font-size:13.5px;color:var(--suave);margin:0 0 6px;}
.bl-form input{width:100%;padding:12px 14px;border-radius:10px;margin:0 0 12px;
  border:1px solid var(--borde2);background:var(--fondo);color:var(--texto);
  font-size:15px;font-family:inherit;}
.bl-form input:focus{border-color:var(--oro);outline:none;}
.bl-form .btn{width:100%;}
.bl-legal{color:var(--tenue);font-size:12px;margin:10px 0 0;}
.bl-form .recurso-ok{color:var(--oro);font-weight:600;line-height:1.55;margin:0;}
@media(max-width:720px){.bl-caja{grid-template-columns:1fr;gap:20px;padding:22px 20px;}}
