:root{
  box-sizing:border-box;
  --verde:#00A859;
  --verde-scuro:#00532C;
  --nero:#121212;
  --arancio:#FF6B00;
  --bianco:#FFFFFF;
  --panna:#F4F3EF;
  --riga:#22282480;
  --testo:#1B1B18;
  --testo-secondario:#5B5F5A;
  --bg:#F4F3EF;
  --bg-card:#FFFFFF;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
:root:not([data-theme="light"]){
  @media (prefers-color-scheme: dark){
    --bg:#0E0F0D;
    --bg-card:#181A17;
    --testo:#F1F1EE;
    --testo-secondario:#A9ACA6;
    --riga:#3a3f3a80;
  }
}
:root[data-theme="dark"]{
  --bg:#0E0F0D;
  --bg-card:#181A17;
  --testo:#F1F1EE;
  --testo-secondario:#A9ACA6;
  --riga:#3a3f3a80;
}
html{scroll-padding-top:env(safe-area-inset-top,0px); scroll-behavior:smooth;}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:var(--bg);
  color:var(--testo);
  font-family:'Inter', -apple-system, "Segoe UI", Roboto, sans-serif;
  line-height:1.55;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:'Oswald', "Arial Narrow", Impact, sans-serif;
  text-transform:uppercase;
  letter-spacing:0.01em;
  margin:0;
  color:var(--testo);
  font-weight:700;
}
p{margin:0;}
img,svg{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
.wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 24px;}
.overflow-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
}

