/* Input form only: fixed readable sizes, independent of the theme's fluid rem scale. */
.recruit #form.r-form { padding:120px 0; scroll-margin-top:80px; }
.recruit #form.r-form > .container { width:calc(100% - 40px); max-width:1240px; padding:0; margin:0 auto; }
.recruit #form.r-form .ttl { margin:0 0 60px; }
.recruit #form.r-form .ttl span { font-size:20px; line-height:1.4; }
.recruit #form.r-form .ttl b { font-size:24px; line-height:1.5; }
.recruit-self-form { margin-top:0; font-size:16px; line-height:1.6; color:#241a1a; }
.recruit-self-form .recruit-honeypot[hidden] { display:none !important; }
.recruit-self-form .recruit-field { display:grid; grid-template-columns:48px 240px minmax(0,1fr); gap:12px 20px; align-items:start; margin:32px 0 0; padding:0; }
.recruit-self-form .recruit-honeypot + .recruit-field { margin-top:0; }
.recruit-self-form .recruit-field > .required { display:inline-flex; align-items:center; justify-content:center; width:48px; min-width:48px; height:24px; min-height:24px; margin:4px 0 0; padding:1px 6px; border-radius:4px; background:#707070; color:#fff; font-size:14px; line-height:22px; text-align:center; }
.recruit-self-form .recruit-field > .required.red { background:#db0d0f; }
.recruit-self-form .recruit-field > p { width:auto; margin:4px 0 0; padding:0; font-size:16px; line-height:24px; }
.recruit-self-form .recruit-control { min-width:0; width:100%; margin:0; }
.recruit-self-form .recruit-control input[type=text],
.recruit-self-form .recruit-control input[type=email],
.recruit-self-form .recruit-control input[type=tel],
.recruit-self-form .recruit-control textarea { box-sizing:border-box; width:100%; max-width:100%; height:56px; padding:12px 16px; border:1px solid #241a1a; border-radius:4px; background:#fff; color:#241a1a; font:inherit; font-size:16px; line-height:24px; }
.recruit-self-form .recruit-control textarea { min-height:180px; height:240px; resize:vertical; }
.recruit-self-form .recruit-control #recruit-address { margin-top:12px; }
.recruit-self-form #recruit-zip { max-width:200px; }
.recruit-self-form .recruit-control ul { display:grid; width:100%; gap:0; margin:0; padding:0; list-style:none; }
.recruit-self-form .recruit-control ul li { display:flex; min-height:44px; gap:12px; align-items:center; margin:0; padding:0; }
.recruit-self-form .recruit-control label { display:inline-flex; align-items:center; min-height:44px; padding:0; font-size:16px; line-height:24px; cursor:pointer; }
/* Also override the theme's more specific checked-radio decoration. */
.recruit-self-form #recruitForm .recruit-control label::before,
.recruit-self-form #recruitForm .recruit-control label::after { content:none; display:none; }
.recruit-self-form .recruit-control input[type=radio],
.recruit-self-form .recruit-control input[type=checkbox] { appearance:auto; position:static; opacity:1; display:inline-block; flex:none; width:18px; height:18px; margin:0; accent-color:#db0d0f; cursor:pointer; }
.recruit-clear-button { display:inline-flex; align-items:center; min-height:44px; padding:8px 0; margin-top:4px; border:0; border-radius:0; background:transparent; color:#707070; font-size:14px; line-height:1.5; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.recruit-clear-button:disabled { color:#999; cursor:default; }
.recruit-clear-button[hidden], .recruit-age-review[hidden] { display:none; }
.recruit-self-form .recruit-clear-noscript { display:flex; gap:12px; }
.recruit-clear-status { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.recruit-privacy-consent { display:flex; flex-wrap:wrap; align-items:center; min-width:0; }
.recruit-privacy-consent a { display:inline-flex; align-items:center; min-height:44px; color:#db0d0f; text-decoration:underline; text-underline-offset:3px; }
.recruit-age-review { margin-top:12px; padding:12px 16px; border:1px solid #b88a20; border-radius:4px; background:#fffaf0; font-size:14px; line-height:1.6; }
.recruit-age-review > p { width:auto; margin:0 0 4px; font-size:14px; }
.recruit-self-form .recruit-age-review label { display:flex; gap:10px; font-size:14px; }
.recruit-field-error { color:#b00020; margin-top:8px; font-size:14px; line-height:1.6; }
.recruit-form-errors { padding:20px; border:2px solid #b00020; color:#b00020; margin-bottom:32px; font-size:16px; }
.recruit-form-errors ul { margin-top:8px; padding-left:24px; }
.recruit-form-errors a { text-decoration:underline; }
.recruit-self-form :focus-visible { outline:3px solid #145bb5; outline-offset:4px; }
.recruit-self-form #recruitForm > .btn-wrap { width:100%; max-width:600px; margin:48px auto 0; }
.recruit-self-form #recruitForm > .btn-wrap::before,
.recruit-self-form #recruitForm > .btn-wrap::after { content:none; display:none; }
.recruit-self-form #recruitForm .btn { display:flex; align-items:center; justify-content:center; gap:18px; width:100%; max-width:none; height:auto; min-height:60px; margin:0; padding:16px 24px; border:0; border-radius:4px; background:#db0d0f; color:#fff; font:inherit; font-size:18px; font-weight:700; line-height:1.5; cursor:pointer; }
.recruit-self-form #recruitForm .btn::before,
.recruit-self-form #recruitForm .btn::after,
.recruit-self-form #recruitForm .btn > span::before,
.recruit-self-form #recruitForm .btn > span::after { content:none; display:none; }
.recruit-self-form #recruitForm .btn > .recruit-button-arrow { display:block; flex:none; width:8px; height:8px; border:solid currentColor; border-width:2px 2px 0 0; transform:rotate(45deg); }
.recruit-self-form #recruitForm .btn:disabled { opacity:.65; cursor:wait; }
.recruit-completion-notice { margin-top:24px; padding:20px; border:1px solid #b88a20; background:#fffaf0; font-size:16px; line-height:1.8; text-align:left; }
.recruit-form-message .recruit-retry-action { width:100%; max-width:600px; margin:24px auto 0; font-size:16px; }


/* Original brand colours, outlined steps and buttons; only later form screens. */
.recruit-form-stage { padding:80px 0 100px; scroll-margin-top:80px; font-size:16px; line-height:1.8; color:#241a1a; }
.recruit-form-stage > .container { width:calc(100% - 40px); max-width:1240px; padding:0; margin:0 auto; }
.recruit-preview-note { padding:12px 16px; margin-bottom:24px; background:#f5f3f3; border:1px solid #d8d3d3; font-size:14px; text-align:center; }
.recruit-form-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:76px; padding:0; margin:0 0 64px; list-style:none; }
.recruit-form-steps li { display:flex; align-items:center; justify-content:center; min-height:70px; padding:12px; border:1px solid #db0d0f; border-radius:10px; background:#fff; color:#db0d0f; font-size:16px; font-weight:700; line-height:1.5; text-align:center; position:relative; }
.recruit-form-steps li + li::before { content:""; position:absolute; top:50%; right:100%; width:78px; height:1px; background:#db0d0f; }
.recruit-form-steps li[aria-current] { background:#db0d0f; color:#fff; }
.recruit-stage-heading { font-size:36px; line-height:1.5; font-weight:700; color:#db0d0f; text-align:center; margin:0 0 32px; }
.recruit-stage-heading:focus { outline:none; }
.recruit-stage-heading > span { display:inline-block; }
.recruit-form-intro { text-align:center; margin:0 0 48px; }
.recruit-confirm { margin:0; }
.recruit-confirm > div { display:grid; grid-template-columns:350px minmax(0,1fr); gap:28px; padding:20px 0; border-bottom:1px solid #e2dede; }
.recruit-confirm dt { display:flex; gap:20px; align-items:flex-start; font-weight:400; }
.recruit-confirm dd { margin:0; min-width:0; overflow-wrap:anywhere; }
.recruit-status-label { display:inline-block; flex:none; min-width:48px; padding:1px 6px; border-radius:4px; color:#fff; background:#707070; font-size:14px; line-height:22px; font-weight:700; text-align:center; }
.recruit-status-label.is-required { background:#db0d0f; }
.recruit-form-actions { display:grid; grid-template-columns:1fr 1fr; gap:24px; max-width:880px; margin:56px auto 0; }
.recruit-stage-button { display:flex; align-items:center; justify-content:center; gap:18px; width:100%; min-height:64px; padding:16px 24px; border:0; border-radius:4px; background:#db0d0f; color:#fff; font:inherit; font-size:18px; font-weight:700; line-height:1.5; text-align:center; text-decoration:none; cursor:pointer; transition:background-color .2s; }
.recruit-stage-button.is-secondary { background:#707070; }
.recruit-button-arrow { font-size:24px; line-height:1; }
.recruit-stage-button:disabled { opacity:.65; cursor:wait; }
.recruit-submit-status { min-height:28px; text-align:center; margin-top:16px; }
.recruit-form-message { text-align:center; }
.recruit-form-message > p { margin:0; line-height:2; }
.recruit-form-message h3 { color:#db0d0f; font-size:30px; margin-bottom:32px; }
.recruit-form-message .recruit-complete-action { margin:40px auto 0; max-width:600px; }
.recruit-form-message .btn-wrap { margin:40px auto 0; max-width:600px; }
@media (hover:hover) {
 .recruit-stage-button:hover { background:#e34123; }
 .recruit-stage-button.is-secondary:hover { background:#555; }
}
@media (max-width:767px) {
 .recruit #form.r-form { padding:60px 0; scroll-margin-top:64px; }
 .recruit #form.r-form .ttl { margin-bottom:40px; }
 .recruit #form.r-form .ttl span { font-size:16px; }
 .recruit #form.r-form .ttl b { font-size:20px; }
 .recruit-self-form .recruit-field { grid-template-columns:48px minmax(0,1fr); gap:12px; margin-top:28px; }
 .recruit-self-form .recruit-control { grid-column:1/-1; }
 .recruit-self-form .recruit-field > p { margin-top:0; }
 .recruit-self-form .recruit-field > .required { margin-top:0; }
 .recruit-self-form #recruitForm > .btn-wrap { margin-top:36px; }
 .recruit-self-form #recruitForm .btn { min-height:56px; font-size:16px; }

 .recruit-form-stage { padding:40px 0 60px; scroll-margin-top:64px; }
 .recruit-form-steps { gap:20px; margin-bottom:40px; }
 .recruit-form-steps li { min-height:60px; padding:10px 6px; font-size:14px; }
 .recruit-form-steps li + li::before { width:22px; }
 .recruit-stage-heading { font-size:26px; margin-bottom:24px; }
 .recruit-form-intro { margin-bottom:24px; }
 .recruit-confirm > div { grid-template-columns:minmax(0,1fr); gap:12px; padding:20px 0; }
 .recruit-confirm dt { gap:12px; }
 .recruit-form-actions { grid-template-columns:minmax(0,1fr); gap:16px; margin-top:40px; }
 .recruit-stage-button { min-height:56px; font-size:16px; }
 .recruit-form-message > p { text-align:left; }
 .recruit-form-message > p > br.sp { display:none; }
}
@media (max-width:430px) {
 .recruit-form-steps { gap:12px; }
 .recruit-form-steps li + li::before { width:14px; }
 .recruit-stage-heading { font-size:24px; }
}
@media (prefers-reduced-motion:reduce) {
 .recruit-stage-button { transition:none; }
}
