/* =========================================================================
   Golden Oasis — UX-laag (oktober 2026)
   Bovenop het ontwerp: leesbaarheid, formaten, contrast, mobiel.
   Kleuren en lettertypes komen uit het bestaande ontwerp.
   ========================================================================= */

:root {
	--go-ux-cream: #efecd9;
	--go-ux-cream-2: #f6f3e6;
	--go-ux-olive: #64674c;
	--go-ux-olive-dark: #4f523c;
	--go-ux-brown: #5a2f1d;
	--go-ux-text: #4b4d33;
	--go-ux-radius: 14px;
	--go-ux-header-offset: var(--wp-admin--admin-bar--height, 0px);
}

/* -------------------------------------------------------------------------
   1. Header: blijft in beeld, compacter na scrollen
   ------------------------------------------------------------------------- */
html body header.elementor-location-header {
	position: sticky;
	top: var(--go-ux-header-offset);
	z-index: 990 !important; /* onder Elementor-popups (menu) */
	background-color: var(--go-ux-cream);
	transition: box-shadow 0.3s ease;
}

body.go-scrolled header.elementor-location-header {
	box-shadow: 0 6px 24px rgba(90, 47, 29, 0.08);
}

/* Desktop-header (HTML-blok) */
.custom-header,
.custom-header .logo img {
	transition: padding 0.3s ease, height 0.3s ease;
}

body.go-scrolled .custom-header {
	padding-top: 8px !important;
	padding-bottom: 8px !important;
}

body.go-scrolled .custom-header .logo img {
	height: 46px !important;
}

/* Mobiele header: logo kleiner bij scrollen */
@media (max-width: 1024px) {
	header.elementor-location-header .elementor-widget-image img {
		transition: max-height 0.3s ease;
	}

	/* Expliciete hoogte: met alleen max-height klapt het SVG-logo in naar 0 */
	body.go-scrolled header.elementor-location-header .elementor-widget-image img {
		height: 48px !important;
		max-height: none !important;
		width: auto !important;
	}

	body.go-scrolled header.elementor-location-header > .e-con,
	body.go-scrolled header.elementor-location-header .e-con.e-parent {
		padding-top: 6px !important;
		padding-bottom: 6px !important;
	}
}

/* Grotere klikvlakken voor icoontjes */
.custom-header .icons .icon {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	min-height: 40px;
}

.custom-header .icons {
	gap: 6px !important;
}

header.elementor-location-header .elementor-widget-icon .elementor-icon {
	position: relative;
	padding: 8px;
	margin: -8px;
}

/* Teller op winkelwagen */
.go-cart-link {
	position: relative;
}

.go-cart-count {
	position: absolute;
	top: 2px;
	right: 0;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: 9px;
	background: var(--go-ux-olive);
	color: var(--go-ux-cream);
	font: 700 11px/18px Lato, sans-serif;
	letter-spacing: 0;
	text-align: center;
	box-sizing: border-box;
	pointer-events: none;
	animation: go-pop 0.35s ease;
}

.go-cart-count:empty,
.go-cart-count[data-count="0"] {
	display: none;
}

header.elementor-location-header .elementor-icon .go-cart-count {
	top: -2px;
	right: -4px;
}

@keyframes go-pop {
	0% { transform: scale(0.4); }
	70% { transform: scale(1.15); }
	100% { transform: scale(1); }
}

/* Toetsenbordfocus zichtbaar */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[role="button"]:focus-visible {
	outline: 2px solid var(--go-ux-olive) !important;
	outline-offset: 2px;
}

/* Zijwaarts scrollen voorkomen zonder de vaste header te breken
   ("hidden" op html/body maakt position: sticky onwerkzaam, "clip" niet) */
html:root,
html:root body {
	overflow-x: clip !important;
}

/* -------------------------------------------------------------------------
   2. Leesbaarheid algemeen
   ------------------------------------------------------------------------- */

/* Uitgevulde tekst gaf gaten tussen woorden; links uitlijnen */
.custom-product-tabs .tab-content,
.custom-product-tabs .tab-content p,
.custom-product-tabs .tab-content li,
.custom-product-accordion .accordion-body,
.custom-product-accordion .accordion-body p,
.custom-product-accordion .accordion-body li,
.hero-list-item,
.woocommerce-result-count {
	text-align: left !important;
}

/* Footer: iets groter en makkelijker te tikken */
#custom-footer .footer-links a {
	font-size: 15px !important;
	padding: 4px 0;
	opacity: 0.92 !important;
}

#custom-footer .footer-bottom,
#custom-footer .footer-vegan p {
	font-size: 14px !important;
}

/* Algemene WooCommerce-meldingen in huisstijl */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	background: var(--go-ux-cream-2) !important;
	color: var(--go-ux-text) !important;
	border: 0 !important;
	border-left: 4px solid var(--go-ux-olive) !important;
	border-radius: 12px !important;
	font-family: Lato, sans-serif !important;
	font-size: 15px !important;
	box-shadow: 0 6px 20px rgba(100, 103, 76, 0.08);
}

.woocommerce-error {
	border-left-color: #a3462d !important;
}

.woocommerce-message::before,
.woocommerce-info::before {
	color: var(--go-ux-olive) !important;
}

.woocommerce-message .button,
.woocommerce-info .button {
	background: var(--go-ux-olive) !important;
	color: var(--go-ux-cream) !important;
	border-radius: 999px !important;
	padding: 10px 20px !important;
	font-family: Lato, sans-serif !important;
	font-weight: 700 !important;
	font-size: 14px !important;
}

/* -------------------------------------------------------------------------
   3. Homepage
   ------------------------------------------------------------------------- */

/* Review-sterren: genoeg contrast op de lichte kaart */
.testimonial-stars {
	color: #977629 !important;
}

/* Knoppen met te weinig contrast */
.btn-video {
	background-color: #77634f !important;
	font-size: 15px !important;
}

.btn-video:hover {
	background-color: #5f4e3e !important;
}

.hero-banner .hero-btn {
	background-color: #93684a !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em;
}

.hero-banner .hero-btn:hover {
	background-color: #7a573d !important;
}

/* Categorie-tegels: titels gevuld i.p.v. alleen omlijnd → leesbaar op elke foto */
.category-item::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at center, rgba(40, 30, 20, 0.28) 0%, rgba(40, 30, 20, 0) 70%);
	pointer-events: none;
}

.category-item .category-title {
	z-index: 1;
	color: #f6efe0 !important;
	-webkit-text-stroke: 0 !important;
	text-shadow: 0 2px 14px rgba(30, 20, 10, 0.45) !important;
	white-space: normal !important;
}

/* "Onze selectie": prijs zoals in de shop */
.os-product-price,
.os-product-price .amount,
.os-product-price bdi {
	font-family: Lato, sans-serif !important;
	font-weight: 700 !important;
	font-size: 16px !important;
	letter-spacing: 0.02em !important;
	color: var(--go-price, #5d5d3c) !important;
}

.os-product-price del,
.os-product-price del .amount {
	opacity: 0.55;
	font-weight: 400 !important;
	margin-right: 0.4em;
}

.os-product-price ins {
	text-decoration: none;
}

@media (max-width: 767px) {
	/* Hero: "Shop nu" eerder in beeld */
	.hero-wrapper {
		padding-top: 12px !important;
	}

	.hero-image-container {
		height: 31vh !important;
	}

	.hero-image {
		max-height: 31vh !important;
	}

	.hero-text {
		padding: 26px 20px 28px !important;
	}

	.hero-text .logo-container {
		margin: 0 0 6px !important;
	}

	.hero-text .logo-image {
		width: 46% !important;
		margin-bottom: 14px !important;
	}

	.hero-subtitle {
		margin-bottom: 12px !important;
		width: auto !important;
		max-width: 300px;
	}

	.hero-list {
		display: grid !important;
		grid-template-columns: repeat(2, auto);
		column-gap: 14px;
		row-gap: 0;
		justify-content: center;
		margin: 4px 0 0 !important;
		font-size: 14px !important;
		line-height: 1.6 !important;
	}

	.hero-list-item {
		margin-bottom: 4px !important;
		padding-left: 20px !important;
		white-space: nowrap;
		letter-spacing: 0.4px !important;
	}

	.hero-list-item::before {
		top: 7px !important;
	}

	.hero-button {
		margin-top: 14px !important;
		padding: 14px 34px !important;
		font-size: 16px !important;
	}

	/* Categorieën in 2 kolommen: halve scrollafstand */
	.category-grid-section {
		padding: 32px 14px !important;
	}

	.category-container {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 12px !important;
	}

	.category-item {
		border-radius: 12px !important;
	}

	.category-title {
		font-size: 15px !important;
		letter-spacing: 2.5px !important;
	}
}

/* -------------------------------------------------------------------------
   4. Shop & categorieën
   ------------------------------------------------------------------------- */
.go-filters {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
	margin: 0 0 28px;
	font-family: Lato, sans-serif;
}

.go-filters__group {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.go-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 40px;
	padding: 8px 18px;
	border: 1px solid rgba(100, 103, 76, 0.35);
	border-radius: 999px;
	background: transparent;
	color: var(--go-ux-olive) !important;
	font-size: 15px;
	font-weight: 400;
	letter-spacing: 0.03em;
	line-height: 1.2;
	text-decoration: none !important;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
	white-space: nowrap;
	box-sizing: border-box;
}

.go-chip:hover {
	border-color: var(--go-ux-olive);
	background: rgba(100, 103, 76, 0.08);
}

.go-chip.is-active {
	background: var(--go-ux-olive);
	border-color: var(--go-ux-olive);
	color: var(--go-ux-cream) !important;
	font-weight: 700;
}

.go-chip__dot {
	width: 14px;
	height: 14px;
	border-radius: 50%;
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.15);
}

.go-chip--goud .go-chip__dot {
	background: #d4b36a;
}

.go-chip--zilver .go-chip__dot {
	background: #dcdad3;
}

.go-chip.is-active .go-chip__dot {
	box-shadow: 0 0 0 2px var(--go-ux-cream);
}

@media (max-width: 767px) {
	.go-filters {
		gap: 10px;
		margin-bottom: 20px;
	}

	/* Categorie-chips horizontaal scrollen i.p.v. 3 regels hoog */
	.go-filters__cats {
		flex-wrap: nowrap;
		overflow-x: auto;
		scrollbar-width: none;
		margin: 0 -16px;
		padding: 2px 16px;
		width: calc(100% + 32px);
		-webkit-overflow-scrolling: touch;
	}

	.go-filters__cats::-webkit-scrollbar {
		display: none;
	}

	.go-chip {
		min-height: 40px;
		padding: 8px 15px;
		font-size: 14px;
	}
}

/* Sorteren: in huisstijl i.p.v. standaard browserlijst */
.woocommerce-ordering select.orderby,
select.orderby {
	appearance: none;
	-webkit-appearance: none;
	min-height: 42px;
	padding: 8px 40px 8px 18px !important;
	border: 1px solid rgba(100, 103, 76, 0.35) !important;
	border-radius: 999px !important;
	background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364674c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") no-repeat right 14px center / 16px !important;
	color: var(--go-ux-olive) !important;
	font: 400 15px Lato, sans-serif !important;
	cursor: pointer;
}

.woocommerce-result-count {
	color: var(--go-ux-olive) !important;
	font-family: Lato, sans-serif !important;
	font-size: 14px !important;
	letter-spacing: 0.03em !important;
}

/* Aanbieding-label: leesbaar */
.woocommerce span.onsale,
span.onsale,
html body .elementor .elementor-element.elementor-widget span.onsale {
	min-width: 0 !important;
	min-height: 0 !important;
	padding: 6px 12px !important;
	border-radius: 999px !important;
	background: var(--go-ux-olive) !important;
	color: var(--go-ux-cream) !important;
	font: 700 11px/1.2 Lato, sans-serif !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase;
}

/* Paginering: grotere, ronde knoppen */
.woocommerce nav.woocommerce-pagination ul,
.woocommerce nav.woocommerce-pagination ul li {
	border: 0 !important;
}

.woocommerce nav.woocommerce-pagination ul {
	display: inline-flex;
	gap: 6px;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	min-width: 44px;
	height: 44px;
	padding: 0 8px !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	font: 400 15px Lato, sans-serif !important;
	color: var(--go-ux-olive) !important;
	background: transparent !important;
	box-sizing: border-box;
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
	background: rgba(100, 103, 76, 0.1) !important;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--go-ux-olive) !important;
	color: var(--go-ux-cream) !important;
	font-weight: 700 !important;
}

@media (max-width: 767px) {
	/* Producttitels op mobiel: minder letterafstand, minder rare afbrekingen */
	.woocommerce ul.products li.product .woocommerce-loop-product__title,
	.e-loop-item .elementor-heading-title {
		font-size: 14px !important;
		letter-spacing: 0.08em !important;
		line-height: 1.35 !important;
	}

	/* Shopbanner minder hoog: producten eerder in beeld */
	.shop-banner,
	.shop-banner__inner {
		min-height: 250px !important;
	}

	.shop-banner__box {
		min-height: 84px !important;
	}
}

/* -------------------------------------------------------------------------
   5. Productpagina
   ------------------------------------------------------------------------- */

/* Goud/zilver-bolletjes groter */
.go-metal-label {
	font-size: 15px !important;
}

.go-metal-dots {
	gap: 16px !important;
}

.go-metal-dot {
	width: 30px !important;
	height: 30px !important;
}

/* Aantal: grotere - en + */
form.cart .quantity .qty-minus,
form.cart .quantity .qty-plus {
	min-width: 36px;
	min-height: 40px;
	font-size: 22px !important;
	line-height: 1 !important;
	cursor: pointer;
}

form.cart .quantity input.qty {
	font-size: 16px !important;
}

.single_add_to_cart_button.loading {
	opacity: 0.7;
	pointer-events: none;
}

.single_add_to_cart_button.loading::after {
	content: "";
	display: inline-block;
	width: 14px;
	height: 14px;
	margin-left: 10px;
	vertical-align: -2px;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	animation: go-spin 0.7s linear infinite;
}

@keyframes go-spin {
	to { transform: rotate(360deg); }
}

/* Voordelen als echte tekst */
.go-usps {
	list-style: none;
	margin: 6px 0 0;
	padding: 0;
	display: grid;
	gap: 14px 18px;
	font-family: Lato, sans-serif;
}

.go-usp {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	color: var(--go-ux-olive);
	font-size: 15px;
	line-height: 1.3;
	letter-spacing: 0.03em;
}

.go-usp__icon {
	flex: 0 0 auto;
	width: 44px !important;
	height: 44px !important;
	max-width: none !important;
}

.go-usps--service {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: 4px;
}

.go-usps--service .go-usp {
	flex-direction: column;
	text-align: center;
	gap: 8px;
	font-size: 13.5px;
	font-weight: 700;
	letter-spacing: 0.04em;
}

.go-usps--service .go-usp__icon {
	width: 48px !important;
	height: 48px !important;
}

.go-usps--goodstuff {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-width: 520px;
}

@media (max-width: 767px) {
	.go-usps--service {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px 12px;
	}

	.go-usps--service .go-usp {
		flex-direction: row;
		text-align: left;
		font-size: 14px;
	}

	.go-usps--service .go-usp__icon {
		width: 40px !important;
		height: 40px !important;
	}

	.go-usps--goodstuff {
		gap: 12px;
	}

	.go-usp {
		font-size: 14px;
	}

	.go-usp__icon {
		width: 38px !important;
		height: 38px !important;
	}
}

/* "Style het met ethische sieraden": prijzen leesbaar */
.style-met-product .style-price,
.style-met-product .style-price .amount,
.style-met-product .style-price bdi {
	font-family: Lato, sans-serif !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	color: #4b4d33 !important;
	opacity: 1 !important;
}

.style-met-product .style-price del,
.style-met-product .style-price del .amount {
	font-weight: 400 !important;
	opacity: 0.6;
}

html body .style-met-product .style-name {
	color: #4b4d33 !important;
}

/* Tabkoppen (Beschrijving / Verzendinfo / FAQ): lichter goud voor contrast op olijfgroen */
html body .custom-product-tabs .tab-item,
html body .custom-product-accordion .accordion-header {
	color: #f3e2bf !important;
}

html body .custom-product-tabs .tab-item.active {
	color: #fff6e3 !important;
}

.go-style-het-line2 {
	color: #7f5f22 !important;
}

/* Vaste koopbalk op mobiel */
.go-buybar {
	display: none;
}

@media (max-width: 767px) {
	.go-buybar {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 980;
		display: flex;
		align-items: center;
		gap: 12px;
		padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
		background: var(--go-ux-cream);
		box-shadow: 0 -6px 24px rgba(90, 47, 29, 0.12);
		transform: translateY(110%);
		transition: transform 0.3s ease;
		font-family: Lato, sans-serif;
	}

	.go-buybar.is-visible {
		transform: translateY(0);
	}

	.go-buybar__info {
		flex: 1 1 auto;
		min-width: 0;
		display: flex;
		flex-direction: column;
	}

	.go-buybar__title {
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
		color: var(--go-ux-brown);
		font-size: 14px;
	}

	.go-buybar__price,
	.go-buybar__price .amount {
		color: var(--go-ux-text) !important;
		font-size: 15px !important;
		font-weight: 700 !important;
	}

	.go-buybar__price del {
		font-weight: 400;
		opacity: 0.55;
		font-size: 13px;
	}

	.go-buybar__price ins {
		text-decoration: none;
	}

	.go-buybar__btn {
		flex: 0 0 auto;
		min-height: 48px;
		padding: 0 22px !important;
		border: 0 !important;
		border-radius: 999px !important;
		background: var(--go-ux-olive) !important;
		color: var(--go-ux-cream) !important;
		font: 700 15px Lato, sans-serif !important;
		letter-spacing: 0.03em;
	}

	body.go-buybar-visible {
		padding-bottom: 72px;
	}
}

/* Melding na toevoegen */
.go-toast {
	position: fixed;
	right: 24px;
	top: 110px;
	z-index: 995;
	width: min(380px, calc(100vw - 32px));
	padding: 18px 20px 20px;
	border-radius: 18px;
	background: var(--go-ux-cream-2);
	box-shadow: 0 18px 48px rgba(90, 47, 29, 0.18);
	font-family: Lato, sans-serif;
	color: var(--go-ux-text);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-12px);
	transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
	box-sizing: border-box;
}

.go-toast.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.go-toast__close {
	position: absolute;
	top: 6px;
	right: 8px;
	width: 36px;
	height: 36px;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--go-ux-olive) !important;
	font-size: 24px !important;
	line-height: 1 !important;
	cursor: pointer;
}

.go-toast__body {
	display: flex;
	align-items: center;
	gap: 14px;
	padding-right: 28px;
}

.go-toast__img {
	width: 56px;
	height: 56px;
	border-radius: 10px;
	object-fit: cover;
}

.go-toast__text {
	margin: 0 !important;
	font-size: 14px;
	line-height: 1.4;
}

.go-toast__text strong {
	display: block;
	color: var(--go-ux-olive);
	font-size: 15px;
}

.go-toast__actions {
	display: flex;
	gap: 10px;
	margin-top: 16px;
}

.go-toast__continue,
.go-toast__cart {
	flex: 1 1 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 14px !important;
	border-radius: 999px !important;
	font: 700 14px Lato, sans-serif !important;
	letter-spacing: 0.02em;
	text-decoration: none !important;
	cursor: pointer;
	box-sizing: border-box;
}

.go-toast__continue {
	border: 1px solid rgba(100, 103, 76, 0.4) !important;
	background: transparent !important;
	color: var(--go-ux-olive) !important;
}

.go-toast__cart {
	border: 0 !important;
	background: var(--go-ux-olive) !important;
	color: var(--go-ux-cream) !important;
}

@media (max-width: 767px) {
	.go-toast {
		top: auto;
		right: 16px;
		bottom: 16px;
		transform: translateY(12px);
	}

	body.go-buybar-visible .go-toast {
		bottom: 84px;
	}
}

/* -------------------------------------------------------------------------
   6. Winkelwagen
   ------------------------------------------------------------------------- */
.woocommerce-cart .shipping-calculator-button,
.woocommerce-cart .woocommerce-shipping-calculator a {
	color: var(--go-ux-olive) !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

.woocommerce-cart .product-name a {
	font-family: Lato, sans-serif;
	font-weight: 700;
}

.woocommerce-cart .quantity input.qty {
	min-height: 44px;
	border-radius: 10px !important;
	border: 1px solid rgba(100, 103, 76, 0.3) !important;
	font-size: 16px !important;
	text-align: center;
}

.go-coupon-toggle {
	display: inline-block;
	margin: 0 0 4px;
	padding: 4px 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--go-ux-olive) !important;
	font: 700 15px Lato, sans-serif !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
	cursor: pointer;
}

.coupon.go-coupon-collapsed {
	display: none !important;
}

.coupon:not(.go-coupon-collapsed) {
	margin-top: 10px;
}

@media (max-width: 767px) {
	/* Los ":"-teken voor de productfoto weg */
	.woocommerce-cart table.shop_table_responsive tr td.product-thumbnail::before,
	.woocommerce-cart table.shop_table_responsive tr td.product-remove::before {
		display: none !important;
	}

	.woocommerce-cart td.product-thumbnail {
		display: flex !important;
		justify-content: flex-start;
	}

	/* Niet tegen de schermrand */
	.woocommerce-cart .e-cart__container {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	.woocommerce-cart .elementor-widget-heading .elementor-heading-title {
		padding-left: 16px;
		padding-right: 16px;
	}

	.woocommerce-cart .woocommerce-cart-form__contents,
	.woocommerce-cart .cart_totals {
		border-radius: 14px !important;
		overflow: hidden;
	}

	.go-coupon-toggle {
		margin: 14px 0 4px;
	}
}

/* -------------------------------------------------------------------------
   7. Afrekenen
   ------------------------------------------------------------------------- */

/* 16px voorkomt dat iPhones inzoomen bij elk veld */
html body .woocommerce-checkout input.input-text,
html body .woocommerce-checkout input[type="text"],
html body .woocommerce-checkout input[type="email"],
html body .woocommerce-checkout input[type="tel"],
html body .woocommerce-checkout textarea,
html body .woocommerce-checkout select,
html body .woocommerce-checkout .select2-selection__rendered,
html body .woocommerce-cart input.input-text {
	font-size: 16px !important;
}

.woocommerce-checkout input::placeholder,
.woocommerce-checkout textarea::placeholder {
	color: rgba(75, 77, 51, 0.5) !important;
}

/* Betaalmethodes: grotere keuzerondjes, ruimer klikvlak */
.woocommerce-checkout #payment ul.payment_methods {
	padding: 0 !important;
	border: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 0 0 8px !important;
	padding: 12px 14px !important;
	border: 1px solid rgba(100, 103, 76, 0.2);
	border-radius: 12px;
	background: #fcfcf9;
	list-style: none;
}

.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:has(input:checked) {
	border-color: var(--go-ux-olive);
	background: #fff;
}

.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] {
	width: 20px;
	height: 20px;
	margin: 0 !important;
	accent-color: var(--go-ux-olive);
	flex: 0 0 auto;
}

