.shop-waitlist{position:fixed;inset:0;margin:auto;width:min(650px,calc(100vw - 26px));max-height:min(92dvh,900px);overflow:auto;border:1px solid #9d8160;padding:0;background:radial-gradient(circle at 96% 0%,#302035,transparent 43%),#141116;color:#f2e9ec;box-shadow:0 35px 100px #000d}.shop-waitlist::backdrop{background:#050407dc;backdrop-filter:blur(16px)}.waitlist-dialog-inner{padding:36px 42px;position:relative}.waitlist-close{position:absolute;right:24px;top:21px;color:#d6c6d4;font:32px Arial;background:transparent;border:0;cursor:pointer}.waitlist-mark{font:19px Georgia,serif;letter-spacing:.27em;color:#d9be88}.waitlist-mark small{display:block;font:9px/1.9 Arial;letter-spacing:.3em;color:#b9a8bd}.waitlist-kicker{font:10px Arial;letter-spacing:.22em;color:#d8b982;margin:30px 0 13px}.shop-waitlist h2{font:normal clamp(36px,5vw,54px)/1.05 Georgia,serif;letter-spacing:-.03em;margin:0 0 10px}.shop-waitlist h2+p{font:14px/1.5 Arial;color:#c6bdc7;max-width:500px;margin:0 0 23px}.shop-waitlist form{display:grid;gap:14px}.shop-waitlist label{font:12px/1.4 Arial;color:#e0d6df;display:block}.shop-waitlist label small{font-size:11px;color:#a99ead}.shop-waitlist input:not([type=checkbox]),.shop-waitlist select{display:block;width:100%;min-height:45px;margin-top:6px;background:#231e27;border:1px solid #605269;color:#f4ecf2;padding:11px;font:15px Arial}.shop-waitlist input:focus-visible,.shop-waitlist select:focus-visible,.shop-waitlist button:focus-visible{outline:2px solid #d9ba86;outline-offset:2px}.waitlist-names{display:grid;grid-template-columns:2fr 1fr;gap:12px}.waitlist-hint{font:11px/1.4 Arial;color:#b6a9b7;margin:-9px 0 2px}.waitlist-checks{border-top:1px solid #55475a;padding-top:16px;display:grid;gap:13px}.waitlist-checks label{display:flex;gap:11px;align-items:flex-start;cursor:pointer}.waitlist-checks input{width:17px;height:17px;flex:none;margin:0;accent-color:#d0b27f}.shop-waitlist form>button{display:flex;justify-content:space-between;background:#d6b985;color:#1b141a;padding:15px 19px;font:600 15px Arial;border:0;cursor:pointer}.shop-waitlist form>button:disabled{opacity:.55}.waitlist-feedback{font:13px/1.5 Arial;color:#e5c99a;margin:0}.waitlist-privacy{font:11px/1.4 Arial;color:#ad9fad;margin:0}.waitlist-trap{position:absolute;left:-99999px;width:1px;height:1px;overflow:hidden}@media(max-width:600px){.shop-waitlist{width:100vw;max-height:100dvh;height:100dvh;border:0}.waitlist-dialog-inner{padding:29px 23px 40px}.waitlist-mark{font-size:17px}.shop-waitlist h2{font-size:38px}}

/* v7 — field-level validation, accessible states, and a confirmed-save success view. */
.shop-waitlist .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.waitlist-close{width:44px;height:44px;display:flex;align-items:center;justify-content:center;right:14px;top:14px;line-height:1}
.waitlist-field{display:grid;gap:0}
.waitlist-field>label{font:12px/1.4 Arial;color:#e0d6df}
.waitlist-field>label small{font-size:11px;color:#a99ead}
.shop-waitlist .waitlist-hint{margin:6px 0 0}
.waitlist-field-error{font:12px/1.45 Arial;color:#f2a7a7;margin:0}
.waitlist-field-error:not(:empty){margin-top:6px}
.waitlist-checks .waitlist-field-error:not(:empty){margin:-6px 0 0 28px}
.shop-waitlist [aria-invalid=true]:not([type=checkbox]){border-color:#d98c8c}
.shop-waitlist input[type=checkbox][aria-invalid=true]{outline:2px solid #d98c8c;outline-offset:2px}
fieldset.waitlist-checks{margin:0;min-width:0;border:0;border-top:1px solid #55475a;padding:16px 0 0}
.waitlist-feedback:empty{display:none}
.waitlist-feedback.is-error{color:#f2a7a7;border-left:2px solid #d98c8c;padding-left:10px}
.shop-waitlist form>button[aria-busy],.shop-waitlist form[aria-busy] >button{cursor:progress}
.waitlist-privacy a,.waitlist-success a{color:#e3c893;text-decoration:underline;text-underline-offset:3px}
.waitlist-success{outline:none}
.waitlist-success h2{font:normal clamp(34px,5vw,50px)/1.05 Georgia,serif;letter-spacing:-.03em;margin:0 0 16px}
.waitlist-success p{font:14px/1.6 Arial;color:#c6bdc7;max-width:520px;margin:0 0 14px}
.waitlist-success-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:26px;padding-top:20px;border-top:1px solid #55475a}
.waitlist-success-actions a{font:14px Arial;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.waitlist-done{background:#d6b985;color:#1b141a;font:600 15px Arial;padding:13px 26px;border:0;cursor:pointer;min-height:44px}
.waitlist-done:focus-visible,.waitlist-close:focus-visible,.waitlist-privacy a:focus-visible,.waitlist-success a:focus-visible{outline:2px solid #d9ba86;outline-offset:3px}
.shop-waitlist[open]{animation:waitlist-in .28s cubic-bezier(.22,1,.36,1)}
@keyframes waitlist-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.shop-waitlist[open]{animation:none}}
/* Full-screen on phones: keep the close control reachable while the form scrolls. */
@media(max-width:600px){.shop-waitlist .waitlist-close{position:fixed;top:max(10px,env(safe-area-inset-top));right:10px;z-index:3;border-radius:50%;background:#141116e6;backdrop-filter:blur(6px)}}
