/* modal, base réutilisable (rappel-offre, eligibilite, exit-intent) */

.pd-modal {
  position: fixed;
  inset: 0;
  z-index: var(--pd-z-modal);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  animation: pd-modal-in var(--pd-dur) var(--pd-ease);
}
@media (min-width: 640px) {
  .pd-modal { align-items: center; }
}
.pd-modal[hidden] { display: none; }

@keyframes pd-modal-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

.pd-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.6);
  backdrop-filter: blur(4px);
  cursor: pointer;
}

.pd-modal__panel {
  position: relative;
  background: var(--pd-white);
  border-radius: var(--pd-radius-lg) var(--pd-radius-lg) 0 0;
  padding: var(--pd-space-6);
  width: 100%;
  max-width: 520px;
  max-height: 92vh;
  overflow-y: auto;
  box-shadow: var(--pd-shadow-lg);
  transform: translateY(0);
  animation: pd-modal-slide var(--pd-dur) var(--pd-ease);
}
@media (min-width: 640px) {
  .pd-modal__panel {
    border-radius: var(--pd-radius-lg);
    margin: var(--pd-space-5);
  }
}
@keyframes pd-modal-slide {
  from { transform: translateY(20px); }
  to   { transform: translateY(0); }
}

.pd-modal__close {
  position: absolute;
  top: 12px; right: 12px;
  width: 36px; height: 36px;
  border-radius: 50%;
  font-size: 24px;
  line-height: 1;
  background: var(--pd-neutral-100);
  color: var(--pd-neutral-700);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pd-modal__close:hover { background: var(--pd-neutral-200); }

.pd-modal h2 {
  font-size: var(--pd-fs-lg);
  margin: 0 0 var(--pd-space-2);
  padding-right: 32px;
}
.pd-modal__lede {
  color: var(--pd-neutral-600);
  margin: 0 0 var(--pd-space-4);
  font-size: var(--pd-fs-sm);
}
.pd-modal__hours {
  font-size: var(--pd-fs-xs);
  color: var(--pd-neutral-500);
  text-align: center;
  margin: var(--pd-space-3) 0 0;
}

.pd-modal__offre-recap {
  background: var(--pd-neutral-50);
  border-radius: var(--pd-radius);
  padding: var(--pd-space-3);
  margin-bottom: var(--pd-space-4);
  display: flex;
  align-items: center;
  gap: var(--pd-space-3);
}
.pd-modal__offre-recap img { width: 40px; height: 40px; border-radius: var(--pd-radius-sm); }
.pd-modal__offre-recap__name { font-weight: var(--pd-fw-bold); font-size: var(--pd-fs-base); }
.pd-modal__offre-recap__op { font-size: var(--pd-fs-xs); color: var(--pd-neutral-600); }
.pd-modal__offre-recap__price { margin-left: auto; font-weight: var(--pd-fw-extra); color: var(--pd-accent-dark); }

.pd-modal__success {
  text-align: center;
  padding: var(--pd-space-6) var(--pd-space-3);
}
.pd-modal__success svg { margin: 0 auto var(--pd-space-3); display: block; }
.pd-modal__success h3 { margin: 0 0 var(--pd-space-2); }
.pd-modal__success p { color: var(--pd-neutral-600); }

body.pd-modal-open { overflow: hidden; }
