/* Small, self-contained styles for the closing date-notification form. */
.waitlist-copy { max-width: 44rem; }
.waitlist-copy > .eyebrow { margin: 0 0 1rem; color: #756e63; font-size: .72rem; letter-spacing: .16em; }
.waitlist-copy > h2 { margin-bottom: 1rem; }
.waitlist-copy > p:not(.eyebrow):not(.contact-intro) { max-width: 36rem; color: #625e57; }
.waitlist-form { margin-top: 1.65rem; max-width: 40rem; text-align: left; }
.waitlist-fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
/* Closed list: fields stay visible but read as unavailable. */
.waitlist-fieldset:disabled .waitlist-fields, .waitlist-fieldset:disabled .waitlist-consent { opacity: .7; }
.waitlist-fieldset:disabled input { cursor: not-allowed; }
.waitlist-fields { display: grid; grid-template-columns: .8fr 1.2fr; gap: 1rem; }
.waitlist-field { display: grid; gap: .45rem; color: #38352f; font-size: .82rem; letter-spacing: .025em; }
.waitlist-field input { width: 100%; min-height: 3rem; padding: .7rem .8rem; border: 1px solid rgba(62,56,47,.25); border-radius: 2px; background: rgba(255,255,255,.58); color: var(--ink-warm); font: inherit; }
.waitlist-field input:focus-visible, .waitlist-consent input:focus-visible, .waitlist-submit:focus-visible { outline: 2px solid #726959; outline-offset: 3px; }
.waitlist-optional { color: #827c72; font-size: .76rem; }
.waitlist-consent { display: flex; align-items: flex-start; gap: .65rem; margin-top: 1rem; color: #615d55; font-size: .78rem; line-height: 1.55; }
.waitlist-consent input { flex: 0 0 auto; width: 1rem; height: 1rem; margin: .15rem 0 0; accent-color: #595346; }
.waitlist-consent a { color: inherit; text-underline-offset: 3px; }
.waitlist-submit { display: inline-flex; align-items: center; justify-content: center; gap: 1.1rem; min-height: 3rem; margin-top: 1.1rem; padding: .7rem 1.1rem; border: 1px solid #49443b; border-radius: 2px; background: #49443b; color: #fff; font: inherit; font-size: .85rem; letter-spacing: .035em; cursor: pointer; transition: background-color .2s ease, color .2s ease; }
.waitlist-submit:hover { background: transparent; color: #38352f; }
.waitlist-submit:disabled { cursor: not-allowed; opacity: .65; }
.waitlist-form[aria-busy="true"] .waitlist-submit { cursor: progress; }
.waitlist-status { min-height: 1.5em; margin: .75rem 0 0; font-size: .85rem; line-height: 1.5; }
/* Review R01: while the list is closed, its status stands above the (disabled) fields, so nobody takes the greyed-out
   form for a broken one first. Empty once the list is open. */
.waitlist-form .waitlist-availability { margin: 0 0 1rem; }
.waitlist-form .waitlist-availability:empty { display: none; }
/* Scoped to the form so they outrank ".outlook p:not(.eyebrow)" (messages were always grey before). */
.waitlist-form .waitlist-status[data-state="error"] { color: #873f32; }
.waitlist-form .waitlist-status[data-state="success"] { color: #415d46; }
.waitlist-trap { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
@media (max-width: 650px) { .waitlist-fields { grid-template-columns: 1fr; gap: .8rem; } .waitlist-form { margin-top: 1.25rem; } .waitlist-submit { width: 100%; } }
.waitlist-submit:disabled { background: #716c63; border-color: #716c63; color: #fff; }
