/* ── ds/80-comercio.css ── */
body.tema-club {
  --muted: var(--texto-secundario);
  --line: var(--oro-a18);
  --card: var(--fondo-superficie);
  --gold: var(--ornamento-oro);
  --gold-2: var(--texto-oro);
  --gold-line: var(--borde-dorado);
  --paper-2: var(--fondo-sutil);
  --shadow: none;
  --shadow-soft: none;
}
body.tema-club .estado-caja,
body.tema-club .consent-texto,
body.tema-club .tarjeta,
body.tema-club .acceso-caja,
body.tema-club .resultado-caja { --navy: var(--texto-primario); }
body.tema-club .tarjeta,
body.tema-club .tabla-marco,
body.tema-club .formula-tarjeta,
body.tema-club .resultado-caja,
body.tema-club .acceso-caja,
body.tema-club .qr-2fa,
body.tema-club .btn,
body.tema-club .btn-oro,
body.tema-club .btn-oro:hover,
body.tema-club .kpi { box-shadow: none; }
.tabla,
.kpi-cifra,
.stat-num,
.resultado-valor,
.anillo-cifra,
input[type=number],
.codigo-secreto{
  font-variant-numeric: lining-nums tabular-nums;
}
:root {
  --cx-caja: var(--radio-md);
  --cx-caja-chica: var(--radio-sm);
}
.campo { display: block; margin-bottom: var(--esp-5); }
.campo > label,
.campo label {
  display: block;
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-xs);
  font-weight: var(--peso-semi);
  letter-spacing: var(--tracking-ancho);
  text-transform: uppercase;
  color: var(--texto-secundario);
  margin: 0 0 var(--esp-2);
  line-height: 1.4;
}
.campo input, .campo select, .campo textarea,
input[type=text], input[type=email], input[type=password], input[type=number],
input[type=date], input[type=search], input[type=tel], input[type=url],
select, textarea {
  width: 100%;
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-base);
  font-weight: var(--peso-normal);
  line-height: 1.4;
  color: var(--texto-primario);
  background-color: transparent;
  background-image: linear-gradient(
    to bottom,
    color-mix(in srgb, var(--blanco) 9%, transparent),
    color-mix(in srgb, var(--blanco) 5%, transparent));
  border: var(--borde-fino) solid var(--borde-medio);
  border-radius: var(--cx-caja);
  padding: var(--esp-4);
  min-height: 52px;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
  transition:
    border-color var(--dur-rapida) var(--curva-salida),
    background-color var(--dur-rapida) var(--curva-salida),
    box-shadow var(--dur-rapida) var(--curva-salida);
}
.campo input::placeholder, .campo textarea::placeholder,
input::placeholder, textarea::placeholder {
  color: var(--texto-secundario);
  opacity: .75;
}
.campo input:hover:not(:disabled), .campo select:hover:not(:disabled),
.campo textarea:hover:not(:disabled),
input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):hover:not(:disabled),
select:hover:not(:disabled), textarea:hover:not(:disabled) {
  border-color: color-mix(in srgb, var(--ornamento-oro) 45%, var(--borde-medio));
}
.campo input:focus, .campo select:focus, .campo textarea:focus,
.campo input:focus-visible, .campo select:focus-visible, .campo textarea:focus-visible,
input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):focus,
select:focus, textarea:focus {
  outline: none;
  border-color: var(--ornamento-oro);
  box-shadow:
    0 0 0 2px var(--fondo-base),
    0 0 0 4px color-mix(in srgb, var(--oro) 72%, transparent);
}
.campo input:active, .campo select:active, .campo textarea:active {
  border-color: var(--ornamento-oro);
}
.campo input:user-invalid, .campo select:user-invalid, .campo textarea:user-invalid,
.campo input[aria-invalid="true"], .campo select[aria-invalid="true"],
.campo textarea[aria-invalid="true"],
input[aria-invalid="true"], select[aria-invalid="true"], textarea[aria-invalid="true"] {
  border-color: var(--estado-error);
  background-image: linear-gradient(
    to bottom,
    color-mix(in srgb, var(--estado-error) 12%, transparent),
    color-mix(in srgb, var(--estado-error) 8%, transparent));
}
.campo input:user-invalid:focus, .campo select:user-invalid:focus,
.campo textarea:user-invalid:focus,
.campo input[aria-invalid="true"]:focus, .campo textarea[aria-invalid="true"]:focus {
  border-color: var(--estado-error);
  box-shadow:
    0 0 0 1px var(--estado-error),
    0 0 0 4px color-mix(in srgb, var(--estado-error) 26%, transparent);
}
.campo-error {
  display: block;
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-xs);
  color: var(--estado-error);
  margin-top: var(--esp-2);
  letter-spacing: var(--tracking-normal);
  text-transform: none;
}
.campo-ayuda {
  display: block;
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-xs);
  color: var(--texto-secundario);
  margin-top: var(--esp-2);
  line-height: var(--interlinea-normal);
  text-transform: none;
  letter-spacing: var(--tracking-normal);
  max-width: 48ch;
}
.campo input:disabled, .campo select:disabled, .campo textarea:disabled {
  background-color: transparent;
  background-image: none;
  box-shadow: none;
  border-color: transparent;
  border-bottom: var(--borde-fino) solid var(--borde-tenue);
  border-radius: 0;
  padding-left: 0;
  padding-right: 0;
  color: var(--texto-secundario);
  cursor: default;
  opacity: 1;
  -webkit-text-fill-color: var(--texto-secundario);
}
.campo:has(input:disabled) > label,
.campo:has(select:disabled) > label { color: var(--texto-secundario); opacity: .8; }
form[action="/mi/editar"] .campo:has(input:disabled) > label::after {
  content: " · administrado por AX";
  font-size: var(--tipo-xs);
  letter-spacing: var(--tracking-ancho);
  color: var(--texto-oro);
  text-transform: uppercase;
  vertical-align: baseline;
  margin-left: .2em;
}
.campo input[readonly], .campo textarea[readonly] {
  background-color: var(--fondo-hundido);
  background-image: none;
  border-style: dashed;
  color: var(--texto-secundario);
}
.campo select, select {
  padding-right: var(--esp-10);
  background-image:
    linear-gradient(45deg, transparent 50%, var(--texto-secundario) 50%),
    linear-gradient(135deg, var(--texto-secundario) 50%, transparent 50%),
    linear-gradient(to bottom,
      color-mix(in srgb, var(--blanco) 9%, transparent),
      color-mix(in srgb, var(--blanco) 5%, transparent));
  background-position: calc(100% - 22px) 54%, calc(100% - 17px) 54%, 0 0;
  background-size: 5px 5px, 5px 5px, 100% 100%;
  background-repeat: no-repeat;
  cursor: pointer;
}
.campo select:disabled, select:disabled { background-image: none; cursor: default; }
.campo textarea, textarea {
  min-height: 9rem;
  line-height: var(--interlinea-normal);
  font-family: var(--fuente-lectura);
  resize: vertical;
}
.campo input[type=file] {
  padding: var(--esp-2);
  background-color: transparent;
  background-image: none;
  border-style: dashed;
  border-color: var(--borde-tenue);
  color: var(--texto-secundario);
  font-size: var(--tipo-sm);
  cursor: pointer;
}
.campo input[type=file]::file-selector-button {
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-xs);
  font-weight: var(--peso-semi);
  letter-spacing: var(--tracking-ancho);
  text-transform: uppercase;
  color: var(--texto-primario);
  background: transparent;
  border: var(--borde-fino) solid var(--borde-dorado);
  border-radius: 0;
  padding: var(--esp-2) var(--esp-4);
  margin-right: var(--esp-4);
  min-height: 36px;
  cursor: pointer;
  transition: background var(--dur-rapida) var(--curva-salida),
              border-color var(--dur-rapida) var(--curva-salida);
}
.campo input[type=file]:hover { border-color: var(--borde-dorado); }
.campo input[type=file]::file-selector-button:hover {
  background: color-mix(in srgb, var(--oro) 12%, transparent);
  border-color: var(--ornamento-oro);
}
.check-linea, .campo-check {
  display: flex;
  align-items: flex-start;
  gap: var(--esp-3);
  margin-bottom: var(--esp-4);
  padding: var(--esp-3) 0;
}
.check-linea > label, .check-linea > span,
.campo-check > label {
  display: block;
  font-family: var(--fuente-lectura);
  font-size: var(--tipo-sm);
  font-weight: var(--peso-normal);
  letter-spacing: var(--tracking-normal);
  text-transform: none;
  color: var(--texto-secundario);
  margin: 0;
  line-height: var(--interlinea-normal);
  cursor: pointer;
}
.campo-check > label {
  display: flex;
  align-items: flex-start;
  gap: var(--esp-3);
  min-height: 44px;
  align-content: center;
  flex-wrap: wrap;
}
.campo-check > label > input[type=checkbox] { margin-top: .15em; }
.campo-check > p { margin-left: calc(20px + var(--esp-3)); }
input[type=checkbox], input[type=radio] {
  width: 20px; height: 20px;
  min-height: 0;
  flex: 0 0 auto;
  margin: .15em 0 0;
  padding: 0;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  display: inline-grid;
  place-content: center;
  background: var(--negro-100);
  border: var(--borde-fino) solid var(--oro-a30);
  border-radius: var(--radio-0);
  color: var(--ornamento-oro);
  transition: border-color var(--dur-rapida) var(--curva-salida);
}
input[type=checkbox]::before, input[type=radio]::before {
  content: "";
  width: 10px; height: 10px;
  background: currentColor;
  transform: scale(0);
  transition: transform var(--dur-rapida) var(--curva-salida);
}
input[type=checkbox]::before {
  clip-path: polygon(13% 48%, 0 62%, 39% 100%, 100% 19%, 86% 6%, 37% 72%);
}
input[type=radio]::before { border-radius: 50%; }
input[type=checkbox]:checked::before, input[type=radio]:checked::before { transform: scale(1); }
input[type=checkbox]:checked, input[type=radio]:checked { border-color: var(--ornamento-oro); }
input[type=checkbox]:hover, input[type=radio]:hover { border-color: var(--oro-a55); }
input[type=radio] { border-radius: 50%; }
input[type=checkbox]:focus-visible, input[type=radio]:focus-visible {
  outline: none;
  border-color: var(--ornamento-oro);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--oro) 34%, transparent);
}
input[type=checkbox]:disabled, input[type=radio]:disabled { opacity: .4; cursor: not-allowed; }
.campos-2 { display: grid; grid-template-columns: 1fr; gap: 0 var(--esp-5); }
@media (min-width: 640px) { .campos-2 { grid-template-columns: 1fr 1fr; } }
.campo-grupo { border: 0; padding: 0; margin: 0 0 var(--esp-8); }
.campo-grupo > legend {
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-xs);
  font-weight: var(--peso-semi);
  letter-spacing: var(--tracking-etiqueta);
  text-transform: uppercase;
  color: var(--texto-oro);
  padding: 0 0 var(--esp-3);
  margin: 0;
  width: 100%;
  border-bottom: var(--borde-fino) solid var(--borde-tenue);
}
.campo-grupo > legend + * { margin-top: var(--esp-5); }
input[autocomplete="one-time-code"], input[name="code"] {
  font-family: var(--fuente-datos);
  font-weight: var(--peso-semi);
}
.btn {
  min-height: 48px;
  letter-spacing: var(--tracking-nav);
  text-align: center;
  transition:
    background var(--dur-rapida) var(--curva-salida),
    border-color var(--dur-rapida) var(--curva-salida),
    color var(--dur-rapida) var(--curva-salida),
    transform var(--dur-rapida) var(--curva-salida);
}
.btn:focus-visible {
  outline: none;
  box-shadow:
    0 0 0 1px var(--ornamento-oro),
    0 0 0 4px color-mix(in srgb, var(--oro) 30%, transparent);
}
.btn-oro {
  background: var(--degradado-oro);
  border-color: transparent;
  color: var(--nivel-gold-tinta);
  font-weight: var(--peso-semi);
}
.btn-oro:hover { filter: brightness(1.05); border-color: transparent; }
.btn-oro:active { filter: brightness(.97); }
.btn-oro:focus-visible {
  box-shadow:
    0 0 0 2px var(--fondo-base),
    0 0 0 4px var(--ornamento-oro);
}
.campanas-rejilla > *:not(:first-child) .btn-oro {
  background: transparent;
  border-color: var(--borde-dorado);
  color: var(--texto-primario);
  font-weight: var(--peso-semi);
  filter: none;
}
.campanas-rejilla > *:not(:first-child) .btn-oro:hover {
  background: color-mix(in srgb, var(--oro) 10%, transparent);
  border-color: var(--ornamento-oro);
  filter: none;
}
.btn-linea {
  border-color: var(--borde-medio);
  color: var(--texto-primario);
  background: transparent;
}
.btn-linea:hover {
  background: var(--fondo-sutil);
  border-color: var(--borde-plata);
  color: var(--texto-primario);
}
.btn-linea-oro, .btn-borde-oro {
  border-color: var(--borde-dorado);
  color: var(--texto-oro);
  background: transparent;
}
.btn-linea-oro:hover, .btn-borde-oro:hover {
  background: color-mix(in srgb, var(--oro) 10%, transparent);
  border-color: var(--ornamento-oro);
  color: var(--texto-primario);
}
.btn.btn-peligro {
  background: transparent;
  -webkit-text-fill-color: var(--estado-error);
  box-shadow: inset 0 0 0 var(--borde-fino) var(--estado-error);
}
.btn.btn-peligro:hover {
  background: color-mix(in srgb, var(--estado-error) 12%, transparent);
  box-shadow: inset 0 0 0 var(--borde-medio-grosor) var(--estado-error);
}
.btn.btn-peligro:focus-visible {
  box-shadow:
    inset 0 0 0 var(--borde-fino) var(--estado-error),
    0 0 0 4px color-mix(in srgb, var(--estado-error) 30%, transparent);
}
.btn[disabled], .btn:disabled, .btn[aria-disabled="true"] {
  opacity: .42;
  cursor: not-allowed;
  filter: none;
  transform: none;
  pointer-events: none;
}
.btn[aria-busy="true"], .btn.esta-cargando {
  cursor: progress;
  pointer-events: none;
}
.btn[aria-busy="true"]::after, .btn.esta-cargando::after {
  content: "";
  flex: 0 0 auto;
  width: 18px; height: 18px;
  border-radius: var(--radio-pastilla);
  border: calc(3 * var(--borde-fino)) solid currentColor;
  border-top-color: transparent;
  animation: comercio-giro var(--dur-cine) steps(12) infinite;
}
@keyframes comercio-giro { to { transform: rotate(360deg); } }
.acciones-fila { display: flex; flex-wrap: wrap; gap: var(--esp-3); align-items: center; }
.acciones-fila--fin { justify-content: flex-end; }
.form-pie {
  display: flex; flex-wrap: wrap; align-items: center; gap: var(--esp-4);
  margin-top: var(--esp-8);
  padding-top: var(--esp-5);
  border-top: var(--borde-fino) solid var(--borde-tenue);
}
.form-pie > .btn { flex: 0 0 auto; }
.form-pie > p { margin: 0; font-size: var(--tipo-xs); color: var(--texto-secundario); max-width: 42ch; }
.aviso {
  position: relative;
  border: var(--borde-fino) solid var(--borde-tenue);
  border-left-width: var(--borde-fino);
  border-radius: var(--cx-caja);
  background: var(--fondo-sutil);
  color: var(--texto-primario);
  font-family: var(--fuente-lectura);
  font-size: var(--tipo-sm);
  line-height: var(--interlinea-normal);
  padding: var(--esp-4) var(--esp-5);
  margin: 0 0 var(--esp-5);
  max-width: 78ch;
}
.aviso::before {
  display: block;
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-xs);
  font-weight: var(--peso-semi);
  letter-spacing: var(--tracking-etiqueta);
  text-transform: uppercase;
  margin-bottom: var(--esp-2);
  content: "Nota";
  color: var(--texto-secundario);
}
.aviso strong { color: var(--texto-primario); font-weight: var(--peso-semi); }
.aviso a { color: var(--texto-enlace); }
.aviso-ok {
  border-color: color-mix(in srgb, var(--estado-exito) 40%, transparent);
  background: var(--fondo-exito);
}
.aviso-ok::before { content: "Listo"; color: var(--estado-exito); }
.aviso-error {
  border-color: color-mix(in srgb, var(--estado-error) 40%, transparent);
  background: var(--fondo-error);
}
.aviso-error::before { content: "Atención"; color: var(--estado-error); }
.aviso-info {
  border-color: color-mix(in srgb, var(--estado-info) 30%, transparent);
  background: var(--negro-200);
  font-weight: var(--peso-normal);
}
.aviso-info::before { content: "Nota"; color: var(--estado-info); }
.aviso-alerta {
  border-color: color-mix(in srgb, var(--estado-aviso) 40%, transparent);
  background: var(--negro-200);
}
.aviso-alerta::before { content: "Por vencer"; color: var(--estado-aviso); }
.pagina-cabecera + .aviso { margin-top: var(--esp-2); }
@media (max-width: 639.98px) {
  .pagina-cabecera:has(> a.btn[href^="/panel/"]) > div { flex-basis: 100%; }
}
.sin-resultados {
  border: 0;
  border-top: var(--borde-fino) solid var(--borde-dorado);
  border-radius: 0;
  background: transparent;
  padding: var(--esp-12) 0 var(--esp-10);
  text-align: left;
  color: var(--texto-secundario);
  font-family: var(--fuente-ceremonial);
  font-style: italic;
  font-weight: var(--peso-medio);
  font-size: var(--tipo-lg);
  line-height: var(--interlinea-titulo);
  max-width: 52ch;
}
.tarjeta.sin-resultados {
  border-top: var(--borde-fino) solid var(--borde-dorado);
  padding: var(--esp-10) var(--esp-6);
  background: transparent;
  box-shadow: none;
}
.esqueleto {
  min-height: 1em;
}
.ax-main > section.tarjeta.centro:has(> a.btn-oro[href="/mi"]) {
  text-align: left;
  border: var(--borde-fino) solid var(--borde-dorado);
  border-radius: var(--cx-caja);
  padding: var(--esp-10) var(--esp-8);
  background: var(--fondo-sutil);
}
.ax-main > section.tarjeta.centro:has(> a.btn-oro[href="/mi"]) h1 {
  font-size: clamp(var(--tipo-2xl), 4.4vw, var(--tipo-3xl));
  margin-bottom: var(--esp-5);
}
.ax-main > section.tarjeta.centro:has(> a.btn-oro[href="/mi"]) p {
  font-size: var(--tipo-md);
  color: var(--texto-secundario);
  max-width: 52ch;
  margin-bottom: var(--esp-8);
}
.ax-main > section.tarjeta.centro:has(> a.btn-oro[href="/mi"]) > a.btn-oro {
  min-height: 52px;
  padding-inline: var(--esp-10);
}
.renovar { max-width: none; margin: 0; }
.embajador-ficha {
  display: flex;
  align-items: center;
  gap: var(--esp-4);
  margin: var(--esp-6) 0 0;
  padding-top: var(--esp-5);
  border-top: var(--borde-fino) solid var(--borde-tenue);
}
.embajador-ficha > img {
  flex: 0 0 auto;
  width: 48px; height: 48px;
  border-radius: var(--radio-pastilla);
  object-fit: cover;
  border: var(--borde-fino) solid var(--borde-dorado);
  box-shadow: none;
}
.embajador-ficha > div { min-width: 0; }
.embajador-rol {
  display: block;
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-xs);
  font-weight: var(--peso-semi);
  letter-spacing: var(--tracking-etiqueta);
  text-transform: uppercase;
  color: var(--texto-oro);
  margin-bottom: var(--esp-1);
}
.embajador-nombre {
  display: block;
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-sm);
  font-weight: var(--peso-semi);
  color: var(--texto-primario);
  line-height: var(--interlinea-titulo);
}
.embajador-detalle {
  display: block;
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-xs);
  color: var(--texto-secundario);
  margin-top: var(--esp-1);
}
.embajador-detalle a { color: var(--texto-oro); text-underline-offset: .2em; }
.embajador-detalle a:hover { color: var(--texto-primario); }
.campanas-rejilla:has(form[action="/mi/editar"]) {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--esp-8);
  max-width: 720px;
}
@media (min-width: 1024px) {
  .campanas-rejilla:has(form[action="/mi/editar"]) {
    grid-template-columns: minmax(0, 1.7fr) minmax(280px, .8fr);
    align-items: start;
    column-gap: var(--esp-10);
    max-width: none;
  }
}
.campanas-rejilla:has(form[action="/mi/editar"]) > .tarjeta > h2{
  font-size: var(--tipo-xl);
  margin: 0 0 var(--esp-4);
}
.campanas-rejilla:has(form[action="/mi/editar"]) > :first-child {
  border-color: var(--borde-dorado);
}
.campanas-rejilla:has(form[action="/mi/editar"]) > .tarjeta > h2 + p{
  font-size: var(--tipo-sm);
  color: var(--texto-secundario);
  margin: 0 0 var(--esp-5);
  max-width: 56ch;
}
.ax-main:has(form[action="/mi/editar"]) .pagina-cabecera,
.ax-main:has(form[action^="/seguridad"]) .pagina-cabecera,
.ax-main:has(form[action^="/formulas"]) .pagina-cabecera,
.ax-main:has(.formulas-rejilla) .pagina-cabecera{
  display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between;
  gap: var(--esp-3) var(--esp-8);
  margin-bottom: var(--esp-10);
  padding-bottom: var(--esp-5);
  border-bottom: var(--borde-fino) solid var(--borde-tenue);
}
.ax-main:has(form[action="/mi/editar"]) .pagina-cabecera h1,
.ax-main:has(form[action^="/seguridad"]) .pagina-cabecera h1,
.ax-main:has(form[action^="/formulas"]) .pagina-cabecera h1,
.ax-main:has(.formulas-rejilla) .pagina-cabecera h1{ margin-bottom: 0; }
.foto-actual img {
  border-radius: var(--cx-caja);
  border: var(--borde-fino) solid var(--borde-dorado);
}
.estado-caja {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: var(--esp-4);
}
.estado-caja .btn { flex: 0 0 auto; }
.estado-caja p { margin-bottom: 0; }
.acceso-caja .acceso-item, .accesos-rejilla { gap: var(--esp-4); }
.acceso-item { display: flex; gap: var(--esp-3); align-items: flex-start; }
.accesos-rejilla > .acceso-item {
  text-decoration: none;
  background: var(--negro-200);
  border: var(--borde-fino) solid var(--oro-a30);
  border-radius: 0;
  padding: var(--esp-6);
  box-shadow: none;
  transform: none;
  transition: border-color var(--dur-media) var(--curva-salida);
}
@media (hover: hover) {
  .accesos-rejilla > .acceso-item:hover {
    border-color: var(--borde-dorado);
    box-shadow: var(--realce-filo), var(--realce-luz-gas);
    transform: none;
  }
}
body.tema-club .accesos-rejilla > .acceso-item:focus-visible {
  border-color: var(--borde-dorado);
  box-shadow: var(--realce-filo), var(--realce-luz-gas);
  transform: none;
}
.accesos-rejilla > .acceso-item strong {
  display: block;
  font-family: var(--fuente-ceremonial);
  font-weight: var(--peso-normal);
  font-size: var(--tipo-lg);
  color: var(--marfil);
  margin-bottom: var(--esp-1);
}
.accesos-rejilla > .acceso-item span { font-size: var(--tipo-sm); color: var(--texto-secundario); }
.acceso-nota { font-size: var(--tipo-xs); line-height: 1.5; color: var(--texto-secundario); }
.acceso-nota a { display: inline; padding: 0; }
body.pagina-panel .ax-main .kpi-rejilla { margin-bottom: var(--esp-6); }
body.pagina-panel .ax-main .kpi-rejilla + .hairline { margin: var(--esp-8) 0; }
@media (min-width: 900px) {
  body.pagina-panel .ax-main .kpi-rejilla + .hairline { margin: var(--esp-12) 0; }
}
body.pagina-panel .ax-main .kpi-rejilla {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--esp-4);
}
body.pagina-panel .ax-main .kpi { padding: var(--esp-1) 0 var(--esp-1) var(--esp-4); }
@media (min-width: 900px) {
  body.pagina-panel .ax-main .kpi-rejilla {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: var(--esp-5);
  }
}
@media (max-width: 899.98px) {
  body.pagina-panel .ax-main .kpi-rejilla > .kpi--geo { grid-column: 1 / -1; }
  body.pagina-panel .ax-main .kpi-nombre {
    min-height: calc(2 * var(--interlinea-normal) * 1em);
  }
}
.kpi--alerta .kpi-cifra { color: var(--estado-error); }
.kpi--alerta::after { background: var(--estado-error); }
.kpi--aviso .kpi-cifra { color: var(--estado-aviso); }
.kpi--aviso::after { background: var(--estado-aviso); }
body.pagina-panel .ax-main > .pagina-cabecera {
  position: relative;
  isolation: isolate;
  min-height: 132px;
  align-items: flex-end;
  padding-top: var(--esp-6);
  overflow: hidden;
}
body.pagina-panel .ax-main > .pagina-cabecera > .panel-escena {
  position: absolute;
  z-index: -2;
  inset: 0;
  margin: 0;
  background: var(--negro-200);
  pointer-events: none;
}
body.pagina-panel .ax-main > .pagina-cabecera > .panel-escena > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}
body.pagina-panel .ax-main > .pagina-cabecera::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    linear-gradient(to left,
      rgb(var(--negro-rgb) / .55) 0%,
      rgb(var(--negro-rgb) / 0) 18%),
    linear-gradient(to right,
      rgb(var(--negro-rgb) / .30) 0%,
      rgb(var(--negro-rgb) / .30) 22%,
      rgb(var(--negro-rgb) / .66) 34%,
      rgb(var(--negro-rgb) / .56) 48%,
      rgb(var(--negro-rgb) / 0) 66%);
}
@media (min-width: 900px) and (max-width: 1239px) {
  body.pagina-panel .ax-main > .pagina-cabecera::before {
    background:
      linear-gradient(to left,
        rgb(var(--negro-rgb) / .55) 0%,
        rgb(var(--negro-rgb) / 0) 18%),
      linear-gradient(to right,
        rgb(var(--negro-rgb) / .30) 0%,
        rgb(var(--negro-rgb) / .30) calc(50% - 300px),
        rgb(var(--negro-rgb) / .66) calc(50% - 200px),
        rgb(var(--negro-rgb) / .58) 60%,
        rgb(var(--negro-rgb) / 0) 76%);
  }
}
body.pagina-panel .ax-main > .pagina-cabecera > :not(.panel-escena) { position: relative; }
@media (max-width: 899px) {
  body.pagina-panel .ax-main > .pagina-cabecera > .panel-escena > img { object-position: 100% 50%; }
  body.pagina-panel .ax-main > .pagina-cabecera::before {
    background: linear-gradient(to right,
      rgb(var(--negro-rgb) / .80) 0%,
      rgb(var(--negro-rgb) / .72) 60%,
      rgb(var(--negro-rgb) / 0) 82%);
  }
}
@media (max-width: 599px) {
  body.pagina-panel .ax-main > .pagina-cabecera::before {
    background: radial-gradient(28% 60% at 96% 22%,
      rgb(var(--negro-rgb) / 0) 0%,
      rgb(var(--negro-rgb) / 0) 45%,
      rgb(var(--negro-rgb) / .84) 100%);
  }
}
.campo:has(> input[name="password_nueva"])::after,
.campo:has(> input[name="password"][minlength])::after {
  content: "Mínimo 8 caracteres.";
  display: block;
  margin-top: var(--esp-2);
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-xs);
  line-height: var(--interlinea-normal);
  color: var(--texto-secundario);
}
.tarjeta:has(form[action^="/mi/equipo"]) {
  max-width: 720px;
  padding: var(--esp-6);
  background: transparent;
  border: var(--borde-fino) solid var(--borde-tenue);
  box-shadow: none;
}
.tarjeta:has(form[action^="/mi/equipo"]) > h2 {
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-xs);
  font-weight: var(--peso-semi);
  letter-spacing: var(--tracking-etiqueta);
  text-transform: uppercase;
  color: var(--texto-oro);
  margin: 0 0 var(--esp-2);
}
.tarjeta:has(form[action^="/mi/equipo"]) > p {
  font-size: var(--tipo-sm);
  color: var(--texto-secundario);
  margin-bottom: var(--esp-5);
}
form.filtros[action="/mi/equipo"] {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: var(--esp-3);
  margin: 0;
  padding: var(--esp-5) 0 0;
  max-width: none;
  border: 0;
  border-top: var(--borde-fino) solid var(--borde-tenue);
  border-radius: 0;
  background: transparent;
}
form.filtros[action="/mi/equipo"] .campo,
form.filtros[action="/mi/equipo"] .campo:first-child {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 200px;
  min-width: 0;
  margin-bottom: 0;
}
form.filtros[action="/mi/equipo"] .campo input { min-height: 48px; }
form.filtros[action="/mi/equipo"] .btn {
  flex: 0 0 auto;
  min-height: 44px;
  background: transparent;
  border-color: var(--borde-dorado);
  color: var(--texto-primario);
  font-weight: var(--peso-semi);
}
form.filtros[action="/mi/equipo"] .btn:hover {
  background: color-mix(in srgb, var(--oro) 10%, transparent);
  border-color: var(--ornamento-oro);
}
.tarjeta:has(form[action^="/mi/equipo"]) .acciones-fila .btn-linea {
  min-height: 36px;
  font-size: var(--tipo-xs);
  padding: var(--esp-2) var(--esp-4);
}
.tabla-marco {
  border: var(--borde-fino) solid var(--borde-tenue);
  border-radius: var(--cx-caja);
  background: var(--fondo-superficie);
  box-shadow: var(--sombra-carta);
  overflow: auto;
}
body.tema-club .tabla-marco {
  background: transparent;
  border-color: var(--oro-a30);
  box-shadow: none;
}
.tabla { width: 100%; border-collapse: collapse; font-family: var(--fuente-interfaz); font-size: var(--tipo-sm); }
.tabla th {
  position: sticky; top: 0; z-index: 1;
  text-align: left;
  font-size: var(--tipo-xs);
  font-weight: var(--peso-semi);
  letter-spacing: var(--tracking-etiqueta);
  text-transform: uppercase;
  color: var(--texto-secundario);
  background: var(--fondo-hundido);
  padding: var(--esp-4);
  border-bottom: var(--borde-fino) solid var(--borde-dorado);
  white-space: nowrap;
}
.tabla td {
  padding: var(--esp-4);
  border-top: 0;
  border-bottom: var(--borde-fino) solid var(--borde-tenue);
  color: var(--texto-primario);
  vertical-align: middle;
}
.tabla tbody tr:last-child td { border-bottom: 0; }
.tabla tbody tr { transition: background var(--dur-rapida) var(--curva-salida); }
.tabla tbody tr:hover td { background: color-mix(in srgb, var(--oro) 7%, transparent); }
.tabla a { color: var(--texto-primario); font-weight: var(--peso-semi); text-decoration: none; }
.tabla a:hover { color: var(--texto-oro); text-decoration: underline; text-underline-offset: .2em; }
.tabla .celda-sec, .celda-sec { color: var(--texto-secundario); font-size: var(--tipo-xs); }
.tabla .btn { min-height: 36px; padding: var(--esp-2) var(--esp-4); font-size: var(--tipo-xs); }
.pill {
  display: inline-flex; align-items: center; gap: var(--esp-2);
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-xs);
  font-weight: var(--peso-semi);
  letter-spacing: var(--tracking-ancho);
  text-transform: uppercase;
  white-space: nowrap;
  padding: var(--esp-1) var(--esp-3);
  min-height: 24px;
  border-radius: var(--radio-pastilla);
  border: var(--borde-fino) solid color-mix(in srgb, currentColor 40%, transparent);
  background: color-mix(in srgb, currentColor 12%, transparent);
}
.pill::before {
  content: "";
  width: 6px; height: 6px;
  border-radius: var(--radio-pastilla);
  background: currentColor;
  flex: 0 0 auto;
}
.pill-activa {
  color: var(--estado-exito);
  background: color-mix(in srgb, var(--fondo-exito) 55%, var(--negro));
}
.pill-por_vencer,
.pill-por        { color: var(--estado-aviso); }
.pill-vencida,
.pill-sin        { color: var(--estado-error); }
.kpi {
  border: 0;
  border-radius: 0;
  padding: var(--esp-1) 0 var(--esp-1) var(--esp-4);
  background: none;
  box-shadow: none;
}
.kpi-cifra {
  display: block;
  font-family: var(--fuente-ceremonial);
  font-size: var(--tipo-3xl);
  font-weight: var(--peso-semi);
  line-height: var(--interlinea-ajustada);
  color: var(--texto-primario);
}
.kpi-nombre {
  display: block;
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-xs);
  letter-spacing: var(--tracking-etiqueta);
  text-transform: uppercase;
  color: var(--texto-secundario);
  margin-top: var(--esp-2);
}
.stat-tl { color: var(--texto-secundario); }
.anillo-cifra { color: var(--texto-oro); }
.formulas-rejilla {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr));
  gap: var(--esp-5);
  counter-reset: none;
}
.formulas-rejilla::before {
  content: "Las cuatro fórmulas de la academia ya tienen su estructura y sus campos definidos. Quedan en calibración hasta que el equipo científico AX entregue la especificación de cálculo de cada una. Puedes abrirlas para ver qué datos va a pedir cada fórmula.";
  grid-column: 1 / -1;
  max-width: 74ch;
  margin: 0;
  padding: 0 0 var(--esp-4);
  font-family: var(--fuente-lectura);
  font-size: var(--tipo-md);
  line-height: var(--interlinea-normal);
  color: var(--texto-secundario);
}
.formula-tarjeta p { display: none; }
.formula-tarjeta {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto 1fr auto;
  grid-template-areas:
    "titulo titulo"
    "aire   aire"
    "estado accion";
  align-items: end;
  column-gap: var(--esp-4);
  row-gap: var(--esp-5);
  overflow: hidden;
  text-decoration: none;
  border: var(--borde-fino) solid var(--borde-tenue);
  border-radius: var(--cx-caja);
  background: var(--fondo-superficie);
  box-shadow: var(--sombra-carta);
  padding: var(--esp-6);
  min-height: 148px;
  transition: border-color var(--dur-media) var(--curva-salida),
              background var(--dur-media) var(--curva-salida);
}
body.tema-club .formula-tarjeta { background: var(--fondo-sutil); box-shadow: none; }
.formula-tarjeta::before {
  content: "En calibración";
  grid-area: estado;
  align-self: end;
  position: relative;
  padding-left: var(--esp-4);
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-xs);
  font-weight: var(--peso-semi);
  letter-spacing: var(--tracking-ancho);
  text-transform: uppercase;
  line-height: 1.4;
  color: var(--texto-secundario);
  border: 0;
  background:
    radial-gradient(circle at 2.5px 50%, var(--estado-aviso) 2.5px, transparent 2.6px)
    left center / var(--esp-4) 100% no-repeat;
}
.formula-tarjeta::after {
  content: "Ver campos →";
  grid-area: accion;
  align-self: end;
  justify-self: end;
  position: static;
  transform: none;
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-xs);
  font-weight: var(--peso-semi);
  letter-spacing: var(--tracking-ancho);
  text-transform: uppercase;
  line-height: 1.4;
  color: var(--texto-oro);
  border: 0;
  background: none;
  padding: 0;
  transition: transform var(--dur-rapida) var(--curva-salida),
              color var(--dur-rapida) var(--curva-salida);
}
.formula-tarjeta:has(.formula-estado)::before { content: none; }
.formula-tarjeta .formula-estado { grid-area: estado; align-self: end; justify-self: start; }
.formula-tarjeta h3 {
  grid-area: titulo;
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-lg);
  font-weight: var(--peso-semi);
  letter-spacing: var(--tracking-ancho);
  line-height: var(--interlinea-titulo);
  margin: 0;
  color: var(--texto-primario);
}
.formula-campos {
  grid-area: aire;
  align-self: start;
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-xs);
  letter-spacing: var(--tracking-ancho);
  text-transform: uppercase;
  color: var(--texto-secundario);
  margin: 0;
}
.formula-tarjeta:hover {
  border-color: var(--borde-dorado);
  background: color-mix(in srgb, var(--oro) 6%, var(--fondo-superficie));
  transform: none;
}
body.tema-club .formula-tarjeta:hover { background: color-mix(in srgb, var(--oro) 7%, transparent); }
.formula-tarjeta:hover::after,
.formula-tarjeta:focus-visible::after {
  transform: translateX(3px);
  color: var(--texto-primario);
}
.formula-tarjeta:focus-visible {
  outline: none;
  border-color: var(--ornamento-oro);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--oro) 30%, transparent);
}
.formula-estado {
  display: inline-block;
  position: relative;
  padding-left: var(--esp-4);
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-xs);
  font-weight: var(--peso-semi);
  letter-spacing: var(--tracking-ancho);
  text-transform: uppercase;
  line-height: 1.4;
  color: var(--texto-secundario);
  border: 0;
  background:
    radial-gradient(circle at 2.5px 50%, var(--estado-aviso) 2.5px, transparent 2.6px)
    left center / var(--esp-4) 100% no-repeat;
}
.resultado-caja {
  position: relative;
  margin-top: var(--esp-8);
  border: var(--borde-fino) solid var(--borde-dorado);
  border-radius: var(--cx-caja);
  background: var(--fondo-sutil);
  box-shadow: var(--sombra-carta);
  padding: var(--esp-8) var(--esp-6) var(--esp-6);
  text-align: center;
}
body.tema-club .resultado-caja {
  box-shadow: none;
  background:
    radial-gradient(120% 100% at 50% -30%, color-mix(in srgb, var(--oro) 10%, transparent), transparent 70%),
    var(--fondo-sutil);
}
.resultado-caja .eyebrow { color: var(--texto-oro); margin-bottom: var(--esp-3); }
.resultado-valor {
  display: block;
  font-family: var(--fuente-ceremonial);
  font-weight: var(--peso-semi);
  font-size: clamp(var(--tipo-2xl), 7vw, var(--tipo-4xl));
  line-height: var(--interlinea-ajustada);
  letter-spacing: var(--tracking-titulo);
  color: var(--texto-primario);
  overflow-wrap: anywhere;
}
.resultado-unidad {
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-md);
  font-weight: var(--peso-medio);
  color: var(--texto-secundario);
  margin-left: var(--esp-2);
}
.resultado-aviso-clinico {
  display: block;
  margin: var(--esp-6) auto 0;
  padding-top: var(--esp-5);
  border-top: var(--borde-fino) solid var(--borde-tenue);
  max-width: 62ch;
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-xs);
  line-height: var(--interlinea-normal);
  color: var(--texto-secundario);
  text-align: left;
}
.resultado-aviso-clinico::before {
  content: "Uso orientativo";
  display: block;
  font-size: var(--tipo-xs);
  font-weight: var(--peso-semi);
  letter-spacing: var(--tracking-etiqueta);
  text-transform: uppercase;
  color: var(--estado-aviso);
  margin-bottom: var(--esp-2);
}
.resultado-caja:not(:has(.resultado-aviso-clinico))::after {
  content: "Este resultado es orientativo y no sustituye el juicio clínico. La decisión sobre el paciente es responsabilidad del médico tratante.";
  display: block;
  margin: var(--esp-6) auto 0;
  padding-top: var(--esp-5);
  border-top: var(--borde-fino) solid var(--borde-tenue);
  max-width: 62ch;
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-xs);
  line-height: var(--interlinea-normal);
  color: var(--texto-secundario);
  text-align: left;
}
  .r19-off-acceso-fondo {
  background:
    radial-gradient(1100px 620px at 50% -14%, color-mix(in srgb, var(--oro) 12%, transparent), transparent 60%),
    linear-gradient(to bottom,
      color-mix(in srgb, var(--negro-000) 78%, transparent),
      color-mix(in srgb, var(--negro-000) 94%, transparent)),
    image-set(url("/static/brand/ambiente-club-1280.jpg") 1x,
              url("/static/brand/ambiente-club.jpg") 2x) center center / cover no-repeat,
    var(--negro-000);
}
  .r19-off-acceso-grid{
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--esp-8);
  align-content: center;
  justify-items: center;
  padding-block: var(--esp-8);
}
  .r19-off-acceso-ambiente::before {
  content: "Club internacional de cirujanos certificados";
  display: flex;
  align-items: flex-end;
  width: 100%;
  max-width: 440px;
  min-height: 148px;
  padding: var(--esp-5);
  border: var(--borde-fino) solid var(--borde-dorado);
  border-radius: var(--cx-caja);
  background:
    linear-gradient(to top,
      color-mix(in srgb, var(--negro-000) 90%, transparent) 0%,
      color-mix(in srgb, var(--negro-000) 45%, transparent) 45%,
      transparent 100%),
    image-set(url("/static/brand/ambiente-portada-1280.jpg") 1x,
              url("/static/brand/ambiente-portada.jpg") 2x) center center / cover no-repeat,
    var(--negro-000);
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-xs);
  font-weight: var(--peso-semi);
  letter-spacing: var(--tracking-etiqueta);
  text-transform: uppercase;
  line-height: var(--interlinea-normal);
  color: var(--texto-primario);
  text-wrap: balance;
}
@media (min-width: 900px) {
    .r19-off-acceso-grid-900{
    grid-template-columns: minmax(0, 1.1fr) minmax(380px, 440px);
    column-gap: clamp(var(--esp-10), 5vw, var(--esp-20));
    align-items: center;
    justify-items: stretch;
    padding-block: var(--esp-16);
  }
    .r19-off-acceso-ambiente-900::before {
    max-width: none;
    min-height: min(560px, 66vh);
    align-self: stretch;
    padding: var(--esp-8);
    font-size: var(--tipo-sm);
  }
    .r19-off-acceso-fin { justify-self: end; }
}
  .r19-off-acceso-placa {
  position: relative;
  isolation: isolate;
  width: 100%;
  max-width: 440px;
  border: var(--borde-fino) solid var(--borde-dorado);
  border-radius: var(--cx-caja);
  padding: var(--esp-10) var(--esp-8) var(--esp-8);
  text-align: left;
  color: var(--texto-primario);
  box-shadow: none;
  background: transparent;
}
  .r19-off-acceso-lamina::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background:
    radial-gradient(130% 100% at 50% -25%, color-mix(in srgb, var(--oro) 10%, transparent), transparent 62%),
    color-mix(in srgb, var(--negro-000) 86%, transparent);
}
  .r19-off-acceso-filete::before {
  content: "";
  display: block;
  height: var(--borde-fino);
  margin: calc(var(--esp-10) * -1) calc(var(--esp-8) * -1) var(--esp-8);
  background: linear-gradient(
    90deg,
    transparent 0%,
    var(--ornamento-oro) 50%,
    transparent 100%);
}
.acceso-caja > .acceso-sello {
  display: block;
  width: 56px; height: 40px;
  margin: 0 0 var(--esp-6);
  border: 0;
  border-radius: 0;
  background-color: transparent;
  background-image: url("/static/brand/isotipo-plata.png");
  background-size: contain;
  background-position: left center;
  background-repeat: no-repeat;
  font-size: 0;
  line-height: 0;
  color: transparent;
}
.acceso-caja .eyebrow { color: var(--texto-oro); }
.acceso-caja h1 {
  font-size: var(--tipo-2xl);
  color: var(--texto-primario);
  margin-bottom: var(--esp-6);
  letter-spacing: var(--tracking-titulo);
}
.acceso-caja p { color: var(--texto-secundario); font-size: var(--tipo-sm); max-width: none; }
.acceso-caja .campo { text-align: left; }
.acceso-caja .campo input[type],
.acceso-caja .campo select,
.acceso-caja .campo textarea {
  background-color: transparent;
  background-image: linear-gradient(
    to bottom,
    color-mix(in srgb, var(--blanco) 9%, transparent),
    color-mix(in srgb, var(--blanco) 5%, transparent));
  border-color: var(--borde-medio);
  color: var(--texto-primario);
}
.acceso-caja .campo input[type]:hover {
  border-color: color-mix(in srgb, var(--oro) 38%, transparent);
}
.acceso-caja .campo input[type]:focus,
.acceso-caja .campo input[type]:focus-visible {
  border-color: var(--ornamento-oro);
  outline: none;
  box-shadow:
    0 0 0 2px var(--fondo-base),
    0 0 0 4px color-mix(in srgb, var(--oro) 72%, transparent);
}
.acceso-caja .campo input:-webkit-autofill,
.acceso-caja .campo input:-webkit-autofill:hover,
.acceso-caja .campo input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--texto-primario);
  caret-color: var(--texto-primario);
  transition: background-color 100000s ease-in-out 0s;
}
.acceso-caja .btn-bloque { margin-top: var(--esp-6); min-height: 52px; }
.acceso-caja .aviso {
  background: color-mix(in srgb, var(--estado-error) 14%, transparent);
  border-color: color-mix(in srgb, var(--estado-error) 55%, transparent);
  color: var(--blanco);
}
.acceso-caja .aviso-ok {
  background: color-mix(in srgb, var(--estado-exito) 14%, transparent);
  border-color: color-mix(in srgb, var(--estado-exito) 55%, transparent);
}
.acceso-caja .acceso-nota { margin: var(--esp-4) 0 0; }
.acceso-caja .acceso-nota a { color: var(--texto-oro); text-underline-offset: .2em; }
.acceso-caja .acceso-nota a:hover { color: var(--texto-primario); }
.acceso-caja .acceso-nota:last-child {
  margin-top: var(--esp-6);
  padding-top: var(--esp-5);
  border-top: var(--borde-fino) solid color-mix(in srgb, var(--oro) 22%, transparent);
  color: var(--texto-secundario);
}
body:has(.acceso-caja form[action="/login"]) .ax-header a.nav-salir[href="/login"] {
  display: none;
}
.codigo-secreto {
  display: block;
  font-family: var(--fuente-datos);
  font-size: var(--tipo-sm);
  letter-spacing: var(--tracking-etiqueta);
  background: var(--fondo-hundido);
  border: var(--borde-fino) solid var(--borde-dorado);
  border-radius: var(--cx-caja);
  padding: var(--esp-4);
  color: var(--texto-primario);
  text-align: center;
  word-break: break-all;
  -webkit-user-select: all;
  user-select: all;
}
.qr-2fa {
  width: 190px; height: 190px;
  margin: 0 0 var(--esp-6);
  background: var(--blanco);
  border: var(--borde-fino) solid var(--borde-dorado);
  border-radius: var(--cx-caja);
  padding: var(--esp-3);
  box-shadow: none;
}
.consent-texto {
  max-width: 64ch;
  color: var(--texto-secundario);
  font-family: var(--fuente-lectura);
  font-size: var(--tipo-sm);
  line-height: var(--interlinea-amplia);
}
.consent-texto ol { list-style: none; margin: 0; padding: 0; counter-reset: ax-consent; }
.consent-texto ol > li {
  counter-increment: ax-consent;
  position: relative;
  padding: var(--esp-5) 0 var(--esp-5) var(--esp-10);
  border-top: var(--borde-fino) solid var(--borde-tenue);
}
.consent-texto ol > li:first-child { border-top: 0; padding-top: var(--esp-2); }
.consent-texto ol > li::before {
  content: counter(ax-consent);
  position: absolute;
  left: 0; top: var(--esp-5);
  font-family: var(--fuente-ceremonial);
  font-size: var(--tipo-lg);
  font-weight: var(--peso-semi);
  line-height: 1.2;
  color: var(--texto-oro);
}
.consent-texto ol > li:first-child::before { top: var(--esp-2); }
.consent-texto strong { color: var(--texto-primario); font-weight: var(--peso-semi); }
.check-linea:has(input[name="acepto"]) {
  align-items: center;
  border: var(--borde-fino) solid var(--borde-dorado);
  border-radius: var(--cx-caja);
  background: color-mix(in srgb, var(--oro) 6%, transparent);
  padding: var(--esp-4) var(--esp-5);
  margin: var(--esp-8) 0 var(--esp-2);
  min-height: 56px;
}
.check-linea:has(input[name="acepto"]) > span {
  color: var(--texto-primario);
  font-size: var(--tipo-sm);
  font-weight: var(--peso-medio);
}
@media (max-width: 899.98px) {
  .renovar { padding-bottom: var(--esp-8); }
  body:has(.renovar-pago .btn-bloque):not(:has(.renovar-pago .pago-puerta)) .ax-footer {
    padding-bottom: calc(var(--esp-12) + var(--esp-24) + env(safe-area-inset-bottom, 0px));
  }
}
@media (max-width: 639.98px) {
  .campo { margin-bottom: var(--esp-4); }
  .campo input, .campo select, .campo textarea { font-size: var(--tipo-md); }
  .campo input, .campo select { min-height: 50px; }
  .acciones-fila .btn, .form-pie .btn { flex: 1 1 100%; }
  .form-pie { flex-direction: column; align-items: stretch; }
  .pagina-cabecera > .acciones-fila > .btn-linea { flex: 0 1 auto; }
  .acceso-caja .btn-bloque { width: 100%; }
    .r19-off-acceso-placa-movil {
    max-width: 100%;
    padding: var(--esp-8) var(--esp-5) var(--esp-6);
  }
    .r19-off-acceso-filete-movil::before {
    margin: calc(var(--esp-8) * -1) calc(var(--esp-5) * -1) var(--esp-6);
  }
  .campanas-rejilla:has(form[action="/mi/editar"]) > .tarjeta{ padding: var(--esp-5); }
  .ax-main:has(form[action="/mi/editar"]) .pagina-cabecera,
.ax-main:has(form[action^="/seguridad"]) .pagina-cabecera{ margin-bottom: var(--esp-6); padding-bottom: var(--esp-4); }
  form.filtros[action="/mi/equipo"] { flex-direction: row; flex-wrap: wrap; align-items: flex-end; }
  form.filtros[action="/mi/equipo"] .campo,
  form.filtros[action="/mi/equipo"] .campo:first-child { flex-basis: 100%; }
  form.filtros[action="/mi/equipo"] .btn { width: 100%; margin-left: 0; }
  .resultado-caja { padding: var(--esp-6) var(--esp-5) var(--esp-5); }
}
@media (max-width: 899.98px) {
  .tabla-marco { border: 0; background: transparent; box-shadow: none; border-radius: 0; overflow: visible; }
  .tabla thead { display: none; }
  .tabla tbody tr {
    background: transparent;
    border: var(--borde-fino) solid var(--oro-a30);
    border-radius: 0;
    box-shadow: none;
    margin-bottom: var(--esp-3);
    padding: var(--esp-2) var(--esp-4);
  }
  .tabla tbody tr:hover td { background: transparent; }
  .tabla td {
    border-bottom: var(--borde-fino) solid var(--borde-tenue);
    padding: var(--esp-3) 0;
  }
  .tabla td::before { color: var(--texto-secundario); letter-spacing: var(--tracking-ancho); }
}
.formulas-rejilla {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  counter-reset: folio-formula;
  border: var(--borde-fino) solid var(--borde-dorado);
  border-radius: var(--cx-caja);
  overflow: hidden;
  background: var(--fondo-sutil);
}
body.tema-club .formulas-rejilla {
  background:
    radial-gradient(115% 80% at 50% -18%,
      color-mix(in srgb, var(--oro) 10%, transparent), transparent 64%),
    var(--fondo-sutil);
}
@media (min-width: 900px) {
  .formulas-rejilla { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.formulas-rejilla::before {
  grid-column: 1 / -1;
  max-width: none;
  max-inline-size: none;
  padding: var(--esp-6) var(--esp-8);
  border-bottom: var(--borde-fino) solid var(--borde-dorado);
  font-size: var(--tipo-md);
}
.formula-tarjeta {
  grid-template-columns: 92px minmax(0, 1fr) auto;
  grid-template-rows: auto auto 1fr auto;
  grid-template-areas:
    "folio titulo titulo"
    "folio aire   aire"
    "folio .      ."
    "folio estado accion";
  align-items: start;
  column-gap: var(--esp-5);
  row-gap: var(--esp-3);
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: var(--esp-8);
  min-height: 196px;
}
body.tema-club .formula-tarjeta { background: transparent; box-shadow: none; }
.formula-tarjeta + .formula-tarjeta {
  border-top: var(--borde-fino) solid color-mix(in srgb, var(--oro) 30%, transparent);
}
@media (min-width: 900px) {
  .formula-tarjeta + .formula-tarjeta { border-top: 0; }
  .formula-tarjeta:nth-of-type(even) {
    border-left: var(--borde-fino) solid color-mix(in srgb, var(--oro) 30%, transparent);
  }
  .formula-tarjeta + .formula-tarjeta + .formula-tarjeta {
    border-top: var(--borde-fino) solid color-mix(in srgb, var(--oro) 30%, transparent);
  }
}
.formula-tarjeta { counter-increment: folio-formula; }
.formula-tarjeta:has(.formula-estado)::before {
  content: counter(folio-formula, upper-roman);
  grid-area: folio;
  align-self: stretch;
  justify-self: stretch;
  margin-block: calc(var(--esp-8) * -1);
  padding: var(--esp-8) var(--esp-2) var(--esp-8) 0;
  border: 0;
  border-right: var(--borde-fino) solid color-mix(in srgb, var(--oro) 16%, transparent);
  background: none;
  font-family: var(--fuente-ceremonial);
  font-size: var(--tipo-5xl);
  font-weight: var(--peso-medio);
  font-style: normal;
  line-height: .78;
  letter-spacing: -0.02em;
  text-transform: none;
  color: color-mix(in srgb, var(--oro) 34%, transparent);
  transition: color var(--dur-media) var(--curva-salida),
              border-color var(--dur-media) var(--curva-salida);
}
.formula-tarjeta:hover::before,
.formula-tarjeta:focus-visible::before {
  color: color-mix(in srgb, var(--oro) 62%, transparent);
  border-right-color: color-mix(in srgb, var(--oro) 34%, transparent);
}
.formula-tarjeta h3 {
  font-size: var(--tipo-xl);
  letter-spacing: var(--tracking-normal);
  align-self: start;
}
.formula-tarjeta p.formula-campos { display: block; }
.formula-campos {
  font-size: var(--tipo-xs);
  letter-spacing: var(--tracking-ancho);
  color: var(--texto-secundario);
}
.formula-tarjeta:hover,
body.tema-club .formula-tarjeta:hover {
  border-color: color-mix(in srgb, var(--oro) 30%, transparent);
  background: color-mix(in srgb, var(--oro) 5%, transparent);
}
.formula-tarjeta:focus-visible {
  border-color: color-mix(in srgb, var(--oro) 30%, transparent);
  background: color-mix(in srgb, var(--oro) 7%, transparent);
  box-shadow: inset 0 0 0 var(--borde-medio-grosor) var(--ornamento-oro);
}
.ax-main:has(.formulas-rejilla) .pagina-cabecera {
  border-bottom: 0;
  padding-bottom: 0;
  margin-bottom: var(--esp-8);
}
@keyframes comercio-puerta-asienta {
  from { transform: scale(1.055); filter: brightness(.66) saturate(.86); }
  to   { transform: none;         filter: brightness(1)   saturate(1); }
}
@media (min-width: 900px) {
}
.acceso-caja h1 {
  font-size: clamp(var(--tipo-2xl), 1.55rem + 2.2vw, var(--tipo-4xl));
  line-height: var(--interlinea-ajustada);
  letter-spacing: var(--tracking-titulo-grande);
  margin-bottom: var(--esp-5);
  text-wrap: balance;
}
@media (min-width: 900px) {
  .acceso-caja { padding: var(--esp-8); }
  .acceso-caja::before { margin: calc(var(--esp-8) * -1) calc(var(--esp-8) * -1) var(--esp-6); }
  .acceso-caja > .acceso-sello { margin-bottom: var(--esp-4); }
}
.ax-main > div:not([class]):has(> section > .tarjeta.sin-resultados) {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  column-gap: var(--esp-8);
  row-gap: var(--esp-2);
  align-content: start;
  grid-auto-flow: row dense;
}
.ax-main > div:not([class]):has(> section > .tarjeta.sin-resultados) > nav,
.ax-main > div:not([class]):has(> section > .tarjeta.sin-resultados) > h1,
.ax-main > div:not([class]):has(> section > .tarjeta.sin-resultados) > .eyebrow,
.ax-main > div:not([class]):has(> section > .tarjeta.sin-resultados) > .campo-ayuda {
  grid-column: 1 / -1;
}
@media (min-width: 900px) {
  .ax-main > div:not([class]):has(> section > .tarjeta.sin-resultados) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ax-main > div:not([class]):has(> section > .tarjeta.sin-resultados) > section:not(.perfil-hero) { display: contents; }
  .ax-main > div:not([class]):has(> section > .tarjeta.sin-resultados) > section:first-of-type > * { grid-column: 1; }
  .ax-main > div:not([class]):has(> section > .tarjeta.sin-resultados) > section:last-of-type  > * { grid-column: 2; }
}
.ax-main > div:not([class]):has(> section > .tarjeta.sin-resultados) .tarjeta.sin-resultados {
  margin: var(--esp-3) 0 0;
  max-width: none;
  min-height: 236px;
  justify-content: center;
  padding: var(--esp-8) var(--esp-6);
  border: var(--borde-fino) solid var(--borde-dorado);
  border-radius: var(--cx-caja);
  background:
    radial-gradient(120% 90% at 50% 0%,
      color-mix(in srgb, var(--oro) 9%, transparent), transparent 66%),
    var(--fondo-sutil);
  box-shadow: none;
}
.ax-main > div:not([class]):has(> section > .tarjeta.sin-resultados) .tarjeta.sin-resultados::after {
  margin-top: var(--esp-6);
}
.ax-main > div:not([class]):has(> section > .tarjeta.sin-resultados) > section > .eyebrow {
  display: block;
  margin: 0;
  padding-top: var(--esp-6);
}
body.tema-club .ax-main:has(> .acceso-caja)::after{
  content: none;
  display: none;
}
.ax-main > form.tarjeta[action^="/formulas/"] {
  margin-inline: auto;
  border-color: var(--borde-dorado);
}
body.tema-club .ax-main > form.tarjeta[action^="/formulas/"] {
  border-color: var(--borde-dorado);
  background:
    radial-gradient(120% 90% at 50% 0%,
      color-mix(in srgb, var(--oro) 8%, transparent), transparent 66%),
    var(--fondo-sutil);
}
.ax-main:has(> form.tarjeta[action^="/formulas/"]) > p.campo-ayuda {
  max-width: 560px;
  margin-inline: auto;
  text-align: center;
}
@media (prefers-reduced-motion: reduce) {
  .formula-tarjeta::before { transition: none; }
}
@media (prefers-reduced-motion: reduce) {
  .btn[aria-busy="true"]::after, .btn.esta-cargando::after {
    animation: none;
    border-top-color: currentColor;
  }
  .esqueleto { animation: none; background: var(--fondo-sutil); }
  .formula-tarjeta, .formula-tarjeta::after, .tabla tbody tr,
  .btn, .campo input, .campo select, .campo textarea { transition: none; }
  .formula-tarjeta:hover::after,
  .formula-tarjeta:focus-visible::after { transform: none; }
}
@media print {
  .form-pie,
.acciones-fila{ display: none; }
  .ax-main:has(> .acceso-caja)::before { display: none; }
  .resultado-caja,
.tarjeta,
.tabla-marco{
    border-color: var(--borde-medio);
    background: transparent;
    box-shadow: none;
  }
  .resultado-caja::after, .resultado-aviso-clinico { color: var(--negro); }
  .tabla th { position: static; }
}
.formula-tarjeta:has(.formula-estado)::before { content: none; }
.formula-tarjeta > .formula-folio {
  grid-area: folio;
  display: block;
  align-self: stretch;
  justify-self: stretch;
  margin-block: calc(var(--esp-8) * -1);
  padding: var(--esp-8) var(--esp-2) var(--esp-8) 0;
  border: 0;
  border-right: var(--borde-fino) solid color-mix(in srgb, var(--oro) 16%, transparent);
  background: none;
  font-family: var(--fuente-ceremonial);
  font-size: var(--tipo-5xl);
  font-weight: var(--peso-medio);
  font-style: normal;
  line-height: .78;
  letter-spacing: -0.02em;
  text-transform: none;
  text-align: left;
  color: color-mix(in srgb, var(--oro) 34%, transparent);
  transition: color var(--dur-media) var(--curva-salida),
              border-color var(--dur-media) var(--curva-salida);
}
.formula-tarjeta:hover > .formula-folio,
.formula-tarjeta:focus-visible > .formula-folio {
  color: color-mix(in srgb, var(--oro) 62%, transparent);
  border-right-color: color-mix(in srgb, var(--oro) 34%, transparent);
}
@media (max-width: 1023.98px) {
  .formula-tarjeta {
    grid-template-columns: 92px minmax(0, 1fr);
    grid-template-rows: auto auto auto auto;
    grid-template-areas:
      "folio titulo"
      "folio aire"
      "folio estado"
      "folio accion";
    align-items: start;
    row-gap: var(--esp-2);
  }
  .formula-tarjeta > .formula-estado {
    grid-area: estado;
    justify-self: start;
    align-self: end;
    margin-top: var(--esp-3);
  }
  .formula-tarjeta::after {
    grid-area: accion;
    justify-self: start;
    align-self: start;
    margin-top: var(--esp-1);
  }
  .formula-tarjeta > .formula-accion {
    grid-area: accion;
    justify-self: start;
    align-self: start;
    margin-top: var(--esp-1);
  }
}
@media (max-width: 899.98px) {
  .formula-tarjeta {
    grid-template-columns: 68px minmax(0, 1fr);
    column-gap: var(--esp-4);
    padding: var(--esp-6) var(--esp-5);
    min-height: 0;
  }
  .formula-tarjeta > .formula-folio {
    font-size: var(--tipo-4xl);
    margin-block: calc(var(--esp-6) * -1);
    padding: var(--esp-6) var(--esp-3) var(--esp-6) 0;
  }
}
.formulas-rejilla:has(> .formulas-nota)::before { content: none; }
.formulas-rejilla > .formulas-nota {
  grid-column: 1 / -1;
  max-width: none;
  max-inline-size: none;
  margin: 0;
  padding: var(--esp-6) var(--esp-8);
  border-bottom: var(--borde-fino) solid var(--borde-dorado);
  font-family: var(--fuente-lectura);
  font-size: var(--tipo-md);
  line-height: var(--interlinea-normal);
  color: var(--texto-secundario);
}
.formula-tarjeta:has(.formula-accion)::after { content: none; }
.formula-tarjeta .formula-accion {
  grid-area: accion;
  align-self: end;
  justify-self: end;
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-xs);
  font-weight: var(--peso-semi);
  letter-spacing: var(--tracking-ancho);
  text-transform: uppercase;
  line-height: 1.4;
  color: var(--texto-oro);
  transition: transform var(--dur-rapida) var(--curva-salida),
              color var(--dur-rapida) var(--curva-salida);
}
.formula-tarjeta:hover .formula-accion,
.formula-tarjeta:focus-visible .formula-accion {
  transform: translateX(3px);
  color: var(--texto-primario);
}
.ax-main > form.tarjeta.formula-ficha {
  max-width: 760px;
  margin-inline: auto;
  padding: var(--esp-10);
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  column-gap: var(--esp-6);
  row-gap: var(--esp-5);
  align-items: end;
}
.formula-ficha .campo {
  max-width: none;
  margin-bottom: 0;
}
.formula-ficha .campo input[type],
.formula-ficha .campo select {
  width: 100%;
  max-width: none;
}
.ax-main > form.formula-ficha > button.btn.btn-oro {
  grid-column: 1 / -1;
  justify-self: start;
  display: inline-flex;
  width: auto;
  min-width: 0;
  max-width: 22ch;
  min-height: 46px;
  margin-top: var(--esp-3);
  padding-inline: var(--esp-6);
  background: transparent;
  background-image: linear-gradient(135deg,
      color-mix(in srgb, var(--oro) 13%, transparent),
      color-mix(in srgb, var(--oro) 4%, transparent));
  border: var(--borde-fino) solid var(--borde-dorado);
  color: var(--texto-oro);
  font-weight: var(--peso-semi);
  filter: none;
}
.ax-main > form.formula-ficha > button.btn.btn-oro:hover {
  background-image: linear-gradient(135deg,
      color-mix(in srgb, var(--oro) 22%, transparent),
      color-mix(in srgb, var(--oro) 9%, transparent));
  border-color: var(--ornamento-oro);
  color: var(--texto-primario);
  filter: none;
}
.ax-main > form.formula-ficha.formula-ficha--activa > button.btn.btn-oro {
  background: var(--degradado-oro);
  background-image: var(--degradado-oro);
  border-color: transparent;
  color: var(--nivel-gold-tinta);
  font-weight: var(--peso-semi);
}
.ax-main:has(> form.tarjeta[action^="/formulas/"]) > p.campo-ayuda {
  max-width: 760px;
}
.resultado-caja > .resultado-valor {
  font-variant-emoji: text;
  filter: grayscale(1);
}
@media (max-width: 899.98px) {
  .renovar { padding-bottom: calc(var(--esp-24) + env(safe-area-inset-bottom, 0px)); }
}
.ax-main > div:not([class]):has(> section > .tarjeta.sin-resultados) .tarjeta.sin-resultados::after {
  content: none;
}
@keyframes comercio-puerta-asienta-r5 {
  from { transform: scale(1.055); filter: brightness(.74) saturate(.88); }
  to   { transform: none;         filter: brightness(1.14) saturate(1.06); }
}
.acceso-caja h1 { margin-bottom: var(--esp-8); }
@media (prefers-reduced-motion: reduce) {
  .formula-tarjeta > .formula-folio { transition: none; }
  .formula-tarjeta:hover .formula-accion,
  .formula-tarjeta:focus-visible .formula-accion { transform: none; }
}
.formula-tarjeta > .formula-folio {
  color: color-mix(in srgb, var(--oro) 50%, transparent);
}
.formula-tarjeta:hover > .formula-folio,
.formula-tarjeta:focus-visible > .formula-folio {
  color: color-mix(in srgb, var(--oro) 68%, transparent);
}
@supports not selector(:has(*)) {
  .formulas-rejilla::before,
  .formula-tarjeta::before,
  .formula-tarjeta::after { content: none; }
}
.ax-main > form.formula-ficha > button.btn.btn-espera,
.ax-main > form.formula-ficha > button.btn.btn-oro {
  grid-column: 1 / -1;
  justify-self: start;
  display: inline-flex;
  width: auto;
  min-width: 0;
  max-width: 22ch;
  min-height: 46px;
  margin-top: var(--esp-3);
  padding-inline: var(--esp-6);
  background: transparent;
  background-image: linear-gradient(135deg,
      color-mix(in srgb, var(--oro) 13%, transparent),
      color-mix(in srgb, var(--oro) 4%, transparent));
  border: var(--borde-fino) solid var(--borde-dorado);
  color: var(--texto-oro);
  font-weight: var(--peso-semi);
  filter: none;
}
.ax-main > form.formula-ficha > button.btn.btn-espera:hover,
.ax-main > form.formula-ficha > button.btn.btn-oro:hover {
  background-image: linear-gradient(135deg,
      color-mix(in srgb, var(--oro) 22%, transparent),
      color-mix(in srgb, var(--oro) 9%, transparent));
  border-color: var(--ornamento-oro);
  color: var(--texto-primario);
  filter: none;
}
.ax-main > form.formula-ficha.formula-ficha--activa > button.btn.btn-espera,
.ax-main > form.formula-ficha.formula-ficha--activa > button.btn.btn-oro {
  background: var(--degradado-oro);
  background-image: var(--degradado-oro);
  border-color: transparent;
  color: var(--nivel-gold-tinta);
  font-weight: var(--peso-semi);
}
.ax-main > div:not([class]):has(> section > .tarjeta.sin-resultados) > section > .eyebrow {
  padding-top: var(--esp-3);
}
.ax-main > div:not([class]):has(> section > .tarjeta.sin-resultados) .tarjeta.sin-resultados {
  margin-top: var(--esp-2);
}
.ax-main > div:not([class]):has(> section > .tarjeta.sin-resultados)
  > section > .tarjeta.sin-resultados {
  min-height: 268px;
}
.ax-main > div:not([class]):has(> section > .tarjeta.sin-resultados)
  > section > .tarjeta.sin-resultados .vacio-bajada > .btn {
  margin-top: var(--esp-5);
}
.ax-main > div:not([class]):has(> section > .tarjeta.sin-resultados)
  > section:first-of-type > .tarjeta.sin-resultados {
  border-left: var(--borde-fino) dashed color-mix(in srgb, var(--oro) 42%, transparent);
  background: var(--fondo-sutil);
}
.ax-main > div:not([class]):has(> section > .tarjeta.sin-resultados)
  > section:first-of-type > .tarjeta.sin-resultados::before {
  content: "";
  display: block;
  order: 2;
  width: 100%;
  height: 87px;
  margin: var(--esp-4) 0 0;
  transform: none;
  border: 0;
  border-radius: 0;
  background: repeating-linear-gradient(
    to bottom,
    transparent 0,
    transparent 28px,
    color-mix(in srgb, var(--oro) 38%, transparent) 28px,
    color-mix(in srgb, var(--oro) 38%, transparent) 29px);
}
.ax-main > div:not([class]):has(> section > .tarjeta.sin-resultados)
  > section:first-of-type > .tarjeta.sin-resultados > .vacio-titulo {
  order: 0;
  color: var(--texto-secundario);
}
.ax-main > div:not([class]):has(> section > .tarjeta.sin-resultados)
  > section:first-of-type > .tarjeta.sin-resultados > .vacio-bajada { order: 1; }
.ax-main > div:not([class]):has(> section > .tarjeta.sin-resultados)
  > section:last-of-type > .tarjeta.sin-resultados {
  border-left: var(--borde-medio-grosor) solid var(--ornamento-oro);
  background:
    radial-gradient(120% 90% at 50% 0%,
      color-mix(in srgb, var(--oro) 14%, transparent), transparent 68%),
    var(--fondo-sutil);
}
.ax-main > div:not([class]):has(> section > .tarjeta.sin-resultados)
  > section:last-of-type > .tarjeta.sin-resultados::before {
  width: 34px;
  height: 34px;
  background: color-mix(in srgb, var(--oro) 82%, transparent);
  border-color: transparent;
}
.ax-main > div:not([class]):has(> section > .tarjeta.sin-resultados)
  > section:last-of-type > .tarjeta.sin-resultados .vacio-bajada > .btn {
  padding-inline: var(--esp-6);
  border-color: var(--ornamento-oro);
  color: var(--texto-primario);
}
@media (min-width: 900px) {
  .ax-main:has(.campanas-rejilla > .cuenta-membresia) .pagina-cabecera {
    padding-bottom: var(--esp-2);
  }
}
@media print {
  .ax-main > div:not([class]):has(> section > .tarjeta.sin-resultados)
    > section:first-of-type > .tarjeta.sin-resultados::before { display: none; }
}
.formula-tarjeta p.formula-campos { font-size: var(--tipo-sm); }
.reco-tablero > nav a,
.ax-main > div:not([class]):has(> section > .tarjeta.sin-resultados) > nav a {
  font-size: var(--tipo-sm);
}
.ax-main > div:not([class]):has(> section > .tarjeta.sin-resultados)
  > section > .tarjeta.sin-resultados > .vacio-bajada {
  font-size: var(--tipo-md);
}
.reco-tablero > nav a,
.ax-main > div:not([class]):has(> section > .tarjeta.sin-resultados) > nav a {
  font-size: var(--tipo-sm);
}
.ax-main > div:not([class]):has(> section > .tarjeta.sin-resultados)
  > section:first-of-type > .tarjeta.sin-resultados::before {
  order: 1;
  margin: var(--esp-4) 0 var(--esp-4);
}
.ax-main > div:not([class]):has(> section > .tarjeta.sin-resultados)
  > section:first-of-type > .tarjeta.sin-resultados > .vacio-bajada {
  order: 2;
}
.acceso-caja .acceso-nota a {
  display: inline-block;
  white-space: nowrap;
  padding: var(--esp-2) var(--esp-3);
  margin: 0 calc(var(--esp-3) * -1);
  border-radius: var(--radio-sm);
}
.acceso-caja .acceso-nota a:focus-visible {
  outline: var(--borde-medio-grosor) solid var(--ornamento-oro);
  outline-offset: 2px;
}
@media (max-width: 899.98px) {
  .renovar {
    padding-bottom: var(--esp-10);
  }
}
section.landing-pasos,
section.landing-beneficios {
  display: block;
}
@media (max-width: 639.98px) {
  .landing-social .landing-rejilla {
    grid-template-columns: minmax(0, 1fr);
  }
}
.landing-social .dir-tarjeta .dir-pais {
  min-width: 0;
  overflow-wrap: anywhere;
}
.ax-footer-enlace {
  white-space: nowrap;
}
.ax-main > div:not([class]):has(> section > .tarjeta.sin-resultados)
  .tarjeta.sin-resultados > .vacio-titulo {
  font-size: var(--tipo-xl);
}
@media (max-width: 899.98px) {
  body:has(.renovar-pago .btn-bloque):not(:has(.renovar-pago .pago-puerta)) .ax-footer {
    padding-bottom: calc(var(--renovar-banda) + var(--esp-6));
  }
}
@media (min-width: 900px) {
  .landing-beneficios .landing-rejilla {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  .landing-beneficios .landing-rejilla > * {
    flex: 1 1 300px;
    max-width: 360px;
  }
}
.landing-social .dir-pais,
.landing-social .mini-cat {
  font-size: var(--tipo-xs);
}
.landing-social .dir-tarjeta > h3 {
  font-size: var(--tipo-md);
  min-height: calc(1.18em * 2);
}
.landing-social .dir-inicial {
  font-size: var(--tipo-xl);
}
.landing-pasos .paso-num {
  font-size: var(--tipo-xl);
}
.banda-final .titulo-duo {
  font-size: clamp(var(--tipo-xl), 1.25rem + 1.4vw, var(--tipo-3xl));
}
.landing-hero .carnet.carnet-demo .carnet-cat {
  font-size: clamp(12px, 2.35cqw, 13px);
}
.landing-hero .carnet.carnet-demo .carnet-vigencia {
  font-size: clamp(12px, 2.5cqw, 13px);
  text-wrap: pretty;
}
.landing-hero .carnet.carnet-demo .carnet-codigo {
  font-size: clamp(12px, 3cqw, 17px);
}
.landing-hero .carnet.carnet-demo .carnet-marca small {
  font-size: clamp(12px, 2.2cqw, 12px);
}
@media (max-width: 639.98px) {
  .landing-hero .carnet.carnet-demo .carnet-marca small {
    letter-spacing: 0.08em;
  }
}
.landing-pasos .paso-num {
  color: var(--navy-ink);
  display: grid;
  place-items: center;
  line-height: 1;
}
@media (min-width: 640px) {
}
@media (min-width: 900px) {
}
:root {
  --r13-comercio: 1;
  --r14-comercio: 1;
}
.pago-sala {
  max-width: var(--ancho-contenido);
  margin-inline: auto;
  padding: var(--esp-6) var(--esp-4) var(--esp-12);
}
.pago-cabecera { margin-bottom: var(--esp-6); }
.pago-cabecera .eyebrow {
  display: block;
  margin-bottom: var(--esp-2);
}
.pago-bajada {
  max-width: var(--ancho-lectura);
  margin-top: var(--esp-3);
  color: var(--texto-secundario);
  line-height: var(--interlinea-normal);
}
.pago-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--esp-6);
  align-items: start;
}
@media (min-width: 900px) {
  .pago-panel { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); }
}
.pago-resumen,
.pago-comprobante,
.pago-accion {
  min-width: 0;
  border: var(--borde-fino) solid var(--borde-tenue);
  border-radius: var(--radio-md);
  padding: var(--esp-5);
  background: var(--fondo-superficie);
}
.pago-resumen { border-color: var(--borde-dorado); }
.pago-detalle { margin: 0; }
.pago-detalle > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--esp-2);
  padding-block: var(--esp-3);
  border-bottom: var(--borde-fino) solid var(--borde-tenue);
}
.pago-detalle > div:last-child { border-bottom: 0; }
.pago-detalle dt {
  color: var(--texto-secundario);
  font-size: var(--tipo-sm);
  letter-spacing: var(--tracking-etiqueta);
  text-transform: uppercase;
}
.pago-detalle dd {
  margin: 0;
  color: var(--texto-primario);
  font-weight: var(--peso-medio);
  text-align: right;
  overflow-wrap: anywhere;
}
.pago-detalle-total { padding-top: var(--esp-4); }
.pago-detalle-total dt { color: var(--texto-primario); }
.pago-detalle-total dd {
  display: flex;
  align-items: baseline;
  gap: var(--esp-1);
  color: var(--texto-oro);
}
.pago-moneda {
  font-size: var(--tipo-sm);
  letter-spacing: var(--tracking-ancho);
}
.pago-cifra {
  font-family: var(--serif);
  font-size: var(--tipo-3xl);
  line-height: var(--interlinea-ajustada);
}
.pago-mono {
  font-variant-numeric: tabular-nums;
  letter-spacing: var(--tracking-ancho);
}
.pago-referencia {
  margin-top: var(--esp-4);
  color: var(--texto-tenue);
  font-size: var(--tipo-sm);
}
.pago-puerta { margin-top: var(--esp-5); }
.pago-check {
  display: flex;
  align-items: flex-start;
  gap: var(--esp-3);
  margin-bottom: var(--esp-3);
  color: var(--texto-secundario);
  font-size: var(--tipo-sm);
  line-height: var(--interlinea-normal);
  cursor: pointer;
}
.pago-check input[type="checkbox"] {
  flex: 0 0 auto;
  margin-top: 0.15em;
}
.pago-check a {
  color: var(--texto-enlace);
  text-underline-offset: 0.2em;
}
.pago-check a:hover { color: var(--texto-enlace-hover); }
.btn[disabled],
.btn[disabled]:hover {
  cursor: not-allowed;
  background: transparent;
  border: var(--borde-fino) solid var(--borde-dorado);
  color: var(--texto-primario);
  box-shadow: none;
  filter: none;
  opacity: 1;
}
.pago-form-niubiz {
  margin-block: var(--esp-4);
  min-height: 3rem;
}
.pago-aviso-prueba {
  margin-bottom: var(--esp-4);
  padding: var(--esp-3) var(--esp-4);
  border: var(--borde-fino) dashed var(--estado-aviso);
  border-radius: var(--radio-sm);
  color: var(--texto-primario);
  font-size: var(--tipo-sm);
}
.pago-seguro,
.pago-nota {
  margin-top: var(--esp-3);
  color: var(--texto-tenue);
  font-size: var(--tipo-sm);
  line-height: var(--interlinea-normal);
}
.pago-volver { margin-top: var(--esp-4); }
.pago-volver a {
  color: var(--texto-secundario);
  font-size: var(--tipo-sm);
}
.pago-volver a:hover { color: var(--texto-primario); }
.pago-comprobante-titulo {
  margin: 0 0 var(--esp-4);
  font-size: var(--tipo-sm);
  letter-spacing: var(--tracking-etiqueta);
  text-transform: uppercase;
  color: var(--texto-secundario);
}
.pago-marca {
  display: block;
  width: 2.75rem;
  height: 2.75rem;
  margin-bottom: var(--esp-4);
  border-radius: var(--radio-pastilla);
  border: var(--borde-medio-grosor) solid currentColor;
  position: relative;
}
.pago-marca-ok { color: var(--estado-exito); }
.pago-marca-no { color: var(--estado-error); }
.pago-marca-espera { color: var(--estado-aviso); }
.pago-marca-ok::after {
  content: "";
  position: absolute;
  inset-inline-start: 32%;
  inset-block-start: 20%;
  width: 28%;
  height: 50%;
  border-inline-end: var(--borde-medio-grosor) solid currentColor;
  border-block-end: var(--borde-medio-grosor) solid currentColor;
  transform: rotate(45deg);
}
.pago-marca-no::before,
.pago-marca-no::after {
  content: "";
  position: absolute;
  inset-inline-start: 50%;
  inset-block-start: 26%;
  width: var(--borde-medio-grosor);
  height: 48%;
  background: currentColor;
}
.pago-marca-no::before { transform: translateX(-50%) rotate(45deg); }
.pago-marca-no::after  { transform: translateX(-50%) rotate(-45deg); }
.pago-marca-espera::after {
  content: "";
  position: absolute;
  inset-inline-start: 50%;
  inset-block-start: 28%;
  width: var(--borde-fino);
  height: 26%;
  background: currentColor;
  transform-origin: bottom center;
  transform: translateX(-50%);
}
.pago-sugerencias {
  margin: var(--esp-4) 0 0;
  padding-inline-start: var(--esp-5);
  color: var(--texto-secundario);
  font-size: var(--tipo-sm);
  line-height: var(--interlinea-normal);
}
.pago-sugerencias li { margin-bottom: var(--esp-2); }
.documento-legal {
  max-width: var(--ancho-lectura);
  margin-inline: auto;
  margin-block: var(--esp-8);
  padding: var(--esp-6);
}
.documento-legal h2 {
  margin-top: var(--esp-6);
  font-size: var(--tipo-md);
  letter-spacing: var(--tracking-titulo);
}
.documento-legal ol {
  padding-inline-start: var(--esp-5);
  line-height: var(--interlinea-amplia);
}
.documento-legal li { margin-bottom: var(--esp-3); }
.documento-pie {
  margin-top: var(--esp-6);
  padding-top: var(--esp-4);
  border-top: var(--borde-fino) solid var(--borde-tenue);
  color: var(--texto-tenue);
  font-size: var(--tipo-sm);
}
:root { --pago-niubiz: 1; }
@media (max-width: 899.98px) {
}
.embajador-contacto {
  display: inline-block;
  margin-top: var(--esp-1);
  color: var(--texto-enlace);
  font-size: var(--tipo-sm);
  text-underline-offset: 0.2em;
  overflow-wrap: anywhere;
}
.embajador-contacto:hover { color: var(--texto-enlace-hover); }
.pago-paquetes {
  margin: 0 0 var(--esp-4);
  padding: 0;
  border: 0;
}
.pago-paquetes legend {
  padding: 0 0 var(--esp-3);
  color: var(--texto-secundario);
  font-size: var(--tipo-sm);
  letter-spacing: var(--tracking-etiqueta);
  text-transform: uppercase;
}
.pago-paquete {
  display: flex;
  align-items: flex-start;
  gap: var(--esp-3);
  margin-bottom: var(--esp-2);
  padding: var(--esp-3) var(--esp-4);
  border: var(--borde-fino) solid var(--borde-tenue);
  border-radius: var(--radio-sm);
  cursor: pointer;
}
.pago-paquete:has(input:checked) {
  border-color: var(--borde-dorado);
  background: var(--fondo-sutil);
}
.pago-paquete:has(input:focus-visible) { outline: var(--anillo-foco); outline-offset: 2px; }
.pago-paquete input { margin-top: 0.25em; accent-color: var(--acento-primario); }
.pago-paquete-cuerpo { display: flex; flex-direction: column; gap: var(--esp-1); min-width: 0; }
.pago-paquete-precio {
  color: var(--texto-oro);
  font-family: var(--serif);
  font-size: var(--tipo-lg);
}
.pago-paquete-desc {
  color: var(--texto-secundario);
  font-size: var(--tipo-sm);
  line-height: var(--interlinea-normal);
}
@media print {
  .pago-resultado {
    --fondo-base: var(--blanco);
    --fondo-hundido: var(--gris-950);
    --fondo-superficie: var(--blanco);
    --fondo-elevado: var(--blanco);
    --fondo-sutil: color-mix(in srgb, var(--negro) 4%, transparent);
    --fondo-sutil-fuerte: color-mix(in srgb, var(--negro) 8%, transparent);
    --texto-primario: var(--negro);
    --texto-secundario: var(--gris-600);
    --texto-tenue: var(--gris-700);
    --texto-enlace: var(--negro);
    --texto-oro: var(--dorado-texto-claro);
    --ornamento-oro: var(--dorado-ornamento);
    --borde-tenue: color-mix(in srgb, var(--negro) 10%, transparent);
    --borde-medio: color-mix(in srgb, var(--negro) 18%, transparent);
    --borde-dorado: color-mix(in srgb, var(--dorado-ornamento) 55%, transparent);
    --acento-primario: var(--oro-texto);
    --acento-marca: linear-gradient(100deg, var(--plata) 0%, var(--negro) 100%);
    --marca-agua-dorada: transparent;
    --estado-exito: var(--verde-exito);
    --estado-aviso: var(--ambar-aviso);
    --estado-error: var(--rojo-error);
    --estado-info: var(--azul-info);
    --sombra-carta: none;
    --brillo-interno: none;
    background: var(--fondo-base);
    color: var(--texto-primario);
    padding: 0;
  }
  .pago-resultado .pago-detalle-total dd { color: var(--texto-primario); }
  .pago-resultado .pago-accion,
  .pago-resultado .pago-volver,
  .pago-resultado .pago-sugerencias { display: none; }
}
.pago-marca-espera::before {
  content: "";
  position: absolute;
  inset-inline-start: 50%;
  inset-block-start: 48%;
  width: 22%;
  height: var(--borde-medio-grosor);
  background: currentColor;
  transform-origin: left center;
  transform: translateY(-50%);
}
.pago-marca-espera::after {
  inset-block-start: 24%;
  height: 28%;
  width: var(--borde-medio-grosor);
}
.pago-check {
  min-height: 24px;
  padding-block: 2px;
}
.solicitud {
  max-width: var(--ancho-lectura);
  margin-inline: auto;
  padding: var(--esp-8) var(--esp-4) var(--esp-12);
}
.solicitud-cabecera { margin-bottom: var(--esp-6); }
.solicitud-cabecera .eyebrow {
  display: block;
  margin-bottom: var(--esp-2);
}
.solicitud-bajada {
  margin-top: var(--esp-3);
  color: var(--texto-secundario);
  line-height: var(--interlinea-normal);
}
.solicitud-form { padding-block: var(--esp-6); padding-inline: 0; }
@media (max-width: 639.98px){
  .solicitud-form .campo input,
  .solicitud-form .campo select,
  .solicitud-form .campo textarea { width: 100%; }
  .solicitud-form .btn { width: 100%; }
}
.solicitud-par {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0 var(--esp-4);
}
@media (min-width: 640px) {
  .solicitud-par { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
.campo-opcional {
  color: var(--texto-tenue);
  font-weight: var(--peso-normal);
  text-transform: none;
  letter-spacing: var(--tracking-normal);
}
.solicitud-senuelo {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.solicitud-pasos {
  margin: var(--esp-4) 0 0;
  padding-inline-start: var(--esp-5);
  line-height: var(--interlinea-amplia);
  color: var(--texto-secundario);
}
.solicitud-pasos li { margin-bottom: var(--esp-3); }
.solicitud-pasos li::marker {
  color: var(--texto-oro);
  font-weight: var(--peso-semi);
}
.solicitud-pasos strong {
  display: block;
  color: var(--texto-primario);
}
.solicitud-pie {
  margin-top: var(--esp-6);
  padding-top: var(--esp-4);
  border-top: var(--borde-fino) solid var(--borde-tenue);
  color: var(--texto-secundario);
  font-size: var(--tipo-sm);
}
.solicitud-pie a { color: var(--texto-enlace); }
.solicitud-pie a:hover { color: var(--texto-enlace-hover); }
.solicitud-acuse .pago-marca { margin-inline: auto; }
.solicitud-acuse .solicitud-cabecera { text-align: center; }
.solicitud-acuse .solicitud-bajada { margin-inline: auto; }
.btn-activo {
  border-color: var(--borde-dorado);
  background: var(--fondo-sutil);
}
.celda-nota {
  margin-top: var(--esp-1);
  color: var(--texto-secundario);
  font-size: var(--tipo-sm);
  line-height: var(--interlinea-normal);
  overflow-wrap: anywhere;
}
.celda-mensaje {
  padding-inline-start: var(--esp-3);
  border-inline-start: var(--borde-fino) solid var(--borde-tenue);
  font-style: italic;
}
.estado-ok      { color: var(--estado-exito); }
.estado-no      { color: var(--estado-error); }
.estado-abierto { color: var(--estado-aviso); font-weight: var(--peso-medio); }
.incluye-club {
  margin-top: var(--esp-8);
  padding-top: var(--esp-6);
  border-top: 0;
  position: relative;
}
.incluye-club::before {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-start: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    color-mix(in srgb, var(--ornamento-oro) 0%, transparent) 0%,
    var(--ornamento-oro) 22%,
    var(--ornamento-oro) 78%,
    color-mix(in srgb, var(--ornamento-oro) 0%, transparent) 100%);
  opacity: .5;
}
.incluye-club > h3 {
  margin: 0 0 var(--esp-5);
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-sm);
  font-weight: var(--peso-semi);
  letter-spacing: var(--tracking-etiqueta);
  text-transform: uppercase;
  color: var(--texto-oro);
}
.incluye-club li::before {
  content: "";
  position: absolute;
  left: calc(var(--esp-1) - 1px);
  top: .52em;
  width: .46em;
  height: .46em;
  border: 1.5px solid var(--ornamento-oro);
  border-radius: 0;
  transform: rotate(45deg);
  border-right-width: 1.5px;
  border-bottom-width: 1.5px;
}
.incluye-nota {
  margin: var(--esp-4) 0 0;
  padding-left: var(--esp-6);
  color: var(--texto-tenue);
  font-size: var(--tipo-sm);
  line-height: var(--interlinea-normal);
}
.beneficio-club { position: relative; }
.beneficio-club::after {
  content: "";
  position: absolute;
  inset-block-start: var(--esp-4);
  inset-inline-end: var(--esp-4);
  width: .42rem;
  height: .42rem;
  border: 1px solid var(--ornamento-oro);
  border-radius: 0;
  transform: rotate(45deg);
  opacity: .7;
}
.solicitud-aviso-existe { display: block; }
.solicitud-aviso-existe strong { display: block; margin-bottom: var(--esp-1); }
.solicitud-aviso-acciones {
  display: flex;
  flex-wrap: wrap;
  gap: var(--esp-2);
  margin-top: var(--esp-3);
}
.solicitud-aviso-acciones .btn { font-size: var(--tipo-sm); }
.ax-main > form.tarjeta.formula-ficha {
  grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr));
}
.formula-tarjeta > .formula-folio {
  color: color-mix(in srgb, var(--oro) 68%, transparent);
}
.formula-tarjeta:hover > .formula-folio,
.formula-tarjeta:focus-visible > .formula-folio {
  color: color-mix(in srgb, var(--oro) 86%, transparent);
}
:root { --r15-comercio: 1; }
.ax-main:has(> .acceso-caja)::before {
  background:
    linear-gradient(to top,
      color-mix(in srgb, var(--negro-000) 90%, transparent) 0%,
      color-mix(in srgb, var(--negro-000) 45%, transparent) 45%,
      transparent 100%),
    image-set(url("/static/arte/gabinete-1280.webp") type("image/webp"),
              url("/static/arte/gabinete-1280.jpg") type("image/jpeg"))
      center center / cover no-repeat,
    var(--negro-000);
}
@media (min-width: 1280px) {
  .ax-main:has(> .acceso-caja)::before {
    background:
      linear-gradient(to top,
        color-mix(in srgb, var(--negro-000) 90%, transparent) 0%,
        color-mix(in srgb, var(--negro-000) 45%, transparent) 45%,
        transparent 100%),
      image-set(url("/static/arte/gabinete-2560.webp") type("image/webp"),
                url("/static/arte/gabinete-2560.jpg") type("image/jpeg"))
        center center / cover no-repeat,
      var(--negro-000);
  }
}
.placa-laca,
.campanas-rejilla > .cuenta-perfil,
body.pagina-formulas .ax-main .tarjeta{
  background:
    linear-gradient(rgb(var(--negro-rgb) / .55), rgb(var(--negro-rgb) / .7)),
    url("/static/ds/texturas/laca-tile.webp") center / 512px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.campanas-rejilla > .tarjeta {
  border: var(--borde-fino) solid var(--oro-a30);
}
.papel{
  background: var(--laca-2);
  color: var(--marfil-2);
  border: 0;
  border-radius: 0;
}
.cristal{
  background: rgb(var(--negro-rgb) / .62);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  border: 0;
  border-radius: 0;
}
.placa-laton {
  background: var(--laton);
  color: var(--laton-tinta);
  border: var(--borde-fino) solid var(--oro-sombra);
  border-radius: 0;
  box-shadow:
    inset 0 1px 0 var(--brillo-laton),
    inset 0 -1px 0 var(--sombra-bisel);
}
.btn,
.btn-linea,
.btn-espera {
  border: var(--borde-fino) solid var(--oro-linea);
  border-radius: 0;
  background: none;
  color: var(--marfil);
}
.btn:hover,
.btn-linea:hover,
.btn-espera:hover {
  border-color: var(--oro);
  background: none;
  color: var(--marfil);
}
.btn:active,
.btn-linea:active {
  background: color-mix(in srgb, var(--oro) 12%, transparent);
}
.btn-oro,
.campanas-rejilla > *:not(:first-child) .btn-oro,
body.pagina-formulas .formula-ficha .btn-espera{
  background: var(--laton);
  color: var(--laton-tinta);
  border: var(--borde-fino) solid var(--oro-sombra);
  border-radius: 0;
  box-shadow:
    inset 0 1px 0 var(--brillo-laton),
    inset 0 -1px 0 var(--sombra-bisel);
  font-weight: var(--peso-semi);
}
.btn-oro:hover,
body.pagina-formulas .formula-ficha .btn-espera:hover{
  background: var(--laton);
  border-color: var(--oro-sombra);
  color: var(--laton-tinta);
  filter: brightness(1.04);
}
.eyebrow,
.linea-precio{ color: var(--marfil-3); }
.embajador-ficha,
.embajador-ficha img,
.campanas-rejilla .campo-ayuda,
body.pagina-formulas .formula-ficha,
body.pagina-formulas .formula-lamina{
  border: 0;
  border-radius: 0;
}
.embajador-ficha{
  border-top: var(--borde-fino) solid color-mix(in srgb, var(--oro) 26%, transparent);
}
.campanas-rejilla > .tarjeta:focus-within{
  outline: var(--borde-fino) solid var(--oro);
  outline-offset: -1px;
}
body.pagina-acceso .ax-main > .acceso-caja > .acceso-sello { display: none; }
body.pagina-acceso .ax-main > .acceso-caja > .eyebrow { color: var(--marfil-3); }
body.pagina-acceso .ax-main > .acceso-caja .campo input[type] {
  background-image: none;
  background-color: rgb(var(--negro-rgb) / .55);
  border-color: var(--oro-linea);
}
body.pagina-acceso .ax-main > .acceso-caja .campo input[type]:hover { border-color: var(--oro); }
.sala-marco,
.sala-bandeja { max-width: 640px; }
body.pagina-formulas .formulas-laminas > .formula-lamina {
  position: relative;
  aspect-ratio: 15 / 4;
  background-color: var(--negro);
  background-repeat: no-repeat;
  background-position: right top;
  background-size: cover;
  border: 0;
  border-radius: 0;
  overflow: hidden;
}
body.pagina-formulas .formulas-laminas > .formula-lamina::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    rgb(var(--negro-rgb) / .94) 0%,
    rgb(var(--negro-rgb) / .9) 38%,
    rgb(var(--negro-rgb) / .58) 64%,
    rgb(var(--negro-rgb) / .14) 88%,
    rgb(var(--negro-rgb) / 0) 100%);
}
body.pagina-formulas .formulas-laminas > .formula-lamina > .formula-lamina__enlace {
  position: relative;
  z-index: 1;
}
body.pagina-formulas .formulas-laminas > .formula-lamina--lista:nth-of-type(1) {
  background-image: url("/static/brand/formula-lamina-1.jpg");
  background-image: image-set(url("/static/brand/formula-lamina-1.webp") type("image/webp"),
                              url("/static/brand/formula-lamina-1.jpg") type("image/jpeg"));
}
body.pagina-formulas .formulas-laminas > .formula-lamina--lista:nth-of-type(2) {
  background-image: url("/static/brand/formula-lamina-2.jpg");
  background-image: image-set(url("/static/brand/formula-lamina-2.webp") type("image/webp"),
                              url("/static/brand/formula-lamina-2.jpg") type("image/jpeg"));
}
body.pagina-formulas .formulas-laminas > .formula-lamina--lista:nth-of-type(3) {
  background-image: url("/static/brand/formula-lamina-3.jpg");
  background-image: image-set(url("/static/brand/formula-lamina-3.webp") type("image/webp"),
                              url("/static/brand/formula-lamina-3.jpg") type("image/jpeg"));
}
body.pagina-formulas .formulas-laminas > .formula-lamina--lista:nth-of-type(4) {
  background-image: url("/static/brand/formula-lamina-4.jpg");
  background-image: image-set(url("/static/brand/formula-lamina-4.webp") type("image/webp"),
                              url("/static/brand/formula-lamina-4.jpg") type("image/jpeg"));
}
body.pagina-formulas .formulas-laminas > .formula-lamina--lista:nth-of-type(5) {
  background-image: url("/static/brand/formula-lamina-5.jpg");
  background-image: image-set(url("/static/brand/formula-lamina-5.webp") type("image/webp"),
                              url("/static/brand/formula-lamina-5.jpg") type("image/jpeg"));
}
body.pagina-formulas .formulas-laminas > .formula-lamina .texto { max-width: 60%; }
body.pagina-formulas .formulas-laminas > .formula-lamina .numeral {
  font: 400 clamp(3rem, 7vw, 5.6rem)/1 var(--f-palacio);
  color: var(--oro-texto);
}
body.pagina-formulas .formulas-laminas > .formula-lamina:hover,
body.pagina-formulas .formulas-laminas > .formula-lamina:focus-within {
  outline: var(--borde-fino) solid var(--oro);
  outline-offset: -1px;
}
@media (max-width: 639.98px) {
  body.pagina-formulas .formulas-laminas > .formula-lamina {
    aspect-ratio: auto;
    background-position: right bottom;
    background-size: auto 60%;
  }
  body.pagina-formulas .formulas-laminas > .formula-lamina::after {
    background: linear-gradient(
      180deg,
      rgb(var(--negro-rgb) / .94) 0%,
      rgb(var(--negro-rgb) / .88) 48%,
      rgb(var(--negro-rgb) / .45) 100%);
  }
  body.pagina-formulas .formulas-laminas > .formula-lamina .texto {
    max-width: 100%;
    padding-bottom: 40%;
  }
}
body.pagina-formulas .formulas-laminas > .formula-lamina .formula-pie {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--esp-2) var(--esp-4);
  margin-top: var(--esp-3);
}
body.pagina-formulas .formulas-laminas > .formula-lamina .formula-estado {
  display: inline-flex;
  align-items: center;
  gap: var(--esp-2);
  margin-right: 0;
  padding: var(--esp-1) var(--esp-3);
  border: var(--borde-fino) solid transparent;
  border-radius: var(--radio-pastilla);
  font-size: var(--tipo-xs);
  letter-spacing: var(--tracking-nav);
}
body.pagina-formulas .formulas-laminas > .formula-lamina .formula-estado::before {
  content: "";
  flex: 0 0 auto;
  box-sizing: border-box;
}
body.pagina-formulas .formulas-laminas > .formula-lamina--lista .formula-estado {
  color: var(--cardenillo);
  background: color-mix(in srgb, var(--cardenillo-profundo) 55%, var(--negro));
  border-color: color-mix(in srgb, var(--cardenillo) 40%, transparent);
}
body.pagina-formulas .formulas-laminas > .formula-lamina--lista .formula-estado::before {
  width: 6px;
  height: 10px;
  margin-top: -3px;
  border: solid currentColor;
  border-width: 0 1.5px 1.5px 0;
  transform: rotate(45deg);
}
body.pagina-formulas .formulas-laminas > .formula-lamina--calibrando .formula-estado {
  color: var(--niebla);
  background: var(--negro-200);
  border-color: color-mix(in srgb, var(--niebla) 30%, transparent);
}
body.pagina-formulas .formulas-laminas > .formula-lamina--calibrando .formula-estado::before {
  width: 14px;
  height: 14px;
  border: 1.5px solid currentColor;
  border-radius: 50%;
  background:
    linear-gradient(to top, currentColor 50%, transparent 50%) no-repeat 50% 0 / 1.5px 50%;
}
body.pagina-formulas .formulas-laminas > .formula-lamina--lista .formula-accion {
  margin-right: 0;
  color: var(--oro);
  font-size: var(--tipo-sm);
}
body.pagina-formulas .formulas-laminas > .formula-lamina--calibrando .formula-accion {
  margin-right: 0;
  color: var(--texto-secundario);
}
body.pagina-formulas .formulas-laminas > .formula-lamina--lista:hover .formula-accion {
  color: var(--marfil);
}
body.pagina-formulas .formulas-laminas > .formula-lamina--calibrando .numeral {
  font-size: clamp(1.8rem, 2.6vw, 2.4rem);
  color: color-mix(in srgb, var(--oro-texto) 72%, transparent);
}
body.pagina-formulas .formulas-laminas > .formula-lamina--lista h3 { font-size: var(--tipo-2xl); }
body.pagina-formulas .formulas-laminas { gap: 0; }
body.pagina-formulas .formulas-laminas > .formula-lamina--lista {
  margin-bottom: var(--esp-8);
}
body.pagina-formulas .formulas-laminas > .formula-lamina--calibrando {
  aspect-ratio: auto;
  background-color: transparent;
  border-top: var(--borde-fino) solid
    color-mix(in srgb, var(--oro-linea) 25%, transparent);
}
body.pagina-formulas .formulas-laminas > .formula-lamina--calibrando:last-child {
  border-bottom: var(--borde-fino) solid
    color-mix(in srgb, var(--oro-linea) 25%, transparent);
}
body.pagina-formulas .formulas-laminas > .formula-lamina--calibrando::after {
  display: none;
}
body.pagina-formulas .formulas-laminas
  > .formula-lamina--calibrando > .formula-lamina__enlace {
  padding: var(--esp-5) 0;
  gap: var(--esp-4);
  grid-template-columns: 3rem 1fr;
  align-items: start;
}
@media (min-width: 640px) {
  body.pagina-formulas .formulas-laminas
    > .formula-lamina--calibrando > .formula-lamina__enlace {
    padding: var(--esp-6) var(--esp-2);
    gap: var(--esp-6);
    grid-template-columns: 4rem 1fr;
    align-items: center;
  }
}
body.pagina-formulas .formulas-laminas > .formula-lamina--calibrando .numeral {
  text-align: center;
}
body.pagina-formulas .formulas-laminas > .formula-lamina--calibrando .texto {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--esp-2) var(--esp-6);
  max-width: none;
  padding-bottom: 0;
}
body.pagina-formulas .formulas-laminas > .formula-lamina--calibrando h3 {
  margin: 0;
  font-size: var(--tipo-xl);
}
body.pagina-formulas .formulas-laminas > .formula-lamina--calibrando .formula-pie {
  margin-top: 0;
}
body.pagina-formulas .formulas-laminas > .formula-lamina--calibrando:hover {
  outline: 0;
  background-color: var(--oro-a06);
}
body.pagina-formulas .formulas-laminas > .formula-lamina--lista::after {
  background:
    radial-gradient(72% 130% at 2% 52%, var(--oro-a18), transparent 68%),
    linear-gradient(
      90deg,
      rgb(var(--negro-rgb) / .94) 0%,
      rgb(var(--negro-rgb) / .9) 38%,
      rgb(var(--negro-rgb) / .58) 64%,
      rgb(var(--negro-rgb) / .14) 88%,
      rgb(var(--negro-rgb) / 0) 100%);
}
body.pagina-formulas .formula-ficha { max-width: 640px; }
body.tema-club .btn-oro,
.ax-main > form.formula-ficha.formula-ficha--activa > button.btn.btn-oro,
.ax-main > form.formula-ficha.formula-ficha--activa > button.btn.btn-espera {
  background: var(--laton);
  background-image: var(--laton);
  color: var(--laton-tinta);
  border: var(--borde-fino) solid var(--oro-sombra);
  border-radius: 0;
  box-shadow:
    inset 0 1px 0 var(--brillo-laton),
    inset 0 -1px 0 var(--sombra-bisel);
  font-weight: var(--peso-semi);
}
.campanas-rejilla .campo input[type],
.campanas-rejilla .campo select,
.campanas-rejilla .campo textarea,
body.pagina-formulas .campo input[type],
body.pagina-formulas .campo select,
body.pagina-formulas .campo textarea {
  border-color: color-mix(in srgb, var(--oro) 30%, transparent);
}
.campanas-rejilla .campo input[type]:hover,
body.pagina-formulas .campo input[type]:hover { border-color: var(--oro); }
.ax-main > form.formula-ficha > button.btn.btn-espera,
.ax-main > form.formula-ficha > button.btn.btn-oro {
  background: none;
  background-image: none;
  border-color: var(--oro-linea);
  color: var(--marfil);
}
body.pagina-formulas .campo-formula .campo-limpiar { border-radius: 0; }
body .ax-main:not([hidden]):has(> .tarjeta.sin-resultados:last-child) {
  display: flex;
  flex-direction: column;
}
body .ax-main:not([hidden]):has(> .tarjeta.sin-resultados:last-child)
  > .tarjeta.sin-resultados {
  flex: 1 1 auto;
  max-width: none;
  width: 100%;
}
body .ax-main:not([hidden]):has(> .tarjeta.sin-resultados:last-child)
  > .tarjeta.sin-resultados { padding-bottom: var(--esp-8); }
