html.pj-discount-open { overflow: hidden; }
.pj-discount-dialog { box-sizing: border-box; width: min(560px, calc(100% - 32px)); max-height: calc(100dvh - 32px); margin: auto; padding: 40px; overflow-y: auto; border: 1px solid #e5d9cc; border-radius: 24px; background: #fbf8f4; color: #302541; font-family: var(--font-sans, sans-serif); box-shadow: 0 24px 80px #25103740; }
.pj-discount-dialog::backdrop { background: #25103799; backdrop-filter: blur(4px); }
.pj-discount-dialog__close { position: absolute; top: 12px; right: 12px; display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: 50%; background: transparent; color: #4f2270; font-size: 30px; cursor: pointer; }
.pj-discount-dialog__close:hover { background: #eee4f5; }
.pj-discount-dialog__badge { display: inline-block; margin: 8px 0 20px; padding: 8px 14px; border-radius: 99px; background: #f2ed79; color: #4f2270; font-size: 14px; font-weight: 700; }
.pj-discount-dialog h2 { margin: 0 0 16px; color: #4f2270; font-family: var(--font-display, sans-serif); font-size: clamp(28px, 5vw, 36px); font-weight: 700; line-height: 1.12; }
.pj-discount-dialog p { line-height: 1.55; }
#pj-discount-description { margin: 0 0 24px; }
.pj-discount-dialog__form label { display: block; margin-bottom: 8px; font-weight: 600; }
.pj-discount-dialog__form input[type=email] { box-sizing: border-box; width: 100%; min-height: 52px; padding: 12px 16px; border: 1px solid #cbbbae; border-radius: 12px; background: #fff; color: #302541; font: inherit; font-size: 16px; }
.pj-discount-dialog__form input[aria-invalid=true] { border-color: #a0213f; }
.pj-discount-dialog :focus-visible { outline: 3px solid #a86ad4; outline-offset: 3px; }
.pj-discount-dialog .pj-button { width: 100%; margin-top: 16px; white-space: normal; }
.pj-discount-dialog__form .pj-button:disabled { opacity: .65; cursor: wait; }
.pj-discount-dialog__privacy { margin: 14px 0 0; color: #675c6e; font-size: 13px; }
.pj-discount-dialog__privacy a { color: #4f2270; text-decoration: underline; }
.pj-discount-dialog__status { margin: 16px 0 0; }
.pj-discount-dialog__status:empty { display: none; }
.pj-discount-dialog__status.is-error { color: #a0213f; }
.pj-discount-dialog__trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.pj-discount-dialog [hidden] { display: none !important; }
@media (max-width: 480px) { .pj-discount-dialog { padding: 28px 24px; border-radius: 20px; } }
