/* Raj Groothandel: wit kopvlak met logo, antraciet hero met magazijnfoto, rode balk voor de levertijd */
:root {
	--raj-bg: #f3f3f4;
	--raj-surface: #ffffff;
	--raj-ink: #1d1e20;
	--raj-muted: #5f6166;
	--raj-line: #dcdde0;
	--raj-char: #26272a;
	--raj-char-2: #3a3b3f;
	--raj-red: #c8102e;
	--raj-red-hover: #a90d26;
	--raj-tile: #eceded;
	--raj-ok: #1d7a4a;
	--raj-ok-bg: #e2f2e8;
	--raj-warn: #8f5b00;
	--raj-warn-bg: #fbefd6;
	--raj-display: "Archivo", "Arial Black", "Helvetica Neue", Arial, sans-serif;
	--raj-body: "Public Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
	--raj-gutter: max(16px, env(safe-area-inset-left, 0px));
}

body {
	background: var(--raj-bg);
	color: var(--raj-ink);
	font-family: var(--raj-body);
}
body, button, input, select, textarea { font-family: var(--raj-body); }
h1, h2, h3, h4, .entry-title, .woocommerce-products-header__title, .product_title {
	font-family: var(--raj-display);
	font-stretch: 118%;
	color: var(--raj-ink);
	text-wrap: balance;
}
.entry-title, .woocommerce-products-header__title.page-title, .product_title {
	text-transform: uppercase;
	font-weight: 800;
	letter-spacing: .005em;
}
a { color: var(--raj-red); }
a:hover, a:focus { color: var(--raj-red-hover); }
:focus-visible { outline: 3px solid var(--raj-red); outline-offset: 2px; }

.raj-wrap {
	max-width: 1180px;
	margin: 0 auto;
	padding-left: var(--raj-gutter);
	padding-right: max(16px, env(safe-area-inset-right, 0px));
}
.raj-label {
	font-family: var(--raj-body);
	font-size: .72rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--raj-muted);
	margin: 0 0 6px;
}
.raj-label-light { color: rgba(255, 255, 255, .72); }
.raj-muted { color: var(--raj-muted); }
.raj-h2, .raj-home h2 {
	font-size: clamp(1.6rem, 3vw, 2.2rem);
	font-weight: 800;
	text-transform: uppercase;
	line-height: 1.02;
	margin: 0;
}

