/* Module: Trusted + Contact — ported from the approved slice (sections/07-trusted-contact.css) */
.trusted-contact {
	position: relative;
	background: linear-gradient(to bottom, var(--skin-teal-10) 0%, rgba(230,246,245,0) 52%);
	overflow: hidden;
}
.trusted-contact__map {
	position: absolute;
	inset: 0;
	width: 100%; height: 100%;
	object-fit: cover;
	opacity: 0.5;
	pointer-events: none;
}
.trusted-contact__cols {
	position: relative;
	z-index: 2;
	display: flex;
}
.trusted-contact__col {
	flex: 1 1 50%;
	padding: 140px 72px 0;
}
.trusted-contact__col h1,
.trusted-contact__col h2,
.trusted-contact__col h3 { font-size: 25px; line-height: 32px; margin-bottom: 24px; }
.trusted-contact__col > p,
.trusted-contact__col > .rte { margin-bottom: 24px; max-width: 816px; }

.trusted-contact--theme-dark { background: linear-gradient(to bottom, rgba(1,169,157,0.16) 0%, rgba(21,19,18,0) 52%), var(--skin-dark-60); }
.trusted-contact--theme-dark .trusted-contact__col h1,
.trusted-contact--theme-dark .trusted-contact__col h2,
.trusted-contact--theme-dark .trusted-contact__col h3 { color: var(--skin-white); }
.trusted-contact--theme-dark .trusted-contact__col { color: var(--skin-white); }

/* Office accordion (shares visual language with .pillar but simpler markup) */
.offices { display: flex; flex-direction: column; gap: 8px; margin-bottom: 24px; max-width: 816px; }
.office-tab {
	border: 1px solid var(--skin-teal);
	background: rgba(255,255,255,0.2);
	backdrop-filter: blur(10px);
	border-radius: 32px;
	box-shadow: inset 0 2px 15px rgba(255,255,255,0.4), inset 0 -2px 15px rgba(0,0,0,0.2);
	overflow: hidden;
}
.office-tab__toggle {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: none;
	border: none;
	cursor: pointer;
	padding: 18px 24px;
	color: var(--skin-teal);
	font-family: var(--font-body);
	font-weight: 500;
	font-size: 16px;
}
.office-tab__icon { font-family: 'Font Awesome 6 Free'; font-weight: 900; }
.office-tab__panel {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.35s ease;
	padding: 0 24px;
}
.office-tab.is-open .office-tab__panel { max-height: 200px; padding-bottom: 18px; }
.office-tab__panel p { color: var(--skin-dark); margin-bottom: 18px; }
.office-tab__row { display: flex; align-items: center; gap: 8px; margin-bottom: 18px; color: var(--skin-dark); }
.office-tab__row i { color: var(--skin-teal); width: 18px; }
.office-tab__placeholder { font-style: italic; color: #8a8482; }

/* Quote form — rendered by Contact Form 7 with form_class:quote-form (see
   SETUP.md) so the real <form> element carries this class directly. */
.quote-form { display: flex; flex-direction: column; gap: 12px; max-width: 816px; margin-bottom: 24px; }
.quote-form__field {
	border: 1px solid var(--skin-teal-40);
	background: rgba(255,255,255,0.6);
	backdrop-filter: blur(10px);
	border-radius: 1000px;
	padding: 18px 24px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	box-shadow: inset 0 2px 15px rgba(255,255,255,0.4), inset 0 -2px 15px rgba(0,0,0,0.2);
	position: relative;
}
.quote-form__field label {
	font-family: var(--font-body);
	font-weight: 500;
	font-size: 16px;
	color: var(--skin-teal);
}
.quote-form__field input,
.quote-form__field textarea {
	border: none;
	background: none;
	outline: none;
	font-family: var(--font-body);
	font-weight: 300;
	font-size: 16px;
	letter-spacing: 0.32px;
	color: var(--skin-dark);
	padding: 0;
	width: 100%;
}
.quote-form__field input::placeholder,
.quote-form__field textarea::placeholder { color: rgba(52,47,45,0.4); }

/* Contact Form 7 furniture — unstyled by default, needs to at least sit on-brand. */
.quote-form .wpcf7-not-valid-tip { display: block; color: #C0392B; font-size: 13px; margin-top: 4px; }
.quote-form .wpcf7-form-control-wrap { display: block; width: 100%; }
.quote-form .wpcf7-response-output { border-radius: 18px; padding: 14px 20px; margin: 0; font-size: 14px; }
.quote-form.invalid .wpcf7-response-output { border-color: #C0392B; color: #C0392B; }
.quote-form.sent .wpcf7-response-output { border-color: var(--skin-teal); color: var(--skin-teal); }
.quote-form .wpcf7-spinner { margin-left: 12px; }
.quote-form .skin-btn[type="submit"] { align-self: flex-start; border: none; }
