/* =====================================================================
   BANDEAU INFORMATIF — Confidentialité & cookies (1er passage)
   ---------------------------------------------------------------------
   Purement INFORMATIF (pas un mur de consentement) : Dovion ne pose
   aucun cookie publicitaire ni traceur analytique. Seuls un stockage
   local fonctionnel (progression, préférences) et un cookie de session
   d'authentification (uniquement si connexion Google) sont utilisés —
   usages exemptés de consentement (RGPD/ePrivacy, CNIL).
   Affiché/masqué par js/privacy-notice.js. Séparation stricte : aucun
   style ni handler inline (CSP). Charte « haute mer » de l'accueil.
   ===================================================================== */
#privacy-notice {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  /* AU-DESSUS du menu (30) et de ses modales (44), mais SOUS l'invite paysage (200)
     et la porte d'installation (300) : sur mobile hors-PWA, la porte le recouvre. */
  z-index: 48;
  padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
  background: linear-gradient(180deg, rgba(14, 34, 48, 0.97), rgba(9, 22, 33, 0.98));
  border-top: 1px solid rgba(90, 169, 230, 0.35);
  box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(4px);
  animation: pnSlideUp 0.35s ease both;
}
#privacy-notice.hidden { display: none !important; }

@keyframes pnSlideUp {
  from { transform: translateY(100%); opacity: 0; }
  to   { transform: translateY(0);    opacity: 1; }
}
@media (prefers-reduced-motion: reduce) { #privacy-notice { animation: none; } }

.pn-inner {
  display: flex; align-items: center; gap: 14px;
  max-width: 980px; margin: 0 auto;
}
.pn-ic { flex: 0 0 auto; display: inline-flex; color: #f0d97a; }
.pn-text {
  flex: 1 1 auto; margin: 0;
  font-size: 13px; line-height: 1.45; color: #cfdde7;
}
.pn-text b { color: #eaf4fb; font-weight: 700; }

.pn-actions { flex: 0 0 auto; display: flex; gap: 8px; }
.pn-btn {
  padding: 8px 16px; font-size: 13px; font-weight: 600;
  border-radius: 8px; cursor: pointer; white-space: nowrap;
  transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}
.pn-btn--ghost { color: #cfdde7; background: transparent; border: 1px solid #46607a; }
.pn-btn--ghost:hover { border-color: #5aa9e6; color: #eaf4fb; }
.pn-btn--primary { color: #10202c; background: #f0d97a; border: 1px solid #f0d97a; }
.pn-btn--primary:hover { background: #f6e39a; transform: translateY(-1px); box-shadow: 0 6px 14px rgba(240, 217, 122, 0.28); }
.pn-btn:active { transform: translateY(0); box-shadow: none; }

/* Étroit (mobile) : texte pleine largeur, actions alignées à droite dessous. */
@media (max-width: 620px) {
  .pn-inner { flex-wrap: wrap; gap: 10px; }
  .pn-ic { display: none; }
  .pn-text { flex: 1 1 100%; font-size: 12.5px; }
  .pn-actions { flex: 1 1 100%; justify-content: flex-end; }
}