body .ax-main > .tarjeta.sin-resultados { padding-bottom: var(--esp-8); }
body .ax-main > .tarjeta.sin-resultados:has(+ .inv-nota-legal) {
  max-width: none;
  width: 100%;
}
body .ax-main:not([hidden]):has(> .tarjeta.sin-resultados:last-child)
  > .tarjeta.sin-resultados::after {
  order: 2;
  flex: 1 1 auto;
  width: 100%;
  height: auto;
  min-height: var(--esp-32);
  margin: var(--esp-8) 0 0;
  background:
    linear-gradient(90deg, transparent, var(--oro-a55), transparent)
      50% 0 / var(--esp-24) var(--borde-fino) no-repeat,
    repeating-linear-gradient(
      to top,
      color-mix(in srgb, var(--oro) 34%, transparent) 0 var(--borde-fino),
      transparent var(--borde-fino) var(--esp-8))
      0 100% / 100% calc(100% - var(--esp-6)) no-repeat;
}
.ax-main:has(> .sala-escena) > .campanas-rejilla > .tarjeta {
  background-color: var(--negro-200);
}
.pagina-cabecera > div > .cuenta-accion { margin-top: var(--esp-5); }
@media (min-width: 900px) {
  .accesos-rejilla > .acceso-item strong {
    line-height: var(--interlinea-titulo);
    min-height: calc(var(--interlinea-titulo) * 2em);
  }
}