.woocommerce-checkout #payment ul.payment_methods li label {
	flex: 1 1 auto;
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin: 0 !important;
	font-size: 15px !important;
	cursor: pointer;
}

.woocommerce-checkout #payment ul.payment_methods li label img {
	max-height: 28px !important;
	width: auto !important;
	margin: 0 !important;
	float: none !important;
}

.woocommerce-checkout #payment div.payment_box {
	flex-basis: 100%;
	margin: 4px 0 0 !important;
	font-size: 14px;
}

.woocommerce-checkout #ship-to-different-address label {
	display: flex !important;
	align-items: center;
	gap: 10px;
	cursor: pointer;
}

.woocommerce-checkout #ship-to-different-address input[type="checkbox"],
.woocommerce-checkout .woocommerce-form__input-checkbox {
	width: 20px;
	height: 20px;
	accent-color: var(--go-ux-olive);
	flex: 0 0 auto;
}

.woocommerce-checkout #ship-to-different-address span {
	font-size: 20px !important;
	margin: 0 !important;
	letter-spacing: 0.06em;
}

.woocommerce-checkout .woocommerce-privacy-policy-text p {
	font-size: 13px;
	line-height: 1.5;
}

@media (max-width: 767px) {
	/* Minder dubbele randen: velden krijgen de breedte */
	.woocommerce-checkout .e-checkout__container,
	.woocommerce-checkout .e-checkout__column {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.woocommerce-checkout .e-checkout__column-start .e-checkout__column-inner,
	.woocommerce-checkout .e-checkout__column-start .e-checkout__customer-details,
	.woocommerce-checkout .e-checkout__column-start .woocommerce-billing-fields,
	.woocommerce-checkout .e-checkout__column-start .woocommerce-additional-fields {
		padding-left: 0 !important;
		padding-right: 0 !important;
		border: 0 !important;
		box-shadow: none !important;
	}

	html body form.woocommerce-checkout {
		padding: 0 !important;
	}

	html body .woocommerce-checkout #customer_details,
	html body .woocommerce-checkout #order_review {
		padding: 22px 18px !important;
	}

	/* Binnenste kader weg: velden krijgen de volle breedte */
	html body .woocommerce-checkout #customer_details .col-1,
	html body .woocommerce-checkout #customer_details .col-2 {
		padding: 0 !important;
		border: 0 !important;
		box-shadow: none !important;
		background: transparent !important;
	}

	html body .woocommerce-checkout #customer_details .col-2 {
		margin-top: 24px !important;
	}

	.woocommerce-checkout #ship-to-different-address span {
		font-size: 17px !important;
	}
}

/* -------------------------------------------------------------------------
   8. Blog, FAQ, maattabel
   ------------------------------------------------------------------------- */
.kb-card--has-image {
	overflow: hidden;
}

.kb-card-image {
	margin: -1px -1px 0;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	border-radius: inherit;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}

.kb-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}

.kb-card:hover .kb-card-image img {
	transform: scale(1.03);
}

/* FAQ: vraag-regels ruimer klikbaar */
.e-n-accordion-item-title {
	min-height: 48px;
}

/* =========================================================================
   9. Huisstijl-componenten: knoppen (overal gelijk)
   ========================================================================= */
.go-btn,
html body .woocommerce a.button,
html body .woocommerce button.button,
html body .woocommerce input.button,
html body .woocommerce .return-to-shop a.button,
html body .woocommerce-form-login__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 48px;
	padding: 12px 30px;
	border: 1px solid var(--go-ux-olive);
	border-radius: 999px;
	background: var(--go-ux-olive);
	color: var(--go-ux-cream);
	font: 700 15px/1.2 Lato, sans-serif;
	letter-spacing: 0.04em;
	text-decoration: none;
	text-transform: none;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
	box-sizing: border-box;
}

.go-btn:hover,
html body .woocommerce a.button:hover,
html body .woocommerce button.button:hover,
html body .woocommerce input.button:hover,
html body .woocommerce-form-login__submit:hover {
	background: var(--go-ux-olive-dark);
	border-color: var(--go-ux-olive-dark);
	color: #fff;
}

html body .woocommerce button.button:disabled,
html body .woocommerce button.button[disabled] {
	opacity: 0.45;
	cursor: not-allowed;
}

.go-btn--secondary {
	background: transparent;
	color: var(--go-ux-olive);
}

.go-btn--secondary:hover {
	background: rgba(100, 103, 76, 0.08);
	color: var(--go-ux-olive-dark);
}

/* =========================================================================
   10. Contentpagina's (verzending, garantie, verzorging, voorwaarden, ...)
   ========================================================================= */
.go-content-page .elementor-location-single,
.go-content-page main {
	padding-bottom: 72px;
}

.go-content-page .elementor-widget-text-editor,
.go-content-page .elementor-widget-heading,
.go-content-page .elementor-widget-nested-accordion,
.go-content-page .elementor-widget-image {
	width: 100%;
	max-width: 780px;
	margin-left: auto !important;
	margin-right: auto !important;
}

.go-content-page .elementor-widget-text-editor {
	color: var(--go-ux-text) !important;
	font-family: Lato, sans-serif !important;
	font-size: 16.5px !important;
	line-height: 1.75 !important;
	letter-spacing: 0.02em !important;
}

.go-content-page .elementor-widget-text-editor p,
.go-content-page .elementor-widget-text-editor li,
.go-content-page .elementor-widget-text-editor td {
	color: inherit !important;
	font-family: inherit !important;
	font-size: inherit !important;
	line-height: inherit !important;
}

.go-content-page .elementor-widget-text-editor span[style] {
	font-family: inherit !important;
	font-size: inherit !important;
	color: inherit !important;
}

.go-content-page .elementor-widget-text-editor p {
	margin: 0 0 1.1em !important;
}

/* Paginatitel */
.go-content-page .elementor-widget-text-editor h1 {
	margin: 56px 0 40px !important;
	font-family: "Karin-Custom", Karin, serif !important;
	font-size: clamp(32px, 5vw, 52px) !important;
	font-weight: 400 !important;
	line-height: 1.15 !important;
	letter-spacing: 0.12em !important;
	text-align: center;
	text-transform: uppercase;
	color: var(--go-ux-olive) !important;
}

.go-content-page .elementor-widget-text-editor h1 strong,
.go-content-page .elementor-widget-text-editor h1 span {
	font-weight: inherit !important;
	font-size: inherit !important;
	font-family: inherit !important;
	color: inherit !important;
}

.go-content-page .elementor-widget-text-editor h1::after {
	content: "✦";
	display: block;
	margin-top: 18px;
	font-family: Lato, sans-serif;
	font-size: 15px;
	letter-spacing: 0;
	color: var(--go-ochre, #c4a35a);
}

/* Tussenkopjes */
.go-content-page .elementor-widget-text-editor h2,
.go-content-page .elementor-widget-text-editor h3,
.go-content-page .elementor-widget-text-editor h4,
.go-content-page .elementor-widget-text-editor p.go-subhead {
	margin: 2.2em 0 0.6em !important;
	font-family: "Karin-Custom", Karin, serif !important;
	font-size: 20px !important;
	font-weight: 400 !important;
	line-height: 1.3 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase;
	color: var(--go-ux-olive) !important;
}

.go-content-page .elementor-widget-text-editor p.go-subhead strong,
.go-content-page .elementor-widget-text-editor p.go-subhead b,
.go-content-page .elementor-widget-text-editor h2 strong,
.go-content-page .elementor-widget-text-editor h3 strong {
	font-weight: inherit !important;
	color: inherit !important;
}

.go-content-page .elementor-widget-text-editor strong,
.go-content-page .elementor-widget-text-editor b {
	font-weight: 700;
	color: #3f412b;
}

/* Onderstrepen was nadruk, geen link: als nadruk tonen */
.go-content-page .elementor-widget-text-editor u {
	text-decoration: none;
	font-weight: 700;
}

.go-content-page .elementor-widget-text-editor a {
	color: var(--go-ux-olive) !important;
	font-weight: 700;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

/* Lijsten met een sterretje */
.go-content-page .elementor-widget-text-editor ul {
	margin: 0 0 1.4em !important;
	padding-left: 0 !important;
	list-style: none !important;
}

.go-content-page .elementor-widget-text-editor ul li {
	position: relative;
	margin: 0 0 0.45em !important;
	padding-left: 26px !important;
	list-style: none !important;
}

.go-content-page .elementor-widget-text-editor ul li::before {
	content: "✦";
	position: absolute;
	left: 2px;
	top: 0.1em;
	font-size: 12px;
	color: var(--go-ochre, #c4a35a);
}

.go-content-page .elementor-widget-text-editor ol {
	padding-left: 1.3em !important;
}

/* Tabellen (maattabel) */
.go-content-page .elementor-widget-text-editor table {
	width: 100%;
	margin: 1em 0 1.6em;
	border-collapse: collapse;
	border-radius: 14px;
	overflow: hidden;
	background: var(--go-ux-cream-2);
	color: var(--go-ux-text) !important;
	font-size: 15px;
}

.go-content-page .elementor-widget-text-editor th,
.go-content-page .elementor-widget-text-editor td {
	padding: 10px 14px !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(100, 103, 76, 0.15) !important;
	text-align: left;
}

.go-content-page .elementor-widget-text-editor th,
.go-content-page .elementor-widget-text-editor tr:first-child td {
	background: var(--go-ux-olive);
	color: var(--go-ux-cream) !important;
	font-weight: 700;
}

.go-content-page .elementor-widget-image img {
	border-radius: 16px;
}

/* FAQ: accordeon in huisstijl */
.go-content-page .elementor-widget-heading .elementor-heading-title {
	margin-top: 1.6em;
	font-size: 22px !important;
	letter-spacing: 0.12em !important;
}

.go-content-page .e-n-accordion-item {
	border: 0 !important;
	border-bottom: 1px solid rgba(100, 103, 76, 0.22) !important;
	background: transparent !important;
}

.go-content-page .e-n-accordion-item-title {
	padding: 18px 4px !important;
	border: 0 !important;
	background: transparent !important;
	gap: 16px;
}

.go-content-page .e-n-accordion-item-title-text {
	font-family: Lato, sans-serif !important;
	font-size: 16.5px !important;
	font-weight: 700 !important;
	letter-spacing: 0.02em !important;
	color: var(--go-ux-olive) !important;
}

.go-content-page .e-n-accordion-item-title-icon {
	order: 2;
	margin-left: auto;
	color: var(--go-ux-olive) !important;
	fill: var(--go-ux-olive) !important;
}

.go-content-page .e-n-accordion-item-title-icon svg {
	fill: var(--go-ux-olive) !important;
	width: 14px;
	height: 14px;
}

.go-content-page .e-n-accordion-item > [role="region"],
.go-content-page .e-n-accordion-item > .e-con {
	padding: 0 4px 20px !important;
	border: 0 !important;
	background: transparent !important;
}

@media (max-width: 767px) {
	.go-content-page .elementor-widget-text-editor h1 {
		margin: 32px 0 28px !important;
	}

	.go-content-page .elementor-widget-text-editor {
		font-size: 16px !important;
	}
}

/* =========================================================================
   11. Mijn account: inloggen
   ========================================================================= */
.woocommerce-account:not(.logged-in) .elementor-widget-woocommerce-my-account .woocommerce {
	max-width: 480px;
	margin-left: auto;
	margin-right: auto;
}

.woocommerce-account:not(.logged-in) .elementor-widget-woocommerce-my-account .woocommerce > h2,
.woocommerce-account .u-column1 > h2,
.woocommerce-account .u-column2 > h2 {
	margin: 56px 0 24px !important;
	font-family: "Karin-Custom", Karin, serif !important;
	font-size: clamp(30px, 4vw, 42px) !important;
	font-weight: 400 !important;
	letter-spacing: 0.12em !important;
	text-align: center;
	text-transform: uppercase;
	color: var(--go-ux-olive) !important;
}

html body .woocommerce form.woocommerce-form-login,
html body .woocommerce form.woocommerce-form-register,
html body .woocommerce form.lost_reset_password {
	margin: 0 0 64px !important;
	padding: 32px !important;
	border: 0 !important;
	border-radius: 18px !important;
	background: #fff !important;
	box-shadow: 0 12px 40px rgba(100, 103, 76, 0.06);
	font-family: Lato, sans-serif;
}

html body .woocommerce form.woocommerce-form-login label,
html body .woocommerce form.woocommerce-form-register label,
html body .woocommerce form.lost_reset_password label {
	display: block;
	margin-bottom: 8px;
	color: var(--go-ux-olive) !important;
	font: 700 14px Lato, sans-serif !important;
}

html body .woocommerce form.woocommerce-form-login input.input-text,
html body .woocommerce form.woocommerce-form-register input.input-text,
html body .woocommerce form.lost_reset_password input.input-text {
	min-height: 50px;
	padding: 12px 16px !important;
	border: 1px solid rgba(100, 103, 76, 0.25) !important;
	border-radius: 12px !important;
	background: #fcfcf9 !important;
	font: 400 16px Lato, sans-serif !important;
	color: #333 !important;
	box-shadow: none !important;
}

html body .woocommerce form.woocommerce-form-login .form-row {
	margin-bottom: 18px;
}

html body .woocommerce form.woocommerce-form-login .woocommerce-form-login__submit {
	width: 100%;
	margin: 6px 0 14px !important;
	float: none !important;
}

html body .woocommerce form.woocommerce-form-login .woocommerce-form-login__rememberme {
	display: inline-flex !important;
	align-items: center;
	gap: 10px;
	margin: 0 !important;
	font-weight: 400 !important;
	color: var(--go-ux-text) !important;
}

html body .woocommerce form.woocommerce-form-login input[type="checkbox"] {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: var(--go-ux-olive);
}

html body .woocommerce form.woocommerce-form-login .lost_password a {
	color: var(--go-ux-olive) !important;
	font-size: 14px;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

html body .woocommerce form.woocommerce-form-login .form-row:has(.woocommerce-form-login__submit) {
	display: flex;
	flex-direction: column-reverse;
	align-items: stretch;
}

/* Ingelogd: menu als nette lijst */
.woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 12px 18px;
	border-radius: 12px;
	color: var(--go-ux-olive) !important;
	font: 400 15px Lato, sans-serif;
	text-decoration: none !important;
}

.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover {
	background: rgba(100, 103, 76, 0.1);
	font-weight: 700;
}

/* =========================================================================
   12. 404
   ========================================================================= */
.go-404 {
	padding: 72px 20px 96px;
	text-align: center;
	font-family: Lato, sans-serif;
	color: var(--go-ux-text);
}

.go-404__inner {
	max-width: 640px;
	margin: 0 auto;
}

.go-404__eyebrow {
	margin: 0 0 12px;
	color: var(--go-ochre, #c4a35a);
	font-size: 14px;
	letter-spacing: 0.3em;
}

.go-404__title {
	margin: 0 0 18px;
	font-family: "Karin-Custom", Karin, serif;
	font-size: clamp(32px, 5vw, 50px);
	font-weight: 400;
	line-height: 1.15;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--go-ux-olive);
}

.go-404__text {
	margin: 0 auto 30px;
	max-width: 480px;
	font-size: 17px;
	line-height: 1.7;
}

.go-404__search {
	position: relative;
	max-width: 440px;
	margin: 0 auto 26px;
}

.go-404__search input[type="search"] {
	width: 100%;
	min-height: 54px;
	padding: 12px 120px 12px 22px !important;
	border: 2px solid var(--go-ux-olive) !important;
	border-radius: 999px !important;
	background: var(--go-ux-cream) !important;
	font: 400 16px Lato, sans-serif;
	color: var(--go-ux-brown);
	box-sizing: border-box;
}

.go-404__search button {
	position: absolute;
	top: 6px;
	right: 6px;
	bottom: 6px;
	padding: 0 22px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--go-ux-olive) !important;
	color: var(--go-ux-cream) !important;
	font: 700 14px Lato, sans-serif !important;
	cursor: pointer;
}

.go-404__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin-bottom: 32px;
}

.go-404__cats,
.go-empty-cart__cats {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
}

/* =========================================================================
   13. Lege winkelwagen & zoekresultaten
   ========================================================================= */
.woocommerce-cart .cart-empty.woocommerce-info {
	max-width: 560px;
	margin: 24px auto 20px !important;
	padding: 28px !important;
	border-left: 0 !important;
	text-align: center;
	font-size: 17px !important;
}

.woocommerce-cart .cart-empty.woocommerce-info::before {
	display: none !important;
}

.woocommerce-cart .return-to-shop {
	text-align: center;
	margin-bottom: 28px;
}

.go-empty-cart {
	max-width: 560px;
	margin: 0 auto 72px;
	text-align: center;
	font-family: Lato, sans-serif;
}

.go-empty-cart__title {
	margin: 0 0 14px !important;
	font-family: "Karin-Custom", Karin, serif;
	font-size: 20px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--go-ux-olive);
}

.go-search-head {
	margin: 0 0 22px;
}

.go-search-head__title {
	margin: 0 0 4px !important;
	font-family: "Karin-Custom", Karin, serif !important;
	font-size: clamp(24px, 3vw, 34px) !important;
	font-weight: 400 !important;
	letter-spacing: 0.08em !important;
	color: var(--go-ux-olive) !important;
}

.go-search-head__count {
	margin: 0 !important;
	color: var(--go-ux-text);
	font: 400 15px Lato, sans-serif;
}

/* Tussenkopjes iets steviger (Karin is dun op kleine maten) */
.go-content-page .elementor-widget-text-editor h2,
.go-content-page .elementor-widget-text-editor h3,
.go-content-page .elementor-widget-text-editor h4,
.go-content-page .elementor-widget-text-editor p.go-subhead,
.go-content-page .elementor-widget-heading .elementor-heading-title {
	color: var(--go-ux-olive-dark) !important;
	-webkit-text-stroke: 0.45px currentColor;
}

.go-content-page .elementor-widget-heading .elementor-heading-title {
	font-size: 21px !important;
}

/* Inloggen: winnen van de Elementor-widgetstijl */
html body .elementor .elementor-element.elementor-widget-woocommerce-my-account .woocommerce form.woocommerce-form-login {
	padding: 32px !important;
	border-radius: 18px !important;
	background: #fff !important;
	box-shadow: 0 12px 40px rgba(100, 103, 76, 0.06) !important;
}

html body .elementor .elementor-element.elementor-widget-woocommerce-my-account .woocommerce-form-login__submit {
	background: var(--go-ux-olive) !important;
	border: 1px solid var(--go-ux-olive) !important;
	border-radius: 999px !important;
	color: var(--go-ux-cream) !important;
	font: 700 15px/1.2 Lato, sans-serif !important;
	min-height: 50px;
}

html body .elementor .elementor-element.elementor-widget-woocommerce-my-account .woocommerce-form-login__submit:hover {
	background: var(--go-ux-olive-dark) !important;
}

html body .woocommerce form.woocommerce-form-login .woocommerce-form-login__rememberme {
	align-self: flex-start;
	justify-content: flex-start;
	width: auto !important;
}

html body .woocommerce form.woocommerce-form-login .woocommerce-form-login__rememberme span {
	order: 2;
}

html body .elementor .elementor-element.elementor-widget-woocommerce-my-account .woocommerce form input.input-text {
	min-height: 50px;
	padding: 12px 16px !important;
	border: 1px solid rgba(100, 103, 76, 0.28) !important;
	border-radius: 12px !important;
	background: #fcfcf9 !important;
	font: 400 16px Lato, sans-serif !important;
	color: #333 !important;
}

html body .elementor .elementor-element.elementor-widget-woocommerce-my-account .woocommerce form input.input-text:focus {
	border-color: var(--go-ux-olive) !important;
}

@media (max-width: 767px) {
	/* Ruimere zijmarge op mobiel */
	.go-content-page .elementor-widget-text-editor,
	.go-content-page .elementor-widget-heading,
	.go-content-page .elementor-widget-nested-accordion {
		padding-left: 10px !important;
		padding-right: 10px !important;
		box-sizing: border-box;
	}

	.woocommerce-cart .wc-empty-cart-message,
	.woocommerce-cart .return-to-shop,
	.woocommerce-cart .cart-empty.woocommerce-info,
	.go-empty-cart {
		margin-left: 16px !important;
		margin-right: 16px !important;
	}

	.woocommerce-cart .return-to-shop a.button {
		width: 100%;
	}
}

/* =========================================================================
   14. Homepage-hero op tabletbreedte (770–1199px)
   ========================================================================= */
@media (min-width: 769px) and (max-width: 1023px) {
	.hero-content-inner {
		flex-direction: column !important;
		flex-wrap: nowrap !important;
	}

	.hero-image-container {
		flex: none !important;
		width: 100% !important;
		max-width: 100% !important;
		height: 46vh !important;
		max-height: 460px;
		border-radius: 40px 40px 0 0 !important;
	}

	.hero-image {
		height: 100% !important;
		max-height: none !important;
	}

	.hero-text {
		flex: none !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 36px 48px 40px !important;
		border-radius: 0 0 40px 40px !important;
	}

	.hero-text .logo-container {
		margin: 0 0 4px !important;
	}

	.hero-text .logo-image {
		width: 32% !important;
		margin-bottom: 18px !important;
	}

	.hero-subtitle {
		width: auto !important;
		margin-bottom: 14px !important;
	}

	.hero-list {
		display: grid !important;
		grid-template-columns: repeat(3, auto);
		column-gap: 26px;
		justify-content: center;
		margin: 6px 0 18px !important;
	}

	.hero-list-item {
		white-space: nowrap;
	}
}

@media (min-width: 1024px) and (max-width: 1199px) {
	.hero-content-inner {
		flex-wrap: nowrap !important;
	}

	.hero-image-container {
		flex: 0 0 58% !important;
		max-width: 58% !important;
	}

	.hero-text {
		flex: 0 0 42% !important;
		max-width: 42% !important;
		padding: 40px 32px !important;
	}

	.hero-subtitle {
		width: auto !important;
		max-width: 320px;
	}
}

/* =========================================================================
   15. Categorie-intro, filters en SEO-tekst onder de producten
   ========================================================================= */
.go-archive-top {
	width: 100%;
	max-width: 1140px;
	margin: 0 auto;
	padding: 8px 20px 0;
	box-sizing: border-box;
}

.go-cat-intro {
	max-width: 720px;
	margin: 18px auto 28px;
	text-align: center;
	font-family: Lato, sans-serif;
}

.go-cat-intro__title {
	margin: 0 0 12px !important;
	font-family: "Karin-Custom", Karin, serif !important;
	font-size: clamp(26px, 3vw, 36px) !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase;
	color: var(--go-ux-olive) !important;
}

.go-cat-intro__text,
.go-cat-intro__text p {
	margin: 0 !important;
	color: var(--go-ux-text) !important;
	font-size: 16.5px !important;
	line-height: 1.7 !important;
	letter-spacing: 0.02em;
}

.go-cat-intro__more {
	display: none;
}

