/**
 * Premium City Rides — Elementor styles aligned with Next.js (citypulselimo).
 * Maps: HeroSection, Partners, ServicesPreview, WhyChooseUs, FleetPreview,
 * Reviews, FAQ, CTA, Header, Footer.
 */

/* Tokens: citypulse-design-tokens.css | Header colors: citypulse-global-colors.css */

.elementor-18 .elementor-nav-menu--main .elementor-item {
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	transition: color 0.2s ease;
}

.elementor-18 .elementor-nav-menu--main .sub-menu .elementor-sub-item {
	padding: 0.625rem 1rem !important;
	font-size: 0.875rem !important;
}

.elementor-18 .elementor-nav-menu--main .sub-menu {
	padding: 0.5rem 0 !important;
	min-width: 14rem;
}

/* —— Hero (HeroSection.tsx) —— */
.elementor-6 .elementor-element-ce52807 {
	min-height: 100vh !important;
	min-height: 100svh !important;
	align-items: center !important;
}

.elementor-6 .elementor-element-ce52807::before {
	background: linear-gradient(
		135deg,
		oklch(8% 0 0 / 0.9) 0%,
		oklch(8% 0 0 / 0.7) 50%,
		oklch(16% 0 0 / 0.4) 100%
	) !important;
	opacity: 1 !important;
}

.elementor-6 .elementor-element-ce52807 > .e-con-inner {
	width: 100% !important;
	max-width: var(--cpl-max) !important;
	margin-inline: auto !important;
	padding: clamp(6rem, 12vh, 8rem) clamp(1.5rem, 4vw, 3rem) clamp(4rem, 8vh, 6rem) !important;
	gap: clamp(2rem, 5vw, 3.5rem) !important;
	align-items: center !important;
}

.elementor-6 .elementor-element-e52a3bb {
	flex: 1 1 50% !important;
	width: auto !important;
	max-width: none !important;
	--width: auto !important;
}

.elementor-6 .elementor-element-5879c93 {
	font-weight: 300 !important;
	color: #fff !important;
}

.elementor-6 .elementor-element-f5212f4 .elementor-heading-title {
	font-size: clamp(2.25rem, 5vw, 3.75rem) !important;
	font-weight: 600 !important;
	line-height: 1.1 !important;
	color: #fff !important;
}

.elementor-6 .elementor-element-ec2b794 {
	max-width: 42rem;
	color: var(--color-neutral-200) !important;
	line-height: 1.65 !important;
}

.elementor-6 .elementor-element-c8511fd > .e-con-inner {
	gap: 1rem !important;
}

.elementor-6 .elementor-element-3eaa304,
.elementor-6 .elementor-element-e9dcf37 {
	width: auto !important;
	max-width: none !important;
	flex: 0 1 auto !important;
}

.elementor-6 .elementor-element-3eaa304 .elementor-button {
	background-color: var(--cpl-yellow) !important;
	color: var(--cpl-neutral-950) !important;
	border-radius: 9999px !important;
	font-weight: 600 !important;
	box-shadow: 0 20px 45px -25px rgb(250 204 21 / 0.9) !important;
	border: none !important;
}

.elementor-6 .elementor-element-3eaa304 .elementor-button:hover {
	background-color: var(--cpl-yellow-hover) !important;
}

.elementor-6 .elementor-element-e9dcf37 .elementor-button {
	background: transparent !important;
	color: #fff !important;
	border: 1px solid rgb(255 255 255 / 0.25) !important;
	border-radius: 9999px !important;
	backdrop-filter: blur(8px);
}

.elementor-6 .elementor-element-e9dcf37 .elementor-button:hover {
	background: rgb(255 255 255 / 0.1) !important;
	border-color: rgb(255 255 255 / 0.4) !important;
}

/* Concierge glass card */
.elementor-6 .elementor-element-b5d62d8 {
	flex: 1 1 42% !important;
	max-width: 28rem !important;
	background: rgb(255 255 255 / 0.05) !important;
	border: 1px solid rgb(255 255 255 / 0.1) !important;
	border-radius: 1.5rem !important;
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.35);
}

.elementor-6 .elementor-element-b5d62d8 > .e-con-inner {
	padding: 2rem !important;
}

.elementor-6 .elementor-element-35567ab {
	letter-spacing: 0.3em !important;
	text-transform: uppercase !important;
	font-size: 0.75rem !important;
	color: #d4d4d4 !important;
	margin-left: 0 !important;
}

.elementor-6 .elementor-element-2163313 .elementor-heading-title {
	font-size: clamp(1.75rem, 4vw, 1.875rem) !important;
	font-weight: 600 !important;
}