/* ── ds/86-paso0.css ── */
.retrato{ position:relative; display:block; margin:0; background:var(--laca-2); overflow:hidden; aspect-ratio:4/5; }
.retrato img{ display:block; width:100%; height:100%; object-fit:cover; object-position:50% 30%; margin:0; border:0; border-radius:0; max-width:none; }
.retrato--sin-foto{ box-shadow:inset 0 0 0 1px var(--oro-linea); }
.perfil-hero .retrato--sin-foto::after{ content:""; position:absolute; inset:0; background:var(--oro-linea); opacity:.7;
  -webkit-mask:url("/static/ds/ornamentos/retrato.svg") center/contain no-repeat; mask:url("/static/ds/ornamentos/retrato.svg") center/contain no-repeat; }
body .ax-main .perfil-hero.saludo-cine .retrato{ width:clamp(120px,14vw,176px); margin-bottom:var(--esp-6); }
body .ax-main .perfil-hero.saludo-cine .retrato > img.perfil-foto{ width:100%; height:100%; max-width:none; margin:0; border:0; border-radius:0; box-shadow:none; }
body .ax-main .perfil-columna > section.perfil-hero.perfil-hero.perfil-hero .retrato{ width:104px; grid-column:1; grid-row:1 / span 2; align-self:start; justify-self:start; }
body .ax-main .perfil-columna > section.perfil-hero.perfil-hero.perfil-hero > figure.retrato > img.perfil-foto{ width:100%; height:100%; border:0; border-radius:0; margin:0; }
.verif-caja .retrato{ width:96px; margin:0 auto var(--esp-4); }
.sala-cara.retrato{ width:var(--sala-cara,48px); height:auto; aspect-ratio:1; border-radius:0; display:block; }
.sala-cara.retrato > img{ object-position: 50% 22%; }
.cuenta-foto.retrato{ width:96px; height:auto; border-radius:0; display:block; }
.sala-escena{ position:fixed; inset:0; z-index:-1; pointer-events:none; }
.sala-escena picture, .acceso-umbral{ display:block; }
.sala-escena img{ width:100%; height:100%; object-fit:cover; object-position:70% 40%; }
.sala-escena::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,var(--negro) 0%,rgb(var(--negro-rgb) / .85) 45%,rgb(var(--negro-rgb) / .4) 100%),linear-gradient(180deg,transparent 40%,var(--negro) 100%); }
@media (max-width: 767.98px){ .sala-escena img{ object-position:50% 0; } .sala-escena::after{ background:rgb(var(--negro-rgb) / .88); } }
.sala-marco, .sala-bandeja{ max-width:640px; }
body.pagina-cine .cine-hero{ position:relative; overflow:hidden; background-image:none; }
.cine-hero .cine-hero__arte img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:60% 40%; z-index:0; }
.cine-hero .cine-hero-velo{ z-index:1; }
.cine-hero .cine-hero-contenido{ position:relative; z-index:2; }
.reproductor.marco-gala{ position:relative; }
.rail-accesos .ep-placa{ background:var(--laca); }
body.pagina-acceso{ background:var(--negro); }
.acceso-umbral{ position:fixed; inset:0; z-index:-1; pointer-events:none; }
.acceso-umbral img{ width:100%; height:100%; object-fit:cover; object-position:50% 50%; }
.acceso-umbral::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgb(var(--negro-rgb) / .85) 0%,rgb(var(--negro-rgb) / .5) 45%,rgb(var(--negro-rgb) / .3) 100%),linear-gradient(180deg,transparent 50%,var(--negro) 100%); }
body.pagina-acceso .ax-main, body.pagina-acceso .ax-main:has(> .acceso-caja){ display:grid; grid-template-columns:1fr; align-content:center; justify-items:start; min-height:100dvh; max-width:none; padding:calc(64px + var(--esp-8)) max(var(--canal),calc(50vw - 620px)) var(--cierre-pie); gap:0; }
body.pagina-acceso .ax-main:has(> .acceso-caja)::before, body.pagina-acceso .ax-main:has(> .acceso-ambiente)::before{ content:none; }
body.pagina-acceso .ax-main > .acceso-caja{ position:relative; width:100%; max-width:440px; margin:0; padding:clamp(32px,4vw,56px); background:rgb(var(--negro-rgb) / .72); border:1px solid var(--oro-linea); border-radius:0; box-shadow:none; text-align:left; justify-self:start; }
body.pagina-acceso .ax-main > .acceso-caja.solicitud{ max-width:640px; }
body.pagina-acceso .ax-main > .acceso-caja::before, body.pagina-acceso .ax-main > .acceso-caja::after{ content:none; }
.acceso-caja > .panel, .acceso-caja > .tarjeta{ border:0; background:none; padding:0; box-shadow:none; }
.acceso-caja .solicitud-form{ margin-top:var(--esp-6); }
@media (max-width: 767.98px){ body.pagina-acceso .ax-main > .acceso-caja{ background:rgb(var(--negro-rgb) / .9); margin-top:auto; } body.pagina-acceso .ax-main, body.pagina-acceso .ax-main:has(> .acceso-caja){ align-content:end; padding-top:calc(60px + var(--esp-6)); } .acceso-umbral::after{ background:rgb(var(--negro-rgb) / .8); } }
body .ax-main > .verif-caja{ background:var(--laca); border:0; border-top:1px solid var(--oro-linea); border-bottom:1px solid var(--oro-linea); border-radius:0; color:var(--marfil); box-shadow:none; }
body .ax-main > .verif-caja::before, body .ax-main > .verif-caja::after{ content:none; }
body:has(.verif-caja) .ax-main{ display:flex; flex-direction:column; align-items:center; justify-content:center; position:relative; contain:paint; min-height:calc(100dvh - 64px); }
.verif-caja h1{ color:var(--marfil); font-family:var(--f-palacio); font-weight:400; }
.verif-caja .eyebrow, .verif-caja .verif-datos li > span{ color:var(--marfil-3); }
.verif-caja .verif-datos li > strong{ color:var(--marfil); }
.verif-nota{ color:var(--marfil-2); font-size:var(--t-label); margin-top:.8rem; }
.verif-emision{ margin-top:1.6rem; color:var(--marfil-3); }
.verif-caja .aviso{ border-radius:0; }
.verif-caja .aviso-ir{ color:inherit; font-weight:600; }
.verif-caja .verif-sello.ok{ background:var(--laton); color:var(--laton-tinta); border-radius:0; box-shadow:none; border:0; }
.verif-caja .verif-sello.no{ background:none; color:var(--marfil-2); border:1px solid var(--oro-linea); border-radius:0; box-shadow:none; }
body .ax-main .perfil-columna > section.perfil-hero.perfil-hero.perfil-hero{ background:var(--laca); border:0; border-radius:0; box-shadow:none; }
.formulas-laminas{ display:grid; gap:clamp(16px,2vw,32px); }
.formula-lamina{ position:relative; aspect-ratio:3/1; background:var(--laca); border:0; margin:0; }
.formula-lamina__enlace{ display:grid; grid-template-columns:auto 1fr; gap:clamp(16px,3vw,40px); align-items:center; height:100%; padding:clamp(16px,3vw,40px); text-decoration:none; color:inherit; }
.formula-lamina .numeral{ font:400 clamp(3rem,7vw,5.6rem)/1 var(--f-palacio); color:var(--oro-texto); }
.formula-lamina .texto{ max-width:60%; }
.formula-lamina h3{ font:400 var(--t-h2)/1.15 var(--f-palacio); color:var(--marfil); margin:0 0 .5em; letter-spacing:-.01em; }
.formula-lamina .formula-estado, .formula-lamina .formula-accion{ display:inline-block; font:600 var(--t-label)/1 var(--f-sans); letter-spacing:.14em; text-transform:uppercase; color:var(--marfil-3); margin-right:1.2em; background:none; border:0; padding:0; }
.formula-lamina .formula-accion{ color:var(--marfil-2); }
.formula-lamina:hover{ outline:1px solid var(--oro); outline-offset:-1px; }
.formula-lamina:hover .formula-accion{ color:var(--marfil); }
.formulas-nota{ color:var(--marfil-2); max-width:68ch; margin:0 0 var(--esp-6); }
@media (max-width:480px){ .formula-lamina{ aspect-ratio:auto; } .formula-lamina__enlace{ grid-template-columns:1fr; gap:8px; } .formula-lamina .texto{ max-width:100%; padding-bottom:0; } }
.placa-laca{ background:var(--laca); border:0; border-radius:0; }
.placa-laton{ background:var(--laton); color:var(--laton-tinta); border:1px solid var(--oro-sombra); border-radius:0; box-shadow:inset 0 1px 0 var(--brillo-laton), inset 0 -1px 0 var(--sombra-bisel); }
.papel{ background:var(--laca-2); color:var(--marfil-2); border:0; }
.cristal{ background:rgb(var(--negro-rgb) / .62); backdrop-filter:blur(6px); border:0; }
.eyebrow, .linea-precio{ color:var(--marfil-3); }
.vacio-linea{ color:var(--marfil-2); font:400 var(--t-body)/1.55 var(--f-sans); margin:var(--esp-6) 0; max-width:68ch; }
.vacio-linea a{ color:var(--marfil-2); text-decoration:underline; text-underline-offset:.35em; text-decoration-thickness:1px; text-decoration-color:var(--oro-linea); }
.vacio-linea a:hover{ color:var(--marfil); text-decoration-color:var(--oro); }
.sala-bienvenida .sala-autor{ color:var(--marfil); }
.sala-bienvenida .sala-cuerpo p{ margin:0 0 .6em; }
.sala-bienvenida-firma{ color:var(--marfil-3); font:400 var(--t-label)/1.5 var(--f-sans); margin-top:.8em; }
.faq{ max-width:68ch; margin:0 auto; }
.ax-preguntas{ display:grid; gap:0; }
.ax-pregunta{ border-top:1px solid color-mix(in srgb,var(--oro-linea) 25%,transparent); }
.ax-pregunta:last-child{ border-bottom:1px solid color-mix(in srgb,var(--oro-linea) 25%,transparent); }
.ax-pregunta > summary{ cursor:pointer; list-style:none; padding:1.1em 2.2em 1.1em 0; position:relative; font:400 var(--t-h2)/1.2 var(--f-palacio); color:var(--marfil); letter-spacing:-.01em; }
.ax-pregunta > summary::-webkit-details-marker{ display:none; }
.ax-pregunta > summary::after{ content:"+"; position:absolute; right:.2em; top:50%; transform:translateY(-50%); color:var(--oro-texto); font:400 1.4em/1 var(--f-sans); transition:transform var(--m-fast); }
.ax-pregunta[open] > summary::after{ transform:translateY(-50%) rotate(45deg); }
.ax-pregunta > p{ margin:0 0 1.4em; color:var(--marfil-2); font:400 var(--t-body)/1.55 var(--f-sans); max-width:68ch; }
.ax-pregunta > p a{ color:var(--marfil); text-decoration:underline; text-underline-offset:.35em; text-decoration-thickness:1px; text-decoration-color:var(--oro-linea); }
.ax-pregunta > p{ color: var(--marfil); }
.faq__pie{ margin-top:var(--esp-10); display:flex; flex-wrap:wrap; align-items:center; gap:var(--esp-3) var(--esp-4); }
.faq__pie .btn{ border:1px solid var(--oro-linea); color:var(--marfil); background:none; border-radius:0; font:600 var(--t-label)/1 var(--f-sans); letter-spacing:var(--tracking-nav); text-transform:uppercase; padding:.9em 1.6em; display:inline-flex; align-items:center; justify-content:center; gap:var(--esp-2); text-decoration:none; }
.faq__pie .btn:hover{ border-color:var(--oro); }
@media (max-width: 639.98px){
  .faq__pie{ flex-direction:column; align-items:stretch; }
  .faq__pie .btn{ width:100%; }
}
@media (min-width: 640px) and (max-width: 1023.98px){
  .faq__pie{
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
    justify-content: start;
    align-items: stretch;
    width: fit-content;
    max-width: 100%;
  }
}
@media (prefers-reduced-motion:reduce){ .ax-pregunta > summary::after{ transition:none; } }
body.pagina-acceso .ax-main,
body.pagina-acceso .ax-main:has(> .acceso-caja){ position:relative; }
body.pagina-acceso .acceso-umbral{
  position:absolute;
  inset-inline:0;
  inset-block-start:0;
  block-size:clamp(560px, 100svh, 900px);
}
body.pagina-acceso .acceso-caja .titulo-duo,
body.pagina-acceso .acceso-caja .titulo-duo > :first-child:not(:last-child){
  color:color-mix(in srgb, var(--marfil) 78%, var(--negro));
}
body.pagina-acceso .acceso-caja .titulo-duo > :last-child{ color:var(--marfil); }
.faq .pagina-cabecera{ border-bottom:0; padding-bottom:0; margin-bottom:var(--esp-10); }
.ax-pregunta > summary{ padding:var(--esp-5) var(--esp-10) var(--esp-5) 0; }
.ax-pregunta > p{ margin:0 0 var(--esp-6); }
.ax-pregunta[open]{
  border-top-color:var(--oro-a30);
  background:linear-gradient(180deg, var(--oro-a06), transparent 72%);
}
.ax-pregunta[open] > summary{ color:var(--marfil); }
.ax-pregunta > summary:hover{ color:var(--marfil); }
.ax-pregunta > summary:hover::after{ color:var(--oro); }
.ax-pregunta > summary:focus-visible{ outline:var(--borde-fino) solid var(--oro); outline-offset:2px; }
.acceso-umbral::before{
  content: "";
  position: absolute;
  inset-block-start: 0;
  inset-inline: 0;
  block-size: var(--esp-32);
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(180deg,
    rgb(var(--negro-rgb) / var(--velo-barra, .45)) 0,
    rgb(var(--negro-rgb) / var(--velo-barra, .45)) var(--esp-16),
    transparent 100%);
}
.acceso-umbral-capa{
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
}
@media (min-width: 1024px){
  body.pagina-acceso .ax-main > .acceso-umbral-capa > .acceso-umbral{
    position: sticky;
    inset-block-start: 0;
    inset-inline: auto;
    display: block;
    block-size: clamp(560px, 100svh, 900px);
    inline-size: 100%;
  }
}
.faq .ax-preguntas{
  position: relative;
  isolation: isolate;
  background: var(--placa-fondo, var(--negro-400));
  padding-inline: var(--esp-6);
}
.faq .ax-preguntas::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: 1;
  background:
    repeating-linear-gradient(58deg,  var(--placa-trama, var(--carnet-guilloche)) 0 .5px, transparent .5px 7px),
    repeating-linear-gradient(-58deg, var(--placa-trama, var(--carnet-guilloche)) 0 .5px, transparent .5px 7px);
}
@media (min-width: 1024px){
  .faq{
    max-width: none;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: var(--canal);
    align-items: end;
  }
  .faq > .pagina-cabecera{ grid-column: 1; grid-row: 1; margin-bottom: 0; }
  .faq > .faq__pie{ grid-column: 2; grid-row: 1; align-self: end; margin: 0;
                    flex-direction: column; align-items: stretch; }
  .faq > .ax-preguntas{ grid-column: 1 / -1; grid-row: 2; margin-top: var(--esp-10); padding-inline: var(--esp-10); }
}
.faq__pie > .btn:first-child{
  background-image: var(--laton);
  border-color: transparent;
  color: var(--negro);
}
.faq__pie > .btn:first-child:hover{ filter: brightness(1.05); border-color: transparent; }
body:has(.verif-caja) .ax-main{ max-width: none; }
.ax-pregunta > summary::after{
  content: "";
  position: absolute;
  inset-inline-end: .2em;
  inset-block-start: 50%;
  font-size: 1em;
  inline-size: .72em;
  block-size: 1px;
  background: var(--oro-texto);
  transform: translateY(-50%);
  transition: background-color var(--m-fast);
}
.ax-pregunta > summary::before{
  content: "";
  position: absolute;
  inset-inline-end: calc(.2em + .36em);
  inset-block-start: 50%;
  inline-size: 1px;
  block-size: .72em;
  background: var(--oro-texto);
  transform: translateY(-50%);
  transition: opacity var(--m-fast);
}
.ax-pregunta[open] > summary::after{ transform: translateY(-50%); }
.ax-pregunta[open] > summary::before{ opacity: 0; }
.ax-pregunta > summary:hover::after,
.ax-pregunta > summary:hover::before{ background: var(--oro); }
@media (prefers-reduced-motion:reduce){
  .ax-pregunta > summary::before{ transition: none; }
}
@media (min-width: 1024px){
  .faq > .faq__pie{ display: contents; }
  .faq > .faq__pie > .btn:first-child{ grid-column: 2; grid-row: 1; align-self: end; }
  .faq > .faq__pie > .btn-wsp{
    grid-column: 1 / -1;
    grid-row: 3;
    justify-self: start;
    margin-block-start: var(--esp-10);
  }
}
body.pagina-acceso .ax-main > .acceso-caja.solicitud .solicitud-form{
  padding-block: 0;
}
.acceso-caja.solicitud .solicitud-tramo{
  min-inline-size: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.acceso-caja.solicitud .solicitud-tramo + .solicitud-tramo > .solicitud-tramo-tit{
  padding-top: var(--esp-3);
  border-top: var(--borde-fino) solid var(--oro-linea);
}
.acceso-caja.solicitud .solicitud-tramo-tit{
  display: block;
  float: none;
  inline-size: 100%;
  margin: 0 0 var(--esp-4);
  padding: 0;
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-base);
  font-weight: var(--peso-semi);
  letter-spacing: var(--tracking-nav);
  line-height: 1;
  text-transform: uppercase;
  color: var(--marfil);
}
.acceso-caja.solicitud .campo-ayuda{
  text-wrap: pretty;
}
.telon{ position:fixed; inset:0; z-index:8500; background:var(--negro); opacity:1; transition:opacity 1s ease; cursor:pointer; }
.telon[hidden]{ display:none; }
.telon__video{ display:block; width:100%; height:100%; object-fit:cover; object-position:50% 50%; }
.telon.telon--sale{ opacity:0; pointer-events:none; }
.telon.telon--rapido{ transition-duration:.3s; }
@media (prefers-reduced-motion: reduce){ .telon{ display:none !important; } }

