/**
 * McCarthy & Stone Resales — Elementor footer 98 redesign accents.
 * Complements Elementor Style settings: berry underlines, social rings, partners.
 * Safe to keep while clients edit post 98 in Elementor.
 */

.elementor-location-footer,
.elementor-98 {
	--mcc-footer-charcoal: #1f1f1f;
	--mcc-footer-berry: #7a1e39;
	--mcc-footer-stone: #bcaf9e;
	--mcc-footer-bg: #ececeb;
	--mcc-footer-partners-bg: #f7f6f4;
	--mcc-footer-muted: #4a4a4a;
}

/*
 * Partner strip (section e7673ff).
 */
.elementor-98 .elementor-element-e7673ff {
	border-bottom: none;
	padding-block: 28px !important;
}

.elementor-98 .mcc-footer-partners .elementor-widget-image img,
.elementor-98 .mcc-footer-partner.elementor-widget-image img,
.elementor-98 .elementor-element-e7673ff .elementor-widget-image img {
	max-height: 88px;
	width: auto;
	max-width: 170px;
	object-fit: contain;
	display: block;
	margin-inline: auto;
}

.elementor-98 .elementor-element-e7673ff > .elementor-container {
	align-items: stretch;
}

.elementor-98 .elementor-element-e7673ff > .elementor-container > .elementor-column > .elementor-widget-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
}

/* Berry accent under column headings */
.elementor-98 .mcc-footer-heading .elementor-heading-title {
	position: relative;
	display: inline-block;
	padding-bottom: 0.4rem;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.3;
}

.elementor-98 .mcc-footer-heading .elementor-heading-title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 2.25rem;
	height: 2px;
	background: var(--mcc-footer-berry);
}

/* Rules between brand / columns / legal */
.elementor-98 .mcc-footer-rule .elementor-divider-separator {
	border-top-style: solid !important;
	border-top-color: var(--mcc-footer-stone) !important;
	border-top-width: 1px !important;
}

/* Top brand divider was 10px in Elementor — too heavy on small screens */
.elementor-98 .elementor-element-7ddf5a2 {
	--divider-border-width: 1px !important;
}

.elementor-98 .elementor-element-7ddf5a2 .elementor-divider-separator {
	border-top-color: var(--mcc-footer-stone) !important;
}

.elementor-98 .elementor-element-7ddf5a2 .elementor-divider {
	padding-block-start: 12px !important;
	padding-block-end: 12px !important;
}

/* Column link lists */
.elementor-98 .mcc-footer-links .elementor-icon-list-text,
.elementor-98 .mcc-footer-contact .elementor-icon-list-text {
	color: #f6f6f6;
	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 1.45;
}

.elementor-98 .mcc-footer-links .elementor-icon-list-item:hover .elementor-icon-list-text,
.elementor-98 .mcc-footer-links a:hover .elementor-icon-list-text {
	color: var(--mcc-footer-berry);
}

.elementor-98 .mcc-footer-links .elementor-icon-list-icon {
	display: none;
}

/* Contact icons stay berry */
.elementor-98 .mcc-footer-contact .elementor-icon-list-icon i,
.elementor-98 .mcc-footer-contact .elementor-icon-list-icon svg {
	color: var(--mcc-footer-berry);
	fill: var(--mcc-footer-berry);
}

/* Social circles — outline by default, berry fill on hover */
.elementor-98 .mcc-footer-social .elementor-social-icon {
	border: 1px solid var(--mcc-footer-stone) !important;
	background-color: transparent !important;
	color: var(--mcc-footer-charcoal) !important;
}

.elementor-98 .mcc-footer-social .elementor-social-icon:hover,
.elementor-98 .mcc-footer-social .elementor-social-icon:focus {
	background-color: var(--mcc-footer-berry) !important;
	border-color: var(--mcc-footer-berry) !important;
	color: #fff !important;
}

.elementor-98 .mcc-footer-social .elementor-social-icon i,
.elementor-98 .mcc-footer-social .elementor-social-icon svg {
	color: inherit !important;
	fill: currentColor !important;
}

