::-webkit-scrollbar {
	width: 7px;
}

::-webkit-scrollbar-track {
	background: none;
}

::-webkit-scrollbar-thumb {
	background: rgba(0,0,0,.3); 
	border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
	background: rgba(0,0,0,.5); 
}

.slick-track{
	display: flex !important;
}

.slick-slide{
	height: inherit !important;
}
/* Product descriptions come from the ERP as arbitrary supplier HTML (floated columns, fixed widths). Contain it. */
.product-description {
	overflow: hidden;
	max-width: 100%;
}
.product-description-text {
	white-space: pre-wrap;
}
.product-description div,
.product-description table,
.product-description p,
.product-description ul {
	float: none !important;
	width: auto !important;
	max-width: 100% !important;
	display: block !important;
	position: static !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	font-family: inherit !important;
	color: inherit !important;
}
.product-description table {
	display: table !important;
	border-collapse: collapse;
	margin-bottom: 1rem;
}
.product-description td,
.product-description th {
	width: auto !important;
	padding: .25rem .5rem !important;
	border-bottom: 1px solid rgba(0,0,0,.08) !important;
	color: inherit !important;
}
.product-description img {
	max-width: 100% !important;
	height: auto !important;
	width: auto !important;
}
.product-description h1, .product-description h2, .product-description h3 {
	font-size: 1.1rem !important;
	margin: .5rem 0 !important;
}
.product-description h3:empty { display: none !important; }