.elementor-6 .elementor-element-f0b87ee {
	color: #e5e5e5 !important;
	font-size: 0.875rem !important;
	line-height: 1.6 !important;
}

.elementor-6 .elementor-element-17a1049 .elementor-button {
	background: #fff !important;
	color: var(--cpl-neutral-900) !important;
	border-radius: 9999px !important;
	font-weight: 600 !important;
	width: 100%;
}

/* —— Partners logo strip (Partners.tsx) —— */
.elementor-6 .elementor-element-6814a62 {
	background-color: var(--cpl-neutral-200) !important;
}

.elementor-6 .elementor-element-6814a62 .elementor-image-carousel-wrapper {
	mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
	-webkit-mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
}

.elementor-6 .elementor-element-6814a62 .swiper-slide-image {
	filter: grayscale(100%);
	opacity: 0.65;
	transition: filter 0.3s ease, opacity 0.3s ease, transform 0.3s ease;
}

.elementor-6 .elementor-element-6814a62 .swiper-slide:hover .swiper-slide-image {
	filter: grayscale(0%);
	opacity: 1;
	transform: scale(1.05);
}

/* —— Services (ServicesPreview.tsx) —— */
.elementor-6 .elementor-element-a4fb00a {
	background-color: var(--cpl-neutral-200) !important;
	padding-block: 3rem !important;
}

