.consent-manager { background: rgb(35 31 28 / 54%); display: grid; inset: 0; padding: 1rem; place-items: end center; position: fixed; z-index: 1000; }
.consent-manager[hidden] { display: none; }
.consent-manager__panel { background: #fffdf9; border: 1px solid #d9cabc; box-shadow: 0 1.5rem 5rem rgb(35 27 22 / 24%); color: #29231f; max-width: 46rem; padding: clamp(1.2rem, 3vw, 2rem); width: 100%; }
.consent-manager__eyebrow { color: #7d5546; display: block; font-size: .66rem; font-weight: 800; letter-spacing: .11em; margin-bottom: .5rem; text-transform: uppercase; }
.consent-manager h2 { font-size: clamp(1.55rem, 3vw, 2.2rem); margin: 0 0 .65rem; }
.consent-manager p { color: #655b54; font-size: .82rem; margin: 0; }
.consent-manager__choice { border-block: 1px solid #e2d7cc; display: grid; gap: .25rem; margin-block: 1rem; padding-block: .85rem; }
.consent-manager__choice label { align-items: start; display: grid; gap: .65rem; grid-template-columns: auto 1fr; }
.consent-manager__choice strong, .consent-manager__choice small { display: block; }
.consent-manager__choice small { color: #756b63; font-size: .68rem; margin-top: .2rem; }
.consent-manager__actions { display: grid; gap: .65rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 1rem; }
.consent-manager__actions button, .consent-settings-button { border: 1px solid #29231f; cursor: pointer; font: inherit; }
.consent-manager__actions button { font-size: .68rem; font-weight: 800; letter-spacing: .06em; min-height: 2.8rem; padding: .7rem 1rem; text-transform: uppercase; }
.consent-manager__actions button { background: #29231f; color: #fffdf9; }
.consent-manager__actions button:first-child { background: transparent; color: #29231f; }
.consent-settings-button {
  align-items: center;
  background: #fffaf2;
  border-color: #cdb9a7;
  border-radius: 50%;
  bottom: max(.9rem, env(safe-area-inset-bottom));
  box-shadow: 0 .55rem 1.6rem rgb(52 37 30 / 20%);
  display: flex;
  height: 3.45rem;
  justify-content: center;
  left: max(.9rem, env(safe-area-inset-left));
  padding: .3rem;
  position: fixed;
  right: auto;
  transition: box-shadow 160ms ease, transform 160ms ease;
  width: 3.45rem;
  z-index: 900;
}
.consent-settings-button:hover { box-shadow: 0 .75rem 1.9rem rgb(52 37 30 / 27%); transform: translateY(-2px); }
.consent-settings-button:focus-visible { outline: 3px solid #c80012; outline-offset: 3px; }
.consent-settings-button__icon { display: block; height: 100%; width: 100%; }
.consent-manager a { color: inherit; }
@media (max-width: 560px) { .consent-manager__actions { grid-template-columns: 1fr; } .consent-manager__actions button:first-child { order: 2; } }
@media (prefers-reduced-motion: reduce) {
  .consent-manager { scroll-behavior: auto; }
  .consent-settings-button { transition: none; }
  .consent-settings-button:hover { transform: none; }
}
