/* Aula Innova y Cree — hoja propia del sitio /aula/ (4 nov 2026).
   Base: piezas de portada.css/pizarra.css con los tokens de «La pizarra» en versión CLARA (orden de David:
   «fondo blanco con letras negras», con el ámbar de la marca). Se construye con src/construir-aula.py. */

/* Aula: piezas propias de esta página (el resto sale de portada.css y de los tokens de «La pizarra»).
   Idea (3 nov): un plano en tiza que cambia de forma. 4 nov: llegaron las fotos reales → foto clavada en el héroe + foto anotada a mano + galería. */
.au-heroe h1 { max-width: 14ch; }
.au-datos { display: flex; flex-wrap: wrap; gap: 10px 26px; font-family: var(--e-mono); font-size: 14px; color: var(--e-text-2); }
.au-datos b { color: var(--e-amber); font-weight: 600; }

/* ---------- Fotos reales (4 nov 2026): la foto clavada en la pizarra ---------- */
.au-foto-heroe { margin: 6px 0 0; position: relative; transform: rotate(1.2deg); }
.au-foto-heroe img, .au-anotada img, .au-galeria img { display: block; width: 100%; height: auto; border-radius: 6px; }
.au-foto-heroe img { aspect-ratio: 4 / 3; object-fit: cover; box-shadow: 0 30px 60px -28px rgba(0,0,0,.8); }
.au-foto-heroe::before, .au-foto-heroe::after { content: ""; position: absolute; width: 92px; height: 26px; background: rgba(233,234,238,.16); backdrop-filter: blur(2px); z-index: 1; }
.au-foto-heroe::before { top: -10px; left: 18px; transform: rotate(-6deg); }
.au-foto-heroe::after { top: -10px; right: 22px; transform: rotate(5deg); }
.au-foto-heroe figcaption { margin-top: 14px; font-family: var(--e-mano); font-weight: 700; color: var(--e-amber); font-size: 20px; transform: rotate(-1.5deg); }
@media (min-width: 1100px) {
  .au-heroe .pz-heroe__in { grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); column-gap: clamp(32px, 4vw, 64px); }
  .au-heroe .pz-heroe__in > * { grid-column: 1; }
  .au-heroe .pz-heroe__in > .au-foto-heroe { grid-column: 2; grid-row: 1 / span 6; align-self: center; }
  .au-heroe h1 { font-size: clamp(46px, 5.6vw, 88px); }
}
.au-anotada { position: relative; margin: 36px 0 0; }
.au-anotada__lienzo { position: relative; }
.au-pin { position: absolute; transform: translate(-50%, -50%); width: 34px; height: 34px; border-radius: 50%; border: 2px solid var(--e-amber); background: rgba(18,20,23,.82);
  color: var(--e-amber); font: 700 17px/1 var(--e-mano); display: grid; place-items: center; cursor: pointer; padding: 0; box-shadow: 0 0 0 0 rgba(var(--e-amber-rgb), .5); animation: au-latido 2.6s ease-out infinite; }
