/* DOUBLE-V V18 — visual enhancements; no server/API dependencies */
:root{--dv18-neon:#c25bff;--dv18-hot:#f0a5ff}
.hero{isolation:isolate;background-position:center 43%;background-size:cover;animation:dv18Hero 22s ease-in-out infinite alternate}
.hero::before{content:"";position:absolute;inset:-35%;z-index:0;pointer-events:none;background:conic-gradient(from 50deg at 72% 42%,transparent 0 28%,#9b37e12b 36%,transparent 44% 63%,#bd66ff25 70%,transparent 78%);animation:dv18Sweep 18s linear infinite;mix-blend-mode:screen}
.hero-content{animation:dv18Entrance 1.1s both}.hero h1 em{animation:dv18Title 4s ease-in-out infinite alternate}
@keyframes dv18Hero{from{background-position:48% 42%}to{background-position:55% 49%}}
@keyframes dv18Sweep{to{transform:rotate(360deg)}}@keyframes dv18Title{to{text-shadow:0 0 18px #c56dff,0 0 70px #a133f4}}@keyframes dv18Entrance{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}
.feature,.league-card,.fixture-card,.dv-announce-box,.dv-contact-box{transform-style:preserve-3d;will-change:transform;--mx:50%;--my:50%;--rx:0deg;--ry:0deg;--lift:0px;transform:perspective(950px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(var(--lift));transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;position:relative}
.feature:hover,.league-card:hover,.fixture-card:hover{--lift:-5px;box-shadow:0 12px 42px #aa37ef59,0 0 22px #ae55ff32;border-color:#cb7dff}
.feature::before,.fixture-card::before,.league-card::before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(300px circle at var(--mx) var(--my),#f0a2ff24,transparent 68%);opacity:0;transition:opacity .25s;z-index:0}
.feature:hover::before,.fixture-card:hover::before,.league-card:hover::before{opacity:1}
.dv16-team-pitch{background:linear-gradient(150deg,#2d1742,#130d20 75%);border:1px solid #d184ff9c;box-shadow:0 0 35px #8c2aee44,inset 0 0 25px #ae63ff13}
.dv16-pitch{background:radial-gradient(ellipse at 50% 45%,#68bc8c18,transparent 65%),repeating-linear-gradient(0deg,#173e30 0 55px,#20513a 55px 110px);box-shadow:inset 0 0 35px #030a09bb,0 0 0 1px #c879ff66,0 0 24px #a54cff3d;perspective:800px}
.dv16-pitch::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(125deg,#b65cff12,transparent 45%,#f3d5ff0d);z-index:0}
.dv16-player{width:clamp(70px,7.3vw,110px);gap:3px;z-index:2}
.dv16-avatar{width:43px;height:53px;filter:drop-shadow(0 5px 6px #020408dd)}
.dv16-head{width:13px;height:13px;left:15px;top:0;background:linear-gradient(135deg,#312b3a,#0c0a10);border:1px solid #65566e}
.dv16-avatar::before{content:"";position:absolute;left:13px;top:14px;width:17px;height:31px;border-radius:10px 10px 5px 5px;background:linear-gradient(90deg,#050508,#2b2531 45%,#0b0911);box-shadow:-8px 4px 0 -5px #17121b,8px 4px 0 -5px #17121b}
.dv16-avatar::after{content:"";position:absolute;left:13px;top:40px;width:7px;height:11px;background:#0b0912;border-radius:3px;box-shadow:10px 0 0 #0b0912}
.dv16-shirt{z-index:2;top:13px;left:2px;width:39px;height:29px;background:linear-gradient(115deg,#fff8,transparent 34%,#0005 83%),linear-gradient(90deg,#60208e,#c653ff 48%,#7025a6);box-shadow:inset 0 -5px 6px #0005,0 2px 7px #0008}
.dv16-shirt.dv16-away{background:linear-gradient(115deg,#fff9,transparent 34%,#0004 83%),linear-gradient(90deg,#8fa9bc,#fff 45%,#b8cedc)}
.dv16-shirt.dv16-goalkeeper{background:linear-gradient(115deg,#fff8,transparent 35%,#0005 83%),linear-gradient(90deg,#bd7a10,#ffda58 50%,#a46c13)}
.dv17-shirt-number{font-size:11px;top:8px;color:#fff;text-shadow:0 1px 3px #000}
.dv16-playername{font-size:clamp(10px,1.02vw,13px);max-width:110px;padding:4px 6px;border:1px solid #a87ac477;background:#0b0819f2;box-shadow:0 2px 8px #0007}
.dv16-pitch-heading{font-size:14px}.dv16-pitch-heading span{font-size:12px}
.dv16-sidebar{border-color:#d18aff9c;background:linear-gradient(155deg,#2c173c,#120d20);box-shadow:0 0 28px #a24bea3b}.dv16-sidebar h3{font-size:17px;letter-spacing:1px}
.dv16-sidebar .dv13-stat{margin:12px 0;padding:13px;border:1px solid #b96dfb2b;border-radius:11px;background:#b967ff0b}
.dv16-sidebar .dv13-stat-label span{font-size:12px}.dv16-sidebar .dv13-stat-label{font-size:13px}
.dv18-reveal{opacity:0;transform:translateY(32px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}.dv18-reveal.dv18-visible{opacity:1;transform:translateY(0)}
.dv18-suggest{position:absolute;z-index:35;top:calc(100% + 4px);left:0;right:0;max-height:260px;overflow:auto;background:#160d24f7;border:1px solid #bc6bff;border-radius:12px;box-shadow:0 18px 45px #000b,0 0 25px #9e40eb55;padding:7px}
.dv18-search-anchor{position:relative;flex:1;min-width:220px}.dv18-search-anchor input{width:100%}.dv18-suggest button{width:100%;display:flex;align-items:center;gap:11px;background:transparent;border:0;color:#fff;text-align:left;padding:9px 10px;border-radius:8px;font-size:12px}.dv18-suggest button:hover,.dv18-suggest button:focus-visible{background:#7d36b75e}.dv18-suggest img{height:27px;width:27px;object-fit:contain}.dv18-suggest[hidden]{display:none}
.dv18-goal{position:fixed;z-index:90;top:90px;left:50%;transform:translate(-50%,-130%);pointer-events:none;opacity:0;max-width:min(480px,90vw);padding:18px 28px;border:1px solid #edabff;border-radius:16px;background:linear-gradient(110deg,#4b146e,#1b0d32);box-shadow:0 0 60px #c657ffb5;color:white;text-align:center;font:900 25px 'Barlow Condensed',Impact,sans-serif;letter-spacing:1px}.dv18-goal.active{animation:dv18Goal 4.3s ease both}@keyframes dv18Goal{0%{opacity:0;transform:translate(-50%,-130%) scale(.8)}12%,75%{opacity:1;transform:translate(-50%,0) scale(1)}88%{opacity:0;transform:translate(-50%,-25%) scale(1.04)}100%{opacity:0}}
@media(max-width:1000px){.dv16-player{width:72px}.dv16-playername{font-size:10px;max-width:73px}.dv16-sidebar .dv13-stat-label span{font-size:11px}}
@media(max-width:600px){.hero{animation:none}.dv16-player{width:85px}.dv16-playername{font-size:11px;max-width:85px}.dv18-goal{font-size:20px}.feature,.league-card,.fixture-card{will-change:auto}}
@media(prefers-reduced-motion:reduce){.hero,.hero::before,.hero h1 em,.hero-content,.dv18-goal,.dv18-reveal{animation:none!important;transition:none!important}.dv18-reveal{opacity:1;transform:none}.feature,.league-card,.fixture-card{transform:none!important}}

/* Hotfix V18: never hide entire football sections behind scroll reveal */
.dv18-reveal, .dv18-reveal.dv18-visible {opacity:1!important;transform:none!important;visibility:visible!important;}

/* V18.1 — aucune lumière de projecteur sur les trois cartes principales */
.feature,.feature:hover{transform:none!important;transform-style:flat!important;--rx:0deg!important;--ry:0deg!important;--lift:0px!important;will-change:auto!important;box-shadow:none!important}
.feature::before,.feature:hover::before,.feature::after{display:none!important;content:none!important}
.feature{transition:border-color .2s ease!important}
.feature:hover{border-color:#a773ff8f!important}
