
.cookie-banner {
  position: fixed;
  inset-inline: 0;
  bottom: 0;
  z-index: 1000;
  background: rgba(31, 42, 31, 0.98);
  color: #efe6d0;
  padding: 1.2rem 1.5rem;
  border-top: 1px solid #59614a;
  box-shadow: 0 -8px 24px rgba(31, 42, 31, 0.18);
}
.cookie-banner__inner { max-width: 1180px; margin-inline: auto; display: flex; align-items: center; gap: 1.5rem; }
.cookie-banner__copy { flex: 1; }
.cookie-banner__title { margin: 0 0 .25rem; font-weight: 700; font-size: 1rem; }
.cookie-banner__text { margin: 0; color: #c6c0ab; font-size: .86rem; line-height: 1.6; }
.cookie-banner__text a { color: #f0b384; }
.cookie-banner__actions { display: flex; flex-wrap: wrap; gap: .6rem; flex-shrink: 0; }
.cookie-button { border: 1px solid #8e9677; border-radius: 4px; padding: .7rem 1rem; font: inherit; font-size: .84rem; cursor: pointer; }
.cookie-button--primary { background: #c1541e; color: #fff7eb; border-color: #c1541e; }
.cookie-button--secondary { background: transparent; color: #efe6d0; }
.cookie-button--quiet { background: #394633; color: #efe6d0; border-color: #59614a; }
.cookie-modal[hidden], .cookie-banner[hidden] { display: none; }
.cookie-modal { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 1rem; background: rgba(20, 25, 19, .62); }
.cookie-modal__panel { width: min(100%, 560px); background: #efe6d0; color: #241f16; padding: 2rem; border: 1px solid #d8cbab; border-radius: 14px; box-shadow: 0 12px 40px rgba(20, 25, 19, .25); }
.cookie-modal__panel h2 { margin-top: 0; }
.cookie-options { display: grid; gap: .65rem; margin: 1.25rem 0; }
.cookie-option { display: flex; align-items: flex-start; gap: .65rem; padding: .75rem; border: 1px solid #d8cbab; border-radius: 4px; }
.cookie-option input { margin-top: .3rem; accent-color: #c1541e; }
.cookie-option strong, .cookie-option span { display: block; }
.cookie-option strong { font-size: .9rem; }
.cookie-option span { color: #7a6f58; font-size: .82rem; }
.cookie-modal__actions { display: flex; justify-content: flex-end; gap: .6rem; }
@media (max-width: 640px) { .cookie-banner__inner { flex-direction: column; align-items: stretch; gap: .9rem; } .cookie-banner__actions { display: grid; grid-template-columns: 1fr; } .cookie-button { width: 100%; } .cookie-modal__panel { padding: 1.25rem; } .cookie-modal__actions { flex-direction: column-reverse; } }
@media (min-width: 641px) and (max-width: 1024px) { .cookie-banner__inner { align-items: flex-start; } }
@media (min-width: 1025px) { .cookie-banner { padding-inline: 3rem; } }

