/* Layout premium del sito pubblico (Aspetto → Layout del sito: Premium).
   Si carica DOPO site.css e solo in premium; ogni regola sta sotto html[data-layout="premium"], così il layout base non cambia.
   Attributi su <html>: data-tex="court|parquet|net|ball|dots|none", data-duo (foto in duotono), data-motion (comparse), data-countup (punteggi).
   Tutto usa i colori della società (--blue, --red, --navy): funziona con qualsiasi tavolozza, anche senza foto. */

:root[data-layout="premium"] {
  /* Mezzo campo FIBA disegnato in SVG (linea di fondo in alto): lunetta, area, tiro da tre, cerchio di metà campo */
  --court: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 500 480' fill='none' stroke='%23fff' stroke-width='3'%3E%3Crect x='2' y='2' width='496' height='476'/%3E%3Crect x='168' y='2' width='164' height='193'/%3E%3Ccircle cx='250' cy='195' r='60'/%3E%3Cpath d='M30 2v97M470 2v97M30 99A225 225 0 0 0 470 99'/%3E%3Cpath d='M208 52a42 42 0 0 0 84 0'/%3E%3Cpath d='M222 40h56'/%3E%3Ccircle cx='250' cy='52' r='8'/%3E%3Cpath d='M190 478a60 60 0 0 1 120 0'/%3E%3C/svg%3E");
  --pm-glow: color-mix(in srgb, var(--blue) 28%, transparent);
  --pm-ease: cubic-bezier(.2, .7, .2, 1);
}

/* ---------- 1. Testata: più alta, foto/video a tutto schermo, duotono */
[data-layout="premium"] .hero { min-height: min(760px, 88vh); display: flex; align-items: center; isolation: isolate; }
[data-layout="premium"] .hero > .wrap { width: 100%; }
[data-layout="premium"] .hero-in { z-index: 2; }
[data-layout="premium"] .hero-in { padding-top: 96px; padding-bottom: 96px; }
[data-layout="premium"] .hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
[data-layout="premium"] .hero-bg::after {
  z-index: 1;
  background:
    linear-gradient(180deg, transparent 55%, color-mix(in srgb, var(--navy) 85%, transparent) 100%),
    linear-gradient(100deg, color-mix(in srgb, var(--navy) 92%, transparent) 0%, color-mix(in srgb, var(--navy) 62%, transparent) 48%, color-mix(in srgb, var(--blue) 30%, transparent) 100%);
}
/* duotono: la foto prende la luminosità, il colore lo dà la società */
[data-layout="premium"][data-duo] .hero-bg { background-color: var(--navy-2); background-blend-mode: luminosity; }
[data-layout="premium"][data-duo] .hero-video { filter: grayscale(1) contrast(1.08); mix-blend-mode: luminosity; opacity: .9; }
[data-layout="premium"] .hero h1 { font-size: clamp(3.6rem, 10vw, 7.5rem); text-shadow: 0 4px 30px rgba(0,0,0,.25); }
[data-layout="premium"] .hero h1::after { width: 120px; height: 7px; }
[data-layout="premium"] .next-card { backdrop-filter: blur(6px); box-shadow: 0 30px 80px rgba(0,0,0,.45), 0 0 0 1px rgba(255,255,255,.4); }
[data-layout="premium"] .countdown div { background: linear-gradient(160deg, var(--navy-2), var(--navy)); box-shadow: inset 0 1px 0 rgba(255,255,255,.12); }

/* foto delle squadre e delle news nello stesso duotono */
[data-layout="premium"][data-duo] .tc-img:not(.no-photo),
[data-layout="premium"][data-duo] .tr-img { background-color: var(--navy); background-blend-mode: luminosity; }
[data-layout="premium"][data-duo] .news-img img { filter: grayscale(.35) contrast(1.05); transition: filter .4s, transform .6s var(--pm-ease); }
[data-layout="premium"][data-duo] .news-card:hover .news-img img { filter: none; }
[data-layout="premium"] .tc-img { height: 190px; }
[data-layout="premium"] .tc-img::after { background: linear-gradient(180deg, transparent 30%, color-mix(in srgb, var(--navy) 88%, transparent)), linear-gradient(135deg, color-mix(in srgb, var(--blue) 35%, transparent), transparent 70%); }
[data-layout="premium"] .tc-short { font-size: 5rem; text-shadow: 0 6px 24px rgba(0,0,0,.3); }