/* ── ds/90-movimiento.css ── */
:root{
  --entra-desde:10px;
  --paso-coreo:60ms;
  --realce-alza:-3px;
  --realce-alza-poster:-4px;
  --dur-badajo:2400ms;
}
:root,.tema-oscuro,body.tema-club{
  --realce-filo:0 0 0 1px color-mix(in srgb, var(--ornamento-oro) 42%, transparent);
  --realce-halo:0 var(--esp-3) var(--esp-10) calc(-1 * var(--esp-6))
                color-mix(in srgb, var(--oro) 26%, transparent);
  --realce-lavado:color-mix(in srgb, var(--ornamento-oro) 9%, transparent);
  --realce-luz-gas:inset 0 var(--esp-5) var(--esp-12) calc(-1 * var(--esp-6))
                   var(--oro-a18);
}
.tema-claro,body.tema-papel{
  --realce-filo:0 0 0 1px color-mix(in srgb, var(--ornamento-oro) 34%, transparent);
  --realce-halo:var(--sombra-clara-2);
  --realce-lavado:color-mix(in srgb, var(--ornamento-oro) 12%, transparent);
  --realce-luz-gas:inset 0 var(--esp-5) var(--esp-12) calc(-1 * var(--esp-6))
                   var(--oro-a30);
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-delay:0s !important;
    transition-delay:0s !important;
  }
  :root{
    --entra-desde:0px;
    --paso-coreo:0ms;
    --realce-alza:0px;
    --realce-alza-poster:0px;
  }
  .carnet.tilt{ transform:none; }
}
@media (prefers-reduced-data: reduce){
  .ax-main > *,
  .rail > .ep,
  .rail-claro > .rail-card,
  .accesos-rejilla > .acceso-item,
  .cat-escalera li,
  .insignia,
  .saludo-cine .saludo-titulo,
  .carnet{ animation:none; }
}
:is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  transition-property:background-color,border-color,color,transform,opacity,filter;
}
.rail:focus-visible,.rail-claro:focus-visible{ border-radius:var(--radio-md); }
@media (forced-colors: active){
  :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
    outline:2px solid CanvasText;
    outline-offset:2px;
  }
}
@media (prefers-reduced-motion: no-preference){
  @keyframes ax-entra{
    from{ opacity:0; transform:translateY(var(--entra-desde)); }
  }
  @keyframes ax-funde{
    from{ opacity:0; }
  }
  .ax-main > *{
    animation:ax-entra var(--dur-lenta) var(--curva-salida) backwards;
  }
  .ax-main > *:nth-child(1){ animation-delay:0ms; }
  .ax-main > *:nth-child(2){ animation-delay:calc(var(--paso-coreo) * 1); }
  .ax-main > *:nth-child(3){ animation-delay:calc(var(--paso-coreo) * 2); }
  .ax-main > *:nth-child(4){ animation-delay:calc(var(--paso-coreo) * 3); }
  .ax-main > *:nth-child(5){ animation-delay:calc(var(--paso-coreo) * 4); }
  .ax-main > *:nth-child(n+6){ animation-delay:calc(var(--paso-coreo) * 4); }
  .carnet{
    animation:ax-funde var(--dur-lenta) var(--curva-salida) backwards;
  }
  @keyframes ax-revela-grabado{
    from{ clip-path:inset(0 0 100% 0); }
    to{   clip-path:inset(0); }
  }
  .escena--heroe,
  .cine-hero{
    animation:ax-revela-grabado var(--dur-cine) var(--curva-lux) backwards;
  }
  .landing-hero-navy{
    animation:ax-entra var(--dur-cine) var(--curva-salida) backwards;
  }
  .saludo-cine .saludo-titulo{
    animation:ax-entra var(--dur-lenta) var(--curva-salida) backwards;
    animation-delay:calc(var(--paso-coreo) * 2);
  }
  .rail > .ep,
  .rail-claro > .rail-card,
  .accesos-rejilla > .acceso-item{
    animation:ax-entra var(--dur-lenta) var(--curva-salida) backwards;
  }
  .rail > *:nth-child(1),.rail-claro > *:nth-child(1),.accesos-rejilla > *:nth-child(1){ animation-delay:calc(var(--paso-coreo) * 1); }
  .rail > *:nth-child(2),.rail-claro > *:nth-child(2),.accesos-rejilla > *:nth-child(2){ animation-delay:calc(var(--paso-coreo) * 2); }
  .rail > *:nth-child(3),.rail-claro > *:nth-child(3),.accesos-rejilla > *:nth-child(3){ animation-delay:calc(var(--paso-coreo) * 3); }
  .rail > *:nth-child(n+4),.rail-claro > *:nth-child(n+4),.accesos-rejilla > *:nth-child(n+4){ animation-delay:calc(var(--paso-coreo) * 4); }
  .insignia{
    animation:ax-entra var(--dur-lenta) var(--curva-salida) backwards;
    animation-delay:var(--paso-coreo);
  }
  .cat-escalera li{
    animation:ax-entra var(--dur-media) var(--curva-salida) backwards;
  }
  .cat-escalera li:nth-child(2){ animation-delay:calc(var(--paso-coreo) * 0.7); }
  .cat-escalera li:nth-child(3){ animation-delay:calc(var(--paso-coreo) * 1.4); }
  .cat-escalera li:nth-child(n+4){ animation-delay:calc(var(--paso-coreo) * 2.1); }
  @keyframes ax-llena{ from{ transform:scaleX(0); } }
  .rail-progreso i{
    transform-origin:left center;
    animation:ax-llena var(--dur-cine) var(--curva-salida) backwards;
    animation-delay:var(--dur-media);
  }
}
@view-transition{ navigation:auto; }
.ax-header{ view-transition-name:ax-cabecera; }
@media (prefers-reduced-motion: no-preference){
  ::view-transition-old(root),
  ::view-transition-new(root),
  ::view-transition-group(ax-cabecera),
  ::view-transition-old(ax-cabecera),
  ::view-transition-new(ax-cabecera){
    animation-duration:var(--dur-media);
    animation-timing-function:var(--curva-salida);
  }
}
@media (prefers-reduced-motion: reduce){
  ::view-transition-group(root),
  ::view-transition-old(root),
  ::view-transition-new(root),
  ::view-transition-group(ax-cabecera),
  ::view-transition-old(ax-cabecera),
  ::view-transition-new(ax-cabecera){ animation:none; }
}
.btn{
  transition:background-color var(--dur-rapida) var(--curva-salida),
             border-color     var(--dur-rapida) var(--curva-salida),
             color            var(--dur-rapida) var(--curva-salida),
             box-shadow       var(--dur-media)  var(--curva-salida),
             filter           var(--dur-media)  var(--curva-salida),
             opacity          var(--dur-rapida) var(--curva-salida),
             transform        var(--dur-media)  var(--curva-salida);
}
@media (hover: hover){
  .btn:hover{ background-color:var(--realce-lavado); }
  .btn-linea:hover{ background-color:var(--fondo-sutil); }
  .btn-oro:hover{ background-color:transparent; }
}
.btn:focus-visible{ background-color:var(--realce-lavado); }
.btn-oro:focus-visible{ background-color:transparent; }
.btn:active:not([disabled]):not(:disabled){
  transform:scale(var(--escala-presion));
  transition-duration:var(--dur-rapida);
}
.btn[disabled],.btn:disabled{ transform:none; }
@media (hover: hover) and (prefers-reduced-motion: no-preference){
  .btn-oro:hover{ animation:sheen-oro var(--dur-cine) var(--curva-suave) 1; }
}
@media (hover: none){
  .btn-oro:hover{ animation:none; }
}
a{
  transition:color var(--dur-rapida) var(--curva-salida),
             text-decoration-color var(--dur-rapida) var(--curva-salida);
}
.ax-main p a,
.ax-main li a,
.consent-texto a,
.foro-post-cuerpo a{
  text-decoration-color:color-mix(in srgb, currentColor 32%, transparent);
}
.ax-main p a:hover,.ax-main p a:focus-visible,
.ax-main li a:hover,.ax-main li a:focus-visible,
.consent-texto a:hover,.consent-texto a:focus-visible,
.foro-post-cuerpo a:hover,.foro-post-cuerpo a:focus-visible{
  text-decoration-color:currentColor;
}
.ax-nav a,
.foro-tabs a{
  transition:color var(--dur-rapida) var(--curva-salida),
             border-color var(--dur-rapida) var(--curva-salida),
             background-color var(--dur-rapida) var(--curva-salida);
}
.ax-wordmark{
  transition:opacity var(--dur-rapida) var(--curva-salida),
             transform var(--dur-media) var(--curva-salida);
}
@media (hover: hover){
  .ax-wordmark:hover{ opacity:.78; }
}
.ax-wordmark:active{
  transform:scale(var(--escala-presion));
  transition-duration:var(--dur-rapida);
}
a.rail-card{
  transition:transform        var(--dur-media) var(--curva-salida),
             border-color     var(--dur-media) var(--curva-salida),
             box-shadow       var(--dur-media) var(--curva-salida),
             background-color var(--dur-media) var(--curva-salida);
}
@media (hover: hover){
a.rail-card:hover{
    border-color:var(--borde-dorado);
    box-shadow:var(--realce-filo),var(--realce-luz-gas);
  }
}
a.rail-card:focus-visible{
  border-color:var(--borde-dorado);
  box-shadow:var(--realce-filo),var(--realce-luz-gas);
}
a.rail-card:active{
  transform:translateY(0) scale(var(--escala-presion));
  transition-duration:var(--dur-rapida);
  box-shadow:var(--realce-filo);
}
article.tarjeta:hover,
div.tarjeta:hover,
form.tarjeta:hover,
section.tarjeta:hover{ transform:none; }
.ep-poster{
  transition:transform    var(--dur-media) var(--curva-salida),
             border-color var(--dur-media) var(--curva-salida),
             box-shadow   var(--dur-media) var(--curva-salida);
}
.ep-poster img{
  transition:transform var(--dur-lenta) var(--curva-salida);
}
@media (hover: hover){
  a.ep:hover .ep-poster{ box-shadow:var(--realce-filo),var(--realce-luz-gas); }
  a.ep:hover .ep-poster img{ transform:scale(var(--escala-realce)); }
}
a.ep:focus-visible .ep-poster{ box-shadow:var(--realce-filo),var(--realce-luz-gas); }
a.ep:focus-visible .ep-poster img{ transform:scale(var(--escala-realce)); }
a.ep:active .ep-poster{
  transform:translateY(0) scale(var(--escala-presion));
  transition-duration:var(--dur-rapida);
}
.ep-bloqueado .ep-poster,
.ep-bloqueado .ep-poster img{ transform:none; box-shadow:none; }
.ep-estado{
  transition:transform        var(--dur-media) var(--curva-salida),
             background-color var(--dur-media) var(--curva-salida),
             color            var(--dur-media) var(--curva-salida);
}
@media (hover: hover){
  a.ep:hover .ep-estado.play{ transform:scale(var(--escala-realce)); }
}
.foro-adjuntos img{
  transition:transform    var(--dur-media) var(--curva-salida),
             border-color var(--dur-media) var(--curva-salida);
}
@media (hover: hover){
  .foro-adjuntos a:hover img{ transform:scale(var(--escala-realce)); }
}
.foro-adjuntos a:focus-visible img{ transform:scale(var(--escala-realce)); }
html{ scroll-behavior:smooth; }
.rail,.rail-claro{
  scroll-behavior:smooth;
  scroll-padding-inline:var(--esp-1);
  padding-block:var(--esp-3) var(--esp-5);
}
@media (min-width: 900px){
  .rail-claro{ padding-block:var(--esp-2); }
}
.pill,
.mini-cat,
.insignia-chip,
.insignia-nivel,
.foro-pill,
.foro-tec,
.chip-pais,
.carnet-cat{
  transition:background-color var(--dur-media) var(--curva-salida),
             color            var(--dur-media) var(--curva-salida),
             border-color     var(--dur-media) var(--curva-salida),
             opacity          var(--dur-media) var(--curva-salida);
}
.cat-escalera li{
  transition:background-color var(--dur-lenta) var(--curva-salida),
             color            var(--dur-lenta) var(--curva-salida),
             border-color     var(--dur-lenta) var(--curva-salida);
}
.cat-escalera li::before{
  transition:background-color var(--dur-lenta) var(--curva-salida),
             border-color     var(--dur-lenta) var(--curva-salida);
}
.carnet{
  transition:transform  var(--dur-lenta) var(--curva-salida),
             box-shadow var(--dur-lenta) var(--curva-salida);
}
@media (hover: hover){
  .carnet:hover,
  .carnet:focus-within{
    transform:translateY(var(--realce-alza));
  }
  .carnet.tilt{
    transition:transform  var(--dur-media) var(--curva-salida),
               box-shadow var(--dur-lenta) var(--curva-salida);
  }
  .carnet.tilt:hover,
  .carnet.tilt:focus-within{
    transform:perspective(900px)
              rotateX(var(--ry, 0deg))
              rotateY(var(--rx, 0deg))
              translateY(var(--realce-alza));
  }
}
.carnet-glare{
  transition:opacity var(--dur-lenta) var(--curva-salida);
}
@media (hover: hover){
  .carnet.tilt:hover .carnet-glare,
  .carnet.tilt:focus-within .carnet-glare{
    opacity:1;
    transition-duration:var(--dur-media);
  }
}
input,select,textarea{
  transition:border-color     var(--dur-rapida) var(--curva-salida),
             background-color var(--dur-rapida) var(--curva-salida),
             color            var(--dur-rapida) var(--curva-salida);
}
input[type="file"]::file-selector-button{
  transition:background-color var(--dur-rapida) var(--curva-salida),
             border-color     var(--dur-rapida) var(--curva-salida),
             transform        var(--dur-rapida) var(--curva-salida);
}
input[type="file"]::file-selector-button:active{ transform:scale(var(--escala-presion)); }
input[type=checkbox],input[type=radio]{
  transition:transform var(--dur-rapida) var(--curva-salida);
}
input[type=checkbox]:active,input[type=radio]:active{ transform:scale(var(--escala-presion)); }
.foro-accion{
  transition:color   var(--dur-rapida) var(--curva-salida),
             opacity var(--dur-rapida) var(--curva-salida);
}
.foro-accion:active{ opacity:.6; }
.ax-main > * .aviso,
.ax-main > * .sin-resultados,
.ax-main > * .estado-caja{
  opacity:1;
  transform:none;
  transition:opacity   var(--dur-media) var(--curva-salida),
             transform var(--dur-media) var(--curva-salida);
}
@starting-style{
  .ax-main > * .aviso,
  .ax-main > * .sin-resultados,
  .ax-main > * .estado-caja{
    opacity:0;
    transform:translateY(calc(-1 * var(--esp-1)));
  }
}
@media (prefers-reduced-motion: no-preference){
  .verif-sello.ok{
    animation-duration:var(--dur-lenta);
    animation-timing-function:var(--curva-salida);
  }
  .verif-sello.ok::after{
    animation-name:sello-halo;
    animation-duration:var(--dur-cine);
    animation-timing-function:var(--curva-salida);
    animation-iteration-count:2;
    animation-fill-mode:forwards;
    animation-delay:var(--dur-media);
  }
}
@media (prefers-reduced-motion: no-preference){
  .anillo::before{
    animation-duration:var(--dur-cine);
    animation-timing-function:var(--curva-salida);
    animation-iteration-count:1;
  }
}
.esqueleto{
  position:relative;
  overflow:hidden;
  border-radius:var(--radio-sm);
  background:var(--fondo-sutil);
  border:var(--borde-fino) solid var(--borde-tenue);
  color:transparent;
  user-select:none;
  pointer-events:none;
}
.esqueleto > *{ visibility:hidden; }
.esqueleto::after{
  content:"";
  position:absolute; inset:0;
  transform:translateX(-100%);
  background:linear-gradient(90deg,
    transparent 0%,
    color-mix(in srgb, var(--texto-primario) 7%, transparent) 50%,
    transparent 100%);
}
@media (prefers-reduced-motion: no-preference){
  @keyframes ax-esqueleto{ to{ transform:translateX(100%); } }
  .esqueleto::after{
    animation:ax-esqueleto calc(var(--dur-cine) + var(--dur-lenta)) var(--curva-suave) 6 both;
  }
}
.esqueleto-linea{ height:1em; margin-block:var(--esp-2); }
.esqueleto-linea:last-child{ width:62%; }
.esqueleto-titulo{ height:1.6em; width:48%; margin-block:var(--esp-2) var(--esp-4); }
.esqueleto-bloque{ aspect-ratio:16/9; border-radius:var(--radio-md); }
.esqueleto-tarjeta{ min-height:7rem; border-radius:var(--radio-md); }
.esqueleto-avatar{ width:88px; height:88px; border-radius:var(--radio-pastilla); }
.esqueleto-carnet{
  aspect-ratio:var(--carnet-ratio);
  width:100%; max-width:460px;
  border-radius:var(--carnet-radio);
  border-color:var(--carnet-filete-tenue);
}
.tabla tbody td{
  transition:background-color var(--dur-rapida) var(--curva-salida),
             color            var(--dur-rapida) var(--curva-salida);
}
@supports (animation-timeline: view()){
  .landing-beneficios .tarjeta,
  .landing-pasos .paso,
  .dir-rejilla > *{
    animation:none;
    animation-timeline:auto;
    opacity:1;
    transform:none;
  }
}
@media (hover: none){
a.rail-card:hover{
    transform:none;
    box-shadow:none;
  }
  a.ep:hover .ep-poster{ transform:none; box-shadow:none; }
  a.ep:hover .ep-poster img{ transform:none; }
  .carnet:hover{ transform:none; }
}
@media (max-width: 639.98px){
  :root{ --paso-coreo:45ms; --entra-desde:8px; }
}
@media print{
  *,*::before,*::after{
    animation:none !important;
    transition:none !important;
    opacity:1 !important;
    transform:none !important;
  }
  .esqueleto{ display:none !important; }
}

/* ── ds/95-correcciones.css ── */
.p0-retirado-95-21{
  overflow: hidden;
  isolation: isolate;
}
a.dir-tarjeta,
a.dir-tarjeta *,
a.rail-card,
a.rail-card *,
a.foro-hilo-card,
a.foro-hilo-card * {
  text-decoration: none;
}
a.dir-tarjeta:hover h3,
a.dir-tarjeta:focus-visible h3 {
  text-decoration: underline;
  text-decoration-color: var(--borde-dorado);
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}
  .r19-off-btn-oro-degradado {
  background: var(--degradado-oro);
  border-color: transparent;
  color: var(--nivel-gold-tinta);
  font-weight: var(--peso-fuerte);
}
.r19-off-btn-oro-degradado:hover {
  filter: brightness(1.07);
  border-color: transparent;
}
  .r19-off-btn-linea-gris,
