
.cookie-banner {
  position: fixed;
  z-index: 1000;
  right: 16px;
  bottom: 16px;
  left: 16px;
  display: grid;
  gap: 20px;
  max-width: 920px;
  margin: 0 auto;
  padding: 22px;
  border: 1px solid #d8ccbb;
  border-radius: 20px;
  background: #eee5d7;
  color: #30251c;
  box-shadow: 0 12px 36px #30251c18;
}

.cookie-banner__copy {
  display: grid;
  gap: 8px;
}

.cookie-banner__eyebrow {
  color: #71614e;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.cookie-banner h2 {
  font-size: 21px;
  font-weight: 650;
  line-height: 1.2;
}

.cookie-banner p {
  color: #5e5143;
  font-size: 15px;
  line-height: 1.55;
}

.cookie-banner a {
  color: #30251c;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.cookie-banner__actions {
  display: grid;
  gap: 10px;
}

.cookie-banner__button {
  min-height: 46px;
  padding: 10px 18px;
  border: 1px solid transparent;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 650;
  cursor: pointer;
  transition: background-color .18s, border-color .18s;
}

.cookie-banner__button--primary {
  background: #d8c7ae;
  color: #30251c;
}

.cookie-banner__button--secondary {
  border-color: #c8baa5;
  background: #f5eee4;
  color: #30251c;
}
.cookie-banner .cookie-banner__button:hover { background:#cdbb9e; border-color:#b5a083; box-shadow:none; transform:none; }
.cookie-banner .cookie-banner__button--secondary:hover { background:#e8ddce; }
.cookie-banner .cookie-banner__button:focus-visible { outline:2px solid #59432c; outline-offset:3px; }
.cookie-banner .cookie-banner__button:active { background:#bfaa8b; }
/* Inner pages use the same white and graphite palette as their content. */
body:not(.world-gallery) .cookie-banner { background:#fff; color:#121212; border-color:#dfe4ec; box-shadow:0 12px 36px #12121210; }
body:not(.world-gallery) .cookie-banner p { color:#5d6678; }
body:not(.world-gallery) .cookie-banner .cookie-banner__eyebrow { color:#5d6678; }
body:not(.world-gallery) .cookie-banner a { color:#121212; }
body:not(.world-gallery) .cookie-banner__button--primary { background:#121212; color:#fff; }
body:not(.world-gallery) .cookie-banner__button--secondary { background:#f3f4f6; border-color:#dfe4ec; color:#121212; }
body:not(.world-gallery) .cookie-banner .cookie-banner__button--primary:hover { background:#333; border-color:#333; }
body:not(.world-gallery) .cookie-banner .cookie-banner__button--secondary:hover { background:#e8eaee; border-color:#cbd0d9; }
body:not(.world-gallery) .cookie-banner .cookie-banner__button:focus-visible { outline-color:#121212; }
body:not(.world-gallery) .cookie-banner .cookie-banner__button--primary:active { background:#000; }
body:not(.world-gallery) .cookie-banner .cookie-banner__button--secondary:active { background:#dfe4ec; }
@media(prefers-reduced-motion:reduce) { .cookie-banner__button { transition:none; } }

.cookie-banner-enter-active,
.cookie-banner-leave-active {
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.cookie-banner-enter-from,
.cookie-banner-leave-to {
  opacity: 0;
  transform: translateY(16px);
}

@media (min-width: 770px) {
  .cookie-banner {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    padding: 24px 28px;
  }

  .cookie-banner__actions {
    grid-template-columns: repeat(2, auto);
  }
}
