/* Cookie consent banner — works on marketing, API, and Shop Desk. */

.cookie-consent {
  --cc-bg: var(--surface, #faf7f0);
  --cc-ink: var(--ink, #14201a);
  --cc-muted: var(--muted, #5c6b62);
  --cc-border: var(--border, #d9d2c4);
  --cc-primary: var(--primary, #1b4332);
  --cc-on-primary: var(--on-primary, #faf7f0);
  --cc-shadow: var(--shadow, 0 18px 50px rgba(20, 32, 26, 0.12));
  position: fixed;
  z-index: 80;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 0.85rem 1rem calc(0.85rem + env(safe-area-inset-bottom, 0px));
  pointer-events: none;
}

.cookie-consent[hidden] {
  display: none !important;
}

.cookie-consent__sheet {
  pointer-events: auto;
  width: min(100%, 44rem);
  margin: 0 auto;
  background: var(--cc-bg);
  color: var(--cc-ink);
  border: 1px solid var(--cc-border);
  border-radius: 20px;
  box-shadow: var(--cc-shadow);
  padding: 1.15rem 1.2rem 1.2rem;
}

.cookie-consent__intro h2 {
  margin: 0 0 0.4rem;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.cookie-consent__intro p {
  margin: 0;
  color: var(--cc-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.cookie-consent__intro a {
  color: var(--cc-primary);
  font-weight: 700;
}

.cookie-consent__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.95rem;
}

.cookie-consent__btn {
  appearance: none;
  border-radius: 999px;
  font: inherit;
  font-weight: 700;
  font-size: 0.88rem;
  padding: 0.62rem 1.05rem;
  cursor: pointer;
  border: 1px solid transparent;
}

.cookie-consent__btn--primary {
  background: var(--cc-primary);
  color: var(--cc-on-primary);
}

.cookie-consent__btn--ghost {
  background: transparent;
  color: var(--cc-ink);
  border-color: var(--cc-border);
}

.cookie-consent__btn--text {
  background: transparent;
  color: var(--cc-primary);
  padding-left: 0.4rem;
  padding-right: 0.4rem;
}

.cookie-consent__panel {
  margin-top: 1rem;
  padding-top: 0.9rem;
  border-top: 1px solid var(--cc-border);
}

.cookie-consent__panel[hidden] {
  display: none !important;
}

.cookie-consent__panel fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

.cookie-consent__panel legend {
  font-weight: 800;
  font-size: 0.86rem;
  margin-bottom: 0.65rem;
}

.cookie-consent__row {
  display: flex;
  gap: 0.7rem;
  align-items: flex-start;
  margin: 0 0 0.7rem;
  font-size: 0.86rem;
  line-height: 1.4;
  color: var(--cc-muted);
  cursor: pointer;
}

.cookie-consent__row strong {
  display: block;
  color: var(--cc-ink);
  margin-bottom: 0.1rem;
}

.cookie-consent__row input {
  margin-top: 0.2rem;
  inline-size: 1.05rem;
  block-size: 1.05rem;
  accent-color: var(--cc-primary);
}

.cookie-consent-noscript {
  margin: 0;
  padding: 0.75rem 1rem;
  font-size: 0.85rem;
  text-align: center;
  background: var(--cc-bg, #faf7f0);
  color: var(--cc-ink, #14201a);
}

.site-footer__list button.site-footer__text-btn {
  appearance: none;
  background: none;
  border: 0;
  padding: 0;
  margin: 0;
  font: inherit;
  font-size: 0.92rem;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.88);
  text-align: left;
  cursor: pointer;
}

.site-footer__list button.site-footer__text-btn:hover {
  color: #3dcf8e;
}

.api-footer button.site-footer__text-btn,
.login-foot button.site-footer__text-btn {
  appearance: none;
  background: none;
  border: 0;
  padding: 0;
  font: inherit;
  color: inherit;
  cursor: pointer;
  text-decoration: underline;
}

@media (max-width: 560px) {
  .cookie-consent__btn--primary,
  .cookie-consent__btn--ghost {
    flex: 1 1 calc(50% - 0.5rem);
  }
}

html[data-theme="dark"] .cookie-consent {
  --cc-bg: var(--surface, #15201a);
  --cc-ink: var(--ink, #eef2ea);
  --cc-muted: var(--muted, #9aaba0);
  --cc-border: var(--border, #2a3a31);
  --cc-primary: var(--primary, #95d5b2);
  --cc-on-primary: var(--on-primary, #0e1612);
}

[data-bs-theme="dark"] .cookie-consent {
  --cc-bg: var(--sd-surface, #1c1814);
  --cc-ink: var(--sd-cream, #f2ead8);
  --cc-muted: var(--sd-muted, #9a8b72);
  --cc-border: var(--sd-border, #3a3228);
  --cc-primary: var(--sd-gold, #e4c441);
  --cc-on-primary: var(--sd-ink, #1a140f);
}
