.cookie-consent {
  position: fixed;
  z-index: 1000;
  right: clamp(12px, 2vw, 28px);
  bottom: max(12px, env(safe-area-inset-bottom));
  left: clamp(12px, 2vw, 28px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(20px, 4vw, 64px);
  align-items: center;
  width: min(1120px, calc(100% - clamp(24px, 4vw, 56px)));
  margin-inline: auto;
  max-height: calc(100dvh - 24px);
  overflow-y: auto;
  padding: clamp(18px, 2.4vw, 28px);
  border: 1px solid rgba(23, 26, 24, 0.22);
  border-radius: 22px;
  background: #fbfaf5;
  box-shadow: 8px 8px 0 #74cbb0, 0 22px 70px rgba(23, 26, 24, 0.2);
  color: #171a18;
  font-family: var(--site-font);
}

.cookie-consent[hidden] { display: none; }
.cookie-consent__copy { min-width: 0; }
.cookie-consent__eyebrow { margin: 0 0 5px; color: #f27937; font-size: 0.62rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.cookie-consent h2 { margin: 0 0 7px; font-family: var(--site-font); font-size: clamp(1.4rem, 2.5vw, 2rem); font-weight: 400; line-height: 1; }
.cookie-consent p:not(.cookie-consent__eyebrow) { max-width: 700px; margin: 0; color: #67706b; font-size: 0.78rem; line-height: 1.5; text-wrap: pretty; }
.cookie-consent a { display: inline-block; margin-top: 8px; color: inherit; font-size: 0.69rem; text-underline-offset: 4px; }
.cookie-consent__actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: end; }
.cookie-consent button { min-height: 44px; padding: 0 18px; border: 1px solid #171a18; border-radius: 999px; background: transparent; color: #171a18; cursor: pointer; font: inherit; font-size: 0.72rem; font-weight: 750; white-space: nowrap; }
.cookie-consent button:first-child { background: #171a18; color: #fff; }
.cookie-consent button:hover { transform: translateY(-1px); }
.cookie-consent a:focus-visible, .cookie-consent button:focus-visible, [data-cookie-settings]:focus-visible { outline: 2px solid #171a18; outline-offset: 3px; }

@media (max-width: 700px) {
  .cookie-consent { grid-template-columns: 1fr; gap: 14px; padding: 18px; border-radius: 17px; box-shadow: 5px 5px 0 #74cbb0, 0 18px 50px rgba(23, 26, 24, 0.2); }
  .cookie-consent h2 { font-size: 1.45rem; }
  .cookie-consent p:not(.cookie-consent__eyebrow) { font-size: 0.7rem; line-height: 1.45; }
  .cookie-consent__actions { display: grid; grid-template-columns: 1fr 1fr; justify-content: stretch; }
  .cookie-consent button { padding-inline: 11px; white-space: normal; }
}

@media (max-width: 390px) {
  .cookie-consent__actions { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .cookie-consent button { transition: none; }
}
