/* ============================================
   V2 THEME - Alfa Horeca Equipment
   Modern Design inspired by HorecaGemak.nl
   ============================================ */

/* ---- CSS Variables ---- */
:root {
	--v2-navy: #1a3760;
	--v2-navy-dark: #142c4d;
	--v2-navy-light: #234b7a;
	--v2-orange: #e8841a;
	--v2-orange-hover: #d0750f;
	--v2-orange-light: #f5a623;
	--v2-bg-hero: #eaf0f6;
	--v2-bg-gray: #f5f6f8;
	--v2-bg-white: #ffffff;
	--v2-text-dark: #222222;
	--v2-text-medium: #555555;
	--v2-text-light: #888888;
	--v2-border: #e2e6ea;
	--v2-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	--v2-shadow-hover: 0 4px 16px rgba(0, 0, 0, 0.12);
	--v2-radius: 6px;
	--v2-radius-lg: 10px;
	--v2-transition: all 0.25s ease;
	--v2-container-width: 1350px;
}

/* ---- Global Reset for V2 ---- */
body.v2-theme {
	background: #fff;
	font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif;
	color: var(--v2-text-dark);
	margin: 0;
	padding: 0;
}

/* Hide old default header/nav if any leaks */
body.v2-theme .header-container,
body.v2-theme > header:not(.v2-header),
body.v2-theme > nav:not(.v2-nav) {
	display: none !important;
}

/* ============================================
   V2 TOP BAR — Premium contact strip
   ============================================ */
.v2-topbar {
	background: linear-gradient(135deg, #0f1f38 0%, #1a3760 50%, #1e4070 100%);
	padding: 0;
	position: relative;
	z-index: 1001;
	overflow: hidden;
}

.v2-topbar::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 2px;
	background: linear-gradient(90deg, var(--v2-orange), #f5c542, var(--v2-orange));
}

.v2-topbar-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 38px;
}

.v2-topbar-left,
.v2-topbar-right {
	display: flex;
	align-items: center;
	gap: 4px;
}

.v2-tb-item {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 8px 13px;
	font-size: 13.5px;
	font-weight: 600;
	color: rgba(255,255,255,.9);
	text-decoration: none;
	transition: color .15s, background .15s;
	white-space: nowrap;
	border-radius: 4px;
}

a.v2-tb-item:hover {
	color: #fff;
	background: rgba(255,255,255,.1);
	text-decoration: none;
}

.v2-tb-item i {
	font-size: 14px;
	flex-shrink: 0;
}

/* Phone — slightly highlighted */
.v2-tb-phone {
	font-weight: 700;
	color: #fff;
}

.v2-tb-phone i {
	color: var(--v2-orange);
}

/* Email */
.v2-tb-mail i {
	color: #5bc0de;
}

/* Hours */
.v2-tb-hours {
	color: rgba(255,255,255,.6);
}

.v2-tb-hours i {
	color: rgba(255,255,255,.45);
}

/* WhatsApp */
.v2-tb-wa {
	color: #25D366;
	font-weight: 600;
}

.v2-tb-wa:hover {
	color: #fff !important;
	background: #25D366 !important;
}

/* Trust */
.v2-tb-trust {
	gap: 5px;
}

.v2-tb-stars {
	color: #f5a623;
	font-size: 11px;
	letter-spacing: -1px;
}

.v2-tb-trust strong {
	color: #fff;
	font-size: 12.5px;
}

/* Shipping */
.v2-tb-ship i {
	color: #81c784;
}

/* Separator */
.v2-tb-sep {
	width: 1px;
	height: 16px;
	background: rgba(255,255,255,.15);
	margin: 0 2px;
}

/* ── Top bar responsive ── */
@media (max-width: 1100px) {
	.v2-tb-item span {
		display: none;
	}
	.v2-tb-item {
		padding: 8px 10px;
		gap: 0;
	}
	.v2-tb-item i {
		font-size: 15px;
	}
	/* Show text for phone and trust only */
	.v2-tb-phone span,
	.v2-tb-trust strong {
		display: inline;
	}
	.v2-tb-trust span,
	.v2-tb-stars {
		display: none;
	}
}

@media (max-width: 767px) {
	.v2-topbar-inner {
		justify-content: center;
		min-height: 34px;
	}
	.v2-topbar-left {
		display: flex;
	}
	.v2-topbar-right {
		display: none;
	}
	.v2-tb-item {
		padding: 6px 8px;
		font-size: 12px;
	}
	.v2-tb-phone span {
		display: inline;
		font-size: 12px;
	}
	.v2-tb-mail span,
	.v2-tb-hours span {
		display: none;
	}
	.v2-tb-hours {
		display: none;
	}
}

@media (max-width: 480px) {
	.v2-tb-phone span {
		display: none;
	}
}

/* ============================================
   V2 HEADER
   ============================================ */
.v2-header {
	background: var(--v2-bg-white);
	border-bottom: 1px solid var(--v2-border);
	padding: 10px 0;
	position: relative;
	z-index: 1000;
}

.v2-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

/* Logo */
.v2-logo {
	flex: 0 0 280px;
}

.v2-logo a {
	display: block;
}

.v2-logo img {
	width: 280px;
	height: auto;
	display: block;
}

/* Search */
.v2-search {
	flex: 1 1 auto;
	max-width: 480px;
}

.v2-search-form {
	display: flex;
	align-items: center;
	border: 2px solid var(--v2-border);
	border-radius: var(--v2-radius);
	overflow: hidden;
	transition: var(--v2-transition);
	background: #fff;
}

.v2-search-form:focus-within {
	border-color: var(--v2-navy);
	box-shadow: 0 0 0 3px rgba(26, 55, 96, 0.1);
}

.v2-search-form input[type="text"] {
	flex: 1;
	border: none;
	outline: none;
	padding: 10px 16px;
	font-size: 14px;
	color: var(--v2-text-dark);
	background: transparent;
	box-shadow: none;
}

.v2-search-form input[type="text"]::placeholder {
	color: var(--v2-text-light);
}

.v2-search-form button {
	background: none;
	border: none;
	padding: 10px 16px;
	cursor: pointer;
	color: var(--v2-text-medium);
	font-size: 16px;
	transition: var(--v2-transition);
}

.v2-search-form button:hover {
	color: var(--v2-orange);
}

/* Header Actions */
.v2-header-actions {
	display: flex;
	align-items: center;
	gap: 18px;
	flex: 0 0 auto;
}

/* (Trust badge & phone moved to top bar) */

.v2-login {
	display: flex;
	align-items: center;
	gap: 6px;
	color: var(--v2-text-dark);
	text-decoration: none;
	font-size: 14px;
	font-weight: 500;
	transition: var(--v2-transition);
	white-space: nowrap;
}

.v2-login:hover {
	color: var(--v2-orange);
	text-decoration: none;
}

.v2-login i {
	font-size: 15px;
}

/* Logged-in state */
.v2-login-active {
	color: #27ae60;
	font-weight: 600;
}
.v2-login-active i {
	font-size: 17px;
	color: #27ae60;
}
.v2-login-active:hover {
	color: #1e8449;
}

/* Cart Button */
.v2-cart-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--v2-orange);
	color: #fff;
	padding: 10px 20px;
	border-radius: var(--v2-radius);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.3px;
	transition: var(--v2-transition);
	white-space: nowrap;
}

.v2-cart-btn:hover {
	background: var(--v2-orange-hover);
	color: #fff;
	text-decoration: none;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(232, 132, 26, 0.35);
}

.v2-cart-btn i {
	font-size: 16px;
}

.v2-cart-count {
	background: var(--v2-navy);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	min-width: 20px;
	height: 20px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

/* Mobile Toggle - visible on <=991px via media query */
.v2-mobile-toggle {
	display: none;
	order: -1;
}

.v2-mobile-toggle .mm-toggle {
	font-size: 26px;
	cursor: pointer;
	color: var(--v2-navy);
	padding: 8px;
	line-height: 1;
	display: block !important;
}

.v2-mobile-toggle .mm-toggle i {
	color: var(--v2-navy) !important;
	font-size: 26px;
}

/* ============================================
   V2 NAVIGATION
   ============================================ */
.v2-nav {
	background: var(--v2-navy);
	position: relative;
	z-index: 999;
}

.v2-nav .container {
	position: relative;
}

.v2-nav-categories {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: stretch;
	flex-wrap: nowrap;
}

.v2-nav-categories > li {
	position: static;
}

.v2-nav-categories > li > a {
	display: block;
	padding: 14px 18px;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	text-transform: none;
	letter-spacing: 0.3px;
	transition: var(--v2-transition);
	white-space: nowrap;
	border-bottom: 3px solid transparent;
}

.v2-nav-categories > li > a:hover,
.v2-nav-categories > li:hover > a {
	background: var(--v2-navy-light);
	border-bottom-color: var(--v2-orange);
	color: #fff;
	text-decoration: none;
}

.v2-nav-categories > li > a .cat-icon,
.v2-nav-categories > li > a img.cat-img,
.v2-nav-categories > li > a i.horiz-icon {
	display: none;
}

/* ============================================
   MEGA-MENU DROPDOWN
   Full-width dropdown with subcategories in columns
   ============================================ */

/* Nav: relative positioning context for mega-menu dropdown */
.v2-nav {
	position: relative;
}

.v2-nav .container {
	position: static;
}

.v2-nav-categories {
	position: static;
}

/* The dropdown wrapper - positioned relative to .v2-nav (full width) */
.v2-nav-categories > li > .wrap-popup {
	display: none !important;
	position: absolute !important;
	top: 100% !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	max-width: none !important;
	transform: none !important;
	background: #fff !important;
	z-index: 99999 !important;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15) !important;
	border-radius: 0 !important;
	border: none !important;
	border-top: 3px solid var(--v2-orange) !important;
	padding: 0 !important;
	transition: none !important;
	animation: v2-megaFadeIn 0.2s ease;
}

@keyframes v2-megaFadeIn {
	from { opacity: 0; transform: translateY(-4px); }
	to { opacity: 1; transform: translateY(0); }
}

/* Show on hover - THIS is the key rule */
.v2-nav-categories > li:hover > .wrap-popup {
	display: block !important;
}

/* The inner .popup - override style.css .popup (display:none, border:1px solid #000) */
.v2-nav-categories > li > .wrap-popup .popup {
	display: block !important;
	max-width: var(--v2-container-width);
	margin: 0 auto;
	padding: 24px 32px 26px !important;
	background: #fff !important;
	border: none !important;
	box-shadow: none !important;
	position: static !important;
	max-height: calc(100vh - 220px);
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

/* Subtle, modern scrollbar inside popup */
.v2-nav-categories > li > .wrap-popup .popup::-webkit-scrollbar {
	width: 8px;
}
.v2-nav-categories > li > .wrap-popup .popup::-webkit-scrollbar-track {
	background: var(--v2-bg-gray);
}
.v2-nav-categories > li > .wrap-popup .popup::-webkit-scrollbar-thumb {
	background: #c4cad3;
	border-radius: 4px;
}
.v2-nav-categories > li > .wrap-popup .popup::-webkit-scrollbar-thumb:hover {
	background: #9aa1ae;
}

/* Row: CSS multi-column layout balances variable-height items
   automatically — no more stair-stepping when one column has
   sub-sub-categories and the next one doesn't. */
.v2-nav-categories > li > .wrap-popup .popup .row {
	display: block;
	margin: 0;
	column-count: 5;
	column-gap: 28px;
	column-fill: balance;
	column-rule: 1px solid transparent;
}

/* Each parent-category block — kept together when columns balance */
.v2-nav-categories > li > .wrap-popup .popup .col-md-4,
.v2-nav-categories > li > .wrap-popup .popup .col-sm-6 {
	display: inline-block; /* helps Chrome respect break-inside */
	width: 100%;
	padding: 0;
	margin: 0 0 22px 0;
	break-inside: avoid;
	-webkit-column-break-inside: avoid;
	page-break-inside: avoid;
	min-width: 0;
}

.v2-nav-categories > li > .wrap-popup .popup .col-md-4:last-child,
.v2-nav-categories > li > .wrap-popup .popup .col-sm-6:last-child {
	margin-bottom: 0;
}

/* Parent category heading — clean, with an accent underline that
   slides full-width on hover */
.v2-nav-categories > li > .wrap-popup h3 {
	font-size: 14px;
	font-weight: 700;
	color: var(--v2-navy);
	margin: 0 0 10px 0;
	padding: 0 0 8px 0;
	border: none;
	border-bottom: 1px solid var(--v2-border);
	line-height: 1.3;
	text-transform: none;
	letter-spacing: 0.1px;
	position: relative;
}

.v2-nav-categories > li > .wrap-popup h3::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 28px;
	height: 2px;
	background: var(--v2-orange);
	transition: width 0.3s ease;
}

.v2-nav-categories > li > .wrap-popup .col-md-4:hover h3::after,
.v2-nav-categories > li > .wrap-popup .col-sm-6:hover h3::after {
	width: 100%;
}

.v2-nav-categories > li > .wrap-popup h3 a {
	color: var(--v2-navy);
	text-decoration: none;
	transition: color 0.2s ease;
	display: inline-block;
	padding: 0;
	font-size: 14px;
	font-weight: 700;
	text-transform: none;
}

.v2-nav-categories > li > .wrap-popup h3 a:hover {
	color: var(--v2-orange);
}

/* Deep (3rd-level) category list — visibly distinct hierarchy */
.v2-nav-categories > li > .wrap-popup ul.nav {
	list-style: none;
	margin: 0;
	padding: 0;
}

.v2-nav-categories > li > .wrap-popup ul.nav li {
	margin: 0;
	padding: 0;
}

.v2-nav-categories > li > .wrap-popup ul.nav li a {
	display: block;
	padding: 5px 0 5px 12px;
	font-size: 13px;
	color: var(--v2-text-medium);
	text-decoration: none;
	transition: color 0.2s ease, padding-left 0.2s ease, background 0.2s ease;
	line-height: 1.45;
	font-weight: 500;
	text-transform: none;
	position: relative;
	border-radius: 3px;
}

.v2-nav-categories > li > .wrap-popup ul.nav li a::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	width: 5px;
	height: 5px;
	margin-top: -2px;
	border-radius: 50%;
	background: var(--v2-border);
	transition: background 0.2s ease, transform 0.2s ease;
}

.v2-nav-categories > li > .wrap-popup ul.nav li a:hover {
	color: var(--v2-orange);
	padding-left: 16px;
	background: var(--v2-bg-gray);
}

.v2-nav-categories > li > .wrap-popup ul.nav li a:hover::before {
	background: var(--v2-orange);
	transform: scale(1.4);
}

/* Responsive column counts for the mega-menu popup */
@media (max-width: 1399px) {
	.v2-nav-categories > li > .wrap-popup .popup .row {
		column-count: 4;
		column-gap: 24px;
	}
}

@media (max-width: 1199px) {
	.v2-nav-categories > li > .wrap-popup .popup {
		padding: 20px 24px 22px !important;
	}
	.v2-nav-categories > li > .wrap-popup .popup .row {
		column-count: 4;
		column-gap: 20px;
	}
}

@media (max-width: 991px) {
	.v2-nav-categories > li > .wrap-popup .popup .row {
		column-count: 3;
		column-gap: 18px;
	}
}

/* Categories without subcategories (no .wrap-popup) - no dropdown needed */

/* Sub-level UL fallback (if generated instead of .wrap-popup) */
.v2-nav-categories > li > ul {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	background: #fff;
	min-width: 250px;
	z-index: 9999;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
	border-radius: 0 0 var(--v2-radius) var(--v2-radius);
	border-top: 3px solid var(--v2-orange);
	list-style: none;
	margin: 0;
	padding: 10px 0;
}

.v2-nav-categories > li:hover > ul {
	display: block;
}

.v2-nav-categories > li > ul > li > a {
	display: block;
	padding: 6px 20px;
	font-size: 13px;
	color: var(--v2-text-dark);
	text-decoration: none;
	transition: var(--v2-transition);
}

.v2-nav-categories > li > ul > li > a:hover {
	background: var(--v2-bg-gray);
	color: var(--v2-orange);
}

/* ============================================
   V2 USP BAR
   ============================================ */
.v2-usp {
	background: var(--v2-bg-gray);
	border-bottom: 1px solid var(--v2-border);
	padding: 10px 0;
	overflow: hidden;
}

/* Track wrapper for overflow */
.v2-usp-track {
	overflow: hidden;
	width: 100%;
}

/* Desktop: same width as all other sections */
.v2-usp-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: var(--v2-container-width);
	margin: 0 auto;
	padding: 0 15px;
}

/* Hide duplicates on desktop */
.v2-usp-item.v2-usp-dup {
	display: none !important;
}

.v2-usp-item {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14.5px;
	color: var(--v2-text-dark);
	font-weight: 600;
	white-space: nowrap;
}

.v2-usp-item i {
	color: var(--v2-orange);
	font-size: 16px;
	width: 18px;
	text-align: center;
	flex-shrink: 0;
}

/* Marquee animation for small screens */
@keyframes v2-uspScroll {
	0% { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}

/* ============================================
   V2 HERO SECTION (Slider + Side Boxes)
   ============================================ */
.v2-hero {
	background: var(--v2-bg-hero);
	padding: 25px 0 30px;
}

.v2-hero-inner {
	display: flex;
	gap: 20px;
	align-items: stretch;
}

/* Slider - 1168x450 aspect ratio (2.596:1) */
.v2-hero-slider {
	flex: 1 1 auto;
	min-width: 0;
	border-radius: var(--v2-radius-lg);
	overflow: hidden;
	box-shadow: var(--v2-shadow);
	background: #fff;
	position: relative;
}

.v2-hero-slider #jtv-slideshow {
	margin: 0;
	padding: 0;
}

.v2-hero-slider .rev_slider_wrapper {
	border-radius: var(--v2-radius-lg);
	overflow: hidden;
}

.v2-hero-slider .fullwidthbanner-container {
	overflow: hidden;
}

.v2-hero-slider .rev_slider {
	border-radius: var(--v2-radius-lg);
}

/* Side Boxes */
.v2-hero-sidebar {
	flex: 0 0 340px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

/* Each side box: blue left + image right */
.v2-side-box {
	border-radius: 12px;
	overflow: hidden;
	display: flex;
	align-items: stretch;
	flex: 1;
	transition: var(--v2-transition);
	text-decoration: none;
	color: #fff;
	position: relative;
	background: linear-gradient(to right, #0d3b7a 0%, #1565c0 100%);
}

a.v2-side-box:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(13, 59, 122, 0.3);
	text-decoration: none;
	color: #fff;
}

/* Left: text area */
.v2-side-box-text {
	flex: 1;
	padding: 12px 14px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
	z-index: 2;
	min-width: 0;
}

.v2-side-box-text h4 {
	font-size: 15px;
	font-weight: 900;
	color: #fff;
	margin: 0 0 3px 0;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.v2-side-box-text p {
	font-size: 11.5px;
	color: rgba(255, 255, 255, 0.9);
	margin: 0;
	line-height: 1.45;
}

.v2-side-box-text p strong {
	color: #fff;
	font-weight: 800;
}

/* Right: image with CSS mask — fades into blue on left, fully visible on right */
.v2-side-box-img {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 65%;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,0.3) 25%, rgba(0,0,0,0.7) 50%, black 75%);
	mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,0.3) 25%, rgba(0,0,0,0.7) 50%, black 75%);
}

.v2-side-box-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* ============================================
   V2 CTA BANNER - Blueprint style
   ============================================ */
.v2-cta {
	padding: 0;
	margin: 30px 0 0 0;
	position: relative;
	overflow: hidden;
}

.v2-cta-inner {
	display: flex;
	align-items: center;
	position: relative;
	z-index: 1;
	max-width: var(--v2-container-width);
	margin: 0 auto;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	border-radius: var(--v2-radius-lg);
	overflow: hidden;
	height: 250px;
}

/* Left text block */
.v2-cta-text {
	flex: 0 0 55%;
	padding: 35px 40px;
	position: relative;
	z-index: 2;
}

/* Badge */
.v2-cta-badge {
	display: inline-block;
	background: var(--v2-orange);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	font-style: italic;
	padding: 5px 16px;
	border-radius: 4px;
	margin-bottom: 12px;
}

/* Headings */
.v2-cta-text h3 {
	color: var(--v2-navy);
	font-size: 30px;
	font-weight: 900;
	margin: 0 0 0 0;
	text-transform: uppercase;
	letter-spacing: 0.3px;
	line-height: 1.15;
}

.v2-cta-text h4 {
	color: var(--v2-orange);
	font-size: 28px;
	font-weight: 900;
	margin: 0 0 12px 0;
	text-transform: uppercase;
	letter-spacing: 0.3px;
	line-height: 1.15;
}

.v2-cta-text p {
	color: var(--v2-text-dark);
	font-size: 15px;
	margin: 0;
	font-weight: 400;
	line-height: 1.5;
}

.v2-cta-highlight {
	color: var(--v2-orange) !important;
	font-weight: 600 !important;
	font-style: italic;
}

/* Bullet list */
.v2-cta-list {
	list-style: none;
	padding: 0;
	margin: 10px 0 18px 0;
}

.v2-cta-list li {
	font-size: 15px;
	color: var(--v2-text-dark);
	font-weight: 600;
	padding: 3px 0;
}

.v2-cta-list li i {
	color: #3a7bd5;
	margin-right: 8px;
	font-size: 14px;
}

/* Button */
.v2-cta-btn {
	display: inline-block;
	background: var(--v2-navy);
	color: #fff;
	padding: 14px 32px;
	border-radius: 8px;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	text-transform: none;
	transition: var(--v2-transition);
	white-space: nowrap;
	letter-spacing: 0.2px;
}

.v2-cta-btn:hover {
	background: var(--v2-navy-dark);
	color: #fff;
	text-decoration: none;
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(20, 44, 77, 0.35);
}

.v2-cta-btn i {
	margin-left: 6px;
	font-size: 12px;
}


/* ============================================
   V2 FULL-WIDTH BANNER
   ============================================ */
.v2-banner-full {
	padding: 30px 0 0;
}

/* ============================================
   V2 TOP PRODUCTEN (same card design as recommended)
   ============================================ */
.v2-top-producten {
	padding: 30px 0 30px;
}

/* ============================================
   V2 HOOFDCATEGORIEEN GRID
   ============================================ */
.v2-hoofdcat {
	padding: 35px 0 10px;
}

.v2-hc-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 14px;
}

.v2-hc-card {
	display: flex;
	align-items: stretch;
	background: var(--v2-bg-gray);
	border-radius: var(--v2-radius-lg);
	overflow: hidden;
	text-decoration: none;
	color: var(--v2-text-dark);
	transition: var(--v2-transition);
	position: relative;
	min-height: 130px;
}

.v2-hc-card:hover {
	box-shadow: var(--v2-shadow-hover);
	transform: translateY(-3px);
	text-decoration: none;
	color: var(--v2-text-dark);
}

.v2-hc-text {
	flex: 1;
	padding: 18px 16px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	z-index: 2;
	min-width: 0;
}

.v2-hc-name {
	font-size: 15px;
	font-weight: 700;
	color: var(--v2-text-dark);
	line-height: 1.3;
	display: block;
	margin-bottom: auto;
}

.v2-hc-count {
	font-size: 22px;
	font-weight: 800;
	color: #0ea5e9;
	line-height: 1;
	display: block;
	margin-top: 10px;
}

.v2-hc-label {
	font-size: 13px;
	font-weight: 500;
	color: var(--v2-text-medium);
	line-height: 1;
	display: block;
	margin-top: 2px;
}

.v2-hc-img {
	flex: 0 0 38%;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	position: relative;
}

.v2-hc-img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 8px;
	transform: translateZ(0);
	backface-visibility: hidden;
}

.v2-banner-full-img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: var(--v2-radius-lg);
}

/* ============================================
   V2 "AANBEVOLEN VOOR JOU" CAROUSEL
   ============================================ */
.v2-recommended {
	padding: 40px 0 30px;
}

.v2-rec-title {
	font-size: 24px;
	font-weight: 400;
	font-style: italic;
	color: var(--v2-text-dark);
	margin: 0 0 20px 0;
	padding: 0;
}

.v2-rec-wrapper {
	position: relative;
	display: flex;
	align-items: center;
}

.v2-rec-track {
	display: flex;
	gap: 16px;
	overflow-x: auto;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	-ms-overflow-style: none;
	padding: 4px 2px 8px;
	flex: 1;
}

.v2-rec-track::-webkit-scrollbar {
	display: none;
}

.v2-rec-card {
	flex: 0 0 calc((100% - 80px) / 6);
	min-width: 170px;
	background: #fff;
	border: 1px solid var(--v2-border);
	border-radius: var(--v2-radius);
	overflow: hidden;
	transition: var(--v2-transition);
	display: flex;
	flex-direction: column;
}

.v2-rec-card:hover {
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.10);
	border-color: #ccc;
}

.v2-rec-card-img {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px 12px;
	height: 180px;
	background: #fff;
}

.v2-rec-card-img img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	/* Daha temiz downscale: GPU ile renderlatir, bicubic default */
	transform: translateZ(0);
	backface-visibility: hidden;
	-ms-interpolation-mode: bicubic;
}

.v2-rec-card-info {
	padding: 0 14px 16px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.v2-rec-card-title {
	font-size: 13px;
	font-weight: 700;
	color: var(--v2-text-dark);
	text-decoration: none;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	line-height: 1.4;
	min-height: 36px;
	margin-bottom: 8px;
}

.v2-rec-card-title:hover {
	color: var(--v2-orange);
	text-decoration: none;
}

.v2-rec-card-price {
	display: flex;
	align-items: baseline;
	gap: 6px;
	margin-bottom: 12px;
	flex-wrap: wrap;
}

.v2-rec-old-price {
	font-size: 13px;
	color: #aaa;
	text-decoration: line-through;
	font-weight: 400;
}

.v2-rec-new-price {
	font-size: 17px;
	font-weight: 800;
	color: var(--v2-navy);
	letter-spacing: -0.3px;
}

.v2-rec-cart-form {
	margin-top: auto;
}

.v2-rec-add-btn {
	display: block;
	width: 100%;
	background: #4CAF50;
	color: #fff;
	border: none;
	border-radius: 6px;
	padding: 10px 14px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: var(--v2-transition);
	text-align: center;
}

.v2-rec-add-btn:hover {
	background: #43A047;
	transform: translateY(-1px);
	box-shadow: 0 3px 10px rgba(76, 175, 80, 0.3);
}

.v2-rec-add-btn i {
	margin-right: 6px;
}

/* Carousel Arrow Buttons */
.v2-rec-arrow {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #fff;
	border: 1px solid var(--v2-border);
	color: var(--v2-text-dark);
	font-size: 16px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: var(--v2-transition);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	z-index: 2;
}

.v2-rec-arrow:hover {
	background: var(--v2-navy);
	color: #fff;
	border-color: var(--v2-navy);
}

.v2-rec-arrow-left {
	margin-right: 12px;
}

.v2-rec-arrow-right {
	margin-left: 12px;
}

/* Yumusak gizle (kenardayken) */
.v2-rec-arrow.v2-arrow-hidden {
	opacity: 0.35;
	cursor: default;
	pointer-events: none;
}

/* PDP carousel: v2-pdp-cards-track + v2-rec-track birlesiminde dogru flex davranisi */
.v2-pdp-carousel {
	position: relative;
	display: flex;
	align-items: center;
}

.v2-pdp-carousel .v2-pdp-cards-track {
	flex: 1;
	min-width: 0;
}

/* ============================================
   V2 BREADCRUMBS (inner pages)
   ============================================ */
.v2-breadcrumbs {
	background: var(--v2-bg-gray);
	padding: 12px 0;
	border-bottom: 1px solid var(--v2-border);
}

.v2-breadcrumbs #breadcrumbs {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 4px;
}

.v2-breadcrumbs #breadcrumbs li {
	font-size: 13.5px;
}

.v2-breadcrumbs #breadcrumbs li a {
	color: var(--v2-text-medium);
	text-decoration: none;
}

.v2-breadcrumbs #breadcrumbs li a:hover {
	color: var(--v2-orange);
}

.v2-breadcrumbs #breadcrumbs li.actief a {
	color: var(--v2-navy);
	font-weight: 600;
}

/* ============================================
   V2 CONTENT SECTION (inner pages)
   ============================================ */
.v2-content-section {
	padding: 30px 0 40px;
	min-height: 400px;
}

.v2-content-section .page-title h2 {
	font-size: 26px;
	font-weight: 800;
	color: var(--v2-navy);
	margin: 0 0 20px 0;
	padding: 0 0 12px 0;
	border-bottom: 2px solid var(--v2-border);
}

/* ============================================
   V2 FOOTER
   ============================================ */
.v2-footer {
	background: var(--v2-navy);
	color: rgba(255, 255, 255, 0.8);
}

/* Footer Main */
.v2-footer-main {
	padding: 50px 0 40px;
}

.v2-footer-grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1fr 1.3fr;
	gap: 30px;
}

/* Footer columns */
.v2-footer-col h5 {
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.8px;
	margin: 0 0 18px 0;
	padding-bottom: 10px;
	border-bottom: 2px solid rgba(255,255,255,0.1);
}

.v2-footer-col ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.v2-footer-col ul li {
	margin-bottom: 6px;
}

.v2-footer-col ul li a {
	color: rgba(255, 255, 255, 0.7);
	font-size: 14px;
	text-decoration: none;
	transition: var(--v2-transition);
	line-height: 1.6;
}

.v2-footer-col ul li a:hover {
	color: var(--v2-orange);
	padding-left: 4px;
}

/* About column */
.v2-footer-logo {
	margin-bottom: 16px;
	background: #fff;
	display: inline-block;
	padding: 10px 16px;
	border-radius: 10px;
}

.v2-footer-logo img {
	height: 44px;
	width: auto;
	display: block;
}

.v2-footer-about {
	font-size: 14px;
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.65);
	margin: 0 0 20px 0;
}

/* Social icons */
.v2-footer-social {
	display: flex;
	gap: 10px;
}

.v2-footer-social a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	background: rgba(255, 255, 255, 0.08);
	border-radius: 50%;
	color: #fff;
	font-size: 16px;
	text-decoration: none;
	transition: var(--v2-transition);
}

