/* Only Contact / Entry load this sheet. Existing typography remains the baseline. */
.ks-form-shell { min-width: 0; --form-line: #c4d4ca; --form-tint: #f4f8f5; }
#contact-page .ks-form-shell { --form-line: rgb(255 255 255 / 20%); --form-tint: rgb(255 255 255 / 10%); }
.ks-form-shell [hidden] { display: none !important; }
.ks-form-shell .ks-form-fields { display: grid; gap: 1.6em; min-width: 0; }
.ks-form-shell .form-field { min-width: 0; margin: 0; }
.ks-form-shell fieldset { min-width: 0; }
.ks-form-shell legend { margin-bottom: .6em; }
.ks-form-shell .wpcf7-form-control-wrap { display: block; min-width: 0; }
.ks-form-shell .wpcf7-list-item { margin: 0; }
.ks-form-shell .form-choice-list .wpcf7-radio { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8em 1.2em; }
.ks-form-shell .wpcf7-list-item label { display: flex; align-items: baseline; gap: .5em; line-height: 1.7; }
.ks-form-shell input:is([type="radio"],[type="checkbox"]) { flex: 0 0 auto; width: 1em; height: 1em; accent-color: #008e3a; }
#contact-page .ks-form-shell .form-choice-list { display: block; font-size: 1.8rem; }
#contact-page .ks-form-shell .form-agree { font-size: 1.6rem; }
.ks-form-shell .form-agree a { text-decoration: underline; text-underline-offset: .2em; }
.ks-form-shell .ks-file-field { padding: 1em; background: var(--form-tint); border: 1px dashed var(--form-line); border-radius: .2em; }
.ks-form-shell .ks-file-help { margin-top: .6em; line-height: 1.7; font-size: .9em; }
#contact-page .ks-form-shell input[type="file"] { padding: 0; color: inherit; background: transparent; border: 0; font: inherit; }
.ks-form-shell input[type="file"]::file-selector-button { font: inherit; padding: .4em .8em; margin: 0 .8em .5em 0; border: 1px solid var(--form-line); border-radius: .2em; background: var(--form-tint); color: inherit; cursor: pointer; }
.ks-form-shell .ks-form-actions { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 1em; margin-top: 2em; }
.ks-form-shell .ks-form-actions :is(button,input[type="submit"]) { max-width: 100%; min-width: 0; padding: 1em 2em; line-height: 1.6; border-radius: 3em; cursor: pointer; font-family: inherit; font-weight: 600; }
.ks-form-shell .ks-review-button { color: #fff; background: #008e3a; }
.ks-form-shell .ks-edit-button { color: inherit; border: 1px solid var(--form-line); }
.ks-form-shell .ks-form-actions :is(button,input):focus-visible { outline: 2px solid #00a251; outline-offset: 4px; }
.ks-form-shell .ks-form-actions :is(button,input):disabled { opacity: .6; cursor: wait; }
.ks-form-shell form.submitting .ks-form-actions { pointer-events: none; opacity: .7; }
.ks-form-shell .ks-form-review h3 { font-size: 1.2em; font-weight: 600; margin-bottom: .8em; }
.ks-form-shell .ks-form-review > p { line-height: 1.8; margin-bottom: 1.5em; }
.ks-form-shell .ks-review-details > div { display: grid; grid-template-columns: minmax(8em, 1fr) minmax(0,2fr); gap: 1em; padding: 1em 0; border-bottom: 1px solid var(--form-line); }
.ks-form-shell .ks-review-details dt { font-weight: 600; }
.ks-form-shell .ks-review-details dd { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.8; }
.ks-form-shell .wpcf7-response-output { margin-inline: 0; }
.ks-form-shell .wpcf7-not-valid-tip { margin-top: .4em; }
.ks-form-shell .wpcf7-spinner { flex: 0 0 24px; margin: 0; }
.ks-form-shell form:not(.submitting) .wpcf7-spinner { display: none; }
/* Keep the recruitment page's existing 20px body baseline (16px rem root). */
.entry-page .ks-form-shell .form-label { font-size: inherit; font-weight: 600; line-height: 1.7; margin-bottom: .6em; }
.entry-page .ks-form-shell :is(input:not([type="radio"]):not([type="checkbox"]),select,textarea) { font: inherit; }
.entry-page .ks-form-shell select { width: 100%; min-width: 0; padding: .7em; border: 1px solid #aaa; border-radius: .25em; background: #fff; color: #333; appearance: auto; }
.entry-page .ks-form-shell textarea { resize: vertical; }
.entry-page .ks-form-shell .form-choice-list { padding: 1em; background: var(--form-tint); border: 1px solid var(--form-line); border-radius: .25em; }
.entry-page .ks-form-shell .form-agree { text-align: center; margin-top: .5em; }
.entry-page .ks-form-shell .form-agree .wpcf7-list-item { display: inline-block; }
.entry-page .form-steps { grid-template-columns: repeat(3,minmax(0,1fr)); }
.entry-page .required-note { font-size: 1rem; line-height: 1.8; }
#contact-page .contact-step { top: calc(var(--site-anchor-offset, 120px) + 1.6rem); }
@media (max-width: 767px) {
 .ks-form-shell .form-choice-list .wpcf7-radio { grid-template-columns: minmax(0,1fr); }
 .ks-form-shell .ks-review-details > div { grid-template-columns: minmax(0,1fr); gap: .4em; }
 .ks-form-shell .ks-form-actions :is(button,input[type="submit"]) { width: 100%; }
}
