/**
 * Freedom Cars - Modern, Creative & High-Performance Design System
 * Dual Theme Engine (Dark Mode & Light Mode) with Glassmorphism
 */

/* ==========================================================================
   1. CSS Custom Properties & Design Tokens
   ========================================================================== */
:root {
	/* Brand Accents (From Freedom Cars Logo) */
	--brand-orange: #FF8800;
	--brand-orange-light: #FFA133;
	--brand-red: #FF2211;
	--brand-gradient: linear-gradient(135deg, #FF8800 0%, #FF2211 100%);
	--brand-gradient-hover: linear-gradient(135deg, #FF991A 0%, #FF3829 100%);
	--brand-glow: 0 0 30px rgba(255, 136, 0, 0.35);
	--whatsapp-green: #25D366;
	--whatsapp-green-hover: #1EBE5B;
	--whatsapp-glow: 0 0 25px rgba(37, 211, 102, 0.4);

	/* Typography */
	--font-heading: 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	--font-body: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

	/* Transitions */
	--transition-fast: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
	--transition-medium: 0.35s cubic-bezier(0.4, 0, 0.2, 1);
	--transition-bounce: 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);

	/* Layout */
	--container-max: 1240px;
	--radius-sm: 8px;
	--radius-md: 14px;
	--radius-lg: 20px;
	--radius-full: 9999px;

	/* Uniform Global Section Spacing Architecture */
	--section-padding-y: 64px;
	--section-header-mb: 40px;
	--section-cta-mt: 32px;
}

/* ==========================================================================
   2. Dark Mode (Default)
   ========================================================================== */
[data-theme="dark"] {
	--bg-body: #090D16;
	--bg-body-secondary: #0D1322;
	--bg-surface: #111827;
	--bg-surface-elevated: #1E293B;
	--bg-glass: rgba(17, 24, 39, 0.72);
	--bg-glass-input: rgba(30, 41, 59, 0.7);
	--border-glass: rgba(255, 255, 255, 0.08);
	--border-glass-hover: rgba(255, 136, 0, 0.4);
	--text-primary: #F8FAFC;
	--text-secondary: #94A3B8;
	--text-muted: #64748B;
	--shadow-card: 0 20px 40px -15px rgba(0, 0, 0, 0.6);
	--shadow-card-hover: 0 25px 50px -12px rgba(255, 136, 0, 0.18);
	--header-bg: rgba(9, 13, 22, 0.85);
	--top-bar-bg: #06090F;
	--card-badge-bg: rgba(255, 136, 0, 0.15);
	--logo-filter: none;
}

/* ==========================================================================
   3. Light Mode
   ========================================================================== */
[data-theme="light"] {
	--bg-body: #F8FAFC;
	--bg-body-secondary: #F1F5F9;
	--bg-surface: #FFFFFF;
	--bg-surface-elevated: #F8FAFC;
	--bg-glass: rgba(255, 255, 255, 0.88);
	--bg-glass-input: #FFFFFF;
	--border-glass: rgba(15, 23, 42, 0.08);
	--border-glass-hover: rgba(255, 136, 0, 0.4);
	--text-primary: #0F172A;
	--text-secondary: #475569;
	--text-muted: #64748B;
	--shadow-card: 0 15px 35px -10px rgba(15, 23, 42, 0.07);
	--shadow-card-hover: 0 25px 45px -10px rgba(255, 136, 0, 0.18);
	--header-bg: rgba(255, 255, 255, 0.9);
	--top-bar-bg: #0F172A;
	--card-badge-bg: rgba(255, 136, 0, 0.12);
	--logo-filter: drop-shadow(0px 2px 8px rgba(0, 0, 0, 0.15));
}

/* Base Reset & Globals */
*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html {
	font-size: 16px;
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
}

body {
	font-family: var(--font-body);
	background-color: var(--bg-body);
	color: var(--text-primary);
	line-height: 1.6;
	overflow-x: hidden;
	transition: background-color var(--transition-medium), color var(--transition-medium);
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

a {
	color: inherit;
	text-decoration: none;
	transition: color var(--transition-fast);
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--font-heading);
	color: var(--text-primary);
	line-height: 1.25;
	font-weight: 700;
}

/* Site Container */
.site-container {
	width: 100%;
	max-width: var(--container-max);
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
}

.section-padding {
	padding-top: var(--section-padding-y);
	padding-bottom: var(--section-padding-y);
}

/* Glassmorphism Panel Utility */
.glass-panel {
	background: var(--bg-glass);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border: 1px solid var(--border-glass);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-card);
	transition: transform var(--transition-medium), border-color var(--transition-medium), box-shadow var(--transition-medium);
}

.text-gradient {
	background: var(--brand-gradient);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	display: inline-block;
}

/* Section Headers */
.section-header {
	margin-bottom: var(--section-header-mb);
}

/* Standard Spacing Utility Classes */
.mb-60 {
	margin-bottom: var(--section-padding-y) !important;
}

.mb-50 {
	margin-bottom: calc(var(--section-padding-y) * 0.8) !important;
}

.mb-40 {
	margin-bottom: var(--section-header-mb) !important;
}

.mt-60 {
	margin-top: var(--section-padding-y) !important;
}

.section-eyebrow {
	display: inline-block;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 2px;
	color: var(--brand-orange);
	text-transform: uppercase;
	margin-bottom: 10px;
}

.section-title {
	font-size: 2.5rem;
	font-weight: 800;
	margin-bottom: 14px;
	letter-spacing: -0.5px;
}

.section-subtitle {
	font-size: 1.1rem;
	color: var(--text-secondary);
	max-width: 650px;
	margin-left: auto;
	margin-right: auto;
}

/* Buttons */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 24px;
	border-radius: var(--radius-full);
	font-family: var(--font-heading);
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	border: none;
	transition: all var(--transition-fast);
	white-space: nowrap;
}

.btn-primary {
	background: var(--brand-gradient);
	color: #FFFFFF;
	box-shadow: 0 4px 15px rgba(255, 34, 17, 0.3);
}

.btn-primary:hover {
	background: var(--brand-gradient-hover);
	transform: translateY(-2px);
	box-shadow: 0 8px 25px rgba(255, 34, 17, 0.45);
	color: #FFFFFF;
}

.btn-whatsapp {
	background-color: var(--whatsapp-green);
	color: #FFFFFF;
	box-shadow: 0 4px 15px rgba(37, 211, 102, 0.3);
}

.btn-whatsapp:hover {
	background-color: var(--whatsapp-green-hover);
	transform: translateY(-2px);
	box-shadow: var(--whatsapp-glow);
	color: #FFFFFF;
}

.btn-outline-primary {
	background: transparent;
	color: var(--text-primary);
	border: 1px solid var(--border-glass);
}

.btn-outline-primary:hover {
	border-color: var(--brand-orange);
	color: var(--brand-orange);
	transform: translateY(-2px);
}

.btn-outline-light {
	background: rgba(255, 255, 255, 0.1);
	color: #FFFFFF;
	border: 1px solid rgba(255, 255, 255, 0.2);
}

.btn-outline-light:hover {
	background: rgba(255, 255, 255, 0.2);
	color: #FFFFFF;
	transform: translateY(-2px);
}

.btn-sm {
	padding: 8px 16px;
	font-size: 13px;
}

.btn-large {
	padding: 15px 32px;
	font-size: 16px;
}

.btn-block {
	width: 100%;
}

.btn-icon {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
}

.btn-icon-right {
	width: 18px;
	height: 18px;
	transition: transform var(--transition-fast);
}

.btn:hover .btn-icon-right {
	transform: translateX(4px);
}

/* ==========================================================================
   4. Header & Top Info Bar
   ========================================================================== */
.top-info-bar {
	background-color: var(--top-bar-bg);
	font-size: 13px;
	color: #94A3B8;
	padding: 8px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	line-height: 1;
}

.top-info-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
}

.top-info-left {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.info-pill {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-weight: 600;
	color: #F8FAFC;
	white-space: nowrap;
}

.info-text {
	color: #94A3B8;
	white-space: nowrap;
	font-weight: 400;
}

.pulse-dot {
	width: 8px;
	height: 8px;
	background-color: #22C55E;
	border-radius: 50%;
	display: inline-block;
	box-shadow: 0 0 8px #22C55E;
	animation: pulse 2s infinite;
}

@keyframes pulse {
	0% {
		transform: scale(0.95);
		opacity: 0.8;
	}

	50% {
		transform: scale(1.2);
		opacity: 1;
	}

	100% {
		transform: scale(0.95);
		opacity: 0.8;
	}
}

.info-divider {
	color: rgba(255, 255, 255, 0.2);
	user-select: none;
}

.top-info-right {
	display: flex;
	align-items: center;
	gap: 10px;
	white-space: nowrap !important;
	flex-shrink: 0;
}

.top-contact-link {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: #F1F5F9;
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap !important;
	text-decoration: none;
	padding: 5px 12px;
	border-radius: 9999px;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.1);
	transition: all var(--transition-fast);
	line-height: 1;
}

.top-contact-link:hover {
	background: rgba(255, 255, 255, 0.12);
	border-color: rgba(255, 255, 255, 0.25);
	color: #FFFFFF;
	transform: translateY(-1px);
}

