/**
 * EXVIN — premium layer: depth, motion, dark sections.
 *
 * Loaded after exvin.css. Logical properties only (RTL-safe).
 * Every animation is switched off under prefers-reduced-motion (section 99).
 * Contrast: white on emerald-deep 11.4:1; mint #B2E1D6 on emerald-deep 9.0:1;
 * white 78% on emerald-deep ~8:1; gold accent carries dark emerald text only. Flat colours only (identity guide v01).
 */

:root {
	--exvin-night: #05261E;
	--exvin-mint: #B2E1D6;
	--exvin-glow: rgba(0, 155, 119, 0.55);
	--exvin-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--exvin-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
	--exvin-radius-xl: 20px;
	--exvin-shadow-lg: 0 1px 1px rgba(5, 38, 30, 0.04), 0 8px 24px -6px rgba(5, 38, 30, 0.12), 0 24px 48px -12px rgba(5, 38, 30, 0.14);
}

html {
	scroll-behavior: smooth;
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

::selection {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--ink);
}

h1, h2, .wp-block-site-tagline {
	letter-spacing: -0.025em;
}

h2.wp-block-heading {
	font-size: clamp(1.75rem, 1.2rem + 2.2vw, 2.75rem);
	line-height: 1.1;
}

/* ---------------------------------------------------------------------------
 * 1. Scroll progress + back to top
 * ------------------------------------------------------------------------ */

.exvin-progress {
	position: fixed;
	inset-block-start: 0;
	inset-inline: 0;
	z-index: 100000;
	block-size: 3px;
	background: var(--wp--preset--color--emerald);
	transform: scaleX(0);
	transform-origin: 0 50%;
	pointer-events: none;
}

[dir="rtl"] .exvin-progress {
	transform-origin: 100% 50%;
}

.exvin-to-top {
	position: fixed;
	inset-block-end: 1.25rem;
	inset-inline-end: 1.25rem;
	z-index: 60;
	display: grid;
	place-items: center;
	inline-size: 48px;
	block-size: 48px;
	border-radius: 999px;
	background: var(--wp--preset--color--emerald-deep);
	color: #fff;
	box-shadow: 0 10px 30px -8px rgba(5, 38, 30, 0.45);
	opacity: 0;
	transform: translateY(16px) scale(0.9);
	pointer-events: none;
	transition: opacity 0.35s var(--exvin-ease), transform 0.35s var(--exvin-ease), background-color 0.2s;
}

.exvin-to-top svg {
	inline-size: 20px;
	block-size: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.25;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.exvin-show-top .exvin-to-top {
	opacity: 1;
	transform: none;
	pointer-events: auto;
}

.exvin-to-top:hover {
	background: var(--wp--preset--color--emerald-deep);
	transform: translateY(-3px);
}

.exvin-to-top:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
}

/* ---------------------------------------------------------------------------
 * 2. Header — sticky glass that tightens on scroll
 * ------------------------------------------------------------------------ */

.wp-block-template-part:has(> .exvin-header--sticky) {
	position: sticky;
	inset-block-start: 0;
	z-index: 50;
}

.exvin-header {
	background-color: rgba(255, 255, 255, 0.82);
	border-block-end: 1px solid transparent;
	-webkit-backdrop-filter: saturate(180%) blur(16px);
	backdrop-filter: saturate(180%) blur(16px);
	transition: padding 0.35s var(--exvin-ease), box-shadow 0.35s var(--exvin-ease), border-color 0.35s, background-color 0.35s;
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	.exvin-header {
		background-color: #fff;
	}
}

.exvin-scrolled .exvin-header {
	padding-block: 0.4rem !important;
	background-color: rgba(255, 255, 255, 0.9);
	border-block-end-color: rgba(5, 38, 30, 0.08);
	box-shadow: 0 10px 30px -18px rgba(5, 38, 30, 0.35);
}

.exvin-header .wp-block-site-logo img {
	transition: transform 0.35s var(--exvin-ease);
}

.exvin-header .wp-block-site-logo a:hover img {
	transform: scale(1.04);
}

/* Desktop nav: animated underline. */
@media (min-width: 600px) {
	.exvin-header .wp-block-navigation-item__content {
		position: relative;
		padding-block: 0.5rem;
		font-weight: 500;
		text-decoration: none;
		transition: color 0.2s;
	}

	.exvin-header .wp-block-navigation-item__content::after {
		content: "";
		position: absolute;
		inset-inline: 0;
		inset-block-end: 0.15rem;
		block-size: 2px;
		border-radius: 2px;
		background: var(--wp--preset--color--emerald);
		transform: scaleX(0);
		transition: transform 0.35s var(--exvin-ease);
	}

	.exvin-header .wp-block-navigation-item__content:hover {
		color: var(--wp--preset--color--emerald-dark);
	}

	.exvin-header .wp-block-navigation-item__content:hover::after,
	.exvin-header .current-menu-item > .wp-block-navigation-item__content::after,
	.exvin-header [aria-current="page"]::after {
		transform: scaleX(1);
	}
}

.exvin-header__cta .wp-block-button__link {
	border-radius: 999px;
}

/* Mobile menu: fade + staggered links. */
.wp-block-navigation__responsive-container.is-menu-open {
	animation: exvin-fade 0.3s var(--exvin-ease) both;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	animation: exvin-rise 0.5s var(--exvin-ease) both;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(2) { animation-delay: 0.05s; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(3) { animation-delay: 0.1s; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(4) { animation-delay: 0.15s; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(5) { animation-delay: 0.2s; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(6) { animation-delay: 0.25s; }

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-size: 1.5rem;
	font-weight: 600;
}

/* ---------------------------------------------------------------------------
 * 3. Buttons — lift, press, arrow, shine
 * ------------------------------------------------------------------------ */

.wp-element-button,
.wp-block-button__link,
.exvin-form__submit {
	position: relative;
	overflow: hidden;
	border-radius: 999px !important;
	transition: transform 0.25s var(--exvin-ease), box-shadow 0.25s var(--exvin-ease), background-color 0.2s, color 0.2s, border-color 0.2s;
}

.wp-block-button__link:hover,
.exvin-form__submit:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 24px -10px rgba(5, 38, 30, 0.45);
}

.wp-block-button__link:active,
.exvin-form__submit:active {
	transform: translateY(0) scale(0.97);
	box-shadow: none;
	transition-duration: 0.08s;
}

.exvin-btn-arrow .wp-block-button__link::after {
	content: "→";
	display: inline-block;
	margin-inline-start: 0.5em;
	transition: transform 0.3s var(--exvin-spring);
}

[dir="rtl"] .exvin-btn-arrow .wp-block-button__link::after {
	content: "←";
}

.exvin-btn-arrow .wp-block-button__link:hover::after {
	transform: translateX(4px);
}

[dir="rtl"] .exvin-btn-arrow .wp-block-button__link:hover::after {
	transform: translateX(-4px);
}

.exvin-btn-shine .wp-block-button__link::before {
	content: "";
	position: absolute;
	inset-block: 0;
	inset-inline-start: -60%;
	inline-size: 40%;
	background: none;
	transform: skewX(-20deg);
	animation: exvin-shine 4.5s var(--exvin-ease) 1.5s infinite;
	pointer-events: none;
}

.has-accent-background-color.wp-block-button__link:hover {
	background-color: #BF9E32 !important;
	box-shadow: 0 14px 30px -10px rgba(212, 175, 55, 0.65);
}

/* Ghost button on dark backgrounds. */
.exvin-dark .is-style-outline .wp-block-button__link {
	border-color: rgba(255, 255, 255, 0.45);
	color: #fff;
	background: rgba(255, 255, 255, 0.04);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}

.exvin-dark .is-style-outline .wp-block-button__link:hover {
	border-color: #fff;
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
}

/* ---------------------------------------------------------------------------
 * 4. Dark sections
 * ------------------------------------------------------------------------ */

.exvin-dark {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background-image: none;
	background-color: var(--wp--preset--color--emerald-deep);
}

/* Fine dot grid that fades out toward the edges. */
.exvin-dark::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image: none;
	background-size: 22px 22px;
	-webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 40%, #000 30%, transparent 80%);
	mask-image: radial-gradient(ellipse 70% 60% at 50% 40%, #000 30%, transparent 80%);
	pointer-events: none;
}

.exvin-dark :is(h1, h2, h3, h4) {
	color: #fff;
}

.exvin-dark :is(.exvin-section__lead, .exvin-hero__lead, .exvin-card__text, p:not(.exvin-badge)) {
	color: rgba(255, 255, 255, 0.78);
}

.exvin-dark a:where(:not(.wp-element-button)) {
	color: var(--exvin-mint);
}

.exvin-dark :focus-visible {
	outline-color: var(--wp--preset--color--accent) !important;
}

/* Page heroes (About, Suppliers, FAQ, Contact). */
.exvin-page-hero.exvin-dark {
	padding-block: clamp(4rem, 3rem + 6vw, 8rem);
}

.exvin-page-hero.exvin-dark::after {
	content: "";
	position: absolute;
	z-index: -1;
	inset-block-start: -40%;
	inset-inline-end: -10%;
	inline-size: 48rem;
	aspect-ratio: 1;
	border-radius: 50%;
	background: none;
	filter: blur(20px);
	animation: exvin-drift 14s ease-in-out infinite alternate;
	pointer-events: none;
}

.exvin-page-hero h1 {
	font-size: clamp(2.5rem, 1.6rem + 4vw, 4.5rem) !important;
	line-height: 1.02;
	animation: exvin-rise 0.9s var(--exvin-ease) both;
}

.exvin-page-hero .exvin-hero__lead {
	animation: exvin-rise 0.9s var(--exvin-ease) 0.12s both;
}

/* ---------------------------------------------------------------------------
 * 5. Launch hero
 * ------------------------------------------------------------------------ */

.exvin-hero--launch {
	--hx: 70%;
	--hy: 30%;
	padding-block: clamp(4rem, 2rem + 8vw, 9rem) clamp(4rem, 2rem + 7vw, 8rem);
	min-block-size: min(92vh, 960px);
	display: flex;
	flex-direction: column;
	justify-content: center;
	background-image: none;
	background-color: var(--wp--preset--color--emerald-deep);
	transition: background-position 0.3s;
}

.exvin-hero--launch > .exvin-hero__inner {
	gap: clamp(2rem, 1rem + 4vw, 5rem);
	margin-block: 0;
	inline-size: 100%;
}

/* Aurora: three soft blobs drifting slowly. */
.exvin-aurora {
	position: absolute;
	inset: 0;
	z-index: -1;
	overflow: hidden;
	pointer-events: none;
	filter: blur(60px) saturate(140%);
	opacity: 0.9;
}

.exvin-aurora span {
	position: absolute;
	border-radius: 50%;
	mix-blend-mode: screen;
}

.exvin-aurora span:nth-child(1) {
	inset-block-start: -15%;
	inset-inline-start: -10%;
	inline-size: 42rem;
	aspect-ratio: 1;
	background: none;
	animation: exvin-drift 16s ease-in-out infinite alternate;
}

.exvin-aurora span:nth-child(2) {
	inset-block-end: -30%;
	inset-inline-end: -10%;
	inline-size: 38rem;
	aspect-ratio: 1;
	background: none;
	animation: exvin-drift 20s ease-in-out -6s infinite alternate-reverse;
}

.exvin-aurora span:nth-child(3) {
	inset-block-start: 20%;
	inset-inline-start: 45%;
	inline-size: 22rem;
	aspect-ratio: 1;
	background: none;
	animation: exvin-drift 18s ease-in-out -3s infinite alternate;
}

.exvin-hero--launch .exvin-hero__title {
	margin-block: 0.3em 0;
	font-size: clamp(3rem, 1.6rem + 6.4vw, 6.5rem) !important;
	font-weight: 700;
	line-height: 0.98;
	letter-spacing: -0.045em;
	color: #fff;
	animation: exvin-rise 1s var(--exvin-ease) 0.1s both;
}

.exvin-hero--launch .exvin-hero__lead {
	max-inline-size: 36rem;
	margin-block: 1.25rem 0;
	color: rgba(255, 255, 255, 0.8);
	font-size: clamp(1.05rem, 0.95rem + 0.5vw, 1.3rem) !important;
	line-height: 1.6;
	animation: exvin-rise 1s var(--exvin-ease) 0.22s both;
}

.exvin-hero--launch .exvin-hero__actions {
	margin-block-start: 2rem;
	gap: 0.75rem;
	animation: exvin-rise 1s var(--exvin-ease) 0.34s both;
}

.exvin-hero--launch .wp-block-button__link {
	padding: 1rem 1.6rem;
	font-size: 1.05rem;
}

.exvin-hero--launch .exvin-badge {
	animation: exvin-rise 0.9s var(--exvin-ease) both;
}

/* Badge with live pulse dot. */
.exvin-badge--live,
.exvin-dark .exvin-badge {
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
	border: 1px solid rgba(255, 255, 255, 0.18);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	padding-inline: 0.85rem 1rem;
}

.exvin-badge--live::before {
	content: "";
	inline-size: 0.5rem;
	block-size: 0.5rem;
	border-radius: 50%;
	background: var(--wp--preset--color--accent);
	box-shadow: 0 0 0 0 rgba(212, 175, 55, 0.7);
	animation: exvin-pulse 2s ease-out infinite;
}

/* ---------------------------------------------------------------------------
 * 6. VIN preview (decorative)
 * ------------------------------------------------------------------------ */

.exvin-hero__visual {
	perspective: 1200px;
}

.exvin-vin-demo {
	--rx: 0deg;
	--ry: 0deg;
	position: relative;
	max-inline-size: 30rem;
	margin-inline: auto;
	padding: 2.5rem 1rem;
	transform: rotateX(var(--rx)) rotateY(var(--ry));
	transform-style: preserve-3d;
	transition: transform 0.6s var(--exvin-ease);
	animation: exvin-float-in 1.2s var(--exvin-ease) 0.3s both;
}

.exvin-vin-demo__card {
	position: relative;
	padding: 1.5rem;
	border-radius: var(--exvin-radius-xl);
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.18);
	box-shadow: 0 40px 80px -30px rgba(5, 38, 30, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.2);
	-webkit-backdrop-filter: blur(18px);
	backdrop-filter: blur(18px);
	overflow: hidden;
}

.exvin-vin-demo__card::before {
	content: "";
	position: absolute;
	inset: -1px;
	border-radius: inherit;
	padding: 1px;
	background: var(--wp--preset--color--accent);
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
	animation: exvin-spin 6s linear infinite;
	pointer-events: none;
}

@property --exvin-angle {
	syntax: "<angle>";
	initial-value: 0deg;
	inherits: false;
}

.exvin-vin-demo__top {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-block-end: 1.25rem;
}

.exvin-vin-demo__top span {
	inline-size: 10px;
	block-size: 10px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.25);
}

.exvin-vin-demo__top em {
	margin-inline-start: auto;
	padding: 0.15rem 0.6rem;
	border-radius: 999px;
	background: rgba(212, 175, 55, 0.16);
	color: #F2E7C3;
	font-size: 0.75rem;
	font-style: normal;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.exvin-vin-demo__label {
	margin-block-end: 0.5rem;
	color: rgba(255, 255, 255, 0.9);
	font-size: 0.85rem;
	font-weight: 500;
}

.exvin-vin-demo__field {
	position: relative;
	display: flex;
	align-items: center;
	min-block-size: 3.5rem;
	padding-inline: 1rem 3.75rem;
	border-radius: 14px;
	background: rgba(5, 38, 30, 0.55);
	border: 1px solid rgba(178, 225, 214, 0.25);
	color: #fff;
	font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
	font-size: clamp(0.95rem, 0.8rem + 0.6vw, 1.2rem);
	letter-spacing: 0.12em;
	transition: border-color 0.3s, box-shadow 0.3s;
}

.exvin-vin-demo.is-scanning .exvin-vin-demo__field,
.exvin-vin-demo.is-found .exvin-vin-demo__field {
	border-color: var(--exvin-mint);
	box-shadow: 0 0 0 4px rgba(178, 225, 214, 0.12), 0 0 30px rgba(0, 155, 119, 0.45);
}

.exvin-vin-demo__caret {
	inline-size: 2px;
	block-size: 1.3em;
	margin-inline-start: 2px;
	background: var(--wp--preset--color--accent);
	animation: exvin-blink 1s steps(1) infinite;
}

.exvin-vin-demo__go {
	position: absolute;
	inset-inline-end: 0.4rem;
	inline-size: 2.75rem;
	block-size: 2.75rem;
	border-radius: 10px;
	background: var(--wp--preset--color--emerald);
	transition: transform 0.3s var(--exvin-spring);
	color: var(--wp--preset--color--surface);
}

.exvin-vin-demo__go::before {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	inline-size: 16px;
	block-size: 16px;
	border: 2.5px solid var(--wp--preset--color--ink);
	border-radius: 50%;
	transform: translate(-2px, -2px);
}

.exvin-vin-demo__go::after {
	content: "";
	position: absolute;
	inset-block-start: 58%;
	inset-inline-start: 58%;
	inline-size: 7px;
	block-size: 2.5px;
	border-radius: 2px;
	background: var(--wp--preset--color--ink);
	transform: rotate(45deg);
}

.exvin-vin-demo.is-scanning .exvin-vin-demo__go {
	transform: scale(0.9);
}

.exvin-vin-demo__scan {
	position: relative;
	block-size: 2px;
	margin-block: 1.25rem;
	border-radius: 2px;
	background: rgba(255, 255, 255, 0.08);
	overflow: hidden;
}

.exvin-vin-demo__scan::after {
	content: "";
	position: absolute;
	inset-block: 0;
	inline-size: 35%;
	background: var(--exvin-mint);
	transform: translateX(-120%);
	opacity: 0;
}

.exvin-vin-demo.is-scanning .exvin-vin-demo__scan::after {
	opacity: 1;
	animation: exvin-scan 0.9s ease-in-out infinite;
}

.exvin-vin-demo__rows {
	display: grid;
	gap: 0.65rem;
}

.exvin-vin-demo__rows > div {
	position: relative;
	display: grid;
	grid-template-columns: 2.5rem 1fr 4rem;
	gap: 0.75rem;
	align-items: center;
	block-size: 3.25rem;
	padding-inline: 0.6rem;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.05);
	overflow: hidden;
	opacity: 0.45;
	transform: translateY(6px);
	transition: opacity 0.5s var(--exvin-ease), transform 0.5s var(--exvin-ease), background-color 0.5s;
}

.exvin-vin-demo__rows > div::before {
	content: "";
	block-size: 2.1rem;
	border-radius: 8px;
	background: rgba(178, 225, 214, 0.22);
}

.exvin-vin-demo__rows > div::after {
	content: "";
	grid-column: 2 / 4;
	block-size: 0.6rem;
	border-radius: 6px;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0.28) 0 55%, transparent 55% 72%, rgba(212, 175, 55, 0.55) 72%);
}

