body.is-editorial .editorial-request-root { font-size: 16px; line-height: 1.55; }
.editorial-request-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.editorial-request-fields label { display: grid; gap: 7px; min-width: 0; }
body.is-editorial .editorial-request-form input { width: 100%; min-width: 0; min-height: 48px; padding: 10px 12px; border: 1px solid var(--editorial-line); border-radius: 0; color: var(--editorial-ink); background: #fff; font: inherit; }
body.is-editorial .editorial-request-form :focus-visible { outline: 2px solid var(--editorial-ink); outline-offset: 3px; }
.editorial-request-form fieldset { min-width: 0; padding: 0; margin: 30px 0; border: 0; }
.editorial-request-form legend { margin-bottom: 15px; font-size: 20px; font-weight: 500; }
/* Lands the legend just below the sticky header when the script scrolls to the next step. */
.editorial-request-times, .editorial-request-details, .editorial-request-closed { scroll-margin-top: 96px; }
/* Closed days look like any other day (Lachlan, 9 Nov 2026); the tap explains. The tapped one keeps an outline. */
body.is-editorial .editorial-request-calendar button[data-closed-tapped] { outline: 2px solid var(--editorial-ink); outline-offset: -2px; }
body.is-editorial .editorial-request-closed { margin: -14px 0 30px; padding: 12px 14px; border-left: 2px solid var(--editorial-ink); background: #f4f3ef; color: var(--editorial-ink); font-size: 15px; }
body.is-editorial .editorial-request-closed[hidden] { display: none; }
.editorial-request-honeypot { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; }
.editorial-request-month { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; margin-bottom: 16px; }
body.is-editorial .editorial-request-month h3 { margin: 0; font: 500 20px var(--editorial-serif); text-align: center; }
body.is-editorial .editorial-request-month button { padding: 9px; min-height: 44px; border: 1px solid var(--editorial-line); border-radius: 0; background: #fff; color: var(--editorial-ink); font: 14px var(--editorial-sans); cursor: pointer; }
body.is-editorial .editorial-request-month button:disabled { opacity: .5; cursor: default; }
.editorial-request-calendar [role="row"] { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; margin-bottom: 4px; }
.editorial-request-calendar [role="columnheader"] { padding: 8px 0; text-align: center; color: var(--editorial-muted); font-size: 14px; }
body.is-editorial .editorial-request-calendar button { display: block; width: 100%; min-height: 44px; border: 1px solid transparent; border-radius: 0; color: var(--editorial-ink); background: #f4f3ef; font: 16px var(--editorial-sans); cursor: pointer; }
body.is-editorial .editorial-request-calendar button[aria-disabled="true"] { color: #777771; background: #fafaf8; text-decoration: line-through; cursor: default; }
body.is-editorial .editorial-request-calendar [aria-selected="true"] button { color: #fff; background: var(--editorial-ink); }
.editorial-request-time-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.editorial-request-time-grid label { position: relative; cursor: pointer; }
body.is-editorial .editorial-request-time-grid input { position: absolute; width: 1px; height: 1px; min-height: 0; padding: 0; opacity: 0; }
.editorial-request-time-grid span { display: block; min-height: 44px; padding: 13px 8px; border: 1px solid var(--editorial-line); text-align: center; font-size: 14px; }
.editorial-request-time-grid input:checked + span { color: #fff; background: var(--editorial-ink); border-color: var(--editorial-ink); }
.editorial-request-time-grid input:focus-visible + span { outline: 2px solid var(--editorial-ink); outline-offset: 3px; }
body.is-editorial .editorial-request-error { margin: 0; color: #782c20; font-size: 14px; }
body.is-editorial .editorial-request-form [aria-invalid="true"] { border-color: #782c20; }
.editorial-request-note { margin-top: 15px; color: var(--editorial-muted); font-size: 14px; }
.editorial-request-confirmation__links { display: flex; flex-wrap: wrap; gap: 20px; }
@media (max-width: 480px) { .editorial-request-fields { grid-template-columns: minmax(0, 1fr); } .editorial-request-month { gap: 4px; } body.is-editorial .editorial-request-month button { font-size: 14px; padding: 8px 4px; } body.is-editorial .editorial-request-month h3 { font-size: 18px; } }
[data-request-saved] label { display: flex; align-items: center; gap: 10px; cursor: pointer; }
body.is-editorial .editorial-request-form [name="include_saved"] { width: 20px; height: 20px; min-height: 20px; padding: 0; accent-color: var(--editorial-ink); flex: 0 0 auto; }
[data-request-saved] p { margin: 6px 0 0 30px; overflow-wrap: anywhere; }
