/* DOUBLE-V 28.1 — Visual finish only. No sports data or API changes. */
:root{--dv281-glow:#ac74ed;--dv281-warm:#f3e2ff}
/* Stadium presentation: one convincing camera move, not beams or floating particles. */
.hero{min-height:clamp(565px,82svh,770px)!important;max-height:850px;position:relative!important}
#dv22-stage .dv22-photo{animation:dv281-stadium-move 23s cubic-bezier(.55,.02,.4,.98) infinite alternate!important;transform-origin:60% 40%!important;filter:brightness(.76) contrast(1.15) saturate(1.12)!important;will-change:transform}
#dv22-stage .dv22-atmos{background:linear-gradient(90deg,#05030bef 0%,#060313cf 34%,#09061a7c 63%,#0a051552 100%),linear-gradient(180deg,#0302094d 0%,transparent 38%,#07030ee9 100%)!important;animation:dv281-atmos-move 11s ease-in-out infinite alternate!important}
@keyframes dv281-stadium-move{0%{transform:scale(1.10) translate3d(1.5%,.8%,0)}45%{transform:scale(1.145) translate3d(-1.1%,-.5%,0)}100%{transform:scale(1.18) translate3d(-2.3%,.7%,0)}}
@keyframes dv281-atmos-move{0%{opacity:.95}100%{opacity:1}}
.hero::after{box-shadow:inset 0 0 110px #040209c7!important}
.hero-content{margin:10px 0 62px clamp(20px,7vw,118px)!important;max-width:min(810px,88vw)!important;padding:22px 0!important;background:none!important}
.hero h1{font-size:clamp(62px,6.45vw,96px)!important;line-height:.89!important;letter-spacing:-.018em!important;margin:18px 0 21px!important;max-width:930px!important;text-shadow:0 7px 25px #000b,0 0 36px #8437da42!important}
.hero h1 em{text-shadow:none!important;filter:drop-shadow(0 9px 26px #7c36cd48)}
.hero-content>p{font-size:clamp(14px,1.25vw,17px)!important;max-width:485px!important;line-height:1.65!important}
.dv28-hero-meta{margin-top:24px!important;gap:8px!important}
.dv28-hero-meta span{font-size:10px!important;letter-spacing:.65px;border-radius:5px!important;background:#0b0716a3!important;border-color:#ffffff2f!important;padding:9px 12px!important}
.dv28-hero-scroll{display:none!important}
.dv281-hero-film{position:absolute;inset:0;pointer-events:none;z-index:5;box-shadow:inset 0 0 0 1px #ffffff08, inset 0 30px 0 #07050a07,inset 0 -30px 0 #09040c1a}
.dv281-hero-film:before{content:"";position:absolute;top:11%;left:4%;width:2px;height:27%;background:linear-gradient(180deg,#d3a1ff,transparent);box-shadow:0 0 18px #9037d77b;opacity:.55}
.dv281-hero-film:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#c082ff 49%,transparent);opacity:.5}
/* Real fixtures only, no invented time/minute values. Broadcast strip anchored to hero. */
.dv281-broadcast{position:absolute;z-index:9;bottom:0;left:0;right:0;min-height:74px;padding:13px clamp(20px,7vw,116px);display:flex;align-items:center;gap:22px;background:linear-gradient(90deg,#080510f2,#1a0b2bec 65%,#0c0717ef);border-top:1px solid #bf81fd44;box-shadow:0 -18px 38px #09040f77;overflow:hidden}
.dv281-broadcast-label{display:flex;gap:9px;align-items:center;color:#ebd5ff;font-weight:900;font-size:10px;letter-spacing:1.55px;white-space:nowrap;text-transform:uppercase;border-right:1px solid #d0a1ff43;padding-right:22px;min-height:36px}
.dv281-live-dot{width:8px;height:8px;border-radius:50%;background:#cb8dff;box-shadow:0 0 0 4px #b068f324,0 0 15px #b068f3}
.dv281-broadcast-content{display:flex;gap:12px;align-items:center;min-width:0;flex:1;transition:opacity .3s ease,transform .3s ease}
.dv281-broadcast-content.dv281-changing{opacity:0;transform:translateY(6px)}
.dv281-broadcast-comp{font-size:10px;font-weight:900;color:#ad8acb;letter-spacing:1px;text-transform:uppercase;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}
.dv281-broadcast-match{font-size:13px;color:#f1e9fb;font-weight:800;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dv281-broadcast-status{font-weight:900;font-size:11px;white-space:nowrap;color:#eec5ff;margin-left:auto;padding-left:10px}
.dv281-broadcast-link{font-size:11px;white-space:nowrap;border-bottom:1px solid #bb83ff;color:#e4c9ff;padding-bottom:4px;font-weight:800}
/* One stage, no extra rectangle around the featured fixture. */
.dv-next{margin-top:50px!important;margin-bottom:42px!important}
.dv-signature{background:linear-gradient(102deg,#0c0618f2 1%,#180c29d4 51%,#0b0713e8 100%),url('/dv24-stadium.webp') center/cover!important;padding:clamp(25px,3.6vw,44px)!important;gap:13px!important;min-height:330px!important;border-color:#ba81fc7f!important;box-shadow:0 28px 72px #030107ce,0 0 45px #6936b825!important;transition:border-color .3s,box-shadow .3s!important}
.dv-signature:hover{border-color:#e2b7ffb5!important;box-shadow:0 33px 80px #030107e3,0 0 47px #7d43bb35!important}
.dv-signature-top{border:0!important;padding:3px 0!important;font-size:11px!important}
.dv-signature-match{margin:7px auto!important;max-width:850px!important}
.dv-signature-score{font-size:clamp(56px,6vw,86px)!important;letter-spacing:-2px!important}
.dv-signature-team{font-size:clamp(12px,1.5vw,19px)!important;font-weight:900!important}
.dv-signature-sub{font-size:12px!important}
.dv-signature-timer{display:none!important}
.dv25-open-details{padding:13px 19px!important;box-shadow:0 10px 22px #7839c341!important}
/* Club tiles with a broadcast information hierarchy, less visual noise. */
#fixtures{row-gap:16px!important;column-gap:16px!important}
#fixtures .fixture-card,.dv-global-results .fixture-card{contain:none!important}
.fixture-card .dv28-shell,.fixture-card .dv28-rotor{min-height:318px!important}
.fixture-card .dv28-front,.fixture-card .dv28-back{min-height:318px!important;border-radius:17px!important;border-color:#a17add5c!important;box-shadow:0 16px 35px #000b!important}
.fixture-card .dv28-front{background:radial-gradient(circle at 95% 0%,#703cb52a,transparent 47%),linear-gradient(140deg,#1a1027,#0f0a17 88%)!important}
.fixture-card .dv28-front:after{content:"";position:absolute;right:14px;top:10px;width:54px;height:1px;background:linear-gradient(90deg,transparent,#a65efa);pointer-events:none;opacity:.65}
.fixture-card .dv28-front .fixture-top{font-size:11px!important;font-weight:900!important;letter-spacing:.1px!important}
.fixture-card .dv28-front .fixture-teams{margin:14px 0 7px!important;padding:4px 0!important;gap:12px!important}
.fixture-card .dv28-front .fixture-team{font-size:clamp(11px,.96vw,13px)!important;gap:8px!important}
.fixture-card .dv28-front .fixture-team img{width:clamp(42px,4.3vw,61px)!important;height:clamp(42px,4.3vw,61px)!important}
.fixture-card .dv28-front .fixture-score{font-size:clamp(31px,4vw,48px)!important;font-weight:900!important}
.fixture-card .dv28-front .fixture-foot{font-size:10px!important;opacity:.8;margin:0 0 3px!important}
.fixture-card .dv28-front .dv-card-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px!important;margin-top:12px!important;width:100%}
.fixture-card .dv28-front .dv-card-actions>button:first-child{grid-column:1/-1;background:#5d2a99d1!important;border-color:#bb88fd7d!important;font-weight:900!important}
.fixture-card .dv28-front .dv-card-actions .dv-fave{min-width:0!important;width:100%!important;overflow:hidden!important}
.fixture-card .dv28-front .dv-card-actions .dv-fave::before{display:block;overflow:hidden;white-space:nowrap!important;text-overflow:ellipsis}
.fixture-card .dv28-front .dv-card-actions .dv13-card-watch{min-width:0!important;padding:9px 8px!important;background:linear-gradient(100deg,#8a44d4,#4f2679)!important;border-color:#bb7eff66!important;color:white!important}
.fixture-card .dv28-front .dv-card-actions .dv28-flip-trigger{min-width:0!important;background:#2b183d!important}
.fixture-card.dv281-featured .dv28-front,.fixture-card.dv281-featured .dv28-back{border-color:#c993ff9a!important;box-shadow:0 16px 39px #000b,0 0 25px #8145c322!important}
.fixture-card.dv281-featured .fixture-score{text-shadow:0 0 23px #9b51eb55!important}
.fixture-card .dv28-back{padding:19px 21px!important;contain:none!important;overflow-y:auto!important;opacity:1!important;visibility:visible!important;background:radial-gradient(ellipse at 90% 0%,#8e54bd45,transparent 47%),linear-gradient(145deg,#29133f,#100b1b 85%)!important}
.fixture-card .dv28-fact-number{font-size:10px!important;flex:none}
.fixture-card .dv28-fact-title{font-size:clamp(27px,2.8vw,38px)!important;line-height:1.03!important;flex:none}
.fixture-card .dv28-fact-body{min-height:48px!important;flex:0 0 auto;color:#f0e5fd!important;opacity:1!important;visibility:visible!important;animation:none!important;transform:none!important;filter:none!important;text-overflow:initial!important}
.fixture-card .dv28-fact-topic{flex:none}
.fixture-card .dv28-back-actions{flex:none}
.fixture-card .dv28-back::after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#7341b4,#dfbeff,#7341b4);pointer-events:none}
/* Match Center: a broadcast overlay, compact and stable, no giant pitch if data absent. */
#fixtures .fixture-card>.dv13-panel,.dv-global-results .fixture-card>.dv13-panel{top:50%!important;transform:translate(-50%,-50%)!important;height:auto!important;min-height:0!important;max-height:min(85dvh,790px)!important;width:min(950px,calc(100vw - 32px))!important;padding:clamp(13px,2vw,24px)!important;border-radius:17px!important;background:linear-gradient(150deg,#180b26,#0b0713 70%)!important;border:1px solid #a66de28c!important;box-shadow:0 34px 105px #000e,0 0 43px #4f239938!important;animation:dv281-panel-in .22s ease both!important}
@keyframes dv281-panel-in{from{opacity:.5;transform:translate(-50%,calc(-50% + 12px))}to{opacity:1;transform:translate(-50%,-50%)}}
.dv13-panel-top{top:-24px!important;background:#130a20f5!important;margin-bottom:7px!important;padding:8px 0!important}
.dv13-mark{font-size:10px!important;letter-spacing:1.8px!important}
.dv13-match-head{padding:10px!important;background:linear-gradient(105deg,#221139,#150c22)!important;border:1px solid #8660aa4a!important}
.dv13-scoreboard{margin:8px auto 6px!important;max-width:700px!important}
.dv13-team img{max-width:57px!important;max-height:57px!important}
.dv13-bigscore{font-size:clamp(32px,4vw,54px)!important}
.dv13-team strong{font-size:clamp(11px,1.25vw,15px)!important}
.dv13-meta{font-size:10px!important;gap:5px!important}
.dv13-meta span{padding:4px 8px!important}
.dv13-tabs{position:relative!important;top:auto!important;gap:6px!important;background:#0e091a!important;padding:7px!important;margin:10px 0!important}
.dv13-tab{flex:1 1 auto!important;min-width:0!important;font-size:11px!important;white-space:nowrap!important;padding:9px 10px!important}
.dv13-tab.active{background:linear-gradient(120deg,#9d5aea,#57278f)!important;box-shadow:inset 0 0 0 1px #ffffff18!important}
.dv13-tabbody{min-height:90px!important;max-width:100%!important;overflow-x:hidden!important}
.dv16-pitches{gap:12px!important}
.dv16-team-pitch{padding:10px!important;border:1px solid #8355b45c!important;background:#120b1c!important}
.dv16-pitch{height:clamp(300px,38vh,385px)!important;background:radial-gradient(ellipse at center,#5730717c,transparent 71%),repeating-linear-gradient(0deg,#201131 0 48px,#2c1742 48px 96px)!important}
.dv16-team-pitch.dv28-no-lineup .dv16-pitch{height:auto!important;min-height:95px!important;background:#140d22!important}
.dv16-team-pitch.dv28-no-lineup .dv16-pitch-unavailable{font-size:12px!important;max-width:260px!important;margin:auto!important}
.dv16-sidebar{background:#100b1b!important;border-color:#7745b353!important}
.dv13-section{gap:8px!important}
.dv13-tabbody>.dv13-section{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:start!important;max-width:850px!important;margin:4px auto!important}
.dv13-stat{padding:11px 13px!important;border-radius:10px!important;background:linear-gradient(135deg,#241333,#140c20)!important;border-color:#9869c94a!important;box-shadow:inset 0 1px #ffffff0b!important}
.dv13-stat-label{margin:0 0 7px!important;display:grid!important;grid-template-columns:1fr 1.5fr 1fr!important;align-items:center!important}
.dv13-stat-label b{font-size:15px!important;font-variant-numeric:tabular-nums!important}
.dv13-stat-label span{font-size:11px!important;font-weight:700!important;color:#e3d3f1!important}
.dv13-stat-track{height:7px!important;border-radius:99px!important;background:#432756!important}
.dv13-stat-left{background:linear-gradient(90deg,#8642e0,#d4a7ff)!important}
.dv13-events{border-left:2px solid #7e4aaa!important;padding-left:10px!important}
.dv13-event{padding:11px 13px!important;margin:7px 0!important;min-height:0!important;border-radius:10px!important;background:#190e26!important}
.dv13-event-icon{font-size:18px!important}
.dv13-empty{margin:8px auto!important;padding:15px!important;max-width:700px!important;border-color:#77549766!important;background:#130b20!important;color:#d9c4e9!important}
.dv13-panel-footer{margin-top:10px!important;padding-top:11px!important}
/* Navigation and footer: more intentional hierarchy, no unnecessary empty space. */
#vrais-matchs{background:linear-gradient(145deg,#120b1d,#0a0612)!important;border:1px solid #7344a94b!important;box-shadow:0 24px 60px #050209ab!important}
.scores-search-wrap{border-radius:11px!important;border-color:#764b9a61!important;background:#100b1b!important}
#liveFilters button{padding:9px 15px!important}
.dv-channels{padding-top:43px!important}
.dv-channel-card{min-height:172px!important}
.donate{margin-top:60px!important;margin-bottom:48px!important;padding:30px 34px!important;background:linear-gradient(110deg,#1a102a,#0c0817)!important}
.dv-contact{padding-top:25px!important;padding-bottom:28px!important}
.dv-faq{margin-bottom:9px!important;background:linear-gradient(135deg,#191125,#100b1c)!important;border-color:#6b447c46!important}
.dv-contact-box{margin-top:18px!important}
@media(max-width:850px){.dv281-broadcast-comp{display:none}.dv281-broadcast{gap:12px}.dv281-broadcast-label{padding-right:12px}.dv13-tabbody>.dv13-section{grid-template-columns:1fr!important}}
@media(max-width:700px){
 .hero{min-height:clamp(530px,77svh,700px)!important}
 .hero-content{margin:18px 15px 80px!important;padding:12px 0!important;max-width:calc(100% - 30px)!important}
 .hero h1{font-size:clamp(50px,9.4vw,70px)!important}
 .dv28-hero-meta{display:none!important}
 .dv281-broadcast{padding:10px 14px;min-height:66px;gap:10px}
 .dv281-broadcast-label{font-size:9px;letter-spacing:.3px;padding-right:8px}
 .dv281-broadcast-label span:last-child{display:none}
 .dv281-broadcast-match{font-size:11px}
 .dv281-broadcast-status{font-size:10px}
 .dv281-broadcast-link{display:none}
 .dv-signature{padding:22px 14px!important;min-height:280px!important}
 .dv-signature-score{font-size:clamp(40px,10vw,65px)!important}
 .fixture-card .dv28-shell,.fixture-card .dv28-rotor{min-height:335px!important}
 .fixture-card .dv28-front,.fixture-card .dv28-back{min-height:335px!important}
 .fixture-card .dv28-front .dv-card-actions{gap:6px!important}
 #fixtures .fixture-card>.dv13-panel,.dv-global-results .fixture-card>.dv13-panel{top:50%!important;height:auto!important;max-height:calc(100dvh - 22px)!important;width:calc(100vw - 14px)!important;border-radius:13px!important;padding:12px!important}
 .dv13-tabs{gap:4px!important}.dv13-tab{font-size:10px!important;padding:8px!important}
 .dv13-stat-label b{font-size:13px!important}
 .dv16-pitch{height:360px!important}
 .dv16-team-pitch.dv28-no-lineup .dv16-pitch{height:auto!important;min-height:90px!important}
 .donate{padding:24px 18px!important}
}
@media(prefers-reduced-motion:reduce){#dv22-stage .dv22-photo,#dv22-stage .dv22-atmos{animation:none!important}.dv281-broadcast-content{transition:none!important}}
body.dv22-still #dv22-stage .dv22-photo,body.dv22-still #dv22-stage .dv22-atmos{animation:none!important}
