/* Base: font, token, temi chiaro/scuro, sport, tipografia e componenti condivisi. Da design/assets/css/svm.css */

/* FONT: ospitati nel tema (variabili, woff2, licenza OFL in ../fonts/LICENSE.txt) */
@font-face{font-family:"Big Shoulders Display";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/big-shoulders-display-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Big Shoulders Display";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/big-shoulders-display-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Figtree";font-style:normal;font-weight:300 900;font-display:swap;src:url(../fonts/figtree-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Figtree";font-style:normal;font-weight:300 900;font-display:swap;src:url(../fonts/figtree-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:100 800;font-display:swap;src:url(../fonts/jetbrains-mono-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:100 800;font-display:swap;src:url(../fonts/jetbrains-mono-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* reset minimo */
html,body{margin:0}
img{max-width:100%}
[hidden]{display:none!important}
/* Layout: notte al circolo sotto i fari. Antracite + giallo pallina (tennis/padel), verde green (golf), blu piscina (nuoto). Header e footer sempre scuri. */
:root{
  --court:#0a0a0a;      /* nero antracite, dal sito attuale */
  --court-2:#141414;
  --court-3:#1f1f1f;
  --line:#ffffff;
  --muted:#a0a0a0;
  --clay:#d1ff00;       /* giallo pallina */
  --clay-soft:#e2ff5c;
  --on-clay:#111111;
  --ball:#d1ff00;
  --paper:#f1f1f1;
  --hair:rgba(255,255,255,.09);
  --acc-ink:#d1ff00;    /* accento usato come testo */
  --inv-muted:#666666;  /* testo secondario su blocchi invertiti */
  --chrome:#0a0a0a;--chrome-2:#141414;--chrome-3:#1f1f1f;--chrome-muted:#a0a0a0; /* header e footer, sempre scuri */
  --f-display:"Big Shoulders Display","Oswald","Arial Narrow",sans-serif;
  --f-body:"Figtree","Inter","Segoe UI",system-ui,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  color-scheme:dark;
}
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]){
  --court:#f4f4f1;--court-2:#e9e9e5;--court-3:#dcdcd6;--line:#0a0a0a;--muted:#5b5b57;
  --hair:rgba(10,10,10,.12);--acc-ink:#5c7200;--inv-muted:#a0a0a0;color-scheme:light}}
:root[data-theme="light"]{
  --court:#f4f4f1;--court-2:#e9e9e5;--court-3:#dcdcd6;--line:#0a0a0a;--muted:#5b5b57;
  --hair:rgba(10,10,10,.12);--acc-ink:#5c7200;--inv-muted:#a0a0a0;color-scheme:light}
/* SPORT: golf (verde green) e nuoto (blu piscina) ridefiniscono palette e accento del logo */
:root[data-sport="golf"]{--court:#07140d;--court-2:#0d2016;--court-3:#163020;--line:#ffffff;--muted:#9db3a5;--clay:#3ddc84;--clay-soft:#6fe9a4;--on-clay:#04130a;--ball:#3ddc84;--hair:rgba(220,255,235,.1);--acc-ink:#3ddc84;--chrome:#06120b;--chrome-2:#0d2016;--chrome-3:#163020;--chrome-muted:#9db3a5;color-scheme:dark}
:root[data-sport="nuoto"]{--court:#04121d;--court-2:#0a2031;--court-3:#123049;--line:#ffffff;--muted:#94adbf;--clay:#22c7f2;--clay-soft:#5fd8f7;--on-clay:#021019;--ball:#22c7f2;--hair:rgba(220,240,255,.1);--acc-ink:#22c7f2;--chrome:#03101a;--chrome-2:#0a2031;--chrome-3:#123049;--chrome-muted:#94adbf;color-scheme:dark}
@media (prefers-color-scheme:light){
  :root[data-sport="golf"]:not([data-theme="dark"]){--court:#f1f5f0;--court-2:#e3ece3;--court-3:#d3e0d4;--line:#07140d;--muted:#4f6356;--hair:rgba(7,20,13,.12);--acc-ink:#0b7a3b;--inv-muted:#9db3a5;color-scheme:light}
  :root[data-sport="nuoto"]:not([data-theme="dark"]){--court:#eef5f9;--court-2:#dfeaf1;--court-3:#cddde8;--line:#04121d;--muted:#4b6375;--hair:rgba(4,18,29,.12);--acc-ink:#0069b4;--inv-muted:#94adbf;color-scheme:light}}
:root[data-sport="golf"][data-theme="light"]{--court:#f1f5f0;--court-2:#e3ece3;--court-3:#d3e0d4;--line:#07140d;--muted:#4f6356;--hair:rgba(7,20,13,.12);--acc-ink:#0b7a3b;--inv-muted:#9db3a5;color-scheme:light}
:root[data-sport="nuoto"][data-theme="light"]{--court:#eef5f9;--court-2:#dfeaf1;--court-3:#cddde8;--line:#04121d;--muted:#4b6375;--hair:rgba(4,18,29,.12);--acc-ink:#0069b4;--inv-muted:#94adbf;color-scheme:light}
/* header e footer restano sempre scuri: logo bianco + accento dello sport */
header.nav,footer.site{--court:var(--chrome);--court-2:var(--chrome-2);--court-3:var(--chrome-3);--line:#ffffff;--muted:var(--chrome-muted);--hair:rgba(255,255,255,.1);--acc-ink:var(--clay);--logo-ink:#ffffff;--logo-acc:var(--clay);color-scheme:dark;color:var(--line)}
body,header.nav,footer.site{transition:background-color .4s}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--court);color:var(--line);font-family:var(--f-body);font-size:16px;line-height:1.55;overflow-x:hidden}
a{color:inherit}
:focus-visible{outline:2px solid var(--clay);outline-offset:3px;border-radius:4px}
.wrap{max-width:1240px;margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
.mono{font-family:var(--f-mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
h1,h2,h3{font-family:var(--f-display);font-weight:900;line-height:.9;letter-spacing:.005em;text-transform:uppercase;margin:0;text-wrap:balance}
p{margin:0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* VIEWS: ingresso pagina */
.view{animation:enter .6s cubic-bezier(.2,.7,.2,1) both}
@keyframes enter{from{opacity:.001;transform:translateY(14px)}to{opacity:1;transform:none}}

/* BOTTONI */
.btns{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;padding:15px 24px;border-radius:999px;border:1px solid var(--hair);transition:transform .2s,background .2s,border-color .2s;cursor:pointer;font:inherit;font-weight:700;color:var(--line);background:transparent}
.btn:hover{transform:translateY(-2px);border-color:var(--line)}
.btn.primary{background:var(--clay);border-color:var(--clay);color:var(--on-clay)}
.btn.primary:hover{background:var(--clay-soft);border-color:var(--clay-soft)}
.btn svg{width:18px;height:18px}

/* SECTIONS */
section.block{padding-block:clamp(56px,9vw,120px);border-bottom:1px solid var(--hair)}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(32px,5vw,56px)}
.sec-head h2{font-size:clamp(2.6rem,6vw,5rem);max-width:12ch}
.sec-head p{color:var(--muted);max-width:32em}

/* big CTA */
.bigcta{padding-block:clamp(64px,10vw,140px);text-align:left}
.bigcta h2{font-size:clamp(3.2rem,11vw,10rem)}
.bigcta h2 span{color:var(--acc-ink)}
.bigcta .row{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-top:32px}
.bigcta p{color:var(--muted);max-width:30em}

/* testo introduttivo, intestazione pagine interne, chip, note */
.lead{font-size:clamp(1.05rem,1.6vw,1.25rem);color:var(--muted);max-width:34em}
.lead strong{color:var(--line);font-weight:600}
.page-hero{padding-block:clamp(48px,8vw,100px) clamp(32px,5vw,56px);border-bottom:1px solid var(--hair)}
.page-hero h1{font-size:clamp(3.2rem,10vw,8rem)}
.page-hero h1 span{color:var(--acc-ink)}
.page-hero p{color:var(--muted);max-width:40em;margin-top:22px;font-size:1.1rem}
.chip{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;padding:5px 9px;border-radius:999px;border:1px solid var(--hair);color:var(--muted)}
.hint{color:var(--muted);font-size:.9rem;margin-top:6px}

/* linee del campo in hero (home, Tennis & Padel): si disegnano al caricamento */
.court-bg{position:absolute;inset:0;pointer-events:none;opacity:.55}
.court-bg svg{width:100%;height:100%}
.court-bg path,.court-bg line,.court-bg rect{stroke:var(--hair);fill:none;stroke-width:2}
.court-bg .ln{stroke-dasharray:1;animation:draw 1.8s cubic-bezier(.6,0,.2,1) var(--d,0s) both}
.page-hero.has-court{position:relative;overflow:hidden}
.page-hero.has-court .wrap{position:relative}

/* animazioni condivise */
@keyframes draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes fade{from{opacity:0}to{opacity:1}}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