/* Vehicle search hero (home page) */
.vehicle-hero {
	position: relative;
	margin-top: -1.25rem; /* cancels the header's mb-5 (1.25rem in this theme) so the hero sits flush under the nav */
	padding: 3.25rem 0 3rem;
	background-color: #0b1220;
	background-image:
		radial-gradient(900px 420px at 15% -10%, rgba(255,255,255,.14), transparent 60%),
		radial-gradient(700px 380px at 90% 110%, rgba(255,255,255,.10), transparent 60%),
		linear-gradient(135deg, #0b1220 0%, #16213a 55%, #1f2a48 100%);
	overflow: hidden;
}
.vehicle-hero .container { position: relative; z-index: 1; }
.vehicle-hero-accent {
	position: absolute;
	inset: auto 0 0 0;
	height: 6px;
	background: var(--fc-primary, #0aad0a);
	opacity: .9;
	z-index: 1;
}
.vehicle-hero-title {
	font-size: clamp(1.75rem, 3.2vw + .5rem, 2.75rem);
	letter-spacing: -.01em;
	color: #fff !important;
	text-shadow: 0 2px 12px rgba(0,0,0,.25);
}
.vehicle-hero-lead {
	font-size: 1.1rem;
	color: rgba(255,255,255,.78) !important;
}
.vehicle-hero-card {
	max-width: 100%;
	border-radius: 1.25rem;
	background: #fff;
}
.vehicle-hero-label {
	display: block;
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #6c757d;
	margin-bottom: .35rem;
}
.vehicle-hero-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3.25rem;
	height: 3.25rem;
	border-radius: 1rem;
	background: rgba(var(--fc-primary-rgb, 10,173,10), .12);
	color: var(--fc-primary, #0aad0a);
	font-size: 1.4rem;
	flex-shrink: 0;
}
.vehicle-hero-stats {
	color: rgba(255,255,255,.6);
	font-size: .9rem;
}
@media (min-width: 992px) {
	.vehicle-hero { padding: 4rem 0 3.5rem; }
}

/* Select2 inside the vehicle pickers: one fixed height everywhere so nothing shifts when a field is enabled or opened */
.vehicle-picker .select2-container { width: 100% !important; }
.vehicle-picker .select2-container--bootstrap-5 .select2-selection,
.vehicle-hero .vehicle-picker-year {
	height: 44px !important;
	min-height: 44px !important;
	font-size: .9375rem;
	line-height: 1.5;
	padding: .55rem .75rem;
	box-sizing: border-box;
}
.vehicle-picker .select2-container--bootstrap-5 .select2-selection--single .select2-selection__rendered {
	padding: 0;
	line-height: 1.5;
	font-size: .9375rem;
}
.vehicle-picker .select2-container--bootstrap-5 .select2-selection--single .select2-selection__placeholder { color: #6c757d; }
.vehicle-hero .select2-container--bootstrap-5.select2-container--disabled .select2-selection { background-color: #f1f3f5; }
.select2-container--bootstrap-5 .select2-dropdown { font-size: .9375rem; }
.select2-container--bootstrap-5 .select2-dropdown .select2-results__option { padding: .4rem .75rem; }
.select2-container--bootstrap-5 .select2-results__group { font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; color: #6c757d; padding: .5rem .75rem .25rem; }
.select2-container--bootstrap-5 .select2-search--dropdown .select2-search__field { font-size: .9375rem; padding: .4rem .6rem; }
.vehicle-hero-submit { height: 44px; white-space: nowrap; }

/* Home page sections */
.section-kicker {
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--fc-primary, #0aad0a);
	margin-bottom: .35rem;
}
.section-link {
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	color: var(--fc-primary, #0aad0a);
}
.section-link:hover { text-decoration: underline; }
.category-grid .card-product { transition: transform .15s ease, box-shadow .15s ease; }
.category-grid .card-product:hover { transform: translateY(-3px); box-shadow: 0 .75rem 1.5rem rgba(0,0,0,.08); }
.brands-strip { background: #fff; }
.categories-strip { background: #f7f8fa; }
.brand-tile {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 84px;
	padding: 1rem 1.25rem;
	background: #fff;
	border: 1px solid rgba(0,0,0,.06);
	border-radius: .75rem;
	transition: transform .15s ease, box-shadow .15s ease;
}
.brand-tile img {
	max-height: 44px;
	max-width: 100%;
	object-fit: contain;
	filter: grayscale(1) contrast(1.15);
	opacity: .9;
	transition: filter .15s ease, opacity .15s ease;
}
.brand-tile:hover { transform: translateY(-2px); box-shadow: 0 .75rem 1.5rem rgba(0,0,0,.08); }
.brand-tile:hover img { filter: none; opacity: 1; }

/* Product page */
.product-price { font-size: 1.85rem; font-weight: 700; line-height: 1; }
.product-facts { border-top: 1px solid rgba(0,0,0,.08); }
.product-fact { display: flex; gap: 1rem; padding: .55rem 0; border-bottom: 1px solid rgba(0,0,0,.08); font-size: .9375rem; }
.product-fact > span:first-child { flex: 0 0 9rem; color: #6c757d; }
.product-fact > span:last-child { flex: 1; }
.product-viber { border-color: #7360f2; color: #7360f2; }
.product-viber:hover { background: #7360f2; border-color: #7360f2; color: #fff; }
.product-description table { width: 100% !important; }
.product-description td { text-align: left !important; }
.product-description td:first-child { color: #6c757d; width: 40% !important; }
.product-description > *:first-child { margin-top: 0 !important; }
.product-description h1, .product-description h2, .product-description h3 { line-height: 1.2 !important; }
.nav-lb-tab .nav-link .badge { vertical-align: middle; }
.section-link-slider { margin-right: 6.5rem; }

/* Product card */
.product-card {
	position: relative;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid rgba(0,0,0,.08);
	border-radius: .875rem;
	overflow: hidden;
	transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.product-card:hover { transform: translateY(-3px); box-shadow: 0 .9rem 1.75rem rgba(0,0,0,.09); border-color: rgba(0,0,0,.12); }
.product-card-image {
	position: relative;
	display: block;
	background: #f7f8fa;
	padding: .85rem;
	height: 180px;
}
.product-card-image img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.product-card-fits, .product-card-sale {
	position: absolute;
	top: .6rem;
	font-size: .7rem;
	font-weight: 700;
	line-height: 1;
	padding: .35rem .5rem;
	border-radius: 999px;
}
.product-card-fits { left: .6rem; background: #198754; color: #fff; }
.product-card-sale { right: .6rem; background: #dc3545; color: #fff; }
.product-card-body { display: flex; flex-direction: column; flex: 1; padding: .65rem .85rem .75rem; }
.product-card-category {
	font-size: .7rem;
	font-weight: 600;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--fc-primary, #0aad0a);
	margin-bottom: .15rem;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.product-card-title {
	font-size: .9rem;
	font-weight: 600;
	line-height: 1.35;
	margin: 0 0 .25rem;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: calc(.9rem * 1.35 * 2);
}
.product-card-title a { color: inherit; text-decoration: none; }
.product-card-stock { font-size: .78rem; color: #6c757d; margin-bottom: .45rem; }
.product-card-stock .dot { display: inline-block; width: .5rem; height: .5rem; border-radius: 50%; margin-right: .35rem; vertical-align: 1px; }
.dot-success { background: #198754; }
.dot-danger { background: #dc3545; }
.product-card-footer { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.product-card-price .current { display: block; font-size: 1.05rem; font-weight: 700; color: #111; line-height: 1.1; }
.product-card-price .old { display: block; font-size: .78rem; color: #9aa0a6; }
.product-card-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: .75rem;
	background: var(--fc-primary, #0aad0a);
	color: #fff;
	flex-shrink: 0;
	transition: filter .15s ease;
}
.product-card:hover .product-card-button { filter: brightness(1.08); }

/* Shop sidebar */
.shop-sidebar .vehicle-picker { border: 1px solid rgba(0,0,0,.08) !important; background: #fff !important; border-radius: .875rem; }
.filter-card { background: #fff; border: 1px solid rgba(0,0,0,.08); border-radius: .875rem; padding: 1rem 1.1rem; margin-bottom: 1.25rem; }
.filter-card-header { font-weight: 700; font-size: .95rem; margin-bottom: .75rem; display: flex; align-items: center; }
.filter-card-header .fad { color: var(--fc-primary, #0aad0a); }
.category-tree, .category-tree-children { list-style: none; margin: 0; padding: 0; }
.category-tree { max-height: 520px; overflow-y: auto; margin: 0 -.5rem; padding: 0 .5rem; }
.category-tree-row { display: flex; align-items: center; gap: .4rem; padding: .4rem .5rem; border-radius: .5rem; }
.category-tree-row:hover { background: #f5f6f8; }
.category-tree-link { flex: 1; min-width: 0; color: #212529; text-decoration: none; font-size: .9rem; line-height: 1.3; }
.category-tree-link:hover { color: var(--fc-primary, #0aad0a); }
.category-tree-count { font-size: .72rem; color: #9aa0a6; font-variant-numeric: tabular-nums; }
.category-tree-toggle { border: 0; background: none; padding: 0 .1rem; color: #9aa0a6; font-size: .7rem; line-height: 1; transition: transform .15s ease; }
.category-tree-item.is-open > .category-tree-row .category-tree-toggle { transform: rotate(180deg); }
.category-tree-children { display: none; margin: .1rem 0 .4rem .75rem; padding-left: .75rem; border-left: 2px solid #eef0f3; }
.category-tree-item.is-open > .category-tree-children { display: block; }
.category-tree-children li { display: flex; align-items: center; gap: .4rem; padding: .3rem .5rem; border-radius: .5rem; }
.category-tree-children li:hover { background: #f5f6f8; }
.category-tree-children .category-tree-link { font-size: .85rem; color: #495057; }
.category-tree-item.is-active > .category-tree-row .category-tree-link,
.category-tree-children li.is-active .category-tree-link { color: var(--fc-primary, #0aad0a); font-weight: 600; }
.category-tree-item.is-active > .category-tree-row { background: rgba(var(--fc-primary-rgb, 10,173,10), .08); }
.active-filters { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; }
.active-filter { display: inline-flex; align-items: center; padding: .3rem .7rem; border-radius: 999px; background: rgba(var(--fc-primary-rgb, 10,173,10), .1); color: var(--fc-primary, #0aad0a); font-size: .8rem; font-weight: 600; text-decoration: none; }
.active-filter:hover { background: rgba(var(--fc-primary-rgb, 10,173,10), .18); }
.brand-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem; margin-bottom: .85rem; }
.brand-tile-sm { display: flex; align-items: center; justify-content: center; height: 46px; padding: .4rem .5rem; border: 1px solid rgba(0,0,0,.08); border-radius: .6rem; background: #fff; transition: border-color .15s ease, box-shadow .15s ease; }
.brand-tile-sm img { max-height: 26px; max-width: 100%; object-fit: contain; filter: grayscale(1); opacity: .8; }
.brand-tile-sm:hover { border-color: rgba(0,0,0,.2); }
.brand-tile-sm:hover img { filter: none; opacity: 1; }
.brand-tile-sm.is-active { border-color: var(--fc-primary, #0aad0a); box-shadow: 0 0 0 2px rgba(var(--fc-primary-rgb, 10,173,10), .2); }
.brand-tile-sm.is-active img { filter: none; opacity: 1; }
.brand-option { display: flex; align-items: center; gap: .6rem; }
.brand-option img, .brand-option-blank { width: 44px; height: 20px; object-fit: contain; flex-shrink: 0; }
.brand-option-count { margin-left: auto; font-size: .75rem; color: #9aa0a6; }
.footer-badges {
	display: flex;
	align-items: center;
	gap: 1rem;
	align-content: stretch;
	justify-content: space-evenly;
}
.footer-badge-ecommerce { width: 130px; height: auto; filter: drop-shadow(0 .35rem .6rem rgba(0,0,0,.25)); }
.product-card-brand { position: absolute; right: .75rem; bottom: .6rem; }
.product-card-brand img { height: 26px; max-width: 96px; object-fit: contain; display: block; mix-blend-mode: multiply; }
.product-brand { display: flex; align-items: center; gap: .6rem; }
.product-brand-logo img { height: 26px; max-width: 110px; object-fit: contain; display: block; }

/* Footer: same navy as the hero */
.footer.bg-dark { background: linear-gradient(135deg, #0b1220 0%, #16213a 55%, #1f2a48 100%) !important; }

/* Stacked pickers (sidebar, admin): Select2 hides the original select, so its mb-* is lost — space the replacement boxes instead */
.vehicle-picker-form > .select2-container { margin-bottom: .6rem; }
.vehicle-picker-form > .select2-container + button { margin-top: .25rem; }

/* ===== Admin: dark sidebar ===== */
.navbar-vertical-nav .navbar-vertical {
	background: linear-gradient(180deg, #0b1220 0%, #16213a 100%);
	color: rgba(255,255,255,.75);
	border-right: 0;
}
.navbar-vertical-nav { background: #16213a; } /* the fixed panel is viewport-high; this colours the column below it on long pages */
.navbar-vertical-nav.offcanvas { background: #0b1220; }
.navbar-vertical-nav .navbar-vertical > .px-4 { border-bottom: 1px solid rgba(255,255,255,.06); }
.navbar-vertical .navbar-nav .nav-item .nav-link {
	color: rgba(255,255,255,.72);
	font-weight: 500;
	margin: 0 0 2px;
}
.navbar-vertical .navbar-nav .nav-item .nav-link .nav-link-icon { color: rgba(255,255,255,.45); }
.navbar-vertical-nav .navbar-vertical .navbar-nav .nav-item .nav-link:hover { background-color: rgba(255,255,255,.07); color: #fff; }
.navbar-vertical-nav .navbar-vertical .navbar-nav .nav-item .nav-link:hover .nav-link-icon { color: #fff; }
.navbar-vertical-nav .navbar-vertical .navbar-nav .nav-item .nav-link.active {
	background-color: rgba(255,255,255,.1);
	color: #fff;
	font-weight: 600;
}
.navbar-vertical-nav .navbar-vertical .navbar-nav .nav-item .nav-link.active .nav-link-icon { color: #fff; }
.navbar-vertical .navbar-nav hr { border-color: rgba(255,255,255,.1); opacity: 1; margin: .75rem 1rem; }
.navbar-vertical .btn-close { filter: invert(1) grayscale(1); opacity: .7; }
.navbar-vertical-nav .simplebar-scrollbar::before { background: rgba(255,255,255,.3); }

/* ===== Admin: dashboard ===== */
.dashboard .kpi {
	display: flex;
	gap: 1rem;
	align-items: flex-start;
	background: #fff;
	border: 1px solid rgba(0,0,0,.06);
	border-radius: 1rem;
	padding: 1.1rem 1.2rem;
	height: 100%;
	text-decoration: none;
	color: inherit;
	transition: transform .15s ease, box-shadow .15s ease;
}
.dashboard .kpi-link:hover { transform: translateY(-2px); box-shadow: 0 .75rem 1.5rem rgba(0,0,0,.08); color: inherit; }
.dashboard .kpi-icon {
	width: 3rem; height: 3rem; border-radius: .9rem; flex-shrink: 0;
	display: inline-flex; align-items: center; justify-content: center; font-size: 1.35rem;
}
.dashboard .kpi-icon-primary { background: rgba(var(--fc-primary-rgb, 10,173,10), .12); color: var(--fc-primary, #0aad0a); }
.dashboard .kpi-icon-success { background: rgba(25,135,84,.12); color: #198754; }
.dashboard .kpi-icon-info { background: rgba(13,110,253,.10); color: #0d6efd; }
.dashboard .kpi-icon-warning { background: rgba(245,158,11,.14); color: #d97706; }
.dashboard .kpi-body { min-width: 0; }
.dashboard .kpi-label { font-size: .78rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: #8a94a6; }
.dashboard .kpi-value { font-size: 1.6rem; font-weight: 700; line-height: 1.15; color: #0b1220; margin: .2rem 0; white-space: nowrap; }
.dashboard .kpi-delta { font-size: .78rem; display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; }
.dashboard .delta-up { color: #198754; font-weight: 700; }
.dashboard .delta-down { color: #dc3545; font-weight: 700; }
.dashboard .delta-flat { color: #8a94a6; font-weight: 700; }
.dashboard .dash-card { border: 1px solid rgba(0,0,0,.06); border-radius: 1rem; box-shadow: none; }
.dashboard .dash-card-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1.1rem 1.25rem .75rem; }
.dashboard .dash-card-header h5 { font-weight: 700; }
.dashboard .dash-table th { font-size: .72rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: #8a94a6; border-top: 1px solid rgba(0,0,0,.06); padding: .6rem 1.25rem; }
.dashboard .dash-table td { padding: .65rem 1.25rem; }
.dashboard .badge-soft-success { background: rgba(25,135,84,.12); color: #198754; }
.dashboard .badge-soft-warning { background: rgba(245,158,11,.16); color: #b45309; }
.dashboard .dash-list-item { display: flex; align-items: center; gap: .75rem; padding: .6rem 1.25rem; border-top: 1px solid rgba(0,0,0,.05); }
.dashboard .dash-thumb { width: 40px; height: 40px; object-fit: contain; border-radius: .5rem; background: #f5f6f8; flex-shrink: 0; }
.dashboard .min-w-0 { min-width: 0; }
.dashboard .dash-health { padding: 0 1.25rem 1rem; }
.dashboard .dash-health li { display: flex; justify-content: space-between; gap: 1rem; padding: .5rem 0; border-top: 1px solid rgba(0,0,0,.05); font-size: .9rem; }
.dashboard .dash-health li a { color: #212529; text-decoration: none; }
.dashboard .dash-health li a:hover { color: var(--fc-primary, #0aad0a); }
.dashboard .dash-progress { height: 8px; border-radius: 999px; background: #eef0f3; }
.dashboard .dash-progress .progress-bar { border-radius: 999px; background: var(--fc-primary, #0aad0a); }

/* Admin content area: light grey so the cards stand out */
.main-content-wrapper { background: #f4f6f9; min-height: 100vh; }

/* Vehicle imagery (TecDoc make logos + model-series photos) */
.vehicle-hero-makes { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem .6rem; }
.vehicle-hero-make {
	display: inline-flex; align-items: center; gap: .55rem;
	padding: .25rem 1rem .25rem .25rem;
	border: 1px solid rgba(255,255,255,.14); border-radius: 999px;
	background: rgba(255,255,255,.08); color: rgba(255,255,255,.9);
	font-size: .85rem; font-weight: 600; letter-spacing: .01em; cursor: pointer;
	transition: background .15s ease, transform .15s ease, border-color .15s ease;
}
.vehicle-hero-make-logo {
	width: 40px; height: 40px; border-radius: 50%; background: #fff;
	display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; padding: 4px; overflow: hidden;
}
.vehicle-hero-make-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.vehicle-hero-make:hover { background: rgba(255,255,255,.16); transform: translateY(-1px); border-color: rgba(255,255,255,.3); color: #fff; }
.vehicle-hero-make.is-active { background: #fff; color: #0b1220; border-color: #fff; }
.vehicle-hero-make.is-active .vehicle-hero-make-logo { background: #f1f3f5; }
.vehicle-hero-photo { width: 190px; max-width: 40vw; height: auto; border-radius: .6rem; flex-shrink: 0; }
.vehicle-picker-photo { width: 100%; height: auto; border-radius: .5rem; }
.vehicle-products-photo { width: 220px; height: auto; border-radius: .75rem; flex-shrink: 0; }
@media (max-width: 767.98px) {
	.vehicle-products-header { gap: .9rem !important; }
	.vehicle-products-photo { width: 104px; border-radius: .5rem; }
	.vehicle-products-header h2 { font-size: 1.25rem; }
}
.vehicle-mobile-bar { display: flex; align-items: center; gap: .9rem; padding: .75rem .9rem; border: 1px solid rgba(0,0,0,.08); border-radius: .875rem; background: #fff; }
.vehicle-mobile-photo { width: 96px; height: auto; border-radius: .5rem; flex-shrink: 0; }
.footer-logo-alt { display: inline-block; line-height: 0; }
.footer-logo-alt img { height: 64px; width: auto; }
.vehicle-make-logo-sm { height: 18px; width: auto; }
.make-option { display: flex; align-items: center; gap: .6rem; }
.make-option img, .make-option-blank { width: 34px; height: 22px; object-fit: contain; flex-shrink: 0; }
