/* Landing Black Friday de Másteres. Fuentes alojadas en el plugin. */
@font-face { font-family: 'Anton'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/Anton-latin.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400 800; font-display: swap; src: url('../fonts/Inter-latin-var.woff2') format('woff2'); }
  :root {
    --negro: #0a0a0a; --tarjeta: #161616; --tarjeta-2: #1f1f1f; --borde: #2a2a2a;
    --amarillo: #ffd400; --blanco: #ffffff; --gris: #a8a8a8;
    --titulo: 'Anton', Impact, 'Arial Narrow', sans-serif;
    --texto: 'Inter', Arial, Helvetica, sans-serif;
  }
  * { box-sizing: border-box; margin: 0; padding: 0; }
  html { scroll-behavior: smooth; color-scheme: dark; }
  body { background: var(--negro); color: var(--blanco); font-family: var(--texto); font-size: 17px; line-height: 1.6; -webkit-text-size-adjust: 100%; }
  a { color: inherit; }
  :focus-visible { outline: 3px solid var(--amarillo); outline-offset: 3px; }
  .envoltura { width: 100%; max-width: 1200px; margin: 0 auto; padding-left: 32px; padding-right: 32px; }
  .cabecera { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 28px; padding-bottom: 28px; }
  .cabecera img { width: 120px; height: auto; display: block; }
  .ayuda { font-weight: 600; font-size: 15px; color: var(--gris); text-decoration: none; }
  .ayuda:hover { color: var(--blanco); }

  /* Portada */
  .heroe { position: relative; overflow: hidden; }
  .heroe > :not(.fondo) { position: relative; z-index: 1; }
  .portada { padding: 40px 0 72px; }
  .kicker { color: var(--amarillo); font-weight: 700; font-size: 15px; letter-spacing: .12em; text-transform: uppercase; }
  .gigante { font-family: var(--titulo); font-weight: 400; font-size: clamp(76px, 16.5vw, 212px); line-height: 1.05; text-transform: uppercase; white-space: nowrap; margin-top: 12px; }
  .portada-rejilla { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 80px; margin-top: 56px; align-items: start; }
  .lema { font-weight: 800; font-size: clamp(32px, 3.6vw, 44px); line-height: 1.15; letter-spacing: -.02em; }
  .bajada { margin-top: 16px; font-size: 19px; color: var(--gris); max-width: 26em; }
  .boton { position: relative; overflow: hidden; display: inline-block; background: var(--amarillo); color: var(--negro); border: 0; border-radius: 10px; font-family: var(--texto); font-weight: 800; font-size: 18px; text-decoration: none; padding: 18px 36px; cursor: pointer; text-align: center; }
  .boton:hover { background: var(--blanco); }
  .boton[disabled] { background: #333; color: var(--gris); cursor: not-allowed; }
  .portada .boton { margin-top: 36px; }

  .ofertas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
  .oferta b { display: block; font-family: var(--titulo); font-weight: 400; font-size: clamp(50px, 5.6vw, 72px); line-height: 1.1; }
  .oferta.principal b { color: var(--amarillo); }
  .oferta span { display: block; margin-top: 4px; font-weight: 600; font-size: 15px; color: var(--gris); }
  .regalo { margin-top: 24px; font-weight: 700; font-size: 19px; }
  .regalo strong { color: var(--amarillo); }

  .reloj-bloque { margin-top: 72px; display: flex; flex-wrap: wrap; align-items: center; gap: 16px 40px; }
  .reloj-titulo { font-weight: 600; font-size: 16px; color: var(--gris); }
  .reloj { display: flex; gap: 28px; }
  .reloj div { text-align: center; }
  .reloj b { display: block; font-family: var(--titulo); font-weight: 400; font-size: 40px; line-height: 1.15; font-variant-numeric: tabular-nums; }
  .reloj span { font-size: 12px; font-weight: 600; color: var(--gris); }

  /* Compra */
  .compra { padding: 72px 0 110px; background: #0f0f0f; }
  .compra-titulo { font-weight: 800; font-size: clamp(32px, 4vw, 46px); line-height: 1.15; letter-spacing: -.02em; }
  .compra-sub { color: var(--gris); font-size: 19px; margin-top: 8px; }
  .compra-rejilla { display: grid; grid-template-columns: minmax(0, 1fr) 350px; gap: 64px; margin-top: 64px; align-items: start; }
  .paso { margin-bottom: 72px; border: 0; min-width: 0; scroll-margin-top: 24px; }
  .paso:last-child { margin-bottom: 0; }
  .paso legend { display: flex; align-items: baseline; gap: 12px; font-weight: 700; font-size: 24px; line-height: 1.25; letter-spacing: -.01em; padding: 0; }
  .num { color: var(--amarillo); font-weight: 800; }
  .nota { color: var(--gris); font-size: 15px; margin-top: 6px; }
  .contenido { margin-top: 24px; }
  .vacio { color: var(--gris); font-size: 16px; }

  .buscador { position: relative; display: flex; align-items: center; margin-top: 22px; color: var(--gris); }
  .buscador svg { position: absolute; left: 18px; pointer-events: none; transition: color .15s; }
  .buscador input { width: 100%; background: var(--tarjeta); border: 2px solid var(--borde); border-radius: 12px; color: var(--blanco); font-family: var(--texto); font-size: 17px; padding: 15px 48px 15px 50px; transition: border-color .15s, box-shadow .15s; -webkit-appearance: none; appearance: none; }
  .buscador input::placeholder { color: var(--gris); }
  .buscador input::-webkit-search-cancel-button { display: none; }
  .buscador input:focus { outline: none; border-color: var(--amarillo); box-shadow: 0 0 0 4px rgba(255, 212, 0, .12); }
  .buscador:focus-within svg { color: var(--amarillo); }
  .buscador button { position: absolute; right: 8px; width: 36px; height: 36px; border: 0; border-radius: 50%; background: transparent; color: var(--gris); font-size: 24px; line-height: 1; cursor: pointer; }
  .buscador button:hover { color: var(--blanco); background: var(--tarjeta-2); }
  .buscador button[hidden] { display: none; }
  .conteo { min-height: 22px; margin-top: 10px; font-size: 14px; color: var(--gris); }
  .conteo + .contenido { margin-top: 8px; }
  .sin-resultados { margin-top: 8px; padding: 26px; background: var(--tarjeta); border-radius: 12px; color: var(--gris); text-align: center; }
  .sin-resultados[hidden] { display: none; }
  .opcion[hidden], .tarjetas[hidden] { display: none; }
  .inicio { margin-top: 8px; font-size: 14px; color: var(--gris); }
  .inicio b { color: var(--blanco); font-weight: 600; }
  .tarjetas { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 270px), 1fr)); gap: 14px; }
  .opcion { position: relative; display: flex; flex-direction: column; background: var(--tarjeta); border: 2px solid transparent; border-radius: 12px; padding: 22px; cursor: pointer; min-width: 0; transition: border-color .15s, transform .18s ease-out, box-shadow .18s ease-out; }
  .opcion:not(.cerrada):hover { border-color: #555; box-shadow: 0 14px 34px rgba(0, 0, 0, .55); }
  .opcion input { position: absolute; opacity: 0; width: 1px; height: 1px; }
  .opcion:has(input:checked) { border-color: var(--amarillo); background: var(--tarjeta-2); }
  .opcion:has(input:checked)::after { content: '✓'; position: absolute; top: 14px; right: 14px; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: var(--amarillo); color: var(--negro); font-size: 14px; font-weight: 800; }
  .opcion:has(input:focus-visible) { outline: 3px solid var(--amarillo); outline-offset: 3px; }
  .opcion.cerrada { cursor: not-allowed; opacity: .55; }
  .nombre { font-weight: 600; font-size: 17px; line-height: 1.35; padding-right: 22px; overflow-wrap: anywhere; }
  .precio { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; margin-top: auto; padding-top: 18px; }
  .ahora { color: var(--amarillo); font-weight: 800; font-size: 23px; line-height: 1.2; }
  .antes { color: var(--gris); text-decoration: line-through; font-size: 14px; }
  .enlace-ficha { align-self: flex-start; margin-top: 12px; font-size: 14px; color: var(--gris); position: relative; z-index: 1; }
  .enlace-ficha:hover { color: var(--blanco); }
  .proximo { margin-top: 12px; font-size: 14px; color: var(--gris); }
  .gratis { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; margin-top: auto; padding-top: 14px; }
  .gratis b { color: var(--amarillo); font-weight: 800; font-size: 17px; }
  .gratis s { color: var(--gris); font-size: 14px; }

  .pastillas { display: flex; flex-wrap: wrap; gap: 12px; }
  .pastillas .opcion { flex-direction: row; padding: 14px 24px; border-radius: 999px; font-weight: 700; }
  .pastillas .opcion:has(input:checked)::after { display: none; }
  .pastillas .opcion:has(input:checked) { color: var(--amarillo); }

  .pagos { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 14px; }
  .pago-pct { font-family: var(--titulo); font-size: 46px; line-height: 1.15; }
  .pago-nombre { font-weight: 600; font-size: 16px; margin-top: 2px; }
  .pago-monto { color: var(--gris); font-size: 15px; margin-top: 10px; }
  .pago-monto b { color: var(--blanco); font-weight: 700; }

  /* Resumen */
  .resumen { scroll-margin-top: 16px; position: sticky; top: 24px; background: var(--tarjeta); border: 2px solid var(--amarillo); border-radius: 16px; padding: 28px; }
  .resumen h3 { font-weight: 800; font-size: 22px; line-height: 1.2; letter-spacing: -.01em; margin-bottom: 12px; }
  .linea { display: flex; justify-content: space-between; gap: 18px; font-size: 14px; line-height: 1.4; padding: 12px 0; border-bottom: 1px solid var(--borde); }
  .linea span:first-child { color: var(--gris); flex: none; }
  .linea span:last-child { text-align: right; font-weight: 600; min-width: 0; overflow-wrap: anywhere; }
  .total { margin-top: 20px; }
  .total small { display: block; color: var(--gris); font-size: 14px; }
  .total b { display: block; font-family: var(--titulo); font-weight: 400; font-size: 42px; color: var(--amarillo); line-height: 1.2; }
  .total em { font-style: normal; color: var(--gris); font-size: 14px; }
  .ahorro { margin-top: 16px; color: var(--blanco); font-weight: 700; font-size: 15px; line-height: 1.4; }
  .ahorro[hidden] { display: none; }
  .resumen .boton { width: 100%; margin-top: 20px; }
  .falta { color: var(--gris); font-size: 13px; margin-top: 10px; text-align: center; }
  .wa { display: block; text-align: center; margin-top: 14px; font-size: 14px; color: var(--gris); }
  .wa:hover { color: var(--blanco); }

  /* Barra inferior en el teléfono */
  .barra { display: none; }
  .barra-prog { display: none; }

  /* Preguntas */
  .preguntas { padding: 110px 0; }
  .preguntas h2 { font-weight: 800; font-size: clamp(30px, 3.6vw, 40px); line-height: 1.15; letter-spacing: -.02em; }
  .preguntas-lista { max-width: 760px; margin-top: 28px; }
  details { border-bottom: 1px solid var(--borde); padding: 20px 0; }
  summary { font-weight: 600; font-size: 17px; cursor: pointer; }
  details p { color: var(--gris); margin-top: 10px; }
  .asesor { display: inline-block; margin-top: 40px; border: 2px solid var(--borde); border-radius: 10px; font-weight: 700; text-decoration: none; padding: 14px 26px; }
  .asesor:hover { border-color: var(--amarillo); color: var(--amarillo); }
  .pie { border-top: 1px solid var(--borde); padding: 40px 0 56px; color: var(--gris); font-size: 13px; }
  .pie img { width: 96px; height: auto; display: block; margin-bottom: 16px; }
  .pie p { max-width: 760px; }


  /* ===== Animaciones ===== */
  .fondo { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
  .fondo span { position: absolute; display: block; }
  .rejilla { inset: -64px; background-image: linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px); background-size: 64px 64px; -webkit-mask-image: radial-gradient(ellipse at 50% 40%, #000 15%, transparent 72%); mask-image: radial-gradient(ellipse at 50% 40%, #000 15%, transparent 72%); animation: rejilla 9s linear infinite; }
  .mancha { width: 760px; height: 760px; border-radius: 50%; background: radial-gradient(circle, rgba(255, 212, 0, .2), rgba(255, 212, 0, 0) 68%); }
  .m1 { top: -260px; left: -180px; animation: flota1 13s ease-in-out infinite alternate; }
  .m2 { bottom: -340px; right: -200px; animation: flota2 16s ease-in-out infinite alternate; }
  .foco { inset: 0; opacity: 0; transition: opacity .4s; background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 50%), rgba(255, 212, 0, .16), transparent 70%); }
  .heroe.activo .foco { opacity: 1; }
  .gigante { transform: translate(calc(var(--px, 0) * 10px), calc(var(--py, 0) * 7px)); transition: transform .25s ease-out; }
  .palabra { display: inline-block; white-space: nowrap; }
  .letra { display: inline-block; }
  .animado .letra { animation: caer .75s cubic-bezier(.2, .9, .25, 1.15) both, ola 7s ease-in-out infinite; animation-delay: calc(var(--i) * 45ms), calc(1.6s + var(--i) * 70ms); }
  .animado .kicker { animation: subir .6s ease-out both; }
  .animado .portada-rejilla > div:first-child { animation: subir .7s ease-out .65s both; }
  .animado .portada-rejilla > div:last-child { animation: subir .7s ease-out .8s both; }
  .animado .reloj-bloque { animation: subir .7s ease-out 1s both; }
  .animado .oferta.principal b { animation: brillo 2.6s ease-in-out 2.2s infinite; }
  .anio { display: inline-block; color: var(--amarillo); }
  .animado .anio { animation: pulso 2.6s ease-in-out 1.6s infinite; }
  .pausado .fondo span, .pausado .letra, .pausado .oferta.principal b, .pausado .anio { animation-play-state: paused; }
  .reloj b.late { animation: late .35s ease-out; }

  .cinta-zona { position: relative; z-index: 2; overflow: hidden; padding: 26px 0; margin-bottom: -26px; }
  .cinta { width: 104%; margin-left: -2%; transform: rotate(-1.6deg); background: var(--amarillo); color: var(--negro); overflow: hidden; box-shadow: 0 10px 30px rgba(255, 212, 0, .22); }
  .cinta-pista { display: flex; align-items: center; width: max-content; padding: 11px 0; font-family: var(--titulo); font-size: 24px; line-height: 1.2; text-transform: uppercase; white-space: nowrap; animation: desliza 42s linear infinite; }
  .cinta-pista span, .cinta-pista i { padding: 0 18px; font-style: normal; }
  .cinta:hover .cinta-pista { animation-play-state: paused; }

  .animado .revela:not(.visto) { opacity: 0; }
  .animado .revela.visto { animation: subir .55s ease-out both; animation-delay: var(--d, 0ms); }
  .animado .aparece { animation: subir .4s ease-out both; animation-delay: var(--d, 0ms); }

  .opcion:has(input:checked)::after { animation: pop .35s cubic-bezier(.3, 1.7, .5, 1); }
  .opcion:has(input:checked) { box-shadow: 0 0 0 4px rgba(255, 212, 0, .12), 0 14px 34px rgba(0, 0, 0, .55); }
  .opcion:not(.cerrada):has(input:checked):hover { border-color: var(--amarillo); box-shadow: 0 0 0 4px rgba(255, 212, 0, .12), 0 14px 34px rgba(0, 0, 0, .55); }
  .opcion:has(input:checked) .pago-pct { color: var(--amarillo); }
  .opcion:has(input:checked) .gratis b { animation: pop .35s cubic-bezier(.3, 1.7, .5, 1); }
  .num { display: inline-block; }
  .paso.hecho .num { animation: pop .35s cubic-bezier(.3, 1.7, .5, 1); }
  .paso.destaca legend { animation: destaca 1s ease-out; }

  .progreso { height: 6px; border-radius: 3px; background: var(--borde); overflow: hidden; }
  .progreso span { display: block; height: 100%; width: 100%; border-radius: 3px; background: var(--amarillo); transform: scaleX(0); transform-origin: left; transition: transform .45s cubic-bezier(.2, .8, .3, 1); }
  .prog-txt { margin-top: 8px; font-size: 13px; color: var(--gris); }
  .linea span:last-child { transition: color .6s; }
  .linea.cambio span:last-child { color: var(--amarillo); transition: none; }
  .ahorro.cambio { animation: pop .4s cubic-bezier(.3, 1.5, .5, 1); }
  .boton::after { content: ''; position: absolute; top: 0; bottom: 0; left: -60%; width: 40%; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .75), transparent); transform: skewX(-20deg); transition: left .55s ease-out; }
  .boton:not([disabled]):hover::after { left: 120%; }
  .boton:not([disabled]):hover { transform: translateY(-2px); }
  .boton { transition: transform .15s ease-out, background .15s; }
  .boton:hover { background: var(--amarillo); }
  .boton[disabled]:hover { background: #333; }
  .boton.listo { animation: llama 1.8s ease-out infinite; }
  .chispa { position: absolute; width: 8px; height: 8px; pointer-events: none; }
  details[open] p { animation: subir .3s ease-out; }
  summary { transition: color .15s; }
  summary:hover { color: var(--amarillo); }

  @keyframes caer { from { opacity: 0; transform: translateY(45%) rotate(5deg) scale(.92); } to { opacity: 1; transform: none; } }
  @keyframes ola { 0%, 86%, 100% { color: var(--blanco); } 91% { color: var(--amarillo); } }
  @keyframes subir { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
  @keyframes brillo { 0%, 100% { text-shadow: 0 0 0 rgba(255, 212, 0, 0); transform: none; } 50% { text-shadow: 0 0 34px rgba(255, 212, 0, .55); transform: scale(1.04); } }
  @keyframes pulso { 0%, 100% { text-shadow: 0 0 0 rgba(255, 212, 0, 0); } 50% { text-shadow: 0 0 22px rgba(255, 212, 0, .6); } }
  @keyframes late { 0% { transform: scale(1.18); color: var(--amarillo); } 100% { transform: none; } }
  @keyframes pop { 0% { transform: scale(.4); } 100% { transform: none; } }
  @keyframes destaca { 0% { transform: translateX(-8px); color: var(--amarillo); } 100% { transform: none; } }
  @keyframes llama { 0% { box-shadow: 0 0 0 0 rgba(255, 212, 0, .55); } 100% { box-shadow: 0 0 0 18px rgba(255, 212, 0, 0); } }
  @keyframes desliza { to { transform: translateX(-50%); } }
  @keyframes rejilla { to { transform: translateY(64px); } }
  @keyframes flota1 { to { transform: translate(260px, 140px) scale(1.15); } }
  @keyframes flota2 { to { transform: translate(-300px, -120px) scale(.9); } }

  @media (max-width: 960px) {
    .portada-rejilla { grid-template-columns: minmax(0, 1fr); gap: 56px; }
    .compra-rejilla { grid-template-columns: minmax(0, 1fr); gap: 64px; }
    .resumen { position: static; }
  }
  @media (max-width: 640px) {
    body { font-size: 16px; padding-bottom: 72px; }
    html { scroll-padding-bottom: 80px; }
    .envoltura { padding-left: 20px; padding-right: 20px; }
    .cabecera { padding-top: 20px; padding-bottom: 20px; }
    .cabecera img { width: 104px; }
    .portada { padding: 16px 0 48px; }
    .kicker { font-size: 13px; }
    .gigante { white-space: normal; font-size: 31.5vw; line-height: 1.08; }
    .portada-rejilla { margin-top: 36px; }
    .bajada { font-size: 17px; }
    .portada .boton { width: 100%; }
    .oferta span { font-size: 14px; }
    .reloj-bloque { margin-top: 56px; }
    .reloj { gap: 22px; }
    .reloj b { font-size: 34px; }
    .compra { padding: 56px 0 80px; }
    .compra-sub { font-size: 17px; }
    .compra-rejilla { margin-top: 48px; }
    .paso { margin-bottom: 56px; }
    .paso legend { font-size: 21px; }
    .preguntas { padding: 72px 0; }
    .resumen { padding: 22px; }
    .cinta-pista { font-size: 19px; padding: 8px 0; }
    .barra-prog { display: block; position: absolute; top: -2px; left: 0; right: 0; height: 2px; background: var(--amarillo); transform: scaleX(0); transform-origin: left; transition: transform .45s; z-index: 1; }
    .barra { transition: transform .35s ease-out; }
    .animado .barra:not(.ver) { transform: translateY(110%); }
    .barra { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 10; align-items: center; justify-content: space-between; gap: 12px; background: var(--tarjeta-2); border-top: 2px solid var(--amarillo); padding: 10px 20px; }
    .barra small { display: block; color: var(--gris); font-size: 12px; line-height: 1.3; }
    .barra b { font-weight: 800; font-size: 18px; color: var(--amarillo); line-height: 1.2; }
    .barra a { background: var(--amarillo); color: var(--negro); border-radius: 8px; font-weight: 800; font-size: 15px; text-decoration: none; padding: 11px 14px; white-space: nowrap; }
  }
  @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } }
