/* CFS 2030 shared customer-form presentation */
:root {
  --cfs-form-ink: #172313;
  --cfs-form-copy: #5f665c;
  --cfs-form-green: #20391a;
  --cfs-form-accent: #4f6b25;
  --cfs-form-warm: #f7f4ee;
  --cfs-form-panel: #eef1eb;
  --cfs-form-line: #ddd8cf;
  --cfs-form-error: #b42318;
}

.cfs-form-page { padding: 26px 0 64px; color: var(--cfs-form-ink); background: #fff; }
.cfs-form-page * { box-sizing: border-box; }
.cfs-form-shell { width: min(1320px, calc(100% - 32px)); margin: 0 auto; }
.cfs-form-breadcrumb { display: flex; gap: 9px; align-items: center; margin: 0 0 24px; color: var(--cfs-form-copy); font-size: 13px; }
.cfs-form-breadcrumb a { color: inherit; text-decoration: none; }
.cfs-form-breadcrumb strong { color: var(--cfs-form-ink); }
.cfs-form-hero { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 42px; padding: 38px 42px; border-radius: 14px; background: var(--cfs-form-warm); }
.cfs-form-kicker { margin: 0 0 10px; color: var(--cfs-form-accent); font-size: 12px; font-weight: 800; letter-spacing: 1.1px; text-transform: uppercase; }
.cfs-form-hero h1 { margin: 0 0 13px; color: var(--cfs-form-ink); font-size: clamp(38px, 4vw, 52px); line-height: 1.08; }
.cfs-form-hero-copy > p:last-of-type { max-width: 760px; margin: 0; color: var(--cfs-form-copy); font-size: 17px; line-height: 1.65; }
.cfs-form-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.cfs-form-button { min-height: 48px; padding: 0 22px; border: 1px solid var(--cfs-form-green); display: inline-flex; align-items: center; justify-content: center; color: var(--cfs-form-green); background: #fff; font-size: 13px; font-weight: 800; text-decoration: none; text-transform: uppercase; cursor: pointer; }
.cfs-form-button--primary { color: #fff; background: var(--cfs-form-green); }
.cfs-form-button:focus-visible, .cfs-form-page input:focus-visible, .cfs-form-page select:focus-visible, .cfs-form-page textarea:focus-visible { outline: 3px solid rgba(79,107,37,.24); outline-offset: 2px; }
.cfs-form-summary { padding: 24px; border: 1px solid var(--cfs-form-line); border-radius: 12px; display: grid; align-content: start; gap: 14px; background: #fff; }
.cfs-form-summary strong { color: var(--cfs-form-green); font-size: 22px; }
.cfs-form-summary ul { margin: 0; padding: 0; display: grid; gap: 11px; list-style: none; }
.cfs-form-summary li { padding-left: 24px; position: relative; color: var(--cfs-form-copy); font-size: 13px; line-height: 1.5; }
.cfs-form-summary li::before { content: "\2713"; position: absolute; left: 0; color: var(--cfs-form-accent); font-weight: 800; }
.cfs-form-flash { margin: 18px 0 0; padding: 14px 16px; border: 1px solid #b8d8b2; border-radius: 8px; color: #185c21; background: #f0faef; font-weight: 700; }
.cfs-form-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr); gap: 24px; margin-top: 24px; align-items: start; }
.cfs-form-card, .cfs-form-support { padding: 28px; border: 1px solid var(--cfs-form-line); border-radius: 12px; background: #fff; }
.cfs-form-card h2, .cfs-form-support h2 { margin: 0 0 8px; font-size: 28px; }
.cfs-form-intro { margin: 0 0 22px; color: var(--cfs-form-copy); font-size: 14px; line-height: 1.55; }
.cfs-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
.cfs-form-field { min-width: 0; }
.cfs-form-field--full { grid-column: 1 / -1; }
.cfs-form-field label { display: block; margin-bottom: 7px; color: var(--cfs-form-ink); font-size: 13px; font-weight: 700; }
.cfs-form-required { color: var(--cfs-form-error); }
.cfs-form-page input:not([type="checkbox"]):not([type="file"]), .cfs-form-page select, .cfs-form-page textarea { width: 100%; min-height: 50px; padding: 12px 13px; border: 1px solid #c9c3b9; border-radius: 5px; color: var(--cfs-form-ink); background: #fff; font: inherit; }
.cfs-form-page textarea { min-height: 150px; resize: vertical; }
.cfs-form-page .is-invalid { border-color: var(--cfs-form-error) !important; }
.cfs-form-error { min-height: 18px; margin-top: 5px; color: var(--cfs-form-error); font-size: 12px; }
.cfs-form-hint { margin-top: 5px; color: var(--cfs-form-copy); font-size: 12px; }
.cfs-form-counter { text-align: right; }
.cfs-form-upload { padding: 18px; border: 1px dashed #b9b1a5; border-radius: 8px; background: var(--cfs-form-warm); }
.cfs-form-upload[hidden] { display: none; }
.cfs-form-upload ul { margin: 0 0 15px; padding-left: 18px; color: var(--cfs-form-copy); font-size: 12px; line-height: 1.6; }
.cfs-form-files { display: grid; gap: 9px; }
.cfs-form-files input { width: 100%; padding: 9px; border: 1px solid var(--cfs-form-line); border-radius: 5px; background: #fff; }
.cfs-form-add-file { margin-top: 10px; padding: 0; border: 0; color: var(--cfs-form-green); background: transparent; font-size: 12px; font-weight: 800; text-decoration: underline; cursor: pointer; }
.cfs-form-consent { grid-column: 1 / -1; display: flex; gap: 9px; align-items: flex-start; color: var(--cfs-form-copy); font-size: 12px; line-height: 1.5; }
.cfs-form-consent input { width: 18px; height: 18px; margin-top: 1px; flex: 0 0 18px; accent-color: var(--cfs-form-green); }
.cfs-form-actions { grid-column: 1 / -1; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.cfs-form-actions .cfs-form-button { min-width: 190px; }
.cfs-form-actions button[disabled] { opacity: .62; cursor: wait; }
.cfs-form-status { margin: 0; color: var(--cfs-form-copy); font-size: 13px; }
.cfs-form-support { background: var(--cfs-form-warm); }
.cfs-form-support-list { display: grid; gap: 10px; }
.cfs-form-support-item { min-height: 75px; padding: 14px; border: 1px solid var(--cfs-form-line); border-radius: 8px; display: flex; gap: 12px; align-items: center; color: inherit; background: #fff; text-decoration: none; }
.cfs-form-support-icon { width: 38px; height: 38px; flex: 0 0 38px; border-radius: 50%; display: grid; place-items: center; color: var(--cfs-form-green); background: var(--cfs-form-panel); font-weight: 800; }
.cfs-form-support-item strong, .cfs-form-support-item span { display: block; }
.cfs-form-support-item strong { color: var(--cfs-form-green); font-size: 13px; }
.cfs-form-support-item span { color: var(--cfs-form-copy); font-size: 12px; }
.cfs-form-privacy { margin: 16px 0 0; color: var(--cfs-form-copy); font-size: 12px; line-height: 1.55; }
.cfs-form-privacy a { color: var(--cfs-form-green); font-weight: 700; }
.cfs-form-map { min-height: 360px; border: 0; border-radius: 10px; overflow: hidden; }
.cfs-form-map iframe { width: 100%; height: 100%; min-height: 360px; border: 0; display: block; }

/* Existing contact page receives the same visual language without changing its submit contract. */
body[data-cfs-page="c-contactus"] .contactus-main,
body[data-cfs-page="c-contactus"] .contactform-sec { background: #fff !important; }
body[data-cfs-page="c-contactus"] .contactus-main > .container,
body[data-cfs-page="c-contactus"] .contactform-sec > .container { width: min(1320px, calc(100% - 32px)); max-width: none; padding: 28px 0; }
body[data-cfs-page="c-contactus"] .contact-details,
body[data-cfs-page="c-contactus"] #enqfrm { border: 1px solid var(--cfs-form-line); border-radius: 12px !important; box-shadow: none !important; }
body[data-cfs-page="c-contactus"] #enqfrm { padding: 26px; background: #fff; }
body[data-cfs-page="c-contactus"] #enqfrm .form-control,
body[data-cfs-page="c-contactus"] #enqfrm .form-select { min-height: 50px; border-color: #c9c3b9; }
body[data-cfs-page="c-contactus"] #submitBtn { min-height: 48px; border-color: var(--cfs-form-green); background: var(--cfs-form-green); font-weight: 800; text-transform: uppercase; }

@media (max-width: 991px) {
  .cfs-form-hero { grid-template-columns: 1fr; gap: 24px; padding: 28px; }
  .cfs-form-layout { grid-template-columns: 1fr; }
}
@media (max-width: 639px) {
  .cfs-form-page { padding-top: 18px; }
  .cfs-form-shell { width: min(100% - 24px, 1320px); }
  .cfs-form-hero { padding: 22px 18px; border-radius: 10px; }
  .cfs-form-hero h1 { font-size: 34px; }
  .cfs-form-hero-copy > p:last-of-type { font-size: 15px; }
  .cfs-form-hero-actions { flex-direction: column; }
  .cfs-form-button { width: 100%; }
  .cfs-form-card, .cfs-form-support { padding: 20px 16px; }
  .cfs-form-grid { grid-template-columns: 1fr; }
  .cfs-form-field--full, .cfs-form-consent, .cfs-form-actions { grid-column: auto; }
  .cfs-form-actions { align-items: stretch; flex-direction: column; }
  .cfs-form-actions .cfs-form-button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) { .cfs-form-page * { scroll-behavior: auto !important; } }
.cfs-contact-page__cards{margin:22px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.cfs-contact-page__cards a{min-height:96px;padding:20px;border:1px solid #dedbd4;border-radius:10px;display:flex;flex-direction:column;justify-content:center;color:#203719;background:#fff;text-decoration:none}.cfs-contact-page__cards strong,.cfs-contact-page__cards span{display:block}.cfs-contact-page__cards span{margin-top:5px;color:#5f6672;font-size:13px}.cfs-contact-page__location{margin:0 0 34px;padding:clamp(22px,4vw,34px);border-radius:12px;display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:30px;background:#f8f5ef}.cfs-contact-page__location h2{margin:0 0 12px;font-size:30px}.cfs-contact-page__location address{color:#5f6672;font-style:normal;line-height:1.7}.cfs-contact-page__location dl{margin:18px 0}.cfs-contact-page__location dl div{padding:7px 0;border-bottom:1px solid #dedbd4;display:flex;justify-content:space-between;gap:14px}.cfs-contact-page__location dt{font-weight:700}.cfs-contact-page__location dd{margin:0}.cfs-contact-page__location iframe{width:100%;height:380px;border:0;border-radius:10px}.contactform-sec{padding:48px 16px!important;background:#f8f5ef!important}.contactform-sec>.container{max-width:1050px;padding:clamp(22px,4vw,38px);border:1px solid #dedbd4;border-radius:12px;background:#fff}.contactform-sec .form-control,.contactform-sec .form-select{min-height:48px;border-color:#cfcac1}.contactform-sec textarea.form-control{min-height:140px}@media(max-width:800px){.cfs-contact-page__cards,.cfs-contact-page__location{grid-template-columns:1fr}}@media(max-width:520px){.cfs-contact-page__cards{grid-template-columns:1fr}.cfs-contact-page__location iframe{height:300px}}

/* Enquiry/contact usability hardening — 2026-08-11 */
.cfs-form-page{overflow-x:clip}
.cfs-form-hero-copy,.cfs-form-summary,.cfs-form-card,.cfs-form-support,.cfs-form-support-item>span:last-child{min-width:0}
.cfs-form-hero h1{max-width:20ch;overflow-wrap:anywhere;text-wrap:balance}
.cfs-form-hero-copy>p,.cfs-form-support-item span{overflow-wrap:anywhere}
.cfs-form-button{transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}
.cfs-form-button:hover{color:#fff;background:var(--cfs-form-green);text-decoration:none;transform:translateY(-1px)}
.cfs-form-button--primary:hover{border-color:#152711;background:#152711}
.cfs-form-support{position:sticky;top:150px}
.cfs-form-support-item{position:relative;padding-right:42px;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.cfs-form-support-item::after{content:"\2192";position:absolute;right:16px;top:50%;color:var(--cfs-form-green);font-size:18px;line-height:1;transform:translateY(-50%)}
.cfs-form-support-item:hover{border-color:#9fa996;box-shadow:0 5px 15px rgba(23,35,19,.08);text-decoration:none;transform:translateY(-1px)}
.cfs-form-support-item:focus-visible{outline:3px solid rgba(79,107,37,.24);outline-offset:2px}
.cfs-form-support-icon{font-size:17px;line-height:1}




#enquiry-form,#enquiry-form-title{scroll-margin-top:170px}
#enquiry-form-title:focus{outline:none}
.cfs-contact-page__cards a{position:relative;padding-right:48px;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.cfs-contact-page__cards a::after{content:"\2192";position:absolute;right:20px;top:50%;font-size:18px;line-height:1;transform:translateY(-50%)}
.cfs-contact-page__cards a:hover{border-color:#9fa996;box-shadow:0 5px 15px rgba(23,35,19,.08);transform:translateY(-1px)}
@media(max-width:991px){.cfs-form-support{position:static}.cfs-form-hero h1{max-width:24ch}}
@media(max-width:639px){.cfs-form-hero h1{max-width:100%;font-size:clamp(30px,9vw,36px);line-height:1.12}.cfs-form-hero-actions .cfs-form-button{white-space:normal;text-align:center}.cfs-form-support-item{min-height:78px;padding:14px 42px 14px 12px}.cfs-form-support-icon{width:42px;height:42px;flex-basis:42px}.cfs-form-breadcrumb{margin-bottom:16px}}

