/* Contact 2026 — light/cream redesign ported from the Vercel contact page.
   Self-contained .amlab-contact-* classes (no Tailwind dependency) + styling for
   the embedded Contact Form 7 enquiry form. */

.amlab-contact__wrap { max-width: 1200px; margin: 0 auto; padding: 0 24px; }

/* ---- Hero (navy band with faint grid) ---- */
.amlab-contact-hero {
	background-color: #0c1424;
	background-image:
		linear-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px),
		radial-gradient(120% 120% at 80% -10%, rgba(197, 161, 90, .10), transparent 60%);
	background-size: 44px 44px, 44px 44px, 100% 100%;
	padding: 64px 0 76px;
}
.amlab-contact-hero__eyebrow {
	display: flex; align-items: center; gap: 12px;
	color: #c5a15a; font-size: 12px; font-weight: 700; letter-spacing: .18em;
	text-transform: uppercase; margin: 0 0 18px;
}
.amlab-contact-hero__eyebrow span { width: 32px; height: 1px; background: #c5a15a; display: inline-block; }
.amlab-contact-hero__title {
	color: #fff; font-weight: 800; line-height: 1.08; margin: 0 0 18px;
	font-size: clamp(2.1rem, 4vw, 3.3rem);
}
.amlab-contact-hero__lead {
	color: #9fb0c8; font-size: 1.05rem; line-height: 1.6; max-width: 620px; margin: 0;
}

/* ---- Body (cream) ---- */
.amlab-contact-body { background: #f5f1ea; padding: 56px 0 76px; }
.amlab-contact-body__grid {
	display: grid; grid-template-columns: 360px minmax(0, 1fr); gap: 28px; align-items: start;
}
.amlab-contact-card {
	background: #fff; border: 1px solid rgba(32, 41, 64, .07);
	border-radius: 16px; padding: 28px 28px 30px;
	box-shadow: 0 12px 30px -18px rgba(32, 41, 64, .25);
}
.amlab-contact-card__title { color: #202940; font-weight: 700; font-size: 1.25rem; margin: 0 0 20px; }

/* Icons */
.amlab-contact-ico { width: 20px; height: 20px; color: #c5a15a; flex: 0 0 auto; margin-top: 2px; }
.amlab-contact-ico svg { width: 100%; height: 100%; display: block; }

/* Offices card */
.amlab-contact-offices__addr { display: flex; gap: 12px; }
.amlab-contact-offices__name { color: #202940; font-weight: 700; margin: 0 0 4px; }
.amlab-contact-offices__line { color: #5a6577; font-size: .92rem; line-height: 1.55; margin: 0; }
.amlab-contact-offices__hr { border: 0; border-top: 1px solid #ececec; margin: 22px 0; }
.amlab-contact-offices__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; }
.amlab-contact-offices__list li { display: flex; gap: 12px; }
.amlab-contact-offices__label { color: #8a93a3; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; margin: 0 0 3px; }
.amlab-contact-offices__list a { color: #202940; text-decoration: none; font-weight: 600; }
.amlab-contact-offices__list a:hover { color: #c5a15a; }

/* Enquiry card */
.amlab-contact-enquiry__lead { color: #5a6577; font-size: .95rem; line-height: 1.55; margin: 0 0 22px; }
.amlab-contact-enquiry__privacy { color: #8a93a3; font-size: .8rem; line-height: 1.55; margin: 18px 0 0; }

/* ---- Contact Form 7 layout + controls ---- */
.amlab-cform__row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 10px; }
.amlab-cform__field { margin-bottom: 0px; }
.amlab-cform__field p { margin: 0px; }
.wpcf7 label { margin-bottom: 0px; }
.amlab-cform__field > label { display: block; color: #202940; font-weight: 600; font-size: .85rem; margin-bottom: 6px; }
.amlab-cform__field .req { color: #b0562b; font-weight: 500; }
.amlab-cform__field .opt { color: #9aa2ae; font-weight: 500; }
.amlab-contact-enquiry .wpcf7-form-control-wrap { display: block; }
.amlab-contact-enquiry input.wpcf7-form-control,
.amlab-contact-enquiry select.wpcf7-form-control,
.amlab-contact-enquiry textarea.wpcf7-form-control {
	width: 100%; box-sizing: border-box; padding: 12px 14px;
	border: 1px solid #d9dde3; border-radius: 8px; background: #fff;
	color: #202940; font-size: .95rem; font-family: inherit; line-height: 1.4;
	transition: border-color .15s, box-shadow .15s;
}
.amlab-contact-enquiry textarea.wpcf7-form-control { min-height: 140px; resize: vertical; }
.amlab-contact-enquiry input.wpcf7-form-control::placeholder,
.amlab-contact-enquiry textarea.wpcf7-form-control::placeholder { color: #a7adb8; }
.amlab-contact-enquiry input.wpcf7-form-control:focus,
.amlab-contact-enquiry select.wpcf7-form-control:focus,
.amlab-contact-enquiry textarea.wpcf7-form-control:focus {
	outline: none; border-color: #c5a15a; box-shadow: 0 0 0 3px rgba(197, 161, 90, .18);
}
/* Consent */
.amlab-cform__consent { display: flex; align-items: flex-start; gap: 10px; margin: 4px 0 0px; }
.amlab-cform p { margin: 0px; }
.amlab-cform__consent .wpcf7-list-item { margin: 0; }
.amlab-cform__consent label { display: flex; align-items: flex-start; gap: 10px; color: #5a6577; font-size: .75rem; line-height: 1.5; }
.amlab-cform__consent input[type="checkbox"] { margin-top: 2px; width: 16px; height: 16px; accent-color: #c5a15a; flex: 0 0 auto; }
/* Submit — input.wpcf7-submit matches the input.wpcf7-form-control specificity
   and comes later, so it overrides the generic field styling (white/full-width). */
.amlab-contact-enquiry input.wpcf7-submit {
	width: auto; display: inline-block;
	background: #c5a15a; color: #1a2238; border: 0; border-radius: 8px;
	padding: 12px 24px; font-weight: 700; font-size: .95rem; line-height: 1.4; cursor: pointer;
	transition: background .15s, transform .05s;
}
.amlab-contact-enquiry input.wpcf7-submit:hover { background: #b8934a; }
.amlab-contact-enquiry input.wpcf7-submit:active { transform: translateY(1px); }
/* Spinner overlays the (full-width) submit button instead of taking its own line. */
.amlab-contact-enquiry p:has(> input.wpcf7-submit) { position: relative; }
.amlab-contact-enquiry .wpcf7-spinner { position: absolute; top: 50%; right: 18px; margin: 0; transform: translateY(-50%); }
.amlab-contact-enquiry .wpcf7-response-output {
	margin: 18px 0 0 !important; border-radius: 8px; font-size: .9rem; padding: 12px 16px !important;
}
.amlab-contact-enquiry .wpcf7-not-valid-tip { color: #b0562b; font-size: .8rem; margin-top: 4px; }

/* ---- Responsive ---- */
@media (max-width: 900px) {
	.amlab-contact-body__grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
	.amlab-cform__row { grid-template-columns: 1fr; gap: 0; }
	.amlab-contact-card { padding: 22px 18px 24px; }
}
