.awvc {
	--awvc-accent: #d7193f;
	--awvc-card-text: #fff;
	--awvc-gap: 22px;
	--awvc-card-width: calc((100% - (var(--awvc-gap) * 3)) / 4);
	--awvc-radius: 13px;
	--awvc-button-bg: #fff;
	--awvc-button-color: var(--awvc-accent);
	--awvc-button-hover-bg: #111;
	--awvc-button-hover-color: #fff;
	position: relative;
	z-index: 5;
	padding-bottom: 12px;
	color: var(--awvc-card-text);
	font-family: inherit;
}
.awvc * { box-sizing: border-box; }
.awvc__viewport {
	overflow-x: auto;
	overflow-y: visible;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
	padding: 0 0 12px;
	cursor: grab;
	user-select: none;
}
.awvc__viewport.is-dragging { cursor: grabbing; scroll-snap-type: none; }
.awvc__viewport.is-dragging a { pointer-events: none; }
.awvc__viewport::-webkit-scrollbar { display: none; }
.awvc__track {
	display: flex;
	gap: var(--awvc-gap);
	align-items: stretch;
}
.awvc-card {
	position: relative;
	min-width: min(100%, var(--awvc-card-width));
	flex: 0 0 min(100%, var(--awvc-card-width));
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: var(--awvc-radius);
	background: #fff;
	color: var(--awvc-card-text);
	box-shadow: none;
	scroll-snap-align: start;
	cursor: pointer;
}
.awvc-card::after {
	content: "";
	position: absolute;
	z-index: 3;
	top: -45%;
	left: -85%;
	width: 42%;
	height: 190%;
	transform: translateX(0) rotate(18deg);
	background: linear-gradient(90deg, transparent, rgba(255,255,255,.24), transparent);
	opacity: 0;
	pointer-events: none;
}
.awvc-card:hover::after { animation: awvc-card-sheen .8s ease-out; }
.awvc-card__stretched-link { position: absolute; z-index: 4; inset: 0; border-radius: inherit; }
.awvc-card__stretched-link:focus-visible { outline: 3px solid var(--awvc-accent); outline-offset: -3px; }
.awvc-card__media { position: relative; z-index: 5; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: #e5e7eb; }
.awvc-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.awvc-card:hover .awvc-card__media img { transform: scale(1.025); }
.awvc-card__placeholder { width: 100%; height: 100%; display: block; background: #e5e7eb url("https://www.aitken-walkercars.co.uk/wp-content/uploads/2026/02/coming-soon-1.png") center / cover no-repeat; }
.awvc-card__placeholder svg { display: none; }
.awvc-card__status {
	position: absolute;
	top: 12px;
	left: 12px;
	padding: 7px 11px;
	border-radius: 999px;
	background: #111;
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .05em;
}
.awvc-card__body {
	min-height: 270px;
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	padding: 18px 18px 0;
	background: var(--awvc-accent);
}
.awvc-card__title {
	margin: 0;
	color: var(--awvc-card-text);
	font-size: 20px;
	line-height: 1.25;
}
.awvc-card__title a,
.awvc-card__title a:visited,
.awvc-card__title a:hover,
.awvc-card__title a:focus {
	position: relative;
	z-index: 5;
	color: var(--awvc-card-text) !important;
	text-decoration: none;
}
.awvc-card__finance { margin: 9px 0 0; color: rgba(255,255,255,.85); font-size: 14px; line-height: 1.35; }
.awvc-card__specs {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	margin: 20px 0;
	padding: 0;
	list-style: none;
	color: rgba(255,255,255,.92);
	font-size: 15px;
}
.awvc-card__specs li:not(:last-child)::after { content: "|"; margin: 0 7px; opacity: .6; }
.awvc-card__footer {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 18px;
	margin: auto -18px -3px;
	padding-bottom: 3px;
}
.awvc-card__price { margin: 0 18px; color: var(--awvc-card-text); font-size: 34px; font-weight: 400; line-height: 1; }
.awvc-card__button {
	position: relative;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 58px;
	margin: 0;
	border-radius: 0 0 var(--awvc-radius) var(--awvc-radius);
	background: var(--awvc-button-bg);
	color: var(--awvc-button-color);
	font-size: 14px;
	font-weight: 800;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color .18s ease, color .18s ease;
}
.awvc-card__button::before { content: ""; position: absolute; z-index: -1; inset: 0 -2px -4px; background: var(--awvc-button-bg); border-radius: inherit; transition: background-color .18s ease; }
.awvc .awvc-card:hover .awvc-card__button,
.awvc .awvc-card__button:hover,
.awvc .awvc-card__button:focus-visible {
	background: var(--awvc-button-hover-bg);
	color: var(--awvc-button-hover-color) !important;
}
.awvc .awvc-card:hover .awvc-card__button::before,
.awvc .awvc-card__button:hover::before,
.awvc .awvc-card__button:focus-visible::before { background: var(--awvc-button-hover-bg); }
@keyframes awvc-card-sheen {
	0% { transform: translateX(0) rotate(18deg); opacity: 0; }
	15% { opacity: 1; }
	100% { transform: translateX(470%) rotate(18deg); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
	.awvc-card:hover::after { animation: none; }
}
.awvc__arrows {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	margin-top: 0;
}
.awvc__arrow {
	width: 44px;
	height: 44px;
	display: grid;
	place-items: center;
	border: 1px solid rgba(16,24,40,.1);
	border-radius: 999px;
	background: #fff;
	color: var(--awvc-accent);
	font-size: 30px;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 6px 16px rgba(16,24,40,.12);
	transition: background-color .18s ease, color .18s ease, opacity .18s ease;
}
.awvc__arrow:disabled { opacity: .4; cursor: not-allowed; }
.awvc__dots {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 9px;
	margin-top: 14px;
}
.awvc__dot {
	width: 9px;
	height: 9px;
	border: 0;
	border-radius: 999px;
	background: #d0d5dd;
	padding: 0;
	cursor: pointer;
	transition: background-color .18s ease, transform .18s ease, opacity .18s ease;
}
.awvc__dot[aria-current="true"] {
	background: var(--awvc-accent);
	transform: scale(1.25);
}

@media (max-width: 900px) {
	.awvc { --awvc-card-width: calc((100% - var(--awvc-gap)) / 2); }
}

@media (max-width: 640px) {
	.awvc { --awvc-card-width: 100%; }
	.awvc-card__title { font-size: 20px; }
	.awvc-card__price { font-size: 27px; }
}