.exvin-vin-demo.is-found .exvin-vin-demo__rows > div {
	opacity: 1;
	transform: none;
	background: rgba(255, 255, 255, 0.09);
}

.exvin-vin-demo.is-found .exvin-vin-demo__rows > div:nth-child(2) { transition-delay: 0.12s; }
.exvin-vin-demo.is-found .exvin-vin-demo__rows > div:nth-child(3) { transition-delay: 0.24s; }

.exvin-vin-demo__chip {
	position: absolute;
	z-index: 2;
	padding: 0.45rem 0.85rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.95);
	color: var(--wp--preset--color--ink);
	font-size: 0.8rem;
	font-weight: 700;
	box-shadow: 0 14px 30px -10px rgba(5, 38, 30, 0.5);
	transform: translateZ(40px);
	animation: exvin-bob 6s ease-in-out infinite;
}

.exvin-vin-demo__chip--a { inset-block-start: 0.5rem; inset-inline-start: -0.5rem; }
.exvin-vin-demo__chip--b { inset-block-start: 38%; inset-inline-end: -1rem; background: var(--wp--preset--color--accent); animation-delay: -2s; }
.exvin-vin-demo__chip--c { inset-block-end: 0.75rem; inset-inline-start: 12%; animation-delay: -4s; font-family: var(--wp--preset--font-family--arabic, inherit); }

/* ---------------------------------------------------------------------------
 * 7. Marquee strip
 * ------------------------------------------------------------------------ */

.exvin-marquee {
	position: relative;
	margin: 0 !important;
	overflow: hidden;
	padding-block: 1.1rem;
	background: var(--exvin-night);
	color: rgba(255, 255, 255, 0.85);
	border-block: 1px solid rgba(255, 255, 255, 0.06);
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
	max-inline-size: none !important;
}

.exvin-marquee__track {
	display: flex;
	inline-size: max-content;
	animation: exvin-marquee 38s linear infinite;
}

.exvin-marquee:hover .exvin-marquee__track {
	animation-play-state: paused;
}

[dir="rtl"] .exvin-marquee__track {
	animation-name: exvin-marquee-rtl;
}

.exvin-marquee span {
	display: inline-flex;
	align-items: center;
	gap: 2.5rem;
	padding-inline-end: 2.5rem;
	font-size: clamp(0.95rem, 0.85rem + 0.4vw, 1.15rem);
	font-weight: 500;
	white-space: nowrap;
}

.exvin-marquee span::after {
	content: "✦";
	color: var(--wp--preset--color--accent);
	font-size: 0.8em;
}

/* ---------------------------------------------------------------------------
 * 8. Sections & cards
 * ------------------------------------------------------------------------ */

.exvin-section {
	padding-block: clamp(4.5rem, 3rem + 6vw, 8.5rem);
}

.exvin-section__head {
	margin-block-end: clamp(1rem, 0.5rem + 2vw, 2.5rem);
}

.exvin-section__lead {
	font-size: clamp(1.05rem, 0.98rem + 0.35vw, 1.25rem);
	line-height: 1.6;
}

.exvin-card {
	--mx: 50%;
	--my: 0%;
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: clamp(1.5rem, 1.1rem + 1.2vw, 2.25rem);
	border-radius: var(--exvin-radius-xl);
	border: 1px solid rgba(5, 38, 30, 0.08);
	background: #fff;
	box-shadow: 0 1px 2px rgba(5, 38, 30, 0.04);
	transition: transform 0.45s var(--exvin-ease), box-shadow 0.45s var(--exvin-ease), border-color 0.3s;
}

/* Cursor spotlight. */
.exvin-card::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: rgba(0, 155, 119, 0.06);
	opacity: 0;
	transition: opacity 0.4s;
}

.exvin-card:hover {
	transform: translateY(-6px);
	border-color: rgba(0, 155, 119, 0.35);
	box-shadow: var(--exvin-shadow-lg);
}

.exvin-card:hover::before {
	opacity: 1;
}

.exvin-card__title {
	font-size: clamp(1.2rem, 1.1rem + 0.4vw, 1.45rem);
	letter-spacing: -0.015em;
}

/* How it works: big gradient numerals + connecting line. */
.exvin-how .exvin-grid {
	position: relative;
	counter-reset: step;
}

@media (min-width: 900px) {
	.exvin-how .exvin-grid::before {
		content: "";
		position: absolute;
		z-index: 0;
		inset-block-start: 3.4rem;
		inset-inline: 12%;
		block-size: 2px;
		background: repeating-linear-gradient(90deg, rgba(0, 155, 119, 0.45) 0 8px, transparent 8px 16px);
		animation: exvin-dash 1.2s linear infinite;
	}
}

.exvin-how .exvin-card {
	z-index: 1;
}

.exvin-step__number {
	display: inline-grid;
	place-items: center;
	inline-size: 3.5rem;
	block-size: 3.5rem;
	border-radius: 16px;
	background: var(--wp--preset--color--emerald-dark);
	color: #fff;
	font-size: 1.1rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	box-shadow: 0 10px 24px -10px rgba(0, 122, 94, 0.8), inset 0 1px 0 rgba(255, 255, 255, 0.25);
	transition: transform 0.5s var(--exvin-spring);
}

.exvin-card:hover .exvin-step__number {
	transform: rotate(-6deg) scale(1.08);
}

