/* Banner del consenso ai cookie (consent.js) */
.ab-consent {
  position: fixed; z-index: 100000; right: 24px; bottom: 24px;
  width: min(440px, calc(100vw - 32px));
  max-height: calc(100vh - 48px); overflow-y: auto;
  background: #fff; color: #171717;
  box-shadow: 0 10px 40px rgba(0, 0, 0, .35);
  font-family: 'hk_groteskregular', sans-serif; font-size: 13px; line-height: 1.55;
}
.ab-consent__box { padding: 24px; }
.ab-consent__title {
  margin: 0 0 10px; font-family: 'sabonroman', serif; font-weight: normal;
  font-size: 20px; letter-spacing: .04em; text-transform: uppercase;
}
.ab-consent__text { margin: 0 0 18px; color: #444; }
.ab-consent__text a { color: #171717; text-decoration: underline; text-underline-offset: 2px; }

.ab-consent__panel { margin: 0 0 18px; border-top: 1px solid #dfdfdf; }
.ab-consent__row {
  position: relative; display: flex; align-items: flex-start; gap: 14px;
  padding: 14px 0; border-bottom: 1px solid #dfdfdf; cursor: pointer;
}
.ab-consent__row input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ab-consent__switch {
  flex: none; order: 2; margin-left: auto; position: relative;
  width: 38px; height: 22px; border-radius: 22px; background: #d8d8d8; transition: background .2s;
}
.ab-consent__switch::after {
  content: ''; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px;
  border-radius: 50%; background: #fff; transition: transform .2s;
}
.ab-consent__row input:checked + .ab-consent__switch { background: #b78b81; }
.ab-consent__row input:checked + .ab-consent__switch::after { transform: translateX(16px); }
.ab-consent__row input:disabled + .ab-consent__switch { opacity: .55; }
.ab-consent__row input:focus-visible + .ab-consent__switch { outline: 2px solid #171717; outline-offset: 2px; }
.ab-consent__row-text { order: 1; display: flex; flex-direction: column; gap: 2px; }
.ab-consent__row-text strong { font-family: 'hk_grotesksemibold', sans-serif; font-weight: normal; }
.ab-consent__row-text small { font-size: 12px; color: #655f64; }

/* Accetta e Rifiuta hanno lo stesso aspetto: la scelta non deve essere indirizzata */
.ab-consent__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.ab-consent__btn {
  flex: 1 1 auto; min-width: 110px; padding: 12px 14px; cursor: pointer;
  background: #fff; color: #171717; border: 1px solid #171717; border-radius: 0;
  font: 12px/1 'hk_groteskbold', sans-serif; letter-spacing: .12em; text-transform: uppercase;
  transition: background .2s, color .2s;
}
.ab-consent__btn:hover, .ab-consent__btn:focus-visible { background: #171717; color: #fff; }
.ab-consent__btn:focus-visible { outline: 2px solid #b78b81; outline-offset: 2px; }
.ab-consent__btn[hidden] { display: none; }

@media (max-width: 600px) {
  .ab-consent { right: 0; bottom: 0; width: 100%; max-height: 85vh; }
  .ab-consent__box { padding: 20px 16px; }
  .ab-consent__btn { flex-basis: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .ab-consent__switch, .ab-consent__switch::after, .ab-consent__btn { transition: none; }
}
