/* Cocuyo CSS bundle v1: generated by scripts/build-css.mjs. */
/* cocuyo-css: assets/css/idioma.css */
/* Un solo selector: compacto en la cabecera, con nombres completos en Preferencias. */
.cocuyo-idioma{position:relative;display:block;flex-shrink:0;min-height:44px;padding:0;border:1px solid #ffffff1a;border-radius:10px;background:#181b18;color:#e4e8e1;font:500 12px/1.2 var(--fuente,sans-serif)}
.cocuyo-idioma>summary{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 11px;list-style:none;border-radius:inherit;cursor:pointer;user-select:none;white-space:nowrap}
.cocuyo-idioma>summary::-webkit-details-marker{display:none}
.cocuyo-idioma svg{width:16px;height:16px;flex-shrink:0}
.cocuyo-idioma>summary .cocuyo-idioma-chevron{width:12px;height:12px;opacity:.65}
.cocuyo-idioma[open]>summary .cocuyo-idioma-chevron{transform:rotate(180deg)}
.cocuyo-idioma>summary:hover,.cocuyo-idioma[open]>summary{color:#fff;background:#ffffff0b}
.cocuyo-idioma>summary:focus-visible,.cocuyo-idioma-menu>button:focus-visible{outline:2px solid var(--verde-cocuyo,#b4f64b);outline-offset:3px}
.cocuyo-idioma-menu{position:absolute;z-index:100;right:0;top:calc(100% + 8px);min-width:172px;padding:5px;background:#191d19;border:1px solid #ffffff1c;border-radius:12px;box-shadow:0 12px 36px #0007;font:500 13px/1.3 var(--fuente,sans-serif);letter-spacing:normal}
.cocuyo-idioma:not([open])>.cocuyo-idioma-menu{display:none}
.cocuyo-idioma-menu>button{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:10px 12px;margin:0;color:#d9dfd5;border:0;border-radius:7px;background:transparent;font:inherit;text-align:left;cursor:pointer}
.cocuyo-idioma-menu>button:hover{background:#ffffff0b;color:#fff}
.cocuyo-idioma-menu>button[aria-checked="true"]{color:var(--verde-cocuyo,#b4f64b);background:#b4f64b0b}
.cocuyo-idioma-menu>button>svg{width:16px;height:16px;margin-inline-start:auto;visibility:hidden}
.cocuyo-idioma-menu>button>span{min-width:0;overflow-wrap:anywhere}
/* Veinte idiomas con bandera (dueño, 4-oct-2026): rejilla de dos columnas con desplazamiento propio. */
.cocuyo-idioma-menu{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:2px;max-width:calc(100vw - 16px);max-height:min(70vh,520px);overflow:auto;overscroll-behavior:contain}
.cocuyo-bandera{flex:none;width:24px;height:18px;border-radius:3px;object-fit:cover;box-shadow:0 0 0 1px color-mix(in srgb,var(--blanco-luz,#fff) 14%,transparent)}
.cocuyo-idioma>summary>.cocuyo-bandera{width:20px;height:15px}
.cocuyo-idioma-menu>button[aria-checked="true"]>svg{visibility:visible}
.cocuyo-idioma-arriba>.cocuyo-idioma-menu{top:auto;bottom:calc(100% + 8px)}
.cocuyo-idioma-derecha>.cocuyo-idioma-menu{right:auto;left:0}
.cocuyo-idioma.cocuyo-idioma-compacto{border-color:transparent;background:transparent;color:#d6dcd1;font-size:11px;letter-spacing:.04em}
.cocuyo-idioma-compacto>summary{gap:6px;padding-inline:9px}
.cabecera>.cocuyo-idioma{margin-left:auto}
/* El menú de cuenta puede desplazar su contenido: las opciones quedan dentro. */
body.studio-workbench #accmenu .acc-language{align-items:flex-start}
body.studio-workbench #accmenu .acc-language>span{padding-top:14px}
body.studio-workbench #accmenu .acc-language .cocuyo-idioma{padding:0;min-height:44px;max-width:none}
body.studio-workbench #accmenu .acc-language .cocuyo-idioma-menu{position:static;min-width:166px;grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;margin:0 4px 4px;border:0;box-shadow:none;background:transparent}
@media(max-width:600px){.cocuyo-idioma-compacto>summary{width:44px;padding:0;gap:0}.cocuyo-idioma-compacto>summary [data-idioma-label],.cocuyo-idioma-compacto>summary .cocuyo-idioma-chevron{display:none}.cocuyo-idioma-compacto>summary>svg{width:17px;height:17px}.cocuyo-idioma-menu{grid-template-columns:repeat(2,minmax(0,1fr));width:min(340px,calc(100vw - 16px))}}
@media(prefers-reduced-motion:no-preference){.cocuyo-idioma>summary,.cocuyo-idioma-menu>button{transition:color .15s,background .15s}.cocuyo-idioma[open]>.cocuyo-idioma-menu{animation:cocuyo-language-in .12s ease-out}@keyframes cocuyo-language-in{from{opacity:0}to{opacity:1}}}
.apoyo-idiomas{display:flex;gap:4px;padding:4px;border:1px solid var(--negro-borde);border-radius:10px;margin-left:auto}
.apoyo-idiomas a{padding:8px;color:var(--gris-niebla);font:500 12px/1.2 sans-serif;text-decoration:none;border-radius:6px}
.apoyo-idiomas a[aria-current]{background:var(--negro-elevado);color:var(--blanco-luz)}
.apoyo-idiomas a:focus-visible{outline:2px solid var(--verde-cocuyo);outline-offset:2px}
@media(max-width:480px){.apoyo-cabecera{gap:12px;flex-wrap:wrap}.apoyo-idiomas a{padding:6px}}


/* cocuyo-css: assets/css/estudio-derechos.css */
.derechos-imagen{box-sizing:border-box;width:min(500px,calc(100vw - 28px));max-height:calc(100dvh - 28px);margin:auto;padding:34px;border:1px solid var(--border2,#343434);border-radius:22px;background:var(--surface,#121212);color:var(--text,#f8fafc);font-family:var(--font,sans-serif);overflow:auto;box-shadow:0 24px 90px #0009}
.derechos-imagen::backdrop{background:#000b;backdrop-filter:blur(6px)}
.derechos-close{position:absolute;right:12px;top:10px;width:36px;height:36px;border:0;border-radius:50%;background:#ffffff08;color:inherit;font-size:24px;cursor:pointer}
.derechos-kicker{font-size:10px;letter-spacing:.13em;color:var(--studio-accent,#aff33e);margin:0 0 12px}
.derechos-imagen h2{font-size:27px;line-height:1.2;letter-spacing:-.7px;margin:0 0 13px;font-weight:600}
.derechos-imagen form>p:not(.derechos-kicker){font-size:13px;line-height:1.65;color:var(--muted2,#a8b0a9)}
.derechos-files{max-height:76px;overflow:auto;padding:10px 14px;margin:16px 0 22px;background:#ffffff04;border:1px solid var(--border,#262626);border-radius:10px;list-style:none;font-size:12px;line-height:1.8;color:var(--muted2,#a8b0a9)}
.derechos-files li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.derechos-check{display:flex;align-items:flex-start;gap:11px;font-size:13px;line-height:1.6;cursor:pointer}
.derechos-imagen input{accent-color:var(--studio-accent,#aff33e);width:17px;height:17px;flex:none;margin:3px 0 0}
.derechos-imagen [hidden]{display:none!important}
.derechos-note a{color:var(--text,#f8fafc);text-underline-offset:3px}
.derechos-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}
.derechos-actions button{min-height:44px;padding:11px 18px;border:1px solid var(--border2,#343434);border-radius:10px;background:none;color:inherit;font:550 13px var(--font,sans-serif);cursor:pointer}
.derechos-actions [type=submit]{background:var(--studio-accent,#aff33e);border-color:transparent;color:#14200b}
.derechos-actions [type=submit]:disabled{opacity:.4;cursor:default}
.derechos-imagen :is(input,button,a):focus-visible{outline:2px solid var(--studio-accent,#aff33e);outline-offset:3px}
@media(max-width:520px){.derechos-imagen{padding:30px 22px 22px}.derechos-actions{flex-wrap:wrap}.derechos-actions button{flex:1;padding-inline:12px}}


/* cocuyo-css: assets/css/acceso-modal.css */
/* ============================================================
   ACCESO COCUYO — ventana de acceso y entrar.html (Familia Cocuyo,
   29-sep-2026). Negro, casi sin bordes, mucho aire; la lima solo en la
   acción principal. Escritorio: pantalla dividida con las creaciones del
   casting en movimiento. Móvil: formulario a pantalla completa con una
   franja visual discreta arriba. Colores solo desde tokens.css.
   ============================================================ */
:root {
  --ac-fondo: var(--negro-abismo);
  --ac-campo: color-mix(in srgb, var(--blanco-luz) 6%, var(--negro-abismo));
  --ac-campo-hover: color-mix(in srgb, var(--blanco-luz) 8.5%, var(--negro-abismo));
  --ac-linea: color-mix(in srgb, var(--blanco-luz) 8%, transparent);
  --ac-linea-fuerte: color-mix(in srgb, var(--blanco-luz) 20%, transparent);
  /* Borde de los campos (revisión de diseño, 5-oct-2026): sin él, el
     recuadro al 6 % quedaba a 1,1:1 del fondo y solo se veía el texto de
     ejemplo flotando. Es el mismo blanco al 32 % de los subrayados. */
  --ac-borde-campo: color-mix(in srgb, var(--blanco-luz) 32%, transparent);
  --ac-texto: var(--blanco-luz);
  --ac-texto-2: color-mix(in srgb, var(--blanco-luz) 70%, var(--negro-abismo));
  --ac-texto-3: color-mix(in srgb, var(--blanco-luz) 52%, var(--negro-abismo));
  --ac-lima: var(--verde-cocuyo);
  --ac-foco: 0 0 0 3px color-mix(in srgb, var(--verde-cocuyo) 22%, transparent);
  --ac-error: var(--peligro);
  --ac-foco-error: 0 0 0 3px color-mix(in srgb, var(--peligro) 20%, transparent);
  --ac-curva: cubic-bezier(.2, .7, .2, 1);
}

/* ---------- Diálogo ---------- */
html.acceso-modal-abierto { overflow: hidden; }
.acceso-modal { display: grid; grid-template-columns: minmax(0, 1fr) minmax(400px, 468px); width: min(1080px, calc(100% - 48px)); height: min(700px, calc(100dvh - 48px)); max-width: none; max-height: none; margin: auto; padding: 0; border: 1px solid var(--ac-linea); border-radius: 22px; background: var(--ac-fondo); color: var(--ac-texto); box-shadow: var(--sombra-3); font-family: var(--fuente); overflow: hidden; overscroll-behavior: contain; }
.acceso-modal:not([open]) { display: none; }
.acceso-modal::backdrop { background: color-mix(in srgb, var(--negro-abismo) 84%, transparent); backdrop-filter: blur(8px); }
.acceso-modal[open] { animation: ac-entrada 260ms var(--ac-curva); }
@keyframes ac-entrada { from { opacity: 0; transform: translateY(8px) scale(.99); } to { opacity: 1; transform: none; } }
/* crear.html (y sus traducciones) carga esta hoja SIN tokens.css: los parches
   de [hidden] se quedan y el foco lleva valores de respaldo (5-oct-2026). */
.acceso-modal [hidden] { display: none !important; }
.acceso-modal button, .acceso-modal a, .acceso-modal input { -webkit-tap-highlight-color: transparent; }
.acceso-modal button { font-family: inherit; cursor: pointer; }
.acceso-modal-visual { position: relative; min-width: 0; min-height: 0; }
.acceso-modal-contenido { position: relative; min-width: 0; min-height: 0; overflow-y: auto; overscroll-behavior: contain; display: flex; flex-direction: column; padding: 64px 52px 40px; }
.acceso-modal-formulario { width: 100%; max-width: 364px; margin: auto; }
.acceso-modal-cerrar { position: absolute; z-index: 3; top: 14px; right: 14px; display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--ac-texto-3); transition: background-color 160ms ease, color 160ms ease; }
.acceso-modal-cerrar:hover { color: var(--ac-texto); background: var(--ac-campo); }
.acceso-modal :is(button, a):focus-visible, .acceso-legal a:focus-visible { outline: var(--foco-contorno, 2px solid var(--verde-cocuyo)); outline-offset: var(--foco-separacion, 2px); }

/* ---------- Visual de marca: mosaico del casting (compartido) ---------- */
.acceso-visual { position: relative; isolation: isolate; overflow: hidden; background: var(--negro-abismo); }
.acceso-visual-mosaico { position: absolute; inset: -4% 0 auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding: 0 10px; }
.acceso-visual-columna { display: flex; flex-direction: column; gap: 10px; animation: ac-deriva 48s ease-in-out infinite alternate; will-change: transform; }
.acceso-visual-columna:nth-child(2) { margin-top: -22%; animation-duration: 56s; animation-direction: alternate-reverse; }
.acceso-visual-columna:nth-child(3) { margin-top: -9%; animation-duration: 52s; }
.acceso-visual-pieza { position: relative; margin: 0; aspect-ratio: 3 / 4; overflow: hidden; border-radius: 16px; background: var(--ac-campo); }
.acceso-visual-pieza video { display: block; width: 100%; height: 100%; object-fit: cover; }
@keyframes ac-deriva { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(0, -12%, 0); } }
.acceso-visual-quieto .acceso-visual-columna, .acceso-visual-quieto .acceso-visual-mosaico { animation-play-state: paused; }
.acceso-visual-velo { position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(180deg, color-mix(in srgb, var(--negro-abismo) 40%, transparent) 0%, transparent 20%, transparent 36%, color-mix(in srgb, var(--negro-abismo) 78%, transparent) 62%, var(--negro-abismo) 92%), linear-gradient(90deg, transparent 70%, color-mix(in srgb, var(--negro-abismo) 60%, transparent)); }
.acceso-visual-texto { position: absolute; z-index: 2; left: 40px; right: 40px; bottom: 36px; }
.acceso-visual .acceso-visual-kicker { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 14px; color: var(--ac-texto-2); font-size: 13px; font-weight: 500; letter-spacing: 0; }
.acceso-visual-kicker::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--ac-lima); }
.acceso-visual .acceso-visual-titulo { max-width: 13ch; margin: 0; color: var(--ac-texto); font-family: var(--fuente); font-size: clamp(30px, 3.1vw, 42px); font-weight: 500; line-height: 1.04; letter-spacing: -.04em; text-wrap: balance; }
.acceso-visual .acceso-visual-sub { max-width: 34ch; margin: 12px 0 0; color: var(--ac-texto-2); font-size: 15px; line-height: 1.5; }
.acceso-visual-pausa { position: absolute; z-index: 2; top: 16px; left: 16px; display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; background: color-mix(in srgb, var(--negro-abismo) 55%, transparent); color: var(--ac-texto); backdrop-filter: blur(10px); cursor: pointer; }
.acceso-visual-pausa:hover { background: color-mix(in srgb, var(--negro-abismo) 75%, transparent); }
.acceso-visual-pausa:focus-visible { outline: var(--foco-contorno, 2px solid var(--verde-cocuyo)); outline-offset: var(--foco-separacion, 2px); }

/* ---------- Formulario (compartido con entrar.html) ---------- */
:is(.acceso-modal, .acceso-pagina) .ac-marca { display: inline-block; margin: 0 0 30px; color: var(--ac-texto); font-size: 15px; font-weight: 650; letter-spacing: -.03em; line-height: 1; }
:is(.acceso-modal, .acceso-pagina) .ac-marca .o-viva { color: var(--ac-lima); text-shadow: none; }
:is(.acceso-modal, .acceso-pagina) .ac-titulo { margin: 0; color: var(--ac-texto); font-family: var(--fuente); font-size: 30px; font-weight: 550; line-height: 1.1; letter-spacing: -.035em; text-wrap: balance; outline: none; }
:is(.acceso-modal, .acceso-pagina) .ac-sub { margin: 10px 0 30px; color: var(--ac-texto-2); font-size: 15px; line-height: 1.5; text-wrap: pretty; }
:is(.acceso-modal, .acceso-pagina) .ac-titulo:focus, :is(.acceso-modal, .acceso-pagina) .ac-titulo:focus-visible { outline: none; box-shadow: none; }
:is(.acceso-modal, .acceso-pagina) .ac-social { min-height: 0; }
:is(.acceso-modal, .acceso-pagina) .ac-social .acceso-social-separador { margin-top: 24px; }
:is(.acceso-modal, .acceso-pagina) [data-am-form], :is(.acceso-modal, .acceso-pagina) .ac-form { display: flex; flex-direction: column; margin: 0; }
:is(.acceso-modal, .acceso-pagina) .ac-label { display: block; margin: 22px 0 8px; color: var(--ac-texto-2); font-size: 13px; font-weight: 500; line-height: 1.4; }
:is(.acceso-modal, .acceso-pagina) [data-am-form] > .ac-label:first-child { margin-top: 18px; }
:is(.acceso-modal, .acceso-pagina) .ac-input { display: block; width: 100%; height: 52px; margin: 0; padding: 0 16px; border: 1px solid var(--ac-borde-campo); border-radius: 14px; background: var(--ac-campo); color: var(--ac-texto); font-family: inherit; font-size: 16px; line-height: 1.4; outline: none; box-shadow: none; caret-color: var(--ac-lima); transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease; }
:is(.acceso-modal, .acceso-pagina) .ac-input::placeholder { color: var(--ac-texto-3); }
:is(.acceso-modal, .acceso-pagina) .ac-input:hover { background: var(--ac-campo-hover); }
:is(.acceso-modal, .acceso-pagina) .ac-input:focus { border-color: color-mix(in srgb, var(--verde-cocuyo) 55%, transparent); box-shadow: var(--ac-foco); background: var(--ac-campo); }
:is(.acceso-modal, .acceso-pagina) .ac-input[aria-invalid="true"], :is(.acceso-modal, .acceso-pagina) .ac-input[aria-invalid="true"]:focus { border-color: var(--ac-error); box-shadow: var(--ac-foco-error); }
:is(.acceso-modal, .acceso-pagina) .ac-aviso { margin: 10px 0 0; color: var(--ac-texto-2); font-size: 13px; line-height: 1.5; text-wrap: pretty; }
:is(.acceso-modal, .acceso-pagina) .ac-aviso.es-error { color: var(--ac-error); }
:is(.acceso-modal, .acceso-pagina) .ac-principal { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 50px; margin: 18px 0 0; padding: 12px 20px; border: 0; border-radius: 999px; background: var(--ac-lima); color: var(--tinta-sobre-verde); font-family: inherit; font-size: 15px; font-weight: 600; line-height: 1.2; letter-spacing: -.01em; cursor: pointer; transition: background-color 160ms ease, box-shadow 160ms ease, opacity 160ms ease, transform 160ms ease; }
:is(.acceso-modal, .acceso-pagina) .ac-principal:hover:not(:disabled) { background: var(--lima-clara); box-shadow: 0 0 22px color-mix(in srgb, var(--verde-cocuyo) 22%, transparent); }
:is(.acceso-modal, .acceso-pagina) .ac-principal:active:not(:disabled) { transform: scale(.99); }
:is(.acceso-modal, .acceso-pagina) .ac-principal:disabled { opacity: .42; cursor: not-allowed; }
:is(.acceso-modal, .acceso-pagina) .ac-principal[data-cargando] { opacity: .88; cursor: progress; }
:is(.acceso-modal, .acceso-pagina) .ac-principal[data-cargando]::before { content: ''; flex: none; width: 16px; height: 16px; border: 2px solid color-mix(in srgb, var(--tinta-sobre-verde) 25%, transparent); border-top-color: var(--tinta-sobre-verde); border-radius: 50%; animation: ac-giro 700ms linear infinite; }
@keyframes ac-giro { to { transform: rotate(360deg); } }
:is(.acceso-modal, .acceso-pagina) .ac-principal:focus-visible { outline: var(--foco-contorno, 2px solid var(--verde-cocuyo)); outline-offset: var(--foco-separacion, 2px); }
:is(.acceso-modal, .acceso-pagina) .ac-enlace { display: inline-flex; align-items: center; min-height: 44px; margin: 0; padding: 10px 4px; border: 0; background: transparent; color: var(--ac-texto); font: inherit; font-size: 14px; font-weight: 500; line-height: 1.3; text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--blanco-luz) 32%, transparent); text-underline-offset: 3px; cursor: pointer; }
:is(.acceso-modal, .acceso-pagina) .ac-enlace:hover:not(:disabled) { text-decoration-color: currentColor; }
:is(.acceso-modal, .acceso-pagina) .ac-enlace:disabled { opacity: .5; cursor: default; }
:is(.acceso-modal, .acceso-pagina) .ac-alternativa { display: flex; justify-content: center; width: 100%; margin: 14px 0 0; }
:is(.acceso-modal, .acceso-pagina) .ac-cambio { margin: 26px 0 0; color: var(--ac-texto-3); font-size: 14px; line-height: 1.5; text-align: center; }
:is(.acceso-modal, .acceso-pagina) .ac-cambio button { min-height: 44px; padding: 10px 4px; border: 0; background: transparent; color: var(--ac-texto); font: inherit; font-weight: 550; text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--blanco-luz) 32%, transparent); text-underline-offset: 3px; cursor: pointer; }
:is(.acceso-modal, .acceso-pagina) .ac-cambio button:hover { text-decoration-color: currentColor; }
:is(.acceso-modal, .acceso-pagina) .ac-correo { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; margin: 0 0 6px; padding: 4px 6px 4px 16px; border-radius: 14px; background: var(--ac-campo); }
:is(.acceso-modal, .acceso-pagina) .ac-correo > span { min-width: 0; color: var(--ac-texto); font-size: 15px; line-height: 1.4; overflow-wrap: anywhere; }
:is(.acceso-modal, .acceso-pagina) .ac-correo .ac-enlace { flex: none; padding-inline: 10px; }
:is(.acceso-modal, .acceso-pagina) .ac-otp { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
:is(.acceso-modal, .acceso-pagina) .ac-otp-caja { display: block; width: 100%; min-width: 0; height: 60px; margin: 0; padding: 0; border: 1px solid var(--ac-borde-campo); border-radius: 14px; background: var(--ac-campo); color: var(--ac-texto); font-family: var(--fuente); font-size: 24px; font-weight: 600; line-height: 1; text-align: center; font-variant-numeric: tabular-nums; caret-color: var(--ac-lima); outline: none; transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease; }
:is(.acceso-modal, .acceso-pagina) .ac-otp-caja:hover { background: var(--ac-campo-hover); }
:is(.acceso-modal, .acceso-pagina) .ac-otp-caja:focus { border-color: color-mix(in srgb, var(--verde-cocuyo) 55%, transparent); box-shadow: var(--ac-foco); background: var(--ac-campo); }
:is(.acceso-modal, .acceso-pagina) .ac-otp-caja[aria-invalid="true"] { border-color: var(--ac-error); }
:is(.acceso-modal, .acceso-pagina) .ac-otp-caja:disabled { opacity: .6; }
:is(.acceso-modal, .acceso-pagina) .ac-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 14px 0 0; color: var(--ac-texto-3); font-size: 13px; line-height: 1.45; }
:is(.acceso-modal, .acceso-pagina) .ac-meta .ac-enlace { flex: none; font-size: 13px; }
:is(.acceso-modal, .acceso-pagina) .ac-nota { margin: 18px 0 0; color: var(--ac-texto-3); font-size: 13px; line-height: 1.55; text-align: center; }
:is(.acceso-modal, .acceso-pagina) .ac-nota .ac-enlace { display: inline; min-height: 0; padding: 0; font-size: 13px; }
:is(.acceso-modal, .acceso-pagina) p.acceso-legal { margin: 16px 0 0; color: var(--ac-texto-3); font-size: 12px; line-height: 1.6; text-align: center; }

/* Alta sin casilla: frase legal pequeña y atenuada bajo el botón; enlaces
   subrayados. p.acceso-legal gana a los «.hero-entrar p» / «.intro-* p». */
p.acceso-legal { margin: 16px 0 0; color: var(--ac-texto-3); font-family: var(--fuente); font-size: 12px; font-weight: 400; line-height: 1.6; text-align: center; text-wrap: pretty; }
.acceso-legal a { color: var(--ac-texto-2); text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--blanco-luz) 32%, transparent); text-underline-offset: 3px; }
.acceso-legal a:hover { color: var(--ac-texto); text-decoration-color: currentColor; }
.acceso-legal[hidden] { display: none !important; }
.formulario > .acceso-legal { margin-top: -6px; }
.form-intro-correo .acceso-legal { flex: 0 0 100%; grid-column: 1 / -1; width: 100%; margin: 4px 0 2px; padding: 0 .75rem .35rem; color: var(--gris-niebla); }

/* Correos de novedades y ofertas (4-oct-2026): casilla OPCIONAL y desmarcada
   antes de Continuar. Discreta, alineada a la izquierda; lima solo al marcar. */
.acceso-marketing { display: flex; align-items: flex-start; gap: 10px; margin: 14px 0 0; color: var(--ac-texto-2); font-family: var(--fuente); font-size: 13px; font-weight: 400; line-height: 1.5; text-align: left; cursor: pointer; }
.acceso-marketing[hidden] { display: none !important; }
.acceso-marketing input { flex: none; width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--ac-lima); cursor: pointer; }
.acceso-marketing input:focus-visible { outline: var(--foco-contorno, 2px solid var(--verde-cocuyo)); outline-offset: var(--foco-separacion, 2px); }
.acceso-marketing:has(input:disabled) { opacity: .6; cursor: default; }
.form-intro-correo .acceso-marketing { flex: 0 0 100%; grid-column: 1 / -1; width: 100%; margin: 4px 0 0; padding: 0 .75rem; color: var(--gris-niebla); }

/* ---------- Pantallas medianas ---------- */
@media (max-width: 1000px) and (min-width: 821px) {
  .acceso-modal { grid-template-columns: minmax(0, .8fr) minmax(380px, 1fr); }
  .acceso-modal-contenido { padding: 56px 40px 36px; }
  .acceso-visual-texto { left: 28px; right: 28px; bottom: 28px; }
}
@media (max-height: 720px) and (min-width: 821px) {
  .acceso-modal-contenido { padding-top: 48px; padding-bottom: 28px; }
  :is(.acceso-modal, .acceso-pagina) .ac-marca { margin-bottom: 22px; }
  :is(.acceso-modal, .acceso-pagina) .ac-sub { margin-bottom: 22px; }
}

/* ---------- Móvil: pantalla completa y franja visual arriba ---------- */
@media (max-width: 820px) {
  .acceso-modal { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); width: 100%; height: 100%; height: 100dvh; max-height: 100dvh; margin: 0; border: 0; border-radius: 0; box-shadow: none; }
  .acceso-modal[open] { animation-name: ac-entrada-movil; }
  @keyframes ac-entrada-movil { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
  .acceso-modal-visual { height: calc(128px + env(safe-area-inset-top)); }
  .acceso-modal-contenido { padding: 20px 20px calc(28px + env(safe-area-inset-bottom)); }
  .acceso-modal-formulario { max-width: 440px; margin: 0 auto; }
  .acceso-modal-cerrar { position: fixed; top: calc(10px + env(safe-area-inset-top)); right: 10px; color: var(--ac-texto); background: color-mix(in srgb, var(--negro-abismo) 55%, transparent); backdrop-filter: blur(10px); }
  .acceso-modal-cerrar:hover { background: color-mix(in srgb, var(--negro-abismo) 75%, transparent); }
  /* Paso del código y contraseña: el teclado necesita el sitio. */
  .acceso-modal:is([data-acceso-paso="codigo"], [data-acceso-paso="password"]) .acceso-modal-visual { height: calc(56px + env(safe-area-inset-top)); }
  .acceso-modal .acceso-visual-pausa { top: auto; bottom: 10px; left: 12px; width: 30px; height: 30px; }
  :is(.acceso-modal, .acceso-pagina) .ac-marca { margin-bottom: 18px; }
  :is(.acceso-modal, .acceso-pagina) .ac-titulo { font-size: 26px; }
  :is(.acceso-modal, .acceso-pagina) .ac-sub { margin: 8px 0 22px; font-size: 15px; }
  /* Franja: una fila de tres creaciones con un paneo lento. */
  .acceso-visual-mosaico { inset: 0; padding: 0; gap: 4px; animation: ac-paneo 36s ease-in-out infinite alternate; }
  .acceso-visual-columna { gap: 0; margin-top: 0 !important; animation: none; }
  .acceso-visual-pieza { height: 100%; aspect-ratio: auto; border-radius: 0; }
  .acceso-visual-pieza:not(:first-child) { display: none; }
  .acceso-visual-texto { display: none; }
  .acceso-visual-velo { background: linear-gradient(180deg, color-mix(in srgb, var(--negro-abismo) 25%, transparent) 0%, transparent 35%, var(--negro-abismo) 100%); }
  @keyframes ac-paneo { from { transform: scale(1.08) translate3d(-2%, 0, 0); } to { transform: scale(1.08) translate3d(2%, 0, 0); } }
}
@media (max-width: 820px) and (max-height: 640px) {
  .acceso-modal-visual { height: calc(72px + env(safe-area-inset-top)); }
  :is(.acceso-modal, .acceso-pagina) .ac-marca { display: none; }
}
@media (max-width: 380px) {
  .acceso-modal-contenido { padding-inline: 16px; }
  :is(.acceso-modal, .acceso-pagina) .ac-otp { gap: 6px; }
  :is(.acceso-modal, .acceso-pagina) .ac-otp-caja { height: 54px; font-size: 22px; border-radius: 12px; }
  :is(.acceso-modal, .acceso-pagina) .ac-meta { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
  .acceso-modal[open], .acceso-visual-columna, .acceso-visual-mosaico { animation: none !important; }
  :is(.acceso-modal, .acceso-pagina) .ac-principal[data-cargando]::before { animation-duration: 2.4s; }
  :is(.acceso-modal, .acceso-pagina) .ac-input, :is(.acceso-modal, .acceso-pagina) .ac-otp-caja, :is(.acceso-modal, .acceso-pagina) .ac-principal, .acceso-modal-cerrar { transition: none; }
}

