/* JeVibe-productcarousels. Alles is gescoped: .jevibe-carousel is de gedeelde basis (kaart, rij,
   galerij, prijs, knoppen), :is(.jevibe-related, .jevibe-bestsellers) = "Past ook bij jou" (lichtblauw blok),
   .jevibe-bestsellers = "Deze spreken je misschien aan" (wit). Niets hier raakt andere WooCommerce-lijsten. */
body .jevibe-carousel{
	--jvr-blue: #0B33B3;
	--jvr-ink: #0f172a;
	--jvr-text: #1f2937;
	--jvr-muted: #6b7280;
	--jvr-line: #e7ecf5;
	--jvr-gap: 12px;
	--jvr-pad: 16px;
	--jvr-per-view: 1.8;
	clear: both;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-width: 0; /* anders groeit de sectie in een flex/grid-ouder mee met alle kaarten */
	margin: 32px 0 8px;
	overflow: hidden; /* de rij scrolt zelf, de pagina nooit */
}

/* Maatvoering is voor beide secties gelijk (binnenmarge + 1px rand), zodat de kaarten in A en B
   op elke breedte exact even groot zijn en recht onder elkaar staan. Alleen de kleur verschilt. */
body .jevibe-carousel{
	padding: 22px var(--jvr-pad) 18px;
	border: 1px solid transparent;
}