.r19-off-btn-linea-oro-gris {
  border-color: var(--borde-medio);
  color: var(--texto-secundario);
}
.btn-linea:hover,
.btn-linea-oro:hover {
  border-color: var(--borde-dorado);
  color: var(--texto-primario);
}
.carnet-barra {
  background: color-mix(in srgb, var(--carnet-codigo-fondo) 88%, var(--marfil));
  max-width: 32%;
}
.carnet-barra img { max-height: 34px; }
.carnet-barra span {
  font-size: var(--tipo-micro);
  opacity: .72;
}
.p0-retirado-95-94{
  border-color: var(--borde-dorado);
  background: color-mix(in srgb, var(--oro) 10%, transparent);
  color: var(--texto-primario);
  font-weight: var(--peso-semi);
}
.p0-retirado-95-134{
  opacity: .90;
}
.p0-retirado-95-137{
  opacity: 1;
}
.sin-resultados,
.tarjeta.sin-resultados {
  overflow: hidden;
}
body.tema-papel .ax-iso {
  filter: brightness(.35) saturate(.6);
}
body.tema-papel .ax-resto {
  color: var(--marino);
}
.rail-card {
  display: flex;
  flex-direction: column;
}
.rail-card strong {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2lh;
}
.rail-card em,
.rail-card .rail-progreso {
  margin-top: auto;
}
body.pagina-carnet .rail {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: var(--esp-4);
  overflow: visible;
  scroll-snap-type: none;
  padding-bottom: 0;
  -webkit-mask-image: none;
  mask-image: none;
}
body.pagina-carnet .rail > * {
  flex: initial;
  width: auto;
  min-width: 0;
  scroll-snap-align: none;
}
.carnet-barra {
  background: color-mix(in srgb, var(--carnet-codigo-fondo) 64%, var(--oro));
  max-width: 30%;
}
.carnet-barra img { max-height: 32px; }
.carnet-barra span { opacity: .68; }
body.tema-club {
  --negro-100: color-mix(in srgb, #0c0e11 92%, var(--oro));
  --negro-200: color-mix(in srgb, #131619 90%, var(--oro));
  --negro-300: color-mix(in srgb, #1b1f24 90%, var(--oro));
  --negro-400: color-mix(in srgb, #24292f 90%, var(--oro));
  --gris-600:  color-mix(in srgb, #5b636c 88%, var(--oro));
  --gris-700:  color-mix(in srgb, #818b95 88%, var(--oro));
  --gris-800:  color-mix(in srgb, #aab4bf 90%, var(--oro));
}
body.tema-club .ax-iso { filter: sepia(.22) saturate(1.06) hue-rotate(-6deg); }
.p0-retirado-95-259{ content: none; }
.p0-retirado-95-260{ padding-left: 0; }
.p0-retirado-95-265{
  background: none;
  color: var(--texto-tenue);
}
@media (max-width: 639.98px) {
  .stat-tl, .kpi-nombre {
    font-family: var(--fuente-interfaz);
    font-size: var(--tipo-micro);
    font-weight: var(--peso-medio);
    letter-spacing: var(--tracking-etiqueta);
    text-transform: uppercase;
    color: var(--texto-tenue);
  }
}
@media (max-width: 899.98px) {
  .rail {
    -webkit-mask-image: linear-gradient(to right, #000 0, #000 88%, transparent 100%);
    mask-image: linear-gradient(to right, #000 0, #000 88%, transparent 100%);
    padding-inline-end: var(--esp-8);
  }
}
body.pagina-carnet .rail-claro,
.rail-claro {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: var(--esp-4);
  overflow: visible;
  scroll-snap-type: none;
  padding-bottom: 0;
  padding-inline-end: 0;
  -webkit-mask-image: none;
  mask-image: none;
}
.rail-claro > * {
  flex: initial;
  width: auto;
  min-width: 0;
  scroll-snap-align: none;
}
.r19-dir-retirado{
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}
.carnet .carnet-barra {
  background: color-mix(in srgb, var(--carnet-codigo-fondo) 86%, var(--marfil));
  max-width: 30%;
}
.carnet .carnet-barra img { max-height: 32px; }
.carnet .carnet-barra span { opacity: .68; }
.verif-caja .eyebrow { color: var(--texto-primario); }
.verif-caja .verif-datos li > span { color: var(--texto-primario); }
.verif-caja .verif-sello {
  position: relative;
  display: grid;
  place-items: center;
  width: 88px;
  height: 88px;
  margin: 0 auto var(--esp-6);
  padding: 0;
  border: 0;
  border-radius: 50%;
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-2xl);
  font-weight: var(--peso-normal);
  line-height: 1;
  letter-spacing: var(--tracking-normal);
  text-transform: none;
}
.verif-caja .verif-sello::before { content: none; }
.verif-caja .verif-sello.ok::after { content: none; animation: none; }
.verif-caja .verif-sello.ok {
  color: var(--negro-000);
  background:
    radial-gradient(circle at 50% 47%,
      color-mix(in srgb, var(--marfil) 74%, transparent) 0 30%,
      color-mix(in srgb, var(--marfil) 26%, transparent) 47%,
      transparent 64%),
    radial-gradient(circle at 34% 28%, color-mix(in srgb, var(--blanco) 45%, transparent), transparent 55%),
    repeating-conic-gradient(from 0deg,
      color-mix(in srgb, var(--dorado-ornamento) 16%, transparent) 0deg 1.6deg,
      transparent 1.6deg 4deg),
    var(--degradado-oro);
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--marfil) 70%, transparent),
    inset 0 0 0 5px color-mix(in srgb, var(--dorado-ornamento) 20%, transparent),
    inset 0 0 0 6px color-mix(in srgb, var(--oro) 70%, transparent),
    0 0 34px -12px color-mix(in srgb, var(--oro-brillante) 60%, transparent);
}
.verif-caja .verif-sello.no {
  color: var(--texto-secundario);
  background: var(--fondo-sutil);
  border-color: transparent;
  box-shadow: inset 0 0 0 1px var(--borde-medio);
}
.ax-dialogo {
  border: var(--borde-fino) solid var(--borde-dorado);
  border-radius: var(--radio-md);
  background: var(--fondo-elevado);
  color: var(--texto-primario);
  padding: var(--esp-6);
  max-width: 25rem;
  width: calc(100% - 2rem);
  box-shadow: 0 24px 60px -24px rgba(0, 0, 0, .55);
}
.ax-dialogo::backdrop { background: rgba(8, 9, 12, .62); }
.ax-dialogo h2 {
  margin: 0 0 var(--esp-2);
  font-family: var(--fuente-ceremonial);
  font-size: var(--tipo-lg);
}
.ax-dialogo p { margin: 0 0 var(--esp-5); color: var(--texto-secundario); }
.ax-dialogo-pie {
  display: flex;
  flex-wrap: wrap;
  gap: var(--esp-3);
  justify-content: flex-end;
  margin: 0;
}
.campo-clave { position: relative; display: block; }
.campo-clave > input { width: 100%; padding-inline-end: 2.9rem; }
.ojo-clave {
  position: absolute;
  inset-block: 0;
  inset-inline-end: 0;
  width: 2.9rem;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  background: none;
  color: var(--texto-tenue);
  cursor: pointer;
}
.ojo-clave:hover { color: var(--texto-oro); }
.ojo-clave:focus-visible {
  outline: 2px solid var(--ornamento-oro);
  outline-offset: -2px;
  border-radius: var(--radio-sm);
}
.ojo-clave svg { width: 20px; height: 20px; }
.ojo-clave svg[hidden] { display: none; }
.accesos-rejilla > .acceso-item {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.accesos-rejilla > .acceso-item em {
  margin-top: auto;
  padding-top: .8rem;
}
.accesos-rejilla { grid-template-columns: 1fr; }
@media (min-width: 900px) {
  .accesos-rejilla { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
}
.campo-formula > label {
  display: flex;
  align-items: center;
  gap: var(--esp-2);
}
.campo-formula > label .campo-icono {
  flex: none;
  color: var(--texto-oro);
  opacity: .9;
}
.campo-formula .campo-caja { position: relative; }
.campo-formula .campo-caja > input,
.campo-formula .campo-caja > select { padding-right: var(--esp-8); }
.campo-limpiar {
  position: absolute;
  top: 50%;
  right: var(--esp-2);
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: var(--esp-6);
  height: var(--esp-6);
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--texto-secundario);
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-md);
  line-height: 1;
  cursor: pointer;
}
.campo-limpiar:hover { color: var(--texto-primario); }
.campo-limpiar:focus-visible { outline: none; box-shadow: var(--anillo-foco); }
.campo-formula .campo-pista {
  margin-top: var(--esp-2);
  margin-bottom: 0;
  color: var(--texto-tenue);
}
.ax-main > form.formula-ficha > button.btn.formula-limpiar {
  grid-column: 1 / -1;
  justify-self: start;
  width: auto;
  min-width: 0;
  max-width: 22ch;
  min-height: 42px;
  margin-top: var(--esp-2);
  padding-inline: var(--esp-6);
}
.formula-entradas-tl {
  margin: var(--esp-6) 0 var(--esp-2);
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-xs);
  font-weight: var(--peso-semi);
  letter-spacing: var(--tracking-etiqueta);
  text-transform: uppercase;
  color: var(--texto-oro);
  text-align: left;
}
.formula-entradas {
  margin: 0;
  padding-top: var(--esp-3);
  border-top: var(--borde-fino) solid var(--borde-tenue);
  text-align: left;
}
.formula-entradas .formula-dato {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--esp-3);
  padding: var(--esp-2) 0;
}
.formula-entradas .formula-dato + .formula-dato {
  border-top: var(--borde-fino) solid var(--borde-tenue);
}
.formula-entradas dt {
  margin: 0;
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-sm);
  color: var(--texto-secundario);
}
.formula-entradas dd {
  margin: 0;
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-sm);
  font-weight: var(--peso-semi);
  color: var(--texto-primario);
}
.formula-fecha {
  margin: var(--esp-4) 0 0;
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-xs);
  color: var(--texto-tenue);
  text-align: left;
}
.formula-descargas {
  display: flex;
  flex-wrap: wrap;
  gap: var(--esp-3);
  margin-top: var(--esp-6);
}
@media print {
  body.pagina-formulas { background: var(--blanco); }
  body.pagina-formulas * { visibility: hidden !important; }
  body.pagina-formulas .formula-resultado,
  body.pagina-formulas .formula-resultado * { visibility: visible !important; }
  body.pagina-formulas .formula-resultado {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: 0;
    padding: var(--esp-8);
    background: var(--blanco) !important;
    color: var(--negro-000) !important;
    border: var(--borde-fino) solid var(--negro-000);
    box-shadow: none !important;
  }
  body.pagina-formulas .formula-resultado .resultado-valor,
  body.pagina-formulas .formula-resultado dd,
  body.pagina-formulas .formula-resultado dt,
  body.pagina-formulas .formula-resultado p,
  body.pagina-formulas .formula-resultado .eyebrow { color: var(--negro-000) !important; }
  body.pagina-formulas .formula-descargas { display: none !important; }
}
.bandera {
  height: 1.1em;
  width: 1.1em;
  object-fit: contain;
  vertical-align: -.12em;
  border-radius: 0;
}
.bandera-grande { height: 1.25em; width: 1.25em; vertical-align: -.12em; }
.mi-rotulo {
  margin: 0 0 .35rem;
  font-size: clamp(1.35rem, 4.5vw, 2.1rem);
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1.05;
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-wrap: wrap;
}
.mi-bloque { margin-top: clamp(1.4rem, 4vw, 2.4rem); }
.mi-bloque > .mi-bloque-tl {
  margin: 0 0 .7rem;
  padding-bottom: .45rem;
  border-bottom: 1px solid var(--line);
}
.r19-dir-retirado{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  margin: clamp(1.2rem, 4vw, 2rem) 0;
}
.contador-chars {
  margin: .25rem 0 0;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.contador-chars.contador-lleno { font-weight: 700; }
.perfil-redes { margin: .5rem 0 0; }
.perfil-ig {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  text-decoration: none;
}
.perfil-ig:hover span { text-decoration: underline; }
.colega-feed .feed-lista { list-style: none; margin: .6rem 0 0; padding: 0; }
.colega-feed .feed-item + .feed-item { border-top: 1px solid var(--line); }
.colega-feed .feed-item > a {
  display: grid;
  gap: .2rem;
  padding: .7rem 0;
  text-decoration: none;
}
.colega-feed .feed-fecha { font-size: .8rem; opacity: .75; font-style: normal; }
.verif-mias {
  justify-content: center;
  margin: 0 auto clamp(.8rem, 3vw, 1.4rem);
  max-width: 560px;
}

/* ── ds/97-admin.css ── */
.filtros-admin { max-width: none; }
.filtros-admin .campo { flex: 1 1 200px; }
.filtros-admin .campo:first-child { flex: 2 1 260px; }
.filtros-admin input[readonly] { color: var(--texto-secundario); cursor: default; }
.filtros-admin .btn + .btn { margin-left: 0; }
.lista-resumen {
  font-size: var(--tipo-xs);
  color: var(--texto-secundario);
  margin: 0 0 var(--esp-3);
}
.vence { font-size: var(--tipo-xs); white-space: nowrap; }
.vence-activa     { color: var(--estado-exito); }
.vence-por_vencer { color: var(--estado-aviso); font-weight: var(--peso-semi); }
.vence-vencida    { color: var(--estado-error); }
.vence-sin        { color: var(--texto-tenue); }
.celda-vacia      { color: var(--texto-tenue); }
.tabla-miembros th, .tabla-miembros td { padding: var(--esp-2); }
.tabla-miembros td:nth-child(8) { white-space: nowrap; }
.tabla-miembros .btn-editar { white-space: nowrap; font-size: var(--tipo-sm); }
.tabla-miembros .sr-only {
  position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap;
}
.tabla-miembros td a[href^="tel:"],
.tabla-miembros td a[rel="noopener"] { font-weight: var(--peso-normal); }
.paginacion {
  display: flex; align-items: center; justify-content: center;
  gap: var(--esp-3); margin-top: var(--esp-5);
}
.paginacion-num { font-size: var(--tipo-xs); color: var(--texto-secundario); }
.ficha-admin {
  display: flex; align-items: center; gap: var(--esp-5);
  max-width: 720px; margin-bottom: var(--esp-5);
}
.ficha-admin-foto {
  flex: 0 0 96px; width: 96px; height: 96px;
  border-radius: var(--radio-md); overflow: hidden;
  border: var(--borde-fino) solid var(--line);
  background: var(--fondo-sutil);
  display: grid; place-items: center;
}
.ficha-admin-foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ficha-admin-sinfoto { font-size: var(--tipo-xs); color: var(--texto-tenue); text-align: center; padding: var(--esp-2); }
.ficha-admin-datos { min-width: 0; }
.ficha-admin-datos p { margin: 0 0 var(--esp-2); }
.ficha-admin-datos .pill { margin-right: var(--esp-2); }
.ficha-admin-datos .vence { font-size: var(--tipo-sm); }
.campo-interruptor label { display: flex; align-items: center; gap: var(--esp-2); cursor: pointer; }
.campo-interruptor input[type="checkbox"] { margin: 0; }
@media (max-width: 639.98px) {
  .ficha-admin { align-items: flex-start; }
  .tabla-miembros td[data-etiqueta=""] { justify-content: flex-end; }
  .tabla-miembros .btn-editar { width: 100%; text-align: center; }
}
.tabla :is(strong, b) { font-weight: var(--peso-semi); }
.tabla-miembros .form-directorio { margin: 0; }
.tabla-miembros .btn-directorio { white-space: nowrap; font-size: var(--tipo-sm); min-width: 3.5em; }
.tabla-miembros .btn-directorio[aria-pressed="true"]  { color: var(--estado-exito); }
.tabla-miembros .btn-directorio[aria-pressed="false"] { color: var(--texto-tenue); }
.tabla-miembros .celda-motivo { display: block; margin-top: var(--esp-1); white-space: nowrap; }

/* ── ds/97-eventos.css ── */
.ev-chip {
  display: inline-block;
  padding: .18rem .55rem;
  border: 1px solid var(--line);
  border-radius: var(--radio-pastilla);
  font-size: var(--tipo-xs);
  line-height: 1.2;
  white-space: nowrap;
  color: var(--muted);
}
.ev-chip-proximo { border-color: var(--oro); color: var(--texto-oro); }
.ev-chip-hoy { border-color: var(--oro); color: var(--texto-oro); font-weight: 700; }
.ev-chip-pasado { opacity: .75; }
.ev-chip-oculto { font-style: italic; margin-left: .35rem; }
.ev-inline { display: inline; }
.ev-editar { font-size: var(--tipo-sm); }
.btn-chico { padding: .3rem .8rem; font-size: var(--tipo-sm); }
.ev-acciones { gap: .35rem; flex-wrap: wrap; }
.ev-form { max-width: 720px; }
.ev-form-fila { display: grid; gap: 0 1rem; grid-template-columns: 1fr; }
@media (min-width: 900px) { .ev-form-fila { grid-template-columns: 1fr 1fr; } }
.campo-ayuda-inline { font-weight: 400; color: var(--muted); font-size: .85em; }
.campo-casilla { display: flex; align-items: center; gap: .55rem; }
.campo-casilla input { width: auto; margin: 0; }
.campo-casilla label { margin: 0; }
.ev-borrar { max-width: 720px; margin-top: 1rem; }
.ev-borrar > summary { cursor: pointer; font-weight: 600; }
.ev-borrar > summary:focus-visible { outline: none; box-shadow: var(--anillo-foco); }
.ev-borrar p { color: var(--muted); margin: .6rem 0; }
.ev-bloque { margin-top: clamp(1.4rem, 4vw, 2.4rem); }
.ev-bloque > .ev-bloque-tl {
  margin: 0 0 .7rem;
  padding-bottom: .45rem;
  border-bottom: 1px solid var(--line);
}
.ev-lista { list-style: none; margin: 0; padding: 0; }
.ev-item {
  padding: .9rem 0;
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: .25rem;
}
.ev-item:last-child { border-bottom: 0; }
.ev-item-nombre { font-weight: 600; font-size: var(--tipo-base); }
.ev-item-pasado .ev-item-nombre { font-weight: 500; opacity: .8; }
.ev-item-lugar { color: var(--muted); font-size: var(--tipo-sm); }
.ev-item-cuando { display: flex; flex-wrap: wrap; gap: .35rem .75rem; align-items: baseline; }
.ev-fijo { color: var(--muted); font-size: var(--tipo-sm); }
.ev-cuenta { font-weight: 600; color: var(--texto-oro); font-size: var(--tipo-sm); }
.ev-cuenta[data-estado="hoy"], .ev-cuenta[data-estado="curso"] { font-weight: 700; }
.ev-cuenta[data-estado="fin"] { color: var(--muted); font-weight: 500; }
.ev-vacio { color: var(--muted); }
.ev-detalle { max-width: var(--medida-lectura); }
.ev-detalle-cuando { display: grid; gap: .25rem; margin-bottom: .9rem; }
.ev-detalle-cuando .ev-fijo { font-size: var(--tipo-base); }
.ev-detalle-cuando .ev-cuenta { font-size: var(--tipo-lg); }
.ev-detalle-dato { margin: .4rem 0; }
.ev-detalle-dato .eyebrow { display: block; margin-bottom: .15rem; }
.ev-detalle-texto { white-space: pre-line; line-height: var(--interlinea-cuerpo); }
.ev-detalle-texto { margin: .9rem 0; }
.ev-detalle-acciones { margin-top: 1rem; flex-wrap: wrap; }
.ev-lista-compacta .ev-item { padding: .55rem 0; }
.ev-lista-compacta .ev-item-nombre { font-size: var(--tipo-base); }
.avisos-mas { display: inline-block; margin-top: .5rem; font-size: var(--tipo-sm); }
.ev-social {
  margin-top: clamp(1.4rem, 4vw, 2.4rem);
  max-width: var(--medida-lectura);
}
.ev-social > .ev-bloque-tl {
  margin: 0 0 .7rem;
  padding-bottom: .45rem;
  border-bottom: 1px solid var(--line);
}
.ev-reacciones { margin: 0; }
.ev-comentarios { list-style: none; margin: 0 0 1rem; padding: 0; }
.ev-comentario {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: .2rem .7rem;
  align-items: start;
  padding: .85rem 0;
  border-bottom: 1px solid var(--line);
}
.ev-comentario:last-child { border-bottom: 0; }
.ev-comentario-cuerpo { min-width: 0; }
.ev-comentario-texto {
  margin-top: .2rem;
  line-height: var(--interlinea-cuerpo);
  overflow-wrap: anywhere;
}
.ev-comentario-borrar { justify-self: end; }
.ev-comentar { margin-top: 1rem; }
.ev-comentar textarea { min-height: 6rem; border-radius: 0; }
.ev-comentar-pie { display: flex; justify-content: flex-end; margin-top: .6rem; }
.ev-sub { display: block; color: var(--muted); font-size: var(--tipo-xs); }
.ev-kpis { grid-template-columns: repeat(auto-fit, minmax(clamp(8.5rem, 40vw, 12rem), 1fr)); }
.ev-vistas-lista { margin-top: 1.2rem; }
.ev-vistas-lista > summary { cursor: pointer; font-weight: 600; padding: .5rem 0; }
.ev-vistas-lista > summary:focus-visible { outline: none; box-shadow: var(--anillo-foco); }
.ev-chip-webinar { border-color: var(--oro); color: var(--texto-oro); font-weight: 600; }
.ev-filtro { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0 0 1rem; }
.ev-filtro-op {
  padding: .3rem .8rem;
  border: 1px solid var(--line);
  border-radius: var(--radio-pastilla);
  font-size: var(--tipo-sm);
  color: var(--muted);
  text-decoration: none;
}
.ev-filtro-op:hover { color: var(--texto-oro); border-color: var(--oro); }
.ev-filtro-op.activa { color: var(--texto-oro); border-color: var(--oro); font-weight: 600; }
.ev-filtro-op:focus-visible { outline: none; box-shadow: var(--anillo-foco); }
.ev-tipo, .ev-webinar {
  max-width: 720px;
  border: 1px solid var(--line);
  padding: .8rem 1rem 1rem;
  margin: 0 0 1rem;
}
.ev-tipo > legend, .ev-webinar > legend {
  padding: 0 .4rem;
  font-size: var(--tipo-sm);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
}
.ev-tipo-op { display: flex; align-items: center; gap: .5rem; margin: .35rem 0; cursor: pointer; }
.ev-tipo-op input { width: auto; margin: 0; }
.ev-ayuda { color: var(--muted); font-size: var(--tipo-sm); margin: .35rem 0 .8rem; }
.ev-webinar-panel .ev-detalle-dato { overflow-wrap: anywhere; }
.wb-intro { color: var(--muted); margin: 0 0 1.2rem; max-width: var(--medida-lectura); }
.wb-heroe {
  border: 1px solid var(--oro);
  padding: clamp(1rem, 4vw, 1.8rem);
  max-width: var(--medida-lectura);
}
.wb-heroe-nombre { margin: .3rem 0 .6rem; font-size: clamp(1.3rem, 5vw, 1.9rem); line-height: 1.2; }
.wb-heroe-nombre a { text-decoration: none; }
.wb-heroe-cuando { display: grid; gap: .25rem; }
.wb-heroe-cuando .ev-cuenta { font-size: clamp(1.15rem, 4.5vw, 1.5rem); }
.wb-heroe-texto { white-space: pre-line; line-height: var(--interlinea-cuerpo); margin: .8rem 0; }
.wb-dur { color: var(--muted); font-size: var(--tipo-sm); margin: .35rem 0 0; }
.wb-local::before { content: "\00b7"; margin: 0 .4rem; }
.wb-mas { display: inline-block; margin-top: .9rem; font-size: var(--tipo-sm); }
.wb-vacio { margin-top: 1rem; }
.wb-entrar { margin-top: 1rem; display: flex; flex-wrap: wrap; gap: .6rem; }
.wb-btn { max-width: 100%; white-space: normal; text-align: center; }
.wb-btn[disabled] { opacity: .55; cursor: not-allowed; }
.wb-btn-vivo { display: inline-flex; align-items: center; gap: .5rem; }
.wb-punto {
  width: .55rem; height: .55rem; border-radius: 50%;
  background: currentColor; flex: none;
  animation: wb-latido 2s ease-in-out infinite;
}
@keyframes wb-latido { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }
@media (prefers-reduced-motion: reduce) {
  .wb-punto { animation: none; }
}
.wb-nota { color: var(--muted); font-size: var(--tipo-sm); margin: 0; }
.wb-pasada .wb-entrar { margin-top: .5rem; }
.wb-entrar [hidden], .wb-dur [hidden] { display: none; }
@media (min-width: 768px) {
  body.pagina-eventos .sala-escena::after {
    background:
      linear-gradient(90deg, var(--negro) 0%,
                             rgb(var(--negro-rgb) / .9) 42%,
                             rgb(var(--negro-rgb) / .30) 100%),
      linear-gradient(180deg, transparent 0%,
                              rgb(var(--negro-rgb) / .40) 26%,
                              rgb(var(--negro-rgb) / .88) 52%,
                              var(--negro) 76%);
  }
}
@media (min-width: 1024px) {
  body.pagina-eventos .ax-main:has(> .sala-escena) { max-width: var(--ancho-contenido); }
}
@media (max-width: 767.98px) {
  body.pagina-eventos .sala-escena::after { background: rgb(var(--negro-rgb) / .95); }
}
.pagina-webinar .wb-pie { margin: var(--esp-8) 0 0; }

/* ── ds/96-ritmo.css ── */
:root{
  --ritmo-dentro: var(--esp-5);
  --cierre-aire: clamp(var(--esp-10), 4vw, var(--esp-12));
  --cierre-pie:  clamp(var(--esp-8),  3.5vw, var(--esp-10));
  --remate-lado: var(--esp-2);
}
body .ax-main:not([hidden]){
  padding-bottom: var(--cierre-pie);
}
body .ax-main:not([hidden])::after{
  content: "";
  display: block;
  width: var(--remate-lado);
  height: var(--remate-lado);
  margin: var(--cierre-aire) auto 0;
  padding: 0;
  background: color-mix(in srgb, var(--ornamento-oro) 60%, transparent);
  transform: rotate(45deg);
  flex: 0 0 auto;
  align-self: center;
  justify-self: center;
  grid-column: 1 / -1;
}
body .ax-footer{
  padding-top: var(--cierre-pie);
}
body .ax-main:not([hidden]) > .pagina-cabecera{
  margin-bottom: 0;
}
body .ax-main:not([hidden]) > .pagina-cabecera + *{
  margin-top: var(--esp-8);
}
body .ax-main:not([hidden]) > .foro-tabs{
  margin-bottom: 0;
}
body .ax-main:not([hidden]) > .foro-tabs + *{
  margin-top: var(--esp-8);
}
body .ax-main:not([hidden]) > :is(hr, .hairline, .hairline-cine):last-child{
  display: none;
}
@media (min-width: 1000px){
  body .ax-main .sala-ficha:has(> .sala-acciones){
    display: grid;
    grid-template-columns: minmax(0, var(--ancho-lectura)) minmax(200px, 18rem);
    column-gap: clamp(var(--esp-10), 5vw, var(--esp-16));
    align-items: start;
    max-width: none;
    width: 100%;
  }
  body .ax-main .sala-ficha:has(> .sala-acciones) > *{ grid-column: 1; }
  body .ax-main .sala-ficha:has(> .sala-acciones) > .sala-acciones{
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    align-content: start;
    margin-top: 0;
  }
}
@media (min-width: 901px){
  body.pagina-carnet .ax-main:has(> .perfil-rejilla){
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr);
    column-gap: var(--esp-8);
    row-gap: var(--ritmo-bloque);
    align-items: start;
  }
  body.pagina-carnet .ax-main:has(> .perfil-rejilla) > *{
    grid-column: 1 / -1;
    margin-top: 0;
    margin-bottom: 0;
  }
  body.pagina-carnet .ax-main:has(> .perfil-rejilla) > .perfil-rejilla{
    display: contents;
  }
  body.pagina-carnet .ax-main:has(> .perfil-rejilla) > .perfil-rejilla > :nth-child(1){
    grid-column: 1;
  }
  body.pagina-carnet .ax-main:has(> .perfil-rejilla) > .perfil-rejilla > :nth-child(2){
    grid-column: 2;
    grid-row: span 2;
  }
  body.pagina-carnet .ax-main:has(> .perfil-rejilla) > .perfil-rejilla > :nth-child(n+3){
    grid-column: 1 / -1;
  }
  body.pagina-carnet .ax-main:has(> .perfil-rejilla) > .tarjeta:has(form[action^="/mi/equipo"]){
    grid-column: 1;
    max-width: none;
  }
  body.pagina-carnet .ax-main:has(> .perfil-rejilla) > .aviso{
    grid-column: 1 / -1;
  }
}
@media (min-width: 900px){
  body .ax-main .foro-reglas > form{
    align-self: start;
    margin-top: var(--esp-8);
  }
}
body .ax-main :is(.perfil-rejilla, .campanas-rejilla, .renovar-panel) > * > :is(
  ol, ul, .tarjeta, .acciones-fila, .estado-caja, .insignia, .pill, .cat-escalera
){
  margin-inline: 0;
}
body .ax-main :is(.dir-rejilla, .formulas-rejilla, .landing-rejilla) > * > :is(h2, h3),
body .ax-main .rail-claro > .rail-card > strong,
body .ax-main .rail > * .ep-titulo{
  text-wrap: balance;
}
@supports (min-height: 2lh){
  body .ax-main :is(.dir-rejilla, .formulas-rejilla, .landing-rejilla) > * > :is(h2, h3):first-of-type,
  body .ax-main .rail-claro > .rail-card > strong,
  body .ax-main .rail > * .ep-titulo{
    min-height: 2lh;
  }
}
@media (min-width: 900px){
  body .ax-main .formulas-rejilla{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 639.98px){
  :root{
    --ritmo-dentro: var(--esp-4);
    --cierre-aire: var(--esp-8);
    --cierre-pie:  var(--esp-8);
  }
}
@media print{
  body .ax-main:not([hidden])::after{ display: none; }
  body .ax-main:not([hidden]){ padding-bottom: 0; }
}

/* ── ds/98-material.css ── */
.campo input[type], .campo select, .campo textarea{
  background-color: transparent;
  border: 1px solid color-mix(in srgb, var(--oro-linea) 60%, transparent);
  border-radius: 0;
  color: var(--marfil);
  transition: border-color var(--m-nav, .2s) var(--e-out, ease);
}
.campo input[type]:hover, .campo select:hover, .campo textarea:hover{
  border-color: color-mix(in srgb, var(--oro) 70%, transparent);
}
.campo input[type]:focus, .campo select:focus, .campo textarea:focus{
  border-color: var(--oro);
}
:where(input, select, textarea)::placeholder{ color: var(--marfil-3); }
:where(.placa){
  position: relative; isolation: isolate; border-radius: 0;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--marfil) 4%, transparent), transparent 62%),
    var(--laca);
}
:where(.placa)::before{
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .55;
  background:
    repeating-linear-gradient(58deg,  var(--carnet-guilloche) 0 .5px, transparent .5px 7px),
    repeating-linear-gradient(-58deg, var(--carnet-guilloche) 0 .5px, transparent .5px 7px);
}
:where(.placa)::after{
  content: ""; position: absolute; inset: 0 0 auto; height: 1px; pointer-events: none;
  background: linear-gradient(90deg, transparent, var(--oro-linea) 16%, var(--oro-linea) 84%, transparent);
  opacity: .55;
}
:where(.taracea){ display: grid; gap: 1px; }
:where(.taracea) > *{ position: relative; isolation: isolate; }
@media (prefers-reduced-motion: reduce){
  :where(input, select, textarea){ transition: none; }
}
@media (min-width: 1024px){
  .ax-main:has(> .sala-escena){
    max-width: min(1800px, calc(100% - clamp(32px, 10vw, 190px)));
  }
}
@media (min-width: 1024px){
  body.pagina-carnet .ax-main{
    max-width: min(1800px, calc(100% - clamp(32px, 10vw, 190px)));
  }
}
body.pagina-carnet .mi-bloque:has(.carnet-puerta),
body.pagina-carnet .mi-bloque:has(.carnet){
  max-width: 617px;
}
.colega-feed .feed-fecha{
  opacity: 1;
  color: var(--marfil-2);
}
input[type]:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="file"]),
select:not([hidden]):not([disabled]):not([multiple]),
textarea:not([hidden]):not([disabled]):not([readonly]){
  background-color: var(--negro-100);
  background-image: none;
  border: 1px solid var(--oro-a30);
  border-radius: 0;
  color: var(--marfil);
  transition: border-color var(--m-nav, .2s) var(--e-out, ease);
}
input[type]:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="file"]):hover,
select:not([hidden]):not([disabled]):not([multiple]):hover,
textarea:not([hidden]):not([disabled]):not([readonly]):hover{ border-color: color-mix(in srgb, var(--oro) 70%, transparent); }
input[type]:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="file"]):focus,
select:not([hidden]):not([disabled]):not([multiple]):focus,
textarea:not([hidden]):not([disabled]):not([readonly]):focus{ border-color: var(--oro); }
@media (prefers-reduced-motion: reduce){
  input, select, textarea{ transition: none; }
}
@media (min-width: 900px){
  .campanas-rejilla:has(form[action="/cuenta"]){ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .campanas-rejilla:has(form[action="/cuenta"]) > .cuenta-membresia{ grid-column: auto; }
}
input[type]:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="file"]):focus,
input[type]:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="file"]):focus-visible,
select:not([hidden]):not([disabled]):not([multiple]):focus,
select:not([hidden]):not([disabled]):not([multiple]):focus-visible,
textarea:not([hidden]):not([disabled]):not([readonly]):focus,
textarea:not([hidden]):not([disabled]):not([readonly]):focus-visible{
  border-color: var(--oro);
  outline: 2px solid var(--oro);
  outline-offset: 2px;
  box-shadow: none;
}
@media (min-width: 901px){
  body.pagina-carnet .ax-main:has(> .perfil-rejilla){
    grid-template-columns: min(617px, 48%) minmax(0, 1fr);
  }
}
.sala-escena picture{ height: 100%; }
.sala-escena::after{
  background:
    linear-gradient(90deg, var(--negro) 0%,
                           rgb(var(--negro-rgb) / .9) 42%,
                           rgb(var(--negro-rgb) / .55) 100%),
    linear-gradient(180deg, transparent 0%,
                            rgb(var(--negro-rgb) / .55) 26%,
                            rgb(var(--negro-rgb) / .88) 52%,
                            var(--negro) 76%);
}
@media (max-width: 767.98px){
  .sala-escena::after{ background: rgb(var(--negro-rgb) / .92); }
}

