/* ============================================================
   Viste e Sviste del '900 — Cookie consent (standalone)
   GDPR / ePrivacy compliant · 2026
   ============================================================ */

:root{
  --vs-cc-bg:#2A2420;
  --vs-cc-text:#EDE7DC;
  --vs-cc-cream:#FFFFFF;
  --vs-cc-ink:#000000;
  --vs-cc-terra:#9D0041;
  --vs-cc-border:#DDDDDD;
}

/* ---------- Banner ---------- */
#vs-cookie-banner{
  position:fixed;left:0;right:0;bottom:0;z-index:2147483000;
  background:#2A2420;color:var(--vs-cc-text);
  box-shadow:0 -8px 30px -12px rgba(0,0,0,.5);
  transform:translateY(110%);
  transition:transform .5s cubic-bezier(0.16,1,0.3,1);
  font-family:Arial,Helvetica,sans-serif;
  padding-bottom:env(safe-area-inset-bottom);
}
#vs-cookie-banner.vs-visible{transform:translateY(0);}
#vs-cookie-banner .vs-cc-inner{
  max-width:1100px;margin:0 auto;padding:1.4rem 1.75rem;
  display:flex;flex-wrap:wrap;align-items:center;gap:1.1rem 2rem;
}
#vs-cookie-banner p{
  font-size:13px;line-height:1.65;color:var(--vs-cc-text);
  flex:1 1 360px;margin:0;
}
#vs-cookie-banner a{color:var(--vs-cc-terra);text-decoration:underline;text-underline-offset:2px;}
#vs-cookie-banner .vs-cc-actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;}

.vs-cc-btn{
  font:inherit;font-size:12.5px;font-weight:500;letter-spacing:.2px;
  border-radius:999px;padding:.6rem 1.15rem;cursor:pointer;
  border:1px solid transparent;transition:background-color .2s ease,color .2s ease,border-color .2s ease;
  white-space:nowrap;line-height:1;
}
.vs-cc-btn-ghost{background:transparent;color:var(--vs-cc-text);border-color:rgba(237,231,220,.35);}
.vs-cc-btn-ghost:hover{background:rgba(237,231,220,.12);}
.vs-cc-btn-outline{background:transparent;color:var(--vs-cc-text);border-color:var(--vs-cc-terra);}
.vs-cc-btn-outline:hover{background:rgba(201,123,106,.18);}
.vs-cc-btn-primary{background:var(--vs-cc-terra);color:#fff;border-color:var(--vs-cc-terra);}
.vs-cc-btn-primary:hover{background:#b96a5a;}

/* ---------- Modal ---------- */
#vs-cookie-modal{
  position:fixed;inset:0;z-index:2147483001;display:none;
  align-items:center;justify-content:center;padding:1.25rem;
  background:rgba(42,36,32,.55);backdrop-filter:blur(3px);
  font-family:Arial,Helvetica,sans-serif;
}
#vs-cookie-modal.vs-visible{display:flex;}
#vs-cookie-modal .vs-cm-box{
  background:var(--vs-cc-cream);max-width:520px;width:100%;
  border-radius:.6rem;padding:2rem;max-height:88vh;overflow-y:auto;
  box-shadow:0 24px 60px -20px rgba(0,0,0,.5);
}
#vs-cookie-modal h2{
  font-family:Arial,Helvetica,sans-serif;font-size:1.3rem;
  color:var(--vs-cc-ink);margin:0 0 .75rem;
}
#vs-cookie-modal .vs-cm-intro{font-size:13.5px;line-height:1.7;color:var(--vs-cc-ink);margin:0 0 1.25rem;}
#vs-cookie-modal a{color:var(--vs-cc-terra);text-decoration:underline;}
.vs-cm-row{
  display:flex;gap:1rem;align-items:flex-start;justify-content:space-between;
  padding:1rem 0;border-top:1px solid var(--vs-cc-border);
}
.vs-cm-row h3{font-size:13.5px;font-weight:600;color:var(--vs-cc-ink);margin:0 0 .25rem;}
.vs-cm-row p{font-size:12.5px;line-height:1.6;color:#6b6459;margin:0;}
.vs-cm-footer{
  display:flex;flex-wrap:wrap;gap:.6rem;justify-content:flex-end;
  margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--vs-cc-border);
}

/* toggle switch */
.vs-cm-toggle{
  flex:0 0 auto;width:44px;height:26px;border-radius:999px;background:#c8bfb1;
  position:relative;cursor:pointer;transition:background-color .25s ease;margin-top:2px;
  border:none;padding:0;
}
.vs-cm-toggle.vs-on{background:var(--vs-cc-terra);}
.vs-cm-toggle.vs-disabled{background:#9c9488;cursor:not-allowed;opacity:.75;}
.vs-cm-toggle .vs-dot{
  position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;
  background:#fff;transition:transform .25s cubic-bezier(0.16,1,0.3,1);
  box-shadow:0 1px 3px rgba(0,0,0,.25);
}
.vs-cm-toggle.vs-on .vs-dot{transform:translateX(18px);}
.vs-cm-toggle:focus-visible{outline:2px solid var(--vs-cc-terra);outline-offset:2px;}

/* ---------- Responsive ---------- */
@media (max-width:640px){
  #vs-cookie-banner .vs-cc-inner{padding:1.1rem 1.15rem;gap:.9rem;}
  #vs-cookie-banner p{flex:1 1 100%;font-size:12.5px;}
  #vs-cookie-banner .vs-cc-actions{width:100%;}
  .vs-cc-btn{flex:1 1 auto;text-align:center;padding:.7rem .9rem;}
  #vs-cookie-modal .vs-cm-box{padding:1.5rem;}
  .vs-cm-footer .vs-cc-btn{flex:1 1 auto;}
}
@media (pointer:coarse){
  .vs-cc-btn{min-height:44px;}
  .vs-cm-toggle{width:48px;height:28px;}
  .vs-cm-toggle .vs-dot{width:22px;height:22px;}
  .vs-cm-toggle.vs-on .vs-dot{transform:translateX(20px);}
}
@media (prefers-reduced-motion:reduce){
  #vs-cookie-banner,.vs-cm-toggle .vs-dot{transition:none;}
}

/* fix contrasto: link leggibile sul fondo scuro della banda */
#vs-cookie-banner a{color:#EFB9C9 !important;text-decoration-color:rgba(239,185,201,.6) !important;}
