/* One footer layout for both existing Elementor sections and PHP templates. */
body .ridest-footer {
	width: 100%;
	max-width: none;
	box-sizing: border-box;
	background: #111;
	color: #f4f4f4;
	padding: 52px 18px 72px !important;
}
body .ridest-footer > .elementor-container {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
	gap: 26px;
	align-items: start;
	width: 100%;
	max-width: 920px;
	margin: 0 auto;
}
body .ridest-footer .elementor-column { width: 100% !important; min-width: 0; }
body .ridest-footer .elementor-widget-wrap { display: block; padding: 0; }
body .ridest-footer .elementor-widget { width: 100%; }
body .ridest-footer-heading .elementor-heading-title {
	margin: 0 0 19px;
	color: #777;
	font-family: "IBM Plex Mono", "Courier New", monospace;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 0;
}
body .ridest-footer-text, body .ridest-footer-link {
	margin: 0;
	color: #f4f4f4;
	font: 400 13px/1.45 Arial, Helvetica, sans-serif;
	overflow-wrap: anywhere;
}
body .ridest-footer-text p, body .ridest-footer-link p { margin: 0 0 14px; }
body .ridest-footer a { color: inherit; text-decoration: none; }
body .ridest-footer a:hover, body .ridest-footer a:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 768px) {
	body .ridest-footer { padding: 72px 36px 96px !important; }
	body .ridest-footer > .elementor-container { gap: 120px; }
	body .ridest-footer-heading .elementor-heading-title, body .ridest-footer-text, body .ridest-footer-link { font-size: 14px; }
}
@media (min-width: 1025px) {
	body .ridest-footer { padding: 86px 64px 104px !important; border-top: 1px solid #272727; }
	/* Keep Elementor widget spacing without relying on its page-specific CSS. */
	body .ridest-footer .elementor-widget,
	body .ridest-footer .elementor-widget-container { display: flow-root; }
	body .ridest-footer .ridest-footer-heading { margin: 0 0 20px; }
	body .ridest-footer > .elementor-container {
		grid-template-columns: minmax(0, 1fr) minmax(220px, 0.42fr);
		gap: 140px;
		max-width: 1320px;
	}
	body .ridest-footer-heading .elementor-heading-title { margin-bottom: 24px; font-size: 13px; }
	body .ridest-footer-text, body .ridest-footer-link { font-family: "IBM Plex Sans", Arial, sans-serif; font-size: 15px; line-height: 1.55; }
	body .ridest-footer-text p, body .ridest-footer-link p { margin-bottom: 13px; }
}
