/* Progressive contact flow, using the existing enquiry layout and card styles. */
.contact-request-chooser[hidden],.enquiry-layout[hidden] { display:none!important; }
.contact-start-layout { align-items:start; }
.contact-common-card { background:#fff!important; color:#102c42!important; }
.contact-common-card h2,.contact-common-card label,.contact-common-card legend { color:#143a53!important; }
.contact-common-card .enquiry-card-intro { color:#38566b!important; }
.contact-common-card .enquiry-card-intro { margin-bottom:20px; }
.contact-common-card .enquiry-eyebrow { color:#0b728f!important; }
.contact-common-card .enquiry-fields { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 16px; }
.contact-common-card .enquiry-field>label { margin-bottom:4px; }
.contact-common-card .enquiry-field label span,.contact-kind-fieldset legend span { color:#d16b29; }
.contact-common-card :is(input,select) { box-sizing:border-box; width:100%; min-height:50px; padding:12px 14px; border:1px solid #a7becd; border-radius:8px; color:#132e43; background:#f7fbfd; font:400 13px/1.6 "Plus Jakarta Sans",sans-serif; }
.contact-common-card :is(input,select)::placeholder { color:#617b8b; opacity:1; }
.contact-common-card :is(input,select):focus-visible { outline:2px solid #0089ba; outline-offset:2px; }
.contact-common-card fieldset.contact-kind-fieldset { min-width:0; margin:17px 0 0; padding:0; border:0; }
.contact-common-card .contact-kind-fieldset>legend { margin:0 0 2.4px!important; padding:0; font-size:13px; font-weight:700; }
.contact-kind-options { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.contact-common-card .contact-kind-options { margin-top:-6px; }
.contact-kind-options label { display:flex; min-width:0; min-height:42px; align-items:center; gap:7px; padding:5px 2px; color:#224a64; font-size:11px; line-height:1.35; cursor:pointer; }
.contact-kind-options label span { min-width:0; }
.contact-kind-options label:hover { color:#006f91; }
.contact-kind-options input { flex:0 0 18px; width:18px; height:18px; margin:0; accent-color:#0089ba; cursor:pointer; }
.contact-kind-options input:focus-visible { outline:2px solid #0089ba; outline-offset:3px; }
.contact-common-card .contact-kind-options input:checked+span { color:#003a55!important; font-weight:750; }
.contact-common-actions { margin-top:8px; }
.contact-common-actions #contactCommonError { color:#a43c00; font-size:12px; }
.contact-wizard-progress { display:flex; align-items:center; gap:16px; margin:7px 0 24px; color:#29475e; font-size:12px; font-weight:750; }
.contact-wizard-progress-track { display:block; height:5px; flex:1; overflow:hidden; border-radius:99px; background:#e3edf3; }
.contact-wizard-progress-track>span { display:block; width:0; height:100%; border-radius:inherit; background:#ff812c; transition:width .2s ease; }
.contact-wizard-actions { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:23px 0 16px; }
.contact-wizard-actions[hidden],.contact-wizard-progress~.enquiry-submit-row[hidden] { display:none!important; }
.contact-wizard-back { min-width:110px; min-height:46px; padding:0 18px; border:1px solid #a7becd; border-radius:8px; color:#1b637d!important; background:#eef8fc!important; font:inherit; font-size:13px; font-weight:700; cursor:pointer; }
.contact-wizard-back:hover { border-color:#168db9; color:#0b728f!important; }
.contact-wizard-feedback { min-height:0; margin:0 0 8px; color:#a43c00; font-size:12px; font-weight:700; }
.enquiry-field[hidden],.client-details-grid[hidden],.order-products[hidden],.order-consent[hidden] { display:none!important; }
.contact-wizard-next { min-width:150px; }
.enquiry-card .contact-wizard-next:hover,.enquiry-card .contact-wizard-next:focus-visible { color:#db5800!important; background:#fff!important; }
.contact-wizard-progress~.enquiry-submit-row:not([hidden]) { margin-top:23px; }
.contact-flow-card { width:100%; box-sizing:border-box; margin:26px 0 0; padding:0!important; border:0!important; border-radius:0!important; background:transparent!important; box-shadow:none!important; }
.contact-flow-card .enquiry-fields { grid-template-columns:1fr!important; gap:16px; }
.contact-flow-card .enquiry-field { grid-column:1/-1; }
.contact-flow-card h2,.contact-flow-card label,.contact-flow-card legend { color:#143a53!important; }
.contact-flow-card .enquiry-eyebrow { color:#0b728f!important; }
.contact-flow-card .enquiry-card-intro { color:#38566b!important; }
.contact-flow-card .delivery-note { color:#405e71!important; background:#eef6fb!important; }
.contact-flow-card :is(input:not([type="checkbox"]),select,textarea) { box-sizing:border-box; width:100%; min-width:0; color:#18344a!important; border-color:#bdcdd8!important; background:#fff!important; }
.contact-flow-card :is(input,textarea)::placeholder { color:#687f90!important; opacity:1; }
.contact-flow-card .order-hint,.contact-flow-card .order-date-note { color:#526b7d; }
.contact-flow-card .enquiry-primary { background:#ff812c; color:#fff; }
.contact-flow-card .enquiry-primary:hover { background:#fff!important; color:#db5800!important; }
@media(max-width:1100px) { .contact-kind-options { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:1000px) { .contact-start-layout { gap:30px; } }
@media(min-width:601px) and (max-width:800px) { .contact-common-card .enquiry-fields .enquiry-field>label { min-height:36px; display:flex; align-items:flex-end; } }
@media(max-width:600px) { .contact-common-card { padding:22px 18px; } .contact-common-card .enquiry-fields { grid-template-columns:1fr; gap:15px; } .contact-kind-options { grid-template-columns:repeat(2,minmax(0,1fr)); } .contact-common-actions { align-items:stretch; } .contact-wizard-actions>* { flex:1; } }
@media(min-width:1101px){.contact-kind-options{grid-template-columns:repeat(4,minmax(0,1fr))}}
.contact-common-card .bed-configuration-options{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:12px;gap:10px}
.contact-common-card .bed-configuration-options label{padding:12px 10px;min-height:54px;border:1px solid #c6dce9;border-radius:10px;background:#f6fbff}
.contact-common-card .bed-configuration-options label:has(input:checked){border-color:#0089ba;background:#eaf7fc;box-shadow:inset 0 0 0 1px #0089ba}
@media(max-width:700px){.contact-common-card .bed-configuration-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
.contact-common-card .bed-configuration-options label span,
.contact-common-card .bed-configuration-options input:checked+span{
 color:#143a53!important;
}