/* Dark bento (Who EXVIN is for). */
.exvin-dark .exvin-card {
	background: rgba(255, 255, 255, 0.06);
	border-color: rgba(255, 255, 255, 0.12);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.exvin-dark .exvin-card::before {
	background: rgba(178, 225, 214, 0.08);
}

.exvin-dark .exvin-card:hover {
	border-color: rgba(178, 225, 214, 0.45);
	box-shadow: 0 30px 60px -30px rgba(5, 38, 30, 0.7), inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

@media (min-width: 900px) {
	.exvin-bento.is-layout-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.exvin-bento > :nth-child(1),
	.exvin-bento > :nth-child(4) {
		grid-column: span 2;
	}

	.exvin-bento > .exvin-card {
		min-block-size: 15rem;
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
	}
}

/* Icons for the audience cards (decorative masks, no extra markup). */
.exvin-bento > .exvin-card::after {
	content: "";
	position: absolute;
	inset-block-start: clamp(1.5rem, 1.1rem + 1.2vw, 2.25rem);
	inset-inline-start: clamp(1.5rem, 1.1rem + 1.2vw, 2.25rem);
	inline-size: 2.75rem;
	block-size: 2.75rem;
	background: var(--wp--preset--color--accent);
	-webkit-mask: var(--exvin-icon) center / contain no-repeat;
	mask: var(--exvin-icon) center / contain no-repeat;
	transition: transform 0.5s var(--exvin-spring);
}

.exvin-bento > .exvin-card {
	padding-block-start: calc(clamp(1.5rem, 1.1rem + 1.2vw, 2.25rem) + 4.25rem);
}

.exvin-bento > .exvin-card:hover::after {
	transform: translateY(-3px) scale(1.12);
}

.exvin-bento > :nth-child(1) { --exvin-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 17H3v-5l2-5h11l3 5h2v5h-2'/%3E%3Ccircle cx='7.5' cy='17' r='2'/%3E%3Ccircle cx='16.5' cy='17' r='2'/%3E%3Cpath d='M9.5 17h5M3 12h18'/%3E%3C/svg%3E"); }
.exvin-bento > :nth-child(2) { --exvin-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a4 4 0 0 0-5.4 5.4L3 18l3 3 6.3-6.3a4 4 0 0 0 5.4-5.4l-2.5 2.5-2.4-.6-.6-2.4z'/%3E%3C/svg%3E"); }
.exvin-bento > :nth-child(3) { --exvin-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='6' width='12' height='10' rx='1'/%3E%3Cpath d='M14 9h4l4 4v3h-8z'/%3E%3Ccircle cx='6.5' cy='17.5' r='2'/%3E%3Ccircle cx='17.5' cy='17.5' r='2'/%3E%3C/svg%3E"); }
.exvin-bento > :nth-child(4) { --exvin-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9l2-5h14l2 5'/%3E%3Cpath d='M3 9h18v2a3 3 0 0 1-6 0 3 3 0 0 1-6 0 3 3 0 0 1-6 0z'/%3E%3Cpath d='M5 13v7h14v-7M10 20v-5h4v5'/%3E%3C/svg%3E"); }

/* ---------------------------------------------------------------------------
 * 9. Supplier CTA — moving gradient band
 * ------------------------------------------------------------------------ */

.exvin-cta {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background-image: none !important;
	background-color: var(--wp--preset--color--emerald-deep) !important;
}

.exvin-cta::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset-block-start: 50%;
	inset-inline-end: -8rem;
	inline-size: 30rem;
	aspect-ratio: 1;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.12);
	box-shadow: 0 0 0 3rem rgba(255, 255, 255, 0.03), 0 0 0 6rem rgba(255, 255, 255, 0.02);
	transform: translateY(-50%);
	animation: exvin-breathe 7s ease-in-out infinite;
}

.exvin-cta h2 {
	font-size: clamp(2rem, 1.3rem + 3vw, 3.5rem);
	color: #fff;
}

.exvin-cta p {
	color: rgba(255, 255, 255, 0.82);
	font-size: 1.1rem;
}

.exvin-cta .wp-block-button__link {
	padding: 1rem 1.75rem;
	font-size: 1.05rem;
}

/* ---------------------------------------------------------------------------
 * 10. Waitlist & forms
 * ------------------------------------------------------------------------ */

.exvin-waitlist {
	background: #fff;
}

.exvin-waitlist h2 {
	font-size: clamp(2rem, 1.3rem + 3vw, 3.5rem);
}

.exvin-form-card {
	--mx: 50%;
	--my: 0%;
	position: relative;
	isolation: isolate;
	padding: clamp(1.5rem, 1rem + 2vw, 2.5rem) !important;
	border: 1px solid rgba(5, 38, 30, 0.08) !important;
	border-radius: 24px !important;
	background: #fff;
	box-shadow: 0 40px 80px -40px rgba(5, 38, 30, 0.35), 0 0 0 1px rgba(5, 38, 30, 0.02) !important;
}

.exvin-form-card::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: -1px;
	border-radius: inherit;
	padding: 1px;
	background: rgba(0, 155, 119, 0.7);
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
	opacity: 0;
	transition: opacity 0.4s;
	pointer-events: none;
}

.exvin-form-card:hover::before,
.exvin-form-card:focus-within::before {
	opacity: 1;
}

.exvin-form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="date"], input[type="time"], input[type="search"], select, textarea) {
	min-block-size: 52px;
	padding: 0.75rem 1rem;
	border: 1.5px solid #a6dccf;
	border-radius: 14px;
	background: #f7fcfb;
	transition: border-color 0.2s, box-shadow 0.25s var(--exvin-ease), background-color 0.2s;
}

.exvin-form :is(input, select, textarea):hover {
	border-color: #009B77;
}

.exvin-form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="date"], input[type="time"], input[type="search"], select, textarea):focus {
	outline: none;
	border-color: var(--wp--preset--color--emerald-dark);
	background: #fff;
	box-shadow: 0 0 0 4px rgba(0, 155, 119, 0.16);
}

.exvin-form :is(input, select, textarea):focus-visible {
	outline: 2px solid var(--wp--preset--color--emerald-dark);
	outline-offset: 2px;
}

.exvin-form__submit {
	min-block-size: 54px;
	font-size: 1.05rem;
	background-image: none;
}

.exvin-form__submit:hover {
	box-shadow: 0 16px 30px -12px rgba(0, 122, 94, 0.8);
}

.exvin-form.is-sending .exvin-form__submit {
	color: transparent !important;
	pointer-events: none;
}

.exvin-form.is-sending .exvin-form__submit::after {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	inline-size: 22px;
	block-size: 22px;
	border-radius: 50%;
	border: 2.5px solid rgba(255, 255, 255, 0.35);
	border-block-start-color: #fff;
	animation: exvin-spin-simple 0.7s linear infinite;
}

.exvin-form__notice {
	border-inline-start: 0 !important;
	border-radius: 14px !important;
	padding: 1rem 1.1rem !important;
	display: flex;
	gap: 0.75rem;
	align-items: flex-start;
	animation: exvin-pop 0.6s var(--exvin-spring) both;
}

.exvin-form__notice--success::before {
	content: "✓";
	flex: none;
	display: grid;
	place-items: center;
	inline-size: 1.6rem;
	block-size: 1.6rem;
	border-radius: 50%;
	background: var(--wp--preset--color--emerald-dark);
	color: #fff;
	font-weight: 700;
	font-size: 0.9rem;
}

.exvin-form__notice--error::before {
	content: "!";
	flex: none;
	display: grid;
	place-items: center;
	inline-size: 1.6rem;
	block-size: 1.6rem;
	border-radius: 50%;
	background: #ed1117;
	color: #fff;
	font-weight: 700;
}

/* ---------------------------------------------------------------------------
 * 11. FAQ — smooth accordion
 * ------------------------------------------------------------------------ */

.exvin-faq__list {
	gap: 0.75rem;
}

.exvin-faq__item {
	--mx: 50%;
	--my: 0%;
	border-radius: 16px !important;
	border-color: rgba(5, 38, 30, 0.08) !important;
	transition: border-color 0.3s, box-shadow 0.4s var(--exvin-ease), background-color 0.3s;
	interpolate-size: allow-keywords;
}

.exvin-faq__item:hover {
	border-color: rgba(0, 155, 119, 0.35) !important;
	background: var(--wp--preset--color--surface-alt);
}

.exvin-faq__item[open] {
	border-color: rgba(0, 155, 119, 0.45) !important;
	box-shadow: var(--exvin-shadow-lg);
}

.exvin-faq__item > summary {
	padding: 1.25rem 1.4rem !important;
	font-size: 1.08rem;
	transition: color 0.2s;
}

.exvin-faq__item > summary:hover {
	color: var(--wp--preset--color--emerald-dark);
}

/* Plus that turns into a cross. */
.exvin-faq__item > summary::after {
	content: "" !important;
	inline-size: 2rem;
	block-size: 2rem;
	border-radius: 50%;
	background:
		linear-gradient(currentColor, currentColor) center / 12px 2px no-repeat,
		linear-gradient(currentColor, currentColor) center / 2px 12px no-repeat,
		rgba(0, 155, 119, 0.1);
	color: var(--wp--preset--color--emerald-dark);
	transition: transform 0.4s var(--exvin-spring), background-color 0.3s;
}

.exvin-faq__item[open] > summary::after {
	transform: rotate(135deg);
}

.exvin-faq__item::details-content {
	block-size: 0;
	overflow: clip;
	transition: block-size 0.45s var(--exvin-ease), content-visibility 0.45s allow-discrete;
}

.exvin-faq__item[open]::details-content {
	block-size: auto;
}

.exvin-faq__item > :not(summary) {
	padding-inline: 1.4rem !important;
	padding-block-end: 1.25rem !important;
	line-height: 1.65;
}

.exvin-faq__item[open] > :not(summary) {
	animation: exvin-rise 0.45s var(--exvin-ease) both;
}

/* ---------------------------------------------------------------------------
 * 12. Prose pages, checklist
 * ------------------------------------------------------------------------ */

.exvin-prose h2 {
	font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.1rem);
	margin-block-start: 2.5rem !important;
}

.exvin-prose p {
	font-size: 1.08rem;
	line-height: 1.75;
}

.exvin-checklist {
	list-style: none;
	padding-inline-start: 0 !important;
}

.exvin-checklist li {
	position: relative;
	padding-inline-start: 2.1rem;
}

.exvin-checklist li::before {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	inset-block-start: 0.15em;
	inline-size: 1.35rem;
	block-size: 1.35rem;
	border-radius: 50%;
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center / 0.8rem no-repeat,
		var(--wp--preset--color--emerald-dark);
}

/* ---------------------------------------------------------------------------
 * 13. Footer
 * ------------------------------------------------------------------------ */

.exvin-footer {
	position: relative;
	background-image: none !important;
	background-color: #fff !important;
}

.exvin-footer::before {
	content: "";
	position: absolute;
	inset-block-start: 0;
	inset-inline: 0;
	block-size: 1px;
	background: var(--wp--preset--color--accent);
}

.exvin-footer a:where(:not(.wp-element-button)) {
	display: inline-block;
	text-decoration: none !important;
	transition: color 0.2s, transform 0.25s var(--exvin-ease);
}

.exvin-footer a:where(:not(.wp-element-button)):hover {
	transform: translateX(3px);
}

[dir="rtl"] .exvin-footer a:where(:not(.wp-element-button)):hover {
	transform: translateX(-3px);
}