/* ── ds/99-investigacion.css ── */
.inv-intro {
  color: var(--muted);
  max-width: 62ch;
  margin: 0 0 1.2rem;
}
.inv-filtros-acciones {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: flex-end;
}
.inv-cifra {
  color: var(--muted);
  font-size: var(--tipo-sm);
  margin: 0 0 .6rem;
}
.inv-lista {
  list-style: none;
  margin: 0;
  padding: 0;
}
.inv-item {
  padding: .95rem 0;
  border-bottom: 1px solid var(--line);
}
.inv-item:last-child { border-bottom: 0; }
.inv-item-titulo {
  display: inline-block;
  font-weight: 600;
  font-size: var(--tipo-base);
  line-height: 1.35;
}
.inv-item-autores,
.inv-item-fuente,
.inv-item-resumen,
.inv-item-pie {
  margin: .25rem 0 0;
}
.inv-item-autores { font-size: var(--tipo-sm); }
.inv-item-fuente,
.inv-item-resumen {
  color: var(--muted);
  font-size: var(--tipo-sm);
}
.inv-item-pie {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem .75rem;
  align-items: center;
}
.inv-chip {
  display: inline-block;
  padding: .18rem .55rem;
  border: var(--borde-fino) solid var(--line);
  border-radius: var(--radio-pastilla);
  font-size: var(--tipo-xs);
  line-height: 1.2;
  white-space: nowrap;
  color: var(--muted);
}
.inv-item-com { color: var(--muted); font-size: var(--tipo-sm); }
.inv-ficha-autores { margin: 0 0 .35rem; font-weight: 600; }
.inv-ficha-fuente {
  margin: 0 0 .8rem;
  color: var(--muted);
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  align-items: baseline;
}
.inv-ficha-resumen {
  white-space: pre-line;
  max-width: 68ch;
  line-height: 1.6;
}
.inv-visor {
  border: 1px solid var(--line);
  background: var(--fondo-hundido);
}
.inv-visor-marco {
  display: block;
  width: 100%;
  height: 58vh;
  min-height: 320px;
  border: 0;
}
@media (min-width: 900px) {
  .inv-visor-marco { height: 78vh; min-height: 560px; }
}
.inv-visor-fuera {
  margin: .75rem 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
.inv-continuar {
  margin-top: 1.2rem;
  border-color: var(--oro);
  display: grid;
  gap: .5rem;
  justify-items: start;
}
.inv-continuar-tl {
  margin: 0;
  font-size: var(--tipo-md);
  color: var(--texto-oro);
}
.inv-continuar-texto { margin: 0; color: var(--muted); }
.inv-continuar-fin {
  margin: 0;
  font-size: var(--tipo-base);
  color: var(--texto-oro);
  font-weight: 600;
}
.inv-continuar-enlace {
  font-size: var(--tipo-base);
  padding-block: .8rem;
}
@media (max-width: 639.98px) {
  .inv-continuar-enlace { width: 100%; text-align: center; }
}
.inv-campo-pct {
  display: flex;
  align-items: center;
  gap: .5rem;
}
.inv-campo-pct input { width: 8rem; }
.inv-campo-sufijo {
  color: var(--muted);
  font-size: var(--tipo-base);
}
.inv-nota-legal {
  margin-top: 1.2rem;
  color: var(--muted);
  font-size: var(--tipo-sm);
  max-width: 62ch;
}
@media (min-width: 768px) {
  body.pagina-investigacion .sala-escena::after {
    background:
      linear-gradient(90deg, var(--negro) 0%,
                             rgb(var(--negro-rgb) / .9) 42%,
                             rgb(var(--negro-rgb) / .30) 100%),
      linear-gradient(180deg, transparent 0%,
                              rgb(var(--negro-rgb) / .40) 26%,
                              rgb(var(--negro-rgb) / .88) 52%,
                              var(--negro) 76%);
  }
}
@media (min-width: 1024px) {
  body.pagina-investigacion .ax-main:has(> .sala-escena) { max-width: var(--ancho-contenido); }
}
@media (max-width: 767.98px) {
  body.pagina-investigacion .sala-escena::after { background: rgb(var(--negro-rgb) / .95); }
}

/* ── ds/99-renovacion.css ── */
.auto-renov {
  margin-top: var(--esp-6);
  padding: var(--esp-5);
  border: 1px solid var(--oro-a30);
  border-radius: 0;
  background: var(--oro-a06);
}
.auto-renov-on {
  border-left: 3px solid var(--oro);
}
.auto-renov-titulo {
  margin: 0 0 var(--esp-2);
  font-size: var(--tipo-lg);
  line-height: var(--interlinea-titulo, 1.2);
}
.auto-renov-estado {
  margin: 0 0 var(--esp-2);
  color: var(--texto-primario);
  line-height: 1.5;
}
.auto-renov-pill {
  display: inline-block;
  margin-left: var(--esp-1);
  padding: var(--esp-1) var(--esp-2);
  border: 1px solid var(--oro-a30);
  border-radius: var(--radio-pastilla);
  font-size: var(--tipo-xs);
  line-height: 1.5;
  white-space: nowrap;
  color: var(--muted);
}
.auto-renov-pill-on {
  border-color: var(--oro-a55);
  color: var(--texto-primario);
  background: var(--oro-a12);
}
.auto-renov-promesa {
  margin: 0 0 var(--esp-4);
  max-width: 56ch;
  color: var(--texto-secundario);
  line-height: 1.5;
}
.auto-renov-form {
  margin: var(--esp-4) 0 0;
  display: grid;
  gap: var(--esp-3);
  justify-items: start;
}
.auto-renov-form .pago-check span {
  max-width: 56ch;
  line-height: 1.5;
}
.auto-renov .auto-renov-form > .btn {
  border: var(--borde-fino) solid var(--oro-linea);
  background: none;
  box-shadow: none;
  color: var(--marfil);
  font-weight: var(--peso-semi);
  filter: none;
}
.auto-renov .auto-renov-form > .btn:hover {
  border-color: var(--ornamento-oro);
  background: color-mix(in srgb, var(--oro) 12%, transparent);
  color: var(--marfil);
  filter: none;
}
.auto-renov .auto-renov-form > .btn:focus-visible {
  outline: none;
  box-shadow: var(--anillo-foco);
}
.auto-renov-cancelar {
  margin-top: var(--esp-4);
  border-top: 1px solid var(--oro-a18);
  padding-top: var(--esp-3);
}
.auto-renov-cancelar > summary {
  cursor: pointer;
  color: var(--muted);
  font-size: var(--tipo-sm);
  padding: var(--esp-3) 0;
  list-style-position: inside;
}
.auto-renov-cancelar > summary:focus-visible {
  outline: none;
  box-shadow: var(--anillo-foco);
  border-radius: 0;
}
.auto-renov-cancelar > summary:hover {
  color: var(--texto-primario);
}
.auto-renov-cancelar form {
  margin-top: var(--esp-2);
}
.auto-renov-aviso {
  margin-top: var(--esp-4);
  border-top: 1px solid var(--oro-a18);
  padding-top: var(--esp-3);
}
.auto-renov-aviso h3 {
  margin: 0 0 var(--esp-1);
  font-size: var(--tipo-base);
  color: var(--texto-primario);
}
.auto-renov-aviso ul {
  margin: 0;
  padding-left: var(--esp-5);
  color: var(--texto-secundario);
}
.auto-renov-aviso li {
  margin-bottom: var(--esp-1);
  max-width: 60ch;
  line-height: 1.5;
}
@media (min-width: 768px) {
  .auto-renov {
    padding: var(--esp-6);
  }
}
.renovar-panel > .auto-renov {
  grid-column: 1 / -1;
}
.auto-renov .pago-check span {
  text-transform: none;
  letter-spacing: normal;
  font-size: var(--tipo-base);
}
.renovar-cifra,
.renovar-resumen {
  font-variant-numeric: lining-nums tabular-nums;
}
.renovar-cabecera > .eyebrow { display: none; }
.renovar-cabecera { margin-bottom: var(--esp-10); max-width: none; }
.renovar-cabecera h1 { margin-bottom: var(--esp-3); max-width: 20ch; }
.renovar-bajada {
  font-size: var(--tipo-md);
  color: var(--texto-secundario);
  max-width: 56ch;
  margin: 0;
}
.renovar-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--esp-8);
  align-items: start;
}
.renovar-oferta  { align-self: start; }
.renovar-incluye { align-self: start; }
.renovar-pago    { align-self: start; }
@media (min-width: 900px) {
  .renovar-panel {
    grid-template-columns: minmax(0, 1fr) minmax(310px, 370px);
    grid-template-areas:
      "oferta  pago"
      "incluye incluye";
    column-gap: var(--esp-10);
    row-gap: var(--esp-10);
  }
  .renovar-oferta  { grid-area: oferta; }
  .renovar-incluye { grid-area: incluye; }
  .renovar-pago    {
    grid-area: pago;
    position: sticky;
    top: var(--esp-8);
  }
}
@media (min-width: 1160px) {
  .renovar-panel {
    grid-template-columns:
      minmax(270px, 320px)
      minmax(0, 1fr)
      minmax(300px, 360px);
    grid-template-areas: "oferta incluye pago";
    column-gap: var(--esp-8);
  }
}
.renovar-oferta {
  display: flex;
  flex-direction: column;
  border: var(--borde-fino) solid var(--borde-dorado);
  border-radius: var(--cx-caja);
  padding: var(--esp-6);
  background: var(--fondo-sutil);
  box-shadow: var(--sombra-carta);
  position: relative;
  overflow: hidden;
}
@media (min-width: 900px) {
  .renovar-oferta { max-width: 380px; }
}
body.tema-club .renovar-oferta {
  background:
    radial-gradient(120% 90% at 85% -20%, color-mix(in srgb, var(--oro) 9%, transparent), transparent 65%),
    var(--fondo-sutil);
}
.renovar-plan {
  display: flex; flex-wrap: wrap; align-items: baseline;
  gap: var(--esp-3) var(--esp-4);
  margin-bottom: var(--esp-5);
}
.renovar-plan-nivel {
  display: inline-flex;
  align-items: center;
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-micro);
  font-weight: var(--peso-semi);
  letter-spacing: var(--tracking-ancho);
  text-transform: uppercase;
  border-radius: var(--radio-pastilla);
  background: transparent;
  color: var(--texto-primario);
  box-shadow: inset 0 0 0 1px var(--oro-a30);
  padding: var(--esp-1) var(--esp-3);
}
.renovar-plan-periodo {
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-xs);
  letter-spacing: var(--tracking-ancho);
  text-transform: uppercase;
  color: var(--texto-secundario);
}
.renovar-precio {
  display: flex; align-items: baseline; gap: var(--esp-2);
  margin: var(--esp-1) 0 var(--esp-5);
  max-width: none;
}
.renovar-moneda {
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-xl);
  font-weight: var(--peso-medio);
  color: var(--texto-secundario);
  letter-spacing: var(--tracking-normal);
  transform: translateY(-.42em);
}
.renovar-cifra {
  font-family: var(--fuente-ceremonial);
  font-weight: var(--peso-semi);
  font-size: clamp(var(--tipo-4xl), 5.4vw, var(--tipo-5xl));
  line-height: var(--interlinea-ajustada);
  letter-spacing: var(--tracking-titulo-grande);
  color: var(--texto-primario);
}
.renovar-periodo {
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-sm);
  font-weight: var(--peso-medio);
  color: var(--texto-secundario);
}
.renovar-equivalencia {
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-sm);
  line-height: var(--interlinea-normal);
  color: var(--texto-secundario);
  margin: 0;
  max-width: none;
}
.renovar-vigencia {
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-sm);
  line-height: var(--interlinea-normal);
  color: var(--texto-primario);
  margin: var(--esp-6) 0 0;
  padding-top: var(--esp-5);
  border-top: var(--borde-fino) solid var(--borde-tenue);
  max-width: none;
}
.renovar-vigencia strong { color: var(--texto-oro); font-weight: var(--peso-semi); }
.renovar-incluye > h2 {
  font-size: var(--tipo-lg);
  margin-bottom: var(--esp-6);
  padding-bottom: var(--esp-3);
  border-bottom: var(--borde-fino) solid var(--borde-tenue);
}
.renovar-incluye li strong {
  display: block;
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-sm);
  font-weight: var(--peso-semi);
  color: var(--texto-primario);
  margin-bottom: var(--esp-1);
}
.renovar-incluye .incluye-app li::before {
  content: "";
  position: absolute;
  left: var(--esp-1); top: .42em;
  width: .40em; height: .74em;
  border: 0 solid var(--ornamento-oro);
  border-right-width: 1.5px;
  border-bottom-width: 1.5px;
  transform: rotate(42deg);
}
.ax-main .renovar-motivos {
  list-style: none;
  margin: var(--esp-8) 0 0;
  padding: var(--esp-6) 0 0;
  max-width: none;
  border-top: var(--borde-fino) solid var(--borde-tenue);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--esp-5) var(--esp-8);
  align-items: start;
}
@media (min-width: 760px) {
  .ax-main .renovar-motivos {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
  }
}
.renovar-motivos li > strong {
  display: block;
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-sm);
  font-weight: var(--peso-semi);
  letter-spacing: normal;
  text-transform: none;
  color: var(--texto-primario);
  margin-bottom: var(--esp-1);
}
.renovar-pago {
  border: var(--borde-fino) solid var(--borde-tenue);
  border-radius: var(--cx-caja);
  padding: var(--esp-6);
  background: var(--fondo-superficie);
  box-shadow: var(--sombra-carta);
}
body.tema-club .renovar-pago { background: var(--fondo-sutil); box-shadow: none; }
.renovar-resumen { margin: 0 0 var(--esp-6); }
.renovar-fila {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: var(--esp-4);
  padding: var(--esp-3) 0;
  border-bottom: var(--borde-fino) solid var(--borde-tenue);
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-sm);
}
.renovar-fila dt { color: var(--texto-secundario); margin: 0; }
.renovar-fila dd { margin: 0; color: var(--texto-primario); font-weight: var(--peso-medio); }
.renovar-total {
  border-bottom: 0;
  border-top: var(--borde-fino) solid var(--borde-dorado);
  margin-top: var(--esp-2);
  padding-top: var(--esp-4);
}
.renovar-total dt {
  color: var(--texto-primario);
  font-size: var(--tipo-xs);
  font-weight: var(--peso-semi);
  letter-spacing: var(--tracking-etiqueta);
  text-transform: uppercase;
}
.renovar-total dd {
  font-family: var(--fuente-ceremonial);
  font-size: var(--tipo-xl);
  font-weight: var(--peso-semi);
  color: var(--texto-primario);
}
.renovar-pago .btn-bloque { min-height: 54px; font-size: var(--tipo-sm); }
.renovar-seguro {
  margin: var(--esp-5) 0 0;
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-xs);
  line-height: var(--interlinea-normal);
  color: var(--texto-secundario);
  text-align: left;
}
.renovar-seguro-cifrado::before {
  content: "Pago cifrado · ";
  font-weight: var(--peso-semi);
  letter-spacing: var(--tracking-ancho);
  text-transform: uppercase;
  color: var(--texto-oro);
}
.renovar-alterno {
  margin: var(--esp-5) 0 0;
  padding-top: var(--esp-5);
  border-top: var(--borde-fino) solid var(--borde-tenue);
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-xs);
  color: var(--texto-secundario);
  line-height: var(--interlinea-normal);
}
.renovar-alterno a { color: var(--texto-enlace); }
.renovar-sellos {
  list-style: none;
  margin: var(--esp-6) 0 0;
  padding: var(--esp-5) 0 0;
  border-top: var(--borde-fino) solid var(--borde-tenue);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--esp-2);
}
.renovar-sellos li {
  position: relative;
  padding-left: var(--esp-4);
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-xs);
  letter-spacing: var(--tracking-ancho);
  text-transform: uppercase;
  line-height: 1.4;
  color: var(--texto-secundario);
}
.renovar-sellos li::before {
  content: "";
  position: absolute;
  left: 0; top: .52em;
  width: .46em; height: .46em;
  border: 1.5px solid var(--ornamento-oro);
  border-radius: 0;
  transform: rotate(45deg);
  background: none;
}
.renovar-sellos li + li::before { margin-right: 0; }
.campanas-rejilla:has(form[action="/cuenta"]) {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--esp-6);
  max-width: none;
  align-items: stretch;
}
@media (min-width: 900px) {
  .campanas-rejilla:has(form[action="/cuenta"]) {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 1fr));
  }
}
.campanas-rejilla:has(form[action="/cuenta"]) > .tarjeta {
  display: flex;
  flex-direction: column;
  padding: var(--esp-6);
  border-radius: 0;
}
@media (min-width: 900px) {
  .campanas-rejilla:has(form[action="/cuenta"]):not(:has(.cuenta-membresia)):not(:has(.cuenta-perfil)) {
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
    align-items: start;
    column-gap: var(--esp-8);
    row-gap: var(--esp-8);
  }
}
@media (min-width: 900px) {
  .campanas-rejilla:has(form[action="/cuenta"]):not(:has(.cuenta-membresia)):not(:has(.cuenta-perfil))
    > form[action="/cuenta"] { grid-column: 1; grid-row: 1; }
  .campanas-rejilla:has(form[action="/cuenta"]):not(:has(.cuenta-membresia)):not(:has(.cuenta-perfil))
    > section.tarjeta { grid-column: 2; grid-row: 1; }
  .campanas-rejilla:has(form[action="/cuenta"]):not(:has(.cuenta-membresia)):not(:has(.cuenta-perfil))
    > form[action="/cuenta/idioma"] { grid-column: 1; grid-row: 2; }
  .campanas-rejilla:has(form[action="/cuenta"]):not(:has(.cuenta-membresia)):not(:has(.cuenta-perfil))
    > form[action="/cuenta/password"] { grid-column: 2; grid-row: 2; }
}
@media (min-width: 900px) {
  .campanas-rejilla:has(form[action="/cuenta"]):not(:has(.cuenta-membresia)):not(:has(.cuenta-perfil))
    > form[action="/cuenta/password"] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--esp-5);
    align-content: start;
  }
  .campanas-rejilla:has(form[action="/cuenta"]):not(:has(.cuenta-membresia)):not(:has(.cuenta-perfil))
    > form[action="/cuenta/password"] > * { grid-column: 1 / -1; }
  .campanas-rejilla:has(form[action="/cuenta"]):not(:has(.cuenta-membresia)):not(:has(.cuenta-perfil))
    > form[action="/cuenta/password"] > .campo { grid-column: auto; }
}
.campanas-rejilla:has(form[action="/cuenta"]) > .tarjeta > .btn,
.campanas-rejilla:has(form[action="/cuenta"]) > .tarjeta > button,
.campanas-rejilla:has(form[action="/cuenta"]) > .tarjeta > form:last-child {
  margin-top: auto;
  align-self: flex-start;
  max-width: 100%;
}
.campanas-rejilla:has(form[action="/cuenta"]) > .tarjeta > form:last-child > .btn {
  white-space: normal;
}
.campanas-rejilla:has(form[action="/cuenta"]) > .tarjeta > h2 {
  font-size: var(--tipo-xl);
  margin: 0 0 var(--esp-4);
}
.campanas-rejilla:has(form[action="/cuenta"]):has(.cuenta-membresia) > .tarjeta > h2 {
  font-size: var(--tipo-lg);
}
.campanas-rejilla:has(form[action="/cuenta"]) > .tarjeta > h2 + p {
  font-size: var(--tipo-sm);
  color: var(--texto-secundario);
  margin: 0 0 var(--esp-5);
  max-width: 56ch;
}
.campanas-rejilla:has(form[action="/cuenta"]) > .tarjeta > p:last-of-type {
  margin-bottom: var(--esp-6);
}
.cuenta-membresia {
  display: flex;
  flex-direction: column;
  gap: var(--esp-4);
  padding: var(--esp-6);
  border: var(--borde-fino) solid var(--borde-dorado);
  border-radius: var(--cx-caja);
  background: var(--fondo-sutil);
}
body.tema-club .cuenta-membresia {
  background:
    radial-gradient(120% 90% at 85% -20%, color-mix(in srgb, var(--oro) 9%, transparent), transparent 65%),
    var(--fondo-sutil);
}
.cuenta-membresia > h2 {
  font-family: var(--fuente-ceremonial);
  font-size: var(--tipo-lg);
  letter-spacing: -0.02em;
  text-transform: none;
  color: var(--texto-primario);
  line-height: var(--interlinea-titulo);
  margin: 0 0 var(--esp-4);
}
.cuenta-membresia-dato {
  display: flex; flex-wrap: wrap; align-items: baseline;
  gap: var(--esp-2) var(--esp-3);
  margin: 0;
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-sm);
  color: var(--texto-secundario);
}
.cuenta-membresia-dato strong {
  font-family: var(--fuente-ceremonial);
  font-size: var(--tipo-xl);
  font-weight: var(--peso-semi);
  color: var(--texto-primario);
  font-variant-numeric: lining-nums tabular-nums;
}
.cuenta-membresia > .btn { margin-top: auto; align-self: flex-start; }
.ax-main:has(form[action="/cuenta"]) .pagina-cabecera {
  display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between;
  gap: var(--esp-3) var(--esp-8);
  padding-bottom: var(--esp-5);
  border-bottom: var(--borde-fino) solid var(--borde-tenue);
}
.ax-main:has(form[action="/cuenta"]) .pagina-cabecera h1 { margin-bottom: 0; }
.campanas-rejilla:has(form[action="/cuenta"]) .btn:where(:not(.auto-renov .btn)),
.campanas-rejilla:has(form[action="/cuenta"]) button.btn:where(:not(.auto-renov .btn)) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: none;
  align-self: stretch;
  min-height: 60px;
  padding-block: var(--esp-2);
  padding-inline: var(--esp-3);
  white-space: normal;
  text-align: center;
  text-wrap: balance;
  line-height: var(--interlinea-titulo);
}
.campanas-rejilla:has(form[action="/cuenta"]) > .tarjeta > form:last-child,
.campanas-rejilla:has(form[action="/cuenta"]) > .tarjeta > .btn,
.campanas-rejilla:has(form[action="/cuenta"]) > .tarjeta > button {
  align-self: stretch;
  width: 100%;
}
.cuenta-membresia:has(.pill-activa) > .btn-oro {
  background: transparent;
  border: var(--borde-fino) solid var(--borde-dorado);
  color: var(--texto-oro);
}
.cuenta-membresia:has(.pill-activa) > .btn-oro:hover,
.cuenta-membresia:has(.pill-activa) > .btn-oro:focus-visible {
  background: color-mix(in srgb, var(--oro) 12%, transparent);
  border-color: var(--ornamento-oro);
  color: var(--texto-primario);
}
@media (max-width: 899.98px) {
  .renovar-panel { grid-template-columns: 1fr; }
  .renovar-oferta  { order: 1; }
  .renovar-pago    { order: 2; }
    .renovar-incluye { order: 3; }
  .renovar-pago .btn-bloque {
      position: fixed;
      left: var(--esp-4);
      right: var(--esp-4);
      bottom: calc(var(--esp-4) + env(safe-area-inset-bottom, 0px));
      z-index: 40;
      width: auto;
      min-height: 56px;
      margin: 0;
    }
  .renovar-pago::after {
      content: "";
      position: fixed;
      left: 0; right: 0;
      bottom: 0;
      height: calc(var(--esp-24) + env(safe-area-inset-bottom, 0px));
      z-index: 39;
      pointer-events: none;
      background: linear-gradient(
        to top,
        var(--fondo-base) 0%,
        var(--fondo-base) 55%,
        color-mix(in srgb, var(--fondo-base) 0%, transparent) 100%);
    }
    .renovar-pago .renovar-seguro { margin-top: 0; }
}
@media (max-width: 639.98px) {
  .renovar-oferta { padding: var(--esp-6); }
  .renovar-pago { padding: var(--esp-5); }
  .renovar-cifra { font-size: var(--tipo-4xl); }
  .renovar {
    display: flex;
    flex-direction: column;
  }
  .renovar-cabecera { display: contents; }
  .renovar-cabecera > .eyebrow   { order: 1; }
  .renovar-cabecera > h1         { order: 2; }
  .renovar-bajada                { order: 3; margin-bottom: var(--esp-8); }
  .renovar-panel                 { order: 4; }
  .renovar-motivos               { order: 5; margin-top: var(--esp-8); }
  .renovar-panel > .auto-renov { order: 4; }
  .renovar-incluye ul, .renovar-incluye ol { grid-template-columns: 1fr; }
  .campanas-rejilla:has(form[action="/cuenta"]) > .tarjeta { padding: var(--esp-5); }
  .ax-main:has(form[action="/cuenta"]) .pagina-cabecera { padding-bottom: var(--esp-4); }
}
@media (min-width: 900px) {
  .campanas-rejilla:has(form[action="/cuenta"]) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    row-gap: var(--esp-8);
  }
  .campanas-rejilla:has(form[action="/cuenta"]) > .cuenta-membresia {
    grid-column: auto;
    flex-flow: row wrap;
    align-items: center;
    column-gap: var(--esp-8);
    row-gap: var(--esp-4);
    padding: var(--esp-8);
  }
  .campanas-rejilla:has(form[action="/cuenta"]) > .cuenta-membresia > h2 {
    flex: 1 0 100%;
  }
  .campanas-rejilla:has(form[action="/cuenta"]) > .cuenta-membresia > .cuenta-membresia-dato {
    flex: 0 0 auto;
    margin: 0;
  }
  .campanas-rejilla:has(form[action="/cuenta"]) > .cuenta-membresia > .btn {
    order: 2;
    margin: 0 0 0 auto;
    flex: 0 0 auto;
  }
  .campanas-rejilla:has(form[action="/cuenta"]) > .cuenta-membresia > .campo-ayuda {
    order: 3;
    flex: 1 0 100%;
    max-width: 78ch;
    margin: 0;
    padding-top: var(--esp-5);
    border-top: var(--borde-fino) solid color-mix(in srgb, var(--oro) 22%, transparent);
  }
}
.campanas-rejilla:has(form[action="/cuenta"]) > .cuenta-membresia > .btn-oro,
.campanas-rejilla:has(form[action="/cuenta"]) > .cuenta-membresia:has(.pill-activa) > .btn-oro {
  width: auto;
  max-width: none;
  min-width: 264px;
  min-height: 56px;
  align-self: center;
  padding-inline: var(--esp-8);
  background: var(--degradado-oro);
  border: var(--borde-fino) solid transparent;
  color: var(--nivel-gold-tinta);
  font-weight: var(--peso-semi);
}
.campanas-rejilla:has(form[action="/cuenta"]) > .cuenta-membresia > .btn-oro:hover,
.campanas-rejilla:has(form[action="/cuenta"]) > .cuenta-membresia:has(.pill-activa) > .btn-oro:hover {
  background: var(--degradado-oro);
  border-color: transparent;
  color: var(--nivel-gold-tinta);
  filter: brightness(1.05);
}
.campanas-rejilla:has(form[action="/cuenta"]) > .tarjeta .btn,
.campanas-rejilla:has(form[action="/cuenta"]) > .tarjeta button.btn {
  min-height: 48px;
  border-color: var(--borde-medio);
  background: transparent;
  color: var(--texto-primario);
  font-weight: var(--peso-semi);
  filter: none;
}
.campanas-rejilla:has(form[action="/cuenta"]) > .tarjeta .btn:hover,
.campanas-rejilla:has(form[action="/cuenta"]) > .tarjeta button.btn:hover {
  background: var(--fondo-sutil-fuerte);
  border-color: var(--borde-plata);
  color: var(--texto-primario);
  filter: none;
}
.campanas-rejilla:has(form[action="/cuenta"]) > .tarjeta > p:last-of-type {
  margin-bottom: var(--esp-5);
}
@media (min-width: 900px) {
  .renovar-vigente .renovar-incluye { order: -1; }
}
.renovar-por-vencer .renovar-motivos { border-top-color: var(--borde-dorado); }
@media (min-width: 900px) {
  .renovar-vigente .renovar-panel {
    grid-template-areas:
      "incluye incluye"
      "oferta  pago";
  }
}
@media (min-width: 1160px) {
  .renovar-vigente .renovar-panel {
    grid-template-columns:
      minmax(0, 1fr)
      minmax(270px, 320px)
      minmax(300px, 360px);
    grid-template-areas: "incluye oferta pago";
  }
}
@media print {
  .renovar-pago { display: none; }
    .renovar-pago .btn-bloque, .renovar-pago::after { display: none; }
  .renovar-oferta {
      border-color: var(--borde-medio);
      background: transparent;
      box-shadow: none;
    }
}
@media (min-width: 1160px) {
  .renovar-vigente .renovar-panel { align-items: stretch; }
  .renovar-vigente .renovar-oferta {
    align-self: stretch;
    max-width: none;
    justify-content: space-between;
    row-gap: var(--esp-5);
  }
  .renovar-vigente .renovar-oferta > .renovar-vigencia {
    margin-top: 0;
    padding-top: var(--esp-5);
    border-top: var(--borde-fino) solid color-mix(in srgb, var(--oro) 26%, transparent);
  }
}
@media (max-width: 899.98px) {
  .renovar-pago::after {
      height: calc(56px + var(--esp-4) * 2 + env(safe-area-inset-bottom, 0px));
      background: var(--fondo-base);
      border-top: var(--borde-fino) solid color-mix(in srgb, var(--oro) 26%, transparent);
      box-shadow: 0 -22px 26px -10px var(--fondo-base);
    }
}
.campanas-rejilla:has(form[action="/cuenta"]) > .tarjeta button.btn.btn-oro,
.campanas-rejilla:has(form[action="/cuenta"]) > .tarjeta a.btn.btn-oro {
  border-color: var(--borde-dorado);
  color: var(--texto-oro);
  background-color: transparent;
  background-image: linear-gradient(135deg,
      color-mix(in srgb, var(--oro) 13%, transparent),
      color-mix(in srgb, var(--oro) 4%, transparent));
  font-weight: var(--peso-semi);
  filter: none;
}
.campanas-rejilla:has(form[action="/cuenta"]) > .tarjeta button.btn.btn-oro:hover,
.campanas-rejilla:has(form[action="/cuenta"]) > .tarjeta a.btn.btn-oro:hover {
  background-color: transparent;
  background-image: linear-gradient(135deg,
      color-mix(in srgb, var(--oro) 22%, transparent),
      color-mix(in srgb, var(--oro) 9%, transparent));
  border-color: var(--ornamento-oro);
  color: var(--texto-primario);
  filter: none;
}
@media (max-width: 899.98px) {
  .renovar-pago::after {
    height: calc(56px + var(--esp-4) + env(safe-area-inset-bottom, 0px));
    box-shadow: 0 -26px 30px -8px var(--fondo-base);
  }
}
@media (min-width: 900px) {
    .campanas-rejilla:has(form[action="/cuenta"]) { row-gap: var(--esp-6); }
  .campanas-rejilla:has(form[action="/cuenta"]) > .cuenta-membresia {
      position: relative;
      align-items: stretch;
      column-gap: 0;
      row-gap: var(--esp-6);
      padding: var(--esp-8) 0 var(--esp-8) var(--esp-8);
    }
    .campanas-rejilla:has(form[action="/cuenta"]) > .cuenta-membresia > h2 {
      flex: 1 0 100%;
      padding-right: 140px;
    }
  .campanas-rejilla:has(form[action="/cuenta"])
      > .cuenta-membresia > .cuenta-membresia-dato:has(.pill-activa) {
      position: absolute;
      top: var(--esp-8);
      right: var(--esp-8);
      margin: 0;
    }
    .campanas-rejilla:has(form[action="/cuenta"])
      > .cuenta-membresia > .cuenta-membresia-dato:not(:has(.pill-activa)) {
      flex: 0 1 auto;
      flex-direction: column;
      align-items: flex-start;
      gap: var(--esp-2);
      min-width: 0;
      padding: var(--esp-1) var(--esp-8) var(--esp-1) 0;
      font-size: var(--tipo-xs);
      letter-spacing: var(--tracking-etiqueta);
      text-transform: uppercase;
      line-height: 1.4;
    }
  .campanas-rejilla:has(form[action="/cuenta"])
      > .cuenta-membresia
      > .cuenta-membresia-dato:not(:has(.pill-activa))
      + .cuenta-membresia-dato:not(:has(.pill-activa)) {
      padding-left: var(--esp-8);
      border-left: var(--borde-fino) solid color-mix(in srgb, var(--oro) 26%, transparent);
    }
    .campanas-rejilla:has(form[action="/cuenta"])
      > .cuenta-membresia > .cuenta-membresia-dato strong {
      font-size: var(--tipo-xl);
      line-height: var(--interlinea-ajustada);
      letter-spacing: var(--tracking-normal);
      text-transform: none;
    }
    .campanas-rejilla:has(form[action="/cuenta"]) > .cuenta-membresia > .btn {
      align-self: center;
      margin: 0 var(--esp-8) 0 auto;
    }
  .campanas-rejilla:has(form[action="/cuenta"]) > .cuenta-membresia > .campo-ayuda {
      padding-top: var(--esp-6);
      padding-right: var(--esp-8);
      border-top: var(--borde-fino) solid color-mix(in srgb, var(--oro) 22%, transparent);
    }
    .campanas-rejilla:has(form[action="/cuenta"]) > .tarjeta {
      padding-top: var(--esp-5);
      padding-bottom: var(--esp-5);
    }
}
@media (min-width: 1160px) {
  .renovar-vigente .renovar-oferta {
    justify-content: flex-start;
    row-gap: 0;
  }
  .renovar-vigente .renovar-oferta > .renovar-plan,
  .renovar-vigente .renovar-oferta > .renovar-precio {
    margin-bottom: 0;
    padding-bottom: var(--esp-5);
    border-bottom: var(--borde-fino) solid color-mix(in srgb, var(--oro) 22%, transparent);
  }
  .renovar-vigente .renovar-oferta > .renovar-plan         { flex: 0 0 auto; }
  .renovar-vigente .renovar-oferta > .renovar-precio       { flex: 3 1 auto; }
  .renovar-vigente .renovar-oferta > .renovar-equivalencia { flex: 2 1 auto; }
  .renovar-vigente .renovar-oferta > .renovar-vigencia     { flex: 1 1 auto; }
  .renovar-vigente .renovar-oferta > .renovar-precio,
  .renovar-vigente .renovar-oferta > .renovar-equivalencia,
  .renovar-vigente .renovar-oferta > .renovar-vigencia {
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    padding-top: var(--esp-6);
  }
  .renovar-vigente .renovar-oferta > .renovar-precio { margin-top: 0; }
  .renovar-vigente .renovar-oferta > .renovar-equivalencia {
    margin-bottom: 0;
    font-size: var(--tipo-md);
  }
  .renovar-vigente .renovar-oferta > .renovar-vigencia {
    margin-top: 0;
    padding-top: var(--esp-6);
  }
}
@media (max-width: 899.98px) {
  body:has(.renovar-pago .btn-bloque) {
      --renovar-banda: calc(56px + var(--esp-4) + env(safe-area-inset-bottom, 0px));
    }
  .renovar-pago::after { height: var(--renovar-banda); }
}
@media (min-width: 900px) {
  .campanas-rejilla:has(form[action="/cuenta"]) > .cuenta-membresia {
    row-gap: var(--esp-5);
    padding: var(--esp-6) 0 var(--esp-6) var(--esp-8);
  }
  .campanas-rejilla:has(form[action="/cuenta"])
    > .cuenta-membresia > .cuenta-membresia-dato:has(.pill-activa) {
    top: var(--esp-6);
  }
  .campanas-rejilla:has(form[action="/cuenta"]) > .cuenta-membresia > .campo-ayuda {
    flex: 1 0 100%;
    max-width: none;
    font-size: var(--tipo-sm);
    padding-top: var(--esp-5);
    padding-right: max(var(--esp-8), calc(100% - 66ch));
  }
}
@media (min-width: 900px) {
  .campanas-rejilla:has(form[action="/cuenta"]) {
    align-items: start;
  }
}
.renovar-aviso {
  margin-block: var(--esp-3);
  padding: var(--esp-3) var(--esp-4);
  border-left: var(--borde-medio-grosor) solid var(--estado-aviso);
  border-radius: var(--radio-xs);
  background: var(--fondo-sutil);
  color: var(--texto-primario);
  font-size: var(--tipo-sm);
}
@media (max-width: 899.98px) {
  .renovar-pago:has(.pago-puerta) .btn-bloque {
      position: static;
      left: auto; right: auto; bottom: auto;
      z-index: auto;
      width: 100%;
      margin-top: var(--esp-4);
    }
    .renovar-pago:has(.pago-puerta)::after { content: none; }
    .renovar-pago:has(.pago-puerta) .renovar-seguro { margin-top: var(--esp-3); }
}
.renovar-primera .renovar-cabecera > .eyebrow { display: block; }
@media (min-width: 1160px) {
  .renovar-panel {
    grid-template-columns:
      minmax(min(270px, 100%), 320px)
      minmax(0, 1fr)
      minmax(min(300px, 100%), 360px);
  }
  .renovar-vigente .renovar-panel {
    grid-template-columns:
      minmax(0, 1fr)
      minmax(min(270px, 100%), 320px)
      minmax(min(300px, 100%), 360px);
  }
}
.ax-main:has(.campanas-rejilla form[action="/cuenta"]) {
  position: relative;
  isolation: isolate;
}
.ax-main:has(.campanas-rejilla form[action="/cuenta"])::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  z-index: -1;
  height: min(46vh, 480px);
  pointer-events: none;
  background-image: image-set(url("/static/arte/gabinete-1280.webp") type("image/webp"),
                              url("/static/arte/gabinete-1280.jpg") type("image/jpeg"));
  background-size: cover;
  background-position: 50% 28%;
  background-repeat: no-repeat;
  opacity: .30;
  -webkit-mask-image: linear-gradient(to bottom, var(--negro) 0%, color-mix(in srgb, var(--negro) 55%, transparent) 46%, transparent 100%);
  mask-image: linear-gradient(to bottom, var(--negro) 0%, color-mix(in srgb, var(--negro) 55%, transparent) 46%, transparent 100%);
}
.renovar-oferta,
.renovar-pago {
  background:
    linear-gradient(rgb(var(--negro-rgb) / .55), rgb(var(--negro-rgb) / .7)),
    url("/static/ds/texturas/laca-tile.webp") center / 512px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.renovar-resumen,
.renovar-vigencia {
  background: var(--laca-2);
  color: var(--marfil-2);
  border: 0;
  border-radius: 0;
}
.renovar-aviso {
  background: rgb(var(--negro-rgb) / .62);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  border: 0;
  border-radius: 0;
}
.cuenta-membresia:has(.pill-activa) > .btn-oro,
.campanas-rejilla:has(form[action="/cuenta"]) > .cuenta-membresia > .btn-oro,
.campanas-rejilla:has(form[action="/cuenta"]) > .cuenta-membresia:has(.pill-activa) > .btn-oro {
  background: var(--laton);
  color: var(--laton-tinta);
  border: var(--borde-fino) solid var(--oro-sombra);
  border-radius: 0;
  box-shadow:
    inset 0 1px 0 var(--brillo-laton),
    inset 0 -1px 0 var(--sombra-bisel);
  font-weight: var(--peso-semi);
}
.cuenta-membresia:has(.pill-activa) > .btn-oro:hover,
.campanas-rejilla:has(form[action="/cuenta"]) > .cuenta-membresia > .btn-oro:hover,
.campanas-rejilla:has(form[action="/cuenta"]) > .cuenta-membresia:has(.pill-activa) > .btn-oro:hover {
  background: var(--laton);
  border-color: var(--oro-sombra);
  color: var(--laton-tinta);
  filter: brightness(1.04);
}
.renovar-periodo,
.renovar-moneda { color: var(--marfil-3); }
.renovar-motivos,
.renovar-sellos,
.renovar-fila,
.renovar-total {
  border: 0;
  border-radius: 0;
}
.renovar-motivos,
.renovar-sellos,
.renovar-fila.renovar-total {
  border-top: var(--borde-fino) solid color-mix(in srgb, var(--oro) 26%, transparent);
}
.renovar-oferta:hover {
  outline: var(--borde-fino) solid var(--oro);
  outline-offset: -1px;
}
@media (min-width: 1024px) {
  .campanas-rejilla:has(form[action="/cuenta"]) > .cuenta-membresia {
    position: relative;
    overflow: hidden;
    padding-right: 232px;
    min-height: 232px;
  }
  .campanas-rejilla:has(form[action="/cuenta"]) > .cuenta-membresia::after {
    content: "";
    position: absolute;
    inset: 0 0 0 auto;
    width: 232px;
    z-index: 0;
    pointer-events: none;
    background: url("/static/brand/vitrina-alfa-720.webp") right bottom / auto 92% no-repeat;
    filter: drop-shadow(0 18px 40px var(--sombra-objeto));
  }
}
.campanas-rejilla:has(form[action="/cuenta"])
  > .cuenta-membresia > .cuenta-membresia-dato:has(.pill-activa) { display: none; }
.campanas-rejilla:has(form[action="/cuenta"]) > .tarjeta .btn,
.campanas-rejilla:has(form[action="/cuenta"]) > .tarjeta button.btn {
  border-color: var(--oro-linea);
  color: var(--marfil);
}
.campanas-rejilla:has(form[action="/cuenta"]) > .tarjeta .btn:hover,
.campanas-rejilla:has(form[action="/cuenta"]) > .tarjeta button.btn:hover {
  border-color: var(--oro);
  background: none;
  color: var(--marfil);
}
@media (min-width: 900px) {
  .campanas-rejilla:has(form[action="/cuenta"]) > form[action="/cuenta/password"] {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--esp-8);
    row-gap: var(--esp-4);
    align-items: start;
  }
  .campanas-rejilla:has(form[action="/cuenta"]) > form[action="/cuenta/password"] > h2,
  .campanas-rejilla:has(form[action="/cuenta"]) > form[action="/cuenta/password"] > .btn,
  .campanas-rejilla:has(form[action="/cuenta"]) > form[action="/cuenta/password"] > .cuenta-soporte {
    grid-column: 1 / -1;
  }
  .campanas-rejilla:has(form[action="/cuenta"]) > form[action="/cuenta/password"] > .btn {
    width: auto;
    justify-self: start;
    min-width: 264px;
  }
}
.renovar-pago .embajador-rol {
  font-size: var(--tipo-sm);
  font-weight: var(--peso-normal);
  letter-spacing: normal;
  text-transform: none;
  color: var(--texto-secundario);
}
.renovar-incluye .incluye-club > h3 {
  font-family: var(--fuente-ceremonial);
  font-size: var(--tipo-lg);
  font-weight: var(--peso-normal);
  letter-spacing: normal;
  text-transform: none;
  color: var(--texto-primario);
  line-height: var(--interlinea-titulo);
}
.auto-renov-aviso ul {
  list-style: none;
  padding-left: 0;
}
.auto-renov-aviso li {
  position: relative;
  padding-left: var(--esp-4);
}
.auto-renov-aviso li::before {
  content: "";
  position: absolute;
  left: 0; top: .52em;
  width: var(--rombo-lado); height: var(--rombo-lado);
  border: 1.5px solid var(--ornamento-oro);
  border-radius: 0;
  transform: rotate(45deg);
  background: none;
}
.renovar-incluye,
.renovar-sellos,
.auto-renov-aviso {
  --rombo-lado: 6px;
}
.renovar-sellos li::before,
.renovar-incluye .incluye-club li::before {
  width: var(--rombo-lado);
  height: var(--rombo-lado);
}
.renovar-incluye .incluye-app {
  position: relative;
}
.renovar-incluye .incluye-app::before {
  content: "";
  position: absolute;
  inset: calc(var(--esp-3) * -1);
  z-index: 0;
  background: rgb(var(--negro-rgb) / .72);
  pointer-events: none;
}
.renovar-incluye .incluye-app > li {
  z-index: 1;
}
@media (min-width: 640px) {
  .renovar-incluye .incluye-app::before { content: none; }
}
.ax-main .renovar-incluye :is(ul, ol) {
  list-style: none;
  margin: 0;
  padding: 0;
  max-width: none;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--esp-5) var(--esp-8);
  align-items: start;
}
@media (min-width: 640px) and (max-width: 1159.98px) {
  .ax-main .renovar-incluye :is(ul, ol) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.ax-main .renovar-incluye :is(ul, ol) li,
.ax-main .renovar-incluye :is(ul, ol) li + li {
  position: relative;
  margin: 0;
  padding-left: var(--esp-6);
  font-family: var(--fuente-lectura);
  font-size: var(--tipo-sm);
  line-height: var(--interlinea-normal);
  color: var(--texto-secundario);
}
.ax-main .renovar-motivos li,
.ax-main .renovar-motivos li + li {
  margin: 0;
  padding: 0;
  font-family: var(--fuente-lectura);
  font-size: var(--tipo-sm);
  line-height: var(--interlinea-normal);
  color: var(--texto-secundario);
}

/* ── ds/99-campanas.css ── */
.camp-explica {
  border-left: 3px solid var(--oro);
  padding: var(--esp-4) var(--esp-5);
  border-radius: var(--radio-sm);
  margin: 0 0 var(--esp-6) 0;
  max-width: var(--medida-lectura);
}
.camp-explica p {
  margin: 0 0 .55rem 0;
  font-size: var(--tipo-sm);
  line-height: var(--interlinea-cuerpo);
  color: var(--texto-secundario);
}
.camp-explica p:last-child { margin-bottom: 0; }
.camp-explica strong { color: var(--texto-primario); }
.camp-explica p.camp-explica-clave {
  border-top: 1px solid var(--borde-tenue);
  padding-top: .55rem;
  color: var(--texto-primario);
}
.camp-explica p.camp-explica-nota {
  font-size: var(--tipo-xs);
  color: var(--texto-tenue);
}
@media (min-width: 900px) {
  .camp-explica {
    max-width: none;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: auto 1fr;
    column-gap: var(--esp-8);
    align-items: start;
  }
  .camp-explica > p { margin: 0; }
  .camp-explica > p:nth-child(1) { grid-column: 1; grid-row: 1 / span 2; }
  .camp-explica > p:nth-child(2) { grid-column: 2; grid-row: 1 / span 2; }
  .camp-explica p.camp-explica-clave,
  .camp-explica p.camp-explica-nota {
    grid-column: 3;
    border-top: 0;
    padding-top: 0;
    padding-left: var(--esp-6);
    border-left: var(--borde-fino) solid var(--borde-tenue);
  }
  .camp-explica p.camp-explica-clave { grid-row: 1; padding-bottom: .55rem; }
  .camp-explica p.camp-explica-nota { grid-row: 2; }
}
.camp-paso {
  margin: -.35rem 0 var(--esp-4) 0;
  font-size: var(--tipo-xs);
  color: var(--texto-tenue);
}
.camp-sub {
  margin: var(--esp-6) 0 var(--esp-3) 0;
  font-size: var(--tipo-xl);
  line-height: 1.2;
  letter-spacing: normal;
}
.camp-sub-nota {
  margin: -.25rem 0 var(--esp-4) 0;
  font-size: var(--tipo-xs);
  color: var(--texto-tenue);
  line-height: 1.55;
}
.camp-nota-video { margin-top: -.35rem; }
.camp-form textarea { min-height: 9rem; font-family: var(--f-sans); }
.camp-barra {
  display: flex;
  gap: .3rem;
  margin: 0 0 .4rem 0;
  flex-wrap: wrap;
}
.camp-barra-btn {
  min-width: 2.25rem;
  min-height: 2.25rem;
  border: var(--borde-fino) solid var(--oro-a30);
  border-radius: var(--radio-xs);
  background: transparent;
  color: var(--texto-secundario);
  font-size: var(--tipo-sm);
  font-weight: var(--peso-semi);
  cursor: pointer;
}
.camp-barra-btn:hover { border-color: var(--oro); color: var(--texto-primario); }
.camp-barra-btn:focus-visible { outline: 2px solid var(--oro); outline-offset: 2px; }
.camp-barra-btn[aria-label="Enlace"] { font-size: 0; }
.camp-barra-btn[aria-label="Enlace"]::before {
  content: "[ ]";
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-sm);
  letter-spacing: -.04em;
}
.camp-alcance {
  display: flex;
  align-items: baseline;
  gap: .5rem;
  margin: var(--esp-4) 0;
  padding: .7rem .9rem;
  border: 1px dashed var(--borde-fino);
  border-radius: var(--radio-sm);
  font-size: var(--tipo-xs);
  color: var(--texto-secundario);
  line-height: 1.5;
}
.camp-alcance-n {
  font-size: var(--tipo-xl);
  font-weight: var(--peso-fuerte);
  color: var(--oro-texto);
  font-variant-numeric: tabular-nums;
}
.camp-acciones {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: var(--esp-4);
}
.camp-menores {
  display: flex;
  flex-direction: column;
  gap: var(--esp-4);
  margin-top: var(--esp-4);
}
.camp-menores form { display: flex; flex-direction: column; gap: .35rem; align-items: flex-start; }
.camp-ficha { display: grid; grid-template-columns: 1fr; gap: var(--esp-6); }
.camp-col { display: flex; flex-direction: column; gap: var(--esp-6); min-width: 0; }
.camp-meta { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; margin: .4rem 0 0 0; font-size: var(--tipo-xs); }
.camp-enlace { color: var(--texto-enlace); }
.camp-tag {
  display: inline-block;
  margin-left: .4rem;
  padding: .05rem .4rem;
  border: 1px solid var(--borde-tenue);
  border-radius: var(--radio-pastilla);
  font-size: var(--tipo-micro);
  color: var(--texto-tenue);
}
.camp-filtros { list-style: none; margin: 0; padding: 0; }
.camp-filtros li {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .45rem 0;
  border-bottom: 1px solid var(--borde-tenue);
  font-size: var(--tipo-sm);
}
.camp-filtros li:last-child { border-bottom: 0; }
.camp-filtros span { color: var(--texto-tenue); }
.camp-cifras { margin: var(--esp-4) 0 0 0; font-size: var(--tipo-sm); color: var(--texto-secundario); }
.camp-cifras strong { color: var(--oro-texto); font-variant-numeric: tabular-nums; }
.camp-error { display: block; margin-top: .2rem; font-size: var(--tipo-micro); word-break: break-word; }
.camp-reintento { margin: 0 0 var(--esp-4) 0; }
.camp-fotos-lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .8rem; }
.camp-fotos-lista li { display: flex; gap: .7rem; align-items: flex-start; }
.camp-fotos-lista img { width: 84px; height: 84px; object-fit: cover; border-radius: var(--radio-sm); border: 1px solid var(--borde-tenue); }
.camp-fotos-lista div { display: flex; flex-direction: column; gap: .35rem; min-width: 0; }
.btn-mini { padding: .18rem .55rem; font-size: var(--tipo-micro); }
.camp-previo-caja { min-width: 0; }
.camp-previo {
  background: #f3efe6;
  border: 1px solid var(--borde-tenue);
  border-radius: var(--radio-md);
  padding: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.camp-previo img { max-width: 100%; height: auto; }
.ax-main .camp-previo *,
.ax-main .camp-previo *::before,
.ax-main .camp-previo *::after { color: inherit; }
.ax-main .camp-previo h1,
.ax-main .camp-previo p,
.ax-main .camp-previo ul,
.ax-main .camp-previo li,
.ax-main .camp-previo a,
.ax-main .camp-previo strong,
.ax-main .camp-previo em,
.ax-main .camp-previo span,
.ax-main .camp-previo div,
.ax-main .camp-previo td { font-family: Helvetica, Arial, sans-serif; letter-spacing: normal; }
.ax-main .camp-previo strong { font-weight: 700; }
.ax-main .camp-previo a { text-decoration: underline; }
.camp-pill-borrador { background: var(--fondo-sutil); color: var(--texto-secundario); }
.camp-pill-programada { background: var(--oro-a18); color: var(--oro-texto); }
.camp-pill-enviando { background: color-mix(in srgb, var(--niebla) 14%, transparent); color: var(--estado-info); }
.camp-pill-enviada { background: color-mix(in srgb, var(--fondo-exito) 55%, var(--negro)); color: var(--estado-exito); }
.camp-pill-cancelada { background: var(--fondo-error); color: var(--estado-error); }
.campanas-rejilla:has(> .camp-form) {
  grid-template-columns: minmax(0, 1fr);
  gap: var(--esp-6);
}
.campanas-rejilla:has(> .camp-form) > section > .tarjeta.sin-resultados {
  max-width: none;
  width: 100%;
}
@media (min-width: 900px) {
  .camp-ficha { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); align-items: start; }
  .camp-menores { flex-direction: row; gap: var(--esp-8); }
  .camp-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--esp-8);
    align-items: start;
  }
  .camp-form > * { grid-column: 1 / -1; }
  .camp-form > .campo:has(textarea) {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--esp-8);
    align-items: start;
  }
  .camp-form > .campo:has(textarea) > label { grid-column: 1 / -1; grid-row: 1; }
  .camp-form > .campo:has(textarea) > .camp-barra { grid-column: 1; grid-row: 2; }
  .camp-form > .campo:has(textarea) > textarea { grid-column: 1; grid-row: 3; }
  .camp-form > .campo:has(textarea) > .campo-ayuda {
    grid-column: 2;
    grid-row: 2 / span 2;
    margin-top: 0;
  }
  .camp-form > .campo:has(input[type="file"]) {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--esp-8);
    align-items: start;
  }
  .camp-form > .campo:has(input[type="file"]) > label { grid-column: 1 / -1; }
  .camp-form > .campo:has(input[type="file"]) > .campo-ayuda { margin-top: 0; }
  .camp-form > .campo:has(textarea) > .campo-ayuda,
  .camp-form > .campo:has(input[type="file"]) > .campo-ayuda { max-width: none; }
  .camp-form > .btn {
    width: auto;
    justify-self: start;
  }
  .camp-form > .campo-ayuda,
  .camp-sub-nota { max-width: var(--medida-lectura); }
}

