/* ==========================================================================
   Mazmotor Core — Elementor widgets
   Uses Mazmotor Pro tokens (--mz-*) with standalone fallbacks.
   ========================================================================== */
.elementor-widget-container > [class^="mzm-"], .mzm-hero, .mzm-features, .mzm-cars, .mzm-budget, .mzm-brands, .mzm-steps, .mzm-stats, .mzm-rates, .mzm-faq, .mzm-lead, .mzm-split, .mzm-app, .mzm-contact, .mzm-seo, .mzm-heading {
	--g: var(--mz-primary, #2d6cb5);
	--g2: var(--mz-primary-2, #cfdbea);
	--dk: var(--mz-dark, #071529);
	--dk2: var(--mz-dark-2, #0d2242);
	--ink: var(--mz-ink, #101828);
	--onp: var(--mz-on-primary, #ffffff);
	--mut: var(--mz-muted, #666a75);
	--ln: var(--mz-line, #e8e4da);
	--sf: var(--mz-surface, #fff);
	--sf2: var(--mz-surface-2, #faf9f6);
	--r: var(--mz-radius, 18px);
	--sh: var(--mz-shadow, 0 1px 2px rgba(20,20,30,.04), 0 8px 30px rgba(20,20,30,.06));
	--shl: var(--mz-shadow-lg, 0 30px 80px rgba(15,16,20,.18));
	--ease: cubic-bezier(.2, .7, .2, 1);
	font-family: var(--mz-font, "Vazirmatn", Tahoma, sans-serif);
}
.mzm-gold { background: linear-gradient(135deg, var(--g), #163f73); -webkit-background-clip: text; background-clip: text; color: transparent; }
.mzm-hero .mzm-gold, .mzm-theme-dark .mzm-gold, .mzm-lead .mzm-gold, .mzm-app .mzm-gold { background-image: linear-gradient(135deg, #ffffff, var(--g2) 45%, #7fb0e8); }
.mzm-center { text-align: center; margin-top: 28px; }
.mzm-empty { color: var(--mut); text-align: center; padding: 16px; }
.mzm-hp, .mzm-lead__form .mzm-hp { position: absolute !important; left: auto !important; width: 1px !important; height: 1px !important; min-height: 0 !important; padding: 0 !important; border: 0 !important; opacity: 0; overflow: hidden; clip: rect(0 0 0 0); }
.mzm-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #1f9d6b; box-shadow: 0 0 0 4px rgba(31, 157, 107, .18); }

/* Buttons */
.mzm-btn { display: inline-flex; align-items: center; justify-content: center; gap: .5em; min-height: 48px; padding: 0 1.4em; border-radius: 999px; border: 1.5px solid transparent; font-weight: 800; font-size: .95rem; line-height: 1; white-space: nowrap; cursor: pointer; text-decoration: none; transition: transform .2s var(--ease), box-shadow .2s, background .2s, color .2s, border-color .2s; }
.mzm-btn--lg { min-height: 56px; padding: 0 1.8em; font-size: 1.02rem; }
.mzm-btn--gold { background: linear-gradient(135deg, #4a8bd6, var(--g) 55%, #1d4f91); color: var(--onp); box-shadow: 0 10px 30px color-mix(in srgb, var(--g) 35%, transparent); }
.mzm-btn--gold:hover { color: var(--onp); transform: translateY(-2px); box-shadow: 0 14px 36px color-mix(in srgb, var(--g) 50%, transparent); }
.mzm-btn--glass { background: rgba(255, 255, 255, .08); color: #fff; border-color: rgba(255, 255, 255, .22); }
.mzm-btn--glass:hover { background: rgba(255, 255, 255, .16); color: var(--g2); }
.mzm-btn--dark { background: var(--dk); color: #fff; }
.mzm-btn--dark:hover { color: var(--g2); }
.mzm-btn--line { min-height: 42px; border-color: var(--ln); color: var(--ink); background: var(--sf); font-size: .88rem; }
.mzm-btn--line:hover { border-color: var(--g); color: var(--ink); background: color-mix(in srgb, var(--g) 10%, var(--sf)); }
.mzm-round { width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--ln); background: var(--sf); font-size: 1.4rem; line-height: 1; cursor: pointer; color: var(--ink); box-shadow: var(--sh); }
.mzm-round:hover { border-color: var(--g); color: var(--g); }

/* Heading */
.mzm-heading { margin: 0 auto 32px; max-width: 760px; }
.mzm-heading--center { text-align: center; }
.mzm-heading--right { text-align: start; margin-inline: 0; }
.mzm-kicker { display: inline-flex; align-items: center; gap: 8px; padding: 4px 14px; border-radius: 999px; background: color-mix(in srgb, var(--g) 14%, transparent); color: color-mix(in srgb, var(--g) 70%, var(--ink)); font-size: .8rem; font-weight: 800; }
.mzm-kicker--dark { background: rgba(255, 255, 255, .08); color: var(--g2); border: 1px solid rgba(255, 255, 255, .12); }
.mzm-heading__title { font-size: clamp(1.45rem, 1.1rem + 1.5vw, 2.4rem); font-weight: 900; line-height: 1.45; margin: 12px 0 8px; color: inherit; }
.mzm-heading__sub { color: var(--mut); margin: 0; font-size: 1.02rem; }

/* Dark theme variant for sections */
.mzm-theme-dark { background: var(--dk); color: #f3f1ea; border-radius: calc(var(--r) * 1.5); padding: clamp(28px, 5vw, 64px); background-image: radial-gradient(600px 300px at 100% 0%, color-mix(in srgb, var(--g) 18%, transparent), transparent 70%); }
.mzm-theme-dark .mzm-heading__sub { color: rgba(243, 241, 234, .7); }
.mzm-theme-dark .mzm-kicker { background: rgba(255, 255, 255, .08); color: var(--g2); }

/* ---------------- Hero ---------------- */
.mzm-hero {
	position: relative; isolation: isolate; overflow: hidden;
	display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); align-items: center; gap: clamp(24px, 4vw, 64px);
	padding: clamp(32px, 6vw, 88px) clamp(20px, 5vw, 72px);
	border-radius: calc(var(--r) * 1.6);
	background: radial-gradient(900px 500px at 0% 0%, rgba(255, 255, 255, .06), transparent 60%), linear-gradient(160deg, #0f2747, var(--dk) 55%, #030a16);
	color: #f6f3ea;
}
.mzm-hero__glow { position: absolute; z-index: -1; inset: auto -10% -40% auto; width: 60%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--g) 45%, transparent), transparent 65%); filter: blur(20px); opacity: .55; }
.mzm-hero__title { font-size: clamp(1.9rem, 1.2rem + 3vw, 3.6rem); font-weight: 900; line-height: 1.3; margin: 16px 0 14px; color: #fff; letter-spacing: -.01em; }
.mzm-hero__text { font-size: clamp(1rem, .95rem + .3vw, 1.15rem); color: rgba(246, 243, 234, .78); max-width: 600px; margin: 0 0 18px; }
.mzm-hero__points { display: flex; flex-wrap: wrap; gap: 8px 18px; list-style: none; padding: 0; margin: 0 0 26px; }
.mzm-hero__points li { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; font-size: .92rem; }
.mzm-hero__points li::before { content: ""; width: 18px; height: 18px; border-radius: 50%; background: var(--g) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center / 12px no-repeat; flex: none; }
.mzm-hero__ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 24px; }
.mzm-hero__search { display: flex; max-width: 560px; padding: 6px; border-radius: 999px; background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .12); }
.mzm-hero__search input { flex: 1; min-width: 0; min-height: 46px; border: 0 !important; background: transparent !important; color: #fff; padding: 0 16px; outline: none; box-shadow: none !important; font: inherit; }
.mzm-hero__search input::placeholder { color: rgba(255, 255, 255, .5); }
.mzm-hero__search button { border: 0; border-radius: 999px; padding: 0 22px; background: #fff; color: var(--dk); font: inherit; font-weight: 800; cursor: pointer; }
.mzm-hero__rate { display: inline-flex; align-items: center; gap: 8px; margin: 18px 0 0; font-size: .9rem; color: rgba(246, 243, 234, .75); }
.mzm-hero__rate strong { color: var(--g2); font-size: 1.05rem; }

.mzm-hero__media { position: relative; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 14px; min-height: clamp(280px, 38vw, 520px); }
.mzm-hero__img { width: 100%; height: 100%; object-fit: cover; border-radius: calc(var(--r) * 1.2); box-shadow: 0 30px 60px rgba(0, 0, 0, .45); }
.mzm-hero__media--1 .mzm-hero__img--1 { grid-column: 1 / -1; grid-row: 1 / -1; }
.mzm-hero__media--2 .mzm-hero__img--1, .mzm-hero__media--3 .mzm-hero__img--1 { grid-column: 1 / -1; grid-row: 1; transform: rotate(-2deg); }
.mzm-hero__media--2 .mzm-hero__img--2 { grid-column: 1 / -1; grid-row: 2; transform: rotate(1.5deg); }
.mzm-hero__media--3 .mzm-hero__img--2 { grid-column: 1; grid-row: 2; transform: rotate(2deg) translateY(-8%); }
.mzm-hero__media--3 .mzm-hero__img--3 { grid-column: 2; grid-row: 2; transform: rotate(-3deg) translateY(4%); border: 4px solid rgba(255, 255, 255, .9); }
.mzm-hero__shape { position: absolute; z-index: -1; top: -6%; inset-inline-start: -8%; width: 22%; aspect-ratio: 1; border: 3px solid color-mix(in srgb, var(--g) 70%, transparent); transform: rotate(45deg); border-radius: 12px; }


/* Hero intro video (background) */
.mzm-hero.has-video { --mzm-overlay: .55; min-height: clamp(420px, 70vh, 820px); background: #030a16; }
.mzm-hero__video { position: absolute; inset: 0; z-index: -2; overflow: hidden; }
.mzm-hero__video video { width: 100%; height: 100%; object-fit: cover; display: block; }
.mzm-hero.has-video::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background: linear-gradient(270deg, rgba(3, 10, 22, calc(var(--mzm-overlay) * 1.35)) 0%, rgba(3, 10, 22, var(--mzm-overlay)) 45%, rgba(3, 10, 22, calc(var(--mzm-overlay) * .45)) 100%),
	linear-gradient(0deg, rgba(3, 10, 22, .65), transparent 40%); }
.mzm-hero.has-video .mzm-hero__glow { opacity: .25; }
/* Edge-to-edge intro when the hero sits in a full-width Elementor container */
.e-con-full .mzm-hero { border-radius: 0; padding-inline: max(20px, calc((100% - var(--mz-container, 1320px)) / 2)); }
.mzm-hero__vctrl { position: absolute; z-index: 2; bottom: 18px; inset-inline-end: 18px; display: flex; gap: 8px; }
.mzm-round--glass { background: rgba(255, 255, 255, .12); border-color: rgba(255, 255, 255, .25); color: #fff; display: grid; place-items: center; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.mzm-round--glass:hover { color: var(--g2); border-color: var(--g2); }
.mzm-round .i-off { display: none; }
.mzm-round[aria-pressed="true"] .i-on { display: none; }
.mzm-round[aria-pressed="true"] .i-off { display: block; }
.mzm-hero.has-video .mzm-hero__media .mzm-hero__img { box-shadow: 0 30px 70px rgba(0, 0, 0, .6); }
html.is-tv .mzm-round--glass { -webkit-backdrop-filter: none; backdrop-filter: none; background: rgba(0, 0, 0, .55); }
@media (max-width: 1024px) {
	.mzm-hero.has-video::before { background: linear-gradient(0deg, rgba(3, 10, 22, .85), rgba(3, 10, 22, var(--mzm-overlay)) 60%, rgba(3, 10, 22, .35)); }
}

/* ---------------- Features ---------------- */
.mzm-features__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.mzm-feature { display: block; padding: 26px 24px; border-radius: var(--r); background: var(--sf); box-shadow: var(--sh); color: inherit; text-decoration: none; transition: transform .3s var(--ease), box-shadow .3s; position: relative; overflow: hidden; }
.mzm-feature::after { content: ""; position: absolute; inset: auto 0 0; height: 3px; background: linear-gradient(90deg, var(--g), var(--g2)); transform: scaleX(0); transform-origin: right; transition: transform .4s var(--ease); }
.mzm-feature:hover { transform: translateY(-4px); box-shadow: var(--shl); }
.mzm-feature:hover::after { transform: scaleX(1); }
.mzm-feature__icon { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 16px; background: linear-gradient(135deg, color-mix(in srgb, var(--g2) 35%, transparent), color-mix(in srgb, var(--g) 18%, transparent)); color: color-mix(in srgb, var(--g) 80%, var(--ink)); font-size: 22px; margin-bottom: 16px; }
.mzm-feature__icon svg { width: 24px; height: 24px; fill: currentColor; }
.mzm-feature__title { font-size: 1.08rem; font-weight: 800; margin: 0 0 6px; }
.mzm-feature__text { color: var(--mut); font-size: .92rem; margin: 0; line-height: 1.9; }
.mzm-theme-dark .mzm-feature { background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .08); box-shadow: none; }
.mzm-theme-dark .mzm-feature__text { color: rgba(243, 241, 234, .7); }
.mzm-theme-dark .mzm-feature__icon { color: var(--g2); }

/* ---------------- Cars (grid / carousel) ---------------- */
.mzm-cars { --mzm-cols: 4; }
.mzm-cars__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; }
.mzm-cars__head .mzm-heading { flex: 1; }
.mzm-cars__nav { display: flex; gap: 8px; margin-bottom: 32px; }
.mzm-cars__track { display: grid; grid-template-columns: repeat(var(--mzm-cols), minmax(0, 1fr)); gap: 20px; }
.mzm-cars.is-carousel .mzm-cars__track {
	display: grid; grid-auto-flow: column; grid-template-columns: none;
	grid-auto-columns: calc((100% - (var(--mzm-cols) - 1) * 20px) / var(--mzm-cols));
	overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth;
	padding: 6px 4px 24px; margin: -6px -4px 0; scrollbar-width: none; overscroll-behavior-x: contain;
}
.mzm-cars.is-carousel .mzm-cars__track::-webkit-scrollbar { display: none; }
.mzm-cars.is-carousel .mzm-cars__track > * { scroll-snap-align: start; }

.mzm-car { display: flex; flex-direction: column; background: var(--sf); border-radius: var(--r); overflow: hidden; box-shadow: var(--sh); transition: transform .3s var(--ease), box-shadow .3s; height: 100%; }
.mzm-car:hover { transform: translateY(-4px); box-shadow: var(--shl); }
.mzm-car__media { position: relative; display: block; aspect-ratio: 16 / 10; background: linear-gradient(180deg, var(--sf2), #ece8de); overflow: hidden; }
.mzm-car__media img { width: 100%; height: 100%; object-fit: contain; padding: 10px; transition: transform .6s var(--ease); }
.mzm-car:hover .mzm-car__media img { transform: scale(1.05); }
.mzm-car__badge { position: absolute; top: 12px; inset-inline-start: 12px; padding: 3px 10px; border-radius: 999px; background: #d64545; color: #fff; font-size: .74rem; font-weight: 800; }
.mzm-car__badge--gold { background: linear-gradient(135deg, #4a8bd6, var(--g)); color: var(--onp); }
.mzm-car__body { display: flex; flex-direction: column; gap: 8px; padding: 16px 18px 18px; flex: 1; }
.mzm-car__title { font-size: 1.02rem; font-weight: 800; margin: 0; line-height: 1.5; }
.mzm-car__title a { color: inherit; text-decoration: none; }
.mzm-car__chips { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0; padding: 0; }
.mzm-car__chips li { padding: 1px 10px; border-radius: 999px; background: var(--sf2); border: 1px solid var(--ln); font-size: .74rem; color: var(--mut); font-weight: 600; }
.mzm-car__price { display: grid; gap: 0; margin-top: auto; padding-top: 10px; border-top: 1px dashed var(--ln); }
.mzm-car__price strong { font-size: 1.15rem; font-weight: 900; color: var(--ink); }
.mzm-car__price strong small { font-size: .72rem; color: var(--mut); font-weight: 600; }
.mzm-car__price-orig { font-size: .8rem; color: var(--mut); }
.mzm-car .mzm-btn--line { margin-top: 6px; }
.mzm-car--compact { flex-direction: row; box-shadow: none; border: 1px solid var(--ln); }
.mzm-car--compact .mzm-car__media { width: 112px; flex: none; aspect-ratio: 4 / 3; }
.mzm-car--compact .mzm-car__body { padding: 10px 12px; gap: 4px; }
.mzm-car--compact .mzm-car__title { font-size: .9rem; }
.mzm-car--compact .mzm-car__price { border: 0; padding-top: 0; }
.mzm-car--compact .mzm-car__price strong { font-size: 1rem; }
.mzm-car--compact .mzm-car__chips { display: none; }

/* ---------------- Budget ---------------- */
.mzm-budget__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 18px; }
.mzm-band { display: flex; flex-direction: column; gap: 12px; padding: 18px; border-radius: var(--r); background: var(--sf); box-shadow: var(--sh); }
.mzm-band__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.mzm-band__title { font-size: 1.05rem; font-weight: 900; margin: 0; }
.mzm-band__count { padding: 2px 12px; border-radius: 999px; background: var(--dk); color: var(--g2); font-size: .78rem; font-weight: 800; white-space: nowrap; }
.mzm-band__list { display: grid; gap: 10px; }
.mzm-band__more { margin-top: auto; font-weight: 800; font-size: .9rem; color: color-mix(in srgb, var(--g) 75%, var(--ink)); text-decoration: none; }

/* ---------------- Brands ---------------- */
.mzm-brands__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 14px; list-style: none; margin: 0; padding: 0; }
.mzm-brand { display: grid; justify-items: center; gap: 4px; padding: 20px 12px; border-radius: var(--r); background: var(--sf); box-shadow: var(--sh); text-align: center; color: inherit; text-decoration: none; transition: transform .3s var(--ease), box-shadow .3s; height: 100%; }
a.mzm-brand:hover { transform: translateY(-4px); box-shadow: var(--shl); }
.mzm-brand__logo img { height: 56px; width: auto; object-fit: contain; filter: grayscale(1); opacity: .8; transition: .3s; }
a.mzm-brand:hover .mzm-brand__logo img { filter: none; opacity: 1; }
.mzm-brand__mono { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--dk); color: var(--g2); font-weight: 900; font-size: 1.4rem; }
.mzm-brand__name { font-weight: 800; }
.mzm-brand__latin { font-size: .78rem; color: var(--mut); letter-spacing: .04em; }
.mzm-brand__count { font-size: .72rem; color: var(--mut); }

/* ---------------- Steps ---------------- */
.mzm-steps__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 18px; list-style: none; margin: 0; padding: 0; counter-reset: s; position: relative; }
.mzm-step { position: relative; padding: 24px 20px; border-radius: var(--r); background: var(--sf); box-shadow: var(--sh); }
.mzm-step__num { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: linear-gradient(135deg, #4a8bd6, var(--g)); color: var(--onp); font-weight: 900; font-size: 1.2rem; margin-bottom: 14px; }
.mzm-step__title { font-size: 1.05rem; font-weight: 800; margin: 0 0 6px; }
.mzm-step__text { color: var(--mut); font-size: .9rem; margin: 0; }
.mzm-theme-dark .mzm-step { background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .08); box-shadow: none; }
.mzm-theme-dark .mzm-step__text { color: rgba(243, 241, 234, .7); }

/* ---------------- Stats ---------------- */
.mzm-stats__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: 16px; margin: 0; }
.mzm-stat { display: flex; flex-direction: column-reverse; align-items: center; padding: 22px 12px; border-radius: var(--r); background: var(--sf); box-shadow: var(--sh); text-align: center; }
.mzm-stat__num { margin: 0; font-size: clamp(1.8rem, 1.3rem + 2vw, 2.8rem); font-weight: 900; line-height: 1.2; color: color-mix(in srgb, var(--g) 80%, var(--ink)); font-variant-numeric: tabular-nums; }
.mzm-stat__label { color: var(--mut); font-weight: 600; font-size: .92rem; }
.mzm-theme-dark .mzm-stat { background: rgba(255, 255, 255, .04); box-shadow: none; border: 1px solid rgba(255, 255, 255, .08); }
.mzm-theme-dark .mzm-stat__num { color: var(--g2); }
.mzm-theme-dark .mzm-stat__label { color: rgba(243, 241, 234, .7); }

/* ---------------- Rates ---------------- */
.mzm-rates { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; padding: 16px 22px; border-radius: var(--r); background: var(--dk); color: #f3f1ea; }
.mzm-rates__item { display: inline-flex; align-items: baseline; gap: 8px; }
.mzm-rates__item strong { font-size: 1.35rem; font-weight: 900; color: var(--g2); font-variant-numeric: tabular-nums; }
.mzm-rates__item small { opacity: .6; }
.mzm-rates .mzm-btn { margin-inline-start: auto; }

/* ---------------- Posts ---------------- */
.mzm-post { display: flex; flex-direction: column; background: var(--sf); border-radius: var(--r); overflow: hidden; box-shadow: var(--sh); height: 100%; }
.mzm-post__media { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--sf2); }
.mzm-post__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.mzm-post:hover .mzm-post__media img { transform: scale(1.05); }
.mzm-post__body { display: flex; flex-direction: column; gap: 8px; padding: 16px 18px 18px; flex: 1; }
.mzm-post__title { font-size: 1rem; font-weight: 800; margin: 0; line-height: 1.6; }
.mzm-post__title a { color: inherit; text-decoration: none; }
.mzm-post__excerpt { color: var(--mut); font-size: .88rem; margin: 0; }
.mzm-post__date { margin-top: auto; font-size: .78rem; color: var(--mut); }
.mzm-post .mzm-kicker { align-self: flex-start; }

/* ---------------- FAQ ---------------- */
.mzm-faq__list { display: grid; gap: 12px; max-width: 920px; margin: 0 auto; }
.mzm-faq__item { border-radius: var(--r); background: var(--sf); box-shadow: var(--sh); overflow: hidden; }
.mzm-faq__item summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 22px; cursor: pointer; list-style: none; }
.mzm-faq__item summary::-webkit-details-marker { display: none; }
.mzm-faq__q { font-size: 1rem; font-weight: 800; margin: 0; line-height: 1.7; }
.mzm-faq__icon { position: relative; flex: none; width: 32px; height: 32px; border-radius: 50%; background: var(--sf2); }
.mzm-faq__icon::before, .mzm-faq__icon::after { content: ""; position: absolute; inset: 50% auto auto 50%; width: 12px; height: 2px; background: currentColor; transform: translate(-50%, -50%); transition: transform .3s var(--ease); }
.mzm-faq__icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.mzm-faq__item[open] .mzm-faq__icon { background: var(--dk); color: var(--g2); }
.mzm-faq__item[open] .mzm-faq__icon::after { transform: translate(-50%, -50%) rotate(0); }
.mzm-faq__a { padding: 0 22px 18px; color: var(--mut); line-height: 2; }
.mzm-faq__a p { margin: 0 0 .6em; }

/* ---------------- Lead form ---------------- */
.mzm-lead { display: grid; grid-template-columns: 1fr; gap: 28px; padding: clamp(24px, 4vw, 48px); border-radius: calc(var(--r) * 1.4); background: var(--dk); color: #f3f1ea; background-image: radial-gradient(600px 300px at 0% 100%, color-mix(in srgb, var(--g) 20%, transparent), transparent 70%); }
.mzm-lead.has-image { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); align-items: center; }
.mzm-lead .mzm-heading__sub { color: rgba(243, 241, 234, .7); }
.mzm-lead .mzm-kicker { background: rgba(255, 255, 255, .08); color: var(--g2); }
.mzm-lead__form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.mzm-lead__row { display: grid; gap: 6px; }
.mzm-lead__row label { font-size: .85rem; font-weight: 700; opacity: .85; }
.mzm-lead__form input, .mzm-lead__form select { min-height: 52px; border-radius: 14px; border: 1.5px solid rgba(255, 255, 255, .14); background: rgba(255, 255, 255, .06); color: #fff; padding: 0 16px; font: inherit; width: 100%; }
.mzm-lead__form select option { color: #111; }
.mzm-lead__form input:focus, .mzm-lead__form select:focus { outline: none; border-color: var(--g); box-shadow: 0 0 0 4px color-mix(in srgb, var(--g) 25%, transparent); }
.mzm-lead__form .mzm-btn { grid-column: 1 / -1; }
.mzm-lead__status { grid-column: 1 / -1; margin: 0; font-weight: 700; }
.mzm-lead__status.is-ok { color: #7be0b5; }
.mzm-lead__status.is-error { color: #ff9b9b; }
.mzm-lead__media img { border-radius: var(--r); width: 100%; height: auto; }

/* ---------------- Split ---------------- */
.mzm-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 64px); align-items: center; }
.mzm-split.is-reverse .mzm-split__media { order: 2; }
.mzm-split__media img { width: 100%; height: auto; border-radius: calc(var(--r) * 1.3); box-shadow: var(--shl); }
.mzm-split__list { list-style: none; margin: 0 0 24px; padding: 0; display: grid; gap: 14px; }
.mzm-split__list li { display: grid; gap: 2px; padding-inline-start: 38px; position: relative; }
.mzm-split__list li::before { content: ""; position: absolute; inset-inline-start: 0; top: 2px; width: 26px; height: 26px; border-radius: 8px; background: var(--g) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center / 14px no-repeat; }
.mzm-split__list span { color: var(--mut); font-size: .92rem; }
.mzm-theme-dark .mzm-split__list span { color: rgba(243, 241, 234, .7); }

/* ---------------- App ---------------- */
.mzm-app { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr); gap: 32px; align-items: center; padding: clamp(24px, 4vw, 56px); border-radius: calc(var(--r) * 1.4); background: linear-gradient(135deg, var(--dk), #133462); color: #f3f1ea; overflow: hidden; }
.mzm-app .mzm-heading__sub { color: rgba(243, 241, 234, .7); }
.mzm-app .mzm-kicker { background: rgba(255, 255, 255, .08); color: var(--g2); }
.mzm-app__links { display: flex; flex-wrap: wrap; gap: 10px; }
.mzm-app__media img { max-height: 380px; width: auto; margin-inline: auto; filter: drop-shadow(0 30px 40px rgba(0, 0, 0, .5)); }

/* ---------------- Contact ---------------- */
.mzm-contact__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; font-style: normal; }
.mzm-contact__card { display: grid; gap: 4px; align-content: start; padding: 22px; border-radius: var(--r); background: var(--sf); box-shadow: var(--sh); }
.mzm-contact__card a { color: inherit; font-weight: 700; text-decoration: none; }
.mzm-contact__card a:hover { color: var(--g); }
.mzm-contact__label { font-size: .8rem; color: var(--mut); font-weight: 700; }
.mzm-contact__map { width: 100%; height: 360px; border: 0; border-radius: var(--r); margin-top: 16px; }

/* ---------------- SEO text ---------------- */
.mzm-seo { position: relative; padding: clamp(20px, 3vw, 40px); border-radius: var(--r); background: var(--sf); box-shadow: var(--sh); }
.mzm-seo__content { max-height: var(--mzm-clamp, 260px); overflow: hidden; position: relative; transition: max-height .5s var(--ease); line-height: 2; color: color-mix(in srgb, var(--ink) 85%, transparent); }
.mzm-seo__content::after { content: ""; position: absolute; inset: auto 0 0; height: 90px; background: linear-gradient(transparent, var(--sf)); pointer-events: none; }
.mzm-seo.is-open .mzm-seo__content { max-height: none; }
.mzm-seo.is-open .mzm-seo__content::after { display: none; }
.mzm-seo__toggle { margin-top: 12px; border: 0; background: none; font: inherit; font-weight: 800; color: color-mix(in srgb, var(--g) 75%, var(--ink)); cursor: pointer; padding: 6px 0; }
.mzm-seo__content h2, .mzm-seo__content h3 { font-size: 1.1rem; margin: 1.2em 0 .4em; }


/* ---------------- Gallery ---------------- */
.mzm-gallery { --mzm-gcols: 4; --mzm-ratio: 4 / 3; }
.mzm-gallery__grid { display: grid; grid-template-columns: repeat(var(--mzm-gcols), minmax(0, 1fr)); gap: 12px; list-style: none; margin: 0; padding: 0; }
.mzm-gallery__item { position: relative; border-radius: var(--r); overflow: hidden; background: var(--sf2); aspect-ratio: var(--mzm-ratio); }
.mzm-gallery__item a { display: block; height: 100%; }
.mzm-gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.mzm-gallery__item:hover img { transform: scale(1.05); }
.mzm-gallery__cap { position: absolute; inset: auto 0 0; padding: 22px 14px 10px; background: linear-gradient(transparent, rgba(3, 10, 22, .8)); color: #fff; font-size: .82rem; font-weight: 600; }
.mzm-gallery--mosaic .mzm-gallery__item:first-child { grid-column: span 2; grid-row: span 2; aspect-ratio: auto; }
.mzm-gallery--carousel .mzm-gallery__grid { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: calc((100% - (var(--mzm-gcols) - 1) * 12px) / var(--mzm-gcols)); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 6px; }
.mzm-gallery--carousel .mzm-gallery__item { scroll-snap-align: start; }
.mzm-feature__media { display: block; margin: -26px -24px 18px; aspect-ratio: 16 / 9; overflow: hidden; }
.mzm-feature__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.mzm-feature:hover .mzm-feature__media img { transform: scale(1.04); }
@media (max-width: 640px) {
	.mzm-gallery--mosaic .mzm-gallery__item:first-child { grid-column: 1 / -1; grid-row: auto; aspect-ratio: var(--mzm-ratio); }
	.mzm-gallery--carousel .mzm-gallery__grid { grid-auto-columns: 78%; }
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1024px) {
	.mzm-hero { grid-template-columns: 1fr; text-align: center; }
	.mzm-hero__text { margin-inline: auto; }
	.mzm-hero__points, .mzm-hero__ctas { justify-content: center; }
	.mzm-hero__search { margin-inline: auto; }
	.mzm-hero__media { min-height: 300px; max-width: 640px; margin-inline: auto; width: 100%; }
	.mzm-features__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mzm-split, .mzm-lead.has-image, .mzm-app { grid-template-columns: 1fr; }
	.mzm-split.is-reverse .mzm-split__media { order: 0; }
	.mzm-contact__grid { grid-template-columns: 1fr 1fr; }
	.mzm-cars { --mzm-cols: 2; }
}
@media (max-width: 640px) {
	.mzm-hero { border-radius: var(--r); padding: 36px 18px; }
	.mzm-hero__ctas .mzm-btn { flex: 1 1 100%; }
	.mzm-hero__search button { padding: 0 16px; }
	.mzm-hero__media { gap: 10px; min-height: 240px; }
	.mzm-features__grid { grid-template-columns: 1fr; }
	.mzm-lead__form { grid-template-columns: 1fr; }
	.mzm-contact__grid { grid-template-columns: 1fr; }
	.mzm-cars { --mzm-cols: 1; }
	.mzm-cars.is-carousel .mzm-cars__track { grid-auto-columns: 82%; }
	.mzm-cars__nav { display: none; }
	.mzm-rates .mzm-btn { width: 100%; margin: 0; }
}
@media (hover: none) {
	.mzm-car:hover, .mzm-feature:hover, a.mzm-brand:hover, .mzm-btn--gold:hover { transform: none; }
}

/* Smart TV: no hover lift, bigger targets, visible carousels */
html.is-tv .mzm-car:hover, html.is-tv .mzm-feature:hover { transform: none; }
html.is-tv .mzm-cars.is-carousel .mzm-cars__track { scroll-snap-type: none; }
html.is-tv .mzm-hero__search { display: none; } /* typing with a remote is painful; nav to listings instead */

@media (prefers-reduced-motion: reduce) {
	.mzm-hero__media img { transform: none !important; }
}