@media (max-width: 767px) {
	.go-archive-top {
		padding: 0 16px;
	}

	.go-cat-intro {
		margin: 6px auto 20px;
	}

	.go-cat-intro__text.is-clamped {
		display: -webkit-box;
		-webkit-line-clamp: 3;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}

	.go-cat-intro__text,
	.go-cat-intro__text p {
		font-size: 15.5px !important;
	}

	.go-cat-intro__more {
		display: inline-block;
		margin-top: 6px;
		padding: 4px 0 !important;
		border: 0 !important;
		background: transparent !important;
		color: var(--go-ux-olive) !important;
		font: 700 14px Lato, sans-serif !important;
		text-decoration: underline !important;
		text-underline-offset: 3px;
		cursor: pointer;
	}
}

.go-cat-seo {
	padding: 64px 20px 80px;
	background: var(--go-ux-cream-2);
	font-family: Lato, sans-serif;
	color: var(--go-ux-text);
}

.go-cat-seo__inner {
	max-width: 760px;
	margin: 0 auto;
}

.go-cat-seo h2 {
	margin: 2em 0 0.6em !important;
	font-family: "Karin-Custom", Karin, serif !important;
	font-size: clamp(21px, 2.2vw, 26px) !important;
	font-weight: 400 !important;
	line-height: 1.3 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase;
	color: var(--go-ux-olive-dark) !important;
	-webkit-text-stroke: 0.4px currentColor;
}

.go-cat-seo h2:first-child {
	margin-top: 0 !important;
}

.go-cat-seo p {
	margin: 0 0 1.1em !important;
	font-size: 16.5px !important;
	line-height: 1.75 !important;
	letter-spacing: 0.02em;
	color: var(--go-ux-text) !important;
}

.go-cat-seo a {
	color: var(--go-ux-olive) !important;
	font-weight: 700;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

@media (max-width: 767px) {
	.go-cat-seo {
		padding: 44px 20px 56px;
	}

	.go-cat-seo p {
		font-size: 16px !important;
	}
}

/* Homepage: korte SEO-sectie onder het merkblok */
.go-home-seo {
	max-width: 760px;
	margin: 8px auto 56px;
	padding: 0 20px;
	text-align: center;
	font-family: Lato, sans-serif;
}

.go-home-seo h2 {
	margin: 0 0 14px !important;
	font-family: "Karin-Custom", Karin, serif !important;
	font-size: clamp(22px, 2.6vw, 30px) !important;
	font-weight: 400 !important;
	line-height: 1.25 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase;
	color: #5a2f1d !important;
}

.go-home-seo p {
	max-width: none !important;
	margin: 0 0 12px !important;
	color: #5a2f1d !important;
	font-size: 16px !important;
	line-height: 1.75 !important;
	letter-spacing: 0.02em !important;
	text-align: center !important;
}

.go-home-seo a {
	color: #5a2f1d !important;
	font-weight: 700;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

/* Homepage "Huidvriendelijke sieraden": op tablet/laptop past de vaste 180px-ruimte niet */
@media (min-width: 769px) and (max-width: 1199px) {
	.huidvriendelijk-section {
		gap: 48px !important;
		padding: 80px 6vw !important;
	}

	.huid-text-content {
		flex: 1 1 0;
		min-width: 0;
	}

	.huid-image-container {
		flex: 0 1 44% !important;
		min-width: 0;
	}
}

/* Over ons: Bali-blok op tablet/kleine laptop niet tegen de rand */
@media (min-width: 769px) and (max-width: 1240px) {
	.page-id-4587 .elementor-element-798c672 > .e-con-inner {
		padding-left: 40px !important;
		padding-right: 40px !important;
		box-sizing: border-box;
	}

	.page-id-4587 .image-stack {
		max-width: calc(100% - 70px);
	}
}

/* Homepage: draaiend logo naast de hero blijft binnen beeld */
@media (min-width: 1200px) {
	.rotating-image-container {
		left: max(-60px, calc(44px - 5vw)) !important;
	}
}

/* Lange productnamen: netjes afbreken met koppelteken i.p.v. midden in een woord */
.e-loop-item .elementor-heading-title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.style-met-product .style-name,
.os-product-name {
	overflow-wrap: normal !important;
	word-break: normal !important;
	hyphens: auto;
	-webkit-hyphens: auto;
}

@media (max-width: 767px) {
	.e-loop-item .elementor-heading-title,
	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		letter-spacing: 0.05em !important;
	}
}

/* Vangnet: kolommen nooit breder dan het scherm; eerst afbreken met koppelteken, anders toch breken */
.elementor-loop-container > .e-loop-item,
.elementor-grid > .e-loop-item,
.woocommerce ul.products li.product {
	min-width: 0;
}

.e-loop-item .elementor-heading-title,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	overflow-wrap: anywhere !important;
}

@media (max-width: 767px) {
	.e-loop-item .elementor-heading-title,
	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		font-size: 12.5px !important;
		letter-spacing: 0.04em !important;
	}
}

/* =========================================================================
   17. Categorieën: rij met boogfoto op hetzelfde 3-koloms raster als de producten
   (foto over kolom 1–2, product in kolom 3, bovenkanten gelijk)
   ========================================================================= */
@media (min-width: 1025px) {
	.elementor-element-cbbb6b8 > .e-con-inner,
	.elementor-element-45172b10 > .e-con-inner,
	.elementor-element-2bd2d85 > .e-con-inner,
	.elementor-element-505fd4ee > .e-con-inner,
	.elementor-element-67597050 > .e-con-inner {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		column-gap: 30px;
		align-items: start;
		padding: 0 1.5vw !important;
		margin-top: 30px;
		margin-bottom: 30px;
		box-sizing: border-box;
	}

	/* Foto-kolom */
	.elementor-element-5938f67,
	.elementor-element-45f591a4,
	.elementor-element-31561ad9,
	.elementor-element-330fa7da,
	.elementor-element-257bedd0 {
		grid-column: 1 / span 2;
		width: auto !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
		align-items: center !important;
		justify-content: flex-start !important;
	}

	/* Product-kolom */
	.elementor-element-67154a3,
	.elementor-element-7c00b068,
	.elementor-element-1582ab2,
	.elementor-element-41daedc4,
	.elementor-element-2ef7a316 {
		grid-column: 3;
		width: auto !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.elementor-element-67154a3 .elementor-loop-container,
	.elementor-element-7c00b068 .elementor-loop-container,
	.elementor-element-1582ab2 .elementor-loop-container,
	.elementor-element-41daedc4 .elementor-loop-container,
	.elementor-element-2ef7a316 .elementor-loop-container {
		grid-template-columns: minmax(0, 1fr) !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	.elementor-element-67154a3 .elementor-widget,
	.elementor-element-7c00b068 .elementor-widget-loop-grid,
	.elementor-element-1582ab2 .elementor-widget-loop-grid,
	.elementor-element-41daedc4 .elementor-widget-loop-grid,
	.elementor-element-2ef7a316 .elementor-widget-loop-grid {
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
	}

	/* De boogfoto zelf: gecentreerd in kolom 1–2, even hoog als een productkaart */
	.elementor-element-5938f67 img,
	.elementor-element-45f591a4 img,
	.elementor-element-31561ad9 img,
	.elementor-element-330fa7da img,
	.elementor-element-257bedd0 img {
		display: block;
		margin: 0 auto !important;
	}

	.elementor-element-5938f67 > .elementor-widget,
	.elementor-element-45f591a4 > .elementor-widget,
	.elementor-element-31561ad9 > .elementor-widget,
	.elementor-element-330fa7da > .elementor-widget,
	.elementor-element-257bedd0 > .elementor-widget {
		width: 100% !important;
		margin: 0 !important;
		text-align: center;
	}
}

/* =========================================================================
   18. Productkaart: lege ruimte boven de foto weg, "Uitverkocht" netjes in de foto
   ========================================================================= */
/* Het stijlblok in de kaart nam een eigen rij (en tussenruimte) in. Styles blijven gewoon werken. */
.e-loop-item .elementor-element-579e195 {
	display: none !important;
}

html body .e-loop-item .elementor-widget-woocommerce-product-stock {
	top: 22px !important;
	left: 22px !important;
}

html body .e-loop-item .elementor-widget-woocommerce-product-stock .stock.out-of-stock {
	padding: 6px 12px !important;
	font: 700 11px/1.2 Lato, sans-serif !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	box-shadow: none !important;
	background: var(--go-ux-olive) !important;
	color: var(--go-ux-cream) !important;
}

/* Klassiek productraster (shop): zelfde label */
.go-uitverkocht-badge {
	top: 12px !important;
	left: 12px !important;
	right: auto !important;
	padding: 6px 12px !important;
	border-radius: 999px !important;
	background: var(--go-ux-olive) !important;
	color: var(--go-ux-cream) !important;
	font: 700 11px/1.2 Lato, sans-serif !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase;
}

/* =========================================================================
   19. Blogartikel
   ========================================================================= */
.go-article {
	max-width: none;
	padding: 0 0 40px;
	font-family: Lato, sans-serif;
	color: var(--go-ux-text);
}

.go-article__head {
	max-width: 760px;
	margin: 0 auto;
	padding: 48px 20px 8px;
	text-align: center;
}

.go-article__crumbs {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px 10px;
	margin: 0 0 18px;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--go-ux-olive);
}

.go-article__crumbs a {
	color: var(--go-ux-olive) !important;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.go-article__crumbs span[aria-hidden] {
	color: var(--go-ochre, #c4a35a);
	font-size: 10px;
	letter-spacing: 0;
	line-height: 1.6;
}

.go-article__title {
	margin: 0 0 18px;
	font-family: "Karin-Custom", Karin, serif;
	font-size: clamp(30px, 4.2vw, 46px);
	font-weight: 400;
	line-height: 1.18;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--go-ux-olive);
}

.go-article__lead {
	max-width: 620px;
	margin: 0 auto 30px;
	font-size: 18px;
	line-height: 1.7;
	color: var(--go-ux-text);
}

.go-article__hero {
	margin: 10px auto 0;
	max-width: 960px;
}

.go-article__hero img {
	width: 100%;
	height: auto;
	max-height: 520px;
	object-fit: cover;
	border-radius: 220px 220px 22px 22px;
}

/* Leeskolom: tekst smal, beeld iets breder */
.go-article__body {
	padding: 24px 20px 0;
}

.go-article__body > p,
.go-article__body > h2,
.go-article__body > h3,
.go-article__body > ul,
.go-article__body > ol,
.go-article__body > table,
.go-article__body .elementor-widget-text-editor,
.go-article__body .elementor-widget-heading,
.go-article__body .elementor-widget-shortcode,
.go-article__body .elementor-widget-icon-list {
	max-width: 720px;
	margin-left: auto !important;
	margin-right: auto !important;
	width: 100%;
}

.go-article__body .elementor-widget-image {
	max-width: 960px;
	margin-left: auto !important;
	margin-right: auto !important;
}

.go-article__body .elementor-widget-image img {
	border-radius: 18px;
}

.go-article__body .e-con-inner .e-con .elementor-widget-image img {
	width: 100%;
	height: auto;
}

/* Typografie in de artikeltekst */
.go-article__body p,
.go-article__body li,
.go-article__body .elementor-widget-text-editor {
	font-family: Lato, sans-serif !important;
	font-size: 17px !important;
	line-height: 1.8 !important;
	letter-spacing: 0.015em !important;
	color: var(--go-ux-text) !important;
}

.go-article__body .elementor-widget-text-editor span[style] {
	font-size: inherit !important;
	font-family: inherit !important;
	color: inherit !important;
}

.go-article__body p {
	margin: 0 0 1.15em !important;
}

.go-article__body strong,
.go-article__body b {
	color: #3f412b !important;
	font-weight: 700;
}

.go-article__body a {
	color: var(--go-ux-olive) !important;
	font-weight: 700;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

/* Knoppen in de tekst houden hun eigen knopkleuren (niet de tekstlinkstijl) */
.go-article__body a.go-btn,
.go-cat-seo a.go-btn {
	color: var(--go-ux-cream) !important;
	text-decoration: none !important;
}

.go-article__body a.go-btn:hover,
.go-cat-seo a.go-btn:hover {
	color: #fff !important;
}

.go-article__body a.go-btn--secondary,
.go-cat-seo a.go-btn--secondary {
	color: var(--go-ux-olive) !important;
}

.go-article__body a.go-btn--secondary:hover,
.go-cat-seo a.go-btn--secondary:hover {
	color: var(--go-ux-olive-dark) !important;
}

/* Titel in de Elementor-artikelen */
.go-article__body h1,
.go-article__body h1.elementor-heading-title {
	margin: 0 0 22px !important;
	font-family: "Karin-Custom", Karin, serif !important;
	font-size: clamp(30px, 4.2vw, 46px) !important;
	font-weight: 400 !important;
	line-height: 1.18 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase;
	text-align: center !important;
	color: var(--go-ux-olive) !important;
	-webkit-text-stroke: 0 !important;
}

.go-article__body h2,
.go-article__body h3,
.go-article__body h2.elementor-heading-title,
.go-article__body h3.elementor-heading-title {
	margin: 1.8em 0 0.55em !important;
	font-family: "Karin-Custom", Karin, serif !important;
	font-size: clamp(21px, 2.3vw, 26px) !important;
	font-weight: 400 !important;
	line-height: 1.3 !important;
	letter-spacing: 0.07em !important;
	text-transform: uppercase;
	text-align: left !important;
	color: var(--go-ux-olive-dark) !important;
	-webkit-text-stroke: 0.4px currentColor;
}

.go-article__body h3,
.go-article__body h3.elementor-heading-title {
	font-size: 19px !important;
}

.go-article__body .elementor-widget-heading .elementor-heading-title strong {
	font-weight: inherit !important;
}

.go-article__body ul {
	padding-left: 0 !important;
	list-style: none !important;
}

.go-article__body ul li {
	position: relative;
	margin: 0 0 0.45em !important;
	padding-left: 26px !important;
	list-style: none !important;
}

.go-article__body ul li::before {
	content: "✦";
	position: absolute;
	left: 2px;
	top: 0.15em;
	font-size: 12px;
	color: var(--go-ochre, #c4a35a);
}

.go-article__body figcaption,
.go-article__body .widget-image-caption {
	margin-top: 10px !important;
	font-size: 14px !important;
	font-style: italic;
	color: rgba(75, 77, 51, 0.8) !important;
	text-align: center;
}

.go-article__body table {
	width: 100%;
	margin: 1.2em auto 1.6em !important;
	border-collapse: collapse;
	border-radius: 14px;
	overflow: hidden;
	background: var(--go-ux-cream-2);
	font-size: 15.5px;
}

.go-article__body th,
.go-article__body td {
	padding: 12px 14px;
	border: 0;
	border-bottom: 1px solid rgba(100, 103, 76, 0.15);
	text-align: left;
	vertical-align: top;
	font-size: 15.5px !important;
	line-height: 1.5 !important;
}

.go-article__body th {
	background: var(--go-ux-olive);
	color: var(--go-ux-cream) !important;
}

.go-blog-cta {
	margin-top: 1.6em !important;
	padding: 16px 20px !important;
	border-left: 3px solid var(--go-ochre, #c4a35a);
	border-radius: 0 12px 12px 0;
	background: var(--go-ux-cream-2);
}

/* Afsluitend blok */
.go-article__cta {
	max-width: 760px;
	margin: 64px auto 0;
	padding: 40px 32px 44px;
	border-radius: 220px 220px 24px 24px;
	background: var(--go-ux-olive);
	color: var(--go-ux-cream);
	text-align: center;
}

.go-article__cta-eyebrow {
	margin: 0 0 6px !important;
	color: var(--go-ochre, #c4a35a);
	font-size: 16px;
}

.go-article__cta-title {
	margin: 0 0 10px !important;
	font-family: "Karin-Custom", Karin, serif;
	font-size: clamp(22px, 2.6vw, 30px);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--go-ux-cream);
}

.go-article__cta-text {
	max-width: 480px;
	margin: 0 auto 22px !important;
	font-size: 16px;
	line-height: 1.7;
	color: rgba(239, 236, 217, 0.92);
}

.go-article__cta-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
}

.go-article__cta .go-btn--primary {
	background: var(--go-ux-cream);
	border-color: var(--go-ux-cream);
	color: var(--go-ux-olive);
}

.go-article__cta .go-btn--primary:hover {
	background: #fff;
	color: var(--go-ux-olive-dark);
}

.go-article__cta .go-btn--secondary {
	border-color: rgba(239, 236, 217, 0.6);
	color: var(--go-ux-cream);
}

.go-article__cta .go-btn--secondary:hover {
	background: rgba(239, 236, 217, 0.12);
	color: #fff;
}

.go-article__related {
	max-width: 1140px;
	margin: 72px auto 0;
	padding: 0 20px;
}

.go-article__related-title {
	margin: 0 0 28px !important;
	font-family: "Karin-Custom", Karin, serif !important;
	font-size: clamp(24px, 2.8vw, 32px) !important;
	font-weight: 400 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase;
	text-align: center;
	color: var(--go-ux-olive) !important;
}

@media (max-width: 767px) {
	.go-article__head {
		padding-top: 28px;
	}

	.go-article__hero img {
		border-radius: 140px 140px 18px 18px;
		max-height: 360px;
	}

	.go-article__body p,
	.go-article__body li,
	.go-article__body .elementor-widget-text-editor {
		font-size: 16.5px !important;
	}

	.go-article__cta {
		margin: 48px 16px 0;
		padding: 32px 22px 36px;
		border-radius: 140px 140px 20px 20px;
	}
}

/* =========================================================================
   20. Blogkaarten (overzicht + "Meer lezen")
   ========================================================================= */
html body .kb-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
}

html body .kb-card {
	display: flex !important;
	flex-direction: column;
	overflow: hidden;
	border: 0 !important;
	border-radius: 20px !important;
	background: #fbf9f1 !important;
	box-shadow: 0 10px 30px rgba(90, 47, 29, 0.06) !important;
	text-decoration: none !important;
	transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

html body .kb-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 40px rgba(90, 47, 29, 0.1) !important;
}

html body .kb-card .kb-card-image {
	margin: 0;
	aspect-ratio: 4 / 3;
	border-radius: 0;
}

html body .kb-card .kb-card-content {
	padding: 22px 24px 26px !important;
}

html body .kb-card .kb-card-eyebrow {
	margin: 0 0 10px !important;
	font: 700 11.5px/1.3 Lato, sans-serif !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase;
	color: var(--go-ochre, #a8842f) !important;
}

html body .kb-card h3,
html body .kb-card .kb-title-inner {
	margin: 0 0 10px !important;
	font-family: "Karin-Custom", Karin, serif !important;
	font-size: 19px !important;
	font-weight: 400 !important;
	line-height: 1.35 !important;
	letter-spacing: 0.05em !important;
	text-transform: uppercase;
	color: var(--go-ux-olive-dark) !important;
	-webkit-text-stroke: 0.3px currentColor;
}

html body .kb-card p.kb-body-inner {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin: 0 0 16px !important;
	font: 400 15px/1.65 Lato, sans-serif !important;
	color: var(--go-ux-text) !important;
}

html body .kb-card .kb-readmore-text {
	font: 700 13px Lato, sans-serif !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase;
	color: var(--go-ux-olive) !important;
}

html body .kb-card .kb-readmore-text::after {
	background: var(--go-ux-olive) !important;
}

html body .kb-card-meta {
	display: none !important;
}

html body #kb-search-input {
	min-height: 54px;
	border: 1px solid rgba(100, 103, 76, 0.3) !important;
	border-radius: 999px !important;
	background: #fbf9f1 !important;
	font: 400 16px Lato, sans-serif !important;
	color: var(--go-ux-text) !important;
}

html body #kb-no-results {
	font-family: Lato, sans-serif !important;
}

@media (max-width: 1024px) {
	html body .kb-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	html body .kb-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
	}
}

@media (min-width: 1025px) {
	/* Productkaart naast de boog: bovenkant gelijk met de foto */
	.elementor-element-67154a3,
	.elementor-element-7c00b068,
	.elementor-element-1582ab2,
	.elementor-element-41daedc4,
	.elementor-element-2ef7a316 {
		justify-content: flex-start !important;
		align-self: start !important;
	}

	.elementor-element-5938f67,
	.elementor-element-45f591a4,
	.elementor-element-31561ad9,
	.elementor-element-330fa7da,
	.elementor-element-257bedd0 {
		justify-content: flex-start !important;
		align-self: start !important;
	}
}

@media (min-width: 1025px) {
	/* Boog even hoog als de productkaart ernaast */
	.elementor-element-45f591a4 .oasis-arch-wrapper,
	.elementor-element-31561ad9 .oasis-arch-wrapper,
	.elementor-element-330fa7da .oasis-arch-wrapper,
	.elementor-element-257bedd0 .oasis-arch-wrapper {
		max-width: 430px !important;
		margin: 0 auto !important;
	}

	.elementor-element-5938f67 img {
		width: auto !important;
		max-width: 100% !important;
		height: auto !important;
		max-height: 500px;
	}
}

html body .e-loop-item .elementor-widget-woocommerce-product-stock {
	top: 28px !important;
}

/* Rijen met twee producten (charms, pendants, ringen, oorbellen):
   boog in kolom 1 (zelfde hoogte als de kaarten), producten in kolom 2 en 3 */
@media (min-width: 1025px) {
	.elementor-element-45172b10 > .e-con-inner,
	.elementor-element-2bd2d85 > .e-con-inner,
	.elementor-element-505fd4ee > .e-con-inner,
	.elementor-element-67597050 > .e-con-inner {
		align-items: stretch !important;
	}

	.elementor-element-45f591a4,
	.elementor-element-31561ad9,
	.elementor-element-330fa7da,
	.elementor-element-257bedd0 {
		grid-column: 1 / span 1 !important;
		align-self: stretch !important;
		height: auto !important;
	}

	.elementor-element-45f591a4 > .elementor-widget,
	.elementor-element-31561ad9 > .elementor-widget,
	.elementor-element-330fa7da > .elementor-widget,
	.elementor-element-257bedd0 > .elementor-widget,
	.elementor-element-45f591a4 .elementor-widget-container,
	.elementor-element-31561ad9 .elementor-widget-container,
	.elementor-element-330fa7da .elementor-widget-container,
	.elementor-element-257bedd0 .elementor-widget-container {
		height: 100% !important;
	}

	.elementor-element-45f591a4 .oasis-arch-wrapper,
	.elementor-element-31561ad9 .oasis-arch-wrapper,
	.elementor-element-330fa7da .oasis-arch-wrapper,
	.elementor-element-257bedd0 .oasis-arch-wrapper {
		width: 100% !important;
		max-width: none !important;
		height: 100% !important;
		margin: 0 !important;
		border-radius: 1000px 1000px 18px 18px !important;
	}

	.elementor-element-45f591a4 .oasis-arch-img,
	.elementor-element-31561ad9 .oasis-arch-img,
	.elementor-element-330fa7da .oasis-arch-img,
	.elementor-element-257bedd0 .oasis-arch-img {
		height: 100% !important;
		aspect-ratio: auto !important;
	}

	.elementor-element-7c00b068,
	.elementor-element-1582ab2,
	.elementor-element-41daedc4,
	.elementor-element-2ef7a316 {
		grid-column: 2 / span 2 !important;
	}

	.elementor-element-7c00b068 .elementor-loop-container,
	.elementor-element-1582ab2 .elementor-loop-container,
	.elementor-element-41daedc4 .elementor-loop-container,
	.elementor-element-2ef7a316 .elementor-loop-container {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		column-gap: 30px !important;
		row-gap: 30px !important;
	}
}

/* Blogoverzicht op mobiel/tablet: ruimere zijmarge */
@media (max-width: 1024px) {
	body.blog .elementor-location-archive .e-con {
		--padding-left: 20px;
		--padding-right: 20px;
	}

	body.blog .elementor-location-archive .e-con.e-parent {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
}

/* =========================================================================
   21. Eigen productoverzicht (shop, categorieën, zoeken)
   Eén raster, één kaart, vaste maten.
   ========================================================================= */
:root {
	--go-shop-width: 1188px; /* 1140px inhoud = zelfde breedte als de banner */
	--go-shop-gutter: 24px;
}

.go-archive-top,
.go-shop {
	width: 100%;
	max-width: var(--go-shop-width);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--go-shop-gutter);
	padding-right: var(--go-shop-gutter);
	box-sizing: border-box;
}

.go-archive-top {
	padding-top: 40px;
}

.go-cat-intro {
	max-width: 640px;
	margin: 0 auto 32px;
}

.go-cat-intro__title {
	margin-bottom: 14px !important;
	font-size: clamp(26px, 2.6vw, 34px) !important;
}

.go-cat-intro__text,
.go-cat-intro__text p {
	font-size: 16px !important;
	line-height: 1.75 !important;
}

.go-archive-top .go-filters {
	margin-bottom: 0;
	padding-bottom: 20px;
	border-bottom: 1px solid rgba(100, 103, 76, 0.16);
}

.go-search-head {
	text-align: center;
	margin-bottom: 28px;
}

/* Balk met aantal + sorteren */
.go-shop__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin: 18px 0 30px;
}