/* Ajustes sobre la maqueta */
.compra-rejilla > div:first-child { min-width: 0; }
.opcion > a.enlace-ficha { text-decoration: underline; }
.campos { margin-top: 18px; }
.campos[hidden], .error[hidden] { display: none; }
.campos label { display: block; font-size: 13px; color: var(--gris); margin: 12px 0 4px; }
.campos input { width: 100%; background: var(--negro); border: 2px solid var(--borde); border-radius: 10px; color: var(--blanco); font-family: var(--texto); font-size: 16px; padding: 11px 14px; }
.campos input:focus { outline: none; border-color: var(--amarillo); }
.error { margin-top: 14px; color: #ffb4a8; font-size: 14px; }
.resumen .boton { padding-left: 16px; padding-right: 16px; text-align: center; }
.bf-retorno { background: var(--amarillo); color: var(--negro); font-weight: 700; text-align: center; padding: 12px 20px; }
.bf-cerrada { min-height: 100vh; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 28px; max-width: 1200px; margin: 0 auto; padding: 40px 32px; }
.bf-cerrada .gigante { white-space: normal; margin: 0; }
.bf-landing { background: var(--negro); }

/* El tema imprime menús y modales en el pie: en esta página no aplican. */
body.bf-landing > :not(.heroe):not(.cinta-zona):not(.compra):not(.preguntas):not(.pie):not(.barra):not(.bf-retorno):not(.bf-cerrada):not(dialog):not(script):not(style):not(link):not(noscript):not([id^="cmplz"]):not([class*="cmplz"]) { display: none !important; }

/* Pedir asesoría: flecha que señala el botón y formulario en ventana. */
.asesoria-cta { display: inline-flex; align-items: center; gap: 10px; color: var(--amarillo); }
.flecha { flex: none; animation: senala 1.4s ease-in-out infinite; }
.pedir { background: transparent; color: var(--blanco); border: 2px solid var(--amarillo); border-radius: 10px; font-family: var(--texto); font-weight: 800; font-size: 16px; padding: 12px 20px; cursor: pointer; white-space: nowrap; transition: background .15s, color .15s; }
.pedir:hover { background: var(--amarillo); color: var(--negro); }
.en-cabecera .pedir { padding: 9px 16px; font-size: 15px; }
.en-portada { display: flex; margin-top: 20px; }
.portada .en-portada .pedir { padding: 14px 22px; }
.ayuda-paso { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin-top: 22px; color: var(--gris); font-size: 15px; }
.en-resumen { display: flex; justify-content: center; margin-top: 16px; }
.en-preguntas { margin-top: 40px; }
@keyframes senala { 0%, 100% { transform: translateX(-4px); } 50% { transform: translateX(5px); } }

.asesoria { width: min(520px, calc(100vw - 32px)); max-height: calc(100vh - 32px); margin: auto; background: var(--tarjeta); color: var(--blanco); border: 2px solid var(--amarillo); border-radius: 16px; padding: 32px; overflow-y: auto; font-family: var(--texto); }
.asesoria::backdrop { background: rgba(0, 0, 0, .78); }
.asesoria h2 { font-weight: 800; font-size: 26px; line-height: 1.2; }
.asesoria-sub { color: var(--gris); font-size: 15px; margin: 6px 0 12px; }
.asesoria label { display: block; color: var(--gris); font-size: 14px; margin: 14px 0 5px; }
.asesoria input[type=text], .asesoria input[type=email], .asesoria input[type=tel], .asesoria select, .asesoria textarea { width: 100%; background: var(--negro); color: var(--blanco); border: 2px solid var(--borde); border-radius: 10px; font-family: var(--texto); font-size: 16px; padding: 11px 14px; }
.asesoria input:focus, .asesoria select:focus, .asesoria textarea:focus { outline: none; border-color: var(--amarillo); }
.asesoria .consent { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; margin-top: 16px; }
.asesoria .boton { width: 100%; margin-top: 18px; text-align: center; }
.asesoria .trampa { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.asesoria .cerrar { position: absolute; top: 12px; right: 14px; width: 36px; height: 36px; background: transparent; border: 0; color: var(--gris); font-size: 28px; line-height: 1; cursor: pointer; }
.asesoria .cerrar:hover { color: var(--blanco); }
.asesoria-gracias { text-align: center; padding: 28px 0 8px; }
.asesoria-gracias h2 { color: var(--amarillo); }
.asesoria-gracias p { margin-top: 12px; font-size: 18px; }
.asesoria form[hidden], .asesoria-gracias[hidden] { display: none; }
.logali-turnstile-slot { margin-top: 14px; }
@media (max-width: 640px) {
  .asesoria { padding: 26px 20px; }
  .en-cabecera .flecha { display: none; }
}
