/* VM Sport — Tuotegrid. Sektiopohja toistettu (itsenäinen lohko);
   tuotekortti tulee vm-catalog.css:stä (enqueue index.php:ssä). */
/* Bleed-right: head konttileveydessä, karuselli jatkuu oikeaan reunaan */
.vm-fp-section.vm-fp-tuotegrid {
	max-width: none;
	margin: 0;
	padding: 56px 0;
	overflow-x: clip;
}
.vm-fp-tuotegrid .vm-fp-section-head {
	max-width: var(--vm-container, 1280px);
	margin-left: auto;
	margin-right: auto;
	padding: 0 24px;
}
.vm-fp-tuotegrid .vm-fp-section-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 28px;
}
.vm-fp-tuotegrid .vm-fp-eyebrow {
	display: block;
	font-family: var(--vm-font-body, "Work Sans", sans-serif);
	font-weight: 600;
	font-size: var(--vm-fs-12, 0.75rem);
	letter-spacing: var(--vm-tracking-eyebrow, 0.12em);
	text-transform: uppercase;
	color: var(--vm-brand, #2D5C87);
	margin-bottom: 6px;
}
.vm-fp-tuotegrid .vm-fp-section-head h2 {
	margin: 0;
	font-family: "parabolica", "Big Shoulders Display", "Saira Condensed", Impact, sans-serif;
	font-weight: 900;
	font-style: italic;
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	line-height: 1.05;
	text-transform: uppercase;
	letter-spacing: var(--vm-tracking-tight, -0.01em);
	color: var(--vm-brand-deep, #0d2b3c);
}
.vm-fp-tuotegrid .vm-fp-section-head > a {
	font-family: var(--vm-font-body, "Work Sans", sans-serif);
	font-weight: 600;
	font-size: var(--vm-fs-14, 0.875rem);
	color: var(--vm-brand, #2D5C87);
	text-decoration: none;
	white-space: nowrap;
}
.vm-fp-tuotegrid .vm-fp-section-head > a:hover { color: var(--vm-brand-deep, #0d2b3c); }

/* Karuselli: scroll-snap-raide + nuolet (ei rivikaaoksia isoilla listoilla) */
.vm-fp-carousel { position: relative; }
.vm-fp-tuotegrid .vm-fp-carousel {
	/* Vasen reuna maskataan konttileveyteen MARGINILLA (padding scrollaisi
	   sisällön mukana viewportin reunaan asti); oikea jatkuu reunaan. */
	margin-left: max(24px, calc(50vw - var(--vm-container, 1280px) / 2 + 24px));
}
.vm-fp-tuotegrid .vm-fp-carousel ul.vm-fp-prod-grid {
	padding-right: 24px;
}
ul.vm-fp-prod-grid {
	/* !important: vm-catalog.css pakottaa ul.products gridiksi */
	display: flex !important;
	gap: 18px;
	list-style: none;
	padding: 4px;
	margin: -4px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}
ul.vm-fp-prod-grid::-webkit-scrollbar { display: none; }
ul.vm-fp-prod-grid > li {
	flex: 0 0 calc((min(100vw, var(--vm-container, 1280px)) - 48px - 3 * 18px) / 4) !important;
	width: auto !important;
	max-width: none !important;
	scroll-snap-align: start;
}
.vm-fp-car-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	border: 1px solid var(--vm-border-subtle, #dedede);
	background: rgba(255, 255, 255, 0.95);
	color: var(--vm-brand-deep, #0d2b3c);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: 0 4px 14px rgba(13, 43, 60, 0.18);
	transition: background 120ms ease-out;
}
.vm-fp-car-arrow:hover { background: #fff; color: var(--vm-brand, #2D5C87); }
.vm-fp-car-arrow[hidden] { display: none; }
.vm-fp-car-prev { left: -14px; }
.vm-fp-car-next { right: -14px; }
.vm-fp-carousel.no-overflow .vm-fp-car-arrow { display: none; }

.vm-fp-tuotegrid .vm-fp-car-prev { left: -14px; }
.vm-fp-tuotegrid .vm-fp-car-next { right: 14px; }

@media (max-width: 991.98px) {
	.vm-fp-section.vm-fp-tuotegrid { padding: 36px 0; }
	.vm-fp-tuotegrid .vm-fp-section-head { padding: 0 16px; }
	.vm-fp-tuotegrid .vm-fp-carousel { margin-left: 16px; }
	.vm-fp-tuotegrid .vm-fp-carousel ul.vm-fp-prod-grid {
		padding-right: 16px;
		gap: 12px;
	}
	ul.vm-fp-prod-grid > li { flex: 0 0 44vw !important; }
	.vm-fp-car-arrow { width: 36px; height: 36px; }
	.vm-fp-tuotegrid .vm-fp-car-prev { left: -8px; }
	.vm-fp-tuotegrid .vm-fp-car-next { right: 8px; }
}
