/*
 * Bandeau cookies COV 360 — style de base volontairement neutre.
 * TOUT passe par des variables : mapper les variables --cov-consent-* sur les tokens
 * du design system du site (couleurs, police, radius) au lieu de modifier ce fichier.
 * Exemple dans le CSS du site :
 *   :root {
 *     --cov-consent-bg: var(--color-surface);
 *     --cov-consent-text: var(--color-text);
 *     --cov-consent-accent: var(--color-primary);
 *   }
 */
.cov-consent {
  position: fixed;
  inset-inline: 0;
  bottom: 0;
  z-index: 9999;
  padding: var(--cov-consent-gap, 1rem);
  font-family: var(--cov-consent-font, inherit);
}

.cov-consent__box {
  max-width: 40rem;
  margin-inline: auto;
  background: var(--cov-consent-bg, #fff);
  color: var(--cov-consent-text, #1a1a1a);
  border: 1px solid var(--cov-consent-border, rgba(0, 0, 0, 0.12));
  border-radius: var(--cov-consent-radius, 12px);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.18);
  padding: 1.25rem;
}

.cov-consent__title {
  margin: 0 0 0.25rem;
  font-weight: 700;
}

.cov-consent__text {
  margin: 0 0 1rem;
  font-size: 0.9rem;
  line-height: 1.5;
}

.cov-consent__text a {
  color: var(--cov-consent-accent, currentColor);
}

.cov-consent__details {
  display: grid;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.cov-consent__row {
  display: flex;
  gap: 0.6rem;
  align-items: flex-start;
  font-size: 0.85rem;
  cursor: pointer;
}

.cov-consent__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* « Tout refuser » et « Tout accepter » : même style = même poids visuel (exigence CNIL). */
.cov-consent__btn {
  flex: 1 1 auto;
  padding: 0.6rem 1rem;
  font: inherit;
  font-size: 0.9rem;
  cursor: pointer;
  border-radius: var(--cov-consent-radius, 12px);
  border: 1px solid var(--cov-consent-accent, #1a1a1a);
  background: var(--cov-consent-accent, #1a1a1a);
  color: var(--cov-consent-accent-contrast, #fff);
}

.cov-consent__btn--ghost {
  background: transparent;
  color: var(--cov-consent-text, #1a1a1a);
  border-color: var(--cov-consent-border, rgba(0, 0, 0, 0.25));
}

.cov-consent__btn:focus-visible {
  outline: 2px solid var(--cov-consent-accent, #1a1a1a);
  outline-offset: 2px;
}

@media (max-width: 480px) {
  .cov-consent__actions { flex-direction: column; }
}
