.elite-mosaic-section { position: relative; overflow: hidden; padding: 96px 0 64px; color: #fff; background: radial-gradient(circle at 82% 14%, rgba(81, 109, 254, .55), transparent 33%), radial-gradient(circle at 10% 86%, rgba(45, 197, 255, .18), transparent 28%), linear-gradient(125deg, #07112c 0%, #101c52 54%, #101237 100%); }
.elite-mosaic-section::before { content: ""; position: absolute; inset: 0; opacity: .35; background-image: linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px); background-size: 44px 44px; mask-image: linear-gradient(90deg, #000, transparent 90%); }
.elite-mosaic-section .container { position: relative; z-index: 1; }
.elite-mosaic-copy { padding-right: 48px; }
.elite-mosaic-kicker { margin: 0 0 14px; color: #8fa4ff; font-weight: 800; font-size: 12px; letter-spacing: .16em; }
.elite-mosaic-copy h2 { margin: 0 0 18px; color: #fff; font-size: clamp(34px, 4vw, 54px); font-weight: 800; line-height: 1.08; }
.elite-mosaic-copy > p { margin: 0 0 25px; color: #d6defe; font-size: 18px; line-height: 1.65; }
.elite-ultra-badge { display: inline-flex; align-items: center; gap: 9px; padding: 10px 16px; border: 1px solid rgba(173, 187, 255, .46); border-radius: 999px; color: #fff; background: rgba(6, 13, 42, .5); box-shadow: 0 8px 24px rgba(0,0,0,.18); font-size: 18px; font-weight: 800; letter-spacing: .03em; }
.elite-ultra-badge b { color: #7c91ff; }.elite-ultra-badge strong { color: #a9b8ff; font-size: 11px; letter-spacing: .1em; }
.elite-mosaic-window { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; height: 440px; overflow: hidden; padding: 13px; border: 1px solid rgba(172, 188, 255, .28); border-radius: 25px; background: rgba(3, 8, 28, .5); box-shadow: 0 28px 62px rgba(0,0,0,.3), inset 0 1px rgba(255,255,255,.1); transform: perspective(900px) rotateY(-4deg) rotateX(2deg); }
.elite-poster-column { min-width: 0; overflow: hidden; }.elite-poster-track { display: flex; flex-direction: column; gap: 13px; will-change: transform; }
.elite-poster-track img { width: 100%; aspect-ratio: 2 / 2.85; object-fit: cover; border-radius: 12px; background: #18224f; box-shadow: 0 9px 20px rgba(0,0,0,.34); }
.elite-poster-column-one .elite-poster-track { animation: eliteMosaicUp 19s linear infinite; }.elite-poster-column-two .elite-poster-track { transform: translateY(-46%); animation: eliteMosaicDown 24s linear infinite; }.elite-poster-column-three .elite-poster-track { animation: eliteMosaicUp 22s linear infinite; }
@keyframes eliteMosaicUp { from { transform: translateY(0); } to { transform: translateY(calc(-50% - 6.5px)); } } @keyframes eliteMosaicDown { from { transform: translateY(calc(-50% - 6.5px)); } to { transform: translateY(0); } }
.elite-mosaic-fade { position: absolute; z-index: 2; right: 0; left: 0; height: 82px; pointer-events: none; }.elite-mosaic-fade-top { top: 0; background: linear-gradient(#0b1641, transparent); }.elite-mosaic-fade-bottom { bottom: 0; background: linear-gradient(transparent, #0b1641); }
.elite-mosaic-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 60px; overflow: hidden; border: 1px solid rgba(179, 192, 255, .22); border-radius: 18px; background: rgba(178, 191, 255, .2); }.elite-mosaic-stats div { padding: 23px 26px; background: rgba(5, 13, 40, .46); }.elite-mosaic-stats strong, .elite-mosaic-stats span { display: block; }.elite-mosaic-stats strong { margin-bottom: 5px; color: #fff; font-size: 26px; }.elite-mosaic-stats span { color: #bdc8f7; font-size: 14px; }
@media (max-width: 991px) { .elite-mosaic-copy { padding: 0 0 38px; text-align: center; }.elite-mosaic-copy > p { max-width: 600px; margin-right: auto; margin-left: auto; }.elite-mosaic-window { max-width: 570px; margin: auto; transform: none; }.elite-mosaic-section { padding-top: 70px; } }
@media (max-width: 575px) { .elite-mosaic-section { padding: 56px 0 42px; }.elite-mosaic-copy h2 { font-size: 33px; }.elite-mosaic-copy > p { font-size: 16px; }.elite-mosaic-window { height: 325px; gap: 8px; padding: 8px; border-radius: 17px; }.elite-poster-track { gap: 8px; }.elite-poster-track img { border-radius: 8px; }.elite-mosaic-fade { height: 55px; }.elite-mosaic-stats { grid-template-columns: 1fr; gap: 1px; margin-top: 36px; }.elite-mosaic-stats div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 18px; }.elite-mosaic-stats strong { margin: 0; font-size: 20px; }.elite-mosaic-stats span { text-align: right; font-size: 12px; } }
@media (prefers-reduced-motion: reduce) { .elite-poster-track { animation: none !important; } }

/* Paleta de Elite IPTV: azul #536dfe, naranja #ff5b2d y azul marino #14233e. */
.elite-mosaic-section {
  color: #14233e;
  background: radial-gradient(circle at 92% 12%, rgba(83, 109, 254, .18), transparent 28%), radial-gradient(circle at 8% 93%, rgba(255, 91, 45, .10), transparent 25%), #f7f9ff;
}
.elite-mosaic-section::before { opacity: .45; background-image: linear-gradient(rgba(83,109,254,.075) 1px, transparent 1px), linear-gradient(90deg, rgba(83,109,254,.075) 1px, transparent 1px); }
.elite-mosaic-kicker { color: #ff5b2d; }
.elite-mosaic-copy h2 { color: #14233e; }
.elite-mosaic-copy > p { color: #52617a; }
.elite-ultra-badge { border-color: rgba(83,109,254,.4); color: #14233e; background: #fff; box-shadow: 0 10px 24px rgba(22,45,90,.1); }
.elite-ultra-badge b, .elite-ultra-badge strong { color: #536dfe; }
.elite-mosaic-window { border-color: rgba(83,109,254,.44); background: linear-gradient(145deg, #162754, #0d1736); box-shadow: 0 25px 55px rgba(23,43,86,.22), inset 0 1px rgba(255,255,255,.12); }
.elite-mosaic-fade-top { background: linear-gradient(#132451, transparent); }.elite-mosaic-fade-bottom { background: linear-gradient(transparent, #0d1736); }
.elite-mosaic-stats { border-color: rgba(83,109,254,.32); background: rgba(83,109,254,.2); box-shadow: 0 14px 30px rgba(22,45,90,.08); }.elite-mosaic-stats div { background: rgba(255,255,255,.9); }.elite-mosaic-stats strong { color: #536dfe; }.elite-mosaic-stats span { color: #52617a; }
body.darkmode .elite-mosaic-section { background: radial-gradient(circle at 92% 12%, rgba(83,109,254,.3), transparent 28%), #101827; }.darkmode .elite-mosaic-copy h2 { color: #fff; }.darkmode .elite-mosaic-copy > p { color: #cad4e8; }.darkmode .elite-ultra-badge { color: #fff; background: rgba(11,20,47,.72); }.darkmode .elite-mosaic-stats div { background: rgba(13,23,54,.9); }.darkmode .elite-mosaic-stats span { color: #c0cbed; }

/* Composición premium oscura inspirada en la referencia, con identidad Elite IPTV. */
.elite-mosaic-section { color: #fff; background: radial-gradient(circle at 80% 15%, rgba(34, 83, 216, .36), transparent 34%), radial-gradient(circle at 8% 18%, rgba(255, 189, 40, .09), transparent 26%), linear-gradient(125deg, #070b18, #08133a 60%, #07102b); }
.elite-mosaic-section::before { opacity: .55; background-image: radial-gradient(rgba(101,130,255,.42) 1px, transparent 1.2px); background-size: 14px 14px; mask-image: linear-gradient(90deg, #000 20%, transparent 93%); }
.elite-mosaic-kicker { color: #ffb529; }.elite-mosaic-copy h2 { color: #fff; font-size: clamp(38px, 4.3vw, 61px); letter-spacing: -.035em; }.elite-mosaic-copy h2 span { color: #536dfe; }.elite-mosaic-copy > p { color: #b9c6e7; font-size: 18px; }.elite-ultra-badge { border-color: rgba(150,169,255,.34); color: #fff; background: rgba(7, 13, 38, .7); }.elite-ultra-badge b, .elite-ultra-badge strong { color: #9eafff; }
.elite-mosaic-window { height: 510px; padding: 18px; border-radius: 30px; border-color: rgba(122,145,255,.25); background: linear-gradient(145deg, rgba(20,35,87,.9), rgba(4,9,28,.96)); box-shadow: 0 32px 70px rgba(0,0,0,.42), inset 0 1px rgba(255,255,255,.11); }.elite-poster-track { gap: 16px; }.elite-poster-track img { border-radius: 15px; }.elite-mosaic-fade { height: 95px; }.elite-mosaic-fade-top { background: linear-gradient(#101c4b, transparent); }.elite-mosaic-fade-bottom { background: linear-gradient(transparent, #070c25); }
.elite-live-badge { position: absolute; z-index: 3; bottom: 28px; left: 22px; display: inline-flex; align-items: center; gap: 9px; padding: 12px 15px; border: 1px solid rgba(147,165,255,.27); border-radius: 14px; color: #fff; background: rgba(5,10,30,.82); box-shadow: 0 10px 25px rgba(0,0,0,.24); font-size: 11px; font-weight: 800; letter-spacing: .1em; }.elite-live-badge i { width: 10px; height: 10px; border-radius: 50%; background: #536dfe; box-shadow: 0 0 0 5px rgba(83,109,254,.18); }
.elite-mosaic-stats { border-color: rgba(138,158,255,.2); background: rgba(138,158,255,.16); box-shadow: none; }.elite-mosaic-stats div { background: rgba(9,17,51,.7); }.elite-mosaic-stats strong { color: #fff; }.elite-mosaic-stats span { color: #aebde2; }
@media (max-width: 991px) { .elite-mosaic-window { height: 455px; }.elite-mosaic-copy h2 { font-size: clamp(38px, 8vw, 55px); } }
@media (max-width: 575px) { .elite-mosaic-window { height: 342px; padding: 9px; border-radius: 18px; }.elite-mosaic-fade { height: 58px; }.elite-live-badge { bottom: 16px; left: 15px; padding: 9px 10px; font-size: 9px; }.elite-mosaic-copy h2 { font-size: 36px; } }

/* Mismo fondo y colores del sitio Elite IPTV. */
.elite-mosaic-section { color: var(--black-color-1); background: var(--white-color); }
.elite-mosaic-section::before { display: none; }
.elite-mosaic-kicker { color: #ff5723; }
.elite-mosaic-copy h2 { color: #101f38; }
.elite-mosaic-copy h2 span { color: #546dff; }
.elite-mosaic-copy > p { color: #3e4d68; }
.elite-ultra-badge { border-color: #dbe2ff; color: #101f38; background: #f6f7ff; box-shadow: none; }.elite-ultra-badge b, .elite-ultra-badge strong { color: #546dff; }
.elite-mosaic-window { border-color: #dbe2ff; background: linear-gradient(145deg, #172b67, #0b1740); box-shadow: 0 20px 42px rgba(24, 46, 97, .18); }.elite-mosaic-fade-top { background: linear-gradient(#172b67, transparent); }.elite-mosaic-fade-bottom { background: linear-gradient(transparent, #0b1740); }
.elite-live-badge { border-color: rgba(255,255,255,.22); background: rgba(8, 19, 53, .86); }.elite-live-badge i { background: #546dff; }
.elite-mosaic-stats { border-color: #e3e7f3; background: #e3e7f3; box-shadow: none; }.elite-mosaic-stats div { background: var(--white-color); }.elite-mosaic-stats strong { color: #546dff; }.elite-mosaic-stats span { color: #3e4d68; }
body.darkmode .elite-mosaic-section { background: var(--black-bg-1); }.darkmode .elite-mosaic-copy h2 { color: var(--white-color); }.darkmode .elite-mosaic-copy > p { color: #cbd3e0; }.darkmode .elite-ultra-badge { border-color: #394b7c; color: var(--white-color); background: var(--black-bg-2); }.darkmode .elite-mosaic-stats { border-color: var(--black-bg-3); background: var(--black-bg-3); }.darkmode .elite-mosaic-stats div { background: var(--black-bg-2); }.darkmode .elite-mosaic-stats span { color: #cbd3e0; }

/* Acabado visual premium: composición contenida, tarjetas y sombras suaves. */
.elite-mosaic-section { padding: 110px 0 82px; }
.elite-mosaic-copy { position: relative; padding-right: 62px; }
.elite-mosaic-copy::before { content: ""; position: absolute; top: 4px; left: -22px; width: 4px; height: 72px; border-radius: 4px; background: linear-gradient(180deg, #ff5723, #ff9a7b); }
.elite-mosaic-kicker { margin-bottom: 18px; font-size: 11px; font-weight: 800; letter-spacing: .2em; }
.elite-mosaic-copy h2 { max-width: 540px; margin-bottom: 21px; font-size: clamp(39px, 4vw, 58px); line-height: 1.13; letter-spacing: -.042em; }
.elite-mosaic-copy > p { max-width: 515px; font-size: 18px; line-height: 1.72; }
.elite-ultra-badge { margin-top: 4px; padding: 11px 17px; font-size: 16px; }
.elite-mosaic-window { border-radius: 24px; padding: 14px; box-shadow: 0 28px 55px rgba(23, 42, 89, .17), 0 2px 7px rgba(23,42,89,.08); }
.elite-poster-track img { border-radius: 11px; transition: transform .35s ease, filter .35s ease; }.elite-poster-track img:hover { transform: scale(1.035); filter: brightness(1.08); }
.elite-live-badge { border-radius: 10px; padding: 10px 12px; font-size: 10px; letter-spacing: .08em; }
.elite-mosaic-stats { gap: 18px; margin-top: 72px; overflow: visible; border: 0; border-radius: 0; background: transparent; }
.elite-mosaic-stats div { position: relative; min-height: 132px; padding: 28px 28px 25px; border: 1px solid #e4e9f5; border-radius: 16px; background: #fff; box-shadow: 0 12px 30px rgba(29,53,104,.07); transition: transform .25s ease, box-shadow .25s ease; }.elite-mosaic-stats div:hover { transform: translateY(-4px); box-shadow: 0 17px 34px rgba(29,53,104,.12); }.elite-mosaic-stats div::before { content: ""; display: block; width: 31px; height: 3px; margin-bottom: 17px; border-radius: 3px; background: #ff5723; }.elite-mosaic-stats strong { margin-bottom: 7px; font-size: 25px; font-weight: 700; }.elite-mosaic-stats span { font-size: 14px; }
body.darkmode .elite-mosaic-stats { background: transparent; border: 0; }.darkmode .elite-mosaic-stats div { border-color: var(--black-bg-3); background: var(--black-bg-2); box-shadow: none; }
@media (max-width: 991px) { .elite-mosaic-section { padding: 84px 0 66px; }.elite-mosaic-copy { padding-right: 0; }.elite-mosaic-copy::before { display: none; }.elite-mosaic-stats { margin-top: 52px; gap: 12px; }.elite-mosaic-stats div { padding: 21px; } }
@media (max-width: 575px) { .elite-mosaic-section { padding: 62px 0 48px; }.elite-mosaic-copy h2 { font-size: 37px; }.elite-mosaic-stats { grid-template-columns: 1fr; gap: 10px; }.elite-mosaic-stats div { min-height: 0; display: block; }.elite-mosaic-stats div::before { margin-bottom: 11px; }.elite-mosaic-stats strong { font-size: 22px; } }

/* Fondo exterior blanco puro, como el resto de la página Elite IPTV. */
body.lightmode .elite-mosaic-section,
.elite-mosaic-section {
  background: #ffffff !important;
}
.elite-mosaic-section::before {
  display: none !important;
}

/* Fondo blanco también dentro del mosaico. */
body.lightmode .elite-mosaic-window,
.elite-mosaic-window {
  border: 1px solid #e4e9f5 !important;
  background: #ffffff !important;
  box-shadow: 0 22px 46px rgba(29, 53, 104, .13) !important;
}
.elite-mosaic-fade-top {
  background: linear-gradient(#ffffff, transparent) !important;
}
.elite-mosaic-fade-bottom {
  background: linear-gradient(transparent, #ffffff) !important;
}
.elite-live-badge {
  border-color: rgba(84, 109, 255, .22) !important;
  background: rgba(16, 31, 56, .93) !important;
}
body.darkmode .elite-mosaic-window { border-color: var(--black-bg-3) !important; background: var(--black-bg-2) !important; }
body.darkmode .elite-mosaic-fade-top { background: linear-gradient(var(--black-bg-2), transparent) !important; }
body.darkmode .elite-mosaic-fade-bottom { background: linear-gradient(transparent, var(--black-bg-2)) !important; }

/* Acento corporativo: coincide con los encabezados naranja de Elite IPTV. */
.elite-mosaic-section .elite-mosaic-kicker { color: #ff5723 !important; }
.elite-mosaic-stats strong { color: #ff5723 !important; }

/* El modo noche anula el fondo blanco de la versión clara. */
body.darkmode .elite-mosaic-section { background: linear-gradient(135deg, #070d1d, #101f38) !important; }
body.darkmode .elite-mosaic-copy h2 { color: #fff !important; }
body.darkmode .elite-mosaic-copy > p { color: #cbd5e7 !important; }
body.darkmode .elite-mosaic-section .elite-mosaic-kicker { color: #ff8a68 !important; }
body.darkmode .elite-mosaic-stats div { border-color: #26385c; background: #101c32; }
body.darkmode .elite-mosaic-stats span { color: #b9c7df; }

/* Cuatro ventajas de producto, con la misma presencia que las cifras del sitio. */
.elite-mosaic-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.elite-mosaic-stats div { opacity: 0; transform: translateY(18px); transition: opacity .5s ease, transform .5s ease, box-shadow .25s ease; }
.elite-mosaic-stats.is-visible div { opacity: 1; transform: translateY(0); }
.elite-mosaic-stats.is-visible div:nth-child(2) { transition-delay: .08s; }.elite-mosaic-stats.is-visible div:nth-child(3) { transition-delay: .16s; }.elite-mosaic-stats.is-visible div:nth-child(4) { transition-delay: .24s; }
@media (max-width: 991px) { .elite-mosaic-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575px) { .elite-mosaic-stats { grid-template-columns: 1fr; } }