.exvin-footer__heading {
	color: var(--exvin-mint) !important;
	font-size: 0.8rem !important;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

/* ---------------------------------------------------------------------------
 * 14. Scroll reveal (classes added by exvin-motion.js only)
 * ------------------------------------------------------------------------ */

.exvin-reveal {
	opacity: 0;
	transform: translateY(28px);
	filter: blur(4px);
	transition:
		opacity 0.8s var(--exvin-ease) var(--exvin-delay, 0ms),
		transform 0.8s var(--exvin-ease) var(--exvin-delay, 0ms),
		filter 0.8s var(--exvin-ease) var(--exvin-delay, 0ms);
}

.exvin-reveal.is-in {
	opacity: 1;
	transform: none;
	filter: none;
}

/* Cards keep their hover transform after the reveal. */
.exvin-card.exvin-reveal.is-in:hover {
	transform: translateY(-6px);
	transition-delay: 0ms;
}

/* ---------------------------------------------------------------------------
 * 15. Keyframes
 * ------------------------------------------------------------------------ */

@keyframes exvin-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes exvin-rise { from { opacity: 0; transform: translateY(24px); filter: blur(6px); } to { opacity: 1; transform: none; filter: none; } }
@keyframes exvin-float-in { from { opacity: 0; transform: translateY(40px) rotateX(12deg) scale(0.96); } to { opacity: 1; } }
@keyframes exvin-drift { 0% { transform: translate(0, 0) scale(1); } 50% { transform: translate(6%, 8%) scale(1.12); } 100% { transform: translate(-4%, 4%) scale(0.95); } }
@keyframes exvin-sheen { from { background-position: 200% 0; } to { background-position: -200% 0; } }
@keyframes exvin-pulse { 0% { box-shadow: 0 0 0 0 rgba(212, 175, 55, 0.7); } 80%, 100% { box-shadow: 0 0 0 10px rgba(212, 175, 55, 0); } }
@keyframes exvin-blink { 50% { opacity: 0; } }
@keyframes exvin-scan { from { transform: translateX(-120%); } to { transform: translateX(320%); } }
@keyframes exvin-spin { to { --exvin-angle: 360deg; } }
@keyframes exvin-spin-simple { to { transform: rotate(360deg); } }
@keyframes exvin-bob { 0%, 100% { transform: translateZ(40px) translateY(0); } 50% { transform: translateZ(40px) translateY(-10px); } }
@keyframes exvin-marquee { to { transform: translateX(-50%); } }
@keyframes exvin-marquee-rtl { to { transform: translateX(50%); } }
@keyframes exvin-shine { 0% { inset-inline-start: -60%; } 30%, 100% { inset-inline-start: 130%; } }
@keyframes exvin-flow { from { background-position: 0% 50%; } to { background-position: 100% 50%; } }
@keyframes exvin-breathe { 0%, 100% { transform: translateY(-50%) scale(1); opacity: 1; } 50% { transform: translateY(-50%) scale(1.08); opacity: 0.7; } }
@keyframes exvin-dash { to { background-position: 16px 0; } }
@keyframes exvin-pop { from { opacity: 0; transform: scale(0.94) translateY(8px); } to { opacity: 1; transform: none; } }

/* ---------------------------------------------------------------------------
 * 16. Phones
 * ------------------------------------------------------------------------ */

@media (max-width: 781px) {
	.exvin-hero--launch {
		min-block-size: 0;
		padding-block: 3.5rem 3rem;
	}

	.exvin-hero--launch .exvin-hero__actions .wp-block-button {
		flex: 1 1 100%;
	}

	.exvin-hero--launch .wp-block-button__link {
		inline-size: 100%;
	}

	.exvin-vin-demo {
		padding-inline: 0.5rem;
		margin-block-start: 1rem;
	}

	.exvin-vin-demo__chip--b {
		inset-inline-end: -0.25rem;
	}

	.exvin-to-top {
		inset-block-end: 1rem;
		inset-inline-end: 1rem;
	}
}


/* ---------------------------------------------------------------------------
 * 17. Language switch + Arabic (RTL) typography
 * ------------------------------------------------------------------------ */

.exvin-lang {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	min-block-size: 40px;
	padding-inline: 0.8rem 0.95rem;
	border: 1px solid rgba(5, 38, 30, 0.14);
	border-radius: 999px;
	color: var(--wp--preset--color--ink);
	font-weight: 600;
	font-size: 0.95rem;
	text-decoration: none !important;
	white-space: nowrap;
	transition: border-color 0.2s, background-color 0.2s, transform 0.25s var(--exvin-ease);
}

.exvin-lang[lang="ar"],
.exvin-lang[lang="fa"],
.exvin-lang[lang="ckb"],
.exvin-lang[lang="ur"] {
	font-family: var(--wp--preset--font-family--arabic, inherit);
}

.exvin-lang svg {
	inline-size: 18px;
	block-size: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	transition: transform 0.6s var(--exvin-ease);
}

.exvin-lang:hover {
	border-color: var(--wp--preset--color--emerald);
	background: rgba(0, 155, 119, 0.07);
	color: var(--wp--preset--color--emerald-dark);
}

.exvin-lang:hover svg {
	transform: rotate(180deg);
}

/* Arabic script is joined: never add letter spacing. */
[dir="rtl"] :is(h1, h2, h3, h4, p, a, span, li, summary, .wp-block-site-tagline, .exvin-hero__title, .exvin-card__title, .exvin-footer__heading) {
	letter-spacing: 0 !important;
}

[dir="rtl"] .exvin-footer__heading {
	text-transform: none;
	font-size: 0.95rem !important;
}

[dir="rtl"] .exvin-hero--launch .exvin-hero__title {
	line-height: 1.25;
	padding-block: 0.1em;
	font-size: clamp(2.75rem, 1.6rem + 5.4vw, 5.75rem) !important;
}

[dir="rtl"] .exvin-page-hero h1 {
	line-height: 1.3;
}

[dir="rtl"] h2.wp-block-heading {
	line-height: 1.35;
}

[dir="rtl"] .exvin-vin-demo__top em {
	text-transform: none;
}

[dir="rtl"] .exvin-how .exvin-grid::before {
	animation-direction: reverse;
}


/* ---------------------------------------------------------------------------
 * 18. VIN check (working form inside the hero card)
 * ------------------------------------------------------------------------ */

.exvin-vin-demo:focus-within {
	transform: none;
}

.exvin-vin-demo__field input {
	flex: 1 1 auto;
	min-inline-size: 0;
	block-size: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	color: #fff;
	font: inherit;
	letter-spacing: inherit;
	text-transform: uppercase;
	outline: none;
}

.exvin-vin-demo__field input::placeholder {
	color: rgba(255, 255, 255, 0.5);
	letter-spacing: 0.02em;
	text-transform: none;
	font-family: var(--wp--preset--font-family--body, inherit);
}

[dir="rtl"] .exvin-vin-demo__field input::placeholder {
	font-family: var(--wp--preset--font-family--arabic, inherit);
}

.exvin-vin-demo__field:focus-within {
	border-color: var(--exvin-mint);
	box-shadow: 0 0 0 4px rgba(178, 225, 214, 0.18);
}

.exvin-vin-demo__field input:focus-visible {
	outline: none;
}

.exvin-vin__count {
	flex: none;
	margin-inline-end: 0.5rem;
	color: rgba(255, 255, 255, 0.55);
	font-size: 0.75rem;
	letter-spacing: 0;
	font-variant-numeric: tabular-nums;
}

.exvin-vin__count.is-full {
	color: var(--exvin-mint);
}

.exvin-vin__count.is-over {
	color: #f9acae;
}

.exvin-vin-demo__go {
	top: 50%;
	margin-block-start: -1.375rem;
	border: 0;
	cursor: pointer;
	padding: 0;
}

.exvin-vin-demo__go:hover {
	transform: scale(1.06);
}

.exvin-vin-demo__go:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
}

.exvin-vin__hint {
	margin: 0.6rem 0 0;
	color: rgba(255, 255, 255, 0.88) !important;
	font-size: 0.8rem;
	line-height: 1.5;
}

.exvin-vin__result:empty {
	display: none;
}

.exvin-vin__result {
	animation: exvin-pop 0.45s var(--exvin-ease) both;
	color: #fff;
	font-size: 0.92rem;
}

.exvin-vin__result p {
	margin: 0 0 0.6rem;
	color: rgba(255, 255, 255, 0.92) !important;
}

.exvin-vin__code {
	font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
	font-size: 1.05rem;
	letter-spacing: 0.14em !important;
	color: #fff !important;
	word-break: break-all;
}

.exvin-vin__code mark {
	padding: 0 0.1em;
	border-radius: 4px;
	background: #f9acae;
	color: #0b3b30;
}

.exvin-vin__result.is-error {
	padding: 0.85rem 1rem;
	border-radius: 12px;
	background: rgba(249, 172, 174, 0.12);
	border: 1px solid rgba(249, 172, 174, 0.4);
}

.exvin-vin__list {
	display: grid;
	gap: 0.4rem;
	margin: 0 0 0.75rem;
}

.exvin-vin__row {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.55rem 0.8rem;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.07);
	opacity: 0;
	transform: translateY(6px);
	animation: exvin-rise 0.5s var(--exvin-ease) forwards;
}

.exvin-vin__row:nth-child(2) { animation-delay: 0.08s; }
.exvin-vin__row:nth-child(3) { animation-delay: 0.16s; }
.exvin-vin__row:nth-child(4) { animation-delay: 0.24s; }

.exvin-vin__row dt {
	color: rgba(255, 255, 255, 0.88);
}

.exvin-vin__row dd {
	margin: 0;
	font-weight: 600;
	text-align: end;
}

.exvin-vin__row small {
	font-weight: 400;
	color: rgba(255, 255, 255, 0.85);
}

.exvin-vin__warn {
	padding: 0.6rem 0.8rem;
	border-radius: 10px;
	background: rgba(212, 175, 55, 0.14);
	color: #f2e7c3 !important;
}

.exvin-vin__note {
	font-size: 0.85rem;
	color: rgba(255, 255, 255, 0.88) !important;
}

.exvin-vin__status {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	font-weight: 600;
}

.exvin-vin__status::before {
	content: "✓";
	display: inline-grid;
	place-items: center;
	inline-size: 1.25rem;
	block-size: 1.25rem;
	border-radius: 50%;
	background: rgba(217, 240, 235, 0.2);
	color: #d9f0eb;
	font-size: 0.75rem;
}

.exvin-vin__status.is-bad::before {
	content: "!";
	background: rgba(212, 175, 55, 0.25);
	color: #f2e7c3;
}

.exvin-vin__unverified {
	margin: 0 0 0.75rem;
	padding: 0.75rem 0.9rem;
	border: 1px solid rgba(212, 175, 55, 0.55);
	border-radius: 12px;
	background: rgba(212, 175, 55, 0.12);
}

.exvin-vin__unverified p {
	margin: 0 !important;
	color: #f6efd7 !important;
}

.exvin-vin__unverified .exvin-vin__unverified-title {
	margin-block-end: 0.25rem !important;
	color: #f2e7c3 !important;
	font-weight: 700;
}

.exvin-vin__clues-title {
	font-size: 0.85rem;
	font-weight: 600;
}

.exvin-vin__retry {
	display: inline-flex;
	align-items: center;
	min-block-size: 44px;
	padding: 0 1.1rem;
	border: 0;
	border-radius: 999px;
	background: var(--wp--preset--color--emerald-dark);
	color: var(--wp--preset--color--surface);
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}

.exvin-vin__retry:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
}

.exvin-vin [type="submit"]:disabled {
	cursor: progress;
	opacity: 0.7;
}

.exvin-vin__cta {
	display: inline-flex;
	align-items: center;
	min-block-size: 44px;
	padding: 0 1.1rem;
	border-radius: 999px;
	background: var(--wp--preset--color--emerald-dark);
	color: var(--wp--preset--color--surface) !important;
	font-weight: 600;
	text-decoration: none !important;
	transition: transform 0.25s var(--exvin-ease);
}

.exvin-vin__cta:hover {
	transform: translateY(-2px);
}

.exvin-vin__recent {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem;
	margin-block-start: 0.9rem;
}

.exvin-vin__recent-label {
	inline-size: 100%;
	color: rgba(255, 255, 255, 0.85);
	font-size: 0.75rem;
}

.exvin-vin__chip {
	min-block-size: 32px;
	padding: 0 0.6rem;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.06);
	color: #fff;
	font: 0.72rem/1 ui-monospace, Menlo, Consolas, monospace;
	letter-spacing: 0.06em;
	cursor: pointer;
}

.exvin-vin__chip:hover {
	border-color: var(--exvin-mint);
}

.exvin-vin__chip:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
}


/* ---------------------------------------------------------------------------
 * 19. RFP sections: delivery speeds, facts, fitment states, business
 * ------------------------------------------------------------------------ */

.exvin-delivery {
	background: var(--wp--preset--color--surface-alt);
}

.exvin-speed {
	padding-block-start: calc(clamp(1.5rem, 1.1rem + 1.2vw, 2.25rem) + 4rem);
}

.exvin-speed::after {
	content: "";
	position: absolute;
	inset-block-start: clamp(1.5rem, 1.1rem + 1.2vw, 2.25rem);
	inset-inline-start: clamp(1.5rem, 1.1rem + 1.2vw, 2.25rem);
	inline-size: 2.75rem;
	block-size: 2.75rem;
	background: var(--wp--preset--color--emerald);
	-webkit-mask: var(--exvin-icon) center / contain no-repeat;
	mask: var(--exvin-icon) center / contain no-repeat;
	transition: transform 0.5s var(--exvin-spring);
}

.exvin-speed:hover::after {
	transform: translateY(-3px) scale(1.1);
}