.v2-footer-social a:hover {
	background: var(--v2-orange);
	transform: translateY(-2px);
	color: #fff;
	text-decoration: none;
}

/* Contact column */
.v2-footer-contact-row {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 10px;
	font-size: 13px;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.65);
}

.v2-footer-contact-row i {
	color: var(--v2-orange);
	font-size: 14px;
	width: 16px;
	text-align: center;
	flex-shrink: 0;
	margin-top: 3px;
}

.v2-footer-contact-row a {
	color: rgba(255, 255, 255, 0.75);
	text-decoration: none;
	transition: var(--v2-transition);
}

.v2-footer-contact-row a:hover {
	color: var(--v2-orange);
}

.v2-footer-hours {
	font-size: 12.5px;
	color: rgba(255, 255, 255, 0.55);
	line-height: 1.55;
	margin: 14px 0;
	padding: 10px 0;
	border-top: 1px solid rgba(255,255,255,0.08);
	border-bottom: 1px solid rgba(255,255,255,0.08);
}

.v2-footer-hours strong {
	color: rgba(255, 255, 255, 0.8);
}

/* Payment icons (legacy) */
.v2-footer-payment { display: none; }

/* ── Betaalmethoden Section ────────────────────────────────────── */
.v2-footer-betaal {
	background: #ebeef2;
	padding: 20px 0;
	border-top: 1px solid #dde1e7;
}

.v2-betaal-row {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
}

.v2-betaal-label {
	font-size: 13px;
	font-weight: 700;
	color: var(--v2-navy, #1a3760);
	text-transform: uppercase;
	letter-spacing: 1px;
}

.v2-betaal-icons {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	flex-wrap: wrap;
}

.v2-betaal-card {
	background: #fff;
	border-radius: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 40px;
	box-shadow: 0 1px 3px rgba(0,0,0,.07);
	transition: all .15s ease;
}

.v2-betaal-card:hover {
	box-shadow: 0 3px 10px rgba(0,0,0,.12);
	transform: translateY(-2px);
}

.v2-betaal-card img {
	max-height: 22px;
	max-width: 52px;
	object-fit: contain;
}

.v2-betaal-card svg {
	height: 24px;
	width: auto;
	max-width: 52px;
}

/* Tablet */
@media (max-width: 768px) {
	.v2-betaal-card {
		width: 64px;
		height: 36px;
	}
	.v2-betaal-card img { max-height: 20px; max-width: 46px; }
	.v2-betaal-card svg { height: 22px; max-width: 46px; }
	.v2-betaal-icons { gap: 8px; }
}

/* Mobile */
@media (max-width: 480px) {
	.v2-betaal-card {
		width: 56px;
		height: 32px;
	}
	.v2-betaal-card img { max-height: 17px; max-width: 40px; }
	.v2-betaal-card svg { height: 19px; max-width: 40px; }
	.v2-betaal-icons { gap: 6px; }
	.v2-betaal-label { font-size: 11px; }
}

/* Footer Bottom */
.v2-footer-bottom {
	background: var(--v2-navy-dark);
	padding: 16px 0;
}

.v2-footer-bottom-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.5);
}

.v2-footer-bottom-inner a {
	color: rgba(255, 255, 255, 0.6);
	text-decoration: none;
	transition: var(--v2-transition);
}

.v2-footer-bottom-inner a:hover {
	color: var(--v2-orange);
}

.v2-footer-bottom-links {
	display: flex;
	gap: 20px;
}

.v2-footer-bottom-links a {
	color: rgba(255, 255, 255, 0.5);
	font-size: 13px;
}

/* Footer Trust Badge */
.v2-footer-trust {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: rgba(255,255,255,0.7);
	text-decoration: none;
	font-size: 13px;
	transition: var(--v2-transition);
	white-space: nowrap;
}

.v2-footer-trust:hover {
	color: #fff;
	text-decoration: none;
}

.v2-footer-trust .v2-trust-stars {
	font-size: 12px;
}

.v2-footer-trust strong {
	color: #66bb6a;
	font-weight: 800;
}

/* Footer Responsive */
@media (max-width: 1199px) {
	.v2-footer-grid {
		grid-template-columns: 1.3fr 1fr 1fr 1fr;
		gap: 24px;
	}

	.v2-footer-contact {
		grid-column: 1 / -1;
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		gap: 16px;
	}

	.v2-footer-contact h5 {
		grid-column: 1 / -1;
	}
}

@media (max-width: 991px) {
	.v2-footer-grid {
		grid-template-columns: 1fr 1fr;
		gap: 30px 24px;
	}

	.v2-footer-contact {
		grid-column: 1 / -1;
		grid-template-columns: 1fr 1fr 1fr;
	}
}

@media (max-width: 767px) {
	.v2-footer-main {
		padding: 35px 0 30px;
	}

	.v2-footer-grid {
		grid-template-columns: 1fr 1fr;
		gap: 24px 20px;
	}

	.v2-footer-contact {
		grid-template-columns: 1fr 1fr;
	}

	.v2-footer-bottom-inner {
		flex-direction: column;
		gap: 8px;
		text-align: center;
	}
}

@media (max-width: 575px) {
	.v2-footer-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.v2-footer-contact {
		grid-template-columns: 1fr;
	}

	.v2-footer-bottom-links {
		gap: 14px;
		flex-wrap: wrap;
		justify-content: center;
	}
}

/* ============================================
   OVERRIDE EXISTING STYLES FOR V2 CONTEXT
   ============================================ */

/* Hide default header/nav */
body.v2-theme #page > header,
body.v2-theme #page > nav {
	display: none !important;
}

/* Hide default service area on v2 home (we have USP bar) */
body.v2-theme .jtv-service-area {
	display: none !important;
}

/* Make sure default main-slider is hidden */
body.v2-theme .main-slider {
	display: none !important;
}

/* Override default breadcrumbs */
body.v2-theme .breadcrumbs {
	display: none !important;
}

/* Fix container max-width for consistency across ALL sections */
body.v2-theme .container {
	max-width: var(--v2-container-width) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 15px;
	padding-right: 15px;
	width: 100% !important;
	box-sizing: border-box;
}

/* Ensure #page wrapper doesn't interfere */
body.v2-theme #page {
	padding: 0;
	margin: 0;
}

/* Quick View Popup */
body.v2-theme #quick_view_popup-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.6);
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
}

body.v2-theme #quick_view_popup-wrapper {
	background: #fff;
	border-radius: var(--v2-radius-lg);
	padding: 30px;
	max-width: 800px;
	max-height: 90vh;
	overflow-y: auto;
	margin: 20px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

body.v2-theme #quick_view_popup-close {
	position: fixed;
	top: 20px;
	right: 30px;
	color: #fff;
	font-size: 24px;
	font-weight: 700;
	text-decoration: none;
	z-index: 100000;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.5);
	border-radius: 50%;
	transition: var(--v2-transition);
}

body.v2-theme #quick_view_popup-close:hover {
	background: var(--v2-orange);
}

/* Featured products section - slight improvements */
body.v2-theme .featured-products {
	padding: 40px 0 30px;
}

body.v2-theme .best-title h2 {
	font-size: 20px;
	font-weight: 700;
	color: var(--v2-navy);
}

/* Default footer should be hidden in v2 */
body.v2-theme #page > footer:not(.v2-footer) {
	display: none !important;
}

body.v2-theme footer:not(.v2-footer) {
	display: none !important;
}

/* Back to top button */
/* ── Back to Top – Modern Circular Progress Button ── */
body.v2-theme #back-to-top,
body.v2-theme #back-to-top.v2-btt {
	position: fixed;
	bottom: 28px;
	right: 28px;
	width: 56px;
	height: 56px;
	cursor: pointer;
	z-index: 9990;
	opacity: 0;
	visibility: hidden;
	transform: translateY(20px) scale(0.8);
	transition: opacity .4s ease, visibility .4s, transform .4s cubic-bezier(.34,1.56,.64,1);
	background: none;
	border: none;
	text-align: left;
	line-height: normal;
	padding: 0;
	margin: 0;
}

body.v2-theme #back-to-top.show {
	opacity: 1;
	visibility: visible;
	transform: translateY(0) scale(1);
}

/* Circular progress ring */
.v2-btt-ring {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	transform: rotate(-90deg);
}

.v2-btt-track {
	fill: none;
	stroke: rgba(26, 55, 96, 0.12);
	stroke-width: 4;
}

.v2-btt-progress {
	fill: none;
	stroke: var(--v2-orange);
	stroke-width: 4;
	stroke-linecap: round;
	stroke-dasharray: 289;
	stroke-dashoffset: 289;
	transition: stroke-dashoffset .15s ease;
}

/* Inner circle with icon */
.v2-btt-icon {
	position: absolute;
	inset: 5px;
	border-radius: 50%;
	background: var(--v2-navy);
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 16px rgba(26, 55, 96, 0.35);
	transition: all .3s ease;
}

.v2-btt-icon svg {
	width: 22px;
	height: 22px;
	color: #fff;
	transition: transform .3s ease;
}

/* Chef hat icon: visible by default, arrow hidden */
.v2-btt-hat,
.v2-btt-hat-top {
	opacity: 1;
	transition: opacity .25s ease, transform .3s ease;
}

.v2-btt-arrow {
	opacity: 0;
	transition: opacity .25s ease, transform .3s ease;
}

/* Hover: show arrow, hide chef hat, orange bg, bounce */
#back-to-top:hover .v2-btt-icon {
	background: var(--v2-orange);
	box-shadow: 0 6px 24px rgba(232, 132, 26, 0.45);
	transform: scale(1.08);
}

#back-to-top:hover .v2-btt-hat,
#back-to-top:hover .v2-btt-hat-top {
	opacity: 0;
	transform: translateY(-4px);
}

#back-to-top:hover .v2-btt-arrow {
	opacity: 1;
	transform: translateY(-2px);
}

#back-to-top:hover .v2-btt-icon svg {
	transform: translateY(-1px);
}

/* Active click animation */
#back-to-top:active .v2-btt-icon {
	transform: scale(0.92);
}

/* Pulse animation when first appearing */
@keyframes v2-bttPulse {
	0% { box-shadow: 0 4px 16px rgba(26, 55, 96, 0.35); }
	50% { box-shadow: 0 4px 16px rgba(26, 55, 96, 0.35), 0 0 0 10px rgba(26, 55, 96, 0.08); }
	100% { box-shadow: 0 4px 16px rgba(26, 55, 96, 0.35), 0 0 0 0 rgba(26, 55, 96, 0); }
}

#back-to-top.show .v2-btt-icon {
	animation: v2-bttPulse 2s ease-out 1;
}

/* Mobile: slightly smaller and closer to edge */
@media (max-width: 768px) {
	body.v2-theme #back-to-top,
	body.v2-theme #back-to-top.v2-btt {
		width: 48px;
		height: 48px;
		bottom: 20px;
		right: 16px;
	}
	.v2-btt-icon svg {
		width: 18px;
		height: 18px;
	}
}

/* ============================================
   RESPONSIVE: LARGE DESKTOP (>1200px)
   Nav visible, Slider + 3 side boxes
   ============================================ */
/* Default styles already handle this */

/* ============================================
   RESPONSIVE: MEDIUM DESKTOP / LARGE TABLET (992px - 1199px)
   Nav visible but compressed, Slider + 3 side boxes
   Like HorecaGemak Image 3
   ============================================ */
@media (max-width: 1199px) {
	.v2-nav-categories > li > a {
		padding: 13px 13px;
		font-size: 14px;
	}

	.v2-hero-sidebar {
		flex: 0 0 280px;
	}

	.v2-side-box-img {
		flex: 0 0 90px;
	}

	.v2-side-box-content h4 {
		font-size: 14px;
	}

	.v2-side-box-content p {
		font-size: 12px;
	}

	.v2-hc-grid {
		grid-template-columns: repeat(4, 1fr);
		gap: 12px;
	}

	.v2-hc-card {
		min-height: 115px;
	}

	.v2-hc-name {
		font-size: 13.5px;
	}

	.v2-hc-count {
		font-size: 19px;
	}
}

/* ============================================
   RESPONSIVE: TABLET (768px - 991px)
   Hamburger menu, slider full-width,
   2 side boxes (LEASE + SHOWROOM) side-by-side below slider
   Like HorecaGemak Image 4
   ============================================ */
@media (max-width: 991px) {
	/* Header: logo + icons on top row, search below */
	.v2-header-inner {
		flex-wrap: wrap;
		gap: 10px;
	}

	.v2-logo {
		flex: 0 0 220px;
	}

	.v2-logo img {
		width: 220px;
	}

	.v2-search {
		order: 3;
		max-width: 100%;
		flex-basis: 100%;
	}

	.v2-header-actions {
		gap: 12px;
	}

	.v2-phone span {
		display: none;
	}

	.v2-login span {
		display: none;
	}

	.v2-trust-badge {
		padding: 5px 10px;
	}

	.v2-trust-badge .v2-trust-stars {
		display: none;
	}

	/* Show hamburger, hide desktop nav */
	.v2-mobile-toggle {
		display: flex !important;
		align-items: center;
	}

	.v2-nav {
		display: none !important;
	}

	/* USP: marquee scroll animation on tablet */
	.v2-usp-item.v2-usp-dup {
		display: flex !important;
	}

	.v2-usp-inner {
		justify-content: flex-start;
		gap: 40px;
		animation: v2-uspScroll 20s linear infinite;
		width: max-content;
		max-width: none;
		padding: 0;
	}

	/* Carousel: 4 cards per view */
	.v2-rec-card {
		flex: 0 0 calc((100% - 48px) / 4);
	}

	/* Hoofdcategorieen: 3 columns on tablet */
	.v2-hc-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 12px;
	}

	/* Hero: slider full-width, side boxes below in a row */
	.v2-hero-inner {
		flex-direction: column;
	}

	.v2-hero-sidebar {
		flex: none;
		flex-direction: row;
		gap: 12px;
	}

	.v2-side-box {
		flex: 1;
		min-width: 0;
	}

	/* CTA responsive */
	.v2-cta-text h3 {
		font-size: 22px;
	}

	.v2-cta-text h4 {
		font-size: 20px;
	}
}

/* ============================================
   RESPONSIVE: SMALL TABLET / LARGE PHONE (576px - 767px)
   Hamburger, full slider, 2 side boxes below
   Like HorecaGemak Image 2
   ============================================ */
@media (max-width: 767px) {
	.v2-header {
		padding: 10px 0;
	}

	.v2-header-inner {
		flex-wrap: wrap;
	}

	.v2-logo {
		flex: 0 0 180px;
	}

	.v2-logo img {
		width: 180px;
	}

	.v2-search {
		order: 10;
		flex-basis: 100%;
	}

	.v2-header-actions {
		gap: 8px;
	}

	.v2-phone {
		display: none;
	}

	.v2-login span {
		display: none;
	}

	.v2-cart-btn {
		padding: 8px 14px;
		font-size: 12px;
	}

	.v2-cart-btn .v2-cart-label {
		display: none;
	}

	.v2-trust-score {
		font-size: 13px;
	}

	/* USP: marquee continues on small screens */
	.v2-usp-inner {
		animation: v2-uspScroll 16s linear infinite;
	}

	.v2-usp-item {
		font-size: 12px;
	}

	/* Hero */
	.v2-hero {
		padding: 15px 0 20px;
	}

	/* Carousel: swipeable, hide arrows */
	.v2-rec-card {
		flex: 0 0 calc((100% - 16px) / 2.3);
		min-width: 155px;
	}
	.v2-rec-arrow {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		width: 36px;
		height: 36px;
		background: rgba(255,255,255,0.85);
		border: none;
		box-shadow: 0 2px 8px rgba(0,0,0,0.15);
		z-index: 5;
		margin: 0;
	}
	.v2-rec-arrow-left {
		left: 4px;
	}
	.v2-rec-arrow-right {
		right: 4px;
	}
	.v2-rec-wrapper,
	.v2-merken-wrapper {
		position: relative;
	}
	.v2-rec-title {
		font-size: 20px;
	}
	.v2-recommended {
		padding: 25px 0 20px;
	}

	/* Hoofdcategorieen: 2 columns on small tablet */
	.v2-hc-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
	}

	.v2-hc-card {
		min-height: 110px;
	}

	.v2-hc-name {
		font-size: 13px;
	}

	.v2-hc-count {
		font-size: 18px;
	}

	/* Merken: smaller arrows on mobile */
	.v2-merken-wrapper .v2-rec-arrow {
		width: 32px;
		height: 32px;
		font-size: 13px;
	}

	.v2-merk-item {
		flex: 0 0 calc(100% / 4);
		min-width: 120px;
		padding: 12px 16px;
	}

	.v2-hero-inner {
		flex-direction: column;
		gap: 15px;
	}

	.v2-hero-sidebar {
		flex-direction: row;
		gap: 10px;
	}

	.v2-side-box {
		flex: 1;
		min-width: 0;
	}

	.v2-side-box-img {
		flex: 0 0 90px;
	}

	/* CTA */
	.v2-cta {
		margin: 15px 0 0 0;
	}

	.v2-cta-inner {
		height: auto;
		min-height: 200px;
	}

	.v2-cta-text h3 {
		font-size: 16px;
	}

	.v2-cta-text p {
		font-size: 13px;
	}

	.v2-cta-btn {
		padding: 12px 24px;
		font-size: 14px;
	}

	/* Footer */
	.v2-footer .footer-coppyright .footer-company-links {
		justify-content: flex-start;
		flex-wrap: wrap;
	}
}

/* Side box fallback styles are now handled inline via placeholder gradients + icons */

/* ============================================
   OVERRIDE: Default theme leaking styles
   ============================================ */
body.v2-theme .mega-menu-category,
body.v2-theme .navleft-container,
body.v2-theme .mega-menu-title,
body.v2-theme .mega-container,
body.v2-theme .jtv-megamenu,
body.v2-theme .mtmegamenu,
body.v2-theme .header-top,
body.v2-theme .header-inner,
body.v2-theme .jtv-logo-block,
body.v2-theme .jtv-top-search,
body.v2-theme .top-cart,
body.v2-theme .top-cart-contain,
body.v2-theme .headerlinkmenu,
body.v2-theme .welcome-msg,
body.v2-theme .mm-toggle-wrap {
	display: none !important;
}

/* Make sure old #page doesn't add unwanted styles */
body.v2-theme #page {
	background: none;
	min-height: auto;
}

/* Hide old header elements that may leak outside #page */
body.v2-theme .header-container {
	display: none !important;
}

/* Revolution slider inside v2 hero - fix dimensions */
body.v2-theme .v2-hero-slider .fullwidthbanner-container {
	width: 100% !important;
	position: relative !important;
	padding: 0 !important;
	overflow: hidden !important;
	border-radius: var(--v2-radius-lg);
}

body.v2-theme .v2-hero-slider .rev_slider_wrapper {
	width: 100% !important;
	max-width: 100% !important;
	left: 0 !important;
}

/* Thumbs in slider - restyle */
body.v2-theme .tp-bullets.tp-thumbs {
	display: none !important;
}

/* Slider arrows - subtle */
body.v2-theme .v2-hero-slider .tp-leftarrow,
body.v2-theme .v2-hero-slider .tp-rightarrow {
	background: rgba(255,255,255,0.85) !important;
	border-radius: 50% !important;
	width: 44px !important;
	height: 44px !important;
}

body.v2-theme .v2-hero-slider .tp-leftarrow:hover,
body.v2-theme .v2-hero-slider .tp-rightarrow:hover {
	background: #fff !important;
}

/* Timer bar under slider */
body.v2-theme .tp-bannertimer {
	height: 3px !important;
	background: var(--v2-orange) !important;
	opacity: 0.7;
}

/* Top cart content popup (mini cart) - better positioning for v2 */
body.v2-theme .top-cart-content {
	position: fixed;
	top: auto;
	right: 20px;
	background: #fff;
	border-radius: var(--v2-radius);
	box-shadow: var(--v2-shadow-hover);
	padding: 15px;
	max-width: 350px;
	z-index: 99999;
}

/* Aanbiedingen section override */
body.v2-theme .inner-box {
	padding: 30px 0;
}

/* Banner area fixes */
body.v2-theme .banner-area {
	padding: 30px 0;
}

/* Our clients merken slider */
body.v2-theme .our-clients {
	padding: 30px 0;
}

/* ============================================
   V2 ONZE MERKEN CAROUSEL
   ============================================ */
.v2-merken {
	padding: 35px 0 30px;
}

.v2-merken-wrapper {
	position: relative;
	display: flex;
	align-items: center;
}

.v2-merken-track {
	display: flex;
	gap: 0;
	overflow-x: auto;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	-ms-overflow-style: none;
	flex: 1;
	padding: 8px 0;
}

.v2-merken-track::-webkit-scrollbar {
	display: none;
}

.v2-merk-item {
	flex: 0 0 calc(100% / 7);
	min-width: 140px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px 24px;
	border-radius: var(--v2-radius);
	transition: var(--v2-transition);
	text-decoration: none;
}

.v2-merk-item:hover {
	background: var(--v2-bg-gray);
	transform: scale(1.06);
	text-decoration: none;
}

.v2-merk-item img {
	max-width: 140px;
	max-height: 55px;
	width: auto;
	height: auto;
	object-fit: contain;
	filter: grayscale(100%);
	opacity: 0.6;
	transition: all 0.3s ease;
}

.v2-merk-item:hover img {
	filter: grayscale(0%);
	opacity: 1;
}

/* Footer newsletter section override */
body.v2-theme .footer-newsletter {
	background: var(--v2-bg-gray);
	padding: 40px 0;
}

/* ============================================
   V2 CONTACT SECTION (Bel mij terug + Showroom + Maps)
   ============================================ */
.v2-contact-section {
	padding: 40px 0 0;
}

.v2-contact-grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1.2fr;
	gap: 20px;
	align-items: stretch;
}

.v2-contact-card {
	background: var(--v2-bg-gray);
	border-radius: var(--v2-radius-lg);
	padding: 32px 28px;
	position: relative;
	overflow: hidden;
}

/* Icon circle */
.v2-contact-icon {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: var(--v2-navy);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	margin-bottom: 18px;
}

.v2-contact-card h3 {
	font-size: 20px;
	font-weight: 800;
	color: var(--v2-navy);
	margin: 0 0 8px 0;
	text-transform: none;
}

.v2-contact-sub {
	font-size: 13.5px;
	color: var(--v2-text-medium);
	margin: 0 0 6px 0;
}

.v2-contact-highlight {
	font-size: 16px;
	font-weight: 700;
	color: var(--v2-orange);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin: 4px 0 14px 0;
}

.v2-contact-desc {
	font-size: 13.5px;
	color: var(--v2-text-medium);
	margin: 0 0 16px 0;
	line-height: 1.5;
}

/* Callback form */
.v2-callback-form {
	margin: 0 0 14px 0;
}

.v2-callback-input-wrap {
	display: flex;
	border-radius: var(--v2-radius);
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

.v2-callback-input-wrap input {
	flex: 1;
	border: 2px solid var(--v2-border);
	border-right: none;
	padding: 14px 16px;
	font-size: 14px;
	color: var(--v2-text-dark);
	outline: none;
	border-radius: var(--v2-radius) 0 0 var(--v2-radius);
	background: #fff;
	transition: var(--v2-transition);
}

.v2-callback-input-wrap input:focus {
	border-color: var(--v2-navy);
}

.v2-callback-input-wrap input::placeholder {
	color: var(--v2-text-light);
}

.v2-callback-input-wrap button {
	background: var(--v2-navy);
	color: #fff;
	border: none;
	padding: 14px 22px;
	font-size: 16px;
	cursor: pointer;
	border-radius: 0 var(--v2-radius) var(--v2-radius) 0;
	transition: var(--v2-transition);
}

.v2-callback-input-wrap button:hover {
	background: var(--v2-orange);
}

.v2-contact-note {
	font-size: 12.5px;
	color: var(--v2-text-light);
	font-style: italic;
	margin: 0;
}

/* Showroom card */
.v2-showroom-info {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 16px 0 20px;
}

.v2-showroom-row {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 13.5px;
	color: var(--v2-text-medium);
	line-height: 1.5;
}

.v2-showroom-row > i {
	color: var(--v2-orange);
	font-size: 16px;
	width: 18px;
	text-align: center;
	flex-shrink: 0;
	margin-top: 2px;
}

.v2-showroom-row strong {
	color: var(--v2-text-dark);
	font-weight: 600;
}

.v2-contact-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--v2-navy);
	color: #fff;
	padding: 11px 22px;
	border-radius: var(--v2-radius);
	font-size: 13.5px;
	font-weight: 600;
	text-decoration: none;
	transition: var(--v2-transition);
}

.v2-contact-btn:hover {
	background: var(--v2-orange);
	color: #fff;
	text-decoration: none;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(232,132,26,0.3);
}

.v2-contact-btn i {
	font-size: 11px;
}

/* Map card */
.v2-contact-map-card {
	padding: 0;
	min-height: 320px;
}

.v2-contact-map-card iframe {
	border-radius: var(--v2-radius-lg);
	display: block;
}

/* ============================================
   V2 RECENT PROJECTEN
   ============================================ */
.v2-projecten {
	padding: 0 0 40px;
}

.v2-projecten-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 20px;
}

.v2-projecten-header .v2-rec-title {
	margin: 0;
}

.v2-projecten-meer {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--v2-navy);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	padding: 10px 22px;
	border: 2px solid var(--v2-navy);
	border-radius: var(--v2-radius);
	transition: var(--v2-transition);
	white-space: nowrap;
}

.v2-projecten-meer:hover {
	background: var(--v2-navy);
	color: #fff;
	text-decoration: none;
}

.v2-projecten-meer i {
	font-size: 12px;
	transition: transform 0.2s ease;
}

.v2-projecten-meer:hover i {
	transform: translateX(3px);
}

.v2-projecten-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}

/* Project card */
.v2-project-card {
	display: block;
	border-radius: var(--v2-radius-lg);
	overflow: hidden;
	background: #fff;
	box-shadow: var(--v2-shadow);
	transition: var(--v2-transition);
	text-decoration: none;
	color: var(--v2-text-dark);
}

.v2-project-card:hover {
	box-shadow: var(--v2-shadow-hover);
	transform: translateY(-4px);
	text-decoration: none;
	color: var(--v2-text-dark);
}

/* Image area with overlay */
.v2-project-img {
	position: relative;
	overflow: hidden;
	aspect-ratio: 4 / 3;
}

.v2-project-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
}

.v2-project-card:hover .v2-project-img img {
	transform: scale(1.06);
}

.v2-project-overlay {
	position: absolute;
	inset: 0;
	background: rgba(26, 55, 96, 0.5);
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.v2-project-card:hover .v2-project-overlay {
	opacity: 1;
}

.v2-project-view {
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	background: rgba(255,255,255,0.2);
	padding: 8px 18px;
	border-radius: var(--v2-radius);
	backdrop-filter: blur(4px);
}

.v2-project-view i {
	margin-right: 5px;
}

/* Info area */
.v2-project-info {
	padding: 14px 16px;
}

.v2-project-info h4 {
	font-size: 15px;
	font-weight: 700;
	color: var(--v2-text-dark);
	margin: 0 0 4px 0;
	line-height: 1.3;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.v2-project-count {
	font-size: 12.5px;
	color: var(--v2-text-light);
}

/* Responsive */
@media (max-width: 991px) {
	.v2-projecten-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 14px;
	}
}

@media (max-width: 767px) {
	.v2-projecten-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
	}

	.v2-projecten-meer {
		padding: 8px 16px;
		font-size: 13px;
	}
}

@media (max-width: 575px) {
	.v2-projecten-grid {
		grid-template-columns: 1fr 1fr;
		gap: 10px;
	}

	.v2-projecten-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}

	.v2-project-info {
		padding: 10px 12px;
	}

	.v2-project-info h4 {
		font-size: 13px;
	}
}

/* Contact: Responsive */
@media (max-width: 991px) {
	.v2-contact-grid {
		grid-template-columns: 1fr 1fr;
	}

	.v2-contact-map-card {
		grid-column: 1 / -1;
		min-height: 280px;
	}
}

@media (max-width: 767px) {
	.v2-contact-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.v2-contact-map-card {
		grid-column: auto;
		min-height: 250px;
	}

	.v2-contact-card {
		padding: 24px 20px;
	}

	.v2-contact-icon {
		width: 46px;
		height: 46px;
		font-size: 18px;
		margin-bottom: 14px;
	}

	.v2-contact-card h3 {
		font-size: 18px;
	}
}

@media (max-width: 575px) {
	.v2-contact-section {
		padding: 25px 0 0;
	}

	.v2-contact-grid {
		gap: 12px;
	}

	.v2-contact-map-card {
		min-height: 220px;
	}

	.v2-contact-card {
		padding: 20px 16px;
	}
}

/* SEO text section */
body.v2-theme .seo {
	padding: 30px 0;
}

body.v2-theme .footer-seo-text {
	font-size: 13.5px;
	line-height: 1.7;
	color: var(--v2-text-medium);
}

body.v2-theme .footer-seo-text a {
	color: var(--v2-orange);
	text-decoration: none;
}

body.v2-theme .footer-seo-text a:hover {
	text-decoration: underline;
}

/* ============================================
   V2 SEO SECTION (Lees meer / Lees minder)
   ============================================ */
.v2-seo-section {
	padding: 35px 0 30px;
}

.v2-seo-wrap {
	position: relative;
	overflow: hidden;
	transition: max-height 0.4s ease;
}

.v2-seo-content h2 {
	font-size: 24px;
	font-weight: 800;
	color: var(--v2-navy);
	margin: 0 0 16px 0;
	line-height: 1.3;
}

.v2-seo-content h3 {
	font-size: 18px;
	font-weight: 700;
	color: var(--v2-navy);
	margin: 28px 0 10px 0;
	line-height: 1.35;
}

.v2-seo-content p {
	font-size: 14px;
	line-height: 1.75;
	color: var(--v2-text-medium);
	margin: 0 0 12px 0;
}

.v2-seo-content a {
	color: var(--v2-navy);
	font-weight: 600;
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: var(--v2-transition);
}

.v2-seo-content a:hover {
	color: var(--v2-orange);
	border-bottom-color: var(--v2-orange);
	text-decoration: none;
}

