/* Shared field rhythm for the two submission forms. No request logic lives here. */
.coaching-enquiry,.course-registration{container-type:inline-size}
.coaching-enquiry{border-top:var(--rule-width) solid var(--accent);padding-top:26px}
.coaching-enquiry .form-contact-alternative{margin-top:12px;font-size:14px;line-height:1.75;overflow-wrap:anywhere;max-width:60ch}
.coaching-enquiry .enquiry-gate{margin-block:24px 30px}
.enquiry-fields,.registration-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 24px}
.enquiry-field,.registration-fields>div{display:grid;grid-template-rows:auto auto auto auto;grid-row:span 4;row-gap:6px;min-width:0;margin-bottom:12px;align-content:start}
@supports(grid-template-rows:subgrid){.enquiry-field,.registration-fields>div{grid-template-rows:subgrid}}
.enquiry-field-wide,.registration-wide{grid-column:1/-1}
.enquiry-guidance{min-width:0;margin:12px 0 26px;padding:24px 0 0;border:0;border-top:1px solid var(--line)}
.enquiry-guidance legend{float:left;width:100%;font-size:17px;font-weight:500;line-height:1.5;margin-bottom:8px;padding:0}
.enquiry-guidance legend span{font-size:13px;font-weight:400;color:var(--muted)}
.enquiry-guidance>.field-help{clear:both;font-size:14px;line-height:1.6;color:var(--muted);margin-bottom:16px}
.enquiry-choices{display:grid;gap:4px}
.enquiry-choices label{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:12px;min-height:48px;padding:10px 12px;border:1px solid transparent;font-size:16px;line-height:1.5;cursor:pointer;border-radius:var(--button-radius)}
.enquiry-choices label:hover,.enquiry-choices label:has(input:checked){background:var(--surface);border-color:var(--line)}
.enquiry-choices input[type=checkbox]{width:20px;height:20px;min-height:20px;padding:0;margin:2px 0 0;accent-color:var(--accent);cursor:pointer}
.enquiry-choices label:has(:focus-visible){outline:2px solid var(--focus);outline-offset:2px}
.enquiry-guidance[aria-invalid=true]{border-top:2px solid var(--accent)}
:is(.enquiry-field,.registration-fields>div)>label{grid-row:1;display:block;font-size:16px;font-weight:500;line-height:1.5;margin:0}
:is(.enquiry-field,.registration-fields>div)>:is(input,select,textarea){grid-row:2;align-self:start;display:block;box-sizing:border-box;width:100%;min-width:0;min-height:52px;margin:0;border:1px solid var(--control-line);border-radius:var(--button-radius);padding:13px 14px;background:var(--bg);color:var(--ink);font:400 16px/1.5 var(--sans)}
:is(.enquiry-field,.registration-fields>div)>textarea{min-height:120px;resize:vertical}
:is(.enquiry-field,.registration-fields>div)>:is(.field-help,.registration-hint){grid-row:3;margin:0;color:var(--muted);font-size:14px;line-height:1.6}
:is(.enquiry-field,.registration-fields>div)>.field-error{grid-row:4;margin:0;color:var(--ink);font-size:14px;line-height:1.5;font-weight:500}
:is(.enquiry-field,.registration-fields>div)>.field-error:empty{display:none}
:is(.enquiry-field,.registration-fields>div)>[aria-invalid=true]{border:2px solid var(--accent)}
:is(.enquiry-field,.registration-fields>div)>:is(input,select,textarea):focus-visible{outline:2px solid var(--focus);outline-offset:3px}
:is(.enquiry-field,.registration-fields>div) :is(.field-required,label>span){font-size:13px;font-weight:400;color:var(--muted)}
.enquiry-actions{padding-top:22px;border-top:1px solid var(--line);margin-top:16px;gap:12px}
.course-registration [data-registration-send]{margin-top:8px}
.coaching-enquiry .form-status,.course-registration .registration-result{max-width:65ch;line-height:1.75}
@container(max-width:580px){
 .enquiry-fields,.registration-fields{grid-template-columns:minmax(0,1fr)}
 .enquiry-field,.registration-fields>div{grid-column:1;row-gap:6px;margin-bottom:10px}
 .enquiry-actions{flex-direction:column;align-items:stretch}
 .enquiry-actions .button,.course-registration [data-registration-send]{width:100%;white-space:normal}
}
@media print{.coaching-enquiry,.course-registration{container-type:normal}.enquiry-field,.registration-fields>div{break-inside:avoid}}