/* ---------- 2. Texture: linee del campo sui fondi scuri; sulle sezioni chiare quella scelta (vedi sotto) */
[data-layout="premium"]:not([data-tex="none"]) .hero::before {
  content: ""; position: absolute; z-index: 1; pointer-events: none;
  right: -8%; top: -12%; width: min(820px, 80vw); aspect-ratio: 500 / 480;
  background: var(--court) center / contain no-repeat; opacity: .09; transform: rotate(-8deg);
}
/* squadre senza foto e news senza copertina: campo + sfumatura, niente icone segnaposto */
[data-layout="premium"]:not([data-tex="none"]) .tc-img.no-photo::before,
[data-layout="premium"]:not([data-tex="none"]) .news-img.empty::before {
  content: ""; position: absolute; inset: -10% -20% auto auto; width: 90%; aspect-ratio: 500 / 480; z-index: 1;
  background: var(--court) center / contain no-repeat; opacity: .14; transform: rotate(12deg);
}
[data-layout="premium"] .news-img.empty { position: relative; background: linear-gradient(135deg, var(--navy), var(--navy-2) 55%, var(--blue)); }
[data-layout="premium"]:not([data-tex="none"]) .news-img.empty .ic { display: none; }
/* Ogni sezione: disegno e colore scelti con la matita (data-bg, data-col), altrimenti quelli di tutto il sito
   (sezioni chiare: la texture di Aspetto → Layout premium; sezioni scure: le linee del campo). Il disegno usa --tex-ink. */