.v2-seo-content ul {
	margin: 8px 0 16px 0;
	padding: 0 0 0 20px;
}

.v2-seo-content ul li {
	font-size: 14px;
	line-height: 1.75;
	color: var(--v2-text-medium);
	margin-bottom: 4px;
}

.v2-seo-content ul li strong {
	color: var(--v2-text-dark);
}

/* Fade overlay at bottom */
.v2-seo-fade {
	display: none;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 100px;
	background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,0.85) 50%, rgba(255,255,255,1) 100%);
	pointer-events: none;
	z-index: 2;
}

/* Toggle link */
.v2-seo-toggle-wrap {
	text-align: center;
	padding: 12px 0 0;
}

.v2-seo-toggle {
	display: inline-block;
	font-size: 15px;
	font-weight: 700;
	color: var(--v2-navy);
	text-decoration: none;
	padding: 8px 24px;
	transition: var(--v2-transition);
}

.v2-seo-toggle:hover {
	color: var(--v2-orange);
	text-decoration: none;
}

/* ============================================
   RESPONSIVE: MOBILE (< 576px)
   Hamburger, full slider, side boxes stacked (only LEASE)
   Like HorecaGemak Image 1
   ============================================ */
@media (max-width: 575px) {
	.v2-logo {
		flex: 0 0 160px;
	}

	.v2-logo img {
		width: 160px;
	}

	.v2-search-form input[type="text"] {
		padding: 8px 12px;
		font-size: 13px;
	}

	.v2-usp {
		padding: 8px 0;
	}

	/* Hoofdcategorieen: 2 columns, compact on mobile */
	.v2-hc-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 8px;
	}

	.v2-hc-card {
		min-height: 95px;
	}

	.v2-hc-text {
		padding: 12px 10px;
	}

	.v2-hc-name {
		font-size: 12px;
	}

	.v2-hc-count {
		font-size: 16px;
		margin-top: 6px;
	}

	.v2-hc-label {
		font-size: 11px;
	}

	.v2-hoofdcat {
		padding: 20px 0 5px;
	}

	.v2-merk-item {
		flex: 0 0 calc(100% / 3);
		min-width: 100px;
		padding: 10px 12px;
	}

	.v2-merk-item img {
		max-width: 110px;
		max-height: 45px;
	}

	/* Side boxes: stack vertically, show ALL */
	.v2-hero-sidebar {
		flex-direction: column;
	}

	.v2-side-box {
		min-width: auto;
	}

	.v2-hero {
		padding: 10px 0 15px;
	}

	/* CTA: compact on small mobile */
	.v2-cta {
		margin: 10px 0 0 0;
	}

	.v2-cta-inner {
		height: auto;
		min-height: 0;
	}

	.v2-cta-text {
		flex: 1;
		padding: 20px;
	}

	.v2-cta-text h3 {
		font-size: 18px;
	}

	.v2-cta-text h4 {
		font-size: 16px;
	}

	.v2-side-box-content h4 {
		font-size: 13px;
	}

	.v2-side-box-content p {
		font-size: 11.5px;
	}

	.v2-cta-text h3 {
		font-size: 14px;
	}

	.v2-cta-text p {
		font-size: 12px;
	}
}

/* ============================================
   V2 SEARCH MODAL
   ============================================ */
body.alfa-search-open {
	overflow: hidden;
}

.alfa-search-modal {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.25s ease, visibility 0.25s ease;
}

.alfa-search-modal.active {
	opacity: 1;
	visibility: visible;
}

.alfa-search-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(10, 22, 40, 0.65);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

.alfa-search-container {
	position: relative;
	width: 94%;
	max-width: 1080px;
	margin-top: 40px;
	background: #fff;
	border-radius: 20px;
	box-shadow: 0 30px 90px rgba(0,0,0,0.28), 0 0 0 1px rgba(255,255,255,0.1);
	max-height: calc(100vh - 80px);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	transform: translateY(-20px) scale(0.97);
	transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.25s ease;
}

.alfa-search-modal.active .alfa-search-container {
	transform: translateY(0) scale(1);
}

/* Header */
.alfa-search-header {
	padding: 20px 24px;
	border-bottom: 1px solid #edf0f5;
	flex-shrink: 0;
	background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
}

.alfa-search-input-wrap {
	display: flex;
	align-items: center;
	gap: 12px;
	background: #fff;
	border: 2px solid #e2e8f0;
	border-radius: 14px;
	padding: 0 18px;
	transition: all 0.25s ease;
}

.alfa-search-input-wrap:focus-within {
	background: #fff;
	border-color: var(--v2-navy);
	box-shadow: 0 0 0 4px rgba(26, 55, 96, 0.1), 0 4px 12px rgba(0,0,0,0.05);
}

.alfa-search-icon {
	color: var(--v2-text-light);
	font-size: 18px;
	flex-shrink: 0;
}

#alfaSearchModalInput {
	flex: 1;
	border: none;
	background: transparent;
	padding: 14px 0;
	font-size: 16px;
	font-weight: 500;
	color: var(--v2-text-dark);
	outline: none;
	font-family: inherit;
}

#alfaSearchModalInput::placeholder {
	color: var(--v2-text-light);
	font-weight: 400;
}

.alfa-search-close {
	background: none;
	border: none;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	color: var(--v2-text-light);
	cursor: pointer;
	transition: all 0.2s ease;
	flex-shrink: 0;
}

.alfa-search-close:hover {
	background: #edf0f5;
	color: var(--v2-text-dark);
}

/* Results area */
.alfa-search-results {
	overflow-y: auto;
	padding: 8px 0;
	flex: 1;
	-webkit-overflow-scrolling: touch;
}

.alfa-search-hint {
	padding: 40px 20px;
	text-align: center;
	color: var(--v2-text-light);
	font-size: 15px;
}

.alfa-search-hint i {
	margin-right: 8px;
	color: var(--v2-orange);
}

/* Sections */
.alfa-search-section {
	padding: 12px 20px 4px;
}

.alfa-search-section-title {
	font-size: 11.5px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.8px;
	color: var(--v2-text-light);
	margin-bottom: 10px;
}

.alfa-search-section-title i {
	margin-right: 6px;
	color: var(--v2-orange);
}

.alfa-result-count {
	font-weight: 500;
	text-transform: none;
	letter-spacing: 0;
}

/* Pills */
.alfa-search-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 8px;
}

.alfa-search-pill {
	display: inline-flex;
	align-items: center;
	padding: 7px 14px;
	border-radius: 20px;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	transition: all 0.2s ease;
	white-space: nowrap;
}

.alfa-pill-cat {
	background: #eef2f8;
	color: var(--v2-navy);
}

.alfa-pill-cat:hover {
	background: var(--v2-navy);
	color: #fff;
	text-decoration: none;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(26, 55, 96, 0.2);
}

.alfa-pill-brand {
	background: #fef0e4;
	color: #c45a00;
}

.alfa-pill-brand:hover {
	background: var(--v2-orange);
	color: #fff;
	text-decoration: none;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(232, 132, 26, 0.25);
}

.alfa-pill-parent {
	font-weight: 400;
	opacity: 0.65;
	font-size: 12px;
}

/* Product results - grid layout */
.alfa-search-products {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	padding: 4px 0;
}

.alfa-search-product {
	display: flex;
	flex-direction: column;
	gap: 0;
	padding: 14px;
	border-radius: 14px;
	text-decoration: none;
	color: var(--v2-text-dark);
	transition: all 0.2s ease;
	border: 1px solid transparent;
	position: relative;
}

.alfa-search-product:hover {
	background: #f8fafc;
	border-color: #e2e8f0;
	text-decoration: none;
	color: var(--v2-text-dark);
	transform: translateY(-2px);
	box-shadow: 0 4px 16px rgba(0,0,0,0.06);
}

.alfa-sp-img {
	width: 100%;
	height: 100px;
	border-radius: 10px;
	background: #f8f9fc;
	border: 1px solid #edf0f5;
	overflow: hidden;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 10px;
}

.alfa-sp-img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 8px;
}

.alfa-sp-info {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
}

.alfa-sp-name {
	font-size: 13px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--v2-text-dark);
	margin-bottom: 5px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.alfa-sp-name:hover {
	color: var(--v2-navy);
}

a.alfa-sp-name {
	text-decoration: none;
	color: var(--v2-text-dark);
}

a.alfa-sp-name:hover {
	color: var(--v2-navy);
	text-decoration: none;
}

.alfa-sp-name mark {
	background: #fef3cd;
	color: inherit;
	border-radius: 3px;
	padding: 0 2px;
}

.alfa-sp-meta {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 6px;
	flex-wrap: wrap;
}

.alfa-sp-brand {
	font-size: 10.5px;
	font-weight: 700;
	color: var(--v2-orange);
	text-transform: uppercase;
	letter-spacing: 0.3px;
}

.alfa-sp-sku {
	font-size: 10.5px;
	color: var(--v2-text-light);
}

/* Stock badge in search */
.alfa-sp-stock {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 10px;
	font-weight: 600;
	padding: 2px 8px;
	border-radius: 10px;
	margin-top: 4px;
}

.alfa-sp-stock--green {
	background: #eafaf1;
	color: #1a8a4a;
}

.alfa-sp-stock--gray {
	background: #f1f3f5;
	color: #888;
}

/* Add to cart button in search */
.alfa-sp-cart-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	margin-top: 8px;
	padding: 7px 12px;
	background: #27ae60;
	color: #fff;
	border: none;
	border-radius: 8px;
	font-size: 11.5px;
	font-weight: 700;
	cursor: pointer;
	transition: all 0.18s ease;
	text-decoration: none;
	white-space: nowrap;
}

.alfa-sp-cart-btn:hover {
	background: #1e8a4e;
	color: #fff;
	text-decoration: none;
	transform: translateY(-1px);
	box-shadow: 0 3px 10px rgba(39, 174, 96, 0.25);
}

.alfa-sp-cart-btn .fa {
	font-size: 12px;
}

.alfa-sp-price-row {
	display: flex;
	align-items: center;
	gap: 8px;
}

.alfa-sp-price-row {
	display: flex;
	align-items: baseline;
	gap: 6px;
	flex-wrap: wrap;
}

.alfa-sp-price {
	font-size: 15px;
	font-weight: 800;
	color: var(--v2-navy);
}

.alfa-sp-sale {
	color: #d63031;
}

.alfa-sp-oldprice {
	font-size: 11px;
	color: var(--v2-text-light);
	text-decoration: line-through;
}

.alfa-sp-discount {
	font-size: 10px;
	font-weight: 700;
	color: #fff;
	background: #d63031;
	padding: 2px 6px;
	border-radius: 4px;
}

.alfa-sp-delivery {
	font-size: 10.5px;
	color: #27ae60;
	margin-top: 3px;
}

.alfa-sp-delivery i {
	margin-right: 3px;
}

/* CTA button */
.alfa-search-cta {
	padding: 16px 24px 20px;
	text-align: center;
	border-top: 1px solid #f0f2f5;
	background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
}

.alfa-search-cta-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: linear-gradient(135deg, var(--v2-navy) 0%, #2a5a9a 100%);
	color: #fff;
	padding: 14px 32px;
	border-radius: 12px;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	transition: all 0.25s ease;
	box-shadow: 0 4px 14px rgba(26, 55, 96, 0.2);
}

.alfa-search-cta-btn:hover {
	background: linear-gradient(135deg, var(--v2-orange) 0%, #d4740d 100%);
	color: #fff;
	text-decoration: none;
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(232,132,26,0.35);
}

.alfa-search-cta-btn i {
	font-size: 13px;
}

/* Empty state */
.alfa-search-empty {
	padding: 40px 20px;
	text-align: center;
}

.alfa-empty-icon {
	font-size: 48px;
	color: #dde2ea;
	margin-bottom: 16px;
}

.alfa-empty-title {
	font-size: 18px;
	font-weight: 700;
	color: var(--v2-text-dark);
	margin-bottom: 8px;
}

.alfa-empty-hint {
	font-size: 14px;
	color: var(--v2-text-light);
	margin-bottom: 20px;
}

.alfa-popular-cats {
	justify-content: center;
}

/* Skeleton loader */
.alfa-search-skeleton {
	padding: 12px 20px;
}

.alfa-skel-item {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 10px 0;
}

.alfa-skel-img {
	width: 68px;
	height: 68px;
	border-radius: 10px;
	background: linear-gradient(90deg, #f0f2f5 25%, #e4e8ed 50%, #f0f2f5 75%);
	background-size: 200% 100%;
	animation: alfaShimmer 1.5s ease-in-out infinite;
	flex-shrink: 0;
}

.alfa-skel-lines {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.alfa-skel-line {
	height: 12px;
	border-radius: 6px;
	background: linear-gradient(90deg, #f0f2f5 25%, #e4e8ed 50%, #f0f2f5 75%);
	background-size: 200% 100%;
	animation: alfaShimmer 1.5s ease-in-out infinite;
}

.alfa-skel-line.w80 { width: 80%; }
.alfa-skel-line.w50 { width: 50%; }
.alfa-skel-line.w30 { width: 30%; }

@keyframes alfaShimmer {
	0% { background-position: 200% 0; }
	100% { background-position: -200% 0; }
}

/* Highlight mark in pills */
.alfa-search-pill mark {
	background: rgba(255,255,255,0.45);
	color: inherit;
	border-radius: 2px;
	padding: 0;
}

/* Responsive */
@media (max-width: 767px) {
	.alfa-search-container {
		width: 100%;
		max-width: 100%;
		margin-top: 0;
		border-radius: 0;
		max-height: 100vh;
		height: 100vh;
	}

	.alfa-search-modal.active .alfa-search-container {
		transform: translateY(0) scale(1);
	}

	.alfa-search-header {
		padding: 14px 16px;
	}

	#alfaSearchModalInput {
		font-size: 15px;
		padding: 12px 0;
	}

	.alfa-search-section {
		padding: 10px 14px 4px;
	}

	.alfa-search-products {
		grid-template-columns: 1fr 1fr;
		gap: 8px;
	}

	.alfa-sp-img {
		height: 80px;
		border-radius: 8px;
	}

	.alfa-search-product {
		padding: 10px;
		border-radius: 10px;
	}

	.alfa-sp-name {
		font-size: 12px;
	}

	.alfa-sp-price {
		font-size: 13px;
	}

	.alfa-search-cta-btn {
		width: 100%;
		justify-content: center;
		padding: 14px 20px;
	}
}

@media (max-width: 480px) {
	.alfa-search-pills {
		gap: 6px;
	}

	.alfa-search-pill {
		padding: 6px 11px;
		font-size: 12px;
	}

	.alfa-sp-meta {
		flex-wrap: wrap;
		gap: 4px 8px;
	}
}

/* ══════════════════════════════════════════════════════════════════
   FULL SEARCH MODE — Filters, Sort, Meer Laden
   ══════════════════════════════════════════════════════════════════ */

/* Expand modal in full mode */
.alfa-search-modal.full-mode .alfa-search-container {
	max-width: 1080px;
	max-height: 92vh;
}

/* Specs line in product cards */
.alfa-sp-specs,
.alfa-fp-specs {
	font-size: 12.5px;
	color: #666;
	margin-bottom: 4px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* CTA button — now a real button */
.alfa-search-cta-btn {
	border: none;
	cursor: pointer;
}

/* ── Full search header bar ── */
.alfa-full-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 20px;
	background: #f8fafc;
	border-bottom: 1px solid #e9ecf0;
	gap: 12px;
	flex-wrap: wrap;
	position: sticky;
	top: 0;
	z-index: 10;
}

.alfa-full-title {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 15px;
	font-weight: 600;
	color: var(--v2-text-dark);
	flex-shrink: 0;
}

.alfa-back-btn {
	background: none;
	border: 1px solid #ddd;
	width: 32px;
	height: 32px;
	border-radius: 8px;
	cursor: pointer;
	font-size: 14px;
	color: var(--v2-navy);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all .15s;
}

.alfa-back-btn:hover {
	background: var(--v2-navy);
	color: #fff;
	border-color: var(--v2-navy);
}

.alfa-full-controls {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

/* ── Filter dropdowns ── */
.alfa-filter-dropdown {
	position: relative;
}

.alfa-filter-btn {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 8px 15px;
	background: #fff;
	border: 1px solid #dde2ea;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
	color: var(--v2-navy);
	cursor: pointer;
	transition: all .15s;
	white-space: nowrap;
}

.alfa-filter-btn:hover {
	border-color: var(--v2-navy);
	background: #f0f4f8;
}

.alfa-filter-btn.has-filter {
	background: var(--v2-navy);
	color: #fff;
	border-color: var(--v2-navy);
}

.alfa-filter-btn .fa-chevron-down {
	font-size: 10px;
	opacity: .6;
}

.alfa-drop-menu {
	display: none;
	position: absolute;
	top: calc(100% + 6px);
	right: 0;
	background: #fff;
	border: 1px solid #e2e6ec;
	border-radius: 12px;
	box-shadow: 0 12px 40px rgba(0,0,0,.12);
	min-width: 220px;
	max-height: 320px;
	overflow-y: auto;
	z-index: 100;
	padding: 6px;
}

.alfa-drop-menu.open {
	display: block;
	animation: alfaDropIn .15s ease;
}

@keyframes alfaDropIn {
	from { opacity: 0; transform: translateY(-6px); }
	to { opacity: 1; transform: translateY(0); }
}

/* Sort options */
.alfa-sort-opt {
	display: block;
	width: 100%;
	padding: 9px 14px;
	border: none;
	background: none;
	text-align: left;
	font-size: 13px;
	color: #444;
	cursor: pointer;
	border-radius: 8px;
	transition: background .1s;
}

.alfa-sort-opt:hover {
	background: #f0f4f8;
}

.alfa-sort-opt.active {
	background: #eef3fb;
	color: var(--v2-navy);
	font-weight: 700;
}

.alfa-sort-opt .fa-check {
	color: var(--v2-orange);
	margin-right: 4px;
}

/* Brand options */
.alfa-brand-opt {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	font-size: 13px;
	color: #333;
	cursor: pointer;
	border-radius: 8px;
	transition: background .1s;
}

.alfa-brand-opt:hover {
	background: #f8f9fc;
}

.alfa-brand-opt input[type="checkbox"] {
	accent-color: var(--v2-orange);
	width: 16px;
	height: 16px;
	cursor: pointer;
}

.alfa-brand-cnt {
	color: #999;
	font-size: 11px;
	margin-left: auto;
}

/* Price filter */
.alfa-price-menu {
	padding: 14px;
	min-width: 260px;
}

.alfa-price-inputs {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 12px;
}

.alfa-price-field {
	display: flex;
	align-items: center;
	border: 1px solid #dde2ea;
	border-radius: 8px;
	padding: 0 10px;
	background: #fff;
	flex: 1;
}

.alfa-price-field span {
	font-size: 13px;
	color: #888;
	font-weight: 600;
	margin-right: 4px;
}

.alfa-price-field input {
	border: none;
	outline: none;
	width: 100%;
	padding: 8px 0;
	font-size: 13px;
	font-weight: 600;
	color: var(--v2-text-dark);
}

.alfa-price-sep {
	color: #ccc;
	font-size: 14px;
}

.alfa-price-apply {
	width: 100%;
	padding: 9px;
	background: var(--v2-navy);
	color: #fff;
	border: none;
	border-radius: 8px;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	transition: background .15s;
}

.alfa-price-apply:hover {
	background: #2a5a9a;
}

.alfa-price-reset {
	width: 100%;
	padding: 7px;
	background: none;
	color: #d63031;
	border: 1px solid #f5c6cb;
	border-radius: 8px;
	font-size: 12px;
	font-weight: 600;
	cursor: pointer;
	margin-top: 6px;
}

.alfa-price-reset:hover {
	background: #fff5f5;
}

/* ── Active filters bar ── */
.alfa-active-filters {
	display: flex;
	gap: 6px;
	padding: 8px 20px;
	background: #fef8f0;
	border-bottom: 1px solid #fdecd5;
	flex-wrap: wrap;
	align-items: center;
}

.alfa-active-filter {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px 10px;
	background: #fff;
	border: 1px solid #e9d7c2;
	border-radius: 20px;
	font-size: 12px;
	font-weight: 600;
	color: var(--v2-navy);
	cursor: pointer;
	transition: all .15s;
}

.alfa-active-filter:hover {
	background: #d63031;
	color: #fff;
	border-color: #d63031;
}

.alfa-active-filter .fa-times {
	font-size: 10px;
	opacity: .6;
}

.alfa-clear-all {
	background: none;
	border: none;
	color: #d63031;
	font-size: 12px;
	font-weight: 600;
	cursor: pointer;
	margin-left: 6px;
	padding: 4px 8px;
}

.alfa-clear-all:hover {
	text-decoration: underline;
}

/* ── Matching categories/brands pills bar ── */
.alfa-match-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 12px 20px;
	background: #f8fafc;
	border-bottom: 1px solid #edf0f5;
	align-items: center;
}

.alfa-match-group {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
}

.alfa-match-label {
	font-size: 11px;
	font-weight: 700;
	color: #888;
	text-transform: uppercase;
	letter-spacing: .5px;
	white-space: nowrap;
	margin-right: 2px;
}

.alfa-match-label i {
	margin-right: 3px;
}

.alfa-match-pills .alfa-search-pill {
	padding: 5px 12px;
	font-size: 12px;
}

@media (max-width: 767px) {
	.alfa-match-pills {
		padding: 8px 12px;
		gap: 6px;
	}
	.alfa-match-pills .alfa-search-pill {
		padding: 4px 10px;
		font-size: 11px;
	}
}

/* ── Full product cards (list layout) ── */
.alfa-full-products {
	padding: 12px 20px;
}

.alfa-full-product {
	display: flex;
	align-items: stretch;
	gap: 16px;
	padding: 14px;
	border: 1px solid #edf0f5;
	border-radius: 12px;
	margin-bottom: 8px;
	transition: all .2s;
	background: #fff;
}

.alfa-full-product:hover {
	border-color: var(--v2-orange);
	box-shadow: 0 4px 16px rgba(232,132,26,.08);
	transform: translateY(-1px);
}

.alfa-fp-img {
	width: 110px;
	height: 100px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #f8f9fc;
	border-radius: 10px;
	border: 1px solid #edf0f5;
	overflow: hidden;
	position: relative;
}

.alfa-fp-img img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	padding: 6px;
}

.alfa-fp-badge {
	position: absolute;
	top: 6px;
	left: 6px;
	background: #d63031;
	color: #fff;
	font-size: 10px;
	font-weight: 800;
	padding: 2px 6px;
	border-radius: 4px;
}

.alfa-fp-body {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.alfa-fp-name {
	font-size: 15px;
	font-weight: 700;
	color: var(--v2-text-dark);
	text-decoration: none;
	line-height: 1.35;
	margin-bottom: 3px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.alfa-fp-name:hover {
	color: var(--v2-navy);
	text-decoration: none;
}

.alfa-fp-name mark {
	background: #fef3cd;
	color: inherit;
	border-radius: 2px;
	padding: 0 1px;
}

.alfa-fp-meta {
	display: flex;
	gap: 8px;
	align-items: center;
	flex-wrap: wrap;
	margin-top: 4px;
}

.alfa-fp-brand {
	font-size: 12.5px;
	font-weight: 700;
	color: var(--v2-orange);
	text-transform: uppercase;
}

.alfa-fp-cat {
	font-size: 12.5px;
	color: #666;
}

.alfa-fp-right {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: center;
	gap: 6px;
	flex-shrink: 0;
	min-width: 140px;
}

.alfa-fp-price-block {
	text-align: right;
}

.alfa-fp-price {
	display: block;
	font-size: 20px;
	font-weight: 800;
	color: var(--v2-navy);
}

.alfa-fp-price.sale {
	color: #d63031;
}

.alfa-fp-oldprice {
	font-size: 13px;
	color: #999;
	text-decoration: line-through;
}

.alfa-fp-btw {
	font-size: 11.5px;
	color: #888;
}

.alfa-fp-delivery {
	font-size: 12.5px;
	color: #27ae60;
	font-weight: 600;
}

.alfa-fp-cart-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 9px 18px;
	background: linear-gradient(135deg, #27ae60, #1e8a4e);
	color: #fff;
	border: none;
	border-radius: 8px;
	font-size: 13.5px;
	font-weight: 700;
	cursor: pointer;
	transition: all .15s;
	white-space: nowrap;
}

.alfa-fp-cart-btn:hover {
	background: linear-gradient(135deg, #1e8a4e, #17753d);
	transform: translateY(-1px);
	box-shadow: 0 3px 10px rgba(39,174,96,.25);
}

.alfa-fp-cart-btn.added {
	background: #1a8a4a;
}

/* ── Meer laden section ── */
.alfa-meer-laden-wrap {
	padding: 16px 20px 24px;
	text-align: center;
}

.alfa-loaded-count {
	font-size: 13px;
	color: #888;
	margin-bottom: 8px;
}

.alfa-loaded-count.alfa-all-loaded {
	color: #27ae60;
	font-weight: 600;
	font-size: 14px;
	padding: 12px 0;
}

.alfa-progress-bar {
	width: 100%;
	max-width: 300px;
	height: 4px;
	background: #edf0f5;
	border-radius: 4px;
	margin: 0 auto 12px;
	overflow: hidden;
}

.alfa-progress-fill {
	height: 100%;
	background: linear-gradient(90deg, var(--v2-orange), #f5a623);
	border-radius: 4px;
	transition: width .4s ease;
}

.alfa-meer-laden-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 32px;
	background: #fff;
	color: var(--v2-navy);
	border: 2px solid var(--v2-navy);
	border-radius: 10px;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	transition: all .2s;
}

.alfa-meer-laden-btn:hover {
	background: var(--v2-navy);
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 4px 16px rgba(26,55,96,.2);
}

.alfa-meer-laden-btn:disabled {
	opacity: .6;
	cursor: wait;
}

/* Fade-in animation for loaded products */
.alfa-fade-in {
	animation: alfaFadeUp .35s ease;
}

@keyframes alfaFadeUp {
	from { opacity: 0; transform: translateY(12px); }
	to { opacity: 1; transform: translateY(0); }
}

/* ── Full mode responsive ── */
@media (max-width: 767px) {
	.alfa-search-modal.full-mode .alfa-search-container {
		max-width: 100%;
		max-height: 100vh;
		height: 100vh;
		max-height: 100dvh;  /* iOS URL bar fix */
		height: 100dvh;
		border-radius: 0;
	}

	.alfa-full-header {
		padding: 10px 14px;
		gap: 8px;
	}

	.alfa-full-title {
		font-size: 13px;
		width: 100%;
	}

	.alfa-full-controls {
		width: 100%;
		overflow: visible;
		flex-wrap: wrap;
		gap: 6px;
	}

	.alfa-filter-btn {
		padding: 6px 10px;
		font-size: 12px;
	}

	/* Mobil dropdown: masaüstü gibi butonun hemen altında açılsın */
	.alfa-drop-menu {
		position: absolute;
		top: calc(100% + 6px);
		bottom: auto;
		left: auto;
		right: 0;
		border-radius: 12px;
		max-height: 60vh;
		max-height: 60dvh;
		min-width: 220px;
		max-width: calc(100vw - 24px);
	}

	/* Eğer buton sağ kenara yakınsa dropdown sağa taşmasın */
	.alfa-filter-dropdown:first-child .alfa-drop-menu {
		left: 0;
		right: auto;
	}

	.alfa-full-products {
		padding: 8px 10px;
	}

	.alfa-full-product {
		flex-wrap: wrap;
		padding: 10px;
		gap: 10px;
	}

	.alfa-fp-img {
		width: 80px;
		height: 80px;
	}

	.alfa-fp-body {
		flex: 1;
		min-width: calc(100% - 96px);
	}

	.alfa-fp-right {
		width: 100%;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		min-width: auto;
		border-top: 1px solid #f0f2f5;
		padding-top: 8px;
	}

	.alfa-fp-price-block {
		text-align: left;
	}

	.alfa-fp-price {
		font-size: 16px;
	}

	.alfa-active-filters {
		padding: 6px 10px;
	}
}

@media (max-width: 480px) {
	.alfa-fp-name {
		font-size: 13px;
	}

	.alfa-meer-laden-btn {
		width: 100%;
		justify-content: center;
		padding: 12px 20px;
	}
}


/* ============================================
   V2 CATEGORY PAGE — Sidebar + Grid layout
   ============================================ */

/* Page-level layout: sidebar left + main right */
.v2-catpage-layout {
	display: flex;
	align-items: flex-start;
	gap: 32px;
	width: 100%;
}

/* ---- SIDEBAR ---- */
.v2-catpage-sidebar {
	width: 260px;
	flex-shrink: 0;
	position: sticky;
	top: 80px;
	align-self: flex-start;
}

.v2-catpage-sidebar-inner {
	background: #fff;
	border: 1px solid var(--v2-border);
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(17, 28, 45, 0.04);
}

.v2-catpage-sidebar-title {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #fff;
	background: linear-gradient(135deg, var(--v2-navy) 0%, var(--v2-navy-light) 100%);
	margin: 0;
	padding: 16px 20px;
}

.v2-catpage-sidebar-list {
	list-style: none;
	margin: 0;
	padding: 8px 0;
}

.v2-catpage-sidebar-item {
	margin: 0;
}

.v2-catpage-sidebar-item > a {
	display: block;
	padding: 10px 20px;
	font-size: 13.5px;
	color: var(--v2-text-dark);
	text-decoration: none;
	transition: var(--v2-transition);
	border-left: 3px solid transparent;
	line-height: 1.4;
}

.v2-catpage-sidebar-item > a:hover {
	background: var(--v2-bg-gray);
	color: var(--v2-navy);
	border-left-color: var(--v2-orange);
}

.v2-catpage-sidebar-item.active > a {
	font-weight: 700;
	color: var(--v2-navy);
	background: var(--v2-bg-hero);
	border-left-color: var(--v2-orange);
}

.v2-catpage-sidebar-sub {
	list-style: none;
	margin: 0;
	padding: 2px 0 6px 0;
	background: var(--v2-bg-gray);
	border-top: 1px solid var(--v2-border);
	border-bottom: 1px solid var(--v2-border);
}

.v2-catpage-sidebar-sub li { margin: 0; }

.v2-catpage-sidebar-sub li a {
	display: block;
	padding: 8px 20px 8px 34px;
	font-size: 13px;
	color: var(--v2-text-medium);
	text-decoration: none;
	transition: var(--v2-transition);
	border-left: 3px solid transparent;
}

.v2-catpage-sidebar-sub li a:hover {
	color: var(--v2-navy);
	background: #eaf0f6;
	border-left-color: var(--v2-orange);
}

.v2-catpage-sidebar-sub li.active a {
	color: var(--v2-orange);
	font-weight: 600;
	background: #fff8f0;
	border-left-color: var(--v2-orange);
}

/* ---- MAIN CONTENT ---- */
.v2-catpage-main {
	flex: 1;
	min-width: 0;
}

.v2-catpage-header {
	margin: 0 0 28px 0;
	padding: 0 0 20px 0;
	border-bottom: 1px solid var(--v2-border);
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.v2-catpage-title {
	font-size: 32px;
	font-weight: 800;
	color: var(--v2-navy);
	margin: 0;
	letter-spacing: -0.025em;
	line-height: 1.15;
}

.v2-catpage-subtitle {
	font-size: 14px;
	color: var(--v2-text-light);
	margin: 0;
	font-weight: 500;
}

/* ---- CATEGORY GRID ---- */
.v2-catpage-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(225px, 1fr));
	gap: 22px;
}

/* Individual category card */
.v2-catpage-card {
	position: relative;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--v2-border);
	border-radius: 14px;
	overflow: hidden;
	text-decoration: none;
	transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1),
	            box-shadow 0.3s cubic-bezier(0.2, 0.8, 0.2, 1),
	            border-color 0.3s ease;
	box-shadow: 0 1px 2px rgba(17, 28, 45, 0.04);
	isolation: isolate;
}

/* Top accent bar — slides in on hover */
.v2-catpage-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--v2-orange) 0%, var(--v2-orange-light) 100%);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
	z-index: 3;
}

