.newsletter-popup{position:fixed;right:18px;bottom:18px;z-index:80;width:min(420px,calc(100vw - 36px));opacity:0;transform:translateY(18px);transition:opacity .22s ease,transform .22s ease}.newsletter-popup[hidden]{display:none!important}.newsletter-popup.is-visible{opacity:1;transform:translateY(0)}.newsletter-popup-card{position:relative;background:#fff;border:1px solid #dbe3ef;border-radius:22px;box-shadow:0 24px 70px rgba(15,23,42,.18);padding:20px;display:grid;gap:12px}.newsletter-popup-close{position:absolute;top:10px;right:10px;border:1px solid #94a3b8;background:#e2e8f0;color:#0f172a;border-radius:999px;width:34px;height:34px;cursor:pointer;font-size:24px;font-weight:950;line-height:1;display:grid;place-items:center;padding:0;box-shadow:none}.newsletter-popup-close:hover,.newsletter-popup-close:focus-visible{background:#0f172a;color:#fff;border-color:#0f172a;outline:3px solid rgba(79,70,229,.24);outline-offset:2px;transform:none}.newsletter-popup h2{font-size:1.18rem;margin:0;padding-right:34px}.newsletter-popup p{margin:0;color:#64748b;line-height:1.45}.newsletter-popup-discount{display:inline-flex;align-items:center;width:max-content;max-width:calc(100% - 44px);border-radius:999px;background:#ecfdf5;color:#047857;font-weight:900;padding:6px 10px;line-height:1.2;overflow-wrap:anywhere}.newsletter-popup-discount[hidden]{display:none!important}.newsletter-popup-form{display:grid;gap:10px}.newsletter-popup-form input[type=email]{border:1px solid #dbe3ef;border-radius:12px;padding:12px;font:inherit}.newsletter-popup-consent{display:flex;gap:9px;align-items:flex-start;font-size:.88rem;color:#475569}.newsletter-popup-consent input{margin-top:3px;flex:0 0 auto}.newsletter-popup-form button{border:0;border-radius:12px;background:#3157f6;color:#fff;font-weight:900;padding:12px 14px;cursor:pointer}.newsletter-popup-form button:disabled{opacity:.55}.newsletter-popup-message{font-size:.88rem;color:#334155;min-height:1.2em}.newsletter-popup-message.is-error{color:#b91c1c;font-weight:800}.newsletter-popup-message.is-success{color:#047857;font-weight:800}@media(max-width:640px){.newsletter-popup{right:12px;left:12px;bottom:12px;width:auto}.newsletter-popup-card{padding:18px}}


/* v18: scoped newsletter popup UI normalization.
   Keep it independent from global form/control CSS so checkboxes, close button
   and spacing stay consistent on homepage, auth and mobile browsers. */
#newsletterPopup.newsletter-popup{
  position:fixed!important;
  right:clamp(14px,2vw,26px)!important;
  bottom:clamp(14px,2vw,26px)!important;
  z-index:2147483000!important;
  width:min(430px,calc(100vw - 28px))!important;
  max-width:430px!important;
  font-size:16px!important;
}
#newsletterPopup .newsletter-popup-card{
  position:relative!important;
  display:grid!important;
  gap:18px!important;
  padding:24px!important;
  border-radius:24px!important;
  background:#fff!important;
  border:1px solid #dbe3ef!important;
  box-shadow:0 26px 80px rgba(15,23,42,.18)!important;
}
#newsletterPopup .newsletter-popup-close{
  position:absolute!important;
  top:14px!important;
  right:14px!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  border-radius:999px!important;
  border:1px solid #cbd5e1!important;
  background:#0f172a!important;
  color:#fff!important;
  font-size:28px!important;
  font-weight:950!important;
  line-height:1!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  box-shadow:0 12px 26px rgba(15,23,42,.16)!important;
  opacity:1!important;
}
#newsletterPopup .newsletter-popup-close:hover,
#newsletterPopup .newsletter-popup-close:focus-visible{
  background:#3157f6!important;
  color:#fff!important;
  border-color:#3157f6!important;
  outline:3px solid rgba(49,87,246,.24)!important;
  outline-offset:3px!important;
}
#newsletterPopup .newsletter-popup-discount:empty,
#newsletterPopup .newsletter-popup-discount[hidden]{
  display:none!important;
}
#newsletterPopup .newsletter-popup-discount{
  max-width:calc(100% - 58px)!important;
  min-height:0!important;
  padding:6px 12px!important;
  border-radius:999px!important;
}
#newsletterPopup h2{
  margin:0!important;
  padding-right:56px!important;
  font-size:1.35rem!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
  color:#0f172a!important;
}
#newsletterPopup p{
  margin:0!important;
  color:#64748b!important;
  line-height:1.45!important;
  font-size:1rem!important;
}
#newsletterPopup .newsletter-popup-form{
  display:grid!important;
  gap:16px!important;
  margin-top:4px!important;
}
#newsletterPopup .newsletter-popup-form input[type=email]{
  width:100%!important;
  min-height:54px!important;
  border:1px solid #cbd5e1!important;
  border-radius:18px!important;
  padding:14px 16px!important;
  font:inherit!important;
  font-size:1rem!important;
  background:#fff!important;
  color:#0f172a!important;
  box-sizing:border-box!important;
}
#newsletterPopup .newsletter-popup-form input[type=email]:focus{
  border-color:#3157f6!important;
  box-shadow:0 0 0 4px rgba(49,87,246,.16)!important;
  outline:none!important;
}
#newsletterPopup .newsletter-popup-consent{
  display:grid!important;
  grid-template-columns:24px minmax(0,1fr)!important;
  align-items:start!important;
  gap:12px!important;
  margin-top:4px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#334155!important;
  font-size:.94rem!important;
  line-height:1.42!important;
  font-weight:800!important;
}
#newsletterPopup .newsletter-popup-consent input[type=checkbox]{
  -webkit-appearance:none!important;
  appearance:none!important;
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  min-height:24px!important;
  max-width:24px!important;
  max-height:24px!important;
  padding:0!important;
  margin:1px 0 0!important;
  border:2px solid #94a3b8!important;
  border-radius:8px!important;
  background:#fff!important;
  background-image:none!important;
  box-shadow:none!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 24px!important;
  cursor:pointer!important;
}
#newsletterPopup .newsletter-popup-consent input[type=checkbox]::before{
  content:''!important;
  width:7px!important;
  height:12px!important;
  border:solid #fff!important;
  border-width:0 3px 3px 0!important;
  transform:rotate(45deg) scale(0)!important;
  transform-origin:center!important;
}
#newsletterPopup .newsletter-popup-consent input[type=checkbox]::after{content:none!important;display:none!important;}
#newsletterPopup .newsletter-popup-consent input[type=checkbox]:checked{
  background:#3157f6!important;
  border-color:#3157f6!important;
}
#newsletterPopup .newsletter-popup-consent input[type=checkbox]:checked::before{transform:rotate(45deg) scale(1)!important;}
#newsletterPopup .newsletter-popup-consent input[type=checkbox]:focus-visible{
  outline:3px solid rgba(49,87,246,.22)!important;
  outline-offset:3px!important;
}
#newsletterPopup .newsletter-popup-form button[type=submit]{
  width:100%!important;
  min-height:56px!important;
  border:0!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,#4f46e5,#2563eb)!important;
  color:#fff!important;
  font-size:1rem!important;
  font-weight:950!important;
  padding:15px 18px!important;
  margin-top:2px!important;
  cursor:pointer!important;
  box-shadow:0 16px 34px rgba(49,87,246,.22)!important;
}
#newsletterPopup .newsletter-popup-message{
  min-height:1.35em!important;
  font-size:.92rem!important;
  line-height:1.35!important;
}
@media(max-width:640px){
  #newsletterPopup.newsletter-popup{left:12px!important;right:12px!important;bottom:12px!important;width:auto!important;max-width:none!important;}
  #newsletterPopup .newsletter-popup-card{padding:20px!important;border-radius:22px!important;gap:16px!important;}
}


