/* Cookie banner: fixed at the bottom, two equal buttons. Visible at once (no entrance animation): it is a compliance element. */
.cookie-banner {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 90;
  padding: 14px var(--size-gutter) 16px;
  background: var(--color-card);
  box-shadow: var(--shadow-banner);
  border-top: 1px solid var(--color-line);
}
.cookie-banner.is-leaving { animation: cookie-out var(--dur-base) var(--ease-soft) 0s forwards; }
@keyframes cookie-out { to { opacity: 0; transform: translateY(16px); } }
.cookie-banner__text { font-size: var(--size-text-sm); line-height: 1.45; color: var(--color-ink-2); }
.cookie-banner__actions { display: flex; gap: 10px; margin-top: 10px; }
@media (min-width: 768px) {
  .cookie-banner {
    left: 50%;
    right: auto;
    bottom: 20px;
    width: 720px;
    max-width: calc(100% - 40px);
    transform: translateX(-50%);
    border: 1px solid var(--color-line);
    border-radius: var(--size-radius);
    padding: 20px 24px;
  }
  .cookie-banner__actions { margin-top: 14px; }
  .cookie-banner__actions .btn { flex: 0 0 160px; }
  .cookie-banner.is-leaving { animation-name: cookie-out-wide; }
  @keyframes cookie-out-wide { from { opacity: 1; transform: translateX(-50%); } to { opacity: 0; transform: translate(-50%, 16px); } }
}
/* Landscape phones: text and buttons side by side, compact. */
@media (max-height: 520px) and (orientation: landscape) {
  .cookie-banner { display: flex; align-items: center; gap: 16px; padding-block: 8px; }
  .cookie-banner[hidden] { display: none; }
  .cookie-banner__text { flex: 1 1 auto; font-size: var(--size-text-xs); line-height: 1.35; }
  .cookie-banner__actions { flex: none; margin-top: 0; }
}