.exvin-speed--instant { --exvin-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2L4 14h7l-1 8 9-12h-7z'/%3E%3C/svg%3E"); }
.exvin-speed--express { --exvin-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"); }
.exvin-speed--economy { --exvin-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E"); }

.exvin-speed--instant::after {
	background: var(--wp--preset--color--accent);
}

.exvin-speed__time {
	display: inline-block;
	padding: 0.2rem 0.7rem;
	border-radius: 999px;
	background: rgba(0, 155, 119, 0.1);
	color: var(--wp--preset--color--emerald-dark);
	font-size: 0.85rem;
	font-weight: 600;
}

.exvin-facts {
	gap: 0.6rem;
	margin-block-start: var(--wp--preset--spacing--40);
}

.exvin-fact {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0;
	padding: 0.55rem 1rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 999px;
	background: #fff;
	font-size: 0.92rem;
	font-weight: 500;
}

.exvin-fact::before {
	content: "";
	inline-size: 1.1rem;
	block-size: 1.1rem;
	border-radius: 50%;
	background: var(--wp--preset--color--emerald) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center / 0.7rem no-repeat;
}

/* Fitment promise band (owner, 2026-10-06: «حوّل شريط التوافق … للأبيض»): emerald panel #EEF7F4 with a gold hairline,
   white rows, ink text. Each answer has its own icon and outline, so the five states never rely on colour alone.
   Contrast: ink #0B3B30 12.5:1 on white; ink-muted #2F6B5C 6.2:1 on white, 5.7:1 on #EEF7F4; white on #007A5E 5.3:1;
   #007A5E 4.7:1 on #E5F5F1. "Not compatible" is an answer, not an error, so it is ink, not the error red. */
.exvin-fit {
	border-block-start: 2px solid var(--wp--preset--color--accent);
}

.exvin-fit .exvin-badge {
	border: 1.5px solid var(--wp--preset--color--accent);
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
}

.exvin-fit .exvin-section__lead {
	color: var(--wp--preset--color--ink-muted);
}

.exvin-fit__list {
	display: grid;
	gap: 0.7rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.exvin-fit__item {
	display: grid;
	grid-template-columns: minmax(11rem, auto) 1fr;
	align-items: center;
	gap: 1rem;
	padding: 1rem 1.1rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 16px;
	background: var(--wp--preset--color--surface);
	transition: transform 0.4s var(--exvin-ease), border-color 0.3s;
}

.exvin-fit__item:hover {
	transform: translateX(6px);
	border-color: var(--wp--preset--color--mint);
}

[dir="rtl"] .exvin-fit__item:hover {
	transform: translateX(-6px);
}

.exvin-fit__pill {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	justify-self: start;
	padding: 0.3rem 0.8rem;
	border: 1.5px solid transparent;
	border-radius: 999px;
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--wp--preset--color--ink);
}

.exvin-fit__pill::before {
	content: "";
	flex: none;
	inline-size: 1rem;
	block-size: 1rem;
	background: currentColor;
	-webkit-mask: var(--exvin-fit-icon) center / contain no-repeat;
	mask: var(--exvin-fit-icon) center / contain no-repeat;
}

.exvin-fit__item--ok .exvin-fit__pill {
	--exvin-fit-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
	border-color: var(--wp--preset--color--emerald-dark);
	background: var(--wp--preset--color--emerald-dark);
	color: var(--wp--preset--color--surface);
}

.exvin-fit__item--cond .exvin-fit__pill {
	--exvin-fit-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Cpath d='M7.5 12.3l3 3 6-6.3'/%3E%3C/svg%3E");
	border-color: var(--wp--preset--color--mint);
	background: var(--wp--preset--color--mint-100);
	color: var(--wp--preset--color--emerald-dark);
}

.exvin-fit__item--info .exvin-fit__pill {
	--exvin-fit-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Cpath d='M9.5 9.3a2.6 2.6 0 0 1 5 .9c0 1.8-2.5 2.3-2.5 4M12 17.2v.01'/%3E%3C/svg%3E");
	border-color: var(--wp--preset--color--accent);
	background: var(--wp--preset--color--surface);
}

.exvin-fit__item--unknown .exvin-fit__pill {
	--exvin-fit-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9.5' stroke-dasharray='3 3'/%3E%3Cpath d='M8 12h8'/%3E%3C/svg%3E");
	border-color: var(--wp--preset--color--border);
	background: var(--wp--preset--color--surface-alt);
	color: var(--wp--preset--color--ink-muted);
}

.exvin-fit__item--no .exvin-fit__pill {
	--exvin-fit-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Cpath d='M8.8 8.8l6.4 6.4M15.2 8.8l-6.4 6.4'/%3E%3C/svg%3E");
	border-color: var(--wp--preset--color--ink-muted);
	background: var(--wp--preset--color--surface);
}

.exvin-fit__text {
	color: var(--wp--preset--color--ink-muted);
	font-size: 0.95rem;
	line-height: 1.55;
}

@media (max-width: 640px) {
	.exvin-fit__item {
		grid-template-columns: 1fr;
		gap: 0.5rem;
	}
}

/* Light bento (Business page): green icons on white cards. */
.exvin-bento--light > .exvin-card::after {
	background: var(--wp--preset--color--emerald);
}

.exvin-bento--light > :nth-child(3) { --exvin-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9l2-5h14l2 5'/%3E%3Cpath d='M3 9h18v2a3 3 0 0 1-6 0 3 3 0 0 1-6 0 3 3 0 0 1-6 0z'/%3E%3Cpath d='M5 13v7h14v-7M10 20v-5h4v5'/%3E%3C/svg%3E"); }
.exvin-bento--light > :nth-child(4) { --exvin-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20a6.5 6.5 0 0 1 13 0'/%3E%3Cpath d='M16 4.5a3.5 3.5 0 0 1 0 7M21.5 20a6.5 6.5 0 0 0-4-6'/%3E%3C/svg%3E"); }

.exvin-steps-list {
	counter-reset: exvin-step;
	list-style: none;
	padding-inline-start: 0 !important;
}

.exvin-steps-list li {
	position: relative;
	counter-increment: exvin-step;
	padding-inline-start: 2.75rem;
	min-block-size: 2rem;
}

.exvin-steps-list li + li {
	margin-block-start: 1rem;
}

.exvin-steps-list li::before {
	content: counter(exvin-step);
	position: absolute;
	inset-inline-start: 0;
	inset-block-start: -0.1rem;
	display: grid;
	place-items: center;
	inline-size: 2rem;
	block-size: 2rem;
	border-radius: 10px;
	background: var(--wp--preset--color--emerald-dark);
	color: #fff;
	font-weight: 700;
	font-size: 0.9rem;
}


/* Three-language switch (English / العربية / اردو). */
.exvin-langs {
	display: inline-flex;
	align-items: center;
	gap: 0.15rem;
	padding: 0.2rem;
	border: 1px solid rgba(5, 38, 30, 0.14);
	border-radius: 999px;
	white-space: nowrap;
}

.exvin-langs svg {
	inline-size: 18px;
	block-size: 18px;
	margin-inline: 0.35rem 0.15rem;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
}

.exvin-langs__link {
	display: inline-flex;
	align-items: center;
	min-block-size: 36px;
	padding-inline: 0.65rem;
	border-radius: 999px;
	color: var(--wp--preset--color--ink);
	font-size: 0.9rem;
	font-weight: 600;
	text-decoration: none !important;
	transition: background-color 0.2s, color 0.2s;
}

.exvin-langs__link[lang="ar"],
.exvin-langs__link[lang="fa"],
.exvin-langs__link[lang="ckb"],
.exvin-langs__link[lang="ur"] {
	font-family: var(--wp--preset--font-family--arabic, inherit);
}

.exvin-langs__link:hover {
	background: rgba(0, 155, 119, 0.08);
	color: var(--wp--preset--color--emerald-dark);
}

.exvin-langs__link[aria-current="true"] {
	background: var(--wp--preset--color--emerald-dark);
	color: #fff;
}

.exvin-langs__short {
	display: none;
}

@media (max-width: 600px) {
	.exvin-langs svg,
	.exvin-header__cta {
		display: none !important;
	}

	.exvin-langs__link {
		min-block-size: 40px;
		padding-inline: 0.5rem;
		font-size: 0.85rem;
	}

	.exvin-langs__full {
		position: absolute;
		inline-size: 1px;
		block-size: 1px;
		overflow: hidden;
		clip-path: inset(50%);
		white-space: nowrap;
	}

	.exvin-langs__short {
		display: inline;
	}

	.exvin-header .wp-block-site-logo img {
		inline-size: 108px !important;
	}

	.exvin-header__actions {
		gap: 0.35rem !important;
	}
}


/* ---------------------------------------------------------------------------
 * 20. My Account: layout, navigation, vehicles, addresses, dashboard cards
 * ------------------------------------------------------------------------ */

.woocommerce-account .woocommerce {
	display: grid;
	gap: clamp(1.25rem, 1rem + 1.5vw, 2.5rem);
	align-items: start;
	max-inline-size: var(--wp--style--global--wide-size, 1240px) !important;
}

.woocommerce-account .woocommerce > * {
	min-inline-size: 0;
}

.woocommerce-account .woocommerce > .woocommerce-notices-wrapper:empty {
	display: none;
}

@media (min-width: 900px) {
	.woocommerce-account.logged-in .woocommerce {
		grid-template-columns: 15rem minmax(0, 1fr);
	}

	.woocommerce-account.logged-in .woocommerce > .woocommerce-notices-wrapper {
		grid-column: 1 / -1;
	}

	.woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
		grid-column: 1;
	}

	.woocommerce-account.logged-in .woocommerce-MyAccount-content {
		grid-column: 2;
	}
}

.woocommerce-account:not(.logged-in) .woocommerce {
	max-inline-size: 34rem !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	padding: 0.5rem !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li::before,
.woocommerce-account .woocommerce-MyAccount-navigation ul li::after {
	display: none !important;
}

/* Page title lines up with the wide account area. */
.woocommerce-account main .wp-block-post-title {
	max-inline-size: var(--wp--style--global--wide-size, 1240px) !important;
}

.woocommerce-account.logged-in main .wp-block-post-title {
	margin-block-end: 0.5rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
	float: none !important;
	inline-size: auto !important;
}

.woocommerce-MyAccount-navigation ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin: 0;
	padding: 0.5rem;
	list-style: none;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 18px;
	background: var(--wp--preset--color--surface-alt);
}

@media (min-width: 900px) {
	.woocommerce-MyAccount-navigation ul {
		flex-direction: column;
		position: sticky;
		inset-block-start: 6rem;
	}
}

.woocommerce-MyAccount-navigation a {
	display: flex;
	align-items: center;
	min-block-size: 44px;
	padding-inline: 0.9rem;
	border-radius: 12px;
	color: var(--wp--preset--color--ink);
	font-weight: 500;
	text-decoration: none;
	transition: background-color 0.2s, color 0.2s;
}

.woocommerce-MyAccount-navigation a:hover {
	background: #fff;
	color: var(--wp--preset--color--emerald-dark);
}

.woocommerce-MyAccount-navigation .is-active a {
	background: var(--wp--preset--color--emerald-dark);
	color: #fff;
}

.woocommerce-MyAccount-content > p:first-child {
	margin-block-start: 0;
}

/* Login / register forms */
.woocommerce-account:not(.logged-in) .woocommerce form.login,
.woocommerce-account:not(.logged-in) .woocommerce form.register {
	padding: clamp(1.25rem, 1rem + 1.5vw, 2rem);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 30px 60px -40px rgba(5, 38, 30, 0.35);
}

.woocommerce-account .woocommerce :is(input.input-text, input[type="email"], input[type="password"], input[type="text"]) {
	box-sizing: border-box;
	inline-size: 100%;
	min-block-size: 50px;
	padding: 0.7rem 1rem;
	border: 1.5px solid #a6dccf;
	border-radius: 14px;
	background: #f7fcfb;
	font: inherit;
}

.woocommerce-account .woocommerce :is(input.input-text, input[type="email"], input[type="password"], input[type="text"]):focus {
	outline: none;
	border-color: var(--wp--preset--color--emerald-dark);
	background: #fff;
	box-shadow: 0 0 0 4px rgba(0, 155, 119, 0.16);
}

.woocommerce-account .woocommerce button.button,
.woocommerce-account .woocommerce .woocommerce-Button {
	min-block-size: 48px;
	padding-inline: 1.5rem;
	border: 0;
	border-radius: 999px !important;
	background: var(--wp--preset--color--emerald-dark);
	color: #fff;
	font-weight: 600;
	cursor: pointer;
}

/* Shared account blocks */
.exvin-acct {
	display: grid;
	gap: 1.25rem;
}

.exvin-form__field[hidden] {
	display: none !important;
}

.exvin-acct__intro {
	margin: 0;
	color: var(--wp--preset--color--ink-muted);
}

.exvin-acct__card {
	position: relative;
	padding: 1.25rem 1.4rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 18px;
	background: #fff;
	transition: border-color 0.3s, box-shadow 0.4s var(--exvin-ease), transform 0.4s var(--exvin-ease);
}

.exvin-acct__card:hover {
	border-color: rgba(0, 155, 119, 0.35);
	box-shadow: var(--exvin-shadow-lg);
}

.exvin-acct__card.is-primary {
	overflow: hidden;
	border: 0;
	background: var(--wp--preset--color--emerald-deep);
	color: #fff;
	box-shadow: 0 30px 60px -36px rgba(5, 38, 30, 0.7);
}

.exvin-acct__card.is-primary :is(.exvin-acct__title, .exvin-acct__meta, .exvin-acct__source, .exvin-acct__vin) {
	color: #fff;
}

.exvin-acct__card.is-primary .exvin-acct__meta,
.exvin-acct__card.is-primary .exvin-acct__source {
	color: rgba(255, 255, 255, 0.8);
}

.exvin-acct__card.is-primary a {
	color: var(--exvin-mint);
}

.exvin-acct__card-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem 1rem;
}

.exvin-acct__title {
	margin: 0;
	font-size: clamp(1.15rem, 1rem + 0.6vw, 1.5rem);
}

.exvin-acct__badge {
	padding: 0.25rem 0.75rem;
	border-radius: 999px;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--ink);
	font-size: 0.8rem;
	font-weight: 700;
}

.exvin-acct__meta,
.exvin-acct__source,
.exvin-acct__vin {
	margin: 0.4rem 0 0;
}

.exvin-acct__source {
	font-size: 0.85rem;
	color: var(--wp--preset--color--ink-muted);
}

.exvin-acct__vin span {
	font-size: 0.8rem;
	opacity: 0.8;
}

.exvin-acct__vin code {
	padding: 0.2rem 0.5rem;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.12);
	font: 0.95rem/1.4 ui-monospace, Menlo, Consolas, monospace;
	letter-spacing: 0.1em;
	color: inherit;
}

.exvin-acct__card:not(.is-primary) .exvin-acct__vin code {
	background: var(--wp--preset--color--surface-alt);
}

.exvin-acct__card-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-block-start: 1rem;
}

.exvin-acct__inline {
	margin: 0;
}

.exvin-acct__btn {
	display: inline-flex;
	align-items: center;
	min-block-size: 40px;
	padding: 0 1rem;
	border: 1.5px solid var(--wp--preset--color--border);
	border-radius: 999px;
	background: #fff;
	color: var(--wp--preset--color--ink);
	font: inherit;
	font-size: 0.9rem;
	font-weight: 600;
	text-decoration: none !important;
	cursor: pointer;
	transition: border-color 0.2s, background-color 0.2s, transform 0.2s var(--exvin-ease);
}

.exvin-acct__btn:hover {
	border-color: var(--wp--preset--color--emerald);
	transform: translateY(-1px);
}

.exvin-acct__btn.is-primary {
	border-color: var(--wp--preset--color--emerald);
	background: var(--wp--preset--color--emerald-dark);
	color: #fff;
}

.exvin-acct__btn.is-danger:hover {
	border-color: #ed1117;
	color: #ed1117;
}

.exvin-acct__card.is-primary .exvin-acct__btn {
	border-color: rgba(255, 255, 255, 0.3);
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
}

.exvin-acct__card.is-primary .exvin-acct__btn:hover {
	border-color: #fff;
}

.exvin-acct__btn:focus-visible {
	outline: 2px solid var(--wp--preset--color--emerald-dark);
	outline-offset: 2px;
}