[data-layout="premium"] section[data-sec] { position: relative; isolation: isolate; overflow: hidden; --tex-ink: var(--navy); --tex-op: 1; }
[data-layout="premium"] :is(.section-dark, .cta-band, .page-hero, .app-band, .live-section)[data-sec] { --tex-ink: #fff; --tex-op: 2; }
/* matita aperta: la sezione passa sopra le altre e non taglia il riquadro (anche nelle fasce basse) */
[data-layout="premium"] section[data-sec]:has(> .qe[open]) { overflow: visible; z-index: 45; }
[data-layout="premium"] section[data-sec]::before { content: none; position: absolute; z-index: -1; pointer-events: none; }
[data-layout="premium"] .page-hero::after { display: none; }
/* colori delle maglie (se non ci sono, quelli della società) */
[data-layout="premium"] section[data-col="home"] { background: var(--jersey-home, #fff); color: var(--jersey-home-num, var(--navy)); --tex-ink: var(--jersey-home-num, var(--navy)); --tex-op: 1.6; }
[data-layout="premium"] section[data-col="away"] { background: var(--jersey-away, var(--navy)); color: var(--jersey-away-num, #fff); --tex-ink: var(--jersey-away-num, #fff); --tex-op: 2.2; }
[data-layout="premium"] section[data-col] :is(.section-head, .section-head *, .cta-band-in, .cta-band-in *, .app-band-in, .app-band-in *),
[data-layout="premium"] section[data-col] > .wrap > :is(h1, h2, p, .lead, .muted, .eyebrow) { color: inherit; }
[data-layout="premium"] section[data-col] .section-head h2::after { background: currentColor; }
[data-layout="premium"] section[data-col] .day-title { color: inherit; opacity: .85; }

:root[data-layout="premium"] {
  --tex-parquet: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='720' height='660'%3E%3Cfilter id='w' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.0025 0.09' numOctaves='4' seed='11'/%3E%3CfeColorMatrix values='0 0 0 0 .55  0 0 0 0 .36  0 0 0 0 .17  1.1 0 0 0 -.35'/%3E%3C/filter%3E%3Crect width='720' height='660' filter='url(%23w)'/%3E%3Cpath d='M0 110H720M0 220H720M0 330H720M0 440H720M0 550H720M120 0v110M397 110v110M674 220v110M231 330v110M508 440v110M65 550v110M480 0v110M37 110v110M314 220v110M591 330v110M148 440v110M425 550v110' stroke='rgb(110,70,30)' stroke-opacity='.22' stroke-width='1'/%3E%3C/svg%3E");
  --tex-net: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44'%3E%3Cpath d='M0 0L44 44M44 0L0 44' stroke='%23000' stroke-width='1.6' fill='none'/%3E%3C/svg%3E");
  --tex-ball: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 500 500' fill='none' stroke='%23000' stroke-width='9'%3E%3Ccircle cx='250' cy='250' r='240'/%3E%3Cpath d='M250 10v480M10 250h480'/%3E%3Cpath d='M88 73c70 60 105 120 105 177s-35 117-105 177'/%3E%3Cpath d='M412 73c-70 60-105 120-105 177s35 117 105 177'/%3E%3C/svg%3E");
}
/* linee del campo: mezzo campo in filigrana in alto a destra */
[data-layout="premium"] section[data-bg="court"]::before,
[data-layout="premium"][data-tex="court"] .section-alt:not([data-bg])::before,
[data-layout="premium"]:not([data-tex="none"]) :is(.section-dark, .cta-band, .page-hero, .app-band, .live-section):not([data-bg])::before {
  content: ""; right: -120px; top: -80px; width: 620px; aspect-ratio: 500 / 480;
  background: var(--tex-ink); opacity: calc(.05 * var(--tex-op)); transform: rotate(-8deg);
  -webkit-mask: var(--court) center / contain no-repeat; mask: var(--court) center / contain no-repeat;
}
/* parquet: legno vero (rumore SVG) con le doghe sfalsate */
[data-layout="premium"] section[data-bg="parquet"]:not([data-col]), [data-layout="premium"][data-tex="parquet"] .section-alt:not([data-bg]):not([data-col]) { background-color: color-mix(in srgb, #d9a066 7%, var(--bg-alt)); }
[data-layout="premium"] section[data-bg="parquet"]::before,
[data-layout="premium"][data-tex="parquet"] .section-alt:not([data-bg])::before { content: ""; inset: 0; background: var(--tex-parquet) 0 0 / 720px 660px; opacity: .32; mix-blend-mode: multiply; }
[data-layout="premium"] :is(.section-dark, .cta-band, .page-hero, .app-band, .live-section, [data-col="away"])[data-bg="parquet"]::before { mix-blend-mode: soft-light; opacity: .9; }
/* rete del canestro: maglia a rombi che sfuma dall'angolo */
[data-layout="premium"] section[data-bg="net"]::before,
[data-layout="premium"][data-tex="net"] .section-alt:not([data-bg])::before {
  content: ""; right: 0; top: 0; width: min(560px, 70%); height: 100%; background: var(--tex-ink); opacity: calc(.07 * var(--tex-op));
  -webkit-mask: var(--tex-net) 0 0 / 44px 44px, radial-gradient(ellipse at 100% 0%, #000 0%, transparent 70%); -webkit-mask-composite: source-in;
  mask: var(--tex-net) 0 0 / 44px 44px, radial-gradient(ellipse at 100% 0%, #000 0%, transparent 70%); mask-composite: intersect;
}
/* pallone: le cuciture, gigante, in un angolo; gira piano se le animazioni sono accese */
[data-layout="premium"] section[data-bg="ball"]::before,
[data-layout="premium"][data-tex="ball"] .section-alt:not([data-bg])::before {
  content: ""; left: -160px; bottom: -200px; width: 620px; aspect-ratio: 1; background: var(--tex-ink); opacity: calc(.05 * var(--tex-op));
  -webkit-mask: var(--tex-ball) center / contain no-repeat; mask: var(--tex-ball) center / contain no-repeat; transform: rotate(-18deg);
}
[data-layout="premium"][data-motion] section[data-bg="ball"]::before, [data-layout="premium"][data-motion][data-tex="ball"] .section-alt:not([data-bg])::before { animation: pm-spin 140s linear infinite; }
@keyframes pm-spin { to { transform: rotate(342deg); } }
/* retino: puntini da locandina stampata, sfumano in diagonale */
[data-layout="premium"] section[data-bg="dots"]::before,
[data-layout="premium"][data-tex="dots"] .section-alt:not([data-bg])::before {
  content: ""; inset: 0; background: radial-gradient(var(--tex-ink) 1.1px, transparent 1.6px) 0 0 / 14px 14px; opacity: calc(.09 * var(--tex-op));
  -webkit-mask: linear-gradient(135deg, #000 0%, transparent 55%); mask: linear-gradient(135deg, #000 0%, transparent 55%);
}

/* Trasferta: i fondi si invertono (sezioni chiare e squadre → blu scuro, sezione scura → chiara).
   I disegni restano gli stessi, cambia solo il loro colore; il parquet sulle sezioni diventate scure resta blu scuro. */
[data-layout="premium"][data-kit="away"] :is(.section-alt, .section-teams)[data-sec]:not([data-col]),
[data-layout="premium"][data-kit="away"] section.section:not(.section-alt, .section-dark, .section-teams, .live-section)[data-sec]:not([data-col]) { --tex-ink: #fff; --tex-op: 2; }
[data-layout="premium"][data-kit="away"] .section-dark[data-sec]:not([data-col]) { --tex-ink: var(--navy); --tex-op: 1; }
/* Trasferta + parquet sulle sezioni che diventano scure: legno chiaro con una velatura blu trasparente (come parquet + colore maglia) */
[data-layout="premium"][data-kit="away"] :is(.section-alt, .section-teams)[data-bg="parquet"]:not([data-col]),
[data-layout="premium"][data-kit="away"] section.section:not(.section-alt, .section-dark, .section-teams, .live-section)[data-bg="parquet"]:not([data-col]),
[data-layout="premium"][data-kit="away"][data-tex="parquet"] .section-alt:not([data-bg]):not([data-col]) { background: color-mix(in srgb, #d9a066 10%, #f4efe8); --pq-col: var(--navy-2); }
[data-layout="premium"][data-kit="away"] :is(.section-alt, .section-teams)[data-bg="parquet"]:not([data-col])::before,
[data-layout="premium"][data-kit="away"] section.section:not(.section-alt, .section-dark, .section-teams, .live-section)[data-bg="parquet"]:not([data-col])::before,
[data-layout="premium"][data-kit="away"][data-tex="parquet"] .section-alt:not([data-bg]):not([data-col])::before { mix-blend-mode: multiply; opacity: .55; }
[data-layout="premium"][data-kit="away"] :is(.section-alt, .section-teams)[data-bg="parquet"]:not([data-col])::after,
[data-layout="premium"][data-kit="away"] section.section:not(.section-alt, .section-dark, .section-teams, .live-section)[data-bg="parquet"]:not([data-col])::after,
[data-layout="premium"][data-kit="away"][data-tex="parquet"] .section-alt:not([data-bg]):not([data-col])::after {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(100deg, color-mix(in srgb, var(--pq-col) 50%, transparent) 0%, color-mix(in srgb, var(--pq-col) 28%, transparent) 50%, color-mix(in srgb, var(--pq-col) 8%, transparent) 100%);
}
[data-layout="premium"][data-kit="away"] :is(.section-alt, .section-teams)[data-bg="parquet"]:not([data-col]) :is(.section-head, .day-title, .cal-split h2, .cta-band-in, .app-band-in),
[data-layout="premium"][data-kit="away"] section.section:not(.section-alt, .section-dark, .section-teams, .live-section)[data-bg="parquet"]:not([data-col]) :is(.section-head, .day-title, .cal-split h2, .cta-band-in, .app-band-in),
[data-layout="premium"][data-kit="away"][data-tex="parquet"] .section-alt:not([data-bg]):not([data-col]) :is(.section-head, .day-title, .cal-split h2, .cta-band-in, .app-band-in) { text-shadow: 0 1px 10px color-mix(in srgb, var(--navy) 75%, transparent); }
[data-layout="premium"][data-kit="away"] .section-dark[data-bg="parquet"]:not([data-col]) { background-color: color-mix(in srgb, #d9a066 7%, var(--bg-alt)); }
[data-layout="premium"][data-kit="away"] .section-dark[data-bg="parquet"]:not([data-col])::before { mix-blend-mode: multiply; opacity: .32; }

/* Parquet + colore della maglia: il legno resta visibile, il colore della maglia ci passa sopra sfumato (più pieno a sinistra, dove c'è il titolo) */
[data-layout="premium"] section[data-bg="parquet"][data-col] { background: color-mix(in srgb, #d9a066 10%, #f4efe8); }
[data-layout="premium"] section[data-bg="parquet"][data-col]::before { mix-blend-mode: multiply; opacity: .55; }
[data-layout="premium"] section[data-bg="parquet"][data-col]::after {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(100deg, color-mix(in srgb, var(--pq-col) 50%, transparent) 0%, color-mix(in srgb, var(--pq-col) 28%, transparent) 50%, color-mix(in srgb, var(--pq-col) 8%, transparent) 100%);
}
[data-layout="premium"] section[data-bg="parquet"][data-col="home"] { --pq-col: var(--jersey-home, #fff); }
[data-layout="premium"] section[data-bg="parquet"][data-col="away"] { --pq-col: var(--jersey-away, var(--navy)); }

/* titoli di sezione: barretta d'accento */
[data-layout="premium"] .section-head h2 { position: relative; padding-bottom: 10px; }
[data-layout="premium"] .section-head h2::after { content: ""; position: absolute; left: 0; bottom: 0; width: 48px; height: 4px; border-radius: 2px; background: var(--red); transition: width .7s var(--pm-ease) .2s; }

/* ---------- 3. Movimento: schede che si sollevano, comparse allo scroll, punteggi che contano */
[data-layout="premium"] .team-card,
[data-layout="premium"] .news-card,
[data-layout="premium"] .mc,
[data-layout="premium"] .price-card,
[data-layout="premium"] .score-card { transition: transform .35s var(--pm-ease), box-shadow .35s var(--pm-ease), border-color .35s; }
[data-layout="premium"] .team-card:hover,
[data-layout="premium"] .news-card:hover,
[data-layout="premium"] .price-card:hover { transform: translateY(-6px); box-shadow: 0 22px 44px -12px var(--pm-glow), 0 4px 12px color-mix(in srgb, var(--navy) 8%, transparent); border-color: color-mix(in srgb, var(--blue) 35%, var(--line)); }
[data-layout="premium"] .mc:hover { transform: translateY(-3px); box-shadow: 0 16px 34px -10px var(--pm-glow); }
[data-layout="premium"] .tc-img { transition: transform .7s var(--pm-ease); }
[data-layout="premium"] .team-card:hover .tc-img { transform: scale(1.06); }
[data-layout="premium"] .team-card:hover .tc-short { transform: translateX(6px); }
[data-layout="premium"] .tc-short { transition: transform .5s var(--pm-ease); }
[data-layout="premium"] .news-card:hover .news-img img { transform: scale(1.07); }
[data-layout="premium"] .link-arrow .ic { transition: transform .25s var(--pm-ease); }
[data-layout="premium"] .link-arrow:hover .ic { transform: translateX(4px); }
[data-layout="premium"] .btn { transition: transform .2s var(--pm-ease), background .2s, box-shadow .25s; }
[data-layout="premium"] .btn-red:hover { box-shadow: 0 10px 26px color-mix(in srgb, var(--red) 45%, transparent); }

/* comparse: attive solo quando lo script ha messo .pm-ready (senza JS si vede tutto) */
[data-layout="premium"][data-motion].pm-ready .pm-rv { opacity: 0; transform: translateY(28px); transition: opacity .7s var(--pm-ease), transform .8s var(--pm-ease); transition-delay: calc(var(--i, 0) * 80ms); }
[data-layout="premium"][data-motion].pm-ready .pm-rv.pm-in { opacity: 1; transform: none; }
[data-layout="premium"][data-motion].pm-ready .section-head.pm-rv:not(.pm-in) h2::after { width: 0; }
/* testata: il titolo sale all'apertura, la foto si avvicina piano */
[data-layout="premium"][data-motion] .hero-text > * { animation: pm-rise .9s var(--pm-ease) both; }
[data-layout="premium"][data-motion] .hero-text > :nth-child(2) { animation-delay: .08s; }
[data-layout="premium"][data-motion] .hero-text > :nth-child(3) { animation-delay: .18s; }
[data-layout="premium"][data-motion] .hero-text > :nth-child(4) { animation-delay: .28s; }
[data-layout="premium"][data-motion] .hero-in > .next-card { animation: pm-rise 1s var(--pm-ease) .3s both; }
[data-layout="premium"][data-motion] .hero-bg { animation: pm-zoom 22s ease-out both; }
[data-layout="premium"][data-motion] .countdown b.pm-tick { animation: pm-flip .45s var(--pm-ease); }
@keyframes pm-rise { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }
@keyframes pm-zoom { from { transform: scale(1.12); } to { transform: scale(1); } }
@keyframes pm-flip { 0% { transform: rotateX(90deg); opacity: .2; } 100% { transform: none; opacity: 1; } }
/* punteggio appena «arrivato»: un piccolo colpo */
[data-layout="premium"] .mc-mid.score.pm-done { animation: pm-pop .4s var(--pm-ease); }
@keyframes pm-pop { 50% { transform: scale(1.12); } }
[data-layout="premium"] .mc-mid.score { font-variant-numeric: tabular-nums; display: inline-block; }

/* ---------- Pagine interne: testate, squadra, foto, roster, sponsor, iscrizioni */
[data-layout="premium"] .page-hero { padding: 88px 0 72px; }
[data-layout="premium"] .page-hero h1 { font-size: clamp(3.2rem, 8vw, 5.6rem); line-height: .95; }
[data-layout="premium"] .page-hero h1::after { content: ""; display: block; width: 72px; height: 6px; border-radius: 3px; background: var(--red); margin-top: 14px; }
[data-layout="premium"][data-motion] :is(.page-hero, .team-hero-in) > .wrap > *,
[data-layout="premium"][data-motion] .page-hero > .wrap > *,
[data-layout="premium"][data-motion] .team-hero-in > * { animation: pm-rise .8s var(--pm-ease) both; }
[data-layout="premium"][data-motion] .page-hero > .wrap > :nth-child(2),
[data-layout="premium"][data-motion] .team-hero-in > :nth-child(2) { animation-delay: .08s; }
[data-layout="premium"][data-motion] .page-hero > .wrap > :nth-child(3),
[data-layout="premium"][data-motion] .team-hero-in > :nth-child(3) { animation-delay: .16s; }
[data-layout="premium"][data-motion] .page-hero > .wrap > :nth-child(4),
[data-layout="premium"][data-motion] .team-hero-in > :nth-child(4) { animation-delay: .24s; }

/* pagina squadra: foto in duotono, campo in filigrana, sigla gigante che entra da destra */
[data-layout="premium"] .team-hero { overflow: hidden; isolation: isolate; }
[data-layout="premium"] .team-hero-in { padding-top: 80px; padding-bottom: 72px; }
[data-layout="premium"][data-duo] .team-hero,
[data-layout="premium"][data-duo] .join-hero { background-color: var(--navy-2); background-blend-mode: luminosity; }
[data-layout="premium"]:not([data-tex="none"]) .team-hero::after {
  content: ""; position: absolute; z-index: 0; pointer-events: none; left: -100px; bottom: -220px; width: 600px; aspect-ratio: 500 / 480;
  background: var(--court) center / contain no-repeat; opacity: .08; transform: rotate(18deg);
}
[data-layout="premium"] .team-hero-short { font-size: 18rem; color: transparent; -webkit-text-stroke: 2px rgba(255,255,255,.14); }
[data-layout="premium"][data-motion] .team-hero-short { animation: pm-slide 1.2s var(--pm-ease) .1s both; }
@keyframes pm-slide { from { opacity: 0; transform: translateX(80px); } to { opacity: 1; transform: none; } }
[data-layout="premium"] .subnav a { transition: color .2s, border-color .25s; }

/* foto: in duotono, a colori al passaggio del mouse */
[data-layout="premium"] .photo img { transition: transform .7s var(--pm-ease), filter .5s; }
[data-layout="premium"][data-duo] .photo img { filter: grayscale(.4) contrast(1.05); }
[data-layout="premium"] .photo:hover img { transform: scale(1.06); filter: none; }
[data-layout="premium"] .photo figcaption { transition: padding .35s var(--pm-ease); }
[data-layout="premium"] .photo:hover figcaption { padding-bottom: 18px; }

/* figurine del roster e giocatori */
[data-layout="premium"] .pc { transition: transform .35s var(--pm-ease), box-shadow .35s var(--pm-ease); }
[data-layout="premium"] .pc:hover { transform: translateY(-6px) rotate(-.6deg); box-shadow: 0 24px 46px -14px var(--pm-glow); }
[data-layout="premium"] .player-photo img { transition: transform .6s var(--pm-ease), filter .4s; }
[data-layout="premium"][data-duo] .player-photo img { filter: grayscale(.3); }
[data-layout="premium"] .pc:hover .player-photo img { transform: scale(1.05); filter: none; }
[data-layout="premium"]:not([data-tex="none"]) .player-photo:not(.has-photo) { background-image: var(--court), linear-gradient(160deg, var(--blue), var(--navy)); background-size: 150% auto, cover; background-position: center top, center; background-repeat: no-repeat; }

/* sponsor, clip, prodotti, passi dell'iscrizione: si sollevano */
[data-layout="premium"] :is(.sponsor-grid a, .clip, .product, .steps li, .join-card, .std-box, .vid) { transition: transform .35s var(--pm-ease), box-shadow .35s var(--pm-ease); }
[data-layout="premium"] :is(.sponsor-grid a, .clip, .product, .steps li):hover { transform: translateY(-5px); box-shadow: 0 18px 38px -12px var(--pm-glow); }
[data-layout="premium"] .sponsor-grid img { transition: transform .4s var(--pm-ease); }
[data-layout="premium"] .sponsor-grid a:hover img { transform: scale(1.06); }
[data-layout="premium"] .steps li { position: relative; overflow: hidden; }
[data-layout="premium"] .steps b { box-shadow: 0 8px 20px color-mix(in srgb, var(--red) 35%, transparent); }
[data-layout="premium"] .faq summary { transition: color .2s; }
[data-layout="premium"] .faq summary:hover { color: var(--blue); }
[data-layout="premium"] .faq summary::after { transition: transform .3s var(--pm-ease); }
[data-layout="premium"] .faq details[open] summary::after { transform: rotate(180deg); }
[data-layout="premium"] .prose img { border-radius: var(--radius); box-shadow: 0 18px 40px -16px color-mix(in srgb, var(--navy) 35%, transparent); }

/* ---------- Tema «Trasferta» (maglia della prossima partita): testata chiara con le scritte scure, come nel layout base */
[data-layout="premium"][data-kit="away"] .hero-bg::after {
  background:
    linear-gradient(180deg, transparent 60%, rgba(255,255,255,.7) 100%),
    linear-gradient(100deg, rgba(255,255,255,.95) 0%, rgba(255,255,255,.82) 48%, rgba(255,255,255,.45) 100%);
}
[data-layout="premium"][data-kit="away"][data-duo] .hero-bg { background-color: color-mix(in srgb, var(--blue) 22%, #fff); }
[data-layout="premium"][data-kit="away"][data-duo] .hero-video { mix-blend-mode: multiply; opacity: .55; }
[data-layout="premium"][data-kit="away"] .hero h1 { text-shadow: none; }
[data-layout="premium"][data-kit="away"]:not([data-tex="none"]) .hero::before { background: var(--navy); opacity: .07; -webkit-mask: var(--court) center / contain no-repeat; mask: var(--court) center / contain no-repeat; }
[data-layout="premium"][data-kit="away"] .countdown div { background: #fff; box-shadow: none; }
[data-layout="premium"][data-kit="away"] .next-card { box-shadow: 0 30px 70px -20px color-mix(in srgb, var(--navy) 55%, transparent); }

@media (max-width: 900px) {
  [data-layout="premium"] .hero { min-height: 0; }
  [data-layout="premium"] .page-hero { padding: 56px 0 48px; }
  [data-layout="premium"] .team-hero-short { font-size: 10rem; }
  [data-layout="premium"] .hero-in { padding-top: 64px; padding-bottom: 64px; }
  [data-layout="premium"]:not([data-tex="none"]) .hero::before { width: 120vw; right: -50%; top: -5%; }
}
@media (prefers-reduced-motion: reduce) {
  [data-layout="premium"] *, [data-layout="premium"] *::before, [data-layout="premium"] *::after { animation: none !important; transition: none !important; }
  [data-layout="premium"].pm-ready .pm-rv { opacity: 1 !important; transform: none !important; }
}
/* parquet + colore trasferta: la velatura è leggera, un'ombra tiene leggibili i titoli chiari */
[data-layout="premium"] section[data-bg="parquet"][data-col="away"] :is(.section-head, .cta-band-in, .app-band-in) { text-shadow: 0 1px 10px color-mix(in srgb, var(--jersey-away, var(--navy)) 70%, transparent); }

/* ---------- Testata componibile (Aspetto → Testata della home, o matita ✎ sulla testata): classifica, ultimo risultato, news in evidenza.
   Nel premium classico i riquadri stanno in una fila sotto titolo e prossima partita; le pelli (site-skins.css) li dispongono a modo loro. */
.hx-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
[data-layout="premium"] .hx-notitle .hero-in { grid-template-columns: minmax(0, 560px); justify-content: center; }
[data-layout="premium"] .hx-strip { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
[data-layout="premium"] .hx-tile { position: relative; display: flex; flex-direction: column; gap: 4px; min-width: 0; padding: 18px 20px; border-radius: var(--radius); text-decoration: none; color: #fff;
  background: color-mix(in srgb, var(--navy) 55%, transparent); border: 1px solid rgba(255,255,255,.18); backdrop-filter: blur(6px); overflow: hidden;
  transition: transform .3s var(--pm-ease), border-color .3s; }
[data-layout="premium"] .hx-tile:hover { transform: translateY(-3px); border-color: rgba(255,255,255,.45); }
[data-layout="premium"] .hx-k { font-size: .74rem; font-weight: 800; text-transform: uppercase; letter-spacing: 1.2px; color: var(--soft-light); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
[data-layout="premium"] .hx-big { font-family: var(--font-head); font-weight: 400; font-size: 4.2rem; line-height: .9; font-variant-numeric: tabular-nums; }
[data-layout="premium"] .hx-big small { font-size: .5em; vertical-align: top; }
[data-layout="premium"] .hx-say { font-size: 1.15rem; line-height: 1.25; }
[data-layout="premium"] .hx-sub { font-size: .88rem; color: var(--soft-light); }
[data-layout="premium"] .hx-standing.hx-top .hx-big { color: var(--red); }
[data-layout="premium"] .hx-score { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; font-weight: 700; font-size: .92rem; line-height: 1.2; }
[data-layout="premium"] .hx-score .hx-tm:last-child { text-align: right; }
[data-layout="premium"] .hx-score b { font-family: var(--font-head); font-weight: 400; font-size: 2.6rem; line-height: 1; white-space: nowrap; font-variant-numeric: tabular-nums; }
[data-layout="premium"] .hx-score b i { font-style: normal; opacity: .5; margin: 0 4px; }
[data-layout="premium"] .hx-wl { font-weight: 800; text-transform: uppercase; letter-spacing: 1px; font-size: .74rem; padding: 2px 7px; border-radius: 4px; background: rgba(255,255,255,.14); }
[data-layout="premium"] .hx-last.win .hx-wl { background: var(--win); color: #fff; }
[data-layout="premium"] .hx-last.loss .hx-wl { background: var(--loss); color: #fff; }
[data-layout="premium"] .hx-news .hx-img { display: block; margin: -18px -20px 10px; aspect-ratio: 16 / 7; overflow: hidden; background: var(--navy); }
[data-layout="premium"] .hx-news .hx-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--pm-ease); }
[data-layout="premium"] .hx-news:hover .hx-img img { transform: scale(1.05); }
[data-layout="premium"] .hx-more { margin-top: auto; padding-top: 6px; font-weight: 700; font-size: .9rem; color: var(--soft-light); }
[data-layout="premium"][data-kit="away"] .hx-tile { background: rgba(255,255,255,.88); color: var(--navy); border-color: var(--line); }
[data-layout="premium"][data-kit="away"] :is(.hx-k, .hx-sub, .hx-more) { color: var(--muted); }
[data-layout="premium"][data-motion] .hero-in > .hx-strip { animation: pm-rise 1s var(--pm-ease) .45s both; }
@media (max-width: 600px) { [data-layout="premium"] .hx-strip { grid-template-columns: 1fr; } }