/* ── ds/99-news.css ── */
.news-intro { color: var(--muted); margin: .35rem 0 0; }
.news-lista { list-style: none; margin: 0; padding: 0; }
.news-tarjeta { border-bottom: 1px solid var(--line); }
.news-tarjeta:last-child { border-bottom: 0; }
.news-enlace {
  display: grid;
  gap: .75rem;
  padding: 1.1rem 0;
  text-decoration: none;
  align-items: start;
}
@media (min-width: 900px) {
  .news-tarjeta-foto > .news-enlace { grid-template-columns: 200px 1fr; gap: 1.2rem; }
}
.news-foto { display: block; }
.news-foto img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border: 1px solid var(--line);
  border-radius: 0;
}
.news-texto { display: grid; gap: .3rem; }
.news-fecha { color: var(--muted); font-size: var(--tipo-sm); }
.news-titulo { font-size: var(--tipo-md); line-height: 1.3; font-weight: 600; }
.news-bajada { color: var(--muted); font-size: var(--tipo-sm); line-height: 1.5; }
.news-meta { color: var(--muted); font-size: var(--tipo-sm); }
.news-vacio { color: var(--muted); margin: 1.2rem 0; }
.news-acciones { display: flex; flex-wrap: wrap; gap: .45rem 1rem; align-items: center; }
@media (min-width: 1240px) {
  .tabla .news-acciones:has(> form[action^="/panel/shop/"]) {
    display: grid;
    grid-template-columns: repeat(2, max-content);
    justify-items: start;
  }
}
.news-chip-img { display: block; width: fit-content; margin-top: .4rem; }
.news-detalle { max-width: 64ch; }
.news-detalle-foto { margin: 0 0 1rem; }
.news-detalle-foto img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid var(--line);
  border-radius: 0;
}
.news-detalle-fecha { color: var(--muted); font-size: var(--tipo-sm); margin: 0 0 .6rem; }
.news-detalle-bajada { font-size: var(--tipo-base); line-height: 1.55; margin: 0 0 1rem; }
.news-detalle-texto { line-height: 1.65; }
.news-detalle-texto a { word-break: break-word; }
.news-detalle-acciones { margin-top: 1.2rem; }
.news-previa { margin-bottom: 1rem; }
.news-form-previa { margin: .6rem 0 0; }
.news-form-previa img {
  display: block;
  max-width: 320px;
  width: 100%;
  height: auto;
  border: 1px solid var(--line);
  border-radius: 0;
}
.news-social { margin-top: clamp(1.4rem, 4vw, 2.4rem); }
.news-social > .news-bloque-tl {
  margin: 0 0 .7rem;
  padding-bottom: .45rem;
  border-bottom: 1px solid var(--line);
}
.news-comentarios { list-style: none; margin: 0; padding: 0; }
.news-comentario {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: .6rem;
  align-items: start;
  padding: .85rem 0;
  border-bottom: 1px solid var(--line);
}
.news-comentario:last-child { border-bottom: 0; }
.news-comentario-cuerpo { min-width: 0; }
.news-comentario-texto { margin-top: .25rem; line-height: 1.55; overflow-wrap: anywhere; }
.news-comentar { margin-top: 1rem; display: grid; gap: .6rem; }
.news-comentar textarea { width: 100%; }
.news-comentar-pie { display: flex; justify-content: flex-end; }
.avisos-mitad + .avisos-mitad { margin-top: 1.4rem; }
.avisos-mitad-tl {
  margin: 0 0 .5rem;
  padding-bottom: .4rem;
  border-bottom: 1px solid var(--line);
}
@media (min-width: 900px) {
  .avisos-club:has(.avisos-mitad + .avisos-mitad) {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 1.6rem;
    align-items: start;
  }
  .avisos-club:has(.avisos-mitad + .avisos-mitad) > .mi-bloque-tl { grid-column: 1 / -1; }
  .avisos-club:has(.avisos-mitad + .avisos-mitad) .avisos-mitad + .avisos-mitad { margin-top: 0; }
}
@media (min-width: 768px) {
  body.pagina-news .sala-escena::after {
    background:
      linear-gradient(90deg, var(--negro) 0%,
                             rgb(var(--negro-rgb) / .9) 42%,
                             rgb(var(--negro-rgb) / .30) 100%),
      linear-gradient(180deg, transparent 0%,
                              rgb(var(--negro-rgb) / .40) 26%,
                              rgb(var(--negro-rgb) / .88) 52%,
                              var(--negro) 76%);
  }
}
@media (min-width: 1024px) {
  body.pagina-news .ax-main:has(> .sala-escena) { max-width: var(--ancho-contenido); }
}
@media (max-width: 767.98px) {
  body.pagina-news .sala-escena::after { background: rgb(var(--negro-rgb) / .95); }
}

/* ── ds/97-repost-perfil.css ── */
.colega-feed .feed-item--repost{
  border-left:2px solid var(--oro-linea, var(--line));
  padding-left:var(--esp-3);
}
.colega-feed .feed-repost{
  display:flex; align-items:center; gap:var(--esp-1);
  margin:var(--esp-2) 0 0;
  font-family:var(--fuente-interfaz);
  font-size:var(--tipo-xs); letter-spacing:var(--tracking-ancho); text-transform:uppercase;
  color:var(--texto-tenue);
}
.colega-feed .feed-repost-icono{
  width:15px; height:15px; flex:none;
  fill:none; stroke:currentColor; stroke-width:1.7;
  stroke-linecap:round; stroke-linejoin:round;
}
.colega-feed .feed-repost a{
  color:var(--texto-secundario);
  text-decoration:underline;
  text-decoration-color:var(--subrayado-enlace, currentColor);
  text-underline-offset:.18em;
}
.colega-feed .feed-repost a:hover{ color:var(--texto-primario); }
.colega-feed .feed-repost{ flex-wrap:wrap; }
.colega-feed .feed-repost a{ display:inline-block; padding-block:var(--esp-2); }
@media (min-width:640px){
  .colega-feed .feed-repost{ flex-wrap:nowrap; }
  .colega-feed .feed-repost a{ display:inline; padding-block:0; }
}

/* ── ds/97-curso-admin.css ── */
.cur-volver {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 var(--esp-5);
}
.cur-volver a {
  display: inline-flex;
  align-items: center;
  min-height: var(--toque-min);
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-xs);
  text-transform: uppercase;
  letter-spacing: var(--tracking-etiqueta);
  color: var(--texto-secundario);
}
.cur-volver a:hover { color: var(--texto-primario); }
.cur-intro {
  color: var(--texto-secundario);
  font-size: var(--tipo-sm);
  max-width: 62ch;
}
.cur-form .campo + .campo { margin-top: var(--esp-3); }
.cur-form button { margin-top: var(--esp-4); }
.cur-mod { margin-top: var(--esp-4); }
.cur-mod-cab {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--esp-3);
  align-items: start;
}
.cur-orden {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--esp-1);
}
@media (min-width: 640px) {
  .cur-mod-cab {
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas:
      "orden identidad"
      "orden estado";
    gap: var(--esp-2) var(--esp-4);
  }
  .cur-orden    { grid-area: orden; flex-direction: column; }
  .cur-mod-id   { grid-area: identidad; }
  .cur-estado   { grid-area: estado; }
}
@media (min-width: 1024px) {
  .cur-mod-cab {
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-areas: "orden identidad estado";
  }
  .cur-estado { justify-self: end; }
  .cur-estado .cur-sellos { justify-content: flex-end; }
}
.cur-num {
  font-family: var(--fuente-ceremonial);
  font-variant-numeric: lining-nums tabular-nums;
  font-weight: var(--peso-normal);
  color: var(--texto-secundario);
  min-width: var(--esp-6);
  text-align: center;
}
.cur-flecha {
  border: 1px solid var(--borde-tenue);
  background: transparent;
  color: var(--texto-secundario);
  border-radius: 0;
  width: var(--esp-8);
  height: var(--esp-6);
  cursor: pointer;
  line-height: 1;
}
.cur-flecha:hover:not(:disabled) { border-color: var(--oro); color: var(--texto-primario); }
.cur-flecha:focus-visible { outline: 2px solid var(--oro); outline-offset: 2px; }
.cur-flecha:disabled {
  opacity: 1;
  color: var(--marfil-3);
  border-style: dashed;
  border-color: color-mix(in srgb, var(--marfil-3) 45%, transparent);
  cursor: default;
}
.cur-mod-id h2 {
  font-size: var(--tipo-lg);
  margin: 0;
  line-height: var(--interlinea-titulo);
}
.cur-desc {
  margin: var(--esp-1) 0 0 0;
  color: var(--texto-secundario);
  font-size: var(--tipo-sm);
}
.cur-sellos {
  display: flex;
  flex-wrap: wrap;
  gap: var(--esp-1);
  margin: 0;
}
.cur-sello {
  display: inline-block;
  padding: var(--esp-1) var(--esp-2);
  padding-right: calc(var(--esp-2) + var(--tracking-etiqueta));
  border: 1px solid var(--borde-tenue);
  border-radius: var(--radio-pastilla);
  font-size: var(--tipo-micro);
  text-transform: uppercase;
  letter-spacing: var(--tracking-etiqueta);
  color: var(--texto-tenue);
  white-space: nowrap;
}
.cur-sello-si     { border-color: color-mix(in srgb, var(--oro) 60%, transparent);
                    color: var(--texto-primario); }
.cur-sello-espera { border-style: dashed; }
.cur-sello-falta  { border-color: color-mix(in srgb, var(--oro) 40%, transparent); }
.cur-subida {
  margin-top: var(--esp-4);
  padding-top: var(--esp-3);
  border-top: 1px solid var(--borde-tenue);
}
.cur-elegir { display: inline-block; cursor: pointer; }
.cur-subida-nombre {
  margin-left: var(--esp-2);
  font-size: var(--tipo-sm);
  color: var(--texto-secundario);
  word-break: break-all;
}
.cur-barra {
  margin-top: var(--esp-2);
  height: 6px;
  border-radius: var(--radio-pastilla);
  background: color-mix(in srgb, var(--texto-tenue) 20%, transparent);
  overflow: hidden;
}
.cur-barra-fill {
  height: 100%;
  width: 0;
  background: var(--oro);
}
.cur-subida-msg { margin-top: var(--esp-2); }
.cur-msg-error { color: var(--texto-primario); font-weight: var(--peso-medio); }
.cur-editar, .cur-borrar {
  margin-top: var(--esp-3);
  padding-top: var(--esp-3);
  border-top: 1px solid var(--borde-tenue);
}
.cur-editar summary, .cur-borrar summary {
  display: flex;
  align-items: center;
  gap: var(--esp-2);
  cursor: pointer;
  font-size: var(--tipo-sm);
  color: var(--texto-secundario);
  list-style: none;
}
.cur-editar summary::-webkit-details-marker,
.cur-borrar summary::-webkit-details-marker { display: none; }
.cur-editar summary::marker,
.cur-borrar summary::marker { content: ""; }
.cur-editar summary::after,
.cur-borrar summary::after {
  content: "";
  width: var(--esp-2);
  height: var(--esp-2);
  flex: 0 0 auto;
  border-right: var(--borde-fino) solid currentColor;
  border-bottom: var(--borde-fino) solid currentColor;
  transform: translateY(calc(var(--esp-1) / -2)) rotate(45deg);
}
.cur-editar[open] > summary::after,
.cur-borrar[open] > summary::after {
  transform: translateY(calc(var(--esp-1) / 2)) rotate(-135deg);
}
.cur-editar summary:hover { color: var(--texto-primario); }
.cur-editar[open] > summary, .cur-borrar[open] > summary { margin-bottom: var(--esp-3); }
.cur-gestion {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--esp-5);
  margin-top: var(--esp-5);
  padding-top: var(--esp-4);
  border-top: 1px solid var(--borde-tenue);
}
.cur-gestion > .cur-borrar {
  align-self: stretch;
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
.cur-borrar summary { color: var(--estado-error); }
.cur-borrar summary:hover {
  color: color-mix(in srgb, var(--estado-error) 55%, var(--marfil));
}
.cur-editar code {
  font-size: var(--tipo-micro);
  word-break: break-all;
}
.cur-borrar .cur-borrar-si {
  border-color: var(--estado-error);
  color: var(--estado-error);
}
.cur-borrar .cur-borrar-si:hover,
.cur-borrar .cur-borrar-si:focus-visible {
  border-color: var(--estado-error);
  color: var(--marfil);
  background: color-mix(in srgb, var(--estado-error) 14%, transparent);
}
body.pagina-cursos-admin .aviso-ok::before     { content: "\2713\A0 Listo"; }
body.pagina-cursos-admin .aviso-error::before  { content: "\D7\A0 Atención"; }
body.pagina-cursos-admin .aviso-alerta::before { content: "!\A0 Aviso"; }

/* ── ds/99-recorte.css ── */
.rec-caja { display: none; }
.rec.rec-viva .rec-caja { display: block; margin-top: var(--esp-4); }
.rec-escena {
  position: relative;
  width: 100%;
  max-width: 340px;
  aspect-ratio: 1 / 1;
  margin: 0;
  overflow: hidden;
  background: var(--laca);
  border: 1px solid var(--oro-linea);
  border-radius: var(--radio-sm);
  touch-action: none;
  cursor: grab;
  user-select: none;
}
.rec-escena.rec-agarrando { cursor: grabbing; }
.rec-img {
  position: absolute;
  top: 0; left: 0;
  transform-origin: 0 0;
  max-width: none;
  pointer-events: none;
  -webkit-user-drag: none;
}
.rec-marco {
  position: absolute;
  top: 50%; left: 50%;
  height: 86%;
  aspect-ratio: 4 / 5;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 0 9999px var(--fondo-velo);
  outline: 1px solid var(--oro);
  outline-offset: -1px;
  pointer-events: none;
  border-radius: 0;
}
.rec-marco::before,
.rec-marco::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-repeat: no-repeat;
  opacity: .32;
}
.rec-marco::before {
  background-image: linear-gradient(90deg, transparent 33.33%, var(--marfil) 33.33% calc(33.33% + 1px), transparent calc(33.33% + 1px)),
                    linear-gradient(90deg, transparent 66.66%, var(--marfil) 66.66% calc(66.66% + 1px), transparent calc(66.66% + 1px));
}
.rec-marco::after {
  background-image: linear-gradient(180deg, transparent 33.33%, var(--marfil) 33.33% calc(33.33% + 1px), transparent calc(33.33% + 1px)),
                    linear-gradient(180deg, transparent 66.66%, var(--marfil) 66.66% calc(66.66% + 1px), transparent calc(66.66% + 1px));
}
.rec-ayuda {
  margin: .7em 0 .3em;
  color: var(--marfil-3);
  font-size: var(--t-label);
  max-width: 340px;
}
.rec-zoom-fila {
  display: flex;
  align-items: center;
  gap: .7em;
  max-width: 340px;
}
.rec-zoom-fila label {
  color: var(--marfil-3);
  font-size: var(--t-label);
  letter-spacing: .1em;
  text-transform: uppercase;
  white-space: nowrap;
}
.rec-zoom-fila input[type="range"] {
  flex: 1 1 auto;
  min-width: 0;
  accent-color: var(--oro);
}
@media (max-width: 639.98px) {
  .rec-escena { max-width: 100%; }
}
.rec-camara [hidden] { display: none !important; }
.rec-camara { margin-top: var(--esp-3); max-width: 340px; }
.rec-camara-abrir { inline-size: 100%; justify-content: center; }
.rec-vivo-caja { margin-top: var(--esp-2); }
.rec-vivo {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: var(--laca);
  border: 1px solid var(--oro-linea);
  border-radius: var(--radio-sm);
}
.rec-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scaleX(-1);
}
.rec-vivo-acciones { display: flex; gap: var(--esp-3); flex-wrap: wrap; }
.rec-vivo-acciones .btn { flex: 1 1 8em; justify-content: center; }
.rec-camara-error { margin-top: var(--esp-2); }
@media (max-width: 639.98px) {
  .rec-camara { max-width: 100%; }
}

