/* Zaluna — Privacy e cookie */
.zprv-banner, .zprv-pref, .zprv-blocco, .zprv-doc { --zprv-ink:#3e3c38; --zprv-txt:#45413e; --zprv-soft:#6d6862; --zprv-line:#dcd7d0; --zprv-giallo:#f5c836; }
.zprv-banner, .zprv-banner *, .zprv-pref, .zprv-pref *, .zprv-blocco, .zprv-blocco * { box-sizing:border-box; font-family:Montserrat, Arial, sans-serif !important; }
.zprv-banner[hidden], .zprv-pref[hidden] { display:none !important; }

.zprv-banner {
  position:fixed; z-index:100000; left:24px; bottom:24px; width:min(560px, calc(100vw - 48px));
  background:#fff; color:var(--zprv-txt); padding:26px 28px 22px; border-top:4px solid var(--zprv-giallo);
  box-shadow:0 10px 40px rgba(0,0,0,.22); font-size:14px; line-height:1.55; letter-spacing:.1px;
}
.zprv-banner__titolo { margin:0 28px 8px 0; font-size:17px; font-weight:600; color:var(--zprv-ink); letter-spacing:.5px; }
.zprv-banner__testo { margin:0 0 18px; font-weight:400; }
.zprv-banner a, .zprv-pref a { color:var(--zprv-ink) !important; text-decoration:underline !important; text-underline-offset:2px; font-weight:500; }
.zprv-banner__azioni { display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end; align-items:center; }

.zprv-btn {
  appearance:none; cursor:pointer; border:1px solid var(--zprv-ink); background:#fff; color:var(--zprv-ink);
  min-height:42px; padding:0 20px; font-size:13px; font-weight:600; letter-spacing:1px; text-transform:uppercase;
  display:inline-flex; align-items:center; justify-content:center; border-radius:0; text-decoration:none !important; line-height:1.2;
}
.zprv-btn--scuro { background:var(--zprv-ink); color:#fff !important; min-width:130px; }
.zprv-btn--scuro:hover, .zprv-btn--scuro:focus-visible { background:#645f5f; border-color:#645f5f; }
.zprv-btn--chiaro { background:#fff; color:var(--zprv-ink) !important; }
.zprv-btn--chiaro:hover { background:#f3f1ee; }
.zprv-btn--link { border-color:transparent; background:transparent; text-decoration:underline !important; text-underline-offset:3px; padding:0 8px; margin-right:auto; }
.zprv-btn:focus-visible, .zprv-x:focus-visible, .zprv-switch:focus-visible { outline:2px solid var(--zprv-giallo); outline-offset:2px; }

.zprv-x {
  position:absolute; top:8px; right:10px; width:40px; height:40px; border:0; background:transparent; cursor:pointer;
  font-size:32px !important; font-weight:300; line-height:40px; color:var(--zprv-ink); padding:0;
}
.zprv-x:hover { color:#000; }

/* pannello preferenze */
.zprv-pref { position:fixed; inset:0; z-index:100001; background:rgba(30,28,26,.55); display:flex; align-items:center; justify-content:center; padding:16px; }
html.zprv-bloccato { overflow:hidden; }
.zprv-pref__box {
  position:relative; background:#fff; color:var(--zprv-txt); width:min(640px, 100%); max-height:calc(100vh - 32px); overflow:auto;
  padding:30px 30px 24px; border-top:4px solid var(--zprv-giallo); font-size:14px; line-height:1.55; outline:none;
}
.zprv-pref__titolo { margin:0 32px 8px 0; font-size:19px; font-weight:600; color:var(--zprv-ink); letter-spacing:.5px; }
.zprv-pref__testo { margin:0 0 16px; }
.zprv-cat { list-style:none; margin:0 0 20px; padding:0; border-top:1px solid var(--zprv-line); }
.zprv-cat__riga { padding:14px 0; border-bottom:1px solid var(--zprv-line); }
.zprv-cat__testa { display:flex; justify-content:space-between; align-items:center; gap:16px; margin:0; cursor:pointer; }
.zprv-cat__nome { font-weight:600; color:var(--zprv-ink); font-size:15px; }
.zprv-cat__sempre { font-size:12px; font-weight:600; color:var(--zprv-soft); text-transform:uppercase; letter-spacing:1px; }
.zprv-cat__desc { margin:6px 0 0; color:var(--zprv-soft); font-size:13px; }
.zprv-switch {
  appearance:none; -webkit-appearance:none; flex:0 0 auto; width:46px; height:26px; border-radius:13px; background:#cfc9c2;
  position:relative; cursor:pointer; transition:background .2s; margin:0;
}
.zprv-switch::after { content:""; position:absolute; top:3px; left:3px; width:20px; height:20px; border-radius:50%; background:#fff; transition:transform .2s; box-shadow:0 1px 3px rgba(0,0,0,.25); }
.zprv-switch:checked { background:var(--zprv-ink); }
.zprv-switch:checked::after { transform:translateX(20px); }

/* mappa bloccata */
.zprv-blocco { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; padding:20px; background:#efece8; text-align:center; z-index:1; }
.zprv-blocco__in { max-width:460px; color:#45413e; font-size:15px; line-height:1.6; font-weight:400; }
.zprv-blocco__in p { font-size:15px; font-weight:400; color:#45413e; }
.zprv-blocco__in p { margin:0 0 14px; }
.zprv-blocco__in p:last-child { margin:0; display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }

@media (max-width:640px) {
  .zprv-banner { left:8px; right:8px; bottom:8px; width:auto; padding:20px 18px 16px; font-size:13px; max-height:calc(100vh - 16px); overflow:auto; }
  .zprv-banner__titolo { font-size:16px; }
  .zprv-banner__azioni { justify-content:stretch; }
  .zprv-banner__azioni .zprv-btn--scuro { flex:1 1 40%; min-width:0; }
  .zprv-btn--link { order:3; flex:1 1 100%; margin:0; }
  .zprv-pref__box { padding:24px 18px 18px; }
  .zprv-pref .zprv-banner__azioni .zprv-btn--scuro { flex:1 1 40%; min-width:0; }
}

/* pagine Privacy Policy e Cookie Policy */
body.zprv-pagina .zaluna-pagina { max-width:none !important; width:auto !important; margin:0 !important; padding:200px 0 90px !important; }
body.zprv-pagina .zaluna-pagina__titolo { display:none !important; }
body.zprv-pagina .zaluna-pagina__testo { max-width:none !important; width:auto !important; margin:0 !important; padding:0 !important; }
.zprv-doc { max-width:900px; margin:0 auto; padding:0 24px; color:#45413e; font-family:Montserrat, Arial, sans-serif; font-size:16px; line-height:1.7; }
.zprv-doc * { font-family:Montserrat, Arial, sans-serif; }
.zprv-doc h1 { font-family:maleah, serif !important; font-weight:400; font-size:44px; color:#645f5f; margin:0 0 8px; letter-spacing:1px; }
.zprv-doc h2 { font-size:20px; font-weight:600; color:#3e3c38; margin:42px 0 12px; letter-spacing:.3px; }
.zprv-doc h3 { font-size:16px; font-weight:600; color:#3e3c38; margin:26px 0 8px; }
.zprv-doc p, .zprv-doc li { font-weight:400; }
.zprv-doc ul { padding-left:22px; margin:0 0 16px; }
.zprv-doc li { margin:0 0 6px; }
.zprv-doc strong { font-weight:600; color:#3e3c38; }
.zprv-doc a { color:#3e3c38 !important; text-decoration:underline !important; text-underline-offset:2px; }
.zprv-doc .zprv-agg { color:#6d6862; font-size:14px; margin:0 0 30px; }
.zprv-doc .zprv-tab { width:100%; overflow-x:auto; margin:0 0 20px; }
.zprv-doc table { width:100%; border-collapse:collapse; font-size:14px; line-height:1.5; min-width:560px; }
.zprv-doc th, .zprv-doc td { border:1px solid #dcd7d0; padding:10px 12px; text-align:left; vertical-align:top; }
.zprv-doc th { background:#f3f1ee; font-weight:600; color:#3e3c38; }
.zprv-doc .zprv-btn { margin:6px 0 10px; }
@media (max-width:640px) {
  body.zprv-pagina .zaluna-pagina { padding-top:150px !important; }
  .zprv-doc { font-size:15px; }
  .zprv-doc h1 { font-size:34px; }
  .zprv-doc h2 { font-size:18px; }
}