.au-pin:nth-of-type(2) { animation-delay: .4s; } .au-pin:nth-of-type(3) { animation-delay: .8s; } .au-pin:nth-of-type(4) { animation-delay: 1.2s; } .au-pin:nth-of-type(5) { animation-delay: 1.6s; }
.au-pin .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.au-pin[aria-pressed="true"] { background: var(--e-amber); color: #121417; }
.au-pin:focus-visible { outline: 2px solid var(--e-text); outline-offset: 3px; }
@keyframes au-latido { 0% { box-shadow: 0 0 0 0 rgba(var(--e-amber-rgb), .5); } 70%, 100% { box-shadow: 0 0 0 14px rgba(var(--e-amber-rgb), 0); } }
.au-claves { margin: 20px 0 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 28px; counter-reset: clave; }
.au-claves li { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 10px; align-items: start; color: var(--e-text-2); font-size: 16px; padding: 8px 0; border-bottom: 1px dashed var(--e-linea-tiza); transition: color var(--e-dur-ui); }
.au-claves li::before { counter-increment: clave; content: counter(clave); font: 700 18px/1.2 var(--e-mano); color: var(--e-amber); }
.au-claves li b { color: var(--e-text); font-weight: 600; }
.au-claves li.activa { color: var(--e-text); } .au-claves li.activa::before { text-decoration: underline wavy; }
.au-galeria { margin-top: 40px; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; }
.au-galeria figure { margin: 0; grid-column: span 2; }
.au-galeria figure.vertical { grid-column: span 2; }
.au-galeria button { all: unset; display: block; width: 100%; cursor: zoom-in; border-radius: 6px; }
.au-galeria button:focus-visible { outline: 2px solid var(--e-amber); outline-offset: 3px; }
.au-galeria img { aspect-ratio: 4 / 3; object-fit: cover; transition: transform 500ms var(--e-ease-trazo), filter 300ms; filter: saturate(.9); }
.au-galeria figure.vertical img { aspect-ratio: 4 / 3; object-position: 50% 62%; }
.au-galeria button:hover img { transform: scale(1.015); filter: none; }
.au-galeria figcaption { margin-top: 8px; font-size: 14px; color: var(--e-muted); }
.au-visor { position: fixed; inset: 0; margin: auto; border: 0; padding: 0; background: transparent; width: fit-content; height: fit-content; max-width: min(96vw, 1448px); max-height: 94vh; overflow: visible; }
.au-visor::backdrop { background: rgba(10,11,13,.96); }
html.au-visor-abierto { overflow: hidden; }
.au-visor img { display: block; max-width: 100%; max-height: 86vh; width: auto; height: auto; margin: 0 auto; border-radius: 6px; }
.au-visor p { text-align: center; margin: 0; padding: 10px 12px; color: var(--e-text); font-size: 15px; background: var(--e-bg); border-radius: 0 0 6px 6px; }
.au-visor__cerrar { position: absolute; top: 8px; right: 8px; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--e-line); background: rgba(18,20,23,.85); color: var(--e-text); font: 700 22px/1 var(--e-sans); cursor: pointer; }
@media (max-width: 960px) { .au-claves { grid-template-columns: 1fr 1fr; } .au-galeria { grid-template-columns: repeat(2, minmax(0, 1fr)); } .au-galeria figure, .au-galeria figure.vertical { grid-column: span 1; } }
@media (max-width: 560px) { .au-claves { grid-template-columns: 1fr; } }
.au-pin::after { content: ""; position: absolute; inset: -6px; border-radius: 50%; }
@media (max-width: 560px) { .au-pin { width: 24px; height: 24px; font-size: 14px; border-width: 1.5px; } .au-pin::after { inset: -10px; } }
@media (max-width: 1099px) { .au-heroe .pz-heroe__lead, .au-heroe .pz-btns, .au-heroe .au-datos { order: 2; } .au-foto-heroe { order: 1; margin: 4px 0 8px; } }
@media (max-width: 760px) { #waBubble { display: none !important; } .au-datos { padding-right: 64px; } }
@media (prefers-reduced-motion: reduce) { .au-pin { animation: none; } .au-galeria img { transition: none; } }

/* ---------- El plano ---------- */
.au-plano { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 300px); gap: clamp(20px, 4vw, 48px); margin-top: 36px; align-items: start; }
.au-plano__lienzo { position: relative; border: 1px dashed var(--e-linea-tiza); border-radius: var(--e-radio); padding: clamp(10px, 2vw, 22px); background:
  radial-gradient(120% 90% at 30% 20%, rgba(233,234,238,.035), transparent 60%), var(--e-bg-raise); }
.au-plano svg { display: block; width: 100%; height: auto; overflow: visible; }
.au-plano .muro { fill: none; stroke: rgba(233,234,238,.62); stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; }
.au-plano .fino { fill: none; stroke: rgba(233,234,238,.32); stroke-width: 2; stroke-linecap: round; stroke-dasharray: 2 9; }
.au-plano .cota { fill: none; stroke: rgba(233,234,238,.38); stroke-width: 1.6; }
.au-plano text { font-family: var(--e-mano); font-weight: 700; fill: rgba(233,234,238,.72); font-size: 26px; }
.au-plano text.amb { fill: var(--e-amber); }
.au-plano text.chica { font-size: 21px; }
.au-plano .mesa rect { fill: rgba(233,234,238,.06); stroke: rgba(233,234,238,.78); stroke-width: 2.6; }
.au-plano .silla circle { fill: var(--e-bg-raise); stroke: var(--e-amber); stroke-width: 2.6; }
.au-plano .mesa, .au-plano .silla, .au-plano .extra { transition: transform 900ms var(--e-ease-trazo), opacity 600ms ease; }
.au-plano .silla.guardada { opacity: .28; }
.au-plano .extra { opacity: 0; }
.au-plano[data-modo="grabacion"] .extra-grab { opacity: 1; }
.au-plano[data-modo="reunion"] .extra-reu { opacity: 1; }
.au-plano[data-modo="curso"] .extra-cur { opacity: 1; }
.au-plano .cono { fill: rgba(var(--e-amber-rgb), .10); stroke: var(--e-amber); stroke-width: 2; stroke-dasharray: 7 8; }
.au-plano .tripie path { fill: none; stroke: var(--e-amber); stroke-width: 3; stroke-linecap: round; }
.au-plano .tripie rect { fill: var(--e-amber); }
.au-modos { display: grid; gap: 10px; }
.au-modo { text-align: left; display: grid; gap: 4px; padding: 16px 18px; border-radius: var(--e-radio); border: 1px solid var(--e-line); background: var(--e-panel);
  color: var(--e-text-2); font: 400 16px/1.45 var(--e-sans); cursor: pointer; transition: border-color var(--e-dur-ui), background var(--e-dur-ui); }