.top-contact-link.whatsapp-top {
	color: #25D366;
	background: rgba(37, 211, 102, 0.08);
	border-color: rgba(37, 211, 102, 0.2);
}

.top-contact-link.whatsapp-top:hover {
	background: rgba(37, 211, 102, 0.18);
	border-color: rgba(37, 211, 102, 0.4);
	color: #25D366;
}

.top-contact-link .icon-svg {
	width: 14px !important;
	height: 14px !important;
	min-width: 14px;
	min-height: 14px;
	flex-shrink: 0;
	display: inline-block;
	vertical-align: middle;
}

.site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background-color: var(--header-bg);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	border-bottom: 1px solid var(--border-glass);
	transition: all var(--transition-medium);
}

.site-header.scrolled {
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

.header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 80px;
}

/* Logo */
.header-logo-wrapper {
	display: flex;
	align-items: center;
}

.site-logo {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}

.brand-logo-img {
	height: 52px;
	width: auto;
	max-width: 220px;
	object-fit: contain;
	transition: transform var(--transition-fast);
}

.site-logo:hover .brand-logo-img {
	transform: scale(1.02);
}

/* Dual Theme Complete Logo Display */
[data-theme="dark"] .logo-for-light {
	display: none !important;
}

[data-theme="dark"] .logo-for-dark {
	display: block !important;
}

[data-theme="light"] .logo-for-dark {
	display: none !important;
}

[data-theme="light"] .logo-for-light {
	display: block !important;
}

/* Main Navigation Menu */
.main-navigation {
	display: flex;
	align-items: center;
}

.nav-menu {
	display: flex;
	align-items: center;
	gap: 8px;
	list-style: none;
}

.nav-link {
	padding: 8px 14px;
	font-family: var(--font-heading);
	font-size: 15px;
	font-weight: 600;
	color: var(--text-secondary);
	border-radius: var(--radius-sm);
	transition: all var(--transition-fast);
	position: relative;
}

.nav-link:hover,
.nav-menu .current-menu-item>a {
	color: var(--text-primary);
	background: rgba(255, 136, 0, 0.08);
}

.nav-link:hover {
	color: var(--brand-orange);
}

/* Header Actions */
.header-actions {
	display: flex;
	align-items: center;
	gap: 14px;
}

/* Theme Toggle Button */
.theme-toggle-btn {
	width: 52px;
	height: 32px;
	border-radius: var(--radius-full);
	background: var(--bg-surface-elevated);
	border: 1px solid var(--border-glass);
	cursor: pointer;
	position: relative;
	display: inline-flex;
	align-items: center;
	padding: 3px;
	transition: background-color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);
	flex-shrink: 0;
}

.theme-toggle-btn:hover {
	border-color: var(--brand-orange);
}

.theme-toggle-thumb {
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--brand-gradient);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #FFFFFF;
	transition: transform var(--transition-bounce);
	transform: translateX(0);
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
}

[data-theme="light"] .theme-toggle-thumb {
	transform: translateX(20px);
}

.theme-icon {
	width: 13px;
	height: 13px;
}

.icon-sun {
	display: none;
}

.icon-moon {
	display: block;
}

[data-theme="light"] .icon-sun {
	display: block;
}

[data-theme="light"] .icon-moon {
	display: none;
}

/* Header Call Action Button */
.header-cta-btn {
	height: 40px;
	padding: 0 20px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.3px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border-radius: var(--radius-full);
	box-shadow: 0 4px 14px rgba(255, 34, 17, 0.28);
	transition: all var(--transition-fast);
	flex-shrink: 0;
	text-decoration: none;
	line-height: 1;
}

.header-cta-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 22px rgba(255, 34, 17, 0.45);
	color: #FFFFFF;
}

.header-cta-btn .btn-icon {
	width: 15px;
	height: 15px;
}

/* Mobile Menu Hamburger */
.mobile-menu-toggle {
	display: none;
	flex-direction: column;
	justify-content: space-around;
	width: 38px;
	height: 38px;
	background: var(--bg-surface-elevated);
	border: 1px solid var(--border-glass);
	border-radius: var(--radius-sm);
	padding: 8px;
	cursor: pointer;
}

.hamburger-bar {
	width: 100%;
	height: 2px;
	background-color: var(--text-primary);
	border-radius: 2px;
	transition: all var(--transition-fast);
}

/* Mobile Offcanvas Drawer */
.mobile-nav-drawer {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 99999;
	visibility: hidden;
	opacity: 0;
	transition: visibility var(--transition-fast), opacity var(--transition-fast);
}

.mobile-nav-drawer.active {
	visibility: visible;
	opacity: 1;
}

.mobile-drawer-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.72);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.mobile-drawer-content {
	position: absolute;
	top: 0;
	right: 0;
	width: 320px;
	max-width: 88%;
	height: 100%;
	background: var(--bg-surface);
	display: flex;
	flex-direction: column;
	padding: 20px;
	transform: translateX(100%);
	transition: transform var(--transition-medium);
	box-shadow: -12px 0 40px rgba(0, 0, 0, 0.6);
	overflow-y: auto;
	z-index: 2;
}

.mobile-nav-drawer.active .mobile-drawer-content {
	transform: translateX(0);
}

.mobile-drawer-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 20px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--border-glass);
}

.mobile-logo {
	display: flex;
	align-items: center;
	max-width: 170px;
}

.mobile-logo .site-logo {
	display: flex;
	align-items: center;
}

.mobile-logo .brand-logo-img {
	height: 38px !important;
	max-width: 160px !important;
	width: auto !important;
	object-fit: contain;
}

.mobile-drawer-close {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--bg-surface-elevated);
	border: 1px solid var(--border-glass);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	line-height: 1;
	color: var(--text-primary);
	cursor: pointer;
	transition: all var(--transition-fast);
	flex-shrink: 0;
}

.mobile-drawer-close:hover {
	background: rgba(255, 34, 17, 0.15);
	color: var(--brand-red);
	border-color: rgba(255, 34, 17, 0.3);
}

/* Mobile Menu Navigation List - Strictly Vertical */
.mobile-drawer-nav {
	width: 100%;
	margin-bottom: 20px;
}

.mobile-drawer-nav .mobile-menu-list,
.mobile-drawer-nav .nav-menu {
	list-style: none !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
}

.mobile-drawer-nav li,
.mobile-menu-list li {
	list-style: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.mobile-drawer-nav a,
.mobile-menu-list a {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	box-sizing: border-box !important;
	padding: 13px 16px !important;
	font-family: var(--font-heading) !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	border-radius: var(--radius-md) !important;
	color: var(--text-primary) !important;
	background: var(--bg-surface-elevated) !important;
	border: 1px solid var(--border-glass) !important;
	text-decoration: none !important;
	transition: all var(--transition-fast) !important;
}

.mobile-drawer-nav a:hover,
.mobile-menu-list a:hover {
	background: rgba(255, 136, 0, 0.12) !important;
	color: var(--brand-orange) !important;
	border-color: rgba(255, 136, 0, 0.35) !important;
	transform: translateX(4px) !important;
}

.mobile-drawer-footer {
	margin-top: auto;
	padding-top: 20px;
	border-top: 1px solid var(--border-glass);
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.mobile-theme-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-weight: 600;
	font-size: 14px;
}

.mobile-contact-actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

/* Light Mode Overrides for Mobile Drawer */
[data-theme="light"] .mobile-drawer-content {
	background: #FFFFFF !important;
	box-shadow: -10px 0 35px rgba(0, 0, 0, 0.12) !important;
}

[data-theme="light"] .mobile-drawer-header,
[data-theme="light"] .mobile-drawer-footer {
	border-color: rgba(15, 23, 42, 0.08) !important;
}

[data-theme="light"] .mobile-drawer-close {
	background: #F1F5F9 !important;
	border-color: rgba(15, 23, 42, 0.1) !important;
	color: #0F172A !important;
}

[data-theme="light"] .mobile-drawer-nav a,
[data-theme="light"] .mobile-menu-list a {
	background: #F8FAFC !important;
	border-color: rgba(15, 23, 42, 0.08) !important;
	color: #0F172A !important;
}

[data-theme="light"] .mobile-drawer-nav a:hover,
[data-theme="light"] .mobile-menu-list a:hover {
	background: rgba(255, 136, 0, 0.08) !important;
	border-color: rgba(255, 136, 0, 0.4) !important;
	color: var(--brand-orange) !important;
}

/* ==========================================================================
   5. Hero Section
   ========================================================================== */
.hero-section {
	position: relative;
	padding: 80px 0 100px;
	overflow: hidden;
	background: radial-gradient(circle at 50% 20%, rgba(255, 136, 0, 0.12) 0%, transparent 60%);
}

.hero-background-shapes {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 0;
}

.shape-glow-1 {
	position: absolute;
	top: -100px;
	left: 20%;
	width: 500px;
	height: 500px;
	background: radial-gradient(circle, rgba(255, 136, 0, 0.15) 0%, transparent 70%);
	filter: blur(80px);
}

.shape-glow-2 {
	position: absolute;
	top: 150px;
	right: 15%;
	width: 450px;
	height: 450px;
	background: radial-gradient(circle, rgba(255, 34, 17, 0.12) 0%, transparent 70%);
	filter: blur(80px);
}

.grid-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: 40px 40px;
	background-image:
		linear-gradient(to right, rgba(255, 255, 255, 0.03) 1px, transparent 1px),
		linear-gradient(to bottom, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
}

[data-theme="light"] .grid-overlay {
	background-image:
		linear-gradient(to right, rgba(0, 0, 0, 0.03) 1px, transparent 1px),
		linear-gradient(to bottom, rgba(0, 0, 0, 0.03) 1px, transparent 1px);
}

/* ==========================================================================
   5. Gen-Z Hero Section & Interactive Beast Showcase
   ========================================================================== */
.hero-genz {
	padding: 50px 0 35px;
	position: relative;
	overflow: hidden;
}

.hero-container {
	position: relative;
}

/* Dynamic Winding Automotive Tire Track Layer (Perspective S-Curve) */
.hero-tire-skid-track {
	position: absolute;
	top: -10px;
	left: -80px;
	width: calc(100% + 160px);
	height: 100%;
	min-height: 520px;
	pointer-events: none;
	z-index: 1;
	overflow: visible;
}

.hero-tire-skid-track img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: bottom left;
	display: block;
}

