/* NFL Visual System Phase 4 — betting family and shared identity */

.sport-nfl .nfl-team-visual{
  position:relative;display:grid!important;place-items:center!important;align-items:center!important;justify-content:center!important;
  overflow:hidden;text-align:center;line-height:1;isolation:isolate
}
.sport-nfl .nfl-team-visual .nfl-team-fallback{
  position:absolute!important;inset:0!important;z-index:1;display:grid!important;place-items:center!important;
  margin:0!important;padding:0!important;font-size:clamp(8px,1vw,11px)!important;font-weight:900;color:#91a9bd
}
.sport-nfl .nfl-team-visual img{
  position:absolute!important;z-index:2!important;left:50%!important;top:50%!important;
  margin:0!important;transform:translate(-50%,-50%)!important;object-fit:contain!important;object-position:50% 50%!important
}
.sport-nfl .nfl-team-visual.logo-loaded .nfl-team-fallback{opacity:0}
.sport-nfl .nfl-team-visual.hero img{width:82%!important;height:82%!important}
.sport-nfl .nfl-team-visual.compact img{width:72%!important;height:72%!important}
.sport-nfl .nfl-matchup-visual{align-items:center!important}
.sport-nfl .nfl-matchup-visual.compact{display:flex;justify-content:flex-start;gap:5px}
.sport-nfl .nfl-matchup-visual.compact>.nfl-team-visual{flex:0 0 auto}

/* Weekly headline cards need readable identity, not thumbnail-sized status dots. */
.sport-nfl .nfl-broadcast-headlines .nfl-visual-intel{
  min-height:330px;grid-template-rows:auto 128px 1fr auto
}
.sport-nfl .nfl-broadcast-headlines .nfl-visual-intel>header .nfl-visual-icon{
  width:48px;height:48px
}
.sport-nfl .nfl-broadcast-headlines .nfl-visual-intel>header .nfl-visual-icon svg{
  width:27px;height:27px
}
.sport-nfl .nfl-visual-intel-media .nfl-team-visual.compact{
  width:72px!important;height:72px!important
}
.sport-nfl .nfl-visual-intel-media .nfl-team-visual.compact img{
  width:84%!important;height:84%!important
}
.sport-nfl .nfl-visual-intel-media .shared-player-visual.nfl.card{
  width:112px!important;height:112px!important
}
.sport-nfl .nfl-visual-intel-media .nfl-matchup-visual.compact{
  justify-content:center!important;gap:16px!important
}
@media(max-width:620px){
  .sport-nfl .nfl-broadcast-headlines .nfl-visual-intel{min-height:300px;grid-template-rows:auto 112px 1fr auto}
  .sport-nfl .nfl-visual-intel-media .nfl-team-visual.compact{width:62px!important;height:62px!important}
  .sport-nfl .nfl-visual-intel-media .shared-player-visual.nfl.card{width:96px!important;height:96px!important}
}

