/* Layout for the shared Elementor footer. Content and links are edited in template 1043. */
.drv-site-footer,
.drv-site-footer * { box-sizing: border-box; }

.drv-site-footer.elementor-element {
	display: block;
	width: 100%;
	padding: 0;
	background: #f8fcfb;
	color: #2d3032;
	font-family: Raleway, Arial, sans-serif;
	font-size: 18px;
	line-height: 1.32;
	hyphens: none;
	word-break: normal;
}

.drv-site-footer__inner.elementor-element {
	display: grid;
	width: calc(100% - 40px);
	max-width: 1100px;
	min-height: 550px;
	grid-template-columns: minmax(0, 415px) minmax(0, 1fr);
	gap: 110px;
	margin: 0 auto;
	padding: 75px 0 70px;
}

/* Elementor containers add default padding; the mockup aligns these edges. */
.drv-site-footer__intro.elementor-element,
.drv-site-footer__details.elementor-element,
.drv-site-footer__nav.elementor-element,
.drv-site-footer__nav-group.elementor-element,
.drv-site-footer__social.elementor-element,
.drv-site-footer__contact.elementor-element { padding: 0; }

.drv-site-footer a { color: inherit; text-decoration: none; }
.drv-site-footer a:hover,
.drv-site-footer a:focus-visible { color: #626d76; text-decoration: underline; }
.drv-site-footer p,
.drv-site-footer a,
.drv-site-footer span { hyphens: none; }

.drv-site-footer__intro.elementor-element,
.drv-site-footer__details.elementor-element { display: block; }

.drv-site-footer__logo.elementor-element { width: 275px; max-width: 100%; text-align: left; }
.drv-site-footer__logo a { display: block; width: 100%; }
.drv-site-footer .drv-site-footer__logo a img[src$=".svg"] {
	display: block;
	width: 100%;
	height: auto;
}

.drv-site-footer .drv-site-footer__intro-copy.elementor-element {
	max-width: 415px;
	margin-top: 30px;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.35;
	color: #2d3032;
	font-family: Raleway, Arial, sans-serif;
}
.drv-site-footer__intro-copy p,
.drv-site-footer__nav-items p,
.drv-site-footer__contact-block p { margin: 0; }

.drv-site-footer__social.elementor-element {
	display: flex;
	width: auto;
	flex-direction: row;
	align-items: center;
	gap: 16px;
	margin-top: 75px;
}
.drv-site-footer__social-icon.elementor-element { width: 36px; }
.drv-site-footer__social-icon--hidden.elementor-element { display: none; }
.drv-site-footer .drv-site-footer__social-icon .elementor-icon-wrapper,
.drv-site-footer .drv-site-footer__social-icon .elementor-icon {
	display: flex;
	width: 36px;
	height: 36px;
	align-items: center;
	justify-content: center;
	color: #17212d;
}
.drv-site-footer .drv-site-footer__social-icon .elementor-icon,
.drv-site-footer .drv-site-footer__social-icon svg {
	color: #17212d !important;
	fill: #17212d !important;
}
.drv-site-footer .drv-site-footer__social-icon svg { width: 34px; height: 34px; }

.drv-site-footer__details.elementor-element { padding-top: 33px; }
.drv-site-footer__nav.elementor-element {
	display: grid;
	grid-template-columns: repeat(6, max-content);
	gap: 18px;
}
.drv-site-footer__nav-group.elementor-element {
	display: flex;
	max-width: 110px;
	flex-direction: column;
	align-items: flex-start;
	gap: 3px;
}
.drv-site-footer__nav-group.elementor-element:nth-child(4) { max-width: 122px; }
.drv-site-footer .drv-site-footer__nav-title .elementor-heading-title,
.drv-site-footer__nav-items.elementor-element {
	color: #2d3032;
	font-family: Raleway, Arial, sans-serif;
	font-size: 15px;
	line-height: 1.35;
}
.drv-site-footer .drv-site-footer__nav-title .elementor-heading-title {
	margin: 0 0 6px;
	font-weight: 700;
	white-space: nowrap;
}
.drv-site-footer .drv-site-footer__nav-title a { color: #2d3032; }

.drv-site-footer__contact.elementor-element {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin-top: 70px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.45;
}
.drv-site-footer__contact-block.elementor-element {
	color: #2d3032;
	font-family: Raleway, Arial, sans-serif;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
}

@media (max-width: 1200px) {
	.drv-site-footer__inner.elementor-element {
		width: calc(100% - 80px);
		grid-template-columns: minmax(0, 38%) minmax(0, 1fr);
		gap: 7vw;
	}
	.drv-site-footer__nav.elementor-element {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 24px 18px;
	}
	.drv-site-footer__contact.elementor-element { margin-top: 55px; }
}

@media (max-width: 760px) {
	.drv-site-footer__inner.elementor-element {
		width: calc(100% - 40px);
		min-height: 0;
		grid-template-columns: 1fr;
		gap: 45px;
		padding: 55px 0;
	}
	.drv-site-footer__logo.elementor-element { width: 275px; }
	.drv-site-footer__intro-copy.elementor-element { margin-top: 30px; font-size: 16px; }
	.drv-site-footer__social.elementor-element { gap: 14px; margin-top: 40px; }
	.drv-site-footer__social-icon.elementor-element,
	.drv-site-footer__social-icon .elementor-icon-wrapper,
	.drv-site-footer__social-icon .elementor-icon,
	.drv-site-footer__social-icon svg { width: 40px; height: 40px; }
	.drv-site-footer__details.elementor-element { padding-top: 0; }
	.drv-site-footer__nav.elementor-element { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.drv-site-footer__nav-title .elementor-heading-title,
	.drv-site-footer__nav-items.elementor-element { font-size: 16px; }
	.drv-site-footer__contact.elementor-element { margin-top: 45px; font-size: 17px; }
}

/* Shared CTA uses native Heading, Divider and Button widgets in template 940. */
.drv-global-footer,
.drv-global-footer .e-con { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --gap: 0px; box-sizing: border-box; }
.drv-global-footer.e-con { display: flex; min-height: 290px; flex-direction: column; justify-content: space-between; padding: 43px 32px 55px; color: #fff; background: #121c29; font-family: var(--drv-font-family); }
.drv-global-footer .elementor-widget { margin: 0; }
.drv-global-footer__heading .elementor-heading-title { margin: 0; color: #fff !important; font-size: clamp(34px,3vw,48px) !important; font-weight: 700 !important; letter-spacing: -.025em; line-height: 1.12 !important; text-align: center; text-wrap: balance; }
.drv-global-footer__action.e-con { display: flex; flex-direction: row; width: min(100%,610px); align-items: center; gap: 24px; margin: 0 auto; }
.drv-global-footer__line { flex: 1 1 auto; width: auto !important; }
.drv-global-footer__line .elementor-divider { padding: 0 !important; }
.drv-global-footer__line .elementor-divider-separator { width: 100% !important; border-top: 1px solid rgba(255,255,255,.62) !important; }
.drv-global-footer__button { flex: 0 0 auto; width: auto !important; }
.drv-global-footer__button .elementor-button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: 0 25px; border-radius: 0; color: #121c29 !important; background: #d36228 !important; font: var(--drv-button-weight) var(--drv-button-size)/var(--drv-button-line-height) var(--drv-font-family) !important; text-decoration: none; text-transform: uppercase; }
.drv-global-footer__button .elementor-button:hover { color: #fff !important; background: #b94e1c !important; }
.drv-global-footer__button .elementor-button:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
@media (max-width: 760px) {
    .drv-global-footer.e-con { min-height: 260px; padding: 42px 24px 46px; }
    .drv-global-footer__heading .elementor-heading-title { font-size: 34px !important; }
    .drv-global-footer__action.e-con { width: min(100%,440px); gap: 18px; }
    .drv-global-footer__button .elementor-button { min-height: 46px; padding-inline: 20px; }
}