.track-img-dark {
	display: block;
	opacity: 0.22;
	transition: opacity 0.3s ease;
}

.track-img-light {
	display: none;
}

[data-theme="light"] .track-img-dark {
	display: none;
}

[data-theme="light"] .track-img-light {
	display: block;
	opacity: 0.12;
	transition: opacity 0.3s ease;
}

.hero-genz-grid {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 40px;
	align-items: center;
	text-align: left;
	position: relative;
	z-index: 2;
}

.hero-text-col {
	position: relative;
	z-index: 2;
}

.hero-visual-col {
	position: relative;
	z-index: 3;
}

.genz-pill-badge {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 8px 18px;
	background: rgba(255, 136, 0, 0.12);
	border: 1px solid rgba(255, 136, 0, 0.35);
	border-radius: var(--radius-full);
	margin-bottom: 24px;
	box-shadow: 0 0 20px rgba(255, 136, 0, 0.2);
}

.badge-fire-icon {
	font-size: 16px;
}

.genz-pill-badge .badge-text {
	font-size: 11.5px;
	font-weight: 800;
	letter-spacing: 1.5px;
	color: var(--brand-orange);
	text-transform: uppercase;
}

/* Dual-Layer Tire Burn Headline Typography */
.hero-title-wrapper {
	position: relative;
	display: block;
	margin-bottom: 22px;
}

.hero-title-genz {
	font-family: var(--font-heading);
	font-size: 4.4rem;
	font-weight: 900;
	line-height: 1.04;
	letter-spacing: -0.02em;
	text-transform: uppercase;
	margin: 0 0 22px;
	color: var(--text-primary);
	position: relative;
	z-index: 2;
}

.hero-title-highlight {
	display: inline-block;
	background: linear-gradient(135deg, #FF9900 0%, #FF3300 50%, #FF8800 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	filter: drop-shadow(0 0 24px rgba(255, 102, 0, 0.45));
}

[data-theme="light"] .hero-title-highlight {
	background: linear-gradient(135deg, #E65100 0%, #D84315 50%, #FF6D00 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	filter: drop-shadow(0 0 16px rgba(230, 81, 0, 0.3));
}

.hero-sub-genz {
	font-size: 1.2rem;
	color: var(--text-secondary);
	line-height: 1.6;
	margin-bottom: 34px;
	max-width: 600px;
}

.highlight-chip {
	display: inline-block;
	padding: 2px 10px;
	background: var(--brand-gradient);
	color: #FFFFFF;
	font-weight: 800;
	border-radius: var(--radius-sm);
	font-size: 1.1rem;
	box-shadow: 0 4px 15px rgba(255, 34, 17, 0.4);
}

.hero-cta-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
	margin-bottom: 34px;
}

.btn-glow {
	box-shadow: 0 0 25px rgba(255, 136, 0, 0.45);
}

.btn-glow:hover {
	box-shadow: 0 0 35px rgba(255, 34, 17, 0.65);
}

.hero-vibe-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.vibe-tag {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px;
	background: var(--bg-surface-elevated);
	border: 1px solid var(--border-glass);
	border-radius: var(--radius-full);
	font-size: 12.5px;
	font-weight: 600;
	color: var(--text-secondary);
}

.vibe-emoji {
	font-size: 14px;
}

/* Right: Hero Beast Showcase Card */
.hero-beast-card {
	padding: 24px;
	position: relative;
	overflow: hidden;
	border: 1px solid rgba(255, 136, 0, 0.3);
	box-shadow: 0 25px 50px -10px rgba(0, 0, 0, 0.7);
}

.beast-pill-switcher {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 16px;
}

.beast-pill-btn {
	padding: 6px 14px;
	border-radius: var(--radius-full);
	background: var(--bg-surface-elevated);
	border: 1px solid var(--border-glass);
	color: var(--text-secondary);
	font-family: var(--font-heading);
	font-size: 12px;
	font-weight: 700;
	cursor: pointer;
	transition: all var(--transition-fast);
}

.beast-pill-btn:hover {
	color: var(--text-primary);
	border-color: var(--brand-orange);
}

.beast-pill-btn.active {
	background: var(--brand-gradient);
	color: #FFFFFF;
	border-color: transparent;
	box-shadow: 0 4px 15px rgba(255, 34, 17, 0.4);
}

.beast-display-area {
	position: relative;
	background: var(--bg-surface);
	border-radius: var(--radius-md);
	padding: 16px;
	text-align: center;
	border: 1px solid var(--border-glass);
	overflow: hidden;
}


.beast-tag-floating {
	position: absolute;
	top: 24px;
	left: 24px;
	z-index: 5;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 1px;
	padding: 4px 12px;
	border-radius: var(--radius-full);
	background: var(--brand-gradient);
	color: #FFFFFF;
	text-transform: uppercase;
	box-shadow: 0 4px 12px rgba(255, 34, 17, 0.4);
}

.hero-beast-img {
	height: 240px;
	width: 100%;
	max-width: 100%;
	object-fit: cover;
	border-radius: 12px;
	margin: 0 auto;
	transition: opacity 0.25s ease, transform 0.25s ease;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.4);
}

.beast-display-area .car-brand-watermark {
	position: absolute;
	top: 24px;
	right: 24px;
	bottom: auto;
	z-index: 5;
}

.beast-info-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 16px;
	border-top: 1px solid var(--border-glass);
	text-align: left;
	margin-top: 10px;
}

.beast-name {
	font-size: 1.15rem;
	font-weight: 800;
	margin-bottom: 2px;
}

.beast-specs-sub {
	font-size: 11.5px;
	color: var(--text-muted);
}

.beast-price-tag {
	display: flex;
	align-items: center;
	gap: 12px;
}

.beast-fare {
	font-size: 1.3rem;
	font-weight: 900;
	font-family: var(--font-heading);
	color: var(--brand-orange);
}

/* ==========================================================================
   Infinite Kinetic Marquee Ticker
   ========================================================================== */
.marquee-ticker-wrap {
	width: 100%;
	overflow: hidden;
	background: var(--brand-gradient);
	padding: 14px 0;
	position: relative;
	box-shadow: 0 0 30px rgba(255, 34, 17, 0.3);
	transform: rotate(-0.5deg);
	margin: 25px 0 25px;
	z-index: 5;
}

.marquee-track {
	display: flex;
	width: max-content;
}

.marquee-content {
	display: flex;
	gap: 36px;
	animation: marquee 25s linear infinite;
	font-family: 'Space Grotesk', var(--font-heading);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 2px;
	color: #FFFFFF;
	white-space: nowrap;
	text-transform: uppercase;
}

@keyframes marquee {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-50%);
	}
}

.marquee-ticker-wrap:hover .marquee-content {
	animation-play-state: paused;
}

/* ==========================================================================
   Gen-Z Typography & Card Tweaks
   ========================================================================== */
.genz-eyebrow {
	font-family: 'Space Grotesk', monospace;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 2px;
	color: var(--brand-orange);
}

.genz-title {
	font-family: var(--font-heading);
	font-size: 2.8rem;
	font-weight: 800;
	letter-spacing: -0.02em;
	text-transform: uppercase;
}

.card-genz {
	border: 1px solid var(--border-glass);
	background: linear-gradient(180deg, rgba(22, 28, 45, 0.75) 0%, rgba(13, 17, 28, 0.95) 100%);
	backdrop-filter: blur(16px);
	border-radius: 20px;
	position: relative;
	transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
	overflow: hidden;
}

.card-genz:hover {
	transform: translateY(-8px) scale(1.01);
	border-color: rgba(255, 136, 0, 0.5);
	box-shadow: 0 25px 45px -10px rgba(255, 136, 0, 0.25);
}

.card-genz .car-card-image-wrap {
	margin: 8px 16px 14px;
	padding: 0;
	border-radius: 14px;
	background: #0B1120;
	border: 1px solid rgba(255, 255, 255, 0.08);
	height: 195px;
	display: block;
	position: relative;
	overflow: hidden;
}

.card-genz .car-card-image-wrap a {
	display: block;
	width: 100%;
	height: 100%;
}

