/* Popups DDR — front (premium, autonome). Palette DDR : rouge #e31f24, noir #0b0b0d, or #c9a24a. */

.ddr-popup-overlay{
  position:fixed; inset:0; z-index:99999;
  display:flex; align-items:center; justify-content:center;
  padding:24px;
  background:rgba(11,11,13,.55);
  -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px);
  opacity:0; animation:ddrPopupFade .28s ease forwards;
}
.ddr-popup-modal{
  position:relative; width:100%; max-width:620px;
  background:#fff; color:#1d1d1f;
  border-radius:18px; overflow:hidden;
  box-shadow:0 24px 60px rgba(11,11,13,.34), 0 2px 8px rgba(11,11,13,.18);
  border-top:5px solid #e31f24;
  padding:38px 40px 34px;
  transform:translateY(14px) scale(.98);
  animation:ddrPopupIn .32s cubic-bezier(.2,.7,.2,1) forwards;
  font-family:inherit;
}
.ddr-popup-media-img{ margin:-38px -40px 22px; }
.ddr-popup-media-img img{ display:block; width:100%; height:auto; max-height:240px; object-fit:cover; }

.ddr-popup-close{
  position:absolute; top:14px; right:14px;
  width:38px; height:38px; border-radius:50%;
  border:0; cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center;
  font-size:22px; line-height:1; color:#fff;
  background:rgba(11,11,13,.42);
  transition:background .18s ease, transform .18s ease;
}
.ddr-popup-close:hover{ background:#e31f24; transform:scale(1.06); }
.ddr-popup-close:focus-visible{ outline:3px solid #c9a24a; outline-offset:2px; }

.ddr-popup-eyebrow{
  display:block; font-size:12px; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:#c9a24a; margin:0 0 8px;
}
.ddr-popup-title{
  margin:0 0 12px; font-size:clamp(22px,2.4vw,28px); line-height:1.15;
  font-weight:800; color:#0b0b0d;
}
.ddr-popup-content{ margin:0 0 22px; font-size:16px; line-height:1.6; color:#3a3a3c; }
.ddr-popup-content p{ margin:0 0 10px; }
.ddr-popup-content a{ color:#e31f24; }

.ddr-popup-cta{
  display:inline-block; background:#e31f24; color:#fff !important;
  font-weight:700; font-size:15px; letter-spacing:.01em;
  padding:14px 28px; border-radius:10px; text-decoration:none;
  box-shadow:0 8px 20px rgba(227,31,36,.28);
  transition:background .18s ease, transform .18s ease, box-shadow .18s ease;
}
.ddr-popup-cta:hover{ background:#b9151a; transform:translateY(-1px); box-shadow:0 12px 26px rgba(227,31,36,.34); }
.ddr-popup-cta:focus-visible{ outline:3px solid #c9a24a; outline-offset:3px; }

.ddr-popup-note{ margin:16px 0 0; font-size:12.5px; color:#8a8a8e; }

/* --- Thèmes (accent supérieur + eyebrow) --- */
.ddr-popup-theme-classique{ border-top-color:#e31f24; }
.ddr-popup-theme-noel{ border-top-color:#b9151a; }
.ddr-popup-theme-noel .ddr-popup-eyebrow::before{ content:"❄ "; }
.ddr-popup-theme-cadeau{ border-top-color:#c9a24a; }
.ddr-popup-theme-cadeau .ddr-popup-eyebrow::before{ content:"🎁 "; }
.ddr-popup-theme-reveillon{ border-top-color:#c9a24a; background:linear-gradient(180deg,#fffaf0 0%,#ffffff 38%); }
.ddr-popup-theme-reveillon .ddr-popup-eyebrow::before{ content:"✨ "; }
.ddr-popup-theme-pass{ border-top-color:#0b0b0d; }
.ddr-popup-theme-pass .ddr-popup-eyebrow::before{ content:"🎟 "; }
.ddr-popup-theme-jeune-public{ border-top-color:#e8a33d; }
.ddr-popup-theme-jeune-public .ddr-popup-eyebrow::before{ content:"🧸 "; }

@keyframes ddrPopupFade{ to{ opacity:1; } }
@keyframes ddrPopupIn{ to{ transform:translateY(0) scale(1); } }

@media (max-width:1023px){ .ddr-popup-overlay{ display:none !important; } } /* sécurité : jamais sur petit écran */

@media (prefers-reduced-motion: reduce){
  .ddr-popup-overlay,.ddr-popup-modal{ animation:none !important; opacity:1 !important; transform:none !important; }
  .ddr-popup-close,.ddr-popup-cta{ transition:none !important; }
}

/* Aperçu admin : la scène contient la modale (pas de fixed plein écran). */
.ddr-popup-preview-stage{ position:relative; min-height:520px; margin-top:16px; border:1px solid #e2e2e6; border-radius:12px; background:#f3f3f5 repeating-linear-gradient(45deg,#eee 0 10px,#f6f6f6 10px 20px); overflow:hidden; }
.ddr-popup-preview-stage .ddr-popup-overlay{ position:absolute; animation:none; opacity:1; }
.ddr-popup-preview-stage .ddr-popup-modal{ animation:none; transform:none; }
.ddr-popup-overlay.is-preview{ display:flex !important; }