/* A: "Past ook bij jou" — lichtblauw blok */
body :is(.jevibe-related, .jevibe-bestsellers){
	border-radius: 20px;
	background: linear-gradient(180deg, #f3f6fd 0%, #f8faff 100%);
	border-color: #edf1fa;
}

/* B: bestsellers — wit, zonder zichtbaar blok */
body .jevibe-bestsellers{
	border-radius: 0;
	background: #fff;
}

/* Kop */
body .jevibe-carousel .jevibe-related-header{
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 16px;
}
body .jevibe-carousel .jevibe-related-title{
	margin: 0;
	font-size: 22px;
	line-height: 1.2;
	font-weight: 700;
	letter-spacing: -0.01em;
	text-transform: none;
	color: var(--jvr-ink);
}
body .jevibe-carousel .jevibe-related-subtitle{
	margin: 4px 0 0;
	font-size: 14px;
	line-height: 1.4;
	color: var(--jvr-muted);
}

/* Rij: horizontaal scrollen met snap, zonder slider-library */
body .jevibe-carousel .jevibe-related-viewport{
	position: relative;
}
body .jevibe-carousel .jevibe-related-track{
	position: relative;
	display: flex;
	flex-wrap: nowrap;
	gap: var(--jvr-gap);
	margin: 0 calc(var(--jvr-pad) * -1);
	padding: 2px var(--jvr-pad) 6px;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scroll-padding: 0 var(--jvr-pad);
	overscroll-behavior-x: contain;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	list-style: none;
}
body .jevibe-carousel .jevibe-related-track::-webkit-scrollbar{
	display: none;
}
body .jevibe-carousel .jevibe-related-track:focus-visible{
	outline: 2px solid var(--jvr-blue);
	outline-offset: 2px;
}

/* Kaart */
body .jevibe-carousel .jevibe-related-track > .jevibe-related-card{
	position: relative;
	display: flex;
	flex-direction: column;
	flex: 0 0 calc((100% - (var(--jvr-per-view) - 1) * var(--jvr-gap) - var(--jvr-gap) * 0.5) / var(--jvr-per-view));
	width: auto;
	min-width: 0;
	margin: 0;
	padding: 0 0 12px;
	float: none;
	scroll-snap-align: start;
	background: #fff;
	border: 1px solid var(--jvr-line);
	border-radius: 16px;
	box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
	overflow: hidden;
	text-align: left;
}

/* Foto */
body .jevibe-carousel .jevibe-related-media{
	position: relative;
	background: #fff;
}
body .jevibe-carousel .jevibe-related-image{
	display: block;
}
body .jevibe-carousel .jevibe-related-image figure{
	margin: 0;
	aspect-ratio: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 12px 10px 4px;
	overflow: hidden;
}
body .jevibe-carousel .jevibe-related-image figure img{
	display: block;
	width: 100%;
	height: 100%;
	max-width: 100%;
	object-fit: contain;
	/* ontbrekende afbeelding: geen alt-tekst over de kaart */
	color: transparent;
	font-size: 0;
}

/* Echte labels (korting) linksboven als rustige pil */
body .jevibe-carousel .jevibe-related-media .product-label{
	position: absolute;
	top: 10px;
	left: 10px;
	right: auto;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
	margin: 0;
	pointer-events: none;
}
body .jevibe-carousel .jevibe-related-media .product-label:empty{
	display: none;
}
body .jevibe-carousel .jevibe-related-media .product-label > span{
	display: inline-block;
	min-width: 0;
	margin: 0;
	padding: 3px 9px;
	border: 0;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.4;
	text-transform: none;
	color: #fff;
	background: var(--jvr-blue);
}
body .jevibe-carousel .jevibe-related-media .product-label > span.onsale{
	border: 0; /* wint van de inline Customizer-regel '.woocommerce .product .product-label .onsale' */
	color: #b4232c;
	background: #fdecee;
}

/* Wenslijst-hartje rechtsboven (ThemeSky-knop, eigen icoon) */
body .jevibe-carousel .jevibe-related-wish{
	position: absolute;
	top: 8px;
	right: 8px;
	z-index: 3;
}
body .jevibe-carousel .jevibe-related-wish .button-in{
	position: static;
	display: block;
	width: auto;
	height: auto;
	margin: 0;
	padding: 0;
	transform: none;
	opacity: 1;
	visibility: visible;
}
body .jevibe-carousel .jevibe-related-wish a.ts-add-to-wishlist{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .92);
	box-shadow: 0 1px 3px rgba(15, 23, 42, .12);
	color: var(--jvr-ink);
	font-size: 0;
	line-height: 0;
	text-decoration: none;
}
body .jevibe-carousel .jevibe-related-wish a.ts-add-to-wishlist:before{
	content: "";
	display: block;
	position: static;
	width: 17px;
	height: 17px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 20.3s-7.5-4.6-9.3-9.2C1.5 8 3.4 4.8 6.6 4.5c2-.2 3.9.8 5.4 2.6 1.5-1.8 3.4-2.8 5.4-2.6 3.2.3 5.1 3.5 3.9 6.6-1.8 4.6-9.3 9.2-9.3 9.2z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%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'%3E%3Cpath d='M12 20.3s-7.5-4.6-9.3-9.2C1.5 8 3.4 4.8 6.6 4.5c2-.2 3.9.8 5.4 2.6 1.5-1.8 3.4-2.8 5.4-2.6 3.2.3 5.1 3.5 3.9 6.6-1.8 4.6-9.3 9.2-9.3 9.2z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
body .jevibe-carousel .jevibe-related-wish a.ts-add-to-wishlist.added{
	color: var(--jvr-blue);
}
body .jevibe-carousel .jevibe-related-wish a.ts-add-to-wishlist.added:before{
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 20.3s-7.5-4.6-9.3-9.2C1.5 8 3.4 4.8 6.6 4.5c2-.2 3.9.8 5.4 2.6 1.5-1.8 3.4-2.8 5.4-2.6 3.2.3 5.1 3.5 3.9 6.6-1.8 4.6-9.3 9.2-9.3 9.2z' fill='black'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 20.3s-7.5-4.6-9.3-9.2C1.5 8 3.4 4.8 6.6 4.5c2-.2 3.9.8 5.4 2.6 1.5-1.8 3.4-2.8 5.4-2.6 3.2.3 5.1 3.5 3.9 6.6-1.8 4.6-9.3 9.2-9.3 9.2z' fill='black'/%3E%3C/svg%3E");
}
body .jevibe-carousel .jevibe-related-wish a.ts-add-to-wishlist.loading:after{
	display: none;
}
body .jevibe-carousel .jevibe-related-wish a.ts-add-to-wishlist.loading{
	opacity: .5;
}
body .jevibe-carousel .jevibe-related-wish .button-tooltip{
	/* alleen voor schermlezers */
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
	opacity: 1;
	visibility: visible;
}

/* Minigalerij (bestaande Loobek-markup .ts-product-galleries, bestaande klik-JS) */
body .jevibe-carousel .jevibe-related-gallery{
	min-height: 42px; /* kaarten zonder galerij blijven op één lijn */
	padding: 6px 10px 0;
}
body .jevibe-carousel .jevibe-related-gallery .ts-product-galleries{
	display: flex;
	flex-wrap: nowrap;
	gap: 6px;
	margin: 0;
	overflow: hidden;
}
body .jevibe-carousel .jevibe-related-gallery .ts-product-galleries > div{
	flex: 0 1 36px;
	width: auto;
	min-width: 0;
	aspect-ratio: 1 / 1;
	margin: 0;
	padding: 2px;
	border: 1px solid var(--jvr-line);
	border-radius: 8px;
	background: #fff;
	cursor: pointer;
	overflow: hidden;
	transition: border-color .15s ease;
}
body .jevibe-carousel .jevibe-related-gallery .ts-product-galleries > div:hover{
	opacity: 1;
	border-color: #b9c6ea;
}
body .jevibe-carousel .jevibe-related-gallery .ts-product-galleries > div.active{
	border-color: var(--jvr-blue);
}
body .jevibe-carousel .jevibe-related-gallery .ts-product-galleries img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	color: transparent;
	font-size: 0;
}

