/* ===== Contact / Enquiry page ===== */
.contact-hero{background:var(--forest);color:var(--cream);padding:56px 0 64px}
.contact-hero .breadcrumb{color:rgba(255,253,246,.72);font-size:13px;margin:0 0 14px}
.contact-hero .breadcrumb a{color:var(--cream)}
.contact-hero h1{color:var(--cream);margin:0 0 10px}
.contact-hero .lead{color:rgba(255,253,246,.85);font-size:18px;max-width:600px;margin:0 0 18px}
.reply-chip{display:inline-flex;align-items:center;gap:8px;background:rgba(226,106,36,.18);border:1px solid rgba(255,253,246,.25);color:#ffe9d2;font-size:14px;font-weight:600;padding:8px 14px;border-radius:999px}

.contact-main{padding:48px 0 72px}
.contact-layout{display:grid;grid-template-columns:3fr 2fr;gap:34px;align-items:start}

/* Enquiry form */
.enquiry-card .card-body{padding:30px}
.enquiry-card h2{margin:0 0 6px}
.enquiry-form{display:flex;flex-direction:column;gap:14px;margin-top:18px}
.enquiry-form .field{display:flex;flex-direction:column;gap:5px}
.enquiry-form .field label{font-size:15px;font-weight:500;color:var(--ink)}
.enquiry-form .field .req{color:var(--accent-dark)}
.enquiry-form .field input,
.enquiry-form .field select,
.enquiry-form .field textarea{width:100%;padding:11px 12px;border:1px solid #cfc8b4;border-radius:10px;background:#fff;font-size:16px;color:var(--ink);font-family:var(--font-body);min-height:44px}
.enquiry-form .field textarea{min-height:120px;resize:vertical}
.enquiry-form .field input:focus-visible,
.enquiry-form .field select:focus-visible,
.enquiry-form .field textarea:focus-visible{outline:2px solid var(--accent-dark);outline-offset:1px;border-color:var(--accent-dark)}
.field-split{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.enquiry-form .field.check{flex-direction:row;align-items:flex-start;font-size:14px}
.enquiry-form .field.check input{width:18px;height:18px;min-height:0;margin-top:2px;accent-color:var(--accent-dark);flex:none}
.enquiry-form .field.check label{font-size:14px;font-weight:400;color:var(--muted);line-height:1.5}
.enquiry-form .field.check a{color:var(--accent-dark);text-decoration:underline}
.sbf-hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.enquiry-submit{min-height:48px}
.enquiry-form .sbf-trust{margin-top:4px;padding:0}
.enquiry-notice{border-radius:12px;padding:14px 16px;font-size:15px;margin:0 0 8px}
.enquiry-notice--success{background:#e7f2e9;color:var(--forest);border:1px solid #bfd6c6}
.enquiry-notice--error{background:#fdeeea;color:var(--accent-dark);border:1px solid #f0c9b8}

/* Contact card */
.contact-aside{display:flex;flex-direction:column;gap:20px}
.contact-card .card-body,.book-card .card-body{padding:26px}
.contact-card h3,.book-card h3{margin-top:0}
.contact-list{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:12px}
.contact-list li{display:flex;align-items:flex-start;gap:10px;font-size:15px;color:var(--ink);line-height:1.5;word-break:break-word}
.contact-list a{color:var(--accent-dark);text-decoration:underline}
.wa-btn{width:100%;justify-content:center;display:flex;align-items:center;gap:8px}
.contact-social{display:flex;gap:10px;margin-top:16px}
.contact-social a{width:42px;height:42px;border:1px solid #e7e0cf;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:var(--accent-dark);background:#fff;transition:background .2s,border-color .2s}
.contact-social a:hover{background:var(--sand);border-color:var(--accent-dark)}

/* How it works */
.contact-how{padding:72px 0}
.contact-how h2{margin:6px 0 28px}

/* Map */
.contact-map{padding:72px 0}
.map-card{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;background:var(--sand);border:1px solid #e7e0cf;border-radius:var(--radius);overflow:hidden;padding:40px}
.map-card h2{margin:0 0 12px}
.map-address{font-size:17px;color:var(--ink);margin:0 0 18px}
.map-address .icon-inline{display:inline-flex;align-items:center;gap:10px}
.map-embed{min-height:220px;border-radius:14px;overflow:hidden;border:1px solid #cfc8b4;background:var(--sand);align-self:stretch}
.map-embed iframe{display:block;width:100%;height:100%;min-height:220px;border:0}

/* FAQ */
.contact-faq{padding:72px 0}

/* Responsive */
@media(max-width:900px){
	.map-card{grid-template-columns:1fr}
}
@media(max-width:760px){
	.contact-layout{grid-template-columns:1fr}
	.contact-aside{order:-1} /* contact card above the form on mobile */
	.field-split{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.contact-social a{transition:none}}