.v2-catpage-card:hover {
	border-color: rgba(232, 132, 26, 0.25);
	transform: translateY(-4px);
	box-shadow: 0 14px 32px rgba(26, 55, 96, 0.12),
	            0 4px 8px rgba(26, 55, 96, 0.05);
}

.v2-catpage-card:hover::before { transform: scaleX(1); }

/* Image area */
.v2-catpage-card-img {
	width: 100%;
	aspect-ratio: 5/4;
	overflow: hidden;
	background:
		radial-gradient(circle at 50% 45%, #ffffff 0%, #f5f7fa 70%, #eaeef3 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 22px;
	position: relative;
}

.v2-catpage-card-img img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);
	filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.04));
}

.v2-catpage-card:hover .v2-catpage-card-img img { transform: scale(1.07); }

.v2-catpage-card-noimg {
	color: #cdd4dd;
	font-size: 48px;
	opacity: 0.6;
}

/* Info area */
.v2-catpage-card-info {
	padding: 16px 18px 18px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 1;
	background: #fff;
	border-top: 1px solid var(--v2-border);
}

.v2-catpage-card-name {
	font-size: 15px;
	font-weight: 700;
	color: var(--v2-navy);
	line-height: 1.35;
	letter-spacing: -0.01em;
	transition: color 0.2s ease;
}

.v2-catpage-card-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-top: auto;
}

.v2-catpage-card-count {
	display: inline-flex;
	align-items: center;
	font-size: 11.5px;
	font-weight: 700;
	color: var(--v2-orange);
	background: rgba(232, 132, 26, 0.1);
	padding: 4px 10px;
	border-radius: 999px;
	letter-spacing: 0.01em;
	white-space: nowrap;
}

.v2-catpage-card-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--v2-bg-hero);
	color: var(--v2-navy);
	font-size: 11px;
	transform: translateX(-6px);
	opacity: 0;
	transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1),
	            opacity 0.3s ease,
	            background 0.2s ease;
}

.v2-catpage-card:hover .v2-catpage-card-arrow {
	transform: translateX(0);
	opacity: 1;
	background: var(--v2-orange);
	color: #fff;
}

/* Empty state — 0 products */
.v2-catpage-card--empty { opacity: 0.6; }

.v2-catpage-card--empty:hover {
	transform: none;
	box-shadow: 0 1px 2px rgba(17, 28, 45, 0.04);
	border-color: var(--v2-border);
}

.v2-catpage-card--empty:hover::before { transform: scaleX(0); }

.v2-catpage-card--empty .v2-catpage-card-count {
	color: var(--v2-text-light);
	background: #f0f2f5;
}

.v2-catpage-card--empty:hover .v2-catpage-card-arrow {
	opacity: 0;
	transform: translateX(-6px);
}

/* ============================================
   RESPONSIVE — Category Page
   ============================================ */

@media (max-width: 1100px) {
	.v2-catpage-grid {
		grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
		gap: 18px;
	}
	.v2-catpage-title { font-size: 28px; }
}

@media (max-width: 900px) {
	.v2-catpage-sidebar { width: 220px; }
	.v2-catpage-grid {
		grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
		gap: 16px;
	}
}

@media (max-width: 680px) {
	.v2-catpage-layout {
		flex-direction: column;
		gap: 18px;
	}

	.v2-catpage-sidebar {
		width: 100%;
		position: static;
	}

	.v2-catpage-sidebar-inner { border-radius: var(--v2-radius-lg); }

	.v2-catpage-sidebar-title {
		cursor: pointer;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}

	.v2-catpage-sidebar-title::after {
		content: '\f107';
		font-family: 'FontAwesome';
		font-size: 14px;
		transition: transform 0.25s ease;
	}

	.v2-catpage-sidebar-list { display: none; }
	.v2-catpage-sidebar-list.open { display: block; }

	.v2-catpage-title { font-size: 24px; }
	.v2-catpage-subtitle { font-size: 13px; }

	.v2-catpage-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
	}

	.v2-catpage-card-info { padding: 12px 14px 14px; }
	.v2-catpage-card-name { font-size: 14px; }
	.v2-catpage-card-arrow { display: none; } /* No hover on touch */
}

@media (max-width: 380px) {
	.v2-catpage-grid { grid-template-columns: 1fr 1fr; }
	.v2-catpage-card-img { padding: 14px; }
}

/* =============================================================
   ARTIKELLEN V2 — Product Listing Page
   ============================================================= */

/* Wrapper: sidebar + main side-by-side */
.v2-artlist-wrap {
	display: flex;
	align-items: flex-start;
	gap: 24px;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 0 40px;
}

/* ── SIDEBAR ──────────────────────────────────────────────── */
.v2-artlist-aside {
	flex: 0 0 260px;
	min-width: 240px;
	max-width: 260px;
	position: sticky;
	top: 80px;
}

.v2-filter-sidebar-inner {
	background: #fff;
	border: 1px solid var(--v2-border);
	border-radius: var(--v2-radius-lg);
	overflow: hidden;
}

.v2-filter-block {
	padding: 18px 20px;
	border-bottom: 1px solid var(--v2-border);
}

.v2-filter-block:last-of-type {
	border-bottom: none;
}

.v2-filter-block-title {
	font-weight: 700;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--v2-navy);
	margin-bottom: 14px;
}

/* Price slider */
.v2-price-slider-wrap {
	padding: 0 4px;
}

.v2-price-range-track {
	position: relative;
	height: 6px;
	background: var(--v2-border);
	border-radius: 3px;
	margin: 28px 0 20px;
}

.v2-price-range-fill {
	position: absolute;
	height: 100%;
	background: var(--v2-orange);
	border-radius: 3px;
	pointer-events: none;
}

.v2-price-range-track input[type="range"] {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
	height: 24px;
	background: none;
	pointer-events: none;
	-webkit-appearance: none;
	appearance: none;
	margin: 0;
}

.v2-price-range-track input[type="range"]::-webkit-slider-thumb {
	pointer-events: all;
	-webkit-appearance: none;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: var(--v2-navy);
	border: 2px solid #fff;
	box-shadow: 0 1px 4px rgba(0,0,0,.25);
	cursor: pointer;
	transition: background .2s;
}

.v2-price-range-track input[type="range"]::-webkit-slider-thumb:hover {
	background: var(--v2-orange);
}

.v2-price-range-track input[type="range"]::-moz-range-thumb {
	pointer-events: all;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: var(--v2-navy);
	border: 2px solid #fff;
	cursor: pointer;
}

.v2-price-inputs {
	display: flex;
	align-items: center;
	gap: 8px;
}

.v2-price-input-group {
	display: flex;
	align-items: center;
	border: 1px solid var(--v2-border);
	border-radius: 6px;
	overflow: hidden;
	flex: 1;
	background: var(--v2-bg-gray);
}

.v2-price-input-group span {
	padding: 0 8px;
	color: #888;
	font-size: 13px;
	background: var(--v2-bg-gray);
}

.v2-price-input-group input[type="number"] {
	border: none;
	background: #fff;
	padding: 6px 8px;
	width: 100%;
	font-size: 13px;
	color: var(--v2-navy);
	-moz-appearance: textfield;
}

.v2-price-input-group input[type="number"]::-webkit-outer-spin-button,
.v2-price-input-group input[type="number"]::-webkit-inner-spin-button {
	-webkit-appearance: none;
}

.v2-price-sep {
	color: #aaa;
	font-size: 14px;
}

/* Merken / Dim checklist */
.v2-filter-checklist {
	list-style: none;
	margin: 0;
	padding: 0;
	max-height: 220px;
	overflow-y: auto;
}

.v2-filter-checklist li {
	margin-bottom: 8px;
}

.v2-filter-check {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: #444;
	cursor: pointer;
	transition: color .15s;
}

.v2-filter-check:hover {
	color: var(--v2-orange);
}

.v2-filter-check input[type="checkbox"] {
	accent-color: var(--v2-navy);
	width: 15px;
	height: 15px;
	flex-shrink: 0;
	cursor: pointer;
}

.v2-filter-check em {
	font-style: normal;
	color: #aaa;
	font-size: 11px;
}

/* Dimensie blocks */
.v2-filter-dim-title {
	cursor: pointer;
	user-select: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.v2-dim-toggle {
	font-size: 11px;
	color: #aaa;
}

.v2-dim-list.v2-dim-collapsed {
	display: none;
}

/* Filter actie knoppen — vooral Reset, want toepassen gebeurt nu auto via AJAX */
.v2-filter-actions {
	padding: 14px 20px;
	display: flex;
	gap: 10px;
	align-items: center;
	justify-content: center;
	border-top: 1px solid var(--v2-border);
}

.v2-filter-apply {
	display: none; /* niet meer nodig — auto-apply via AJAX */
}

/* AJAX loading overlay op het product-grid */
.v2-artlist-main {
	position: relative;
}
.v2-artlist-loading {
	position: absolute;
	inset: 0;
	background: rgba(255, 255, 255, 0.75);
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
	z-index: 10;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding-top: 120px;
	opacity: 0;
	pointer-events: none;
	transition: opacity .15s ease;
	border-radius: var(--v2-radius-lg);
}
.v2-artlist-main.is-loading .v2-artlist-loading {
	opacity: 1;
	pointer-events: auto;
}
.v2-artlist-spinner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	background: #fff;
	padding: 18px 26px;
	border-radius: 12px;
	box-shadow: 0 8px 28px rgba(0,0,0,0.12);
	border: 1px solid var(--v2-border);
}
.v2-artlist-spinner-ring {
	width: 36px;
	height: 36px;
	border: 3px solid #f0f3f5;
	border-top-color: var(--v2-orange);
	border-right-color: var(--v2-orange);
	border-radius: 50%;
	animation: v2-spin 0.7s linear infinite;
}
.v2-artlist-spinner-text {
	font-size: 13px;
	color: var(--v2-navy);
	font-weight: 600;
	letter-spacing: 0.02em;
}
@keyframes v2-spin {
	to { transform: rotate(360deg); }
}

/* Subtiele grid-fade tijdens laden zodat het visueel duidelijk is */
.v2-artlist-main.is-loading .v2-artlist-grid,
.v2-artlist-main.is-loading .v2-artlist-toolbar,
.v2-artlist-main.is-loading .v2-artlist-pag {
	transition: opacity .15s, filter .15s;
	opacity: 0.45;
	filter: grayscale(0.3);
	pointer-events: none;
}

/* Sidebar tijdens laden subtiel disabled */
.v2-artlist-aside.is-loading {
	pointer-events: none;
	opacity: 0.7;
	transition: opacity .15s;
}

/* Error toast (AJAX filter failed) */
.v2-filter-toast {
	position: fixed;
	bottom: 24px;
	left: 50%;
	transform: translateX(-50%);
	background: #2c3e50;
	color: #fff;
	padding: 12px 18px;
	border-radius: 8px;
	box-shadow: 0 8px 28px rgba(0,0,0,0.25);
	z-index: 9999;
	font-size: 14px;
	display: flex;
	align-items: center;
	gap: 12px;
	max-width: 92vw;
	animation: v2-toast-slide-up .25s ease-out;
}
.v2-filter-toast .v2-toast-icon { color: #ffc107; font-size: 18px; }
.v2-filter-toast .v2-toast-reload {
	background: var(--v2-orange);
	color: #fff;
	border: none;
	padding: 6px 12px;
	border-radius: 4px;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
}
.v2-filter-toast .v2-toast-reload:hover { background: #d96000; }
.v2-filter-toast .v2-toast-close {
	background: transparent;
	color: rgba(255,255,255,0.7);
	border: none;
	font-size: 22px;
	cursor: pointer;
	padding: 0 4px;
	line-height: 1;
}
.v2-filter-toast .v2-toast-close:hover { color: #fff; }
@keyframes v2-toast-slide-up {
	from { transform: translate(-50%, 30px); opacity: 0; }
	to   { transform: translate(-50%, 0);    opacity: 1; }
}

.v2-filter-reset {
	color: #aaa;
	font-size: 12px;
	text-decoration: none;
	display: flex;
	align-items: center;
	gap: 4px;
	white-space: nowrap;
	transition: color .2s;
}

.v2-filter-reset:hover {
	color: #e74c3c;
}

/* ── CATEGORIE NAVIGATIE (product listing sidebar) ─────────── */
/* Merk sidebar logo */
.v2-merk-header-block {
	text-align: center;
	padding: 16px 10px 20px;
	border-bottom: 1px solid var(--v2-border);
	margin-bottom: 6px;
}

.v2-merk-sidebar-logo {
	max-width: 160px;
	max-height: 70px;
	object-fit: contain;
	opacity: .85;
	transition: opacity .2s;
}

.v2-merk-sidebar-logo:hover {
	opacity: 1;
}

/* Merk category list in sidebar */
.v2-merk-catlist {
	list-style: none;
	margin: 0;
	padding: 0;
}

.v2-merk-catlist li {
	margin-bottom: 2px;
}

.v2-filter-catlink {
	display: block;
	font-size: 13px;
	font-weight: 500;
	color: #444;
	padding: 4px 0;
	text-decoration: none;
	transition: color .15s;
	line-height: 1.3;
}

.v2-filter-catlink:hover {
	color: var(--v2-orange);
}

.v2-filter-catlink em {
	font-style: normal;
	color: #999;
	font-size: 12px;
}

.v2-catnav-block {
	padding-bottom: 6px;
}

.v2-catnav-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Niveau 1 — hoofdcategorieën */
.v2-catnav-main {
	margin-bottom: 2px;
}

.v2-catnav-main > a {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: #444;
	padding: 5px 0;
	text-decoration: none;
	transition: color .15s;
	line-height: 1.3;
}

.v2-catnav-main > a:hover,
.v2-catnav-main > a.v2-catnav-current {
	color: var(--v2-orange);
}

/* Niveau 2 — subcategorieën */
.v2-catnav-sub {
	list-style: none;
	margin: 2px 0 4px 10px;
	padding: 0;
	border-left: 2px solid var(--v2-border);
}

.v2-catnav-sub > li > a {
	display: block;
	font-size: 12px;
	font-weight: 500;
	color: #666;
	padding: 3px 0 3px 8px;
	text-decoration: none;
	transition: color .15s;
	line-height: 1.3;
}

.v2-catnav-sub > li > a:hover,
.v2-catnav-sub > li > a.v2-catnav-current {
	color: var(--v2-orange);
}

/* Niveau 3 — sub-subcategorieën */
.v2-catnav-subsub {
	list-style: none;
	margin: 2px 0 2px 8px;
	padding: 0;
	border-left: 2px solid #f0d8b8;
}

.v2-catnav-subsub li a {
	display: block;
	font-size: 11px;
	font-weight: 400;
	color: #888;
	padding: 2px 0 2px 8px;
	text-decoration: none;
	transition: color .15s;
	line-height: 1.3;
}

.v2-catnav-subsub li a:hover,
.v2-catnav-subsub li a.v2-catnav-current {
	color: var(--v2-orange);
}

/* ── MAIN AREA ─────────────────────────────────────────────── */
.v2-artlist-main {
	flex: 1;
	min-width: 0;
}

/* ── Subcategorie strip BOVEN het product-grid ── */
.v2-artlist-subcats {
	margin: 0 0 18px 0;
	padding: 16px 18px 18px;
	background: #fff;
	border: 1px solid var(--v2-border);
	border-radius: var(--v2-radius-lg);
}
.v2-artlist-subcats-title {
	font-size: 14px;
	font-weight: 700;
	color: var(--v2-navy);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin-bottom: 12px;
}
.v2-artlist-subcats-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 10px;
}
.v2-artlist-subcat-card {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 10px;
	background: #fafbfc;
	border: 1px solid var(--v2-border);
	border-radius: var(--v2-radius);
	text-decoration: none;
	color: var(--v2-navy);
	transition: border-color .15s, background .15s, transform .15s;
}
.v2-artlist-subcat-card:hover {
	border-color: var(--v2-orange);
	background: #fff;
	transform: translateY(-1px);
}
.v2-artlist-subcat-img {
	width: 48px;
	height: 48px;
	flex: 0 0 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border: 1px solid var(--v2-border);
	border-radius: 6px;
	overflow: hidden;
}
.v2-artlist-subcat-img img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}
.v2-artlist-subcat-noimg {
	color: var(--v2-text-light);
	font-size: 18px;
}
.v2-artlist-subcat-info {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
	flex: 1;
}
.v2-artlist-subcat-name {
	font-size: 13px;
	font-weight: 600;
	line-height: 1.25;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.v2-artlist-subcat-count {
	font-size: 11px;
	color: var(--v2-text-light);
	font-weight: 500;
}
.v2-artlist-subcat--empty {
	opacity: 0.55;
}

/* ── Collapsible state + fade-out + "Meer laden" knop ── */
.v2-artlist-subcats-count {
	font-size: 11px;
	font-weight: 500;
	color: var(--v2-text-light);
	letter-spacing: 0;
	text-transform: none;
	margin-left: 4px;
}
.v2-artlist-subcats.is-collapsible {
	position: relative;
	padding-bottom: 56px; /* ruimte voor de absolute toggle-knop */
}
.v2-artlist-subcats.is-collapsible:not(.is-expanded) .v2-artlist-subcats-grid {
	max-height: 240px; /* ~2 rijen op desktop, klein klein op mobile */
	overflow: hidden;
	transition: max-height .25s ease;
}
.v2-artlist-subcats.is-expanded .v2-artlist-subcats-grid {
	max-height: none;
	transition: max-height .25s ease;
}
.v2-artlist-subcats-fade {
	display: none;
	pointer-events: none;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 56px; /* boven de toggle-knop */
	height: 90px;
	background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,0.85) 60%, #fff 100%);
	border-radius: 0 0 var(--v2-radius-lg) var(--v2-radius-lg);
}
.v2-artlist-subcats.is-collapsible:not(.is-expanded) .v2-artlist-subcats-fade {
	display: block;
}

.v2-artlist-subcats-toggle {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 14px;
	background: #fff;
	border: 1px solid var(--v2-border);
	color: var(--v2-navy);
	padding: 8px 18px;
	border-radius: 22px;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	box-shadow: 0 2px 6px rgba(0,0,0,0.06);
	transition: background .15s, border-color .15s, color .15s, transform .15s;
	z-index: 2;
}
.v2-artlist-subcats-toggle:hover {
	background: var(--v2-orange);
	border-color: var(--v2-orange);
	color: #fff;
	transform: translateX(-50%) translateY(-1px);
}
.v2-artlist-subcats-toggle .toggle-more,
.v2-artlist-subcats-toggle .toggle-less {
	display: none;
	align-items: center;
	gap: 6px;
}
.v2-artlist-subcats:not(.is-expanded) .v2-artlist-subcats-toggle .toggle-more { display: inline-flex; }
.v2-artlist-subcats.is-expanded     .v2-artlist-subcats-toggle .toggle-less { display: inline-flex; }

@media (max-width: 600px) {
	.v2-artlist-subcats { padding: 12px; }
	.v2-artlist-subcats.is-collapsible { padding-bottom: 56px; }
	.v2-artlist-subcats.is-collapsible:not(.is-expanded) .v2-artlist-subcats-grid {
		max-height: 200px; /* op mobile met smallere kaartjes ~3 rijen */
	}
	.v2-artlist-subcats-grid { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 8px; }
	.v2-artlist-subcat-img { width: 40px; height: 40px; flex-basis: 40px; }
	.v2-artlist-subcat-name { font-size: 12px; }
}

/* Toolbar */
.v2-artlist-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 16px;
	background: #fff;
	border: 1px solid var(--v2-border);
	border-radius: var(--v2-radius-lg);
	margin-bottom: 16px;
}

.v2-artlist-count {
	font-size: 14px;
	color: #555;
}

.v2-artlist-count span {
	font-weight: 700;
	color: var(--v2-navy);
}

.v2-artlist-sorters {
	display: flex;
	gap: 10px;
	align-items: center;
}

.v2-sort-select,
.v2-pp-select {
	border: 1px solid var(--v2-border);
	border-radius: 8px;
	padding: 8px 30px 8px 12px;
	font-size: 14px;
	color: var(--v2-navy);
	background: var(--v2-bg-gray) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%231a3760'/%3E%3C/svg%3E") right 10px center no-repeat;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
}

/* Pagination */
.v2-artlist-pag {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 6px;
	padding: 18px 0;
}

.v2-pg-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 10px;
	border: 1px solid var(--v2-border);
	border-radius: 8px;
	background: #fff;
	color: var(--v2-navy);
	font-size: 14px;
	text-decoration: none;
	transition: var(--v2-transition);
	font-weight: 500;
}

.v2-pg-btn:hover {
	background: var(--v2-navy);
	color: #fff;
	border-color: var(--v2-navy);
}

.v2-pg-btn.v2-pg-active {
	background: var(--v2-orange);
	color: #fff;
	border-color: var(--v2-orange);
	font-weight: 700;
}

.v2-pg-dots {
	color: #aaa;
	font-size: 16px;
	padding: 0 2px;
}

/* ── PRODUCT GRID ──────────────────────────────────────────── */
.v2-artlist-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}

/* Product card */
.v2-product-card {
	background: #fff;
	border: 1px solid var(--v2-border);
	border-radius: var(--v2-radius-lg);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: var(--v2-transition);
}

.v2-product-card:hover {
	box-shadow: 0 6px 24px rgba(26,55,96,.12);
	transform: translateY(-3px);
	border-color: #c8d0da;
}

/* Image area */
.v2-product-card-img-wrap {
	position: relative;
	overflow: hidden;
	background: var(--v2-bg-gray);
	aspect-ratio: 1 / 1;
}

.v2-product-card-img-wrap a {
	display: block;
	width: 100%;
	height: 100%;
}

.v2-product-img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 10px;
	transition: transform .3s ease;
}

.v2-product-card:hover .v2-product-img {
	transform: scale(1.04);
}

/* Enriched specs on listing cards */
.v2-card-specs {
	display: block;
	font-size: 12.5px;
	color: #666;
	line-height: 1.4;
	margin-top: 3px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Badges */
.v2-badge-korting {
	position: absolute;
	top: 10px;
	left: 10px;
	background: var(--v2-orange);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	padding: 4px 9px;
	border-radius: 5px;
	z-index: 2;
	line-height: 1.3;
}

.v2-badge-merk {
	position: absolute;
	top: 10px;
	right: 10px;
	background: #f5e6c8;
	color: #8b5e10;
	font-size: 11px;
	font-weight: 700;
	padding: 3px 8px;
	border-radius: 5px;
	z-index: 2;
	max-width: 90px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Card body */
.v2-product-card-body {
	padding: 12px 14px 14px;
	display: flex;
	flex-direction: column;
	flex: 1;
	gap: 6px;
}

.v2-product-title {
	font-size: 14.5px;
	font-weight: 700;
	color: var(--v2-navy);
	text-decoration: none;
	line-height: 1.4;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 40px;
	transition: color .15s;
}

.v2-product-title:hover {
	color: var(--v2-orange);
}

.v2-product-meta {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.v2-product-meta-merk {
	font-size: 13px;
	color: var(--v2-orange);
	font-weight: 700;
}

.v2-product-meta-stock {
	font-size: 12px;
	line-height: 1;
}

/* Voorraad badge — groen */
.v2-product-card .in-stock,
.v2-product-card .op-voorraad,
.v2-product-card .opvoorraad {
	display: inline-block !important;
	background: #27ae60 !important;
	color: #fff !important;
	font-size: 11.5px !important;
	font-weight: 700 !important;
	padding: 3px 10px !important;
	border-radius: 20px !important;
	line-height: 1.4 !important;
	white-space: nowrap !important;
	border: none !important;
	text-decoration: none !important;
	box-shadow: none !important;
	float: none !important;
}

/* Voorraad badge — rood */
.v2-product-card .out-of-stock,
.v2-product-card .niet-op-voorraad,
.v2-product-card .nietopvoorraad {
	display: inline-block !important;
	background: #e74c3c !important;
	color: #fff !important;
	font-size: 11.5px !important;
	font-weight: 700 !important;
	padding: 3px 10px !important;
	border-radius: 20px !important;
	line-height: 1.4 !important;
	white-space: nowrap !important;
	border: none !important;
	float: none !important;
	text-decoration: none !important;
	box-shadow: none !important;
}

.v2-product-meta-extra {
	display: flex;
	flex-direction: column;
	gap: 3px;
	font-size: 12.5px;
	color: #666;
	margin-top: 3px;
}

.v2-product-meta-extra span {
	display: flex;
	align-items: center;
	gap: 4px;
}

.v2-product-meta-extra .fa {
	color: #bbb;
	width: 12px;
}

.v2-artnr {
	color: #888 !important;
	font-size: 12px !important;
	font-weight: 500 !important;
}

/* Price */
.v2-product-price-area {
	margin-top: auto;
	padding-top: 8px;
	display: flex;
	align-items: baseline;
	gap: 8px;
}

.v2-old-price {
	font-size: 13px;
	color: #999;
	text-decoration: line-through;
}

.v2-sale-price {
	font-size: 20px;
	font-weight: 800;
	color: var(--v2-navy);
	letter-spacing: -0.3px;
}

/* Cart row */
.v2-product-cart-row {
	display: flex;
	gap: 6px;
	margin-top: 8px;
	align-items: center;
}

.v2-qty-input {
	width: 52px;
	border: 1px solid var(--v2-border);
	border-radius: 7px;
	padding: 7px 6px;
	font-size: 14px;
	text-align: center;
	color: var(--v2-navy);
	-moz-appearance: textfield;
}

.v2-qty-input::-webkit-outer-spin-button,
.v2-qty-input::-webkit-inner-spin-button {
	-webkit-appearance: none;
}

.v2-cart-form {
	flex: 1;
}

/* Scoped to listing cards: header'daki turuncu .v2-cart-btn'i ezmemesi için */
.v2-product-cart-row .v2-cart-btn {
	width: 100%;
	background: #27ae60;
	color: #fff;
	border: none;
	border-radius: 7px;
	padding: 9px 12px;
	font-size: 13.5px;
	font-weight: 700;
	cursor: pointer;
	transition: background .2s;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	white-space: nowrap;
}

.v2-product-cart-row .v2-cart-btn:hover {
	background: #1e8449;
}

/* Empty state */
.v2-artlist-empty {
	text-align: center;
	padding: 60px 20px;
	color: #999;
}

.v2-artlist-empty .fa {
	font-size: 40px;
	margin-bottom: 16px;
	display: block;
	color: #ddd;
}

.v2-artlist-empty p {
	margin-bottom: 20px;
	font-size: 15px;
}

.v2-btn-orange {
	display: inline-block;
	background: var(--v2-orange);
	color: #fff !important;
	padding: 10px 24px;
	border-radius: 8px;
	font-weight: 600;
	text-decoration: none;
	transition: background .2s;
}

.v2-btn-orange:hover {
	background: var(--v2-navy);
}

/* Error state */
.v2-artlist-error {
	background: #fde9e7;
	color: #c0392b;
	padding: 16px 20px;
	border-radius: 8px;
	font-size: 14px;
	margin: 20px 0;
}

/* Mobile toggle button */
.v2-artlist-mobile-header {
	display: none;
}

.v2-filter-toggle-btn {
	background: var(--v2-navy);
	color: #fff;
	border: none;
	border-radius: 8px;
	padding: 10px 18px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 8px;
}

/* ── RESPONSIVE ───────────────────────────────────────────── */
@media (max-width: 1100px) {
	.v2-artlist-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 900px) {
	.v2-artlist-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.v2-artlist-wrap {
		flex-direction: column;
		gap: 16px;
	}

	.v2-artlist-aside {
		flex: none;
		width: 100%;
		max-width: 100%;
		min-width: unset;
		position: static;
		display: none; /* hidden by default on mobile, toggled by JS */
	}

	.v2-artlist-aside.v2-filter-open {
		display: block;
	}

	.v2-artlist-mobile-header {
		display: flex;
		align-items: center;
		gap: 12px;
		margin-bottom: 4px;
	}

	.v2-artlist-toolbar {
		flex-wrap: wrap;
		gap: 10px;
	}

	.v2-artlist-sorters {
		flex-wrap: wrap;
		width: 100%;
	}

	.v2-sort-select,
	.v2-pp-select {
		flex: 1;
		min-width: 130px;
	}
}

@media (max-width: 540px) {
	.v2-artlist-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 14px;
	}

	.v2-artlist-wrap {
		padding-left: 10px;
		padding-right: 10px;
	}

	.v2-product-card-body {
		padding: 10px;
	}

	.v2-sale-price {
		font-size: 17px;
		font-weight: 800;
	}

	.v2-product-title {
		font-size: 13px;
		font-weight: 700;
	}

	/* Cart row: stack qty + button vertically so button doesn't overflow card */
	.v2-product-cart-row {
		flex-direction: column;
		align-items: stretch;
		gap: 6px;
	}

	.v2-product-cart-row .v2-qty-input {
		width: 100%;
		height: 38px;
		font-size: 14px;
		padding: 6px;
	}

	.v2-product-cart-row .v2-cart-form {
		width: 100%;
	}

	.v2-product-cart-row .v2-cart-btn {
		width: 100%;
		padding: 10px 8px;
		font-size: 12.5px;
		letter-spacing: 0.2px;
		text-transform: none;
		white-space: normal;
		min-width: 0;
	}

	.v2-product-cart-row .v2-cart-btn .fa {
		font-size: 13px;
	}

	/* Marka badge'i mobilde gizle (alt tarafta zaten yazıyor + korting badge'i ile çakışıyor) */
	.v2-product-card .v2-badge-merk {
		display: none;
	}
}

/* ===================================================================
   V2 PRODUCT DETAIL PAGE  –  ARTIKEL_V2
   =================================================================== */

.v2-pdp-wrap {
	max-width: 1280px;
	margin: 0 auto;
	padding: 24px 16px 48px;
}

/* ── Hero: 2-column layout ────────────────────────────────────────── */
.v2-pdp-hero {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	align-items: start;
	margin-bottom: 40px;
}

/* ── Gallery ─────────────────────────────────────────────────────── */
.v2-pdp-gallery {
	position: sticky;
	top: 20px;
}

.v2-pdp-main-img-wrap {
	position: relative;
	background: #fff;
	border: 1px solid var(--v2-border);
	border-radius: var(--v2-radius-lg);
	overflow: hidden;
	aspect-ratio: 4 / 3;
	width: 100%;
	margin-bottom: 12px;
}

.v2-pdp-main-img-wrap > a {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}

.v2-pdp-main-img-wrap img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	display: block;
	transition: opacity .25s ease;
}

.v2-pdp-sale-badge {
	position: absolute;
	top: 14px;
	left: 14px;
	background: var(--v2-orange);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	padding: 6px 10px;
	border-radius: 6px;
	z-index: 2;
	text-transform: uppercase;
	letter-spacing: .5px;
}

.v2-pdp-hidden-fancy {
	display: none;
}

/* Thumbnails */
.v2-pdp-thumbs {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.v2-pdp-thumb {
	width: 72px;
	height: 72px;
	border: 2px solid var(--v2-border);
	border-radius: 8px;
	overflow: hidden;
	cursor: pointer;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 4px;
	transition: border-color .15s;
	flex-shrink: 0;
}

.v2-pdp-thumb img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.v2-pdp-thumb:hover,
.v2-pdp-thumb.v2-thumb-active {
	border-color: var(--v2-orange);
}

/* ── Left column wrapper ─────────────────────────────────────────── */
.v2-pdp-left-col {
	display: flex;
	flex-direction: column;
	gap: 0;
}

/* ── Left-side extras (below gallery) ────────────────────────────── */
.v2-pdp-left-extras {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin-top: 20px;
}

.v2-left-specs-card,
.v2-left-usp-card {
	background: #fff;
	border: 1px solid var(--v2-border);
	border-radius: var(--v2-radius-lg);
	overflow: hidden;
}

.v2-left-card-title {
	font-size: 13px;
	font-weight: 700;
	color: var(--v2-navy);
	padding: 14px 18px;
	background: var(--v2-bg-gray);
	border-bottom: 1px solid var(--v2-border);
	display: flex;
	align-items: center;
	gap: 8px;
}

.v2-left-card-title .fa {
	color: var(--v2-orange);
	font-size: 14px;
}

.v2-left-specs-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
}

.v2-left-specs-table th,
.v2-left-specs-table td {
	padding: 10px 18px;
	vertical-align: middle;
	border-bottom: 1px solid #f3f4f6;
}

.v2-left-specs-table th {
	font-weight: 600;
	color: #888;
	width: 40%;
	text-align: left;
}

.v2-left-specs-table td {
	color: var(--v2-navy);
	font-weight: 500;
}

.v2-left-specs-table tr:last-child th,
.v2-left-specs-table tr:last-child td {
	border-bottom: none;
}

/* USP Grid */
.v2-usp-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
}