.card-genz .car-card-img {
	width: 100%;
	height: 100%;
	max-height: none;
	object-fit: cover;
	border-radius: 14px;
	transition: transform 0.4s ease;
	display: block;
}

.card-genz:hover .car-card-img {
	transform: scale(1.06);
}

/* Freedom Cars Official Watermark Logo Badge */
.car-brand-watermark {
	position: absolute;
	bottom: 12px;
	right: 12px;
	z-index: 5;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(11, 17, 32, 0.72);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border: 1px solid rgba(255, 255, 255, 0.2);
	padding: 4px 10px;
	border-radius: 9999px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
	pointer-events: none;
}

.car-brand-watermark img {
	height: 16px;
	width: auto;
	max-width: 90px;
	display: block;
	object-fit: contain;
}

/* ==========================================================================
   Light Mode Overrides for Gen-Z Cards & Components
   ========================================================================== */
[data-theme="light"] .card-genz {
	background: #FFFFFF !important;
	border: 1px solid rgba(15, 23, 42, 0.1) !important;
	box-shadow: 0 10px 30px -5px rgba(15, 23, 42, 0.06), 0 2px 8px rgba(15, 23, 42, 0.04) !important;
}

[data-theme="light"] .card-genz:hover {
	border-color: rgba(255, 107, 0, 0.5) !important;
	box-shadow: 0 20px 40px -10px rgba(255, 107, 0, 0.2), 0 10px 20px rgba(15, 23, 42, 0.06) !important;
}

[data-theme="light"] .card-genz .car-card-image-wrap,
[data-theme="light"] .car-card-image-wrap,
[data-theme="light"] .car-featured-image-card,
[data-theme="light"] .beast-display-area {
	background: #F1F5F9 !important;
	border: 1px solid rgba(15, 23, 42, 0.08) !important;
}

[data-theme="light"] .card-genz .car-card-title a {
	color: #0F172A !important;
}

[data-theme="light"] .card-genz .car-card-title a:hover {
	color: var(--brand-orange) !important;
}

[data-theme="light"] .card-genz .car-card-desc {
	color: #475569 !important;
}

[data-theme="light"] .card-genz .car-specs-grid {
	background: #F1F5F9 !important;
	border: 1px solid rgba(15, 23, 42, 0.08) !important;
}

[data-theme="light"] .card-genz .spec-item {
	color: #334155 !important;
}

[data-theme="light"] .card-genz .car-price-block .rate-amount {
	color: #0F172A !important;
}

[data-theme="light"] .card-genz .car-price-block .price-daily {
	color: #64748B !important;
}

[data-theme="light"] .card-genz .car-cat-label-genz {
	color: #64748B !important;
}

[data-theme="light"] .card-genz .btn-outline-primary {
	background: #F8FAFC !important;
	border: 1px solid rgba(15, 23, 42, 0.15) !important;
	color: #0F172A !important;
}

[data-theme="light"] .card-genz .btn-outline-primary:hover {
	border-color: var(--brand-orange) !important;
	color: var(--brand-orange) !important;
	background: rgba(255, 107, 0, 0.08) !important;
}

[data-theme="light"] .feature-card.card-genz {
	background: #FFFFFF !important;
	border: 1px solid rgba(15, 23, 42, 0.1) !important;
}

[data-theme="light"] .feature-card h3 {
	color: #0F172A !important;
}

[data-theme="light"] .feature-card p {
	color: #475569 !important;
}

[data-theme="light"] .stats-glass-card.card-genz {
	background: #FFFFFF !important;
	border: 1px solid rgba(15, 23, 42, 0.1) !important;
}

[data-theme="light"] .stats-glass-card .stat-desc {
	color: #475569 !important;
}

[data-theme="light"] .faq-accordion-item.card-genz {
	background: #FFFFFF !important;
	border: 1px solid rgba(15, 23, 42, 0.1) !important;
}

[data-theme="light"] .faq-question {
	color: #0F172A !important;
}

[data-theme="light"] .faq-answer p {
	color: #475569 !important;
}

.car-badge-genz {
	font-size: 10.5px;
	font-weight: 800;
	padding: 4px 10px;
	border-radius: var(--radius-full);
	background: var(--brand-gradient);
	color: #FFFFFF;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.car-cat-label-genz {
	font-family: 'Space Grotesk', monospace;
	font-size: 11px;
	font-weight: 700;
	color: var(--text-muted);
	text-transform: uppercase;
	letter-spacing: 1px;
}

.spec-genz-icon {
	font-size: 14px;
}

.feature-number-tag {
	font-family: var(--font-heading);
	font-size: 3rem;
	font-weight: 900;
	line-height: 1;
	background: var(--brand-gradient);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	margin-bottom: 12px;
}

/* ==========================================================================
   6. Fleet Cards & Showcase
   ========================================================================== */
.fleet-filter-tabs {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin-bottom: 40px;
}

.filter-tab-btn {
	padding: 10px 22px;
	background: var(--bg-surface);
	border: 1px solid var(--border-glass);
	border-radius: var(--radius-full);
	color: var(--text-secondary);
	font-family: var(--font-heading);
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: all var(--transition-fast);
}

.filter-tab-btn:hover {
	color: var(--text-primary);
	border-color: var(--brand-orange);
}

.filter-tab-btn.active {
	background: var(--brand-gradient);
	color: #FFFFFF;
	border-color: transparent;
	box-shadow: 0 4px 15px rgba(255, 34, 17, 0.35);
}

.fleet-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
	margin-bottom: var(--section-cta-mt);
}

.fleet-all-link-wrap {
	margin-top: 0;
	margin-bottom: 0;
}

.car-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	position: relative;
	transition: transform var(--transition-medium), box-shadow var(--transition-medium), border-color var(--transition-medium);
}

.car-card:hover {
	transform: translateY(-8px);
	border-color: var(--border-glass-hover);
	box-shadow: var(--shadow-card-hover);
}

.car-card-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 16px 20px 0;
}

.car-badge {
	font-size: 11px;
	font-weight: 800;
	padding: 4px 10px;
	border-radius: var(--radius-full);
	background: var(--brand-gradient);
	color: #FFFFFF;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.car-cat-label {
	font-size: 12px;
	font-weight: 600;
	color: var(--text-muted);
}

.car-card-image-wrap {
	margin: 8px 16px 14px;
	padding: 0;
	position: relative;
	height: 200px;
	display: block;
	overflow: hidden;
	border-radius: 14px;
	background: #0B1120;
	border: 1px solid rgba(255, 255, 255, 0.08);
}

.car-card-image-wrap a {
	display: block;
	width: 100%;
	height: 100%;
}

.car-card-img {
	width: 100%;
	height: 100%;
	max-height: none;
	object-fit: cover;
	border-radius: 14px;
	transition: transform 0.4s ease;
	display: block;
}

.car-card:hover .car-card-img {
	transform: scale(1.06);
}

.car-card-body {
	padding: 0 20px 20px;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.car-card-title {
	font-size: 1.35rem;
	font-weight: 700;
	margin-bottom: 8px;
}

.car-card-title a:hover {
	color: var(--brand-orange);
}

.car-card-desc {
	font-size: 13px;
	color: var(--text-secondary);
	margin-bottom: 16px;
	line-height: 1.5;
}

/* Specs Grid */
.car-specs-grid {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 14px;
	background: var(--bg-surface-elevated);
	border: 1px solid var(--border-glass);
	border-radius: var(--radius-sm);
	margin-bottom: 20px;
}

.spec-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	font-weight: 600;
	color: var(--text-secondary);
	white-space: nowrap;
}

.spec-item:first-child {
	justify-content: flex-start;
}

.spec-item:nth-child(2) {
	justify-content: center;
}

.spec-item:last-child {
	justify-content: flex-end;
}

.spec-icon,
.spec-genz-icon {
	width: 14px;
	height: 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--brand-orange);
	flex-shrink: 0;
	font-size: 13px;
	line-height: 1;
}

/* Card Price & Action */
.car-card-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 14px;
	border-top: 1px solid var(--border-glass);
	margin-top: auto;
}

.car-price-block {
	display: flex;
	flex-direction: column;
}

.price-hourly {
	display: flex;
	align-items: baseline;
	line-height: 1;
}

.price-hourly .currency {
	font-size: 16px;
	font-weight: 700;
	color: var(--brand-orange);
}

.price-hourly .rate-amount {
	font-size: 24px;
	font-weight: 800;
	font-family: var(--font-heading);
	color: var(--text-primary);
	margin-left: 2px;
}

.price-hourly .rate-unit {
	font-size: 12px;
	color: var(--text-muted);
	margin-left: 2px;
}

.price-daily {
	font-size: 11px;
	color: var(--text-muted);
	margin-top: 4px;
}

.car-card-actions {
	display: flex;
	align-items: center;
	gap: 8px;
}

/* ==========================================================================
   7. About Section & Live Stats
   ========================================================================== */
.about-grid {
	display: grid;
	grid-template-columns: 1.2fr 0.8fr;
	gap: 40px;
	align-items: center;
}

.about-text-narrative p {
	font-size: 1.05rem;
	color: var(--text-secondary);
	margin-bottom: 16px;
}

