/* Cromos holográficos estilo "edición ilimitada" + componentes de datos reales */
.cromo{--mx:50%;--my:50%;--rx:0deg;--ry:0deg;font-size:7.4px;position:relative;flex:0 0 auto;width:22em;height:33em;border-radius:1.5em;padding:0;border:0;background:none;color:#1b1b1b;text-align:left;cursor:pointer;perspective:60em;font-family:var(--font-body,system-ui,sans-serif);-webkit-tap-highlight-color:transparent;display:block}
.cromo.big{font-size:min(14.6px,3.9vw);cursor:default;margin:6px auto 0}
.cr-card{position:absolute;inset:0;border-radius:1.5em;transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .15s ease-out;transform-style:preserve-3d;overflow:hidden;box-shadow:0 .6em 1.8em rgba(0,0,0,.55),0 0 0 .12em #6e5410;background:linear-gradient(145deg,#f7dc6a,#e6b72c 45%,#f5d452 70%,#c9962a)}
.cromo:not(.touching) .cr-card{animation:crFloat 6s ease-in-out infinite}
@keyframes crFloat{0%,100%{transform:rotateX(2deg) rotateY(-3deg)}50%{transform:rotateX(-2deg) rotateY(3deg)}}
.cr-inner{position:absolute;inset:.9em;border-radius:.7em;background:linear-gradient(180deg,#fbf0c0,#f1dc8d);display:flex;flex-direction:column;padding:.55em .65em .5em;gap:.4em;box-shadow:inset 0 0 0 .1em #8b6a14}
.cr-head{display:flex;align-items:center;gap:.5em}
.cr-stage{font:800 .95em/1 var(--font-body,system-ui);background:#2a2a2a;color:#f7dc6a;border-radius:.3em;padding:.3em .5em;letter-spacing:.04em}
.cr-name{flex:1;min-width:0;font:900 1.25em/1.02 var(--font-display,Impact,system-ui);text-transform:uppercase;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;letter-spacing:.01em}
.cr-hp{font:900 1.15em/1 var(--font-display,system-ui);color:#b3201a;white-space:nowrap}.cr-hp small{font-size:.62em;font-weight:900;margin-right:.2em;color:#7a1410}
.cr-art{position:relative;height:15.4em;border-radius:.45em;overflow:hidden;background:#cfd8e3;box-shadow:0 0 0 .22em #d6a82c,0 0 0 .32em #7a5b10}
.cr-art img{width:100%;height:100%;object-fit:cover;object-position:50% 24%;display:block}
.cr-art .cr-ph{width:100%;height:100%;display:grid;place-items:center;font:900 4em var(--font-display,system-ui);color:#476d8f;background:linear-gradient(160deg,#cfd8e3,#9db3c8)}
.cr-dorsal{position:absolute;right:.35em;bottom:.2em;font:900 2.6em/1 var(--font-display,Impact,system-ui);color:#fff;text-shadow:0 .05em .2em rgba(0,0,0,.8),0 0 .1em #061831}
.cr-type{font:italic 700 .85em/1.2 var(--font-body,system-ui);text-align:center;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);border-radius:.3em;padding:.2em 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cr-moves{display:flex;flex-direction:column;gap:.15em}
.cr-move{display:flex;align-items:center;gap:.55em;border-top:.06em solid rgba(110,84,16,.45);padding-top:.25em}
.cr-move:first-child{border-top:0}
.cr-pip{width:1.4em;height:1.4em;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffc46b,#e9871a);box-shadow:0 0 0 .1em #5a3a05;flex:0 0 auto}
.cr-mname{flex:1;font:800 1.02em/1.1 var(--font-body,system-ui)}.cr-mval{font:900 1.45em/1 var(--font-display,system-ui)}
.cr-text{font:italic 600 .84em/1.3 var(--font-body,system-ui);color:#3a3322;margin-top:.1em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cromo.big .cr-text{-webkit-line-clamp:5}
.cr-foot{margin-top:auto;display:flex;justify-content:space-between;font:700 .72em/1 var(--font-body,system-ui);color:#4a3d12}
.cr-glare,.cr-foil{position:absolute;inset:0;border-radius:1.5em;pointer-events:none}
.cr-glare{background:radial-gradient(circle at var(--mx) var(--my),rgba(255,255,255,.85),rgba(255,255,255,.1) 28%,transparent 55%);mix-blend-mode:soft-light;opacity:.9}
.cr-foil{background:repeating-linear-gradient(115deg,rgba(255,60,160,.55) 0%,rgba(255,220,60,.55) 12%,rgba(60,255,200,.55) 24%,rgba(70,130,255,.55) 36%,rgba(255,60,160,.55) 48%);background-size:260% 260%;background-position:var(--mx) var(--my);mix-blend-mode:color-dodge;opacity:.55;animation:crFoil 7s linear infinite}
@keyframes crFoil{to{background-position:calc(var(--mx) + 100%) calc(var(--my) + 100%)}}
.cromo.holo .cr-foil{opacity:.9}
.cromo.holo .cr-art::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.65) 48%,transparent 62%);background-size:250% 100%;animation:crSweep 3.2s ease-in-out infinite;mix-blend-mode:overlay}
@keyframes crSweep{0%{background-position:150% 0}100%{background-position:-60% 0}}
.cromo .cr-star{position:absolute;top:-.1em;right:1.1em;font:900 .8em/1 var(--font-body,system-ui);background:#b3201a;color:#fff;border-radius:0 0 .4em .4em;padding:.35em .5em;z-index:3;letter-spacing:.05em}
@media (prefers-reduced-motion:reduce){.cromo .cr-card,.cr-foil,.cromo.holo .cr-art::after{animation:none!important}}
.cromo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 8px;padding:6px 0 20px;justify-items:center}
.cromo-grid .cromo{font-size:min(7.5px,1.95vw)}
.lineup-scroll .cromo{margin-right:10px;font-size:7.2px}

/* partidos */
.ulb-sync{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:10px;color:#8fb1ca;margin:10px 0}
.ulb-sync b{color:#9ce4ff}.ulb-sync button{margin-left:auto;background:#112f52;border:1px solid #2c5c86;color:#9ce4ff;border-radius:10px;padding:6px 10px;font:800 10px var(--font-body,system-ui)}
.dot-live{display:inline-block;width:8px;height:8px;border-radius:50%;background:#ff3b3b;margin-right:5px;animation:pulse 1.2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,59,59,.7)}100%{box-shadow:0 0 0 9px rgba(255,59,59,0)}}
.pill.live{background:#ff3b3b;color:#fff}.pill.final{background:#1b4d3e;color:#9bf0cf}
.fx-logo{width:54px;height:54px;object-fit:contain;display:block;margin:0 auto 6px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}
.fx-logo.sm{width:38px;height:38px;margin:0}
.fixture .club{text-align:center}.fixture .club span{display:block;font-size:11px;line-height:1.2}
.fixture-mid b.win{color:#9bf0cf}.fx-ulb{outline:1px solid #85d5ee}
.fixture-meta{font-size:10px;color:#8fb1ca;text-align:center;margin-top:4px}
.stand{width:100%;border-collapse:collapse;font-size:11px}.stand th{color:#7fa3c0;font-weight:700;text-align:right;padding:6px 4px}.stand td{padding:7px 4px;text-align:right;border-top:1px solid #1d456c}
.stand th:nth-child(2),.stand td:nth-child(2){text-align:left}.stand tr.me td{background:rgba(77,168,214,.18);font-weight:800}
.stand .tm{display:flex;align-items:center;gap:7px}.stand .tm span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}
.q-table{width:100%;border-collapse:collapse;font-size:12px;text-align:center;margin:6px 0 10px}.q-table td,.q-table th{padding:6px 4px;border-bottom:1px solid #1d456c}.q-table td:first-child,.q-table th:first-child{text-align:left}
.game-head{display:flex;align-items:center;justify-content:space-around;text-align:center;gap:6px;margin:6px 0 4px}.game-head strong{display:block;font-size:11px;margin-top:4px}
.game-head .big-score{font:900 40px/1 var(--font-display,system-ui)}
.mini-cromos{display:flex;gap:10px;overflow:auto;padding:6px 2px 16px;scrollbar-width:none}
.next-card .match-team img{width:56px;height:56px;object-fit:contain}
.home-stand{margin-top:8px}

/* logo oficial + firma */
.app-header .logo{border:0!important;box-shadow:none!important;background:none!important;padding:0}
.app-header .logo img{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 2px 5px rgba(0,0,0,.5));pointer-events:none}
.nyx-sign{margin:30px 16px 8px;padding:16px 10px 6px;border-top:1px solid #1d456c;text-align:center;font-size:10px;line-height:1.5;color:#7fa3c0;letter-spacing:.04em}
.nyx-sign b{display:block;font:900 14px var(--font-display,system-ui);letter-spacing:.28em;color:#9ce4ff;margin-bottom:2px}
/* el área desplazable ocupaba toda la altura y dejaba el final oculto tras la barra inferior */
.phone{display:flex!important;flex-direction:column}
.screen{flex:1 1 auto;min-height:0;height:auto!important}

/* chips, ficha del jugador partido a partido */
.chips{display:flex;gap:8px;overflow-x:auto;padding:2px 0 8px;scrollbar-width:none}.chips button{flex:0 0 auto;border:1px solid #2c5c86;background:#0f2c4e;color:#bfe3f7;border-radius:999px;padding:9px 14px;font:800 12px var(--font-body,system-ui)}.chips button.active{background:#7fd0f2;color:#062038;border-color:#7fd0f2}
.pq{margin:18px 4px 0;padding:18px 18px 18px 22px;border-left:4px solid #e9a039;background:linear-gradient(90deg,rgba(233,160,57,.14),transparent);font:900 22px/1.2 var(--font-display,system-ui);color:#fff;position:relative}
.pq span{font-size:46px;color:#e9a039;line-height:0;vertical-align:-14px;margin-right:4px}
.story p{font-size:14px;line-height:1.75;color:#d4e6f4;margin:0 0 12px}.story p:first-of-type::first-letter{font:900 44px/.8 var(--font-display,system-ui);float:left;margin:4px 8px 0 0;color:#e9a039}
.pg-card{border:1px solid #274c6e;background:#0f2a4a;border-radius:16px;padding:12px;margin:10px 0}
.pg-top{display:flex;align-items:center;gap:10px}.pg-j{font:900 18px var(--font-display,system-ui);background:#17436d;border-radius:10px;padding:8px 9px;color:#9ce4ff}
.pg-vs{flex:1;display:flex;align-items:center;gap:8px;min-width:0}.pg-vs b{display:block;font-size:13px}.pg-vs small{color:#8fb1ca;font-size:10px}
.pg-res{font:900 13px var(--font-display,system-ui);padding:6px 9px;border-radius:9px;white-space:nowrap}.pg-res.w{background:#1b4d3e;color:#9bf0cf}.pg-res.l{background:#5a2330;color:#ffb3c0}
.pg-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}
.pg-chip{background:#0a2140;border-radius:10px;text-align:center;padding:7px 2px}.pg-chip b{display:block;font:900 16px/1 var(--font-display,system-ui);color:#fff}.pg-chip small{font-size:9px;color:#7fa3c0;letter-spacing:.06em}
.pg-chip:first-child{background:#17436d}.pg-chip:first-child b{color:#9ce4ff;font-size:20px}
.pg-act{margin-top:10px;background:none;border:0;color:#9ce4ff;font:800 11px var(--font-body,system-ui);padding:2px 0}
.trend{display:flex;align-items:flex-end;gap:10px;overflow-x:auto;padding:8px 2px 14px}.trend-column{flex:1 0 54px;text-align:center}.trend-column b{display:block;font-size:12px;margin-bottom:4px}.trend-column .bar{background:linear-gradient(180deg,#9ce4ff,#2d78ad);border-radius:6px 6px 2px 2px}.trend-column small{display:block;margin-top:5px;font-size:9px;color:#8fb1ca}

/* banners de patrocinador */
.ulb-banner{margin:16px 0}.bn{display:block;position:relative;overflow:hidden;border-radius:16px;min-height:86px;background:linear-gradient(120deg,#17436d,#0a2342);border:1px solid #2c5c86;color:#fff;text-decoration:none}
.bn-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.bn-copy{position:relative;padding:16px 18px 20px;display:flex;flex-direction:column;gap:3px;text-shadow:0 1px 6px rgba(0,0,0,.7)}.bn-copy small{font:800 9px var(--font-body,system-ui);letter-spacing:.18em;color:#ffd48a}.bn-copy strong{font:900 24px/1.05 var(--font-display,system-ui)}.bn-copy span{font-size:11px;color:#cfe6f5}
.bn-bar{position:absolute;left:0;bottom:0;height:3px;background:#e9a039;width:100%;transform-origin:left;animation:bnbar linear forwards}@keyframes bnbar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.bn-dots{position:absolute;right:12px;top:12px;display:flex;gap:4px}.bn-dots b{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.35)}.bn-dots b.on{background:#fff}
.fixture .ulb-banner{margin:0 12px 10px}

/* escaparate */
.shop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.shop-item{display:flex;flex-direction:column;gap:4px;text-align:left;border:1px solid #274c6e;background:#0f2a4a;border-radius:16px;padding:9px;color:#fff}
.si-img{position:relative;aspect-ratio:1;border-radius:11px;overflow:hidden;background:#0a2140;display:grid;place-items:center}.si-img img{width:100%;height:100%;object-fit:cover}.si-img svg{width:55%}
.si-out{position:absolute;top:8px;left:8px;background:#5a2330;color:#ffb3c0;font:800 9px var(--font-body,system-ui);padding:4px 7px;border-radius:7px}
.shop-item strong{font-size:13px;line-height:1.2}.shop-item small{color:#8fb1ca;font-size:10px}.si-price{color:#e9a039;font:900 16px var(--font-display,system-ui)}.si-price.big{font-size:26px;margin:6px 0}
.shop-item.sm{flex:0 0 130px}.shop-note{font-size:10px;color:#7fa3c0;line-height:1.6;margin:18px 2px}
.values{display:flex;flex-wrap:wrap;gap:8px}.values span{background:#17436d;color:#dff3ff;border-radius:999px;padding:8px 13px;font:800 12px var(--font-body,system-ui)}
.about-link{display:block;padding:12px 14px;margin:6px 0;border:1px solid #2c5c86;border-radius:12px;color:#9ce4ff;text-decoration:none;font-weight:800;font-size:13px}
.page-intro.has-cover{background-size:cover;background-position:center;border-radius:0 0 22px 22px;padding-top:56px}
.trend{align-items:flex-end;min-height:120px}.trend-column{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;flex:1 0 56px}.trend-column .bar{width:60%;min-width:26px;flex:none}

.pillars{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}
.pillars div{background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:14px 12px;text-align:center}
.pillars b{display:block;font-size:22px;line-height:1.05;color:var(--accent,#ffb400);letter-spacing:.5px}
.pillars small{display:block;margin-top:6px;font-size:10px;letter-spacing:1.2px;opacity:.75}

/* Imágenes de noticias: se ven enteras (cartel vertical u horizontal), sin recortar */
.news-hero-art{height:auto!important;max-height:78vh;object-fit:contain!important;background:#0b2545!important}
.news-image img{object-fit:contain!important;background:#0b2545}

/* galería */
.gal{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px}
.gal-i{padding:0;border:0;border-radius:14px;overflow:hidden;background:#0b2545;aspect-ratio:1/1;cursor:pointer;position:relative;box-shadow:0 8px 22px rgba(0,0,0,.35)}
.gal-i.big{grid-column:1/-1;aspect-ratio:4/3}
.gal-i img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.gal-i:active img{transform:scale(1.06)}
.gal-count{font-size:11px;color:#83aaca;margin:8px 0 0;text-align:center}
.lb{position:fixed;inset:0;z-index:999;background:rgba(2,10,24,.97);display:none;align-items:center;justify-content:center}
.lb.on{display:flex}.lb img{max-width:100%;max-height:100%;object-fit:contain}
.lb-x{position:absolute;top:calc(env(safe-area-inset-top,0px) + 14px);right:14px;width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;font-size:30px;line-height:1;z-index:2}
.lb-n{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:64px;border:0;background:rgba(255,255,255,.1);color:#fff;font-size:38px;z-index:2}
.lb-n.prev{left:0;border-radius:0 14px 14px 0}.lb-n.next{right:0;border-radius:14px 0 0 14px}
.lb-c{position:absolute;bottom:calc(env(safe-area-inset-bottom,0px) + 16px);left:0;right:0;text-align:center;color:#cfe6f5;font-size:13px;letter-spacing:2px}
/* estadísticas de temporada */
.ss-bigrow{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}
.ss-big{background:linear-gradient(160deg,#16508a,#0a2a52);border-radius:14px;text-align:center;padding:14px 4px}
.ss-big b{display:block;font:900 34px/1 var(--font-display,system-ui);color:#fff}
.ss-big small{display:block;font-size:10px;letter-spacing:1.2px;color:#9fd3ee;margin-top:4px}
.ss-big em{display:block;font-style:normal;font-size:11px;color:#ffb400;margin-top:4px}
.ss-sub{display:block;font-style:normal;font-size:9px;color:#ffb400;margin-top:2px}
/* entrenador */
.coach-card{display:flex;gap:14px;align-items:center}
.coach-card img,.coach-ph{width:104px;height:136px;border-radius:14px;object-fit:cover;flex:none;background:#0b2545;border:2px solid rgba(255,180,0,.55);box-shadow:0 8px 20px rgba(0,0,0,.4)}
.coach-ph{display:grid;place-items:center}
.coach-card small{display:block;font-size:10px;letter-spacing:2px;color:#9fd3ee}
.coach-card strong{display:block;font:900 24px/1.05 var(--font-display,system-ui);margin:4px 0 6px}
.coach-card p{margin:4px 0;font-size:13px;line-height:1.5}

/* carrusel de próximos partidos */
#featuredMatch .car-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
#featuredMatch .car-track::-webkit-scrollbar{display:none}
#featuredMatch .car-slide{flex:0 0 100%;scroll-snap-align:center;min-width:0}
.car-dots{display:flex;justify-content:center;gap:7px;padding:10px 0 2px}
.car-dots i{width:8px;height:8px;border-radius:99px;background:rgba(255,255,255,.28);transition:all .3s;cursor:pointer}
.car-dots i.on{width:24px;background:#7ec8e9}
.rival-ini{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font:900 30px/1 var(--font-display,system-ui);color:#fff;background:linear-gradient(145deg,#2a6aa3,#0e3563);border:3px solid #7ec8e9;margin:0 auto}

/* estadística estilo NBA */
.nba-status{display:flex;align-items:center;gap:8px;font:700 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:1.4px;color:#7ec8e9;margin:6px 0 12px}
.nba-status b{margin-left:auto;color:#fff}
.nba-dot{width:9px;height:9px;border-radius:50%;background:#ffb400;box-shadow:0 0 10px #ffb400;animation:nbaPulse 1s infinite}
.nba-dot.ok{background:#3ddc97;box-shadow:0 0 10px #3ddc97;animation:none}
@keyframes nbaPulse{50%{opacity:.25}}
.nba-top{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-bottom:12px}
.nba-top div{background:linear-gradient(160deg,#16508a,#0a2a52);border-radius:12px;text-align:center;padding:10px 2px}
.nba-top b{display:block;font:900 20px/1 var(--font-display,system-ui);color:#fff;font-variant-numeric:tabular-nums}
.nba-top small{display:block;font-size:9px;letter-spacing:1.2px;color:#ffb400;margin-top:4px}
.nba-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px;border:1px solid rgba(126,200,233,.22)}
.nba-t{border-collapse:collapse;width:100%;min-width:760px;font-variant-numeric:tabular-nums;font-size:13px}
.nba-t th{background:#0a2a52;color:#9fd3ee;font-size:10px;letter-spacing:1px;padding:9px 8px;text-align:center;position:sticky;top:0;white-space:nowrap}
.nba-t td{padding:10px 8px;text-align:center;border-top:1px solid rgba(255,255,255,.06);white-space:nowrap}
.nba-t .nba-g{text-align:left;position:sticky;left:0;background:#0b2545;z-index:1;min-width:150px;box-shadow:6px 0 8px -6px rgba(0,0,0,.6)}
.nba-t th.nba-g{background:#0a2a52;z-index:2}
.nba-g b{display:block;font-size:12px}.nba-g small{display:block;font-size:10px;color:#83aaca;margin-top:2px}
.nba-g i{font-style:normal;font-weight:800}.nba-g i.w{color:#3ddc97}.nba-g i.l{color:#ff7a6b}
.nba-t td.hi{font-weight:900;color:#fff;background:rgba(126,200,233,.12)}
.nba-row{opacity:0;transform:translateX(-14px);transition:opacity .5s,transform .5s}
.nba-row.on{opacity:1;transform:none}
.nba-row.on td{animation:nbaFlash 1.1s ease-out}
@keyframes nbaFlash{0%{background-color:rgba(126,200,233,.45)}100%{background-color:transparent}}
.nba-row.on td.nba-g{animation:none}
.nba-sum{opacity:0;transition:opacity .6s}.nba-sum.on{opacity:1}
.nba-sum td{background:#0a2a52;font-weight:800;border-top:2px solid rgba(126,200,233,.4)}
.nba-sum td.nba-g{background:#0a2a52}
.nba-sum:last-child td{background:#103c6e;color:#ffb400}.nba-sum:last-child td.hi{color:#ffb400}
.gal-i:only-child{grid-column:1/-1;aspect-ratio:3/4;max-width:320px;width:100%;margin:0 auto}
.nba-t{min-width:0;font-size:12px}
.nba-t th,.nba-t td{padding-left:5px;padding-right:5px}
.nba-t .nba-g{min-width:128px}
@media(max-width:700px){.nba-t{min-width:880px}}

/* trayectoria: barras de puntos con los números siempre visibles */
.tb-wrap{margin:6px 0 14px}
.tb-row{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 6px}
.tb{flex:1 0 64px;display:flex;flex-direction:column;align-items:center}
.tb b{font:900 20px/1 var(--font-display,system-ui);color:#fff;margin-bottom:6px}
.tb-track{width:100%;height:110px;display:flex;align-items:flex-end;justify-content:center;background:rgba(255,255,255,.05);border-radius:10px;padding:0 10px}
.tb-bar{width:100%;max-width:56px;background:linear-gradient(180deg,#9ce4ff,#2d78ad);border-radius:8px 8px 2px 2px;min-height:10px;box-shadow:0 0 14px rgba(126,200,233,.35)}
.tb small{display:block;margin-top:6px;font-size:10px;color:#a9c9df;text-align:center;line-height:1.25;white-space:normal}
.tb-cap{text-align:center;font-size:10px;letter-spacing:2px;color:#6f9bbd;margin:6px 0 0}

/* cuerpo técnico en la plantilla: entrenador + ayudantes */
.staff-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin-top:10px}
.staff-card{background:linear-gradient(160deg,#133b66,#0a2342);border:1px solid rgba(126,200,233,.25);border-radius:16px;padding:12px;text-align:center}
.staff-card.head{border-color:rgba(255,180,0,.6);box-shadow:0 0 18px rgba(255,180,0,.18)}
.staff-card img,.staff-card .coach-ph{width:100%;aspect-ratio:3/4;height:auto;object-fit:cover;border-radius:12px;border:2px solid rgba(255,180,0,.5);display:block;margin:0 auto 10px}
.staff-card small{display:block;font-size:10px;letter-spacing:1.6px;color:#9fd3ee}
.staff-card strong{display:block;font:900 18px/1.1 var(--font-display,system-ui);margin:4px 0}
.staff-card p{font-size:12px;line-height:1.45;margin:4px 0;color:#cfe3f1}

/* ULB TV */
.tv-count{font-size:12px;color:#8fb1ca;margin:4px 0 12px}.tv-count a{color:#7ec8e9}
.tv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.tv-card{display:block;text-align:left;padding:0;border:1px solid #315b7e;border-radius:18px;overflow:hidden;background:#0f2b4d;color:inherit;font:inherit;cursor:pointer}
.tv-thumb{position:relative;aspect-ratio:16/9;background:linear-gradient(145deg,#1b4f80,#0a2447)}
.tv-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.tv-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;background:rgba(6,24,49,.75);border:2px solid #7ec8e9;display:grid;place-items:center;font-size:20px;color:#fff;padding-left:4px}
.tv-dur{position:absolute;right:8px;bottom:8px;background:rgba(0,0,0,.78);padding:3px 7px;border-radius:6px;font-size:11px;font-weight:800}
.tv-info{padding:12px 14px 14px}.tv-info small{display:block;font-size:10px;letter-spacing:1.2px;color:#7ec8e9;text-transform:uppercase}
.tv-info b{display:block;font-size:14px;line-height:1.3;margin-top:5px}
.tv-meta{font-size:12px;color:#9fc2da;margin:0 0 12px}
.tv-yt{display:block;text-align:center;background:#ff2d2d;color:#fff;font-weight:900;letter-spacing:1px;border-radius:12px;padding:14px;margin:14px 0;text-decoration:none}

.tv-big{position:relative;display:block;width:100%;padding:0;border:0;border-radius:14px;overflow:hidden;aspect-ratio:16/9;background:#102f51;cursor:pointer}
.tv-big img{width:100%;height:100%;object-fit:cover;display:block}
.tv-big .tv-play{width:78px;height:78px;font-size:30px}

/* ── Cromos profesionales: azul suave brillante (sustituye al dorado) ── */
.cr-card{background:linear-gradient(145deg,#d9f0ff,#7cc3f0 42%,#b4e1fb 68%,#4f9fd6);box-shadow:0 .6em 1.8em rgba(5,25,55,.55),0 0 0 .12em #2f6a9a,0 0 1.6em rgba(125,200,255,.35)}
.cr-card::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:1;background:linear-gradient(115deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,.08) 32%,transparent 48%,rgba(255,255,255,.22) 78%,transparent 100%)}
.cr-inner{background:linear-gradient(180deg,#f2faff,#cfe8f8);box-shadow:inset 0 0 0 .1em #3d7fb0,inset 0 .15em .5em rgba(255,255,255,.8)}
.cr-stage{background:#17406b;color:#bfe6ff}
.cr-art{box-shadow:0 0 0 .22em #7fc4ef,0 0 0 .32em #2f6a9a}
.cr-move{border-top-color:rgba(47,106,154,.4)}
.cr-pip{background:radial-gradient(circle at 35% 30%,#e8f7ff,#4da8d6);box-shadow:0 0 0 .1em #1d4f7a}
.cr-text{color:#1f3a52}
.cr-foot{color:#1f4a72}
.cr-foil{opacity:.3}
.cromo.holo .cr-foil{opacity:.6}
.cr-glare{opacity:1}

/* ── ULB TV · Baloncesto TV en directo dentro de la app ── */
.live-box{margin:0 0 18px;border:1px solid #315f81;border-radius:16px;background:linear-gradient(145deg,#16416a,#0b2544);overflow:hidden}
.live-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;padding:12px 14px}
.live-head b{font:900 16px var(--font-display,system-ui);letter-spacing:.5px;flex:1 1 150px}
.live-head small{flex:1 1 100%;font-size:11px;color:#9fc2da;line-height:1.5}
.live-open{background:#4da8d6;color:#06223f;border:0;border-radius:11px;padding:10px 14px;font:900 12px var(--font-body,system-ui);letter-spacing:.5px;cursor:pointer;min-height:40px}
.live-frame{position:relative;width:100%;height:min(78vh,720px);min-height:420px;background:#071b36}
.live-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#fff}
.live-box.full{position:fixed;inset:0;z-index:9999;margin:0;border-radius:0;display:flex;flex-direction:column}
.live-box.full .live-frame{flex:1;height:auto;min-height:0}
@media (min-width:900px){.tv-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cromo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cromo-grid .cromo{font-size:8px}}
@media (min-width:1200px){.cromo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:380px){.live-frame{min-height:360px}}

/* botones de compartir */
.share-row{display:flex;flex-wrap:wrap;gap:8px;flex:1 1 100%;margin:8px 0}
.share-btn{flex:1 1 auto;min-height:40px;display:inline-flex;align-items:center;justify-content:center;padding:9px 13px;border:0;border-radius:11px;font:800 12px var(--font-body,system-ui);color:#fff;text-decoration:none;cursor:pointer;background:#2a5a82}
.share-btn.wa{background:#1fa855}.share-btn.fb{background:#1877f2}.share-btn.xx{background:#111}.share-btn.tg{background:#2aa3de}.share-btn.sys{background:#4da8d6;color:#06223f}

.nyx-sponsor{display:flex;align-items:center;justify-content:center;gap:6px;margin:22px 0 8px;padding:14px;min-height:44px;border:1px solid #315f81;border-radius:13px;background:linear-gradient(110deg,#1c527f,#0b2a4d);color:#bfe6ff;font:700 13px var(--font-body,system-ui);text-decoration:none}
.nyx-sponsor b{color:#fff;letter-spacing:.3px}

/* DESTACADOS: insignias y etiquetas en azul claro brillante (antes dorado/naranja) */
.tiny-badge{background:linear-gradient(135deg,#e6f6ff,#7cc3f0 55%,#4f9fd6);color:#06223f;box-shadow:0 0 10px rgba(125,200,255,.45),inset 0 1px 0 rgba(255,255,255,.7)}
.cromo .cr-star{background:linear-gradient(135deg,#e6f6ff,#7cc3f0 55%,#4f9fd6);color:#06223f;box-shadow:0 0 .8em rgba(125,200,255,.6),inset 0 .08em 0 rgba(255,255,255,.8)}
.cr-hp{color:#1b5a8c}.cr-hp small{color:#17406b}
.feature-3feb .overline,#homeSpotlight .overline{color:#9fdcff}

/* menú inferior siempre visible: las fichas y la pantalla completa dejan su hueco */
.bottom-nav{z-index:90!important}
.overlay{bottom:calc(76px + env(safe-area-inset-bottom))!important;padding-bottom:24px}
.live-box.full{inset:60px 0 calc(76px + env(safe-area-inset-bottom))}
.live-open.alt{display:inline-flex;align-items:center;text-decoration:none;background:transparent;color:#bfe6ff;border:1px solid #4da8d6}

/* Portada fija: foto de todos los equipos, centrada en el grupo */
#homeHero .cover-img{object-position:50% 58%;opacity:1;filter:brightness(.62) saturate(1.1)}
#homeHero .cover-content h2,#homeHero .cover-content p,#homeHero .cover-kicker{text-shadow:0 2px 10px #041324e6,0 0 2px #041324}