.sport-nfl .nfl-cinematic-player.is-pending{align-self:stretch;align-content:center}
.sport-nfl .nfl-prop-readiness{
  width:170px;min-height:210px;padding:17px 14px;display:grid;justify-items:center;align-content:center;gap:4px;
  border:1px solid rgba(85,217,255,.3);border-radius:76px 76px 18px 18px;
  background:radial-gradient(circle at 50% 26%,rgba(85,217,255,.2),rgba(5,16,30,.88) 62%);
  box-shadow:inset 0 0 45px rgba(42,168,223,.08),0 18px 40px rgba(0,0,0,.38)
}
.sport-nfl .nfl-readiness-radar{position:relative;width:82px;height:82px;display:grid;place-items:center;border:1px solid rgba(85,217,255,.34);border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 13px,rgba(85,217,255,.13) 14px 15px)}
.sport-nfl .nfl-readiness-radar:before{content:"";position:absolute;width:50%;height:50%;left:50%;top:0;transform-origin:0 100%;background:linear-gradient(135deg,rgba(85,217,255,.32),transparent 70%);animation:nfl-readiness-scan 4s linear infinite}
.sport-nfl .nfl-readiness-radar .nfl-visual-icon{width:30px;height:30px;z-index:2}
.sport-nfl .nfl-readiness-radar i{position:absolute;width:4px;height:4px;border-radius:50%;background:#67f5a1;box-shadow:0 0 8px #67f5a1}
.sport-nfl .nfl-readiness-radar i:nth-of-type(1){left:20px;top:25px}.sport-nfl .nfl-readiness-radar i:nth-of-type(2){right:17px;bottom:25px}.sport-nfl .nfl-readiness-radar i:nth-of-type(3){right:26px;top:16px}
.sport-nfl .nfl-prop-readiness>strong{font-size:30px;line-height:1;color:#e9faff}.sport-nfl .nfl-prop-readiness>small{font-size:8px;letter-spacing:.13em;color:#79dff4}
.sport-nfl .nfl-prop-readiness>div{display:flex;align-items:center;gap:6px;margin-top:8px;padding:6px 9px;border-radius:999px;background:rgba(2,10,20,.68)}
.sport-nfl .nfl-prop-readiness>div span{width:6px;height:6px;border-radius:50%;background:#e7b75f;box-shadow:0 0 8px #e7b75f}.sport-nfl .nfl-prop-readiness>div span.live{background:#67f5a1;box-shadow:0 0 8px #67f5a1}.sport-nfl .nfl-prop-readiness>div b{font-size:7px;letter-spacing:.1em}

/* Shared betting-page shell */
.sport-nfl .nfl-betting-page,.sport-nfl .nfl-betting-command{
  position:relative;isolation:isolate
}
.sport-nfl .nfl-betting-page:before,.sport-nfl .nfl-betting-command:before{
  content:"";position:fixed;z-index:-1;inset:64px 0 0;pointer-events:none;
  background:radial-gradient(circle at 78% 10%,rgba(42,168,223,.09),transparent 32%),linear-gradient(180deg,rgba(4,13,24,.22),transparent 60%)
}
.sport-nfl .nfl-bet-hero{
  position:relative;overflow:hidden;min-height:190px;border-color:rgba(85,217,255,.28)!important;
  background:linear-gradient(115deg,rgba(5,17,31,.97),rgba(8,28,46,.86))!important
}
.sport-nfl .nfl-bet-hero:before{
  content:"";position:absolute;right:-40px;top:-120px;width:430px;height:430px;border-radius:50%;
  background:repeating-radial-gradient(circle,transparent 0 32px,rgba(85,217,255,.08) 33px 34px);opacity:.7
}
.sport-nfl .nfl-bet-hero:after{
  content:"NFL // MARKET INTELLIGENCE";position:absolute;right:24px;bottom:14px;
  font-size:8px;font-weight:900;letter-spacing:.22em;color:rgba(85,217,255,.34)
}
.sport-nfl .nfl-bet-hero>*{position:relative;z-index:1}
.sport-nfl .nfl-bet-panel,.sport-nfl .nfl-bet-feature,.sport-nfl .nfl-bet-kpis>div{
  border-color:rgba(82,119,151,.25)!important;background:linear-gradient(145deg,rgba(8,20,36,.94),rgba(5,14,27,.9))!important;
  box-shadow:0 14px 34px rgba(0,0,0,.16)
}
.sport-nfl .nfl-bet-panel>header{padding-left:12px;border-left:3px solid #55d9ff}
.sport-nfl .nfl-bet-table thead th{background:rgba(85,217,255,.055);color:#8ddff1}
.sport-nfl .nfl-bet-table tbody tr{transition:background .18s ease}.sport-nfl .nfl-bet-table tbody tr:hover{background:rgba(85,217,255,.045)}
.sport-nfl .nfl-game-line-empty{
  position:relative;overflow:hidden;min-height:150px;display:grid;place-content:center;text-align:center;
  background:radial-gradient(circle at center,rgba(42,168,223,.1),transparent 62%)
}
.sport-nfl .nfl-game-line-empty:before{content:"⌁";display:block;margin:auto auto 10px;width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(85,217,255,.3);border-radius:50%;color:#55d9ff;font-size:24px}

@keyframes nfl-readiness-scan{to{transform:rotate(360deg)}}
@media(max-width:1180px){.sport-nfl .nfl-cinematic-player.is-pending{display:none}}
@media(max-width:700px){.sport-nfl .nfl-bet-hero{min-height:160px}.sport-nfl .nfl-bet-hero:after{display:none}}
@media(prefers-reduced-motion:reduce){.sport-nfl .nfl-readiness-radar:before{animation:none}.sport-nfl .nfl-bet-table tbody tr{transition:none}}
