/* ============================================================================
   camping-italy.net — foglio di stile principale (dal mockup anteprima-restyling)
   Palette derivata dal sito storico: giallo/arancio + blu + verde azione.
   ============================================================================ */
:root{
  color-scheme: light;
  --verde:#f09c00; --verde-scuro:#9c4a00; --verde-chiaro:#fff3d6;
  --azzurro:#1567b3; --azzurro-scuro:#0d4a85;
  --sabbia:#e9f3fb; --arancio:#2f7d32; --arancio-scuro:#2f7d32;
  --ink:#22302a; --grigio:#5f6f66; --bordo:#e2e8e4;
  --radius:14px; --shadow:0 2px 10px rgba(34,48,42,.08);
  font-size:16px;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Segoe UI',system-ui,-apple-system,sans-serif;color:var(--ink);background:#fff;line-height:1.55}
a{color:var(--azzurro);text-decoration:none}
img{max-width:100%}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
/* Testo solo per screen reader (accessibilità) */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Il focus da tastiera non deve finire coperto dall'header sticky (~90px) — WCAG 2.4.11 */
html{scroll-padding-top:100px}
/* Skip link (WCAG 2.4.1): fuori vista finché non riceve focus da tastiera */
.skip-link{position:fixed;top:-60px;left:8px;z-index:1000;background:var(--arancio);color:#fff!important;font-weight:700;padding:10px 18px;border-radius:0 0 8px 8px;text-decoration:none;transition:top .15s}
.skip-link:focus{top:0;outline:3px solid var(--verde-scuro);outline-offset:2px}
#main-content:focus{outline:none}

/* ===== header ===== */
.topbar{background:var(--verde-scuro);color:#ffe2bd;font-size:.78rem;padding:6px 0}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:12px}
.topbar a{color:#fff;font-weight:600}
.langs{display:flex;gap:2px 4px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
/* Niente opacity: abbassava il contrasto sotto 4.5:1 (Google PageSpeed).
   Non selezionato #ffe9c9 (~5.2:1 su --verde-scuro), selezionato #fff (~6.2:1) + bold + underline. */
/* Touch target ≥24px (WCAG 2.5.8): padding attorno alle sigle lingua + spaziatura. */
.langs a{cursor:pointer;color:#ffe9c9;padding:6px 7px;line-height:1;border-radius:6px;display:inline-block}
.langs a:hover{color:#fff;background:rgba(255,255,255,.14)}
.langs a.sel{font-weight:700;color:#fff;box-shadow:inset 0 -3px 0 var(--verde)}
header.main{background:#fff;border-bottom:1px solid var(--bordo);position:sticky;top:0;z-index:50;transition:box-shadow .3s}
header.main.scrolled{box-shadow:0 4px 14px rgba(34,48,42,.12)}
header.main .wrap{display:flex;align-items:center;gap:28px;padding-top:14px;padding-bottom:14px}
.logo{display:flex;align-items:center;gap:12px;flex-shrink:0;text-decoration:none}
.logo img{height:66px;width:auto;display:block}
.logo-title{display:flex;flex-direction:column;line-height:1.18;font-weight:800;font-size:1.12rem;color:var(--verde-scuro);letter-spacing:-.2px}
.logo-title>span{font-weight:600;font-size:.9rem;color:var(--arancio-scuro)}
@media(max-width:820px){.logo img{height:54px}.logo-title{font-size:1rem}.logo-title>span{font-size:.82rem}}
@media(max-width:520px){.logo-title{display:none}}
nav.main-nav{display:flex;gap:4px;margin-left:auto;flex-wrap:wrap}
nav.main-nav a{color:var(--ink);font-weight:600;font-size:.92rem;padding:9px 14px;border-radius:8px}
nav.main-nav a:hover,nav.main-nav a.att{background:var(--verde-chiaro);color:var(--verde-scuro)}
.hamb{display:none;background:none;border:2px solid var(--verde);border-radius:8px;padding:5px 12px;font-size:1.25rem;cursor:pointer;color:var(--verde-scuro);margin-left:auto}
.btn{display:inline-block;background:var(--arancio);color:#fff!important;font-weight:700;padding:10px 22px;border-radius:10px;border:none;cursor:pointer;font-size:.95rem;transition:.2s}
.btn:hover{background:var(--arancio-scuro)}
.btn[disabled]{opacity:.65;cursor:not-allowed}
.btn.ghost{background:transparent;color:var(--verde-scuro)!important;border:2px solid var(--verde)}
.btn.ghost:hover{background:var(--verde-chiaro)}

/* ===== hero ===== */
.hero{position:relative;overflow:hidden;color:#fff;padding:84px 0 110px;background:linear-gradient(160deg,#ffc20e 0%,#f08c00 55%,#d96f00 100%)}
.hero .bgimg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.5s ease;z-index:0}
.hero .bgimg.on{opacity:1}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(90,42,0,.42),rgba(60,28,0,.6));z-index:1}
.hero .wrap{position:relative;z-index:2}
.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:70px;background:#fff;clip-path:ellipse(75% 100% at 50% 100%);z-index:3}
.hero h1{font-size:clamp(1.7rem,4vw,2.9rem);font-weight:800;letter-spacing:-1px;max-width:720px}
.hero p.sub{font-size:1.15rem;opacity:.92;margin:10px 0 30px;max-width:640px}
.searchbox{background:#fff;border-radius:var(--radius);box-shadow:0 10px 40px rgba(0,0,0,.25);padding:14px;display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:10px}
.searchbox .field{display:flex;flex-direction:column;gap:3px;padding:6px 12px;border-right:1px solid var(--bordo)}
.searchbox .field:nth-child(3){border-right:none}
.searchbox label{font-size:.68rem;text-transform:uppercase;letter-spacing:.7px;color:var(--grigio);font-weight:700}
.searchbox input,.searchbox select{border:none;outline:none;font-size:1rem;color:var(--ink);background:transparent;font-family:inherit}

/* ===== autocomplete ricerca ===== */
.sugg{position:absolute;top:calc(100% + 8px);left:0;right:0;min-width:300px;background:#fff;border:1px solid var(--bordo);border-radius:12px;box-shadow:0 14px 40px rgba(0,0,0,.22);z-index:80;max-height:340px;overflow:auto;padding:6px;color:var(--ink);text-align:left}
.sugg .grp{font-size:.65rem;text-transform:uppercase;letter-spacing:.8px;color:var(--grigio);font-weight:800;padding:8px 12px 2px}
.sugg .it{display:flex;align-items:baseline;gap:10px;padding:9px 12px;border-radius:8px;cursor:pointer;font-size:.92rem}
.sugg .it:hover,.sugg .it.att{background:var(--verde-chiaro)}
.sugg .it em{font-style:normal;flex:0 0 auto}
.sugg .it .nm{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}
.sugg .it small{color:var(--grigio);flex:0 0 auto;max-width:45%;font-size:.75rem;text-align:right;overflow-wrap:anywhere}
.sugg .maybe{padding:8px 12px 2px;font-size:.8rem;color:var(--arancio-scuro);font-weight:700}
.hide{display:none}

.chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.chip{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.4);backdrop-filter:blur(4px);color:#fff;padding:7px 16px;border-radius:20px;font-size:.85rem;font-weight:600;cursor:pointer;transition:.2s}
.chip:hover{background:rgba(255,255,255,.3)}

/* ===== sezioni ===== */
section{padding:54px 0}
section.alt{background:var(--sabbia)}
.sec-head{margin-bottom:30px;max-width:760px}
.sec-head h2{font-size:1.7rem;font-weight:800;letter-spacing:-.5px;color:var(--verde-scuro)}
.sec-head p{color:var(--grigio);margin-top:6px}

/* ===== card regioni ===== */
.grid-reg{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:16px}
.dest-group{font-size:1.05rem;font-weight:800;color:var(--verde-scuro);margin:26px 0 14px;display:flex;align-items:center;gap:8px}
.dest-group:first-of-type{margin-top:8px}
.pagina-testo{max-width:820px;line-height:1.7;color:var(--ink);padding-bottom:60px}
.pagina-testo h2{font-size:1.25rem;color:var(--verde-scuro);margin:30px 0 10px}
.pagina-testo p{margin:0 0 14px}
.pagina-testo ul{margin:0 0 14px;padding-left:22px}
.pagina-testo li{margin:6px 0}
.pagina-testo a{color:var(--arancio-scuro);font-weight:600}
/* Pagine legali (cookie/privacy): contenuto a tutta larghezza + tabelle cookie stilizzate */
.pagina-testo.cookie-policy,.pagina-testo.privacy-policy{max-width:none}
.reportbox h3{font-size:1.15rem;color:var(--verde-scuro);margin:34px 0 12px}
.reporttable{width:100%;border-collapse:collapse;margin:0 0 26px;font-size:.92rem;background:#fff;border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}
.reporttable thead th{background:var(--arancio,#2f7d32);color:#fff;text-align:left;padding:12px 15px;font-weight:700;font-size:.86rem;letter-spacing:.02em}
.reporttable td{padding:12px 15px;border-top:1px solid #e8ece6;vertical-align:top;color:var(--ink)}
.reporttable tbody tr:nth-child(even){background:var(--sabbia,#f6f4ee)}
.reporttable tbody tr:hover{background:#eef5ef}
.reporttable td:first-child{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600;color:var(--verde-scuro);white-space:nowrap}
.card-reg{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:16/10;display:flex;align-items:flex-end;padding:16px;color:#fff;cursor:pointer;box-shadow:var(--shadow);transition:transform .2s;background-size:cover;background-position:center;background-color:#3f5c46}
.card-reg:hover{transform:translateY(-4px)}
.card-reg::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(10,30,20,.75))}
.card-reg h3{position:relative;font-size:1.08rem;font-weight:700}
.card-reg span{position:relative;font-size:.78rem;opacity:.9;display:block}
.card-reg .badge{position:absolute;top:10px;right:10px;background:var(--arancio);font-size:.7rem;font-weight:700;padding:3px 10px;border-radius:12px}
/* Zona senza immagine dedicata: nessuna foto, tessera con gradiente verde del brand */
.card-reg.senza-img{background:linear-gradient(135deg,#4a6b52,#2f7d32)}
.card-reg.senza-img::before{display:none}
/* Griglia zone turistiche: nomi anche lunghi, testo impilato in verticale */
.zone-grid .card-reg{flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:2px}
.zone-grid .card-reg h3{line-height:1.15}

/* ===== mappa italia interattiva ===== */
.map-layout{display:grid;grid-template-columns:minmax(280px,440px) 1fr;gap:40px;align-items:center;margin-top:40px;background:var(--sabbia);border-radius:var(--radius);padding:30px 36px}
.itmap{width:100%;height:auto;display:block;filter:drop-shadow(0 4px 10px rgba(34,48,42,.15))}
.itmap path{fill:#f5c775;stroke:#fff;stroke-width:1.2;cursor:pointer;transition:fill .15s}
.itmap path:hover{fill:var(--verde)}
.map-info h3{font-size:1.5rem;font-weight:800;color:var(--verde-scuro);margin:10px 0 4px}
.map-info p{color:var(--grigio);max-width:420px}

/* ===== zone turistiche ===== */
.grid-zone{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:12px}
.card-zone{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:16/10;display:flex;align-items:flex-end;padding:12px;color:#fff;cursor:pointer;box-shadow:var(--shadow);background-size:cover;background-position:center;background-color:#3f5c46;transition:transform .2s}
.card-zone:hover{transform:translateY(-3px)}
.card-zone::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(10,30,20,.78))}
.card-zone h3{position:relative;font-size:.95rem;font-weight:700}
.card-zone span{position:relative;font-size:.72rem;opacity:.9;display:block}

/* ===== proposte ===== */
.grid-prop{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:18px}
.card-prop{background:#fff;border:1px solid var(--bordo);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .2s}
.card-prop:hover{transform:translateY(-4px)}
.card-prop .ph{aspect-ratio:4/3;position:relative;background-size:cover;background-position:center}
.card-prop .tipo{position:absolute;top:10px;left:10px;background:#fff;font-size:.72rem;font-weight:700;padding:4px 12px;border-radius:14px;color:var(--ink);box-shadow:var(--shadow)}
.card-prop .tipo.pz{background:#e3f3e4;color:#1b5e20}
.card-prop .urg{position:absolute;top:10px;right:10px;background:#c62828;color:#fff;font-size:.68rem;font-weight:700;padding:4px 10px;border-radius:14px}
.card-prop .date{display:flex;justify-content:space-between;align-items:center;gap:8px;color:#fff;font-size:.78rem;font-weight:700;padding:7px 12px}
.card-prop .date.blu{background:var(--azzurro)}
.card-prop .date.ver{background:#2f7d32}
.card-prop .date small{font-size:.62rem;letter-spacing:.5px;white-space:nowrap}
.card-prop .body{padding:14px;display:flex;flex-direction:column;gap:8px;flex:1;text-align:center}
.card-prop h3{font-size:.95rem;font-weight:700;color:var(--ink)}
.card-prop .prezzo{font-weight:800;font-size:1.35rem;color:var(--azzurro)}
.card-prop .prezzo.ver{color:#2f7d32}
.card-prop .prezzo small{font-size:.65rem;font-weight:700;letter-spacing:.5px;margin-right:4px;color:var(--grigio)}
.card-prop .adulti{align-self:center;background:#f1f4f2;border:1px solid var(--bordo);font-size:.75rem;padding:3px 12px;border-radius:12px;color:var(--grigio)}
.card-prop .cta{margin-top:auto;border:2px solid var(--azzurro);color:var(--azzurro);font-weight:700;font-size:.85rem;border-radius:8px;padding:9px;display:block;transition:.2s}
.card-prop .cta:hover{background:var(--azzurro);color:#fff}
.card-prop .cta.ver{border-color:#2f7d32;color:#2f7d32}
.card-prop .cta.ver:hover{background:#2f7d32;color:#fff}
.card-prop .offerta{align-self:center;background:#fff3e0;color:#b04000;font-size:.72rem;font-weight:700;padding:3px 12px;border-radius:12px}
.card-prop .prezzo-old{font-size:.8rem;font-weight:600;color:var(--grigio);text-decoration:line-through;margin-right:6px}
.prop-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:220px;color:var(--grigio);font-size:.95rem}
.prop-spinner{width:44px;height:44px;border:4px solid var(--bordo);border-top-color:var(--azzurro);border-radius:50%;animation:prop-spin .8s linear infinite}
@keyframes prop-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.prop-spinner{animation-duration:2s}}

/* ===== offerte / lastminute ===== */
.grid-off{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:18px}
.card-off{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--bordo);display:flex;flex-direction:column;transition:transform .2s}
.card-off:hover{transform:translateY(-4px)}
.card-off .ph{aspect-ratio:16/9;position:relative;background-size:cover;background-position:center}
.card-off .tag{position:absolute;top:10px;left:10px;background:var(--arancio);color:#fff;font-size:.7rem;font-weight:800;text-transform:uppercase;padding:4px 12px;border-radius:12px;letter-spacing:.5px}
.card-off .body{padding:16px;display:flex;flex-direction:column;gap:5px;flex:1}
.card-off .reg{font-size:.72rem;text-transform:uppercase;color:var(--azzurro);font-weight:800;letter-spacing:.6px}
.card-off h3{font-size:1.02rem;font-weight:700}
.card-off .date{font-size:.8rem;color:var(--grigio)}
.card-off .price{margin-top:auto;padding-top:10px;display:flex;justify-content:space-between;align-items:center}
.card-off .price b{color:var(--verde-scuro);font-size:1.1rem}
.card-off .price a{font-size:.82rem;font-weight:700}

/* ===== sponsor / partner ===== */
.sp-label{font-size:.62rem;text-transform:uppercase;letter-spacing:1px;font-weight:800;color:var(--grigio);background:#fff;border:1px solid var(--bordo);padding:3px 10px;border-radius:10px}
.sp-hero-wrap{margin-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.sp-hero-wrap.single{grid-template-columns:1fr}
/* Sponsor SuperSky (xbserver): 2 banner affiancati sotto la barra di ricerca */
.ss-hero{margin:34px 0 8px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ss-hero.single{grid-template-columns:1fr;max-width:640px}
.ss-banner{position:relative;display:block;border-radius:var(--radius);overflow:hidden;box-shadow:0 10px 40px rgba(0,0,0,.22);aspect-ratio:1260/550;background:#1c2b38;color:#fff}
.ss-banner img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.ss-banner:hover img{transform:scale(1.03)}
.ss-tag{position:absolute;top:10px;left:10px;z-index:2;background:rgba(255,255,255,.92);color:var(--ink);font-size:.6rem;font-weight:800;letter-spacing:1px;text-transform:uppercase;padding:3px 10px;border-radius:10px}
.ss-info{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:16px 18px 15px;background:linear-gradient(180deg,rgba(8,18,28,.45) 0%,rgba(8,18,28,.62) 40%,rgba(8,18,28,.88) 100%)}
.ss-info h3{font-size:1.1rem;font-weight:800;line-height:1.15;text-shadow:0 1px 5px rgba(0,0,0,.55)}
.ss-info p{font-size:.84rem;line-height:1.35;margin:3px 0 9px;opacity:.96;text-shadow:0 1px 4px rgba(0,0,0,.55);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ss-cta{display:inline-block;background:#2f7d32;color:#fff;font-size:.78rem;font-weight:700;padding:6px 14px;border-radius:20px;box-shadow:0 3px 10px rgba(0,0,0,.25)}
.ss-banner:hover .ss-cta{background:#24632a}
@media(max-width:700px){.ss-hero,.ss-hero.single{grid-template-columns:1fr;max-width:none}.ss-info h3{font-size:1rem}}
.sp-hero{background:#fff;border-radius:var(--radius);box-shadow:0 10px 40px rgba(0,0,0,.22);display:grid;grid-template-columns:130px 1fr auto;gap:16px;align-items:center;padding:14px 16px;color:var(--ink)}
.sp-hero .ph{aspect-ratio:16/10;border-radius:10px;background-size:cover;background-position:center}
.sp-hero h3{font-size:1.05rem;font-weight:800;color:var(--verde-scuro);margin:4px 0 2px}
.sp-hero p{font-size:.85rem;color:var(--grigio)}
.grid-sp{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:18px}
.card-sp{background:#fff;border:1px solid var(--bordo);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;display:grid;grid-template-columns:150px 1fr;transition:transform .2s;color:inherit;text-decoration:none}
.card-sp:hover{transform:translateY(-3px);text-decoration:none}
.card-sp .ph{min-height:130px;background-size:cover;background-position:center;background-color:#3f5c46}
.card-sp .body{padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.card-sp h3{font-size:1rem;font-weight:800;color:var(--verde-scuro)}
.card-sp .loc{font-size:.78rem;color:var(--grigio)}
.card-sp .descr{font-size:.8rem;color:var(--grigio);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-sp .cta-link{margin-top:auto;padding-top:8px;font-size:.85rem;font-weight:700;color:var(--azzurro)}
.card-sp:hover .cta-link{text-decoration:underline}
/* Campeggi consigliati: card QUADRATE (banner 300x300) con testo in overlay sull'immagine */
.cons-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}
.cons-card{position:relative;display:block;aspect-ratio:1/1;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);color:#fff;text-decoration:none;background:#3f5c46;transition:transform .25s,box-shadow .25s}
.cons-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(8,20,16,.3);text-decoration:none}
.cons-card .cons-img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .55s ease}
.cons-card:hover .cons-img{transform:scale(1.08)}
.cons-card .sp-label{position:absolute;top:10px;left:10px;z-index:3}
.cons-card .cons-overlay{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:16px 16px 15px;background:linear-gradient(180deg,transparent,rgba(8,20,16,.35) 38%,rgba(8,20,16,.9));transition:background .35s}
.cons-card:hover .cons-overlay{background:linear-gradient(180deg,rgba(8,20,16,.12),rgba(8,20,16,.55) 38%,rgba(8,20,16,.94))}
.cons-card h3{font-size:1.06rem;font-weight:800;line-height:1.15;text-shadow:0 1px 5px rgba(0,0,0,.55)}
.cons-card .loc{display:block;margin-top:2px;font-size:.8rem;opacity:.95;text-shadow:0 1px 4px rgba(0,0,0,.55)}
.cons-card .descr{margin:0;max-height:0;opacity:0;overflow:hidden;font-size:.82rem;line-height:1.35;text-shadow:0 1px 4px rgba(0,0,0,.55);transition:max-height .35s ease,opacity .35s ease,margin .35s ease;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical}
.cons-card:hover .descr{max-height:80px;opacity:.96;margin:8px 0 0}
.cons-card .cta-link{display:inline-block;margin-top:10px;background:#2f7d32;color:#fff;font-size:.8rem;font-weight:700;padding:6px 15px;border-radius:20px;box-shadow:0 3px 10px rgba(0,0,0,.3);transition:background .2s}
.cons-card:hover .cta-link{background:#24632a}
@media(max-width:600px){.cons-grid{grid-template-columns:1fr}}
/* Su touch (niente hover) la descrizione resta sempre visibile */
@media(hover:none){.cons-card .descr{max-height:80px;opacity:.96;margin:8px 0 0}}

/* ===== newsletter ===== */
/* Gradiente più scuro (#b35a00) così il testo bianco resta ≥4.5:1 anche sul lato chiaro. */
.newsletter{background:linear-gradient(135deg,#9c4a00,#b35a00);border-radius:var(--radius);color:#fff;padding:40px;display:flex;gap:30px;align-items:center;flex-wrap:wrap}
/* Testo bianco sul gradiente: niente opacity (abbassa il contrasto) + ombra di sicurezza. */
.newsletter h2,.newsletter p,.newsletter .nl-privacy{text-shadow:0 1px 2px rgba(0,0,0,.35)}
.newsletter h2{font-size:1.5rem;font-weight:800}
.newsletter p{font-size:.92rem;margin-top:4px}
.newsletter form{display:flex;flex-direction:column;gap:10px;flex:1;min-width:280px}
.newsletter .nl-row{display:flex;gap:10px}
.newsletter input[type=email]{flex:1;min-width:0;border:none;border-radius:10px;padding:12px 16px;font-size:.95rem;background:#fff;color:var(--ink)}
.newsletter input[type=email]::placeholder{color:var(--grigio)}
.newsletter input[type=email]:focus-visible{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 5px rgba(0,0,0,.4)}
.newsletter .nl-privacy{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:.82rem}
.newsletter .nl-privacy label{cursor:pointer}
.newsletter .nl-privacy a{color:#fff;text-decoration:underline}
.newsletter .nl-msg{font-size:.9rem;font-weight:600;background:#fff;padding:8px 12px;border-radius:8px;margin:0}
/* Mobile stretto: input e bottone su righe separate, niente overflow. */
@media(max-width:480px){
  .newsletter .nl-row{flex-wrap:wrap}
  .newsletter .nl-row .btn{width:100%}
}

/* ===== footer ===== */
footer{background:var(--ink);color:#aebbb3;font-size:.85rem;padding:40px 0 24px;margin-top:20px}
footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:26px;margin-bottom:26px}
footer h2{color:#fff;font-size:.9rem;font-weight:800;margin-bottom:10px}
footer a{color:#aebbb3;display:block;padding:3px 0}
footer a:hover{color:#fff}
footer .base{border-top:1px solid #3a4741;padding-top:16px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.78rem}

/* ===== pagina regione / elenchi ===== */
.crumbs{font-size:.82rem;color:var(--grigio);padding-top:16px}
.crumbs a{color:var(--azzurro)}
.crumbs-list{list-style:none;display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:0;margin:0}
.reg-hero{padding-top:26px;padding-bottom:30px}
.reg-hero h1{font-size:2rem;font-weight:800;color:var(--verde-scuro);letter-spacing:-.5px}
/* Sottotitolo intro: è un <h2> per la gerarchia heading ma resta visivamente il paragrafo grigio */
.reg-hero p,.reg-sub{color:var(--grigio);max-width:740px;margin-top:6px}
.reg-sub{font-size:1rem;font-weight:400;line-height:1.55}
.layout{display:grid;grid-template-columns:270px 1fr;gap:28px;align-items:start;padding-bottom:60px}
.filters{background:#fff;border:1px solid var(--bordo);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);position:sticky;top:90px;max-height:calc(100vh - 110px);overflow-y:auto;overscroll-behavior:contain}
.filters::-webkit-scrollbar{width:6px}
.filters::-webkit-scrollbar-thumb{background:var(--bordo);border-radius:3px}
.filters::-webkit-scrollbar-thumb:hover{background:var(--verde)}
/* liste filtri lunghe: oltre le prime voci si comprimono con "Mostra tutte" */
.f-group label.extra{display:none}
.f-group.aperto label.extra{display:flex}
.f-more{background:none;border:none;color:var(--azzurro);font-weight:700;font-size:.8rem;cursor:pointer;padding:5px 0 0;font-family:inherit;display:block}
.f-more:hover{text-decoration:underline}
.filters h2,.filters h3{font-size:.95rem;font-weight:800;margin-bottom:14px;color:var(--verde-scuro)}
.f-group{margin-bottom:18px}
.f-group h3,.f-group h4{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--grigio);margin-bottom:8px}
.f-group label{display:flex;gap:8px;align-items:center;font-size:.88rem;padding:4px 0;cursor:pointer}
.f-group input{accent-color:var(--verde)}
/* Tasto filtri (solo mobile): nascosto su desktop */
.filtri-toggle-wrap{display:none}
.filtri-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border:1px solid var(--bordo);border-radius:var(--radius);padding:12px 16px;margin-top:6px;font-size:.95rem;font-weight:700;color:var(--verde-scuro);cursor:pointer;box-shadow:var(--shadow)}
.filtri-toggle .chev{transition:transform .2s}
.filtri-toggle.open .chev{transform:rotate(180deg)}
.filtri-chiudi{display:none}
.results-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:10px}
.results-bar b{color:var(--verde-scuro)}
.results-bar select{border:1px solid var(--bordo);border-radius:8px;padding:8px 12px;font-family:inherit;font-size:.85rem;background:#fff}
.rb-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
/* Toggle Elenco/Mappa */
.vista-toggle{display:inline-flex;border:1px solid var(--bordo);border-radius:8px;overflow:hidden;background:#fff}
.vista-toggle button{border:none;background:#fff;color:var(--grigio);font-family:inherit;font-size:.85rem;font-weight:700;padding:8px 14px;cursor:pointer;transition:background .15s,color .15s}
.vista-toggle button+button{border-left:1px solid var(--bordo)}
.vista-toggle button:hover{background:var(--verde-chiaro);color:var(--verde-scuro)}
.vista-toggle button.att{background:var(--arancio);color:#fff}
/* Container mappa elenco (Leaflet) */
/* position:relative + z-index crea un contesto di impilamento che confina gli z-index
   interni di Leaflet (controlli ~1000, popup ~700), altrimenti spuntano sopra header/menu. */
.elenco-mappa{height:70vh;min-height:420px;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--bordo);position:relative;z-index:0}
.elenco-mappa .leaflet-popup-content{margin:12px 14px;font-family:inherit}
.elenco-mappa .pin strong{color:var(--verde-scuro);font-size:.98rem}
.elenco-mappa .pin-stars{color:var(--verde-scuro);font-size:.85rem;margin-top:2px}
.elenco-mappa .pin-loc{color:var(--grigio);font-size:.82rem;margin-top:2px}
.elenco-mappa .pin-link{display:inline-block;margin-top:8px;background:var(--arancio);color:#fff!important;font-weight:700;font-size:.8rem;padding:6px 12px;border-radius:8px;text-decoration:none}
.elenco-mappa .pin-link:hover{background:#25612a}

/* Barra di ricerca proposte (/it/proposte) */
.prop-search{display:flex;flex-wrap:wrap;gap:14px;align-items:end;background:#fff;border:1px solid var(--bordo);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.prop-search .ps-field{display:flex;flex-direction:column;gap:5px}
.prop-search label{font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;color:var(--grigio);font-weight:700}
.prop-search input,.prop-search select{border:1px solid var(--bordo);border-radius:8px;padding:9px 12px;font-size:.92rem;font-family:inherit;background:#fff;min-height:40px}
.prop-search .ps-eta{display:flex;flex-wrap:wrap;gap:14px;align-items:end}
.prop-search .btn{align-self:end;min-height:40px}
.ps-msg{padding:12px 16px;border-radius:8px;margin-top:16px;font-size:.9rem}
.ps-msg.err{background:#fbe6e6;color:#a33;border:1px solid #e9c2c2}
.ps-hint,.ps-empty{color:var(--grigio);background:var(--sabbia);border-radius:14px;padding:26px;margin-top:22px;font-size:.95rem}
.prop-search .ps-periodo{min-width:230px;cursor:pointer;background:#fff}
.prop-search .ps-invalid{border-color:#c62828;background:#fff1f1}
/* Risultati raggruppati per campeggio */
.prop-gruppo{margin-top:30px}
.prop-gruppo-nome{font-size:1.15rem;font-weight:800;color:var(--verde-scuro);margin:0 0 14px;padding-bottom:8px;border-bottom:2px solid var(--bordo);display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.prop-gruppo-reg{font-size:.85rem;font-weight:600;color:var(--grigio)}
@media(max-width:640px){
  .prop-search{flex-direction:column;align-items:stretch}
  .prop-search .ps-field,.prop-search .ps-eta{width:100%}
  .prop-search .ps-eta .ps-field{flex:1}
  .prop-search .btn{width:100%}
}
.card-camp{background:#fff;border:1px solid var(--bordo);border-radius:var(--radius);box-shadow:var(--shadow);display:grid;grid-template-columns:280px 1fr;overflow:hidden;margin-bottom:18px;transition:transform .2s}
.card-camp:hover{transform:translateY(-3px)}
.card-camp .ph{min-height:190px;position:relative;background-size:cover;background-position:center}
.card-camp .body{padding:18px 20px;display:flex;flex-direction:column;gap:6px}
.card-camp .top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.card-camp h3{font-size:1.15rem;font-weight:800;color:var(--verde-scuro)}
.card-camp .stars{color:var(--verde-scuro);font-size:.85rem;letter-spacing:2px}
.card-camp .loc{font-size:.82rem;color:var(--grigio)}
.card-camp .servizi{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0}
.card-camp .servizi span{background:var(--verde-chiaro);color:var(--verde-scuro);font-size:.72rem;font-weight:700;padding:4px 11px;border-radius:12px}
.card-camp .cta{margin-top:auto;display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.card-camp .offerta{margin-right:auto;color:var(--arancio-scuro);font-weight:700;font-size:.82rem}
.card-camp.no-foto{grid-template-columns:1fr}
.card-camp.sponsor{border:2px solid var(--verde);position:relative}
/* Badge sponsor: markup reale (span.sponsor-badge in _CardCampeggio, testo localizzato via @L) —
   più robusto per screen reader di content:attr(); testo scuro #3a2400 su ambra per contrasto AA. */
.sponsor-badge{position:absolute;top:-1px;right:18px;background:var(--verde);color:#3a2400;font-size:.62rem;font-weight:800;letter-spacing:1px;padding:4px 14px;border-radius:0 0 10px 10px;z-index:2}
/* Widget proposte booking sotto la struttura (elenco-proposte.js).
   Distinzione tipo come nel resto del sito: alloggio = azzurro, piazzola = verde. */
.card-camp .ep-slot{grid-column:1/-1}
.card-camp .ep-slot:empty{display:none}
.ep-widget{border-top:1px solid var(--bordo);background:#eef3f7}
.ep-tabs{display:flex;align-items:flex-end;gap:6px;padding:10px 14px 0;flex-wrap:wrap}
.ep-tablist{display:flex;align-items:flex-end;gap:6px;flex-wrap:wrap;flex:1 1 auto;min-width:0}
.ep-tab{flex:0 1 auto;min-width:134px;text-align:left;border:none;border-radius:12px 12px 0 0;padding:8px 15px 10px;cursor:pointer;font:inherit;display:flex;flex-direction:column;gap:4px;transition:.15s;background:#dde9f2;color:var(--azzurro-scuro)}
.ep-tab.pz{background:#e2f0e3;color:#2f7d32}
.ep-tab:hover{filter:brightness(.97)}
.ep-tab.active{background:var(--azzurro);color:#fff;box-shadow:0 -2px 8px rgba(21,103,179,.25)}
.ep-tab.pz.active{background:#2f7d32;color:#fff;box-shadow:0 -2px 8px rgba(67,160,71,.25)}
.ep-tab-head{display:flex;align-items:center;gap:6px}
.ep-tab-icon{font-size:.9rem;line-height:1}
.ep-tab-title{font-weight:800;font-size:.8rem}
.ep-tab-chip{margin-left:2px;font-size:.62rem;font-weight:800;letter-spacing:.3px;background:rgba(0,0,0,.10);border-radius:10px;padding:1px 7px}
.ep-tab.active .ep-tab-chip{background:rgba(255,255,255,.30)}
.ep-tab-price{font-weight:800;font-size:.98rem}
.ep-altre{align-self:center;margin-left:auto;padding:8px 12px;font-weight:700;font-size:.82rem;color:var(--azzurro);white-space:nowrap}
.ep-altre:hover{text-decoration:underline}
.ep-panes{background:#fff;border-top:3px solid var(--azzurro);padding:15px 16px}
.ep-panes:has(.ep-pane.pz.active){border-top-color:#2f7d32}
.ep-pane{display:none;align-items:center;justify-content:space-between;gap:14px 24px;flex-wrap:wrap}
.ep-pane.active{display:flex}
.ep-name{display:flex;flex-direction:column;gap:4px;min-width:0}
.ep-type{align-self:flex-start;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;padding:2px 10px;border-radius:11px;background:#e7f0f8;color:var(--azzurro-scuro)}
.ep-pane.pz .ep-type{background:#e3f3e4;color:#2f7d32}
.ep-name b{font-size:1.02rem;color:var(--ink)}
.ep-period{font-size:.85rem;color:var(--grigio)}
.ep-offer{align-self:flex-start;font-size:.7rem;font-weight:700;background:#fff3e0;color:#b23c00;padding:2px 10px;border-radius:11px}
.ep-stock{align-self:flex-start;font-size:.7rem;font-weight:700;color:#c0392b}
.ep-buy{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ep-people{font-size:.8rem;color:var(--grigio);background:#f1f4f2;border:1px solid var(--bordo);padding:3px 11px;border-radius:12px;white-space:nowrap}
.ep-price-big{font-size:1.4rem;font-weight:800;color:var(--azzurro)}
.ep-pane.pz .ep-price-big{color:#2f7d32}
.ep-price-big s{font-size:.8rem;font-weight:500;color:var(--grigio);margin-right:6px}
.ep-book{border:2px solid var(--azzurro);color:var(--azzurro);border-radius:9px;padding:9px 17px;font-weight:700;font-size:.86rem;white-space:nowrap;transition:.2s}
.ep-book:hover{background:var(--azzurro);color:#fff;text-decoration:none}
.ep-pane.pz .ep-book{border-color:#2f7d32;color:#2f7d32}
.ep-pane.pz .ep-book:hover{background:#2f7d32;color:#fff}
@media(max-width:600px){.ep-buy{width:100%;justify-content:space-between}.ep-tab{min-width:112px}.ep-panes{padding:12px}}
.sp-side{margin-top:18px;background:linear-gradient(160deg,var(--azzurro),var(--azzurro-scuro));border-radius:var(--radius);color:#fff;padding:18px;text-align:center;box-shadow:var(--shadow)}
.sp-side .sp-label{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.4);color:#fff}
.sp-side .ph{height:90px;border-radius:10px;margin:10px 0 6px;background-size:cover;background-position:center}
.sp-side h3{font-size:1rem;font-weight:800}
.sp-side p{font-size:.8rem;opacity:.9;margin:4px 0 12px}

/* ===== pagina regioni (gruppi) ===== */
.reg-group{margin-bottom:8px}
.reg-group h3{font-size:1.05rem;font-weight:800;color:var(--verde-scuro);margin:26px 0 12px;display:flex;align-items:center;gap:12px}
.reg-group h3::after{content:"";flex:1;height:1px;background:var(--bordo)}

/* ===== pagina lastminute ===== */
.fchips{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}
.fchip{background:#fff;border:1px solid var(--bordo);border-radius:20px;padding:7px 16px;font-size:.85rem;font-weight:600;cursor:pointer;transition:.2s}
.fchip:hover{border-color:var(--verde)}
.fchip.on{background:var(--verde-scuro);color:#fff;border-color:var(--verde-scuro)}

/* ===== loading risultati elenco ===== */
#risultati{position:relative;transition:opacity .2s ease}
#risultati.caricamento{opacity:.45;pointer-events:none}
#risultati.caricamento::before{content:"";position:absolute;top:70px;left:50%;margin-left:-22px;width:44px;height:44px;border:4px solid var(--verde-chiaro);border-top-color:var(--verde-scuro);border-radius:50%;animation:cin-giro .8s linear infinite;z-index:5}
@keyframes cin-giro{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion: reduce){
  #risultati.caricamento::before{animation:none;border-top-color:var(--verde-chiaro)}
}

/* ===== rifiniture UI ===== */
.rev{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}
.rev.vis{opacity:1;transform:none}
/* Alzato da bottom:18px per non finire sotto al pulsante "Cookie" del banner Genial (in basso a destra). */
#toTop{position:fixed;right:18px;bottom:74px;width:46px;height:46px;border-radius:50%;background:var(--verde-scuro);color:#fff;border:none;font-size:1.2rem;cursor:pointer;box-shadow:0 4px 14px rgba(34,48,42,.3);opacity:0;pointer-events:none;transition:.3s;z-index:90}
#toTop.vis{opacity:1;pointer-events:auto}
#toTop:hover{background:var(--arancio)}

/* ===== responsive ===== */
@media(max-width:900px){
  .wrap{padding:0 24px}
  .searchbox{grid-template-columns:1fr}
  .searchbox .field{border-right:none;border-bottom:1px solid var(--bordo)}
  .reg-hero{padding-top:18px;padding-bottom:18px}
  .reg-hero h1{font-size:1.5rem}
  .reg-hero p,.reg-sub{font-size:.9rem}
  .layout{grid-template-columns:1fr}
  /* Su mobile il pannello non deve avere scroll interno (max-height/overflow del
     desktop): altrimenti resta bloccato "sotto la pagina" e non si chiude. */
  .filters{position:static;max-height:none;overflow:visible}
  /* Filtri collassati dietro il tasto "Filtra i risultati" */
  .filtri-toggle-wrap{display:block;margin-bottom:16px}
  .filters{display:none}
  .filters.open{display:block;margin-bottom:22px}
  .filtri-chiudi{display:block;width:100%;margin-top:18px;padding:12px 16px;background:var(--verde);color:#fff;border:none;border-radius:var(--radius);font-size:.95rem;font-weight:700;cursor:pointer}
  /* Barra risultati ordinata: conteggio a sinistra, ordinamento a destra */
  /* Mobile: conteggio su una riga, controlli (toggle + ordinamento) su riga piena sotto,
     così non si sovrappongono al testo. */
  .results-bar{gap:10px 12px}
  .results-bar>span{flex:1 1 100%;min-width:0;font-size:.9rem}
  .rb-controls{width:100%;justify-content:space-between}
  .results-bar select{flex:0 0 auto}
  .card-camp{grid-template-columns:1fr}
  .sp-hero-wrap{grid-template-columns:1fr}
  .sp-hero{grid-template-columns:1fr}
  .card-sp{grid-template-columns:1fr}
  .map-layout{grid-template-columns:1fr;padding:20px}
  .hamb{display:block}
  nav.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;gap:0;padding:8px 20px 16px;border-bottom:1px solid var(--bordo);box-shadow:0 8px 20px rgba(34,48,42,.12);margin-left:0;z-index:60}
  nav.main-nav.open{display:flex}
  nav.main-nav a{padding:12px 10px;border-bottom:1px solid var(--bordo)}
  nav.main-nav a:last-child{border-bottom:none}
  .topbar .wrap span:first-child{display:none}
  .hero{padding:54px 0 90px}
  .newsletter{padding:26px}
}

/* ==========================================================================
   Cookie banner Genial — override tema (palette del sito)
   Il pannello preferenze e il pulsantino flottante sono generati via JS dal
   bundle esterno (/componenti/gtm/genial-cookie): qui li ri-coloriamo coi
   colori del sito (verde #2f7d32, ambra #f09c00, crema #fff3d6) al posto del
   tema dark di default (#292929 / verde #008000).
   Catena selettori completa del componente + prefisso `body` per superare la
   specificità del CSS vendor (caricato a runtime, dopo site.css) + !important.
   ========================================================================== */
/* Backdrop + dialog */
body .cookie-consent-preferences-overlay{background:rgba(34,48,42,.6)!important}
body .cookie-consent-preferences-overlay .cookie-consent-preferences-dialog .containerconsent{border-radius:var(--radius)!important;overflow:hidden!important;box-shadow:0 18px 60px rgba(0,0,0,.35)!important;font-family:'Segoe UI',system-ui,-apple-system,sans-serif!important}
/* Header */
body .cookie-consent-preferences-overlay .cookie-consent-preferences-dialog .containerconsent .cc_cp_head{background:var(--verde-chiaro)!important;border-bottom:1px solid var(--bordo)!important}
body .cookie-consent-preferences-overlay .cookie-consent-preferences-dialog .containerconsent .cc_cp_head .cc_cp_head_title_pcenter_title{color:var(--verde-scuro)!important;font-weight:800!important}
/* Pulsante chiudi (×): il vendor lo disegna con :before/:after bianchi (background-color:#fff)
   → su header crema si confonde; li ricoloro in verde-scuro con hover a cerchio. */
html body .cookie-consent-preferences-overlay.cookie-consent-preferences-overlay .cc_close_button{border-radius:50%!important;opacity:1!important;transition:background .15s}
html body .cookie-consent-preferences-overlay.cookie-consent-preferences-overlay .cc_close_button:hover{background:rgba(156,74,0,.12)!important}
html body .cookie-consent-preferences-overlay.cookie-consent-preferences-overlay .cc_close_button:before,
html body .cookie-consent-preferences-overlay.cookie-consent-preferences-overlay .cc_close_button:after{background-color:var(--verde-scuro)!important}
/* Corpo: dal tema dark (contenuto blu #006cb3, testo bianco) a chiaro.
   Specificità maggiorata (html body + .containerconsent raddoppiata = 0-6-x) per battere
   le regole del tema `.dark` del componente. */
html body .cookie-consent-preferences-overlay .cookie-consent-preferences-dialog .containerconsent.containerconsent .cc_cp_content{background:#fff!important;color:var(--ink)!important}
html body .cookie-consent-preferences-overlay .cookie-consent-preferences-dialog .containerconsent.containerconsent .cc_cp_content .contentconsent{background:#fff!important;color:var(--ink)!important}
html body .cookie-consent-preferences-overlay .cookie-consent-preferences-dialog .containerconsent.containerconsent .cc_cp_content .contentconsent .contentconsent_entry{color:var(--ink)!important}
html body .cookie-consent-preferences-overlay .cookie-consent-preferences-dialog .containerconsent.containerconsent .cc_cp_content .contentconsent h1,
html body .cookie-consent-preferences-overlay .cookie-consent-preferences-dialog .containerconsent.containerconsent .cc_cp_content .contentconsent .contentconsent_entry_title{color:var(--verde-scuro)!important;font-weight:800!important}
html body .cookie-consent-preferences-overlay .cookie-consent-preferences-dialog .containerconsent.containerconsent .cc_cp_content .contentconsent p{color:var(--ink)!important}
html body .cookie-consent-preferences-overlay .cookie-consent-preferences-dialog .containerconsent.containerconsent .cc_cp_content .contentconsent a{color:var(--azzurro)!important;font-weight:700!important;text-decoration:underline}
html body .cookie-consent-preferences-overlay .cookie-consent-preferences-dialog .containerconsent.containerconsent .ConsentLogLabel{color:var(--grigio)!important;font-weight:700}
html body .cookie-consent-preferences-overlay .cookie-consent-preferences-dialog .containerconsent.containerconsent .ConsentLogVal{color:var(--ink)!important}
/* Menu a tab (sidebar) */
body .cookie-consent-preferences-overlay .cookie-consent-preferences-dialog .containerconsent .cc_cp_content .menuconsent{background:var(--verde-chiaro)!important;min-width:172px!important;width:172px!important}
body .cookie-consent-preferences-overlay .cookie-consent-preferences-dialog .containerconsent .cc_cp_content .menuconsent li{background:var(--verde-chiaro)!important;border-bottom:1px solid #f0e2b8!important;border-right:1px solid #f0e2b8!important}
body .cookie-consent-preferences-overlay .cookie-consent-preferences-dialog .containerconsent .cc_cp_content .menuconsent li a{color:var(--verde-scuro)!important}
/* Tab attiva = verde come i pulsanti (il tema `.dark` la farebbe blu #006cb3, spec. 0-7-1:
   la batto con html body + .containerconsent raddoppiata = 0-7-3). */
html body .cookie-consent-preferences-overlay .cookie-consent-preferences-dialog .containerconsent.containerconsent .cc_cp_content .menuconsent li[active=true]{background:var(--arancio)!important}
html body .cookie-consent-preferences-overlay .cookie-consent-preferences-dialog .containerconsent.containerconsent .cc_cp_content .menuconsent li[active=true] a{color:#fff!important}
/* Toggle */
body .cookie-consent-preferences-overlay .cookie-consent-preferences-dialog .containerconsent input.checkbox_cookie_consent{accent-color:var(--arancio)}
/* Footer + pulsanti (gerarchia: Consenti=verde pieno, Conferma=ambra, Rifiuta=ghost verde) */
body .cookie-consent-preferences-overlay .cookie-consent-preferences-dialog .containerconsent .cc_cp_footer{background:#fff!important;border-top:1px solid var(--bordo)!important;padding:14px 18px!important;gap:10px}
body .cookie-consent-preferences-overlay .cookie-consent-preferences-dialog .containerconsent .cc_cp_footer button{border-radius:10px!important;font-weight:700!important;padding:10px 20px!important;font-size:.9rem!important;border:2px solid transparent!important;cursor:pointer;transition:background .2s,border-color .2s}
body .cookie-consent-preferences-overlay .cookie-consent-preferences-dialog .containerconsent #acceptall{background:var(--arancio)!important;color:#fff!important;border-color:var(--arancio)!important}
body .cookie-consent-preferences-overlay .cookie-consent-preferences-dialog .containerconsent #acceptall:hover{background:#25612a!important;border-color:#25612a!important}
body .cookie-consent-preferences-overlay .cookie-consent-preferences-dialog .containerconsent #savecustomize{background:var(--verde)!important;color:#3a2400!important;border-color:var(--verde)!important}
body .cookie-consent-preferences-overlay .cookie-consent-preferences-dialog .containerconsent #savecustomize:hover{background:#d98a00!important;border-color:#d98a00!important}
body .cookie-consent-preferences-overlay .cookie-consent-preferences-dialog .containerconsent #rejectall{background:#fff!important;color:var(--arancio)!important;border-color:var(--arancio)!important}
body .cookie-consent-preferences-overlay .cookie-consent-preferences-dialog .containerconsent #rejectall:hover{background:#eef5ef!important}
/* Pulsantino flottante "Cookie" (riapre le preferenze, in basso a destra) */
body .cc_dialog.cc_update_dialog{background:transparent!important;padding:.6rem!important}
body .cc_dialog.cc_update_dialog #updatecookie{background:var(--arancio)!important;color:#fff!important;border-radius:22px!important;padding:9px 16px!important;font-weight:700!important;font-size:.82rem!important;box-shadow:0 4px 14px rgba(34,48,42,.25)!important;display:inline-flex!important;align-items:center;gap:7px;transition:background .2s}
body .cc_dialog.cc_update_dialog #updatecookie:hover{background:#25612a!important}
body .cc_dialog.cc_update_dialog #updatecookie img{width:16px;height:16px;filter:brightness(0) invert(1)}

/* Banner cookie INIZIALE (#cc_init, .cc_dialog.dark): il tema `.dark` lo rende blu #005891.
   Lo riporto ai colori del pannello preferenze (chiaro, verde/ambra). Uso gli id (#cc_init/
   #cc_accept/#customsetting) per superare le regole vendor `.dark.cc_dialog…` + !important. */
body #cc_init.cc_dialog{background:#fff!important;color:var(--ink)!important;border-radius:var(--radius) var(--radius) 0 0!important;box-shadow:0 -8px 40px rgba(0,0,0,.28)!important;border-top:3px solid var(--arancio)!important}
body #cc_init .cc_dialog_headline{color:var(--verde-scuro)!important}
body #cc_init .cc_dialog_text{color:var(--ink)!important}
body #cc_init .cc_dialog_text a,body #cc_init .cc_dialog_text a b{color:var(--azzurro)!important}
/* Pulsanti: Accetto = verde pieno, Maggiori opzioni = ambra (come il footer preferenze) */
body #cc_init #cc_accept{background:var(--arancio)!important;color:#fff!important;border:none!important;border-radius:10px!important;font-weight:700!important;padding:10px 22px!important}
body #cc_init #cc_accept:hover,body #cc_init #cc_accept:focus{background:#25612a!important}
body #cc_init #customsetting{background:var(--verde)!important;color:#3a2400!important;border:none!important;border-radius:10px!important;font-weight:700!important;padding:10px 22px!important}
body #cc_init #customsetting:hover,body #cc_init #customsetting:focus{background:#d98a00!important}
/* Pulsante chiudi (X, barre :before/:after bianche del vendor → verde-scuro) */
body #cc_init #cc_closebutton{color:var(--verde-scuro)!important}
body #cc_init #cc_closebutton .cc_close_button:before,body #cc_init #cc_closebutton .cc_close_button:after{background-color:var(--verde-scuro)!important}