.exvin-acct__card.is-primary .exvin-acct__btn:focus-visible {
	outline-color: var(--wp--preset--color--accent);
}

.exvin-acct__all,
.exvin-acct__add {
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 18px;
	background: #fff;
	interpolate-size: allow-keywords;
}

.exvin-acct__all > summary,
.exvin-acct__add > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-block-size: 56px;
	padding: 0 1.25rem;
	font-weight: 600;
	cursor: pointer;
	list-style: none;
}

.exvin-acct__all > summary::-webkit-details-marker,
.exvin-acct__add > summary::-webkit-details-marker {
	display: none;
}

.exvin-acct__all > summary::after,
.exvin-acct__add > summary::after {
	content: "";
	flex: none;
	inline-size: 2rem;
	block-size: 2rem;
	border-radius: 50%;
	background:
		linear-gradient(currentColor, currentColor) center / 12px 2px no-repeat,
		linear-gradient(currentColor, currentColor) center / 2px 12px no-repeat,
		rgba(0, 155, 119, 0.1);
	color: var(--wp--preset--color--emerald-dark);
	transition: transform 0.4s var(--exvin-spring);
}

.exvin-acct__all[open] > summary::after,
.exvin-acct__add[open] > summary::after {
	transform: rotate(135deg);
}

.exvin-acct__add[open] {
	border-color: rgba(0, 155, 119, 0.4);
	box-shadow: var(--exvin-shadow-lg);
}

.exvin-acct__list {
	display: grid;
	gap: 0.75rem;
	padding: 0 1rem 1rem;
}

.exvin-acct__form {
	padding: 0 1.25rem 1.25rem;
}

.exvin-acct__grid {
	display: grid;
	gap: 1.125rem 1rem;
	margin-block-end: 1.125rem;
}

/* Label sits with its own field, not with the one above it. */
.exvin-acct__form .exvin-form__field label {
	margin: 0;
}

@media (min-width: 640px) {
	.exvin-acct__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.exvin-acct__hint,
.exvin-acct__note {
	margin: 0 0 0.75rem;
	font-size: 0.9rem;
	color: var(--wp--preset--color--ink-muted);
}

.exvin-acct__note {
	padding: 0.75rem 1rem;
	border-radius: 12px;
	background: var(--wp--preset--color--surface-alt);
}

.exvin-vehicle-form__decoded {
	margin: -0.25rem 0 0.75rem;
	padding: 0.6rem 0.9rem;
	border-radius: 12px;
	background: rgba(0, 155, 119, 0.08);
	color: var(--wp--preset--color--emerald-dark);
	font-size: 0.9rem;
}

.exvin-vehicle-form__decoded.is-error {
	background: #fff;
	border: 1px solid #ed1117;
	color: #ed1117;
	font-weight: 600;
}

.exvin-acct__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
	margin: 1rem 0 0;
}

.exvin-acct__actions .exvin-form__submit {
	inline-size: auto;
	padding-inline: 2rem;
}

.exvin-acct__labels {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0 0 0.75rem;
	padding: 0;
	border: 0;
}

.exvin-acct__labels legend {
	margin-block-end: 0.4rem;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
}

.exvin-acct__chip input {
	position: absolute;
	opacity: 0;
}

.exvin-acct__chip span {
	display: inline-flex;
	align-items: center;
	min-block-size: 40px;
	padding: 0 1rem;
	border: 1.5px solid var(--wp--preset--color--border);
	border-radius: 999px;
	cursor: pointer;
	font-weight: 500;
	transition: background-color 0.2s, border-color 0.2s, color 0.2s;
}

.exvin-acct__chip input:checked + span {
	border-color: var(--wp--preset--color--emerald);
	background: var(--wp--preset--color--emerald-dark);
	color: #fff;
}

.exvin-acct__chip input:focus-visible + span {
	outline: 2px solid var(--wp--preset--color--emerald-dark);
	outline-offset: 2px;
}

.exvin-acct__map-label {
	margin: 0.5rem 0 0.4rem;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
}

.exvin-acct__map {
	block-size: clamp(240px, 40vw, 340px);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 16px;
	overflow: hidden;
	background: var(--wp--preset--color--surface-alt);
}

.exvin-acct__map-tools {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem;
	margin: 0.6rem 0 0.25rem;
}

.exvin-acct__map-status {
	font-size: 0.85rem;
	color: var(--wp--preset--color--emerald-dark);
}

.exvin-acct__cancel {
	color: var(--wp--preset--color--ink-muted);
}

/* Dashboard cards */
.exvin-acct__dash {
	display: grid;
	gap: 1rem;
	margin-block: 1.25rem;
}

