/* =============================================
   PREMIUM IPL-STYLE BROADCAST OVERLAY v4
   ============================================= */
@import url('https://fonts.googleapis.com/css2?family=Teko:wght@400;500;600;700&family=Inter:wght@400;500;600;700;800;900&family=Bebas+Neue&family=Oswald:wght@400;500;600;700&display=swap');

:root{--team-a:#dc2626;--team-a-glow:rgba(220,38,38,0.5);--team-b:#2563eb;--team-b-glow:rgba(37,99,235,0.5);--gold:#f59e0b;--gold-bright:#fbbf24;--gold-dark:#b45309;--bg-dark:#0a0a0f;--bg-card:rgba(10,10,20,0.94);--glass:rgba(255,255,255,0.05);--glass-border:rgba(255,255,255,0.12);--text-primary:#ffffff;--text-secondary:#94a3b8;--font-display:'Bebas Neue','Oswald','Teko',sans-serif;--font-score:'Teko','Oswald',sans-serif;--font-body:'Inter',system-ui,sans-serif}
*{margin:0;padding:0;box-sizing:border-box}
/* ===== MASTER SCREEN LOCK ===== */
body, html { width: 100%; height: 100%; margin: 0; padding: 0; overflow: hidden; position: relative; background: transparent !important; }
body{font-family:var(--font-body);color:var(--text-primary);-webkit-font-smoothing:antialiased}

/* Animations */
@keyframes slideInLeft{from{transform:translateX(-120%);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes slideOutLeft{from{transform:translateX(0);opacity:1}to{transform:translateX(-120%);opacity:0}}
@keyframes slideInRight{from{transform:translateX(120%);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes slideOutRight{from{transform:translateX(0);opacity:1}to{transform:translateX(120%);opacity:0}}
@keyframes slideInUp{from{transform:translateY(80px);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes slideOutDown{from{transform:translateY(0);opacity:1}to{transform:translateY(80px);opacity:0}}
@keyframes scaleIn{from{transform:scale(0.7);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes scaleOut{from{transform:scale(1);opacity:1}to{transform:scale(0.6);opacity:0}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes fadeOut{from{opacity:1}to{opacity:0}}
@keyframes scorePop{0%{transform:scale(1)}40%{transform:scale(1.25);color:#fbbf24}100%{transform:scale(1)}}
@keyframes livePulse{0%,100%{opacity:1}50%{opacity:0.5}}
@keyframes shimmer{0%{background-position:-200% center}100%{background-position:200% center}}
@keyframes tickerScroll{0%{transform:translateX(1920px)}100%{transform:translateX(-100%)}}
@keyframes coinFlip{0%{transform:rotateY(0)}50%{transform:rotateY(900deg)}100%{transform:rotateY(1800deg)}}
@keyframes drsBarAnim{0%{left:0%;width:20%}50%{left:40%;width:20%}100%{left:80%;width:20%}}
@keyframes glowPulse{0%,100%{box-shadow:0 0 10px currentColor}50%{box-shadow:0 0 30px currentColor,0 0 60px currentColor}}



/* TICKER */
.ticker-bar{position:absolute;top:0;left:0;width:100%;height:46px;background:linear-gradient(180deg,rgba(0,0,0,0.95) 0%,rgba(0,0,0,0.85) 100%);display:flex;align-items:center;z-index:10;border-bottom:2px solid var(--gold);box-shadow:0 2px 15px rgba(0,0,0,0.6);transition:transform 0.5s cubic-bezier(0.4,0,0.2,1)}
.ticker-bar.hidden{transform:translateY(-100%)}
.ticker-label{background:linear-gradient(135deg,#dc2626,#991b1b);color:#fff;font-family:var(--font-display);font-weight:700;font-size:18px;letter-spacing:3px;padding:0 20px;height:100%;display:flex;align-items:center;text-transform:uppercase;animation:livePulse 2s infinite;z-index:2}
.ticker-label::before{content:'';width:8px;height:8px;background:#fff;border-radius:50%;margin-right:8px;animation:livePulse 1.5s infinite}
.ticker-text-wrapper{flex:1;overflow:hidden;position:relative;height:100%}
.ticker-text{position:absolute;white-space:nowrap;font-family:var(--font-body);font-weight:600;font-size:16px;line-height:46px;text-transform:uppercase;color:#e2e8f0;animation:tickerScroll 22s linear infinite;letter-spacing:1px}

/* LOWER THIRD */
.lower-third{position:absolute;bottom:170px;left:60px;z-index:25;display:flex;align-items:stretch;height:56px;transform:translateX(-130%);transition:transform 0.5s cubic-bezier(0.25,0.8,0.25,1);box-shadow:0 10px 30px rgba(0,0,0,0.7)}
.lower-third.show{transform:translateX(0)}
.lower-third .lt-accent{width:5px;background:var(--gold-bright);border-radius:4px 0 0 4px}
.lower-third .lt-label{background:linear-gradient(135deg,var(--gold-dark),var(--gold));color:#000;font-family:var(--font-display);font-size:28px;font-weight:700;padding:0 20px;display:flex;align-items:center;text-transform:uppercase;letter-spacing:2px}
.lower-third .lt-text{background:var(--bg-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:#fff;font-family:var(--font-body);font-size:22px;font-weight:600;padding:0 28px;display:flex;align-items:center;border-radius:0 6px 6px 0;border:1px solid var(--glass-border);border-left:none;min-width:300px}

/* SCOREBUG */
.scorebug-wrapper{position:absolute;bottom:55px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;z-index:30;filter:drop-shadow(0 12px 30px rgba(0,0,0,0.7));transition:transform 0.6s cubic-bezier(0.4,0,0.2,1),opacity 0.4s ease}
.scorebug-wrapper.hidden{transform:translate(-50%,200px);opacity:0}
.scorebug-row{display:flex;height:76px;align-items:center}
.team-panel{display:flex;align-items:center;gap:12px;height:100%;padding:0 24px;position:relative;overflow:hidden}
.team-panel-left{background:linear-gradient(135deg,var(--team-a) 0%,#991b1b 100%);border-radius:10px 0 0 10px;clip-path:polygon(0 0,100% 0,92% 100%,0 100%);width:340px;justify-content:flex-start}
.team-panel-right{background:linear-gradient(135deg,var(--team-b) 0%,#1e40af 100%);border-radius:0 10px 10px 0;clip-path:polygon(8% 0,100% 0,100% 100%,0 100%);width:340px;justify-content:flex-end}
.team-panel::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,0.15) 0%,transparent 60%);pointer-events:none}
.team-panel .flag{width:42px;height:28px;border-radius:4px;object-fit:cover;display:none}
.team-panel .logo{width:42px;height:42px;border-radius:50%;background:#fff;padding:3px;display:none;box-shadow:0 2px 8px rgba(0,0,0,0.4)}
.team-panel .name{font-family:var(--font-display);font-size:32px;font-weight:600;letter-spacing:2px;text-transform:uppercase;text-shadow:2px 2px 6px rgba(0,0,0,0.6);line-height:1}
.team-panel .score{font-family:var(--font-score);font-size:44px;font-weight:700;color:var(--gold-bright);text-shadow:2px 2px 6px rgba(0,0,0,0.7);margin:0 10px}
.team-panel-left .score{margin-left:auto}
.team-panel-right .score{margin-right:auto}
.center-block{background:linear-gradient(180deg,#1a1a2e 0%,#0f0f1a 100%);min-height:90px;min-width:260px;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:5;position:relative;border-top:2px solid var(--gold);border-bottom:2px solid var(--gold);box-shadow:0 0 30px rgba(0,0,0,0.8),inset 0 0 20px rgba(245,158,11,0.08);padding:6px 24px}
.center-block .main-score{font-family:var(--font-score);font-size:52px;font-weight:700;color:#fff;line-height:1;transition:all 0.2s}
.center-block .main-score.pop{animation:scorePop 0.45s cubic-bezier(0.34,1.56,0.64,1)}
.center-block .sub-info{font-family:var(--font-body);font-size:13px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:1.5px;margin-top:4px}
.center-block .target-line{font-family:var(--font-body);font-size:11px;font-weight:800;color:#ef4444;margin-top:3px;letter-spacing:1px}

/* PLAYER STATS BAR */
.player-stats{background:linear-gradient(to right,rgba(15,23,42,0.95),rgba(0,0,0,0.95),rgba(15,23,42,0.95));backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.12);border-radius:8px;padding:10px 40px;display:flex;justify-content:center;align-items:center;gap:40px;margin-top:12px;z-index:20;font-size:18px;box-shadow:0 8px 20px rgba(0,0,0,0.5);font-family:var(--font-body)}
.player-stats .lbl{color:var(--gold-bright);font-weight:900;margin-right:8px;letter-spacing:1px;font-size:15px}
.player-stats .val{font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:0.5px;font-size:16px}

/* BATSMAN / BOWLER CARDS */
.stat-card{position:absolute;z-index:20;background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(245,158,11,0.25);border-radius:10px;padding:14px 20px;font-family:var(--font-body);box-shadow:0 8px 25px rgba(0,0,0,0.6);transition:all 0.4s cubic-bezier(0.4,0,0.2,1)}
.stat-card.hidden{opacity:0;pointer-events:none;transform:translateY(20px)}
.stat-card .card-header{color:var(--gold-bright);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:3px;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid rgba(245,158,11,0.2)}
.batsman-card{bottom:240px;left:25px;min-width:250px}
.bowler-card{bottom:240px;right:25px;min-width:230px}
.stat-card .player-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.stat-card .player-name{color:#fff;font-weight:700;font-size:16px;display:flex;align-items:center;gap:6px}
.stat-card .player-dot{width:7px;height:7px;border-radius:50%;background:#22c55e;animation:livePulse 1.5s infinite}
.stat-card .player-score{color:var(--gold-bright);font-weight:800;font-size:20px}
.stat-card .player-detail{color:#94a3b8;font-size:11px;font-weight:600;margin-left:13px}
.stat-card .bowler-fig{color:#fff;font-weight:600;font-size:15px}
.stat-card .bowler-econ{color:#94a3b8;font-size:12px;font-weight:600}

/* LAST 6 BALLS */
.last-balls{position:absolute;top:70px;right:60px;z-index:20;display:flex;gap:8px;transition:opacity 0.4s}
.last-balls.hidden{opacity:0;pointer-events:none}
.ball-dot{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:17px;color:#fff;border:2px solid rgba(255,255,255,0.25);box-shadow:0 3px 10px rgba(0,0,0,0.5)}
.ball-dot.r0{background:#475569}.ball-dot.r1{background:#2563eb}.ball-dot.r2{background:#1d4ed8}.ball-dot.r3{background:#7c3aed}
.ball-dot.r4{background:#16a34a}.ball-dot.r5{background:#9333ea}.ball-dot.r6{background:#dc2626;font-size:20px}
.ball-dot.rw{background:#000;border-color:#ef4444;color:#ef4444}
.ball-dot.rwd{background:#f59e0b;color:#000}.ball-dot.rnb{background:#ea580c;color:#000}

/* PARTNERSHIP */
.partnership-bar{position:absolute;bottom:180px;left:50%;transform:translateX(-50%);z-index:18;background:rgba(0,0,0,0.8);backdrop-filter:blur(8px);border:1px solid rgba(245,158,11,0.25);border-radius:8px;padding:6px 20px;font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--gold-bright);text-transform:uppercase;letter-spacing:2px;transition:all 0.4s;white-space:nowrap}
.partnership-bar.hidden{opacity:0;pointer-events:none;transform:translate(-50%,15px)}

/* FOW PANEL */
.fow-panel{position:absolute;top:70px;left:25px;z-index:20;background:var(--bg-card);backdrop-filter:blur(12px);border:1px solid rgba(245,158,11,0.2);border-radius:10px;padding:12px 16px;min-width:220px;font-family:var(--font-body);font-size:12px;box-shadow:0 8px 25px rgba(0,0,0,0.5);transition:all 0.4s cubic-bezier(0.4,0,0.2,1)}
.fow-panel.hidden{opacity:0;pointer-events:none;transform:translateX(-30px)}
.fow-panel .fow-header{color:var(--gold-bright);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:3px;margin-bottom:8px;padding-bottom:5px;border-bottom:1px solid rgba(245,158,11,0.2)}
.fow-panel .fow-row{display:flex;justify-content:space-between;align-items:center;padding:3px 0;color:#cbd5e1}
.fow-panel .fow-row .fow-num{color:#ef4444;font-weight:700;width:24px}
.fow-panel .fow-row .fow-batter{flex:1;font-weight:600}
.fow-panel .fow-row .fow-score{color:var(--gold-bright);font-weight:700}

/* WORM GRAPH */
.worm-graph{position:absolute;bottom:280px;left:50%;transform:translateX(-50%);background:var(--bg-card);backdrop-filter:blur(12px);border:1px solid rgba(245,158,11,0.3);border-radius:12px;padding:16px 20px;z-index:22;box-shadow:0 10px 40px rgba(0,0,0,0.7);transition:all 0.4s cubic-bezier(0.4,0,0.2,1)}
.worm-graph.hidden{opacity:0;pointer-events:none;transform:translate(-50%,20px)}
.worm-graph .worm-header{color:var(--gold-bright);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:3px;margin-bottom:8px;text-align:center}
.worm-graph canvas{display:block;border-radius:4px}

/* =============================================
   SPORT-SPECIFIC OVERLAYS
   ============================================= */

/* FOOTBALL OVERLAY */
.football-overlay{position:absolute;inset:0;z-index:35;pointer-events:none}
.fb-scorebug{position:absolute;top:20px;left:20px;display:flex;align-items:center;background:rgba(0,0,0,0.9);border-radius:12px;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,0.7);border:2px solid rgba(255,255,255,0.1)}
.fb-team{display:flex;align-items:center;gap:12px;padding:12px 20px}
.fb-team-a{background:linear-gradient(135deg,var(--team-a),#000 80%)}
.fb-team-b{background:linear-gradient(-135deg,var(--team-b),#000 80%)}
.fb-logo{width:48px;height:48px;border-radius:50%;background:#fff;padding:4px;object-fit:contain}
.fb-abbr{font-family:var(--font-display);font-size:28px;color:#fff;letter-spacing:2px;font-weight:700}
.fb-center{display:flex;flex-direction:column;align-items:center;padding:0 24px;min-width:140px}
.fb-score{font-family:var(--font-score);font-size:42px;color:#fff;font-weight:700;line-height:1}
.fb-clock{font-family:var(--font-body);font-size:18px;color:var(--gold-bright);font-weight:700;margin-top:4px}
.fb-half{font-family:var(--font-body);font-size:11px;color:#94a3b8;text-transform:uppercase;letter-spacing:2px;margin-top:2px}
.fb-goalscorer{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:40}
.fb-goalscorer-inner{background:linear-gradient(135deg,rgba(0,0,0,0.95),rgba(20,20,40,0.95));border:3px solid var(--gold-bright);border-radius:20px;padding:30px 60px;text-align:center;animation:scaleIn 0.4s ease, fadeOut 0.5s 4.5s forwards}
.fb-goal-icon{font-size:60px;margin-bottom:10px}
.fb-goal-text{font-family:var(--font-display);font-size:64px;color:var(--gold-bright);letter-spacing:8px;text-shadow:0 0 30px rgba(245,158,11,0.5)}
.fb-goal-player{font-family:var(--font-body);font-size:24px;color:#fff;font-weight:700;margin-top:8px}
.fb-substitution{position:absolute;bottom:100px;left:50%;transform:translateX(-50%);z-index:40;background:rgba(0,0,0,0.9);border-radius:12px;padding:16px 30px;border:2px solid rgba(255,255,255,0.2);animation:slideInUp 0.4s ease, fadeOut 0.5s 4.5s forwards}
.fb-sub-out,.fb-sub-in{font-family:var(--font-body);font-size:18px;color:#fff;font-weight:600;padding:4px 0}
.fb-sub-arrow{font-size:20px;margin-right:8px}
.fb-sub-arrow.red{color:#ef4444}
.fb-sub-arrow.green{color:#22c55e}

/* KABADDI OVERLAY */
.kabaddi-overlay{position:absolute;inset:0;z-index:35;pointer-events:none}
.kb-scorebug{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;align-items:center;background:rgba(0,0,0,0.92);border-radius:16px;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,0.7);border:2px solid var(--gold)}
.kb-team{display:flex;align-items:center;gap:16px;padding:16px 28px}
.kb-team-a{background:linear-gradient(135deg,var(--team-a),#1a1a1a 90%)}
.kb-team-b{background:linear-gradient(-135deg,var(--team-b),#1a1a1a 90%)}
.kb-name{font-family:var(--font-display);font-size:24px;color:#fff;letter-spacing:2px}
.kb-score{font-family:var(--font-score);font-size:48px;color:var(--gold-bright);font-weight:700}
.kb-center{display:flex;flex-direction:column;align-items:center;padding:0 30px;min-width:120px}
.kb-raid-timer{font-family:var(--font-score);font-size:56px;color:#fff;font-weight:700;line-height:1}
.kb-raid-timer.urgent{color:#ef4444;animation:glowPulse 0.5s infinite}
.kb-raid-status{font-family:var(--font-body);font-size:12px;color:var(--gold-bright);text-transform:uppercase;letter-spacing:3px;margin-top:4px}
.kb-raider{position:absolute;bottom:120px;left:50%;transform:translateX(-50%);z-index:40}
.kb-raider-inner{display:flex;align-items:center;gap:20px;background:rgba(0,0,0,0.9);border:2px solid var(--gold);border-radius:16px;padding:16px 30px}
.kb-raider-photo{width:64px;height:64px;border-radius:50%;border:3px solid var(--gold);object-fit:cover}
.kb-raider-label{font-family:var(--font-body);font-size:10px;color:var(--gold-bright);text-transform:uppercase;letter-spacing:2px}
.kb-raider-name{font-family:var(--font-display);font-size:28px;color:#fff;letter-spacing:2px}
.kb-raider-pts{font-family:var(--font-body);font-size:14px;color:#94a3b8}
.kb-super-tackle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:50;font-family:var(--font-display);font-size:72px;color:#f59e0b;text-shadow:0 0 40px rgba(245,158,11,0.6);animation:scaleIn 0.4s ease, fadeOut 0.5s 3s forwards;letter-spacing:8px}

/* HANDBALL OVERLAY */
.handball-overlay{position:absolute;inset:0;z-index:35;pointer-events:none}
.hb-scorebug{position:absolute;top:20px;left:20px;display:flex;align-items:center;background:rgba(0,0,0,0.9);border-radius:12px;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,0.7);border:2px solid rgba(255,255,255,0.1)}
.hb-team{display:flex;align-items:center;gap:12px;padding:12px 20px}
.hb-team-a{background:linear-gradient(135deg,var(--team-a),#000 80%)}
.hb-team-b{background:linear-gradient(-135deg,var(--team-b),#000 80%)}
.hb-logo{width:48px;height:48px;border-radius:50%;background:#fff;padding:4px;object-fit:contain}
.hb-abbr{font-family:var(--font-display);font-size:28px;color:#fff;letter-spacing:2px;font-weight:700}
.hb-center{display:flex;flex-direction:column;align-items:center;padding:0 24px;min-width:120px}
.hb-score{font-family:var(--font-score);font-size:42px;color:#fff;font-weight:700;line-height:1}
.hb-clock{font-family:var(--font-body);font-size:18px;color:var(--gold-bright);font-weight:700;margin-top:4px}
.hb-suspensions{position:absolute;top:100px;left:20px;z-index:40;font-family:var(--font-body);font-size:14px}
.hb-suspension-item{background:rgba(245,158,11,0.2);border:1px solid var(--gold);border-radius:8px;padding:6px 12px;margin-bottom:6px;color:#fff}

/* BASKETBALL OVERLAY */
.basketball-overlay{position:absolute;inset:0;z-index:35;pointer-events:none}
.bb-scorebug{position:absolute;top:20px;left:20px;display:flex;align-items:center;background:rgba(0,0,0,0.9);border-radius:12px;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,0.7);border:2px solid rgba(255,255,255,0.1)}
.bb-team{display:flex;align-items:center;gap:12px;padding:12px 20px}
.bb-team-a{background:linear-gradient(135deg,var(--team-a),#000 80%)}
.bb-team-b{background:linear-gradient(-135deg,var(--team-b),#000 80%)}
.bb-logo{width:48px;height:48px;border-radius:50%;background:#fff;padding:4px;object-fit:contain}
.bb-abbr{font-family:var(--font-display);font-size:28px;color:#fff;letter-spacing:2px;font-weight:700}
.bb-center{display:flex;flex-direction:column;align-items:center;padding:0 24px;min-width:160px}
.bb-score{font-family:var(--font-score);font-size:42px;color:#fff;font-weight:700;line-height:1}
.bb-info{display:flex;gap:16px;margin-top:6px}
.bb-quarter{font-family:var(--font-body);font-size:14px;color:var(--gold-bright);font-weight:700}
.bb-clock{font-family:var(--font-body);font-size:16px;color:#fff;font-weight:700}
.bb-shotclock{font-family:var(--font-score);font-size:28px;color:var(--gold-bright);font-weight:700;margin-top:6px;padding:4px 12px;background:rgba(245,158,11,0.2);border-radius:6px;border:1px solid var(--gold)}
.bb-shotclock.urgent{color:#ef4444;background:rgba(239,68,68,0.2);border-color:#ef4444}

/* VOLLEYBALL OVERLAY */
.volleyball-overlay{position:absolute;inset:0;z-index:35;pointer-events:none}
.vb-scorebug{position:absolute;top:20px;left:50%;transform:translateX(-50%);display:flex;align-items:center;background:rgba(0,0,0,0.9);border-radius:16px;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,0.7);border:2px solid var(--gold)}
.vb-team{display:flex;align-items:center;gap:16px;padding:16px 28px}
.vb-team-a{background:linear-gradient(135deg,var(--team-a),#1a1a1a 90%)}
.vb-team-b{background:linear-gradient(-135deg,var(--team-b),#1a1a1a 90%)}
.vb-name{font-family:var(--font-display);font-size:24px;color:#fff;letter-spacing:2px}
.vb-sets{font-family:var(--font-score);font-size:36px;color:var(--gold-bright);font-weight:700;min-width:40px;text-align:center}
.vb-points{font-family:var(--font-score);font-size:48px;color:#fff;font-weight:700;min-width:50px;text-align:center}
.vb-center{display:flex;flex-direction:column;align-items:center;padding:0 30px;min-width:120px}
.vb-set-label{font-family:var(--font-body);font-size:12px;color:#94a3b8;text-transform:uppercase;letter-spacing:2px}
.vb-serving{font-family:var(--font-body);font-size:11px;color:var(--gold-bright);text-transform:uppercase;letter-spacing:3px;margin-top:4px;animation:livePulse 1.5s infinite}

/* =============================================
   POSITIONING LOCK CLASSES
   ============================================= */

/* Absolute Center Lock for Massive Graphics (Scorecards, Toss) */
.center-massive {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    z-index: 50;
}

/* Lower Third Lock (Partnership, Walk-in, FOW) */
.lower-third-left {
    position: absolute !important;
    bottom: 140px !important;
    left: 100px !important;
    z-index: 40;
}
.lower-third-right {
    position: absolute !important;
    bottom: 140px !important;
    right: 100px !important;
    z-index: 40;
}