/* Legal + copyright */
.elementor-98 .mcc-footer-legal .elementor-nav-menu a {
	color: var(--mcc-footer-charcoal);
	font-weight: 500;
}

.elementor-98 .mcc-footer-legal .elementor-nav-menu a:hover {
	color: var(--mcc-footer-berry);
}

.elementor-98 .mcc-footer-copyright {
	color: var(--mcc-footer-muted);
}

@media (max-width: 912px) {
	.elementor-98 .mcc-footer-partners .elementor-widget-image img,
	.elementor-98 .mcc-footer-partner.elementor-widget-image img,
	.elementor-98 .elementor-element-e7673ff .elementor-widget-image img {
		max-height: 44px;
		max-width: 96px;
	}

	/* Brand row: stack logo + tagline, centre both */
	.elementor-98 .elementor-element-c7db5ff > .elementor-container {
		flex-direction: column;
		align-items: center;
		text-align: center;
		row-gap: 0.75rem;
	}

	.elementor-98 .elementor-element-318daeb,
	.elementor-98 .elementor-element-1eef058 {
		width: 100% !important;
	}

	.elementor-98 .mcc-footer-logo,
	.elementor-98 .elementor-element-40ddd8c {
		text-align: center !important;
	}

	.elementor-98 .mcc-footer-tagline,
	.elementor-98 .elementor-element-6c4393d {
		text-align: center !important;
	}

	.elementor-98 .mcc-footer-tagline .elementor-heading-title,
	.elementor-98 .elementor-element-6c4393d .elementor-heading-title {
		text-align: center !important;
	}

	/* Link columns: two per row on tablet, consistent spacing */
	.elementor-98 .elementor-element-061aab5 > .elementor-container {
		row-gap: 1.5rem;
	}

	.elementor-98 .elementor-element-061aab5 .elementor-column {
		padding-inline: 0.5rem;
	}
}

@media (max-width: 541px) {
	.elementor-98 .elementor-element-e7673ff {
		padding: 16px 12px !important;
	}

	.elementor-98 .elementor-element-e7673ff > .elementor-container {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		column-gap: 12px;
		row-gap: 14px;
	}

	.elementor-98 .elementor-element-e7673ff > .elementor-container > .elementor-column {
		width: calc(33.333% - 12px) !important;
		flex: 0 0 calc(33.333% - 12px);
		max-width: calc(33.333% - 12px);
	}

	.elementor-98 .mcc-footer-partners .elementor-widget-image img,
	.elementor-98 .mcc-footer-partner.elementor-widget-image img,
	.elementor-98 .elementor-element-e7673ff .elementor-widget-image img {
		max-height: 36px;
		max-width: 82px;
		margin-inline: auto;
	}

	.elementor-98 .elementor-element-c7db5ff {
		padding: 24px 16px 12px !important;
	}

	.elementor-98 .elementor-element-40ddd8c img {
		width: min(200px, 72vw) !important;
		margin-inline: auto;
	}

	/* Stack all footer nav columns full width */
	.elementor-98 .elementor-element-061aab5 {
		padding: 12px 20px 8px !important;
	}

	.elementor-98 .elementor-element-061aab5 > .elementor-container {
		flex-direction: column;
		align-items: stretch;
		row-gap: 1.75rem;
	}

	.elementor-98 .elementor-element-b3b673f,
	.elementor-98 .elementor-element-7ced3f6,
	.elementor-98 .elementor-element-7bb391a,
	.elementor-98 .elementor-element-388709e {
		width: 100% !important;
	}

	.elementor-98 .elementor-element-061aab5 .elementor-widget-wrap {
		align-items: flex-start;
	}

	.elementor-98 .mcc-footer-heading .elementor-heading-title::after {
		left: 0;
		transform: none;
	}

	.elementor-98 .mcc-footer-social .elementor-widget-container,
	.elementor-98 .mcc-footer-social .elementor-social-icons-wrapper {
		justify-content: flex-start;
	}

	.elementor-98 .mcc-footer-legal .elementor-nav-menu {
		flex-wrap: wrap;
		justify-content: center !important;
		row-gap: 0.5rem;
	}

	.elementor-98 .mcc-footer-copyright {
		text-align: center;
	}
}
