/* ═══ Tira de auspiciantes: dos cintas inclinadas que se cruzan, con los logos moviéndose en sentidos opuestos ═══ */
.ausp {
  position: relative; overflow: hidden; isolation: isolate;
  padding: 0;
  background:
    radial-gradient(55% 80% at 50% 50%, rgba(245,196,81,.13), transparent 72%),
    radial-gradient(35% 70% at 12% 50%, rgba(77,163,255,.08), transparent 72%),
    radial-gradient(35% 70% at 88% 50%, rgba(204,0,0,.07), transparent 72%),
    var(--navy-deep, #050b1c);
}
.ausp__stage { position: relative; height: clamp(215px, 18.5vw, 285px); }

.ausp__band {
  position: absolute; left: -10%; width: 120%; top: 50%;
  height: clamp(62px, 5.7vw, 84px);
  display: flex; align-items: center; overflow: hidden;
  /* fondo casi opaco + desenfoque: los logos resaltan y no se mezclan con lo de atrás */
  background:
    linear-gradient(90deg, transparent, rgba(245,196,81,.95) 50%, transparent) top / 100% 1px no-repeat,
    linear-gradient(90deg, transparent, rgba(245,196,81,.95) 50%, transparent) bottom / 100% 1px no-repeat,
    linear-gradient(180deg, rgba(10,18,40,.97), rgba(3,7,18,.98));
  -webkit-backdrop-filter: blur(14px) saturate(1.2); backdrop-filter: blur(14px) saturate(1.2);
  box-shadow: 0 0 0 1px rgba(255,255,255,.07), 0 16px 44px -10px rgba(0,0,0,.9), 0 0 54px -8px rgba(245,196,81,.28);
  /* los extremos se desvanecen */
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
          mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
}
/* reflejo de luz que cruza la cinta de adelante */
.ausp__band::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(100deg, transparent 38%, rgba(255,255,255,.10) 50%, transparent 62%);
  transform: translateX(-100%); animation: ausp-brillo 7s ease-in-out infinite;
}
@keyframes ausp-brillo { 0%, 55% { transform: translateX(-100%); } 100% { transform: translateX(100%); } }

/* cinta de adelante (nítida) y cinta de atrás (más oscura y con los logos desenfocados: da profundidad) */
/* las dos cintas comparten el mismo centro: se cruzan justo en la mitad, formando una X */
.ausp__band--a { top: 50%; transform: translateY(-50%) rotate(-6deg); z-index: 2; }
.ausp__band--b {
  top: 50%; transform: translateY(-50%) rotate(6deg); z-index: 1;
  filter: saturate(.9);
}
.ausp__band--b::after { animation-delay: 3.5s; }

.ausp__track {
  display: flex; align-items: center; flex: none; width: max-content;
  gap: clamp(24px, 3.2vw, 60px); padding-right: clamp(24px, 3.2vw, 60px);
  animation: ausp-izq 40s linear infinite;
  will-change: transform;
}
.ausp__track--rev { animation-name: ausp-der; animation-duration: 46s; }
/* segundo juego de logos: es lo que permite que el bucle no se note */
.ausp__dup { display: flex; align-items: center; gap: inherit; }

.ausp__logo {
  height: clamp(24px, 2.96vw, 43px); width: auto; max-width: none; flex: none;
  filter: brightness(0) invert(1) drop-shadow(0 0 10px rgba(255,255,255,.22));
  opacity: 1;
  user-select: none; -webkit-user-drag: none;
}
.ausp__logo--color { filter: drop-shadow(0 0 10px rgba(255,255,255,.14)); }
/* los logos de la cinta de atrás se ven desenfocados y apagados */
.ausp__band--b .ausp__logo { opacity: .5; filter: brightness(0) invert(1) blur(1.3px); }
.ausp__band--b .ausp__logo--color { filter: blur(1.3px) saturate(.8); }

.ausp__logo--ministerio { height: clamp(22px, 2.64vw, 37px); }
.ausp__logo--kao, .ausp__logo--ingco { height: clamp(19px, 2.36vw, 34px); }
.ausp__logo--proassis { height: clamp(24px, 2.8vw, 40px); }
.ausp__logo--gla { height: clamp(25px, 3.04vw, 43px); }
.ausp__logo--orangine { height: clamp(32px, 3.76vw, 53px); }
.ausp__logo--venus { height: clamp(29px, 3.44vw, 48px); }
.ausp__logo--ligapro { height: clamp(32px, 3.76vw, 53px); }
.ausp__logo--tc { height: clamp(24px, 2.8vw, 40px); }
.ausp__logo--kruger { height: clamp(22px, 2.64vw, 38px); }
.ausp__logo--istfq { height: clamp(32px, 3.76vw, 53px); }