.elementor-6 .elementor-element-cce5901 {
	color: var(--cpl-brand-600) !important;
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.elementor-6 .elementor-element-6948933 .elementor-heading-title {
	color: var(--cpl-neutral-900) !important;
	font-size: clamp(1.75rem, 3vw, 2.25rem) !important;
	font-weight: 700 !important;
}

.elementor-6 .elementor-element-f52eadf,
.elementor-6 .elementor-element-b753cbb,
.elementor-6 .elementor-element-9f19060,
.elementor-6 .elementor-element-47f4ecd,
.elementor-6 .elementor-element-798a42d,
.elementor-6 .elementor-element-8592a18,
.elementor-6 .elementor-element-8e24564,
.elementor-6 .elementor-element-d84cbc7 {
	background: #fff !important;
	border: 1px solid var(--cpl-neutral-200) !important;
	border-radius: 1rem !important;
	transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
	height: 100%;
}

.elementor-6 .elementor-element-f52eadf:hover,
.elementor-6 .elementor-element-b753cbb:hover,
.elementor-6 .elementor-element-9f19060:hover,
.elementor-6 .elementor-element-47f4ecd:hover,
.elementor-6 .elementor-element-798a42d:hover,
.elementor-6 .elementor-element-8592a18:hover,
.elementor-6 .elementor-element-8e24564:hover,
.elementor-6 .elementor-element-d84cbc7:hover {
	border-color: var(--cpl-brand-400) !important;
	box-shadow: 0 10px 30px rgb(0 0 0 / 0.08) !important;
	transform: translateY(-4px);
}

.elementor-6 .elementor-element-addb1a6 .elementor-button {
	background: var(--cpl-brand-600) !important;
	border-radius: 9999px !important;
	padding: 0.75rem 2rem !important;
}

/* —— Why Choose Us (WhyChooseUs.tsx) —— */
.elementor-6 .elementor-element-37dfd86 {
	background: var(--cpl-neutral-100) !important;
}

.elementor-6 .elementor-element-3a41b1e .elementor-heading-title {
	font-size: clamp(1.75rem, 3vw, 1.875rem) !important;
}

.elementor-6 .elementor-element-3a41b1e .elementor-heading-title,
.elementor-6 .elementor-element-3a41b1e {
	color: var(--color-neutral-700) !important;
}

.elementor-6 .elementor-element-3a41b1e .elementor-heading-title span[style*="color"],
.elementor-6 .elementor-element-3a41b1e .elementor-heading-title .cpl-gold {
	color: var(--color-brand-400) !important;
}

.elementor-6 .elementor-element-bf2dfa4,
.elementor-6 .elementor-element-480a031,
.elementor-6 .elementor-element-5b25fdf {
	border-radius: 0.75rem !important;
	overflow: hidden;
	border: 1px solid #e5e5e5 !important;
	background: #fff !important;
}

.elementor-6 .elementor-element-bf2dfa4 img,
.elementor-6 .elementor-element-404ed1d img,
.elementor-6 .elementor-element-ab4ee99 img {
	transition: transform 0.3s ease;
}

.elementor-6 .elementor-element-bf2dfa4:hover img,
.elementor-6 .elementor-element-480a031:hover img,
.elementor-6 .elementor-element-5b25fdf:hover img {
	transform: scale(1.05);
}

.elementor-6 .elementor-element-d5470f7 .elementor-button {
	background: var(--cpl-neutral-700) !important;
	border-radius: 0.5rem !important;
	color: #fafafa !important;
}

/* —— Reviews (Reviews.tsx) —— */
.elementor-6 .elementor-element-84987d8 {
	background: var(--cpl-neutral-800) !important;
}

.elementor-6 .elementor-element-e0447d1 .elementor-heading-title {
	color: #f5f5f5 !important;
	font-size: clamp(1.75rem, 3vw, 1.875rem) !important;
	font-weight: 700 !important;
}

.elementor-6 .elementor-element-5d0c5bb {
	color: #e5e5e5 !important;
	font-weight: 300 !important;
}

.elementor-6 .elementor-element-8cf970c,
.elementor-6 .elementor-element-2359e2c,
.elementor-6 .elementor-element-6550ed6 {
	background: rgb(38 38 38 / 0.5) !important;
	border: 1px solid #404040 !important;
	border-radius: 0.75rem !important;
	transition: box-shadow 0.3s ease;
}

.elementor-6 .elementor-element-8cf970c:hover,
.elementor-6 .elementor-element-2359e2c:hover,
.elementor-6 .elementor-element-6550ed6:hover {
	box-shadow: 0 4px 20px rgb(0 0 0 / 0.25);
}

/* —— FAQ (Faq.tsx) —— */
.elementor-6 .elementor-element-a22b597 {
	background: #fff !important;
	max-width: var(--cpl-max);
	margin-inline: auto;
}

.elementor-6 .elementor-element-a915f11 > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title {
	background: var(--cpl-neutral-50) !important;
	border: 1px solid #e5e5e5 !important;
	border-radius: 0.75rem !important;
}

.elementor-6 .elementor-element-a915f11 > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title:hover {
	background: #fff !important;
	border-color: var(--cpl-brand-400) !important;
}

/* —— CTA (Cta.tsx) —— */
.elementor-6 .elementor-element-341a718 {
	background: var(--cpl-neutral-200) !important;
	text-align: center;
}

.elementor-6 .elementor-element-77f34da .elementor-heading-title {
	font-size: clamp(1.75rem, 3vw, 1.875rem) !important;
	font-weight: 700 !important;
	color: var(--cpl-neutral-700) !important;
}

.elementor-6 .elementor-element-16eab22 {
	color: var(--cpl-neutral-600) !important;
}

.elementor-6 .elementor-element-f6ac6db .elementor-button {
	background: var(--cpl-neutral-700) !important;
	border-radius: 0.5rem !important;
	color: #fafafa !important;
	font-weight: 600 !important;
}

/* —— Footer (Footer.tsx) —— */
.elementor-location-footer.elementor-15 .elementor-element-0bb3643 {
	background: var(--cpl-neutral-900) !important;
}

.elementor-15 .elementor-element-62addf3::after,
.elementor-15 .elementor-element-22f8ce3::after,
.elementor-15 .elementor-element-fb26ce7::after,
.elementor-15 .elementor-element-ae59ed6::after {
	background: var(--cpl-brand-400) !important;
}

.elementor-15 .elementor-icon-list-text,
.elementor-15 .elementor-widget-text-editor {
	color: #a3a3a3 !important;
}

.elementor-15 .elementor-icon-list-item:hover .elementor-icon-list-text {
	color: var(--cpl-brand-400) !important;
}

.elementor-15 .elementor-element-29372c3 {
	background: #0d0d0d !important;
}

.elementor-15 .elementor-element-a4913da {
	color: #737373 !important;
	font-size: 0.75rem !important;
}

@media (max-width: 1024px) {
	.elementor-6 .elementor-element-ce52807 > .e-con-inner {
		flex-direction: column !important;
	}

	.elementor-6 .elementor-element-e52a3bb,
	.elementor-6 .elementor-element-b5d62d8 {
		flex: 1 1 100% !important;
		max-width: 100% !important;
		width: 100% !important;
	}

	.elementor-6 .elementor-element-b5d62d8 {
		max-width: 24rem !important;
	}
}

@media (min-width: 1025px) {
	.elementor-6 .elementor-element-ce52807 > .e-con-inner {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
	}

	.elementor-6 .elementor-element-c8511fd > .e-con-inner {
		flex-direction: row !important;
		justify-content: flex-start !important;
	}

	.elementor-6 .elementor-element-3eaa304 .elementor-button,
	.elementor-6 .elementor-element-e9dcf37 .elementor-button {
		width: auto;
	}
}
