/* Banner cookie e footer condivisi. Usa le variabili del tema già presenti nei due siti. */
.cookie-banner {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 1000;
  display: flex;
  justify-content: center;
  padding: 12px;
  pointer-events: none;
}
.cookie-banner-inner {
  pointer-events: auto;
  width: 100%;
  max-width: 560px;
  max-height: 85vh;
  overflow-y: auto;
  background: var(--bg, #454545);
  color: var(--text, #EDEDEC);
  border: 1px solid var(--field-border, #666);
  border-radius: var(--radius-md, 20px);
  padding: 16px 18px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5);
  font-size: 0.9rem;
  text-align: left;
}
.cookie-banner p { margin: 4px 0 8px; font-size: 0.9rem; line-height: 1.5; }
.cookie-details { margin: 8px 0; display: flex; flex-direction: column; gap: 8px; }
.cookie-details[hidden] { display: none; }
.cookie-row { display: flex; gap: 10px; align-items: center; color: var(--text-soft, #C8C8C6); }
.cookie-row input { width: 20px; height: 20px; accent-color: var(--accent, #7957FF); flex: none; }
.cookie-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 8px; }
/* "Accetta" e "Rifiuta": stessa evidenza (stesso stile, stessa dimensione). */
.cookie-btn {
  flex: 1 1 120px;
  min-height: 44px;
  padding: 10px 16px;
  border-radius: var(--radius-pill, 999px);
  border: 2px solid var(--accent, #7957FF);
  background: var(--accent, #7957FF);
  color: var(--accent-text, #fff);
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}
.cookie-btn:focus-visible, .cookie-link:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
.cookie-link {
  flex: 1 1 100%;
  background: none; border: 0; padding: 8px 0;
  color: var(--text-soft, #C8C8C6);
  font: inherit; text-decoration: underline; cursor: pointer;
}

.site-footer {
  width: 100%;
  max-width: 560px;
  margin: 0 auto;
  padding: 8px 20px 28px;
  text-align: center;
  font-size: 0.85rem;
  color: var(--text-soft, #C8C8C6);
}
.site-footer a { color: inherit; }
.site-footer .sep { margin: 0 8px; opacity: 0.5; }

/* Consensi separati nei form: testo leggibile, area cliccabile ampia su smartphone. */
.consent-note { font-size: 0.85rem; margin: 10px 0 0; }