/* ── ds/99-verificacion.css ── */
.verif-nivel {
  --vn-tinta: var(--insignia-silver-tinta);
  --vn-aura: 6%;
  --vn-alto: 170px;
  --vn-borde: 30%;
  --vn-filete: 14%;
  --vn-orla: 0%;
  --vn-esquina: 0%;
  --vn-doble: 0%;
  --vn-realce: 5%;
}
.verif-nivel--purple {
  --vn-tinta: var(--insignia-purple-tinta);
  --vn-aura: 9%; --vn-alto: 185px; --vn-borde: 40%;
  --vn-filete: 20%; --vn-orla: 14%; --vn-esquina: 0%; --vn-doble: 0%; --vn-realce: 7%;
}
.verif-nivel--gold {
  --vn-tinta: var(--insignia-gold-tinta);
  --vn-aura: 12%; --vn-alto: 205px; --vn-borde: 55%;
  --vn-filete: 28%; --vn-orla: 22%; --vn-esquina: 52%; --vn-doble: 16%; --vn-realce: 10%;
}
.verif-nivel--expert {
  --vn-tinta: var(--insignia-expert-tinta);
  --vn-aura: 15%; --vn-alto: 225px; --vn-borde: 68%;
  --vn-filete: 36%; --vn-orla: 30%; --vn-esquina: 78%; --vn-doble: 26%; --vn-realce: 13%;
}
.verif-nivel {
  --vn-escuadra: linear-gradient(
    color-mix(in srgb, var(--vn-tinta) var(--vn-esquina), transparent) 0 100%);
}
body .ax-main > .verif-caja.verif-nivel {
  border: var(--borde-fino) solid color-mix(in srgb, var(--vn-tinta) var(--vn-borde), transparent);
  border-top-width: var(--borde-medio-grosor);
  border-bottom-width: var(--borde-medio-grosor);
  border-radius: 0;
  background:
    radial-gradient(420px var(--vn-alto) at 50% -8%,
      color-mix(in srgb, var(--vn-tinta) var(--vn-aura), transparent), transparent 70%),
    var(--laca);
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--vn-tinta) var(--vn-realce), transparent);
}
.verif-caja .verif-orla {
  position: absolute;
  inset: 11px;
  z-index: 0;
  display: block;
  pointer-events: none;
  border: var(--borde-fino) solid color-mix(in srgb, var(--vn-tinta) var(--vn-orla), transparent);
  border-radius: 0;
  outline: var(--borde-fino) solid color-mix(in srgb, var(--vn-tinta) var(--vn-doble), transparent);
  outline-offset: 4px;
}
.verif-caja .verif-orla {
  background-repeat: no-repeat;
  background-origin: border-box;
  background-clip: border-box;
  background-size: 26px var(--borde-medio-grosor), var(--borde-medio-grosor) 26px,
                   26px var(--borde-medio-grosor), var(--borde-medio-grosor) 26px,
                   26px var(--borde-medio-grosor), var(--borde-medio-grosor) 26px,
                   26px var(--borde-medio-grosor), var(--borde-medio-grosor) 26px;
  background-position: left top, left top, right top, right top,
                       left bottom, left bottom, right bottom, right bottom;
  background-image:
    var(--vn-escuadra), var(--vn-escuadra), var(--vn-escuadra), var(--vn-escuadra),
    var(--vn-escuadra), var(--vn-escuadra), var(--vn-escuadra), var(--vn-escuadra);
}
.verif-caja .verif-titulo {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--esp-3);
  margin: 0;
  line-height: var(--interlinea-titulo);
}
.verif-caja .verif-marca {
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-sm);
  font-weight: var(--peso-semi);
  letter-spacing: var(--tracking-etiqueta);
  text-transform: uppercase;
  line-height: 1.1;
  color: var(--dorado-texto-oscuro);
}
.verif-caja .verif-estado {
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-micro);
  font-weight: var(--peso-semi);
  letter-spacing: var(--tracking-etiqueta);
  text-transform: uppercase;
  line-height: 1;
  padding: 5px var(--esp-3) 4px;
  border-radius: var(--radio-pastilla);
  color: var(--negro-000);
  background: var(--degradado-oro);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--marfil) 45%, transparent);
}
.verif-caja .verif-titulo--no {
  display: block;
  font-family: var(--fuente-ceremonial);
  font-size: clamp(var(--tipo-xl), 6vw, var(--tipo-2xl));
  font-weight: var(--peso-normal);
  color: var(--blanco);
}
.verif-caja .verif-sujeto {
  width: 100%;
  align-self: stretch;
  margin-top: var(--esp-6);
  padding-bottom: var(--esp-5);
  border-bottom: var(--borde-fino) solid var(--borde-dorado);
  text-align: center;
}
.verif-caja .verif-sujeto-etq {
  display: block;
  margin-bottom: var(--esp-2);
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-micro);
  font-weight: var(--peso-semi);
  letter-spacing: var(--tracking-etiqueta);
  text-transform: uppercase;
  color: var(--texto-primario);
}
.verif-caja .verif-nombre {
  margin: 0;
  font-family: var(--fuente-ceremonial);
  font-weight: var(--peso-normal);
  font-size: clamp(1.75rem, 7.2vw, 2.6rem);
  line-height: var(--interlinea-ajustada);
  letter-spacing: var(--tracking-titulo);
  color: var(--marfil);
  text-wrap: balance;
}
.verif-caja .retrato { display: grid; place-items: center; }
.verif-caja .retrato::after {
  border-color: color-mix(in srgb, var(--vn-tinta) var(--vn-borde), transparent);
}
.verif-caja .verif-iniciales {
  font-family: var(--fuente-ceremonial);
  font-size: var(--tipo-2xl);
  font-weight: var(--peso-normal);
  letter-spacing: .04em;
  line-height: 1;
  color: color-mix(in srgb, var(--vn-tinta) 72%, var(--negro));
}
.verif-caja .verif-datos {
  margin-top: var(--esp-5);
  padding-top: 0;
  border-top: 0;
}
.verif-caja .verif-datos li:first-child {
  flex-direction: row;
  align-items: center;
  gap: var(--esp-5);
  padding-bottom: var(--esp-3);
  border-bottom-color: var(--carnet-filete-tenue);
}
.verif-caja .verif-datos li:first-child > strong {
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-sm);
  text-align: end;
}
.verif-caja .verif-datos li:not(:first-child) {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
}
.verif-caja .verif-datos li > strong {
  display: inline-flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: .45em;
  min-width: 0;
}
.verif-caja .verif-datos .bandera{
  margin-inline-end: .5em;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--oro-linea) 45%, transparent);
}
.verif-caja .verif-tecnicas {
  width: 100%;
  align-self: stretch;
  margin-top: var(--esp-6);
  padding-top: var(--esp-5);
  border-top: var(--borde-fino) solid var(--carnet-filete-tenue);
  text-align: start;
}
.verif-caja .verif-tecnicas-tit {
  margin: 0 0 var(--esp-4);
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-micro);
  font-weight: var(--peso-semi);
  letter-spacing: var(--tracking-etiqueta);
  text-transform: uppercase;
  color: var(--texto-primario);
}
.verif-caja .verif-tec-lista {
  display: flex;
  flex-wrap: wrap;
  gap: var(--esp-2);
  margin: 0;
  padding: 0;
  list-style: none;
}
.verif-caja .verif-tec {
  display: inline-flex;
  align-items: baseline;
  gap: var(--esp-2);
  padding: var(--esp-2) var(--esp-4);
  border-radius: var(--radio-pastilla);
  background: color-mix(in srgb, var(--vn-tinta) 9%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--vn-tinta) var(--vn-filete), transparent);
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-xs);
  font-weight: var(--peso-semi);
  letter-spacing: var(--tracking-ancho);
  color: var(--marfil);
}
.verif-caja .verif-tec-ano {
  font-size: var(--tipo-micro);
  font-weight: var(--peso-normal);
  letter-spacing: var(--tracking-normal);
  font-variant-numeric: lining-nums tabular-nums;
  color: var(--texto-primario);
}
.verif-caja .verif-checkin { margin-top: var(--esp-6); }
@media (max-width: 480px) {
  .verif-caja .verif-orla { inset: 8px; }
  .verif-caja .verif-tec { padding: var(--esp-2) var(--esp-3); }
}
@media print {
  .verif-caja.verif-nivel { background: none; box-shadow: none; border-color: var(--gris-800); }
  .verif-caja .verif-orla { display: none; }
  .verif-caja .verif-estado,
  .verif-caja .verif-tec { background: none; box-shadow: inset 0 0 0 1px var(--gris-800); color: inherit; }
}
.verif-caja .verif-datos .mini-cat {
  display: inline-block;
  padding: 5px var(--esp-3) 4px;
  border: 0;
  border-radius: var(--radio-pastilla);
  box-shadow: inset 0 0 0 var(--borde-fino) var(--oro-linea);
  color: var(--oro-texto);
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-micro);
  font-weight: var(--peso-semi);
  letter-spacing: var(--tracking-etiqueta);
  text-transform: uppercase;
  line-height: 1;
}
.verif-caja .verif-datos .mini-cat.cat-silver{ color: var(--plata); }
.verif-caja .verif-datos .mini-cat.cat-purple{ color: var(--insignia-purple-tinta); }
.verif-caja .verif-datos .mini-cat.cat-gold{ color: var(--oro); }
.verif-caja .verif-datos .mini-cat:is(.cat-expert, .cat-black){ color: var(--oro-brillante); }
body .ax-main > .verif-caja.verif-nivel::after {
  --gui: repeating-linear-gradient(58deg, var(--oro-a18) 0 .5px, transparent .5px 6px),
         repeating-linear-gradient(-58deg, var(--oro-a18) 0 .5px, transparent .5px 6px);
  content: "";
  position: absolute;
  inset: 2px;
  z-index: 0;
  pointer-events: none;
  background-image: var(--gui), var(--gui);
  background-repeat: no-repeat, no-repeat;
  background-size: 100% 8px, 100% 8px;
  background-position: left top, left bottom;
}
.verif-caja .verif-orla::before {
  content: "";
  position: absolute;
  inset: -9px auto -9px -9px;
  inline-size: 8px;
  pointer-events: none;
  background:
    repeating-linear-gradient(58deg, var(--oro-a18) 0 .5px, transparent .5px 6px),
    repeating-linear-gradient(-58deg, var(--oro-a18) 0 .5px, transparent .5px 6px);
}
.verif-caja .verif-orla::after {
  content: "";
  position: absolute;
  inset: -9px -9px -9px auto;
  inline-size: 8px;
  pointer-events: none;
  background:
    repeating-linear-gradient(58deg, var(--oro-a18) 0 .5px, transparent .5px 6px),
    repeating-linear-gradient(-58deg, var(--oro-a18) 0 .5px, transparent .5px 6px);
}
.verif-caja .verif-emision {
  width: 100%;
  align-self: stretch;
  margin-top: var(--esp-6);
  padding-top: var(--esp-4);
  border-top: var(--borde-fino) solid var(--carnet-filete-tenue);
  text-align: center;
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-micro);
  line-height: var(--interlinea-normal);
  font-variant-numeric: lining-nums tabular-nums;
  color: var(--marfil-3);
}
.verif-caja > .aviso-info {
  margin: 0 0 var(--esp-5);
  padding: var(--esp-3) var(--esp-4);
  font-size: var(--tipo-xs);
  line-height: var(--interlinea-normal);
  text-align: start;
}
.verif-caja > .aviso-info::before { margin-bottom: var(--esp-1); }
@media (max-width: 480px) {
  body .ax-main > .verif-caja.verif-nivel::after { background-size: 100% 6px, 100% 6px; }
  .verif-caja .verif-orla::before,
  .verif-caja .verif-orla::after { inline-size: 6px; inset-inline-start: -7px; }
  .verif-caja .verif-orla::after { inset-inline-start: auto; inset-inline-end: -7px; }
}
@media print {
  body .ax-main > .verif-caja.verif-nivel::after,
  .verif-caja .verif-orla::before,
  .verif-caja .verif-orla::after { display: none; }
  .verif-caja .verif-datos .mini-cat,
  .verif-caja .verif-datos .verif-iso { box-shadow: inset 0 0 0 1px var(--gris-800); color: inherit; }
}
.verif-demo{
  width: 100%;
  max-width: 480px;
  margin: var(--esp-6) auto 0;
  padding: var(--esp-4) var(--esp-5);
  background: var(--negro-200);
  border: var(--borde-fino) solid color-mix(in srgb, var(--niebla) 30%, transparent);
  border-radius: 0;
  color: var(--niebla);
  font-family: var(--fuente-lectura);
  font-size: var(--tipo-sm);
  line-height: var(--interlinea-normal);
  text-align: start;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.verif-demo::before{ color: var(--niebla); }
.verif-demo .aviso-ir{ color: var(--marfil); white-space: nowrap; }
@media print {
  .verif-demo{ display: none; }
}
.verif-caja .retrato--sin-foto{
  position: relative;
  isolation: isolate;
}
.verif-caja .retrato--sin-foto::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  --anillo-tinta: color-mix(in srgb, var(--oro-linea) 34%, transparent);
  opacity: 1;
  background:
    repeating-linear-gradient(58deg,  var(--anillo-tinta) 0 .5px, transparent .5px 5px),
    repeating-linear-gradient(-58deg, var(--anillo-tinta) 0 .5px, transparent .5px 5px);
  -webkit-mask-image: radial-gradient(circle closest-side at 50% 50%, transparent 0 54%, var(--negro) 58% 92%, transparent 96%);
          mask-image: radial-gradient(circle closest-side at 50% 50%, transparent 0 54%, var(--negro) 58% 92%, transparent 96%);
}

/* ── ds/99-perfil-mafe.css ── */
@media (min-width: 900px) {
  body.pagina-carnet .ax-main:has(> .perfil-rejilla) > .perfil-rejilla > :nth-child(2) {
    grid-row: auto;
  }
}
@media (min-width: 900px) {
  body.pagina-carnet .ax-main:has(> .perfil-rejilla) > .perfil-rejilla:has(> :nth-child(3)) > :nth-child(1) {
    grid-row: span 2;
  }
  body.pagina-carnet .ax-main:has(> .perfil-rejilla) > .perfil-rejilla > :nth-child(3) {
    grid-column: 2;
  }
}
body.pagina-carnet .perfil-hero figure.retrato--sin-foto {
  display: grid;
  place-items: center;
}
body.pagina-carnet .perfil-hero .retrato-iniciales {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 58%;
  aspect-ratio: 1;
  border: 1px solid var(--oro-a30);
  border-radius: 50%;
  background:
    repeating-radial-gradient(circle at 50% 50%,
      var(--oro-a12) 0 .5px, transparent .5px 4px);
  font-family: var(--fuente-ceremonial);
  font-size: var(--tipo-xl);
  font-weight: var(--peso-normal);
  line-height: 1;
  letter-spacing: .04em;
  color: var(--oro-texto);
}
span.cuenta-foto.retrato--sin-foto {
  position: relative;
  display: grid;
  place-items: center;
}
span.cuenta-foto.retrato--sin-foto::before,
span.cuenta-foto.retrato--sin-foto::after {
  content: "";
  grid-area: 1 / 1;
  pointer-events: none;
}
span.cuenta-foto.retrato--sin-foto::before {
  width: 62%;
  aspect-ratio: 1;
  border: 1px solid var(--oro-a30);
  border-radius: 50%;
}
span.cuenta-foto.retrato--sin-foto::after {
  width: 34%;
  aspect-ratio: 1;
  background: var(--oro-linea);
  opacity: .55;
  -webkit-mask: url("/static/brand/isotipo-dorado.png") center / contain no-repeat;
          mask: url("/static/brand/isotipo-dorado.png") center / contain no-repeat;
}
@media (min-width: 900px) {
  body.pagina-carnet .ax-main:not([hidden])::after {
    margin-top: 0;
  }
}
span.cuenta-foto.retrato--sin-foto::after {
  width: 42%;
  background: var(--oro-texto);
  opacity: 1;
}
body.pagina-carnet .mi-bloque > .mi-bloque-tl::before {
  content: none;
}
body.pagina-carnet .mi-bloque > .mi-bloque-tl {
  font-family: var(--fuente-ceremonial);
  font-size: var(--tipo-lg);
  font-weight: var(--peso-normal);
  letter-spacing: normal;
  text-transform: none;
  line-height: var(--interlinea-titulo);
  color: var(--texto-primario);
}
body.pagina-carnet .mi-bloque .tarjeta {
  background: var(--negro-200);
}
span.cuenta-foto.retrato--sin-foto > .retrato-iniciales {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--fuente-ceremonial);
  font-size: clamp(22px, 34%, 34px);
  font-weight: var(--peso-normal);
  letter-spacing: .06em;
  line-height: 1;
  color: var(--oro-texto);
}
span.cuenta-foto.retrato--sin-foto:has(> .retrato-iniciales)::after {
  content: none;
}
@media (min-width: 640px) and (max-width: 899.98px) {
  body.pagina-carnet .perfil-rejilla > .mi-bloque:first-child { margin-top: var(--esp-3); }
}
.colega-dialogo {
  position: fixed;
  padding: 0;
  margin: auto;
  width: min(760px, calc(100vw - 2 * var(--esp-4)));
  max-height: calc(100dvh - 2 * var(--esp-4));
  overflow: auto;
  border: 1px solid var(--oro-linea);
  border-radius: 0;
  background: var(--laca);
  color: var(--texto-primario);
  box-shadow: 0 32px 80px -32px rgba(0, 0, 0, .8);
}
.colega-dialogo::backdrop { background: rgba(8, 9, 12, .74); }
.ax-main .colega-dialogo .perfil-columna.colega-dialogo-cuerpo {
  display: block;
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0;
}
.ax-main .colega-dialogo .perfil-columna > section.perfil-hero.perfil-hero { margin: 0; }
.colega-dialogo--cargando .colega-dialogo-cuerpo { min-height: 220px; }
.colega-dialogo-cerrar {
  position: absolute;
  top: var(--esp-2);
  right: var(--esp-2);
  z-index: 2;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  background: none;
  color: var(--oro-texto);
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}
.colega-dialogo-cerrar:hover,
.colega-dialogo-cerrar:focus-visible { color: var(--oro); }

/* ── ds/99-beneficios.css ── */
.curso-formulas {
  margin-block: clamp(2.5rem, 7vw, 5rem) 0;
  padding-block-start: clamp(1.5rem, 4vw, 2.75rem);
  border-top: 1px solid color-mix(in srgb, var(--oro-linea) 42%, transparent);
}
.curso-formulas__bajada {
  max-width: 62ch;
  margin-block: .6rem 0;
  color: var(--marfil-2);
  font-family: var(--f-sans);
  font-size: var(--t-body);
  line-height: 1.55;
}
.curso-formulas__bajada strong { color: var(--marfil); font-weight: 600; }
.formulas-indice {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(.75rem, 1.6vw, 1.1rem);
  margin-block: clamp(1.25rem, 3vw, 2rem) 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 900px) {
  .formulas-indice { grid-template-columns: 1fr 1fr; }
  .formulas-indice > li:first-child { grid-column: 1 / -1; }
}
.formula-placa > a {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: clamp(.9rem, 2.2vw, 1.6rem);
  min-height: 84px;
  padding: clamp(.9rem, 2vw, 1.25rem) clamp(1rem, 2.4vw, 1.6rem);
  text-decoration: none;
  color: var(--marfil);
  background:
    linear-gradient(105deg,
      color-mix(in srgb, var(--oro) 7%, transparent) 0,
      transparent 42%),
    var(--laca);
  border: 1px solid color-mix(in srgb, var(--oro-linea) 52%, transparent);
  box-shadow: inset 0 0 0 1px rgb(var(--negro-rgb) / .6);
  transition: border-color 200ms ease, transform 200ms ease;
}
.formulas-indice > li:first-child > a { min-height: 116px; }
@media (hover: hover) {
  .formula-placa > a:hover {
    border-color: var(--oro);
    transform: translateY(-2px);
  }
}
.formula-placa > a:focus-visible {
  outline: 2px solid var(--oro);
  outline-offset: 2px;
}
.formula-placa__numeral {
  font-family: var(--f-palacio);
  font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2.5rem);
  line-height: 1;
  color: color-mix(in srgb, var(--oro) 78%, transparent);
  min-width: 2ch;
  text-align: center;
}
.formula-placa__nombre {
  display: block;
  font-family: var(--f-palacio);
  font-size: clamp(1.0625rem, .98rem + .45vw, 1.375rem);
  line-height: 1.25;
  color: var(--marfil);
}
.formula-placa__estado {
  display: inline-block;
  margin-block-start: .35rem;
  font-family: var(--f-sans);
  font-size: var(--t-label);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--marfil-3);
}
.formula-placa__estado.es-viva { color: var(--oro-texto); }
.formula-placa__accion {
  font-family: var(--f-sans);
  font-size: var(--t-label);
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--oro-texto);
}
.formula-placa.es-calibrando .formula-placa__numeral {
  color: color-mix(in srgb, var(--oro) 40%, transparent);
}
.curso-formulas__pie { margin-block-start: clamp(1rem, 2.4vw, 1.5rem); }
@media (max-width: 639.98px) {
  .formula-placa > a {
    grid-template-columns: auto 1fr;
    row-gap: .5rem;
  }
  .formula-placa__accion { grid-column: 2; justify-self: start; }
}
body.pagina-formulas {
  background-color: var(--negro);
  background-image:
    radial-gradient(120% 80% at 50% 0,
      color-mix(in srgb, var(--oro) 7%, transparent) 0,
      transparent 62%),
    repeating-linear-gradient(45deg,
      color-mix(in srgb, var(--oro) 4%, transparent) 0 1px,
      transparent 1px 13px),
    repeating-linear-gradient(-45deg,
      color-mix(in srgb, var(--oro) 4%, transparent) 0 1px,
      transparent 1px 13px);
  background-attachment: fixed;
}
.formulas-portada {
  position: relative;
  margin-block-end: clamp(1.5rem, 4vw, 2.5rem);
  padding: clamp(1.75rem, 5vw, 3.25rem) clamp(1.25rem, 4vw, 3rem);
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--oro-linea) 60%, transparent);
  background:
    linear-gradient(rgb(var(--negro-rgb) / .74), rgb(var(--negro-rgb) / .9)),
    url("/static/arte/gabinete-1280.jpg") center / cover no-repeat;
}
.formulas-portada::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-start: 0;
  height: 2px;
  background: var(--laton);
}
.formulas-portada h1,
.formulas-portada h2 {
  margin: .25rem 0 0;
  font-family: var(--f-palacio);
  font-size: var(--t-display);
  line-height: 1.05;
  color: var(--marfil);
}
.formulas-portada .eyebrow { color: var(--oro-texto); }
.formulas-portada__bajada {
  max-width: 64ch;
  margin-block-start: .9rem;
  color: var(--marfil-2);
  font-family: var(--f-sans);
  font-size: var(--t-body);
  line-height: 1.55;
}
.formulas-portada__bajada strong { color: var(--marfil); font-weight: 600; }
.formulas-volver {
  display: inline-flex;
  align-items: center;
  gap: .5ch;
  margin-block-end: clamp(.75rem, 2vw, 1.25rem);
  font-family: var(--f-sans);
  font-size: var(--t-label);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--oro-texto);
  text-decoration: none;
  border-bottom: 1px solid transparent;
}
.formulas-volver:hover,
.formulas-volver:focus-visible { color: var(--oro); border-bottom-color: var(--oro); }
body.pagina-formulas .formula-ficha .campo-icono {
  color: var(--oro-texto);
  vertical-align: -2px;
  margin-inline-end: .45ch;
}
body.pagina-formulas .formula-ficha .campo-caja { position: relative; }
body.pagina-formulas .formula-ficha .campo-limpiar {
  position: absolute;
  inset-block: 0;
  inset-inline-end: 0;
  transform: none;
  width: 2.75rem;
  height: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  font-size: var(--tipo-md);
  line-height: 1;
  color: var(--marfil-3);
  background: none;
  border: 0;
  cursor: pointer;
}
body.pagina-formulas .formula-ficha input[type="number"] {
  appearance: textfield;
  -moz-appearance: textfield;
}
body.pagina-formulas .formula-ficha input[type="number"]::-webkit-outer-spin-button,
body.pagina-formulas .formula-ficha input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
}
body.pagina-formulas .formula-ficha .campo-limpiar:hover,
body.pagina-formulas .formula-ficha .campo-limpiar:focus-visible { color: var(--oro); }
.formula-acciones {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: clamp(.6rem, 1.6vw, 1rem);
  margin-block-start: clamp(1rem, 2.4vw, 1.5rem);
}
.formula-acciones > .btn { margin: 0; }
body.pagina-formulas .formula-acciones .formula-limpiar {
  color: var(--marfil-2);
  border-color: color-mix(in srgb, var(--oro-linea) 55%, transparent);
}
body.pagina-formulas .formula-acciones .btn-espera:disabled {
  background: none;
  color: var(--marfil-3);
  border: 1px solid color-mix(in srgb, var(--oro-linea) 40%, transparent);
  box-shadow: none;
  cursor: not-allowed;
}
body.pagina-formulas .formula-resultado {
  position: relative;
  margin-block-start: clamp(1.75rem, 4.5vw, 3rem);
  padding: clamp(1.5rem, 4vw, 2.75rem) clamp(1.25rem, 3.5vw, 2.5rem);
  background:
    radial-gradient(120% 90% at 50% 0,
      color-mix(in srgb, var(--oro) 9%, transparent) 0,
      transparent 60%),
    var(--laca);
  border: 1px solid color-mix(in srgb, var(--oro-linea) 70%, transparent);
  box-shadow: inset 0 0 0 4px rgb(var(--negro-rgb) / .55),
              inset 0 0 0 5px color-mix(in srgb, var(--oro-linea) 32%, transparent);
  text-align: center;
}
body.pagina-formulas .formula-resultado .eyebrow {
  color: var(--oro-texto);
}
body.pagina-formulas .formula-resultado .resultado-valor {
  font-family: var(--f-palacio);
  font-size: clamp(3rem, 1.8rem + 7vw, 7rem);
  line-height: 1.02;
  color: var(--marfil);
  margin-block: .35rem .1rem;
}
.formula-margen {
  font-family: var(--f-sans);
  font-size: var(--t-label);
  letter-spacing: .06em;
  color: var(--oro-texto);
}
body.pagina-formulas .formula-entradas-tl {
  margin-block-start: clamp(1.25rem, 3vw, 2rem);
  text-align: start;
}
body.pagina-formulas .formula-entradas { text-align: start; }
body.pagina-formulas .formula-dato {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: baseline;
  gap: .75ch;
  padding-block: .55rem;
  border-bottom: 1px solid color-mix(in srgb, var(--oro-linea) 24%, transparent);
}
body.pagina-formulas .formula-dato dt {
  color: var(--marfil-2);
  font-family: var(--f-sans);
  font-size: var(--t-body);
}
body.pagina-formulas .formula-dato dd {
  margin: 0 0 0 auto;
  color: var(--marfil);
  font-family: var(--f-palacio);
  font-size: var(--tipo-md);
}
body.pagina-formulas .formula-fecha {
  margin-block-start: .9rem;
  text-align: start;
  color: var(--marfil-3);
  font-family: var(--f-sans);
  font-size: var(--t-label);
}
body.pagina-formulas .formula-resultado .resultado-aviso-clinico::before {
  content: none;
}
body.pagina-formulas .formula-aviso-tl {
  margin-block: clamp(1rem, 2.4vw, 1.5rem) 0;
  padding-block-start: clamp(.9rem, 2vw, 1.25rem);
  border-top: 1px solid color-mix(in srgb, var(--oro-linea) 30%, transparent);
  text-align: start;
  font-family: var(--f-sans);
  font-size: var(--t-label);
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--oro-texto);
}
body.pagina-formulas .formula-aviso-tl + .resultado-aviso-clinico {
  margin-block-start: .5rem;
  padding-block-start: 0;
  border-top: 0;
}
body.pagina-formulas .resultado-aviso-clinico {
  margin-block-start: clamp(1rem, 2.4vw, 1.5rem);
  padding-block-start: clamp(.9rem, 2vw, 1.25rem);
  border-top: 1px solid color-mix(in srgb, var(--oro-linea) 30%, transparent);
  text-align: start;
  color: var(--marfil-2);
  font-family: var(--f-sans);
  font-size: var(--t-label);
  line-height: 1.5;
}
.formula-descargas {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: clamp(.6rem, 1.6vw, 1rem);
  margin-block-start: clamp(1.25rem, 3vw, 1.75rem);
}
.formula-descargas > button { margin: 0; }
.formulas-portada--boton {
  display: block;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  transition: border-color var(--m-card) var(--e-out),
              transform var(--m-card) var(--e-out);
}
.formulas-portada--boton:hover { border-color: var(--oro); transform: translateY(-2px); }
.formulas-portada--boton:focus-visible { outline: 2px solid var(--oro); outline-offset: 3px; }
.formulas-portada__ir {
  display: inline-block;
  margin-block-start: 1.1rem;
  color: var(--oro-texto);
  font: 600 var(--t-label) / 1 var(--f-sans);
  letter-spacing: .14em;
  text-transform: uppercase;
  border-bottom: 1px solid color-mix(in srgb, var(--oro) 45%, transparent);
  padding-block-end: .35em;
}
.formulas-portada--boton:hover .formulas-portada__ir { border-bottom-color: var(--oro); }
@media (prefers-reduced-motion: reduce) {
  .formulas-portada--boton { transition: none; }
  .formulas-portada--boton:hover { transform: none; }
}
.solo-lector {
  position: absolute;
  width: 1px; height: 1px;
  margin: -1px; padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* ── ds/99-shop.css ── */
.shop-intro { color: var(--muted); margin: .35rem 0 0; max-width: 62ch; }
.shop-vacio { color: var(--muted); margin: .8rem 0 0; }
.shop-h1-sec { color: var(--muted); font-weight: 400; }
.shop-bloque-tl {
  font-size: var(--tipo-base);
  margin: 1.4rem 0 .5rem;
  padding-bottom: .4rem;
  border-bottom: 1px solid var(--line);
}
.shop-menu {
  margin: clamp(1rem, 3vw, 1.8rem) 0;
  padding: clamp(.9rem, 3vw, 1.4rem) 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.shop-menu-lineas {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1.2rem 1.6rem;
  align-items: start;
}
.shop-menu { container: shop-menu / inline-size; }
@container shop-menu (width < 876.8px) {
  .shop-menu-lineas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container shop-menu (width < 425.6px) {
  .shop-menu-lineas { grid-template-columns: minmax(0, 1fr); }
}
.shop-menu-tl {
  display: block;
  font-size: var(--tipo-base);
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--dorado-texto-oscuro);
  text-decoration: none;
  padding-bottom: .4rem;
  border-bottom: 1px solid var(--line);
}
.shop-menu-tl:hover,
.shop-menu-tl:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
.shop-menu-tl[aria-current="page"] { border-bottom-color: var(--dorado-ornamento); }
.shop-menu-cats {
  list-style: none;
  margin: .55rem 0 0;
  padding: 0;
  display: grid;
  gap: .3rem;
}
.shop-menu-cats > li { position: relative; padding-left: .9rem; }
.shop-menu-cats > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .5em;
  top: .5lh;
  transform: translateY(-50%);
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--dorado-ornamento);
}
.shop-menu-cats a { color: inherit; text-decoration: none; font-size: var(--tipo-sm); }
.shop-menu-cats a:hover,
.shop-menu-cats a:focus-visible { text-decoration: underline; text-underline-offset: 2px; }
.shop-seccion { margin-top: clamp(1.6rem, 5vw, 2.8rem); }
.shop-seccion-tl {
  font-size: clamp(var(--tipo-md), 3vw, var(--tipo-lg));
  letter-spacing: .03em;
  text-transform: uppercase;
  margin: 0 0 .2rem;
}
.shop-cat { margin-top: 1.4rem; scroll-margin-top: 84px; }
.shop-cat-tl {
  font-family: var(--fuente-ceremonial);
  font-size: var(--tipo-sm);
  font-weight: 400;
  letter-spacing: var(--tracking-nav);
  text-transform: uppercase;
  color: var(--marfil-3);
  margin: 0 0 .7rem;
  padding-bottom: .35rem;
  border-bottom: 1px solid var(--line);
}
.shop-rejilla {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1.1rem;
  align-items: start;
}
.shop-seccion { container: shop-sec / inline-size; }
.shop-cat { --shop-n: 4; --shop-c: 4; --shop-hueco: 1.1rem; }
.shop-cat:has(> .shop-rejilla > li:nth-child(1):last-child) { --shop-n: 1; }
.shop-cat:has(> .shop-rejilla > li:nth-child(2):last-child) { --shop-n: 2; }
.shop-cat:has(> .shop-rejilla > li:nth-child(3):last-child) { --shop-n: 3; }
@container shop-sec (width < 1012.8px) { .shop-cat { --shop-c: 3; } }
@container shop-sec (width < 755.2px) { .shop-cat { --shop-c: 2; } }
@container shop-sec (width < 497.6px) { .shop-cat { --shop-c: 1; } }
.shop-seccion { display: flow-root; }
@container shop-sec (width >= 1012.8px) {
  .shop-seccion:not(:has(> .shop-cat > .shop-rejilla > li:nth-child(2))) > .shop-cat {
    float: left;
    width: calc((100% - 3 * var(--shop-hueco)) / 4);
    margin-right: var(--shop-hueco);
  }
  .shop-seccion:not(:has(> .shop-cat > .shop-rejilla > li:nth-child(2))) > .shop-cat > :is(.shop-cat-tl, .shop-rejilla) {
    max-width: none;
  }
}
.shop-cat > :is(.shop-cat-tl, .shop-rejilla) {
  max-width: calc(
    min(var(--shop-n), var(--shop-c)) * (100% - (var(--shop-c) - 1) * var(--shop-hueco)) / var(--shop-c)
    + (min(var(--shop-n), var(--shop-c)) - 1) * var(--shop-hueco));
}
.shop-tarjeta {
  background: var(--negro-200);
  border: var(--borde-fino) solid var(--oro-a30);
  border-radius: 0;
  overflow: hidden;
}
.shop-enlace {
  display: grid;
  gap: .6rem;
  text-decoration: none;
  color: inherit;
  height: 100%;
}
.shop-enlace:focus-visible { outline: 2px solid var(--dorado-texto-oscuro); outline-offset: 2px; }
@media (hover: hover) {
  .shop-tarjeta:has(> a.shop-enlace):hover {
    border-color: var(--borde-dorado);
    box-shadow: var(--realce-filo), var(--realce-luz-gas);
  }
}
.shop-tarjeta:has(> a.shop-enlace):focus-within {
  border-color: var(--borde-dorado);
  box-shadow: var(--realce-filo), var(--realce-luz-gas);
}
.shop-foto, .shop-galeria-foto { --shop-placa: var(--marfil-3); }
.shop-foto { display: block; position: relative; isolation: isolate; background: var(--shop-placa); }
.shop-foto img { mix-blend-mode: multiply; }
.shop-foto::after,
.shop-galeria-foto::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(farthest-corner at 50% 46%,
    rgb(var(--negro-rgb) / 0) 52%,
    rgb(var(--negro-rgb) / .20) 100%);
}
.shop-foto img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  border-bottom: 1px solid var(--line);
}
.shop-texto { display: grid; gap: .3rem; padding: 0 .85rem .95rem; }
.shop-tarjeta-sin-foto .shop-texto { padding-top: .95rem; }
.shop-nombre { font-family: var(--fuente-ceremonial); font-size: var(--tipo-lg); line-height: 1.2; font-weight: 400; }
.shop-bajada { color: var(--muted); font-size: var(--tipo-sm); line-height: 1.45; }
.shop-precio { font-size: var(--tipo-sm); margin-top: .15rem; }
.shop-chip-vitrina {
  display: inline-block;
  width: fit-content;
  margin-top: .3rem;
  font-size: var(--tipo-xs);
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--dorado-texto-oscuro);
  border: 1px solid var(--line);
  border-radius: 0;
  padding: .1rem .4rem;
}
.shop-cierre {
  margin-top: clamp(1.8rem, 5vw, 3rem);
  padding-top: clamp(1rem, 3vw, 1.6rem);
  border-top: 1px solid var(--line);
  color: var(--muted);
}
.shop-cierre > p { max-width: 62ch; }
.shop-cierre-solo { border-top: 0; margin-top: clamp(1rem, 4vw, 2rem); }
.shop-cierre-ctas { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: .9rem; }
.shop-proximamente {
  margin-top: clamp(1.5rem, 4vw, 2.5rem);
  padding: clamp(1.25rem, 4vw, 2rem);
  background: var(--negro-200);
  border: 1px solid color-mix(in srgb, var(--niebla) 30%, transparent);
  border-radius: 0;
  position: relative;
  overflow: hidden;
}
@media (min-width: 900px) {
  .shop-proximamente { min-height: 208px; }
  .shop-proximamente::after {
    content: "";
    position: absolute;
    z-index: 0;
    top: 50%;
    right: calc(var(--esp-12) * -1);
    width: 280px;
    aspect-ratio: 1;
    transform: translateY(-50%);
    pointer-events: none;
    background: var(--oro-a55);
    -webkit-mask-image:
      url("/static/ds/ornamentos/sello-640.webp"),
      linear-gradient(to left, rgb(var(--negro-rgb)) 44%, rgb(var(--negro-rgb) / 0) 97%);
    mask-image:
      url("/static/ds/ornamentos/sello-640.webp"),
      linear-gradient(to left, rgb(var(--negro-rgb)) 44%, rgb(var(--negro-rgb) / 0) 97%);
    -webkit-mask-size: contain, cover;
    mask-size: contain, cover;
    -webkit-mask-position: center, center;
    mask-position: center, center;
    -webkit-mask-repeat: no-repeat, no-repeat;
    mask-repeat: no-repeat, no-repeat;
    -webkit-mask-composite: source-in;
    mask-composite: intersect;
  }
  .shop-proximamente > * { position: relative; z-index: 1; }
}
.shop-prox-estado {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  margin: 0 0 .75rem;
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-xs);
  font-weight: 600;
  letter-spacing: var(--tracking-nav);
  text-transform: uppercase;
  color: var(--niebla);
}
.shop-prox-estado::before {
  content: "";
  flex: 0 0 auto;
  box-sizing: border-box;
  width: 14px;
  height: 14px;
  border: 1.5px solid currentColor;
  border-radius: 50%;
  background:
    linear-gradient(to top, currentColor 50%, transparent 50%) no-repeat 50% 0 / 1.5px 50%;
}
.shop-proximamente .shop-prox-texto {
  margin: 0;
  max-width: 68ch;
  font-size: var(--tipo-md);
  line-height: 1.65;
  color: var(--texto-secundario);
}
.shop-proximamente .shop-cierre-ctas { margin-top: 1.25rem; }
.shop-menu-cats > li > span { color: var(--texto-secundario); }
.shop-migas {
  color: var(--muted);
  font-size: var(--tipo-sm);
  margin: 0 0 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  align-items: baseline;
}
.shop-migas a { color: inherit; }
.shop-ficha { display: grid; gap: clamp(1.2rem, 4vw, 2.2rem); align-items: start; }
@media (min-width: 900px) {
  .shop-ficha:has(.shop-galeria) { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
.shop-galeria {
  display: flex;
  gap: .6rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain;
  border: 1px solid var(--line);
  border-radius: 0;
}
.shop-galeria:focus-visible { outline: 2px solid var(--dorado-texto-oscuro); outline-offset: 2px; }
.shop-galeria-foto { margin: 0; flex: 0 0 100%; scroll-snap-align: center; }
.shop-galeria-foto { position: relative; isolation: isolate; background: var(--shop-placa); }
.shop-galeria-foto img { mix-blend-mode: multiply; }
.shop-galeria-multi .shop-galeria-foto { flex-basis: 88%; scroll-snap-align: start; }
.shop-galeria-foto img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: contain;
}
.shop-galeria-pie { color: var(--muted); font-size: var(--tipo-sm); margin: .4rem 0 0; }
.shop-ficha-texto { min-width: 0; }
.shop-ficha-tl { font-size: clamp(1.4rem, 4vw, 2rem); line-height: 1.15; margin: .2rem 0 0; }
.shop-ficha-bajada { color: var(--muted); font-size: var(--tipo-base); line-height: 1.5; margin: .6rem 0 0; }
.shop-ficha-precio { font-size: var(--tipo-lg); margin: 1rem 0 0; }
.shop-ficha-moneda { color: var(--muted); font-size: var(--tipo-sm); letter-spacing: .06em; }
.shop-ficha-ctas { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1.1rem 0 0; }
.shop-ficha-nota { color: var(--muted); font-size: var(--tipo-sm); margin: .5rem 0 0; max-width: 52ch; }
.shop-ficha-parrafo { line-height: 1.65; white-space: pre-line; margin: 0; }
.shop-pres-lista { margin: 0; padding-left: 1.1rem; line-height: 1.7; }
.shop-ficha-socio {
  margin-top: 1.6rem;
  padding-top: 1rem;
  border-top: 1px solid var(--line);
  color: var(--muted);
}
.shop-ficha-volver { margin: 1.6rem 0 0; font-size: var(--tipo-sm); }
.shop-previa { display: flex; flex-wrap: wrap; gap: .5rem; align-items: baseline; }
.shop-cat-bloque { margin-top: 1.2rem; }
.shop-cat-form {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem 1rem;
  align-items: end;
}
.shop-cat-form .campo { margin: 0; flex: 1 1 12rem; min-width: 0; }
.shop-cat-form .campo-orden { flex: 0 0 7rem; }
.shop-cat-form .campo-casilla { flex: 0 0 auto; }
.shop-cat-form .acciones-fila { flex: 0 0 auto; align-items: center; gap: .6rem; }
.shop-cat-lista { list-style: none; margin: 1rem 0 0; padding: 0; }
.shop-cat-lista > li {
  padding: .9rem 0;
  border-top: 1px solid var(--line);
  display: flex;
  flex-wrap: wrap;
  gap: .6rem 1rem;
  align-items: end;
}
.shop-cat-nueva {
  margin-top: 1rem;
  padding-top: .9rem;
  border-top: 1px solid var(--line);
  display: flex;
  flex-wrap: wrap;
  gap: .6rem 1rem;
  align-items: end;
}
.shop-cat-nueva .campo { margin: 0; flex: 1 1 16rem; }
.shop-cat-borrar { margin-top: .9rem; }
.shop-form-fotos {
  list-style: none;
  margin: .8rem 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: .9rem;
}
.shop-form-fotos > li {
  border: 1px solid var(--line);
  border-radius: 0;
  padding: .5rem;
  display: grid;
  gap: .35rem;
}
.shop-form-fotos img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  border-radius: 0;
}