@media (min-width: 640px) {
	.exvin-acct__dash {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.exvin-acct__dash-card {
	display: grid;
	gap: 0.35rem;
	padding: 1.25rem 1.4rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 18px;
	background: #fff;
	color: var(--wp--preset--color--ink);
	text-decoration: none !important;
	transition: transform 0.4s var(--exvin-ease), box-shadow 0.4s var(--exvin-ease), border-color 0.3s;
}

.exvin-acct__dash-card:hover {
	transform: translateY(-4px);
	border-color: rgba(0, 155, 119, 0.4);
	box-shadow: var(--exvin-shadow-lg);
}

.exvin-acct__dash-kicker {
	color: var(--wp--preset--color--emerald-dark);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

[dir="rtl"] .exvin-acct__dash-kicker {
	letter-spacing: 0;
	text-transform: none;
}

.exvin-acct__dash-card strong {
	font-size: 1.2rem;
}

.exvin-acct__dash-card span:last-child {
	color: var(--wp--preset--color--ink-muted);
	font-size: 0.9rem;
}

.exvin-vehicle-form__decoded.is-warn {
	padding: 0.6rem 0.8rem;
	border-radius: 10px;
	background: #f6efd7;
	color: #0b3b30;
}

/* WooCommerce notices on account pages */
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-error,
.woocommerce-account .woocommerce-info {
	margin: 0 0 1rem;
	padding: 0.9rem 1.1rem;
	border: 0;
	border-radius: 14px;
	list-style: none;
}

.woocommerce-account .woocommerce-message {
	background: #e5f5f1;
	color: var(--wp--preset--color--emerald-deep);
}

.woocommerce-account .woocommerce-error {
	background: #fff;
	border: 1px solid #ed1117;
	color: #ed1117;
	font-weight: 600;
}

.woocommerce-account .woocommerce-message::before,
.woocommerce-account .woocommerce-error::before,
.woocommerce-account .woocommerce-info::before {
	display: none;
}

.leaflet-container {
	font: inherit;
}

.leaflet-container .leaflet-control-attribution a {
	color: var(--wp--preset--color--emerald-dark);
	text-decoration: underline;
}

.woocommerce-account .woocommerce .show-password-input {
	min-inline-size: 24px;
	min-block-size: 24px;
}

/* ---------------------------------------------------------------------------
 * 21. Business account
 * ------------------------------------------------------------------------ */
.exvin-biz__badge.is-active {
	background: #d9f0eb;
	color: #0b3b30;
}

.exvin-biz__badge.is-review,
.exvin-biz__badge.is-info,
.exvin-biz__badge.is-draft {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--ink);
}

.exvin-biz__badge.is-rejected,
.exvin-biz__badge.is-suspended {
	background: #fff;
	box-shadow: inset 0 0 0 1px #ed1117;
	color: #ed1117;
}

.exvin-biz__note {
	margin: 0.9rem 0 0;
	padding: 0.75rem 1rem;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
}

.exvin-biz__section {
	display: grid;
	gap: 0.85rem;
}

.exvin-biz__heading {
	margin: 0.5rem 0 0;
	font-size: clamp(1.1rem, 1rem + 0.4vw, 1.3rem);
}

.exvin-biz__people,
.exvin-biz__sites {
	display: grid;
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 782px) {
	.exvin-biz__sites {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.exvin-biz__person.is-pending {
	border-style: dashed;
}

.exvin-biz__who {
	display: block;
}

.exvin-biz__email {
	display: inline-block;
	color: var(--wp--preset--color--ink-muted);
	font-size: 0.9rem;
	overflow-wrap: anywhere;
}

.exvin-biz__edit {
	margin-top: 0.75rem;
}

.exvin-biz__edit > summary {
	display: inline-block;
	min-block-size: 24px;
	color: var(--wp--preset--color--emerald-dark, #007A5E);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

.exvin-biz__inline-form {
	display: grid;
	gap: 0.6rem;
	margin: 0.75rem 0;
}

@media (min-width: 600px) {
	.exvin-biz__inline-form {
		grid-template-columns: 1fr 1fr auto;
		align-items: end;
	}

	.exvin-biz__inline-form .exvin-acct__actions {
		margin: 0;
	}
}

.exvin-biz__limit-field[hidden] {
	display: none !important;
}

.exvin-biz__facts {
	display: grid;
	gap: 0.6rem;
	margin: 0.75rem 0 0;
}

.exvin-biz__facts > div {
	display: grid;
	gap: 0.15rem;
	padding-block-end: 0.6rem;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.exvin-biz__facts > div:last-child {
	border-bottom: 0;
}

.exvin-biz__facts dt {
	color: var(--wp--preset--color--ink-muted);
	font-size: 0.85rem;
}

.exvin-biz__facts dd {
	margin: 0;
	font-weight: 600;
}

.exvin-biz__roles {
	padding: 0 1.25rem 1rem;
}

.exvin-biz__roles dd {
	font-weight: 400;
}

.exvin-acct__actions .exvin-acct__btn {
	min-block-size: 44px;
}

.exvin-biz__login-note {
	margin: 0 0 1rem;
}

/* ---------------------------------------------------------------------------
 * 22. Supplier portal
 * ------------------------------------------------------------------------ */
.exvin-sp__tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	padding: 0.35rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 999px;
	background: var(--wp--preset--color--surface-alt);
}

.exvin-sp__tabs a {
	display: inline-flex;
	align-items: center;
	min-block-size: 40px;
	padding: 0.4rem 1rem;
	border-radius: 999px;
	color: var(--wp--preset--color--ink);
	font-weight: 600;
	text-decoration: none;
	transition: background-color 0.25s, color 0.25s;
}

.exvin-sp__tabs a:hover {
	background: #fff;
}

.exvin-sp__tabs a[aria-current="page"] {
	background: var(--wp--preset--color--emerald-dark);
	color: #fff;
}

.exvin-sp__tabs a:focus-visible {
	outline: 3px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
}

@media (max-width: 600px) {
	.exvin-sp__tabs {
		border-radius: 18px;
	}

	.exvin-sp__tabs a {
		flex: 1 1 calc(50% - 0.4rem);
		justify-content: center;
		text-align: center;
	}
}

.exvin-sp__steps {
	display: grid;
	gap: 0.6rem;
	margin: 0.9rem 0 0;
	padding: 0;
	list-style: none;
}

.exvin-sp__steps li {
	display: flex;
	align-items: center;
	gap: 0.7rem;
}

.exvin-sp__tick {
	display: inline-grid;
	flex: 0 0 auto;
	place-items: center;
	inline-size: 1.6rem;
	block-size: 1.6rem;
	border: 2px solid var(--wp--preset--color--border);
	border-radius: 50%;
	font-size: 0.85rem;
	font-weight: 700;
}

.exvin-sp__steps li.is-done .exvin-sp__tick {
	border-color: var(--wp--preset--color--emerald);
	background: var(--wp--preset--color--emerald-dark);
	color: #fff;
}

.exvin-sp__steps li.is-done {
	color: var(--wp--preset--color--ink-muted);
}

.exvin-sp__stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
}

@media (min-width: 782px) {
	.exvin-sp__stats {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.exvin-sp__stats .exvin-acct__card {
	display: grid;
	gap: 0.2rem;
	padding: 1rem 1.1rem;
}

.exvin-sp__stats strong {
	font-size: clamp(1.4rem, 1.1rem + 1vw, 2rem);
	line-height: 1.1;
}

.exvin-sp__stats span {
	color: var(--wp--preset--color--ink-muted);
	font-size: 0.85rem;
}

.exvin-sp__group {
	display: grid;
	gap: 0.6rem;
	margin: 0 0 1.25rem;
	padding: 1.1rem 1.2rem 1.2rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 18px;
	background: #fff;
	min-inline-size: 0;
}

.exvin-sp__group > legend {
	padding: 0 0.4rem;
	font-weight: 700;
	font-size: 1.05rem;
}

.exvin-sp__group[disabled] {
	opacity: 0.75;
}

.exvin-sp__contact {
	display: grid;
	gap: 0 0.75rem;
	padding-block-end: 0.5rem;
	border-bottom: 1px dashed var(--wp--preset--color--border);
}

@media (min-width: 782px) {
	.exvin-sp__contact {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.exvin-sp__checks {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
}

.exvin-sp__commit {
	margin: 0;
	padding-inline-start: 1.2rem;
	color: var(--wp--preset--color--ink-muted);
}

.exvin-sp__commit li + li {
	margin-top: 0.3rem;
}

.exvin-sp__filters {
	display: grid;
	gap: 0 0.75rem;
	align-items: end;
}

@media (min-width: 600px) {
	.exvin-sp__filters {
		grid-template-columns: 2fr 1fr auto;
	}

	.exvin-sp__filters .exvin-acct__actions {
		margin: 0 0 1rem;
	}
}

.exvin-acct,
.woocommerce-account .woocommerce-MyAccount-content {
	min-inline-size: 0;
}

.exvin-acct > * {
	min-inline-size: 0;
}

.exvin-sp__table-wrap {
	position: relative;
	max-inline-size: 100%;
	overflow-x: auto;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 18px;
	background: #fff;
}

.exvin-sp__table-wrap:focus-visible {
	outline: 3px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
}

.exvin-sp__table {
	inline-size: 100%;
	min-inline-size: 760px;
	border-collapse: collapse;
	font-size: 0.92rem;
}

.exvin-sp__table th,
.exvin-sp__table td {
	padding: 0.7rem 0.8rem;
	border-bottom: 1px solid var(--wp--preset--color--border);
	text-align: start;
	vertical-align: top;
}

.exvin-sp__table thead th {
	background: var(--wp--preset--color--surface-alt);
	color: var(--wp--preset--color--ink-muted);
	font-size: 0.8rem;
	font-weight: 700;
}

.exvin-sp__table tbody tr:last-child td {
	border-bottom: 0;
}

.exvin-sp__table td span:not(.exvin-acct__badge),
.exvin-sp__table small {
	color: var(--wp--preset--color--ink-muted);
}

.exvin-sp__table .exvin-acct__badge {
	display: inline-block;
	margin-block-end: 0.2rem;
	font-size: 0.72rem;
}

.exvin-sp__row-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
}

.exvin-sp__pages {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
}

.exvin-sp__pages a,
.exvin-sp__pages span {
	display: inline-grid;
	place-items: center;
	min-inline-size: 40px;
	min-block-size: 40px;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px;
	text-decoration: none;
}

.exvin-sp__pages span[aria-current] {
	background: var(--wp--preset--color--emerald-dark);
	border-color: var(--wp--preset--color--emerald);
	color: #fff;
}

.exvin-sp__errors {
	margin: 0.75rem 0 0;
	padding-inline-start: 1.2rem;
	color: #ed1117;
	font-size: 0.9rem;
	font-weight: 600;
}

.exvin-sp__confirm {
	display: flex;
	justify-content: flex-end;
}

/* ---------------------------------------------------------------------------
 * 23. Social icons
 * ------------------------------------------------------------------------ */
.wp-block-social-links.exvin-social {
	gap: 0.55rem;
	margin: 0.5rem 0 0;
	padding: 0;
}

/* Approved style: green rounded tiles, white glyphs (all services the same colour). */
.wp-block-social-links.exvin-social .wp-social-link {
	width: 2.75rem;
	height: 2.75rem;
	margin: 0;
	border-radius: 0.8rem;
	background: var(--wp--preset--color--emerald-dark) !important;
	color: #fff !important;
	font-size: 1.6rem;
	transition: transform 0.3s var(--exvin-ease), box-shadow 0.3s, background-color 0.3s;
}

.wp-block-social-links.exvin-social .wp-social-link a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 0;
	color: inherit !important;
}

.wp-block-social-links.exvin-social .wp-social-link svg {
	width: 1.6rem;
	height: 1.6rem;
	fill: currentColor;
}

.wp-block-social-links.exvin-social .wp-social-link:hover {
	background: var(--wp--preset--color--emerald-deep) !important;
	transform: translateY(-2px);
	box-shadow: 0 8px 18px -8px rgba(11, 59, 48, 0.55);
}

.wp-block-social-links.exvin-social .wp-social-link a:focus-visible {
	outline: 3px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
	border-radius: 0.8rem;
}

/* ---------------------------------------------------------------------------
 * 25. Parts search (VIN or part number) and camera VIN reader
 * ------------------------------------------------------------------------ */

.exvin-vin-demo__field {
	padding-inline-end: 6.4rem;
}

.exvin-vin__type {
	flex: none;
	margin-inline-end: 0.4rem;
	padding: 0.1rem 0.45rem;
	border-radius: 6px;
	background: rgba(178, 225, 214, 0.18);
	color: var(--exvin-mint);
	font: 600 0.68rem/1.4 var(--wp--preset--font-family--body, sans-serif);
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.exvin-vin__count:empty {
	display: none;
}

.exvin-vin__cam {
	position: absolute;
	top: 50%;
	inset-inline-end: 3.5rem;
	display: grid;
	place-items: center;
	inline-size: 2.75rem;
	block-size: 2.75rem;
	margin-block-start: -1.375rem;
	padding: 0;
	border: 1px solid rgba(178, 225, 214, 0.35);
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
	cursor: pointer;
	transition: background-color 0.2s, border-color 0.2s;
}

.exvin-vin__cam:hover {
	background: rgba(255, 255, 255, 0.16);
	border-color: var(--exvin-mint);
}

.exvin-vin__cam:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
}

@media (max-width: 480px) {
	.exvin-vin-demo__field {
		padding-inline-start: 0.75rem;
		letter-spacing: 0.04em;
	}
}

/* Floating chips sit over the box on small screens (and grow when a browser translates them). */
@media (max-width: 781px) {
	.exvin-vin-demo__chip {
		display: none;
	}
}

.exvin-vin__kind {
	margin-block-end: 0.15rem !important;
	color: rgba(255, 255, 255, 0.8) !important;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.exvin-vin__source {
	margin-block-end: 0.5rem !important;
	color: rgba(255, 255, 255, 0.85) !important;
	font-size: 0.78rem;
}

.exvin-vin__found {
	margin: 0 0 0.75rem;
	padding: 0.8rem 0.9rem 0.2rem;
	border: 1px solid rgba(178, 225, 214, 0.55);
	border-radius: 12px;
	background: rgba(0, 155, 119, 0.28);
}

.exvin-vin__found-title {
	margin-block-end: 0.15rem !important;
	color: #d9f0eb !important;
	font-weight: 700;
}

.exvin-vin__found-title::before {
	content: "✓ ";
}

.exvin-vin__partial {
	margin-block-end: 0.5rem;
}

.exvin-vin__ai {
	margin: 0 0 0.75rem;
	padding: 0.8rem 0.9rem 0.2rem;
	border: 1px dashed rgba(212, 175, 55, 0.6);
	border-radius: 12px;
	background: rgba(212, 175, 55, 0.08);
}

.exvin-vin__ai > p {
	font-size: 0.82rem;
}

.exvin-vin__ai-title {
	margin-block-end: 0.2rem !important;
	color: #f2e7c3 !important;
	font-weight: 700;
}

.exvin-vin__level {
	display: inline-block;
	margin-inline-start: 0.35rem;
	padding: 0 0.4rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.12);
	font-size: 0.7rem !important;
	white-space: nowrap;
}

.exvin-vin__level.is-high {
	background: rgba(178, 225, 214, 0.22);
}

.exvin-vin__row dt {
	flex: 0 0 auto;
	max-inline-size: 45%;
}

.exvin-vin__row dd {
	flex: 1 1 auto;
	min-inline-size: 0;
	overflow-wrap: anywhere;
}

.exvin-vin__plain,
.exvin-vin__refs,
.exvin-vin__products {
	display: grid;
	gap: 0.4rem;
	margin: 0 0 0.75rem;
	padding: 0;
	list-style: none;
}

.exvin-vin__plain li {
	padding: 0.45rem 0.75rem;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.07);
	font-size: 0.88rem;
	overflow-wrap: anywhere;
}

.exvin-vin__refs li {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.2rem 0.75rem;
	padding: 0.5rem 0.75rem;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.07);
	font-size: 0.86rem;
	overflow-wrap: anywhere;
}

.exvin-vin__refs small {
	display: block;
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.7rem;
}

.exvin-vin__refs em {
	grid-column: 1 / -1;
	color: rgba(255, 255, 255, 0.85);
	font-size: 0.8rem;
	font-style: normal;
}

.exvin-vin__products a,
.exvin-vin__products div {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	align-items: center;
	gap: 0.75rem;
	padding: 0.6rem 0.8rem;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.1);
	color: #fff !important;
	text-decoration: none !important;
}

.exvin-vin__products img,
.exvin-vin__noimg {
	inline-size: 64px;
	block-size: 64px;
	border-radius: 8px;
	background: #fff;
	object-fit: contain;
}

.exvin-vin__noimg {
	background: rgba(255, 255, 255, 0.08);
}

.exvin-vin__ptext {
	display: grid;
	gap: 0.1rem;
	min-inline-size: 0;
}

.exvin-vin__products a:hover {
	background: rgba(255, 255, 255, 0.16);
}

.exvin-vin__products span {
	color: rgba(255, 255, 255, 0.85);
	font-size: 0.8rem;
}

.exvin-vin__products em {
	color: #f2e7c3;
	font-size: 0.82rem;
	font-style: normal;
	font-weight: 600;
}

.exvin-vin__result[aria-busy="true"] {
	display: none;
}

/* Camera dialog */
.exvin-cam {
	inline-size: min(34rem, calc(100vw - 1.5rem));
	max-block-size: calc(100dvh - 1.5rem);
	padding: 1rem 1rem 1.1rem;
	border: 0;
	border-radius: 18px;
	background: var(--wp--preset--color--emerald-deep);
	color: #fff;
	box-shadow: 0 30px 80px -20px rgba(5, 38, 30, 0.6);
	overflow: auto;
}

.exvin-cam::backdrop {
	background: rgba(5, 38, 30, 0.72);
}

.exvin-cam__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-block-end: 0.75rem;
}

.exvin-cam__title {
	margin: 0;
	color: #fff;
	font-size: 1.1rem;
}

.exvin-cam__close {
	inline-size: 44px;
	block-size: 44px;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
	font-size: 1.5rem;
	line-height: 1;
	cursor: pointer;
}

.exvin-cam__close:focus-visible,
.exvin-cam__shot:focus-visible,
.exvin-cam__upload:focus-within,
.exvin-cam__vin:focus-visible {
	outline: 3px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
}

.exvin-cam__view {
	position: relative;
	display: none;
	aspect-ratio: 4 / 3;
	border-radius: 12px;
	background: #000;
	overflow: hidden;
}

.exvin-cam.has-video .exvin-cam__view {
	display: block;
}

.exvin-cam__view video {
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
}

.exvin-cam__frame {
	position: absolute;
	inset-inline: 4%;
	inset-block: 29%;
	border: 2px solid var(--wp--preset--color--accent);
	border-radius: 10px;
	box-shadow: 0 0 0 999px rgba(5, 38, 30, 0.38);
}

.exvin-cam.is-reading .exvin-cam__frame {
	animation: exvin-pulse-frame 1s ease-in-out infinite alternate;
}

@keyframes exvin-pulse-frame {
	to { border-color: var(--exvin-mint); }
}

/* Photo editor: turn the photo, drag over the VIN. Coordinates are physical (left/top), so the
   selection box sits where the finger is in both RTL and LTR. */
.exvin-cam__edit {
	display: none;
}

.exvin-cam.is-editing .exvin-cam__edit {
	display: block;
}

.exvin-cam__pic {
	position: relative;
	inline-size: fit-content;
	max-inline-size: 100%;
	margin-inline: auto;
	border-radius: 12px;
	background: #000;
	overflow: hidden;
	touch-action: none;
	user-select: none;
	-webkit-user-select: none;
}

.exvin-cam__pic canvas {
	display: block;
	max-inline-size: 100%;
	max-block-size: 46dvh;
	inline-size: auto;
	block-size: auto;
	cursor: crosshair;
}

.exvin-cam__sel {
	position: absolute;
	border: 2px solid var(--wp--preset--color--accent);
	border-radius: 6px;
	box-shadow: 0 0 0 999px rgba(5, 38, 30, 0.45);
	pointer-events: none;
}

.exvin-cam.is-reading .exvin-cam__sel {
	animation: exvin-pulse-frame 1s ease-in-out infinite alternate;
}

.exvin-cam__hint {
	margin: 0.5rem 0 0;
	color: rgba(255, 255, 255, 0.88);
	font-size: 0.85rem;
	line-height: 1.5;
}

.exvin-cam__tools {
	display: flex;
	gap: 0.5rem;
	margin-block-start: 0.5rem;
}

.exvin-cam__rotate,
.exvin-cam__read {
	flex: 1 1 0;
	min-block-size: 48px;
	padding: 0 1rem;
	border-radius: 999px;
	font: inherit;
	font-weight: 600;
	cursor: pointer;
	color: var(--wp--preset--color--surface);
}

.exvin-cam__rotate {
	border: 1px solid rgba(255, 255, 255, 0.4);
	background: transparent;
	color: #fff;
}

.exvin-cam__read {
	border: 0;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--ink);
}

.exvin-cam__rotate:disabled,
.exvin-cam__read:disabled {
	opacity: 0.55;
	cursor: wait;
}

.exvin-cam__rotate:focus-visible,
.exvin-cam__read:focus-visible {
	outline: 3px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
}

/* While a photo is shown, "Take photo" is the secondary action (start the camera again). */
.exvin-cam.is-editing .exvin-cam__shot {
	border: 1px solid rgba(255, 255, 255, 0.4);
	background: transparent;
	color: #fff;
}

.exvin-cam__status {
	margin: 0.75rem 0 0.5rem;
	color: #fff;
	font-weight: 600;
}

.exvin-cam__results {
	display: grid;
	gap: 0.5rem;
	margin-block-end: 0.5rem;
}

.exvin-cam__vin {
	min-block-size: 48px;
	padding: 0.5rem 0.75rem;
	border: 1px solid rgba(178, 225, 214, 0.5);
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
	font: 600 1.05rem/1.2 ui-monospace, Menlo, Consolas, monospace;
	letter-spacing: 0.1em;
	cursor: pointer;
	overflow-wrap: anywhere;
}

.exvin-cam__vin:hover {
	border-color: var(--wp--preset--color--accent);
}

.exvin-cam__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.exvin-cam__shot,
.exvin-cam__upload {
	flex: 1 1 10rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-block-size: 48px;
	padding: 0 1rem;
	border-radius: 999px;
	font-weight: 600;
	cursor: pointer;
}

.exvin-cam__shot {
	border: 0;
	font-size: 1rem;
	background: var(--wp--preset--color--emerald-dark);
	color: var(--wp--preset--color--surface);
}

/* The file field stays usable but invisible: the label is the button. No "capture" attribute,
   so phones offer the photo gallery (the live camera has its own "Take photo" button). */
.exvin-cam__file {
	position: absolute;
	inline-size: 1px;
	block-size: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
	opacity: 0;
}

.exvin-cam__upload {
	position: relative;
	border: 1px solid rgba(255, 255, 255, 0.4);
	color: #fff;
}

.exvin-cam__tip,
.exvin-cam__privacy {
	margin: 0.75rem 0 0;
	color: rgba(255, 255, 255, 0.88);
	font-size: 0.8rem;
	line-height: 1.5;
}

.exvin-cam__privacy {
	margin-block-start: 0.35rem;
	color: rgba(255, 255, 255, 0.78);
}

/* ---------------------------------------------------------------------------
 * 26. Footer contact: label above each email, address on its own lines
 * ------------------------------------------------------------------------ */

.exvin-footer__emails {
	display: grid;
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.exvin-footer__emails li {
	display: grid;
	gap: 0.15rem;
	justify-items: start;
	min-inline-size: 0;
}

.exvin-footer__label {
	color: rgba(255, 255, 255, 0.82);
	font-size: 0.85rem;
}

.exvin-footer__emails a {
	max-inline-size: 100%;
	padding-block: 0.3rem;
}

/* Emails and the legal name are Latin: Google Sans, left to right, even on Arabic/Urdu pages. */
.exvin-footer .exvin-ltr {
	font-family: var(--wp--preset--font-family--body);
}

.exvin-footer__address {
	margin: 0;
	line-height: 1.7;
}

.exvin-footer__address span {
	display: block;
	overflow-wrap: anywhere;
}

/* The Latin legal name is LTR inside, but lines up with the Arabic/Urdu lines on the right. */
[dir="rtl"] .exvin-footer__address .exvin-ltr {
	text-align: right;
}

/* Social tiles: fixed pixel size so large phone text settings cannot push them off screen. */
.wp-block-social-links.exvin-social--footer {
	gap: 10px;
	flex-wrap: wrap;
}

.wp-block-social-links.exvin-social--footer .wp-social-link {
	inline-size: 44px;
	block-size: 44px;
	border-radius: 12px;
}

.wp-block-social-links.exvin-social--footer .wp-social-link svg {
	inline-size: 24px;
	block-size: 24px;
}

/* Header actions may wrap instead of overflowing when the phone's text size is very large
   (an overflowing header makes mobile browsers lay the whole page out wider than the screen). */
.exvin-header__bar > .exvin-header__actions {
	flex-wrap: wrap;
	justify-content: flex-end;
	min-inline-size: 0;
	max-inline-size: 100%;
}

/* ---------------------------------------------------------------------------
 * 99. Reduced motion — static, fully visible
 * ------------------------------------------------------------------------ */

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	.exvin-aurora span,
	.exvin-marquee__track,
	.exvin-cta,
	.exvin-cta::before,
	.exvin-page-hero.exvin-dark::after,
	.exvin-vin-demo,
	.exvin-vin-demo__card::before,
	.exvin-vin-demo__chip,
	.exvin-vin-demo__caret,
	.exvin-badge--live::before,
	.exvin-btn-shine .wp-block-button__link::before,
	.exvin-hero--launch :is(.exvin-hero__title, .exvin-hero__lead, .exvin-hero__actions, .exvin-badge),
	.exvin-page-hero :is(h1, .exvin-hero__lead),
	.exvin-how .exvin-grid::before {
		animation: none !important;
	}

	.exvin-marquee__track {
		flex-wrap: wrap;
		inline-size: auto;
		justify-content: center;
	}

	.exvin-marquee span[aria-hidden="true"] {
		display: none;
	}

	.exvin-reveal {
		opacity: 1;
		transform: none;
		filter: none;
	}

	.exvin-card:hover,
	.wp-block-button__link:hover {
		transform: none;
	}
}

/* ==========================================================================
   24. Orders: progress, supplier requests, documents, returns
   ========================================================================== */
.exvin-progress {
	margin: 0 0 1.5rem;
}

.exvin-progress ol {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0.25rem;
	list-style: none;
	margin: 0.75rem 0;
	padding: 0;
	counter-reset: step;
}

.exvin-progress li {
	position: relative;
	padding-block-start: 1.75rem;
	font-size: 0.85rem;
	text-align: center;
	color: var(--wp--preset--color--ink-muted, #2f6b5c);
	counter-increment: step;
}

.exvin-progress li::before {
	content: counter(step);
	position: absolute;
	inset-block-start: 0;
	inset-inline-start: 50%;
	translate: -50% 0;
	inline-size: 1.4rem;
	block-size: 1.4rem;
	border-radius: 50%;
	border: 2px solid #D3EAE3;
	background: #fff;
	font-size: 0.75rem;
	line-height: 1.1rem;
}

[dir="rtl"] .exvin-progress li::before {
	translate: 50% 0;
}

.exvin-progress li.is-done,
.exvin-progress li.is-current {
	color: #0B3B30;
	font-weight: 600;
}

.exvin-progress li.is-done::before {
	content: "✓";
	background: #007A5E;
	border-color: #009B77;
	color: #fff;
}

.exvin-progress li.is-current::before {
	border-color: #009B77;
	color: #007A5E;
}

.exvin-docs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 1rem 0;
}

.exvin-sp__orders {
	margin-block: 1.5rem;
}

.exvin-sp__order {
	margin-block-end: 1rem;
}

.exvin-sp__order header h4 {
	margin: 0;
}

.exvin-sp__order-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem;
	margin-block-start: 0.75rem;
}

.exvin-sp__decline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
}

