/*
 * Clone fidelity fix.
 *
 * Elementor hides animated widgets with `.elementor-invisible { visibility:hidden }`
 * and normally reveals them from frontend.min.js. That script is present here,
 * but it never completes its init (no warm Elementor init handshake), so every
 * heading, paragraph and button carrying `data-settings="_animation"` stays
 * hidden. The result is the layout you see: correct spacing and images, but
 * blank text everywhere.
 *
 * Rather than reverse-engineer the missing JS handshake, force the animated
 * widgets visible. The trade-off is that entrance animations no longer play —
 * a fair price for a clone that renders identically at rest.
 */

.elementor-invisible {
	visibility: visible !important;
	opacity: 1 !important;
}

/* Motion effects also stagger widgets via transform; neutralise the offsets
   so nothing is left shifted or clipped after the visibility reset. */
.elementor-invisible[data-settings*="animation"] {
	transform: none !important;
}

/* Some widgets rely on the animation classes for their final transform; make
   sure no translateY offset remains after the reset above. */
.elementor-animate-fadeInUp,
.elementor-animate-fadeInLeft,
.elementor-animate-fadeInRight,
.elementor-animate-fadeIn {
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
}
/* Local-site interaction fixes */
.race-contact-cta { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.race-contact-cta p { margin: 0; }
[id="about"], [id="coverage-areas"], [id="reviews"], [id="faq"], [id="service-list"], [id="plans"], [id="contact-details"] { scroll-margin-top: 100px; }

/* Google Play Store Badge */
.race-playstore-btn {
	display: inline-flex !important;
	align-items: center !important;
	gap: 12px !important;
	background: #0d0f12 !important;
	border: 1px solid rgba(255, 255, 255, 0.22) !important;
	border-radius: 9px !important;
	padding: 8px 16px !important;
	text-decoration: none !important;
	transition: all 0.25s ease !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35) !important;
	margin-top: 8px !important;
}
.race-playstore-btn:hover {
	background: #181c24 !important;
	border-color: #f26522 !important;
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(242, 101, 34, 0.28) !important;
}
.race-playstore-icon {
	flex-shrink: 0 !important;
	width: 26px !important;
	height: 26px !important;
}
.race-playstore-text {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	line-height: 1.15 !important;
}
.race-playstore-sub {
	font-size: 9.5px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.8px !important;
	color: #9aa0a6 !important;
}
.race-playstore-title {
	font-size: 15px !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	letter-spacing: 0.2px !important;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}
.race-app-desc {
	color: var(--e-global-color-text, #a0a6b1) !important;
	font-size: 14px !important;
	line-height: 1.6 !important;
	margin: 0 0 10px 0 !important;
}
@media (max-width: 767px) {
	.elementor-329 .elementor-element.elementor-element-15340c1c {
		--width: 100% !important;
		width: 100% !important;
		margin-top: 14px !important;
	}
}

/* Header & Footer Logo Display */
.elementor-323 .elementor-element.elementor-element-365af2c3 img {
	height: 48px !important;
	max-height: 48px !important;
	width: auto !important;
	max-width: 100% !important;
	object-fit: contain !important;
	object-position: left center !important;
}
.elementor-329 .elementor-element.elementor-element-3e9b00a img {
	width: 145px !important;
	max-width: 100% !important;
	height: auto !important;
	object-fit: contain !important;
}
@media (max-width: 767px) {
	.elementor-323 .elementor-element.elementor-element-365af2c3 img {
		height: 38px !important;
	}
	.elementor-329 .elementor-element.elementor-element-3e9b00a img {
		width: 125px !important;
	}
}

/* Stat Counter Cards (Vehicles Rescued & Average Arrival) */
.elementor-element.elementor-element-56a2d43a,
.elementor-element.elementor-element-21be2f1e {
	padding: 24px 20px !important;
	overflow: hidden !important;
}

.elementor-element.elementor-element-773012df .elementor-counter-number-wrapper,
.elementor-element.elementor-element-7a270355 .elementor-counter-number-wrapper {
	font-size: 42px !important;
	line-height: 1 !important;
	display: inline-flex !important;
	align-items: baseline !important;
	justify-content: flex-end !important;
	flex-wrap: nowrap !important;
	white-space: nowrap !important;
	max-width: 100% !important;
}

.elementor-element.elementor-element-7a270355 .elementor-counter-number-suffix {
	font-size: 20px !important;
	font-weight: 600 !important;
	margin-left: 5px !important;
	white-space: nowrap !important;
	flex-grow: 0 !important;
	opacity: 0.92 !important;
}

.elementor-element.elementor-element-773012df .elementor-counter-number-suffix {
	font-size: 42px !important;
	font-weight: 700 !important;
	flex-grow: 0 !important;
}

@media (max-width: 767px) {
	.elementor-element.elementor-element-773012df .elementor-counter-number-wrapper,
	.elementor-element.elementor-element-7a270355 .elementor-counter-number-wrapper {
		font-size: 34px !important;
	}
	.elementor-element.elementor-element-7a270355 .elementor-counter-number-suffix {
		font-size: 16px !important;
	}
}

/* About Side Image: Remove video button and ensure clean container height */
.elementor-element.elementor-element-2bc28565 {
	min-height: 420px !important;
	border-radius: 16px !important;
	overflow: hidden !important;
}
.elementor-element.elementor-element-45bbf377,
.ekit-video-popup-btn {
	display: none !important;
}
@media (max-width: 1024px) {
	.elementor-element.elementor-element-2bc28565 {
		min-height: 350px !important;
	}
}