.v2-usp-item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	border-bottom: 1px solid #f3f4f6;
	border-right: 1px solid #f3f4f6;
	transition: background 0.15s ease;
}

.v2-usp-item:hover {
	background: #f8fafc;
}

.v2-usp-item:nth-child(2n) {
	border-right: none;
}

.v2-usp-item:nth-last-child(-n+2) {
	border-bottom: none;
}

.v2-usp-icon {
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: linear-gradient(135deg, #eef2f8, #dfe6f0);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.v2-usp-icon .fa {
	font-size: 15px;
	color: var(--v2-navy);
}

.v2-usp-text {
	display: flex;
	flex-direction: column;
	gap: 1px;
	min-width: 0;
}

.v2-usp-text strong {
	font-size: 13.5px;
	font-weight: 700;
	color: var(--v2-navy);
	line-height: 1.3;
}

.v2-usp-text span {
	font-size: 12.5px;
	color: #666;
	line-height: 1.3;
}

/* ── Product info column ─────────────────────────────────────────── */
.v2-pdp-info {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.v2-pdp-brand {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 1.4px;
	color: var(--v2-orange, #e67e22);
	background: linear-gradient(135deg, rgba(230,126,34,.10), rgba(230,126,34,.04));
	border: 1px solid rgba(230,126,34,.25);
	padding: 5px 12px;
	border-radius: 999px;
	align-self: flex-start;
	opacity: 1;
	position: relative;
	transition: all .2s ease;
}

.v2-pdp-brand::before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	background: var(--v2-orange, #e67e22);
	border-radius: 50%;
	box-shadow: 0 0 0 3px rgba(230,126,34,.18);
}

.v2-pdp-brand:hover {
	background: linear-gradient(135deg, rgba(230,126,34,.18), rgba(230,126,34,.08));
	border-color: rgba(230,126,34,.45);
}

.v2-pdp-name {
	font-size: 26px;
	font-weight: 800;
	color: var(--v2-navy);
	line-height: 1.3;
	margin: 4px 0 0 0;
	letter-spacing: -0.3px;
	position: relative;
	padding-bottom: 14px;
}

.v2-pdp-name::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 40px;
	height: 3px;
	background: linear-gradient(90deg, var(--v2-orange, #e67e22) 0%, rgba(230,126,34,.2) 100%);
	border-radius: 3px;
}

.v2-pdp-name-specs {
	font-weight: 500;
	font-size: 16px;
	color: #7a8190;
	letter-spacing: 0.1px;
}

.v2-pdp-sku {
	font-size: 14px;
	color: #777;
}

.v2-pdp-sku strong {
	color: #444;
	font-weight: 700;
}

/* Stock row wrapper */
.v2-pdp-stock-row {
	margin-top: 10px;
}

/* Stock badges on detail page */
.v2-pdp-stock-row .in-stock,
.v2-pdp-stock-row .op-voorraad,
.v2-pdp-stock-row .opvoorraad {
	display: inline-flex !important;
	align-items: center;
	gap: 7px;
	background: linear-gradient(135deg, #2ecc71 0%, #27ae60 100%) !important;
	color: #fff !important;
	font-size: 12.5px !important;
	font-weight: 700 !important;
	padding: 6px 14px 6px 11px !important;
	border-radius: 999px !important;
	line-height: 1.3 !important;
	white-space: nowrap !important;
	border: none !important;
	box-shadow: 0 2px 8px rgba(39,174,96,.25) !important;
	float: none !important;
	text-decoration: none !important;
	letter-spacing: 0.2px !important;
	position: relative;
}

.v2-pdp-stock-row .in-stock::before,
.v2-pdp-stock-row .op-voorraad::before,
.v2-pdp-stock-row .opvoorraad::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 0 0 3px rgba(255,255,255,.35);
	animation: v2-stock-pulse 2s ease-in-out infinite;
}

@keyframes v2-stock-pulse {
	0%, 100% { box-shadow: 0 0 0 3px rgba(255,255,255,.35); }
	50% { box-shadow: 0 0 0 5px rgba(255,255,255,.15); }
}

.v2-pdp-stock-row .out-of-stock,
.v2-pdp-stock-row .niet-op-voorraad,
.v2-pdp-stock-row .nietopvoorraad {
	display: inline-flex !important;
	align-items: center;
	gap: 7px;
	background: linear-gradient(135deg, #e74c3c 0%, #c0392b 100%) !important;
	color: #fff !important;
	font-size: 12.5px !important;
	font-weight: 700 !important;
	padding: 6px 14px 6px 11px !important;
	border-radius: 999px !important;
	line-height: 1.3 !important;
	white-space: nowrap !important;
	border: none !important;
	box-shadow: 0 2px 8px rgba(231,76,60,.25) !important;
	float: none !important;
	text-decoration: none !important;
}

/* ── Price block ─────────────────────────────────────────────────── */
.v2-pdp-price-block {
	background: var(--v2-bg-gray);
	border: 1px solid var(--v2-border);
	border-radius: var(--v2-radius-lg);
	padding: 16px 20px;
}

.v2-pdp-old-price {
	font-size: 15px;
	color: #999;
	text-decoration: line-through;
	margin-bottom: 2px;
}

.v2-pdp-savings {
	font-size: 13px;
	color: #e67e22;
	font-weight: 700;
	margin-bottom: 6px;
}

.v2-pdp-sale-price {
	font-size: 32px;
	font-weight: 800;
	color: var(--v2-navy);
	line-height: 1.1;
}

.v2-pdp-excl-label {
	font-size: 14px;
	font-weight: 400;
	color: #888;
}

.v2-pdp-incl-price {
	font-size: 13px;
	color: #777;
	margin-top: 4px;
}

/* ── Cart form ───────────────────────────────────────────────────── */
.v2-pdp-cart-form {
	margin: 0;
}

.v2-pdp-cart-row {
	display: flex;
	gap: 10px;
	align-items: center;
	flex-wrap: wrap;
}

.v2-pdp-qty-wrap {
	display: flex;
	align-items: center;
	border: 2px solid var(--v2-border);
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
	flex-shrink: 0;
}

.v2-qty-btn {
	width: 40px;
	height: 48px;
	background: var(--v2-bg-gray);
	border: none;
	font-size: 18px;
	font-weight: 700;
	color: var(--v2-navy);
	cursor: pointer;
	transition: background .15s;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.v2-qty-btn:hover {
	background: #e2e6ea;
}

.v2-qty-input {
	width: 56px;
	height: 48px;
	border: none;
	border-left: 1px solid var(--v2-border);
	border-right: 1px solid var(--v2-border);
	text-align: center;
	font-size: 16px;
	font-weight: 600;
	color: var(--v2-navy);
	outline: none;
	-moz-appearance: textfield;
}

.v2-qty-input::-webkit-outer-spin-button,
.v2-qty-input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.v2-pdp-add-btn {
	flex: 1;
	min-width: 180px;
	height: 48px;
	background: #27ae60;
	color: #fff;
	border: none;
	border-radius: 8px;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
	transition: background .15s, transform .1s;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	white-space: nowrap;
}

.v2-pdp-add-btn:hover {
	background: #1e8449;
	transform: translateY(-1px);
}

.v2-pdp-add-btn:active {
	transform: translateY(0);
}

/* ── Inline Specs + USP block (side by side) ────────────────────── */
.v2-pdp-specs-usp {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	padding: 16px 0;
	border-top: 1px solid var(--v2-border);
	border-bottom: 1px solid var(--v2-border);
}

.v2-pdp-mini-specs {
	border-collapse: collapse;
	width: 100%;
}

.v2-pdp-mini-specs tr { border-bottom: 1px solid #f2f3f5; }
.v2-pdp-mini-specs tr:last-child { border-bottom: none; }

.v2-ms-label {
	font-size: 12px;
	font-weight: 700;
	color: #666;
	padding: 6px 8px 6px 0;
	white-space: nowrap;
	vertical-align: top;
}

.v2-ms-val {
	font-size: 12px;
	color: var(--v2-navy);
	padding: 6px 0;
	vertical-align: top;
}

.v2-ms-link {
	color: var(--v2-orange);
	font-weight: 600;
	text-decoration: none;
}
.v2-ms-link:hover { text-decoration: underline; }

.v2-ms-levertijd {
	color: #27ae60;
	font-weight: 600;
}

/* Green checkmark USPs */
.v2-pdp-check-usps {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding-top: 2px;
}

.v2-check-usp {
	font-size: 12px;
	color: #333;
	display: flex;
	align-items: center;
	gap: 7px;
	line-height: 1.4;
}

.v2-check-usp .fa-check-circle {
	color: #27ae60;
	font-size: 15px;
	flex-shrink: 0;
}

/* ── Termijnen (installment) text ────────────────────────────────── */
.v2-pdp-termijnen {
	font-size: 13px;
	color: #666;
	margin-top: 4px;
	font-style: italic;
}
.v2-pdp-termijnen strong {
	color: var(--v2-navy);
	font-style: normal;
}

/* ── Trust items (legacy) ────────────────────────────────────────── */
.v2-pdp-trust {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}

.v2-trust-item {
	font-size: 12px;
	color: #444;
	display: flex;
	align-items: center;
	gap: 6px;
}

.v2-trust-item .fa {
	color: var(--v2-orange);
	font-size: 14px;
	width: 16px;
	text-align: center;
	flex-shrink: 0;
}

/* ── Meta table ──────────────────────────────────────────────────── */
.v2-pdp-meta-wrap {
	border-top: 1px solid var(--v2-border);
	padding-top: 14px;
}

.v2-pdp-meta-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
}

.v2-pdp-meta-table th,
.v2-pdp-meta-table td {
	padding: 7px 0;
	vertical-align: middle;
	border-bottom: 1px solid #f0f0f0;
}

.v2-pdp-meta-table th {
	font-weight: 600;
	color: #888;
	width: 40%;
	padding-right: 12px;
}

.v2-pdp-meta-table td {
	color: var(--v2-navy);
}

.v2-energielabel {
	height: 28px;
	width: auto;
}

/* ── Payment logos ───────────────────────────────────────────────── */
.v2-pdp-payments {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-top: 4px;
}

.v2-payment-label {
	font-size: 12px;
	color: #666;
	font-weight: 600;
}

.v2-pdp-pay-icons {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	align-items: center;
}

.v2-pdp-pay-icon {
	width: 48px;
	height: 32px;
	border-radius: 4px;
	overflow: hidden;
	flex-shrink: 0;
	transition: transform .15s;
}

.v2-pdp-pay-icon:hover {
	transform: scale(1.08);
}

.v2-pdp-pay-icon svg {
	width: 100%;
	height: 100%;
	display: block;
}

/* ── Tabs section ────────────────────────────────────────────────── */
.v2-pdp-tabs-section {
	background: #fff;
	border: 1px solid var(--v2-border);
	border-radius: var(--v2-radius-lg);
	overflow: hidden;
	margin-bottom: 40px;
}

.v2-pdp-tab-nav {
	display: flex;
	border-bottom: 2px solid var(--v2-border);
	background: var(--v2-bg-gray);
}

.v2-tab-btn {
	padding: 14px 28px;
	font-size: 14px;
	font-weight: 600;
	color: #777;
	background: none;
	border: none;
	border-bottom: 3px solid transparent;
	cursor: pointer;
	transition: color .15s, border-color .15s;
	margin-bottom: -2px;
}

.v2-tab-btn:hover {
	color: var(--v2-navy);
}

.v2-tab-btn.active {
	color: var(--v2-navy);
	border-bottom-color: var(--v2-orange);
	background: #fff;
}

.v2-pdp-tab-body {
	padding: 28px;
}

.v2-tab-pane {
	display: none;
}

.v2-tab-pane.active {
	display: block;
}

/* Mobile: 3 tabs eşit genişlik + küçük padding, hepsi sığsın */
@media (max-width: 600px) {
	.v2-pdp-tab-nav {
		flex-wrap: nowrap;
	}

	.v2-tab-btn {
		flex: 1 1 0;
		min-width: 0;
		padding: 12px 4px;
		font-size: 12.5px;
		font-weight: 700;
		text-align: center;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		letter-spacing: -0.2px;
	}

	.v2-tab-btn .fa-star {
		margin-right: 2px;
		font-size: 11px;
	}
}

@media (max-width: 380px) {
	.v2-tab-btn {
		font-size: 11.5px;
		padding: 11px 2px;
	}
}

.v2-pdp-beschrijving {
	font-size: 14px;
	line-height: 1.75;
	color: #444;
	max-width: 800px;
}

.v2-pdp-beschrijving p { margin-bottom: 12px; }
.v2-pdp-beschrijving ul { padding-left: 20px; margin-bottom: 12px; }
.v2-pdp-beschrijving li { margin-bottom: 6px; }

.v2-pdp-seo-desc {
	background: #f8faf9;
	border-left: 3px solid #27ae60;
	padding: 14px 18px;
	margin-bottom: 18px;
	border-radius: 0 6px 6px 0;
	font-size: 14px;
	line-height: 1.7;
	color: #333;
}

/* ── Specs Table: modern zebra-striped design ────────────────── */
.v2-specs-table {
	width: 100%;
	max-width: 720px;
	border-collapse: separate;
	border-spacing: 0;
	font-size: 14px;
	border: 1px solid var(--v2-border);
	border-radius: var(--v2-radius-lg);
	overflow: hidden;
}

.v2-specs-table th,
.v2-specs-table td {
	padding: 13px 18px;
	text-align: left;
	border-bottom: 1px solid #f0f1f3;
	vertical-align: middle;
}

.v2-specs-table tr:last-child th,
.v2-specs-table tr:last-child td {
	border-bottom: none;
}

.v2-specs-table th {
	background: transparent;
	font-weight: 700;
	color: #555;
	width: 38%;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.3px;
	position: relative;
	padding-left: 36px;
}

.v2-specs-table th::before {
	content: '\f105';
	font-family: 'FontAwesome';
	position: absolute;
	left: 16px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--v2-orange);
	font-size: 14px;
	font-weight: 400;
}

.v2-specs-table td {
	color: var(--v2-navy);
	font-weight: 600;
}

/* Zebra striping */
.v2-specs-table tr:nth-child(even) {
	background: #f9fafb;
}

.v2-specs-table tr:hover {
	background: #f0f4f8;
}

/* Energy label image in table */
.v2-specs-table .v2-energielabel {
	height: 28px;
	width: auto;
	vertical-align: middle;
}

/* ── Related / recently viewed sections ──────────────────────────── */
/* ── PDP Recommendation Sections (Related / Similar / Eerder Bekeken) ─── */
.v2-pdp-rec-section {
	margin-bottom: 48px;
}

.v2-pdp-sec-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 24px;
	position: relative;
}

.v2-pdp-sec-header::after {
	content: '';
	position: absolute;
	bottom: -8px;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--v2-orange) 0%, var(--v2-navy) 50%, transparent 100%);
	border-radius: 2px;
}

.v2-pdp-sec-title {
	font-size: 22px;
	font-weight: 800;
	color: var(--v2-navy);
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 10px;
}

.v2-pdp-sec-title i {
	color: var(--v2-orange);
	font-size: 20px;
}

/* Cards track – horizontal scrollable */
.v2-pdp-cards-track {
	display: flex;
	gap: 16px;
	overflow-x: auto;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
	scrollbar-color: var(--v2-border) transparent;
	padding: 8px 4px 16px;
}

.v2-pdp-cards-track::-webkit-scrollbar {
	height: 6px;
}

.v2-pdp-cards-track::-webkit-scrollbar-thumb {
	background: #ccd3dc;
	border-radius: 3px;
}

.v2-pdp-cards-track::-webkit-scrollbar-track {
	background: transparent;
}

/* Product card in recommendation sections */
.v2-pdp-cards-track .v2-pcard {
	flex: 0 0 220px;
	min-width: 200px;
	max-width: 240px;
	border-radius: 12px;
	border: 1px solid #e8ecf1;
	box-shadow: 0 2px 8px rgba(26,55,96,.06);
	transition: all .25s ease;
}

.v2-pdp-cards-track .v2-pcard:hover {
	box-shadow: 0 8px 28px rgba(26,55,96,.14);
	transform: translateY(-4px);
	border-color: var(--v2-orange);
}

/* img link in helper cards – needs position:relative so badge stays inside */
.v2-product-card-img-link {
	position: relative;
	display: block;
	overflow: hidden;
	background: #fafbfc;
	aspect-ratio: 1 / 1;
	border-radius: 12px 12px 0 0;
}

.v2-product-card-img-link img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
	padding: 12px;
	transition: transform .3s ease;
}

.v2-product-card-img-link:hover img {
	transform: scale(1.06);
}

/* sale badge inside related cards */
.v2-card-sale-badge {
	position: absolute;
	top: 10px;
	left: 10px;
	background: linear-gradient(135deg, #e74c3c, #c0392b);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	padding: 4px 10px;
	border-radius: 6px;
	z-index: 2;
	box-shadow: 0 2px 6px rgba(231,76,60,.3);
}

.v2-card-brand {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .8px;
	color: var(--v2-orange);
	opacity: .8;
	margin-bottom: 4px;
}

/* ── Product card footer (price + cart button) ─── */
.v2-pcard-footer {
	margin-top: auto;
	padding-top: 10px;
	border-top: 1px solid #f0f2f5;
}

.v2-pcard-price-row {
	display: flex;
	align-items: baseline;
	gap: 6px;
	flex-wrap: wrap;
	margin-bottom: 10px;
}

.v2-pcard-btw {
	font-size: 10px;
	color: #999;
	font-weight: 400;
}

.v2-pcard-cart-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	padding: 9px 12px;
	background: linear-gradient(135deg, #27ae60, #219a52);
	color: #fff;
	border: none;
	border-radius: 8px;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	transition: all .2s ease;
	box-shadow: 0 2px 8px rgba(39,174,96,.2);
}

.v2-pcard-cart-btn:hover {
	background: linear-gradient(135deg, #219a52, #1a7a40);
	box-shadow: 0 4px 14px rgba(39,174,96,.35);
	transform: translateY(-1px);
}

.v2-pcard-cart-btn i {
	font-size: 14px;
}

.v2-pcard-cart-btn span {
	font-size: 12px;
}

/* Adding state (spinner) */
.v2-pcard-cart-btn.v2-pcard-adding {
	pointer-events: none;
	opacity: .7;
}

/* Added state (success) */
.v2-pcard-cart-btn.v2-pcard-added {
	background: linear-gradient(135deg, #2ecc71, #27ae60) !important;
	box-shadow: 0 4px 14px rgba(46,204,113,.4);
}

/* ── LEGACY COMPAT: old .v2-pdp-related-section ─── */
.v2-pdp-related-section { margin-bottom: 48px; }
.v2-pdp-section-title { font-size: 20px; font-weight: 700; color: var(--v2-navy); margin-bottom: 20px; padding-bottom: 10px; border-bottom: 2px solid var(--v2-border); }

/* ── Responsive ──────────────────────────────────────────────────── */
@media (max-width: 900px) {
	.v2-pdp-hero {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.v2-pdp-gallery {
		position: static;
	}

	.v2-pdp-left-extras {
		display: none;
	}

	.v2-pdp-name {
		font-size: 20px;
	}

	.v2-pdp-sale-price {
		font-size: 26px;
	}

	.v2-pdp-specs-usp {
		grid-template-columns: 1fr;
		gap: 12px;
	}
}

@media (max-width: 600px) {
	.v2-pdp-wrap {
		padding: 16px 12px 32px;
	}

	.v2-pdp-tab-btn {
		padding: 12px 16px;
		font-size: 13px;
	}

	.v2-pdp-tab-body {
		padding: 18px;
	}

	.v2-pdp-trust {
		grid-template-columns: 1fr;
	}

	.v2-pdp-add-btn {
		min-width: 140px;
		font-size: 14px;
	}

	.v2-pdp-sale-price {
		font-size: 22px;
	}

	.v2-pdp-sec-title {
		font-size: 18px;
	}

	.v2-pdp-cards-track .v2-pcard {
		flex: 0 0 180px;
		min-width: 170px;
	}

	.v2-pcard-cart-btn span {
		display: none;
	}

	.v2-pcard-cart-btn {
		padding: 10px;
	}
}

/* ===================================================================
   V2 PDP – Quick-action toolbar & Advies card
   =================================================================== */

/* ── Toolbar ──────────────────────────────────────────────────────── */
.v2-pdp-toolbar {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.v2-toolbar-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 14px;
	border: 1.5px solid var(--v2-border);
	border-radius: 20px;
	font-size: 12px;
	font-weight: 600;
	color: #555;
	background: #fff;
	text-decoration: none;
	transition: border-color .15s, color .15s, background .15s;
	white-space: nowrap;
	cursor: pointer;
}

.v2-toolbar-btn .fa {
	font-size: 13px;
	color: var(--v2-navy);
}

.v2-toolbar-btn:hover {
	border-color: var(--v2-navy);
	color: var(--v2-navy);
	background: #f0f3f7;
	text-decoration: none;
}

.v2-toolbar-btn--orange {
	border-color: var(--v2-orange);
	color: var(--v2-orange);
}

.v2-toolbar-btn--orange .fa {
	color: var(--v2-orange);
}

.v2-toolbar-btn--orange:hover {
	background: var(--v2-orange);
	color: #fff;
	border-color: var(--v2-orange);
}

.v2-toolbar-btn--orange:hover .fa {
	color: #fff;
}

/* ── Advies card ──────────────────────────────────────────────────── */
.v2-pdp-advies {
	background: linear-gradient(135deg, #1a3760, #244872);
	border: none;
	border-radius: var(--v2-radius-lg);
	padding: 22px 24px;
	color: #fff;
	position: relative;
	overflow: hidden;
}

.v2-pdp-advies::before {
	content: '';
	position: absolute;
	top: -20px;
	right: -20px;
	width: 100px;
	height: 100px;
	background: rgba(255,255,255,.04);
	border-radius: 50%;
}

.v2-advies-left { position: relative; z-index: 1; }

.v2-pdp-advies-title {
	font-size: 18px;
	font-weight: 800;
	color: #fff;
	margin-bottom: 4px;
}

.v2-pdp-advies-sub {
	font-size: 13px;
	color: rgba(255,255,255,.75);
	margin: 0 0 16px;
}

.v2-pdp-advies-btns {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.v2-advies-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 10px 16px;
	border-radius: 8px;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	transition: opacity .15s, transform .1s;
	flex: 1;
	min-width: 130px;
	white-space: nowrap;
}

.v2-advies-btn:hover {
	opacity: .88;
	transform: translateY(-1px);
	text-decoration: none;
}

.v2-advies-btn .fa {
	font-size: 20px;
	flex-shrink: 0;
}

.v2-advies-btn span {
	display: flex;
	flex-direction: column;
	line-height: 1.3;
}

.v2-advies-btn span strong {
	font-size: 13px;
}

.v2-advies-btn span small {
	font-size: 11px;
	color: rgba(255,255,255,.95);
	font-weight: 400;
}

.v2-advies-btn--green {
	background: linear-gradient(135deg, #25a85a, #2ecc71);
	color: #fff;
}

.v2-advies-btn--green small {
	color: #e0ffe8 !important;
}

.v2-advies-btn--navy {
	background: rgba(255,255,255,.12);
	border: 1px solid rgba(255,255,255,.25);
	color: #fff;
}

.v2-advies-btn--navy small {
	color: rgba(255,255,255,.9) !important;
}

@media (max-width: 500px) {
	.v2-pdp-toolbar {
		gap: 6px;
	}
	.v2-toolbar-btn {
		padding: 6px 10px;
		font-size: 11px;
	}
	.v2-pdp-advies-btns {
		flex-direction: column;
	}
	.v2-advies-btn {
		flex: none;
		width: 100%;
	}
}


/* ============================================================
   V2 OFF-CANVAS CART SIDEBAR
   ============================================================ */

/* Backdrop */
.v2-cart-overlay {
	position: fixed;
	inset: 0;
	background: rgba(10,20,40,0.52);
	z-index: 9000;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.32s ease, visibility 0.32s ease;
	-webkit-backdrop-filter: blur(2px);
	backdrop-filter: blur(2px);
}
.v2-cart-overlay.active {
	opacity: 1;
	visibility: visible;
}

/* Sidebar panel */
.v2-cart-sidebar {
	position: fixed;
	top: 0;
	right: 0;
	width: 420px;
	max-width: 100vw;
	height: 100vh;
	height: 100dvh;
	background: #fff;
	z-index: 9001;
	transform: translateX(100%);
	transition: transform 0.36s cubic-bezier(0.4,0,0.2,1);
	display: flex;
	flex-direction: column;
	box-shadow: -8px 0 40px rgba(0,0,0,0.18);
}
.v2-cart-sidebar.active {
	transform: translateX(0);
}
.v2-cart-sidebar-inner {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
}

/* Prevent body scroll when cart is open */
body.v2-cart-open {
	overflow: hidden;
}

/* ----- Header ----- */
.v2-cart-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 17px 20px 16px;
	background: #27ae60;
	color: #fff;
	flex-shrink: 0;
}
.v2-cart-header-title {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.2px;
}
.v2-cart-success-icon {
	font-size: 20px;
	line-height: 1;
	animation: v2CartBounce 0.4s ease;
}
@keyframes v2CartBounce {
	0%   { transform: scale(0.5); opacity: 0; }
	60%  { transform: scale(1.15); }
	100% { transform: scale(1); opacity: 1; }
}
.v2-cart-close {
	background: rgba(255,255,255,0.18);
	border: 1.5px solid rgba(255,255,255,0.35);
	color: #fff;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	transition: background 0.2s, border-color 0.2s;
	flex-shrink: 0;
	padding: 0;
}
.v2-cart-close:hover {
	background: rgba(255,255,255,0.32);
	border-color: rgba(255,255,255,0.6);
}

/* ----- Added product highlight ----- */
.v2-cart-added-product {
	padding: 14px 20px;
	background: #f0faf4;
	border-bottom: 1px solid #cde9d8;
	flex-shrink: 0;
	min-height: 52px;
}
.v2-cart-added-row {
	display: flex;
	align-items: center;
	gap: 14px;
}
.v2-cart-added-img {
	width: 60px;
	height: 60px;
	object-fit: contain;
	border: 1px solid #daeee4;
	border-radius: 8px;
	background: #fff;
	flex-shrink: 0;
}
.v2-cart-added-info {
	flex: 1;
	min-width: 0;
}
.v2-cart-added-name {
	font-size: 13px;
	font-weight: 600;
	color: var(--v2-navy);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	margin-bottom: 4px;
	line-height: 1.3;
}
.v2-cart-added-qty {
	font-size: 12px;
	color: #666;
}
.v2-cart-added-price {
	font-size: 15px;
	font-weight: 700;
	color: #27ae60;
	white-space: nowrap;
	flex-shrink: 0;
}

/* ----- Scrollable items area ----- */
.v2-cart-items-wrap {
	flex: 1;
	overflow-y: auto;
	padding: 0 20px;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}
.v2-cart-items-wrap::-webkit-scrollbar {
	width: 4px;
}
.v2-cart-items-wrap::-webkit-scrollbar-track {
	background: #f5f6f8;
}
.v2-cart-items-wrap::-webkit-scrollbar-thumb {
	background: #cbd0d8;
	border-radius: 4px;
}
.v2-cart-items-header {
	padding: 14px 0 10px;
	font-size: 11px;
	font-weight: 700;
	color: #999;
	text-transform: uppercase;
	letter-spacing: 0.8px;
	border-bottom: 1px solid #e8eaed;
}
.v2-cart-item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 0;
	border-bottom: 1px solid #f2f3f5;
	transition: opacity 0.25s;
}
.v2-cart-item.v2-cart-item-removing {
	opacity: 0.35;
	pointer-events: none;
}
.v2-cart-item-img {
	width: 52px;
	height: 52px;
	object-fit: contain;
	border: 1px solid #e2e6ea;
	border-radius: 7px;
	background: #fafafa;
	flex-shrink: 0;
}
.v2-cart-item-info {
	flex: 1;
	min-width: 0;
}
.v2-cart-item-name {
	font-size: 12px;
	color: var(--v2-navy);
	font-weight: 500;
	line-height: 1.35;
	margin-bottom: 7px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.v2-cart-item-row2 {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}
.v2-cart-item-qty-wrap {
	display: flex;
	align-items: center;
	border: 1.5px solid #dde1e7;
	border-radius: 6px;
	overflow: hidden;
	background: #fff;
}
.v2-cart-item-qty-btn {
	width: 28px;
	height: 26px;
	border: none;
	background: #f5f6f8;
	color: #555;
	cursor: pointer;
	font-size: 15px;
	line-height: 1;
	transition: background 0.15s, color 0.15s;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	user-select: none;
}
.v2-cart-item-qty-btn:hover {
	background: var(--v2-orange);
	color: #fff;
}
.v2-cart-item-qty-num {
	width: 30px;
	text-align: center;
	font-size: 12px;
	font-weight: 700;
	color: #333;
	border: none;
	background: transparent;
	pointer-events: none;
}
.v2-cart-item-price {
	font-size: 13px;
	font-weight: 700;
	color: var(--v2-navy);
	white-space: nowrap;
	margin-left: auto;
}
.v2-cart-item-remove {
	background: none;
	border: none;
	color: #c8ccd2;
	cursor: pointer;
	padding: 4px 2px;
	font-size: 14px;
	line-height: 1;
	flex-shrink: 0;
	transition: color 0.2s;
}
.v2-cart-item-remove:hover {
	color: #e74c3c;
}

/* ----- Totals block ----- */
.v2-cart-totals {
	padding: 14px 20px;
	background: #f8f9fb;
	border-top: 1px solid #e2e6ea;
	flex-shrink: 0;
}
.v2-cart-total-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 13px;
	color: #666;
	margin-bottom: 6px;
}
.v2-cart-total-row:last-child {
	margin-bottom: 0;
}
.v2-cart-total-row .amount {
	font-weight: 600;
	color: #444;
}
.v2-cart-total-row.total-final {
	font-size: 15px;
	font-weight: 700;
	color: var(--v2-navy);
	border-top: 2px solid #e2e6ea;
	padding-top: 10px;
	margin-top: 4px;
}
.v2-cart-total-row.total-final .amount {
	color: #27ae60;
	font-size: 17px;
	font-weight: 800;
}

/* ----- CTA Actions ----- */
.v2-cart-actions {
	padding: 14px 20px 18px;
	background: #fff;
	border-top: 1px solid #e8eaed;
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	gap: 9px;
}
.v2-cart-btn-checkout {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: #27ae60 !important;
	color: #fff !important;
	text-decoration: none !important;
	padding: 14px 20px;
	border-radius: 9px;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.2px;
	transition: background 0.2s, transform 0.12s, box-shadow 0.2s;
	border: none;
	cursor: pointer;
	width: 100%;
	text-align: center;
	box-shadow: 0 3px 12px rgba(39,174,96,0.28);
}
.v2-cart-btn-checkout:hover {
	background: #1e8449 !important;
	color: #fff !important;
	text-decoration: none !important;
	transform: translateY(-1px);
	box-shadow: 0 5px 16px rgba(39,174,96,0.35);
}
.v2-cart-btn-view {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: #fff !important;
	color: var(--v2-navy) !important;
	border: 2px solid var(--v2-navy) !important;
	text-decoration: none !important;
	padding: 12px 20px;
	border-radius: 9px;
	font-size: 14px;
	font-weight: 600;
	transition: background 0.2s, color 0.2s;
	text-align: center;
	width: 100%;
	cursor: pointer;
}
.v2-cart-btn-view:hover {
	background: var(--v2-navy) !important;
	color: #fff !important;
	text-decoration: none !important;
}
.v2-cart-btn-continue {
	background: none;
	border: none;
	color: #999;
	font-size: 13px;
	cursor: pointer;
	text-align: center;
	padding: 2px;
	transition: color 0.2s;
	width: 100%;
}
.v2-cart-btn-continue:hover {
	color: var(--v2-navy);
}

/* ----- Loading spinner ----- */
.v2-cart-loading {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 40px 20px;
	color: #aaa;
	gap: 12px;
	font-size: 14px;
}
.v2-cart-spinner {
	width: 22px;
	height: 22px;
	border: 2.5px solid #e2e6ea;
	border-top-color: #27ae60;
	border-radius: 50%;
	animation: v2CartSpin 0.65s linear infinite;
	flex-shrink: 0;
}
@keyframes v2CartSpin {
	to { transform: rotate(360deg); }
}

/* ----- Empty state ----- */
.v2-cart-empty {
	text-align: center;
	padding: 50px 20px 30px;
	color: #999;
}
.v2-cart-empty i {
	font-size: 52px;
	color: #dde1e7;
	margin-bottom: 14px;
	display: block;
}
.v2-cart-empty p {
	font-size: 14px;
	margin: 0;
}

/* ----- Mobile ----- */
@media (max-width: 480px) {
	.v2-cart-sidebar {
		width: 100vw;
		border-radius: 0;
	}
}
/* ============================================================
   END V2 OFF-CANVAS CART SIDEBAR
   ============================================================ */


/* ============================================================
   V2 KASSA / CHECKOUT PAGE
   ============================================================ */

.v2-kassa-wrap {
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 0 60px;
}

/* 2-column layout */
.v2-kassa-layout {
	display: grid;
	grid-template-columns: 1fr 380px;
	gap: 28px;
	align-items: start;
	overflow: visible;
}
.v2-kassa-wrap {
	overflow: visible;
}

/* ---- Left column ---- */
.v2-kassa-left {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

/* ---- Error banner ---- */
.v2-kassa-error-banner {
	background: #fff3cd;
	border: 1px solid #ffc107;
	color: #856404;
	padding: 12px 16px;
	border-radius: 8px;
	font-size: 13px;
	font-weight: 600;
	display: flex;
	align-items: center;
	gap: 8px;
}

/* ---- Cards ---- */
.v2-kassa-card {
	background: #fff;
	border-radius: 10px;
	border: 1px solid var(--v2-border);
	box-shadow: 0 1px 8px rgba(0,0,0,0.06);
	padding: 22px 24px 20px;
}

.v2-kassa-card-hd {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 20px;
	padding-bottom: 14px;
	border-bottom: 1px solid #f0f2f5;
}

.v2-kassa-step {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--v2-navy);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.v2-kassa-card-title {
	font-size: 16px;
	font-weight: 700;
	color: var(--v2-navy);
	margin: 0;
	flex: 1;
}

.v2-kassa-optional {
	font-size: 12px;
	font-weight: 400;
	color: #999;
	margin-left: 4px;
}

.v2-kassa-login-link {
	font-size: 12px;
	color: var(--v2-orange);
	text-decoration: none;
	font-weight: 600;
	white-space: nowrap;
}
.v2-kassa-login-link:hover {
	text-decoration: underline;
	color: var(--v2-orange);
}

/* ---- Form fields ---- */
.v2-kassa-fields {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.v2-kf-row2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}

.v2-kf {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.v2-kf-label {
	font-size: 13px;
	font-weight: 600;
	color: #444;
	margin: 0;
}

.v2-req {
	color: #e74c3c;
	font-size: 13px;
}

.v2-kf-input,
.v2-kassa-fields select {
	height: 42px;
	border: 1.5px solid #dde1e7;
	border-radius: 7px;
	padding: 0 12px;
	font-size: 14px;
	color: #333;
	background: #fff;
	width: 100%;
	box-sizing: border-box;
	transition: border-color 0.2s, box-shadow 0.2s;
	outline: none;
	-webkit-appearance: none;
	appearance: none;
}

.v2-kf-input:focus,
.v2-kassa-fields select:focus {
	border-color: var(--v2-navy);
	box-shadow: 0 0 0 3px rgba(26,55,96,0.1);
}

.v2-kf-input.v2-input-err {
	border-color: #e74c3c;
	background: #fff8f8;
}

/* Select arrow */
.v2-kassa-fields select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	padding-right: 32px;
}

.v2-field-error {
	font-size: 12px;
	color: #e74c3c;
	margin-top: 2px;
	display: flex;
	align-items: center;
	gap: 4px;
}

/* Radio group (verzendadres) */
.v2-kf-radiogroup {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding-top: 4px;
}

.v2-kf-radio {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: #444;
	cursor: pointer;
}

.v2-kf-radio input[type="radio"] {
	width: 16px;
	height: 16px;
	accent-color: var(--v2-navy);
	flex-shrink: 0;
}

/* Checkbox (bewaar) */
.v2-kf-checkbox-row {
	padding-top: 4px;
}

.v2-kf-checkbox {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	color: #555;
	cursor: pointer;
}

.v2-kf-checkbox input[type="checkbox"] {
	width: 17px;
	height: 17px;
	flex-shrink: 0;
	accent-color: var(--v2-navy);
}

/* Textarea */
.v2-kf-textarea {
	width: 100%;
	min-height: 80px;
	border: 1.5px solid #dde1e7;
	border-radius: 7px;
	padding: 10px 12px;
	font-size: 14px;
	color: #333;
	resize: vertical;
	box-sizing: border-box;
	transition: border-color 0.2s, box-shadow 0.2s;
	outline: none;
	font-family: inherit;
}

.v2-kf-textarea:focus {
	border-color: var(--v2-navy);
	box-shadow: 0 0 0 3px rgba(26,55,96,0.1);
}

/* ---- Shipping option ---- */
.v2-kassa-ship-opt {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 16px;
	border: 2px solid #27ae60;
	border-radius: 8px;
	background: #f0faf4;
	cursor: pointer;
	margin: 0;
}

.v2-kassa-ship-opt input[type="radio"] {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	accent-color: #27ae60;
}

.v2-kassa-ship-info {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.v2-kassa-ship-title {
	font-size: 14px;
	font-weight: 600;
	color: var(--v2-navy);
}

.v2-kassa-ship-desc {
	font-size: 12px;
	color: #777;
}

.v2-kassa-ship-cost {
	font-size: 14px;
	font-weight: 700;
	color: #27ae60;
	white-space: nowrap;
	flex-shrink: 0;
}
.v2-kassa-ship-cost .v2-kassa-gratis-badge {
	font-size: 12px;
	padding: 4px 11px;
}

/* ---- Payment methods list ---- */
.v2-kassa-payment-list > div {
	margin-bottom: 8px !important;
}

.v2-kassa-payment-list > div > label {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	padding: 12px 16px !important;
	border: 1.5px solid #e0e4ea !important;
	border-radius: 8px !important;
	cursor: pointer !important;
	transition: border-color 0.18s, background 0.18s !important;
	background: #fff !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	color: #333 !important;
	margin: 0 !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.v2-kassa-payment-list > div > label:hover {
	border-color: #aab4bf !important;
}

.v2-kassa-payment-list > div > label:has(input[type="radio"]:checked) {
	border-color: #27ae60 !important;
	background: #f0faf4 !important;
}

.v2-kassa-payment-list > div > label input[type="radio"] {
	width: 17px !important;
	height: 17px !important;
	flex-shrink: 0 !important;
	accent-color: #27ae60 !important;
	margin: 0 !important;
}

.v2-kassa-payment-list > div > label img {
	width: 38px !important;
	height: auto !important;
	object-fit: contain !important;
}

/* ---- Right column (sticky summary) ---- */
.v2-kassa-right {
	/* JS-controlled sticky — see _v2KassaHTML inline script */
	position: relative;
}

.v2-kassa-summary {
	background: #fff;
	border-radius: 10px;
	border: 1px solid var(--v2-border);
	box-shadow: 0 2px 16px rgba(0,0,0,0.08);
	overflow: hidden;
}

.v2-kassa-summary-hd {
	font-size: 16px;
	font-weight: 700;
	color: var(--v2-navy);
	margin: 0;
	padding: 18px 20px 14px;
	border-bottom: 1px solid #f0f2f5;
	display: flex;
	align-items: center;
	gap: 8px;
}

/* Cart items */
.v2-kassa-summary-items {
	padding: 0 20px;
	max-height: 260px;
	overflow-y: auto;
}

.v2-kassa-item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 0;
	border-bottom: 1px solid #f5f5f5;
}

.v2-kassa-item-img-wrap {
	position: relative;
	flex-shrink: 0;
	width: 52px;
	height: 52px;
}

.v2-kassa-item-img-wrap img {
	width: 52px;
	height: 52px;
	object-fit: contain;
	border: 1px solid #eee;
	border-radius: 7px;
	background: #fafafa;
}

.v2-kassa-item-qty {
	position: absolute;
	top: -6px;
	right: -6px;
	background: var(--v2-navy);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.v2-kassa-item-name {
	flex: 1;
	font-size: 12px;
	color: #333;
	font-weight: 500;
	line-height: 1.35;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.v2-kassa-item-price {
	font-size: 13px;
	font-weight: 700;
	color: var(--v2-navy);
	white-space: nowrap;
	flex-shrink: 0;
}

/* Totals block */
.v2-kassa-summary-totals {
	padding: 14px 20px;
	border-top: 1px solid #f0f2f5;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.v2-kassa-sum-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 13px;
	color: #666;
}

.v2-kassa-sum-row span:last-child {
	font-weight: 600;
	color: #444;
}

.v2-kassa-free {
	color: #27ae60;
	font-weight: 700;
}
.v2-kassa-gratis-badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	background: #27ae60;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	padding: 3px 9px;
	border-radius: 20px;
	letter-spacing: 0.4px;
	white-space: nowrap;
}
.v2-kassa-gratis-badge i {
	font-size: 11px;
}

.v2-kassa-sum-total {
	font-size: 16px;
	font-weight: 700;
	color: var(--v2-navy);
	border-top: 2px solid #e8eaed;
	padding-top: 10px;
	margin-top: 2px;
}

.v2-kassa-sum-total span:last-child {
	color: #27ae60;
	font-size: 18px;
	font-weight: 800;
}

/* Terms */
.v2-kassa-terms {
	padding: 14px 20px 0;
}

.v2-kassa-terms .v2-kf-checkbox span {
	font-size: 12px;
	line-height: 1.4;
}

.v2-kassa-terms a {
	color: var(--v2-navy);
	text-decoration: underline;
}

/* Kopen button */
.v2-kassa-buy-btn {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: #27ae60 !important;
	color: #fff !important;
	border: none;
	border-radius: 9px;
	padding: 15px 20px;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
	width: 100%;
	margin: 14px 20px 0;
	width: calc(100% - 40px);
	box-shadow: 0 4px 14px rgba(39,174,96,0.3);
	transition: background 0.2s, transform 0.12s, box-shadow 0.2s;
	text-decoration: none;
	letter-spacing: 0.2px;
}

.v2-kassa-buy-btn:hover {
	background: #1e8449 !important;
	color: #fff !important;
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(39,174,96,0.38);
	text-decoration: none;
}

.v2-kassa-buy-btn:active {
	transform: translateY(0);
}

/* Trust row */
.v2-kassa-trust {
	display: flex;
	justify-content: space-around;
	padding: 14px 20px;
	border-top: 1px solid #f5f5f5;
	margin-top: 10px;
	gap: 8px;
}

.v2-kassa-trust span {
	font-size: 11px;
	color: #888;
	display: flex;
	align-items: center;
	gap: 5px;
}

.v2-kassa-trust i {
	color: #27ae60;
}

/* Back link */
.v2-kassa-back {
	text-align: center;
	padding: 10px 20px 16px;
}

.v2-kassa-back a {
	font-size: 12px;
	color: #999;
	text-decoration: none;
	transition: color 0.2s;
}

.v2-kassa-back a:hover {
	color: var(--v2-navy);
}

/* ---- Responsive ---- */
@media (max-width: 900px) {
	.v2-kassa-layout {
		grid-template-columns: 1fr;
	}
	.v2-kassa-right {
		position: static;
		/* summary stays in natural order — BELOW the form on mobile */
	}
	.v2-kassa-summary {
		max-height: none;
	}
}

@media (max-width: 600px) {
	.v2-kf-row2 {
		grid-template-columns: 1fr;
	}
	.v2-kassa-card {
		padding: 16px;
	}
	.v2-kassa-buy-btn {
		font-size: 15px;
		padding: 13px 16px;
	}
}

/* ============================================================
   END V2 KASSA / CHECKOUT PAGE
   ============================================================ */

/* ============================================================
   V2 AUTH PAGES — INLOGGEN & REGISTREREN
   ============================================================ */

/* --- Shared auth variables & wrappers --- */
.v2-auth-page {
	max-width: 960px;
	margin: 32px auto;
	padding: 0 16px;
}

.v2-auth-kassa-notice {
	background: #fff8e1;
	border: 1px solid #ffe082;
	border-radius: 8px;
	padding: 12px 18px;
	margin-bottom: 24px;
	color: #795548;
	font-size: 14px;
}
.v2-auth-kassa-notice i { margin-right: 6px; }

/* --- 2-column grid for login page --- */
.v2-auth-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	align-items: start;
}

/* --- Cards --- */
.v2-auth-card {
	background: #fff;
	border: 1px solid var(--v2-border);
	border-radius: var(--v2-radius-lg);
	padding: 36px 32px;
	box-shadow: 0 2px 12px rgba(0,0,0,.06);
}

.v2-auth-card-new {
	background: linear-gradient(135deg, #f0f4ff 0%, #e8f5e9 100%);
	border-color: #c3d9c8;
}

.v2-auth-card-icon {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--v2-navy);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
}
.v2-auth-card-icon i { color: #fff; font-size: 22px; }

.v2-auth-card-icon-new { background: #27ae60; }

.v2-auth-card-title {
	font-size: 20px;
	font-weight: 700;
	color: var(--v2-navy);
	margin: 0 0 6px 0;
}

.v2-auth-card-sub {
	font-size: 14px;
	color: #6b7a8d;
	margin: 0 0 24px 0;
}

/* --- Form fields --- */
.v2-auth-field {
	margin-bottom: 18px;
}

.v2-auth-label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: #444;
	margin-bottom: 6px;
}

.v2-auth-input {
	width: 100%;
	padding: 11px 14px;
	border: 1.5px solid var(--v2-border);
	border-radius: 8px;
	font-size: 15px;
	color: #222;
	background: #fff;
	transition: border-color .2s, box-shadow .2s;
	box-sizing: border-box;
}
.v2-auth-input:focus {
	outline: none;
	border-color: var(--v2-navy);
	box-shadow: 0 0 0 3px rgba(26,55,96,.1);
}

/* --- Password eye toggle --- */
.v2-auth-pw-wrap {
	position: relative;
	display: flex;
	align-items: center;
}
.v2-auth-pw-wrap .v2-auth-input { padding-right: 44px; }
.v2-auth-pw-eye {
	position: absolute;
	right: 12px;
	background: none;
	border: none;
	color: #999;
	cursor: pointer;
	font-size: 15px;
	padding: 0;
}
.v2-auth-pw-eye:hover { color: var(--v2-navy); }

/* --- Forgot password link --- */
.v2-auth-forgot {
	display: block;
	text-align: right;
	font-size: 13px;
	color: var(--v2-orange);
	text-decoration: none;
	margin: -10px 0 20px;
}
.v2-auth-forgot:hover { text-decoration: underline; }

/* --- Buttons --- */
.v2-auth-btn-primary {
	display: block;
	width: 100%;
	padding: 13px;
	background: var(--v2-navy);
	color: #fff;
	border: none;
	border-radius: 8px;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
	transition: background .2s;
	text-align: center;
}
.v2-auth-btn-primary:hover { background: #1e3f6e; }
.v2-auth-btn-primary:disabled { opacity: .7; cursor: default; }

.v2-auth-btn-secondary {
	display: block;
	width: 100%;
	padding: 13px;
	background: #27ae60;
	color: #fff;
	border: none;
	border-radius: 8px;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
	transition: background .2s;
	text-align: center;
	text-decoration: none;
	margin-top: 20px;
}
.v2-auth-btn-secondary:hover { background: #1e8449; color: #fff; }

/* --- Benefits list --- */
.v2-auth-benefits {
	list-style: none;
	padding: 0;
	margin: 0 0 12px;
}
.v2-auth-benefits li {
	padding: 8px 0;
	font-size: 14px;
	color: #333;
	border-bottom: 1px solid rgba(0,0,0,.06);
	display: flex;
	align-items: center;
	gap: 10px;
}
.v2-auth-benefits li:last-child { border-bottom: 0; }
.v2-auth-benefits li i { color: #27ae60; font-size: 15px; flex-shrink: 0; }

.v2-auth-free-note {
	font-size: 12px;
	color: #888;
	text-align: center;
	margin: 16px 0 0;
}
.v2-auth-free-note i { margin-right: 4px; }

/* --- Messages --- */
.v2-auth-msg {
	padding: 12px 16px;
	border-radius: 8px;
	margin-bottom: 16px;
	font-size: 14px;
}
.v2-auth-msg-error {
	background: #fdecea;
	border: 1px solid #f5c6cb;
	color: #721c24;
}
.v2-auth-msg-success {
	background: #d4edda;
	border: 1px solid #c3e6cb;
	color: #155724;
}

/* --- Responsive login --- */
@media (max-width: 700px) {
	.v2-auth-grid {
		grid-template-columns: 1fr;
	}
	.v2-auth-card { padding: 24px 20px; }
}

/* ============================================================
   V2 REGISTREREN PAGE
   ============================================================ */

.v2-reg-page {
	max-width: 860px;
	margin: 32px auto;
	padding: 0 16px;
}

.v2-reg-wrap {
	background: #fff;
	border: 1px solid var(--v2-border);
	border-radius: var(--v2-radius-lg);
	box-shadow: 0 2px 12px rgba(0,0,0,.06);
	overflow: hidden;
}

.v2-reg-header {
	background: var(--v2-navy);
	color: #fff;
	padding: 28px 32px;
	text-align: center;
}
.v2-reg-header i { font-size: 32px; opacity: .8; margin-bottom: 10px; display: block; }
.v2-reg-header h1 { font-size: 22px; margin: 0 0 6px; font-weight: 700; color: #fff; }
.v2-reg-header p { font-size: 14px; opacity: .85; margin: 0; color: #fff; }

.v2-reg-section {
	padding: 24px 32px;
	border-bottom: 1px solid var(--v2-border);
}
.v2-reg-section:last-of-type { border-bottom: 0; }

.v2-reg-section-title {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 15px;
	font-weight: 700;
	color: var(--v2-navy);
	margin-bottom: 20px;
}
.v2-reg-section-title span {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--v2-navy);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	font-weight: 700;
	flex-shrink: 0;
}
.v2-reg-optional {
	font-size: 12px;
	font-weight: 400;
	color: #888;
	background: #f0f2f5;
	padding: 2px 8px;
	border-radius: 20px;
}

.v2-reg-toggle-title {
	cursor: pointer;
	user-select: none;
	margin-bottom: 0;
}
.v2-reg-toggle-title:hover { color: var(--v2-orange); }
.v2-reg-bedrijf-fields { padding-top: 20px; }

/* --- Field grid --- */
.v2-reg-row {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
}

.v2-reg-field {
	display: flex;
	flex-direction: column;
	min-width: 0;
}
.v2-reg-field-1 { flex: 1; min-width: 80px; }
.v2-reg-field-2 { flex: 2; min-width: 140px; }
.v2-reg-field-3 { flex: 3; min-width: 160px; }

.v2-reg-label {
	font-size: 13px;
	font-weight: 600;
	color: #444;
	margin-bottom: 6px;
}
.v2-req { color: #e8502a; }

.v2-reg-input {
	padding: 10px 13px;
	border: 1.5px solid var(--v2-border);
	border-radius: 8px;
	font-size: 14px;
	color: #222;
	background: #fff;
	transition: border-color .2s, box-shadow .2s;
	width: 100%;
	box-sizing: border-box;
}
.v2-reg-input:focus {
	outline: none;
	border-color: var(--v2-navy);
	box-shadow: 0 0 0 3px rgba(26,55,96,.1);
}
.v2-reg-field select,
.v2-reg-input[type="select"] {
	padding: 10px 13px;
	border: 1.5px solid var(--v2-border);
	border-radius: 8px;
	font-size: 14px;
	width: 100%;
	background: #fff;
	box-sizing: border-box;
}
.v2-reg-field select:focus {
	outline: none;
	border-color: var(--v2-navy);
}

.v2-reg-btwtip {
	font-size: 12px;
	color: #666;
	margin: 12px 0 0;
}
.v2-reg-btwtip i { color: #2196f3; margin-right: 4px; }

/* --- Submit row --- */
.v2-reg-submit-row {
	padding: 24px 32px;
	border-top: 1px solid var(--v2-border);
	background: var(--v2-bg-gray);
}

.v2-reg-akkoord {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 14px;
	color: #444;
	margin-bottom: 20px;
	cursor: pointer;
}
.v2-reg-akkoord input[type="checkbox"] {
	margin-top: 2px;
	flex-shrink: 0;
	width: 16px;
	height: 16px;
}
.v2-reg-akkoord a { color: var(--v2-orange); }

.v2-reg-btn-submit {
	display: block;
	width: 100%;
	padding: 14px;
	background: #27ae60;
	color: #fff;
	border: none;
	border-radius: 8px;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
	transition: background .2s;
}
.v2-reg-btn-submit:hover { background: #1e8449; }
.v2-reg-btn-submit:disabled { opacity: .7; cursor: default; }

.v2-reg-login-link {
	text-align: center;
	font-size: 14px;
	color: #666;
	margin-top: 16px;
}
.v2-reg-login-link a { color: var(--v2-orange); }

/* --- Responsive registreren --- */
@media (max-width: 600px) {
	.v2-reg-section { padding: 20px 16px; }
	.v2-reg-header { padding: 20px 16px; }
	.v2-reg-submit-row { padding: 20px 16px; }
	.v2-reg-field-1,
	.v2-reg-field-2,
	.v2-reg-field-3 { flex: 1 1 100%; }
}

/* ============================================================
   V2 MIJN ACCOUNT PAGE
   ============================================================ */

.v2-acct-page {
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 16px 40px;
}

/* Header banner */
.v2-acct-header {
	background: var(--v2-navy);
	border-radius: var(--v2-radius-lg);
	margin-bottom: 24px;
}
.v2-acct-header-inner {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 20px 28px;
}
.v2-acct-avatar {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: rgba(255,255,255,.15);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.v2-acct-avatar i { color: #fff; font-size: 26px; }
.v2-acct-greeting { font-size: 12px; color: rgba(255,255,255,.7); }
.v2-acct-name { font-size: 18px; font-weight: 700; color: #fff; }
.v2-acct-logout {
	margin-left: auto;
	background: rgba(255,255,255,.15);
	color: rgba(255,255,255,.9);
	padding: 8px 16px;
	border-radius: 6px;
	font-size: 13px;
	text-decoration: none;
	transition: background .2s;
	white-space: nowrap;
}
.v2-acct-logout:hover { background: rgba(255,255,255,.25); color: #fff; }
.v2-acct-logout i { margin-right: 5px; }

/* Layout: sidebar + content */
.v2-acct-layout {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 24px;
	align-items: start;
}

/* Sidebar nav */
.v2-acct-nav {
	background: #fff;
	border: 1px solid var(--v2-border);
	border-radius: var(--v2-radius-lg);
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0,0,0,.05);
}
.v2-acct-nav-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 18px;
	font-size: 14px;
	color: #555;
	text-decoration: none;
	border-bottom: 1px solid var(--v2-border);
	transition: background .15s, color .15s;
}
.v2-acct-nav-item:last-child { border-bottom: 0; }
.v2-acct-nav-item i { width: 16px; text-align: center; color: #888; font-size: 14px; }
.v2-acct-nav-item:hover { background: var(--v2-bg-gray); color: var(--v2-navy); }
.v2-acct-nav-item:hover i { color: var(--v2-navy); }
.v2-acct-nav-active {
	background: var(--v2-navy) !important;
	color: #fff !important;
	font-weight: 600;
}
.v2-acct-nav-active i { color: rgba(255,255,255,.8) !important; }

/* Content area */
.v2-acct-content {
	background: #fff;
	border: 1px solid var(--v2-border);
	border-radius: var(--v2-radius-lg);
	box-shadow: 0 2px 8px rgba(0,0,0,.05);
	overflow: hidden;
}
.v2-acct-content-header {
	padding: 18px 28px;
	border-bottom: 1px solid var(--v2-border);
	background: var(--v2-bg-gray);
}
.v2-acct-content-header h2 {
	margin: 0;
	font-size: 17px;
	font-weight: 700;
	color: var(--v2-navy);
}
.v2-acct-content-header h2 i { margin-right: 8px; opacity: .7; }
.v2-acct-content-body {
	padding: 28px;
}
/* Reuse reg styles inside account */
.v2-acct-content-body .v2-reg-section {
	padding: 20px 0;
	border-radius: 0;
}
.v2-acct-content-body .v2-reg-section:first-child { padding-top: 0; }
.v2-acct-content-body .v2-reg-submit-row {
	padding: 20px 0 0;
	background: none;
	border-top: 1px solid var(--v2-border);
}

/* --- Responsive mijn account --- */
@media (max-width: 768px) {
	.v2-acct-layout {
		grid-template-columns: 1fr;
	}
	.v2-acct-nav {
		display: flex;
		overflow-x: auto;
		border-radius: 8px;
	}
	.v2-acct-nav-item {
		flex-direction: column;
		gap: 4px;
		padding: 12px 14px;
		text-align: center;
		border-bottom: 0;
		border-right: 1px solid var(--v2-border);
		font-size: 11px;
		white-space: nowrap;
		flex-shrink: 0;
	}
	.v2-acct-nav-item:last-child { border-right: 0; }
	.v2-acct-header-inner { flex-wrap: wrap; }
	.v2-acct-logout { width: 100%; text-align: center; margin: 0; }
	.v2-acct-content-body { padding: 16px; }
}

/* ============================================================
   END V2 AUTH / ACCOUNT PAGES
   ============================================================ */

/* ============================================================
   V2 WINKELWAGENTJE (CART) PAGE
   ============================================================ */

.v2-cart-page {
	max-width: 1100px;
	margin: 24px auto;
	padding: 0 16px;
	overflow-x: hidden;
}

/* 2-column layout */
.v2-cart-layout {
	display: grid;
	grid-template-columns: 1fr 380px;
	gap: 24px;
	align-items: start;
}

/* ---------- Left: items card ---------- */
.v2-cart-items-card {
	background: #fff;
	border: 1px solid var(--v2-border);
	border-radius: var(--v2-radius-lg);
	box-shadow: 0 2px 8px rgba(0,0,0,.05);
	overflow: hidden;
}

.v2-cart-items-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 24px;
	border-bottom: 1px solid var(--v2-border);
	background: var(--v2-bg-gray);
}
.v2-cart-items-head h2 {
	font-size: 17px;
	font-weight: 700;
	color: var(--v2-navy);
	margin: 0;
}
.v2-cart-items-head h2 i { margin-right: 8px; }
.v2-cart-items-head .v2-cart-count { font-size: 14px; font-weight: 400; color: #666; background: none; min-width: auto; height: auto; border-radius: 0; }
.v2-cart-continue-link {
	font-size: 13px;
	color: var(--v2-orange);
	text-decoration: none;
}
.v2-cart-continue-link:hover { text-decoration: underline; }

/* Item row */
.v2-cart-item-row {
	display: flex;
	gap: 16px;
	padding: 18px 24px;
	border-bottom: 1px solid var(--v2-border);
	align-items: flex-start;
}
.v2-cart-item-row:last-child { border-bottom: 0; }

.v2-cart-item-img {
	flex-shrink: 0;
	width: 80px;
	height: 80px;
	display: block;
	border: 1px solid var(--v2-border);
	border-radius: 8px;
	overflow: hidden;
	background: #fafafa;
}
.v2-cart-item-img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.v2-cart-item-info { flex: 1; min-width: 0; }
.v2-cart-item-name {
	font-size: 14px;
	font-weight: 600;
	color: var(--v2-navy);
	text-decoration: none;
	display: block;
	margin-bottom: 3px;
	line-height: 1.4;
}
.v2-cart-item-name:hover { color: var(--v2-orange); }
.v2-cart-item-artnr { font-size: 12px; color: #888; margin-bottom: 8px; }

.v2-cart-item-price-row {
	display: flex;
	align-items: baseline;
	gap: 6px;
	margin-bottom: 10px;
}
.v2-cart-item-old {
	font-size: 12px;
	color: #aaa;
	text-decoration: line-through;
}
.v2-cart-item-price {
	font-size: 15px;
	font-weight: 700;
	color: var(--v2-navy);
}
.v2-cart-item-each { font-size: 12px; color: #888; }

.v2-cart-item-controls {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

/* Qty stepper */
.v2-cart-item-qty {
	display: flex;
	align-items: center;
	border: 1.5px solid var(--v2-border);
	border-radius: 8px;
	overflow: hidden;
}
.v2-qty-btn {
	background: #f8f9fa;
	border: none;
	width: 34px;
	height: 34px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	color: #555;
	transition: background .15s, color .15s;
}
.v2-qty-btn:hover { background: var(--v2-navy); color: #fff; }
.v2-qty-btn.v2-qty-min:hover { background: #e74c3c; color: #fff; }
.v2-qty-val {
	padding: 0 12px;
	font-size: 14px;
	font-weight: 600;
	color: #222;
	min-width: 32px;
	text-align: center;
}

.v2-cart-item-subtotal {
	font-size: 16px;
	font-weight: 700;
	color: var(--v2-navy);
}

/* ---------- Discount card ---------- */
.v2-cart-discount-card {
	background: #fff;
	border: 1px solid var(--v2-border);
	border-radius: var(--v2-radius-lg);
	margin-top: 16px;
	overflow: hidden;
}
.v2-cart-discount-toggle {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	padding: 14px 20px;
	background: none;
	border: none;
	font-size: 14px;
	color: #444;
	cursor: pointer;
	text-align: left;
}
.v2-cart-discount-toggle i { color: var(--v2-orange); }
.v2-dc-icon { margin-left: auto !important; font-size: 12px !important; color: #888; }
.v2-cart-discount-body { padding: 0 20px 16px; }
.v2-cart-discount-row { display: flex; gap: 8px; }
.v2-cart-discount-input {
	flex: 1;
	padding: 10px 13px;
	border: 1.5px solid var(--v2-border);
	border-radius: 8px;
	font-size: 14px;
}
.v2-cart-discount-input:focus { outline: none; border-color: var(--v2-navy); }
.v2-cart-discount-btn {
	padding: 10px 18px;
	background: var(--v2-navy);
	color: #fff;
	border: none;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}
.v2-cart-discount-btn:hover { background: #1e3f6e; }

/* Payment logos */
.v2-cart-payment-logos {
	margin-top: 16px;
	padding: 14px 20px;
	background: #fff;
	border: 1px solid var(--v2-border);
	border-radius: var(--v2-radius-lg);
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 12px;
	color: #888;
}
.v2-cart-payment-logos img {
	max-height: 32px;
	max-width: 300px;
	object-fit: contain;
}

/* ---------- Right: summary card ---------- */
.v2-cart-summary-col { position: relative; }
.v2-cart-summary-card {
	background: #fff;
	border: 1px solid var(--v2-border);
	border-radius: var(--v2-radius-lg);
	box-shadow: 0 2px 12px rgba(0,0,0,.07);
	overflow: hidden;
}
.v2-cart-summary-title {
	padding: 16px 20px;
	font-size: 16px;
	font-weight: 700;
	color: var(--v2-navy);
	background: var(--v2-bg-gray);
	border-bottom: 1px solid var(--v2-border);
}

/* Free shipping progress */
.v2-cart-freeship {
	padding: 14px 20px;
	border-bottom: 1px solid var(--v2-border);
	background: #fff8e1;
	font-size: 13px;
	color: #5d4037;
}
.v2-cart-freeship-done {
	background: #e8f5e9;
	color: #1b5e20;
	font-weight: 600;
}
.v2-cart-freeship-done i { color: #27ae60; margin-right: 6px; }
.v2-cart-freeship-text { margin-bottom: 8px; }
.v2-cart-freeship-bar {
	height: 6px;
	background: #ffe082;
	border-radius: 3px;
	overflow: hidden;
}
.v2-cart-freeship-fill {
	height: 100%;
	background: #27ae60;
	border-radius: 3px;
	transition: width .4s ease;
}

/* Summary rows */
.v2-cart-summary-rows {
	padding: 12px 20px;
}
.v2-cart-summary-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 7px 0;
	font-size: 14px;
	color: #444;
	border-bottom: 1px solid #f0f0f0;
}
.v2-cart-summary-row:last-child { border-bottom: 0; }
.v2-cart-korting { color: #27ae60; }
.v2-cart-korting-val { font-weight: 700; }
.v2-cart-exbtw { color: #777; font-size: 13px; }
.v2-cart-btw { color: #777; font-size: 13px; }
.v2-cart-gratis { color: #27ae60; font-weight: 700; }
.v2-cart-gratis i { margin-right: 4px; }

/* Total */
.v2-cart-total {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 14px 20px;
	background: var(--v2-bg-gray);
	border-top: 2px solid var(--v2-border);
	font-size: 15px;
	font-weight: 700;
	color: var(--v2-navy);
}
.v2-cart-total-amount { font-size: 20px; color: var(--v2-navy); }

/* Save badge */
.v2-cart-save-badge {
	margin: 10px 20px;
	padding: 8px 12px;
	background: #e8f5e9;
	border-radius: 6px;
	font-size: 13px;
	color: #1b5e20;
	font-weight: 600;
}
.v2-cart-save-badge i { margin-right: 5px; }

/* Checkout button */
.v2-cart-checkout-btn {
	display: block;
	margin: 14px 20px 10px;
	padding: 14px;
	background: #27ae60;
	color: #fff;
	text-align: center;
	border-radius: 8px;
	font-size: 16px;
	font-weight: 700;
	text-decoration: none;
	transition: background .2s;
}
.v2-cart-checkout-btn:hover { background: #1e8449; color: #fff; }
.v2-cart-checkout-btn i { margin-right: 6px; }

.v2-cart-checkout-note {
	text-align: center;
	font-size: 12px;
	color: #888;
	margin: 0 20px 12px;
}

/* Trust icons */
.v2-cart-trust {
	display: flex;
	justify-content: space-around;
	padding: 12px 16px;
	border-top: 1px solid var(--v2-border);
	background: var(--v2-bg-gray);
}
.v2-cart-trust span {
	font-size: 11px;
	color: #666;
	display: flex;
	align-items: center;
	gap: 4px;
}
.v2-cart-trust i { color: var(--v2-navy); font-size: 13px; }

/* Cart message */
.v2-cart-msg { margin-bottom: 16px; }

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
	.v2-cart-layout {
		grid-template-columns: 1fr;
	}
	.v2-cart-summary-col { order: -1; }
}

@media (max-width: 600px) {
	/* Defensive: cart page ve tüm çocukları viewport sınırını aşmasın */
	.v2-cart-page,
	.v2-cart-page * {
		box-sizing: border-box;
		max-width: 100%;
	}
	.v2-cart-page {
		padding: 0 10px;
		width: 100%;
	}
	.v2-cart-items-card,
	.v2-cart-summary-card,
	.v2-cart-discount-card,
	.v2-cart-payment-logos {
		width: 100%;
		margin-left: 0;
		margin-right: 0;
	}
	.v2-cart-item-row { flex-wrap: wrap; gap: 10px; padding: 14px 12px; }
	.v2-cart-item-img { width: 60px; height: 60px; }
	.v2-cart-item-info { min-width: 0; flex-basis: calc(100% - 76px); }
	.v2-cart-item-name { font-size: 13px; }
	.v2-cart-item-controls { width: 100%; }
	.v2-cart-item-price-row { flex-wrap: wrap; }
	.v2-cart-items-head { flex-direction: column; align-items: flex-start; gap: 8px; padding: 14px 12px; }
	.v2-cart-items-head h2 { font-size: 15px; }
	.v2-cart-summary-card { border-radius: 10px; }
	.v2-cart-summary-title { padding: 12px 14px; font-size: 15px; }
	.v2-cart-summary-rows { padding: 0; }
	.v2-cart-summary-row { padding: 10px 14px; font-size: 13px; }
	.v2-cart-summary-row b { font-size: 13px; }
	.v2-cart-total-row { padding: 12px 14px; }
	.v2-cart-total-row .v2-cart-total-price { font-size: 20px; }
	.v2-cart-savings { padding: 8px 14px; font-size: 13px; }
	.v2-cart-save-badge { margin-left: 14px; margin-right: 14px; }
	.v2-cart-total { padding: 12px 14px; }
	.v2-cart-checkout-btn { margin: 10px 14px 14px; font-size: 15px; padding: 14px; }
	.v2-cart-checkout-note { margin-left: 14px; margin-right: 14px; }
	.v2-cart-guest-note { padding: 0 14px 12px; font-size: 12px; }
	.v2-cart-trust { padding: 12px 14px; }
	.v2-cart-trust-mini { padding: 10px 14px; font-size: 12px; gap: 10px; }
	.v2-cart-discount-toggle { padding: 12px 14px; font-size: 13px; }
	.v2-cart-discount-body { padding: 0 14px 12px; }
	.v2-cart-payment-logos { padding: 10px 14px; gap: 8px; }
}

/* ---------- Empty cart state ---------- */
.v2-cart-empty-state {
	background: #fff;
	border: 1px solid var(--v2-border);
	border-radius: var(--v2-radius-lg);
	box-shadow: 0 2px 8px rgba(0,0,0,.05);
	padding: 60px 30px;
	text-align: center;
	max-width: 600px;
	margin: 32px auto;
}
.v2-cart-empty-icon {
	width: 90px;
	height: 90px;
	margin: 0 auto 24px;
	background: var(--v2-bg-gray);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--v2-orange);
	font-size: 38px;
}
.v2-cart-empty-title {
	font-size: 24px;
	font-weight: 800;
	color: var(--v2-navy);
	margin: 0 0 12px;
}
.v2-cart-empty-text {
	font-size: 15px;
	color: #666;
	margin: 0 0 28px;
	line-height: 1.55;
}
.v2-cart-empty-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--v2-orange);
	color: #fff !important;
	padding: 14px 28px;
	border-radius: var(--v2-radius);
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	transition: background .2s, transform .15s;
}
.v2-cart-empty-btn:hover {
	background: var(--v2-orange-hover);
	transform: translateY(-1px);
	color: #fff !important;
}
.v2-cart-empty-btn i { font-size: 14px; }
.v2-cart-empty-trust {
	display: flex;
	justify-content: center;
	gap: 22px;
	flex-wrap: wrap;
	margin-top: 36px;
	padding-top: 24px;
	border-top: 1px solid var(--v2-border);
	font-size: 13px;
	color: #666;
}
.v2-cart-empty-trust span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.v2-cart-empty-trust i {
	color: var(--v2-navy);
	font-size: 14px;
}
@media (max-width: 600px) {
	.v2-cart-empty-state { padding: 40px 18px; margin: 16px 10px; }
	.v2-cart-empty-icon { width: 70px; height: 70px; font-size: 30px; }
	.v2-cart-empty-title { font-size: 20px; }
	.v2-cart-empty-text { font-size: 14px; }
	.v2-cart-empty-btn { padding: 12px 22px; font-size: 14px; }
	.v2-cart-empty-trust { gap: 14px; font-size: 12px; }
}

/* Mobile: tüm v2-theme'de yatay taşan içerik olursa kes — winkelwagen vb. */
@media (max-width: 600px) {
	body.v2-theme {
		overflow-x: hidden;
	}
	body.v2-theme .v2-cart-page .row {
		margin-left: 0;
		margin-right: 0;
	}
}

/* ============================================================
   END V2 WINKELWAGENTJE PAGE
   ============================================================ */

/* ============================================================
   V2 PROJECTEN PAGE (FOTOALBUM)
   ============================================================ */

.v2-projecten-page {
	padding: 0 0 40px;
}

.v2-projecten-intro {
	background: linear-gradient(135deg, var(--v2-navy) 0%, #2a5298 100%);
	color: #fff;
	padding: 28px 32px;
	border-radius: var(--v2-radius-lg);
	margin-bottom: 28px;
	font-size: 15px;
}
.v2-projecten-intro i { margin-right: 8px; opacity: .8; }

/* Full-width grid (standalone page, not widget) */
.v2-projecten-grid-full {
	grid-template-columns: repeat(3, 1fr);
}

.v2-project-desc {
	font-size: 12px;
	color: #666;
	margin: 4px 0 6px;
	line-height: 1.4;
}
.v2-project-info .v2-project-count i { margin-right: 4px; }

/* --- Detail gallery --- */
.v2-album-detail {
	padding-bottom: 40px;
}

.v2-album-detail-header {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 24px;
	flex-wrap: wrap;
}

.v2-album-back {
	color: var(--v2-orange);
	text-decoration: none;
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
}
.v2-album-back:hover { text-decoration: underline; }
.v2-album-back i { margin-right: 5px; }

.v2-album-detail-header h2 {
	font-size: 22px;
	font-weight: 700;
	color: var(--v2-navy);
	margin: 0;
	flex: 1;
}

.v2-album-count {
	font-size: 13px;
	color: #888;
	background: var(--v2-bg-gray);
	padding: 4px 12px;
	border-radius: 20px;
	white-space: nowrap;
}

.v2-album-description {
	font-size: 15px;
	color: #555;
	margin-bottom: 24px;
	line-height: 1.6;
}

/* Photo grid */
.v2-album-photo-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}

.v2-album-photo {
	display: block;
	text-decoration: none;
	border-radius: var(--v2-radius-lg);
	overflow: hidden;
	background: #f0f2f5;
	box-shadow: 0 2px 8px rgba(0,0,0,.06);
	transition: transform .2s, box-shadow .2s;
}
.v2-album-photo:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 24px rgba(0,0,0,.15);
}

.v2-album-photo-inner {
	position: relative;
	aspect-ratio: 4/3;
	overflow: hidden;
}
.v2-album-photo-inner img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .3s;
}
.v2-album-photo:hover .v2-album-photo-inner img {
	transform: scale(1.05);
}

.v2-album-photo-overlay {
	position: absolute;
	inset: 0;
	background: rgba(26,55,96,.5);
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity .2s;
}
.v2-album-photo:hover .v2-album-photo-overlay { opacity: 1; }
.v2-album-photo-overlay i { color: #fff; font-size: 28px; }

.v2-album-photo-caption {
	padding: 8px 12px;
	font-size: 12px;
	color: #555;
	text-align: center;
	background: #fff;
}

.v2-album-error {
	padding: 24px;
	text-align: center;
	color: #666;
	font-size: 15px;
}
.v2-album-error i { margin-right: 8px; color: var(--v2-orange); }

/* Responsive projecten */
@media (max-width: 900px) {
	.v2-projecten-grid-full,
	.v2-album-photo-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 600px) {
	.v2-projecten-grid-full,
	.v2-album-photo-grid {
		grid-template-columns: 1fr 1fr;
		gap: 10px;
	}
	.v2-projecten-intro { padding: 20px 16px; }
	.v2-album-detail-header h2 { font-size: 18px; }
}

/* ============================================================
   END V2 PROJECTEN PAGE
   ============================================================ */


/* ============================================================
   FAZ 1: CONVERSION OPTIMIZATION - Sticky CTA, Discount,
   Trust Block, Enhanced Buttons
   ============================================================ */

/* ── 1. ENHANCED DISCOUNT BADGES ──────────────────────────── */

/* Product listing page - bigger korting badge */
.v2-badge-korting {
	position: absolute;
	top: 10px;
	left: 10px;
	background: linear-gradient(135deg, #e74c3c 0%, #c0392b 100%);
	color: #fff;
	font-size: 13px;
	font-weight: 800;
	padding: 6px 11px;
	border-radius: 8px;
	z-index: 2;
	line-height: 1.2;
	box-shadow: 0 3px 10px rgba(231,76,60,.35);
	letter-spacing: 0.3px;
	text-align: center;
}

/* PDP sale badge - compact circular design */
.v2-pdp-sale-badge {
	position: absolute;
	top: 14px;
	left: 14px;
	width: 82px;
	height: 82px;
	background: linear-gradient(135deg, #e74c3c 0%, #c0392b 100%);
	color: #fff;
	text-align: center;
	border-radius: 50%;
	z-index: 2;
	box-shadow: 0 4px 14px rgba(231,76,60,.35), inset 0 0 0 2px rgba(255,255,255,.22);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0;
	padding: 10px 8px;
	box-sizing: border-box;
	transform: rotate(-8deg);
	transition: transform .25s ease;
	animation: v2-badge-heartbeat 1.6s ease-in-out infinite;
	transform-origin: center center;
}

.v2-pdp-sale-badge:hover {
	animation: none;
	transform: rotate(0deg) scale(1.08);
}

@keyframes v2-badge-heartbeat {
	0%   { transform: rotate(-8deg) scale(1); }
	15%  { transform: rotate(-8deg) scale(1.09); }
	30%  { transform: rotate(-8deg) scale(1); }
	45%  { transform: rotate(-8deg) scale(1.06); }
	60%, 100% { transform: rotate(-8deg) scale(1); }
}

.v2-badge-pct {
	font-size: 18px;
	font-weight: 900;
	line-height: 1;
	letter-spacing: -0.5px;
}

.v2-badge-txt {
	font-size: 8px;
	font-weight: 700;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	line-height: 1;
	margin-top: 3px;
	opacity: .95;
}

.v2-badge-save {
	font-size: 8px;
	font-weight: 600;
	opacity: .95;
	margin-top: 4px;
	padding-top: 4px;
	border-top: 1px solid rgba(255,255,255,.35);
	color: #fff;
	line-height: 1.1;
	width: 78%;
	letter-spacing: 0.1px;
}

/* Mobile: even more compact */
@media (max-width: 576px) {
	.v2-pdp-sale-badge {
		width: 60px;
		height: 60px;
		top: 8px;
		left: 8px;
		padding: 6px 4px;
	}

	.v2-badge-pct {
		font-size: 15px;
	}

	.v2-badge-txt {
		font-size: 7px;
		letter-spacing: 0.8px;
	}

	.v2-badge-save {
		display: none;
	}
}

/* Related card badge also enhanced */
.v2-card-sale-badge {
	position: absolute;
	top: 10px;
	left: 10px;
	background: linear-gradient(135deg, #e74c3c, #c0392b);
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	padding: 5px 11px;
	border-radius: 8px;
	z-index: 2;
	box-shadow: 0 3px 8px rgba(231,76,60,.35);
}

/* Savings row - enhanced visibility */
.v2-pdp-savings {
	font-size: 14px;
	color: #fff;
	font-weight: 700;
	margin-bottom: 8px;
	background: linear-gradient(135deg, #e74c3c 0%, #c0392b 100%);
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 14px;
	border-radius: 20px;
	box-shadow: 0 2px 8px rgba(231,76,60,.25);
}

.v2-pdp-savings .fa {
	font-size: 13px;
}

/* Old price - more visible strikethrough */
.v2-pdp-old-price {
	font-size: 16px;
	color: #999;
	text-decoration: line-through;
	text-decoration-color: #e74c3c;
	text-decoration-thickness: 2px;
	margin-bottom: 4px;
}

/* Listing old price also enhanced */
.v2-old-price {
	font-size: 14px;
	color: #aaa;
	text-decoration: line-through;
	text-decoration-color: #e74c3c;
	text-decoration-thickness: 1.5px;
}


/* Listing card: savings line + btw label */
.v2-card-savings {
	display: block;
	width: 100%;
	font-size: 11.5px;
	font-weight: 700;
	color: #e74c3c;
	margin-top: 2px;
	line-height: 1.3;
}

.v2-price-btw-label {
	font-size: 11px;
	color: #999;
	font-weight: 400;
}

/* Product price area enhanced */
.v2-product-price-area {
	display: flex;
	align-items: baseline;
	gap: 6px;
	flex-wrap: wrap;
	margin-top: auto;
	padding-top: 8px;
}


/* ── 2. ENHANCED CTA BUTTONS ─────────────────────────────── */

/* PDP Add to Cart - bigger, gradient, glow */
.v2-pdp-add-btn {
	flex: 1;
	min-width: 200px;
	height: 54px;
	background: linear-gradient(135deg, #27ae60 0%, #219a52 100%);
	color: #fff;
	border: none;
	border-radius: 10px;
	font-size: 16px;
	font-weight: 800;
	cursor: pointer;
	transition: all .2s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	white-space: nowrap;
	box-shadow: 0 4px 16px rgba(39,174,96,.3);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	position: relative;
	overflow: hidden;
}

.v2-pdp-add-btn::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
	transition: left .5s ease;
}

.v2-pdp-add-btn:hover::before {
	left: 100%;
}

.v2-pdp-add-btn:hover {
	background: linear-gradient(135deg, #219a52 0%, #1a7a40 100%);
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(39,174,96,.4);
}

.v2-pdp-add-btn:active {
	transform: translateY(0);
	box-shadow: 0 2px 8px rgba(39,174,96,.3);
}

.v2-pdp-add-btn .fa {
	font-size: 18px;
}

/* Qty controls slightly bigger */
.v2-qty-btn {
	width: 44px;
	height: 54px;
}

.v2-qty-input {
	width: 60px;
	height: 54px;
	font-size: 17px;
}

/* Listing page cart button - enhanced (scoped: header button turuncu kalsın) */
.v2-product-cart-row .v2-cart-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 11px 22px;
	background: linear-gradient(135deg, #27ae60 0%, #219a52 100%);
	color: #fff;
	border: none;
	border-radius: var(--v2-radius);
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	transition: all .2s ease;
	text-transform: uppercase;
	letter-spacing: 0.3px;
	box-shadow: 0 3px 10px rgba(39,174,96,.25);
	white-space: nowrap;
}

.v2-product-cart-row .v2-cart-btn:hover {
	background: linear-gradient(135deg, #219a52 0%, #1a7a40 100%);
	transform: translateY(-1px);
	box-shadow: 0 5px 14px rgba(39,174,96,.35);
}

/* Product card cart button - enhanced */
.v2-pcard-cart-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	padding: 10px 14px;
	background: linear-gradient(135deg, #27ae60 0%, #219a52 100%);
	color: #fff;
	border: none;
	border-radius: 8px;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	transition: all .2s ease;
	box-shadow: 0 3px 10px rgba(39,174,96,.22);
	text-transform: uppercase;
	letter-spacing: 0.3px;
}

.v2-pcard-cart-btn:hover {
	background: linear-gradient(135deg, #219a52 0%, #1a7a40 100%);
	transform: translateY(-1px);
	box-shadow: 0 5px 14px rgba(39,174,96,.35);
}


/* ── 3. TRUST STRIP (compact, under price) ────────────────── */

.v2-pdp-trust-strip {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	border: 1px solid #d4edda;
	border-radius: 10px;
	background: linear-gradient(135deg, #f0faf3 0%, #e8f5e9 100%);
	overflow: hidden;
}

.v2-trust-item {
	flex: 1 1 50%;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
	font-size: 12.5px;
	font-weight: 600;
	color: #2d6a4f;
	border-bottom: 1px solid rgba(39,174,96,.1);
	transition: background .15s ease;
	min-width: 0;
}

.v2-trust-item:hover {
	background: rgba(39,174,96,.06);
}

.v2-trust-item:nth-child(odd) {
	border-right: 1px solid rgba(39,174,96,.1);
}

.v2-trust-item:nth-last-child(-n+2) {
	border-bottom: none;
}

.v2-trust-icon {
	flex-shrink: 0;
	width: 32px;
	height: 32px;
	background: linear-gradient(135deg, #27ae60 0%, #219a52 100%);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff !important;
	font-size: 14px;
	box-shadow: 0 2px 6px rgba(39,174,96,.25);
}

.v2-trust-icon .fa,
.v2-trust-icon i {
	color: #fff !important;
}

.v2-trust-label strong {
	display: block;
	font-size: 12.5px;
	font-weight: 700;
	color: #1a3760;
	line-height: 1.2;
}

.v2-trust-label span {
	font-size: 11px;
	font-weight: 400;
	color: #5a8f6d;
	line-height: 1.2;
}


/* ── 4. STICKY CTA BAR ───────────────────────────────────── */

.v2-sticky-cta {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 8500;
	background: #fff;
	border-bottom: 2px solid var(--v2-orange);
	box-shadow: 0 4px 20px rgba(0,0,0,.12);
	transform: translateY(-100%);
	opacity: 0;
	transition: transform .35s cubic-bezier(.4,0,.2,1), opacity .35s ease;
	pointer-events: none;
}

.v2-sticky-cta.v2-sticky-visible {
	transform: translateY(0);
	opacity: 1;
	pointer-events: auto;
}

.v2-sticky-cta-inner {
	max-width: 1350px;
	margin: 0 auto;
	padding: 10px 20px;
	display: flex;
	align-items: center;
	gap: 20px;
}

.v2-sticky-cta-img {
	width: 48px;
	height: 48px;
	border-radius: 8px;
	border: 1px solid var(--v2-border);
	object-fit: contain;
	background: #fff;
	padding: 3px;
	flex-shrink: 0;
}

.v2-sticky-cta-info {
	flex: 1;
	min-width: 0;
}

.v2-sticky-cta-name {
	font-size: 14px;
	font-weight: 700;
	color: var(--v2-navy);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	line-height: 1.3;
}

.v2-sticky-cta-price {
	display: flex;
	align-items: baseline;
	gap: 8px;
}

.v2-sticky-cta-price .v2-sticky-old {
	font-size: 13px;
	color: #aaa;
	text-decoration: line-through;
	text-decoration-color: #e74c3c;
}

.v2-sticky-cta-price .v2-sticky-current {
	font-size: 20px;
	font-weight: 800;
	color: var(--v2-navy);
}

.v2-sticky-cta-price .v2-sticky-btw {
	font-size: 11px;
	color: #888;
	font-weight: 400;
}

.v2-sticky-cta-badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background: linear-gradient(135deg, #e74c3c, #c0392b);
	color: #fff;
	font-size: 11px;
	font-weight: 800;
	padding: 3px 10px;
	border-radius: 20px;
	margin-left: 8px;
	white-space: nowrap;
}

.v2-sticky-cta-actions {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-shrink: 0;
}

.v2-sticky-cta-actions .v2-sticky-qty-wrap {
	display: flex;
	align-items: center;
	border: 2px solid var(--v2-border);
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
}

.v2-sticky-cta-actions .v2-sticky-qty-btn {
	width: 34px;
	height: 40px;
	background: var(--v2-bg-gray);
	border: none;
	font-size: 16px;
	font-weight: 700;
	color: var(--v2-navy);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .15s;
	padding: 0;
}

.v2-sticky-cta-actions .v2-sticky-qty-btn:hover {
	background: #e2e6ea;
}

.v2-sticky-cta-actions .v2-sticky-qty-input {
	width: 42px;
	height: 40px;
	border: none;
	border-left: 1px solid var(--v2-border);
	border-right: 1px solid var(--v2-border);
	text-align: center;
	font-size: 14px;
	font-weight: 600;
	color: var(--v2-navy);
	outline: none;
	-moz-appearance: textfield;
}

.v2-sticky-cta-actions .v2-sticky-qty-input::-webkit-outer-spin-button,
.v2-sticky-cta-actions .v2-sticky-qty-input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.v2-sticky-cta-actions .v2-sticky-cart-btn {
	height: 42px;
	padding: 0 28px;
	background: linear-gradient(135deg, #27ae60 0%, #219a52 100%);
	color: #fff;
	border: none;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 800;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 8px;
	white-space: nowrap;
	transition: all .2s ease;
	box-shadow: 0 3px 12px rgba(39,174,96,.3);
	text-transform: uppercase;
	letter-spacing: 0.3px;
}

.v2-sticky-cta-actions .v2-sticky-cart-btn:hover {
	background: linear-gradient(135deg, #219a52 0%, #1a7a40 100%);
	transform: translateY(-1px);
	box-shadow: 0 5px 16px rgba(39,174,96,.4);
}

.v2-sticky-cta-stock {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 11px;
	font-weight: 700;
	color: #27ae60;
	white-space: nowrap;
}

.v2-sticky-cta-stock .fa {
	font-size: 10px;
}

/* ── 5. ENHANCED PRICE BLOCK ─────────────────────────────── */

.v2-pdp-price-block {
	background: linear-gradient(135deg, #f8f9fb 0%, #f0f2f5 100%);
	border: 2px solid var(--v2-border);
	border-radius: var(--v2-radius-lg);
	padding: 18px 22px;
	position: relative;
}

/* When there's a discount, add a subtle accent border */
.v2-pdp-price-block.v2-has-discount {
	border-color: #f5c6cb;
	background: linear-gradient(135deg, #fef9f9 0%, #fdf0f0 100%);
}

.v2-pdp-sale-price {
	font-size: 34px;
	font-weight: 800;
	color: var(--v2-navy);
	line-height: 1.1;
}

.v2-pdp-incl-price {
	font-size: 14px;
	color: #666;
	margin-top: 4px;
}

/* Termijnen row enhanced */
.v2-pdp-termijnen {
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px dashed var(--v2-border);
	font-size: 13px;
	color: #555;
	display: flex;
	align-items: center;
	gap: 6px;
}

.v2-pdp-termijnen::before {
	content: '\f09d';
	font-family: 'FontAwesome';
	color: var(--v2-orange);
	font-size: 14px;
}

.v2-pdp-termijnen strong {
	color: var(--v2-navy);
	font-weight: 800;
}


/* ── RESPONSIVE: Sticky CTA & Trust Strip ─────────────────── */

@media (max-width: 768px) {
	.v2-sticky-cta-inner {
		padding: 8px 12px;
		gap: 12px;
	}

	.v2-sticky-cta-img {
		width: 40px;
		height: 40px;
	}

	.v2-sticky-cta-name {
		font-size: 12px;
	}

	.v2-sticky-cta-price .v2-sticky-current {
		font-size: 17px;
	}

	.v2-sticky-cta-actions .v2-sticky-qty-wrap {
		display: none;
	}

	.v2-sticky-cta-actions .v2-sticky-cart-btn {
		height: 38px;
		padding: 0 16px;
		font-size: 12px;
	}

	.v2-trust-item {
		flex: 1 1 100%;
		border-right: none !important;
	}

	.v2-pdp-add-btn {
		height: 50px;
		font-size: 15px;
		min-width: 160px;
	}

	.v2-qty-btn {
		width: 38px;
		height: 50px;
	}

	.v2-qty-input {
		width: 50px;
		height: 50px;
	}
}

@media (max-width: 480px) {
	.v2-sticky-cta-info {
		display: none;
	}

	.v2-sticky-cta-inner {
		justify-content: space-between;
	}

	.v2-sticky-cta-actions .v2-sticky-cart-btn {
		flex: 1;
	}
}

/* ============================================================
   END FAZ 1: CONVERSION OPTIMIZATION
   ============================================================ */


/* ============================================================
   FAZ 2: SOCIAL PROOF — Kiyoh Reviews & Low Stock Warning
   ============================================================ */

/* ── LOW STOCK WARNING BADGE ──────────────────────────────── */

.v2-low-stock-warning {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	background: linear-gradient(135deg, #ff6b35 0%, #e74c3c 100%);
	color: #fff;
	font-size: 11.5px;
	font-weight: 700;
	padding: 4px 12px;
	border-radius: 20px;
	white-space: nowrap;
	animation: v2-stock-pulse 1.5s ease-in-out infinite;
	box-shadow: 0 2px 8px rgba(231,76,60,.3);
	margin-left: 6px;
	vertical-align: middle;
}

.v2-low-stock-warning .fa {
	font-size: 12px;
}

@keyframes v2-stock-pulse {
	0%, 100% { opacity: 1; }
	50% { opacity: .75; }
}

/* On product cards in listing */
.v2-product-meta-stock .v2-low-stock-warning {
	font-size: 10px;
	padding: 3px 8px;
	margin-left: 4px;
}


/* ── KIYOH REVIEWS SECTION ────────────────────────────────── */

.v2-reviews-section {
	padding: 0;
}

/* Empty state */
.v2-reviews-empty {
	text-align: center;
	padding: 40px 20px;
	color: #666;
}

.v2-reviews-empty-icon {
	font-size: 40px;
	color: var(--v2-orange);
	margin-bottom: 12px;
}

.v2-reviews-empty p {
	font-size: 15px;
	margin-bottom: 16px;
}

.v2-reviews-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--v2-orange);
	font-weight: 700;
	font-size: 14px;
	text-decoration: none;
}

.v2-reviews-link:hover {
	text-decoration: underline;
}

/* Summary header: score card + distribution */
.v2-reviews-summary {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 24px;
	padding: 24px;
	background: linear-gradient(135deg, #f8f9fb 0%, #f0f2f5 100%);
	border: 1px solid var(--v2-border);
	border-radius: var(--v2-radius-lg);
	margin-bottom: 24px;
}

/* Big score card */
.v2-reviews-score-card {
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 16px;
}

.v2-reviews-big-score {
	font-size: 48px;
	font-weight: 900;
	color: var(--v2-navy);
	line-height: 1;
}

.v2-reviews-big-score span {
	font-size: 20px;
	font-weight: 400;
	color: #888;
}

.v2-reviews-stars {
	color: var(--v2-orange);
	font-size: 20px;
	letter-spacing: 2px;
}

.v2-reviews-stars .fa-star-o {
	color: #ccc;
}

.v2-reviews-count {
	font-size: 13px;
	color: #666;
	font-weight: 600;
}

.v2-reviews-keur-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 6px;
	padding: 6px 14px;
	background: #27ae60;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	border-radius: 20px;
	text-decoration: none;
	transition: background .15s;
}

.v2-reviews-keur-link:hover {
	background: #219a52;
}

/* Score distribution bars */
.v2-reviews-dist {
	display: flex;
	flex-direction: column;
	gap: 8px;
	justify-content: center;
}

.v2-dist-row {
	display: flex;
	align-items: center;
	gap: 10px;
}

.v2-dist-label {
	width: 36px;
	font-size: 12px;
	font-weight: 700;
	color: #555;
	text-align: right;
	flex-shrink: 0;
}

.v2-dist-bar {
	flex: 1;
	height: 14px;
	background: #e8eaed;
	border-radius: 7px;
	overflow: hidden;
}

.v2-dist-fill {
	height: 100%;
	background: linear-gradient(90deg, var(--v2-orange), #f5a623);
	border-radius: 7px;
	min-width: 2px;
	transition: width .5s ease;
}

.v2-dist-count {
	width: 28px;
	font-size: 12px;
	color: #888;
	font-weight: 600;
	flex-shrink: 0;
}

/* Review cards list */
.v2-reviews-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.v2-review-card {
	background: #fff;
	border: 1px solid var(--v2-border);
	border-radius: var(--v2-radius-lg);
	padding: 18px 20px;
	transition: box-shadow .15s;
}

.v2-review-card:hover {
	box-shadow: 0 2px 12px rgba(0,0,0,.06);
}

/* Review header: avatar + name + score */
.v2-rev-header {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 12px;
}

.v2-rev-avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 18px;
	font-weight: 800;
	flex-shrink: 0;
}

.v2-rev-meta {
	flex: 1;
	min-width: 0;
}

.v2-rev-name {
	display: block;
	font-size: 14px;
	font-weight: 700;
	color: var(--v2-navy);
}

.v2-rev-date {
	font-size: 12px;
	color: #888;
}

.v2-rev-score {
	padding: 4px 12px;
	border-radius: 20px;
	color: #fff;
	font-size: 13px;
	font-weight: 800;
	flex-shrink: 0;
}

/* Review body */
.v2-rev-body {
	font-size: 13.5px;
	line-height: 1.6;
	color: #444;
}

.v2-rev-plus {
	margin-bottom: 8px;
}

.v2-rev-plus .fa {
	color: #27ae60;
	margin-right: 4px;
}

.v2-rev-minus {
	margin-bottom: 8px;
}

.v2-rev-minus .fa {
	color: #e74c3c;
	margin-right: 4px;
}

.v2-rev-rec {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 12px;
	font-weight: 700;
	margin-top: 8px;
	padding: 4px 12px;
	border-radius: 20px;
}

.v2-rev-rec--yes {
	background: #e8f5e9;
	color: #27ae60;
}

/* "Bekijk alle beoordelingen" button */
.v2-reviews-more {
	text-align: center;
	margin-top: 20px;
}

.v2-reviews-more-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 28px;
	background: var(--v2-navy);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	border-radius: 8px;
	text-decoration: none;
	transition: all .2s;
}

.v2-reviews-more-btn:hover {
	background: var(--v2-navy-dark);
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(26,55,96,.3);
}

/* Beoordelingen tab star icon */
.v2-tab-btn .fa-star {
	color: var(--v2-orange);
	margin-right: 3px;
}

/* ── RESPONSIVE ────────────────────────────────────────────── */

@media (max-width: 768px) {
	.v2-reviews-summary {
		grid-template-columns: 1fr;
		gap: 16px;
		padding: 16px;
	}

	.v2-reviews-big-score {
		font-size: 36px;
	}

	.v2-rev-header {
		flex-wrap: wrap;
		gap: 8px;
	}

	.v2-low-stock-warning {
		display: flex;
		margin-left: 0;
		margin-top: 4px;
	}
}

/* ============================================================
   END FAZ 2: SOCIAL PROOF
   ============================================================ */


/* ============================================================
   FAZ 3+4: Specs Table, Checkout Trust, Cart Upsell
   ============================================================ */

/* ── 4.1 CHECKOUT TRUST BAR ──────────────────────────────── */

.v2-kassa-trust-bar {
	display: flex;
	gap: 0;
	background: linear-gradient(135deg, #f0faf3 0%, #e8f5e9 100%);
	border: 1px solid #d4edda;
	border-radius: var(--v2-radius-lg);
	overflow: hidden;
	margin-bottom: 20px;
}

.v2-kassa-trust-item {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 16px;
	border-right: 1px solid rgba(39,174,96,.12);
	font-size: 12px;
	color: #2d6a4f;
}

.v2-kassa-trust-item:last-child {
	border-right: none;
}

.v2-kassa-trust-item > i {
	font-size: 20px;
	color: #27ae60;
	flex-shrink: 0;
}

.v2-kassa-trust-item strong {
	display: block;
	font-size: 13px;
	font-weight: 700;
	color: var(--v2-navy);
	line-height: 1.3;
}

.v2-kassa-trust-item span {
	font-size: 11px;
	color: #5a8f6d;
	line-height: 1.2;
}

/* Secure footer near buy button */
.v2-kassa-secure-footer {
	margin-top: 16px;
	padding: 14px 16px;
	background: #f8f9fb;
	border: 1px solid var(--v2-border);
	border-radius: var(--v2-radius);
	text-align: center;
}

.v2-kassa-secure-icons {
	display: flex;
	justify-content: center;
	gap: 20px;
	margin-bottom: 10px;
}

.v2-kassa-secure-icons span {
	font-size: 11px;
	font-weight: 600;
	color: #27ae60;
	display: flex;
	align-items: center;
	gap: 5px;
}

.v2-kassa-secure-icons .fa {
	font-size: 13px;
}

.v2-kassa-pay-logos {
	display: flex;
	justify-content: center;
	gap: 10px;
	flex-wrap: wrap;
}

.v2-kassa-pay-logos span {
	font-size: 10px;
	font-weight: 700;
	color: #888;
	background: #fff;
	border: 1px solid var(--v2-border);
	border-radius: 4px;
	padding: 3px 8px;
	letter-spacing: 0.3px;
}

@media (max-width: 768px) {
	.v2-kassa-trust-bar {
		flex-direction: column;
	}

	.v2-kassa-trust-item {
		border-right: none;
		border-bottom: 1px solid rgba(39,174,96,.12);
		padding: 10px 14px;
	}

	.v2-kassa-trust-item:last-child {
		border-bottom: none;
	}
}


/* ── 4.3 CART SIDEBAR UPSELL ─────────────────────────────── */

.v2-cart-upsell {
	border-top: 1px solid var(--v2-border);
	padding: 12px 16px;
	background: #fffbf0;
}

.v2-cart-upsell-title {
	font-size: 12px;
	font-weight: 800;
	color: var(--v2-navy);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-bottom: 10px;
	display: flex;
	align-items: center;
	gap: 6px;
}

.v2-cart-upsell-title .fa {
	color: var(--v2-orange);
	font-size: 13px;
}

.v2-cart-upsell-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 0;
	border-bottom: 1px solid #f0ebe0;
}

.v2-cart-upsell-item:last-child {
	border-bottom: none;
}

.v2-cart-upsell-img {
	width: 44px;
	height: 44px;
	border-radius: 6px;
	border: 1px solid var(--v2-border);
	object-fit: contain;
	background: #fff;
	padding: 3px;
	flex-shrink: 0;
}

.v2-cart-upsell-info {
	flex: 1;
	min-width: 0;
}

.v2-cart-upsell-name {
	font-size: 12px;
	font-weight: 600;
	color: var(--v2-navy);
	line-height: 1.3;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.v2-cart-upsell-price {
	font-size: 13px;
	font-weight: 800;
	color: var(--v2-navy);
	margin-top: 2px;
}

.v2-cart-upsell-price small {
	font-size: 10px;
	font-weight: 400;
	color: #888;
}

.v2-cart-upsell-add {
	width: 32px;
	height: 32px;
	background: linear-gradient(135deg, #27ae60, #219a52);
	color: #fff;
	border: none;
	border-radius: 50%;
	font-size: 14px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition: all .15s;
	box-shadow: 0 2px 6px rgba(39,174,96,.25);
}

.v2-cart-upsell-add:hover {
	background: linear-gradient(135deg, #219a52, #1a7a40);
	transform: scale(1.1);
}

/* ============================================================
   END FAZ 3+4
   ============================================================ */

/* ============================================================
   LEFT COLUMN SALES CARDS (below gallery)
   ============================================================ */

/* ── Kiyoh Compact Rating Card ─────────────────────────────── */
.v2-left-kiyoh-card {
	background: #fff;
	border: 1px solid #e8ecf0;
	border-radius: 12px;
	padding: 18px;
	margin-bottom: 16px;
	box-shadow: 0 2px 8px rgba(0,0,0,.04);
}

.v2-kiyoh-header {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 14px;
}

.v2-kiyoh-score-circle {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: linear-gradient(135deg, #27ae60, #2ecc71);
	color: #fff;
	font-size: 20px;
	font-weight: 800;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	box-shadow: 0 3px 10px rgba(39,174,96,.3);
}

.v2-kiyoh-info {
	flex: 1;
}

.v2-kiyoh-stars {
	position: relative;
	width: 100px;
	height: 18px;
	background: #ddd;
	border-radius: 3px;
	overflow: hidden;
	margin-bottom: 4px;
}

.v2-kiyoh-stars::before {
	content: "\f005 \f005 \f005 \f005 \f005";
	font-family: FontAwesome;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: space-around;
	font-size: 13px;
	color: rgba(255,255,255,.5);
	z-index: 2;
	letter-spacing: 2px;
	padding: 0 4px;
}

.v2-kiyoh-stars-fill {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	background: linear-gradient(90deg, #f39c12, #f1c40f);
	border-radius: 3px;
	z-index: 1;
}

.v2-kiyoh-count {
	font-size: 13px;
	color: #6b7c93;
}

.v2-kiyoh-link {
	display: block;
	text-align: center;
	padding: 10px;
	background: #f0faf4;
	border: 1px solid #d5f0e0;
	border-radius: 8px;
	color: #27ae60;
	font-weight: 600;
	font-size: 13.5px;
	text-decoration: none;
	transition: all .2s;
}

.v2-kiyoh-link:hover {
	background: #27ae60;
	color: #fff;
	border-color: #27ae60;
}

.v2-kiyoh-link .fa {
	margin-right: 4px;
}

/* ── Delivery Promise Card ─────────────────────────────────── */
.v2-left-delivery-card {
	background: #fff;
	border: 1px solid #e8ecf0;
	border-radius: 12px;
	padding: 18px;
	margin-bottom: 16px;
	box-shadow: 0 2px 8px rgba(0,0,0,.04);
}

.v2-left-delivery-card .v2-left-card-title {
	font-size: 15px;
	font-weight: 700;
	color: #1a2b3c;
	margin-bottom: 16px;
}

.v2-left-delivery-card .v2-left-card-title .fa {
	color: #27ae60;
	margin-right: 6px;
}

.v2-delivery-timeline {
	display: flex;
	align-items: center;
	gap: 0;
	margin-bottom: 18px;
	padding: 0 4px;
}

.v2-delivery-step {
	display: flex;
	flex-direction: column;
	align-items: center;
	flex-shrink: 0;
}

.v2-delivery-dot {
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #dde3e8;
	border: 3px solid #fff;
	box-shadow: 0 0 0 2px #dde3e8;
	margin-bottom: 8px;
}

.v2-delivery-step--done .v2-delivery-dot {
	background: #27ae60;
	box-shadow: 0 0 0 2px #27ae60;
}

.v2-delivery-step--target .v2-delivery-dot {
	background: #e67e22;
	box-shadow: 0 0 0 2px #e67e22;
	animation: v2-pulse-dot 2s infinite;
}

@keyframes v2-pulse-dot {
	0%, 100% { box-shadow: 0 0 0 2px #e67e22; }
	50% { box-shadow: 0 0 0 2px #e67e22, 0 0 0 6px rgba(230,126,34,.2); }
}

.v2-delivery-label {
	font-size: 11.5px;
	color: #6b7c93;
	text-align: center;
	max-width: 90px;
	line-height: 1.3;
}

.v2-delivery-step--target .v2-delivery-label {
	color: #e67e22;
	font-weight: 600;
}

.v2-delivery-line {
	flex: 1;
	height: 3px;
	background: linear-gradient(90deg, #27ae60, #dde3e8);
	margin: 0 0 26px 0;
	border-radius: 2px;
	min-width: 20px;
}

.v2-delivery-step--done + .v2-delivery-line {
	background: linear-gradient(90deg, #27ae60, #e67e22);
}

.v2-delivery-services {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	padding-top: 14px;
	border-top: 1px solid #f0f2f5;
}

.v2-delivery-svc {
	font-size: 13px;
	color: #4a5568;
}

.v2-delivery-svc .fa {
	color: #27ae60;
	width: 18px;
	text-align: center;
	margin-right: 6px;
}

/* ── Social Proof / Popularity Card ────────────────────────── */
.v2-left-social-card {
	background: #fff;
	border: 1px solid #e8ecf0;
	border-radius: 12px;
	padding: 18px;
	margin-bottom: 16px;
	box-shadow: 0 2px 8px rgba(0,0,0,.04);
}

.v2-left-social-card .v2-left-card-title {
	font-size: 15px;
	font-weight: 700;
	color: #1a2b3c;
	margin-bottom: 14px;
}

.v2-left-social-card .v2-left-card-title .fa {
	color: #e67e22;
	margin-right: 6px;
}

.v2-social-items-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}

.v2-social-item {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 12px;
	background: #f8f9fb;
	border-radius: 8px;
	font-size: 13.5px;
	color: #4a5568;
}

.v2-social-item--hot {
	grid-column: 1 / -1;
}

.v2-social-item .fa {
	font-size: 16px;
	color: #6b7c93;
	width: 20px;
	text-align: center;
}

.v2-social-item .fa-eye {
	color: #3498db;
}

.v2-social-item .fa-shopping-bag {
	color: #27ae60;
}

.v2-social-item--hot {
	background: linear-gradient(135deg, #fff5f0, #ffeee5);
	border: 1px solid #ffd9c4;
}

.v2-social-item--hot .fa {
	color: #e74c3c;
}

/* ── Responsive: left cards on mobile ──────────────────────── */
@media (max-width: 768px) {
	.v2-left-kiyoh-card,
	.v2-left-delivery-card,
	.v2-left-social-card {
		margin-bottom: 12px;
	}

	.v2-delivery-label {
		font-size: 10.5px;
		max-width: 70px;
	}
}

/* ============================================================
   END LEFT COLUMN SALES CARDS
   ============================================================ */

/* ── Compact Advies Bar (PDP) ──────────────────────────────── */
.v2-pdp-advies-compact {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	background: #1a2b4a;
	border-radius: 10px;
	padding: 12px 16px;
	margin-top: 10px;
}

.v2-advies-compact-text {
	display: flex;
	align-items: center;
	gap: 10px;
	color: #fff;
	font-size: 13.5px;
	white-space: nowrap;
}

.v2-advies-compact-text .fa {
	font-size: 20px;
	color: #5bc0de;
}

.v2-advies-compact-btns {
	display: flex;
	gap: 8px;
	flex-shrink: 0;
}

.v2-advies-cbtn {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 7px 14px;
	border-radius: 6px;
	font-size: 12.5px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	transition: all .2s;
}

.v2-advies-cbtn--wa {
	background: #25D366;
	color: #fff;
}

.v2-advies-cbtn--wa:hover {
	background: #1da851;
}

.v2-advies-cbtn--tel {
	background: rgba(255,255,255,.15);
	color: #fff;
	border: 1px solid rgba(255,255,255,.25);
}

.v2-advies-cbtn--tel:hover {
	background: rgba(255,255,255,.25);
}

@media (max-width: 768px) {
	.v2-pdp-advies-compact {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
	}
	.v2-advies-compact-text {
		white-space: normal;
		font-size: 13px;
	}
	.v2-advies-compact-btns {
		justify-content: stretch;
	}
	.v2-advies-cbtn {
		flex: 1;
		justify-content: center;
	}
}

/* ============================================================
   V2 MODAL SYSTEM (kassa inloggen + wachtwoord vergeten)
   ============================================================ */
.v2-modal {
	display: none;
	position: fixed;
	top: 0; left: 0; right: 0; bottom: 0;
	z-index: 100000;
	align-items: center;
	justify-content: center;
	padding: 20px;
	animation: v2ModalFadeIn 0.2s ease;
}

.v2-modal.v2-modal-open { display: flex !important; }

body.v2-modal-lock { overflow: hidden; }

@keyframes v2ModalFadeIn {
	from { opacity: 0; }
	to   { opacity: 1; }
}

.v2-modal-overlay {
	position: absolute;
	top: 0; left: 0; right: 0; bottom: 0;
	background: rgba(17, 28, 45, 0.55);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	cursor: pointer;
}

.v2-modal-dialog {
	position: relative;
	background: #fff;
	border-radius: 14px;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35), 0 4px 12px rgba(0, 0, 0, 0.15);
	width: 100%;
	max-width: 420px;
	max-height: 90vh;
	overflow: auto;
	animation: v2ModalSlideUp 0.28s cubic-bezier(0.2, 0.8, 0.2, 1);
}

@keyframes v2ModalSlideUp {
	from { opacity: 0; transform: translateY(24px) scale(0.98); }
	to   { opacity: 1; transform: translateY(0) scale(1); }
}

.v2-modal-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 22px;
	border-bottom: 1px solid var(--v2-border);
	background: linear-gradient(135deg, var(--v2-navy) 0%, var(--v2-navy-light) 100%);
	color: #fff;
	border-top-left-radius: 14px;
	border-top-right-radius: 14px;
}

.v2-modal-header h3 {
	margin: 0;
	font-size: 17px;
	font-weight: 700;
	letter-spacing: -0.01em;
}

.v2-modal-header h3 i {
	margin-right: 8px;
	color: var(--v2-orange);
}

.v2-modal-close {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	border: 0;
	background: rgba(255, 255, 255, 0.15);
	color: #fff;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.15s ease;
	display: flex;
	align-items: center;
	justify-content: center;
}

.v2-modal-close:hover {
	background: rgba(255, 255, 255, 0.28);
	transform: rotate(90deg);
}

.v2-modal-body { padding: 22px 24px 24px; }

.v2-modal-desc {
	margin: 0 0 16px 0;
	color: var(--v2-text-medium);
	font-size: 14px;
	line-height: 1.5;
}

.v2-modal-form label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: var(--v2-text-dark);
	margin-bottom: 5px;
	margin-top: 12px;
}

.v2-modal-form label:first-child { margin-top: 0; }

.v2-modal-form .v2-kf-input {
	width: 100%;
	padding: 11px 14px;
	border: 1.5px solid var(--v2-border);
	border-radius: 8px;
	font-size: 14px;
	color: var(--v2-text-dark);
	background: #fff;
	transition: border-color 0.2s, box-shadow 0.2s;
	box-sizing: border-box;
}

.v2-modal-form .v2-kf-input:focus {
	outline: none;
	border-color: var(--v2-orange);
	box-shadow: 0 0 0 3px rgba(232, 132, 26, 0.15);
}

.v2-modal-forgot-row {
	margin-top: 4px;
	margin-bottom: 16px;
	text-align: right;
}

.v2-modal-forgot-row a {
	font-size: 13px;
	color: var(--v2-navy);
	text-decoration: none;
	font-weight: 500;
}

.v2-modal-forgot-row a:hover {
	color: var(--v2-orange);
	text-decoration: underline;
}

.v2-modal-submit {
	margin-top: 10px;
	justify-content: center;
	display: flex !important;
	align-items: center;
	gap: 8px;
}

.v2-modal-submit[disabled] { opacity: 0.7; cursor: not-allowed; }

.v2-modal .ajaxError,
.v2-modal .ajaxSuccess {
	padding: 10px 14px;
	border-radius: 8px;
	margin-bottom: 14px;
	font-size: 13px;
	line-height: 1.45;
}

.v2-modal .ajaxError {
	background: #fdecec;
	color: #9a1a1a;
	border: 1px solid #f5c2c2;
}

.v2-modal .ajaxSuccess {
	background: #e7f7ea;
	color: #1a6b2c;
	border: 1px solid #bfe4ca;
}

/* Mobile */
@media (max-width: 520px) {
	.v2-modal { padding: 0; align-items: flex-end; }
	.v2-modal-dialog { max-width: 100%; max-height: 92vh; border-radius: 16px 16px 0 0; }
	.v2-modal-header { border-radius: 16px 16px 0 0; }
}

/* ============================================================
   V2 MOLLIE LOADING OVERLAY
   ============================================================ */
.v2-mollie-loader {
	display: none;
	position: fixed;
	top: 0; left: 0; right: 0; bottom: 0;
	z-index: 100001;
	background: rgba(17, 28, 45, 0.75);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.v2-ml-card {
	background: #fff;
	border-radius: 18px;
	padding: 36px 40px;
	text-align: center;
	max-width: 440px;
	width: 100%;
	box-shadow: 0 24px 80px rgba(0, 0, 0, 0.45);
	animation: v2ModalSlideUp 0.35s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.v2-ml-spinner {
	width: 64px;
	height: 64px;
	margin: 0 auto 22px;
	border: 4px solid var(--v2-bg-gray);
	border-top-color: var(--v2-orange);
	border-right-color: var(--v2-orange);
	border-radius: 50%;
	animation: v2MlSpin 0.9s linear infinite;
}

@keyframes v2MlSpin {
	to { transform: rotate(360deg); }
}

.v2-ml-card h3 {
	margin: 0 0 10px 0;
	font-size: 20px;
	font-weight: 700;
	color: var(--v2-navy);
	letter-spacing: -0.01em;
}

.v2-ml-card p {
	margin: 0 0 16px 0;
	color: var(--v2-text-medium);
	font-size: 14.5px;
	line-height: 1.55;
}

.v2-ml-card p strong {
	color: var(--v2-navy);
	font-weight: 700;
}

.v2-ml-dots {
	display: flex;
	justify-content: center;
	gap: 6px;
	margin-top: 6px;
}

.v2-ml-dots span {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--v2-orange);
	opacity: 0.25;
	animation: v2MlDot 1.2s infinite ease-in-out;
}

.v2-ml-dots span:nth-child(2) { animation-delay: 0.2s; }
.v2-ml-dots span:nth-child(3) { animation-delay: 0.4s; }

@keyframes v2MlDot {
	0%, 80%, 100% { opacity: 0.25; transform: scale(0.8); }
	40%           { opacity: 1;    transform: scale(1); }
}

@media (max-width: 520px) {
	.v2-ml-card { padding: 28px 24px; }
	.v2-ml-card h3 { font-size: 18px; }
	.v2-ml-card p { font-size: 13.5px; }
}