/* ---------- BOTTONI ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 30px;border-radius:4px;font-family:'Oswald',sans-serif;
  font-weight:600;font-size:0.95rem;text-transform:uppercase;letter-spacing:0.03em;
  transition:transform .25s ease, box-shadow .25s ease, background-position .4s ease;
  white-space:nowrap;
}
.btn:focus-visible{outline:3px solid var(--bianco); outline-offset:2px;}
.btn-primary{
  color:var(--bianco);
  background-image:linear-gradient(100deg, var(--verde) 0%, var(--verde) 45%, var(--arancio) 100%);
  background-size:220% 100%;
  background-position:0% 0%;
  box-shadow:0 8px 22px -8px rgba(255,107,0,0.55);
}
.btn-primary:hover, .btn-primary:focus-visible{ background-position:100% 0%; transform:translateY(-2px); }
.btn-outline{
  color:var(--bianco);
  border:2px solid rgba(255,255,255,0.65);
  background:transparent;
}
.btn-outline:hover{ background:rgba(255,255,255,0.12); border-color:var(--bianco); }
.btn-dark{ color:var(--bianco); background:var(--nero); }
.btn-dark:hover{ background:var(--verde-scuro); }
.btn-ghost-verde{ color:var(--verde-scuro); border:2px solid var(--verde); }
.btn-ghost-verde:hover{ background:var(--verde); color:var(--bianco); }

/* ---------- HEADER ---------- */
header{
  position:sticky; top:0; z-index:60;
  padding-top:env(safe-area-inset-top,0px);
  background:rgba(18,18,18,0.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(255,255,255,0.08);
  transition:padding .25s ease;
}
.nav-row{ display:flex; align-items:center; justify-content:space-between; padding:16px 24px; max-width:1180px; margin:0 auto; }
.logo{ display:flex; align-items:center; gap:10px; color:var(--bianco); }
.logo-word{ font-family:'Oswald',sans-serif; font-weight:700; font-size:1.05rem; letter-spacing:0.02em; line-height:1.1; }
.logo-word span{ display:block; font-size:0.62rem; color:var(--arancio); font-weight:600; letter-spacing:0.12em; }
nav.main-nav{ display:flex; align-items:center; gap:28px; }
nav.main-nav a{ color:#EDEDEA; font-size:0.92rem; font-weight:500; position:relative; padding:6px 0; }
nav.main-nav a::after{ content:""; position:absolute; left:0; bottom:0; height:2px; width:0; background:var(--arancio); transition:width .25s ease; }
nav.main-nav a:hover::after{ width:100%; }
.nav-cta{ display:flex; align-items:center; gap:18px; }
.burger{ display:none; width:40px; height:40px; align-items:center; justify-content:center; color:var(--bianco); }
.burger svg{width:24px;height:24px;}
.mobile-menu{ display:none; flex-direction:column; gap:2px; background:var(--nero); border-top:1px solid rgba(255,255,255,0.08); }
.mobile-menu.open{ display:flex; }
.mobile-menu a{ color:#EDEDEA; padding:16px 24px; border-bottom:1px solid rgba(255,255,255,0.06); font-size:0.95rem; }
@media (max-width:860px){
  nav.main-nav{ display:none; }
  .nav-cta .btn-primary{ padding:10px 18px; font-size:0.82rem; }
  .burger{ display:flex; }
}

/* ---------- HERO ---------- */
.hero{
  position:relative; min-height:min(92vh,860px); display:flex; align-items:center;
  overflow:hidden; background:var(--nero);
}
.hero-slide{
  position:absolute; inset:0; opacity:0; transition:opacity 1.6s ease;
}
.hero-slide.active{ opacity:1; }
.hs1{ background:
  radial-gradient(circle at 18% 24%, rgba(0,168,89,0.55), transparent 42%),
  radial-gradient(circle at 82% 70%, rgba(255,107,0,0.4), transparent 45%),
  linear-gradient(135deg, #0d3d24 0%, #121212 62%);
}
.hs2{ background:
  radial-gradient(circle at 78% 20%, rgba(255,107,0,0.5), transparent 40%),
  radial-gradient(circle at 22% 78%, rgba(0,168,89,0.5), transparent 45%),
  linear-gradient(135deg, #121212 0%, #08361f 100%);
}
.hs3{ background:
  radial-gradient(circle at 50% 15%, rgba(0,168,89,0.45), transparent 45%),
  radial-gradient(circle at 12% 85%, rgba(255,107,0,0.35), transparent 42%),
  linear-gradient(135deg, #0a1c12 0%, #121212 70%);
}
.hero::before{
  content:""; position:absolute; inset:0;
  background-image:repeating-linear-gradient(45deg, rgba(255,255,255,0.028) 0 2px, transparent 2px 26px);
  mix-blend-mode:overlay; z-index:1;
}
.hero::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0.55) 60%, rgba(0,0,0,0.85) 100%);
  z-index:1;
}
.hero-content{ position:relative; z-index:2; width:100%; padding:110px 24px 60px; max-width:1180px; margin:0 auto; }
.hero-eyebrow{ display:flex; align-items:center; gap:10px; color:var(--arancio); font-weight:600; font-size:0.85rem; letter-spacing:0.06em; margin-bottom:22px; }
.hero-eyebrow .fox-mini{width:20px;height:20px;}
.hero h1{
  color:var(--bianco); font-size:clamp(2.4rem, 6vw, 4.6rem); line-height:1.03; max-width:820px;
  opacity:0; transform:translateY(24px); animation:heroIn 0.9s 0.15s cubic-bezier(.2,.7,.2,1) forwards;
}
.hero-sub{
  color:#D9DAD5; font-size:clamp(1rem,2vw,1.2rem); max-width:560px; margin-top:24px; font-weight:400;
  opacity:0; transform:translateY(18px); animation:heroIn 0.9s 0.35s cubic-bezier(.2,.7,.2,1) forwards;
}
.hero-actions{ display:flex; gap:16px; flex-wrap:wrap; margin-top:38px;
  opacity:0; transform:translateY(18px); animation:heroIn 0.9s 0.5s cubic-bezier(.2,.7,.2,1) forwards; }
@keyframes heroIn{ to{ opacity:1; transform:translateY(0); } }

/* ---------- MARQUEE ---------- */
.marquee-wrap{ background:var(--verde); overflow:hidden; padding:13px 0; position:relative; z-index:2; }
.marquee-track{ display:flex; width:max-content; animation:scrollLeft 26s linear infinite; }
.marquee-track span{ display:flex; align-items:center; gap:14px; color:var(--nero); font-family:'Oswald',sans-serif; font-weight:600; font-size:0.95rem; letter-spacing:0.03em; padding:0 34px; white-space:nowrap; }
.marquee-track svg{ width:16px; height:16px; flex:none; }
@keyframes scrollLeft{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* ---------- SEZIONI GENERICHE ---------- */
section{ padding:96px 0; }
.section-light{ background:var(--panna); }
.section-dark{ background:var(--nero); color:#fff; }
.section-white{ background:var(--bg-card); }
.section-head{ max-width:640px; margin-bottom:56px; }
.section-tag{ color:var(--arancio); font-weight:700; font-family:'Oswald',sans-serif; font-size:0.82rem; letter-spacing:0.06em; }
.section-head h2{ font-size:clamp(1.8rem,3.4vw,2.6rem); margin-top:10px; }
.section-head p{ color:var(--testo-secondario); margin-top:16px; font-size:1.02rem; }
.section-dark .section-head p{ color:#B9BBB5; }

/* reveal animation */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); }
.reveal.in{ opacity:1; transform:translateY(0); }

/* ---------- INTRO / VALORI ---------- */
.intro-grid{ display:grid; grid-template-columns:1.1fr 1fr; gap:64px; align-items:center; }
.intro-fox{ background:var(--verde-scuro); border-radius:8px; padding:52px; display:flex; align-items:center; justify-content:center; }
.intro-fox svg{ width:100%; max-width:220px; }
.valori-list{ display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:30px; }
.valore{ padding:18px 0; border-top:1px solid var(--riga); }
.valore h4{ font-size:1rem; letter-spacing:0.02em; display:flex; align-items:center; gap:10px; }
.valore h4 svg{ width:20px; height:20px; color:var(--verde); flex:none; }
.valore p{ color:var(--testo-secondario); font-size:0.92rem; margin-top:8px; }
@media (max-width:860px){ .intro-grid{ grid-template-columns:1fr; gap:36px; } .valori-list{ grid-template-columns:1fr; } }

/* ---------- NUMERI ---------- */
.numeri-bar{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(255,255,255,0.1); border-radius:6px; overflow:hidden; margin-top:20px; }
.numero{ background:var(--verde-scuro); padding:34px 20px; text-align:center; }
.numero .val{ font-family:'Oswald',sans-serif; font-weight:700; font-size:clamp(2rem,4vw,2.8rem); color:var(--bianco); }
.numero .lab{ font-size:0.82rem; color:#CFEFDB; margin-top:6px; }
@media (max-width:700px){ .numeri-bar{ grid-template-columns:1fr 1fr; } }

/* ---------- ATTIVITÀ CARDS ---------- */
.att-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.att-card{ position:relative; padding:30px 24px; border-radius:6px; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.12); backdrop-filter:blur(10px); transition:transform .3s ease, border-color .3s ease; }
.att-card:hover{ transform:translateY(-6px); border-color:var(--arancio); }
.att-card .ic{ width:42px; height:42px; color:var(--arancio); margin-bottom:18px; }
.att-card h3{ font-size:1.08rem; color:#fff; }
.att-card p{ color:#B9BBB5; font-size:0.88rem; margin-top:10px; }
.att-card a{ display:inline-flex; margin-top:16px; color:var(--verde); font-weight:600; font-size:0.85rem; font-family:'Oswald',sans-serif; letter-spacing:0.02em; }
@media (max-width:980px){ .att-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .att-grid{ grid-template-columns:1fr; } }

/* ---------- SPONSOR ---------- */
.sponsor-wrap{ overflow:hidden; background:var(--bg-card); padding:44px 0; border-top:1px solid var(--riga); border-bottom:1px solid var(--riga); }
.sponsor-track{ display:flex; width:max-content; animation:scrollLeft 22s linear infinite; align-items:center; }
.sponsor-item{ width:150px; height:64px; margin:0 26px; display:flex; align-items:center; justify-content:center; color:var(--testo-secondario); font-family:'Oswald',sans-serif; font-weight:600; font-size:0.85rem; letter-spacing:0.03em; border:1px dashed var(--riga); border-radius:4px; flex:none; }

/* ---------- STORIA / CAMPI / STAFF ---------- */
.storia-grid{ display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start; }
.storia-grid p{ color:var(--testo-secondario); margin-bottom:16px; }
.campi-gallery{ display:grid; grid-template-columns:2fr 1fr; grid-template-rows:1fr 1fr; gap:14px; height:420px; }
.campo-ph{ border-radius:6px; position:relative; overflow:hidden; display:flex; align-items:flex-end; padding:16px; color:#fff; font-family:'Oswald',sans-serif; font-weight:600; font-size:0.9rem; }
.campo-ph::before{ content:""; position:absolute; inset:0; background:linear-gradient(160deg,var(--verde) 0%, var(--nero) 100%); opacity:0.92; }
.campo-ph:nth-child(2)::before{ background:linear-gradient(160deg,var(--arancio) 0%, var(--nero) 100%); }
.campo-ph:nth-child(3)::before{ background:linear-gradient(200deg,var(--verde-scuro) 0%, #1b1b1b 100%); }
.campo-ph span{ position:relative; z-index:1; }
.campo-ph.big{ grid-row:span 2; }
@media (max-width:860px){ .storia-grid{ grid-template-columns:1fr; gap:32px; } .campi-gallery{ height:auto; grid-template-columns:1fr 1fr; grid-template-rows:140px 140px; } }

.staff-grid{ display:grid; grid-template-columns:repeat(6,1fr); gap:18px; margin-top:20px; }
.staff-card{ text-align:center; }
.staff-avatar{ width:100%; aspect-ratio:1; border-radius:6px; background:linear-gradient(160deg, var(--verde) 0%, var(--verde-scuro) 100%); display:flex; align-items:center; justify-content:center; color:#fff; font-family:'Oswald',sans-serif; font-weight:700; font-size:1.3rem; }
.staff-card h4{ font-size:0.88rem; margin-top:10px; text-transform:none; font-family:'Inter',sans-serif; font-weight:600; }
.staff-card p{ font-size:0.78rem; color:var(--testo-secondario); margin-top:2px; }
@media (max-width:980px){ .staff-grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:600px){ .staff-grid{ grid-template-columns:repeat(2,1fr); } }

/* ---------- DOCUMENTI ---------- */
.doc-row{ display:flex; gap:14px; flex-wrap:wrap; margin-top:26px; }
.doc-chip{ display:flex; align-items:center; gap:10px; padding:12px 18px; border:1px solid var(--riga); border-radius:4px; font-size:0.86rem; font-weight:600; color:var(--testo); background:var(--bg-card); }
.doc-chip svg{ width:18px; height:18px; color:var(--verde); }

/* ---------- CATEGORIE ---------- */
.cat-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.cat-card{ background:var(--bg-card); border:1px solid var(--riga); border-radius:6px; padding:24px 20px; }
.cat-card .eta{ color:var(--arancio); font-family:'Oswald',sans-serif; font-weight:600; font-size:0.78rem; letter-spacing:0.04em; }
.cat-card h4{ margin-top:8px; font-size:1.15rem; }
@media (max-width:980px){ .cat-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .cat-grid{ grid-template-columns:1fr; } }

/* ---------- PLANNING ---------- */
.planning-head{ display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-bottom:18px; }
.filter-select{ padding:11px 16px; border-radius:4px; border:1px solid var(--riga); background:var(--bg-card); color:var(--testo); font-family:'Inter',sans-serif; font-size:0.9rem; font-weight:600; }
table.planning{ width:100%; border-collapse:collapse; min-width:480px; background:var(--bg-card); }
table.planning th{ text-align:left; font-family:'Oswald',sans-serif; font-size:0.78rem; letter-spacing:0.04em; text-transform:uppercase; color:var(--testo-secondario); padding:14px 16px; border-bottom:2px solid var(--riga); }
table.planning td{ padding:14px 16px; border-bottom:1px solid var(--riga); font-size:0.92rem; }
table.planning tr td:first-child{ font-weight:600; }
.tag-cat{ display:inline-block; padding:3px 10px; border-radius:20px; background:rgba(0,168,89,0.12); color:var(--verde-scuro); font-size:0.76rem; font-weight:700; }

/* ---------- ISCRIZIONI ---------- */
.iscrizioni-grid{ display:grid; grid-template-columns:1fr 1fr; gap:40px; margin-top:20px; }
.check-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px; }
.check-list li{ display:flex; gap:12px; align-items:flex-start; color:var(--testo); font-size:0.94rem; }
.check-list li svg{ width:18px; height:18px; color:var(--verde); flex:none; margin-top:2px; }
.form-mini{ background:var(--bg-card); border:1px solid var(--riga); border-radius:6px; padding:26px; }
.form-mini .upload{ border:2px dashed var(--riga); border-radius:4px; padding:20px; text-align:center; color:var(--testo-secondario); font-size:0.85rem; margin-top:10px; }

.info-box-sub{ font-size:0.86rem; color:var(--testo-secondario); margin-bottom:18px; }
.step-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:16px; }
.step-list li{ display:flex; gap:14px; align-items:flex-start; }
.step-list .n{ flex:none; width:28px; height:28px; border-radius:50%; background:var(--verde); color:#fff; font-family:'Oswald',sans-serif; font-weight:600; font-size:0.9rem; display:flex; align-items:center; justify-content:center; }
.step-list strong{ font-size:0.94rem; }
.step-list p{ font-size:0.85rem; color:var(--testo-secondario); margin-top:2px; }
.info-box-contact{ margin-top:22px; padding-top:16px; border-top:1px solid var(--riga); font-size:0.84rem; color:var(--testo-secondario); }

/* ---------- MEDIA / SOCIAL ---------- */
.social-grid{ display:grid; grid-template-columns:repeat(6,1fr); gap:10px; }
.social-post{ aspect-ratio:1; border-radius:6px; position:relative; overflow:hidden; display:flex; align-items:flex-end; padding:10px; }
.social-post::before{ content:""; position:absolute; inset:0; background:linear-gradient(145deg, var(--verde) 0%, var(--nero) 130%); }
.social-post:nth-child(2)::before,.social-post:nth-child(5)::before{ background:linear-gradient(145deg, var(--arancio) 0%, var(--nero) 130%); }
.social-post:nth-child(4)::before{ background:linear-gradient(200deg, var(--verde-scuro) 0%, #060606 130%); }
.social-post svg{ position:relative; z-index:1; width:22px; height:22px; color:rgba(255,255,255,0.85); }
@media (max-width:860px){ .social-grid{ grid-template-columns:repeat(3,1fr); } }

.album-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:50px; }
.album-card{ border-radius:6px; overflow:hidden; background:var(--bg-card); border:1px solid var(--riga); }
.album-cover{ height:170px; background:linear-gradient(150deg, var(--verde-scuro), var(--nero)); display:flex; align-items:center; justify-content:center; }
.album-cover svg{ width:38px; height:38px; color:rgba(255,255,255,0.7); }
.album-body{ padding:16px 18px; }
.album-body h4{ font-size:0.98rem; }
.album-body p{ color:var(--testo-secondario); font-size:0.82rem; margin-top:4px; }
@media (max-width:860px){ .album-grid{ grid-template-columns:1fr; } }

/* ---------- CONTATTI ---------- */
.contatti-grid{ display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:start; }
.field{ margin-bottom:16px; display:flex; flex-direction:column; gap:6px; }
.field label{ font-size:0.82rem; font-weight:600; color:var(--testo-secondario); }
.field input, .field select, .field textarea{
  padding:12px 14px; border:1px solid var(--riga); border-radius:4px; background:var(--bg-card); color:var(--testo); font-family:'Inter',sans-serif; font-size:0.95rem;
}
.field input:focus, .field select:focus, .field textarea:focus{ outline:2px solid var(--verde); outline-offset:1px; }
.form-msg{ margin-top:14px; padding:12px 14px; border-radius:4px; background:rgba(0,168,89,0.12); color:var(--verde-scuro); font-weight:600; font-size:0.9rem; display:none; }
.form-msg.show{ display:block; }
.info-card{ background:var(--nero); color:#fff; border-radius:6px; padding:34px; }
.info-row{ display:flex; gap:14px; align-items:flex-start; padding:16px 0; border-top:1px solid rgba(255,255,255,0.12); }
.info-row:first-of-type{ border-top:none; padding-top:0; }
.info-row svg{ width:20px; height:20px; color:var(--arancio); flex:none; margin-top:2px; }
.info-row h4{ font-size:0.92rem; text-transform:none; font-family:'Inter',sans-serif; font-weight:600; color:#fff; }
.info-row p{ font-size:0.86rem; color:#B9BBB5; margin-top:3px; }
.map-card{ margin-top:20px; border-radius:6px; background:linear-gradient(160deg,#0d3d24,var(--nero)); padding:26px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.map-card p{ color:#D9DAD5; font-size:0.86rem; }
@media (max-width:860px){ .contatti-grid{ grid-template-columns:1fr; gap:36px; } }

/* whatsapp float */
.wa-float{
  position:fixed; bottom:calc(24px + env(safe-area-inset-bottom,0px)); right:24px; z-index:70;
  width:58px; height:58px; border-radius:50%; background:#25D366; display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 26px -8px rgba(0,0,0,0.45); transition:transform .25s ease;
}
.wa-float:hover{ transform:scale(1.08); }
.wa-float svg{ width:28px; height:28px; color:#fff; }

/* ---------- PADEL ---------- */
.padel{ position:relative; overflow:hidden; }
.padel::before{ content:""; position:absolute; width:640px; height:640px; right:-200px; top:-180px; border-radius:50%; background:radial-gradient(circle, rgba(255,107,0,0.22), transparent 65%); pointer-events:none; }
.padel .wrap{ position:relative; }
.padel-grid{ display:grid; grid-template-columns:1.15fr 0.85fr; gap:64px; align-items:center; }
.padel-badge{ display:inline-flex; align-items:center; gap:8px; padding:6px 14px; border-radius:20px; background:rgba(255,107,0,0.14); border:1px solid rgba(255,107,0,0.55); color:var(--arancio); font-family:'Oswald',sans-serif; font-weight:600; font-size:0.78rem; letter-spacing:0.08em; text-transform:uppercase; }
.padel-badge svg{ width:16px; height:16px; }
.padel h2{ color:#fff; font-size:clamp(2rem,4.4vw,3.3rem); line-height:1.05; margin-top:18px; }
.padel h2 em{ font-style:normal; color:var(--arancio); }
.padel-lead{ color:#B9BBB5; margin-top:20px; max-width:540px; font-size:1.02rem; }
.padel-feats{ list-style:none; margin:28px 0 0; padding:0; display:grid; gap:14px; }
.padel-feats li{ display:flex; gap:12px; align-items:flex-start; color:#E6E7E3; font-size:0.95rem; }
.padel-feats svg{ width:18px; height:18px; color:var(--verde); flex:none; margin-top:3px; }
.padel-actions{ display:flex; gap:16px; flex-wrap:wrap; margin-top:34px; }

.court-card{ padding:28px 24px 22px; border-radius:8px; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.14); backdrop-filter:blur(12px); }
.court-card svg{ width:100%; max-width:230px; height:auto; margin:0 auto; overflow:visible; }
.court-ball{ animation:ballRally 3.6s ease-in-out infinite; }
@keyframes ballRally{
  0%{ transform:translate(52px,92px); }
  25%{ transform:translate(150px,168px); }
  50%{ transform:translate(66px,318px); }
  75%{ transform:translate(144px,240px); }
  100%{ transform:translate(52px,92px); }
}
.court-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:22px; background:rgba(255,255,255,0.12); border-radius:4px; overflow:hidden; }
.court-stats div{ background:rgba(18,18,18,0.7); padding:12px 6px; text-align:center; }
.court-stats b{ display:block; font-family:'Oswald',sans-serif; font-size:1.15rem; color:#fff; font-weight:600; }
.court-stats span{ font-size:0.7rem; color:#B9BBB5; letter-spacing:0.03em; }

.padel .att-grid{ margin-top:72px; }

.pb{ margin-top:72px; padding:36px; border-radius:8px; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.12); backdrop-filter:blur(10px); scroll-margin-top:90px; display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap; }
.pb h3{ color:#fff; font-size:1.5rem; margin-top:8px; }
.pb p{ color:#B9BBB5; margin-top:12px; max-width:520px; font-size:0.96rem; }
.pb-actions{ display:flex; flex-direction:column; gap:10px; align-items:stretch; min-width:240px; }
.pb-actions .btn{ text-align:center; justify-content:center; }
.pb-actions small{ font-size:0.76rem; color:#8E918B; text-align:center; }

@media (max-width:900px){
  .padel-grid{ grid-template-columns:1fr; gap:40px; }
  .court-card{ max-width:420px; }
}
@media (max-width:560px){
  .pb{ padding:24px 18px; }
  .pb-actions{ width:100%; }
}

/* ---------- MACRO-AREA CALCIO ---------- */
.macro-calcio{ background:var(--panna); }
.macro-banner{ position:relative; overflow:hidden; padding:150px 0 170px; color:#fff; background:linear-gradient(135deg, #00532C 0%, #00843F 100%); border-top:8px solid var(--arancio); clip-path:polygon(0 0, 100% 0, 100% calc(100% - 56px), 0 100%); }
.macro-banner::before{ content:""; position:absolute; inset:0; background:repeating-linear-gradient(115deg, rgba(255,255,255,0.06) 0 2px, transparent 2px 64px); pointer-events:none; }
.macro-banner::after{ content:""; position:absolute; width:760px; height:760px; right:-220px; top:-260px; border-radius:50%; border:4px solid rgba(255,255,255,0.15); box-shadow:inset 0 0 0 90px rgba(255,255,255,0.025); pointer-events:none; }
.macro-banner .wrap{ position:relative; z-index:1; }
.macro-inner{ display:grid; grid-template-columns:1.35fr 0.65fr; gap:56px; align-items:center; }
.macro-title{ font-size:clamp(2.8rem,9vw,7rem); line-height:0.92; color:#fff; }
.macro-title::after{ content:""; display:block; width:110px; height:7px; background:var(--arancio); margin-top:26px; border-radius:2px; }
.macro-sub{ max-width:580px; margin-top:28px; font-size:1.15rem; color:#FFFFFF; }
.macro-actions{ display:flex; flex-wrap:wrap; gap:14px; margin-top:34px; }
.macro-actions .btn-primary{ background-image:none; background-color:var(--arancio); color:#121212; box-shadow:0 8px 22px -8px rgba(0,0,0,0.45); }
.macro-actions .btn-primary:hover, .macro-actions .btn-primary:focus-visible{ background-color:#fff; color:var(--verde-scuro); }
.macro-links{ display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; }
.macro-links a{ padding:9px 18px; border:1px solid rgba(255,255,255,0.6); border-radius:30px; color:#fff; font-size:0.86rem; font-weight:600; transition:background .2s ease, color .2s ease; }
.macro-links a:hover, .macro-links a:focus-visible{ background:#fff; color:var(--verde-scuro); }
.macro-stats{ display:grid; gap:1px; background:rgba(255,255,255,0.2); border-radius:8px; overflow:hidden; border:1px solid rgba(255,255,255,0.25); backdrop-filter:blur(10px); }
.macro-stats div{ background:rgba(0,40,22,0.55); padding:22px 26px; }
.macro-stats b{ display:block; font-family:'Oswald',sans-serif; font-size:2.6rem; line-height:1; font-weight:700; color:#fff; }
.macro-stats span{ display:block; margin-top:6px; font-size:0.82rem; letter-spacing:0.06em; text-transform:uppercase; color:#E9FFF3; }
@media (max-width:900px){
  .macro-inner{ grid-template-columns:1fr; gap:40px; }
  .macro-stats{ grid-template-columns:repeat(3,1fr); }
  .macro-stats div{ padding:16px 12px; }
  .macro-stats b{ font-size:1.8rem; }
}
@media (max-width:600px){
  .macro-banner{ padding:96px 0 120px; clip-path:polygon(0 0, 100% 0, 100% calc(100% - 32px), 0 100%); }
  .macro-stats span{ font-size:0.68rem; }
}

/* ---------- FOOTER ---------- */
footer{ background:var(--nero); color:#B9BBB5; padding:70px 0 30px; }
.footer-grid{ display:grid; grid-template-columns:1.3fr 1fr 1fr 1.2fr; gap:40px; }
.footer-logo{ display:flex; align-items:center; gap:10px; color:#fff; margin-bottom:14px; }
.footer-col h5{ color:#fff; font-family:'Oswald',sans-serif; font-size:0.82rem; letter-spacing:0.05em; text-transform:uppercase; margin-bottom:16px; }
.footer-col a{ display:block; font-size:0.88rem; padding:6px 0; color:#B9BBB5; }
.footer-col a:hover{ color:var(--arancio); }
.footer-bottom{ border-top:1px solid rgba(255,255,255,0.12); margin-top:50px; padding-top:24px; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:0.78rem; color:#787C76; }
@media (max-width:860px){ .footer-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .footer-grid{ grid-template-columns:1fr; } }

/* ---------- MODULO CONTATTI: ANTISPAM / CONSENSO / ERRORI ---------- */
.hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.consent{ display:flex; gap:10px; align-items:flex-start; font-size:0.82rem; color:var(--testo-secondario); margin:4px 0 18px; line-height:1.45; }
.consent input{ margin-top:3px; accent-color:var(--verde); flex:none; width:18px; height:18px; }
.consent a{ color:var(--verde-scuro); text-decoration:underline; }
.form-msg.error{ background:rgba(214,40,40,0.12); color:#8F1D1D; }

/* ---------- NEWS ---------- */
.news-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.news-card{ background:var(--bg-card); border-radius:8px; overflow:hidden; border:1px solid var(--riga); transition:transform .25s ease, box-shadow .25s ease; }
.news-card:hover{ transform:translateY(-4px); box-shadow:0 18px 40px -22px rgba(0,0,0,0.45); }
.news-card-link{ display:flex; flex-direction:column; height:100%; color:inherit; }
.news-cover{ position:relative; aspect-ratio:16/10; background:linear-gradient(135deg, #00532C, #00843F); overflow:hidden; }
.news-cover img{ width:100%; height:100%; object-fit:cover; display:block; }
.news-cover.no-img{ display:flex; align-items:center; justify-content:center; }
.news-cover.no-img img.news-fox{ width:64px; height:auto; object-fit:contain; opacity:0.9; }
.news-chip{ position:absolute; left:14px; top:14px; padding:5px 12px; border-radius:20px; background:var(--arancio); color:#121212; font-family:'Oswald',sans-serif; font-weight:600; font-size:0.72rem; letter-spacing:0.06em; text-transform:uppercase; }
.news-chip.static{ position:static; display:inline-block; }
.news-body{ padding:22px 22px 24px; display:flex; flex-direction:column; gap:8px; flex:1; }
.news-body time{ font-size:0.78rem; font-weight:600; color:var(--testo-secondario); letter-spacing:0.03em; }
.news-body h3{ font-size:1.2rem; line-height:1.2; text-transform:none; font-family:'Inter',sans-serif; font-weight:700; }
.news-body p{ margin:0; color:var(--testo-secondario); font-size:0.92rem; }
.news-more{ margin-top:auto; padding-top:10px; color:var(--verde-scuro); font-weight:700; font-size:0.86rem; }
.news-empty{ color:var(--testo-secondario); }
.pager{ display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:48px; }
.pager-info{ font-size:0.88rem; color:var(--testo-secondario); }

.page-hero{ background:linear-gradient(135deg, #00532C 0%, #00843F 100%); color:#fff; padding:84px 0 72px; border-top:6px solid var(--arancio); position:relative; overflow:hidden; }
.page-hero::before{ content:""; position:absolute; inset:0; background:repeating-linear-gradient(115deg, rgba(255,255,255,0.06) 0 2px, transparent 2px 54px); pointer-events:none; }
.page-hero .wrap{ position:relative; }
.page-hero .section-tag{ color:#fff; opacity:0.9; }
.page-hero h1{ color:#fff; font-size:clamp(2.2rem,6vw,4rem); line-height:1; margin-top:10px; }
.page-hero p{ max-width:620px; margin-top:18px; font-size:1.08rem; color:#fff; }
.news-list{ padding-top:72px; }

.post-hero h1{ font-size:clamp(1.9rem,4.6vw,3.2rem); max-width:900px; }
.post-back{ display:inline-block; margin-bottom:22px; color:#fff; font-weight:600; font-size:0.88rem; border-bottom:1px solid rgba(255,255,255,0.5); }
.post-meta{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; font-size:0.86rem; font-weight:600; }
.post-meta time{ color:#E9FFF3; }
.post-main{ padding:64px 0 96px; }
.post-wrap{ max-width:820px; }
.post-cover{ margin:0 0 40px; border-radius:8px; overflow:hidden; }
.post-cover img{ width:100%; height:auto; display:block; }
.post-body{ font-size:1.06rem; line-height:1.75; }
.post-body h2, .post-body h3{ text-transform:none; font-family:'Inter',sans-serif; margin:2em 0 0.6em; }
.post-body h2{ font-size:1.5rem; }
.post-body h3{ font-size:1.2rem; }
.post-body p, .post-body ul, .post-body ol{ margin:0 0 1.2em; }
.post-body a{ color:var(--verde-scuro); text-decoration:underline; }
.post-body img{ max-width:100%; height:auto; border-radius:6px; }
.post-body blockquote{ margin:1.6em 0; padding:6px 0 6px 20px; border-left:4px solid var(--arancio); color:var(--testo-secondario); }
.post-cta{ margin-top:56px; padding:32px; border-radius:8px; background:var(--nero); color:#fff; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.post-cta h3{ color:#fff; font-size:1.3rem; }
.post-cta p{ margin:8px 0 0; color:#B9BBB5; }

@media (max-width:980px){ .news-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){
  .news-grid{ grid-template-columns:1fr; }
  .page-hero{ padding:64px 0 52px; }
  .post-main{ padding:44px 0 72px; }
  .post-cta{ padding:24px 20px; }
  .pager{ flex-wrap:wrap; justify-content:center; }
}