/* Knoppen */
.raj-btn, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.wc-block-components-button:not(.is-link), .raj-b2b-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border-radius: 8px;
	padding: 10px 16px;
	font-weight: 700;
	font-family: var(--raj-body);
	border: 1.5px solid transparent;
	text-decoration: none;
	line-height: 1.3;
	cursor: pointer;
	transition: background-color .15s, border-color .15s, color .15s;
}
.raj-btn-primary, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce a.button.alt, .woocommerce button.button.alt, .wc-block-components-button:not(.is-link), .raj-b2b-button {
	background: var(--raj-red);
	color: #fff;
}
.raj-btn-primary:hover, .raj-btn-primary:focus, .woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .wc-block-components-button:not(.is-link):hover, .raj-b2b-button:hover {
	background: var(--raj-red-hover);
	color: #fff;
}
.raj-btn-ghost { background: transparent; color: var(--raj-ink); border-color: currentColor; }
.raj-btn-ghost:hover, .raj-btn-ghost:focus { color: var(--raj-red); }
.raj-btn-light { color: #fff; }
.raj-btn-light:hover, .raj-btn-light:focus { color: #fff; background: rgba(255, 255, 255, .1); }
.raj-btn-sm { padding: 7px 12px; font-size: .88rem; }
.raj-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	border-radius: 999px;
	padding: 3px 10px;
	font-size: .78rem;
	font-weight: 700;
	white-space: nowrap;
}
.raj-pill::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.raj-pill-warn { background: var(--raj-warn-bg); color: var(--raj-warn); }

/* Kop */
.raj-header {
	background: #fff;
	border-bottom: 1px solid #e3e3e6;
	position: sticky;
	top: 0;
	z-index: 100;
}
.admin-bar .raj-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .raj-header { top: 0; } }
.raj-header-inner { display: flex; align-items: center; gap: 20px; padding-block: 10px; }
.raj-logo { display: block; line-height: 0; flex: none; }
.raj-header .raj-logo img.raj-logo-img { height: 46px; width: auto; max-width: none; }
.raj-nav { margin-left: auto; }
.raj-nav-list { display: flex; gap: 2px; list-style: none; margin: 0; padding: 0; }
.raj-nav-list a {
	display: block;
	padding: 8px 12px;
	border-radius: 6px;
	color: var(--raj-ink);
	font-weight: 600;
	text-decoration: none;
}
.raj-nav-list a:hover { background: #f1f1f3; color: var(--raj-ink); }
.raj-nav-list .current-menu-item > a, .raj-nav-list .current_page_item > a { box-shadow: inset 0 -3px 0 var(--raj-red); }
.raj-header-actions { display: flex; gap: 8px; align-items: center; }
.raj-header-actions .raj-btn { white-space: nowrap; }
.raj-badge[hidden] { display: none; }
.raj-cart-btn { position: relative; }
.raj-badge {
	position: absolute;
	top: -8px;
	right: -8px;
	background: var(--raj-ink);
	color: #fff;
	border-radius: 999px;
	min-width: 20px;
	height: 20px;
	font-size: .72rem;
	display: grid;
	place-items: center;
	padding: 0 5px;
	font-weight: 800;
}
.raj-menu-toggle { display: none; }

@media (max-width: 900px) {
	.raj-header-inner { flex-wrap: wrap; gap: 10px 12px; }
	.raj-header .raj-logo img.raj-logo-img { height: 38px; }
	.raj-header-actions { margin-left: auto; }
	.raj-menu-toggle {
		display: inline-grid;
		place-items: center;
		order: 3;
		width: 42px;
		height: 38px;
		border: 1.5px solid var(--raj-line);
		border-radius: 8px;
		background: #fff;
		padding: 0;
		color: var(--raj-ink);
	}
	.raj-menu-toggle:hover, .raj-menu-toggle:focus, .raj-menu-toggle[aria-expanded="true"] { background: #f1f1f3; border-color: var(--raj-ink); color: var(--raj-ink); }
	.raj-menu-icon, .raj-menu-icon::before, .raj-menu-icon::after {
		display: block;
		width: 18px;
		height: 2px;
		background: var(--raj-ink);
		position: relative;
		content: "";
	}
	.raj-menu-icon::before { position: absolute; top: -6px; }
	.raj-menu-icon::after { position: absolute; top: 6px; }
	.raj-nav { order: 4; width: 100%; margin: 0; display: none; }
	.raj-nav-open .raj-nav { display: block; }
	.raj-nav-list { flex-direction: column; padding-bottom: 8px; }
	.raj-nav-list a { padding: 12px 8px; border-bottom: 1px solid #f0f0f2; }
}
@media (max-width: 480px) {
	.raj-header-actions .raj-btn-ghost { display: none; }
}

/* Volle breedte voor de homepage en de aanmeldpagina binnen Astra */
.raj-home, .raj-auth { width: 100%; flex: 1 1 100%; }
.ast-page-builder-template .site-content > .ast-container { max-width: 100%; padding-left: 0; padding-right: 0; }

/* Hero */
.raj-hero {
	background-color: var(--raj-char);
	background-image: linear-gradient(90deg, rgba(18, 19, 21, .94) 0%, rgba(18, 19, 21, .82) 42%, rgba(18, 19, 21, .35) 75%, rgba(18, 19, 21, .15) 100%), var(--raj-hero-img);
	background-size: cover;
	background-position: center 40%;
	color: #f3f3f4;
}
.raj-hero .raj-wrap { padding-block: 96px 104px; }
.raj-hero-text { max-width: 620px; }
.raj-hero h1 {
	color: #fff;
	font-size: clamp(2.15rem, 5.6vw, 4.2rem);
	font-weight: 850;
	text-transform: uppercase;
	letter-spacing: -.01em;
	line-height: 1.02;
	margin: 0;
}
.raj-hero h1 em { font-style: normal; color: var(--raj-red); }
.raj-lead { font-size: 1.08rem; max-width: 50ch; opacity: .9; margin: 16px 0 0; }
.raj-ctas { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 26px; }
.raj-cutoff { background: var(--raj-red); color: #fff; }
.raj-cutoff .raj-wrap { padding-block: 13px; }
.raj-cutoff strong { font-family: var(--raj-display); font-stretch: 118%; font-weight: 850; text-transform: uppercase; letter-spacing: .02em; }

/* Blokken */
.raj-block { padding-block: 56px; }
.raj-block-white { background: var(--raj-surface); border-block: 1px solid var(--raj-line); }
.raj-section-head { display: flex; justify-content: space-between; align-items: end; gap: 16px; flex-wrap: wrap; margin-bottom: 24px; }
.raj-section-head p { max-width: 60ch; margin: 8px 0 0; }
.raj-cats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.raj-cat {
	background: var(--raj-surface);
	border: 1px solid var(--raj-line);
	border-radius: 12px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	color: var(--raj-ink);
	text-decoration: none;
	transition: border-color .15s;
}
.raj-cat:hover, .raj-cat:focus { border-color: var(--raj-red); color: var(--raj-ink); }
.raj-cat-img { background: var(--raj-tile); height: 180px; display: flex; align-items: center; justify-content: center; padding: 14px; overflow: hidden; }
.raj-cat-img img { max-height: 100%; max-width: 100%; width: auto; height: auto; object-fit: contain; }
.raj-cat-name {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 14px 16px;
	font-family: var(--raj-display);
	font-stretch: 118%;
	font-size: 1.15rem;
	font-weight: 800;
	text-transform: uppercase;
}
.raj-arrow { color: var(--raj-red); }
.raj-cat-name small { display: block; font-family: var(--raj-body); font-stretch: 100%; font-size: .78rem; font-weight: 500; text-transform: none; color: var(--raj-muted); margin-top: 2px; }
.raj-cat-img-text { background: var(--raj-char); }
.raj-cat-img-text span { font-family: var(--raj-display); font-stretch: 125%; font-weight: 900; font-size: clamp(1.4rem, 3vw, 2.2rem); text-transform: uppercase; color: #fff; letter-spacing: .02em; }
.raj-cat-img-text span::first-letter { color: var(--raj-red); }
.raj-usps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px 32px; }
.raj-usp { border-top: 3px solid var(--raj-red); padding-top: 14px; }
.raj-usp h3 { font-size: 1.1rem; margin: 0 0 6px; }
.raj-usp p { color: var(--raj-muted); margin: 0; }
.raj-brands-wrap { margin-top: 40px; }
.raj-marquee {
	overflow: hidden;
	margin-top: 14px;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.raj-marquee-track { display: flex; gap: 16px; width: max-content; animation: raj-marquee 32s linear infinite reverse; }
.raj-marquee:hover .raj-marquee-track { animation-play-state: paused; }
.raj-brand {
	flex: none;
	height: 96px;
	width: 170px;
	background: #fff;
	border: 1px solid var(--raj-line);
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 14px 18px;
}
.raj-brand img { max-height: 100%; max-width: 100%; width: auto; height: auto; object-fit: contain; }
@keyframes raj-marquee { from { transform: translateX(0); } to { transform: translateX(calc(-50% - 8px)); } }
@media (prefers-reduced-motion: reduce) {
	.raj-marquee { -webkit-mask-image: none; mask-image: none; }
	.raj-marquee-track { animation: none; width: auto; flex-wrap: wrap; }
	.raj-marquee-track [aria-hidden="true"] { display: none; }
}
.raj-split { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.raj-panel { background: var(--raj-surface); border: 1px solid var(--raj-line); border-radius: 12px; padding: 24px; align-self: start; }
.raj-panel h3 { margin: 4px 0 0; }
.raj-facts { display: grid; grid-template-columns: auto 1fr; gap: 8px 20px; margin: 16px 0 0; }
.raj-facts dt { color: var(--raj-muted); font-weight: 400; }
.raj-facts dd { margin: 0; }
.raj-steps { list-style: none; padding: 0; margin: 18px 0 0; display: grid; gap: 14px; counter-reset: raj-step; }
.raj-steps li { display: grid; grid-template-columns: 40px 1fr; gap: 12px; align-items: start; margin: 0; }
.raj-steps li::before {
	counter-increment: raj-step;
	content: counter(raj-step);
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--raj-red);
	color: #fff;
	display: grid;
	place-items: center;
	font-family: var(--raj-display);
	font-weight: 850;
}
.raj-steps h3 { font-size: 1.1rem; margin: 0; }
.raj-steps p { color: var(--raj-muted); margin: 2px 0 0; }

/* Aanmelden */
.raj-auth { display: grid; grid-template-columns: 1fr 1.3fr; gap: 32px; padding-block: 48px 64px; }
.raj-auth .raj-h2 { margin-bottom: 14px; }
.raj-b2b-register-form .form-row { margin: 0 0 12px; }
.raj-b2b-register-form label, .woocommerce form .form-row label { font-weight: 600; font-size: .9rem; }
.raj-b2b-hint { color: var(--raj-muted); font-size: .85rem; }
.raj-b2b-register { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.raj-b2b-register .raj-b2b-field-billing_company,
.raj-b2b-register .raj-b2b-field-billing_address_1,
.raj-b2b-register > p:last-child { grid-column: 1 / -1; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row select, .raj-b2b-register select,
.woocommerce form .form-row textarea {
	border: 1.5px solid var(--raj-line);
	border-radius: 8px;
	padding: 10px 12px;
	background: #fff;
	width: 100%;
}

/* Voet */
.raj-footer { background: var(--raj-char); color: #f3f3f4; }
.raj-footer-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 24px; padding-block: 40px; }
.raj-footer p, .raj-footer li { color: rgba(243, 243, 244, .85); font-size: .92rem; }
.raj-footer ul { list-style: none; padding: 0; margin: 8px 0 0; display: grid; gap: 4px; }
.raj-footer a { color: #fff; }
.raj-footer .raj-label { color: rgba(243, 243, 244, .6); }
.raj-footer-logo { display: inline-block; background: #fff; border-radius: 8px; padding: 8px 10px; line-height: 0; margin-bottom: 12px; }
.raj-footer .raj-footer-logo img { height: 34px; width: auto; }
.raj-footer-copy { border-top: 1px solid var(--raj-char-2); }
.raj-footer-copy .raj-wrap { padding-block: 14px; font-size: .8rem; color: rgba(243, 243, 244, .6); }

/* Webshop */
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
	background: var(--raj-surface);
	border: 1px solid var(--raj-line);
	border-radius: 10px;
	padding: 0 0 14px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}
.woocommerce ul.products li.product a img { background: var(--raj-tile); margin: 0 0 10px; aspect-ratio: 1; object-fit: contain; padding: 12px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .ast-woo-product-category,
.woocommerce ul.products li.product .raj-sku,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .raj-b2b-button-disabled { margin-left: 14px; margin-right: 14px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--raj-body); font-stretch: 100%; font-size: 1rem; font-weight: 700; color: var(--raj-ink); text-transform: none; }
.raj-sku { display: block; font-family: ui-monospace, Menlo, Consolas, monospace; font-size: .8rem; color: var(--raj-muted); margin-bottom: 6px; }
.woocommerce ul.products li.product .price, .woocommerce div.product p.price {
	color: var(--raj-ink);
	font-family: var(--raj-display);
	font-weight: 850;
	font-size: 1.35rem;
	margin-top: auto;
}
.woocommerce ul.products li.product .price del, .woocommerce div.product p.price del { color: var(--raj-muted); font-size: .8rem; font-weight: 500; opacity: 1; display: block; }
.woocommerce ul.products li.product .price ins, .woocommerce div.product p.price ins { text-decoration: none; }
.raj-b2b-excl { display: block; font-family: var(--raj-body); font-size: .72rem; font-weight: 500; color: var(--raj-muted); }
.raj-b2b-deal {
	display: inline-block;
	background: var(--raj-ok-bg);
	color: var(--raj-ok);
	border-radius: 999px;
	padding: 2px 8px;
	font-family: var(--raj-body);
	font-size: .72rem;
	font-weight: 700;
	vertical-align: middle;
}
.raj-b2b-price-locked {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--raj-body);
	font-size: .9rem;
	font-weight: 500;
	color: var(--raj-muted);
	border-top: 1px dashed var(--raj-line);
	padding-top: 10px;
}
.raj-b2b-price-locked::before {
	content: "";
	width: 14px;
	height: 14px;
	flex: none;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") center / contain no-repeat;
}
.woocommerce span.onsale, .raj-b2b-onsale {
	background: var(--raj-ok);
	color: #fff;
	border-radius: 999px;
	min-height: 0;
	min-width: 0;
	line-height: 1;
	padding: 6px 10px;
	font-size: .72rem;
	font-weight: 700;
	top: 10px;
	left: 10px;
	right: auto;
}
.woocommerce ul.products li.product .button, .raj-b2b-button-disabled { margin-top: 12px; align-self: flex-start; }
.raj-b2b-button-disabled { display: inline-block; padding: 8px 12px; border-radius: 8px; background: var(--raj-warn-bg); color: var(--raj-warn); font-weight: 700; font-size: .85rem; }
.woocommerce ul.products li.product .raj-b2b-login-button { background: var(--raj-char); }
.woocommerce ul.products li.product .raj-b2b-login-button:hover { background: var(--raj-ink); }

.woocommerce-info, .woocommerce-message, .woocommerce-error,
.wc-block-components-notice-banner { border-radius: 10px; border-top-width: 0; border-left: 4px solid var(--raj-red); }
.raj-b2b-locked-notice { background: var(--raj-char); color: #f3f3f4; border-left-color: var(--raj-red); }
.woocommerce-info.raj-b2b-locked-notice::before { display: none; }
.woocommerce-info.raj-b2b-locked-notice { padding-left: 20px; }
.raj-b2b-locked-notice a { color: #fff; font-weight: 700; }
.raj-b2b-pending { background: var(--raj-warn-bg); border-left-color: var(--raj-warn); color: var(--raj-ink); }

@media (max-width: 900px) {
	.raj-cats, .raj-usps { grid-template-columns: repeat(2, 1fr); }
	.raj-split, .raj-auth { grid-template-columns: minmax(0, 1fr); }
	.raj-footer-grid { grid-template-columns: 1fr 1fr; }
	.raj-hero {
		background-image: linear-gradient(180deg, rgba(18, 19, 21, .86), rgba(18, 19, 21, .78)), var(--raj-hero-img);
		background-position: 60% center;
	}
	.raj-hero .raj-wrap { padding-block: 56px 60px; }
}
@media (max-width: 560px) {
	.raj-cats { gap: 10px; }
	.raj-cat-img { height: 110px; padding: 10px; }
	.raj-cat-name { padding: 10px 12px; font-size: .95rem; }
	.raj-usps, .raj-footer-grid, .raj-b2b-register { grid-template-columns: minmax(0, 1fr); }
}

/* Palletprijs en statiegeld onder de prijs */
.raj-b2b-staffel, .raj-b2b-statiegeld { display: block; font-family: var(--raj-body); font-stretch: 100%; font-size: .74rem; font-weight: 500; color: var(--raj-muted); margin-top: 2px; }
.raj-b2b-staffel { color: var(--raj-ok); font-weight: 700; }

/* Eigen pagina's: Besparen en Contact */
.raj-page { width: 100%; flex: 1 1 100%; }
.raj-page-head { background: var(--raj-char); color: #f3f3f4; }
.raj-page-head .raj-wrap { padding-block: 56px 60px; }
.raj-page-head h1 { color: #fff; font-size: clamp(2rem, 4.6vw, 3.4rem); font-weight: 850; text-transform: uppercase; line-height: 1.02; margin: 0; }
.raj-page-head h1 em { font-style: normal; color: var(--raj-red); }
.raj-page-body { padding-block: 48px 64px; }
.raj-panel-title { font-size: 1.3rem; font-weight: 800; margin: 0 0 6px; }
.raj-facts-lg { font-size: 1.05rem; gap: 12px 24px; }
.raj-note { margin-top: 24px; }
.raj-form p { margin: 0 0 12px; }
.raj-form label { display: block; font-weight: 600; font-size: .9rem; margin-bottom: 4px; }
.raj-form input, .raj-form textarea { width: 100%; border: 1.5px solid var(--raj-line); border-radius: 8px; padding: 10px 12px; background: #fff; font: inherit; }
.raj-form .required { color: var(--raj-red); }
.raj-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.raj-form-done { background: var(--raj-ok-bg); border-left: 4px solid var(--raj-ok); border-radius: 10px; padding: 16px; }
.raj-form-done p { margin: 4px 0 0; }
.raj-form-error { background: #fbe6e7; border-left: 4px solid var(--raj-red); border-radius: 10px; padding: 12px 16px; margin-bottom: 14px; }

/* Assortiment: categorielijst links */
.raj-catnav-side { position: sticky; top: 90px; background: var(--raj-surface); border: 1px solid var(--raj-line); border-radius: 12px; padding: 16px; }
.admin-bar .raj-catnav-side { top: 122px; }
.raj-catnav-search { display: flex; border: 1.5px solid var(--raj-line); border-radius: 8px; overflow: hidden; background: #fff; margin-bottom: 18px; }
.raj-catnav-search:focus-within { border-color: var(--raj-ink); }
.raj-catnav-search input[type="search"] { flex: 1; min-width: 0; border: 0; padding: 10px 12px; background: transparent; box-shadow: none; }
.raj-catnav-search input[type="search"]:focus { outline: none; }
.raj-catnav-search button { border: 0; background: var(--raj-red); color: #fff; padding: 0 12px; display: grid; place-items: center; cursor: pointer; border-radius: 0; }
.raj-catnav-search button:hover { background: var(--raj-red-hover); }
.raj-catnav-title { font-family: var(--raj-display); font-stretch: 118%; font-weight: 800; text-transform: uppercase; font-size: .95rem; margin: 0 0 6px; color: var(--raj-ink); }
.raj-catnav-list { list-style: none; margin: 0 0 18px; padding: 0; }
.raj-catnav-list:last-child { margin-bottom: 0; }
.raj-catnav-list ul { list-style: none; margin: 2px 0 4px 12px; padding: 0 0 0 8px; border-left: 2px solid var(--raj-line); }
.raj-catnav-list li { margin: 0; }
.raj-catnav-list a {
	display: flex; justify-content: space-between; align-items: center; gap: 8px;
	padding: 7px 10px; border-radius: 6px; color: var(--raj-ink); text-decoration: none; font-weight: 500;
}
.raj-catnav-list a span { color: var(--raj-muted); font-size: .8rem; font-variant-numeric: tabular-nums; }
.raj-catnav-list a:hover, .raj-catnav-list a:focus { background: var(--raj-bg); color: var(--raj-ink); }
.raj-catnav-list a[aria-current="page"] { background: var(--raj-char); color: #fff; font-weight: 700; }
.raj-catnav-list a[aria-current="page"] span { color: rgba(255, 255, 255, .7); }
.raj-catnav-mobile { display: none; }

/* Astra-zijbalk in het assortiment: smal, zonder eigen rand */
.woocommerce.ast-left-sidebar #secondary, .woocommerce-page.ast-left-sidebar #secondary { border: 0; padding-top: 0; }
.woocommerce.ast-left-sidebar #secondary .sidebar-main, .woocommerce-page.ast-left-sidebar #secondary .sidebar-main { padding: 0; }
@media (min-width: 922px) {
	.woocommerce.ast-left-sidebar #secondary, .woocommerce-page.ast-left-sidebar #secondary { width: 25%; padding-right: 28px; }
	.woocommerce.ast-left-sidebar #primary, .woocommerce-page.ast-left-sidebar #primary { width: 75%; padding-left: 0; border-left: 0; }
}
@media (max-width: 921px) {
	.woocommerce.ast-left-sidebar #secondary, .woocommerce-page.ast-left-sidebar #secondary { display: none; }
	.raj-catnav-mobile { display: block; background: var(--raj-surface); border: 1px solid var(--raj-line); border-radius: 12px; margin-bottom: 20px; }
	.raj-catnav-mobile summary { padding: 14px 16px; font-weight: 700; cursor: pointer; list-style: none; display: flex; justify-content: space-between; }
	.raj-catnav-mobile summary::-webkit-details-marker { display: none; }
	.raj-catnav-mobile summary::after { content: "+"; font-size: 1.3rem; line-height: 1; color: var(--raj-red); }
	.raj-catnav-mobile[open] summary::after { content: "–"; }
	.raj-catnav-mobile > :not(summary) { margin-left: 16px; margin-right: 16px; }
	.raj-catnav-mobile .raj-catnav-list:last-child { margin-bottom: 16px; }
}

/* Productnamen in de winkel: altijd het gewone lettertype met normale afstand,
   ook als Astra in de Customizer een andere kopstijl heeft. */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .ast-loop-product__link h2 {
	font-family: var(--raj-body) !important;
	font-stretch: 100% !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	letter-spacing: normal !important;
	word-spacing: normal !important;
	text-transform: none !important;
	line-height: 1.35 !important;
}

/* Vaste paginabreedte, los van de breedte-instelling in de Astra Customizer,
   zodat de categorielijst en vier producten naast elkaar passen. */
body.raj-theme .site-content > .ast-container,
body.raj-theme.ast-woo-shop-archive .site-content > .ast-container {
	max-width: 1240px;
	padding-left: max(20px, env(safe-area-inset-left, 0px));
	padding-right: max(20px, env(safe-area-inset-right, 0px));
}
body.raj-theme.ast-page-builder-template .site-content > .ast-container { max-width: 100%; padding-left: 0; padding-right: 0; }
body.ast-separate-container, body.woocommerce-page, body.woocommerce { background-color: var(--raj-bg); }
.ast-separate-container .ast-article-single, .ast-separate-container .ast-woocommerce-container,
.ast-separate-container #primary .ast-article-post { background: transparent; padding: 0; }
.ast-separate-container #primary, .ast-separate-container #secondary { padding-top: 32px; padding-bottom: 48px; margin: 0; }

/* Productraster: altijd netjes verdeeld, ook als Astra een ander aantal kolommen heeft ingesteld */
.woocommerce ul.products, .woocommerce-page ul.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
	gap: 16px;
	margin: 0;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; }
@media (max-width: 560px) {
	.woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
}

/* Productkaarten: prijs en knop altijd onderaan, op één lijn met de buren */
.raj-theme.woocommerce ul.products li.product, .raj-theme.woocommerce-page ul.products li.product { display: flex !important; flex-direction: column; height: 100%; }
.raj-theme ul.products li.product .astra-shop-summary-wrap { display: flex; flex-direction: column; flex: 1; padding: 0 !important; }
.raj-theme ul.products li.product .astra-shop-summary-wrap .price,
.raj-theme ul.products li.product .astra-shop-summary-wrap .raj-b2b-price-locked { margin-top: auto !important; }
.raj-theme ul.products li.product .astra-shop-summary-wrap .button,
.raj-theme ul.products li.product .astra-shop-summary-wrap .raj-b2b-button-disabled { margin-top: 12px !important; align-self: stretch; text-align: center; justify-content: center; }
.raj-theme ul.products li.product .woocommerce-loop-product__title { min-height: 2.7em; }
.raj-theme ul.products li.product .ast-woo-product-category { font-size: .78rem; color: var(--raj-muted); margin-top: 12px; }

/* Niet op voorraad: klein label in de hoek in plaats van de grote witte cirkel van Astra */
.raj-theme ul.products li.product .ast-shop-product-out-of-stock {
	position: absolute !important; top: 10px !important; left: 10px !important; right: auto !important; bottom: auto !important;
	transform: none !important; width: auto !important; height: auto !important; min-width: 0 !important; min-height: 0 !important;
	padding: 4px 9px !important; border-radius: 999px !important; background: var(--raj-ink) !important; color: #fff !important;
	font-size: .7rem !important; font-weight: 700 !important; line-height: 1.2 !important; text-transform: none !important;
	display: inline-block !important; box-shadow: none !important; z-index: 2;
}
.raj-theme ul.products li.product .astra-shop-thumbnail-wrap { position: relative; }

/* Titel en sorteerregel boven de producten */
.raj-theme .woocommerce-products-header__title.page-title { font-size: clamp(1.8rem, 3.2vw, 2.4rem) !important; line-height: 1.05; margin: 4px 0 18px; }
.raj-theme .woocommerce-result-count, .raj-theme .woocommerce-ordering { margin: 0 0 18px !important; }
.raj-theme .woocommerce-result-count { float: left; padding-top: 8px; color: var(--raj-muted); font-size: .9rem; }
.raj-theme .woocommerce-ordering { float: right; }
.raj-theme .woocommerce-ordering select { border: 1.5px solid var(--raj-line); border-radius: 8px; padding: 8px 32px 8px 12px; background-color: #fff; font-size: .9rem; }
.raj-theme ul.products { clear: both; }
@media (max-width: 560px) {
	.raj-theme .woocommerce-result-count, .raj-theme .woocommerce-ordering { float: none; }
}

/* ---------- Telefoon (versie 1.1) ---------- */
.raj-tabbar { display: none; }
@media (max-width: 900px) {
	/* Kop op één regel: het menu staat onderin */
	.raj-header-inner { flex-wrap: nowrap; padding-block: 8px; }
	.raj-menu-toggle, .raj-nav { display: none !important; }
	.raj-header-actions .raj-cart-btn { display: none; }

	.raj-tabbar {
		display: grid;
		grid-auto-flow: column;
		grid-auto-columns: 1fr;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 200;
		background: #fff;
		border-top: 1px solid var(--raj-line);
		box-shadow: 0 -4px 16px rgba(0, 0, 0, .06);
		padding: 0 env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px);
	}
	.raj-tabbar a {
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 3px;
		min-height: 58px;
		padding: 8px 2px;
		color: var(--raj-muted);
		font-size: .7rem;
		font-weight: 600;
		text-decoration: none;
		line-height: 1.1;
	}
	.raj-tabbar a:hover, .raj-tabbar a:focus { color: var(--raj-ink); }
	.raj-tabbar a[aria-current="page"] { color: var(--raj-red); }
	.raj-tabbar a[aria-current="page"]::before {
		content: "";
		position: absolute;
		top: 0;
		left: 25%;
		right: 25%;
		height: 3px;
		border-radius: 0 0 3px 3px;
		background: var(--raj-red);
	}
	.raj-tab-badge {
		position: absolute;
		top: 5px;
		left: calc(50% + 4px);
		min-width: 18px;
		height: 18px;
		padding: 0 5px;
		border-radius: 999px;
		background: var(--raj-red);
		color: #fff;
		font-size: .68rem;
		font-weight: 800;
		display: grid;
		place-items: center;
	}
	.raj-tab-badge[hidden] { display: none; }
	body.raj-theme { padding-bottom: calc(58px + env(safe-area-inset-bottom, 0px)); }
	#ast-scroll-top { bottom: calc(74px + env(safe-area-inset-bottom, 0px)) !important; }

	/* Geen inzoomen op de iPhone bij het tikken in een veld */
	input, select, textarea { font-size: 16px !important; }

	/* Categorielijst in het assortiment */
	.raj-catnav-mobile summary { min-height: 48px; align-items: center; }
	.raj-catnav-list a { padding-block: 10px; }
}

@media (max-width: 560px) {
	/* Bovenaan de homepage */
	.raj-hero .raj-wrap { padding-block: 44px 48px; }
	.raj-lead { font-size: 1rem; }
	.raj-ctas .raj-btn { flex: 1 1 auto; white-space: nowrap; padding-inline: 14px; }
	.raj-block { padding-block: 44px; }
	.raj-section-head { margin-bottom: 16px; }

	/* Waarom Raj: twee kolommen */
	.raj-usps { grid-template-columns: 1fr 1fr; gap: 22px 16px; }
	.raj-usp { padding-top: 10px; }
	.raj-usp h3 { font-size: .98rem; }
	.raj-usp p { font-size: .86rem; line-height: 1.45; }
	.raj-brand { height: 76px; width: 136px; padding: 10px 14px; }

	/* Stappen */
	.raj-steps li { grid-template-columns: 34px 1fr; }
	.raj-steps li::before { width: 34px; height: 34px; }
	.raj-panel { padding: 18px; }

	/* Voet: adres en openingstijden naast elkaar */
	.raj-footer-grid { grid-template-columns: 1fr 1fr; gap: 20px 16px; padding-block: 32px; }
	.raj-footer-grid > :first-child { grid-column: 1 / -1; }
	.raj-footer-grid > :nth-child(3) { grid-column: 1 / -1; order: 1; }

	/* Productkaarten compacter */
	.woocommerce ul.products li.product a img { padding: 8px; margin-bottom: 8px; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title,
	.woocommerce ul.products li.product .ast-woo-product-category,
	.woocommerce ul.products li.product .raj-sku,
	.woocommerce ul.products li.product .price,
	.woocommerce ul.products li.product .button,
	.woocommerce ul.products li.product .raj-b2b-button-disabled { margin-left: 10px; margin-right: 10px; }
	.raj-theme ul.products li.product .woocommerce-loop-product__title { font-size: .92rem !important; min-height: 2.6em; }
	.raj-theme ul.products li.product .ast-woo-product-category { margin-top: 8px; font-size: .72rem; }
	.raj-sku { font-size: .72rem; }
	.woocommerce ul.products li.product .price { font-size: 1.15rem; }
	.raj-theme ul.products li.product .astra-shop-summary-wrap .button { padding: 11px 8px; font-size: .9rem; }
	.raj-b2b-price-locked { font-size: .8rem; }
	.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { padding-bottom: 10px; }

	/* Pagina's Besparen en Contact */
	.raj-page-head .raj-wrap { padding-block: 40px 44px; }
	.raj-page-body { padding-block: 32px 48px; }
}

/* ---------- Versie 1.1.1: grote koppen passen altijd op het scherm ---------- */
.raj-home, .raj-page { overflow-x: clip; }
.raj-hero h1, .raj-page-head h1, .raj-h2, .raj-home h2 { overflow-wrap: break-word; }
@media (max-width: 560px) {
	.raj-hero h1 { font-size: clamp(1.7rem, 8.6vw, 2.15rem) !important; }
	.raj-page-head h1 { font-size: clamp(1.6rem, 8vw, 2rem) !important; }
	.raj-h2, .raj-home h2 { font-size: clamp(1.35rem, 6.6vw, 1.6rem) !important; }
	.raj-label { font-size: .68rem; letter-spacing: .1em; }
	.raj-cutoff strong { font-size: .9rem; }
	.raj-lead { font-size: 1rem !important; }
}

/* ---------- Versie 1.2: zoekbalk bovenaan het assortiment, blokjes of lijst ---------- */
.raj-catalog.ast-separate-container #primary, .raj-catalog.ast-separate-container #secondary { padding-top: 20px; }
.raj-catalog .woocommerce-products-header__title.page-title { margin: 0 0 12px !important; }
.raj-catalog .woocommerce-breadcrumb { margin-bottom: 8px; }
.raj-catalog .term-description, .raj-catalog .page-description { margin-bottom: 12px; }

.raj-shop-bar { display: flex; gap: 10px; align-items: stretch; margin: 0 0 18px; }
.raj-shop-bar .raj-catnav-search { flex: 1; margin: 0; }
.raj-shop-bar .raj-catnav-search input[type="search"] { padding: 11px 14px; font-size: 1rem; }
.raj-shop-bar .raj-catnav-search button { padding: 0 16px; }
.raj-view { display: flex; flex: none; border: 1.5px solid var(--raj-line); border-radius: 8px; overflow: hidden; background: #fff; }
.raj-view button {
	display: grid;
	place-items: center;
	width: 46px;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--raj-muted);
	padding: 0;
	cursor: pointer;
}
.raj-view button + button { border-left: 1.5px solid var(--raj-line); }
.raj-view button:hover, .raj-view button:focus { background: var(--raj-bg); color: var(--raj-ink); }
.raj-view button[aria-pressed="true"] { background: var(--raj-char); color: #fff; }

/* Lijstweergave */
html.raj-list body.raj-catalog ul.products { grid-template-columns: 1fr !important; gap: 10px !important; }
html.raj-list body.raj-catalog ul.products li.product {
	display: grid !important;
	grid-template-columns: 96px minmax(0, 1fr);
	gap: 0 16px;
	align-items: center;
	padding: 10px 14px 10px 10px !important;
	height: auto;
}
html.raj-list body.raj-catalog ul.products li.product .astra-shop-thumbnail-wrap { width: 96px; }
html.raj-list body.raj-catalog ul.products li.product a img { margin: 0 !important; padding: 6px; border-radius: 6px; }
html.raj-list body.raj-catalog ul.products li.product .astra-shop-summary-wrap {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto auto;
	column-gap: 20px;
	align-items: center;
}
html.raj-list body.raj-catalog ul.products li.product .astra-shop-summary-wrap > * { grid-column: 1; margin-left: 0 !important; margin-right: 0 !important; }
html.raj-list body.raj-catalog ul.products li.product .ast-woo-product-category { margin-top: 0; }
html.raj-list body.raj-catalog ul.products li.product .woocommerce-loop-product__title { min-height: 0; margin: 0 0 2px; }
html.raj-list body.raj-catalog ul.products li.product .raj-sku { margin-bottom: 0; }
html.raj-list body.raj-catalog ul.products li.product .astra-shop-summary-wrap .price,
html.raj-list body.raj-catalog ul.products li.product .astra-shop-summary-wrap .raj-b2b-price-locked {
	grid-column: 2;
	grid-row: 1 / span 3;
	margin: 0 !important;
	text-align: right;
}
html.raj-list body.raj-catalog ul.products li.product .astra-shop-summary-wrap .raj-b2b-price-locked { border-top: 0; padding-top: 0; }
html.raj-list body.raj-catalog ul.products li.product .astra-shop-summary-wrap .button,
html.raj-list body.raj-catalog ul.products li.product .astra-shop-summary-wrap .raj-b2b-button-disabled,
html.raj-list body.raj-catalog ul.products li.product .astra-shop-summary-wrap .added_to_cart {
	grid-column: 3;
	grid-row: 1 / span 3;
	margin: 0 !important;
	align-self: center;
	white-space: nowrap;
}

@media (max-width: 921px) {
	.raj-catalog.ast-separate-container #primary { padding-top: 14px; }
	.raj-shop-bar { margin-bottom: 12px; }
	.raj-catnav-mobile { margin-bottom: 14px; }
	.raj-catnav-mobile summary { padding-block: 10px; min-height: 44px; }
	.raj-catalog .woocommerce-products-header__title.page-title { font-size: 1.5rem !important; margin-bottom: 10px !important; }
}
@media (max-width: 560px) {
	.raj-view button { width: 42px; }
	html.raj-list body.raj-catalog ul.products { gap: 8px !important; }
	html.raj-list body.raj-catalog ul.products li.product { grid-template-columns: 72px minmax(0, 1fr); gap: 0 12px; padding: 8px 10px 8px 8px !important; align-items: start; }
	html.raj-list body.raj-catalog ul.products li.product .astra-shop-thumbnail-wrap { width: 72px; }
	html.raj-list body.raj-catalog ul.products li.product .astra-shop-summary-wrap { grid-template-columns: minmax(0, 1fr) auto; column-gap: 10px; }
	html.raj-list body.raj-catalog ul.products li.product .astra-shop-summary-wrap .price,
	html.raj-list body.raj-catalog ul.products li.product .astra-shop-summary-wrap .raj-b2b-price-locked {
		grid-column: 1; grid-row: 4; text-align: left; margin-top: 6px !important; align-self: end;
	}
	html.raj-list body.raj-catalog ul.products li.product .astra-shop-summary-wrap .button,
	html.raj-list body.raj-catalog ul.products li.product .astra-shop-summary-wrap .raj-b2b-button-disabled,
	html.raj-list body.raj-catalog ul.products li.product .astra-shop-summary-wrap .added_to_cart {
		grid-column: 2; grid-row: 4; align-self: end; padding: 9px 12px; font-size: .85rem;
	}
	html.raj-list body.raj-catalog ul.products li.product .ast-woo-product-category { display: none; }
}
.raj-shop-bar .screen-reader-text, .raj-view .screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.raj-catalog .woocommerce-products-header__title.page-title { margin-top: 0 !important; }
@media (max-width: 560px) {
	html.raj-list body.raj-catalog ul.products li.product .astra-shop-summary-wrap > * { grid-column: 1 / -1; }
	html.raj-list body.raj-catalog ul.products li.product .woocommerce-loop-product__title { font-size: .9rem !important; }
}

/* ---------- Versie 1.3: Filteren en sorteren in een paneel ---------- */
.raj-catalog .woocommerce-ordering, .raj-catalog .woocommerce-result-count { display: none !important; }
.raj-filterbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 14px; clear: both; }
.raj-filter-open {
	display: inline-flex; align-items: center; gap: 8px;
	background: #fff; color: var(--raj-ink);
	border: 1.5px solid var(--raj-ink); border-radius: 8px;
	padding: 10px 14px; font-weight: 700; font-size: .95rem; cursor: pointer; line-height: 1.2;
}
.raj-filter-open:hover, .raj-filter-open:focus { background: var(--raj-char); color: #fff; }
.raj-filter-count { background: var(--raj-red); color: #fff; border-radius: 999px; min-width: 22px; height: 22px; padding: 0 6px; display: grid; place-items: center; font-size: .75rem; font-weight: 800; }
.raj-result-total { color: var(--raj-muted); font-size: .9rem; white-space: nowrap; }
.raj-chips { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: -4px 0 16px; }
.raj-chip { display: inline-flex; align-items: center; gap: 6px; background: var(--raj-char); color: #fff; border-radius: 999px; padding: 5px 8px 5px 12px; font-size: .85rem; font-weight: 600; text-decoration: none; }
.raj-chip span[aria-hidden] { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: rgba(255,255,255,.18); font-size: .9rem; line-height: 1; }
.raj-chip:hover, .raj-chip:focus { background: var(--raj-red); color: #fff; }
.raj-chip-clear { font-size: .85rem; font-weight: 600; color: var(--raj-ink); }

/* Paneel */
html.raj-drawer-open, html.raj-drawer-open body { overflow: hidden; }
.raj-drawer { position: fixed; inset: 0; z-index: 1000; }
.raj-drawer[hidden] { display: none; }
.raj-drawer-backdrop { position: absolute; inset: 0; background: rgba(18, 19, 21, .5); opacity: 0; transition: opacity .25s; }
.raj-drawer-panel {
	position: absolute; top: 0; right: 0; bottom: 0;
	width: min(420px, 100%);
	background: #fff; color: var(--raj-ink);
	display: flex; flex-direction: column;
	transform: translateX(100%); transition: transform .25s ease;
	box-shadow: -8px 0 32px rgba(0, 0, 0, .18);
	margin: 0;
}
.raj-drawer.is-open .raj-drawer-backdrop { opacity: 1; }
.raj-drawer.is-open .raj-drawer-panel { transform: none; }
@media (prefers-reduced-motion: reduce) { .raj-drawer-panel, .raj-drawer-backdrop { transition: none; } }
.raj-drawer-head {
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	padding: 14px 16px 14px 20px; padding-top: max(14px, env(safe-area-inset-top, 0px));
	border-bottom: 1px solid var(--raj-line);
}
.raj-drawer-head h2 { font-family: var(--raj-display); font-stretch: 118%; font-size: 1.15rem !important; font-weight: 800; text-transform: uppercase; margin: 0; }
.raj-drawer-close { display: grid; place-items: center; width: 42px; height: 42px; border: 0; border-radius: 8px; background: transparent; color: var(--raj-ink); padding: 0; cursor: pointer; }
.raj-drawer-close:hover, .raj-drawer-close:focus { background: var(--raj-bg); color: var(--raj-ink); }
.raj-drawer-body { flex: 1; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }

.raj-sort { border: 0; margin: 0; padding: 16px 20px 18px; background: var(--raj-bg); border-bottom: 1px solid var(--raj-line); }
.raj-sort legend { float: left; width: 100%; padding: 0; margin: 0 0 8px; font-weight: 800; font-size: 1rem; }
.raj-radio, .raj-check { display: flex; align-items: center; gap: 12px; padding: 9px 0; cursor: pointer; font-weight: 500; margin: 0; }
.raj-radio input, .raj-check input { width: 22px; height: 22px; margin: 0; flex: none; accent-color: var(--raj-red); }
.raj-check span { flex: 1; }
.raj-check small { color: var(--raj-muted); font-size: .82rem; font-variant-numeric: tabular-nums; }

.raj-facet { border-bottom: 1px solid var(--raj-line); }
.raj-facet summary {
	display: flex; align-items: center; gap: 8px;
	padding: 16px 20px; font-weight: 800; font-size: 1rem; cursor: pointer; list-style: none;
}
.raj-facet summary::-webkit-details-marker { display: none; }
.raj-facet summary::after { content: ""; margin-left: auto; width: 10px; height: 10px; border-right: 2px solid var(--raj-ink); border-bottom: 2px solid var(--raj-ink); transform: rotate(45deg) translateY(-3px); transition: transform .2s; flex: none; }
.raj-facet[open] summary::after { transform: rotate(-135deg) translateY(-2px); }
.raj-facet-current { font-weight: 500; font-size: .85rem; color: var(--raj-red); }
.raj-facet-options { padding: 0 20px 12px; max-height: 320px; overflow-y: auto; }
.raj-facet-links { list-style: none; margin: 0; padding: 0 12px 12px; }
.raj-facet-links a { display: flex; justify-content: space-between; padding: 10px 8px; border-radius: 6px; color: var(--raj-ink); text-decoration: none; font-weight: 500; }
.raj-facet-links a span { color: var(--raj-muted); font-size: .82rem; }
.raj-facet-links a:hover, .raj-facet-links a:focus { background: var(--raj-bg); color: var(--raj-ink); }
.raj-facet-links a[aria-current="page"] { background: var(--raj-char); color: #fff; }

.raj-drawer-foot {
	display: grid; grid-template-columns: auto 1fr; gap: 10px;
	padding: 12px 16px; padding-bottom: max(12px, env(safe-area-inset-bottom, 0px));
	border-top: 1px solid var(--raj-line); background: #fff;
}
.raj-drawer-foot .raj-btn { justify-content: center; padding-block: 13px; font-size: 1rem; }

@media (max-width: 560px) {
	.raj-drawer-panel { width: 100%; }
	.raj-filter-open { flex: 1; justify-content: center; }
	.raj-filterbar { margin-bottom: 12px; }
}

/* ---------- Versie 1.3.1: paneel zoals bij Sligro ---------- */
.raj-drawer-head { padding: 18px 16px 18px 24px; padding-top: max(18px, env(safe-area-inset-top, 0px)); }
.raj-drawer-head h2 { font-family: var(--raj-display); font-stretch: 110%; text-transform: none; font-size: 1.35rem !important; font-weight: 800; }
.raj-sort { padding: 22px 0 24px; background: #fff; border-bottom: 8px solid var(--raj-bg); }
.raj-sort legend { font-family: var(--raj-display); font-stretch: 110%; font-size: 1.25rem; font-weight: 800; padding: 0 24px; margin-bottom: 14px; }
.raj-sort-pills { display: flex; gap: 10px; overflow-x: auto; padding: 0 24px 4px; scrollbar-width: none; clear: both; }
.raj-sort-pills::-webkit-scrollbar { display: none; }
.raj-pill-option { flex: none; position: relative; margin: 0; cursor: pointer; }
.raj-pill-option input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.raj-pill-option span {
	display: block; padding: 11px 22px; border: 1.5px solid var(--raj-line); border-radius: 999px;
	font-weight: 500; white-space: nowrap; color: var(--raj-ink); background: #fff;
}
.raj-pill-option input:checked + span { background: var(--raj-char); border-color: var(--raj-char); color: #fff; font-weight: 700; }
.raj-pill-option input:focus-visible + span { outline: 3px solid var(--raj-red); outline-offset: 2px; }
.raj-facets { padding: 8px 24px 16px; }
.raj-facet { border: 0; margin-top: 18px; }
.raj-facet summary { padding: 10px 0 12px; border-bottom: 1.5px solid var(--raj-line); font-weight: 700; font-size: 1.08rem; }
.raj-facet summary::after { transform: rotate(-135deg) translateY(-2px); }
.raj-facet:not([open]) summary::after { transform: rotate(45deg) translateY(-3px); }
.raj-facet-options { padding: 10px 0 4px; max-height: none; }
.raj-facet-links { padding: 8px 0 0; }
.raj-check { padding: 8px 0; font-size: 1.02rem; }
.raj-check input { width: 22px; height: 22px; border-radius: 4px; }
.raj-drawer-clear { margin: 20px 0 0; }
.raj-drawer-clear a { color: var(--raj-ink); font-weight: 600; }
.raj-drawer-foot { display: block; border-top: 0; padding: 12px 24px; padding-bottom: max(16px, env(safe-area-inset-bottom, 0px)); box-shadow: 0 -6px 16px rgba(0, 0, 0, .06); }
.raj-drawer-foot .raj-show-results { width: 100%; padding-block: 16px; font-size: 1.08rem; border-radius: 6px; }
.raj-show-results.is-loading { opacity: .75; }
.raj-show-results:disabled { background: var(--raj-muted); cursor: not-allowed; }

.raj-facets .raj-facet-links a { padding: 10px 0; }
.raj-facets .raj-facet-links a[aria-current="page"] { padding-inline: 10px; }

/* ---------- Versie 1.3.2: paneel staat stil, geen inzoomen ---------- */
.raj-drawer { height: 100vh; height: 100dvh; overscroll-behavior: none; touch-action: none; }
.raj-drawer-panel { height: 100%; outline: 0; touch-action: none; }
.raj-drawer-body { touch-action: pan-y; overscroll-behavior: contain; }
.raj-sort-pills { touch-action: pan-x; overscroll-behavior-x: contain; }
.raj-drawer-head, .raj-drawer-foot { flex: none; }
.raj-drawer input, .raj-drawer label, .raj-drawer summary, .raj-drawer a, .raj-drawer button { touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
html.raj-drawer-open, html.raj-drawer-open body { overscroll-behavior: none; }

/* ---------- Versie 1.4 ---------- */
/* Geen categorie op de productkaartjes */
.raj-theme ul.products li.product .ast-woo-product-category { display: none !important; }

/* Telefoon: het paneel schuift niet opzij; sorteerknoppen lopen door op een volgende regel */
.raj-drawer, .raj-drawer-panel, .raj-drawer-body { overflow-x: hidden; max-width: 100vw; }
.raj-drawer-body { touch-action: pan-y; }
.raj-sort-pills { flex-wrap: wrap; overflow: visible; touch-action: pan-y; padding-bottom: 0; }
.raj-pill-option span { padding: 9px 16px; font-size: .95rem; }
.raj-facet-options, .raj-facet-links, .raj-check span { min-width: 0; overflow-wrap: anywhere; }
html.raj-drawer-open, html.raj-drawer-open body { overflow-x: hidden; }

/* Desktop: filters en sortering vast in de linkerkolom */
.raj-side-filters { margin-top: 18px; border-top: 1px solid var(--raj-line); padding-top: 6px; }
.raj-side-filters .raj-sort { padding: 12px 0 14px; border-bottom: 1px solid var(--raj-line); background: transparent; }
.raj-side-filters .raj-sort legend { font-family: var(--raj-display); font-stretch: 118%; font-size: .95rem; text-transform: uppercase; padding: 0; margin-bottom: 10px; }
.raj-side-filters .raj-sort-pills { padding: 0; gap: 6px; }
.raj-side-filters .raj-pill-option span { padding: 6px 12px; font-size: .85rem; }
.raj-side-filters .raj-facets { padding: 0; }
.raj-side-filters .raj-facet { margin-top: 10px; }
.raj-side-filters .raj-facet summary { font-family: var(--raj-display); font-stretch: 118%; text-transform: uppercase; font-size: .95rem; padding: 8px 0 10px; }
.raj-side-filters .raj-facet-options { padding: 6px 0 0; max-height: 260px; overflow-y: auto; }
.raj-side-filters .raj-check { font-size: .92rem; padding: 6px 0; gap: 10px; }
.raj-side-filters .raj-check input { width: 18px; height: 18px; }
.raj-side-filters .raj-drawer-clear { margin: 14px 0 0; font-size: .9rem; }

@media (min-width: 922px) {
	.raj-catalog .raj-filter-open, .raj-catalog .raj-drawer { display: none !important; }
	.raj-catnav-side { position: static; }
}

/* ---------- Versie 1.5 ---------- */
/* Niets is breder dan het scherm: de pagina kan niet meer worden uitgezoomd */
html, body { overflow-x: clip; max-width: 100%; }
@supports not (overflow-x: clip) { body { overflow-x: hidden; } }
img, svg, video, iframe, table { max-width: 100%; }

/* Categoriemenu (alleen telefoon) */
.raj-catmenu { display: none; }
@media (max-width: 900px) {
	.raj-catmenu:not([hidden]) {
		display: block;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: calc(58px + env(safe-area-inset-bottom, 0px));
		z-index: 190;
		background: #fff;
		overscroll-behavior: contain;
		touch-action: pan-y;
		animation: raj-fade .18s ease-out;
	}
	html.raj-catmenu-open, html.raj-catmenu-open body { overflow: hidden; }
	.raj-catmenu-level { height: 100%; display: flex; flex-direction: column; }
	.raj-catmenu-level[hidden] { display: none; }
	.raj-catmenu-head {
		flex: none;
		display: flex;
		align-items: center;
		gap: 8px;
		margin: 0 20px;
		padding: max(14px, env(safe-area-inset-top, 0px)) 0 14px;
		border-bottom: 1.5px solid var(--raj-line);
		min-height: 64px;
	}
	.raj-catmenu-head h2 {
		flex: 1;
		margin: 0;
		font-family: var(--raj-body);
		font-stretch: 100%;
		font-size: 1.2rem !important;
		font-weight: 700;
		text-transform: none;
		letter-spacing: .01em;
		color: var(--raj-ink);
	}
	.raj-catmenu-x, .raj-catmenu-back {
		display: grid;
		place-items: center;
		width: 40px;
		height: 40px;
		padding: 0;
		border: 0;
		border-radius: 8px;
		background: transparent;
		color: var(--raj-ink);
		flex: none;
	}
	.raj-catmenu-back { margin-left: -10px; }
	.raj-catmenu-list {
		flex: 1;
		list-style: none;
		margin: 0;
		padding: 10px 0 24px;
		overflow-y: auto;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
	}
	.raj-catmenu-list li { margin: 0; }
	.raj-catmenu-item {
		display: flex;
		align-items: center;
		gap: 18px;
		width: 100%;
		min-height: 72px;
		padding: 8px 20px;
		background: transparent;
		border: 0;
		border-radius: 0;
		color: var(--raj-ink);
		text-align: left;
		text-decoration: none;
		font: inherit;
		cursor: pointer;
		-webkit-tap-highlight-color: transparent;
	}
	.raj-catmenu-item:hover, .raj-catmenu-item:focus, .raj-catmenu-item:active { background: var(--raj-bg); color: var(--raj-ink); }
	.raj-catmenu-img {
		flex: none;
		width: 52px;
		height: 52px;
		display: grid;
		place-items: center;
		overflow: hidden;
	}
	.raj-catmenu-img img { width: 100%; height: 100%; object-fit: contain; }
	.raj-catmenu-img-text { border-radius: 10px; background: var(--raj-char); color: #fff; font-family: var(--raj-display); font-weight: 850; font-size: 1.3rem; }
	.raj-catmenu-img-icon { color: var(--raj-red); }
	.raj-catmenu-name { flex: 1; min-width: 0; font-size: 1.1rem; font-weight: 600; letter-spacing: .02em; color: #4a4c50; }
	.raj-catmenu-all .raj-catmenu-name { color: var(--raj-ink); font-weight: 700; }
	.raj-catmenu-chev { flex: none; color: var(--raj-ink); }
}
@keyframes raj-fade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .raj-catmenu:not([hidden]) { animation: none; } }

/* ---------- Versie 1.6: inlogscherm ---------- */
.woocommerce-account .woocommerce h2, .woocommerce-account .woocommerce .u-column1 h2, .woocommerce-account .woocommerce .u-column2 h2 {
	font-family: var(--raj-display); font-stretch: 118%; font-weight: 800; text-transform: uppercase; font-size: 1.4rem; margin: 8px 0 14px;
}
.woocommerce form .password-input, .woocommerce-page form .password-input { position: relative; display: block; width: 100%; }
.woocommerce form .password-input input, .woocommerce-page form .password-input input { padding-right: 48px !important; }
.woocommerce form .show-password-input, .woocommerce-page form .show-password-input,
.woocommerce form button.show-password-input, .woocommerce-page form button.show-password-input {
	position: absolute !important; top: 50% !important; right: 6px !important; transform: translateY(-50%);
	width: 38px !important; height: 38px !important; min-width: 0 !important; min-height: 0 !important;
	margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 6px !important;
	background: transparent !important; box-shadow: none !important; color: var(--raj-muted) !important;
	cursor: pointer; display: grid !important; place-items: center; line-height: 1; font-size: 0 !important;
}
.woocommerce form .show-password-input::before, .woocommerce form .show-password-input::after,
.woocommerce-page form .show-password-input::before, .woocommerce-page form .show-password-input::after { content: none !important; display: none !important; }
.woocommerce form .show-password-input, .woocommerce-page form .show-password-input {
	-webkit-mask: none; mask: none;
}
.woocommerce form .show-password-input { background-image: none !important; }
.woocommerce form .show-password-input:hover, .woocommerce form .show-password-input:focus { background: var(--raj-bg) !important; color: var(--raj-ink) !important; }
.woocommerce form .show-password-input > .raj-eye { display: block; width: 20px; height: 20px; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / contain no-repeat;
}
.woocommerce form .show-password-input.display-password > .raj-eye {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M3 3l18 18'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M3 3l18 18'/%3E%3C/svg%3E");
}
.woocommerce-form-login .woocommerce-form-login__rememberme { display: flex; align-items: center; gap: 8px; margin: 4px 0 14px; }
.woocommerce-form-login .woocommerce-form-login__submit { width: 100%; justify-content: center; padding-block: 13px; float: none !important; margin: 0 0 6px !important; }
.woocommerce-account .lost_password a, .woocommerce-account .woocommerce-privacy-policy-text a { color: var(--raj-red); }
.raj-footer-copy a { color: inherit; }

/* Privacybeleid: leesbare pagina */
.privacy-policy .entry-content { max-width: 72ch; }
.privacy-policy .entry-content h2 { font-size: 1.25rem; margin: 28px 0 8px; }

/* ---------- Versie 1.6.1 ---------- */
/* Kopjes onderaan: altijd klein, ook als Astra koppen op een pagina groter maakt */
.raj-footer h2.raj-label, .raj-footer .raj-label {
	font-family: var(--raj-body) !important; font-stretch: 100% !important; font-size: .72rem !important; font-weight: 700 !important;
	letter-spacing: .12em !important; line-height: 1.4 !important; text-transform: uppercase !important;
	color: rgba(243, 243, 244, .6) !important; margin: 0 0 6px !important;
}
.raj-footer p, .raj-footer li { font-size: .92rem !important; line-height: 1.55 !important; }
.raj-footer-grid > * { min-width: 0; overflow-wrap: break-word; }

/* Kop "Inloggen" in de huisstijl */
body.woocommerce-account .woocommerce h2 {
	font-family: var(--raj-display) !important; font-stretch: 118% !important; font-weight: 800 !important;
	text-transform: uppercase !important; font-size: 1.4rem !important; line-height: 1.1 !important; letter-spacing: .01em !important;
}

/* Oogje in het wachtwoordveld, ook als Astra alle knoppen rood maakt */
html body .password-input { position: relative !important; display: block !important; width: 100% !important; }
html body .password-input input { padding-right: 48px !important; width: 100% !important; }
html body .show-password-input, html body button.show-password-input, html body span.show-password-input {
	position: absolute !important; top: 50% !important; right: 6px !important; left: auto !important; bottom: auto !important;
	transform: translateY(-50%) !important;
	width: 38px !important; height: 38px !important; min-width: 0 !important; min-height: 0 !important; max-width: 38px !important;
	margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 6px !important;
	background: transparent !important; background-color: transparent !important; background-image: none !important;
	box-shadow: none !important; color: var(--raj-muted) !important; font-size: 0 !important; line-height: 0 !important;
	display: grid !important; place-items: center !important; float: none !important;
}
html body .show-password-input:hover, html body .show-password-input:focus { background: var(--raj-bg) !important; color: var(--raj-ink) !important; }
html body .show-password-input::before, html body .show-password-input::after { content: none !important; display: none !important; }

/* =====================================================================
 * Versie 1.7: productpagina, winkelwagen en afrekenen
 * ===================================================================== */

/* Paginatitels (Winkelwagen, Afrekenen, Mijn account) niet te groot op de telefoon */
.woocommerce-cart .entry-title, .woocommerce-checkout .entry-title, .woocommerce-account .entry-title {
	font-size: clamp(1.5rem, 6vw, 2.2rem) !important; margin-bottom: 14px;
}

/* ---------- Productpagina ---------- */
.single-product div.product .product_title { font-family: var(--raj-body) !important; font-stretch: 100% !important; text-transform: none !important; font-weight: 800 !important; font-size: clamp(1.35rem, 4vw, 2rem) !important; line-height: 1.2 !important; letter-spacing: 0 !important; margin-bottom: 6px; }
.raj-product-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin: 0 0 14px; color: var(--raj-muted); font-size: .92rem; }
.raj-meta-brand { font-weight: 700; color: var(--raj-red); text-decoration: none; }
.raj-meta-brand:hover, .raj-meta-brand:focus { text-decoration: underline; }
.raj-meta-sku { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: .85rem; }
.single-product div.product .woocommerce-product-gallery { background: var(--raj-surface); border: 1px solid var(--raj-line); border-radius: 12px; overflow: hidden; }
.single-product div.product .woocommerce-product-gallery img { object-fit: contain; aspect-ratio: 1; background: #fff; padding: 12px; }
.single-product div.product p.price { font-size: 1.8rem; margin: 6px 0 14px; }
.single-product div.product .woocommerce-product-details__short-description { color: var(--raj-muted); margin-bottom: 14px; }
.single-product div.product form.cart { display: flex; align-items: stretch; gap: 10px; margin: 0 0 18px; flex-wrap: wrap; }
.single-product div.product form.cart .single_add_to_cart_button { flex: 1; min-width: 160px; padding: 14px 18px; font-size: 1.02rem; justify-content: center; float: none; margin: 0 !important; }
.single-product div.product form.cart div.quantity { float: none; margin: 0 !important; }
.single-product .woocommerce-tabs { margin-top: 28px; }
.single-product .woocommerce-tabs ul.tabs { padding: 0 !important; margin: 0 0 12px !important; border-bottom: 1.5px solid var(--raj-line); display: flex; gap: 4px; overflow-x: auto; }
.single-product .woocommerce-tabs ul.tabs::before { display: none !important; }
.single-product .woocommerce-tabs ul.tabs li { border: 0 !important; background: transparent !important; margin: 0 !important; padding: 0 !important; border-radius: 0 !important; }
.single-product .woocommerce-tabs ul.tabs li::before, .single-product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.single-product .woocommerce-tabs ul.tabs li a { display: block; padding: 10px 14px !important; font-weight: 700; color: var(--raj-muted) !important; }
.single-product .woocommerce-tabs ul.tabs li.active a { color: var(--raj-ink) !important; box-shadow: inset 0 -3px 0 var(--raj-red); }
.single-product .woocommerce-tabs .panel h2:first-child { display: none; }
.single-product table.woocommerce-product-attributes { border: 0; }
.single-product table.woocommerce-product-attributes th, .single-product table.woocommerce-product-attributes td { padding: 10px 12px; border-bottom: 1px solid var(--raj-line); font-style: normal; background: transparent !important; }
.single-product table.woocommerce-product-attributes th { width: 35%; color: var(--raj-muted); font-weight: 500; }
.single-product .related.products > h2 { font-family: var(--raj-display); font-stretch: 118%; text-transform: uppercase; font-size: 1.3rem; margin: 32px 0 14px; }

/* Aantal met − en + */
.quantity.raj-qty { display: inline-flex !important; align-items: stretch; border: 1.5px solid var(--raj-line); border-radius: 8px; overflow: hidden; background: #fff; }
.quantity.raj-qty input.qty { width: 52px !important; min-height: 46px; border: 0 !important; border-radius: 0 !important; text-align: center; padding: 0 !important; font-weight: 700; -moz-appearance: textfield; background: transparent; box-shadow: none !important; }
.quantity.raj-qty input.qty::-webkit-outer-spin-button, .quantity.raj-qty input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.raj-qty-btn { width: 44px; border: 0 !important; border-radius: 0 !important; background: transparent !important; color: var(--raj-ink) !important; font-size: 1.3rem !important; font-weight: 700; padding: 0 !important; cursor: pointer; line-height: 1; box-shadow: none !important; }
.raj-qty-btn:hover, .raj-qty-btn:focus { background: var(--raj-bg) !important; }

@media (max-width: 921px) {
	.single-product div.product .woocommerce-product-gallery, .single-product div.product .summary { width: 100% !important; float: none !important; margin-right: 0 !important; }
	.single-product div.product .summary { margin-top: 18px; }
	.single-product .woocommerce-breadcrumb { font-size: .82rem; margin-bottom: 10px; }
}
@media (max-width: 900px) {
	/* Vaste balk onderin (boven het menu) met aantal en knop */
	.single-product.raj-theme div.product.product-type-simple form.cart {
		position: fixed; left: 0; right: 0; z-index: 150; margin: 0 !important;
		bottom: calc(58px + env(safe-area-inset-bottom, 0px));
		padding: 10px max(16px, env(safe-area-inset-right, 0px)) 10px max(16px, env(safe-area-inset-left, 0px));
		background: #fff; border-top: 1px solid var(--raj-line); box-shadow: 0 -6px 16px rgba(0, 0, 0, .08);
		flex-wrap: nowrap;
	}
	.single-product.raj-theme div.product.product-type-simple form.cart .single_add_to_cart_button { min-width: 0; }
	.single-product.raj-theme div.product.product-type-simple { padding-bottom: 76px; }
}

/* ---------- Winkelwagen (blokken) ---------- */
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { margin-bottom: 32px; }
.wc-block-cart-items { border-color: var(--raj-line) !important; }
.wc-block-cart-items .wc-block-cart-items__row { border-color: var(--raj-line) !important; }
.wc-block-components-product-name { color: var(--raj-ink) !important; font-weight: 700; text-decoration: none; }
.wc-block-cart-item__image img { background: #fff; border: 1px solid var(--raj-line); border-radius: 8px; object-fit: contain; padding: 4px; }
.wc-block-components-quantity-selector { border-radius: 8px !important; border-color: var(--raj-line) !important; }
.wc-block-components-quantity-selector input { font-weight: 700; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-family: var(--raj-display); font-weight: 850; font-size: 1.3rem; }
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { width: 100%; padding-block: 15px !important; font-size: 1.05rem !important; border-radius: 8px !important; }
.wc-block-cart .wc-block-cart__totals-title { font-family: var(--raj-display); font-stretch: 118%; text-transform: uppercase; font-size: .95rem !important; }
@media (max-width: 900px) {
	/* De vaste knop "Afrekenen" van WooCommerce boven het menu onderin houden */
	.wc-block-cart__submit-container--sticky { bottom: calc(58px + env(safe-area-inset-bottom, 0px)) !important; z-index: 150 !important; }
}

/* ---------- Winkelwagen (klassiek) ---------- */
.woocommerce-cart table.shop_table { border-radius: 12px; border-color: var(--raj-line); background: #fff; overflow: hidden; }
.woocommerce-cart table.shop_table td, .woocommerce-cart table.shop_table th { border-color: var(--raj-line); }
.woocommerce-cart table.cart img { width: 64px; background: #fff; border: 1px solid var(--raj-line); border-radius: 8px; object-fit: contain; }
.woocommerce-cart .cart-collaterals .cart_totals h2 { font-family: var(--raj-display); font-stretch: 118%; text-transform: uppercase; font-size: 1.1rem; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { width: 100%; padding-block: 15px; font-size: 1.05rem; }
@media (max-width: 768px) {
	.woocommerce-cart table.shop_table_responsive tr { display: grid; grid-template-columns: minmax(0, 1fr); padding: 10px 0; border-bottom: 1px solid var(--raj-line); }
	.woocommerce-cart table.shop_table_responsive tr td { border: 0 !important; padding: 4px 14px !important; }
	.woocommerce-cart table.shop_table_responsive tr td.product-remove { order: 9; text-align: right !important; }
	.woocommerce-cart table.cart td.actions .coupon { display: flex; gap: 8px; }
}

/* ---------- Afrekenen ---------- */
/* Geen menu onderin tijdens het afrekenen: alle aandacht voor de bestelling */
body.raj-checkout .raj-tabbar { display: none !important; }
body.raj-checkout.raj-theme { padding-bottom: env(safe-area-inset-bottom, 0px) !important; }
.wc-block-checkout__form .wc-block-components-checkout-step__title, .woocommerce-checkout h3 { font-family: var(--raj-display); font-stretch: 118%; text-transform: uppercase; font-size: 1.05rem !important; letter-spacing: .01em; }
.wc-block-components-text-input input, .wc-block-components-combobox input, .wc-block-components-textarea, .wc-blocks-components-select__select,
.woocommerce-checkout form .form-row input.input-text, .woocommerce-checkout form .form-row textarea, .woocommerce-checkout form .form-row select {
	border-radius: 8px !important; border-color: var(--raj-line) !important;
}
.wc-block-components-radio-control__option, .wc-block-components-radio-control-accordion-option { border-radius: 10px; }
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option-checked,
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted { box-shadow: inset 0 0 0 2px var(--raj-red) !important; }
.wc-block-components-order-summary-item__image img { background: #fff; border-radius: 6px; object-fit: contain; }
.woocommerce-checkout #payment { background: var(--raj-bg); border-radius: 12px; }
.woocommerce-checkout #place_order { width: 100%; padding-block: 15px; font-size: 1.05rem; float: none; }
@media (max-width: 900px) {
	.wc-block-checkout__sidebar { margin-bottom: 8px; }
	.wc-block-components-order-summary { padding-inline: 0; }
	.woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2 { width: 100%; float: none; }
}

/* Bedankpagina */
.woocommerce-order-received .woocommerce-thankyou-order-received { background: var(--raj-ok-bg); border-left: 4px solid var(--raj-ok); border-radius: 10px; padding: 14px 16px; font-weight: 700; }
.woocommerce-order-received ul.order_details { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; padding: 0; margin: 16px 0 24px; }
.woocommerce-order-received ul.order_details li { border: 1px solid var(--raj-line) !important; border-radius: 10px; padding: 12px !important; margin: 0 !important; float: none; background: #fff; }
.single-product .woocommerce-tabs ul.tabs li { list-style: none !important; }
.single-product .woocommerce-tabs ul.tabs li a { text-decoration: none !important; }
.raj-qty-btn { -webkit-tap-highlight-color: transparent; }
.raj-qty-btn:focus:not(:focus-visible) { background: transparent !important; }

/* =====================================================================
 * Versie 1.7: Klant worden, Besparen en Contact
 * ===================================================================== */
.raj-page-head .raj-ctas { margin-top: 22px; }
.raj-page-body .raj-h2 { margin-bottom: 14px; }
.raj-page-body .raj-h2 + .raj-steps { margin-top: 0; }

/* Voordelen */
.raj-benefits { list-style: none; margin: 0 0 32px; padding: 0; display: grid; gap: 12px; }
.raj-benefits li { position: relative; padding: 0 0 0 34px; margin: 0; }
.raj-benefits li::before {
	content: ""; position: absolute; left: 0; top: 2px; width: 22px; height: 22px; border-radius: 50%;
	background: var(--raj-red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center / 14px no-repeat;
}
.raj-benefits strong { display: block; font-weight: 700; }
.raj-benefits span { display: block; color: var(--raj-muted); font-size: .94rem; }
.raj-benefits-compact { margin: 28px 0 0; padding-top: 22px; border-top: 1px solid var(--raj-line); }

/* Klant worden */
.raj-join-login { margin: 0 0 16px; }
.raj-join .raj-steps { margin-bottom: 8px; }
.raj-join-form .raj-b2b-register-form button[type="submit"], .raj-join-form .woocommerce-form-register__submit { width: 100%; justify-content: center; padding-block: 14px; font-size: 1.02rem; }
.raj-join-form .woocommerce-privacy-policy-text { font-size: .85rem; color: var(--raj-muted); }

/* Contact: snelle knoppen */
.raj-quick { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 0 0 40px; }
.raj-quick-item {
	display: flex; flex-direction: column; align-items: flex-start; gap: 2px;
	padding: 18px; background: var(--raj-surface); border: 1px solid var(--raj-line); border-radius: 12px;
	color: var(--raj-ink); text-decoration: none; min-width: 0;
	transition: border-color .15s;
}
.raj-quick-item:hover, .raj-quick-item:focus { border-color: var(--raj-red); color: var(--raj-ink); }
.raj-quick-icon { color: var(--raj-red); margin-bottom: 8px; }
.raj-quick-item strong { font-weight: 800; font-size: 1.02rem; }
.raj-quick-item span { color: var(--raj-muted); font-size: .86rem; overflow-wrap: anywhere; }
.raj-open { display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; border-radius: 999px; padding: 2px 10px; font-size: .8rem; font-weight: 700; }
.raj-open::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.raj-open.is-open { background: var(--raj-ok-bg); color: var(--raj-ok); }
.raj-open.is-closed { background: var(--raj-bg); color: var(--raj-muted); }

/* Formulieren: grotere velden en volle knop op de telefoon */
.raj-form input, .raj-form textarea { min-height: 46px; }
.raj-form .raj-btn { min-height: 48px; }

@media (max-width: 900px) {
	.raj-quick { grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 32px; }
}
@media (max-width: 560px) {
	.raj-quick-item { padding: 14px; }
	.raj-quick-icon { width: 24px; height: 24px; margin-bottom: 6px; }
	.raj-form .raj-btn, .raj-panel .raj-form button[type="submit"] { width: 100%; justify-content: center; }
	.raj-page-head .raj-ctas .raj-btn { flex: 1 1 auto; justify-content: center; }
	.raj-benefits { margin-bottom: 26px; }
}

/* Aanmeldformulier "Klant worden": velden in de huisstijl (staat niet binnen een WooCommerce-pagina) */
.raj-b2b-register-form .form-row { margin: 0 0 14px; padding: 0; }
.raj-b2b-register-form label { display: block; font-weight: 600; font-size: .9rem; margin: 0 0 5px; }
.raj-b2b-register-form .required { color: var(--raj-red); text-decoration: none; border: 0; }
.raj-b2b-register-form input.input-text, .raj-b2b-register-form select {
	display: block; width: 100%; min-height: 46px; padding: 10px 12px; border: 1.5px solid var(--raj-line); border-radius: 8px;
	background: #fff; color: var(--raj-ink); font: inherit; box-shadow: none;
}
.raj-b2b-register-form input.input-text:focus, .raj-b2b-register-form select:focus { border-color: var(--raj-ink); outline: none; }
.raj-b2b-register-form .raj-b2b-hint { margin: -4px 0 14px; }
.raj-b2b-register-form button[type="submit"] { width: 100%; min-height: 50px; font-size: 1.02rem; }

/* =====================================================================
 * Versie 1.9: assortiment op desktop als één geheel, sorteren als uitklapknop
 * ===================================================================== */

/* Subcategorieën als knoppen */
.raj-subcats { margin: 0 0 18px; background: var(--raj-bg); border-radius: 6px; padding: 10px; }
.raj-subcats-track { display: flex; gap: 10px; overflow-x: auto; scrollbar-width: thin; padding-bottom: 2px; }
.raj-subcat { flex: none; display: inline-flex; align-items: center; gap: 4px; padding: 10px 18px; background: #fff; border: 1px solid var(--raj-line); border-radius: 6px; color: var(--raj-ink); font-weight: 600; font-size: .9rem; text-decoration: none; white-space: nowrap; }
.raj-subcat span { color: var(--raj-muted); font-weight: 500; }
.raj-subcat:hover, .raj-subcat:focus { border-color: var(--raj-red); color: var(--raj-ink); }

/* Sorteren: gewone uitklapknop */
.raj-sort-select { margin: 0; }
.raj-sort-select select {
	appearance: none; -webkit-appearance: none; min-height: 40px; padding: 8px 36px 8px 12px; border: 1.5px solid var(--raj-line); border-radius: 6px; background: #fff
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d1e20' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 10px center / 16px no-repeat;
	color: var(--raj-ink); font: inherit; font-size: .9rem; cursor: pointer;
}
.raj-sort-select select:focus { border-color: var(--raj-ink); outline: none; }
.raj-view-desktop { display: none; }

@media (min-width: 922px) {
	/* Eén geheel: witte pagina, filters zonder kader, producten in één raster */
	body.raj-catalog, body.raj-catalog.ast-separate-container { background: #fff !important; }
	.raj-catnav-side.raj-side-flat { background: transparent; border: 0; border-radius: 0; padding: 0; position: static; }
	.raj-side-flat .raj-side-filters { margin: 0; border: 0; padding: 0; }
	.raj-side-flat .raj-facet { margin: 0 0 22px; }
	.raj-side-flat .raj-facet summary { font-family: var(--raj-body) !important; font-stretch: 100% !important; text-transform: none !important; font-weight: 600 !important; font-size: 1rem !important; letter-spacing: .01em; color: var(--raj-ink); padding: 6px 0 12px; border-bottom: 1.5px solid var(--raj-line); }
	.raj-side-flat .raj-facet-options { max-height: none; overflow: visible; padding-top: 10px; }
	.raj-side-flat .raj-check { font-size: .9rem; padding: 4px 0; gap: 10px; }
	.raj-side-flat .raj-check input { width: 16px; height: 16px; }
	.raj-more-hidden { display: none !important; }
	.raj-facet-options.is-expanded .raj-more-hidden { display: flex !important; }
	.raj-more { margin-top: 8px; padding: 0; border: 0; background: none; color: var(--raj-ink); font: inherit; font-size: .9rem; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
	.raj-more:hover, .raj-more:focus { color: var(--raj-red); background: none; }

	/* Regel boven de producten: aantal | sorteren ...... lijst/blokjes */
	.raj-filterbar { justify-content: flex-start; gap: 16px; margin-bottom: 18px; }
	.raj-filterbar .raj-result-total { color: var(--raj-ink); padding-right: 16px; border-right: 1px solid var(--raj-line); line-height: 40px; }
	.raj-view-desktop { display: flex; margin-left: auto; border: 0; background: transparent; gap: 6px; }
	.raj-view-desktop button { width: 38px; height: 38px; border: 0 !important; background: transparent; color: #b5b7bb; border-radius: 6px; }
	.raj-view-desktop button[aria-pressed="true"] { background: transparent; color: var(--raj-ink); }
	.raj-view-desktop button + button { border-left: 0; }
	.raj-view-desktop svg { width: 26px; height: 26px; }
	.raj-view-mobile { display: none !important; }
	.raj-shop-bar { margin-bottom: 14px; }
	.raj-catalog .woocommerce-products-header__title.page-title { font-family: var(--raj-display); border-left: 4px solid var(--raj-red); padding-left: 16px; text-transform: none !important; font-size: 2.2rem !important; }

	/* Producten in één raster met gedeelde lijnen */
	body.raj-catalog ul.products { gap: 0 !important; border-top: 1px solid var(--raj-line); border-left: 1px solid var(--raj-line); }
	body.raj-catalog ul.products li.product { border: 0 !important; border-right: 1px solid var(--raj-line) !important; border-bottom: 1px solid var(--raj-line) !important; border-radius: 0 !important; background: #fff; padding-bottom: 18px !important; }
	body.raj-catalog ul.products li.product a img { background: #fff !important; margin-bottom: 14px; }
	html.raj-list body.raj-catalog ul.products { gap: 0 !important; }
	html.raj-list body.raj-catalog ul.products li.product { border-radius: 0 !important; padding: 14px 18px !important; }
}

/* Telefoon: kleinere letters in het paneel Filter en sortering */
@media (max-width: 921px) {
	.raj-view-desktop, .raj-sort-select { display: none !important; }
	.raj-drawer-head h2 { font-size: 1.15rem !important; }
	.raj-sort legend { font-size: 1.05rem; margin-bottom: 10px; }
	.raj-pill-option span { padding: 8px 14px; font-size: .86rem; }
	.raj-facets { padding: 4px 20px 12px; }
	.raj-facet { margin-top: 12px; }
	.raj-facet summary { font-size: .95rem; padding: 8px 0 10px; }
	.raj-check { font-size: .9rem; padding: 6px 0; gap: 10px; }
	.raj-check input { width: 18px; height: 18px; }
	.raj-facet-links a { font-size: .9rem; padding: 8px 0; }
	.raj-drawer-foot .raj-show-results { font-size: 1rem; padding-block: 14px; }
	.raj-subcats { padding: 8px; margin-bottom: 14px; }
	.raj-subcat { padding: 8px 14px; font-size: .85rem; }
}
.raj-sort-select .screen-reader-text, .raj-subcats .screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
@media (max-width: 921px) { .raj-subcats { background: transparent; padding: 0; } }

/* =====================================================================
 * Versie 2.0
 * ===================================================================== */

/* "GROOTHANDEL" altijd in één stuk */
.raj-hero h1, .raj-page-head h1 { overflow-wrap: normal !important; word-break: keep-all; hyphens: manual; -webkit-hyphens: manual; }
.raj-hero-text { max-width: 820px; }
.raj-hero h1 { font-size: clamp(2.15rem, 5.4vw, 4.2rem); }
.raj-hero .raj-lead { max-width: 50ch; }
@media (max-width: 560px) {
	/* Op de telefoon klein genoeg zodat het woord past */
	.raj-hero h1 { font-size: clamp(1.6rem, 8.4vw, 2.15rem) !important; }
}

/* Uitklapblad Assortiment (desktop) */
.raj-mega { display: none; }
@media (min-width: 901px) {
	.raj-header { position: sticky; }
	.raj-mega:not([hidden]) {
		display: block; position: absolute; left: 0; right: 0; top: 100%;
		background: #fff; border-top: 1px solid #e3e3e6; box-shadow: 0 18px 40px rgba(0, 0, 0, .14);
		animation: raj-mega-in .16s ease-out; z-index: 120;
	}
	.raj-mega-inner { padding-block: 26px 28px; max-height: calc(100vh - 120px); overflow-y: auto; }
	.raj-mega-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 22px 28px; }
	.raj-mega-head { display: flex; align-items: center; gap: 12px; color: var(--raj-ink); font-weight: 800; font-size: 1rem; text-decoration: none; padding: 4px 0; }
	.raj-mega-head:hover, .raj-mega-head:focus { color: var(--raj-red); }
	.raj-mega-img { flex: none; width: 56px; height: 56px; border-radius: 10px; background: var(--raj-tile); display: grid; place-items: center; overflow: hidden; }
	.raj-mega-img img { width: 100%; height: 100%; object-fit: contain; padding: 4px; }
	.raj-mega-col ul { list-style: none; margin: 8px 0 0 68px; padding: 0; }
	.raj-mega-col li { margin: 0; }
	.raj-mega-col li a { display: block; padding: 3px 0; color: var(--raj-muted); font-size: .9rem; text-decoration: none; }
	.raj-mega-col li a:hover, .raj-mega-col li a:focus { color: var(--raj-red); text-decoration: underline; }
	.raj-mega-all { font-weight: 700; color: var(--raj-ink) !important; }
	.raj-mega-shop { margin-top: 22px; }
	.raj-nav-list li.raj-mega-active > a { background: #f1f1f3; box-shadow: inset 0 -3px 0 var(--raj-red); }
}
@keyframes raj-mega-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .raj-mega:not([hidden]) { animation: none; } }

/* ---------- Versie 2.0.1: hele productfoto zichtbaar, niet ingezoomd ---------- */
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap img,
.raj-theme ul.products li.product img.attachment-woocommerce_thumbnail,
.raj-theme ul.products li.product img.wp-post-image {
	width: 100% !important; height: auto !important; aspect-ratio: 1 / 1 !important;
	object-fit: contain !important; object-position: center !important;
	transform: none !important; max-width: 100% !important;
}
.raj-theme ul.products li.product .astra-shop-thumbnail-wrap { overflow: hidden; }
.raj-theme ul.products li.product .astra-shop-thumbnail-wrap a { display: block; }
/* Astra's zoom bij aanwijzen uitzetten */
.raj-theme ul.products li.product:hover a img, .raj-theme ul.products li.product .astra-shop-thumbnail-wrap:hover img { transform: none !important; }
.woocommerce-product-gallery .flex-control-thumbs img { object-fit: contain; aspect-ratio: 1; background: #fff; }

/* =====================================================================
 * Versie 2.1: ruimte tussen producten, productpagina, bestellijst
 * ===================================================================== */
:root { --raj-frozen: #0b6aa2; --raj-frozen-bg: #e3f1fa; --raj-cool: #0e7a72; --raj-cool-bg: #dff3f0; }

/* ---------- Assortiment: losse kaarten met ruimte ertussen ---------- */
.raj-theme ul.products li.product { position: relative; }
body.raj-catalog ul.products { gap: 12px !important; }
body.raj-catalog ul.products li.product {
	background: #fff; border: 1px solid var(--raj-line) !important; border-radius: 10px !important; overflow: hidden;
	transition: border-color .15s, box-shadow .15s;
}
body.raj-catalog ul.products li.product:hover { border-color: #b9bbc0 !important; box-shadow: 0 6px 18px rgba(0, 0, 0, .07); }
html.raj-list body.raj-catalog ul.products { gap: 10px !important; }
@media (min-width: 922px) {
	body.raj-catalog ul.products { gap: 20px !important; border: 0 !important; }
	body.raj-catalog ul.products li.product { border: 1px solid var(--raj-line) !important; border-radius: 10px !important; padding-bottom: 16px !important; }
	html.raj-list body.raj-catalog ul.products { gap: 10px !important; }
	html.raj-list body.raj-catalog ul.products li.product { border-radius: 10px !important; }
}

/* ---------- Hartje (bestellijst) ---------- */
.raj-fav { cursor: pointer; -webkit-tap-highlight-color: transparent; }
.raj-fav-icon-btn {
	position: absolute; top: 8px; right: 8px; z-index: 3;
	width: 36px; height: 36px; padding: 0 !important; border-radius: 50% !important;
	display: grid; place-items: center;
	background: #fff !important; color: var(--raj-muted) !important; border: 1px solid var(--raj-line) !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .08);
}
.raj-fav-icon-btn:hover, .raj-fav-icon-btn:focus-visible { color: var(--raj-red) !important; border-color: var(--raj-red) !important; }
.raj-fav[aria-pressed="true"] { color: var(--raj-red) !important; }
.raj-fav[aria-pressed="true"] .raj-fav-icon { fill: currentColor; }
.raj-fav:disabled { opacity: .6; }
html.raj-list body.raj-catalog ul.products li.product .raj-fav-icon-btn { top: 6px; left: 6px; right: auto; width: 30px; height: 30px; }
html.raj-list body.raj-catalog ul.products li.product .raj-fav-icon-btn svg { width: 16px; height: 16px; }
@media (max-width: 560px) { .raj-fav-icon-btn { width: 32px; height: 32px; top: 6px; right: 6px; } .raj-fav-icon-btn svg { width: 17px; height: 17px; } }

/* Melding onderin */
.raj-toast {
	position: fixed; left: 50%; bottom: calc(20px + env(safe-area-inset-bottom, 0px)); z-index: 300;
	transform: translate(-50%, 12px); opacity: 0; pointer-events: none;
	background: var(--raj-char); color: #fff; padding: 11px 18px; border-radius: 8px; font-weight: 600; font-size: .92rem;
	max-width: calc(100% - 32px); box-shadow: 0 8px 24px rgba(0, 0, 0, .2); transition: opacity .2s, transform .2s;
}
.raj-toast.is-visible { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }
.raj-toast a { color: #fff; text-decoration: underline; margin-left: 6px; }
@media (max-width: 900px) { .raj-toast { bottom: calc(70px + env(safe-area-inset-bottom, 0px)); } }
@media (prefers-reduced-motion: reduce) { .raj-toast { transition: none; } }

/* Kop: knop Bestellijst (op de telefoon staat die onderin) */
.raj-bestellijst-btn svg { color: var(--raj-red); }
@media (max-width: 900px) { .raj-header-actions .raj-bestellijst-btn { display: none; } }

/* ---------- Productpagina ---------- */
.raj-pdp div.product { position: relative; }
.raj-pdp .woocommerce-breadcrumb { font-size: .85rem; color: var(--raj-muted); margin-bottom: 18px; }
.raj-pdp .woocommerce-breadcrumb a { color: var(--raj-muted); text-decoration: none; }
.raj-pdp .woocommerce-breadcrumb a:hover { color: var(--raj-red); text-decoration: underline; }
.raj-pdp div.product .woocommerce-product-gallery { border-radius: 14px; background: #fff; }
.raj-pdp div.product .woocommerce-product-gallery img { padding: 24px; }
.raj-pdp div.product .woocommerce-product-gallery .flex-control-thumbs { display: flex; gap: 8px; padding: 0 12px 12px; margin: 0; }
.raj-pdp div.product .woocommerce-product-gallery .flex-control-thumbs li { width: 64px !important; float: none !important; margin: 0 !important; }
.raj-pdp div.product .woocommerce-product-gallery .flex-control-thumbs img { padding: 4px; border: 1px solid var(--raj-line); border-radius: 8px; opacity: .7; }
.raj-pdp div.product .woocommerce-product-gallery .flex-control-thumbs img.flex-active { opacity: 1; border-color: var(--raj-ink); }

.raj-pdp-brand {
	display: inline-block; margin: 0 0 6px; color: var(--raj-red); font-weight: 800; font-size: .8rem;
	letter-spacing: .1em; text-transform: uppercase; text-decoration: none;
}
.raj-pdp-brand:hover, .raj-pdp-brand:focus { text-decoration: underline; color: var(--raj-red-hover); }
.raj-pdp div.product .product_title { margin-bottom: 12px !important; }
.raj-pdp-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 20px; }
.raj-pdp-sku { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: .85rem; color: var(--raj-muted); margin-right: 4px; }
.raj-pdp-chip {
	display: inline-flex; align-items: center; gap: 6px; padding: 5px 11px 5px 9px; border-radius: 999px;
	background: #fff; border: 1px solid var(--raj-line); color: var(--raj-ink); font-size: .85rem; font-weight: 600;
}
.raj-pdp-chip svg { color: var(--raj-muted); }
.raj-pdp-chip-diepvries { background: var(--raj-frozen-bg); border-color: transparent; color: var(--raj-frozen); }
.raj-pdp-chip-gekoeld { background: var(--raj-cool-bg); border-color: transparent; color: var(--raj-cool); }
.raj-pdp-chip-diepvries svg, .raj-pdp-chip-gekoeld svg { color: currentColor; }

.raj-buybox { background: #fff; border: 1px solid var(--raj-line); border-radius: 14px; padding: 20px; margin: 0 0 16px; box-shadow: 0 2px 10px rgba(0, 0, 0, .04); }
.raj-pdp div.product .raj-buybox p.price { font-family: var(--raj-display); font-weight: 850; font-size: 2rem; line-height: 1.1; margin: 0 0 16px; color: var(--raj-ink); }
.raj-pdp div.product .raj-buybox p.price .raj-b2b-excl { margin-top: 4px; }
.raj-pdp div.product .raj-buybox form.cart { margin: 0 0 12px; }
.raj-pdp div.product .raj-buybox .raj-b2b-price-locked { font-size: 1rem; }
.raj-buybox-login { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px; }
.raj-buybox-login .raj-btn { flex: 1 1 180px; padding-block: 13px; }
.raj-fav-button {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%;
	padding: 11px 16px !important; border-radius: 8px !important; font-weight: 700; font-size: .95rem;
	background: #fff !important; color: var(--raj-ink) !important; border: 1.5px solid var(--raj-line) !important;
}
.raj-fav-button:hover, .raj-fav-button:focus-visible { border-color: var(--raj-ink) !important; }
.raj-fav-button[aria-pressed="true"] { border-color: var(--raj-red) !important; background: #fdf1f3 !important; }
.raj-fav-button[aria-pressed="true"] .raj-fav-text { color: var(--raj-ink); }

.raj-pdp-usps { list-style: none; margin: 0 0 20px; padding: 0; display: grid; gap: 8px; }
.raj-pdp-usps li { display: flex; align-items: center; gap: 10px; margin: 0; font-size: .92rem; }
.raj-pdp-usps svg { flex: none; color: var(--raj-ok); }
.raj-pdp div.product .woocommerce-product-details__short-description { color: var(--raj-ink); font-size: .95rem; }

.raj-pdp-sections { display: grid; gap: 16px; margin-top: 36px; }
.raj-pdp-section { background: #fff; border: 1px solid var(--raj-line); border-radius: 14px; padding: 22px 24px; }
.raj-pdp-section h2 {
	font-family: var(--raj-display); font-stretch: 118%; text-transform: uppercase; font-weight: 800;
	font-size: 1.05rem !important; letter-spacing: .02em; margin: 0 0 14px; padding-left: 12px; border-left: 4px solid var(--raj-red);
}
.raj-pdp-desc { max-width: 75ch; }
.raj-pdp-desc p:last-child { margin-bottom: 0; }
.raj-pdp-specs { margin: 0; }
.raj-pdp-specs > div { display: grid; grid-template-columns: minmax(130px, 220px) 1fr; gap: 16px; padding: 11px 0; border-bottom: 1px solid var(--raj-line); }
.raj-pdp-specs > div:last-child { border-bottom: 0; }
.raj-pdp-specs dt { color: var(--raj-muted); font-weight: 500; }
.raj-pdp-specs dd { margin: 0; font-weight: 600; }
.raj-pdp-specs dd a { color: var(--raj-ink); }
.raj-pdp .related.products, .raj-pdp .upsells.products { margin-top: 40px; }

@media (min-width: 922px) {
	.raj-pdp div.product { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); column-gap: 48px; align-items: start; }
	.raj-pdp div.product > * { grid-column: 1 / -1; }
	.raj-pdp div.product > .woocommerce-product-gallery { grid-column: 1; grid-row: 1; position: relative; top: auto; }
	.raj-pdp div.product > .summary { grid-column: 2; grid-row: 1; }
	.raj-pdp div.product > .woocommerce-product-gallery, .raj-pdp div.product > .summary { width: auto !important; float: none !important; margin: 0 !important; }
	.raj-pdp div.product > .onsale { grid-column: 1; grid-row: 1; position: absolute; top: 14px; left: 14px; z-index: 2; }
	.raj-pdp-sections { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); align-items: start; }
	.raj-pdp-sections > .raj-pdp-section:only-child { grid-column: 1 / -1; max-width: 760px; }
}
@media (max-width: 921px) {
	.raj-buybox { padding: 16px; }
	.raj-pdp div.product .raj-buybox p.price { font-size: 1.7rem; }
	.raj-pdp-section { padding: 18px; }
	.raj-pdp-specs > div { grid-template-columns: 120px 1fr; gap: 12px; }
	/* De vaste balk onderin staat buiten het kader; het kader zelf blijft compact */
	.raj-pdp div.product.product-type-simple .raj-buybox form.cart { margin: 0 !important; }
}

/* ---------- Bestellijst (Mijn account) ---------- */
.raj-orderlist-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin: 0 0 6px; }
.raj-orderlist-count { margin: 0; }
.raj-orderlist-search { min-height: 42px; padding: 8px 12px; border: 1.5px solid var(--raj-line) !important; border-radius: 8px !important; min-width: 0; width: 280px; max-width: 100%; background: #fff; }
.raj-orderlist-hint { color: var(--raj-muted); font-size: .88rem; margin: 0 0 18px; }
.raj-orderlist-group { margin: 0 0 6px; }
.raj-orderlist-cat {
	font-family: var(--raj-body) !important; font-stretch: 100% !important; text-transform: none !important;
	font-size: .95rem !important; font-weight: 800 !important; margin: 18px 0 0 !important; padding: 0 0 10px 0;
	border-bottom: 2px solid var(--raj-ink); color: var(--raj-ink);
}
.raj-orderlist-rows { list-style: none; margin: 0; padding: 0; }
.raj-orderlist-row {
	display: grid; grid-template-columns: 64px 24px minmax(0, 1fr) 100px auto 36px; align-items: center; gap: 14px;
	padding: 14px 0; border-bottom: 1px solid var(--raj-line); margin: 0;
}
.raj-orderlist-img { display: block; width: 64px; height: 64px; background: #fff; border-radius: 8px; overflow: hidden; }
.raj-orderlist-img img { width: 100% !important; height: 100% !important; object-fit: contain; padding: 4px; margin: 0 !important; }
.raj-orderlist-icons { align-self: start; padding-top: 2px; }
.raj-storage { display: inline-grid; place-items: center; }
.raj-storage-diepvries { color: var(--raj-frozen); }
.raj-storage-gekoeld { color: var(--raj-cool); }
.raj-orderlist-info { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.raj-orderlist-brand { font-size: .8rem; color: var(--raj-muted); }
.raj-orderlist-name { font-weight: 700; color: var(--raj-ink); text-decoration: none; line-height: 1.3; }
.raj-orderlist-name:hover, .raj-orderlist-name:focus { color: var(--raj-red); text-decoration: underline; }
.raj-orderlist-meta { display: flex; flex-wrap: wrap; gap: 4px 12px; font-size: .8rem; color: var(--raj-muted); margin-top: 2px; }
.raj-orderlist-deal { color: var(--raj-ok); font-weight: 700; }
.raj-orderlist-price { text-align: right; font-variant-numeric: tabular-nums; line-height: 1.15; }
.raj-orderlist-price strong { display: block; font-size: 1.02rem; }
.raj-orderlist-price small { color: var(--raj-muted); font-size: .72rem; }
.raj-orderlist-unavailable { color: var(--raj-muted); font-size: .85rem; }
.raj-stepper { display: inline-flex; align-items: stretch; gap: 6px; }
.raj-stepper-btn {
	width: 36px; height: 36px; padding: 0 !important; border: 0 !important; border-radius: 6px !important;
	background: var(--raj-char) !important; color: #fff !important; font-size: 1.25rem !important; font-weight: 700; line-height: 1; cursor: pointer;
}
.raj-stepper-btn:hover, .raj-stepper-btn:focus-visible { background: var(--raj-red) !important; }
.raj-stepper input {
	width: 58px; height: 36px; min-height: 0; padding: 0 4px !important; text-align: center; font-weight: 600;
	border: 1.5px solid var(--raj-line) !important; border-radius: 6px !important; background: #fff; -moz-appearance: textfield; font-variant-numeric: tabular-nums;
}
.raj-stepper input::-webkit-outer-spin-button, .raj-stepper input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.raj-stepper.has-qty input { border-color: var(--raj-red) !important; color: var(--raj-red); font-weight: 800; }
.raj-stepper.is-saving { opacity: .65; }
.raj-orderlist-remove {
	width: 36px; height: 36px; padding: 0 !important; display: grid; place-items: center; border-radius: 50% !important;
	background: transparent !important; color: var(--raj-muted) !important; border: 0 !important; cursor: pointer;
}
.raj-orderlist-remove:hover, .raj-orderlist-remove:focus-visible { background: var(--raj-bg) !important; color: var(--raj-red) !important; }
.raj-orderlist-none { color: var(--raj-muted); padding: 18px 0; }
.raj-orderlist-foot {
	position: sticky; bottom: 0; z-index: 5; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
	margin-top: 18px; padding: 12px 16px; background: #fff; border: 1px solid var(--raj-line); border-radius: 12px; box-shadow: 0 -4px 16px rgba(0, 0, 0, .06);
}
.raj-list-empty { text-align: center; padding: 40px 16px; background: #fff; border: 1px dashed var(--raj-line); border-radius: 14px; }
.raj-list-empty-icon { display: inline-grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: #fdf1f3; color: var(--raj-red); margin-bottom: 10px; }
.raj-list-empty-icon svg { width: 26px; height: 26px; }
.raj-list-empty h2 { font-size: 1.3rem !important; margin: 0 0 8px; }
.raj-list-empty p { max-width: 52ch; margin: 0 auto 12px; color: var(--raj-muted); }
.raj-list-empty-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-top: 18px !important; }

@media (max-width: 700px) {
	.raj-orderlist-search { width: 100%; }
	.raj-orderlist-row {
		grid-template-columns: 56px minmax(0, 1fr) auto;
		grid-template-areas: "img info info" "img price qty";
		gap: 8px 12px; padding: 12px 0; position: relative;
	}
	.raj-orderlist-img { grid-area: img; width: 56px; height: 56px; align-self: start; }
	.raj-orderlist-icons { display: none; }
	.raj-orderlist-info { grid-area: info; padding-right: 34px; }
	.raj-orderlist-remove { position: absolute; top: 8px; right: 0; width: 32px; height: 32px; }
	.raj-orderlist-price { grid-area: price; text-align: left; display: flex; align-items: baseline; gap: 6px; }
	.raj-orderlist-price strong { display: inline; }
	.raj-orderlist-qty { grid-area: qty; justify-self: end; }
	.raj-orderlist-price strong { white-space: nowrap; }
	.raj-orderlist-foot { bottom: calc(66px + env(safe-area-inset-bottom, 0px)); }
	.raj-orderlist-foot .raj-btn { flex: 1 1 auto; }
}

/* =====================================================================
 * Versie 2.2: assortiment op de telefoon zoals bij Bidfood
 * ===================================================================== */
:root { --raj-list-font: "Asap", var(--raj-body); }

/* Geen "excl. btw" en statiegeld in de productkaarten (wel op de productpagina en in de winkelwagen) */
ul.products li.product .raj-b2b-excl,
ul.products li.product .raj-b2b-statiegeld { display: none !important; }

/* Merk en verpakking (op de computer klein boven/onder de naam) */
.raj-loop-brand { display: block; margin: 12px 14px 2px; font-size: .8rem; color: var(--raj-muted); }
.raj-loop-pack { display: block; margin: 0 14px; font-size: .8rem; color: var(--raj-muted); }
.raj-theme ul.products li.product .raj-loop-brand + .ast-loop-product__link .woocommerce-loop-product__title { margin-top: 0; }

/* Knop + en "− aantal +": alleen op de telefoon */
.raj-addqty { display: none; }

@media (max-width: 921px) {
	.raj-view-mobile { display: none !important; }
	body.raj-catalog .site-content, body.raj-catalog { background: var(--raj-bg) !important; }

	html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products {
		display: grid !important; grid-template-columns: 1fr !important; gap: 8px !important; border: 0 !important;
	}
	/* Regel: foto links, rest rechts ervan. Geen display: contents (Safari zet de prijs dan verkeerd). */
	html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products li.product {
		display: grid !important; grid-template-columns: 72px minmax(0, 1fr) !important; column-gap: 14px !important; row-gap: 0 !important;
		align-items: center !important; position: relative !important;
		padding: 14px 12px 14px 12px !important; margin: 0 !important; height: auto !important;
		background: #fff !important; border: 1px solid var(--raj-line) !important; border-radius: 10px !important; box-shadow: none !important;
		font-family: var(--raj-list-font); font-size: 15px;
	}
	html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products li.product .astra-shop-thumbnail-wrap { grid-column: 1; grid-row: 1; width: 72px !important; margin: 0 !important; align-self: center; }
	html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products li.product .astra-shop-thumbnail-wrap img {
		width: 72px !important; height: 72px !important; padding: 0 !important; margin: 0 !important; background: transparent !important; border-radius: 0;
	}
	/* Tekst in het midden, prijs en knop rechts */
	html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products li.product .astra-shop-summary-wrap {
		grid-column: 2; grid-row: 1; display: grid !important; grid-template-columns: minmax(0, 1fr) auto; column-gap: 10px;
		align-items: start; padding: 0 !important; margin: 0 !important; min-width: 0;
	}
	html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products li.product .astra-shop-summary-wrap > * { grid-column: 1; margin: 0 !important; min-width: 0; }
	html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products li.product .raj-loop-brand { grid-row: 1; font-size: 14px; color: #555; line-height: 1.3; }
	html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products li.product .ast-loop-product__link { grid-row: 2; text-decoration: none; }
	html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products li.product .woocommerce-loop-product__title {
		font-family: var(--raj-list-font) !important; font-size: 16px !important; font-weight: 700 !important; line-height: 1.3 !important;
		color: #3a3a3a !important; min-height: 0 !important; margin: 0 0 3px !important; padding: 0 !important;
		text-transform: none !important; letter-spacing: 0 !important;
	}
	html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products li.product .raj-loop-pack { grid-row: 3; font-size: 14px; color: #555; line-height: 1.35; }
	html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products li.product .raj-sku { grid-row: 4; display: block; font-family: var(--raj-list-font); font-size: 14px; color: #555; line-height: 1.35; }
	html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products li.product .ast-woo-product-category { display: none !important; }
	html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products li.product .price {
		grid-column: 2; grid-row: 1 / span 2; justify-self: end; text-align: right; border: 0 !important; padding: 0 !important; margin: 0 !important;
		font-family: var(--raj-list-font) !important; font-size: 17px !important; font-weight: 700 !important; color: #3a3a3a !important; white-space: nowrap; line-height: 1.3;
	}
	html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products li.product .price .raj-b2b-deal, html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products li.product .price .raj-b2b-staffel { display: block; font-size: 11px; white-space: normal; max-width: 90px; margin-left: auto; }
	html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products li.product .raj-b2b-price-locked { grid-column: 1 / -1; grid-row: 5; justify-self: start; text-align: left; font-size: 13px !important; margin-top: 6px !important; }
	html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products li.product .raj-addqty { display: flex; grid-column: 2; grid-row: 3 / span 2; justify-self: end; align-self: end; margin-top: 8px !important; }
	/* Met een aantal: "− aantal +" op een eigen regel onder de tekst */
	html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products li.product .raj-addqty.has-qty { grid-column: 1 / -1; grid-row: 5; margin-top: 10px !important; }
	html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products li.product:has(.raj-addqty) .button, html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products li.product .added_to_cart { display: none !important; }
	html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products li.product .button {
		grid-column: 1 / -1; grid-row: 6; justify-self: start; margin-top: 10px !important; padding: 8px 14px !important; font-size: 14px !important; width: auto !important;
	}
	/* Hartje rechtsboven in het blok */
	html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products li.product .raj-fav-icon-btn {
		position: absolute !important; top: 8px !important; right: 8px !important; left: auto !important;
		width: 32px !important; height: 32px !important; border: 0 !important; box-shadow: none !important; background: transparent !important; margin: 0 !important;
	}
	html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products li.product .raj-fav-icon-btn svg { width: 22px; height: 22px; }
	html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products li.product .astra-shop-summary-wrap { padding-top: 0 !important; }
	html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products li.product .price { margin-top: 30px !important; }

	.raj-addqty { align-items: center; gap: 6px; }
	.raj-addqty-btn {
		width: 40px; height: 40px; padding: 0 !important; border: 0 !important; border-radius: 6px !important;
		background: var(--raj-red) !important; color: #fff !important; font-size: 24px !important; font-weight: 600; line-height: 1;
		display: grid; place-items: center; cursor: pointer; -webkit-tap-highlight-color: transparent;
	}
	.raj-addqty-btn:active { background: var(--raj-red-hover) !important; }
	.raj-addqty input {
		width: 48px; height: 40px; min-height: 0; padding: 0 2px !important; text-align: center;
		font-family: var(--raj-list-font); font-size: 17px; font-weight: 700; color: var(--raj-ink);
		border: 1.5px solid var(--raj-line) !important; border-radius: 6px !important; background: #fff; -moz-appearance: textfield;
	}
	.raj-addqty input::-webkit-outer-spin-button, .raj-addqty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
	.raj-addqty:not(.has-qty) .raj-addqty-minus, .raj-addqty:not(.has-qty) input { display: none; }
	.raj-addqty.is-saving { opacity: .7; }

	/* Bestellijst in hetzelfde lettertype */
	.raj-orderlist-row, .raj-orderlist-cat { font-family: var(--raj-list-font) !important; }
}

/* =====================================================================
 * Versie 2.2.2: telefoon precies als Bidfood
 * Midden: merk, productnaam, artikelnummer (14 px). Rechts: prijs met + eronder.
 * ===================================================================== */
@media (max-width: 921px) {
	html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products li.product { padding: 14px 12px !important; column-gap: 16px !important; }
	html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products li.product .astra-shop-summary-wrap { grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; row-gap: 2px; }
	html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products li.product .raj-loop-brand { grid-row: 1; font-size: 14px !important; line-height: 1.35 !important; color: #555 !important; font-weight: 400; }
	html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products li.product .ast-loop-product__link { grid-row: 2; }
	html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products li.product .woocommerce-loop-product__title { font-size: 14px !important; line-height: 1.3 !important; font-weight: 700 !important; color: #3a3a3a !important; margin: 0 !important; }
	html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products li.product .raj-sku { grid-row: 3; font-size: 14px !important; line-height: 1.35 !important; color: #555 !important; margin-top: 2px !important; }
	html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products li.product .raj-loop-pack { display: none !important; }

	/* Rechts: hartje bovenaan, prijs, daaronder de + */
	html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products li.product .price {
		grid-column: 2; grid-row: 1 / span 2; align-self: start; justify-self: end; margin: 30px 0 0 !important;
		font-size: 15px !important; font-weight: 700 !important; line-height: 1.3 !important;
	}
	html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products li.product .price .woocommerce-Price-currencySymbol { display: none; }
	html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products li.product .raj-addqty { grid-column: 2; grid-row: 3 / span 2; justify-self: end; align-self: start; margin-top: 10px !important; }
	html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products li.product .raj-addqty.has-qty { grid-column: 1 / -1; grid-row: 4; align-self: start; }
	html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products li.product .raj-fav-icon-btn { top: 6px !important; right: 6px !important; }
	.raj-addqty-btn { width: 36px !important; height: 32px !important; border-radius: 5px !important; font-size: 22px !important; }
	.raj-addqty input { height: 32px !important; width: 44px !important; font-size: 15px !important; }
}

/* Versie 2.2.3: aantal resultaten klein boven de knop Filters (telefoon), zoals bij Bidfood */
@media (max-width: 921px) {
	.raj-filterbar { flex-wrap: wrap; gap: 6px 12px; }
	.raj-filterbar .raj-result-total { order: -1; flex: 0 0 100%; font-size: 13px; color: var(--raj-muted); line-height: 1.3; margin: -4px 0 0; }
	.raj-filterbar .raj-filter-open { flex: 1 1 100%; justify-content: center; }
}

/* =====================================================================
 * Versie 2.3: telefoon zoals bij Bidfood
 * ===================================================================== */

/* Paginanummers: kleine aaneengesloten vakjes « 1 2 3 … 14 » */
.woocommerce nav.woocommerce-pagination { text-align: center; margin: 24px 0 8px; }
.woocommerce nav.woocommerce-pagination ul.page-numbers {
	display: inline-flex !important; flex-wrap: nowrap; margin: 0 !important; padding: 0 !important;
	border: 1px solid #d6d7da !important; border-radius: 4px; overflow: hidden; background: #fff;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers li { display: block; float: none; margin: 0 !important; border: 0 !important; border-right: 1px solid #d6d7da !important; overflow: visible; }
.woocommerce nav.woocommerce-pagination ul.page-numbers li:last-child { border-right: 0 !important; }
.woocommerce nav.woocommerce-pagination ul.page-numbers li .page-numbers {
	display: grid !important; place-items: center; min-width: 34px; height: 32px; padding: 0 8px !important; margin: 0 !important;
	border: 0 !important; border-radius: 0 !important; background: #fff !important; color: #444 !important;
	font-family: var(--raj-list-font, var(--raj-body)); font-size: 13px !important; font-weight: 400; line-height: 1; text-decoration: none; box-shadow: none !important;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers li a.page-numbers:hover,
.woocommerce nav.woocommerce-pagination ul.page-numbers li a.page-numbers:focus { background: #f1f1f3 !important; color: var(--raj-red) !important; }
.woocommerce nav.woocommerce-pagination ul.page-numbers li .page-numbers.current { background: #ececee !important; color: #222 !important; font-weight: 700; }
.woocommerce nav.woocommerce-pagination ul.page-numbers li .page-numbers.dots { color: #888 !important; }
.woocommerce nav.woocommerce-pagination ul.page-numbers li .prev, .woocommerce nav.woocommerce-pagination ul.page-numbers li .next { font-size: 16px !important; color: #666 !important; }

/* Zoekbalk in de kop: alleen op de telefoon, blijft bovenin staan */
.raj-header-search { display: none; }
@media (max-width: 900px) {
	.raj-header { position: sticky !important; top: 0; z-index: 180; }
	.raj-header-search { display: block; background: #fff; padding: 0 0 10px; }
	.raj-header-search .raj-catnav-search { margin: 0; }
	.raj-header-search .raj-catnav-search input[type="search"] { min-height: 42px; font-size: 16px; }
	body.raj-catalog .raj-shop-bar { display: none !important; }
}

@media (max-width: 921px) {
	/* Geen lege ruimte bovenaan, geen kruimelpad: de titel staat direct bovenin */
	body.raj-catalog #primary { margin-top: 12px !important; padding-top: 0 !important; }
	body.raj-catalog .woocommerce-breadcrumb { display: none !important; }
	body.raj-catalog .woocommerce-products-header { margin: 0 0 4px !important; padding: 0 !important; }
	body.raj-catalog .woocommerce-products-header__title.page-title { margin: 0 !important; }

	/* Witte pagina, producten zonder kader, alleen een lijn ertussen */
	body.raj-catalog, body.raj-catalog .site-content, body.raj-catalog.ast-separate-container { background: #fff !important; }
	html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products { gap: 0 !important; border-top: 1px solid #dcdcdc !important; }
	html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products li.product {
		border: 0 !important; border-bottom: 1px solid #dcdcdc !important; border-radius: 0 !important;
		padding: 16px 0 16px 0 !important; background: #fff !important;
	}
	html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products li.product:hover { box-shadow: none !important; }
	html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products li.product .raj-fav-icon-btn { top: 8px !important; right: -4px !important; }
}

/* Filterpaneel op de telefoon: zelfde lettertype en grootte als de productregels (14 px) */
@media (max-width: 921px) {
	.raj-drawer, .raj-drawer button, .raj-drawer input, .raj-drawer a { font-family: var(--raj-list-font, var(--raj-body)) !important; }
	.raj-drawer-head h2 {
		font-family: var(--raj-list-font, var(--raj-body)) !important; font-stretch: 100% !important; text-transform: none !important;
		font-size: 16px !important; font-weight: 700 !important; letter-spacing: 0 !important; color: #3a3a3a !important;
	}
	.raj-drawer .raj-sort legend, .raj-drawer .raj-facet summary {
		font-family: var(--raj-list-font, var(--raj-body)) !important; font-stretch: 100% !important; text-transform: none !important;
		font-size: 14px !important; font-weight: 700 !important; letter-spacing: 0 !important; color: #3a3a3a !important;
	}
	.raj-drawer .raj-check, .raj-drawer .raj-check span, .raj-drawer .raj-facet-links a, .raj-drawer .raj-facet-current { font-size: 14px !important; font-weight: 400 !important; color: #555 !important; }
	.raj-drawer .raj-check input:checked + span { color: #3a3a3a !important; font-weight: 700 !important; }
	.raj-drawer .raj-pill-option span { font-size: 14px !important; padding: 7px 12px !important; }
	.raj-drawer .raj-drawer-clear a { font-size: 14px !important; }
	.raj-drawer-foot .raj-show-results { font-size: 15px !important; font-weight: 700 !important; }
	.raj-filterbar .raj-filter-open { font-family: var(--raj-list-font, var(--raj-body)) !important; font-size: 14px !important; font-weight: 700 !important; }
}

/* =====================================================================
 * Versie 2.4.1: menu Assortiment op de computer: links hoofdcategorieën, rechts subcategorieën
 * ===================================================================== */
@media (min-width: 901px) {
	.raj-mega-inner { padding-block: 18px 22px !important; }
	.raj-mega-cols { display: grid; grid-template-columns: 300px minmax(0, 1fr); min-height: 380px; border: 1px solid var(--raj-line); border-radius: 10px; overflow: hidden; }
	.raj-mega-mains { list-style: none; margin: 0; padding: 8px 0; background: #f7f7f8; border-right: 1px solid var(--raj-line); }
	.raj-mega-mains li { margin: 0; }
	.raj-mega-main { display: flex; align-items: center; gap: 12px; padding: 7px 14px 7px 12px; color: var(--raj-ink); text-decoration: none; font-weight: 700; font-size: .95rem; border-left: 3px solid transparent; line-height: 1.25; }
	.raj-mega-main .raj-mega-img { width: 40px; height: 40px; border-radius: 8px; background: #fff; flex: none; display: grid; place-items: center; overflow: hidden; }
	.raj-mega-main .raj-mega-img img { width: 100%; height: 100%; object-fit: contain; padding: 3px; }
	.raj-mega-name { flex: 1; min-width: 0; }
	.raj-mega-chev { flex: none; color: var(--raj-muted); }
	.raj-mega-main:hover, .raj-mega-main:focus, .raj-mega-main.is-active { background: #fff; color: var(--raj-red); border-left-color: var(--raj-red); }
	.raj-mega-main.is-active .raj-mega-chev { color: var(--raj-red); }
	.raj-mega-panels { padding: 22px 28px; background: #fff; }
	.raj-mega-title { display: inline-flex; align-items: baseline; gap: 12px; color: var(--raj-ink); text-decoration: none; font-family: var(--raj-display); font-stretch: 118%; font-weight: 800; font-size: 1.35rem; text-transform: uppercase; margin-bottom: 16px; }
	.raj-mega-title span { font-family: var(--raj-body); font-stretch: 100%; text-transform: none; font-size: .88rem; font-weight: 700; color: var(--raj-red); }
	.raj-mega-title:hover span, .raj-mega-title:focus span { text-decoration: underline; }
	.raj-mega-subs { list-style: none; margin: 0; padding: 0; columns: 3 200px; column-gap: 28px; }
	.raj-mega-subs li { margin: 0 0 2px; break-inside: avoid; }
	.raj-mega-subs a { display: block; padding: 7px 0; line-height: 1.3; color: var(--raj-ink); text-decoration: none; font-size: .95rem; border-bottom: 1px solid #f0f0f2; }
	.raj-mega-subs a:hover, .raj-mega-subs a:focus { color: var(--raj-red); }
	.raj-mega-empty { color: var(--raj-muted); margin: 0; }
	.raj-mega-shop { margin-top: 16px !important; }
}

/* Telefoon: subcategorieën zonder foto's, gewoon een lijst */
.raj-catmenu-sub .raj-catmenu-img { display: none !important; }
.raj-catmenu-sub .raj-catmenu-item { padding-top: 14px; padding-bottom: 14px; }
.raj-catmenu-sub .raj-catmenu-all .raj-catmenu-name { font-weight: 800; }

/* =====================================================================
 * Versie 2.4.2: normale basismaat. Astra stond op 21 px, waardoor alles ±30% te groot was.
 * ===================================================================== */
html { font-size: 100% !important; }
body, body.raj-theme { font-size: 15px !important; }

/* =====================================================================
 * Versie 2.5: snellere knoppen en een nieuwe winkelwagenpagina
 * ===================================================================== */
.raj-addqty.is-saving, .raj-stepper.is-saving { opacity: 1 !important; }
ul.products li.product a.button.raj-added, ul.products li.product a.button.raj-added:hover { background: var(--raj-ok) !important; color: #fff !important; }
ul.products li.product a.button.loading::after { display: none !important; }
ul.products li.product a.added_to_cart { display: none !important; }

/* Merk boven de productnaam, ook op de computer */
@media (min-width: 922px) {
	.raj-theme ul.products li.product .raj-loop-brand { margin: 10px 14px 0 !important; font-size: 13px; color: #6b6d72; line-height: 1.3; }
}

/* ---------- Winkelwagen ---------- */
.raj-cart { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 32px; align-items: start; margin: 8px 0 48px; font-family: var(--raj-list-font, var(--raj-body)); }
.raj-cart-title { font-family: var(--raj-body) !important; font-stretch: 100% !important; text-transform: none !important; font-size: 1.6rem !important; font-weight: 800 !important; margin: 0 0 14px !important; letter-spacing: 0 !important; }
.raj-cart-lines { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--raj-line); }
.raj-cart-line { display: grid; grid-template-columns: 64px minmax(0, 1fr) 140px 90px auto 36px; gap: 16px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--raj-line); margin: 0; }
.raj-cart-img { width: 64px; height: 64px; display: block; }
.raj-cart-img img { width: 100% !important; height: 100% !important; object-fit: contain; margin: 0 !important; }
.raj-cart-info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.raj-cart-brand { font-size: 13px; color: #6b6d72; }
.raj-cart-name { font-size: 15px; color: var(--raj-ink); text-decoration: none; line-height: 1.3; }
a.raj-cart-name:hover { color: var(--raj-red); text-decoration: underline; }
.raj-cart-meta { font-size: 13px; color: #6b6d72; }
.raj-cart-meta strong { color: var(--raj-ink); }
.raj-cart-tier { font-size: 12px; color: var(--raj-ok); font-weight: 700; }
.raj-cart-pack { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: #555; }
.raj-cart-pack svg { color: #888; flex: none; }
.raj-cart-total { text-align: right; font-weight: 700; font-size: 15px; white-space: nowrap; }
.raj-cart-total .woocommerce-Price-currencySymbol { display: none; }
.raj-cart-qty { display: inline-flex; align-items: stretch; gap: 0 !important; border: 1px solid #cfd0d4; border-radius: 6px; overflow: hidden; }
.raj-cart-qty .raj-stepper-btn { background: #fff !important; color: var(--raj-ink) !important; width: 34px; height: 34px; border-radius: 0 !important; font-size: 18px !important; }
.raj-cart-qty .raj-stepper-btn:hover { background: var(--raj-bg) !important; color: var(--raj-red) !important; }
.raj-cart-qty input { width: 44px !important; height: 34px !important; border: 0 !important; border-left: 1px solid #cfd0d4 !important; border-right: 1px solid #cfd0d4 !important; border-radius: 0 !important; font-weight: 700; text-align: center; padding: 0 !important; -moz-appearance: textfield; }
.raj-cart-qty input::-webkit-outer-spin-button, .raj-cart-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.raj-cart-remove { width: 36px; height: 36px; padding: 0 !important; display: grid; place-items: center; background: transparent !important; color: #888 !important; border: 0 !important; border-radius: 6px !important; cursor: pointer; }
.raj-cart-remove:hover { color: var(--raj-red) !important; background: var(--raj-bg) !important; }

.raj-cart-side { position: sticky; top: 96px; background: #f7f7f8; border: 1px solid var(--raj-line); border-radius: 12px; padding: 22px; }
.raj-cart-free { padding-bottom: 16px; margin-bottom: 16px; border-bottom: 1px solid var(--raj-line); font-size: 14px; }
.raj-cart-bar { display: block; height: 8px; background: #e2e3e6; border-radius: 4px; margin-top: 10px; overflow: hidden; }
.raj-cart-bar span { display: block; height: 100%; background: var(--raj-red); border-radius: 4px; }
.raj-cart-sums { margin: 0; display: grid; gap: 6px; font-size: 14px; }
.raj-cart-sums > div { display: flex; justify-content: space-between; gap: 12px; }
.raj-cart-sums dt { color: #555; }
.raj-cart-sums dd { margin: 0; font-variant-numeric: tabular-nums; }
.raj-cart-sums .raj-cart-grand { border-top: 1px solid var(--raj-line); padding-top: 10px; margin-top: 6px; font-weight: 800; font-size: 20px; }
.raj-cart-sums .raj-cart-grand dt { color: var(--raj-ink); }
.raj-cart-note { font-size: 12px; color: #6b6d72; margin: 8px 0 18px; padding-bottom: 16px; border-bottom: 1px solid var(--raj-line); }
.raj-cart-date-label { display: block; font-weight: 800; font-size: 15px; margin-bottom: 8px; }
.raj-cart-date { position: relative; }
.raj-cart-date svg { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: #555; pointer-events: none; }
.raj-cart-date select { width: 100%; min-height: 44px; padding: 8px 12px 8px 40px; border: 1px solid #cfd0d4; border-radius: 6px; background: #fff; font: inherit; font-size: 14px; color: var(--raj-ink); }
.raj-cart-hint { font-size: 12px; color: #6b6d72; margin: 6px 0 18px; }
.raj-cart-checkout { display: flex !important; width: 100%; justify-content: center; padding-block: 14px !important; font-size: 16px !important; }
.raj-cart-usps { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 8px; font-size: 14px; }
.raj-cart-usps li { position: relative; padding-left: 26px; margin: 0; }
.raj-cart-usps li::before { content: ""; position: absolute; left: 2px; top: 4px; width: 12px; height: 7px; border-left: 2px solid var(--raj-ok); border-bottom: 2px solid var(--raj-ok); transform: rotate(-45deg); }

.raj-cart-sugg { margin-top: 36px; }
.raj-cart-sugg h2 { font-family: var(--raj-body) !important; font-stretch: 100% !important; text-transform: none !important; font-size: 1.15rem !important; font-weight: 800 !important; margin: 0 0 12px !important; padding-bottom: 8px; border-bottom: 2px solid var(--raj-red); display: inline-block; }
.raj-cart-sugg-track { list-style: none; margin: 0; padding: 0 0 8px; display: grid; grid-auto-flow: column; grid-auto-columns: 200px; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; }
.raj-cart-sugg-card { scroll-snap-align: start; margin: 0; background: #fff; border: 1px solid var(--raj-line); border-radius: 10px; padding: 12px; display: flex; flex-direction: column; gap: 4px; }
.raj-cart-sugg-img { display: block; height: 110px; }
.raj-cart-sugg-img img { width: 100% !important; height: 100% !important; object-fit: contain; margin: 0 !important; }
.raj-cart-sugg-brand { font-size: 12px; color: #6b6d72; margin-top: 6px; }
.raj-cart-sugg-name { font-size: 14px; font-weight: 700; color: var(--raj-ink); text-decoration: none; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.6em; }
.raj-cart-sugg-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 8px; }
.raj-cart .raj-addqty { display: flex !important; align-items: center; gap: 4px; }
.raj-cart .raj-addqty-btn { width: 34px; height: 32px; padding: 0 !important; border: 0 !important; border-radius: 5px !important; background: var(--raj-red) !important; color: #fff !important; font-size: 20px !important; display: grid; place-items: center; cursor: pointer; }
.raj-cart .raj-addqty input { width: 40px; height: 32px; padding: 0 !important; text-align: center; font-weight: 700; border: 1px solid #cfd0d4 !important; border-radius: 5px !important; -moz-appearance: textfield; }
.raj-cart .raj-addqty:not(.has-qty) .raj-addqty-minus, .raj-cart .raj-addqty:not(.has-qty) input { display: none; }

.raj-cart-empty { grid-column: 1 / -1; text-align: center; padding: 48px 16px; }
.raj-cart-empty h1 { font-family: var(--raj-body) !important; font-stretch: 100% !important; text-transform: none !important; font-size: 1.5rem !important; }
.raj-cart-empty .raj-btn { margin: 6px; }

@media (max-width: 921px) {
	.raj-cart { grid-template-columns: minmax(0, 1fr); gap: 20px; }
	.raj-cart-side { position: static; }
	.raj-cart-line { grid-template-columns: 56px minmax(0, 1fr) auto; grid-template-areas: "img info remove" "img total qty" "img pack pack"; gap: 6px 12px; position: relative; }
	.raj-cart-img { grid-area: img; width: 56px; height: 56px; align-self: start; }
	.raj-cart-info { grid-area: info; }
	.raj-cart-remove { grid-area: remove; align-self: start; }
	.raj-cart-total { grid-area: total; text-align: left; align-self: center; }
	.raj-cart-qty { grid-area: qty; justify-self: end; }
	.raj-cart-pack { grid-area: pack; }
	.raj-cart-pack:empty { display: none; }
	.raj-cart-sugg-track { grid-auto-columns: 160px; }
}

.raj-cart h1, .raj-cart h2, .raj-cart-date-label { word-spacing: normal !important; letter-spacing: 0 !important; }

/* Versie 2.5.2: leverdatum als agenda (groen = te kiezen) */
.raj-cart-date { position: relative; margin-bottom: 18px; }
.raj-cart-date-btn {
	display: flex !important; align-items: center; gap: 10px; width: 100%; min-height: 44px; padding: 8px 12px !important;
	background: #fff !important; color: var(--raj-ink) !important; border: 1px solid #cfd0d4 !important; border-radius: 6px !important;
	font: inherit; font-size: 14px !important; font-weight: 600 !important; text-align: left; cursor: pointer;
}
.raj-cart-date-btn:hover, .raj-cart-date-btn[aria-expanded="true"] { border-color: var(--raj-ink) !important; }
.raj-cart-date-btn > span { flex: 1; min-width: 0; }
.raj-cart-date-btn svg { position: static !important; transform: none !important; color: #555; flex: none; }
.raj-cal {
	position: absolute; left: 0; right: 0; top: calc(100% + 6px); z-index: 30;
	background: #fff; border: 1px solid var(--raj-line); border-radius: 10px; padding: 12px; box-shadow: 0 12px 30px rgba(0, 0, 0, .14);
}
.raj-cal-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.raj-cal-head strong { font-size: 15px; text-transform: capitalize; }
.raj-cal-nav { width: 32px; height: 32px; padding: 0 !important; border: 1px solid var(--raj-line) !important; border-radius: 6px !important; background: #fff !important; color: var(--raj-ink) !important; font-size: 20px !important; line-height: 1; cursor: pointer; }
.raj-cal-nav:disabled { opacity: .3; cursor: default; }
.raj-cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.raj-cal-dow { text-align: center; font-size: 12px; color: #888; padding: 4px 0; font-weight: 700; }
.raj-cal-day { display: grid; place-items: center; height: 36px; border-radius: 6px; font-size: 14px; padding: 0 !important; }
.raj-cal-day.is-closed { color: #c4c5c9; }
.raj-cal-day.is-open { background: #e3f4e9 !important; color: #17663c !important; border: 1px solid #b7e2c6 !important; font-weight: 700; cursor: pointer; }
.raj-cal-day.is-open:hover, .raj-cal-day.is-open:focus-visible { background: #c9ebd5 !important; }
.raj-cal-day.is-open.is-chosen, .raj-cal-day.is-open.is-chosen:hover, .raj-cal-day.is-open.is-chosen:focus-visible { background: #1d7a4a !important; border-color: #1d7a4a !important; color: #fff !important; }
.raj-cal-legend { display: flex; align-items: center; gap: 6px; margin: 10px 0 0; font-size: 12px; color: #6b6d72; }
.raj-cal-dot { width: 12px; height: 12px; border-radius: 3px; background: #e3f4e9; border: 1px solid #b7e2c6; }

/* =====================================================================
 * Versie 2.5.3: op de computer wordt "In winkelwagen" na een klik "− aantal +"
 * ===================================================================== */
.raj-addqty-text { display: none; }
@media (min-width: 922px) {
	ul.products li.product .raj-addqty {
		display: flex !important; align-items: stretch; gap: 6px; margin: 12px 14px 0 !important; align-self: stretch;
	}
	ul.products li.product:has(.raj-addqty) a.button, ul.products li.product:has(.raj-addqty) .added_to_cart { display: none !important; }
	ul.products li.product .raj-addqty-btn {
		height: 42px; min-width: 42px; padding: 0 !important; border: 0 !important; border-radius: 8px !important;
		background: var(--raj-red) !important; color: #fff !important; font-size: 22px !important; font-weight: 700; line-height: 1;
		display: grid; place-items: center; cursor: pointer;
	}
	ul.products li.product .raj-addqty-btn:hover { background: var(--raj-red-hover) !important; }
	ul.products li.product .raj-addqty input {
		flex: 1; min-width: 0; height: 42px; padding: 0 !important; text-align: center; font-size: 17px; font-weight: 700; color: var(--raj-ink);
		border: 1.5px solid var(--raj-line) !important; border-radius: 8px !important; background: #fff; -moz-appearance: textfield;
	}
	ul.products li.product .raj-addqty input::-webkit-outer-spin-button, ul.products li.product .raj-addqty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
	/* Nog niets in de winkelwagen: één brede knop "In winkelwagen" */
	ul.products li.product .raj-addqty:not(.has-qty) .raj-addqty-minus, ul.products li.product .raj-addqty:not(.has-qty) input { display: none; }
	ul.products li.product .raj-addqty:not(.has-qty) .raj-addqty-plus { flex: 1; font-size: 15px !important; }
	ul.products li.product .raj-addqty:not(.has-qty) .raj-addqty-icon { display: none; }
	ul.products li.product .raj-addqty:not(.has-qty) .raj-addqty-text { display: inline; }
	html.raj-list body.raj-catalog ul.products li.product .raj-addqty { margin: 0 !important; }
}

/* Versie 2.5.4: menu Assortiment op de iPhone ook onderaan de pagina zichtbaar */
@media (max-width: 900px) {
	.raj-catmenu:not([hidden]) {
		top: 0 !important; bottom: auto !important;
		height: calc(100vh - 58px - env(safe-area-inset-bottom, 0px));
		height: calc(100dvh - 58px - env(safe-area-inset-bottom, 0px));
		-webkit-transform: translateZ(0); transform: translateZ(0);
		z-index: 400 !important;
	}
	.raj-catmenu-list { -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
	html.raj-catmenu-open .raj-tabbar { z-index: 401; }
}

/* Minimaal orderbedrag in de winkelwagen */
.raj-cart-min small { display: block; margin-top: 6px; font-size: 12px; color: #6b6d72; }
.raj-cart-min .raj-cart-bar span { background: var(--raj-warn, #c98a00); }
.raj-cart-min.is-done .raj-cart-bar span { background: var(--raj-ok); }
.raj-cart-min.is-done strong { color: var(--raj-ok); }
.raj-cart-checkout.is-disabled { background: #c9cacd !important; color: #fff !important; cursor: not-allowed; pointer-events: none; }
.raj-cart-min-note { margin: 8px 0 0; font-size: 13px; color: #8f5b00; font-weight: 600; text-align: center; }

/* Versie 2.5.6: lege merkregel houdt de ruimte vast (computer); op de telefoon niet nodig */
.raj-loop-brand.is-empty { visibility: hidden; }
@media (max-width: 921px) { ul.products li.product .raj-loop-brand.is-empty { display: none !important; } }

/* =====================================================================
 * Versie 2.6: homepage-kop, gelijke productkaarten, Mijn account
 * ===================================================================== */

/* "Waarom" en daaronder "Raj Groothandel" op de telefoon */
.raj-nowrap { white-space: nowrap; }
@media (max-width: 560px) { .raj-h-line { display: block; } }

/* Productkaarten (computer): naam altijd 3 regels hoog, zodat artikelnummer en prijs gelijk staan */
@media (min-width: 922px) {
	html:not(.raj-list) body.raj-catalog ul.products li.product .woocommerce-loop-product__title {
		display: -webkit-box !important; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
		line-height: 1.3 !important; min-height: 3.9em !important; height: 3.9em;
	}
	.raj-theme ul.products li.product .raj-loop-brand { min-height: 1.3em; }
}

/* ---------- Mijn account ---------- */
.woocommerce-account .entry-title { font-family: var(--raj-body) !important; font-stretch: 100% !important; text-transform: none !important; font-size: 1.6rem !important; letter-spacing: 0 !important; font-weight: 800 !important; }
.woocommerce-account.logged-in .woocommerce:has(> .woocommerce-MyAccount-navigation) { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 32px; align-items: start; margin-bottom: 48px; }
.woocommerce-account.logged-in .woocommerce:has(> .woocommerce-MyAccount-navigation)::before, .woocommerce-account.logged-in .woocommerce:has(> .woocommerce-MyAccount-navigation)::after { display: none !important; }
.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { width: auto !important; float: none !important; margin: 0 !important; }
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }

.raj-acc-nav { background: #fff; border: 1px solid var(--raj-line); border-radius: 12px; padding: 8px; position: sticky; top: 96px; }
.raj-acc-nav ul { list-style: none; margin: 0 !important; padding: 0 !important; border: 0 !important; }
.raj-acc-nav li { margin: 0 !important; border: 0 !important; }
.raj-acc-nav a { display: flex !important; align-items: center; gap: 12px; padding: 11px 12px !important; border-radius: 8px; color: var(--raj-ink) !important; text-decoration: none !important; font-weight: 600; font-size: 15px; border: 0 !important; background: transparent !important; }
.raj-acc-nav a svg { color: #8a8c91; flex: none; }
.raj-acc-nav a:hover { background: var(--raj-bg) !important; }
.raj-acc-nav li.is-active a, .raj-acc-nav a[aria-current="page"] { background: #fdf1f3 !important; color: var(--raj-red) !important; }
.raj-acc-nav li.is-active a svg, .raj-acc-nav a[aria-current="page"] svg { color: var(--raj-red); }
.raj-acc-nav .woocommerce-MyAccount-navigation-link--customer-logout { border-top: 1px solid var(--raj-line) !important; margin-top: 6px !important; padding-top: 6px; }
.raj-acc-nav .woocommerce-MyAccount-navigation-link--customer-logout a { color: #6b6d72 !important; font-weight: 500; }

.raj-acc-hello { margin-bottom: 20px; }
.raj-acc-kicker { margin: 0; color: #6b6d72; font-size: 14px; }
.woocommerce-account .raj-acc .raj-acc-hello h2 { font-family: var(--raj-body) !important; font-stretch: 100% !important; text-transform: none !important; font-size: 1.5rem !important; font-weight: 800 !important; margin: 2px 0 6px !important; letter-spacing: 0 !important; }
.raj-acc-facts { margin: 0; color: #555; font-size: 14px; }
.raj-acc-status.is-wait { background: var(--raj-warn-bg); border: 1px solid #ecd39a; color: var(--raj-ink); padding: 10px 14px; border-radius: 8px; margin: 8px 0 0; font-size: 14px; }

.raj-acc-tiles { list-style: none; margin: 0 0 28px; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.raj-acc-tiles li { margin: 0; }
.raj-acc-tile { display: flex; align-items: flex-start; gap: 12px; height: 100%; padding: 16px; background: #fff; border: 1px solid var(--raj-line); border-radius: 12px; color: var(--raj-ink) !important; text-decoration: none !important; transition: border-color .15s, box-shadow .15s; }
.raj-acc-tile:hover, .raj-acc-tile:focus-visible { border-color: var(--raj-red); box-shadow: 0 4px 14px rgba(0,0,0,.06); }
.raj-acc-icon { flex: none; width: 40px; height: 40px; border-radius: 10px; background: #fdf1f3; color: var(--raj-red); display: grid; place-items: center; }
.raj-acc-tile-text strong { display: block; font-size: 15px; }
.raj-acc-tile-text span { display: block; font-size: 13px; color: #6b6d72; line-height: 1.35; margin-top: 2px; }

.raj-acc-block { background: #fff; border: 1px solid var(--raj-line); border-radius: 12px; padding: 18px 20px; margin-bottom: 16px; }
.raj-acc-block h3 { font-family: var(--raj-body) !important; font-stretch: 100% !important; text-transform: none !important; font-size: 1.05rem !important; font-weight: 800 !important; margin: 0 !important; letter-spacing: 0 !important; }
.raj-acc-block-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 8px; }
.raj-acc-block-head a { font-size: 14px; font-weight: 700; color: var(--raj-red); text-decoration: none; }
.raj-acc-orders { list-style: none; margin: 0; padding: 0; }
.raj-acc-orders li { display: grid; grid-template-columns: minmax(0, 1fr) auto auto auto; gap: 14px; align-items: center; padding: 12px 0; border-top: 1px solid var(--raj-line); margin: 0; }
.raj-acc-order-main { color: var(--raj-ink) !important; text-decoration: none !important; min-width: 0; }
.raj-acc-order-main strong { display: block; font-size: 15px; }
.raj-acc-order-main span { display: block; font-size: 13px; color: #6b6d72; }
.raj-acc-order-main:hover strong { color: var(--raj-red); }
.raj-acc-order-status { font-size: 12px; font-weight: 700; padding: 3px 10px; border-radius: 999px; background: var(--raj-bg); color: #555; white-space: nowrap; }
.raj-acc-order-status.status-processing, .raj-acc-order-status.status-completed { background: var(--raj-ok-bg); color: var(--raj-ok); }
.raj-acc-order-status.status-on-hold, .raj-acc-order-status.status-pending { background: var(--raj-warn-bg); color: var(--raj-warn); }
.raj-acc-order-total { font-weight: 700; white-space: nowrap; }
.raj-acc-help p { margin: 6px 0 0; font-size: 14px; color: #555; }

/* Bestellingen, adressen en formulieren */
.woocommerce-account .woocommerce-MyAccount-content table.shop_table { background: #fff; border: 1px solid var(--raj-line); border-radius: 12px; overflow: hidden; border-collapse: separate; }
.woocommerce-account .woocommerce-MyAccount-content table.shop_table th { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: #6b6d72; background: #fafafb; }
.woocommerce-account .woocommerce-MyAccount-content table.shop_table td, .woocommerce-account .woocommerce-MyAccount-content table.shop_table th { padding: 12px 14px !important; border-color: var(--raj-line) !important; }
.woocommerce-account .woocommerce-orders-table__cell-order-actions .button { padding: 7px 12px !important; font-size: 13px !important; margin: 2px 4px 2px 0 !important; }
.woocommerce-account .woocommerce-orders-table__cell-order-actions .button.view { background: #fff !important; color: var(--raj-ink) !important; border: 1.5px solid var(--raj-line) !important; }
.woocommerce-account .woocommerce-Addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.woocommerce-account .woocommerce-Addresses::before, .woocommerce-account .woocommerce-Addresses::after { display: none !important; }
.woocommerce-account .woocommerce-Address { width: auto !important; float: none !important; background: #fff; border: 1px solid var(--raj-line); border-radius: 12px; padding: 18px 20px; }
.woocommerce-account .woocommerce-Address-title { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.woocommerce-account .woocommerce-Address-title h2 { font-family: var(--raj-body) !important; font-stretch: 100% !important; text-transform: none !important; font-size: 1.05rem !important; margin: 0 0 8px !important; }
.woocommerce-account .woocommerce-Address address { font-style: normal; line-height: 1.6; color: #444; }
.woocommerce-account .woocommerce-MyAccount-content form .form-row input.input-text, .woocommerce-account .woocommerce-MyAccount-content form .form-row select { min-height: 44px; border: 1.5px solid var(--raj-line) !important; border-radius: 8px !important; padding: 8px 12px !important; background: #fff; }
.woocommerce-account .woocommerce-MyAccount-content form .form-row label { font-weight: 600; font-size: 14px; }
.woocommerce-account .woocommerce-MyAccount-content fieldset { border: 1px solid var(--raj-line); border-radius: 12px; padding: 14px 18px; margin: 18px 0; }
.woocommerce-account .woocommerce-MyAccount-content fieldset legend { font-weight: 800; padding: 0 6px; }

@media (max-width: 921px) {
	.woocommerce-account.logged-in .woocommerce:has(> .woocommerce-MyAccount-navigation) { grid-template-columns: minmax(0, 1fr); gap: 18px; }
	.raj-acc-nav { position: static; padding: 6px; }
	.raj-acc-nav ul { display: flex; overflow-x: auto; gap: 4px; scrollbar-width: none; }
	.raj-acc-nav ul::-webkit-scrollbar { display: none; }
	.raj-acc-nav li { flex: none; }
	.raj-acc-nav a { padding: 9px 12px !important; font-size: 14px; white-space: nowrap; }
	.raj-acc-nav .woocommerce-MyAccount-navigation-link--customer-logout { border-top: 0 !important; margin: 0 !important; padding: 0; }
	.raj-acc-tiles { grid-template-columns: 1fr 1fr; gap: 10px; }
	.raj-acc-tile { flex-direction: column; gap: 8px; padding: 14px; }
	.raj-acc-orders li { grid-template-columns: minmax(0, 1fr) auto; gap: 6px 12px; }
	.raj-acc-order-status { justify-self: start; }
	.raj-acc-orders li .raj-btn { grid-column: 1 / -1; justify-content: center; }
	.woocommerce-account .woocommerce-Addresses { grid-template-columns: minmax(0, 1fr); }
}

/* =====================================================================
 * Versie 2.7: menu onder Mijn account, facturen, adressen alleen lezen, Besparen
 * ===================================================================== */
.raj-panel-title { font-family: var(--raj-body) !important; font-stretch: 100% !important; letter-spacing: 0 !important; text-transform: none !important; font-weight: 800; }

.raj-acc-dd { position: relative; }
.raj-acc-dd-btn svg { margin-left: 2px; transition: transform .15s; }
.raj-acc-dd.is-open .raj-acc-dd-btn svg { transform: rotate(180deg); }
.raj-acc-dd-menu {
	position: absolute; right: 0; top: calc(100% + 6px); z-index: 130; min-width: 200px; list-style: none; margin: 0; padding: 6px;
	background: #fff; border: 1px solid var(--raj-line); border-radius: 10px; box-shadow: 0 14px 30px rgba(0,0,0,.14);
	opacity: 0; visibility: hidden; transform: translateY(-4px); transition: opacity .12s, transform .12s, visibility .12s;
}
.raj-acc-dd::after { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 8px; }
.raj-acc-dd.is-open .raj-acc-dd-menu { opacity: 1; visibility: visible; transform: none; }
.raj-acc-dd-menu li { margin: 0; }
.raj-acc-dd-menu a { display: block; padding: 9px 12px; border-radius: 6px; color: var(--raj-ink); text-decoration: none; font-weight: 600; font-size: 14px; white-space: nowrap; }
.raj-acc-dd-menu a:hover, .raj-acc-dd-menu a:focus-visible { background: var(--raj-bg); color: var(--raj-red); }
.raj-acc-dd-menu .raj-acc-dd-logout { border-top: 1px solid var(--raj-line); border-radius: 0 0 6px 6px; margin-top: 4px; color: #6b6d72; font-weight: 500; }
@media (prefers-reduced-motion: reduce) { .raj-acc-dd-menu, .raj-acc-dd-btn svg { transition: none; } }

/* Facturen */
.raj-inv-table { width: 100%; border-collapse: separate; border-spacing: 0; background: #fff; border: 1px solid var(--raj-line); border-radius: 12px; overflow: hidden; font-size: 14px; }
.raj-inv-table th { text-align: left; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: #6b6d72; background: #fafafb; padding: 11px 14px; border-bottom: 1px solid var(--raj-line); }
.raj-inv-table td { padding: 12px 14px; border-bottom: 1px solid var(--raj-line); vertical-align: middle; }
.raj-inv-table tr:last-child td { border-bottom: 0; }
.raj-inv-table .num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.raj-inv-status { display: inline-block; font-size: 12px; font-weight: 700; padding: 3px 10px; border-radius: 999px; white-space: nowrap; }
.raj-inv-status.is-paid { background: var(--raj-ok-bg); color: var(--raj-ok); }
.raj-inv-status.is-open { background: var(--raj-warn-bg); color: var(--raj-warn); }
.raj-inv-status.is-late { background: #fde8eb; color: var(--raj-red); }
.raj-inv-summary { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 16px; }
.raj-inv-summary div { background: #fff; border: 1px solid var(--raj-line); border-radius: 12px; padding: 12px 16px; min-width: 160px; }
.raj-inv-summary span { display: block; font-size: 13px; color: #6b6d72; }
.raj-inv-summary strong { font-size: 1.25rem; }
.raj-inv-pdf { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.raj-inv-note { font-size: 13px; color: #6b6d72; margin-top: 12px; }
@media (max-width: 700px) {
	.raj-inv-table thead { display: none; }
	.raj-inv-table, .raj-inv-table tbody, .raj-inv-table tr, .raj-inv-table td { display: block; width: 100%; }
	.raj-inv-table tr { padding: 12px 14px; border-bottom: 1px solid var(--raj-line); display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; }
	.raj-inv-table td { padding: 0; border: 0; }
	.raj-inv-table td.num { text-align: right; }
	.raj-inv-table td[data-label="Vervaldatum"], .raj-inv-table td[data-label="Openstaand"] { display: none; }
	.raj-inv-table td:last-child { grid-column: 1 / -1; }
}

/* Adressen: alleen lezen */
.raj-addr-note { background: #fff; border: 1px solid var(--raj-line); border-left: 4px solid var(--raj-red); border-radius: 8px; padding: 12px 16px; margin: 0 0 16px; font-size: 14px; }

/* =====================================================================
 * Versie 2.8: ruimte Mijn account, label Nieuw, witte fotoachtergrond laten wegvallen
 * ===================================================================== */
.woocommerce-account #primary, .woocommerce-account .site-main { padding-top: 0 !important; }
.woocommerce-account .entry-header, .woocommerce-account .ast-article-single > header { margin: 0 !important; }
.woocommerce-account .entry-title { margin: 36px 0 20px !important; }
@media (max-width: 921px) { .woocommerce-account .entry-title { margin: 22px 0 14px !important; } }

/* Label Nieuw */
.raj-new-badge {
	display: inline-block; background: var(--raj-red); color: #fff; font-size: 11px; font-weight: 800; letter-spacing: .06em;
	text-transform: uppercase; padding: 3px 8px; border-radius: 4px; line-height: 1.3;
}
ul.products li.product > .raj-new-badge { position: absolute; top: 10px; left: 10px; z-index: 3; }
.raj-new-badge-pdp { margin: 0 0 8px; }
@media (max-width: 921px) {
	html:is(.raj-list, :not(.raj-list)) body.raj-catalog ul.products li.product > .raj-new-badge { top: 12px; left: 0; font-size: 10px; padding: 2px 6px; }
}

/* Witte achtergrond van productfoto's laat wegvallen tegen een lichtgrijs vlak (zoals bij Sligro):
   wit wordt het grijs van het vlak, de rest van de foto blijft gelijk. Werkt voor alle bestaande foto's. */
:root { --raj-photo-bg: #f4f4f5; }
@media (min-width: 922px) {
	.raj-theme ul.products li.product .astra-shop-thumbnail-wrap { background: var(--raj-photo-bg); }
	.raj-theme ul.products li.product .astra-shop-thumbnail-wrap img,
	.raj-theme ul.products li.product a img { background: transparent !important; mix-blend-mode: multiply; }
}
.raj-pdp div.product .woocommerce-product-gallery, .raj-pdp div.product .woocommerce-product-gallery__image { background: var(--raj-photo-bg) !important; }
.raj-pdp div.product .woocommerce-product-gallery img { background: transparent !important; mix-blend-mode: multiply; }
.raj-mega-img, .raj-catmenu-img { background: var(--raj-photo-bg) !important; }
.raj-mega-img img, .raj-catmenu-img img { mix-blend-mode: multiply; }
.raj-cart-img, .raj-cart-sugg-img, .raj-orderlist-img { background: var(--raj-photo-bg) !important; border-radius: 8px; }
.raj-cart-img img, .raj-cart-sugg-img img, .raj-orderlist-img img { mix-blend-mode: multiply; background: transparent !important; }
.raj-cart-img img { padding: 4px; }

/* Inlogpagina (niet ingelogd): formulier gewoon over de breedte, ruimte bovenaan */
.woocommerce-account:not(.logged-in) .entry-title { margin: 36px 0 20px !important; }
.woocommerce-account:not(.logged-in) .woocommerce { display: block; max-width: 980px; margin-bottom: 48px; }
/* Wachtwoord vergeten en nieuw wachtwoord: één kaart met volle velden */
.woocommerce-account form.woocommerce-ResetPassword, .woocommerce-account form.lost_reset_password {
	max-width: 520px; background: #fff; border: 1px solid var(--raj-line); border-radius: 12px; padding: 24px; margin: 0 0 48px;
}
.woocommerce-account form.lost_reset_password p:first-child { color: #555; margin-top: 0; }
.woocommerce-account form.lost_reset_password .form-row,
.woocommerce-account form.lost_reset_password .form-row-first,
.woocommerce-account form.lost_reset_password .form-row-last { width: 100% !important; float: none !important; margin: 0 0 14px !important; padding: 0 !important; }
.woocommerce-account form.lost_reset_password label { display: block; font-weight: 600; font-size: 14px; margin-bottom: 5px; }
.woocommerce-account form.lost_reset_password input.input-text { width: 100%; min-height: 46px; border: 1.5px solid var(--raj-line) !important; border-radius: 8px !important; padding: 10px 12px !important; background: #fff; }
.woocommerce-account form.lost_reset_password button[type="submit"] { width: 100%; min-height: 48px; justify-content: center; font-size: 16px !important; }
.woocommerce-account form.lost_reset_password .clear { display: none; }

.raj-subcat-new { border-color: var(--raj-red) !important; color: var(--raj-red) !important; }
.raj-subcat-new::before { content: "★"; margin-right: 4px; }

/* Factuur-e-mailadres op de facturenpagina */
.raj-inv-mail { background: #fff; border: 1px solid var(--raj-line); border-radius: 12px; padding: 16px 18px; margin: 0 0 18px; display: grid; gap: 10px; }
.raj-inv-mail label { display: grid; gap: 2px; margin: 0; }
.raj-inv-mail label strong { font-size: 15px; }
.raj-inv-mail label span { font-size: 13px; color: #6b6d72; }
.raj-inv-mail-row { display: flex; gap: 10px; }
.raj-inv-mail-row input { flex: 1; min-width: 0; height: 44px; padding: 0 12px; border: 1px solid var(--raj-line); border-radius: 8px; font-size: 15px; }
.raj-inv-mail-row .raj-btn { height: 44px; padding: 0 20px; }
@media (max-width: 520px) { .raj-inv-mail-row { flex-direction: column; } .raj-inv-mail-row .raj-btn { width: 100%; } }
.raj-inv-mail-fieldset { margin-top: 24px; }
/* Afleveradressen */
.raj-addr-list-title { font-size: 20px; margin: 32px 0 6px; }
.raj-addr-list { list-style: none; margin: 12px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; }
.raj-addr-list li { background: #fff; border: 1px solid var(--raj-line); border-radius: 12px; padding: 14px 16px; display: grid; gap: 4px; }
.raj-addr-list li span { font-size: 14px; color: #555; }

/* Bevestiging na aanmelden */
.raj-join-done { text-align: center; padding: 12px 4px 4px; }
.raj-join-done-icon { display: inline-flex; align-items: center; justify-content: center; width: 60px; height: 60px; border-radius: 50%; background: var(--raj-ok-bg, #e7f6ec); color: var(--raj-ok, #1a7f37); margin-bottom: 12px; }
.raj-join-done h3 { font-size: 22px; margin: 0 0 12px; }
.raj-join-done p { margin: 0 0 12px; line-height: 1.55; }
.raj-join-done .raj-btn { margin-top: 6px; }

/* Per doos bestellen */
.raj-box-btn { display: inline-flex; align-items: center; justify-content: center; gap: 4px; margin-top: 6px; padding: 6px 10px; border: 1px dashed var(--raj-red); border-radius: 8px; background: #fff; color: var(--raj-red); font: inherit; font-size: 13px; font-weight: 700; line-height: 1.2; cursor: pointer; white-space: nowrap; }
.raj-box-btn span { font-weight: 500; color: #6b6d72; }
.raj-box-btn:hover { background: #fdf2f4; }
.raj-addqty.has-box { flex-wrap: wrap; }
.raj-addqty.has-box .raj-box-btn { flex: 1 0 100%; order: 9; }
.raj-stepper .raj-box-btn, .raj-cart-qty .raj-box-btn { flex: 1 0 100%; }
.raj-stepper:has(.raj-box-btn) { flex-wrap: wrap; }
.raj-box-sum { flex: 1 0 100%; font-size: 12px; color: #6b6d72; text-align: center; margin-top: 2px; }
.raj-box-btn-single { margin: 0 0 0 8px; height: 44px; }

/* ===== Kort afrekenen (zoals TakeAware) ===== */
.raj-co { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 440px); gap: 0; max-width: 1180px; margin: 24px auto 56px; background: #fff; border: 1px solid var(--raj-line); border-radius: 14px; overflow: hidden; }
.raj-co-main { padding: 32px 40px 36px; display: grid; gap: 18px; align-content: start; }
.raj-co-side { background: #f4f4f5; padding: 32px 36px; border-left: 1px solid var(--raj-line); }
.raj-co-who { display: flex; align-items: center; gap: 10px; font-size: 14px; color: #3c3e42; }
.raj-co-avatar { width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--raj-line); display: grid; place-items: center; font-weight: 700; color: var(--raj-ink); flex: none; }
.raj-co-box { border: 1px solid var(--raj-line); border-radius: 12px; }
.raj-co-row { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 12px; align-items: center; padding: 16px 16px; border-bottom: 1px solid var(--raj-line); }
.raj-co-label { color: #6b6d72; font-size: 14px; }
.raj-co-value { font-size: 14px; color: var(--raj-ink); display: grid; gap: 2px; }
.raj-co-value strong { font-weight: 700; }
.raj-co-sub { color: #55575c; font-size: 13px; }
.raj-co-select { width: 100%; height: 42px; padding: 0 36px 0 12px; border: 1px solid #cfd0d4; border-radius: 8px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231d1e20' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center; -webkit-appearance: none; appearance: none; font: inherit; font-weight: 700; color: var(--raj-ink); }
.raj-co-choice { display: flex; flex-wrap: wrap; gap: 8px; }
.raj-co-radio { display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border: 1px solid #cfd0d4; border-radius: 8px; cursor: pointer; font-weight: 600; margin: 0; }
.raj-co-radio:has(input:checked) { border-color: var(--raj-ink); box-shadow: inset 0 0 0 1px var(--raj-ink); }
.raj-co-radio input { accent-color: var(--raj-red); margin: 0; }
.raj-co-pay { padding: 16px; display: grid; gap: 12px; }
.raj-co-info { display: flex; gap: 10px; margin: 0; padding: 14px 16px; background: #f4f4f5; border: 1px solid var(--raj-line); border-radius: 10px; font-size: 14px; line-height: 1.5; color: #3c3e42; }
.raj-co-info svg { flex: none; margin-top: 2px; color: #6b6d72; }
.raj-co-paymethod { padding: 14px 16px; border-radius: 10px; background: #fdf2f4; font-weight: 700; font-size: 15px; }
.raj-co-input { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #cfd0d4; border-radius: 8px; font: inherit; font-size: 14px; box-sizing: border-box; }
.raj-co-note summary { cursor: pointer; font-size: 14px; color: var(--raj-red); font-weight: 600; }
.raj-co-note textarea { margin-top: 8px; }
.raj-co-submit { width: 100%; height: 54px; font-size: 17px !important; border-radius: 10px !important; }
.raj-co-submit[disabled] { opacity: .45; cursor: not-allowed; }
.raj-co-warn { margin: 0; padding: 12px 14px; border-radius: 8px; background: var(--raj-warn-bg, #fff4e5); color: var(--raj-warn, #8a5300); font-size: 14px; }
.raj-co-legal { margin: -6px 0 0; font-size: 12px; color: #6b6d72; text-align: center; }
.raj-co-items { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.raj-co-items li { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 14px; align-items: center; }
.raj-co-thumb { position: relative; width: 64px; height: 64px; border-radius: 10px; background: #fff; border: 1px solid var(--raj-line); display: grid; place-items: center; }
.raj-co-thumb img { max-width: 52px; max-height: 52px; width: auto; height: auto; mix-blend-mode: multiply; }
.raj-co-thumb b { position: absolute; top: -8px; right: -8px; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px; background: var(--raj-ink); color: #fff; font-size: 12px; display: grid; place-items: center; box-sizing: border-box; }
.raj-co-name { font-size: 14px; line-height: 1.35; display: grid; gap: 2px; }
.raj-co-name small { color: #6b6d72; font-size: 12px; }
.raj-co-price { font-size: 14px; font-weight: 600; white-space: nowrap; }
.raj-co-edit { display: inline-block; margin: 14px 0 0; font-size: 13px; font-weight: 600; color: var(--raj-red); }
.raj-co-sums { margin: 22px 0 0; padding: 18px 0 0; border-top: 1px solid #dcdde0; display: grid; gap: 8px; }
.raj-co-sums div { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; }
.raj-co-sums dt, .raj-co-sums dd { margin: 0; }
.raj-co-grand { margin-top: 8px; padding-top: 12px; border-top: 1px solid #dcdde0; font-size: 20px !important; font-weight: 700; }
.raj-co-usps { list-style: none; margin: 24px 0 0; padding: 0; display: grid; gap: 12px; }
.raj-co-usps li { position: relative; padding-left: 32px; font-size: 14px; }
.raj-co-usps li::before { content: ""; position: absolute; left: 0; top: 0; width: 22px; height: 18px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='18' viewBox='0 0 24 20' fill='none' stroke='%2322a447' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5l6 6L21 3'/%3E%3C/svg%3E") no-repeat center; }
@media (max-width: 900px) {
	.raj-co { grid-template-columns: minmax(0, 1fr); margin: 12px 0 32px; border-radius: 12px; }
	.raj-co-side { border-left: 0; border-top: 1px solid var(--raj-line); padding: 20px 16px; }
	.raj-co-main { padding: 20px 16px 24px; }
	.raj-co-row { grid-template-columns: minmax(0, 1fr); gap: 6px; }
}

/* Facturen: periode en alles downloaden */
.raj-inv-filter { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px 16px; align-items: end; background: #fff; border: 1px solid var(--raj-line); border-radius: 12px; padding: 14px 16px; margin: 0 0 16px; }
.raj-inv-filter-fields { display: flex; flex-wrap: wrap; gap: 10px; align-items: end; }
.raj-inv-filter-fields label { display: grid; gap: 4px; margin: 0; font-size: 13px; color: #6b6d72; }
.raj-inv-filter-fields input[type=date] { height: 40px; padding: 0 10px; border: 1px solid #cfd0d4; border-radius: 8px; font: inherit; font-size: 14px; color: var(--raj-ink); }
.raj-inv-filter-fields .raj-btn { height: 40px; }
.raj-inv-filter-reset { font-size: 13px; align-self: center; }
.raj-inv-filter-quick { grid-column: 1; display: flex; flex-wrap: wrap; gap: 6px; }
.raj-inv-filter-quick a { padding: 5px 11px; border: 1px solid var(--raj-line); border-radius: 999px; font-size: 13px; color: var(--raj-ink); text-decoration: none; }
.raj-inv-filter-quick a[aria-current] { border-color: var(--raj-red); color: var(--raj-red); font-weight: 700; }
.raj-inv-zip { grid-column: 2; grid-row: 1 / span 2; align-self: center; display: inline-flex; gap: 6px; align-items: center; white-space: nowrap; }
@media (max-width: 700px) {
	.raj-inv-filter { grid-template-columns: minmax(0, 1fr); }
	.raj-inv-zip { grid-column: 1; grid-row: auto; justify-content: center; }
	.raj-inv-filter-fields label { flex: 1 1 140px; }
	.raj-inv-filter-fields input[type=date] { width: 100%; }
}

/* Inloggen rechtsboven (ook op de telefoon zichtbaar) */
.raj-header-actions .raj-login-btn { display: inline-flex !important; align-items: center; gap: 6px; }
@media (max-width: 480px) { .raj-header-actions .raj-login-btn { padding-left: 12px; padding-right: 12px; } }
/* Onder het inlogformulier */
.raj-login-join { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; max-width: 520px; margin: 18px 0 0; padding: 16px 18px; background: #fff; border: 1px solid var(--raj-line); border-radius: 12px; }
.raj-login-join div { display: grid; gap: 3px; flex: 1 1 240px; }
.raj-login-join span { font-size: 14px; color: #6b6d72; line-height: 1.45; }

/* "Log in voor prijs" is nu zelf de link naar inloggen (geen aparte knop meer) */
a.raj-b2b-price-login { text-decoration: none !important; cursor: pointer; color: var(--raj-red) !important; font-weight: 700 !important; }
a.raj-b2b-price-login:hover, a.raj-b2b-price-login:focus-visible { text-decoration: underline !important; }
ul.products li.product .raj-b2b-login-button, ul.products li.product .raj-b2b-button-disabled { display: none !important; }

/* Mijn account en Bestellijst op de telefoon: nooit breder dan het scherm.
   Het schuifmenu bovenaan duwde de kolom breder (grid-kolommen krijgen anders de breedte van hun inhoud). */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content { min-width: 0; max-width: 100%; }
@media (max-width: 921px) {
	.woocommerce-account .woocommerce { max-width: 100%; overflow-x: clip; }
	.woocommerce-account .woocommerce-MyAccount-content > * { max-width: 100%; }
	.woocommerce-account .woocommerce-MyAccount-content table:not(.raj-inv-table) { display: block; max-width: 100%; overflow-x: auto; }
	.raj-acc-nav, .raj-acc-nav ul { max-width: 100%; }
}

/* Kolommen op de telefoon nooit breder dan het scherm, ook als er een schuifrij in staat */
@media (max-width: 921px) {
	.raj-cart > *, .raj-co > *, .raj-split > * { min-width: 0; max-width: 100%; }
	.raj-cart-sugg, .raj-cart-sugg-track { max-width: 100%; }
}

/* Mijn account op de telefoon: alle opties in één blok (niet schuiven), 3 per rij met pictogram */
@media (max-width: 921px) {
	.raj-acc-nav { padding: 6px !important; }
	.raj-acc-nav ul { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px !important; overflow: visible !important; }
	.raj-acc-nav li { flex: initial !important; min-width: 0; }
	.raj-acc-nav a { flex-direction: column; justify-content: center; gap: 4px !important; padding: 10px 4px !important; font-size: 12.5px !important; line-height: 1.2; text-align: center; white-space: normal !important; min-height: 64px; background: #f7f7f8 !important; }
	.raj-acc-nav a span { overflow-wrap: anywhere; }
	.raj-acc-nav a svg { width: 20px; height: 20px; }
	.raj-acc-nav li.is-active a, .raj-acc-nav a[aria-current="page"] { background: #fdf1f3 !important; box-shadow: inset 0 0 0 1.5px var(--raj-red); }
	.raj-acc-nav .woocommerce-MyAccount-navigation-link--customer-logout { border: 0 !important; margin: 0 !important; padding: 0 !important; }
	.raj-acc-nav .woocommerce-MyAccount-navigation-link--customer-logout a { color: #6b6d72 !important; }
}
@media (max-width: 360px) { .raj-acc-nav ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Bedankt voor uw bestelling */
.raj-thanks { max-width: 560px; margin: 40px auto 64px; text-align: center; background: #fff; border: 1px solid var(--raj-line); border-radius: 16px; padding: 40px 28px; }
.raj-thanks-icon { display: inline-grid; place-items: center; width: 72px; height: 72px; border-radius: 50%; background: var(--raj-ok-bg, #e7f6ec); color: var(--raj-ok, #1a7f37); margin-bottom: 16px; }
.raj-thanks h1 { font-size: 28px !important; margin: 0 0 10px !important; }
.raj-thanks-when { font-size: 18px; margin: 0 0 6px; }
.raj-thanks-small { color: #6b6d72; font-size: 14px; margin: 0 0 24px; }
.raj-thanks-actions { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
@media (max-width: 600px) { .raj-thanks { margin: 16px 0 40px; padding: 28px 18px; } .raj-thanks h1 { font-size: 23px !important; } .raj-thanks-actions .raj-btn { flex: 1 1 100%; } }

@media (max-width: 921px) {
	.raj-acc-nav a span { overflow-wrap: normal; hyphens: manual; }
	.raj-acc-nav .woocommerce-MyAccount-navigation-link--customer-logout { grid-column: 1 / -1; }
	.raj-acc-nav .woocommerce-MyAccount-navigation-link--customer-logout a { flex-direction: row; min-height: 40px; padding: 8px !important; background: transparent !important; }
	.raj-acc-nav .woocommerce-MyAccount-navigation-link--customer-logout a svg { width: 16px; height: 16px; }
}
@media (max-width: 921px) {
	/* Alle blokjes even groot: elke rij even hoog, en de knop vult het hele blokje. */
	.raj-acc-nav ul { grid-auto-rows: 1fr; align-items: stretch; }
	.raj-acc-nav li { display: flex !important; height: 100%; }
	.raj-acc-nav li > a { flex: 1 1 auto; width: 100%; height: 100%; min-height: 68px; box-sizing: border-box; }
	.raj-acc-nav .woocommerce-MyAccount-navigation-link--customer-logout { height: auto; }
	.raj-acc-nav .woocommerce-MyAccount-navigation-link--customer-logout > a { min-height: 40px; }
}
@media (max-width: 921px) { .raj-acc-nav ul { grid-template-rows: 1fr 1fr auto; grid-auto-rows: 1fr; } }
@media (max-width: 360px) { .raj-acc-nav ul { grid-template-rows: 1fr 1fr 1fr auto; } }

/* Bestellijst op de telefoon: geen blok met accountknoppen erboven */
@media (max-width: 921px) {
	body.raj-ep-bestellijst .woocommerce-MyAccount-navigation { display: none !important; }
}

/* Actie uit SnelStart */
.onsale.raj-b2b-actie { background: var(--raj-red) !important; color: #fff !important; }

/* Actieprijs in rood, de oude prijs doorgestreept en grijs */
.price ins, .price ins .amount, .price ins bdi,
.woocommerce ul.products li.product .price ins, .woocommerce div.product p.price ins, .woocommerce div.product span.price ins { color: var(--raj-red) !important; font-weight: 800 !important; text-decoration: none !important; background: none !important; }
.price del, .price del .amount, .price del bdi { color: #8a8c91 !important; font-weight: 500 !important; opacity: 1 !important; }
.price del { margin-right: 6px; font-size: .85em; }

/* Kiezen: per stuk of per doos */
.raj-unit { display: inline-flex; flex: 1 0 100%; order: -1; gap: 0; margin: 0 0 6px; border: 1px solid #cfd0d4; border-radius: 8px; overflow: hidden; background: #fff; }
.raj-unit button { flex: 1 1 50%; min-width: 0; padding: 6px 8px !important; border: 0 !important; border-radius: 0 !important; background: #fff !important; color: var(--raj-ink) !important; font: inherit; font-size: 12.5px !important; font-weight: 700; line-height: 1.2; cursor: pointer; white-space: nowrap; }
.raj-unit button + button { border-left: 1px solid #cfd0d4 !important; }
.raj-unit button small { font-weight: 500; color: #6b6d72; font-size: 11.5px; }
.raj-unit button[aria-pressed="true"] { background: var(--raj-ink) !important; color: #fff !important; }
.raj-unit button[aria-pressed="true"] small { color: #d7d8db; }
.raj-unit-sum { flex: 1 0 100%; order: 10; font-size: 12px; color: #6b6d72; text-align: center; margin-top: 3px; }
.raj-unit-sum:empty { display: none; }
.raj-addqty.has-box, .raj-stepper:has(.raj-unit), .raj-cart-qty:has(.raj-unit) { flex-wrap: wrap; }
.raj-unit-single { display: inline-flex; flex-direction: column; min-width: 220px; margin: 0 10px 10px 0; vertical-align: middle; }
.raj-unit-single .raj-unit { order: 0; }

/* Doos: label in winkelwagen/afrekenen; prijs per doos onder de keuze */
.raj-doos-tag { display: inline-block; margin: 2px 0; padding: 1px 8px; border-radius: 999px; background: var(--raj-ink); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .02em; vertical-align: middle; }
.raj-unit-sum { color: var(--raj-ink); font-weight: 700; }
.price .raj-per-doos { font-size: .72em; font-weight: 600; color: var(--raj-muted, #6b6d72); margin-left: 2px; }