.about-features-checklist {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin: 24px 0 32px;
}

.check-item {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	font-weight: 600;
	color: var(--text-primary);
}

.check-icon {
	color: #22C55E;
	font-weight: 900;
}

.about-cta-row {
	display: flex;
	align-items: center;
	gap: 24px;
}

.quick-call-box .call-link-wrapper {
	display: flex;
	align-items: center;
	gap: 12px;
}

.call-icon-pulse {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--brand-gradient);
	color: #FFFFFF;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 0 20px rgba(255, 34, 17, 0.4);
}

.call-icon-pulse svg {
	width: 20px;
	height: 20px;
}

.call-sub {
	display: block;
	font-size: 11px;
	color: var(--text-muted);
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.call-number {
	font-size: 16px;
	font-weight: 800;
	font-family: var(--font-heading);
	color: var(--text-primary);
}

/* About Quote Card */
/* About Quote Card */
.about-quote-box {
	background: linear-gradient(180deg, rgba(22, 28, 45, 0.75) 0%, rgba(13, 17, 28, 0.95) 100%);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-left: 4px solid var(--brand-orange) !important;
	padding: 30px 32px;
	border-radius: 20px;
	margin-top: 24px;
	position: relative;
	transition: all var(--transition-medium);
}

[data-theme="light"] .about-quote-box {
	background: #FFFFFF !important;
	border: 1px solid rgba(15, 23, 42, 0.08) !important;
	border-left: 4px solid var(--brand-orange) !important;
	box-shadow: 0 12px 30px -5px rgba(15, 23, 42, 0.05) !important;
}

.quote-icon-badge {
	font-size: 32px;
	line-height: 1;
	color: var(--brand-orange);
	margin-bottom: 10px;
	opacity: 0.9;
}

.about-quote-text {
	font-size: 1.08rem;
	line-height: 1.65;
	font-weight: 500;
	margin: 0 0 18px 0;
	font-style: italic;
	letter-spacing: -0.2px;
	color: #E2E8F0;
}

[data-theme="light"] .about-quote-text {
	color: #1E293B !important;
}

.quote-author-row {
	display: flex;
	align-items: center;
	gap: 12px;
}

.quote-avatar {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--brand-gradient);
	color: #FFFFFF;
	font-weight: 800;
	font-size: 13px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 12px rgba(255, 107, 0, 0.35);
	flex-shrink: 0;
}

.quote-author-info {
	display: flex;
	flex-direction: column;
	text-align: left;
}

.quote-name {
	font-size: 14px;
	font-weight: 700;
	color: var(--text-primary);
}

.quote-role {
	font-size: 12px;
	color: var(--text-muted);
}

/* Stats Cards Grid */
.about-stats-col {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.stats-glass-card {
	padding: 24px;
	text-align: center;
}

.stat-number {
	font-size: 2.8rem;
	font-weight: 900;
	font-family: var(--font-heading);
	line-height: 1;
	margin-bottom: 8px;
}

.stat-title {
	font-size: 14px;
	font-weight: 700;
	margin-bottom: 6px;
}

.stat-sub {
	font-size: 12px;
	color: var(--text-muted);
	line-height: 1.4;
}

/* ==========================================================================
   8. Why Choose Us / Features Grid
   ========================================================================== */
.features-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}

.feature-card {
	padding: 30px 24px;
	transition: transform var(--transition-medium), border-color var(--transition-medium);
}

.feature-card:hover {
	transform: translateY(-6px);
	border-color: var(--brand-orange);
}

.feature-icon-wrap {
	width: 50px;
	height: 50px;
	border-radius: var(--radius-md);
	background: rgba(255, 136, 0, 0.12);
	color: var(--brand-orange);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
	font-size: 22px;
}

.feature-icon-wrap svg {
	width: 26px;
	height: 26px;
}

.feature-title {
	font-size: 1.2rem;
	font-weight: 700;
	margin-bottom: 10px;
}

.feature-desc {
	font-size: 13.5px;
	color: var(--text-secondary);
	line-height: 1.5;
}

/* CTA Banners & Actions (About, FAQ, Subpages) */
.about-cta-banner,
.faq-contact-card {
	padding: 56px 40px;
	border-radius: 24px;
	margin: 50px auto 0;
	position: relative;
	overflow: hidden;
}

[data-theme="light"] .about-cta-banner,
[data-theme="light"] .faq-contact-card {
	background: #FFFFFF !important;
	border: 1px solid rgba(15, 23, 42, 0.09) !important;
	box-shadow: 0 15px 40px -10px rgba(15, 23, 42, 0.07) !important;
}

.about-cta-banner h3,
.faq-contact-card h3 {
	font-size: 2.1rem;
	font-weight: 800;
	margin-bottom: 12px;
	letter-spacing: -0.5px;
}

[data-theme="light"] .about-cta-banner h3,
[data-theme="light"] .faq-contact-card h3 {
	color: #0F172A;
}

.about-cta-banner p,
.faq-contact-card p {
	font-size: 1.05rem;
	max-width: 650px;
	margin: 0 auto 30px;
	line-height: 1.6;
}

[data-theme="light"] .about-cta-banner p,
[data-theme="light"] .faq-contact-card p {
	color: #475569;
}

.cta-buttons-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	flex-wrap: wrap;
	margin-top: 10px;
}

[data-theme="light"] .feature-card {
	background: #FFFFFF !important;
	border: 1px solid rgba(15, 23, 42, 0.08) !important;
	box-shadow: 0 10px 30px -5px rgba(15, 23, 42, 0.05) !important;
}

[data-theme="light"] .feature-title {
	color: #0F172A !important;
}

[data-theme="light"] .feature-desc {
	color: #475569 !important;
}

[data-theme="light"] .stats-glass-card {
	background: #FFFFFF !important;
	border: 1px solid rgba(15, 23, 42, 0.08) !important;
	box-shadow: 0 10px 30px -5px rgba(15, 23, 42, 0.05) !important;
}

[data-theme="light"] .stat-title {
	color: #0F172A !important;
}

[data-theme="light"] .stat-sub {
	color: #64748B !important;
}

/* ==========================================================================
   9. Cities Showcase Grid
   ========================================================================== */
.cities-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	margin-bottom: var(--section-cta-mt);
}

.cities-all-link-wrap {
	margin-top: 0;
	margin-bottom: 0;
}

.city-card {
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform var(--transition-medium), border-color var(--transition-medium);
}

.city-card:hover {
	transform: translateY(-6px);
	border-color: var(--brand-orange);
}

.city-card-img-wrap {
	position: relative;
	height: 160px;
	overflow: hidden;
}

.city-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--transition-medium);
}

.city-card:hover .city-img {
	transform: scale(1.08);
}

.city-state-badge {
	position: absolute;
	top: 12px;
	right: 12px;
	background: rgba(0, 0, 0, 0.65);
	backdrop-filter: blur(8px);
	color: #FFFFFF;
	font-size: 11px;
	font-weight: 700;
	padding: 4px 10px;
	border-radius: var(--radius-full);
	border: 1px solid rgba(255, 255, 255, 0.2);
}

.city-card-content {
	padding: 18px;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.city-card-title {
	font-size: 1.25rem;
	font-weight: 700;
	margin-bottom: 6px;
}

.city-card-title a {
	color: var(--text-primary);
	text-decoration: none;
	transition: color var(--transition-fast);
}

.city-card-title a:hover {
	color: var(--brand-orange);
}

.city-card-img-link {
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.city-card-img-link img {
	transition: transform var(--transition-medium);
}

.city-card:hover .city-card-img-link img {
	transform: scale(1.06);
}

.city-card-meta {
	display: flex;
	gap: 12px;
	font-size: 12px;
	font-weight: 600;
	color: var(--brand-orange);
	margin-bottom: 10px;
}

.city-card-desc {
	font-size: 13px;
	color: var(--text-secondary);
	margin-bottom: 14px;
	line-height: 1.45;
}

.city-card-link {
	font-size: 13px;
	font-weight: 700;
	color: var(--brand-orange);
	margin-top: auto;
	display: inline-block;
}

.city-card-link:hover {
	text-decoration: underline;
}

.city-hubs-preview {
	font-size: 12px;
	color: var(--text-muted);
	margin-bottom: 14px;
	padding: 6px 10px;
	background: var(--bg-surface-elevated);
	border-radius: var(--radius-sm);
}

.city-card-actions-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: auto;
	padding-top: 10px;
	border-top: 1px solid var(--border-glass);
}

/* ==========================================================================
   10. FAQs Accordion
   ========================================================================== */
.faq-accordion-container {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.faq-accordion-item {
	overflow: hidden;
	transition: border-color var(--transition-fast);
}

.faq-question {
	width: 100%;
	padding: 20px 24px;
	background: none;
	border: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	text-align: left;
	font-family: var(--font-heading);
	font-size: 16px;
	font-weight: 700;
	color: var(--text-primary);
	cursor: pointer;
	gap: 16px;
}

.faq-toggle-icon {
	font-size: 20px;
	font-weight: 400;
	color: var(--brand-orange);
	transition: transform var(--transition-medium);
}

.faq-accordion-item.active .faq-toggle-icon {
	transform: rotate(45deg);
}

.faq-answer {
	max-height: 0;
	overflow: hidden;
	transition: max-height var(--transition-medium), padding var(--transition-medium);
	padding: 0 24px;
	color: var(--text-secondary);
	font-size: 14px;
	line-height: 1.6;
}

.faq-accordion-item.active .faq-answer {
	max-height: 350px;
	padding: 0 24px 20px;
}

.faq-answer ul {
	margin: 10px 0 10px 20px;
}

.faq-group-title {
	font-size: 1.5rem;
	font-weight: 800;
	margin-bottom: 18px;
	color: var(--brand-orange);
}

/* ==========================================================================
   11. Blogs Grid
   ========================================================================== */
.blogs-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
}

.blog-card {
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform var(--transition-medium);
}

.blog-card:hover {
	transform: translateY(-6px);
}

.blog-card-img-wrap {
	height: 180px;
	overflow: hidden;
}

.blog-thumb {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--transition-medium);
}