.go-shop__bar .woocommerce-result-count {
	margin: 0 !important;
	float: none !important;
	font: 700 12px/1.4 Lato, sans-serif !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase;
	color: rgba(75, 77, 51, 0.75) !important;
}

.go-shop__bar .woocommerce-ordering {
	margin: 0 !important;
	float: none !important;
}

.go-shop__bar select.orderby {
	min-height: 40px;
	font-size: 14px !important;
}

/* Raster */
.go-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 56px 28px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

/* Kaart */
.go-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.go-card__media {
	position: relative;
	display: block;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 16px;
	background: #2f3a26;
}

.go-card__img {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	border-radius: 0 !important;
	transition: opacity 0.45s ease, transform 0.6s ease;
}

.go-card__img--hover {
	opacity: 0;
}

@media (hover: hover) {
	.go-card:hover .go-card__img--hover {
		opacity: 1;
	}

	.go-card:hover .go-card__img {
		transform: scale(1.03);
	}
}

.go-card.is-soldout .go-card__img {
	opacity: 0.72;
	filter: grayscale(20%);
}

.go-card__badge {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 2;
	padding: 6px 11px;
	border-radius: 999px;
	background: var(--go-ux-cream);
	color: var(--go-ux-olive-dark);
	font: 700 10.5px/1.2 Lato, sans-serif;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.go-card__badge--soldout {
	background: var(--go-ux-olive);
	color: var(--go-ux-cream);
}

.go-card__body {
	padding: 16px 6px 0;
	text-align: center;
}

.go-card__title {
	margin: 0 0 6px !important;
	font-family: "Karin-Custom", Karin, serif !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.45 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase;
	overflow-wrap: anywhere;
	hyphens: auto;
	-webkit-text-stroke: 0.25px currentColor;
}

.go-card__title a {
	color: var(--go-ux-olive-dark) !important;
	text-decoration: none !important;
}

.go-card__title a:hover {
	color: var(--go-ux-olive) !important;
}

.go-card__price,
.go-card__price .amount,
.go-card__price bdi {
	margin: 0 !important;
	font-family: Lato, sans-serif !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	letter-spacing: 0.02em !important;
	color: var(--go-ux-text) !important;
}

.go-card__price del,
.go-card__price del .amount,
.go-card__price del bdi {
	margin-right: 6px;
	font-weight: 400 !important;
	opacity: 0.55;
}

.go-card__price ins {
	text-decoration: none;
}

/* Sfeerfoto-tegel in boogvorm: even hoog als de kaarten in die rij */
.go-card--arch {
	align-self: stretch;
}

.go-arch {
	position: relative;
	height: 100%;
	min-height: 260px;
	overflow: hidden;
	border-radius: 999px 999px 16px 16px;
}

.go-arch img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.go-shop__empty {
	padding: 48px 0 80px;
	text-align: center;
	font-family: Lato, sans-serif;
	color: var(--go-ux-text);
}

/* Paginering */
.go-shop .woocommerce-pagination {
	margin: 64px 0 0;
	text-align: center;
}

.go-shop {
	padding-bottom: 88px;
}

@media (max-width: 1199px) {
	.go-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 48px 24px;
	}
}

@media (max-width: 767px) {
	:root {
		--go-shop-gutter: 16px;
	}

	.go-archive-top {
		padding-top: 24px;
	}

	.go-cat-intro {
		margin-bottom: 22px;
	}

	.go-archive-top .go-filters {
		padding-bottom: 16px;
	}

	.go-shop__bar {
		margin: 14px 0 20px;
	}

	.go-shop__bar select.orderby {
		max-width: 190px;
	}

	.go-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 32px 14px;
	}

	.go-card__media {
		border-radius: 12px;
	}

	.go-card__body {
		padding: 12px 2px 0;
	}

	.go-card__title {
		font-size: 12px !important;
		letter-spacing: 0.08em !important;
	}

	.go-card__price,
	.go-card__price .amount,
	.go-card__price bdi {
		font-size: 14px !important;
	}

	.go-arch {
		border-radius: 999px 999px 12px 12px;
		min-height: 200px;
	}

	.go-shop {
		padding-bottom: 56px;
	}
}

/* =========================================================================
   22. Blogartikel: Elementor-lappendeken platslaan tot één leeskolom
   ========================================================================= */
.go-article {
	--go-read: 720px;
	--go-media: 760px;
}

.go-article__head {
	padding-top: 56px;
	padding-bottom: 0;
}

.go-article__body {
	padding: 8px 20px 0;
}

/* Alle Elementor-rijen/kolommen worden gewoon blokken onder elkaar */
.go-article__body .e-con,
.go-article__body .e-con > .e-con-inner {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	--padding-top: 0;
	--padding-bottom: 0;
}

.go-article__body .elementor-widget {
	margin-bottom: 0 !important;
}

/* Losse lege ruimtes en scheidingslijnen weg */
.go-article__body .elementor-widget-spacer {
	display: none !important;
}

/* Tekst en kopjes: smalle leeskolom */
.go-article__body .elementor-widget-text-editor,
.go-article__body .elementor-widget-heading,
.go-article__body .elementor-widget-icon-list,
.go-article__body .elementor-widget-shortcode,
.go-article__body .elementor-widget-button,
.go-article__body > p,
.go-article__body > h2,
.go-article__body > h3,
.go-article__body > ul,
.go-article__body > ol,
.go-article__body > table {
	max-width: var(--go-read) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.go-article__body .elementor-widget-text-editor p:last-child {
	margin-bottom: 1.15em !important;
}

/* Titel in Elementor-artikelen: altijd netjes bovenaan */
.go-article__body .elementor-widget-heading:first-child h1,
.go-article__body h1.elementor-heading-title {
	margin: 0 0 28px !important;
}

/* Kopjes: vaste ruimte erboven, weinig eronder */
.go-article__body .elementor-widget-heading + .elementor-widget-text-editor {
	margin-top: 0 !important;
}

/* Foto's: één vaste breedte, gecentreerd, vaste ruimte boven en onder */
.go-article__body .elementor-widget-image {
	max-width: var(--go-media) !important;
	margin: 36px auto !important;
	text-align: center;
}

.go-article__body .elementor-widget-image img {
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	max-height: 520px;
	object-fit: cover;
	border-radius: 18px !important;
}

/* Twee foto's naast elkaar blijven een fotopaar */
.go-article__body .e-con:has(> .e-con > .elementor-widget-image):not(:has(> .e-con:not(:has(.elementor-widget-image)))):not(:has(.elementor-widget-heading)),
.go-article__body .e-con > .e-con-inner:has(> .e-con > .elementor-widget-image):not(:has(> .e-con:not(:has(.elementor-widget-image)))):not(:has(.elementor-widget-heading)) {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
	gap: 20px;
	max-width: var(--go-media) !important;
	margin: 36px auto !important;
}

.go-article__body .e-con:has(> .e-con > .elementor-widget-image):not(:has(> .e-con:not(:has(.elementor-widget-image)))):not(:has(.elementor-widget-heading)) .elementor-widget-image,
.go-article__body .e-con > .e-con-inner:has(> .e-con > .elementor-widget-image):not(:has(> .e-con:not(:has(.elementor-widget-image)))):not(:has(.elementor-widget-heading)) .elementor-widget-image {
	margin: 0 !important;
}

.go-article__body .e-con:has(> .e-con > .elementor-widget-image):not(:has(> .e-con:not(:has(.elementor-widget-image)))):not(:has(.elementor-widget-heading)) img,
.go-article__body .e-con > .e-con-inner:has(> .e-con > .elementor-widget-image):not(:has(> .e-con:not(:has(.elementor-widget-image)))):not(:has(.elementor-widget-heading)) img {
	aspect-ratio: 4 / 5;
	max-height: none;
}

/* Bijschrift onder een foto: dicht bij de foto */
.go-article__body .elementor-widget-image + .elementor-widget-text-editor {
	margin-top: -22px !important;
}

/* Het "Klaar om je favoriet te vinden?"-blok iets dichter op de tekst */
.go-article__cta {
	margin-top: 48px;
}

.go-article__related {
	margin-top: 64px;
}

@media (max-width: 767px) {
	.go-article__head {
		padding-top: 28px;
	}

	.go-article__body .elementor-widget-image {
		margin: 26px auto !important;
	}

	.go-article__body .e-con:has(> .e-con > .elementor-widget-image):not(:has(> .e-con:not(:has(.elementor-widget-image)))):not(:has(.elementor-widget-heading)),
	.go-article__body .e-con > .e-con-inner:has(> .e-con > .elementor-widget-image):not(:has(> .e-con:not(:has(.elementor-widget-image)))):not(:has(.elementor-widget-heading)) {
		gap: 10px;
		margin: 26px auto !important;
	}
}

/* Fotopaar als Elementor-grid: twee (of meer) fotowidgets direct naast elkaar */
.go-article__body .e-con > .e-con-inner:has(> .elementor-widget-image + .elementor-widget-image):not(:has(> :not(.elementor-widget-image))),
.go-article__body .e-con:has(> .elementor-widget-image + .elementor-widget-image):not(:has(> :not(.elementor-widget-image))) {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
	gap: 20px;
	max-width: var(--go-media) !important;
	margin: 36px auto !important;
}

.go-article__body .e-con > .e-con-inner:has(> .elementor-widget-image + .elementor-widget-image):not(:has(> :not(.elementor-widget-image))) > .elementor-widget-image,
.go-article__body .e-con:has(> .elementor-widget-image + .elementor-widget-image):not(:has(> :not(.elementor-widget-image))) > .elementor-widget-image {
	margin: 0 !important;
}

.go-article__body .e-con > .e-con-inner:has(> .elementor-widget-image + .elementor-widget-image):not(:has(> :not(.elementor-widget-image))) img,
.go-article__body .e-con:has(> .elementor-widget-image + .elementor-widget-image):not(:has(> :not(.elementor-widget-image))) img {
	aspect-ratio: 4 / 5;
	max-height: none;
}

.go-article__body .elementor-widget-image a,
.go-article__body .elementor-widget-image figure {
	display: block !important;
	width: 100%;
	margin: 0 !important;
}

.go-article__body .elementor-widget-image figcaption,
.go-article__body .elementor-widget-image .widget-image-caption {
	margin-top: 10px !important;
	font-size: 13.5px !important;
	line-height: 1.5 !important;
}

@media (max-width: 767px) {
	.go-article__body .e-con > .e-con-inner:has(> .elementor-widget-image + .elementor-widget-image):not(:has(> :not(.elementor-widget-image))),
	.go-article__body .e-con:has(> .elementor-widget-image + .elementor-widget-image):not(:has(> :not(.elementor-widget-image))) {
		gap: 10px;
		margin: 26px auto !important;
	}
}

/* =========================================================================
   23. Productpagina (nieuwe opbouw)
   ========================================================================= */
.go-pdp {
	font-family: Lato, sans-serif;
	color: var(--go-ux-text);
}

.go-pdp__inner {
	max-width: var(--go-shop-width, 1188px);
	margin: 0 auto;
	padding: 0 24px;
	box-sizing: border-box;
}

.go-pdp__crumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	padding: 28px 0 24px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(75, 77, 51, 0.7);
}

.go-pdp__crumbs a {
	color: var(--go-ux-olive) !important;
	text-decoration: none !important;
}

.go-pdp__crumbs a:hover {
	text-decoration: underline !important;
}

.go-pdp__crumbs span[aria-hidden] {
	color: var(--go-ochre, #c4a35a);
	font-size: 9px;
	margin: 0 2px;
}

.go-pdp__hero {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
	gap: 64px;
	align-items: start;
}

/* Galerij */
.go-pdp__stage {
	position: relative;
}

.go-pdp__slides {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	border-radius: 20px;
	background: #2f3a26;
	aspect-ratio: 1 / 1;
}

.go-pdp__slides::-webkit-scrollbar {
	display: none;
}

.go-pdp__slide {
	flex: 0 0 100%;
	margin: 0 !important;
	scroll-snap-align: start;
}

.go-pdp__slide img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	border-radius: 0 !important;
}

.go-pdp__badge {
	top: 16px;
	left: 16px;
}

.go-pdp__thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 12px;
}

.go-pdp__thumb {
	width: 72px;
	height: 72px;
	padding: 0 !important;
	border: 2px solid transparent !important;
	border-radius: 12px !important;
	overflow: hidden;
	background: transparent !important;
	cursor: pointer;
	opacity: 0.7;
	transition: opacity 0.2s ease, border-color 0.2s ease;
}

.go-pdp__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 9px !important;
}

.go-pdp__thumb:hover,
.go-pdp__thumb.is-active {
	opacity: 1;
}

.go-pdp__thumb.is-active {
	border-color: var(--go-ux-olive) !important;
}

/* Productinfo */
.go-pdp__summary {
	position: sticky;
	top: 100px;
	padding-top: 4px;
}

.go-pdp__eyebrow {
	margin: 0 0 10px !important;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.go-pdp__eyebrow a {
	color: var(--go-ochre, #a8842f) !important;
	text-decoration: none !important;
}

.go-pdp__title {
	margin: 0 0 14px !important;
	font-family: "Karin-Custom", Karin, serif !important;
	font-size: clamp(26px, 2.6vw, 34px) !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase;
	color: var(--go-ux-olive-dark) !important;
	-webkit-text-stroke: 0.3px currentColor;
}

html body .go-pdp__price,
html body .go-pdp__price .amount,
html body .go-pdp__price bdi {
	margin: 0 0 22px !important;
	font-family: Lato, sans-serif !important;
	font-size: 21px !important;
	font-weight: 700 !important;
	letter-spacing: 0.01em !important;
	color: var(--go-ux-text) !important;
}

html body .go-pdp__price del,
html body .go-pdp__price del .amount,
html body .go-pdp__price del bdi {
	margin-right: 8px !important;
	font-size: 17px !important;
	font-weight: 400 !important;
	opacity: 0.5;
}

.go-pdp__price ins {
	text-decoration: none;
}

.go-pdp .go-metal-switch {
	margin: 0 0 22px;
	gap: 10px;
}

.go-pdp .go-metal-label {
	font-size: 14px !important;
	color: var(--go-ux-text);
}

.go-pdp .go-metal-dot {
	width: 28px !important;
	height: 28px !important;
}

.go-pdp .stock {
	margin: 0 0 16px !important;
}

/* Aantal + knop op één regel */
.go-pdp__cart form.cart {
	display: flex !important;
	align-items: stretch;
	gap: 12px;
	margin: 0 0 22px !important;
}

.go-pdp__cart form.cart::before,
.go-pdp__cart form.cart::after {
	display: none !important;
}

.go-pdp__cart .quantity {
	display: inline-flex !important;
	align-items: center;
	flex: 0 0 auto;
	height: 54px;
	margin: 0 !important;
	padding: 0 6px;
	border: 1px solid rgba(100, 103, 76, 0.35);
	border-radius: 999px;
	background: transparent;
	float: none !important;
}

.go-pdp__cart .quantity input.qty {
	width: 38px !important;
	height: 100% !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	font: 700 16px Lato, sans-serif !important;
	color: var(--go-ux-text) !important;
	text-align: center;
	-moz-appearance: textfield;
	box-shadow: none !important;
}

.go-pdp__cart .quantity input.qty::-webkit-outer-spin-button,
.go-pdp__cart .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.go-pdp__cart .quantity .qty-minus,
.go-pdp__cart .quantity .qty-plus {
	width: 36px;
	height: 40px;
	min-width: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: transparent !important;
	color: var(--go-ux-olive) !important;
	font: 400 22px/1 Lato, sans-serif !important;
	cursor: pointer;
}

.go-pdp__cart .quantity .qty-minus:hover,
.go-pdp__cart .quantity .qty-plus:hover {
	background: rgba(100, 103, 76, 0.08) !important;
}

html body .go-pdp__cart .single_add_to_cart_button {
	flex: 1 1 auto;
	height: 54px;
	min-height: 0;
	margin: 0 !important;
	padding: 0 28px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--go-ux-olive) !important;
	color: var(--go-ux-cream) !important;
	font: 700 15px Lato, sans-serif !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase;
	float: none !important;
	transition: background-color 0.2s ease;
}

html body .go-pdp__cart .single_add_to_cart_button:hover {
	background: var(--go-ux-olive-dark) !important;
}

html body .go-pdp__cart .single_add_to_cart_button.disabled,
html body .go-pdp__cart .single_add_to_cart_button:disabled {
	opacity: 0.5;
}

/* Variaties (indien aanwezig) */
.go-pdp__cart table.variations {
	width: 100%;
	margin: 0 0 16px !important;
	border: 0 !important;
}

.go-pdp__cart table.variations th,
.go-pdp__cart table.variations td {
	padding: 0 0 8px !important;
	border: 0 !important;
	background: transparent !important;
	text-align: left;
	font-size: 14px;
}

.go-pdp__cart table.variations select {
	width: 100%;
	min-height: 46px;
	padding: 0 16px;
	border: 1px solid rgba(100, 103, 76, 0.35);
	border-radius: 12px;
	background: transparent;
	font: 400 16px Lato, sans-serif;
}

/* Service: compacte 2x2 */
.go-pdp__service {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px 18px;
	margin: 0 0 22px !important;
	padding: 16px 0 !important;
	border-top: 1px solid rgba(100, 103, 76, 0.16);
	border-bottom: 1px solid rgba(100, 103, 76, 0.16);
	list-style: none !important;
}

.go-pdp__service li {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 !important;
	font-size: 13.5px;
	line-height: 1.35;
	color: var(--go-ux-text);
}

.go-pdp__service img {
	width: 26px !important;
	height: 26px !important;
	flex: 0 0 auto;
}

.go-pdp__note {
	margin: 0 0 18px;
	padding: 12px 16px;
	border-radius: 12px;
	background: var(--go-ux-cream-2);
	font-size: 14px;
	line-height: 1.6;
}

.go-pdp__note p {
	margin: 0 !important;
	color: var(--go-ux-text) !important;
	font-size: 14px !important;
	text-align: left !important;
}

.go-pdp__note a {
	color: var(--go-ux-olive) !important;
	font-weight: 700;
}

/* Uitklapblokken */
.go-acc {
	border-bottom: 1px solid rgba(100, 103, 76, 0.16);
}

.go-acc > summary {
	position: relative;
	display: block;
	padding: 18px 32px 18px 0;
	cursor: pointer;
	list-style: none;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--go-ux-olive-dark);
}

.go-acc > summary::-webkit-details-marker {
	display: none;
}

.go-acc > summary::after {
	content: "+";
	position: absolute;
	right: 4px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 20px;
	font-weight: 400;
	color: var(--go-ux-olive);
	transition: transform 0.2s ease;
}

.go-acc[open] > summary::after {
	transform: translateY(-50%) rotate(45deg);
}

.go-acc__body {
	padding: 0 0 22px;
	font-size: 15px;
	line-height: 1.75;
}

.go-acc__body p,
.go-acc__body li {
	margin: 0 0 0.9em !important;
	font-size: 15px !important;
	line-height: 1.75 !important;
	color: var(--go-ux-text) !important;
	text-align: left !important;
}

.go-acc__body h3 {
	margin: 1.2em 0 0.4em !important;
	font-size: 13px !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase;
	color: var(--go-ux-olive-dark) !important;
}

