/* LYVZEO — tema 3D: foto sportive HD in trasparenza, vetro smerigliato, profondità. Solo grafica. */
:root{
  --u:"https://images.unsplash.com/";
  --ph-stadium:url("https://images.unsplash.com/photo-1762013315117-1c8005ad2b41?auto=format&fit=crop&w=2200&q=72");
  --ph-ball:url("https://images.unsplash.com/photo-1520804588595-ac2328f38c4a?auto=format&fit=crop&w=1600&q=72");
  --ph-tennis:url("https://images.unsplash.com/photo-1627314387807-df615e8567de?auto=format&fit=crop&w=1600&q=72");
  --ph-basket:url("https://images.unsplash.com/photo-1559369064-c4d65141e408?auto=format&fit=crop&w=1600&q=72");
  --glass:rgba(255,255,255,.80);--glass-b:rgba(255,255,255,.55);
  --deep:0 1px 0 rgba(255,255,255,.7) inset,0 2px 4px rgba(4,20,14,.10),0 12px 28px -6px rgba(4,30,20,.28),0 30px 60px -20px rgba(4,30,20,.35);
  --neon:#2dff8a;
}
/* Sfondo: stadio notturno HD in trasparenza */
body{background-color:#05140e;background-image:
  radial-gradient(1200px 520px at 50% -80px,rgba(70,255,160,.20),transparent 70%),
  linear-gradient(180deg,rgba(3,20,13,.18) 0,rgba(4,26,17,.45) 55%,rgba(4,24,16,.78) 100%),
  var(--ph-stadium);
  background-size:auto,auto,cover;background-position:center,center,center 30%;background-attachment:scroll,fixed,fixed}
@media (max-width:820px){body{background-attachment:scroll,scroll,scroll;background-size:auto,auto,auto 100vh;background-repeat:no-repeat,repeat,no-repeat}}

/* Barra superiore in vetro */
.topbar{background:rgba(255,255,255,.93)!important;backdrop-filter:blur(18px) saturate(1.6);-webkit-backdrop-filter:blur(18px) saturate(1.6);
  box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 10px 30px -10px rgba(0,0,0,.45);border-bottom:1px solid rgba(255,255,255,.5)}
