/* prw3: grupo A (Sensei). Lo que la maqueta no necesitaba porque simulaba: el reproductor de Vimeo ya montado, la caja del
   final del vídeo escondida hasta el evento «ended» y el formulario de Sensei sin caja propia. */
.prw3-vimeo{position:relative;aspect-ratio:16/9;background:#000;overflow:hidden}
.prw3-vimeo iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
/* 4/10 (Gontzal): la caja hereda la clase .player y con ella su degradado ::after a toda la caja, que tapaba el reproductor:
   Vimeo no veía el ratón, escondía los controles y no dejaba pausar ni ir a pantalla completa */
.prw3-vimeo::before,.prw3-vimeo::after{content:none!important;display:none!important}
.prw3-vimeo iframe{z-index:2}
.prw3-vimeo>:not(iframe){pointer-events:none}
.fin-video[hidden],.solo-socio[hidden],.solo-visitante[hidden]{display:none!important}
form.prw3-terminar{display:contents}
/* prw3: FIRMA-SENSEI (DISEÑADOR, 30/9). La cascada del tema pone lo común antes que la hoja de la pantalla y cambiaba
   estas cuatro cosas respecto a la maqueta. */
.oferta{border-color:var(--struct)}
p.hubs{display:flex;flex-wrap:wrap;gap:8px 26px;margin:20px 0 0}
p.hubs a{background:none;border:0;border-radius:0;padding:0;display:inline;color:var(--acc2);font-weight:600;transform:none}
@media (hover:hover){p.hubs a:hover{border:0;transform:none;text-decoration:underline;text-underline-offset:3px}}
.caps li.libre .cmini{height:auto;aspect-ratio:16/9;object-fit:cover}
/* Las portadas de los capítulos (y la miniatura que da Vimeo, comprobado el 30/9: la misma imagen) traen un marco azul
   pintado dentro. No hay imagen sin marco: se recorta a 1,1 centrado para que quede fuera en los cuatro lados. */
/* FABLE 19 B9 (DISEÑADOR): tapa solo el marco pintado; 1,1 por igual cortaba los rótulos */
/* 6/10 (DISEÑADOR, OK Antonio): portadas sin marco, ya no hay que ampliar */
.player img{transform:none}
.otros .todos-ab{font-weight:600;letter-spacing:-.3px}
/* Capítulo cerrado: sin play; candado centrado sobre la miniatura atenuada */
.player.cerrado img{opacity:.35;filter:saturate(.6)}
.player.cerrado .candado{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1;width:84px;height:84px;border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.45);border:1px solid var(--line2);color:#fff;backdrop-filter:blur(6px)}
.player.cerrado .candado svg{width:26px;height:30px}

/* prw3: la transcripción plegable de la lección de socio es la misma pieza que la del capítulo abierto (abierto.css; FIRMA-SENSEI-2, lección 2) */
body.pantalla-leccion .transcripcion{background:var(--s1);border:1px solid var(--line);border-radius:var(--r);margin-top:26px;overflow:hidden}
body.pantalla-leccion .transcripcion summary{padding:15px 20px;cursor:pointer;font-family:var(--disp);font-weight:800;font-size:1.25rem;letter-spacing:-.02em;list-style:none;display:flex;justify-content:space-between;gap:14px;align-items:center}
body.pantalla-leccion .transcripcion summary::-webkit-details-marker{display:none}
body.pantalla-leccion .transcripcion summary::after{content:"+";font-family:var(--mono);font-size:1.25rem;color:var(--tx3);font-weight:400}
body.pantalla-leccion .transcripcion[open] summary::after{content:"–"}
@media (hover:hover){body.pantalla-leccion .transcripcion summary:hover{background:var(--s2)}}
body.pantalla-leccion .transcripcion .cuerpo-t{padding:4px 20px 20px;border-top:1px solid var(--line)}
body.pantalla-leccion .transcripcion .marca-t{font-family:var(--mono);font-size:0.6875rem;color:var(--struct);display:inline-block;min-width:54px;font-variant-numeric:tabular-nums}
body.pantalla-leccion .transcripcion p{color:var(--tx2);font-size:0.90625rem;margin:14px 0 0;max-width:74ch}
body.pantalla-leccion .transcripcion summary{font-weight:500;letter-spacing:-.04em;font-optical-sizing:auto}
/* prw3: aviso de versión nueva en la ficha del curso (DISEÑADOR, ronda 7) */
.aviso-lr26{margin:22px var(--pad) 0;display:flex;justify-content:space-between;align-items:center;gap:14px 28px;flex-wrap:wrap;padding:18px 24px;background:var(--s1);border:1px solid var(--line);border-left:3px solid var(--struct);border-radius:var(--r)}
.aviso-lr26 p{margin:0;color:var(--tx);font-size:.96875rem;max-width:78ch}
/* prw3: el hueco bajo el pie para la barra de compra fija (.bcompra) solo donde la barra existe: el capítulo cerrado no la
   lleva y dejaba 170 px vacíos entre 721 y 1024 px (y en el teléfono) */
@media (max-width:1024px){body:not(.es-socio):not(:has(.bcompra)) footer{padding-bottom:0}}
/* prw3: cinta «Nuevo · en publicación» en las fichas de capítulos abiertos (DISEÑADOR, FIRMA-LR26) */
.ficha .badge.enpub{position:absolute;top:13px;left:13px;z-index:2;font-family:var(--mono);font-size:.6875rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;background:var(--struct);color:var(--bg);border:0;padding:5px 8px;border-radius:12px;line-height:1.6}
.ficha .badge~.abierto{top:46px}
.ficha .badge~.abierto~.cat{top:80px}
/* prw3: rótulos de grupo de capítulos abiertos escondidos (maqueta abiertos, FIRMA-LR26 segunda pasada) */
.rejilla .grupo-ab[hidden]{display:none}

/* prw3: DK10-4 (DISEÑADOR, regresión kit 10). Capítulo cerrado a 375 en claro: «Con el curso o con la membresía» daba 2,41
   sobre la foto del reproductor; con su propio velo, como en oscuro. */
.player.cerrado .vim{background:rgba(12,20,24,.6);padding:2px 6px;border-radius:4px;color:#fff}

/* 4/10: aviso en el capítulo siguiente tras marcar el anterior */
.viene-de{display:flex;gap:10px;align-items:flex-start;margin:14px 0 0;padding:10px 14px;border:1px solid color-mix(in srgb,var(--ok) 45%,transparent);border-radius:var(--r);background:color-mix(in srgb,var(--ok) 10%,transparent);font-size:0.875rem;color:var(--tx2)}
.viene-de i{flex:none;width:8px;height:8px;margin-top:6px;border-radius:50%;background:var(--ok)}
.viene-de b{color:var(--ok)}
.viene-de a{color:var(--tx);text-decoration:underline;text-underline-offset:3px;margin-left:4px}

/* 4/10: vídeo de las fichas sin capítulos (París, mapas), arriba del contenido */
.sobre-contenido .ficha-video{border-radius:var(--r);border:1px solid var(--line);margin:0 0 28px}
.sobre-contenido .desc figure.wp-block-image img{border-radius:10px}
.sobre-contenido .desc h2{margin:36px 0 12px;font-size:1.375rem}
.sobre-contenido .desc .prw3j-ba{margin:16px 0 8px}
/* 4/10 (Antonio, Torre Eiffel): al arrancar el vídeo de la cabecera, el vídeo va arriba en su 16:9 y el título, los
   datos y el botón pasan debajo, sin taparlo (antes el texto se quedaba encima, abajo a la izquierda) */
.hv:has(>.prw3-vimeo){height:auto!important;min-height:0!important;position:relative!important;top:auto!important}
.hv>.prw3-vimeo{position:relative;inset:auto;z-index:2;width:100%;aspect-ratio:16/9;flex:none;border-radius:0}
.hv>.prw3-vimeo~.txt{padding-top:20px}
.hv>.prw3-vimeo~.txt .meta{margin-bottom:6px}
/* 4/10 (Antonio): dos líneas claras a los lados del vídeo. La caja heredaba el borde de .player y el hueco quedaba un
   pelo más estrecho que 16:9; Vimeo rellenaba la diferencia con su fondo. Sin borde y con fondo negro. */
.prw3-vimeo{border:0!important;background:#000!important}
.prw3-vimeo iframe{background:#000}

/* 7/10 (DISEÑADOR 3.0, OK Antonio): portada de lección con placa, en el teléfono. La etiqueta arriba a la izquierda,
   «Capítulo abierto» debajo y el play o el candado a 56 px a la derecha, para no tapar la placa ni el logo. Aquí y no
   en las tres hojas porque grupo-a.css va después de todas y gana también al candado del cerrado. */
/* 7/10 DPL-1 (DISEÑADOR 3.0): según el ancho del propio reproductor, no de la ventana; con la columna lateral vuelve a
   ser estrecho entre 901 y unos 1200 px. .player lleva aspect-ratio, así que container-type no le quita el alto. */
.player.con-placa{container-type:inline-size}
.player.con-placa .play,.player.con-placa .candado{top:46%}
@container (max-width:700px){
  .player.con-placa .vim{top:10px;bottom:auto}
  .player.con-placa .abierto{top:40px}
  .player.con-placa .play,.player.con-placa .candado{width:56px;height:56px;top:38%;left:75%}
  .player.con-placa .play::after{border-left-width:16px;border-top-width:10px;border-bottom-width:10px;margin-left:4px}
  .player.con-placa .candado svg{width:18px;height:21px}
}


/* 8/10: aviso «Empieza en el minuto 12:40» sobre el reproductor cuando se llega desde Hoy con ?t= */
.player .desde-t{position:absolute;right:14px;bottom:12px;z-index:2;font-family:var(--mono);font-size:0.6875rem;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:rgba(8,12,15,.62);backdrop-filter:blur(8px);padding:5px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.12)}
/* 11/10: reanudar el vídeo («Sigues en el minuto 12:30 · Empezar de cero») y el aviso de las teclas del reproductor */
.player .desde-t .de-cero{margin-left:10px;padding-left:10px;border-left:1px solid rgba(255,255,255,.28);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.player .desde-t .de-cero:hover,.player .desde-t .de-cero:focus-visible{color:var(--acento,#fff);outline:none}
.prw3-vimeo:focus{outline:none}
.prw3-vimeo .prw3-tecla{position:absolute;left:50%;top:14px;transform:translateX(-50%);z-index:3;font-family:var(--mono);font-size:0.75rem;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:rgba(8,12,15,.72);padding:6px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.12);opacity:0;transition:opacity .18s}
.prw3-vimeo .prw3-tecla.on{opacity:1}
.prw3-vimeo>.prw3-sigue{pointer-events:auto;position:absolute;left:14px;top:14px;z-index:3;max-width:calc(100% - 28px);font-family:var(--mono);font-size:0.6875rem;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:rgba(8,12,15,.72);padding:6px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.12);opacity:0;transition:opacity .3s}
.prw3-vimeo>.prw3-sigue.on{opacity:1}
.prw3-vimeo>.prw3-sigue .de-cero{margin-left:6px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}

/* 24/10 (curso Claude y DaVinci, indicaciones del DISEÑADOR): ficha de un curso en publicación que se vende desde el
   primer día. Lo nuevo es poco y con los tokens del tema, en claro y en oscuro:
   1. el aviso del estreno: el componente del rótulo de la subida (.rot-subida, comun.css) con el acento azul;
   2. la caja de dos opciones a lo ancho, con el patrón de las tarjetas de /suscripcion/: la academia destacada (filete
      verde, etiqueta en mono verde, botón azul relleno) en 3/5 y el curso suelto en 2/5, botones a la misma altura;
      a 600 px o menos, apiladas y la academia primero;
   3. la cabecera sin columna derecha para quien no lo tiene (la caja va debajo), el «qué aprendes» de cada capítulo en
      el temario y la fila del capítulo 0 con su fecha. */
.aviso-estreno{margin:4px 0 16px;padding:10px 14px;max-width:60ch;border-left:3px solid var(--acc);background:color-mix(in srgb,var(--acc) 16%,var(--bg));border-radius:0 6px 6px 0;text-align:left}
.aviso-estreno p{margin:0}
.aviso-estreno .r1{font-size:15px;line-height:1.45;font-weight:600;color:var(--tx)}
.aviso-estreno .r1 b{font-weight:700}
.aviso-estreno .r2{font-size:14px;line-height:1.45;color:var(--tx2);margin-top:2px}
.cabecera .dos.sin-der{grid-template-columns:minmax(0,1fr)}
.caja-lanz{padding:22px var(--pad) 0}
.cl-ops{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:12px;align-items:stretch}
.cl-op{position:relative;background:var(--s1);border:1px solid var(--line);border-radius:var(--r);padding:24px 26px 22px;display:flex;flex-direction:column;gap:6px;min-width:0}
.cl-op.destacada{border-left:4px solid var(--struct);background:linear-gradient(160deg,var(--struct2),var(--s1) 55%)}
.cl-op .et{font-family:var(--mono);font-size:0.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--struct);font-weight:600;min-height:16px}
.cl-op h2{font-size:clamp(1.375rem,2vw,1.75rem);line-height:1.15;margin:2px 0 2px}
.cl-op .desc{color:var(--tx2);font-size:1rem;line-height:1.55;margin:0;max-width:56ch}
.cl-op .precio{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 10px;margin:12px 0 0;font-family:var(--disp);font-weight:500;font-size:2.875rem;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.cl-op .precio small,.cl-op .precio .desde{font-family:var(--body);font-size:1.0625rem;font-weight:500;color:var(--tx2);letter-spacing:0}
.cl-op .precio+.desc{margin-top:8px}
.cl-op .rot-subida{margin:12px 0 0}
.cl-op .cl-btn{margin-top:auto;padding-top:20px}
.cl-op .cl-btn .btn{width:100%;justify-content:center;text-align:center}
.btn.g.contorno{background:transparent;border-color:var(--line2);-webkit-backdrop-filter:none;backdrop-filter:none}
.cl-pie{margin:12px 0 0;font-size:0.875rem;line-height:1.5;color:var(--tx3)}
@media (max-width:600px){.cl-ops{grid-template-columns:minmax(0,1fr)}.cl-op{padding:20px 18px 18px}.cl-op .precio{font-size:2.5rem}.cl-op:not(.destacada) .et{display:none}}
.ficha-sec{margin-bottom:40px}
.ficha-sec h2.sec{margin-bottom:12px}
.ficha-sec .desc p+p{margin-top:12px}
.aprender.necesitas{margin-top:14px}
.caps li.prox .ctit small{display:block;margin-top:3px;font-size:0.875rem;line-height:1.45;color:var(--tx2)}
.caps li.prox .ctit:has(small){color:var(--tx)}
.caps li .cest.prox.estreno{color:var(--acc);border:1px solid color-mix(in srgb,var(--acc) 55%,transparent);background:color-mix(in srgb,var(--acc) 10%,transparent);text-transform:none;letter-spacing:.02em}
@media (max-width:600px){.caps li.prox:has(.ctit small){grid-template-columns:34px minmax(0,1fr);row-gap:8px}.caps li.prox:has(.ctit small) .cdur{display:none}.caps li.prox:has(.ctit small) .cest{grid-column:2;justify-self:start;white-space:normal}}
.suelto-academia p+p{margin-top:10px}
.preguntas-curso{margin-top:var(--sec2,48px)}
.preguntas-curso h2.sec{margin-bottom:14px}
.aprender.necesitas{margin-bottom:14px}
.necesitas-pie{margin:0 0 46px;font-size:1rem;line-height:1.55;color:var(--tx2)}
/* Sobre la foto de la cabecera (escritorio) el texto es siempre claro, también en modo claro: el aviso va oscuro y
   translúcido como la pastilla «En publicación», con el azul del modo oscuro. En el teléfono va encima de la foto, sobre
   el fondo de la página, y usa los tokens del tema. */
@media (min-width:901px){.hv .aviso-estreno{background:rgba(10,16,20,.78);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-left-color:#5FBBFF}.hv .aviso-estreno .r1{color:#fff}.hv .aviso-estreno .r2{color:rgba(255,255,255,.84)}}

/* prw3: 3/11, MARKETING. El reel dentro del bloque del kit de la ficha */
.kit-reel{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:28px;align-items:start;margin:24px 0 0}
.kit-reel video{display:block;width:100%;height:auto;aspect-ratio:9/16;background:#000;border-radius:var(--r)}
.kit-reel h3{margin:0 0 8px}
.kit-reel p{margin:0;color:var(--tx2);max-width:48ch}
@media(max-width:640px){.kit-reel{grid-template-columns:minmax(0,1fr);gap:14px}.kit-reel video{max-width:360px}}