.au-modo b { font-family: var(--e-display); font-size: 20px; color: var(--e-text); font-weight: 800; display: flex; justify-content: space-between; gap: 10px; }
.au-modo b span { font-family: var(--e-mono); font-size: 13px; font-weight: 500; color: var(--e-muted); align-self: center; }
.au-modo:hover { border-color: rgba(var(--e-amber-rgb), .5); }
.au-modo[aria-pressed="true"] { border-color: var(--e-amber); background: rgba(var(--e-amber-rgb), .07); }
.au-modo[aria-pressed="true"] b span { color: var(--e-amber); }
.au-modo:focus-visible { outline: 2px solid var(--e-amber); outline-offset: 3px; }
.au-plano__pie { margin-top: 12px; font-size: 14px; color: var(--e-muted); }

/* ---------- Tarifas ---------- */
.au-tarifas { margin-top: 36px; border-top: 1px dashed var(--e-linea-tiza); }
.au-tarifa { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) auto; gap: clamp(16px, 3vw, 40px); align-items: start;
  padding-block: clamp(28px, 4vw, 44px); border-bottom: 1px dashed var(--e-linea-tiza); }
.au-tarifa h3 { font-size: clamp(26px, 3vw, 36px); font-weight: 820; line-height: 1.06; }
.au-tarifa p { color: var(--e-text-2); }
.au-tarifa .pz-rot { display: block; margin-bottom: 10px; }
.au-precio { text-align: right; white-space: nowrap; }
.au-precio strong { display: block; font-family: var(--e-display); font-size: clamp(40px, 5vw, 60px); font-weight: 860; letter-spacing: -0.03em; color: var(--e-text); line-height: 1; }
.au-precio strong .sub { font-size: .42em; font-weight: 700; color: var(--e-muted); letter-spacing: 0; }
.au-precio .nota-mano { display: inline-block; margin-top: 8px; font-size: 20px; transform: rotate(-2deg); }
.au-tarifa ul { margin: 12px 0 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.au-tarifa li { padding-left: 28px; position: relative; color: var(--e-text-2); font-size: 16px; }
.au-tarifa li::before { content: "✓"; position: absolute; left: 0; top: 0; font-family: var(--e-mano); font-weight: 700; color: var(--e-amber); font-size: 19px; line-height: 1.3; }
.au-tarifa--estrella .au-precio strong { color: var(--e-amber); }

.au-resumen { width: 100%; margin-top: 28px; border-collapse: collapse; font-size: 15px; }
.au-resumen caption { text-align: left; font-family: var(--e-mono); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--e-muted); padding-bottom: 10px; }
.au-resumen th, .au-resumen td { text-align: left; padding: 10px 12px 10px 0; border-bottom: 1px solid var(--e-line); color: var(--e-text-2); vertical-align: top; }
.au-resumen thead th { color: var(--e-muted); font-weight: 600; }
.au-resumen tbody th { color: var(--e-text); font-weight: 600; }
@media (max-width: 560px) { .au-resumen thead { display: none; } .au-resumen tr { display: grid; padding: 10px 0; border-bottom: 1px solid var(--e-line); } .au-resumen th, .au-resumen td { border: 0; padding: 2px 0; } }
/* ---------- Calculadora ---------- */
.au-calc { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(20px, 4vw, 56px); margin-top: 36px; align-items: stretch; }
.au-calc__form { display: grid; gap: 22px; align-content: start; }
.au-campo { display: grid; gap: 8px; }
.au-campo > span, .au-campo legend { font-family: var(--e-mono); font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--e-muted); padding: 0; }
fieldset.au-campo { border: 0; margin: 0; padding: 0; min-width: 0; }
.au-opciones { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.au-opcion { position: relative; }
.au-opcion input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.au-opcion label { display: grid; gap: 2px; padding: 14px 16px; border-radius: var(--e-radio); border: 1px solid var(--e-line); background: var(--e-panel); cursor: pointer; color: var(--e-text-2); font-size: 15px; min-height: 100%; }
.au-opcion label b { color: var(--e-text); font-family: var(--e-display); font-size: 18px; }
.au-opcion input:checked + label { border-color: var(--e-amber); background: rgba(var(--e-amber-rgb), .07); }
.au-opcion input:focus-visible + label { outline: 2px solid var(--e-amber); outline-offset: 3px; }
.au-paso { display: flex; align-items: center; gap: 0; border: 1px solid var(--e-line); border-radius: 999px; width: max-content; background: var(--e-panel); }
.au-paso button { width: 52px; height: 52px; border: 0; background: none; color: var(--e-text); font: 700 24px/1 var(--e-sans); cursor: pointer; border-radius: 999px; }
.au-paso button:hover { color: var(--e-amber); }
.au-paso button:focus-visible { outline: 2px solid var(--e-amber); }
.au-paso output { min-width: 96px; text-align: center; font-family: var(--e-display); font-weight: 800; font-size: 22px; color: var(--e-text); }
.au-fila { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.au-campo input[type="date"], .au-campo input[type="number"], .au-campo select { width: 100%; padding: 13px 14px; border: 1px solid var(--e-line); border-radius: 10px; background: var(--e-bg); color: var(--e-text); font: 16px/1.4 var(--e-sans); color-scheme: dark; }
.au-campo input:focus-visible { outline: 2px solid var(--e-amber); outline-offset: 2px; }
.au-recibo { position: relative; border-radius: var(--e-radio); padding: clamp(22px, 3vw, 34px); background: var(--e-panel); border: 1px solid var(--e-line); display: grid; gap: 14px; align-content: start; }
.au-recibo::before { content: ""; position: absolute; inset: 10px; border: 1px dashed var(--e-linea-tiza); border-radius: 6px; pointer-events: none; }
.au-recibo dl { margin: 0; display: grid; gap: 8px; }
.au-recibo dl div { display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px dashed var(--e-line); padding-bottom: 8px; }
.au-recibo dt { color: var(--e-muted); }
.au-recibo dd { margin: 0; color: var(--e-text); text-align: right; }
.au-total { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.au-total span { font-family: var(--e-mano); font-weight: 700; color: var(--e-amber); font-size: 24px; }
.au-total strong { font-family: var(--e-display); font-size: clamp(44px, 6vw, 64px); font-weight: 860; color: var(--e-text); letter-spacing: -0.03em; line-height: 1; }
.au-total strong small { font-size: .32em; color: var(--e-muted); font-weight: 700; letter-spacing: 0; }
.au-recibo .pz-btn { justify-content: center; position: relative; }
.au-recibo .letra { font-size: 13px; color: var(--e-muted); position: relative; }

/* ---------- Incluye / ubicación ---------- */
.au-incluye { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin-top: 36px; border-top: 1px dashed var(--e-linea-tiza); }
.au-incluye li { list-style: none; padding: 22px 20px 24px 0; border-bottom: 1px dashed var(--e-linea-tiza); display: grid; gap: 6px; align-content: start; min-width: 0; }
.au-incluye b { font-family: var(--e-display); font-size: 20px; color: var(--e-text); }
.au-incluye span { color: var(--e-text-2); font-size: 16px; }
.au-donde { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(20px, 4vw, 56px); align-items: center; margin-top: 30px; }
.au-donde address { font-style: normal; font-family: var(--e-display); font-size: clamp(26px, 3vw, 36px); font-weight: 800; line-height: 1.15; color: var(--e-text); }
.au-donde address small { display: block; margin-top: 10px; font-family: var(--e-sans); font-size: 17px; font-weight: 400; color: var(--e-text-2); }
.au-actualizado { margin-top: 18px; font-family: var(--e-mono); font-size: 13px; color: var(--e-muted); }

@media (max-width: 960px) {
  .au-plano, .au-calc, .au-donde { grid-template-columns: 1fr; }
  .au-modos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .au-modo { padding: 12px; } .au-modo b { font-size: 17px; flex-direction: column; gap: 2px; } .au-modo > span { display: none; }
  .au-tarifa { grid-template-columns: minmax(0, 1fr) auto; } .au-tarifa > div:nth-child(2) { grid-column: 1 / -1; grid-row: 2; }
  .au-incluye { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .au-tarifa { grid-template-columns: 1fr; } .au-precio { text-align: left; }
  .au-opciones, .au-fila, .au-incluye { grid-template-columns: 1fr; }
}
/* Flotantes: el de WhatsApp solo responde en su círculo; el «Agendar» (videollamada de asesoría) no va en la página de la sala. */
#waFloat { pointer-events: none; } #waFloat .wa-float__btn { pointer-events: auto; }
.ic-agendar-flota { display: none !important; }
.au-heroe .pz-heroe__nota .nota-mano { transition-delay: .25s; }
.au-heroe .pz-heroe__nota svg.flecha path { transition-delay: 0s; }
@media (max-width: 960px) {
  .au-plano text { font-size: 46px; } .au-plano text.chica { font-size: 40px; } .au-plano text.solo-ancho { display: none; }
  .au-modos { grid-template-columns: 1fr; } .au-modo { padding: 12px 14px; } .au-modo b { font-size: 18px; flex-direction: row; } .au-modo > span { display: block; font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) { .au-plano .mesa, .au-plano .silla, .au-plano .extra { transition: opacity 200ms linear; } }

/* =====================================================================================================
   VERSIÓN CLARA (4 nov 2026, David: «fondo blanco con letras negras», con el ámbar de la marca).
   Idea: la pizarra se vuelve CUADERNO — papel blanco, tinta casi negra, y el ámbar como marcatextos.
   Se redefinen los tokens --e-* solo dentro de body.au-claro: las piezas de portada.css/pizarra.css
   cambian de piel sin tocarlas. El ámbar brillante (#F5B649) se usa para RELLENOS (botones, marcatextos);
   para TEXTO se usa --au-tinta-ambar (#8A5300, 6,2:1 sobre blanco).
   ===================================================================================================== */
body.au-claro {
  --e-bg: #FFFFFF; --e-bg-raise: #F7F6F2; --e-panel: #FFFFFF; --e-panel-2: #F2F0EB;
  --e-line: rgba(20,22,25,.12); --e-line-soft: rgba(20,22,25,.07); --e-linea-tiza: rgba(20,22,25,.20);
  --e-text: #15171A; --e-text-2: #3B4048; --e-muted: #5C616A;
  --e-on-amber: #15171A;
  --au-tinta-ambar: #8A5300;
  --au-marcatextos: rgba(245,182,73,.42);
  background: var(--e-bg); color: var(--e-text);
}
body.au-claro .pz-polvo { display: none; }
body.au-claro em, body.au-claro .pz-h2 em, body.au-claro h1 em { color: var(--e-text); font-style: normal;
  background: linear-gradient(transparent 60%, var(--au-marcatextos) 60%, var(--au-marcatextos) 94%, transparent 94%); padding: 0 .06em; }
body.au-claro .nota-mano, body.au-claro .au-foto-heroe figcaption, body.au-claro .au-total span, body.au-claro .pz-rot b { color: var(--au-tinta-ambar); }
body.au-claro .pz-rot { color: var(--e-muted); }
body.au-claro .au-datos b, body.au-claro .au-claves li::before, body.au-claro .au-tarifa li::before, body.au-claro .au-modo[aria-pressed="true"] b span { color: var(--au-tinta-ambar); }
body.au-claro .au-tarifa--estrella .au-precio strong { color: var(--au-tinta-ambar); }
body.au-claro .pz-heroe__nota svg.flecha path { stroke: var(--au-tinta-ambar); }
body.au-claro .pz-btn--tiza { color: var(--e-text); border-color: rgba(20,22,25,.35); background: transparent; }
body.au-claro .pz-btn--tiza:hover { border-color: var(--e-text); background: rgba(20,22,25,.04); }
body.au-claro .pz-btn--marca { background: #F5B649; color: #15171A; }
body.au-claro .pz-btn--marca:hover { background: #E9A93A; }
body.au-claro .pz-faq details { border-color: var(--e-line); }
body.au-claro .pz-faq summary { color: var(--e-text); }
body.au-claro .pz-faq p { color: var(--e-text-2); }
body.au-claro .au-foto-heroe img { box-shadow: 0 24px 50px -24px rgba(20,22,25,.35); }
body.au-claro .au-foto-heroe::before, body.au-claro .au-foto-heroe::after { background: rgba(245,182,73,.55); }
body.au-claro .au-pin { background: rgba(255,255,255,.92); color: #15171A; border-color: #F5B649; }
body.au-claro .au-pin[aria-pressed="true"] { background: #F5B649; }
body.au-claro .au-visor::backdrop { background: rgba(20,22,25,.88); }
body.au-claro .au-visor p { background: #FFFFFF; color: var(--e-text); }
body.au-claro .au-campo input[type="date"], body.au-claro .au-campo input[type="number"], body.au-claro .au-campo select { color-scheme: light; background: #FFFFFF; }
body.au-claro .au-recibo { background: var(--e-bg-raise); }
body.au-claro .au-plano__lienzo { background: var(--e-bg-raise); }
body.au-claro .au-plano .muro { stroke: rgba(20,22,25,.70); }
body.au-claro .au-plano .fino { stroke: rgba(20,22,25,.35); }
body.au-claro .au-plano .cota { stroke: rgba(20,22,25,.40); }
body.au-claro .au-plano text { fill: rgba(20,22,25,.78); }
body.au-claro .au-plano text.amb { fill: var(--au-tinta-ambar); }
body.au-claro .au-plano .mesa rect { fill: #FFFFFF; stroke: rgba(20,22,25,.70); }
body.au-claro .au-plano rect[stroke="rgba(233,234,238,.78)"], body.au-claro .au-plano rect[stroke="rgba(233,234,238,.5)"] { stroke: rgba(20,22,25,.6); }
body.au-claro .au-plano .silla circle { fill: #FFFFFF; stroke: #D99419; }
body.au-claro .au-plano .tripie path { stroke: #D99419; } body.au-claro .au-plano .tripie rect { fill: #D99419; }
body.au-claro .au-plano .cono { stroke: #D99419; }
body.au-claro .pz-sec { border-color: var(--e-line-soft); }
.au-saltar { position: absolute; left: -9999px; top: 8px; z-index: 100; background: #15171A; color: #fff; padding: 10px 14px; border-radius: 8px; }
.au-saltar:focus { left: 12px; }

/* ---------- Menú propio del Aula ---------- */
.au-nav { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.94); backdrop-filter: saturate(1.4) blur(10px); border-bottom: 1px solid var(--e-line); }
.au-nav__in { max-width: 1240px; margin: 0 auto; padding: 10px clamp(16px, 3vw, 32px); display: flex; align-items: center; gap: 18px; }
.au-nav__marca { display: flex; align-items: center; gap: 10px; text-decoration: none; flex: none; }
.au-nav__marca img { display: block; width: 96px; height: auto; }
.au-nav__aula { font: 800 20px/1 var(--e-display); color: var(--e-text); padding-left: 10px; border-left: 2px solid #F5B649; letter-spacing: -.01em; }
.au-nav__menu { margin-left: auto; }
.au-nav__menu > summary { list-style: none; display: none; }
.au-nav__menu > summary::-webkit-details-marker { display: none; }
.au-nav__menu nav ul { display: flex; align-items: center; gap: 4px; margin: 0; padding: 0; list-style: none; }
.au-nav__menu nav a { display: block; padding: 10px 11px; border-radius: 8px; color: var(--e-text-2); font: 600 15px/1.1 var(--e-sans); text-decoration: none; white-space: nowrap; }
.au-nav__menu nav a:hover { color: var(--e-text); background: rgba(20,22,25,.05); }
.au-nav__menu nav a[aria-current="page"] { color: var(--e-text); background: linear-gradient(transparent 62%, var(--au-marcatextos) 62%, var(--au-marcatextos) 92%, transparent 92%); }
.au-nav__casa a { color: var(--e-muted) !important; font-weight: 500 !important; }
.au-nav__barra .au-nav__casa { margin-left: 6px; padding-left: 8px; border-left: 1px solid var(--e-line); }
.au-nav__cta { flex: none; padding: 10px 18px !important; font-size: 15px !important; }
.au-nav__barra { margin-left: auto; }
.au-nav__barra ul { display: flex; align-items: center; gap: 2px; margin: 0; padding: 0; list-style: none; }
.au-nav__barra a { display: block; padding: 10px 11px; border-radius: 8px; color: var(--e-text-2); font: 600 15px/1.1 var(--e-sans); text-decoration: none; white-space: nowrap; }
.au-nav__barra a:hover { color: var(--e-text); background: rgba(20,22,25,.05); }
.au-nav__barra a[aria-current="page"] { color: var(--e-text); background: linear-gradient(transparent 62%, var(--au-marcatextos) 62%, var(--au-marcatextos) 92%, transparent 92%); }
@media (min-width: 1181px) { .au-nav__menu { display: none; } }
@media (max-width: 1180px) { .au-nav__barra { display: none; } }
@media (max-width: 1180px) {
  .au-nav__menu > summary { display: flex; align-items: center; gap: 8px; cursor: pointer; padding: 10px 12px; border-radius: 8px; border: 1px solid var(--e-line); font: 600 15px var(--e-sans); color: var(--e-text); }
  .au-nav__ham, .au-nav__ham::before, .au-nav__ham::after { display: block; width: 18px; height: 2px; background: var(--e-text); border-radius: 2px; position: relative; content: ""; }
  .au-nav__ham::before { position: absolute; top: -6px; } .au-nav__ham::after { position: absolute; top: 6px; }
  .au-nav__menu[open] > nav { position: absolute; left: 0; right: 0; top: 100%; background: #FFFFFF; border-bottom: 1px solid var(--e-line); box-shadow: 0 18px 30px -18px rgba(20,22,25,.3); }
  .au-nav__menu nav ul { flex-direction: column; align-items: stretch; padding: 8px clamp(16px, 3vw, 32px) 16px; gap: 0; }
  .au-nav__menu nav a { padding: 14px 6px; font-size: 17px; border-bottom: 1px solid var(--e-line-soft); border-radius: 0; }
}
@media (max-width: 420px) { .au-nav__menu-txt { display: none; } .au-nav__cta { padding: 9px 14px !important; } .au-nav__in { gap: 10px; } }

/* ---------- Pie propio ---------- */
.au-pie { background: #15171A; color: #D9DBE0; margin-top: clamp(40px, 6vw, 80px); }
.au-pie__in { max-width: 1240px; margin: 0 auto; padding: clamp(40px, 6vw, 64px) clamp(16px, 3vw, 32px) 24px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.au-pie__t { font: 800 18px/1.2 var(--e-display); color: #FFFFFF; margin: 0 0 12px; }
.au-pie address { font-style: normal; line-height: 1.6; }
.au-pie p, .au-pie li { font-size: 15px; line-height: 1.6; margin: 0 0 8px; }
.au-pie ul { list-style: none; margin: 0; padding: 0; }
.au-pie a { color: #F5B649; text-decoration: none; display: inline-block; padding: 3px 0; }
.au-pie a:hover { text-decoration: underline; }
.au-pie__legal { max-width: 1240px; margin: 0 auto; padding: 18px clamp(16px, 3vw, 32px) 28px; border-top: 1px solid rgba(255,255,255,.1); font-size: 13px; color: #A3A7B0; }
@media (max-width: 860px) { .au-pie__in { grid-template-columns: 1fr; } }

/* ---------- Páginas internas y blog ---------- */
.au-intro { padding-block: clamp(40px, 7vw, 88px) clamp(24px, 4vw, 40px); }
.au-intro h1 { font: 840 clamp(38px, 6vw, 72px)/1.02 var(--e-display); letter-spacing: -.035em; max-width: 18ch; margin: 14px 0 0; }
.au-intro .pz-lead { margin-top: 18px; max-width: 60ch; }
.au-respuesta { margin-top: 22px; max-width: 70ch; font-size: 19px; line-height: 1.6; color: var(--e-text-2); border-left: 4px solid #F5B649; padding: 4px 0 4px 18px; }
.au-respuesta strong { color: var(--e-text); }
.au-prosa { max-width: 72ch; font-size: 18px; line-height: 1.7; color: var(--e-text-2); }
.au-prosa h2 { font: 800 clamp(26px, 3vw, 34px)/1.15 var(--e-display); color: var(--e-text); margin: 44px 0 12px; letter-spacing: -.02em; }
.au-prosa h3 { font: 800 21px/1.25 var(--e-display); color: var(--e-text); margin: 28px 0 8px; }
.au-prosa p { margin: 0 0 16px; } .au-prosa ul, .au-prosa ol { margin: 0 0 18px; padding-left: 22px; } .au-prosa li { margin-bottom: 8px; }
.au-prosa a { color: var(--au-tinta-ambar); text-decoration: underline; text-underline-offset: 3px; }
.au-prosa strong { color: var(--e-text); }
.au-prosa table { width: 100%; border-collapse: collapse; margin: 18px 0 24px; font-size: 16px; }
.au-prosa th, .au-prosa td { text-align: left; padding: 10px 12px 10px 0; border-bottom: 1px solid var(--e-line); vertical-align: top; }
.au-prosa thead th { color: var(--e-muted); font-weight: 600; }
.au-prosa figure { margin: 26px 0; } .au-prosa figure img { width: 100%; height: auto; border-radius: 8px; display: block; } .au-prosa figcaption { font-size: 14px; color: var(--e-muted); margin-top: 8px; }
.au-cajas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 28px; }
.au-caja { border: 1px solid var(--e-line); border-radius: var(--e-radio); padding: 22px; background: #FFFFFF; display: grid; gap: 8px; align-content: start; }
.au-caja b { font: 800 22px/1.15 var(--e-display); color: var(--e-text); }
.au-caja .au-caja__precio { font: 860 40px/1 var(--e-display); letter-spacing: -.03em; color: var(--e-text); }
.au-caja .au-caja__precio small { font-size: .4em; color: var(--e-muted); font-weight: 700; letter-spacing: 0; }
.au-caja p { margin: 0; color: var(--e-text-2); font-size: 16px; }
.au-caja--estrella { border: 2px solid #F5B649; background: #FFFBF2; }
.au-cta-final { margin-top: 40px; padding: clamp(24px, 4vw, 40px); border-radius: var(--e-radio); background: var(--e-bg-raise); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; }
.au-cta-final p { margin: 0; font: 800 clamp(22px, 2.6vw, 30px)/1.2 var(--e-display); color: var(--e-text); max-width: 30ch; }
.au-actualizado { font-family: var(--e-mono); font-size: 13px; color: var(--e-muted); margin-top: 22px; }
.au-blog { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 30px; }
.au-tarjeta a { display: grid; gap: 8px; padding: 24px; border: 1px solid var(--e-line); border-radius: var(--e-radio); text-decoration: none; height: 100%; background: #FFFFFF; transition: border-color var(--e-dur-ui), transform var(--e-dur-ui); }
.au-tarjeta a:hover { border-color: #F5B649; transform: translateY(-2px); }
.au-tarjeta h2 { font: 800 23px/1.2 var(--e-display); color: var(--e-text); margin: 0; letter-spacing: -.01em; }
.au-tarjeta p { margin: 0; color: var(--e-text-2); font-size: 16px; }
.au-tarjeta__fecha { font-family: var(--e-mono); font-size: 13px; color: var(--e-muted); }
.au-tarjeta__mas { color: var(--au-tinta-ambar); font-weight: 700; font-size: 15px; }
.au-vacio { color: var(--e-muted); font-size: 18px; }
.au-migas { font-size: 14px; color: var(--e-muted); } .au-migas a { color: var(--e-muted); }
@media (max-width: 860px) { .au-cajas, .au-blog { grid-template-columns: 1fr; } }
body.au-claro main a:not(.pz-btn) { color: var(--au-tinta-ambar); }
body.au-claro .au-tarjeta a, body.au-claro .au-tarjeta a:not(.pz-btn) { color: inherit; }
body.au-claro .au-migas a { color: var(--e-muted); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1180px) { .au-nav__menu nav a[aria-current="page"] { background: none; box-shadow: inset 4px 0 0 #F5B649; padding-left: 14px; color: var(--e-text); } }
/* Tablas anchas en celular: se desplazan dentro de su caja en vez de cortarse (4 nov) */
@media (max-width: 640px) { .au-prosa table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; font-size: 15px; } .au-prosa th, .au-prosa td { min-width: 96px; } }

/* 4 nov (auditor): mapa en «Dónde está», prosa alineada al encabezado, barra legal del pie alineada */
.au-mapa { position: relative; aspect-ratio: 4 / 3; border-radius: var(--e-radio); overflow: hidden; border: 1px solid var(--e-line); }
.au-mapa iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
/* La prosa conserva el ancho y el margen del contenedor (alineada con el encabezado); el límite de lectura va en sus hijos. */
.pz-wrap.au-prosa { max-width: var(--max); margin: 0 auto; padding-inline: var(--gut); }
.pz-wrap.au-prosa > * { max-width: 72ch; }
.pz-wrap.au-prosa > table, .pz-wrap.au-prosa > figure, .pz-wrap.au-prosa > .au-cta-final, .pz-wrap.au-prosa > div { max-width: 900px; }
.pz-wrap .au-prosa { margin-left: 0; }
.au-pie .au-pie__legal { max-width: calc(1240px - 2 * clamp(16px, 3vw, 32px)); margin: 0 auto; padding-inline: 0; box-sizing: border-box; }
@media (max-width: 1304px) { .au-pie .au-pie__legal { margin-inline: clamp(16px, 3vw, 32px); } }
.au-donde address { word-break: normal; }

/* 6 nov 2026 — calculadora por horarios: casilla del video completo, aviso y botón apagado en domingo */
.au-check { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border: 1px dashed var(--e-line); border-radius: var(--e-radio); background: var(--e-panel); color: var(--e-text-2); font-size: 15px; cursor: pointer; }
.au-check input { width: 20px; height: 20px; margin-top: 2px; accent-color: var(--e-amber); flex: none; }
.au-check b { color: var(--e-text); }
.au-check[hidden], .au-aviso[hidden] { display: none; }
.au-aviso { margin: 0 0 12px; padding: 10px 12px; border-left: 3px solid var(--e-amber); background: rgba(var(--e-amber-rgb), .08); font-size: 14px; color: var(--e-text); }
.au-wa--off { opacity: .45; cursor: not-allowed; }
.au-horarios { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 18px 0 0; }
.au-horarios div { padding: 14px 16px; border: 1px solid var(--e-line); border-radius: var(--e-radio); background: var(--e-panel); }
.au-horarios b { display: block; font-family: var(--e-display); font-size: 18px; color: var(--e-text); }
.au-horarios span { font-size: 14px; color: var(--e-text-2); }
@media (max-width: 640px) { .au-horarios { grid-template-columns: 1fr; } }
.au-cajas--dos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 860px) { .au-cajas--dos { grid-template-columns: 1fr; } }
#waFloat.au-flot-oculto { opacity: 0; visibility: hidden; transition: opacity .2s, visibility .2s; }
@media (max-width: 640px) { #waFloat { bottom: 14px; right: 14px; } #waFloat .wa-float__btn { width: 44px; height: 44px; } }
.au-condiciones { margin-top: 28px; padding: 22px 24px; border: 1px solid var(--e-line); border-radius: var(--e-radio); background: var(--e-panel); }
.au-condiciones h3 { margin: 0 0 10px; font-family: var(--e-display); font-size: 22px; }
.au-condiciones ol { margin: 0 0 12px; padding-left: 20px; display: grid; gap: 6px; color: var(--e-text-2); }
.au-condiciones p { margin: 0; color: var(--e-text-2); font-size: 15px; }

/* 10 nov 2026 — centro de capacitación: títulos largos, lista de próximos cursos, tabla legible en móvil, pie de 4 columnas */
.au-intro h1.au-h1-largo { max-width: 26ch; font-size: clamp(32px, 4.6vw, 58px); }
.au-heroe h1.au-h1-largo { max-width: none; font-size: clamp(30px, 3.2vw, 46px); line-height: 1.06; }
.pz-sec .au-sub { font: 800 21px/1.25 var(--e-display); color: var(--e-text); margin: 40px 0 12px; }
@media (min-width: 961px) { .au-tarifa { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) 270px; } }
.au-lista-prox { margin: 0; padding-left: 22px; color: var(--e-text-2); columns: 2; column-gap: 36px; }
.au-lista-prox li { margin-bottom: 8px; break-inside: avoid; }
@media (max-width: 640px) { .au-lista-prox { columns: 1; } }
.au-pie__in { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1000px) { .au-pie__in { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .au-pie__in { grid-template-columns: 1fr; } .au-resumen td[data-th]::before { content: attr(data-th) ": "; font-weight: 600; color: var(--e-muted); } }
.au-horarios { margin-bottom: 22px; }
.pz-sec .au-resumen + .au-actualizado { margin-top: 24px; }
.au-horarios span { font-size: 15px; color: var(--e-text); }
.au-cierre { margin-top: 18px; font-size: clamp(22px, 2.6vw, 28px); text-align: center; }
.au-cta-final + .au-actualizado { margin-top: 22px; }