/* v19: final popup spacing + checkbox guard. */
#newsletterPopup .newsletter-popup-card{
  gap:20px!important;
  padding:26px!important;
}
#newsletterPopup .newsletter-popup-discount:empty,
#newsletterPopup .newsletter-popup-discount[hidden],
#newsletterPopup .newsletter-popup-discount:not(:has(*)):empty{
  display:none!important;
  width:0!important;
  height:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  overflow:hidden!important;
}
#newsletterPopup .newsletter-popup-close{
  background:#0f172a!important;
  color:#ffffff!important;
  border:2px solid #ffffff!important;
  box-shadow:0 14px 30px rgba(15,23,42,.22)!important;
  text-shadow:none!important;
}
#newsletterPopup .newsletter-popup-form{
  display:grid!important;
  gap:18px!important;
  margin-top:8px!important;
}
#newsletterPopup .newsletter-popup-form input[type=email]{
  margin-bottom:4px!important;
}
#newsletterPopup .newsletter-popup-consent{
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-start!important;
  gap:14px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:10px 0 2px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#334155!important;
  font-size:.96rem!important;
  line-height:1.45!important;
  font-weight:850!important;
}
#newsletterPopup .newsletter-popup-consent input[type=checkbox]{
  -webkit-appearance:none!important;
  appearance:none!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 24px!important;
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  min-height:24px!important;
  max-width:24px!important;
  max-height:24px!important;
  padding:0!important;
  margin:2px 0 0!important;
  border:2px solid #94a3b8!important;
  border-radius:8px!important;
  background:#fff!important;
  background-image:none!important;
  box-shadow:none!important;
}
#newsletterPopup .newsletter-popup-consent > span{
  display:block!important;
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  hyphens:auto!important;
}
#newsletterPopup .newsletter-popup-form button[type=submit]{
  margin-top:8px!important;
}
