/* Live v0 additions on top of Option D's styles.css */
.tonight-link { color: #FFD24A; font-weight: 700; white-space: nowrap; }
.tonight-link:hover, .tonight-link:focus-visible { color: #FFE59A; }
.tonight[data-past] .tonight-label { color: #c9d3df; }

.nav-links { gap: var(--s5); }

.earlier { margin-top: var(--s5); font-size: 1.0625rem; color: var(--ink-soft); }

.field.two { display: grid; gap: var(--s4); grid-template-columns: 1fr; }
@media (min-width: 36rem) { .field.two { grid-template-columns: 2fr 1fr; } }
.field.two > div { display: grid; gap: var(--s2); min-width: 0; }

.ts { min-height: 0; margin-block: var(--s3); }

.signup { background: var(--sky-tint); }
.signup-inner { display: grid; gap: var(--s6); }
@media (min-width: 56rem) { .signup-inner { grid-template-columns: 1fr 1fr; align-items: start; } }
.signup-form { display: grid; gap: var(--s4); }
.signup-form input { width: 100%; }

.spread { padding-block: var(--s7); }
.spread h2 { font-size: clamp(1.75rem, 1.2rem + 2vw, 2.5rem); margin-bottom: var(--s3); }

button[disabled] { opacity: .6; cursor: progress; }
.form-status .status-title { margin: 0; }

/* Email fields share the text-input look (D only styled type=text). */
input[type="email"] { font: inherit; font-size: 1.125rem; width: 100%; padding: 0.75rem 0.9rem; min-height: 3rem; border: 1.5px solid #8b94a5; border-radius: 8px; background: #fff; color: var(--ink); }
input[type="email"]:focus { outline: none; border-color: var(--sky); box-shadow: 0 0 0 3px rgba(36, 95, 143, 0.25); }
.field.two label { font-weight: 700; }