.go-acc__body a {
	color: var(--go-ux-olive) !important;
	font-weight: 700;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

.go-faq {
	border-top: 1px solid rgba(100, 103, 76, 0.12);
}

.go-faq > summary {
	padding: 12px 24px 12px 0;
	position: relative;
	cursor: pointer;
	list-style: none;
	font-weight: 700;
	font-size: 14.5px;
	color: var(--go-ux-text);
}

.go-faq > summary::-webkit-details-marker {
	display: none;
}

.go-faq > summary::after {
	content: "›";
	position: absolute;
	right: 4px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 18px;
	color: var(--go-ux-olive);
	transition: transform 0.2s ease;
}

.go-faq[open] > summary::after {
	transform: translateY(-50%) rotate(90deg);
}

.go-faq__answer {
	padding: 0 0 12px;
}

/* "The good stuff"-band */
.go-pdp__good {
	margin: 88px 0 0;
	padding: 36px 24px;
	background: var(--go-ux-cream-2);
	border-top: 1px solid rgba(100, 103, 76, 0.1);
	border-bottom: 1px solid rgba(100, 103, 76, 0.1);
}

.go-pdp__good ul {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 20px;
	max-width: var(--go-shop-width, 1188px);
	margin: 0 auto !important;
	padding: 0 !important;
	list-style: none !important;
}

.go-pdp__good li {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	margin: 0 !important;
	text-align: center;
	font-size: 13.5px;
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1.35;
	color: var(--go-ux-olive-dark);
}

.go-pdp__good img {
	width: 40px !important;
	height: 40px !important;
}

/* "Style het met" */
.go-pdp__style {
	padding: 80px 0 88px;
}

.go-pdp__style-title {
	margin: 0 !important;
	font-family: "Karin-Custom", Karin, serif !important;
	font-size: clamp(26px, 3vw, 38px) !important;
	font-weight: 400 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase;
	text-align: center;
	color: var(--go-ux-olive) !important;
}

.go-pdp__style-sub {
	margin: 6px 0 36px !important;
	text-align: center;
	font-style: italic;
	font-size: 17px;
	letter-spacing: 0.06em;
	color: #7f5f22;
}

@media (max-width: 1024px) {
	.go-pdp__hero {
		gap: 40px;
	}

	.go-pdp__good ul {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		row-gap: 28px;
	}
}

@media (max-width: 900px) {
	.go-pdp__hero {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}

	.go-pdp__summary {
		position: static;
	}
}

@media (max-width: 767px) {
	.go-pdp__inner {
		padding: 0 16px;
	}

	.go-pdp__crumbs {
		padding: 16px 0 14px;
		font-size: 11px;
	}

	.go-pdp__slides {
		border-radius: 16px;
	}

	.go-pdp__thumbs {
		flex-wrap: nowrap;
		overflow-x: auto;
		gap: 8px;
		scrollbar-width: none;
	}

	.go-pdp__thumb {
		flex: 0 0 56px;
		width: 56px;
		height: 56px;
	}

	.go-pdp__title {
		font-size: 24px !important;
	}

	.go-pdp__cart .single_add_to_cart_button {
		padding: 0 18px !important;
	}

	.go-pdp__service {
		gap: 12px;
	}

	.go-pdp__good {
		margin-top: 56px;
		padding: 28px 16px;
	}

	.go-pdp__good ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 22px 12px;
	}

	.go-pdp__style {
		padding: 56px 0 64px;
	}

	.go-pdp__style .go-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Knop nooit breder dan het scherm */
html body .go-pdp__cart .single_add_to_cart_button {
	min-width: 0;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

@media (max-width: 767px) {
	html body .go-pdp__cart .single_add_to_cart_button {
		font-size: 14px !important;
		letter-spacing: 0.04em !important;
	}
}

/* Blogartikel: kopje na een fotoblok niet zo ver weg */
.go-article__body .elementor-widget-image + .elementor-widget-heading h2,
.go-article__body .e-con + .e-con .elementor-widget-heading:first-child h2 {
	margin-top: 1.2em !important;
}

/* =========================================================================
   24. Categorieën: boogfoto als uitgelicht vlak (2 kolommen × 2 rijen)
   ========================================================================= */
.go-grid > .go-card--arch {
	grid-column: span 2;
	grid-row: span 2;
	align-self: stretch;
	min-height: 0;
}

.go-grid > .go-card--arch .go-arch {
	height: 100%;
	min-height: 0;
	border-radius: 999px 999px 20px 20px;
	box-shadow: 0 18px 50px rgba(47, 58, 38, 0.18);
}

.go-grid > .go-card--arch .go-arch img {
	transition: transform 1.2s ease;
}

@media (hover: hover) {
	.go-grid > .go-card--arch:hover .go-arch img {
		transform: scale(1.03);
	}
}

/* Mobiel (2 kolommen): brede boog over de volle breedte, eigen hoogte */
@media (max-width: 767px) {
	.go-grid > .go-card--arch {
		grid-column: 1 / -1;
		grid-row: span 1;
	}

	.go-grid > .go-card--arch .go-arch {
		height: auto;
		aspect-ratio: 4 / 3.4;
		border-radius: 999px 999px 16px 16px;
	}
}

/* =========================================================================
   25. Blogs: productblokken in shop-kaartstijl
   ========================================================================= */
html body .go-article__body .elementor-widget-shortcode:has(.style-met-wrapper),
html body .go-article__body .elementor-widget-shortcode:has(.style-met-wrapper) {
	max-width: 860px !important;
	margin: 48px auto !important;
	padding: 36px 32px 40px !important;
	border-radius: 24px !important;
	background: var(--go-ux-cream-2) !important;
}

html body .go-article__body .elementor-widget-shortcode:has(.style-met-wrapper) .e-con,
html body .go-article__body .elementor-widget-shortcode:has(.style-met-wrapper) .e-con-inner {
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	max-width: none !important;
}

html body .go-article__body .elementor-widget-shortcode:has(.style-met-wrapper) .elementor-widget-heading {
	max-width: none !important;
}

html body .go-article__body .elementor-widget-shortcode:has(.style-met-wrapper) .elementor-heading-title {
	margin: 0 0 24px !important;
	font-size: 17px !important;
	letter-spacing: 0.14em !important;
	text-align: center !important;
	text-wrap: balance;
	color: var(--go-ux-olive) !important;
}

html body .go-article__body .elementor-widget-shortcode:has(.style-met-wrapper) {
	max-width: 860px !important;
}

html body .go-article__body .style-met-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 24px !important;
	justify-content: stretch !important;
}

html body .go-article__body .style-met-product {
	margin: 0 !important;
	text-align: center;
}

html body .go-article__body .style-met-product a {
	display: block;
	font-weight: 400 !important;
	text-decoration: none !important;
	color: inherit !important;
}

html body .go-article__body .style-met-product .style-img {
	display: block !important;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 14px;
	background: #2f3a26;
}

html body .go-article__body .style-met-product .style-img img {
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	aspect-ratio: auto !important;
	object-fit: cover;
	border-radius: 0 !important;
	transition: transform 0.6s ease;
}

@media (hover: hover) {
	html body .go-article__body .style-met-product:hover .style-img img {
		transform: scale(1.04);
	}
}

html body .go-article__body .style-met-product .style-name {
	margin: 14px 0 4px !important;
	font-family: "Karin-Custom", Karin, serif !important;
	font-size: 13.5px !important;
	font-weight: 400 !important;
	line-height: 1.45 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase;
	text-decoration: none !important;
	color: var(--go-ux-olive-dark) !important;
	-webkit-text-stroke: 0.25px currentColor;
}

html body .go-article__body .style-met-product .style-price,
html body .go-article__body .style-met-product .style-price .amount,
html body .go-article__body .style-met-product .style-price bdi {
	font: 700 15px Lato, sans-serif !important;
	color: var(--go-ux-text) !important;
	text-decoration: none !important;
}

html body .go-article__body .style-met-product .style-price del {
	opacity: 0.55;
	font-weight: 400 !important;
	margin-right: 6px;
}

html body .go-article__body .style-met-product .style-price ins {
	text-decoration: none !important;
}

@media (max-width: 767px) {
	html body .go-article__body .elementor-widget-shortcode:has(.style-met-wrapper),
	html body .go-article__body .elementor-widget-shortcode:has(.style-met-wrapper) {
		margin: 36px -4px !important;
		padding: 26px 16px 28px !important;
		border-radius: 20px !important;
	}

	html body .go-article__body .style-met-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 22px 12px !important;
	}

	html body .go-article__body .style-met-grid > .style-met-product:last-child:nth-child(odd) {
		grid-column: 1 / -1;
		max-width: calc(50% - 6px);
		justify-self: center;
	}
}

/* =========================================================================
   26. Blogs: artikelkop, openingsfoto, openingsalinea, voortgangsbalk
   ========================================================================= */
.go-article__head {
	max-width: 820px;
	padding-top: 56px;
}

.go-article__title {
	margin-bottom: 16px;
	font-size: clamp(30px, 4vw, 48px);
	text-wrap: balance;
}

.go-article__meta {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin: 0 0 8px !important;
	font-size: 14px;
	color: rgba(75, 77, 51, 0.75);
}

.go-article__hero {
	max-width: 960px;
	margin: 36px auto 8px !important;
	padding: 0 20px;
}

.go-article__hero img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 10;
	max-height: none;
	object-fit: cover;
	border-radius: 999px 999px 24px 24px / 520px 520px 24px 24px;
}

.go-article__body {
	padding-top: 40px;
}

.go-article__body p.go-lead {
	font-size: 20px !important;
	line-height: 1.7 !important;
	color: #3f412b !important;
}

.go-article__body p.go-lead::first-letter {
	float: left;
	margin: 6px 10px 0 0;
	font-family: "Karin-Custom", Karin, serif;
	font-size: 64px;
	line-height: 0.8;
	color: var(--go-ux-olive);
}

/* Nummering in kopjes ("1. Af en toe...") rustiger */
.go-article__body h2,
.go-article__body h2.elementor-heading-title {
	padding-top: 8px;
}

.go-progress {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	height: 3px;
	background: var(--go-ochre, #c4a35a);
	transform: scaleX(0);
	transform-origin: 0 50%;
	pointer-events: none;
}

body.admin-bar .go-progress {
	top: var(--wp-admin--admin-bar--height, 32px);
}

@media (max-width: 767px) {
	.go-article__head {
		padding-top: 28px;
	}

	.go-article__hero {
		margin-top: 24px !important;
		padding: 0 16px;
	}

	.go-article__hero img {
		aspect-ratio: 4 / 3.6;
		border-radius: 999px 999px 18px 18px / 300px 300px 18px 18px;
	}

	.go-article__body {
		padding-top: 28px;
	}

	.go-article__body p.go-lead {
		font-size: 18px !important;
	}

	.go-article__body p.go-lead::first-letter {
		font-size: 52px;
	}
}

/* Artikelkop: titel breder (minder regels) */
.go-article__head {
	max-width: 1000px;
}

.go-article__title {
	max-width: 920px;
	margin-left: auto;
	margin-right: auto;
	font-size: clamp(28px, 3.4vw, 44px);
}

/* Openingsalinea: vet uit de oude opmaak niet nodig, de grootte doet het werk */
.go-article__body p.go-lead,
.go-article__body p.go-lead strong,
.go-article__body p.go-lead b {
	font-weight: 400 !important;
	color: #3f412b !important;
}

/* Artikeltitel: wint van de algemene H1-maat uit Elementor */
html body .go-article .go-article__title {
	font-family: "Karin-Custom", Karin, serif !important;
	font-size: clamp(28px, 3.4vw, 44px) !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.08em !important;
}

@media (max-width: 767px) {
	html body .go-article .go-article__title {
		font-size: 25px !important;
		letter-spacing: 0.06em !important;
	}
}

/* Productpagina: kolommen in balans */
@media (min-width: 901px) {
	.go-pdp__gallery {
		position: sticky;
		top: 100px;
	}
}

.go-pdp__teaser {
	margin: 0 0 6px !important;
	font-size: 15.5px;
	font-style: italic;
	line-height: 1.65;
	color: var(--go-ux-text);
}

.go-pdp__info {
	border-top: 1px solid rgba(100, 103, 76, 0.16);
}

/* Fotootjes altijd op één rij (zijwaarts scrollen bij veel foto's) */
.go-pdp__thumbs {
	flex-wrap: nowrap !important;
	overflow-x: auto;
	scrollbar-width: none;
	padding-bottom: 2px;
}

.go-pdp__thumbs::-webkit-scrollbar {
	display: none;
}

.go-pdp__thumb {
	flex: 0 0 72px;
}

/* Standaard WooCommerce-link "Bekijk winkelwagen" na toevoegen: overbodig door de melding rechtsboven */
form.cart a.added_to_cart,
.go-pdp a.added_to_cart.wc-forward,
.go-buybar a.added_to_cart {
	display: none !important;
}

/* WooCommerce zet na toevoegen een vinkje achter de knoptekst; houd de knop rustig */
html body .go-pdp__cart .single_add_to_cart_button.added::after {
	display: none !important;
}

/* =========================================================================
   27. Mobiele header + menu
   ========================================================================= */
@media (max-width: 1024px) {
	/* Gelijke marge links en rechts */
	header.elementor-location-header .elementor-element-150ed2a,
	header.elementor-location-header .elementor-element-f72fd35 {
		padding-left: 12px !important;
		padding-right: 12px !important;
	}

	header.elementor-location-header .elementor-element-3e3f67a,
	header.elementor-location-header .elementor-element-7f0c83c {
		align-items: flex-start !important;
		justify-content: center !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	header.elementor-location-header .elementor-element-8fe659a,
	header.elementor-location-header .elementor-element-60bc4b7 {
		justify-content: flex-end !important;
		align-items: center !important;
		gap: 4px !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	header.elementor-location-header .elementor-element-8fe659a .elementor-widget,
	header.elementor-location-header .elementor-element-60bc4b7 .elementor-widget {
		margin: 0 !important;
	}

	/* Iconen: vast klikvlak van 44px, icoon gecentreerd */
	header.elementor-location-header .elementor-element-3e3f67a .elementor-icon,
	header.elementor-location-header .elementor-element-7f0c83c .elementor-icon,
	header.elementor-location-header .elementor-element-8fe659a .elementor-icon,
	header.elementor-location-header .elementor-element-60bc4b7 .elementor-icon {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		margin: 0 !important;
		padding: 0 !important;
	}

	header.elementor-location-header .elementor-element-8fe659a .elementor-icon svg,
	header.elementor-location-header .elementor-element-60bc4b7 .elementor-icon svg {
		width: 24px !important;
		height: 24px !important;
	}

	/* Hamburger: dunne lijnen in dezelfde stijl als de andere iconen */
	header.elementor-location-header .elementor-element-2efbd9e .elementor-icon > *,
	header.elementor-location-header .elementor-element-bf174ab .elementor-icon > * {
		display: none !important;
	}

	header.elementor-location-header .elementor-element-2efbd9e .elementor-icon,
	header.elementor-location-header .elementor-element-bf174ab .elementor-icon {
		background: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236f3f1d' stroke-width='1.6' stroke-linecap='round'%3E%3Cline x1='3' y1='7' x2='21' y2='7'/%3E%3Cline x1='3' y1='12' x2='16' y2='12'/%3E%3Cline x1='3' y1='17' x2='21' y2='17'/%3E%3C/svg%3E") no-repeat center / 26px 26px !important;
		cursor: pointer;
	}

	header.elementor-location-header .elementor-element-2efbd9e .elementor-icon .go-cart-count,
	header.elementor-location-header .elementor-element-bf174ab .elementor-icon .go-cart-count {
		display: none !important;
	}

	/* Teller op het tasje netjes rechtsboven het icoon */
	header.elementor-location-header .elementor-icon .go-cart-count {
		top: 4px !important;
		right: 2px !important;
	}
}

/* ---- Het uitschuifmenu ---- */
#elementor-popup-modal-5427 .dialog-widget-content {
	width: min(340px, 88vw) !important;
	padding: 0 !important;
	background: var(--go-ux-cream) !important;
	box-shadow: 12px 0 40px rgba(47, 58, 38, 0.18) !important;
}

/* Logo bovenin het menu */
#elementor-popup-modal-5427 .dialog-widget-content::before {
	content: "";
	display: block;
	height: 72px;
	margin: 0 24px;
	border-bottom: 1px solid rgba(100, 103, 76, 0.16);
	background: url("https://www.goldenoasis.nl/wp-content/uploads/2025/04/Golden-Oasis-Logo-Dark-Green.svg") no-repeat left center / auto 40px;
}

/* Sluitkruisje: groter klikvlak, uitgelijnd met het logo */
#elementor-popup-modal-5427 .dialog-close-button {
	top: 14px !important;
	right: 14px !important;
	width: 44px !important;
	height: 44px !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	margin: 0 !important;
	font-size: 22px !important;
	color: var(--go-ux-brown) !important;
}

#elementor-popup-modal-5427 .dialog-close-button svg,
#elementor-popup-modal-5427 .dialog-close-button i {
	width: 18px !important;
	height: 18px !important;
	font-size: 18px !important;
	fill: var(--go-ux-brown) !important;
	color: var(--go-ux-brown) !important;
}

#elementor-popup-modal-5427 .elementor-element-26f01f2 {
	padding: 8px 24px 28px !important;
	gap: 0 !important;
}

#elementor-popup-modal-5427 .elementor-element-26f01f2 > .e-con-inner {
	padding: 0 !important;
	gap: 0 !important;
}

/* Menuregels */
#elementor-popup-modal-5427 .elementor-nav-menu--main .elementor-nav-menu > li {
	border-bottom: 1px solid rgba(100, 103, 76, 0.12);
}

#elementor-popup-modal-5427 .elementor-nav-menu--main .elementor-nav-menu > li > a {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	min-height: 52px;
	padding: 0 2px !important;
	font-family: "Karin-Custom", Karin, serif !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase;
	color: var(--go-ux-olive-dark) !important;
	-webkit-text-stroke: 0.3px currentColor;
	background: transparent !important;
}



#elementor-popup-modal-5427 .elementor-nav-menu--main .elementor-nav-menu > li.current-menu-item > a {
	color: var(--go-ux-brown) !important;
}

/* Over ons / Blogs / Contact: tweede, rustigere groep */
#elementor-popup-modal-5427 .elementor-nav-menu--main .elementor-nav-menu > li:nth-child(7) {
	margin-top: 22px;
	border-top: 0;
}

#elementor-popup-modal-5427 .elementor-nav-menu--main .elementor-nav-menu > li:nth-child(n+7) {
	border-bottom: 0;
}

#elementor-popup-modal-5427 .elementor-nav-menu--main .elementor-nav-menu > li:nth-child(n+7) > a {
	min-height: 40px;
	font-family: Lato, sans-serif !important;
	font-size: 15px !important;
	letter-spacing: 0.04em !important;
	text-transform: none;
	-webkit-text-stroke: 0;
	color: var(--go-ux-text) !important;
}



#elementor-popup-modal-5427 .elementor-nav-menu--main .elementor-nav-menu a:hover,
#elementor-popup-modal-5427 .elementor-nav-menu--main .elementor-nav-menu a:focus {
	color: var(--go-ux-brown) !important;
}

/* Zoekveld onderaan */
#elementor-popup-modal-5427 .elementor-element-050c1d2 {
	margin-top: 22px !important;
}

#elementor-popup-modal-5427 .woo-search-container {
	padding: 0 !important;
}

#elementor-popup-modal-5427 .woo-custom-search-wrapper {
	max-width: none !important;
}

#elementor-popup-modal-5427 .woo-custom-search-wrapper .search-field {
	padding: 13px 60px 13px 20px !important;
	border: 1px solid rgba(100, 103, 76, 0.35) !important;
	font: 400 16px Lato, sans-serif !important;
}

#elementor-popup-modal-5427 .woo-custom-search-wrapper .search-submit {
	width: 44px !important;
	height: 44px !important;
}

@media (max-width: 1024px) {
	/* Hamburger tegen de linkermarge, alle iconen op dezelfde hoogte */
	header.elementor-location-header .elementor-element-150ed2a,
	header.elementor-location-header .elementor-element-f72fd35 {
		align-items: center !important;
	}

	header.elementor-location-header .elementor-element-3e3f67a,
	header.elementor-location-header .elementor-element-7f0c83c,
	header.elementor-location-header .elementor-element-8fe659a,
	header.elementor-location-header .elementor-element-60bc4b7 {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		align-self: center !important;
	}

	header.elementor-location-header .elementor-element-2efbd9e,
	header.elementor-location-header .elementor-element-bf174ab {
		width: auto !important;
		margin: 0 !important;
	}

	header.elementor-location-header .elementor-element-2efbd9e .elementor-icon-wrapper,
	header.elementor-location-header .elementor-element-bf174ab .elementor-icon-wrapper {
		display: flex !important;
		justify-content: flex-start !important;
		text-align: left !important;
	}
}

/* Menu: Elementor-onderstreepeffect uit, pijltje als achtergrond */
#elementor-popup-modal-5427 .elementor-nav-menu--main .elementor-item::before,
#elementor-popup-modal-5427 .elementor-nav-menu--main .elementor-item::after {
	display: none !important;
	content: none !important;
}

#elementor-popup-modal-5427 .elementor-nav-menu--main .elementor-nav-menu > li:nth-child(-n+6) > a {
	background: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c4a35a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 6 15 12 9 18'/%3E%3C/svg%3E") no-repeat right 2px center / 16px 16px !important;
}

#elementor-popup-modal-5427 .elementor-nav-menu--main,
#elementor-popup-modal-5427 .elementor-nav-menu--main > ul {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

#elementor-popup-modal-5427 .elementor-element-26f01f2 {
	padding-top: 4px !important;
	justify-content: flex-start !important;
}

#elementor-popup-modal-5427 .elementor-element-6d7bfca {
	margin: 0 !important;
}

@media (max-width: 1024px) {
	/* Kolomvak: horizontaal links (align-items), verticaal gecentreerd (justify-content) */
	header.elementor-location-header .elementor-element-3e3f67a,
	header.elementor-location-header .elementor-element-7f0c83c {
		justify-content: center !important;
		align-items: flex-start !important;
	}
}

@media (max-width: 1024px) {
	header.elementor-location-header .elementor-element-2efbd9e,
	header.elementor-location-header .elementor-element-bf174ab {
		align-self: flex-start !important;
		margin-left: 0 !important;
		margin-right: auto !important;
	}
}

/* =========================================================================
   28. Snelheid: lichte WebP-achtergronden i.p.v. originelen van 380–750 KB
   ========================================================================= */
html body #custom-footer {
	background-image: url("/wp-content/uploads/go-opt/footer-blad-1600.webp?v=2") !important;
}

html body .hero-text,
html body .category-grid-section {
	background-image: url("/wp-content/uploads/go-opt/groen-grain-1400.webp?v=2") !important;
}

@media (max-width: 767px) {
	html body #custom-footer {
		background-image: url("/wp-content/uploads/go-opt/footer-blad-900.webp?v=2") !important;
	}

	html body .hero-text,
	html body .category-grid-section {
		background-image: url("/wp-content/uploads/go-opt/groen-grain-800.webp?v=2") !important;
	}
}

/* 28b. Lichtgroene grain-achtergrond (productpagina, 408 KB → 31 KB WebP) */
.elementor-element-7439774:not(.elementor-motion-effects-element-type-background),
.elementor-element-7439774 > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-element-f3e0c8c:not(.elementor-motion-effects-element-type-background),
.elementor-element-f3e0c8c > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-element-7deeb6a:not(.elementor-motion-effects-element-type-background),
.elementor-element-7deeb6a > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-element-798c672:not(.elementor-motion-effects-element-type-background),
.elementor-element-798c672 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
	background-image: url("/wp-content/uploads/go-opt/lichtgroen-grain-1400.webp?v=1") !important;
}
@media (max-width: 767px) {
	.elementor-element-7439774:not(.elementor-motion-effects-element-type-background),
	.elementor-element-7439774 > .elementor-motion-effects-container > .elementor-motion-effects-layer,
	.elementor-element-f3e0c8c:not(.elementor-motion-effects-element-type-background),
	.elementor-element-f3e0c8c > .elementor-motion-effects-container > .elementor-motion-effects-layer,
	.elementor-element-7deeb6a:not(.elementor-motion-effects-element-type-background),
	.elementor-element-7deeb6a > .elementor-motion-effects-container > .elementor-motion-effects-layer,
	.elementor-element-798c672:not(.elementor-motion-effects-element-type-background),
	.elementor-element-798c672 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
		background-image: url("/wp-content/uploads/go-opt/lichtgroen-grain-800.webp?v=1") !important;
	}
}

/* -------------------------------------------------------------------------
   29. Variaties als knoppen (ringmaat, oorringmaat, bedrag)
   ------------------------------------------------------------------------- */

/* Formulier met variaties: keuze bovenaan, daaronder aantal + knop op één regel */
.go-pdp__cart form.variations_form {
	display: block !important;
}

.go-pdp__cart form.variations_form .woocommerce-variation-add-to-cart {
	display: flex;
	align-items: stretch;
	gap: 12px;
}

