/* Launch notices reuse the site's colors, fonts and buttons; cards remain fully browsable. */
.availability-badge { display:inline-flex; align-items:center; gap:.4rem; color:var(--brand-text); font-weight:600; }
.availability-badge svg { flex:none; }
.availability-intro { margin-block:1rem; }
.availability-intro .eyebrow { text-wrap:balance; }
.availability-notify { margin-block:.5rem; white-space:normal; text-align:center; }
.availability-page { max-width:880px; padding-block:2rem 4rem; }
.availability-page fieldset { min-width:0; margin-block:1rem; padding:1rem; border:1px solid var(--border); border-radius:var(--radius, 12px); }
.availability-page label { display:block; margin-block:.7rem; overflow-wrap:anywhere; }
.availability-page input[type=email], .availability-page input[name=token], .availability-page select { width:100%; max-width:100%; padding:.7rem; font:inherit; color:var(--text); background:var(--surface, var(--bg)); border:1px solid var(--border); border-radius:8px; }
.availability-page input[type=checkbox], .availability-page input[type=radio] { margin-inline-end:.5rem; accent-color:var(--brand-text); }
.availability-page legend { font-weight:700; }
.availability-page :focus-visible { outline:2px solid var(--brand-text); outline-offset:3px; }
.availability-page .availability-choices { padding-inline:.6rem; }
@media(max-width:480px) { .availability-notify { max-width:100%; } .availability-page fieldset { padding:.8rem; } }

.availability-mail-preview { white-space:pre-line; overflow-wrap:anywhere; }

.availability-recipients { overflow-wrap:anywhere; }
