/* Modal Add-to-Cart — WPZ
   Scope: #wpz-atc-modal
*/
.wpz-atc-modal{ position:fixed; inset:0; z-index:999999; display:none; }
.wpz-atc-modal.is-open{ display:block; }

.wpz-atc-modal__overlay{
  position:absolute; inset:0;
  background: rgba(0,0,0,.45);
}

.wpz-atc-modal__panel{
  position:absolute;
  left:50%; top:50%;
  transform: translate(-50%,-50%);
  width:min(520px, calc(100vw - 28px));
  background: var(--surface, #fff);
  color: var(--text, #0f172a);
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 18px;
  box-shadow: 0 20px 60px rgba(0,0,0,.25);
  padding: 18px 18px 16px;
}

.wpz-atc-modal__close{
  position:absolute; right:10px; top:10px;
  width:36px; height:36px;
  border-radius: 12px;
  border: 1px solid rgba(15,23,42,.10);
  background: transparent;
  font-size: 22px;
  cursor:pointer;
}

.wpz-atc-modal__icon{
  width:44px; height:44px;
  border-radius: 999px;
  display:grid; place-items:center;
  background: rgba(23,160,81,.12);
  color: var(--brand, #17A051);
  font-weight: 800;
  margin-bottom: 10px;
}

.wpz-atc-modal__title{
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.25;
}

.wpz-atc-modal__sub{
  margin-top: 4px;
  color: rgba(15,23,42,.70);
  font-size: .95rem;
}

.wpz-atc-modal__actions{
  display:flex;
  gap:10px;
  margin-top: 14px;
}

.wpz-atc-modal__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding: 12px 14px;
  border-radius: 14px;
  text-decoration:none;
  font-weight: 700;
  flex:1;
  border: 1px solid rgba(15,23,42,.12);
}

.wpz-atc-modal__btn--primary{
  background: var(--brand, #17A051);
  color: #fff;
  border-color: transparent;
}

.wpz-atc-modal__btn--ghost{
  background: transparent;
  color: var(--text, #0f172a);
}

body.wpz-atc-modal-open{ overflow:hidden; }



.wpz-atc-modal__btn--ghost:hover{
  background: rgba(15,23,42,.05);
}
.wpz-atc-modal__headline{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:700;
  margin-bottom:8px;
  font-size: 1rem;
}

.wpz-atc-modal__icon{
  width:28px;
  height:28px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(23,160,81,.12);
  color: #17A051; /* ton vert */
  font-weight:800;
  font-size:16px;
}

.wpz-atc-modal__headline-text{
  color: var(--text, #0f172a);
}

.wpz-atc-modal__title{
  font-size: 1.05rem;
  font-weight:800;
  line-height:1.3;
  margin-top:4px;
}


/* ===== Base état ===== */
.wpz-atc-modal{
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: none;
}
.wpz-atc-modal.is-open{ display:block; }

/* Overlay fade */
.wpz-atc-modal__overlay{
  position:absolute; inset:0;
  background: rgba(15, 23, 42, .52);
  opacity: 0;
  transition: opacity .22s ease;
}
.wpz-atc-modal.is-open .wpz-atc-modal__overlay{ opacity: 1; }

/* Panel pop-in */
.wpz-atc-modal__panel{
  position:absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-46%) scale(.98);
  opacity: 0;
  transition: opacity .22s ease, transform .22s cubic-bezier(.2,.9,.2,1);
  will-change: transform, opacity;
}
.wpz-atc-modal.is-open .wpz-atc-modal__panel{
  opacity: 1;
  transform: translate(-50%,-50%) scale(1);
}

/* ===== Headline animation ===== */
@keyframes wpzPop{
  0%   { transform: translateY(6px); opacity: 0; }
  70%  { transform: translateY(0);   opacity: 1; }
  100% { transform: translateY(0);   opacity: 1; }
}

@keyframes wpzCheckPop{
  0%   { transform: scale(.75) rotate(-10deg); opacity: 0; }
  65%  { transform: scale(1.08) rotate(0deg);  opacity: 1; }
  100% { transform: scale(1) rotate(0deg);     opacity: 1; }
}

.wpz-atc-modal.is-open .wpz-atc-modal__headline{
  animation: wpzPop .28s ease both;
}

.wpz-atc-modal.is-open .wpz-atc-modal__icon{
  animation: wpzCheckPop .34s cubic-bezier(.2,1.1,.2,1) both;
}

/* Accessibilité: réduit les animations si demandé */
@media (prefers-reduced-motion: reduce){
  .wpz-atc-modal__overlay,
  .wpz-atc-modal__panel{
    transition: none !important;
  }
  .wpz-atc-modal__headline,
  .wpz-atc-modal__icon{
    animation: none !important;
  }
}
