.cookie-banner {
  position: fixed;
  z-index: 1200;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  max-width: 72rem;
  margin: 0 auto;
  padding: 1rem;
  border: 1px solid #d7d2ca;
  border-radius: 6px;
  background: #ffffff;
  box-shadow: 0 12px 36px rgba(17, 17, 17, .18);
  color: #111111;
}

.cookie-banner[hidden] { display: none; }
.cookie-banner p { max-width: 44rem; margin: .35rem 0 0; color: #4d4b47; }
.cookie-banner__actions, .cookie-dialog__actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.cookie-banner__actions { justify-content: flex-end; }
.cookie-dialog { width: min(36rem, calc(100% - 2rem)); padding: 1.25rem; border: 1px solid #d7d2ca; border-radius: 6px; color: #111111; }
.cookie-dialog::backdrop { background: rgba(17, 17, 17, .56); }
.cookie-dialog h2 { margin: 0 2.5rem 1rem 0; font-size: 1.5rem; }
.cookie-dialog__close { position: absolute; top: .65rem; right: .75rem; width: 2.5rem; height: 2.5rem; border: 0; background: transparent; font-size: 1.8rem; line-height: 1; cursor: pointer; }
.cookie-choice { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 0; border-top: 1px solid #e6e2dc; }
.cookie-choice span { display: grid; gap: .2rem; }
.cookie-choice small { color: #66625d; }
.cookie-choice input { width: 1.25rem; height: 1.25rem; flex: 0 0 auto; }
.cookie-dialog__actions { margin-top: 1rem; }
.footer-cookie-settings { padding: 0; border: 0; background: transparent; color: inherit; font: inherit; text-align: left; text-decoration: underline; cursor: pointer; }

@media (max-width: 767px) {
  .cookie-banner { align-items: stretch; flex-direction: column; }
  .cookie-banner__actions { justify-content: stretch; }
  .cookie-banner__actions .button { flex: 1 1 100%; width: 100%; }
  .cookie-dialog__actions .button { flex: 1 1 100%; width: 100%; }
}