.exvin-sp__decline select {
	max-inline-size: 100%;
}

.exvin-returns {
	margin-block: 1.5rem;
	padding: 1rem;
	border: 1px solid #D3EAE3;
	border-radius: 12px;
	background: #EEF7F4;
}

.exvin-returns__form select,
.exvin-returns__form input[type="number"],
.exvin-returns__form textarea {
	inline-size: 100%;
	max-inline-size: 28rem;
}

@media (max-width: 480px) {
	.exvin-progress li {
		font-size: 0.72rem;
	}
}

/* ---------------------------------------------------------------------------
 * 27. Privacy policy: operator block and email links
 * ------------------------------------------------------------------------ */

.exvin-policy__operator {
	margin-block-start: 2.5rem !important;
	padding: 1rem 1.25rem;
	border: 1px solid #D3EAE3;
	border-radius: 12px;
	background: #EEF7F4;
}

.exvin-policy__operator p {
	margin: 0;
}

.exvin-policy__operator p + p {
	margin-block-start: 0.5rem;
}

.exvin-policy .exvin-nowrap {
	white-space: nowrap;
}

.exvin-policy a[href^="mailto:"] {
	unicode-bidi: isolate;
	overflow-wrap: anywhere;
}

/* Contact page: "How can we help?" list (owner reference 2026-10-03). */
.exvin-help {
	padding-block: clamp(2.5rem, 2rem + 3vw, 4.5rem) clamp(3rem, 2rem + 4vw, 5.5rem);
	background: #fff;
}
.exvin-help__inner {
	max-width: 36rem;
	margin-inline: auto;
	text-align: center;
}
.exvin-help__eyebrow {
	margin: 0 0 .5rem;
	font-size: .875rem;
	font-weight: 600;
	letter-spacing: .02em;
	color: var(--wp--preset--color--ink-muted);
}
.exvin-help__title {
	margin: 0;
	font-size: clamp(2rem, 1.6rem + 2vw, 2.75rem);
	line-height: 1.2;
	color: var(--wp--preset--color--emerald-dark, #007A5E);
}
.exvin-help__lead {
	margin: .75rem 0 0;
	color: var(--wp--preset--color--ink-muted);
}
.exvin-help__list {
	margin-top: clamp(1.75rem, 1.4rem + 1.5vw, 2.5rem);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(5, 38, 30, .04), 0 12px 32px -18px rgba(5, 38, 30, .18);
	overflow: hidden;
	text-align: start;
}
.exvin-help__row + .exvin-help__row { border-top: 1px solid var(--wp--preset--color--border); }
.exvin-help__link {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1.25rem 1.25rem;
	color: var(--wp--preset--color--ink);
	text-decoration: none;
	cursor: pointer;
	transition: background-color .2s;
}
a.exvin-help__link:hover, .exvin-help__link:hover, summary.exvin-help__link:focus-visible, a.exvin-help__link:focus-visible { background: var(--wp--preset--color--surface-alt); text-decoration: none; }
.exvin-help__icon {
	flex: none;
	display: grid;
	place-items: center;
	inline-size: 3.5rem;
	block-size: 3.5rem;
	border-radius: 16px;
	background: rgba(0, 155, 119, .09);
	color: var(--wp--preset--color--emerald-dark, #007A5E);
}
.exvin-help__text { flex: 1; min-width: 0; display: grid; gap: .15rem; }
.exvin-help__name { font-weight: 700; font-size: 1.125rem; color: var(--wp--preset--color--emerald-dark, #007A5E); }
.exvin-help__sub { color: var(--wp--preset--color--ink); font-size: 1rem; overflow-wrap: anywhere; }
.exvin-help__sub.exvin-ltr { text-align: start; justify-self: start; }
.exvin-help__end { flex: none; color: var(--wp--preset--color--ink-muted); }
.exvin-help__row--assist > summary { list-style: none; }
.exvin-help__row--assist > summary::-webkit-details-marker { display: none; }
.exvin-help__chev { transition: transform .25s; }
.exvin-help__row--assist[open] .exvin-help__chev { transform: rotate(180deg); }
.exvin-help__panel { padding: 0 1.25rem 1.25rem; }
@media (prefers-reduced-motion: reduce) { .exvin-help__chev, .exvin-help__link { transition: none; } }

/* Store-open home hero on phones: title, summary, the parts search, then the shop button. */
@media (max-width: 781px) {
	.exvin-hero--store .exvin-hero__inner {
		display: flex;
		flex-direction: column;
	}

	.exvin-hero--store .exvin-hero__copy {
		display: contents;
	}

	.exvin-hero--store .exvin-hero__visual {
		order: 2;
		inline-size: 100%;
	}

	.exvin-hero--store .exvin-hero__actions {
		order: 3;
	}

	.exvin-hero--store .exvin-vin-demo {
		padding-block: 0.5rem;
	}
}


/* Display currency switcher (D-064). */
.exvin-cur {
	display: inline-flex;
	align-items: center;
}

.exvin-cur__select {
	min-block-size: 36px;
	padding-block: 0.2rem;
	padding-inline: 0.65rem 1.6rem;
	border: 1px solid rgba(5, 38, 30, 0.14);
	border-radius: 999px;
	background-color: transparent;
	color: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--body, inherit);
	font-size: 0.9rem;
	font-weight: 600;
	cursor: pointer;
}

.exvin-cur__select:focus-visible {
	outline: 2px solid var(--wp--preset--color--emerald);
	outline-offset: 2px;
}

/* Amount charged + amounts in the customer's currency (cart / checkout). */
.exvin-fx-note {
	margin-block: 0.75rem;
	padding: 0.75rem 0.9rem;
	border: 1px solid #D3EAE3;
	border-radius: 12px;
	background: #EEF7F4;
	font-size: 0.92rem;
}

.exvin-fx-note p {
	margin: 0 0 0.4rem;
}

.exvin-fx-note__title {
	font-weight: 600;
}

.exvin-fx-note dl {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 0.15rem 1rem;
	margin: 0 0 0.4rem;
}

.exvin-fx-note dd {
	margin: 0;
	text-align: end;
	unicode-bidi: isolate;
}

.exvin-fx-note__rate {
	color: #2f6b5c;
	font-size: 0.85rem;
}

/* Search box above long lists (country, region, city) in the address form. */
.exvin-acct__search[hidden] {
	display: none;
}

.exvin-acct__search {
	display: block;
	inline-size: 100%;
	box-sizing: border-box;
	margin-block-end: 0.35rem;
}