.go-pdp__cart form.go-has-var-buttons table.variations,
.go-pdp__cart form.go-has-var-buttons table.variations tbody,
.go-pdp__cart form.go-has-var-buttons table.variations tr,
.go-pdp__cart form.go-has-var-buttons table.variations td {
	display: block;
	width: 100%;
	padding: 0 !important;
}

.go-pdp__cart form.go-has-var-buttons table.variations {
	margin: 0 0 18px !important;
}

.go-pdp__cart form.go-has-var-buttons table.variations tr + tr {
	margin-top: 18px;
}

/* Woo-label en dropdown verbergen; de dropdown blijft wel werken */
.go-pdp__cart form.go-has-var-buttons table.variations th.label,
.go-pdp__cart form.go-has-var-buttons table.variations .reset_variations {
	display: none !important;
}

.go-pdp__cart form.go-has-var-buttons table.variations select {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	min-height: 0 !important;
	margin: -1px !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.go-var__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 10px;
}

.go-pdp .go-var__label {
	margin: 0 !important;
	font: 400 14px/1.4 Lato, sans-serif;
	color: var(--go-ux-text);
}

.go-var__current {
	font-weight: 700;
}

.go-var__current.is-empty {
	font-weight: 400;
	color: rgba(79, 82, 60, 0.7);
}

.go-var__guide {
	font: 700 13px/1 Lato, sans-serif;
	color: var(--go-ux-olive) !important;
	text-decoration: underline !important;
	text-decoration-color: rgba(100, 103, 76, 0.35) !important;
	text-underline-offset: 4px;
	white-space: nowrap;
}

.go-var__guide:hover {
	text-decoration-color: currentColor !important;
}

.go-var__options {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

html body .go-var__opt {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 3px;
	min-width: 84px;
	min-height: 56px;
	margin: 0 !important;
	padding: 8px 16px !important;
	border: 1px solid rgba(100, 103, 76, 0.35) !important;
	border-radius: 14px !important;
	background: transparent !important;
	color: var(--go-ux-text) !important;
	box-shadow: none !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	cursor: pointer;
	transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}

.go-var__main {
	font: 700 15px/1.1 Lato, sans-serif;
}

.go-var__sub {
	font: 400 12px/1.1 Lato, sans-serif;
	opacity: 0.75;
}

html body .go-var__opt:hover {
	border-color: var(--go-ux-olive) !important;
	background: rgba(100, 103, 76, 0.06) !important;
}

html body .go-var__opt:focus-visible {
	outline: 2px solid var(--go-ux-olive) !important;
	outline-offset: 2px;
}

html body .go-var__opt.is-selected {
	border-color: var(--go-ux-olive) !important;
	background: var(--go-ux-olive) !important;
	color: var(--go-ux-cream) !important;
}

html body .go-var__opt.is-selected .go-var__sub {
	opacity: 0.85;
}

html body .go-var__opt.is-soldout,
html body .go-var__opt.is-unavailable {
	border-style: dashed !important;
	color: rgba(79, 82, 60, 0.5) !important;
	background: transparent !important;
}

html body .go-var__opt.is-soldout {
	cursor: not-allowed;
}

html body .go-var__opt.is-soldout .go-var__main {
	text-decoration: line-through;
}

.go-var.needs-choice .go-var__opt:not(.is-soldout) {
	border-color: #a5532f !important;
}

.go-pdp .go-var__hint {
	margin: 10px 0 0 !important;
	font: 700 13px/1.4 Lato, sans-serif;
	color: #a5532f;
}

/* Prijs/voorraad van de gekozen variatie */
.go-pdp__cart .woocommerce-variation.single_variation:not(:empty) {
	margin: 0 0 14px;
}


.go-pdp__cart .woocommerce-variation-availability .stock {
	margin: 0 !important;
}

@media (max-width: 767px) {
	.go-var__options {
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(84px, 1fr));
	}
}

/* Variatieprijs staat al bovenaan (die past zich aan) */
.go-pdp__cart .woocommerce-variation-price {
	display: none;
}

/* -------------------------------------------------------------------------
   30. Productpagina: uitklapblokken zonder verspringen
   ------------------------------------------------------------------------- */

/* Alleen de foto blijft staan tijdens scrollen; de tekstkolom scrolt gewoon mee.
   (Een "plakkende" tekstkolom schoot omhoog zodra een blok openklapte.) */
.go-pdp__summary {
	position: static !important;
	top: auto !important;
}

/* Foto alleen laten meescrollen als hij in het scherm past */
@media (min-width: 901px) and (max-height: 780px) {
	.go-pdp__gallery {
		position: static;
	}
}

.go-acc > summary {
	-webkit-tap-highlight-color: transparent;
	transition: color 0.2s ease;
}

.go-acc > summary:hover {
	color: var(--go-ux-olive);
}

.go-acc > summary:focus-visible {
	outline: 2px solid var(--go-ux-olive);
	outline-offset: 2px;
	border-radius: 4px;
}

/* Inhoud wordt via JS soepel open/dicht geschoven */
.go-acc__body {
	overflow: hidden;
}

.go-acc.is-animating > summary::after {
	transition: transform 0.28s ease;
}

.go-acc.is-closing > summary::after {
	transform: translateY(-50%) rotate(0deg);
}

@media (prefers-reduced-motion: reduce) {
	.go-acc > summary::after {
		transition: none;
	}
}

.go-faq.is-closing > summary::after {
	transform: translateY(-50%) rotate(0deg);
}

/* -------------------------------------------------------------------------
   31. Productpagina: veelgestelde vragen als eigen sectie
   ------------------------------------------------------------------------- */

/* Verwijzing in de productinfo (zelfde stijl als de uitklapblokken) */
.go-pdp a.go-acc-link {
	position: relative;
	display: block;
	padding: 18px 32px 18px 0;
	border-bottom: 1px solid rgba(100, 103, 76, 0.16);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none !important;
	color: var(--go-ux-olive-dark) !important;
}

.go-pdp a.go-acc-link::after {
	content: "↓";
	position: absolute;
	right: 6px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 16px;
	font-weight: 400;
	color: var(--go-ux-olive);
	transition: transform 0.2s ease;
}

.go-pdp a.go-acc-link:hover::after {
	transform: translateY(-35%);
}

.go-pdp__faq {
	scroll-margin-top: 100px;
	padding: 80px 0 96px;
	background: var(--go-ux-cream-2);
	border-top: 1px solid rgba(100, 103, 76, 0.1);
}

.go-pdp__faq-inner {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	gap: 64px;
	align-items: start;
}

.go-pdp__faq-intro {
	position: sticky;
	top: 110px;
}

.go-pdp .go-pdp__faq-eyebrow {
	margin: 0 0 10px !important;
	font: 700 12px/1 Lato, sans-serif;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--go-ochre, #c4a35a);
}

.go-pdp .go-pdp__faq-title {
	margin: 0 0 16px !important;
	font-family: "Karin-Custom", Karin, serif !important;
	font-size: clamp(26px, 3vw, 36px) !important;
	font-weight: 400 !important;
	line-height: 1.15 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase;
	color: var(--go-ux-olive) !important;
}

.go-pdp .go-pdp__faq-text {
	margin: 0 0 24px !important;
	font-size: 15.5px;
	line-height: 1.65;
	color: var(--go-ux-text);
}

.go-pdp__faq-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 22px;
}

.go-pdp a.go-pdp__faq-btn {
	display: inline-flex;
	align-items: center;
	height: 48px;
	padding: 0 26px;
	border-radius: 999px;
	background: var(--go-ux-olive);
	color: var(--go-ux-cream) !important;
	font: 700 14px/1 Lato, sans-serif;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none !important;
	transition: background-color 0.2s ease;
}

.go-pdp a.go-pdp__faq-btn:hover {
	background: var(--go-ux-olive-dark);
}

.go-pdp a.go-pdp__faq-link {
	font: 700 14px/1 Lato, sans-serif;
	color: var(--go-ux-olive) !important;
	text-decoration: underline !important;
	text-decoration-color: rgba(100, 103, 76, 0.35) !important;
	text-underline-offset: 5px;
}

.go-pdp__faq-list {
	display: grid;
	gap: 12px;
}

.go-qa {
	border: 1px solid rgba(100, 103, 76, 0.14);
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.45);
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.go-qa[open] {
	background: rgba(255, 255, 255, 0.7);
	border-color: rgba(100, 103, 76, 0.22);
}

.go-qa > summary {
	position: relative;
	display: block;
	padding: 20px 64px 20px 24px;
	list-style: none;
	cursor: pointer;
	font: 700 16px/1.45 Lato, sans-serif;
	color: var(--go-ux-olive-dark);
	-webkit-tap-highlight-color: transparent;
}

.go-qa > summary::-webkit-details-marker {
	display: none;
}

/* Plusje in een rondje */
.go-qa > summary::before,
.go-qa > summary::after {
	content: "";
	position: absolute;
	right: 30px;
	top: 50%;
	width: 12px;
	height: 1.5px;
	margin-top: -0.75px;
	background: var(--go-ux-olive);
	transition: transform 0.25s ease, opacity 0.25s ease;
}

.go-qa > summary::after {
	transform: rotate(90deg);
}

.go-qa[open]:not(.is-closing) > summary::after {
	transform: rotate(90deg) scaleX(0);
}

.go-qa > summary:hover {
	color: var(--go-ux-olive);
}

.go-qa > summary:focus-visible {
	outline: 2px solid var(--go-ux-olive);
	outline-offset: 2px;
	border-radius: 16px;
}

.go-qa__a {
	padding: 0 24px 22px;
}

.go-qa__a p,
.go-qa__a li {
	margin: 0 0 0.85em !important;
	font-size: 15px !important;
	line-height: 1.7 !important;
	color: var(--go-ux-text) !important;
	text-align: left !important;
}

.go-qa__a > :last-child {
	margin-bottom: 0 !important;
}

.go-qa__a a {
	color: var(--go-ux-olive) !important;
	font-weight: 700;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

@media (max-width: 900px) {
	.go-pdp__faq {
		padding: 56px 0 64px;
	}

	.go-pdp__faq-inner {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}

	.go-pdp__faq-intro {
		position: static;
	}
}

@media (max-width: 767px) {
	.go-pdp__faq-list {
		gap: 10px;
	}

	.go-qa > summary {
		padding: 17px 52px 17px 18px;
		font-size: 15px;
	}

	.go-qa > summary::before,
	.go-qa > summary::after {
		right: 22px;
	}

	.go-qa__a {
		padding: 0 18px 18px;
	}
}

/* -------------------------------------------------------------------------
   32. Verhaalpagina's (/onze-keuzes/) en foto's met onderschrift in artikelen
   ------------------------------------------------------------------------- */
.go-article__body .go-story__figure {
	margin: 36px 0 !important;
}

.go-article__body .go-story__figure img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 560px;
	object-fit: cover;
	border-radius: 18px;
}

.go-article__body .go-story__figure figcaption {
	margin-top: 10px;
	font-size: 13.5px;
	font-style: italic;
	line-height: 1.5;
	text-align: center;
	color: rgba(75, 77, 51, 0.8);
}

.go-story__cats {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin-top: 6px;
}

.go-story__cats .go-btn {
	min-height: 44px;
}

.go-story .go-article__crumbs a {
	color: inherit;
}

@media (max-width: 767px) {
	.go-article__body .go-story__figure {
		margin: 28px 0 !important;
	}

	.go-article__body .go-story__figure img {
		max-height: 420px;
		border-radius: 14px;
	}
}

.go-article__body .go-story__figure--portrait {
	max-width: 400px;
	margin-left: auto !important;
	margin-right: auto !important;
}


/* Homepage: verwijzing naar /onze-keuzes/ en klikbare iconen */
.go-home-seo .go-home-story-title {
	margin-top: 40px !important;
}

.go-home-seo .go-home-story-cta {
	margin-top: 20px !important;
}

.go-home-seo a.go-home-story-btn {
	display: inline-flex;
	align-items: center;
	min-height: 48px;
	padding: 0 28px;
	border-radius: 999px;
	background: var(--go-ux-olive);
	color: var(--go-ux-cream) !important;
	font: 700 14px/1 Lato, sans-serif;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none !important;
	transition: background-color 0.2s ease;
}

.go-home-seo a.go-home-story-btn:hover {
	background: var(--go-ux-olive-dark);
}

.blurb-section a.blurb-item {
	color: inherit !important;
	text-decoration: none !important;
}

.blurb-section a.blurb-item:hover .blurb-text {
	text-decoration: underline;
	text-underline-offset: 4px;
}

.blurb-section a.blurb-item:focus-visible {
	outline: 2px solid var(--go-ux-olive);
	outline-offset: 4px;
	border-radius: 8px;
}

/* Foto's in verhaal/artikel: niet bijsnijden of opblazen, eigen verhouding, max. tekstbreedte */
.go-article__body .go-story__figure {
	max-width: 620px;
	margin-left: auto !important;
	margin-right: auto !important;
}

.go-article__body .go-story__figure img {
	width: 100%;
	height: auto;
	max-height: none;
	object-fit: initial;
}

.go-article__body .go-story__figure--portrait {
	max-width: 400px;
}


/* Onze keuzes: openingsfoto is 960px bron; niet breder tonen dan scherp kan */
.go-story .go-article__hero {
	max-width: 800px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* -------------------------------------------------------------------------
   33. Maatgids: /maattabel/ en pop-up op productpagina's
   ------------------------------------------------------------------------- */
.go-sg {
	--sg-rust: #8a4a32;
	font-family: Lato, sans-serif;
	color: var(--go-ux-text);
}

.go-sg__top {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
	gap: 24px;
	align-items: start;
}

/* Tabel */
.go-sg__table-wrap {
	padding: 22px 22px 18px;
	border: 1px solid rgba(100, 103, 76, 0.14);
	border-radius: 20px;
	background: var(--go-ux-cream-2);
}

.go-sg .go-sg__table {
	width: 100%;
	margin: 0 !important;
	border: 0 !important;
	border-collapse: separate;
	border-spacing: 0 6px;
	font-size: 15px;
}

.go-sg .go-sg__table th,
.go-sg .go-sg__table td {
	padding: 10px 12px !important;
	border: 0 !important;
	background: transparent !important;
	text-align: center;
	vertical-align: middle;
}

.go-sg .go-sg__table thead th {
	padding-top: 0 !important;
	padding-bottom: 4px !important;
	font: 700 11.5px/1.3 Lato, sans-serif;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--go-ux-olive);
}

.go-sg .go-sg__table thead th span {
	color: var(--go-ochre, #c4a35a);
}

.go-sg .go-sg__table tbody tr {
	background: rgba(255, 255, 255, 0.55);
	transition: background-color 0.2s ease;
}

.go-sg .go-sg__table tbody tr > *:first-child {
	border-radius: 999px 0 0 999px;
}

.go-sg .go-sg__table tbody tr > *:last-child {
	border-radius: 0 999px 999px 0;
}

.go-sg .go-sg__table tbody td {
	font-variant-numeric: tabular-nums;
}

.go-sg__us {
	display: inline-block;
	min-width: 64px;
	padding: 4px 12px;
	border-radius: 999px;
	background: var(--go-ux-olive);
	color: var(--go-ux-cream);
	font: 700 14px/1.2 Lato, sans-serif;
	letter-spacing: 0.04em;
}

.go-sg .go-sg__table tbody tr.is-muted {
	opacity: 0.55;
}

.go-sg .go-sg__table tbody tr.is-current > * {
	box-shadow: inset 0 1.5px 0 var(--go-ux-olive), inset 0 -1.5px 0 var(--go-ux-olive);
}

.go-sg .go-sg__table tbody tr.is-match {
	background: #f3e3b8;
	opacity: 1;
}

.go-sg .go-sg__table tbody tr.is-match .go-sg__us {
	background: var(--sg-rust);
}

.go-sg .go-sg__note {
	margin: 10px 4px 0 !important;
	font-size: 13.5px;
	font-style: italic;
	color: rgba(75, 77, 51, 0.85);
}

/* Calculator */
.go-sg__calc {
	padding: 24px;
	border-radius: 20px;
	background: var(--go-ux-olive);
	color: var(--go-ux-cream);
}

.go-sg .go-sg__calc-title {
	margin: 0 0 14px !important;
	font-family: "Karin-Custom", Karin, serif;
	font-size: 22px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--go-ux-cream);
}

.go-sg__calc-type {
	display: grid;
	gap: 8px;
	margin: 0 0 16px;
	padding: 0;
	border: 0;
}

.go-sg__calc-type label {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14.5px;
	color: var(--go-ux-cream);
	cursor: pointer;
}

.go-sg__calc-type input {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: var(--go-ochre, #c4a35a);
}

.go-sg__calc-input {
	display: flex;
	align-items: center;
	height: 54px;
	padding: 0 18px;
	border-radius: 999px;
	background: var(--go-ux-cream);
	color: var(--go-ux-text);
}

.go-sg .go-sg__calc-input input {
	flex: 1;
	min-width: 0;
	height: 100%;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	font: 700 18px Lato, sans-serif !important;
	color: var(--go-ux-text) !important;
	outline: none;
}

.go-sg__calc-input:focus-within {
	box-shadow: 0 0 0 3px rgba(196, 163, 90, 0.7);
}

.go-sg__calc-input span {
	font-weight: 700;
	color: var(--go-ux-olive);
}

.go-sg .go-sg__result {
	min-height: 44px;
	margin: 14px 2px 0 !important;
	font-size: 15px;
	line-height: 1.5;
	color: var(--go-ux-cream);
}

html body .go-sg__pick {
	display: inline-flex;
	align-items: center;
	height: 46px;
	margin-top: 4px;
	padding: 0 24px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--go-ux-cream) !important;
	color: var(--go-ux-olive-dark) !important;
	font: 700 14px/1 Lato, sans-serif !important;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	cursor: pointer;
}

html body .go-sg__pick[hidden] {
	display: none;
}

html body .go-sg__pick:hover {
	background: #fff !important;
}

/* Meetmethodes */
.go-sg__methods {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	margin-top: 24px;
}

.go-sg__method {
	position: relative;
	padding: 26px 24px 24px 76px;
	border: 1px solid rgba(100, 103, 76, 0.14);
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.4);
}

.go-sg__step {
	position: absolute;
	left: 24px;
	top: 24px;
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--sg-rust);
	color: var(--go-ux-cream);
	font: 700 16px/1 Lato, sans-serif;
}

.go-sg .go-sg__method h3 {
	margin: 4px 0 8px !important;
	font: 700 16px/1.35 Lato, sans-serif !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: var(--go-ux-olive-dark) !important;
}

.go-sg .go-sg__method p {
	margin: 0 !important;
	font-size: 15px;
	line-height: 1.65;
}

.go-sg .go-sg__method-img {
	display: block;
	width: 100%;
	max-width: 320px;
	height: auto;
	margin: 18px 0 0;
	border-radius: 14px;
}

/* Tips */
.go-sg__tips {
	margin-top: 48px;
}

.go-sg .go-sg__tips h2 {
	margin: 0 0 18px !important;
	font-family: "Karin-Custom", Karin, serif !important;
	font-size: clamp(22px, 2.4vw, 28px) !important;
	font-weight: 400 !important;
	letter-spacing: 0.1em !important;
	text-align: center;
	text-transform: uppercase;
	color: var(--go-ux-olive) !important;
}

.go-sg .go-sg__tips ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 32px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.go-sg .go-sg__tips li {
	position: relative;
	margin: 0 !important;
	padding-left: 24px;
	font-size: 15px;
	line-height: 1.6;
}

