/*
 * cookie_consent.css
 * Minimal cookie banner. Bottom-fixed, dismissable, accessible.
 * Renders only on first visit and hides itself once the user has chosen.
 */
.cookie-banner {
  position: fixed;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  z-index: 9000;
  max-width: 560px;
  margin: 0 auto;
  padding: 1rem 1.1rem;
  background: var(--surface-3);
  color: var(--text-primary);
  border: 1px solid var(--glass-border-hover);
  border-radius: 12px;
  box-shadow: 0 18px 40px -16px var(--surface-overlay);
  font-size: 0.92rem;
  line-height: 1.45;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

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

.cookie-banner__text {
  margin: 0 0 0.85rem 0;
}

.cookie-banner__text a {
  color: var(--product-fieldkb-accent);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.cookie-banner__actions {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.cookie-banner__btn {
  flex: 1 1 auto;
  min-width: 140px;
  padding: 0.55rem 0.9rem;
  border-radius: 8px;
  font-size: 0.9rem;
  font-weight: 600;
  border: 1px solid transparent;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.cookie-banner__btn--accept {
  background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
  color: #ffffff;
}

.cookie-banner__btn--accept:hover {
  background: linear-gradient(135deg, var(--product-fieldkb-accent) 0%, var(--color-primary) 100%);
}

.cookie-banner__btn--essential {
  background: transparent;
  color: var(--text-primary);
  border-color: color-mix(in srgb, var(--text-muted) 45%, transparent);
}

.cookie-banner__btn--essential:hover {
  background: var(--glass-border);
  border-color: color-mix(in srgb, var(--text-muted) 70%, transparent);
}

.cookie-banner__btn:focus-visible {
  outline: 2px solid var(--product-fieldkb-accent);
  outline-offset: 2px;
}

@media (max-width: 480px) {
  .cookie-banner {
    left: 0.5rem;
    right: 0.5rem;
    bottom: 0.5rem;
    padding: 0.85rem 0.95rem;
    font-size: 0.88rem;
  }
}
