.mcc-bg-soft { background: var(--mcc-light); }

.contact-method__icon,
.contact-team__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	border-radius: 14px;
	color: #fff;
	flex: none;
}
.contact-method__icon--green,
.contact-team__icon--green  { background: var(--mcc-green-dark); }
.contact-method__icon--blue,
.contact-team__icon--blue   { background: #2f7dc0; }
.contact-method__icon--gold,
.contact-team__icon--gold   { background: var(--mcc-gold); color: var(--mcc-ink); }
.contact-method__icon--purple { background: #7b5bd6; }

/* Hero */
.contact-hero {
	position: relative;
	background: var(--mcc-navy);
	color: #fff;
	overflow: hidden;
}
.contact-hero__bg { position: absolute; inset: 0; z-index: 0; }
.contact-hero__img { width: 100%; height: 100%; object-fit: cover; object-position: right center; }
.contact-hero__overlay {
	position: absolute; inset: 0; z-index: 1;
	background: linear-gradient(100deg, rgba(18, 39, 72, .94) 0%, rgba(18, 39, 72, .82) 38%, rgba(24, 60, 92, .48) 66%, rgba(24, 60, 92, .18) 100%);
}
.contact-hero__inner { position: relative; z-index: 2; padding: 4.5rem 0 5rem; }

.contact-hero__crumb {
	display: flex; align-items: center; gap: .7rem;
	font-weight: 700; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase;
	margin-bottom: 1.6rem;
}
.contact-hero__crumb a { color: rgba(255, 255, 255, .8); }
.contact-hero__crumb a:hover { color: #fff; }
.contact-hero__crumb span { color: rgba(255, 255, 255, .5); }
.contact-hero__crumb .is-current { color: var(--mcc-green); }

.contact-hero__title {
	color: #fff;
	font-size: clamp(2.6rem, 1.4rem + 4.4vw, 5rem);
	font-weight: 900;
	line-height: 1.02;
	letter-spacing: -.02em;
	margin-bottom: 1.3rem;
}
.contact-hero__hl { color: var(--mcc-gold); }
.contact-hero__lead {
	color: rgba(255, 255, 255, .9);
	font-size: 1.1rem;
	max-width: 32rem;
	margin-bottom: 2rem;
}

.contact-hero__points { display: flex; flex-direction: column; gap: .9rem; max-width: 34rem; margin: 0; }
.contact-hero__point {
	position: relative;
	background: rgba(255, 255, 255, .08);
	border: 1px solid rgba(255, 255, 255, .14);
	border-left: 3px solid var(--mcc-green);
	border-radius: 12px;
	padding: .95rem 1.2rem;
	font-size: .98rem;
	color: rgba(255, 255, 255, .82);
	backdrop-filter: blur(4px);
}
.contact-hero__point strong { color: #fff; font-weight: 700; }

/* Contact Method Cards */
.contact-methods { background: #fff; padding: 4rem 0; }
.contact-method {
	height: 100%;
	background: #fff;
	border: 1px solid var(--mcc-border);
	border-radius: var(--mcc-radius-lg);
	padding: 1.8rem;
	box-shadow: var(--mcc-shadow-sm);
	transition: transform .2s ease, box-shadow .2s ease;
}
.contact-method:hover { transform: translateY(-4px); box-shadow: var(--mcc-shadow); }
.contact-method__label {
	display: block;
	margin: 1.4rem 0 .5rem;
	font-weight: 800; font-size: .8rem; letter-spacing: .1em; text-transform: uppercase;
	color: var(--mcc-muted);
}
.contact-method__value {
	display: block;
	font-family: var(--font-heading); font-weight: 800; font-size: 1.15rem;
	color: var(--mcc-heading); line-height: 1.3;
	word-break: break-word;
}
a.contact-method__value:hover { color: var(--mcc-green-dark); }
.contact-method__sub { display: block; margin-top: .5rem; color: var(--mcc-body); font-size: .95rem; }

/* Form + Map / Info */
.contact-form-block { padding: 4.5rem 0; }

.contact-form-card {
	background: #fff;
	border-radius: var(--mcc-radius-lg);
	box-shadow: var(--mcc-shadow);
	padding: 2.8rem;
	height: 100%;
}
.contact-form-card__title { font-size: clamp(1.7rem, 1.2rem + 1.8vw, 2.3rem); font-weight: 900; margin-bottom: .8rem; }
.contact-form-card__intro { color: var(--mcc-body); max-width: 34rem; margin: 0 auto 2.2rem; }

.mcc-cf7 { text-align: left; }
.mcc-cf7 label { display: block; font-weight: 700; color: var(--mcc-heading); font-size: .95rem; margin-bottom: .5rem; }
.mcc-cf7 label .req { color: var(--mcc-green-dark); }
.mcc-cf7 .mcc-cf7__field > label + .wpcf7-form-control-wrap { display: block; }
.mcc-cf7 input[type="text"],
.mcc-cf7 input[type="tel"],
.mcc-cf7 input[type="email"],
.mcc-cf7 textarea,
.mcc-cf7 select {
	width: 100%;
	background: #f3f6ee;
	border: 1px solid #e2e8da;
	border-radius: 10px;
	padding: .85rem 1rem;
	font-family: var(--font-body);
	font-size: 1rem;
	color: var(--mcc-heading);
	transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.mcc-cf7 textarea { min-height: 140px; resize: vertical; }
.mcc-cf7 select {
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235d6b56' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 1rem center;
	padding-right: 2.6rem;
	cursor: pointer;
}
.mcc-cf7 input::placeholder,
.mcc-cf7 textarea::placeholder { color: #9aa891; }
.mcc-cf7 input:focus,
.mcc-cf7 textarea:focus,
.mcc-cf7 select:focus {
	outline: none;
	background: #fff;
	border-color: var(--mcc-green);
	box-shadow: 0 0 0 3px rgba(111, 178, 86, .18);
}

/* Consent row */
.mcc-cf7__consent { margin-top: .3rem; }
.mcc-cf7__consent label,
.mcc-cf7 .wpcf7-acceptance .wpcf7-list-item-label {
	font-weight: 500; font-size: .92rem; color: var(--mcc-body); line-height: 1.5;
}
.mcc-cf7__consent .wpcf7-list-item { margin: 0; }
.mcc-cf7__consent label { display: flex; gap: .6rem; align-items: flex-start; }
.mcc-cf7__consent input[type="checkbox"],
.mcc-cf7 .wpcf7-acceptance input[type="checkbox"] {
	width: 18px; height: 18px; margin-top: .15rem; flex: none; accent-color: var(--mcc-green-dark);
}

/* Actions row */
.mcc-cf7__actions {
	display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.4rem;
	margin-top: .6rem;
}
.mcc-cf7 input[type="submit"],
.mcc-cf7__actions .mcc-btn {
	appearance: none; -webkit-appearance: none;
}
.mcc-cf7 input[type="submit"] {
	background: var(--mcc-green-dark);
	color: #fff;
	border: 2px solid transparent;
	box-shadow: var(--mcc-shadow-green);
	padding: .95rem 3.2rem .95rem 2rem;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 5l7 7-7 7'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 1.5rem center;
	cursor: pointer;
}
.mcc-cf7 input[type="submit"]:hover { background-color: var(--mcc-green-darker); transform: translateY(-2px);
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 5l7 7-7 7'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1.5rem center;
}
.mcc-cf7__trust {
	display: inline-flex; align-items: center; gap: .5rem;
	font-size: .9rem; color: var(--mcc-body);
}
.mcc-cf7__trust svg { color: var(--mcc-green-dark); flex: none; }

/* CF7 validation / response states */
.mcc-cf7 .wpcf7-not-valid-tip { color: #d33; font-size: .85rem; margin-top: .35rem; }
.mcc-cf7 .wpcf7-not-valid { border-color: #d99 !important; }
.wpcf7-response-output {
	margin: 1.4rem 0 0 !important;
	border-radius: 10px;
	padding: .85rem 1.1rem !important;
	font-size: .95rem;
}
.wpcf7 form.sent .wpcf7-response-output { border-color: var(--mcc-green) !important; background: rgba(111, 178, 86, .1); }

/* Map */
.contact-map {
	display: block;
	border-radius: var(--mcc-radius-lg);
	overflow: hidden;
	box-shadow: var(--mcc-shadow-sm);
	margin-bottom: 1.5rem;
}
.contact-map__img { width: 100%; height: 260px; object-fit: cover; display: block; transition: transform .3s ease; }
.contact-map:hover .contact-map__img { transform: scale(1.03); }

/* Info card */
.contact-info {
	background: #fff;
	border-radius: var(--mcc-radius-lg);
	box-shadow: var(--mcc-shadow-sm);
	padding: 1.9rem;
}
.contact-info__row { display: flex; gap: 1rem; padding: 1.3rem 0; }
.contact-info__row:first-child { padding-top: 0; }
.contact-info__row:last-child { padding-bottom: 0; }
.contact-info__row + .contact-info__row { border-top: 1px solid var(--mcc-border); }
.contact-info__icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 46px; height: 46px; border-radius: 12px; flex: none;
	background: rgba(111, 178, 86, .14); color: var(--mcc-green-dark);
}
.contact-info__body h3 { font-size: 1.1rem; font-weight: 800; margin-bottom: .5rem; }
.contact-info__addr { font-style: normal; color: var(--mcc-body); margin-bottom: .6rem; line-height: 1.55; }
.contact-info__text { color: var(--mcc-body); margin-bottom: .6rem; }
.contact-info__hours { margin-bottom: 0; color: var(--mcc-body); }
.contact-info__hours li { padding: .15rem 0; }
.contact-info__hours .d { font-weight: 700; color: var(--mcc-heading); }
.contact-info__link {
	display: inline-flex; align-items: center; gap: .4rem;
	font-weight: 700; font-size: .95rem; color: var(--mcc-green-dark);
}
.contact-info__link:hover { color: var(--mcc-green-darker); }
.contact-info__link svg { transition: transform .15s ease; }
.contact-info__link:hover svg { transform: translateX(3px); }

/* Talk To The Right Team */
.contact-team__card {
	height: 100%;
	background: #fff;
	border: 1px solid var(--mcc-border);
	border-radius: var(--mcc-radius-lg);
	padding: 2rem;
	box-shadow: var(--mcc-shadow-sm);
	transition: transform .2s ease, box-shadow .2s ease;
}
.contact-team__card:hover { transform: translateY(-4px); box-shadow: var(--mcc-shadow); }
.contact-team__card h3 { font-size: 1.35rem; font-weight: 800; margin: 1.3rem 0 .7rem; }
.contact-team__card p { color: var(--mcc-body); margin-bottom: 1.4rem; }
.contact-team__lines { border-top: 1px solid var(--mcc-border); padding-top: 1.2rem; }
.contact-team__phone {
	display: inline-flex; align-items: center; gap: .5rem;
	font-family: var(--font-heading); font-weight: 800; font-size: 1.05rem;
	color: var(--mcc-green-dark); margin-bottom: .5rem;
}
.contact-team__phone svg { color: var(--mcc-green-dark); }
.contact-team__email { display: block; font-weight: 700; color: #2f7dc0; word-break: break-word; }
.contact-team__email:hover { color: #24608f; }

/* What To Expect */
.contact-expect__media { border-radius: var(--mcc-radius-lg); overflow: hidden; box-shadow: var(--mcc-shadow); }
.contact-expect__img { width: 100%; height: 100%; min-height: 420px; object-fit: cover; display: block; }
.contact-expect__title { margin-bottom: 1rem; }
.contact-expect__hl { color: var(--mcc-green-dark); }
.contact-expect__text { color: var(--mcc-body); font-size: 1.05rem; margin-bottom: 1.8rem; }
.contact-expect__list { display: flex; flex-direction: column; gap: 1rem; }
.contact-expect__item {
	display: flex; gap: 1rem;
	background: #fff;
	border: 1px solid var(--mcc-border);
	border-radius: var(--mcc-radius);
	padding: 1.2rem 1.3rem;
	box-shadow: var(--mcc-shadow-sm);
}
.contact-expect__check {
	display: inline-flex; align-items: center; justify-content: center;
	width: 34px; height: 34px; border-radius: 9px; flex: none;
	background: rgba(111, 178, 86, .16); color: var(--mcc-green-dark);
}
.contact-expect__item h4 { font-size: 1.1rem; font-weight: 800; margin-bottom: .3rem; }
.contact-expect__item p { color: var(--mcc-body); margin-bottom: 0; font-size: .96rem; }

/* FOLLOW ALONG (social) */
.contact-social {
	position: relative;
	background: linear-gradient(115deg, var(--mcc-green-dark) 0%, var(--mcc-eco-a) 42%, var(--mcc-eco-b) 100%);
	border-radius: var(--mcc-radius-lg);
	padding: 3rem;
	overflow: hidden;
	box-shadow: var(--mcc-shadow);
}
.contact-social__title { color: #fff; font-size: clamp(1.7rem, 1.2rem + 1.8vw, 2.4rem); font-weight: 900; margin-bottom: .8rem; }
.contact-social__text { color: rgba(255, 255, 255, .85); margin-bottom: 0; max-width: 26rem; }
.contact-social__card {
	display: flex; align-items: center; gap: 1rem;
	height: 100%;
	background: rgba(255, 255, 255, .08);
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 14px;
	padding: 1.15rem 1.3rem;
	transition: background-color .2s ease, transform .2s ease;
}
.contact-social__card:hover { background: rgba(255, 255, 255, .16); transform: translateY(-3px); }
.contact-social__icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; border-radius: 11px; flex: none;
	background: #fff; color: var(--mcc-heading);
}
.contact-social__card--facebook  .contact-social__icon { color: #1877f2; }
.contact-social__card--instagram .contact-social__icon { color: #e1306c; }
.contact-social__card--youtube   .contact-social__icon { color: #ff0000; }
.contact-social__card--linkedin  .contact-social__icon { color: #0a66c2; }
.contact-social__meta { display: flex; flex-direction: column; line-height: 1.3; }
.contact-social__name { color: #fff; font-weight: 800; font-size: 1.05rem; }
.contact-social__handle { color: rgba(255, 255, 255, .78); font-size: .9rem; }

/* Faq */
.contact-faq__title { margin-bottom: 1rem; }
.contact-faq__hl { color: var(--mcc-green-dark); }
.contact-faq__text { color: var(--mcc-body); font-size: 1.05rem; margin-bottom: 1.8rem; }

.contact-faq .accordion-item {
	border: 1px solid var(--mcc-border);
	border-radius: var(--mcc-radius) !important;
	margin-bottom: 1rem;
	overflow: hidden;
	background: #fff;
	box-shadow: var(--mcc-shadow-sm);
}
.contact-faq .accordion-button {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 1.05rem;
	color: var(--mcc-heading);
	padding: 1.25rem 1.4rem;
	background: #fff;
}
.contact-faq .accordion-item:has(.accordion-button:not(.collapsed)) { border-color: var(--mcc-green); }
.contact-faq .accordion-button:not(.collapsed) { color: var(--mcc-green-dark); background: rgba(111, 178, 86, .06); box-shadow: none; }
.contact-faq .accordion-button:focus { box-shadow: 0 0 0 3px rgba(111, 178, 86, .18); border-color: var(--mcc-green); }
.contact-faq .accordion-button::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234f8e3e' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-size: 1.1rem;
}
.contact-faq .accordion-body { color: var(--mcc-body); padding: 0 1.4rem 1.3rem; font-size: .98rem; }

/* Responsive */
@media (max-width: 991.98px) {
	.contact-hero__inner { padding: 3.5rem 0 4rem; }
	.contact-hero__img { object-position: center; }
	.contact-form-card { padding: 2rem 1.5rem; }
	.contact-social { padding: 2.2rem; }
	.contact-expect__img { min-height: 320px; }
}

@media (max-width: 575.98px) {
	.contact-methods { padding: 3rem 0; }
	.contact-form-block { padding: 3rem 0; }
	.contact-form-card { padding: 1.6rem 1.2rem; }
	.mcc-cf7__actions { flex-direction: column; align-items: flex-start; }
	.contact-social { padding: 1.7rem; }
}