.mainnav a.active{background:linear-gradient(180deg,#2bd16a,#11853d)!important;color:#fff!important;box-shadow:0 6px 16px -4px rgba(19,132,61,.7),0 1px 0 rgba(255,255,255,.5) inset}

/* Pannelli in vetro smerigliato */
.card,.results,.tile,.explorer{background:var(--glass)!important;backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);
  border:1px solid var(--glass-b)!important;box-shadow:var(--deep)!important}
.view.page{position:relative}
.view.page>*:not(.page-hero){position:relative}
.view.page>.notice,.view.page>.warning,.view.page>p,.view.page>h2{background:rgba(255,255,255,.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:12px;padding:10px 14px}
.comp-list{background:rgba(250,252,253,.65)!important}

/* Card servizi 3D: lucidatura, profondità, inclinazione */
.rail{perspective:900px}
.svc{transform-style:preserve-3d;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s;will-change:transform;
  box-shadow:0 1px 0 rgba(255,255,255,.45) inset,0 -10px 24px -12px rgba(0,0,0,.35) inset,0 14px 26px -8px rgba(0,0,0,.45),0 30px 50px -24px rgba(0,0,0,.55)!important;
  border:1px solid rgba(255,255,255,.28)}
.svc::before{background:linear-gradient(160deg,rgba(255,255,255,.42) 0,rgba(255,255,255,.08) 38%,transparent 40%)!important;opacity:1!important}
.svc:hover{transform:translateY(-4px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) scale(1.02)}
.svc-ico{filter:drop-shadow(0 6px 8px rgba(0,0,0,.35));transform:translateZ(30px)}
.svc-txt strong{text-shadow:0 2px 6px rgba(0,0,0,.35)}
.svc .go{box-shadow:0 4px 10px rgba(0,0,0,.3),0 1px 0 rgba(255,255,255,.7) inset;transform:translateZ(20px)}
.community-cta{background-image:linear-gradient(120deg,rgba(6,40,24,.92),rgba(6,40,24,.55)),var(--ph-ball)!important;background-size:cover!important;background-position:center!important;
  box-shadow:var(--deep)!important;border:1px solid rgba(255,255,255,.25)}

/* Banner: foto HD + luce stadio */
.banner{background:#062014 var(--ph-ball) center 62%/cover;box-shadow:0 20px 50px -18px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.18) inset!important}
.banner-art{opacity:.42;mix-blend-mode:screen}
.banner::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(3,25,15,.85) 0,rgba(3,25,15,.35) 55%,rgba(3,25,15,.75) 100%);pointer-events:none}
.banner-inner{z-index:1}
.banner h1{background:linear-gradient(180deg,#fff 30%,#bfffd8);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 14px rgba(0,0,0,.6))}
.banner-side{color:var(--neon)!important;text-shadow:0 0 22px rgba(45,255,138,.75)}

/* Tile in basso con foto traslucide per sport */
.tile{position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s}
.tile::before{content:"";position:absolute;inset:0;background-size:cover;background-position:center;opacity:1;transition:opacity .3s,transform .6s;z-index:0}
.tile>*{position:relative;z-index:1}
.tile:hover{transform:translateY(-5px) scale(1.01)}
.tile:hover::before{transform:scale(1.06)}
.tile:nth-child(1)::before{background-image:linear-gradient(90deg,rgba(255,255,255,.95) 0,rgba(255,255,255,.86) 55%,rgba(255,255,255,.45) 100%),var(--ph-stadium)}
.tile:nth-child(2)::before{background-image:linear-gradient(90deg,rgba(255,255,255,.95) 0,rgba(255,255,255,.86) 55%,rgba(255,255,255,.45) 100%),var(--ph-basket)}
.tile:nth-child(3)::before{background-image:linear-gradient(90deg,rgba(255,255,255,.95) 0,rgba(255,255,255,.86) 55%,rgba(255,255,255,.45) 100%),var(--ph-tennis)}
.tile-go{background:linear-gradient(180deg,#2bd16a,#11853d)!important;color:#fff!important;box-shadow:0 6px 14px -4px rgba(19,132,61,.8)}

/* Intestazioni pagine: colore + foto in trasparenza */
.page-hero{background-blend-mode:soft-light,normal;box-shadow:0 18px 40px -16px rgba(0,0,0,.6),0 1px 0 rgba(255,255,255,.35) inset!important;border:1px solid rgba(255,255,255,.22)}
.page-hero::before{content:"";position:absolute;inset:0;background-size:cover;background-position:center;opacity:.30;mix-blend-mode:luminosity;pointer-events:none}
.page-hero>*{position:relative}
.page-hero h1{text-shadow:0 4px 18px rgba(0,0,0,.45)}
[data-view=classifiche] .page-hero::before,[data-view=match] .page-hero::before{background-image:var(--ph-stadium)}
[data-view=risultati] .page-hero::before,[data-view=trader] .page-hero::before,[data-view=schedina] .page-hero::before{background-image:var(--ph-ball)}
[data-view=calendario] .page-hero::before,[data-view=premium] .page-hero::before,[data-view=scansione] .page-hero::before{background-image:var(--ph-tennis)}
[data-view=statistiche] .page-hero::before,[data-view=pvr] .page-hero::before,[data-view=pronostici] .page-hero::before,[data-view=servizi] .page-hero::before,[data-view=servizio] .page-hero::before{background-image:var(--ph-basket)}

/* Righe partite: rilievo leggero */
.match-list>*{transition:background .2s,transform .2s}
.match-list>*:hover{background:rgba(255,255,255,.95);transform:translateX(2px)}
.live-pill{box-shadow:0 0 0 0 rgba(229,35,59,.6);animation:lyvPulse 1.6s infinite}
@keyframes lyvPulse{0%{box-shadow:0 0 0 0 rgba(229,35,59,.55)}70%{box-shadow:0 0 0 8px rgba(229,35,59,0)}100%{box-shadow:0 0 0 0 rgba(229,35,59,0)}}
.btn-green,.chip-accent{background:linear-gradient(180deg,#2bd16a,#11853d)!important;box-shadow:0 8px 18px -6px rgba(19,132,61,.8),0 1px 0 rgba(255,255,255,.45) inset}

/* Barra in basso su mobile in vetro */
.bottom-nav{background:rgba(255,255,255,.82)!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 -10px 30px -10px rgba(0,0,0,.4)}

.photo-credit{margin:18px auto 6px;max-width:1300px;text-align:center;font-size:12px;color:rgba(255,255,255,.7)}
.photo-credit a{color:#c9ffe0}

@supports not ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){.card,.results,.tile,.explorer,.topbar,.bottom-nav{background:#fff!important}}
@media (prefers-reduced-motion:reduce){.svc,.tile,.tile::before,.match-list>*{transition:none}.live-pill{animation:none}.svc:hover{transform:none}}
.results,.explorer{background:rgba(255,255,255,.92)!important}
.tile{background:rgba(255,255,255,.88)!important}
.footer{background:rgba(3,12,22,.86)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid rgba(255,255,255,.08)}
.days a,.days button,.status-tabs button{transition:transform .15s,box-shadow .15s}
.days .active,.status-tabs .active{box-shadow:0 8px 18px -6px rgba(19,132,61,.75),0 1px 0 rgba(255,255,255,.45) inset}
