.lc-signup-open { overflow: hidden; }
.lc-signup { box-sizing: border-box; width: min(440px, calc(100% - 32px)); max-height: calc(100dvh - 32px); padding: 0; border: 1px solid #eadfd3; border-radius: 24px; background: #fffdf9; color: #403d40; box-shadow: 0 24px 90px #273f4840; font-family: var(--body, sans-serif); overflow-y: auto; }
.lc-signup::backdrop { background: #243e4b66; backdrop-filter: blur(3px); }
.lc-signup [hidden] { display: none !important; }
.lc-signup-art { height: 62px; background: #fff8e7 url('/mugs/images/theme-storybook-stripes.png') center 40% / cover; }
.lc-signup-body { padding: 24px 28px 16px; }
.lc-signup-close { position: absolute; top: 8px; right: 8px; width: 44px; height: 44px; border: 1px solid #e7ded4; border-radius: 50%; background: #fffdf9; color: #245f78; font-size: 28px; cursor: pointer; }
.lc-signup-eyebrow { margin: 0 0 8px; color: #a44947; font-size: 12px; font-weight: 800; }
.lc-signup h2 { margin: 0; color: #245f78; font-size: 32px; line-height: 1.15; letter-spacing: -.7px; }
.lc-signup #lc-signup-description { margin: 12px 0 20px; font-size: 15px; line-height: 1.5; }
.lc-signup form > label { font-size: 13px; font-weight: 700; }
.lc-signup input[type=email] { box-sizing: border-box; width: 100%; min-height: 48px; margin: 7px 0 14px; padding: 12px; border: 1px solid #d8cec2; border-radius: 10px; font: inherit; font-size: 16px; background: white; color: #403d40; }
.lc-signup .lc-signup-consent { display: flex; align-items: flex-start; gap: 9px; font-size: 12px; line-height: 1.5; font-weight: 400; }
.lc-signup-consent input { flex: 0 0 18px; width: 18px; height: 18px; margin: 1px 0; accent-color: #b64f4d; }
.lc-signup-submit { width: 100%; min-height: 48px; margin-top: 18px; padding: 12px; background: #b64f4d; color: white; border: 0; border-radius: 12px; font: inherit; font-weight: 800; cursor: pointer; }
.lc-signup-submit:disabled { opacity: .65; cursor: wait; }
.lc-signup-terms { margin: 10px 0 0; font-size: 11px; line-height: 1.5; color: #68616a; }
.lc-signup a { color: #245f78; }
.lc-signup-status { font-size: 13px; line-height: 1.5; }
.lc-signup-status:empty { display: none; }
.lc-signup-later { display: block; min-height: 44px; margin: 8px auto 0; border: 0; background: none; color: #68616a; font: inherit; font-size: 13px; cursor: pointer; }
.lc-signup-trap { position: absolute; left: -10000px; }
.lc-signup-success { display: grid; gap: 12px; }
.lc-signup-success strong { padding: 14px 8px; border: 1px dashed #b9ced3; border-radius: 10px; background: #f2f7f7; font-size: 20px; text-align: center; user-select: all; overflow-wrap: anywhere; }
.lc-signup-success button { min-height: 44px; border: 1px solid #245f78; background: white; border-radius: 10px; color: #245f78; font: inherit; cursor: pointer; }
.lc-signup-success a { padding: 12px; text-align: center; font-weight: 800; }
.lc-signup :focus-visible { outline: 3px solid #245f78; outline-offset: 3px; }
@media (max-width: 380px) { .lc-signup-body { padding: 20px 20px 12px; } .lc-signup h2 { font-size: 28px; } }