/* Tekst */
body .jevibe-carousel .jevibe-related-body{
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	padding: 8px 12px 0;
	min-width: 0;
}
body .jevibe-carousel .jevibe-related-body .product-brands{
	margin: 0 0 2px;
	font-size: 12px;
	line-height: 1.4;
	color: var(--jvr-muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
body .jevibe-carousel .jevibe-related-body .product-brands a{
	color: inherit;
	text-decoration: none;
}
body .jevibe-carousel .jevibe-related-name{
	margin: 0 0 10px;
	padding: 0;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: 0;
	text-transform: none;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: calc(1.35em * 2);
}
body .jevibe-carousel .jevibe-related-name a{
	color: var(--jvr-text);
	text-decoration: none;
}
body .jevibe-carousel .jevibe-related-name a:hover{
	color: var(--jvr-blue);
}

/* Prijs + winkelwagen */
body .jevibe-carousel .jevibe-related-foot{
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 8px;
	margin-top: auto;
}
body .jevibe-carousel .jevibe-related-foot .price{
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	column-gap: 5px;
	row-gap: 0;
	min-width: 0;
	margin: 0;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--jvr-ink);
}
body .jevibe-carousel .jevibe-related-foot .price del{
	order: 2;
	font-size: 12px;
	font-weight: 400;
	color: var(--jvr-muted);
	opacity: 1;
}
body .jevibe-carousel .jevibe-related-foot .price ins{
	text-decoration: none;
	font-weight: 700;
}
body .jevibe-carousel .jevibe-related-foot .price small,
body .jevibe-carousel .jevibe-related-foot .price .woocommerce-price-suffix{
	font-size: 10px;
	font-weight: 400;
	color: var(--jvr-muted);
}
body .jevibe-carousel .jevibe-related-cart{
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	margin: 0;
	padding: 0;
	border-radius: 50%;
	background: var(--jvr-ink);
	color: #fff;
	text-decoration: none;
	transition: background-color .15s ease;
}
body .jevibe-carousel .jevibe-related-cart:hover,
body .jevibe-carousel .jevibe-related-cart:focus-visible{
	background: var(--jvr-blue);
	color: #fff;
}
body .jevibe-carousel .jevibe-related-cart:before,
body .jevibe-carousel .jevibe-related-cart:after{
	display: none;
}

/* Pijlen (desktop) en stippen (mobiel/tablet) */
body .jevibe-carousel .jevibe-related-nav{
	position: absolute;
	top: 38%;
	z-index: 4;
	width: 38px;
	height: 38px;
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 1px solid var(--jvr-line);
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 2px 6px rgba(15, 23, 42, .08);
	color: var(--jvr-ink);
	cursor: pointer;
	transform: translateY(-50%);
}
body .jevibe-carousel .jevibe-related-nav:before{
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 9px;
	height: 9px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
}
body .jevibe-carousel .jevibe-related-prev{ left: -10px; }
body .jevibe-carousel .jevibe-related-next{ right: -10px; }
body .jevibe-carousel .jevibe-related-prev:before{ transform: translate(-35%, -50%) rotate(-135deg); }
body .jevibe-carousel .jevibe-related-next:before{ transform: translate(-65%, -50%) rotate(45deg); }
body .jevibe-carousel .jevibe-related-nav:hover{ color: var(--jvr-blue); }
body .jevibe-carousel .jevibe-related-nav:disabled{ opacity: 0; pointer-events: none; }
body .jevibe-carousel .jevibe-related-nav[hidden]{ display: none; }

body .jevibe-carousel .jevibe-related-dots{
	display: flex;
	justify-content: center;
	gap: 6px;
	margin-top: 12px;
}
body .jevibe-carousel .jevibe-related-dots:empty{
	display: none;
}
body .jevibe-carousel .jevibe-related-dot{
	width: 6px;
	height: 6px;
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: #cfd8ec;
	cursor: pointer;
	transition: width .2s ease, background-color .2s ease;
}
body .jevibe-carousel .jevibe-related-dot.is-active{
	width: 16px;
	background: var(--jvr-blue);
}

/* Mobiel (A en B): twee kaarten precies en symmetrisch in beeld; verder swipen blijft mogelijk. */
@media (max-width: 599px){
	body .jevibe-carousel .jevibe-related-track{
		padding-left: 4px;
		padding-right: 4px;
		scroll-padding-left: 4px;
		scroll-padding-right: 4px;
	}
	body .jevibe-carousel .jevibe-related-track > .jevibe-related-card{
		flex-basis: calc((100% - var(--jvr-gap)) / 2);
	}
}

/* Tablet: 2,6 kaarten */
@media (min-width: 600px){
	body .jevibe-carousel{
		--jvr-per-view: 2.6;
		--jvr-gap: 14px;
	}
	body .jevibe-carousel{
		--jvr-pad: 22px;
		padding-top: 26px;
		padding-bottom: 22px;
	}
	body .jevibe-carousel .jevibe-related-title{ font-size: 24px; }
}

/* Desktop: 4 kaarten naast elkaar, pijlen als er meer zijn */
@media (min-width: 1024px){
	body .jevibe-carousel{
		--jvr-per-view: 4;
		--jvr-gap: 16px;
		margin-top: 40px;
	}
	body .jevibe-carousel{
		--jvr-pad: 28px;
		padding-top: 30px;
		padding-bottom: 26px;
	}
	body .jevibe-carousel .jevibe-related-track{
		margin: 0;
		padding: 2px 0 6px;
		scroll-padding: 0;
	}
	body .jevibe-carousel .jevibe-related-track > .jevibe-related-card{
		flex-basis: calc((100% - 3 * var(--jvr-gap)) / 4);
	}
	body .jevibe-carousel .jevibe-related-dots{
		display: none;
	}
	body .jevibe-carousel .jevibe-related-name{ font-size: 14px; }
	body .jevibe-carousel .jevibe-related-gallery .ts-product-galleries > div{ flex-basis: 40px; }
	body .jevibe-carousel .jevibe-related-gallery{ min-height: 46px; }
}
@media (max-width: 1023px){
	body .jevibe-carousel .jevibe-related-nav{ display: none; }
}

/* Desktop-spacing tussen tabs, A en B.
   Loobek zet op div.product en .related-up-sells-bestsellers een gap van 60px (<=1200px), 80px (1201-1560px)
   en 100px (>=1561px) (loobek/style.css). Onze eigen marges kwamen daar bovenop. Alleen als de wrapper onze
   carousels bevat: eigen marges eraf, gap tussen A en B 48px, en de gap boven de wrapper (na de tabs) zo
   gecompenseerd dat er overal ±48px tussen de tablijn en "Past ook bij jou" zit. */
@media (min-width: 1024px){
	body .jevibe-carousel{
		margin-top: 0;
		margin-bottom: 0;
	}
	body div.product .related-up-sells-bestsellers:has(> .jevibe-carousel){
		row-gap: 48px;
		margin-top: -12px; /* 60 - 48 */
	}
	/* B: kleinere verticale binnenmarge (wit, dus geen zichtbaar blok nodig) */
	body .jevibe-bestsellers{
		padding-top: 8px;
		padding-bottom: 0;
	}
}
@media (min-width: 1201px) and (max-width: 1560px){
	body div.product .related-up-sells-bestsellers:has(> .jevibe-carousel){
		margin-top: -32px; /* 80 - 48 */
	}
}
@media (min-width: 1561px){
	body div.product .related-up-sells-bestsellers:has(> .jevibe-carousel){
		margin-top: -52px; /* 100 - 48 */
	}
}

@media (prefers-reduced-motion: reduce){
	body .jevibe-carousel .jevibe-related-track{ scroll-behavior: auto; }
}

/* Mobile category-style cards inside Past ook bij jou. */
@media (max-width: 767px) {
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-track > .jevibe-related-card { padding: 5px 5px 10px; border-radius: 16px; }
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-media { background: #f5f6f8; border-radius: 12px; overflow: hidden; }
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-image figure { aspect-ratio: 1.3; padding: 4px; }
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-gallery,
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-cart,
 html body :is(.jevibe-related, .jevibe-bestsellers) .product-label { display: none !important; }
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-wish { top: 2px; right: 2px; }
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-wish .button-in,
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-wish a.ts-add-to-wishlist { background: transparent !important; border-color: transparent !important; box-shadow: none !important; }
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-body { padding: 8px 3px 0; }
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-name { font-size: 13px; font-weight: 700; line-height: 1.35; margin: 0 0 8px; min-height: 2.7em; }
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-name a { color: #101c35; }
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-foot { display: block; }
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-foot .price { display: block; font-family: inherit; color: #626e82; font-size: 14.5px; font-weight: 400; line-height: 1.4; }
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-foot .price .amount,
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-foot .price .amount bdi { font-family: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; color: inherit; }
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-foot .price .amount { white-space: nowrap; }
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-foot .price .amount::after { margin-left: 4px; color: #8490a3; font-size: 10px; font-weight: 400; }
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-foot[data-crp-advantage] { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 5px 6px; align-items: center; }
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-foot[data-crp-advantage] .price { display: contents; }
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-foot .price ins { grid-column: 1 / -1; grid-row: 1; order: 0; padding: 0; margin: 0; background: transparent; color: #101c35 !important; font-size: 14.5px; font-weight: 400; line-height: 1.4; text-decoration: none; white-space: nowrap; }
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-foot .price del { grid-column: 1; grid-row: 2; padding: 0; margin: 0; color: #8b95a5 !important; font-size: 10px; font-weight: 400; line-height: 1.4; text-decoration: line-through; white-space: nowrap; }
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-foot .price ins::before,
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-foot .price del::before,
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-foot .price del .amount::after { content: none !important; display: none !important; }
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-foot[data-crp-advantage]::after { content: attr(data-crp-advantage); grid-column: 2; grid-row: 2; justify-self: start; padding: 3px 4px; border-radius: 4px; background: #e3efdf; color: #185b3e; font-size: 9px; font-weight: 700; line-height: 1.4; white-space: nowrap; }
}
.crp-name-mobile { display: none; }
@media (max-width: 767px) {
 html body :is(.jevibe-related, .jevibe-bestsellers) .crp-name-full { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
 html body :is(.jevibe-related, .jevibe-bestsellers) .crp-name-mobile { display: block; }
 html body :is(.jevibe-related, .jevibe-bestsellers) .crp-name-model { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
 html body :is(.jevibe-related, .jevibe-bestsellers) .crp-name-color { display: block; color: #7a8495; font-weight: 400; font-size: 12.5px; }
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-name { -webkit-line-clamp: unset; display: block; }
}
@media (max-width: 767px) {
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-foot .price ins .amount,
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-foot .price ins .amount bdi { color: #101c35 !important; font-weight: 400 !important; }
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-image figure img { mix-blend-mode: multiply; }
}

/* JeVibe refresh: only the related-section background and typography. */
@font-face {
 font-family: 'JeVibe Related Manrope';
 src: url('fonts/manrope-latin-var.woff2') format('woff2');
 font-weight: 200 800;
 font-style: normal;
 font-display: swap;
}
html body :is(.jevibe-related, .jevibe-bestsellers) {
 background: #fff;
 border-color: transparent;
 font-family: 'JeVibe Related Manrope', Manrope, sans-serif;
}
html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-title,
html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-subtitle,
html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-name,
html body :is(.jevibe-related, .jevibe-bestsellers) .product-brands,
html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-foot .price {
 font-family: 'JeVibe Related Manrope', Manrope, sans-serif;
}
html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-title {
 color: #111c35;
 font-weight: 800;
 letter-spacing: -.035em;
 line-height: 1.25;
}
html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-subtitle {
 color: #69758a;
 font-weight: 400;
 line-height: 1.5;
 letter-spacing: 0;
}
html body :is(.jevibe-related, .jevibe-bestsellers) .product-brands {
 color: #69758a;
 font-size: 11px;
 font-weight: 500;
 letter-spacing: .08em;
 text-transform: uppercase;
}
html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-name {
 font-weight: 700;
 letter-spacing: -.015em;
}
html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-name a { color: #111c35; }
html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-name a:hover { color: #1849e8; }
html body :is(.jevibe-related, .jevibe-bestsellers) .crp-name-color {
 color: #69758a;
 font-weight: 400;
 letter-spacing: 0;
}
html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-foot .price,
html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-foot .price ins,
html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-foot .price ins .amount,
html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-foot .price ins .amount bdi {
 color: #111c35 !important;
 font-weight: 600 !important;
}
html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-foot .price small,
html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-foot .price .woocommerce-price-suffix {
 color: #69758a;
 font-size: 10px;
 font-weight: 400;
}

/* Compact white transition below the mobile product accordions. */
@media (max-width: 767px) {
 html body :is(.jevibe-related, .jevibe-bestsellers) {
  margin-top: 0;
  padding: 0 0 18px;
  border: 0;
  border-radius: 0;
  background: #fff;
 }
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-header {
  margin: 0 0 14px;
 }
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-title {
  font-size: 22px;
  line-height: 1.25;
 }
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-subtitle {
  margin-top: 4px;
  font-size: 13px;
 }
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-track {
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
  scroll-padding-left: 0;
  scroll-padding-right: 0;
 }
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-track > .jevibe-related-card {
  border-radius: 12px;
  border-color: #e1e5ec;
  box-shadow: none;
 }
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-body { padding-left: 7px; padding-right: 7px; }
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-media { background: #f7f7f7; }
}

/* Keep both mobile recommendations visually connected. */
@media (max-width: 767px) {
 html body div.product .related-up-sells-bestsellers:has(> .jevibe-carousel) {
  row-gap: 24px;
 }
 html body .jevibe-related {
  padding-bottom: 0;
  margin-bottom: 0;
 }
 html body .jevibe-bestsellers { margin-bottom: 0; }
}
/* Quiet recommendation headings, consistent with product information. */
html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-title {
 font-size: 20px;
 font-weight: 500;
 line-height: 1.4;
 letter-spacing: -.01em;
}
html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-subtitle {
 font-size: 13px;
 font-weight: 400;
 line-height: 1.5;
}
@media (max-width: 767px) {
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-title {
  font-size: 17px;
 }
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-subtitle {
  font-size: 12px;
 }
}

/* Neutral product tiles: no tinted backdrop in either recommendation section. */
html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-track > .jevibe-related-card,
html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-media,
html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-image,
html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-image figure {
 background: transparent;
}
html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-image figure img {
 mix-blend-mode: normal;
}

/* Match the mobile category price typography. */
@media (max-width: 767px) {
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-foot .price,
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-foot .price ins,
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-foot .price .amount,
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-foot .price .amount bdi {
  font-family: 'IBM Plex Sans', sans-serif;
  font-size: 14.5px;
  font-weight: 400 !important;
  color: #626e82 !important;
 }
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-foot .price del .amount,
 html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-foot .price del .amount bdi {
  font-size: 10px;
  color: #8b95a5 !important;
 }
}
/* Match the product accordion typography; retain swipe navigation without dots. */
html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-title {
 font-family:var(--loobek-main-font, 'IBM Plex Sans'),sans-serif;
 font-size:15px;
 font-weight:400;
 color:#000;
 letter-spacing:normal;
 text-transform:none;
 line-height:1.5;
}
html body :is(.jevibe-related, .jevibe-bestsellers) .jevibe-related-dots {
 display:none!important;
}
/* Mobile: 6px carousel track padding + 14px page padding = 20px to footer. */
@media(max-width:767px){
 html body.single-product .related-up-sells-bestsellers > .jevibe-carousel:last-child {
  padding-bottom:0;
  margin-bottom:0;
 }
 html body.single-product #main > .page-container:has(.related-up-sells-bestsellers > .jevibe-carousel:last-child) {
  padding-bottom:14px;
 }
}
