/* =====================================================================
   ASD Virtus Adda – child theme BigSlam
   Palette dallo stemma: rosso #C62B32, blu #25398F, blu notte #0F1733
   ===================================================================== */
:root{
	--va-red:#C62B32;
	--va-red-dark:#8E1D23;
	--va-blue:#25398F;
	--va-navy:#0F1733;
	--va-navy-2:#1E2A55;
	--va-ground:#F6F4EF;
	--va-ink:#141726;
	--va-muted:#5A5F70;
	--va-line:#E6E3DB;
	--va-display:'Barlow Condensed','Barlow',Arial,sans-serif;
	--va-body:'Barlow',Arial,sans-serif;
	--va-radius:10px;
}

/* ---------- Tipografia globale (sostituisce Jost dal server demo) ---------- */
body, .bigslam-body, p, input, select, textarea, button,
.gdlr-core-body, .gdlr-core-text-box-item, .bigslam-content-area{
	font-family:var(--va-body) !important;
}
h1, h2, h3, h4, h5, h6,
.bigslam-navigation .sf-menu > li > a,
.bigslam-navigation .sf-menu .sub-menu a,
.gdlr-core-title-item-title, .gdlr-core-title-item-caption,
.bigslam-page-title, .bigslam-page-caption,
.gdlr-core-button, .bigslam-button, input[type="submit"],
.bigslam-footer-wrapper .bigslam-widget-title, .widget-title,
.gdlr-core-blog-title, .sp-template-caption, .sp-table-caption{
	font-family:var(--va-display) !important;
	letter-spacing:.01em;
}
h1, h2, h3, .gdlr-core-title-item-title{ text-transform:uppercase; }
body{ color:var(--va-ink); }
a{ color:var(--va-blue); }
a:hover{ color:var(--va-red); }

/* ---------- Preloader disattivato: il contenuto compare subito ---------- */
.bigslam-page-preload, .gdlr-core-page-preload{ display:none !important; }

/* ---------- Focus visibile per chi naviga da tastiera ---------- */
a:focus-visible, button:focus-visible, input:focus-visible, .va-roster:focus-visible{
	outline:3px solid #FFB020 !important; outline-offset:3px; border-radius:4px;
}