/* cada juego mide exactamente la mitad: al recorrer -50% vuelve al mismo punto */
@keyframes ausp-izq { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes ausp-der { from { transform: translateX(-50%); } to { transform: translateX(0); } }

@media (max-width: 620px) {
  .ausp__stage { height: 196px; }
  .ausp__band { height: 54px; left: -25%; width: 150%; }
  .ausp__band--a { top: 50%; transform: translateY(-50%) rotate(-8deg); }
  .ausp__band--b { top: 50%; transform: translateY(-50%) rotate(8deg); }
  .ausp__track { gap: 22px; padding-right: 22px; animation-duration: 30s; }
  .ausp__track--rev { animation-duration: 36s; }
  .ausp__logo { height: 21px; }
  .ausp__logo--ministerio { height: 19px; }
  .ausp__logo--kao, .ausp__logo--ingco { height: 17px; }
  .ausp__logo--proassis { height: 22px; }
  .ausp__logo--orangine, .ausp__logo--ligapro, .ausp__logo--istfq { height: 28px; }
  .ausp__logo--venus { height: 25px; }
  .ausp__logo--gla { height: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .ausp__track, .ausp__band::after { animation: none; }
}

/* ═══ Divisor entre jurados y presentadores: cinta con las tres franjas de Ecuador y el lema corriendo ═══ */
.cast-divider {
  position: relative; overflow: hidden; z-index: 3;
  background: var(--navy-deep, #050b1c);
  padding: 20px 0;
}
.cast-divider::before, .cast-divider::after {
  content: ''; position: absolute; left: 0; right: 0; height: 4px;
  background: linear-gradient(90deg, #FFD100 0 33.34%, #0030A0 33.34% 66.67%, #CC0000 66.67% 100%);
}
.cast-divider::before { top: 0; }
.cast-divider::after { bottom: 0; }
.cast-divider__track {
  display: flex; align-items: center; width: max-content; white-space: nowrap;
  animation: ausp-izq 40s linear infinite;
}
.cast-divider__set { display: flex; align-items: center; flex: none; }
.cast-divider__set span {
  font-family: 'Anton', Impact, sans-serif; font-size: clamp(1.1rem, 2.2vw, 1.7rem);
  letter-spacing: .14em; color: var(--gold, #F5C451); text-transform: uppercase;
}
.cast-divider__set i {
  display: inline-block; width: 12px; height: 12px; margin: 0 clamp(22px, 3.4vw, 46px); flex: none;
  border-radius: 50%; border: 2px solid var(--gold, #F5C451);
  background: radial-gradient(circle, var(--gold, #F5C451) 0 28%, transparent 30%);
}
@media (prefers-reduced-motion: reduce) { .cast-divider__track { animation: none; } }

/* ═══ Total de seguidores (debajo de los presentadores) ═══ */
.cast-totales {
  --gold: #F5C451; --gold-bright: #FFD97A; --gold-dark: #C99A30;
  --white-dim: rgba(255,255,255,.74);
  --font-head: var(--font-impact, 'Sora', sans-serif);
  position: relative; padding: clamp(48px, 7vw, 88px) 0 clamp(52px, 7vw, 92px);
  background: radial-gradient(70% 90% at 50% 0%, rgba(245,196,81,.07), transparent 70%), var(--navy-deep, #050b1c);
}
.cast-totales .cast__totals { display: grid; gap: 14px; max-width: 760px; margin-inline: auto; }
.cast-totales .reach-big {
  text-align: center; padding: 30px 26px; border-radius: var(--radius-lg, 16px);
  background: linear-gradient(170deg, rgba(255,255,255,.055), rgba(255,255,255,.015));
  border: 1px solid rgba(245,196,81,.5);
  box-shadow: 0 24px 70px -18px rgba(245,196,81,.3), inset 0 1px 0 rgba(255,255,255,.1);
}
.cast-totales .reach-big__num {
  display: block; font-family: var(--font-head); font-weight: 800; font-size: clamp(2.2rem, 5vw, 3.4rem); line-height: 1.1;
  background: linear-gradient(100deg, var(--gold-dark) 0%, var(--gold) 35%, var(--gold-bright) 55%, var(--gold) 75%, var(--gold-dark) 100%);
  background-size: 200% auto; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  animation: cast-shimmer 6s linear infinite; font-variant-numeric: tabular-nums;
}
.cast-totales .reach-big__label { display: block; margin-top: 6px; font-size: .86rem; color: var(--white-dim); }
.cast-totales .cast__tc {
  display: flex; align-items: center; justify-content: center; gap: 16px;
  padding: 16px 22px; border-radius: var(--radius-lg, 16px);
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1);
}
.cast-totales .cast__tc img { height: 34px; width: auto; }
.cast-totales .cast__tc span { font-size: .9rem; color: var(--white-dim); }
.cast-totales .cast__tc b { color: #fff; }
.cast-totales .values-strip {
  margin-top: clamp(28px, 4vw, 40px); display: flex; flex-wrap: wrap; justify-content: center;
  gap: 14px 36px; padding: 22px 26px; border-radius: var(--radius-lg, 16px);
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.09);
  max-width: 760px; margin-inline: auto;
}
.cast-totales .values-strip span { font-size: .92rem; color: var(--white-dim); display: inline-flex; align-items: center; gap: 9px; }
.cast-totales .values-strip b { color: var(--gold); }
.cast-totales .values-strip svg { width: 1.2em; height: 1.2em; flex: none; fill: none; stroke: var(--gold); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
@keyframes cast-shimmer { to { background-position: -200% center; } }
@media (max-width: 620px) {
  .cast-totales .cast__tc { flex-direction: column; gap: 8px; text-align: center; }
  .cast-totales .values-strip { gap: 10px 20px; padding: 16px 18px; }
  .cast-totales .values-strip span { font-size: .8rem; }
}
@media (prefers-reduced-motion: reduce) { .cast-totales .reach-big__num { animation: none; } }

/* ═══ Botón de inscripciones cerradas: se ve igual que antes, pero ya no es un enlace ═══ */
.btn-anillos--cerrado { cursor: default; pointer-events: none; user-select: none; }
/* «Inscripciones» en blanco, con la misma letra que «cerradas» (que conserva el dorado con brillo) */
.registro-beneficio .reg-blanco { font-family: 'Anton', var(--font-cond); font-weight: 400; letter-spacing: 0.02em; color: #fff; }
