/* banner del consenso: scheda inchiostro in basso, come le schede scure del sito.
   Accetta e Rifiuta hanno lo stesso peso, come chiede il Garante. */
.cc {
  position: fixed; z-index: 100; left: clamp(0.75rem, 2vw, 1.5rem); bottom: clamp(0.75rem, 2vw, 1.5rem);
  width: min(26rem, calc(100vw - 2 * clamp(0.75rem, 2vw, 1.5rem)));
  padding: 1.5rem; background: #08090a; color: #f4f3f1;
  font-family: "Safiro", "Helvetica Neue", Arial, sans-serif; font-size: 0.9375rem; line-height: 1.5;
  box-shadow: 0 18px 40px rgba(8, 9, 10, .28);
  opacity: 0; transform: translateY(12px);
  transition: opacity .35s ease, transform .35s cubic-bezier(.22, 1, .36, 1);
}
.cc.is-open { opacity: 1; transform: none; }
.cc__eyebrow { margin: 0; font-size: 0.8125rem; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: #f19f06; }
.cc__text { margin: 0.75rem 0 0; color: #eae9e5; }
.cc__text a { color: #f4f3f1; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.cc__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; margin-top: 1.25rem; }
.cc__btn {
  min-height: 44px; padding: 0 1rem; border: 1.5px solid #f4f3f1; background: transparent; color: #f4f3f1;
  font: inherit; font-size: 0.875rem; font-weight: 500; letter-spacing: 0.04em; text-transform: uppercase; cursor: pointer;
  transition: background-color .2s, color .2s, border-color .2s;
}
.cc__btn--ok { background: #f19f06; border-color: #f19f06; color: #08090a; }
.cc__btn:hover { background: #f4f3f1; border-color: #f4f3f1; color: #08090a; }
.cc__btn:focus-visible { outline: 2px solid #f19f06; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .cc { transition: none; } }

/* link "Preferenze cookie" nel footer: sembra un link, è un bottone */
.cc-open { padding: 0; border: 0; background: none; color: inherit; font: inherit; cursor: pointer; }
.cc-open:hover { text-decoration: underline; text-underline-offset: 3px; }
