.lsdp-newsletter-popup-overlay{
  position:fixed!important;inset:0!important;z-index:2147483647!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;
  padding:18px!important;background:rgba(20,28,44,.48)!important;
  backdrop-filter:blur(9px)!important;-webkit-backdrop-filter:blur(9px)!important;
  transition:opacity .25s ease,visibility .25s ease!important;
}
.lsdp-newsletter-popup-overlay.is-visible{opacity:1!important;visibility:visible!important;pointer-events:auto!important;}
.lsdp-newsletter-popup-backdrop{position:absolute!important;inset:0!important;z-index:0!important;}
.lsdp-newsletter-popup-card{position:relative!important;z-index:2!important;width:min(94vw,680px)!important;max-height:92vh!important;overflow:auto!important;background:#fff!important;border-radius:28px!important;padding:28px!important;box-shadow:0 30px 120px rgba(0,0,0,.38),0 10px 40px rgba(0,0,0,.18)!important;border:1px solid rgba(255,255,255,.75)!important;}

/* LSDP - bouton fermeture propre, isolé du thème */
.lsdp-newsletter-popup-close{
  position:absolute!important;
  right:16px!important;
  top:16px!important;
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  min-height:48px!important;
  max-width:48px!important;
  max-height:48px!important;
  padding:0!important;
  margin:0!important;
  border:3px solid #fff!important;
  border-radius:999px!important;
  background:#141c2c!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  cursor:pointer!important;
  z-index:2147483647!important;
  overflow:hidden!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  box-shadow:0 12px 30px rgba(20,28,44,.28)!important;
  transition:transform .18s ease,background .18s ease,box-shadow .18s ease!important;
}
.lsdp-newsletter-popup-close-x{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:100%!important;
  color:#fff!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:34px!important;
  font-weight:900!important;
  line-height:1!important;
  text-align:center!important;
  transform:translateY(-2px)!important;
  pointer-events:none!important;
}
.lsdp-newsletter-popup-close::before,
.lsdp-newsletter-popup-close::after{
  content:none!important;
  display:none!important;
}
.lsdp-newsletter-popup-close:hover,
.lsdp-newsletter-popup-close:focus{
  background:#ed6074!important;
  transform:scale(1.08)!important;
  box-shadow:0 16px 38px rgba(237,96,116,.35)!important;
  outline:none!important;
}
.lsdp-newsletter-popup-close:focus-visible{
  outline:3px solid rgba(237,96,116,.35)!important;
  outline-offset:3px!important;
}
@media(max-width:600px){
  .lsdp-newsletter-popup-close{
    top:12px!important;
    right:12px!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    max-width:44px!important;
    max-height:44px!important;
  }
  .lsdp-newsletter-popup-close-x{
    font-size:31px!important;
    transform:translateY(-2px)!important;
  }
}
.lsdp-newsletter-popup-header{text-align:center!important;margin-bottom:18px!important;}
.lsdp-newsletter-popup-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;background:#f9f1eb!important;color:#b76c56!important;border-radius:999px!important;padding:8px 14px!important;font-weight:800!important;font-size:14px!important;margin-bottom:12px!important;}
.lsdp-newsletter-popup-title{margin:0!important;color:#141c2c!important;font-size:clamp(25px,4vw,38px)!important;line-height:1.05!important;font-weight:950!important;}
.lsdp-newsletter-popup-subtitle{margin:12px auto 0!important;color:#4c5565!important;font-size:16px!important;line-height:1.45!important;max-width:540px!important;}
.lsdp-newsletter-popup-form{display:block!important;margin:0!important;}
.lsdp-field{margin-bottom:12px!important;text-align:left!important;}
.lsdp-field label{display:block!important;font-weight:800!important;color:#141c2c!important;margin-bottom:6px!important;font-size:14px!important;}
.lsdp-field input{width:100%!important;box-sizing:border-box!important;border:1px solid #e2d8cf!important;border-radius:14px!important;padding:14px 15px!important;font-size:16px!important;background:#fff!important;color:#141c2c!important;}
.lsdp-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;}
.lsdp-optin{display:flex!important;gap:9px!important;align-items:flex-start!important;margin:10px 0!important;color:#3C4858!important;font-size:13px!important;line-height:1.35!important;text-align:left!important;}
.lsdp-optin input{margin-top:3px!important;}
.lsdp-small{font-size:12px!important;color:#8390A4!important;margin:6px 0 14px!important;text-align:left!important;}
.lsdp-hp{display:none!important;}
.lsdp-submit{width:100%!important;border:0!important;border-radius:999px!important;padding:16px 20px!important;background:#ed6074!important;color:#fff!important;font-size:16px!important;font-weight:950!important;cursor:pointer!important;box-shadow:0 14px 30px rgba(237,96,116,.28)!important;transition:transform .18s ease,box-shadow .18s ease!important;}
.lsdp-submit:hover{transform:translateY(-1px)!important;box-shadow:0 18px 38px rgba(237,96,116,.34)!important;}
.lsdp-submit[disabled]{opacity:.65!important;cursor:wait!important;}
.lsdp-message{display:none!important;margin-top:14px!important;border-radius:16px!important;padding:14px!important;font-weight:800!important;text-align:center!important;}
.lsdp-message.is-success{display:block!important;background:#e7faf0!important;color:#085229!important;}
.lsdp-message.is-error{display:block!important;background:#ffeded!important;color:#661d1d!important;}
body.lsdp-popup-open{overflow:hidden!important;}
@media(max-width:600px){.lsdp-newsletter-popup-card{padding:22px 18px!important;border-radius:22px!important}.lsdp-grid{grid-template-columns:1fr!important;gap:0!important}.lsdp-newsletter-popup-overlay{align-items:flex-end!important;padding:10px!important}.lsdp-newsletter-popup-card{width:100%!important;max-height:88vh!important}}

/* LSDP - micro-personnalisation confirmation */
.lsdp-newsletter-popup-badge{
  gap:9px!important;padding:9px 16px!important;font-size:15px!important;
  box-shadow:0 10px 28px rgba(183,108,86,.14)!important;
}
.lsdp-badge-icon{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:34px!important;height:34px!important;border-radius:999px!important;
  background:#fff!important;font-size:23px!important;line-height:1!important;
  animation:lsdpGiftPop 1.65s ease-in-out infinite!important;
  transform-origin:50% 80%!important;
}
@keyframes lsdpGiftPop{
  0%,100%{transform:translateY(0) rotate(0deg) scale(1)}
  18%{transform:translateY(-2px) rotate(-8deg) scale(1.08)}
  36%{transform:translateY(0) rotate(7deg) scale(1.04)}
  52%{transform:translateY(-1px) rotate(-4deg) scale(1.06)}
  70%{transform:translateY(0) rotate(0deg) scale(1)}
}
.lsdp-message.is-success{
  background:linear-gradient(135deg,#e7faf0,#fff8ec)!important;
  color:#085229!important;border:2px solid rgba(19,206,102,.22)!important;
  padding:18px!important;box-shadow:0 14px 36px rgba(8,82,41,.10)!important;
}
.lsdp-success-main{display:block!important;font-size:16px!important;margin-bottom:10px!important;}
.lsdp-success-code-label{display:block!important;font-size:13px!important;color:#5e6b5f!important;margin-bottom:7px!important;text-transform:uppercase!important;letter-spacing:.08em!important;}
.lsdp-success-code{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  padding:12px 18px!important;border-radius:16px!important;background:#141c2c!important;color:#fff!important;
  font-size:24px!important;font-weight:950!important;letter-spacing:.08em!important;
  box-shadow:0 14px 28px rgba(20,28,44,.22)!important;
}

/* Version 1.2.0 - parcours de récupération et application du code */
.lsdp-newsletter-popup-condition{
  margin:12px auto 0!important;
  color:#cf4058!important;
  font-size:14px!important;
  line-height:1.4!important;
  font-weight:900!important;
}
.lsdp-message.is-loading{
  display:block!important;
  background:#f4f6f8!important;
  color:#141c2c!important;
  border:1px solid #dfe4e8!important;
}
.lsdp-newsletter-popup-form.is-complete > :not(.lsdp-message){display:none!important;}
.lsdp-newsletter-popup-form.is-complete .lsdp-message{margin-top:0!important;}
.lsdp-message.is-success{
  display:block!important;
  text-align:center!important;
  border-radius:12px!important;
  padding:24px!important;
}
.lsdp-success-kicker{
  display:block!important;
  margin-bottom:6px!important;
  color:#cf4058!important;
  font-size:12px!important;
  line-height:1.4!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
}
.lsdp-success-main{
  display:block!important;
  margin:0 auto 18px!important;
  max-width:480px!important;
  color:#203329!important;
  font-size:17px!important;
  line-height:1.45!important;
}
.lsdp-success-code-label{
  display:block!important;
  margin-bottom:7px!important;
  color:#5e6b5f!important;
  font-size:12px!important;
  line-height:1.4!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
}
.lsdp-success-code{
  display:inline-flex!important;
  min-width:190px!important;
  padding:13px 20px!important;
  border-radius:8px!important;
  font-size:26px!important;
}
.lsdp-success-condition{
  display:block!important;
  margin:10px 0 18px!important;
  color:#415448!important;
  font-size:13px!important;
  line-height:1.45!important;
  font-weight:800!important;
}
.lsdp-success-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  width:100%!important;
}
.lsdp-success-action{
  width:100%!important;
  min-height:48px!important;
  margin:0!important;
  padding:12px 14px!important;
  border:2px solid #141c2c!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#141c2c!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:14px!important;
  line-height:1.2!important;
  font-weight:900!important;
  cursor:pointer!important;
  box-shadow:none!important;
  transition:background .18s ease,color .18s ease,transform .18s ease!important;
}
.lsdp-success-action.is-primary{
  border-color:#ed6074!important;
  background:#ed6074!important;
  color:#fff!important;
}
.lsdp-success-action:hover,
.lsdp-success-action:focus-visible{
  transform:translateY(-1px)!important;
  outline:3px solid rgba(237,96,116,.25)!important;
  outline-offset:2px!important;
}
.lsdp-success-action.is-done{
  border-color:#17844c!important;
  background:#17844c!important;
  color:#fff!important;
}
.lsdp-success-action[disabled]{opacity:.7!important;cursor:wait!important;transform:none!important;}
.lsdp-success-feedback{
  display:block!important;
  min-height:20px!important;
  margin-top:12px!important;
  color:#17683d!important;
  font-size:13px!important;
  line-height:1.45!important;
  font-weight:800!important;
}
.lsdp-success-feedback.is-error{color:#8a2530!important;}
@media(max-width:600px){
  .lsdp-message.is-success{padding:20px 16px!important;}
  .lsdp-success-actions{grid-template-columns:1fr!important;}
  .lsdp-success-code{min-width:170px!important;font-size:23px!important;}
}