/* ---------- Top bar + header ---------- */
.bigslam-top-bar{ background:var(--va-navy) !important; border:0 !important; }
.bigslam-top-bar a, .bigslam-top-bar i{ color:#C9D0EA !important; }
.bigslam-top-bar a:hover, .bigslam-top-bar a:hover i{ color:#fff !important; }

.bigslam-header-background, .bigslam-header-wrap.bigslam-header-style-plain,
.bigslam-sticky-navigation .bigslam-header-background{
	background-color:var(--va-navy) !important;
}
.bigslam-with-transparent-header .bigslam-header-background{
	background:linear-gradient(180deg, rgba(15,23,51,.85), rgba(15,23,51,0)) !important;
}
.bigslam-navigation .sf-menu > li > a{
	font-size:16px !important; font-weight:700 !important;
	text-transform:uppercase; letter-spacing:.05em !important;
	color:#fff !important;
}
.bigslam-navigation .sf-menu > li > a:hover,
.bigslam-navigation .sf-menu > li.current-menu-item > a,
.bigslam-navigation .sf-menu > li.current-menu-ancestor > a{ color:#FFC9CC !important; }
.bigslam-navigation-slide-bar, .bigslam-navigation .bigslam-navigation-slide-bar{
	border-color:var(--va-red) !important; background:var(--va-red) !important;
}
.bigslam-navigation .sf-menu .sub-menu{ background:var(--va-navy) !important; border-top:3px solid var(--va-red); }
.bigslam-navigation .sf-menu .sub-menu li,
.bigslam-navigation .sf-menu .sub-menu li:hover{ background:transparent !important; border-color:rgba(255,255,255,.08) !important; }
.bigslam-navigation .sf-menu .sub-menu{ box-shadow:0 16px 32px rgba(0,0,0,.3); min-width:220px; }
.bigslam-navigation .sf-menu .sub-menu a{ color:#DDE2F3 !important; font-size:15px !important; text-transform:uppercase; }
.bigslam-navigation .sf-menu .sub-menu a:hover{ color:#fff !important; background:var(--va-navy-2) !important; }

/* ---------- Titoli pagina interne ---------- */
.bigslam-page-title-wrap{ background-color:var(--va-navy) !important; }
.bigslam-page-title-wrap .bigslam-page-title-overlay{ background:var(--va-navy) !important; opacity:.75 !important; }
.bigslam-page-title{ font-weight:800 !important; }

/* ---------- Pulsanti e accenti di BigSlam / GoodLayers ---------- */
.gdlr-core-button, .bigslam-button, input[type="submit"], .wpcf7-submit{
	background:var(--va-red) !important; border-color:var(--va-red) !important;
	color:#fff !important; border-radius:6px !important; text-transform:uppercase;
}
.gdlr-core-button:hover, input[type="submit"]:hover, .wpcf7-submit:hover{
	background:var(--va-red-dark) !important; border-color:var(--va-red-dark) !important;
}
.gdlr-core-title-item-left-icon, .gdlr-core-title-item-divider{ color:var(--va-red) !important; border-color:var(--va-red) !important; }

/* ---------- Footer ---------- */
.bigslam-footer-wrapper{ background:var(--va-navy) !important; color:#C9D0EA !important; }
.bigslam-footer-wrapper a{ color:#C9D0EA !important; }
.bigslam-footer-wrapper a:hover{ color:#fff !important; }
.bigslam-footer-wrapper .bigslam-widget-title, .bigslam-footer-wrapper h3{ color:#fff !important; text-transform:uppercase; }
.bigslam-copyright-wrapper{ background:#0B1128 !important; color:#9AA3C8 !important; border-top:1px solid #243061 !important; }



/* Header e top bar allineati alla stessa griglia dei contenuti */
@media (min-width:1000px){
	.bigslam-header-container.bigslam-header-full,
	.bigslam-top-bar-container.bigslam-top-bar-full{ max-width:1320px !important; margin-left:auto !important; margin-right:auto !important; }
	/* il logo e' sovrapposto a sinistra: il menu parte dopo lo stemma */
	.bigslam-header-container .bigslam-navigation{ padding-left:150px !important; }
	.bigslam-header-container .bigslam-logo img{ width:auto; max-height:120px; }
}
@media (min-width:1000px){
	.bigslam-navigation .sf-menu > li{ padding-left:14px !important; padding-right:14px !important; }
	.bigslam-navigation .sf-menu > li.va-menu-cta{ margin-left:8px; padding-right:0 !important; }
}
@media (min-width:1000px) and (max-width:1300px){
	.bigslam-navigation .sf-menu > li{ padding-left:9px !important; padding-right:9px !important; }
	.bigslam-navigation .sf-menu > li > a{ font-size:14px !important; }
	.bigslam-header-container .bigslam-navigation{ padding-left:125px !important; }
}
.bigslam-navigation .sf-menu{ white-space:nowrap; }

/* =====================================================================
   HOME – griglia unica e ritmo costante
   Contenitore 1320px (come il tema) · sezioni 100px · titoli uniformi
   ===================================================================== */
.va-home{
	--va-container:1320px; --va-gutter:20px; --va-space:100px;
	--va-edge:max(var(--va-gutter), calc((100vw - var(--va-container)) / 2 + var(--va-gutter)));
	background:var(--va-ground); font-family:var(--va-body); color:var(--va-ink); overflow:hidden;
}
.va-home *{ box-sizing:border-box; }
.va-home h1, .va-home h2, .va-home p{ margin:0; }
.va-wrap{ max-width:var(--va-container); margin:0 auto; padding:0 var(--va-gutter); }

/* Pulsanti (una sola misura) */
.va-btn{
	display:inline-flex; align-items:center; justify-content:center; gap:10px;
	height:52px; padding:0 28px; border-radius:6px;
	font-family:var(--va-display); font-weight:700; font-size:18px; letter-spacing:.06em;
	text-transform:uppercase; text-decoration:none !important;
	transition:background-color .18s ease, color .18s ease, transform .18s ease;
}
.va-btn:hover{ transform:translateY(-2px); }
.va-btn-red{ background:var(--va-red); color:#fff !important; }
.va-btn-red:hover{ background:#D8333B; }
.va-btn-ghost{ border:2px solid rgba(255,255,255,.7); color:#fff !important; }
.va-btn-ghost:hover{ background:#fff; color:var(--va-navy) !important; }
.va-btn-white{ background:#fff; color:var(--va-red) !important; }

/* Animazioni sobrie */
@keyframes va-up{ from{ opacity:0; transform:translateY(20px); } to{ opacity:1; transform:none; } }
@keyframes va-pulse{ 0%{ box-shadow:0 0 0 0 rgba(255,255,255,.7); } 70%{ box-shadow:0 0 0 8px rgba(255,255,255,0); } 100%{ box-shadow:0 0 0 0 rgba(255,255,255,0); } }
@keyframes va-marquee{ from{ transform:translateX(0); } to{ transform:translateX(-100%); } }
.va-in{ opacity:0; animation:va-up .7s cubic-bezier(.2,.7,.2,1) forwards; }
.va-d1{ animation-delay:.05s; } .va-d2{ animation-delay:.15s; } .va-d3{ animation-delay:.25s; }
.va-d4{ animation-delay:.35s; } .va-d5{ animation-delay:.45s; }
.va-js .va-reveal{ opacity:0; transform:translateY(24px); transition:opacity .6s ease, transform .6s ease; }
.va-js .va-reveal.is-in{ opacity:1; transform:none; }

/* Titoli di sezione: un solo schema per tutte */
.va-match-head{ margin-bottom:40px; }
.va-section-head{
	display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:40px;
}
.va-eyebrow{
	display:flex; align-items:center; gap:10px; margin-bottom:10px !important;
	color:var(--va-red); font-weight:700; font-size:14px; letter-spacing:.2em; text-transform:uppercase;
}
.va-eyebrow::before{ content:""; width:28px; height:3px; background:currentColor; }
.va-eyebrow-light{ color:#FFC9CC; }
.va-h2{
	font-family:var(--va-display) !important; font-weight:800 !important;
	font-size:clamp(40px, 4.6vw, 60px) !important; line-height:1 !important;
	text-transform:uppercase; color:var(--va-navy) !important;
}
.va-h2-light{ color:#fff !important; }
.va-h3{ font-family:var(--va-display) !important; font-size:24px !important; font-weight:800 !important; text-transform:uppercase; color:var(--va-navy) !important; }
.va-more{
	font-family:var(--va-display); font-weight:700; font-size:18px; letter-spacing:.05em;
	text-transform:uppercase; white-space:nowrap; color:var(--va-red) !important; text-decoration:none !important;
	padding-bottom:6px;
}
.va-more span{ display:inline-block; transition:transform .2s ease; }
.va-more:hover span{ transform:translateX(4px); }
.va-more-light{ color:#fff !important; }

/* ---------- HERO ---------- */
.va-hero{
	position:relative; display:flex; align-items:center; min-height:max(700px, 92vh);
	padding:160px 0 140px; color:#fff; background-color:var(--va-navy); isolation:isolate; overflow:hidden;
}
.va-hero::before{
	content:""; position:absolute; inset:-140px 0 0 0; z-index:-2;
	background:var(--va-hero, none) center/cover no-repeat;
	transform:translateY(var(--va-par, 0px));
}
.va-hero::after{
	content:""; position:absolute; inset:0; z-index:-1;
	background:
		linear-gradient(90deg, rgba(15,23,51,.95) 0%, rgba(15,23,51,.8) 42%, rgba(15,23,51,.25) 100%),
		linear-gradient(0deg, rgba(15,23,51,.9) 0%, rgba(15,23,51,0) 30%);
}
.va-hero-inner{ width:100%; }
.va-hero-crest{
	position:absolute; right:var(--va-edge); top:50%; width:360px; max-width:32vw; height:auto;
	transform:translateY(-50%); opacity:.12; z-index:-1; pointer-events:none; filter:saturate(0) brightness(2.2);
}
.va-kicker{ display:flex; align-items:center; gap:14px; margin-bottom:24px !important; color:#FFC9CC; font-weight:600; font-size:15px; letter-spacing:.2em; text-transform:uppercase; }
.va-kicker span{ width:40px; height:3px; background:var(--va-red); }
.va-hero-title{
	font-family:var(--va-display) !important; font-weight:800 !important;
	font-size:clamp(56px, 8.4vw, 120px) !important; line-height:.9 !important;
	text-transform:uppercase; color:#fff !important; max-width:900px;
}
.va-line{ display:block; }
.va-accent{ color:transparent; -webkit-text-stroke:2px #fff; }
.va-hero-text{ margin-top:28px !important; max-width:540px; font-size:20px; line-height:1.55; color:#DDE2F3; }
.va-hero-cta{ display:flex; flex-wrap:wrap; gap:16px; margin-top:36px; }
.va-hero-stripes{
	position:absolute; left:0; right:0; bottom:0; height:10px; z-index:1;
	background:linear-gradient(90deg, var(--va-red) 0 50%, var(--va-blue) 50% 100%);
}
.va-scroll{ display:none; }

/* ---------- MATCH CENTER ---------- */
.va-match{ background:var(--va-navy); color:#fff; padding:var(--va-space) 0; }
.va-match-grid{ display:grid; grid-template-columns:minmax(340px, 420px) minmax(0,1fr); gap:24px; align-items:stretch; }
.va-card{ display:flex; flex-direction:column; border-radius:12px; overflow:hidden; min-width:0; background:#fff; color:var(--va-ink); }
.va-card-bar{
	display:flex; align-items:center; gap:10px; height:52px; padding:0 20px; flex-shrink:0;
	font-family:var(--va-display); font-weight:700; font-size:18px; letter-spacing:.06em; text-transform:uppercase;
	color:var(--va-navy); border-bottom:1px solid var(--va-line);
}
.va-card-bar a{ margin-left:auto; font-family:var(--va-body); font-size:14px; font-weight:600; letter-spacing:0; text-transform:none; }
.va-dot{ width:8px; height:8px; border-radius:50%; background:var(--va-red); flex-shrink:0; }
.va-dot-live{ background:#fff; animation:va-pulse 1.8s infinite; }

/* card partite: stesso nero dei widget, blocchi di uguale altezza */
.va-card-games{ background:#1d1d1d; }
.va-card-games .va-card-bar{ border-bottom:0; color:#fff; }
.va-bar-dark{ background:#1B2340; }
.va-bar-dark .va-dot{ background:#FFC9CC; }
.va-bar-red{ background:var(--va-red); }
.va-game{ height:270px; overflow:hidden; background:#1d1d1d; }
.va-game .va-tc{ background:#1d1d1d; }
.va-games-cta{
	flex:1; min-height:67px; display:flex; align-items:center; justify-content:space-between; gap:12px;
	padding:0 20px; background:#1d1d1d; border-top:1px solid rgba(255,255,255,.08);
	font-family:var(--va-display); font-weight:700; font-size:17px; letter-spacing:.06em; text-transform:uppercase;
	color:#fff !important; text-decoration:none !important; transition:background-color .2s ease;
}
.va-games-cta:hover{ background:#262a3a; }
.va-games-cta span:last-child{ color:#FFC9CC; transition:transform .2s ease; }
.va-games-cta:hover span:last-child{ transform:translateX(4px); }

.va-tc{ display:block; width:100%; border:0; padding:0; background:#fff; }
.va-card-table .va-tc{ flex:1; min-height:680px; padding:12px 16px 4px; }
.va-note{ margin-top:20px !important; font-size:14px; color:#9AA3C8; }
.va-note a{ color:#fff; font-weight:600; }

/* ---------- NEWS ---------- */
.va-section{ padding:var(--va-space) 0; }
.va-news-grid{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:24px; }
.va-news{
	display:flex; flex-direction:column; background:#fff; border-radius:12px; overflow:hidden;
	color:var(--va-ink) !important; text-decoration:none !important;
	transition:transform .25s ease, box-shadow .25s ease;
}
.va-news:hover{ transform:translateY(-4px); box-shadow:0 16px 36px rgba(15,23,51,.12); }
.va-news-img{ display:block; aspect-ratio:16/10; background:#1B2A6B center/cover no-repeat; }
.va-news-body{ flex:1; display:flex; flex-direction:column; gap:12px; padding:22px 24px 24px; border-top:4px solid var(--va-red); }
.va-news-meta{ display:flex; align-items:center; gap:12px; font-size:14px; color:var(--va-muted); }
.va-news-cat{ font-weight:700; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--va-red); }
.va-news-title{ font-family:var(--va-display); font-size:26px; line-height:1.05; font-weight:800; text-transform:uppercase; color:var(--va-navy); }
.va-news-go{ margin-top:auto; font-family:var(--va-display); font-weight:700; font-size:16px; letter-spacing:.06em; text-transform:uppercase; color:var(--va-red); }

/* ---------- SETTORE GIOVANILE ---------- */
.va-giov{ background:var(--va-red); color:#fff; padding:var(--va-space) 0; }
.va-giov-grid{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:64px; align-items:center; }
.va-giov-media{ position:relative; }
.va-giov-img{ aspect-ratio:4/3; border-radius:12px; background:var(--va-red-dark) center/cover no-repeat; }
.va-giov-body{ display:flex; flex-direction:column; align-items:flex-start; gap:24px; }
.va-giov-body .va-eyebrow{ margin-bottom:-14px !important; }
.va-giov-text{ font-size:19px; line-height:1.55; color:#FFE8E9; max-width:520px; }
.va-stats{ display:grid; grid-template-columns:repeat(3, auto); gap:0; border-top:1px solid rgba(255,255,255,.35); border-bottom:1px solid rgba(255,255,255,.35); }
.va-stats div{ display:flex; flex-direction:column; padding:16px 32px 16px 0; }
.va-stats div + div{ padding-left:32px; border-left:1px solid rgba(255,255,255,.35); }
.va-stats strong{ font-family:var(--va-display); font-size:48px; line-height:1; font-weight:800; }
.va-stats span{ font-size:13px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:#FFD9DB; margin-top:4px; }
.va-chips{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.va-chips li{ border:1.5px solid rgba(255,255,255,.55); border-radius:999px; padding:7px 16px; font-weight:600; font-size:15px; }

/* ---------- ROSA ---------- */
.va-roster-section{ background:var(--va-navy); color:#fff; padding:var(--va-space) 0; }
.va-roster-nav{ display:flex; gap:10px; padding-bottom:4px; }
.va-arrow{
	width:48px; height:48px; border-radius:50%; border:2px solid rgba(255,255,255,.4);
	background:transparent; color:#fff; font-size:20px; line-height:1; cursor:pointer; transition:background .2s ease, border-color .2s ease;
}
.va-arrow:hover{ background:var(--va-red); border-color:var(--va-red); }
.va-roster{
	display:grid; grid-auto-flow:column;
	grid-auto-columns:calc((100% - 4 * 24px) / 5);   /* 5 giocatori esatti nella griglia */
	gap:24px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth;
	padding:0; scrollbar-width:none;
}
.va-roster::-webkit-scrollbar{ display:none; }
.va-player{
	position:relative; scroll-snap-align:start; aspect-ratio:3/4; border-radius:12px; overflow:hidden;
	background:#1B2A6B; color:#fff !important; text-decoration:none !important;
}
.va-player img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.va-player:hover img{ transform:scale(1.05); }
.va-player::after{ content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(15,23,51,.92) 0%, rgba(15,23,51,0) 45%); }
.va-player-num{ position:absolute; top:12px; right:14px; z-index:2; font-family:var(--va-display); font-weight:800; font-size:40px; line-height:1; color:#fff; }
.va-player-body{ position:absolute; left:0; right:0; bottom:0; z-index:1; padding:16px 18px 18px; display:flex; flex-direction:column; gap:4px; border-bottom:4px solid var(--va-red); }
.va-player-role{ font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#FFC9CC; }
.va-player-name{ font-family:var(--va-display); font-size:24px; line-height:1; font-weight:800; text-transform:uppercase; }
.va-roster-section > .va-wrap:last-child{ margin-top:32px; }

/* ---------- SPONSOR ---------- */
.va-sponsor{ background:#fff; padding:72px 0; }
.va-sponsor-head{ display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:32px; }
.va-marquee{ display:flex; overflow:hidden; mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); -webkit-mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.va-marquee-track{ list-style:none; margin:0; padding:0 56px 0 0; display:flex; flex-shrink:0; gap:56px; align-items:center; animation:va-marquee 70s linear infinite; }
.va-marquee:hover .va-marquee-track{ animation-play-state:paused; }
.va-marquee-track li{ height:64px; display:flex; align-items:center; }
.va-marquee-track img{ max-height:56px; width:auto; height:auto; filter:grayscale(1); opacity:.6; transition:filter .2s ease, opacity .2s ease; }
.va-marquee-track li:hover img{ filter:none; opacity:1; }

/* ---------- Responsive ---------- */
@media (max-width:1100px){
	.va-match-grid{ grid-template-columns:1fr; max-width:640px; }
	.va-roster{ grid-auto-columns:calc((100% - 2 * 24px) / 3); }
	.va-giov-grid{ gap:40px; }
}
@media (max-width:900px){
	.va-news-grid{ grid-template-columns:1fr; }
	.va-giov-grid{ grid-template-columns:1fr; }
}
@media (max-width:767px){
	.va-home{ --va-gutter:16px; --va-space:64px; }
	.va-hero{ min-height:620px; padding:120px 0 90px; align-items:flex-end; }
	.va-hero::after{ background:linear-gradient(180deg, rgba(15,23,51,.35) 0%, rgba(15,23,51,.95) 70%); }
	.va-hero-crest{ display:none; }
	.va-hero-text{ font-size:17px; }
	.va-hero-cta{ flex-direction:column; width:100%; }
	.va-hero-cta .va-btn{ width:100%; }
	.va-section-head{ flex-direction:column; align-items:flex-start; gap:12px; margin-bottom:28px; }
	.va-match-grid{ grid-template-columns:1fr; gap:16px; }
	.va-news-grid{ gap:16px; }
	.va-giov-body{ align-items:stretch; }
	.va-stats div{ padding-right:18px; }
	.va-stats div + div{ padding-left:18px; }
	.va-stats strong{ font-size:40px; }
	.va-roster{ grid-auto-columns:calc((100% - 14px) / 1.6); gap:14px; }
	.va-roster-nav{ display:none; }
	.va-sponsor{ padding:56px 0; }
	.va-sponsor-head{ flex-direction:column; align-items:flex-start; gap:8px; }
	.va-marquee-track{ gap:36px; padding-right:36px; animation-duration:50s; }
}
@media (prefers-reduced-motion:reduce){
	.va-in{ animation:none; opacity:1; }
	.va-hero::before{ transform:none; }
	.va-marquee-track{ animation:none; flex-wrap:wrap; }
	.va-marquee-track[aria-hidden]{ display:none; }
	.va-dot-live{ animation:none; }
	.va-btn, .va-news, .va-player img{ transition:none; }
}

/* =====================================================================
   PAGINE INTERNE
   ===================================================================== */

/* ---------- Testata pagina (titolo) ---------- */
body .bigslam-page-title-wrap,
body .bigslam-blog-title-wrap{
	position:relative; background-color:var(--va-navy) !important;
	background-image:var(--va-title-bg, none);
	background-size:cover; background-position:center 35%;
}
.bigslam-page-title-wrap .bigslam-page-title-overlay,
.bigslam-blog-title-wrap .bigslam-blog-title-overlay{
	background:linear-gradient(90deg, rgba(15,23,51,.95) 0%, rgba(15,23,51,.7) 55%, rgba(15,23,51,.45) 100%) !important;
	opacity:1 !important;
}
.bigslam-page-title-wrap::after,
.bigslam-blog-title-wrap::after{
	content:""; position:absolute; left:0; right:0; bottom:0; height:6px; z-index:3;
	background:linear-gradient(90deg, var(--va-red) 0 50%, var(--va-blue) 50% 100%);
}
.bigslam-page-title-wrap .bigslam-page-title-content{ padding-top:190px !important; padding-bottom:70px !important; }
.bigslam-page-title-wrap.bigslam-center-align .bigslam-page-title-content{ text-align:left !important; }
.bigslam-page-title{
	font-size:clamp(40px, 5.5vw, 76px) !important; line-height:.95 !important;
	font-weight:800 !important; text-transform:uppercase; letter-spacing:0 !important; color:#fff !important;
}
.bigslam-page-title::before{
	content:"ASD Virtus Adda"; display:block; margin-bottom:14px;
	font-family:var(--va-body); font-size:14px; font-weight:700; letter-spacing:.2em; color:#FFC9CC;
}
.bigslam-page-caption{ color:#DDE2F3 !important; font-family:var(--va-body) !important; font-size:18px !important; text-transform:none !important; margin-top:14px; }

/* ---------- Contenuto ---------- */
.bigslam-body-wrapper .bigslam-page-wrapper,
.page-template-default .bigslam-page-wrapper,
.single-post .bigslam-page-wrapper{ background:var(--va-ground); }
.gdlr-core-pbf-wrapper{ background-color:transparent; }
.gdlr-core-text-box-item-content,
.bigslam-single-article-content,
.bigslam-content-area{
	font-size:18px; line-height:1.7; color:#2A2E3D;
}
.gdlr-core-text-box-item-content p,
.bigslam-single-article-content p{ margin-bottom:1.1em; }
.gdlr-core-text-box-item-content strong{ color:var(--va-navy); }
.gdlr-core-text-box-item-content a,
.bigslam-single-article-content a{ color:var(--va-blue); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }
.gdlr-core-text-box-item-content a:hover,
.bigslam-single-article-content a:hover{ color:var(--va-red); }

/* testo leggibile nelle pagine a colonna unica */
.page-template-default .gdlr-core-pbf-column.gdlr-core-column-60 .gdlr-core-text-box-item-content,
.bigslam-single-article-content{ max-width:860px; }

/* elenchi con pallino rosso */
.gdlr-core-text-box-item-content ul,
.bigslam-single-article-content ul{ list-style:none; padding-left:0; margin-left:0; }
.gdlr-core-text-box-item-content ul li,
.bigslam-single-article-content ul li{ position:relative; padding-left:26px; margin-bottom:10px; }
.gdlr-core-text-box-item-content ul li::before,
.bigslam-single-article-content ul li::before{
	content:""; position:absolute; left:4px; top:.62em; width:9px; height:9px; border-radius:2px;
	background:var(--va-red); transform:rotate(45deg);
}

/* titoli interni (elemento Title di GoodLayers) */
.gdlr-core-title-item .gdlr-core-title-item-title{
	font-size:clamp(28px, 3vw, 40px) !important; font-weight:800 !important; line-height:1.05 !important;
	color:var(--va-navy) !important; letter-spacing:0 !important;
}
.gdlr-core-title-item .gdlr-core-title-item-left-icon{ display:none !important; }
.gdlr-core-title-item-title-wrap{ position:relative; padding-left:18px; }
.gdlr-core-title-item-title-wrap::before{
	content:""; position:absolute; left:0; top:.12em; bottom:.12em; width:5px; border-radius:2px; background:var(--va-red);
}
.gdlr-core-title-item-caption{ color:var(--va-muted) !important; font-family:var(--va-body) !important; font-style:normal !important; }

/* immagini nel contenuto */
.gdlr-core-text-box-item-content img,
.bigslam-single-article-content img,
.gdlr-core-image-item img{ border-radius:10px; }

/* tabelle (SportsPress e contenuti) */
.sp-data-table, .gdlr-core-text-box-item-content table, .bigslam-single-article-content table{
	border-collapse:separate !important; border-spacing:0; width:100%;
	background:#fff; border-radius:10px; overflow:hidden; box-shadow:0 1px 0 var(--va-line);
}
.sp-data-table thead th, .gdlr-core-text-box-item-content table th{
	background:var(--va-navy) !important; color:#fff !important; font-family:var(--va-display) !important;
	text-transform:uppercase; letter-spacing:.05em; font-size:15px; padding:12px 14px !important; border:0 !important;
}
.sp-data-table td, .gdlr-core-text-box-item-content table td{ padding:11px 14px !important; border:0 !important; border-top:1px solid var(--va-line) !important; }
.sp-data-table tbody tr:nth-child(even) td{ background:#FAF9F6; }
.sp-data-table tbody tr:hover td{ background:#EEF0F8; }
.sp-template-caption, .sp-table-caption{
	font-size:24px !important; font-weight:800 !important; color:var(--va-navy) !important; text-transform:uppercase; border:0 !important; padding:0 0 12px !important;
}

/* schede (tab) GoodLayers, es. Prima squadra */
.gdlr-core-tab-feature3-item .gdlr-core-tab-feature3-title-item-wrap,
.gdlr-core-tab-item-title-wrap{ border-bottom:2px solid var(--va-line) !important; }
.gdlr-core-tab-feature3-title-item, .gdlr-core-tab-item-title{
	font-family:var(--va-display) !important; font-weight:700 !important; font-size:18px !important;
	text-transform:uppercase; letter-spacing:.05em; color:var(--va-muted) !important; background:transparent !important;
}
.gdlr-core-tab-feature3-title-item.gdlr-core-active, .gdlr-core-tab-item-title.gdlr-core-active{ color:var(--va-navy) !important; box-shadow:inset 0 -3px 0 var(--va-red); }

/* giocatori SportsPress nelle pagine */
.gdlr-core-sp-player-item .gdlr-core-sp-player-thumbnail img,
.sp-player-list img{ border-radius:10px; }
.gdlr-core-sp-player-title, .gdlr-core-sp-player-title a{ font-family:var(--va-display) !important; font-weight:800 !important; text-transform:uppercase; color:var(--va-navy) !important; }
.gdlr-core-sp-player-position{ color:var(--va-red) !important; font-weight:700; text-transform:uppercase; letter-spacing:.08em; font-size:12px !important; }

/* icone (es. Contatti) */
.gdlr-core-icon-item-icon, .gdlr-core-icon-list-icon i{ color:var(--va-red) !important; }
.gdlr-core-social-network-item a{ color:var(--va-navy) !important; }
.gdlr-core-social-network-item a:hover{ color:var(--va-red) !important; }
.wpgmp_map_container, .wpgmp_map_container .wpgmp_map{ border-radius:12px; overflow:hidden; }

/* moduli */
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 textarea, .wpcf7 select{
	width:100%; background:#fff !important; border:1.5px solid #D6D2C8 !important; border-radius:8px !important;
	padding:12px 14px !important; font-size:16px !important; color:var(--va-ink) !important;
}
.wpcf7 input:focus, .wpcf7 textarea:focus{ border-color:var(--va-blue) !important; outline:none; box-shadow:0 0 0 3px rgba(37,57,143,.15); }

/* ---------- Blog (elenco articoli) ---------- */
.gdlr-core-blog-grid, .gdlr-core-blog-full, .gdlr-core-blog-medium{
	background:#fff; border-radius:12px; overflow:hidden; transition:transform .25s ease, box-shadow .25s ease;
}
.gdlr-core-blog-grid:hover{ transform:translateY(-4px); box-shadow:0 16px 36px rgba(15,23,51,.12); }
.gdlr-core-blog-grid .gdlr-core-blog-grid-content-wrap{ padding:22px 24px 26px !important; border-top:4px solid var(--va-red); }
.gdlr-core-blog-thumbnail img{ transition:transform .5s ease; }
.gdlr-core-blog-grid:hover .gdlr-core-blog-thumbnail img{ transform:scale(1.04); }
.gdlr-core-blog-title, .gdlr-core-blog-title a{
	font-family:var(--va-display) !important; font-weight:800 !important; text-transform:uppercase;
	line-height:1.05 !important; color:var(--va-navy) !important; letter-spacing:0 !important;
}
.gdlr-core-blog-title a:hover{ color:var(--va-red) !important; }
.gdlr-core-blog-info-wrapper, .gdlr-core-blog-info, .gdlr-core-blog-info a{ color:var(--va-muted) !important; font-size:14px !important; }
.gdlr-core-excerpt-read-more, .gdlr-core-excerpt-read-more:hover{
	font-family:var(--va-display) !important; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--va-red) !important;
}

/* ---------- Articolo singolo ---------- */
.single-post .bigslam-single-article{ background:#fff; border-radius:12px; padding:40px 48px; margin-top:40px; }
.bigslam-single-article-title, .bigslam-blog-title{
	font-family:var(--va-display) !important; font-weight:800 !important; text-transform:uppercase;
	line-height:1 !important; letter-spacing:0 !important;
}
.bigslam-blog-info-wrapper, .bigslam-blog-info, .bigslam-blog-info a{ color:#C9D0EA !important; }
.bigslam-single-nav-area, .bigslam-single-nav{ font-family:var(--va-display) !important; text-transform:uppercase; }
.bigslam-single-social-share{ border-top:1px solid var(--va-line) !important; }

/* ---------- Paginazione ---------- */
.gdlr-core-pagination a, .gdlr-core-pagination span, .page-numbers{
	border-radius:6px !important; font-family:var(--va-display) !important; font-weight:700 !important;
}
.gdlr-core-pagination .current, .page-numbers.current{ background:var(--va-red) !important; color:#fff !important; }

@media (max-width:767px){
	.bigslam-page-title-wrap .bigslam-page-title-content{ padding-top:110px !important; padding-bottom:48px !important; }
	.gdlr-core-text-box-item-content, .bigslam-single-article-content{ font-size:17px; }
	.single-post .bigslam-single-article{ padding:24px 18px; margin-top:24px; }
}


/* =====================================================================
   HEADER, MOBILE, FOOTER – rifiniture
   ===================================================================== */

/* Pulsante nel menu */
.bigslam-navigation .sf-menu > li.va-menu-cta{ display:flex; align-items:center; margin-left:10px; }
.bigslam-navigation .sf-menu > li.va-menu-cta > a{
	background:var(--va-red) !important; color:#fff !important; border-radius:6px;
	padding:12px 20px !important; line-height:1 !important; margin:0 !important;
	transition:background-color .2s ease;
}
.bigslam-navigation .sf-menu > li.va-menu-cta > a:hover{ background:#D8333B !important; color:#fff !important; }
.bigslam-navigation .sf-menu > li.va-menu-cta .bigslam-navigation-slide-bar{ display:none; }

/* Header fisso allo scroll (se attivo nelle opzioni del tema) */
.bigslam-fixed-navigation.bigslam-header-background,
.bigslam-fixed-navigation .bigslam-header-background,
.bigslam-fixed-navigation.bigslam-header-wrap{
	background:rgba(15,23,51,.96) !important; box-shadow:0 8px 24px rgba(0,0,0,.25);
	-webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
}

/* Header mobile */
.bigslam-mobile-header, .bigslam-mobile-header-wrap .bigslam-mobile-header{ background:var(--va-navy) !important; }
.bigslam-mobile-header .bigslam-mobile-menu i,
.bigslam-mobile-header .bigslam-top-search i,
.bigslam-mobile-header .bigslam-main-menu-search i{ color:#fff !important; }
.bigslam-mobile-button-hamburger span,
.bigslam-mobile-button-hamburger span:before,
.bigslam-mobile-button-hamburger span:after{ background:#fff !important; }
.bigslam-mobile-button-hamburger-with-border{ border-color:rgba(255,255,255,.5) !important; color:#fff !important; }
.mm-menu, .mm-panels, .mm-panel{ background:var(--va-navy) !important; color:#fff !important; }
.mm-menu a, .mm-listview > li > a{ color:#fff !important; font-family:var(--va-display) !important; font-weight:700 !important; text-transform:uppercase; letter-spacing:.05em; font-size:18px !important; }
.mm-listview > li:not(:last-child):after{ border-color:rgba(255,255,255,.12) !important; }
.mm-menu .va-menu-cta > a{ color:#FFC9CC !important; }

/* Footer: linea rosso-blu in alto */
.bigslam-footer-wrapper{ position:relative; }
.bigslam-footer-wrapper::before{
	content:""; position:absolute; left:0; right:0; top:0; height:6px;
	background:linear-gradient(90deg, var(--va-red) 0 50%, var(--va-blue) 50% 100%);
}
.bigslam-footer-wrapper .bigslam-widget-title::after{
	content:""; display:block; width:28px; height:3px; margin-top:10px; background:var(--va-red);
}

/* Torna su */
.va-top{
	position:fixed; right:22px; bottom:90px; z-index:99; width:48px; height:48px; border-radius:50%;
	display:flex; align-items:center; justify-content:center;
	background:var(--va-red); color:#fff !important; box-shadow:0 10px 24px rgba(0,0,0,.25);
	opacity:0; transform:translateY(12px); pointer-events:none; transition:opacity .25s ease, transform .25s ease, background-color .2s ease;
}
.va-top.is-on{ opacity:1; transform:none; pointer-events:auto; }
.va-top:hover{ background:#D8333B; }

/* Pagina 404 */
.error404 .bigslam-not-found-wrap{ background:var(--va-navy) !important; }
.error404 .bigslam-not-found-head{ font-family:var(--va-display) !important; color:#fff !important; }
.error404 .bigslam-not-found-title{ font-family:var(--va-display) !important; text-transform:uppercase; }

@media (max-width:999px){
	.bigslam-navigation .sf-menu > li.va-menu-cta{ margin-left:4px; }
}
@media (prefers-reduced-motion:reduce){ .va-top{ transition:none; } }

/* =====================================================================
   PAGINE SU MISURA: testata, Contatti, Sponsor, Instagram
   ===================================================================== */
.va-ico{ flex-shrink:0; }
.va-inner .va-section{ padding:80px 0; }
.va-inner .va-section + .va-section{ padding-top:0; }

/* Testata */
.va-page-hero{
	position:relative; color:#fff; padding:200px 0 72px; isolation:isolate; overflow:hidden;
	background:var(--va-navy) var(--va-title-bg, none) center 35% / cover no-repeat;
}
.va-page-hero::before{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg, rgba(15,23,51,.96) 0%, rgba(15,23,51,.78) 55%, rgba(15,23,51,.5) 100%); }
.va-page-hero::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:6px; background:linear-gradient(90deg, var(--va-red) 0 50%, var(--va-blue) 50% 100%); }
.va-page-hero-title{
	font-family:var(--va-display) !important; font-weight:800 !important; text-transform:uppercase;
	font-size:clamp(42px, 5.6vw, 78px) !important; line-height:.95 !important; color:#fff !important; margin:0 !important;
}
.va-page-hero-text{ margin-top:18px !important; max-width:620px; font-size:19px; line-height:1.5; color:#DDE2F3; }

/* Contatti – canali */
.va-contact-cards{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:24px; }
.va-ccard{
	display:flex; flex-direction:column; gap:8px; padding:28px; background:#fff; border-radius:12px;
	color:var(--va-ink) !important; text-decoration:none !important; border-top:4px solid var(--va-red);
	transition:transform .2s ease, box-shadow .2s ease;
}
a.va-ccard:hover{ transform:translateY(-3px); box-shadow:0 14px 32px rgba(15,23,51,.1); }
.va-ccard-ico{ width:48px; height:48px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:#FBEAEA; color:var(--va-red); margin-bottom:8px; }
.va-ccard-label{ font-family:var(--va-display); font-weight:700; font-size:15px; letter-spacing:.12em; text-transform:uppercase; color:var(--va-muted); }
.va-ccard-value{ font-family:var(--va-display); font-weight:800; font-size:clamp(22px, 2.1vw, 28px); color:var(--va-navy); word-break:break-word; }
.va-ccard-links{ display:flex; flex-wrap:wrap; gap:10px; margin-top:4px; }
.va-ccard-links a{
	display:inline-flex; align-items:center; gap:8px; padding:10px 16px; border-radius:999px;
	background:var(--va-navy); color:#fff !important; text-decoration:none !important; font-weight:600; font-size:15px;
}
.va-ccard-links a:hover{ background:var(--va-red); }
.va-ccard-links .va-ico{ width:18px; height:18px; }

/* Contatti – campi e mappa */
.va-where-grid{ display:grid; grid-template-columns:minmax(0, 5fr) minmax(0, 7fr); gap:24px; align-items:stretch; }
.va-locs{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.va-loc{ position:relative; background:#fff; border-radius:12px; border:2px solid transparent; transition:border-color .2s ease; }
.va-loc.is-active{ border-color:var(--va-red); }
.va-loc-btn{
	display:flex; flex-direction:column; gap:6px; width:100%; text-align:left; background:none; border:0; cursor:pointer;
	padding:18px 20px 16px; font:inherit; color:var(--va-ink);
}
.va-loc-label{ font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--va-red); }
.va-loc-name{ font-family:var(--va-display); font-size:22px; font-weight:800; text-transform:uppercase; color:var(--va-navy); line-height:1.05; padding-right:110px; }
.va-loc-addr, .va-loc-hours{ display:flex; gap:8px; align-items:flex-start; font-size:15px; line-height:1.45; color:#3A3F50; }
.va-loc-addr .va-ico, .va-loc-hours .va-ico{ width:18px; height:18px; margin-top:2px; color:var(--va-muted); }
.va-loc-map{
	position:absolute; top:16px; right:16px; display:inline-flex; align-items:center; gap:6px;
	font-family:var(--va-display); font-weight:700; font-size:14px; letter-spacing:.06em; text-transform:uppercase;
	color:var(--va-red) !important; text-decoration:none !important;
}
.va-loc-map .va-ico{ width:16px; height:16px; }
.va-map{ position:relative; min-height:460px; border-radius:12px; overflow:hidden; background:#DDE2EE; }
.va-map iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.va-map-consent{
	position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px;
	padding:24px; text-align:center; color:var(--va-navy);
	background:repeating-linear-gradient(120deg, rgba(37,57,143,.06) 0 26px, rgba(37,57,143,0) 26px 52px), #E4E8F2;
}
.va-map-consent .va-ico{ width:40px; height:40px; color:var(--va-red); }
.va-map-consent p{ max-width:340px; font-size:15px; color:var(--va-muted); }

/* Contatti – modulo */
.va-form-grid{ display:grid; grid-template-columns:minmax(0, 5fr) minmax(0, 7fr); gap:48px; align-items:start; }
.va-form-intro{ margin-top:16px !important; font-size:18px; line-height:1.6; color:#3A3F50; max-width:440px; }
.va-form-card{ background:#fff; border-radius:12px; padding:32px; border-top:4px solid var(--va-red); }
.va-form-card p{ margin:0 0 16px !important; }
.va-form-card label{ font-weight:600; color:var(--va-navy); display:block; }
.va-form-card .wpcf7-submit{ height:52px; padding:0 32px !important; font-family:var(--va-display) !important; font-size:18px !important; letter-spacing:.06em; cursor:pointer; }

/* Sponsor */
.va-count{ font-size:15px; color:var(--va-muted); padding-bottom:6px; }
.va-count strong{ font-family:var(--va-display); font-size:32px; color:var(--va-navy); margin-right:4px; }
.va-sponsor-wall{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(5, minmax(0,1fr)); gap:16px; }
.va-sponsor-wall li{
	aspect-ratio:3/2; display:flex; align-items:center; justify-content:center; padding:22px;
	background:#fff; border-radius:12px; transition:transform .2s ease, box-shadow .2s ease;
}
.va-sponsor-wall li:hover{ transform:translateY(-3px); box-shadow:0 14px 30px rgba(15,23,51,.1); }
.va-sponsor-wall img{ max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; filter:grayscale(1); opacity:.75; transition:filter .2s ease, opacity .2s ease; }
.va-sponsor-wall li:hover img{ filter:none; opacity:1; }
.va-page-content{ margin-top:48px; max-width:860px; font-size:18px; line-height:1.7; }
.va-cta-band{ background:var(--va-red); color:#fff; padding:80px 0; }
.va-cta-grid{ display:grid; grid-template-columns:minmax(0, 7fr) minmax(0, 5fr); gap:40px; align-items:center; }
.va-cta-text{ margin-top:16px !important; font-size:19px; line-height:1.55; color:#FFE8E9; max-width:620px; }
.va-cta-actions{ display:flex; flex-wrap:wrap; gap:14px; justify-content:flex-end; }
.va-cta-actions .va-ico{ width:20px; height:20px; }

/* Instagram in home */
.va-insta{ padding:var(--va-space) 0; background:var(--va-ground); }
.va-insta-cta{
	display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:24px;
	padding:28px 32px; border-radius:12px; color:#fff !important; text-decoration:none !important;
	background:linear-gradient(110deg, var(--va-navy) 0%, #2A2F6B 55%, var(--va-red) 130%);
}
.va-insta-cta strong{ font-family:var(--va-display); font-size:26px; text-transform:uppercase; letter-spacing:.02em; }
.va-insta-cta span{ font-size:17px; line-height:1.4; color:#DDE2F3; }
.va-insta-ico{ width:64px; height:64px; border-radius:16px; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.12); color:#fff !important; }
.va-insta-ico .va-ico{ width:32px; height:32px; }
.va-insta-cta .va-btn{ color:#fff !important; }
.va-insta-feed #sb_instagram{ padding:0 !important; }
.va-insta-feed #sb_instagram .sbi_photo{ border-radius:10px; }

@media (max-width:1000px){
	.va-contact-cards{ grid-template-columns:1fr 1fr; }
	.va-ccard-social{ grid-column:1 / -1; }
	.va-where-grid, .va-form-grid, .va-cta-grid{ grid-template-columns:1fr; }
	.va-cta-actions{ justify-content:flex-start; }
	.va-sponsor-wall{ grid-template-columns:repeat(3, minmax(0,1fr)); }
}
@media (max-width:767px){
	.va-page-hero{ padding:110px 0 48px; }
	.va-inner .va-section{ padding:56px 0; }
	.va-contact-cards{ grid-template-columns:1fr; }
	.va-map{ min-height:320px; }
	.va-form-card{ padding:22px 18px; }
	.va-sponsor-wall{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px; }
	.va-cta-band{ padding:56px 0; }
	.va-cta-actions .va-btn{ width:100%; }
	.va-insta-cta{ grid-template-columns:1fr; text-align:left; padding:24px; }
	.va-loc-name{ padding-right:0; }
	.va-loc-map{ position:static; padding:0 20px 16px; }
}
.va-custom-page .bigslam-page-title-wrap{ display:none !important; }

/* =====================================================================
   Fase 2: giovanili, iscrizioni, fotogallery, scheda giocatore, 5x1000
   ===================================================================== */
.va-btn-ghost-dark{ border:2px solid var(--va-navy); color:var(--va-navy) !important; }
.va-btn-ghost-dark:hover{ background:var(--va-navy); color:#fff !important; }
.va-giov-actions{ display:flex; flex-wrap:wrap; gap:12px; }

/* Settore giovanile */
.va-youth-intro{ display:grid; grid-template-columns:1fr 1.4fr; gap:48px; align-items:start; margin-bottom:56px; }
.va-youth-intro-text p{ font-size:18px; line-height:1.6; color:#3A3F50; margin:0; }
.va-youth-group{ font-family:var(--va-display) !important; font-size:15px !important; letter-spacing:.14em; color:var(--va-red) !important; margin:40px 0 16px !important; }
.va-youth-grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px; }
.va-youth-card{ background:var(--va-navy); color:#fff; border-radius:var(--va-radius); padding:24px 24px 22px; display:flex; flex-direction:column; gap:6px; position:relative; overflow:hidden; }
.va-youth-card::after{ content:""; position:absolute; right:-30px; top:-30px; width:110px; height:110px; border-radius:50%; background:rgba(255,255,255,.05); }
.va-youth-card.is-base{ background:#fff; color:var(--va-ink); border:1.5px solid var(--va-line); }
.va-youth-years{ font-size:13px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#FFB9BC; }
.va-youth-card.is-base .va-youth-years{ color:var(--va-red); }
.va-youth-name{ font-family:var(--va-display); font-size:28px; font-weight:800; text-transform:uppercase; line-height:1; }
.va-youth-card.is-base .va-youth-name{ color:var(--va-navy); }
.va-youth-league{ font-size:15px; opacity:.8; }
.va-youth-note{ margin-top:20px; font-size:14px; color:var(--va-muted); }
.va-youth-fields{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:16px; }
.va-youth-fields li{ background:#fff; border-radius:var(--va-radius); padding:20px; display:flex; flex-direction:column; gap:10px; }
.va-youth-fields .va-loc-name{ padding-right:0; font-size:20px; }

/* Iscrizioni */
.va-steps{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:24px; counter-reset:none; }
.va-steps li{ background:#fff; border-radius:var(--va-radius); padding:32px 28px; position:relative; }
.va-steps p{ margin:10px 0 0; color:#3A3F50; line-height:1.55; }
.va-step-n{ display:inline-grid; place-items:center; width:48px; height:48px; border-radius:50%; background:var(--va-red); color:#fff; font-family:var(--va-display); font-size:24px; font-weight:800; margin-bottom:16px; }
.va-docs-grid{ display:grid; grid-template-columns:1.4fr 1fr; gap:48px; align-items:start; }
.va-docs{ list-style:none; margin:24px 0 0; padding:0; display:flex; flex-direction:column; gap:10px; }
.va-docs li{ background:#fff; border-radius:8px; padding:14px 18px 14px 48px; position:relative; line-height:1.45; }
.va-docs li::before{ content:""; position:absolute; left:18px; top:17px; width:16px; height:16px; border-radius:4px; border:2px solid var(--va-red); }
.va-docs-side{ display:flex; flex-direction:column; gap:16px; }
.va-docs-hours{ font-size:15px; color:var(--va-muted); }
.va-docs-links{ display:flex; flex-wrap:wrap; gap:10px; }
.va-docs-more{ margin-top:56px !important; }

/* Fotogallery */
.va-photo-grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:12px; }
.va-photo{ display:block; width:100%; padding:0; border:0; background:var(--va-navy); border-radius:8px; overflow:hidden; aspect-ratio:1; cursor:zoom-in; }
.va-photo img{ width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.va-photo:hover img{ transform:scale(1.04); }
.va-photo-more{ margin-top:28px; color:var(--va-muted); }
.va-lightbox{ border:0; padding:0; background:transparent; max-width:96vw; max-height:94vh; overflow:visible; }
.va-lightbox:not([open]){ display:none !important; }
.va-lightbox::backdrop{ background:rgba(10,14,32,.92); }
.va-lightbox img{ display:block; max-width:92vw; max-height:84vh; border-radius:8px; margin:0 auto; }
.va-lb-close, .va-lb-prev, .va-lb-next{ position:fixed; background:rgba(255,255,255,.12); color:#fff; border:0; width:48px; height:48px; border-radius:50%; font-size:26px; cursor:pointer; }
.va-lb-close{ top:18px; right:18px; }
.va-lb-prev{ left:18px; top:50%; }
.va-lb-next{ right:18px; top:50%; }
.va-lb-link{ display:block; text-align:center; color:#fff !important; margin-top:12px; font-weight:700; }

/* Scheda giocatore */
.va-player-hero{ background:var(--va-navy); color:#fff; padding:190px 0 64px; position:relative; overflow:hidden; }
.va-player-hero::before{ content:""; position:absolute; inset:0; background:linear-gradient(115deg, transparent 55%, rgba(198,43,50,.35) 55%, rgba(198,43,50,.35) 62%, transparent 62%); }
.va-player-hero-grid{ position:relative; display:grid; grid-template-columns:minmax(0,420px) 1fr; gap:56px; align-items:end; }
.va-player-photo{ position:relative; border-radius:14px; overflow:hidden; aspect-ratio:1; background:#4b4b4b; box-shadow:0 30px 60px rgba(0,0,0,.35); }
.va-player-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.va-player-bignum{ position:absolute; right:14px; bottom:4px; font-family:var(--va-display); font-size:110px; font-weight:800; line-height:1; color:#fff; text-shadow:0 4px 18px rgba(0,0,0,.4); }
.va-player-pos{ font-family:var(--va-display); font-size:22px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#FFB9BC; margin:8px 0 0 !important; }
.va-player-info .va-page-hero-title{ font-size:clamp(44px,6vw,84px) !important; margin:4px 0 24px !important; }
.va-player-content:empty{ display:none; }
.va-mates{ list-style:none; margin:24px 0 0; padding:0; display:grid; grid-template-columns:repeat(5, minmax(0,1fr)); gap:16px; }
.va-mates a{ display:block; background:var(--va-navy); border-radius:10px; overflow:hidden; color:#fff !important; text-decoration:none; }
.va-mates img{ display:block; width:100%; aspect-ratio:1; object-fit:cover; }
.va-mates span{ display:block; padding:10px 12px; font-family:var(--va-display); font-weight:800; text-transform:uppercase; font-size:17px; }

/* 5x1000 */
.va-5x1000{ background:linear-gradient(120deg, var(--va-navy) 0%, var(--va-blue) 100%); color:#fff; padding:72px 0; }
.va-5x1000-grid{ display:grid; grid-template-columns:auto 1.3fr 1fr; gap:48px; align-items:center; }
.va-5x1000-badge{ width:150px; height:150px; border-radius:50%; background:var(--va-red); display:grid; place-items:center; align-content:center; font-family:var(--va-display); font-weight:800; line-height:.85; box-shadow:0 0 0 10px rgba(255,255,255,.08); }
.va-5x1000-badge span{ font-size:78px; }
.va-5x1000-badge small{ font-size:30px; }
.va-5x1000-text p{ color:#DDE3FF; font-size:18px; line-height:1.55; margin:12px 0 0; }
.va-5x1000-cf{ display:flex; flex-direction:column; gap:10px; align-items:flex-start; }
.va-5x1000-label{ font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#FFB9BC; }
.va-5x1000-code{ background:#fff; color:var(--va-navy); border:0; border-radius:10px; padding:16px 20px; font-family:var(--va-display); font-size:34px; font-weight:800; letter-spacing:.06em; cursor:pointer; display:flex; align-items:center; gap:14px; }
.va-5x1000-code small{ font-family:var(--va-body); font-size:13px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--va-red); }

@media (max-width: 1100px){
	.va-youth-fields{ grid-template-columns:repeat(2, minmax(0,1fr)); }
	.va-photo-grid{ grid-template-columns:repeat(3, minmax(0,1fr)); }
	.va-mates{ grid-template-columns:repeat(3, minmax(0,1fr)); }
	.va-5x1000-grid{ grid-template-columns:auto 1fr; }
	.va-5x1000-cf{ grid-column:1 / -1; }
}
@media (max-width: 767px){
	.va-youth-intro, .va-docs-grid, .va-player-hero-grid{ grid-template-columns:1fr; gap:28px; }
	.va-youth-grid, .va-steps{ grid-template-columns:1fr; }
	.va-youth-fields{ grid-template-columns:1fr; }
	.va-photo-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:8px; }
	.va-mates{ grid-template-columns:repeat(2, minmax(0,1fr)); }
	.va-player-hero{ padding:130px 0 48px; }
	.va-5x1000-grid{ grid-template-columns:1fr; gap:24px; }
	.va-5x1000-badge{ width:110px; height:110px; }
	.va-5x1000-badge span{ font-size:56px; }
	.va-5x1000-code{ font-size:26px; }
}
.va-player-content, .va-player-content *{ font-family:var(--va-body) !important; }
.va-player-content .sp-template-details dl{ display:grid; grid-template-columns:auto 1fr; gap:10px 28px; background:#fff; border-radius:var(--va-radius); padding:24px 28px; margin:0; max-width:560px; }
.va-player-content .sp-template-details dt{ font-weight:700; text-transform:uppercase; font-size:13px; letter-spacing:.1em; color:var(--va-muted); }
.va-player-content .sp-template-details dd{ margin:0; font-weight:600; color:var(--va-navy); }

/* Juniores */
.va-soon{ background:#fff; border-radius:var(--va-radius); border-left:6px solid var(--va-red); padding:32px 36px; max-width:760px; display:flex; flex-direction:column; align-items:flex-start; gap:14px; }
.va-soon p{ margin:0; color:#3A3F50; font-size:17px; line-height:1.55; }
.va-soon .va-soon-title{ font-family:var(--va-display); font-size:26px; font-weight:800; text-transform:uppercase; color:var(--va-navy); }
.va-jnews{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px; }
.va-jnews a{ display:flex; flex-direction:column; gap:8px; background:var(--va-navy); color:#fff !important; border-radius:var(--va-radius); padding:24px; height:100%; text-decoration:none; transition:transform .2s ease; }
.va-jnews a:hover{ transform:translateY(-3px); }
.va-jnews-date{ font-size:13px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#FFB9BC; }
.va-jnews-title{ font-family:var(--va-display); font-size:22px; font-weight:800; text-transform:uppercase; line-height:1.1; }
@media (max-width: 767px){ .va-jnews{ grid-template-columns:1fr; } .va-soon{ padding:24px; } }

/* Sottomenu: voce della pagina corrente (il tema padre le dava sfondo grigio chiaro) */
.bigslam-navigation .sf-menu .sub-menu li.current-menu-item > a,
.bigslam-navigation .sf-menu .sub-menu li.current-menu-ancestor > a,
.bigslam-navigation .sf-menu .sub-menu li.current_page_item > a{
	background:var(--va-navy-2) !important; color:#fff !important;
	box-shadow:inset 3px 0 0 var(--va-red);
}
/* Menu mobile: stessa regola */
.mm-menu .mm-listview li.current-menu-item > a,
.mm-menu .mm-listview li.current_page_item > a{ color:#FFC9CC !important; background:transparent !important; }

/* Album foto */
.va-album{ margin:0 0 64px; }
.va-album-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:20px; }
.va-album-head .va-h2{ margin:4px 0 0 !important; }
.va-album-text{ margin:10px 0 0 !important; max-width:720px; color:var(--va-muted); font-size:17px; line-height:1.55; }
.va-album .va-photo-grid li:first-child{ grid-column:span 2; grid-row:span 2; }
.va-album-archive{ margin:8px 0 20px !important; padding-top:40px; border-top:1px solid rgba(20,30,70,.12); }
@media (max-width: 767px){
	.va-album{ margin-bottom:44px; }
	.va-album-head{ flex-direction:column; align-items:flex-start; gap:12px; }
}

/* Widget di terze parti in attesa di consenso */
.va-tc-wrap{ position:relative; }
.va-tc-wrap iframe:not([src]){ visibility:hidden; }
.va-tc-ph{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; padding:20px; text-align:center; background:rgba(255,255,255,.06); border:1px dashed rgba(255,255,255,.28); border-radius:10px; color:#DDE3FF; }
.va-tc-ph p{ margin:0 !important; font-size:15px; line-height:1.45; max-width:340px; color:inherit; }
.va-tc-wrap.is-loaded .va-tc-ph{ display:none; }
.va-card-table .va-tc-ph{ color:var(--va-navy); background:#F3F4F8; border-color:rgba(20,30,70,.18); }
.va-tc-light .va-tc-ph{ color:var(--va-navy); background:#F3F4F8; border-color:rgba(20,30,70,.18); }

/* Pagine legali (cookie policy) */
.va-legal{ max-width:860px; }
.va-legal h2{ font-family:var(--va-display); font-size:30px; text-transform:uppercase; color:var(--va-navy); margin:44px 0 12px !important; }
.va-legal h2:first-child{ margin-top:0 !important; }
.va-legal h3{ font-size:19px; margin:28px 0 8px !important; color:var(--va-navy); }
.va-legal p, .va-legal li{ font-size:17px; line-height:1.65; }
.va-legal .va-legal-meta{ color:var(--va-muted); font-size:15px; }
.va-legal table{ width:100%; border-collapse:collapse; margin:14px 0 8px; font-size:15px; }
.va-legal th, .va-legal td{ text-align:left; vertical-align:top; padding:10px 12px; border-bottom:1px solid rgba(20,30,70,.12); }
.va-legal th{ background:var(--va-navy); color:#fff; font-weight:700; }
.va-legal td:first-child{ font-weight:700; white-space:nowrap; }
.va-legal .va-legal-table{ overflow-x:auto; }
.va-legal .cky-banner-element{ margin:8px 0 4px; }
@media (max-width: 767px){ .va-legal td:first-child{ white-space:normal; } }
.va-legal p, .va-legal li{ font-size:17px !important; line-height:1.65 !important; color:#2B3150 !important; }
.va-legal .va-legal-meta{ font-size:15px !important; color:var(--va-muted) !important; }
.va-legal h3{ font-family:var(--va-display) !important; font-size:21px !important; text-transform:uppercase; letter-spacing:.02em; }
.va-legal table{ font-size:15px !important; background:#fff; border-radius:8px; overflow:hidden; }
.va-legal th{ font-size:14px !important; letter-spacing:.04em; white-space:nowrap; padding:12px !important; }
.va-legal td{ color:#2B3150 !important; font-size:15px !important; line-height:1.5 !important; padding:12px !important; background:#fff !important; }
.va-legal td:nth-child(3){ white-space:nowrap; }
.va-legal td a{ font-weight:700; }
.va-legal ul{ margin:8px 0 16px 20px !important; }
.va-legal mark.va-todo{ background:#FFF1B8; color:#5A4700; padding:1px 4px; border-radius:3px; font-size:.92em; }
.va-legal p{ margin:0 0 14px !important; }

/* Mappa campi (Leaflet + OpenStreetMap) */
.va-map.leaflet-container{ font-family:var(--va-body); z-index:0; }
.va-pin{ background:none; border:0; }
.va-pin span{ display:grid; place-items:center; width:34px; height:34px; border-radius:50% 50% 50% 0; transform:rotate(-45deg); background:var(--va-navy); border:3px solid #fff; box-shadow:0 4px 10px rgba(0,0,0,.3); color:#fff; font-family:var(--va-display); font-weight:800; font-size:16px; }
.va-pin b{ transform:rotate(45deg); line-height:1; }
.va-pin.is-active span{ background:var(--va-red); }
.va-map .leaflet-popup-content{ font-size:14px; line-height:1.4; }
.va-map .leaflet-popup-content a{ color:var(--va-red); font-weight:700; }
.va-locs{ counter-reset:loc; }
.va-loc{ counter-increment:loc; }
.va-loc-label::before{ content:counter(loc); display:inline-grid; place-items:center; width:20px; height:20px; margin-right:8px; border-radius:50%; background:var(--va-navy); color:#fff; font-size:11px; letter-spacing:0; vertical-align:1px; }
.va-loc.is-active .va-loc-label::before{ background:var(--va-red); }
.va-map .leaflet-tile-pane{ filter:grayscale(.55) contrast(.95) brightness(1.03); }
/* Turnstile invisibile: nessuno spazio vuoto sopra il modulo */
.wpcf7-turnstile{ margin:0 !important; line-height:0; }
.wpcf7-turnstile iframe{ margin-bottom:14px; }

/* Pagine squadra (Prima squadra, Juniores) */
.va-squad-nav{ position:sticky; top:0; z-index:20; background:#fff; border-bottom:1px solid rgba(20,30,70,.1); }
.admin-bar .va-squad-nav{ top:32px; }
.va-squad-nav .va-wrap{ display:flex; gap:28px; overflow-x:auto; scrollbar-width:none; }
.va-squad-nav a{ padding:16px 0; font-family:var(--va-display); font-weight:800; font-size:16px; letter-spacing:.06em; text-transform:uppercase; color:var(--va-navy) !important; text-decoration:none !important; white-space:nowrap; border-bottom:3px solid transparent; }
.va-squad-nav a:hover{ border-bottom-color:var(--va-red); }
.va-squad-photo figure{ margin:0; border-radius:14px; overflow:hidden; box-shadow:0 20px 50px rgba(15,23,51,.18); }
.va-squad-photo img{ display:block; width:100%; height:auto; }
.va-squad-count{ margin:0 !important; font-family:var(--va-display); font-weight:700; font-size:18px; text-transform:uppercase; color:var(--va-muted); }
.va-squad-group{ font-family:var(--va-display); font-size:22px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; color:var(--va-red); margin:36px 0 14px !important; padding-bottom:8px; border-bottom:1px solid rgba(20,30,70,.12); }
.va-squad-group:first-of-type{ margin-top:0 !important; }
.va-squad-grid{ display:grid; grid-template-columns:repeat(5, minmax(0,1fr)); gap:20px; }
.va-squad-grid .va-player-name{ font-size:21px; }
.va-squad-staff{ background:#fff; }
.va-tabs{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:18px; }
.va-tab{ border:2px solid var(--va-navy); background:transparent; color:var(--va-navy); border-radius:999px; padding:9px 20px; font-family:var(--va-display); font-weight:800; font-size:15px; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; }
.va-tab.is-active, .va-tab:hover{ background:var(--va-navy); color:#fff; }
.va-tab-panel .va-tc{ width:100%; border:0; display:block; background:#fff; border-radius:10px; }
@media (max-width: 1100px){ .va-squad-grid{ grid-template-columns:repeat(4, minmax(0,1fr)); } }
@media (max-width: 767px){
	.admin-bar .va-squad-nav{ top:0; }
	.va-squad-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px; }
	.va-squad-grid .va-player-name{ font-size:18px; }
}
/* Widget Tuttocampo nelle pagine squadra: card bianca, altezza sul contenuto, niente barre di scorrimento */
.va-squad-tc .va-tab-panel{ background:#fff; border-radius:14px; padding:14px; box-shadow:0 10px 30px rgba(15,23,51,.08); }
.va-squad-tc .va-tab-panel .va-tc{ border-radius:8px; overflow:hidden; background:#fff; }
.va-squad-tc .va-tabs{ margin-bottom:16px; }
@media (max-width: 767px){ .va-squad-tc .va-tab-panel{ padding:6px; border-radius:10px; } }
/* Schede "Ultima/Prossima partita": widget scuro, larghezza contenuta */
.va-squad-tc .va-tab-panel[data-panel="ultima"], .va-squad-tc .va-tab-panel[data-panel="prossima"]{ background:#1d1d1d; max-width:760px; margin:0 auto; }
.va-squad-tc .va-tab-panel[data-panel="ultima"] .va-tc, .va-squad-tc .va-tab-panel[data-panel="prossima"] .va-tc{ background:#1d1d1d; }

/* Selettore competizione nelle pagine squadra */
.va-comp-switch{ display:inline-flex; background:#E6E8F0; border-radius:999px; padding:4px; gap:4px; }
.va-comp{ border:0; background:transparent; color:var(--va-navy); border-radius:999px; padding:10px 20px; font-family:var(--va-display); font-weight:800; font-size:16px; letter-spacing:.05em; text-transform:uppercase; cursor:pointer; }
.va-comp.is-active{ background:var(--va-red); color:#fff; }
@media (max-width: 767px){ .va-comp-switch{ width:100%; } .va-comp{ flex:1; padding:10px 8px; font-size:14px; } }

/* Match center */
.va-mc-team:nth-of-type(even){ background:#fff; }
.va-mc-grid{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:24px; }
.va-mc-card{ background:var(--va-navy); border-radius:14px; overflow:hidden; box-shadow:0 14px 34px rgba(15,23,51,.16); display:flex; flex-direction:column; }
.va-mc-card-head{ display:flex; align-items:center; gap:10px; padding:14px 18px; background:var(--va-red); color:#fff; font-family:var(--va-display); font-weight:800; font-size:18px; letter-spacing:.06em; text-transform:uppercase; }
.va-mc-label{ margin:0 !important; padding:12px 18px 6px; color:#FFC9CC; font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.va-mc-game{ overflow:hidden; background:#1d1d1d; margin:0 12px; border-radius:8px; }
.va-mc-game .va-tc{ background:#1d1d1d; }
.va-mc-links{ display:flex; gap:8px; flex-wrap:wrap; padding:16px 18px 18px; margin-top:auto; }
.va-mc-links a{ flex:1; text-align:center; padding:10px 8px; border:1px solid rgba(255,255,255,.3); border-radius:8px; color:#fff !important; text-decoration:none !important; font-family:var(--va-display); font-weight:800; font-size:14px; letter-spacing:.06em; text-transform:uppercase; }
.va-mc-links a:hover{ background:#fff; color:var(--va-navy) !important; }
@media (max-width: 900px){ .va-mc-grid{ grid-template-columns:1fr; } }
.va-mc-home{ display:inline-block; margin-top:14px; }
/* Allineamento righe tra le card (campionato / coppa) */
@supports (grid-template-rows: subgrid){
  .va-mc-grid{ row-gap:0; }
  .va-mc-card{ display:grid; grid-template-rows:subgrid; grid-row:span 6; margin-bottom:24px; }
  .va-mc-game{ align-self:stretch; display:flex; flex-direction:column; }
  .va-mc-game .va-tc{ flex:0 0 auto; }
  .va-mc-links{ align-self:end; }
}


/* iframe Tuttocampo ad altezza automatica */
iframe.va-tc-auto{ display:block; width:100%; border:0; transition:height .15s ease; }
.va-squad-tc .va-tc-tabs{ background:transparent; }

/* ==================================================================
 * Cigno d'oro — migliore in campo votato dai tifosi
 * ================================================================== */
.va-cigno{ --va-gold:#F2C14E; }
.va-cigno-vote{ background:var(--va-navy); color:#fff; }
.va-cigno-vote .va-h2{ color:#fff !important; margin:0 !important; }
.va-cigno-match{ text-align:center; margin:0 auto 36px; max-width:760px; padding:22px 20px; border-radius:14px; background:linear-gradient(135deg,rgba(198,43,50,.95),rgba(37,57,143,.95)); box-shadow:0 18px 40px rgba(0,0,0,.25); }
.va-cigno-match p{ margin:0 !important; }
.va-cigno-match-k{ display:flex; align-items:center; justify-content:center; gap:10px; font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.85); }
.va-cigno-match-t{ display:grid; grid-template-columns:1fr auto 1fr; gap:18px; align-items:center; margin:12px 0 !important; font-family:var(--va-display); font-weight:800; font-size:clamp(22px,3.4vw,34px); text-transform:uppercase; line-height:1.05; }
.va-cigno-match-t span{ word-break:normal; overflow-wrap:normal; hyphens:none; }
.va-cigno-match-t span:first-child{ text-align:right; }
.va-cigno-match-t span:last-child{ text-align:left; }
.va-cigno-match-t b{ font-size:clamp(34px,5vw,54px); background:rgba(15,23,51,.45); padding:4px 16px; border-radius:10px; white-space:nowrap; }
.va-cigno-match-c{ font-size:15px; color:rgba(255,255,255,.9); }
.va-cigno-match-c strong{ color:var(--va-gold); }
.va-cigno-hint{ color:rgba(255,255,255,.75); margin:6px 0 24px !important; }
.va-cigno-std .va-cigno-hint, .va-cigno-how .va-cigno-hint{ color:var(--va-muted); }
.va-cigno-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:14px; }
.va-cigno-pl{ position:relative; display:block; padding:0; border:2px solid transparent; border-radius:12px; overflow:hidden; background:#1E2A55; cursor:pointer; aspect-ratio:3/4; text-align:left; transition:transform .15s, border-color .15s, box-shadow .15s; }
.va-cigno-pl img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center top; }
.va-cigno-pl::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(15,23,51,0) 45%,rgba(15,23,51,.92)); }
.va-cigno-pl-b{ position:absolute; left:10px; right:10px; bottom:10px; z-index:1; display:flex; flex-direction:column; gap:2px; }
.va-cigno-pl-r{ font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#FFC9CC; }
.va-cigno-pl-n{ font-family:var(--va-display); font-weight:800; font-size:18px; line-height:1.05; color:#fff; text-transform:uppercase; }
.va-cigno-pl-ok{ position:absolute; top:8px; right:8px; z-index:2; width:32px; height:32px; border-radius:50%; background:var(--va-gold); color:var(--va-navy); font-weight:900; display:flex; align-items:center; justify-content:center; opacity:0; transform:scale(.6); transition:.15s; }
.va-cigno-pl:hover{ transform:translateY(-3px); }
.va-cigno-pl:focus-visible{ outline:3px solid var(--va-gold); outline-offset:2px; }
.va-cigno-pl.is-sel{ border-color:var(--va-gold); box-shadow:0 0 0 4px rgba(242,193,78,.25); }
.va-cigno-pl.is-sel .va-cigno-pl-ok{ opacity:1; transform:none; }
.va-cigno-confirm{ position:sticky; bottom:16px; z-index:5; margin-top:22px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; padding:14px 16px 14px 22px; border-radius:12px; background:#fff; color:var(--va-ink); box-shadow:0 16px 40px rgba(0,0,0,.35); }
.va-cigno-confirm[hidden]{ display:none; }
.va-cigno-confirm strong{ font-family:var(--va-display); font-size:22px; text-transform:uppercase; }
.va-cigno-bars{ list-style:none; margin:0; padding:0; max-width:760px; display:grid; gap:10px; }
.va-cigno-bars li{ display:grid; grid-template-columns:minmax(120px,210px) 1fr 52px; gap:12px; align-items:center; }
.va-cigno-bars .n{ font-weight:700; }
.va-cigno-bars .bar{ height:14px; border-radius:7px; background:rgba(255,255,255,.12); overflow:hidden; }
.va-cigno-bars .bar i{ display:block; height:100%; border-radius:7px; background:linear-gradient(90deg,var(--va-red),#e85a60); transition:width .8s ease; }
.va-cigno-bars li:first-child .bar i{ background:linear-gradient(90deg,#d9a437,var(--va-gold)); }
.va-cigno-bars li.is-mine .n::after{ content:" · il tuo voto"; font-weight:500; color:var(--va-gold); font-size:13px; }
.va-cigno-bars .p{ text-align:right; font-family:var(--va-display); font-weight:800; font-size:20px; }
.va-cigno-share{ margin-top:26px !important; display:flex; flex-wrap:wrap; gap:12px; }
.va-cigno-sharehint{ flex-basis:100%; margin:4px 0 0; font-size:15px; line-height:1.45; color:#DDE2F3; }
.va-cigno-sharehint[hidden]{ display:none; }
.va-cigno-err{ margin-top:14px !important; color:#FFC9CC; font-weight:700; }
.va-cigno-empty{ text-align:center; padding:30px 0; }
.va-cigno-empty-ico{ color:var(--va-gold); display:inline-block; margin-bottom:8px; }
.va-cigno-empty-ico svg{ width:64px; height:64px; }
.va-cigno-empty p{ color:rgba(255,255,255,.8); }

.va-cigno-spot{ background:linear-gradient(180deg,var(--va-navy) 0,var(--va-navy) 30%,var(--va-ground) 30%); padding-top:0 !important; }
.va-cigno-win{ display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); border-radius:18px; overflow:hidden; background:linear-gradient(135deg,#1E2A55,#0F1733); color:#fff; box-shadow:0 24px 50px rgba(15,23,51,.3); position:relative; }
.va-cigno-win::before{ content:""; position:absolute; right:-80px; top:-80px; width:320px; height:320px; border-radius:50%; background:radial-gradient(circle,rgba(242,193,78,.35),rgba(242,193,78,0) 70%); }
.va-cigno-win-img{ min-height:360px; background:#2a355f; }
.va-cigno-win-img img{ width:100%; height:100%; object-fit:cover; object-position:center top; display:block; }
.va-cigno-win-img.is-tie{ display:grid; grid-template-columns:1fr 1fr; gap:2px; }
.va-cigno-win-b{ padding:40px 44px; display:flex; flex-direction:column; justify-content:center; position:relative; }
.va-cigno-win-b .va-eyebrow{ color:var(--va-gold) !important; }
.va-cigno-win-n{ margin:6px 0 10px !important; color:#fff !important; font-family:var(--va-display); font-weight:800; font-size:clamp(40px,6vw,72px); line-height:.95; text-transform:uppercase; }
.va-cigno-win-m{ margin:0 0 14px !important; font-size:18px; font-weight:600; }
.va-cigno-win-m span{ font-size:14px; font-weight:500; color:rgba(255,255,255,.7); }
.va-cigno-win-p{ margin:0 0 24px !important; font-size:16px; color:rgba(255,255,255,.8); }
.va-cigno-win-p b{ font-family:var(--va-display); font-size:44px; color:var(--va-gold); margin-right:4px; }
.va-cigno-win .va-btn{ align-self:flex-start; }

.va-cigno-table{ list-style:none; margin:0; padding:0; background:#fff; border-radius:14px; overflow:hidden; box-shadow:0 10px 30px rgba(15,23,51,.08); }
.va-cigno-table li{ display:grid; grid-template-columns:48px 1fr 70px 70px 70px; align-items:center; gap:8px; padding:10px 18px; border-top:1px solid var(--va-line); text-align:center; }
.va-cigno-table li > :nth-child(2){ text-align:left; }
.va-cigno-th{ border-top:0 !important; background:var(--va-navy); color:#fff; font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.va-cigno-rk{ font-family:var(--va-display); font-weight:800; font-size:22px; color:var(--va-muted); }
.va-cigno-who{ display:flex; align-items:center; gap:12px; color:var(--va-ink) !important; text-decoration:none !important; font-weight:700; }
.va-cigno-who img{ width:44px; height:44px; border-radius:50%; object-fit:cover; object-position:center top; background:#eee; }
.va-cigno-w{ font-family:var(--va-display); font-weight:800; font-size:22px; color:var(--va-red); }
.va-cigno-table li.is-first{ background:linear-gradient(90deg,rgba(242,193,78,.22),rgba(242,193,78,0)); }
.va-cigno-table li.is-first .va-cigno-rk{ color:#b8860b; }

.va-cigno-albo{ background:#fff; }
.va-cigno-albo-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:16px; }
.va-cigno-albo-c{ display:flex; gap:14px; align-items:center; padding:12px; border:1px solid var(--va-line); border-radius:12px; }
.va-cigno-albo-c img{ width:84px; height:84px; border-radius:10px; object-fit:cover; object-position:center top; flex:0 0 auto; }
.va-cigno-albo-c p{ margin:0 !important; }
.va-cigno-albo-m{ font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--va-muted); }
.va-cigno-albo-t{ font-size:14px; }
.va-cigno-albo-n{ font-family:var(--va-display); font-weight:800; font-size:20px; text-transform:uppercase; }
.va-cigno-albo-n span{ color:var(--va-red); margin-left:4px; }
.va-cigno-link{ background:none; border:0; padding:0; margin-top:2px; color:var(--va-blue); font-weight:700; font-size:13px; cursor:pointer; text-decoration:underline; }

.va-cigno-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.va-cigno-steps > div{ background:#fff; border-radius:14px; padding:24px; box-shadow:0 10px 30px rgba(15,23,51,.06); }
.va-cigno-steps b{ display:inline-flex; width:40px; height:40px; border-radius:50%; align-items:center; justify-content:center; background:var(--va-red); color:#fff; font-family:var(--va-display); font-size:22px; }
.va-cigno-steps h3{ margin:14px 0 6px !important; font-family:var(--va-display); text-transform:uppercase; font-size:22px; }
.va-cigno-steps p{ margin:0 !important; color:var(--va-muted); }
.va-cigno-priv{ margin-top:18px !important; }
.va-cigno-sponsor{ margin-top:10px !important; font-weight:600; }

/* banner in home */
.va-cigno-banner{ display:flex; align-items:center; gap:18px; margin-top:26px; padding:16px 22px; border-radius:14px; background:linear-gradient(135deg,#d9a437,#F2C14E); color:#0F1733 !important; text-decoration:none !important; box-shadow:0 16px 36px rgba(0,0,0,.25); transition:transform .15s; }
.va-cigno-banner:hover{ transform:translateY(-2px); }
.va-cigno-banner-ico{ flex:0 0 auto; width:54px; height:54px; border-radius:50%; background:#0F1733; color:#F2C14E; display:flex; align-items:center; justify-content:center; }
.va-cigno-banner-ico svg{ width:32px; height:32px; }
.va-cigno-banner-txt{ flex:1; display:flex; flex-direction:column; gap:2px; }
.va-cigno-banner-k{ font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.va-cigno-banner-txt strong{ font-family:var(--va-display); font-size:22px; line-height:1.1; text-transform:uppercase; }
.va-cigno-banner-cta{ font-family:var(--va-display); font-weight:800; font-size:18px; text-transform:uppercase; white-space:nowrap; }
.va-cigno-banner-cta .va-cd{ font-family:var(--va-body); font-weight:600; font-size:13px; text-transform:none; }

@media (max-width: 900px){
	.va-cigno-win{ grid-template-columns:1fr; }
	.va-cigno-win-img{ min-height:0; aspect-ratio:1/1; }
	.va-cigno-win-b{ padding:28px 24px; }
	.va-cigno-steps{ grid-template-columns:1fr; }
}
@media (max-width: 640px){
	.va-cigno-grid{ grid-template-columns:repeat(2,1fr); gap:10px; }
	.va-cigno-match-t{ gap:10px; font-size:19px; }
	.va-cigno-match-t b{ font-size:30px; padding:4px 10px; }
	.va-cigno-match-k{ font-size:11px; letter-spacing:.08em; }
	.va-cigno-bars li{ grid-template-columns:1fr 46px; }
	.va-cigno-bars .bar{ grid-column:1 / -1; grid-row:2; }
	.va-cigno-table li{ grid-template-columns:34px 1fr 46px 46px 50px; padding:10px 10px; gap:4px; }
	.va-cigno-who img{ width:36px; height:36px; }
	.va-cigno-banner{ flex-wrap:wrap; }
	.va-cigno-banner-cta{ width:100%; }
}
/* Cigno d'oro: verifica "Non sono un robot" (solo in modalità protetta) */
.va-cigno-altcha{ flex:1 1 240px; min-width:220px; }
.va-cigno-altcha[hidden]{ display:none; }
.va-cigno-altcha altcha-widget{ display:block; --altcha-max-width:100%; --altcha-border-radius:10px; }

/* Hero: foto più leggera sui cellulari */
@media (max-width: 820px){ .va-hero::before{ background-image:var(--va-hero-m, var(--va-hero, none)); } }

/* Settore giovanile: schede categoria cliccabili e pagine categoria */
.va-youth-card.has-link{ transition:transform .2s ease, box-shadow .2s ease; }
.va-youth-card.has-link:hover{ transform:translateY(-3px); box-shadow:0 10px 24px rgba(15,23,51,.12); }
.va-youth-card.has-link a{ color:inherit !important; text-decoration:none; }
.va-youth-card.has-link a::before{ content:""; position:absolute; inset:0; z-index:1; }
.va-youth-more{ margin-top:6px; font-size:13px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#FFB9BC; }
.va-youth-card.is-base .va-youth-more{ color:var(--va-red); }
.va-cat-content{ margin-top:8px; }
.va-cat-note{ font-size:18px; line-height:1.6; color:#3A3F50; max-width:860px; }
.va-cat-links{ list-style:none; margin:20px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:10px; }
.va-cat-links a{ display:inline-block; padding:10px 18px; border-radius:999px; border:1.5px solid var(--va-line); color:var(--va-navy) !important; font-weight:700; text-decoration:none; background:#fff; }
.va-cat-links a:hover{ border-color:var(--va-red); color:var(--va-red) !important; }
.va-youth-cat .bigslam-page-title-wrap{ display:none !important; }

/* Cigno d'oro - Campione d'inverno (stile "notte d'inverno") */
.va-cigno-winter{ position:relative; overflow:hidden; color:#fff; padding-bottom:110px; background:radial-gradient(900px 520px at 50% 14%,rgba(86,140,230,.32),rgba(86,140,230,0) 70%),radial-gradient(500px 300px at 92% 0,rgba(242,193,78,.18),rgba(242,193,78,0) 70%),linear-gradient(180deg,#0B1436 0%,#101D4C 55%,#070E2A 100%); }
.va-cigno-winter .va-wrap{ position:relative; z-index:2; }
.va-inner .va-section.va-cigno-winter{ padding-top:80px; padding-bottom:110px; }
.va-inner .va-cigno-winter + .va-section{ padding-top:56px; }
.va-cigno-winter .va-cw-title{ color:#fff !important; }
.va-cigno-winter .va-cw-title{ font-family:var(--va-display) !important; font-size:58px !important; font-weight:800 !important; line-height:.92 !important; letter-spacing:0 !important; margin:0 !important; }
.va-cigno-winter .va-cw-eyebrow{ margin:0 0 8px !important; line-height:1.3 !important; }
.va-cigno-winter .va-cw-n{ font-family:var(--va-display) !important; line-height:1 !important; margin:40px 0 0 !important; }
.va-cigno-winter .va-cw-p{ font-family:var(--va-display) !important; line-height:1 !important; margin:8px 0 2px !important; }
.va-cigno-winter .va-cw-st{ margin:0 !important; line-height:1.4 !important; }
.va-cigno-winter .va-cw-count b{ font-weight:800 !important; }
@media (max-width: 700px){ .va-cigno-winter .va-cw-title{ font-size:42px !important; } }
.va-cigno-winter .va-cw-eyebrow,.va-cigno-winter .va-cw-st{ color:#A9CBF2 !important; }
.va-cigno-winter .va-cw-n,.va-cigno-winter .va-cw-p{ color:#fff; }
.va-cigno-winter .is-gold .va-cw-n,.va-cigno-winter .is-gold .va-cw-p{ color:#F7CF63; }
.va-cigno-winter .is-silver .va-cw-p{ color:#E3E9F2; } .va-cigno-winter .is-bronze .va-cw-p{ color:#E7A877; }
.va-cw-sky{ position:absolute; inset:0; pointer-events:none; z-index:1;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='620' height='560'%3E%3Ccircle cx='386' cy='415' r='2.5' fill='white' opacity='0.79'/%3E%3Ccircle cx='572' cy='16' r='2.5' fill='white' opacity='0.74'/%3E%3Ccircle cx='559' cy='63' r='1.2' fill='white' opacity='0.68'/%3E%3Ccircle cx='356' cy='7' r='1.3' fill='white' opacity='0.90'/%3E%3Ccircle cx='475' cy='89' r='1.0' fill='white' opacity='0.72'/%3E%3Ccircle cx='79' cy='1' r='1.2' fill='white' opacity='0.48'/%3E%3Ccircle cx='609' cy='489' r='2.5' fill='white' opacity='0.67'/%3E%3Ccircle cx='420' cy='115' r='2.0' fill='white' opacity='0.93'/%3E%3Ccircle cx='554' cy='167' r='1.1' fill='white' opacity='0.44'/%3E%3Ccircle cx='40' cy='169' r='0.8' fill='white' opacity='0.76'/%3E%3Ccircle cx='209' cy='174' r='1.7' fill='white' opacity='0.54'/%3E%3Ccircle cx='298' cy='395' r='11' fill='white' opacity='.08'/%3E%3Ccircle cx='14' cy='420' r='0.8' fill='white' opacity='0.82'/%3E%3Ccircle cx='227' cy='324' r='6' fill='white' opacity='.08'/%3E%3Ccircle cx='112' cy='535' r='2.2' fill='white' opacity='0.91'/%3E%3Ccircle cx='584' cy='193' r='1.7' fill='white' opacity='0.82'/%3E%3Ccircle cx='67' cy='419' r='2.3' fill='white' opacity='0.37'/%3E%3Ccircle cx='586' cy='51' r='1.9' fill='white' opacity='0.90'/%3E%3Ccircle cx='211' cy='518' r='1.4' fill='white' opacity='0.54'/%3E%3Ccircle cx='110' cy='44' r='2.0' fill='white' opacity='0.95'/%3E%3Ccircle cx='100' cy='27' r='1.8' fill='white' opacity='0.59'/%3E%3Ccircle cx='147' cy='333' r='1.6' fill='white' opacity='0.60'/%3E%3Ccircle cx='35' cy='513' r='8' fill='white' opacity='.08'/%3E%3Ccircle cx='520' cy='73' r='2.5' fill='white' opacity='0.73'/%3E%3Ccircle cx='489' cy='60' r='1.1' fill='white' opacity='0.86'/%3E%3Ccircle cx='183' cy='254' r='2.3' fill='white' opacity='0.94'/%3E%3Ccircle cx='281' cy='273' r='1.7' fill='white' opacity='0.52'/%3E%3Ccircle cx='250' cy='82' r='2.6' fill='white' opacity='0.93'/%3E%3Ccircle cx='389' cy='280' r='1.0' fill='white' opacity='0.51'/%3E%3Ccircle cx='485' cy='486' r='2.2' fill='white' opacity='0.81'/%3E%3Ccircle cx='431' cy='372' r='1.5' fill='white' opacity='0.77'/%3E%3Ccircle cx='174' cy='272' r='2.0' fill='white' opacity='0.53'/%3E%3Ccircle cx='586' cy='364' r='0.8' fill='white' opacity='0.68'/%3E%3Ccircle cx='155' cy='376' r='2.3' fill='white' opacity='0.74'/%3E%3Ccircle cx='495' cy='195' r='2.1' fill='white' opacity='0.85'/%3E%3Ccircle cx='217' cy='472' r='2.0' fill='white' opacity='0.94'/%3E%3Ccircle cx='593' cy='290' r='1.1' fill='white' opacity='0.85'/%3E%3Ccircle cx='581' cy='267' r='2.1' fill='white' opacity='0.79'/%3E%3Ccircle cx='107' cy='437' r='2.0' fill='white' opacity='0.60'/%3E%3Ccircle cx='387' cy='434' r='2.1' fill='white' opacity='0.37'/%3E%3Ccircle cx='99' cy='247' r='1.2' fill='white' opacity='0.76'/%3E%3Ccircle cx='391' cy='23' r='1.2' fill='white' opacity='0.38'/%3E%3Ccircle cx='83' cy='178' r='1.1' fill='white' opacity='0.37'/%3E%3Ccircle cx='289' cy='213' r='1.9' fill='white' opacity='0.49'/%3E%3Ccircle cx='560' cy='0' r='1.3' fill='white' opacity='0.60'/%3E%3Ccircle cx='71' cy='466' r='0.9' fill='white' opacity='0.72'/%3E%3Ccircle cx='59' cy='305' r='1.8' fill='white' opacity='0.92'/%3E%3Ccircle cx='507' cy='235' r='2.0' fill='white' opacity='0.57'/%3E%3Ccircle cx='88' cy='334' r='2.5' fill='white' opacity='0.93'/%3E%3Ccircle cx='377' cy='197' r='0.8' fill='white' opacity='0.41'/%3E%3Ccircle cx='351' cy='344' r='1.9' fill='white' opacity='0.88'/%3E%3Ccircle cx='233' cy='242' r='1.3' fill='white' opacity='0.93'/%3E%3Ccircle cx='235' cy='538' r='1.9' fill='white' opacity='0.51'/%3E%3Ccircle cx='608' cy='278' r='1.4' fill='white' opacity='0.94'/%3E%3Ccircle cx='305' cy='160' r='1.0' fill='white' opacity='0.72'/%3E%3Ccircle cx='275' cy='164' r='2.3' fill='white' opacity='0.36'/%3E%3Ccircle cx='330' cy='153' r='2.2' fill='white' opacity='0.50'/%3E%3Ccircle cx='166' cy='87' r='1.3' fill='white' opacity='0.71'/%3E%3Ccircle cx='294' cy='361' r='2.1' fill='white' opacity='0.42'/%3E%3Ccircle cx='471' cy='168' r='1.4' fill='white' opacity='0.53'/%3E%3Ccircle cx='329' cy='260' r='2.1' fill='white' opacity='0.70'/%3E%3Ccircle cx='23' cy='141' r='2.4' fill='white' opacity='0.88'/%3E%3Ccircle cx='338' cy='8' r='1.6' fill='white' opacity='0.70'/%3E%3Ccircle cx='439' cy='354' r='2.4' fill='white' opacity='0.58'/%3E%3Ccircle cx='243' cy='477' r='1.3' fill='white' opacity='0.85'/%3E%3Ccircle cx='41' cy='468' r='1.6' fill='white' opacity='0.52'/%3E%3Ccircle cx='484' cy='510' r='1.7' fill='white' opacity='0.68'/%3E%3Ccircle cx='309' cy='185' r='1.9' fill='white' opacity='0.84'/%3E%3Ccircle cx='42' cy='129' r='2.2' fill='white' opacity='0.75'/%3E%3Ccircle cx='16' cy='405' r='2.6' fill='white' opacity='0.77'/%3E%3C/svg%3E"); background-size:620px 560px; }
.va-cw-sky::before{ content:""; position:absolute; left:-10%; right:-10%; top:40px; height:300px; background:linear-gradient(100deg,rgba(80,220,230,0) 10%,rgba(80,220,230,.18) 35%,rgba(120,150,255,.22) 55%,rgba(200,140,255,.08) 75%,rgba(0,0,0,0) 90%); filter:blur(50px); transform:rotate(-6deg); }
.va-cw-sky::after{ content:""; position:absolute; left:0; right:0; bottom:-1px; height:90px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1280 90' preserveAspectRatio='none'%3E%3Cpath d='M0 50C200 20 380 70 640 44S1040 10 1280 46V90H0z' fill='%23ffffff' opacity='.16'/%3E%3Cpath d='M0 72C260 50 520 86 800 66S1120 56 1280 70V90H0z' fill='%23ffffff'/%3E%3C/svg%3E") center bottom/100% 100% no-repeat; }
.va-cw-gold{ background:linear-gradient(180deg,#FFF1C2 0%,#F7CF63 40%,#E0A83A 70%,#B67C1E 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.va-cw-head{ display:flex; align-items:center; gap:26px; margin-bottom:46px; }
.va-cw-logo{ width:140px; height:140px; flex:0 0 auto; filter:drop-shadow(0 0 26px rgba(242,193,78,.4)) drop-shadow(0 12px 24px rgba(0,0,0,.5)); }
.va-cw-eyebrow{ margin:0 0 8px; font-size:13px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; color:#A9CBF2; }
.va-cw-title{ margin:0; font-family:var(--va-display); font-weight:800; font-size:58px; line-height:.92; text-transform:uppercase; color:#fff; }
.va-cw-count{ margin-left:auto; text-align:right; padding:14px 20px; border-radius:16px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.16); }
.va-cw-count b{ display:block; font-family:var(--va-display); font-size:44px; line-height:1; }
.va-cw-count small{ font-size:13px; color:#A9CBF2; }
.va-cw-pod{ display:grid; grid-template-columns:1fr 1.18fr 1fr; gap:22px; align-items:end; max-width:900px; margin:0 auto; }
.va-cw-card{ text-align:center; position:relative; }
.va-cw-fr{ display:block; position:relative; padding:4px; border-radius:22px; background:linear-gradient(145deg,#FFF0BF,#F2C14E 30%,#A8711A 60%,#FFE08A); box-shadow:0 20px 50px rgba(0,0,0,.5),0 0 60px rgba(242,193,78,.18); transition:transform .2s; }
.va-cw-fr:hover{ transform:translateY(-3px); }
.va-cw-card.is-silver .va-cw-fr{ background:linear-gradient(145deg,#fff,#C9D3E2 35%,#8C97A8 65%,#EEF2F8); box-shadow:0 18px 40px rgba(0,0,0,.45); }
.va-cw-card.is-bronze .va-cw-fr{ background:linear-gradient(145deg,#FFD9B5,#D08A4E 35%,#8A5228 65%,#F2B98A); box-shadow:0 18px 40px rgba(0,0,0,.45); }
.va-cw-fr img,.va-cw-fr .va-cw-noph{ display:block; width:100%; aspect-ratio:1/1.12; object-fit:cover; object-position:center top; border-radius:18px; }
.va-cw-noph{ background:linear-gradient(180deg,#3A5BA8,#142356); }
.va-cw-card.is-gold .va-cw-fr img,.va-cw-card.is-gold .va-cw-noph{ aspect-ratio:1/1.25; }
.va-cw-fr::after{ content:""; position:absolute; inset:4px; border-radius:18px; pointer-events:none; background:radial-gradient(120px 90px at 0 0,rgba(255,255,255,.35),rgba(255,255,255,0) 70%),linear-gradient(180deg,rgba(7,14,42,0) 60%,rgba(7,14,42,.55)); }
.va-cw-md{ position:absolute; left:50%; bottom:-24px; transform:translateX(-50%); z-index:2; width:50px; height:50px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--va-display); font-weight:800; font-size:30px; color:#0B1436; background:radial-gradient(circle at 35% 30%,#FFF4CF,#F2C14E 45%,#B07A1E); box-shadow:0 6px 16px rgba(0,0,0,.5); }
.is-silver .va-cw-md{ background:radial-gradient(circle at 35% 30%,#fff,#C9D3E2 45%,#7D899B); }
.is-bronze .va-cw-md{ background:radial-gradient(circle at 35% 30%,#FFE2C6,#D08A4E 45%,#80481F); }
.is-gold .va-cw-md{ width:60px; height:60px; font-size:36px; bottom:-30px; }
.va-cw-n{ margin:40px 0 0; font-family:var(--va-display); font-weight:800; font-size:28px; line-height:1; text-transform:uppercase; color:#fff; }
.is-gold .va-cw-n{ font-size:34px; color:#F7CF63; }
.va-cw-p{ margin:8px 0 2px; font-family:var(--va-display); font-weight:800; font-size:46px; line-height:1; color:#fff; }
.va-cw-p small{ font-size:18px; opacity:.7; }
.is-gold .va-cw-p{ font-size:56px; color:#F7CF63; }
.is-silver .va-cw-p{ color:#E3E9F2; } .is-bronze .va-cw-p{ color:#E7A877; }
.va-cw-st{ margin:0; font-size:14px; color:#A9CBF2; }
.va-cw-tag{ display:inline-block; margin-top:10px; padding:5px 14px; border-radius:999px; background:linear-gradient(90deg,#C62B32,#8E1C2A); font-size:12px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:#fff; }
.va-cw-list{ list-style:none; margin:44px 0 0; padding:0; display:grid; gap:8px; }
.va-cw-list li{ display:grid; grid-template-columns:40px 1.3fr 2fr 74px 50px; gap:16px; align-items:center; padding:13px 22px; border-radius:14px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.10); }
.va-cw-rk{ font-family:var(--va-display); font-weight:800; font-size:24px; color:#7FA8D6; }
.va-cw-nm{ font-weight:700; font-size:16px; color:#fff !important; text-decoration:none !important; }
.va-cw-nm:hover{ color:#F7CF63 !important; }
.va-cw-nm small{ display:block; margin-top:2px; font-weight:500; font-size:12px; color:#A9CBF2; }
.va-cw-bar{ height:8px; background:rgba(255,255,255,.08); border-radius:6px; overflow:hidden; }
.va-cw-bar i{ display:block; height:100%; background:linear-gradient(90deg,#7FA8D6,#F2C14E); border-radius:6px; box-shadow:0 0 12px rgba(242,193,78,.5); }
.va-cw-pt{ font-family:var(--va-display); font-weight:800; font-size:24px; text-align:right; }
.va-cw-pt small{ font-size:13px; opacity:.6; }
.va-cw-gap{ font-size:14px; color:#A9CBF2; text-align:right; }
.va-cw-rules{ margin-top:22px; font-size:14px; color:#A9CBF2; display:flex; gap:10px 20px; flex-wrap:wrap; align-items:center; }
.va-cw-rules b{ color:#fff; }
.va-cw-chip{ padding:6px 12px; border-radius:999px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.14); }
.va-cw-home{ position:relative; overflow:hidden; display:flex; align-items:center; gap:24px; margin-top:16px; padding:16px 26px; border-radius:20px; color:#fff !important; text-decoration:none !important; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='180'%3E%3Ccircle cx='13' cy='152' r='1.2' fill='white' opacity='0.74'/%3E%3Ccircle cx='248' cy='128' r='1.0' fill='white' opacity='0.53'/%3E%3Ccircle cx='239' cy='27' r='1.9' fill='white' opacity='0.60'/%3E%3Ccircle cx='42' cy='112' r='0.9' fill='white' opacity='0.41'/%3E%3Ccircle cx='99' cy='13' r='0.9' fill='white' opacity='0.70'/%3E%3Ccircle cx='193' cy='158' r='1.0' fill='white' opacity='0.61'/%3E%3Ccircle cx='82' cy='108' r='1.7' fill='white' opacity='0.91'/%3E%3Ccircle cx='97' cy='10' r='2.1' fill='white' opacity='0.44'/%3E%3Ccircle cx='164' cy='91' r='2.4' fill='white' opacity='0.68'/%3E%3Ccircle cx='161' cy='47' r='1.8' fill='white' opacity='0.50'/%3E%3Ccircle cx='195' cy='93' r='1.0' fill='white' opacity='0.49'/%3E%3Ccircle cx='97' cy='133' r='1.1' fill='white' opacity='0.78'/%3E%3Ccircle cx='170' cy='15' r='2.0' fill='white' opacity='0.40'/%3E%3Ccircle cx='32' cy='107' r='1.2' fill='white' opacity='0.88'/%3E%3Ccircle cx='125' cy='58' r='2.2' fill='white' opacity='0.37'/%3E%3Ccircle cx='189' cy='10' r='1.1' fill='white' opacity='0.92'/%3E%3Ccircle cx='177' cy='40' r='1.0' fill='white' opacity='0.93'/%3E%3Ccircle cx='173' cy='148' r='1.1' fill='white' opacity='0.72'/%3E%3Ccircle cx='92' cy='42' r='1.4' fill='white' opacity='0.72'/%3E%3Ccircle cx='91' cy='69' r='1.0' fill='white' opacity='0.85'/%3E%3Ccircle cx='168' cy='145' r='1.6' fill='white' opacity='0.86'/%3E%3Ccircle cx='135' cy='107' r='1.8' fill='white' opacity='0.79'/%3E%3Ccircle cx='103' cy='17' r='0.9' fill='white' opacity='0.47'/%3E%3Ccircle cx='10' cy='160' r='1.7' fill='white' opacity='0.81'/%3E%3Ccircle cx='0' cy='85' r='2.4' fill='white' opacity='0.72'/%3E%3Ccircle cx='111' cy='84' r='1.0' fill='white' opacity='0.44'/%3E%3C/svg%3E") 0 0/260px 180px,radial-gradient(400px 200px at 12% 50%,rgba(242,193,78,.22),rgba(242,193,78,0) 70%),linear-gradient(110deg,#0B1436,#16285E 60%,#0B1436); border:1px solid rgba(242,193,78,.45); box-shadow:0 18px 40px rgba(11,20,54,.3); transition:transform .15s; }
.va-cw-home:hover{ transform:translateY(-2px); }
.va-cw-home-logo{ width:84px; height:84px; flex:0 0 auto; filter:drop-shadow(0 0 16px rgba(242,193,78,.45)); }
.va-cw-home-t{ display:flex; flex-direction:column; gap:4px; }
.va-cw-home-k{ font-size:12px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:#A9CBF2; }
.va-cw-home-h{ font-family:var(--va-display); font-weight:800; font-size:30px; line-height:1; text-transform:uppercase; }
.va-cw-home-p{ display:flex; gap:16px; margin-left:auto; align-items:flex-end; }
.va-cw-home-i{ text-align:center; }
.va-cw-home-i img,.va-cw-home-i .va-cw-noph{ display:block; width:54px; height:54px; border-radius:50%; object-fit:cover; border:3px solid #C9D3E2; margin:0 auto 4px; }
.va-cw-home-i.is-1 img,.va-cw-home-i.is-1 .va-cw-noph{ width:70px; height:70px; border-color:#F2C14E; box-shadow:0 0 18px rgba(242,193,78,.5); }
.va-cw-home-i.is-3 img,.va-cw-home-i.is-3 .va-cw-noph{ border-color:#D08A4E; }
.va-cw-home-i b{ display:block; font-family:var(--va-display); font-size:19px; }
.va-cw-home-i.is-1 b{ color:#F7CF63; }
.va-cw-home-cta{ padding:12px 20px; border-radius:999px; background:linear-gradient(180deg,#FFE18A,#F2C14E 50%,#D69A2E); color:#0B1436; font-family:var(--va-display); font-weight:800; font-size:18px; text-transform:uppercase; white-space:nowrap; }
@media (max-width: 700px){
	.va-cigno-winter{ padding-bottom:90px; }
	.va-cw-title{ font-size:42px; }
	.va-cw-head{ flex-wrap:wrap; gap:16px; }
	.va-cw-logo{ width:86px; height:86px; }
	.va-cw-count{ margin-left:0; text-align:left; }
	.va-cw-pod{ grid-template-columns:1fr 1fr; gap:16px; }
	.va-cw-card.is-gold{ grid-column:1/3; order:-1; max-width:300px; width:100%; margin:0 auto 10px; }
	.va-cw-n{ font-size:22px; } .va-cw-p{ font-size:36px; } .is-gold .va-cw-n{ font-size:30px; } .is-gold .va-cw-p{ font-size:48px; }
	.va-cw-list li{ grid-template-columns:28px 1fr 64px 40px; padding:11px 14px; gap:10px; }
	.va-cw-list .va-cw-bar{ grid-column:2/5; grid-row:2; }
	.va-cw-home{ flex-wrap:wrap; gap:14px; padding:18px; }
	.va-cw-home-p{ margin-left:0; }
	.va-cw-home-cta{ width:100%; text-align:center; }
}
