/* Popup RGPD granulaire premium */
.rgpd-backdrop {
  position: fixed; inset: 0; background: rgba(23,23,23,0.92); z-index: 9999;
  display: flex; align-items: center; justify-content: center;
  animation: fadeIn 0.5s;
}
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
.rgpd-popup {
  background: linear-gradient(135deg, #262626 80%, #9E7FFF 100%);
  border-radius: 24px; box-shadow: 0 8px 32px #000a;
  max-width: 440px; width: 95vw; padding: 2.5rem 2rem 2rem 2rem;
  color: #fff; font-family: 'Inter', sans-serif; position: relative;
  border: 2px solid #9E7FFF;
  animation: popupAppear 0.7s cubic-bezier(.7,1.5,.5,1);
}
@keyframes popupAppear { 0% { transform: scale(0.8) translateY(40px); opacity:0; } 100% { transform: scale(1) translateY(0); opacity:1; } }
.rgpd-popup h2 {
  font-size: 2rem; font-weight: 800; margin-bottom: 0.5rem;
  background: linear-gradient(90deg,#9E7FFF,#38bdf8 60%,#f472b6 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
}
.rgpd-popup p { font-size: 1.1rem; margin-bottom: 1.2rem; color: #A3A3A3; }
.rgpd-popup .rgpd-form { margin-bottom: 1.2rem; }
.rgpd-switch {
  display: flex; align-items: center; gap: 0.7em; margin-bottom: 0.5em;
  font-size: 1.05em; font-weight: 500;
}
.rgpd-switch input[type=checkbox] {
  accent-color: #9E7FFF; width: 1.2em; height: 1.2em;
}
.rgpd-popup .rgpd-actions {
  display: flex; gap: 1rem; margin-top: 1.2rem; flex-wrap: wrap;
}
.rgpd-popup button {
  flex: 1 1 120px; padding: 0.8rem 1.2rem; font-size: 1.1rem; font-weight: 700;
  border: none; border-radius: 16px; cursor: pointer; transition: background 0.2s, box-shadow 0.2s;
  box-shadow: 0 2px 8px #0003;
}
.rgpd-popup .accept { background: #10b981; color: #fff; }
.rgpd-popup .accept:hover { background: #38bdf8; box-shadow: 0 0 0 3px #38bdf8aa; }
.rgpd-popup .refuse { background: #ef4444; color: #fff; }
.rgpd-popup .refuse:hover { background: #f472b6; box-shadow: 0 0 0 3px #f472b6aa; }
.rgpd-popup .customize { background: #262626; color: #9E7FFF; border: 1px solid #9E7FFF; }
.rgpd-popup .customize:hover { background: #171717; color: #fff; }
.rgpd-popup .rgpd-links { margin-top: 1.2rem; font-size: 0.95rem; }
.rgpd-popup .rgpd-links a { color: #38bdf8; text-decoration: underline; }
.rgpd-popup .rgpd-logo { font-size: 2.5rem; margin-bottom: 0.5rem; text-align: center; }
@media (max-width: 600px) {
  .rgpd-popup { padding: 1.2rem 0.5rem; }
  .rgpd-popup h2 { font-size: 1.3rem; }
}
