/*
 * Bandeau d'information sur les cookies (tpl/partials/cookie_notice.html.twig, assets/js/cookie-notice.js).
 * Thème du portail (bleu nuit et or) ; couleurs propres au composant : utilisable sur les pages publiques
 * (public.css) comme dans l'espace de jeu (splash.css).
 */
.gd-cookie-notice {
  --cn-bg: #172640;
  --cn-line: #2b3f5e;
  --cn-ink: #e8eef7;
  --cn-muted: #94a6bf;
  --cn-gold: #e3b54d;
  --cn-gold-hover: #f0c96b;
  --cn-gold-ink: #1c2333;

  position: fixed;
  left: 50%;
  bottom: 20px;
  /* au-dessus du contenu, sous les modales (pages publiques : .modal-veil 100 ; Bootstrap : 1050 et plus) */
  z-index: 90;
  display: flex;
  align-items: center;
  gap: 16px;
  width: min(760px, calc(100% - 32px));
  padding: 16px 18px;
  transform: translateX(-50%);
  background: var(--cn-bg);
  color: var(--cn-ink);
  border: 1px solid var(--cn-line);
  border-left: 3px solid var(--cn-gold);
  border-radius: 0.75rem;
  box-shadow: 0 18px 40px -12px rgba(0, 0, 0, 0.6);
  font: 13.5px/1.5 "Segoe UI", system-ui, sans-serif;
  animation: gd-cookie-in 0.35s ease-out;
}

.gd-cookie-notice[hidden] {
  display: none;
}

.gd-cookie-notice.is-leaving {
  animation: gd-cookie-out 0.25s ease-in forwards;
}

.gd-cookie-notice__icon {
  flex: none;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  color: var(--cn-gold);
  background: rgba(227, 181, 77, 0.12);
}

.gd-cookie-notice__text {
  flex: 1;
  min-width: 0;
}

.gd-cookie-notice__text p {
  margin: 0;
  color: var(--cn-muted);
}

.gd-cookie-notice .gd-cookie-notice__title {
  margin-bottom: 2px;
  color: var(--cn-ink);
  font-weight: 600;
  font-size: 14px;
}

.gd-cookie-notice a {
  color: var(--cn-gold);
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}

.gd-cookie-notice a:hover,
.gd-cookie-notice a:focus-visible {
  color: var(--cn-gold-hover);
  text-decoration: underline;
}

.gd-cookie-notice__close {
  flex: none;
  padding: 9px 18px;
  border: 0;
  border-radius: 0.5rem;
  background: var(--cn-gold);
  color: var(--cn-gold-ink);
  font: inherit;
  font-weight: 700;
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: background-color 0.15s ease;
}

.gd-cookie-notice__close:hover {
  background: var(--cn-gold-hover);
}

.gd-cookie-notice__close:focus-visible,
.gd-cookie-notice a:focus-visible {
  outline: 2px solid var(--cn-gold-hover);
  outline-offset: 2px;
}

@keyframes gd-cookie-in {
  from { opacity: 0; transform: translate(-50%, 16px); }
  to { opacity: 1; transform: translate(-50%, 0); }
}

@keyframes gd-cookie-out {
  to { opacity: 0; transform: translate(-50%, 16px); }
}

@media (prefers-reduced-motion: reduce) {
  .gd-cookie-notice,
  .gd-cookie-notice.is-leaving {
    animation: none;
  }
}

/* téléphone : pleine largeur en bas d'écran, bouton sous le texte */
@media (max-width: 560px) {
  .gd-cookie-notice {
    bottom: 12px;
    flex-wrap: wrap;
    gap: 12px;
    padding: 14px;
  }

  .gd-cookie-notice__icon {
    display: none;
  }

  .gd-cookie-notice__close {
    width: 100%;
  }
}