.go-sg .go-sg__tips li::before {
	content: "✦";
	position: absolute;
	left: 0;
	top: 1px;
	font-size: 12px;
	color: var(--go-ochre, #c4a35a);
}

.go-sg .go-sg__more {
	margin: 18px 0 0 !important;
	text-align: center;
	font-size: 14px;
}

.go-sg .go-sg__more a,
.go-sg-page__help a {
	font-weight: 700;
	color: var(--go-ux-olive) !important;
	text-decoration: underline !important;
	text-underline-offset: 4px;
}

/* Pagina */
.go-sg-page {
	max-width: 1080px;
	margin: 0 auto;
	padding: 40px 20px 88px;
}

.go-sg-page__head {
	max-width: 720px;
	margin: 0 auto 36px;
	text-align: center;
}

.go-sg-page__head .go-article__crumbs {
	justify-content: center;
}

.go-sg-page .go-sg-page__title {
	margin: 14px 0 16px !important;
	font-family: "Karin-Custom", Karin, serif !important;
	font-size: clamp(28px, 3.6vw, 42px) !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase;
	color: var(--go-ux-olive) !important;
}

.go-sg-page .go-sg-page__lead {
	margin: 0 !important;
	font-size: 16.5px;
	line-height: 1.7;
	color: var(--go-ux-text);
}

.go-sg-page__more {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin-top: 48px;
	padding-top: 36px;
	border-top: 1px solid rgba(100, 103, 76, 0.16);
	text-align: center;
}

.go-sg-page .go-sg-page__help {
	flex-basis: 100%;
	margin: 8px 0 0 !important;
	font-size: 15px;
}

/* Pop-up */
html:has(.go-sg-dialog[open]) {
	overflow: hidden;
}

.go-sg-dialog {
	width: min(820px, calc(100% - 32px));
	max-width: none;
	max-height: min(88vh, 900px);
	margin: auto;
	padding: 0;
	border: 0;
	border-radius: 24px;
	background: var(--go-ux-cream);
	color: var(--go-ux-text);
	box-shadow: 0 24px 80px rgba(30, 32, 20, 0.35);
	overflow: auto;
	overscroll-behavior: contain;
}

.go-sg-dialog::backdrop {
	background: rgba(36, 38, 26, 0.55);
	backdrop-filter: blur(3px);
}

.go-sg-dialog[open] {
	animation: go-sg-in 0.28s cubic-bezier(0.2, 0.7, 0.2, 1);
}

@keyframes go-sg-in {
	from {
		opacity: 0;
		transform: translateY(16px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

.go-sg-dialog__inner {
	padding: 28px 28px 30px;
}

.go-sg-dialog__head {
	position: relative;
	padding-right: 48px;
}

.go-sg-dialog .go-sg-dialog__eyebrow {
	margin: 0 0 6px !important;
	font: 700 12px/1 Lato, sans-serif;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--go-ochre, #c4a35a);
}

.go-sg-dialog .go-sg-dialog__title {
	margin: 0 !important;
	font-family: "Karin-Custom", Karin, serif !important;
	font-size: clamp(24px, 3vw, 32px) !important;
	font-weight: 400 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase;
	color: var(--go-ux-olive) !important;
}

html body .go-sg-dialog__close {
	position: absolute;
	right: -6px;
	top: -6px;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	min-width: 0;
	padding: 0 !important;
	border: 1px solid rgba(100, 103, 76, 0.25) !important;
	border-radius: 50% !important;
	background: transparent !important;
	color: var(--go-ux-olive-dark) !important;
	cursor: pointer;
}

html body .go-sg-dialog__close:hover {
	background: rgba(100, 103, 76, 0.08) !important;
}

.go-sg-dialog .go-sg-dialog__intro {
	margin: 10px 0 20px !important;
	font-size: 15px;
	line-height: 1.6;
}

.go-sg--modal .go-sg__methods {
	gap: 16px;
	margin-top: 16px;
}

.go-sg--modal .go-sg__method {
	padding: 20px 18px 18px 64px;
}

.go-sg--modal .go-sg__step {
	left: 18px;
	top: 20px;
	width: 32px;
	height: 32px;
	font-size: 15px;
}

@media (max-width: 860px) {
	.go-sg__top,
	.go-sg__methods {
		grid-template-columns: minmax(0, 1fr);
	}

	.go-sg .go-sg__tips ul {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 600px) {
	.go-sg-page {
		padding: 28px 16px 64px;
	}

	.go-sg__table-wrap {
		padding: 16px 12px 14px;
	}

	.go-sg .go-sg__table th,
	.go-sg .go-sg__table td {
		padding: 9px 6px !important;
		font-size: 14px;
	}

	.go-sg__us {
		min-width: 56px;
		padding: 4px 8px;
		font-size: 13px;
	}

	.go-sg__calc {
		padding: 20px;
	}

	.go-sg__method,
	.go-sg--modal .go-sg__method {
		padding: 20px 18px 18px 62px;
	}

	.go-sg__step,
	.go-sg--modal .go-sg__step {
		left: 16px;
		top: 18px;
	}

	/* Pop-up als paneel van onderen */
	.go-sg-dialog {
		width: 100%;
		max-height: 92vh;
		margin: auto 0 0;
		border-radius: 22px 22px 0 0;
	}

	.go-sg-dialog[open] {
		animation-name: go-sg-up;
	}

	.go-sg-dialog__inner {
		padding: 22px 16px 28px;
	}
}

@keyframes go-sg-up {
	from {
		opacity: 0;
		transform: translateY(40px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.go-sg-dialog[open] {
		animation: none;
	}
}

.go-sg__methods {
	align-items: start;
}

.go-sg .go-sg__method-img {
	max-width: 220px;
}

.go-sg .go-sg__calc-input input:focus,
.go-sg .go-sg__calc-input input:focus-visible {
	outline: none !important;
	border: 0 !important;
	box-shadow: none !important;
}

/* -------------------------------------------------------------------------
   34. Blogs: één doorlopend lichtcrème vlak (geen witte stroken naast de tekst)
       + FAQ-accordeon in dezelfde stijl als op de productpagina
   ------------------------------------------------------------------------- */
body.single-post,
body:has(main.go-story),
body:has(main.go-sg-page) {
	background-color: var(--go-ux-cream-2) !important;
}

/* Elementor-blokken in artikelen: geen eigen vlak meer, de pagina is al crème */
.go-article__body .e-con,
.go-article__body .e-con > .e-con-inner {
	background-color: transparent !important;
}


/* FAQ in blogs (Elementor nested accordion) */
.go-article__body .e-n-accordion {
	display: grid;
	gap: 12px;
	max-width: 760px;
	margin: 0 auto;
}

.go-article__body .e-n-accordion-item {
	margin: 0 !important;
	border: 1px solid rgba(100, 103, 76, 0.14) !important;
	border-radius: 16px !important;
	background: rgba(255, 255, 255, 0.55) !important;
	overflow: hidden;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.go-article__body .e-n-accordion-item[open] {
	background: rgba(255, 255, 255, 0.8) !important;
	border-color: rgba(100, 103, 76, 0.22) !important;
}

.go-article__body .e-n-accordion-item > .e-n-accordion-item-title {
	position: relative;
	display: block !important;
	padding: 20px 64px 20px 24px !important;
	border: 0 !important;
	background: transparent !important;
	cursor: pointer;
	list-style: none;
}

.go-article__body .e-n-accordion-item > .e-n-accordion-item-title::-webkit-details-marker {
	display: none;
}

.go-article__body .e-n-accordion-item-title-header {
	display: block !important;
}

.go-article__body .e-n-accordion-item-title-text,
.go-article__body .e-n-accordion-item-title-text * {
	margin: 0 !important;
	font: 700 16px/1.45 Lato, sans-serif !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: var(--go-ux-olive-dark) !important;
}

.go-article__body .e-n-accordion-item-title-icon {
	display: none !important;
}

/* Plusje dat een min wordt */
.go-article__body .e-n-accordion-item > .e-n-accordion-item-title::before,
.go-article__body .e-n-accordion-item > .e-n-accordion-item-title::after {
	content: "";
	position: absolute;
	right: 30px;
	top: 50%;
	width: 12px;
	height: 1.5px;
	margin-top: -0.75px;
	background: var(--go-ux-olive);
	transition: transform 0.25s ease;
}

.go-article__body .e-n-accordion-item > .e-n-accordion-item-title::after {
	transform: rotate(90deg);
}

.go-article__body .e-n-accordion-item[open] > .e-n-accordion-item-title::after {
	transform: rotate(90deg) scaleX(0);
}

.go-article__body .e-n-accordion-item > .e-n-accordion-item-title:hover .e-n-accordion-item-title-text {
	color: var(--go-ux-olive) !important;
}

.go-article__body .e-n-accordion-item > .e-n-accordion-item-title:focus-visible {
	outline: 2px solid var(--go-ux-olive);
	outline-offset: -2px;
	border-radius: 16px;
}

/* Antwoord */
.go-article__body .e-n-accordion-item > [role="region"],
.go-article__body .e-n-accordion-item > .e-con {
	margin: 0 !important;
	padding: 0 24px 22px !important;
	border: 0 !important;
	background: transparent !important;
}

.go-article__body .e-n-accordion-item > [role="region"] .elementor-widget-text-editor,
.go-article__body .e-n-accordion-item > [role="region"] p {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 15.5px !important;
	line-height: 1.7 !important;
	color: var(--go-ux-text) !important;
}

@media (max-width: 767px) {
	.go-article__body .e-n-accordion-item > .e-n-accordion-item-title {
		padding: 17px 52px 17px 18px !important;
	}

	.go-article__body .e-n-accordion-item-title-text,
	.go-article__body .e-n-accordion-item-title-text * {
		font-size: 15px !important;
	}

	.go-article__body .e-n-accordion-item > .e-n-accordion-item-title::before,
	.go-article__body .e-n-accordion-item > .e-n-accordion-item-title::after {
		right: 22px;
	}

	.go-article__body .e-n-accordion-item > [role="region"],
	.go-article__body .e-n-accordion-item > .e-con {
		padding: 0 18px 18px !important;
	}
}

html body .go-article__body .e-n-accordion .e-n-accordion-item > [role="region"] {
	padding: 0 24px 22px !important;
}

@media (max-width: 767px) {
	html body .go-article__body .e-n-accordion .e-n-accordion-item > [role="region"] {
		padding: 0 18px 18px !important;
	}
}

.go-article__body .elementor-widget-n-accordion {
	margin-top: 8px !important;
	margin-bottom: 44px !important;
}

/* Blogs op mobiel: geneste Elementor-blokken niet elk extra laten inspringen (was 44px per kant) */
@media (max-width: 767px) {
	.go-article__body .e-con,
	.go-article__body .e-con > .e-con-inner {
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

/* "Style het met"-productblok in blogs: los vlak op de crème pagina */
html body .go-article__body .elementor-widget-shortcode:has(.style-met-wrapper),
html body .go-article__body .elementor-widget-shortcode:has(.style-met-wrapper) {
	background: rgba(255, 255, 255, 0.6) !important;
	border: 1px solid rgba(100, 103, 76, 0.14) !important;
}

/* Kop van het productblok als titel binnen de kaart */
html body .go-article__body .elementor-widget-shortcode .go-shopblock-title {
	max-width: none !important;
	margin: 0 0 26px !important;
	padding: 0 !important;
}

html body .go-article__body .elementor-widget-shortcode .go-shopblock-title .elementor-heading-title {
	margin: 0 !important;
	font-family: "Karin-Custom", Karin, serif !important;
	font-size: clamp(18px, 2vw, 22px) !important;
	line-height: 1.35 !important;
	letter-spacing: 0.14em !important;
	text-align: center !important;
	text-wrap: balance;
	color: var(--go-ux-olive) !important;
}

/* Scrolleffecten (vervagen/vergroten) op koppen in blogs uit: tekst bleef wazig en stak buiten de kaart */
html body .go-article__body .elementor-widget-heading.elementor-motion-effects-element {
	filter: none !important;
	transform: none !important;
}

/* -------------------------------------------------------------------------
   35. Productgalerij: pijlen, teller en scrollbare miniaturenrij
   ------------------------------------------------------------------------- */
.go-pdp__stage {
	position: relative;
}

html body .go-pdp__nav {
	position: absolute;
	top: 50%;
	z-index: 3;
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	min-width: 0;
	margin-top: -24px;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: rgba(239, 236, 217, 0.92) !important;
	color: var(--go-ux-olive-dark) !important;
	box-shadow: 0 4px 16px rgba(20, 22, 12, 0.18);
	cursor: pointer;
	opacity: 0;
	transition: opacity 0.2s ease, transform 0.2s ease, background-color 0.2s ease;
}

.go-pdp__nav--prev {
	left: 16px;
}

.go-pdp__nav--next {
	right: 16px;
}

.go-pdp__stage:hover .go-pdp__nav,
.go-pdp__nav:focus-visible {
	opacity: 1;
}

html body .go-pdp__nav:hover {
	background: #fff !important;
	transform: scale(1.05);
}

html body .go-pdp__nav:disabled {
	opacity: 0 !important;
	pointer-events: none;
}

.go-pdp__nav:focus-visible {
	outline: 2px solid var(--go-ux-olive);
	outline-offset: 3px;
}

.go-pdp__count {
	position: absolute;
	right: 16px;
	bottom: 16px;
	z-index: 3;
	padding: 6px 12px;
	border-radius: 999px;
	background: rgba(36, 38, 26, 0.55);
	color: var(--go-ux-cream);
	font: 700 12.5px/1 Lato, sans-serif;
	letter-spacing: 0.06em;
	font-variant-numeric: tabular-nums;
	backdrop-filter: blur(4px);
	pointer-events: none;
}

/* Miniaturenrij met pijltjes en zachte rand als er meer foto's zijn */
.go-pdp__thumbs-wrap {
	position: relative;
	margin-top: 12px;
}

.go-pdp__thumbs-wrap .go-pdp__thumbs {
	margin-top: 0 !important;
	scroll-behavior: smooth;
	scroll-padding: 0 40px;
}

.go-pdp__thumbs-wrap.has-more-right .go-pdp__thumbs {
	-webkit-mask-image: linear-gradient(to right, #000 calc(100% - 72px), transparent);
	mask-image: linear-gradient(to right, #000 calc(100% - 72px), transparent);
}

.go-pdp__thumbs-wrap.has-more-left .go-pdp__thumbs {
	-webkit-mask-image: linear-gradient(to left, #000 calc(100% - 72px), transparent);
	mask-image: linear-gradient(to left, #000 calc(100% - 72px), transparent);
}

.go-pdp__thumbs-wrap.has-more-left.has-more-right .go-pdp__thumbs {
	-webkit-mask-image: linear-gradient(to right, transparent, #000 72px, #000 calc(100% - 72px), transparent);
	mask-image: linear-gradient(to right, transparent, #000 72px, #000 calc(100% - 72px), transparent);
}

html body .go-pdp__tnav {
	position: absolute;
	top: 50%;
	z-index: 2;
	display: none;
	place-items: center;
	width: 34px;
	height: 34px;
	min-width: 0;
	margin-top: -17px;
	padding: 0 !important;
	border: 1px solid rgba(100, 103, 76, 0.2) !important;
	border-radius: 50% !important;
	background: var(--go-ux-cream) !important;
	color: var(--go-ux-olive-dark) !important;
	box-shadow: 0 2px 8px rgba(20, 22, 12, 0.12);
	cursor: pointer;
}

html body .go-pdp__tnav svg {
	width: 16px;
	height: 16px;
}

.go-pdp__tnav--prev {
	left: -4px;
}

.go-pdp__tnav--next {
	right: -4px;
}

.go-pdp__thumbs-wrap.has-more-left .go-pdp__tnav--prev,
.go-pdp__thumbs-wrap.has-more-right .go-pdp__tnav--next {
	display: grid;
}

html body .go-pdp__tnav:hover {
	background: #fff !important;
}

/* Telefoon/tablet: pijlen altijd zichtbaar (geen hover), iets kleiner */
@media (hover: none), (max-width: 900px) {
	html body .go-pdp__nav {
		width: 40px;
		height: 40px;
		margin-top: -20px;
		opacity: 0.9;
	}

	html body .go-pdp__nav svg {
		width: 18px;
		height: 18px;
	}

	.go-pdp__nav--prev {
		left: 10px;
	}

	.go-pdp__nav--next {
		right: 10px;
	}

	.go-pdp__count {
		right: 12px;
		bottom: 12px;
	}

	/* Op een touchscherm swipe je door de miniaturen; pijltjes daar niet nodig */
	html body .go-pdp__tnav {
		display: none !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.go-pdp__thumbs-wrap .go-pdp__thumbs {
		scroll-behavior: auto;
	}
}

/* -------------------------------------------------------------------------
   36. Commerciële modules: productrijen, categorie-snelkoppelingen, routes
   ------------------------------------------------------------------------- */
.go-mod {
	margin: 40px 0;
	padding: 30px 28px 32px;
	border: 1px solid rgba(100, 103, 76, 0.14);
	border-radius: 22px;
	background: rgba(255, 255, 255, 0.55);
}

.go-mod .go-mod__title {
	margin: 0 0 8px !important;
	font-family: "Karin-Custom", Karin, serif !important;
	font-size: clamp(19px, 2.2vw, 24px) !important;
	line-height: 1.3 !important;
	letter-spacing: 0.1em !important;
	text-align: center;
	text-transform: uppercase;
	color: var(--go-ux-olive) !important;
}

.go-mod .go-mod__text {
	max-width: 560px;
	margin: 0 auto 24px !important;
	font-size: 15px !important;
	line-height: 1.65 !important;
	text-align: center !important;
	color: var(--go-ux-text) !important;
}

.go-mod .go-grid--mod {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 28px 18px !important;
	margin: 0 !important;
}

.go-mod .go-grid--mod.go-grid--n2 {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	max-width: 480px;
	margin: 0 auto !important;
}

.go-mod .go-grid--mod.go-grid--n4 {
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.go-mod .go-mod__cta {
	margin: 26px 0 0 !important;
	text-align: center !important;
}

/* In blogartikelen: module even breed als de andere kaarten (860px), gecentreerd */
.go-article__body .go-mod {
	max-width: 860px;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* In artikeltekst: kaarten niet als gewone tekstlinks stylen */
.go-article__body .go-mod a,
.go-cat-seo .go-mod a {
	text-decoration: none !important;
}

.go-article__body .go-mod .go-card__title,
.go-cat-seo .go-mod .go-card__title {
	margin: 0 !important;
}

.go-article__body .go-mod ul,
.go-cat-seo .go-mod ul {
	padding: 0 !important;
	list-style: none !important;
}

.go-article__body .go-mod li,
.go-cat-seo .go-mod li {
	margin: 0 !important;
	padding: 0 !important;
}

.go-article__body .go-mod li::before,
.go-cat-seo .go-mod li::before {
	display: none !important;
}

/* Snelkoppelingen goud/zilver */
.go-catlinks {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin: 18px 0 4px;
}

a.go-catlink {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0 18px;
	border: 1px solid rgba(100, 103, 76, 0.3);
	border-radius: 999px;
	background: transparent;
	color: var(--go-ux-olive-dark) !important;
	font: 700 13.5px/1 Lato, sans-serif;
	letter-spacing: 0.03em;
	text-decoration: none !important;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

a.go-catlink:hover {
	border-color: var(--go-ux-olive);
	background: var(--go-ux-olive);
	color: var(--go-ux-cream) !important;
}

/* Homepage: drie routes */
.go-routes {
	max-width: 1188px;
	margin: 0 auto;
	padding: 64px 20px;
}

.go-routes__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.go-route {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: 22px;
	background: var(--go-ux-cream-2);
	border: 1px solid rgba(100, 103, 76, 0.12);
	color: var(--go-ux-text) !important;
	text-decoration: none !important;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.go-route:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 34px rgba(40, 42, 28, 0.12);
}

.go-route__img {
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.go-route__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}

.go-route:hover .go-route__img img {
	transform: scale(1.03);
}

.go-route__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 22px 22px 24px;
}

.go-route .go-route__title {
	margin: 0 0 8px !important;
	font-family: "Karin-Custom", Karin, serif !important;
	font-size: 20px !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase;
	color: var(--go-ux-olive) !important;
}

.go-route .go-route__text {
	flex: 1;
	margin: 0 0 18px !important;
	font-size: 15px;
	line-height: 1.6;
	color: var(--go-ux-text);
}

.go-route__cta {
	align-self: flex-start;
	font: 700 13.5px/1 Lato, sans-serif;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--go-ux-olive-dark);
	border-bottom: 1px solid currentColor;
	padding-bottom: 4px;
}

@media (max-width: 900px) {
	.go-routes__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}

	.go-route {
		flex-direction: row;
	}

	.go-route__img {
		flex: 0 0 38%;
		aspect-ratio: auto;
	}

	.go-routes {
		padding: 44px 16px;
	}
}

@media (max-width: 767px) {
	.go-mod {
		margin: 32px 0;
		padding: 24px 14px 26px;
	}

	.go-mod .go-grid--mod,
	.go-mod .go-grid--mod.go-grid--n4 {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 22px 12px !important;
	}

	.go-mod .go-grid--mod.go-grid--n3 > li:last-child {
		grid-column: 1 / -1;
		width: calc(50% - 6px);
		justify-self: center;
	}

	.go-route__body {
		padding: 16px 16px 18px;
	}

	.go-route .go-route__title {
		font-size: 17px !important;
	}

	.go-route .go-route__text {
		font-size: 14px;
		margin-bottom: 12px !important;
	}
}

.go-route .go-route__title,
.go-route .go-route__text {
	display: block;
}

/* Waarschuwing/tip in artikelen */
.go-article__body .go-callout {
	margin: 24px 0 !important;
	padding: 18px 20px !important;
	border-left: 3px solid var(--go-ochre, #c4a35a);
	border-radius: 0 14px 14px 0;
	background: rgba(255, 255, 255, 0.6);
	font-size: 15.5px !important;
	line-height: 1.65 !important;
}

/* Goudlagentabel */
.go-article__body table.go-plating-table {
	width: 100%;
	margin: 18px 0 14px !important;
	border-collapse: separate !important;
	border-spacing: 0;
	overflow: hidden;
	border: 1px solid rgba(100, 103, 76, 0.16) !important;
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.55);
	font-size: 15px;
}

.go-article__body table.go-plating-table th,
.go-article__body table.go-plating-table td {
	padding: 12px 14px !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(100, 103, 76, 0.1) !important;
	text-align: left;
	vertical-align: top;
	background: transparent !important;
}

.go-article__body table.go-plating-table thead th {
	background: var(--go-ux-olive) !important;
	color: var(--go-ux-cream) !important;
	font: 700 12px/1.3 Lato, sans-serif;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.go-article__body table.go-plating-table tbody tr:last-child td {
	border-bottom: 0 !important;
}

.go-article__body table.go-plating-table td:nth-child(2) {
	font-weight: 700;
	white-space: nowrap;
	color: var(--go-ux-olive-dark);
}

@media (max-width: 600px) {
	.go-article__body table.go-plating-table th,
	.go-article__body table.go-plating-table td {
		padding: 10px 9px !important;
		font-size: 13.5px;
	}
}

/* Productkaarten in modules binnen artikelen: zelfde maat en uitlijning als in de winkel */
html body .go-article__body .go-mod .go-card__title,
html body .go-cat-seo .go-mod .go-card__title {
	margin: 0 0 6px !important;
	font-size: 14px !important;
	line-height: 1.45 !important;
	letter-spacing: 0.12em !important;
	text-align: center !important;
}

html body .go-article__body .go-mod .go-card,
html body .go-cat-seo .go-mod .go-card {
	text-align: center;
}

html body .go-article__body .go-mod .go-card .price,
html body .go-cat-seo .go-mod .go-card .price {
	justify-content: center;
	font-size: 14px !important;
}

/* -------------------------------------------------------------------------
   37. Productpagina: materiaal & verzorging, combinatietip oorringen
   ------------------------------------------------------------------------- */
.go-pdp__material ul.go-pdp__material-links {
	margin: 4px 0 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.go-pdp__material ul.go-pdp__material-links li {
	position: relative;
	margin: 0 0 6px !important;
	padding-left: 18px !important;
}

.go-pdp__material ul.go-pdp__material-links li::before {
	content: "→";
	position: absolute;
	left: 0;
	color: var(--go-ux-olive);
}

.go-pdp p.go-pdp__combo {
	margin: 18px 0 0 !important;
	padding: 14px 16px !important;
	border-radius: var(--go-ux-radius);
	background: rgba(100, 103, 76, 0.07);
	font-size: 14.5px !important;
	line-height: 1.6 !important;
	color: var(--go-ux-text) !important;
}

.go-pdp p.go-pdp__combo strong {
	color: var(--go-ux-olive-dark);
}

.go-pdp p.go-pdp__combo a {
	display: inline-block;
	color: var(--go-ux-olive) !important;
	font-weight: 700;
	text-decoration: underline !important;
	text-underline-offset: 3px;
	white-space: nowrap;
}

/* -------------------------------------------------------------------------
   38. Keuzehulp, cookiebanner, feitenblok (A/B-test t3)
   ------------------------------------------------------------------------- */
.go-quiz {
	max-width: 860px;
	margin: 0 auto;
	padding: 36px 32px 40px;
	border: 1px solid rgba(100, 103, 76, 0.14);
	border-radius: 22px;
	background: rgba(255, 255, 255, 0.55);
}

.go-quiz__step {
	margin: 0;
	padding: 0;
	border: 0;
	min-width: 0;
}

.go-quiz .go-quiz__q {
	display: block;
	width: 100%;
	margin: 0 0 22px;
	padding: 0;
	font-family: "Karin-Custom", Karin, serif;
	font-size: clamp(20px, 2.6vw, 27px);
	line-height: 1.3;
	letter-spacing: 0.08em;
	text-align: center;
	text-transform: uppercase;
	color: var(--go-ux-olive);
}

.go-quiz__count {
	display: block;
	margin-bottom: 10px;
	font: 700 12px/1 Lato, sans-serif;
	letter-spacing: 0.16em;
	color: rgba(75, 77, 51, 0.65);
}

.go-quiz__options {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}

.go-quiz button.go-quiz__opt {
	min-height: 52px;
	padding: 12px 24px;
	border: 1px solid rgba(100, 103, 76, 0.35);
	border-radius: 999px;
	background: #fff;
	color: var(--go-ux-olive-dark);
	font: 700 15px/1.2 Lato, sans-serif;
	letter-spacing: 0.02em;
	text-transform: none;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.go-quiz button.go-quiz__opt:hover,
.go-quiz button.go-quiz__opt:focus-visible,
.go-quiz button.go-quiz__opt[aria-pressed="true"] {
	border-color: var(--go-ux-olive);
	background: var(--go-ux-olive);
	color: var(--go-ux-cream);
}

.go-quiz button.go-quiz__opt:active {
	transform: scale(0.98);
}

.go-quiz__nav {
	display: flex;
	justify-content: center;
	gap: 22px;
	margin-top: 22px;
}

.go-quiz .go-quiz__nav button,
.go-quiz button.go-quiz__restart {
	padding: 6px 2px;
	border: 0;
	background: none;
	color: var(--go-ux-olive);
	font: 700 14px/1.2 Lato, sans-serif;
	text-decoration: underline;
	text-underline-offset: 3px;
	text-transform: none;
	cursor: pointer;
}

.go-quiz__result:focus {
	outline: none;
}

.go-quiz .go-quiz__result-title {
	margin: 0 0 8px !important;
	font-family: "Karin-Custom", Karin, serif !important;
	font-size: clamp(20px, 2.6vw, 27px) !important;
	letter-spacing: 0.1em;
	text-align: center;
	text-transform: uppercase;
	color: var(--go-ux-olive) !important;
}

.go-quiz .go-quiz__result-text {
	max-width: 560px;
	margin: 0 auto 26px !important;
	font-size: 15.5px;
	line-height: 1.65;
	text-align: center;
	color: var(--go-ux-text);
}

.go-quiz .go-grid--mod {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 28px 18px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.go-quiz .go-grid--mod.go-grid--n2 {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	max-width: 520px;
	margin: 0 auto !important;
}

.go-quiz .go-grid--mod.go-grid--n1 {
	grid-template-columns: minmax(0, 260px) !important;
	justify-content: center;
}

.go-card__cta {
	display: inline-block;
	margin-top: 8px;
	color: var(--go-ux-olive) !important;
	font: 700 13px/1.2 Lato, sans-serif;
	letter-spacing: 0.04em;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

.go-quiz__loading {
	text-align: center;
	color: var(--go-ux-text);
}

.go-quiz__tips {
	max-width: 620px;
	margin: 26px auto 0;
	text-align: center;
}

.go-quiz__tips p {
	margin: 0 0 8px !important;
	font-size: 15px;
	line-height: 1.6;
	color: var(--go-ux-text);
}

.go-quiz__tips a {
	color: var(--go-ux-olive) !important;
	font-weight: 700;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

.go-quiz .go-quiz__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 18px;
	margin: 28px 0 0 !important;
}

/* Cookiebanner */
.go-consent {
	position: fixed;
	z-index: 99990;
	left: 20px;
	bottom: 20px;
	max-width: 400px;
	padding: 22px 22px 20px;
	border: 1px solid rgba(100, 103, 76, 0.18);
	border-radius: 18px;
	background: var(--go-ux-cream-2);
	box-shadow: 0 18px 44px rgba(40, 42, 28, 0.18);
	color: var(--go-ux-text);
}

.go-consent[hidden] {
	display: none;
}

.go-consent .go-consent__title {
	margin: 0 0 8px !important;
	font: 700 16px/1.35 Lato, sans-serif;
	color: var(--go-ux-olive-dark);
}

.go-consent .go-consent__text {
	margin: 0 0 16px !important;
	font-size: 14px;
	line-height: 1.6;
}

.go-consent__text a {
	color: var(--go-ux-olive) !important;
	font-weight: 700;
	text-decoration: underline;
}

.go-consent__actions {
	display: flex;
	gap: 10px;
}

.go-consent__actions .go-btn {
	flex: 1;
	min-height: 44px;
	padding: 10px 16px;
	font-size: 14px;
}

/* Feitenblok onder de koopknop (A/B-test t3, variant B) */
.go-pdp__facts {
	display: grid;
	gap: 0;
	margin: 16px 0 0;
	padding: 4px 16px;
	border: 1px solid rgba(100, 103, 76, 0.16);
	border-radius: var(--go-ux-radius);
	background: rgba(255, 255, 255, 0.5);
}

.go-pdp__facts > div {
	display: grid;
	grid-template-columns: 110px minmax(0, 1fr);
	gap: 12px;
	padding: 10px 0;
	border-bottom: 1px solid rgba(100, 103, 76, 0.1);
}

.go-pdp__facts > div:last-child {
	border-bottom: 0;
}

.go-pdp__facts dt {
	margin: 0;
	font: 700 12px/1.6 Lato, sans-serif;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--go-ux-olive-dark);
}

.go-pdp__facts dd {
	margin: 0;
	font-size: 14.5px;
	line-height: 1.55;
	color: var(--go-ux-text);
}

.go-pdp__facts dd a {
	color: var(--go-ux-olive) !important;
	font-weight: 700;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

@media (max-width: 767px) {
	.go-quiz {
		padding: 26px 14px 30px;
	}

	.go-quiz .go-grid--mod {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 22px 12px !important;
	}

	.go-quiz__options {
		flex-direction: column;
		align-items: stretch;
	}

	.go-consent {
		left: 12px;
		right: 12px;
		bottom: 12px;
		max-width: none;
	}

	.go-pdp__facts > div {
		grid-template-columns: 96px minmax(0, 1fr);
	}
}

/* -------------------------------------------------------------------------
   37. Collectiepagina's (/parel-oorbellen/, /nikkelvrije-oorbellen/)
       Korte intro, direct de producten, daarna de uitleg in artikelopmaak.
   ------------------------------------------------------------------------- */
.go-coll .go-coll__head {
	padding-bottom: 0;
}

.go-coll .go-coll__intro {
	max-width: 640px;
	margin: 0 auto;
}

.go-coll .go-coll__intro p {
	margin: 0 0 14px !important;
	font-size: 17px !important;
	line-height: 1.7 !important;
	color: var(--go-ux-text) !important;
}

.go-coll .go-coll__products {
	max-width: 1180px;
	margin: 0 auto;
	padding: 34px 20px 24px;
}

.go-coll .go-grid--coll {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 40px 24px;
}

.go-coll .go-grid--coll.go-grid--n3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	max-width: 900px;
	margin: 0 auto !important;
}

.go-coll .go-grid--coll.go-grid--n2,
.go-coll .go-grid--coll.go-grid--n1 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-width: 600px;
	margin: 0 auto !important;
}

.go-coll .go-grid--coll .go-card a {
	text-decoration: none !important;
}

@media (max-width: 1199px) {
	.go-coll .go-grid--coll {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.go-coll .go-grid--coll.go-grid--n4 {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 32px 16px;
	}
}

@media (max-width: 767px) {
	.go-coll .go-coll__head {
		padding-top: 28px;
	}

	.go-coll .go-coll__intro p {
		font-size: 16px !important;
	}

	.go-coll .go-coll__products {
		padding: 22px 16px 8px;
	}

	.go-coll .go-grid--coll,
	.go-coll .go-grid--coll.go-grid--n4,
	.go-coll .go-grid--coll.go-grid--n3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 28px 14px;
	}

	.go-coll .go-grid--coll.go-grid--n3 > li:last-child {
		grid-column: 1 / -1;
		width: calc(50% - 7px);
		justify-self: center;
	}
}

.go-coll .go-coll__chips {
	margin: 22px auto 0;
	max-width: 720px;
}

.go-coll .go-grid--coll.go-grid--n5 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1199px) {
	.go-coll .go-grid--coll.go-grid--n5 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.go-coll .go-grid--coll.go-grid--n5 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.go-coll .go-coll__chips {
		margin-top: 16px;
	}
}

.go-sg__calc .go-sg__calc-hint {
	margin: 0 0 14px !important;
	font-size: 14px !important;
	line-height: 1.6 !important;
	color: var(--go-ux-cream) !important;
	opacity: 0.9;
}

/* Keuzehulp: reden per cadeau-resultaat */
.go-quiz .go-quiz__why {
	margin: 6px 0 10px !important;
	font-size: 13.5px !important;
	line-height: 1.5 !important;
	text-align: center;
	color: var(--go-ux-text) !important;
}

/* Cadeaugids: miskoop-check */
.go-article__body .go-check ul {
	margin: 8px 0 14px !important;
}

.go-article__body .go-check .go-btn {
	text-decoration: none !important;
}

/* -------------------------------------------------------------------------
   38. Productpagina: afmetingen + maatuitleg oorringen; winkelwagen geruststelling; checkout
   ------------------------------------------------------------------------- */
.go-pdp .go-pdp__dims {
	margin: -4px 0 14px !important;
	font-size: 14.5px !important;
	line-height: 1.55 !important;
	color: var(--go-ux-text) !important;
}

.go-pdp__dims-label {
	margin-right: 6px;
	font-weight: 700;
	color: var(--go-ux-olive);
}

.go-pdp a.go-pdp__dims-link {
	margin-left: 4px;
	color: var(--go-ux-olive) !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
	white-space: nowrap;
}

.go-hoop-dialog .go-hoop__intro,
.go-hoop-dialog .go-hoop__note,
.go-hoop-dialog .go-hoop__list li {
	font-size: 15px;
	line-height: 1.6;
	color: var(--go-ux-text);
}

.go-hoop__sizes {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: center;
	gap: 22px;
	margin: 18px 0 8px;
}

.go-hoop__size {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	margin: 0;
}

.go-hoop__ring {
	display: block;
	box-sizing: border-box;
	border: 2px solid var(--go-ochre, #c4a35a);
	border-radius: 50%;
}

.go-hoop__size figcaption {
	font: 700 13px Lato, sans-serif;
	color: var(--go-ux-olive);
}

.go-hoop-dialog .go-hoop__note {
	font-size: 13.5px;
	text-align: center;
}

.go-hoop__list {
	margin: 14px 0 !important;
	padding-left: 18px !important;
}

.go-hoop__list li {
	margin: 0 0 6px;
}

.go-cart-reassure {
	margin: 14px 0 6px !important;
	padding: 0 !important;
	list-style: none !important;
	font-size: 14px;
	line-height: 1.5;
	color: var(--go-ux-text);
}

.go-cart-reassure li {
	position: relative;
	margin: 0 0 4px !important;
	padding-left: 18px !important;
}

.go-cart-reassure li::before {
	content: "✦";
	position: absolute;
	left: 0;
	top: 0;
	font-size: 10px;
	line-height: 21px;
	color: var(--go-ochre, #c4a35a);
}

.go-cart-pay {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 8px 0 0 !important;
}

.go-cart-pay img {
	width: 38px;
	height: 26px;
	padding: 2px 4px;
	object-fit: contain;
	border: 1px solid rgba(100, 103, 76, 0.18);
	border-radius: 5px;
	background: #fff;
}

/* "Verzendopties worden bij het afrekenen bijgewerkt": overbodig, verzending NL staat al vast */
.woocommerce-cart .woocommerce-shipping-destination {
	display: none !important;
}

.woocommerce-checkout .go-addr2-collapsed {
	display: none !important;
}

.go-addr2-toggle {
	display: inline-block;
	margin: 8px 0 0;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	color: var(--go-ux-olive) !important;
	font: 700 14px Lato, sans-serif !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
	cursor: pointer;
}

/* =========================================================================
   39. Feedback Gwen (12-11-2026)
   ========================================================================= */

/* Overal Lato als basislettertype (thema/Elementor-kit viel terug op Helvetica) */
html body[class],
html body[class] button,
html body[class] input,
html body[class] select,
html body[class] textarea,
html body[class] table,
html body[class] .hero-banner,
html body[class] .testimonial-stars {
	font-family: Lato, "Helvetica Neue", Arial, sans-serif;
}

/* Handgeschreven lettertype (bestand staat al in uploads) */
@font-face {
	font-family: "HomemadeApple";
	src: url("/wp-content/uploads/2026/02/HomemadeApple-Regular.ttf") format("truetype");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

/* Productoverzicht: naam groter en dikker, prijs kleiner en dunner */
.go-card__title {
	font-size: 15px !important;
	font-weight: 700 !important;
	-webkit-text-stroke: 0.2px currentColor;
}

.go-card__price,
.go-card__price .amount,
.go-card__price bdi {
	font-size: 13px !important;
	font-weight: 400 !important;
	letter-spacing: 0.08em !important;
}

@media (max-width: 767px) {
	.go-card__title {
		font-size: 13.5px !important;
	}

	.go-card__price,
	.go-card__price .amount,
	.go-card__price bdi {
		font-size: 12.5px !important;
	}
}

/* Shop-/categoriebanners: lange handgemaakte lijn, uiteinden buiten beeld */
[class$="banner__divider"] {
	/* Gescheurde rand (oorspronkelijke vorm), breder dan de banner: de uiteinden vallen buiten beeld */
	left: -7% !important;
	right: auto !important;
	bottom: -2px !important;
	width: 114% !important;
	/* Vaste hoogte: op een breed scherm niet meeschalen tot een dikke strook */
	height: clamp(16px, 1.9vw, 28px) !important;
	aspect-ratio: auto;
	transform: none;
	background: url("/wp-content/themes/hello-elementor-child/assets/lines/rand-gescheurd.svg") center / 100% 100% no-repeat;
}

@media (max-width: 1024px) {
	[class$="banner__divider"] {
		bottom: -2px !important;
	}
}

[class$="banner__divider"] img {
	display: none !important;
}

/* De scheurrand vormt de onderkant: geen ronde onderhoeken eronder (gaven een vaag boogje) */
[class$="-banner"]:has([class$="banner__divider"]) {
	border-bottom-left-radius: 0 !important;
	border-bottom-right-radius: 0 !important;
}

/* Categoriebanners op mobiel: het sieraad hoger in beeld (niet achter het groene vlak) */
@media (max-width: 1024px) {
	/* Foto alleen boven het groene naamvlak (130px): het sieraad onderin de foto blijft zichtbaar */
	.pendants-banner,
	.ringen-banner {
		background-size: auto calc(100% - 100px) !important;
		background-position: 50% 0 !important;
	}
}

/* Mobiel: sfeerfoto (arch) na de eerste rij producten in plaats van na de tweede */
@media (max-width: 767px) {
	.go-grid > .go-card:nth-child(-n+2):not(.go-card--arch) {
		order: -2;
	}

	.go-grid > .go-card--arch {
		order: -1;
	}
}

/* Homepage "Gezien in": terra met papiergrain in plaats van een egaal vlak */
.featured-in-section {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1  0 0 0 0 .96  0 0 0 0 .88  0 0 0 .7 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E") !important;
	background-repeat: repeat !important;
	background-size: 240px 240px !important;
}

/* Footer: vaalgroen grain (zelfde vlak als de categoriebanners) in plaats van het felgroene blad */
html body #custom-footer {
	background-color: #5f6550 !important;
	background-image: url("/wp-content/uploads/go-opt/groen-grain-1400.webp?v=2") !important;
	background-size: cover !important;
}

@media (max-width: 767px) {
	html body #custom-footer {
		background-image: url("/wp-content/uploads/go-opt/groen-grain-800.webp?v=2") !important;
	}
}

/* Over ons: linkkleur in de lopende tekst (was felroze/blauw) */
.page-id-4587 .elementor-widget-text-editor a {
	color: inherit !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

.page-id-4587 .elementor-widget-text-editor a:hover {
	color: #55280a !important;
}

/* Over ons: missie-quote in handschrift */
.elementor-element-5cb67fe p {
	font-family: "HomemadeApple", cursive !important;
	font-size: clamp(20px, 2.6vw, 30px) !important;
	line-height: 1.75 !important;
	letter-spacing: 0.02em !important;
}

/* Over ons: meer letterafstand in titels en tekst van de kaders */
.elementor-element-a2d3abb .selection-header,
.elementor-element-2ca80de .selection-header,
.elementor-element-7ac2f76 .selection-header {
	letter-spacing: 0.14em !important;
}

.elementor-element-5e1892a p,
.elementor-element-75859e1 p,
.elementor-element-0d14208 p {
	letter-spacing: 0.04em !important;
}

/* Minder strakke overgangen: handgemaakte (crème) lijn waar een gekleurd vlak tegen de crème achtergrond komt */
.elementor-element-5c3b4b5,
.elementor-element-3c409e0,
.elementor-element-d53305e,
.elementor-element-798c672 {
	position: relative;
}

.elementor-element-5c3b4b5::before,
.elementor-element-3c409e0::before,
.elementor-element-d53305e::before,
.elementor-element-798c672::after {
	content: "";
	position: absolute;
	left: -3%;
	width: 106%;
	aspect-ratio: 1700.79 / 14.17;
	background: url("/wp-content/uploads/2026/07/Handmade-lijn-efecd9.svg") center / 100% 100% no-repeat;
	z-index: 5;
	pointer-events: none;
	height: auto !important;
	bottom: auto;
	opacity: 1 !important;
	mix-blend-mode: normal !important;
	border-radius: 0 !important;
}

.elementor-element-5c3b4b5::before,
.elementor-element-3c409e0::before,
.elementor-element-d53305e::before {
	top: -2px;
	transform: scaleY(-1);
}

.elementor-element-798c672::after {
	bottom: -2px;
	top: auto !important;
}

/* Productpagina: Instagram-blok onderaan */
.go-insta {
	padding: 56px 20px 64px;
	text-align: center;
	background: #fdf4e3;
}

.go-insta__arrow {
	display: block;
	width: min(320px, 70%);
	height: auto;
	margin: 0 auto 18px;
}

.go-insta__title {
	margin: 0 0 8px !important;
	font-family: "Karin-Custom", Karin, serif !important;
	font-size: clamp(20px, 2.6vw, 28px) !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase;
	color: #6b3a1f !important;
}

.go-insta__text {
	margin: 0 auto 22px !important;
	max-width: 520px;
	font-size: 15px !important;
	letter-spacing: 0.04em;
	color: #8a5a3c !important;
}

.go-insta .go-btn {
	text-decoration: none !important;
}

/* Productpagina: echte Google-review bij de koopknop */
.go-pdp .go-pdp__review {
	margin: 18px 0 0;
	padding: 14px 16px;
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.55);
	border: 1px solid rgba(100, 103, 76, 0.14);
}

.go-pdp__review-stars {
	display: block;
	margin-bottom: 4px;
	font-size: 14px;
	letter-spacing: 2px;
	color: #c4a35a;
}

.go-pdp .go-pdp__review blockquote {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	font-size: 14.5px !important;
	font-style: italic;
	line-height: 1.55 !important;
	color: var(--go-ux-text) !important;
}

.go-pdp .go-pdp__review figcaption {
	margin-top: 6px;
	font-size: 12.5px;
	letter-spacing: 0.04em;
	color: var(--go-ux-olive);
}

/* Cadeaupagina's: korte regel over bestellen voor de feestdagen */
.go-coll .go-coll__note {
	max-width: 640px;
	margin: 14px auto 0 !important;
	padding: 10px 16px;
	border-radius: 999px;
	background: rgba(196, 163, 90, 0.16);
	font-size: 14.5px !important;
	color: var(--go-ux-olive-dark, #4d5038) !important;
	text-align: center;
}

/* Contentpagina's: de ruimte onder de inhoud in dezelfde crèmekleur als de pagina (geen witte balk boven de footer) */
.go-content-page main {
	background: var(--go-ux-cream);
}

/* Knop in een tekstblok (bijv. lookbook op wholesale en over ons): lichte tekst, geen onderstreping */
html body .elementor-widget-text-editor a.go-btn,
html body .elementor-widget-text-editor a.go-btn:visited {
	display: inline-flex;
	color: var(--go-ux-cream) !important;
	text-decoration: none !important;
}

html body .elementor-widget-text-editor a.go-btn:hover {
	color: #fff !important;
}

/* =========================================================================
   Wholesalepagina (.go-ws): tekst met foto's, collectiebeelden, stappen, FAQ
   ========================================================================= */
.go-content-page .elementor-widget-text-editor:has(.go-ws) {
	max-width: 1040px !important;
}

.go-ws {
	min-width: 0;
	max-width: 100%;
	--go-ws-gap: clamp(24px, 4vw, 56px);
}

.go-ws__split {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
	gap: var(--go-ws-gap);
	align-items: center;
	margin: 0 0 24px;
}

.go-ws__split--rev {
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
	margin-top: 48px;
}

.go-ws__split--rev .go-ws__text h2 {
	margin-top: 0 !important;
}

.go-ws__photo {
	margin: 0;
}

.go-ws__photo img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: 18px;
}

.go-ws__photo--arch img {
	border-radius: 999px 999px 18px 18px;
}

.go-ws__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 1.6em !important;
}

html body .elementor-widget-text-editor a.go-btn.go-btn--secondary {
	color: var(--go-ux-olive) !important;
	background: transparent;
	box-shadow: inset 0 0 0 1.5px var(--go-ux-olive);
}

html body .elementor-widget-text-editor a.go-btn.go-btn--secondary:hover {
	color: var(--go-ux-olive-dark) !important;
	background: rgba(100, 103, 76, 0.08);
}

.go-ws__usps {
	list-style: none;
	margin: 1em 0 0 !important;
	padding: 0 !important;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 32px;
}

.go-ws__usps li {
	position: relative;
	padding-left: 26px;
	margin: 0 !important;
}

.go-ws__usps li::before {
	content: "✦";
	position: absolute;
	left: 0;
	top: 0;
	color: var(--go-ochre, #c4a35a);
}

.go-ws__usps li strong {
	display: block;
}

.go-ws__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin: 24px 0 20px;
}

.go-ws__grid figure {
	margin: 0;
}

.go-ws__grid img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 14px;
}

.go-ws__steps {
	counter-reset: gows;
	list-style: none;
	margin: 1em 0 0 !important;
	padding: 0 !important;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
}

.go-ws__steps li {
	counter-increment: gows;
	margin: 0 !important;
	padding: 20px 18px;
	background: rgba(255, 255, 255, 0.45);
	border-radius: 16px;
	font-size: 15px;
	line-height: 1.55;
}

.go-ws__steps li::before {
	content: counter(gows);
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	margin-bottom: 12px;
	border-radius: 50%;
	background: var(--go-ux-olive);
	color: var(--go-ux-cream);
	font: 700 15px Lato, sans-serif;
}

.go-ws__steps li strong {
	display: block;
	margin-bottom: 4px;
}

.go-content-page .elementor-widget-text-editor .go-ws__faq h3 {
	margin: 1.6em 0 0.4em !important;
	font-family: Lato, sans-serif !important;
	font-size: 17px !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
	text-transform: none;
	-webkit-text-stroke: 0;
}

.go-ws__cta {
	margin: 56px 0 0;
	padding: clamp(28px, 4vw, 44px);
	text-align: center;
	background: rgba(255, 255, 255, 0.45);
	border-radius: 22px;
}

.go-ws__cta .go-ws__actions {
	justify-content: center;
}

.go-ws__cta-title {
	font-family: "Karin-Custom", Karin, serif;
	font-size: 22px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--go-ux-olive-dark);
}

@media (max-width: 900px) {
	.go-ws__steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.go-ws__split,
	.go-ws__split--rev {
		grid-template-columns: minmax(0, 1fr);
	}

	.go-ws__split--rev .go-ws__photo {
		order: 2;
	}

	.go-ws__photo img {
		aspect-ratio: 4 / 4.4;
	}

	.go-ws__usps {
		grid-template-columns: minmax(0, 1fr);
	}

	.go-ws__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.go-ws__steps {
		grid-template-columns: minmax(0, 1fr);
	}
}
