/* Vehicle Fitment for WooCommerce - storefront.
   Inherits the theme's fonts; colours come from --cvf-accent (set in settings). */
:root {
	--cvf-accent: #7b1fe0;
	--cvf-accent-ink: #fff;
	--cvf-ink: #1d1d1f;
	--cvf-muted: #6b6b72;
	--cvf-line: #e3e3e8;
	--cvf-surface: #f6f6f8;
	--cvf-good: #1e7d3c;
	--cvf-good-bg: #e9f6ee;
	--cvf-warn: #8a5a00;
	--cvf-warn-bg: #fff4dc;
	--cvf-bad: #a8261c;
	--cvf-bad-bg: #fdecea;
	--cvf-radius: 6px;
}

/* Header bar */
.cvf-header-bar {
	position: relative;
	z-index: 990;           /* above floated sort/result-count blocks and theme overlays */
	clear: both;
	width: 100%;
	box-sizing: border-box;
	background: var(--cvf-surface);
	border-bottom: 1px solid var(--cvf-line);
	padding: 10px 16px;
	pointer-events: auto;
}
.cvf-header-bar *,
.cvf-header-bar select { pointer-events: auto; }
/* Pinned under a fixed/sticky theme header while scrolling (top set by cvf.js).
   z-index sits just under typical header values so open menus stay on top. */
.cvf-header-bar.cvf-floating {
	position: fixed;
	left: 0;
	right: 0;
	margin: 0;
	z-index: 998;
	box-shadow: 0 6px 12px -8px rgba(0, 0, 0, .25);
}
.cvf-bar-placeholder { display: block; }
.cvf-header-bar .cvf-selector {
	max-width: 1200px;
	margin: 0 auto;
}

/* Selector */
.cvf-selector { color: var(--cvf-ink); font-size: 14px; }
.cvf-form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0;
}
.cvf-form[hidden] { display: none; }
.cvf-title { font-weight: 600; margin-right: 4px; white-space: nowrap; }
.cvf-form select {
	flex: 1 1 130px;
	min-width: 0;
	max-width: 220px;
	height: 38px;
	padding: 0 32px 0 10px;
	border: 1px solid var(--cvf-line);
	border-radius: var(--cvf-radius);
	background-color: #fff;
	color: var(--cvf-ink);
	font: inherit;
}
.cvf-form select[hidden] { display: none; }
.cvf-form select:disabled { opacity: .55; }
.cvf-form select.cvf-loading { opacity: .6; cursor: progress; }
.cvf-submit {
	height: 38px;
	padding: 0 18px;
	border: 0;
	border-radius: var(--cvf-radius);
	background: var(--cvf-accent);
	color: var(--cvf-accent-ink);
	font: inherit;
	font-weight: 600;
	cursor: pointer;
	white-space: nowrap;
}
.cvf-submit:hover { filter: brightness(1.08); }
.cvf-layout-stacked .cvf-form { flex-direction: column; align-items: stretch; }
.cvf-layout-stacked .cvf-form select { max-width: none; flex: 0 0 auto; }

.cvf-garage { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.cvf-garage[hidden] { display: none; }
.cvf-garage-label { color: var(--cvf-muted); }
.cvf-garage-vehicle { font-weight: 600; color: var(--cvf-ink); text-decoration: none; }
.cvf-link {
	background: none;
	border: 0;
	padding: 0;
	color: var(--cvf-accent);
	font: inherit;
	text-decoration: underline;
	cursor: pointer;
}

/* Shop banner */
.cvf-shop-banner {
	margin: 0 0 16px;
	padding: 10px 14px;
	border-left: 3px solid var(--cvf-accent);
	background: var(--cvf-surface);
	border-radius: 0 var(--cvf-radius) var(--cvf-radius) 0;
	font-size: 14px;
}
.cvf-shop-banner a { margin-left: 6px; }

/* Fitment badge */
.cvf-fit { margin: 12px 0; font-size: 14px; }
.cvf-fit-head { font-weight: 600; padding: 8px 12px; border-radius: var(--cvf-radius); }
.cvf-fit--fits .cvf-fit-head,
.cvf-fit--fits_rings .cvf-fit-head { background: var(--cvf-good-bg); color: var(--cvf-good); }
.cvf-fit--check .cvf-fit-head,
.cvf-fit--partial .cvf-fit-head,
.cvf-fit--unknown .cvf-fit-head { background: var(--cvf-warn-bg); color: var(--cvf-warn); }
.cvf-fit--no .cvf-fit-head { background: var(--cvf-bad-bg); color: var(--cvf-bad); }
.cvf-fit ul { margin: 6px 0 0 4px; padding: 0 0 0 12px; color: var(--cvf-muted); font-size: 13px; }

/* Compatibility tab */
.cvf-qualifiers { list-style: none; margin: 0 0 12px; padding: 0; }
.cvf-qualifiers li { margin: 0 0 4px; }
.cvf-wheel-specs { margin-bottom: 16px; }
.cvf-table-filter {
	width: 100%;
	max-width: 320px;
	height: 36px;
	margin: 0 0 10px;
	padding: 0 10px;
	border: 1px solid var(--cvf-line);
	border-radius: var(--cvf-radius);
	font: inherit;
}
.cvf-table-wrap { max-height: 480px; overflow: auto; border: 1px solid var(--cvf-line); border-radius: var(--cvf-radius); }
.cvf-vehicles { width: 100%; border-collapse: collapse; margin: 0; font-size: 14px; }
.cvf-vehicles th {
	position: sticky;
	top: 0;
	background: var(--cvf-surface);
	text-align: left;
	font-weight: 600;
	padding: 8px 10px;
	border-bottom: 1px solid var(--cvf-line);
}
.cvf-vehicles td { padding: 7px 10px; border-bottom: 1px solid var(--cvf-line); }
.cvf-vehicles tr:last-child td { border-bottom: 0; }
.cvf-vehicles tr[hidden] { display: none; }
.cvf-disclaimer { margin-top: 10px; color: var(--cvf-muted); font-size: 12px; }

@media (max-width: 640px) {
	.cvf-title { width: 100%; }
	.cvf-form select { flex: 1 1 calc(50% - 8px); max-width: none; }
	.cvf-submit { flex: 1 1 100%; }
}