.blog-card:hover .blog-thumb {
	transform: scale(1.06);
}

.blog-card-body {
	padding: 24px;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.blog-card-meta {
	display: flex;
	gap: 12px;
	font-size: 12px;
	color: var(--text-muted);
	margin-bottom: 10px;
}

.blog-card-title {
	font-size: 1.25rem;
	font-weight: 700;
	margin-bottom: 10px;
	line-height: 1.35;
}

.blog-card-title a:hover {
	color: var(--brand-orange);
}

.blog-card-excerpt {
	font-size: 13.5px;
	color: var(--text-secondary);
	margin-bottom: 16px;
	line-height: 1.55;
}

.blog-read-more {
	font-size: 13px;
	font-weight: 700;
	color: var(--brand-orange);
	margin-top: auto;
}

/* Single Blog Post Styles */
.single-post-container {
	border-radius: 24px;
	box-shadow: var(--shadow-card);
	max-width: 1060px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding: 48px;
}

.max-w-1060 {
	max-width: 1060px;
}

.post-meta-header {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	font-size: 14px;
	color: var(--text-muted);
	margin-top: 10px;
}

.single-post-featured-thumb {
	overflow: hidden;
	border-radius: 20px;
	max-height: 560px;
	margin-bottom: 36px;
	background: rgba(0, 0, 0, 0.2);
	display: flex;
	justify-content: center;
	align-items: center;
}

.featured-hero-img {
	width: 100%;
	height: auto;
	max-height: 560px;
	object-fit: cover;
	object-position: center;
	display: block;
}

.blog-body-text {
	font-size: 17px;
	line-height: 1.85;
	color: var(--text-secondary);
}

.blog-body-text h2,
.blog-body-text h3,
.blog-body-text h4 {
	color: var(--text-primary);
	margin-top: 36px;
	margin-bottom: 16px;
	line-height: 1.35;
}

.blog-body-text h2 {
	font-size: 1.85rem;
	font-weight: 800;
}

.blog-body-text h3 {
	font-size: 1.4rem;
	font-weight: 700;
}

.blog-body-text p {
	margin-bottom: 22px;
}

.blog-body-text ul,
.blog-body-text ol {
	margin: 16px 0 24px 28px;
}

.blog-body-text li {
	margin-bottom: 10px;
}

.blog-body-text img {
	border-radius: 14px;
	max-width: 100%;
	height: auto;
	margin: 28px auto;
	display: block;
}

/* Single Post Footer & CTA Banner */
.single-post-footer {
	margin-top: 48px;
	padding-top: 36px;
	border-top: 1px solid var(--border-glass);
}

.post-share-cta {
	background: linear-gradient(135deg, rgba(255, 136, 0, 0.08) 0%, rgba(22, 28, 45, 0.6) 100%);
	border: 1px solid rgba(255, 136, 0, 0.25);
	border-radius: 20px;
	padding: 28px 32px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

[data-theme="light"] .post-share-cta {
	background: linear-gradient(135deg, rgba(255, 136, 0, 0.08) 0%, #FFFFFF 100%);
	border-color: rgba(255, 136, 0, 0.3);
	box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
}

.cta-inner-content {
	flex: 1;
}

.cta-badge {
	display: inline-block;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.8px;
	text-transform: uppercase;
	color: var(--brand-orange);
	margin-bottom: 6px;
}

.cta-heading {
	font-size: 1.25rem;
	font-weight: 800;
	color: var(--text-primary);
	margin: 0 0 8px;
	line-height: 1.35;
}

.cta-text {
	font-size: 14px;
	color: var(--text-secondary);
	margin: 0;
	line-height: 1.55;
}

.cta-button-wrap {
	flex-shrink: 0;
}

.cta-button-wrap .btn {
	white-space: nowrap;
	padding: 13px 24px;
	font-size: 14px;
	font-weight: 700;
	box-shadow: 0 4px 16px rgba(37, 211, 102, 0.35);
}

@media (max-width: 768px) {
	.post-share-cta {
		flex-direction: column;
		align-items: stretch;
		gap: 18px;
		padding: 22px;
	}

	.cta-button-wrap .btn {
		width: 100%;
		justify-content: center;
	}
}

/* ==========================================================================
   12. Page Hero Banners & Policy/Contact Styles
   ========================================================================== */
.page-hero-banner {
	padding: 55px 0 40px;
	background: radial-gradient(circle at 50% 0%, rgba(255, 136, 0, 0.15) 0%, transparent 70%);
	text-align: center;
	border-bottom: 1px solid var(--border-glass);
}

.page-hero-compact {
	padding: 40px 0 30px;
}

.page-hero-eyebrow {
	display: inline-block;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 2px;
	color: var(--brand-orange);
	text-transform: uppercase;
	margin-bottom: 8px;
}

.page-hero-title {
	font-size: 3rem;
	font-weight: 900;
	margin-bottom: 12px;
}

.page-hero-subtitle {
	font-size: 1.15rem;
	color: var(--text-secondary);
	max-width: 650px;
	margin: 0 auto;
}

.breadcrumb-nav {
	font-size: 13px;
	color: var(--text-muted);
	margin-bottom: 10px;
}

.breadcrumb-nav a {
	color: var(--brand-orange);
}

/* Contact Channels */
.contact-channels-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}

.channel-card {
	padding: 24px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.channel-icon-wrap {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 14px;
}

.channel-icon-wrap svg {
	width: 22px;
	height: 22px;
}

.icon-phone {
	background: rgba(255, 136, 0, 0.15);
	color: var(--brand-orange);
}

.icon-whatsapp {
	background: rgba(37, 211, 102, 0.15);
	color: var(--whatsapp-green);
}

.icon-email {
	background: rgba(59, 130, 246, 0.15);
	color: #3B82F6;
}

.icon-location {
	background: rgba(168, 85, 247, 0.15);
	color: #A855F7;
}

.channel-title {
	font-size: 1.1rem;
	font-weight: 700;
	margin-bottom: 6px;
}

.channel-desc {
	font-size: 12.5px;
	color: var(--text-muted);
	margin-bottom: 12px;
}

.channel-link {
	font-size: 14px;
	font-weight: 700;
	color: var(--text-primary);
}

.channel-link:hover {
	color: var(--brand-orange);
}

/* Form Layout */
.contact-form-layout {
	display: grid;
	grid-template-columns: 1.3fr 0.7fr;
	gap: 32px;
}

.contact-form-card {
	padding: 36px;
}

.form-card-title {
	font-size: 1.8rem;
	font-weight: 800;
	margin-bottom: 8px;
}

.form-card-subtitle {
	font-size: 14px;
	color: var(--text-secondary);
	margin-bottom: 24px;
}

.fc-ajax-form {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.form-row-2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.form-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.form-field label {
	font-size: 13px;
	font-weight: 600;
	color: var(--text-primary);
}

.form-field .req {
	color: var(--brand-red);
}

.form-field input,
.form-field select,
.form-field textarea {
	width: 100%;
	padding: 12px 14px;
	background: var(--bg-glass-input);
	border: 1px solid var(--border-glass);
	border-radius: var(--radius-sm);
	color: var(--text-primary);
	font-family: var(--font-body);
	font-size: 14px;
	outline: none;
	transition: border-color var(--transition-fast);
}

.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
	border-color: var(--brand-orange);
}

.form-feedback {
	padding: 14px 18px;
	border-radius: var(--radius-sm);
	font-size: 14px;
	font-weight: 600;
}

.form-feedback.success {
	background: rgba(34, 197, 94, 0.15);
	border: 1px solid #22C55E;
	color: #22C55E;
}

.form-feedback.error {
	background: rgba(239, 68, 68, 0.15);
	border: 1px solid #EF4444;
	color: #EF4444;
}

.form-actions-row {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: 10px;
}

.form-security-note {
	font-size: 12px;
	color: var(--text-muted);
}

/* Sidebar Cards */
.hub-list-card {
	padding: 24px;
}

.sidebar-card-title {
	font-size: 1.25rem;
	font-weight: 700;
	margin-bottom: 14px;
}

.hub-bullet-list {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 8px;
	font-size: 13px;
	color: var(--text-secondary);
}

.doorstep-pill {
	margin-top: 16px;
	padding: 10px;
	background: var(--bg-surface-elevated);
	border-radius: var(--radius-sm);
	font-size: 12px;
	font-weight: 600;
	color: var(--brand-orange);
	text-align: center;
}

.whatsapp-prompt-card {
	padding: 28px 24px;
}

.wa-icon-large {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: rgba(37, 211, 102, 0.15);
	color: var(--whatsapp-green);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 14px;
}

.wa-icon-large svg {
	width: 28px;
	height: 28px;
}

/* ==========================================================================
   13. Single Car Detail Page
   ========================================================================== */
.car-single-grid {
	display: grid;
	grid-template-columns: 1.3fr 0.7fr;
	gap: 36px;
	align-items: flex-start;
}

.car-featured-image-card {
	padding: 0;
	text-align: center;
	position: relative;
	overflow: hidden;
	border-radius: 20px;
	background: #0B1120;
	border: 1px solid rgba(255, 255, 255, 0.08);
}

.car-featured-image-card .car-badge {
	position: absolute;
	top: 20px;
	left: 24px;
	z-index: 5;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.8px;
	text-transform: uppercase;
	padding: 6px 14px;
	border-radius: var(--radius-full);
	background: var(--brand-gradient);
	color: #FFFFFF;
	box-shadow: 0 4px 14px rgba(255, 34, 17, 0.35);
}

.car-featured-image-card .car-brand-watermark {
	position: absolute;
	top: 20px;
	right: 24px;
	bottom: auto;
	z-index: 5;
	background: rgba(11, 17, 32, 0.75);
	padding: 6px 14px;
}

.car-featured-image-card .car-brand-watermark img {
	height: 18px;
	max-width: 100px;
}

.car-detail-main-img {
	width: 100%;
	height: auto;
	max-height: 440px;
	margin: 0 auto;
	display: block;
	object-fit: cover;
	border-radius: 20px;
}

.car-specs-table-card {
	padding: 28px;
}

.specs-title {
	font-size: 1.3rem;
	font-weight: 700;
	margin-bottom: 18px;
}

.specs-table-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.spec-table-row {
	display: flex;
	justify-content: space-between;
	padding: 10px 14px;
	background: var(--bg-surface-elevated);
	border-radius: var(--radius-sm);
	font-size: 13.5px;
}

.spec-label {
	color: var(--text-muted);
}

.spec-val {
	font-weight: 600;
	color: var(--text-primary);
}

.car-description-card {
	padding: 28px;
}

/* Booking Card (Sticky) */
.booking-cta-card {
	padding: 30px;
}

.sticky-box {
	position: sticky;
	top: 100px;
}

.booking-rate-header {
	padding-bottom: 20px;
	border-bottom: 1px solid var(--border-glass);
	margin-bottom: 20px;
}

.rate-label {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-weight: 700;
	color: var(--brand-orange);
}

.price-hourly-large {
	display: flex;
	align-items: baseline;
	margin: 8px 0 4px;
}

.price-hourly-large .currency {
	font-size: 24px;
	font-weight: 800;
	color: var(--brand-orange);
}

.price-hourly-large .amount {
	font-size: 42px;
	font-weight: 900;
	font-family: var(--font-heading);
	margin-left: 4px;
	line-height: 1;
}

.price-hourly-large .unit {
	font-size: 16px;
	color: var(--text-muted);
	margin-left: 6px;
}

.price-daily-sub {
	font-size: 13px;
	color: var(--text-secondary);
}

.booking-perks-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-size: 13px;
	color: var(--text-secondary);
	margin-bottom: 24px;
}

.booking-action-buttons {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-bottom: 20px;
}

.booking-docs-note {
	padding: 12px;
	background: var(--bg-surface-elevated);
	border-radius: var(--radius-sm);
	font-size: 12px;
	color: var(--text-secondary);
	line-height: 1.5;
}

.note-title {
	display: block;
	font-weight: 700;
	color: var(--text-primary);
	margin-bottom: 4px;
}

/* City Hub Booking Widget */
.city-booking-widget {
	padding: 34px 28px !important;
	border-radius: 24px;
	box-shadow: 0 15px 35px -10px rgba(0, 0, 0, 0.25);
}

.city-booking-widget .car-badge-genz {
	display: inline-flex;
	align-items: center;
	padding: 7px 16px;
	border-radius: 9999px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	background: linear-gradient(135deg, #FF5500 0%, #FF2211 100%);
	color: #FFFFFF;
	box-shadow: 0 4px 14px rgba(255, 34, 17, 0.35);
	margin-bottom: 16px;
}

.city-booking-widget .widget-price-row {
	display: flex;
	align-items: baseline;
	margin-bottom: 22px;
}

.city-booking-widget .widget-price-val {
	font-size: 2.2rem;
	font-weight: 900;
	color: var(--brand-orange);
	font-family: var(--font-heading);
	line-height: 1;
	letter-spacing: -0.5px;
}

.city-booking-widget .widget-hubs-box {
	padding: 18px 20px;
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid var(--border-glass);
	margin-bottom: 26px;
}

[data-theme="light"] .city-booking-widget .widget-hubs-box {
	background: #F1F5F9;
	border-color: rgba(15, 23, 42, 0.08);
}

.city-booking-widget .widget-hubs-title {
	display: block;
	margin-bottom: 8px;
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.8px;
	color: var(--text-muted);
}

.city-booking-widget .widget-hubs-text {
	font-size: 14px;
	line-height: 1.6;
	color: var(--text-secondary);
	margin: 0;
}

.city-booking-widget .widget-action-buttons {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 4px;
}

.city-booking-widget .btn {
	width: 100%;
	justify-content: center;
}

/* ==========================================================================
   14. Footer
   ========================================================================== */
#primary>section:last-of-type,
main>section:last-of-type {
	padding-bottom: 48px;
}

.site-footer {
	background-color: var(--bg-body-secondary);
	border-top: 1px solid var(--border-glass);
	padding: 64px 0 30px;
	margin-top: auto;
}

.footer-cta-card {
	background: var(--brand-gradient);
	border-radius: var(--radius-lg);
	padding: 36px 40px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 0;
	margin-bottom: 64px;
	box-shadow: 0 10px 30px rgba(255, 34, 17, 0.22);
}

.footer-cta-text {
	max-width: 650px;
}

.cta-subtitle {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 1.5px;
	color: rgba(255, 255, 255, 0.85);
	text-transform: uppercase;
	display: block;
	margin-bottom: 6px;
}

.cta-title {
	font-size: 2rem;
	font-weight: 800;
	color: #FFFFFF;
	margin-bottom: 8px;
}

.cta-desc {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.9);
}

.footer-cta-buttons {
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex-shrink: 0;
}

/* Footer Grid */
.footer-grid {
	display: grid;
	grid-template-columns: 1.3fr 1fr 1fr 1fr 1.2fr;
	gap: 32px;
	margin-bottom: 50px;
}

.footer-logo {
	margin-bottom: 18px;
}

.footer-tagline-text {
	font-size: 13.5px;
	color: var(--text-secondary);
	line-height: 1.6;
	margin-bottom: 20px;
}

.footer-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.badge-item {
	font-size: 11px;
	font-weight: 700;
	padding: 4px 10px;
	background: var(--bg-surface-elevated);
	border-radius: var(--radius-full);
	color: var(--text-primary);
}

.footer-title {
	font-size: 1.1rem;
	font-weight: 700;
	margin-bottom: 20px;
	color: var(--text-primary);
	position: relative;
	padding-bottom: 10px;
}

.footer-title::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 28px;
	height: 2px;
	background: var(--brand-gradient);
	border-radius: 2px;
}

.footer-links {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.footer-links a {
	font-size: 13.5px;
	color: var(--text-secondary);
	transition: color var(--transition-fast);
}

.footer-links a:hover {
	color: var(--brand-orange);
	padding-left: 4px;
}

.contact-info-block {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.contact-item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

.contact-icon {
	width: 18px;
	height: 18px;
	color: var(--brand-orange);
	flex-shrink: 0;
	margin-top: 3px;
}

.contact-item .label {
	display: block;
	font-size: 11px;
	color: var(--text-muted);
	text-transform: uppercase;
}

.contact-item .val {
	font-size: 13.5px;
	font-weight: 600;
	color: var(--text-primary);
}

/* Footer Bottom Bar (Centered Copyright Only) */
.footer-bottom {
	padding-top: 28px;
	border-top: 1px solid var(--border-glass);
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-size: 13px;
	color: var(--text-muted);
}

.footer-bottom-links {
	display: flex;
	align-items: center;
	gap: 12px;
}

.footer-bottom-links a {
	color: var(--text-muted);
}

.footer-bottom-links a:hover {
	color: var(--brand-orange);
}

.footer-bottom-links .sep {
	color: rgba(255, 255, 255, 0.2);
}

/* ==========================================================================
   15. Floating Action Buttons
   ========================================================================== */
.floating-cta-wrapper {
	position: fixed;
	bottom: 24px;
	right: 24px;
	z-index: 999;
	display: flex;
	flex-direction: column;
	gap: 12px;
	align-items: flex-end;
}

.float-btn {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	border: none;
	position: relative;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.35);
	transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.float-btn:hover {
	transform: scale(1.1);
}

.float-whatsapp {
	background-color: var(--whatsapp-green);
	color: #FFFFFF;
	box-shadow: var(--whatsapp-glow);
}

.float-whatsapp svg {
	width: 32px;
	height: 32px;
	display: block;
}

.float-call {
	background: var(--brand-gradient);
	color: #FFFFFF;
}

.float-call svg {
	width: 22px;
	height: 22px;
}

.float-top {
	width: 44px;
	height: 44px;
	background: var(--bg-surface-elevated);
	color: var(--text-primary);
	border: 1px solid var(--border-glass);
	opacity: 0;
	visibility: hidden;
	transition: all var(--transition-fast);
}

.float-top.visible {
	opacity: 1;
	visibility: visible;
}

.float-top svg {
	width: 18px;
	height: 18px;
}

.float-tooltip {
	position: absolute;
	right: 64px;
	background: rgba(0, 0, 0, 0.85);
	color: #FFFFFF;
	font-size: 12px;
	font-weight: 600;
	padding: 6px 12px;
	border-radius: var(--radius-sm);
	white-space: nowrap;
	opacity: 0;
	pointer-events: none;
	transition: opacity var(--transition-fast);
}

.float-btn:hover .float-tooltip {
	opacity: 1;
}

/* ==========================================================================
   16. Utilities & Helpers
   ========================================================================== */
.text-center {
	text-align: center;
}

.justify-center {
	justify-content: center;
}

.mx-auto {
	margin-left: auto;
	margin-right: auto;
}

.max-w-600 {
	max-width: 600px;
}

.max-w-800 {
	max-width: 800px;
}

.max-w-900 {
	max-width: 900px;
}

.mt-30 {
	margin-top: 30px;
}

.mt-40 {
	margin-top: 40px;
}

.mt-50 {
	margin-top: 50px;
}

.mt-60 {
	margin-top: 60px;
}

.mb-30 {
	margin-bottom: 30px;
}

.mb-40 {
	margin-bottom: 40px;
}

.mb-50 {
	margin-bottom: 50px;
}

.mb-60 {
	margin-bottom: 60px;
}

.pt-30 {
	padding-top: 30px;
}

.p-24 {
	padding: 24px;
}

.p-30 {
	padding: 30px;
}

.p-40 {
	padding: 40px;
}

.p-60 {
	padding: 60px;
}

.border-top {
	border-top: 1px solid var(--border-glass);
}

/* Entry Content (for standard pages & policies) */
.entry-content {
	font-size: 15px;
	color: var(--text-secondary);
	line-height: 1.8;
}

.entry-content h2,
.entry-content h3 {
	margin: 28px 0 12px;
	color: var(--text-primary);
}

.entry-content ul,
.entry-content ol {
	margin: 12px 0 16px 24px;
}

.entry-content li {
	margin-bottom: 8px;
}

.entry-content a {
	color: var(--brand-orange);
	text-decoration: underline;
}

/* ==========================================================================
   17. Responsive Media Queries
   ========================================================================== */
@media (max-width: 1024px) {
	:root {
		--section-padding-y: 50px;
		--section-header-mb: 32px;
		--section-cta-mt: 26px;
	}

	.top-info-left .info-text,
	.top-info-left .info-divider {
		display: none;
	}

	.main-navigation {
		display: none !important;
	}

	.header-cta-btn {
		display: none !important;
	}

	.mobile-menu-toggle {
		display: flex !important;
	}

	.hero-genz {
		padding: 40px 0 26px;
	}

	.marquee-ticker-wrap {
		margin: 20px 0 20px;
	}

	.hero-genz-grid {
		grid-template-columns: 1fr;
		gap: 36px;
	}

	.hero-title,
	.hero-title-genz {
		font-size: 3rem;
	}

	.hero-filter-form {
		grid-template-columns: 1fr 1fr;
	}

	.fleet-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.cities-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.features-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.contact-channels-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.footer-grid {
		grid-template-columns: 1fr 1fr;
		gap: 30px;
	}

	.footer-col-brand {
		grid-column: span 2;
	}

	.footer-cta-card {
		flex-direction: column;
		text-align: center;
		gap: 24px;
	}

	.footer-cta-buttons {
		width: 100%;
		align-items: center;
	}

	.about-grid {
		grid-template-columns: 1fr;
	}

	.car-single-grid {
		grid-template-columns: 1fr;
	}

	.contact-form-layout {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 768px) {
	:root {
		--section-padding-y: 38px;
		--section-header-mb: 24px;
		--section-cta-mt: 20px;
	}

	.top-info-bar {
		display: none;
	}

	.main-navigation {
		display: none;
	}

	.header-cta-btn {
		display: none;
	}

	.mobile-menu-toggle {
		display: flex;
	}

	.page-hero-banner {
		padding: 38px 0 26px;
	}

	/* Hero Mobile Layout - Single Column Stack */
	.hero-genz {
		padding: 30px 0 20px;
	}

	.marquee-ticker-wrap {
		margin: 16px 0 16px;
	}

	.hero-genz-grid {
		grid-template-columns: 1fr !important;
		gap: 32px !important;
	}

	.hero-title-genz {
		font-size: 2.2rem !important;
		line-height: 1.08;
		letter-spacing: -0.015em;
		margin-bottom: 16px;
	}

	.genz-pill-badge {
		max-width: 100%;
		white-space: normal;
		padding: 6px 14px;
		margin-bottom: 16px;
	}

	.genz-pill-badge .badge-text {
		font-size: 10px;
		letter-spacing: 0.8px;
	}

	.hero-sub-genz {
		font-size: 1rem;
		line-height: 1.55;
		margin-bottom: 22px;
	}

	.hero-cta-actions {
		flex-direction: column;
		width: 100%;
		gap: 12px;
		margin-bottom: 22px;
	}

	.hero-cta-actions .btn {
		width: 100%;
		justify-content: center;
		padding: 13px 20px;
	}

	.hero-vibe-tags {
		gap: 8px;
	}

	.vibe-tag {
		padding: 6px 12px;
		font-size: 11.5px;
	}

	/* Hero Beast Card Mobile Responsive */
	.hero-visual-col {
		width: 100%;
		max-width: 100%;
	}

	.hero-beast-card {
		padding: 16px 12px;
		border-radius: var(--radius-md);
	}

	.hero-beast-img {
		height: 200px;
	}

	.beast-tag-floating {
		top: 14px;
		left: 14px;
		font-size: 9px;
		padding: 3px 10px;
	}

	.beast-display-area .car-brand-watermark {
		top: 14px;
		right: 14px;
		padding: 3px 8px;
	}

	.beast-display-area .car-brand-watermark img {
		height: 13px;
	}

	.beast-pill-switcher {
		gap: 6px;
		margin-bottom: 12px;
	}

	.beast-pill-btn {
		padding: 5px 10px;
		font-size: 11px;
	}

	.beast-info-bar {
		padding-top: 12px;
		margin-top: 8px;
	}

	.hero-title {
		font-size: 2.3rem;
	}

	.hero-subtitle {
		font-size: 1rem;
	}

	.hero-filter-form {
		grid-template-columns: 1fr;
	}

	.fleet-grid {
		grid-template-columns: 1fr;
	}

	.cities-grid {
		grid-template-columns: 1fr;
	}

	.blogs-grid {
		grid-template-columns: 1fr;
	}

	.single-post-container {
		padding: 24px 18px !important;
		border-radius: 18px;
	}

	.single-post-featured-thumb {
		max-height: 320px;
		margin-bottom: 22px;
	}

	.post-share-cta {
		flex-direction: column;
		text-align: center;
		padding: 22px 18px;
	}

	.features-grid {
		grid-template-columns: 1fr;
	}

	.contact-channels-grid {
		grid-template-columns: 1fr;
	}

	.about-features-checklist {
		grid-template-columns: 1fr;
	}

	.about-stats-col {
		grid-template-columns: 1fr;
	}

	.form-row-2 {
		grid-template-columns: 1fr;
	}

	.specs-table-grid {
		grid-template-columns: 1fr;
	}

	.footer-grid {
		grid-template-columns: 1fr !important;
		gap: 36px;
	}

	.footer-col,
	.footer-col-brand,
	.footer-col-contact {
		grid-column: 1 / -1 !important;
		width: 100%;
	}

	.footer-bottom {
		flex-direction: column;
		gap: 14px;
		text-align: center;
	}

	.contact-form-card {
		padding: 20px;
	}
}

@media (max-width: 480px) {
	:root {
		--section-padding-y: 32px;
		--section-header-mb: 20px;
		--section-cta-mt: 18px;
	}

	.hero-genz {
		padding: 24px 0 16px;
	}

	.marquee-ticker-wrap {
		margin: 12px 0 12px;
	}

	.page-hero-banner {
		padding: 32px 0 22px;
	}

	.hero-title-genz {
		font-size: 1.95rem !important;
		line-height: 1.1;
	}

	.hero-beast-img {
		height: 180px;
	}

	.beast-info-bar {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}

	.beast-price-tag {
		width: 100%;
		justify-content: space-between;
	}

	.footer-grid {
		grid-template-columns: 1fr !important;
		gap: 28px;
	}

	.footer-col,
	.footer-col-brand,
	.footer-col-contact {
		grid-column: 1 / -1 !important;
		width: 100%;
	}
}