/* ==========================================================================
   Consenso cookie — foglio di stile
   I colori passano tutti da variabili: per adattarlo a un altro sito basta
   ridefinire --spc-* in un punto qualsiasi del tema, senza toccare questo file.
   ========================================================================== */

.spc, .spc *, .spc *::before, .spc *::after { box-sizing: border-box; }

.spc {
  --spc-ink:      #161D3F;
  --spc-ink-soft: #4A5273;
  --spc-carta:    #ffffff;
  --spc-linea:    rgba(22, 29, 63, .12);
  --spc-accento:  #8C744A;
  --spc-accento-chiaro: #b9a071;
  --spc-ombra:    0 18px 50px rgba(7, 18, 45, .18);
  --spc-raggio:   14px;

  position: fixed;
  z-index: 2147483000;              /* sopra i widget di chat, sotto nulla */
  left: 50%;
  bottom: 22px;
  transform: translateX(-50%);
  width: min(680px, calc(100vw - 32px));
  background: var(--spc-carta);
  color: var(--spc-ink);
  border: 1px solid var(--spc-linea);
  border-radius: var(--spc-raggio);
  box-shadow: var(--spc-ombra);
  padding: 26px 28px 22px;
  font-family: "Segoe UI", system-ui, -apple-system, sans-serif;
  font-size: 15px;
  line-height: 1.55;
  animation: spc-entra .38s cubic-bezier(.22,.9,.3,1) both;
}
@keyframes spc-entra {
  from { opacity: 0; transform: translateX(-50%) translateY(14px); }
  to   { opacity: 1; transform: translateX(-50%) translateY(0); }
}
@media (prefers-reduced-motion: reduce) { .spc { animation: none; } }

.spc[hidden] { display: none !important; }

.spc-titolo {
  margin: 0 0 8px;
  font-size: 1.06rem;
  font-weight: 600;
  letter-spacing: .01em;
  font-family: "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
}
.spc-testo { margin: 0 0 18px; color: var(--spc-ink-soft); }
.spc-testo strong { color: var(--spc-ink); font-weight: 600; }

.spc-azioni { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }

.spc-btn {
  appearance: none; border: 1px solid transparent; cursor: pointer;
  padding: 11px 20px; border-radius: 9px;
  font: inherit; font-weight: 600; font-size: .95rem;
  transition: background .18s ease, color .18s ease, border-color .18s ease;
}
.spc-btn:focus-visible { outline: 3px solid var(--spc-accento); outline-offset: 3px; }

.spc-btn-si    { background: var(--spc-ink); color: #fff; }
.spc-btn-si:hover { background: #0e1430; }
.spc-btn-no    { background: transparent; color: var(--spc-ink); border-color: var(--spc-linea); }
.spc-btn-no:hover { border-color: var(--spc-ink); }
.spc-btn-testo { background: none; border: none; color: var(--spc-ink-soft);
                 text-decoration: underline; text-underline-offset: 3px; padding: 11px 6px; }
.spc-btn-testo:hover { color: var(--spc-accento); }

.spc-link { margin-left: auto; font-size: .86rem; }
.spc-link a { color: var(--spc-ink-soft); text-decoration: underline; text-underline-offset: 3px; }
.spc-link a:hover { color: var(--spc-accento); }

/* --- pannello delle scelte ------------------------------------------------ */
.spc-scelte { margin: 4px 0 18px; border-top: 1px solid var(--spc-linea); }
.spc-voce { padding: 15px 0; border-bottom: 1px solid var(--spc-linea); }
.spc-voce-testa { display: flex; align-items: center; gap: 14px; }
.spc-voce-tit { font-weight: 600; flex: 1; }
.spc-voce-des { margin: 7px 0 0; font-size: .88rem; color: var(--spc-ink-soft); }
.spc-sempre { font-size: .8rem; color: var(--spc-ink-soft); letter-spacing: .04em;
              text-transform: uppercase; }

/* interruttore */
.spc-sw { position: relative; width: 46px; height: 26px; flex: 0 0 auto; }
.spc-sw input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.spc-sw span {
  position: absolute; inset: 0; border-radius: 999px;
  background: #d6d3cc; transition: background .2s ease; pointer-events: none;
}
.spc-sw span::after {
  content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px;
  border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.25);
  transition: transform .2s cubic-bezier(.3,.8,.3,1);
}
.spc-sw input:checked + span { background: var(--spc-accento); }
.spc-sw input:checked + span::after { transform: translateX(20px); }
.spc-sw input:focus-visible + span { outline: 3px solid var(--spc-accento); outline-offset: 3px; }

/* --- linguetta per riaprire le scelte ------------------------------------- */
.spc-riapri {
  position: fixed; left: 16px; bottom: 16px; z-index: 2147482000;
  display: inline-flex; align-items: center; gap: 7px;
  padding: 8px 13px; border-radius: 999px; cursor: pointer;
  background: var(--spc-carta, #fff); color: var(--spc-ink, #161D3F);
  border: 1px solid var(--spc-linea, rgba(0,0,0,.12));
  box-shadow: 0 6px 18px rgba(7,18,45,.12);
  font: 600 .8rem/1 "Segoe UI", system-ui, sans-serif;
  opacity: .85; transition: opacity .2s ease, transform .2s ease;
}
.spc-riapri:hover { opacity: 1; transform: translateY(-1px); }
.spc-riapri:focus-visible { outline: 3px solid var(--spc-accento, #8C744A); outline-offset: 3px; }
.spc-riapri svg { width: 14px; height: 14px; flex: 0 0 auto; }

@media (max-width: 560px) {
  .spc { bottom: 0; left: 0; transform: none; width: 100%;
         border-radius: 16px 16px 0 0; padding: 20px 18px 16px; }
  @keyframes spc-entra { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
  .spc-azioni .spc-btn-si, .spc-azioni .spc-btn-no { flex: 1 1 100%; }
  .spc-link { margin-left: 0; width: 100%; padding-top: 4px; }
  .spc-riapri { left: 10px; bottom: 10px; }
}

@media (prefers-color-scheme: dark) {
  .spc:not([data-spc-tema="chiaro"]) {
    --spc-carta:    #14161f;
    --spc-ink:      #ECEAE4;
    --spc-ink-soft: #A9A79F;
    --spc-linea:    rgba(255,255,255,.14);
    --spc-accento:  #c9a45c;
    --spc-ombra:    0 18px 50px rgba(0,0,0,.5);
  }
  .spc:not([data-spc-tema="chiaro"]) .spc-btn-si { background: var(--spc-accento); color: #14161f; }
  .spc:not([data-spc-tema="chiaro"]) .spc-btn-si:hover { background: #d8b877; }
  .spc:not([data-spc-tema="chiaro"]) .spc-sw span { background: #3a3d48; }
}
