/* One continuous application; the header and footer use the normal site CSS. */
.application-route { background: #f5f5f5; }
.application-route [hidden] { display: none !important; }
.apply-main { max-width: 960px; background: transparent; padding-block: 48px 80px; }
.apply-main #application-form { display: block; border: 0; box-shadow: none; }
.apply-main .preview-back { display: inline-flex; margin-bottom: 24px; font-weight: 700; }
.apply-main .apply-intro { display: block; }
.apply-main .form-summary { display: flex; flex-wrap: wrap; margin-top: 24px; gap: 24px; }
.apply-main .job-picker { margin: 32px 0; }
.apply-main .job-picker > legend { font-size: 24px; line-height: 1.5; }
.apply-main .job-picker > .help { margin: 0 0 20px; font-size: 14px; font-weight: 400; }
.apply-main .job-tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.apply-main .job-tile { display: flex; align-items: flex-start; gap: 12px; margin: 0; padding: 22px; border: 1px solid #ccc; border-radius: 8px; background: white; cursor: pointer; }
.apply-main .job-tile:hover { border-color: #666; }
.apply-main .job-tile:has(input:checked) { border-color: #ff6b00; box-shadow: inset 0 0 0 1px #ff6b00; background: #fff4e9; }
.apply-main .job-tile:has(input:focus-visible) { outline: 3px solid #171717; outline-offset: 3px; }
.apply-main .job-tile > input { width: 20px; height: 20px; flex: 0 0 20px; margin: 4px 0 0; accent-color: #ff6b00; }
.apply-main .job-tile-copy { display: grid; min-width: 0; gap: 8px; font-size: 13px; font-weight: 400; line-height: 1.7; overflow-wrap: anywhere; }
.apply-main .job-tile-copy strong { font-size: 18px; line-height: 1.6; }
.apply-main .job-tile-pay { font-weight: 700; }
.apply-main form > section { margin-top: 24px; box-shadow: none; }
.apply-main .section-heading { border: 0; padding-bottom: 0; }
.apply-main .selected-role { border: 0; border-radius: 6px; }
.apply-main .answer-review { margin-block: 24px; }
.apply-main .answer-review summary { padding-block: 14px; }
.apply-main .candidate-clear { display: grid; place-items: center; padding: 0; }
.apply-main .candidate-clear svg { display: block; }
.apply-main .form-actions { justify-content: center; }
.apply-main .form-actions button { min-width: min(100%, 360px); border-radius: 8px; text-align: center; }
.apply-main .form-note { text-align: center; }
.apply-main button, .apply-main a, .apply-main input { scroll-margin-top: 120px; }
.apply-main .line-contact-link { background: #06c755; color: #fff; border-color: #06c755; justify-content: center; }
.apply-main .age-input-row { display: flex; align-items: center; gap: 10px; }
.apply-main .age-input-row input { width: 120px; max-width: 100%; }
.apply-main .calendar-weekdays > :first-child,
.apply-main .calendar-days .calendar-day[data-day-kind="sunday"]:not([aria-pressed="true"]),
.apply-main .calendar-days .calendar-day[data-day-kind="holiday"]:not([aria-pressed="true"]),
.apply-main .legend-holiday { color: #b52840; }
.apply-main .calendar-weekdays > :last-child,
.apply-main .calendar-days .calendar-day[data-day-kind="saturday"]:not([aria-pressed="true"]),
.apply-main .legend-saturday { color: #235ca4; }
.apply-main .calendar-days .calendar-day[aria-pressed="true"],
.apply-main .calendar-days .calendar-day[aria-pressed="true"]:hover:not(:disabled),
.apply-main .calendar-days .calendar-day[aria-pressed="true"]:disabled { color: #fff; background: #171717; border-color: #171717; }
.apply-main .calendar-days .calendar-day:disabled:not([aria-pressed="true"]) { opacity: .55; }
.apply-main .calendar-days .calendar-day[aria-pressed="true"] small { color: #fff; }
.apply-main .calendar-color-legend { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 12px 0 0; font-size: 12px; line-height: 1.7; }
.apply-main .calendar-color-legend > :last-child { flex-basis: 100%; color: #555; }
@media (max-width: 560px) {
  .apply-main { padding: 28px 16px 56px; }
  .apply-main .job-tiles { grid-template-columns: 1fr; gap: 12px; }
  .apply-main .job-tile { padding: 18px; }
  .apply-main .job-picker > legend { font-size: 21px; }
  .apply-main .form-summary dd { font-size: 14px; }
}
