:root {
	--by4-pink: #ff13a7;
	--by4-pink-dark: #c864a6;
	--by4-pink-soft: #fff1fa;
	--by4-gold: #cbb780;
	--by4-gold-dark: #a98c42;
	--by4-gold-soft: #fbf5df;
	--by4-white: #ffffff;
	--by4-text: #2f2b2d;
	--by4-muted: #5f595d;
	--by4-border: #eaddeb;
	--by4-shadow: 0 14px 32px rgba(50, 28, 40, 0.13);
	--by4-shadow-soft: 0 8px 20px rgba(50, 28, 40, 0.09);
	--by4-max-width: 1440px;
}

*, *::before, *::after {
	box-sizing: border-box;
}

html,
body {
	margin: 0;
	padding: 0;
	min-height: 100%;
	overflow-x: hidden;
}

body {
	font-family: 'Bitter', Georgia, serif;
	font-size: 96%;
	line-height: 1.5;
	color: var(--by4-text);
	background:
		linear-gradient(rgba(255, 246, 252, 0.50), rgba(255, 250, 243, 0.42)),
		linear-gradient(135deg, #fffaf3 0%, #fff4fb 46%, #fffdf8 100%);
	background-size: cover;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-position: center center;
}

img {
	max-width: 100%;
	height: auto;
}

a {
	color: var(--by4-pink-dark);
}

a:hover {
	color: var(--by4-pink);
}

button,
input,
select,
textarea {
	font-family: inherit;
}

/* ======================================================
   HEADER
   ====================================================== */

body #header,
body #header.site-header {
	width: calc(100% - 30px) !important;
	max-width: var(--by4-max-width) !important;
	margin: 12px auto 0 auto !important;
	padding: 0 !important;
	background:
		radial-gradient(circle at 18% 12%, rgba(255, 19, 167, 0.11), transparent 28%),
		radial-gradient(circle at 88% 14%, rgba(203, 183, 128, 0.32), transparent 30%),
		linear-gradient(135deg, rgba(255,255,255,0.98) 0%, rgba(255,248,253,0.98) 58%, rgba(255,250,243,0.98) 100%) !important;
	border: 1px solid rgba(203, 183, 128, 0.52) !important;
	border-radius: 0 !important;
	box-shadow: 0 8px 20px rgba(43, 29, 34, 0.12) !important;
	min-height: 92px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	position: relative !important;
	overflow: hidden !important;
}

body #headertekstlinks {
	float: none !important;
	width: auto !important;
	max-width: none !important;
	flex: 1 1 auto !important;
	display: flex !important;
	align-items: center !important;
	text-align: left !important;
	padding: 8px 22px !important;
	margin: 0 !important;
}

body #headertekstrechts {
	float: none !important;
	width: auto !important;
	max-width: none !important;
	flex: 0 0 auto !important;
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 14px !important;
	text-align: right !important;
	padding: 8px 22px !important;
	margin: 0 !important;
	white-space: nowrap !important;
}

body .logo-link {
	display: inline-flex !important;
	align-items: center !important;
	line-height: 0 !important;
}

body .headerlogo {
	display: block !important;
	width: auto !important;
	max-width: min(420px, 54vw) !important;
	max-height: 88px !important;
	object-fit: contain !important;
}

body a.headerlink,
body a.headerlink:visited {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 8px 15px !important;
	min-height: 38px !important;
	background: rgba(255, 255, 255, 0.82) !important;
	border: 1px solid rgba(234, 221, 235, 0.95) !important;
	border-radius: 999px !important;
	color: #1f1b1d !important;
	text-decoration: none !important;
	font-family: 'Lobster', cursive !important;
	font-size: 1.03rem !important;
	box-shadow: 0 6px 14px rgba(50, 28, 40, 0.08) !important;
	transition: all 0.2s ease !important;
}

body a.headerlink:hover {
	color: var(--by4-pink) !important;
	transform: translateY(-1px) !important;
}

body #winkelmandje {
	display: block !important;
	width: auto !important;
	max-width: 48px !important;
	max-height: 48px !important;
	border: 0 !important;
	filter: drop-shadow(0 5px 7px rgba(0, 0, 0, 0.12)) !important;
}

/* ======================================================
   HOOFDLAYOUT
   ====================================================== */

body #site-main {
	display: grid !important;
	grid-template-columns: 230px minmax(0, 1fr) !important;
	gap: 22px !important;
	width: calc(100% - 30px) !important;
	max-width: var(--by4-max-width) !important;
	margin: 22px auto 28px auto !important;
	padding: 0 !important;
	align-items: start !important;
	position: relative !important;
	overflow: visible !important;
}

/* ======================================================
   LINKERMENU
   ====================================================== */

body #site-main > #menucontainer,
body #site-main > #menucontainer.site-menu {
	grid-column: 1 !important;
	float: none !important;
	clear: none !important;
	width: 230px !important;
	min-width: 230px !important;
	max-width: 230px !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	position: relative !important;
	z-index: 9999 !important;
	overflow: visible !important;
}

body #site-main #MenuItems,
body #site-main .menuitems {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 12px !important;
	display: block !important;
	position: relative !important;
	z-index: 9999 !important;
	overflow: visible !important;
	background: rgba(255, 255, 255, 0.93) !important;
	border: 1px solid rgba(203, 183, 128, 0.50) !important;
	border-radius: 16px !important;
	box-shadow: var(--by4-shadow-soft) !important;
}

body #site-main #MenuItems::before,
body #site-main .menuitems::before {
	content: "Categorieën";
	display: block;
	margin: 0 0 8px 0;
	padding: 0 0 8px 0;
	color: var(--by4-pink-dark);
	border-bottom: 1px solid var(--by4-border);
	font-size: 0.75rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

body #site-main .menuhfdcat {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 0 3px 0 !important;
	padding: 0 !important;
	display: block !important;
	position: relative !important;
	z-index: 9999 !important;
	overflow: visible !important;
	font-size: 0.92rem !important;
}

body #site-main .menu-title {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 8px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 7px 9px !important;
	cursor: pointer !important;
	position: relative !important;
	z-index: 2 !important;
	color: var(--by4-text) !important;
	background: rgba(255, 255, 255, 0.82) !important;
	border: 1px solid transparent !important;
	border-radius: 10px !important;
	font: inherit !important;
	font-weight: 700 !important;
	text-align: left !important;
	line-height: 1.22 !important;
	transition: all 0.2s ease !important;
}

body #site-main .menu-title:hover,
body #site-main .menuhfdcat:hover > .menu-title,
body #site-main .menuhfdcat.menu-open > .menu-title {
	background: rgba(255, 241, 250, 0.90) !important;
	border-color: rgba(255, 19, 167, 0.18) !important;
	color: var(--by4-pink-dark) !important;
	transform: translateX(1px) !important;
}

body #site-main .menuhfdcat:hover {
	background: transparent !important;
	font-weight: normal !important;
}

body #site-main .mobilemenu {
	color: var(--by4-gold-dark) !important;
	font-size: 0.95rem !important;
}

body #site-main .menusubcat {
	position: absolute !important;
	left: calc(100% - 1px) !important;
	top: 0 !important;
	min-width: 190px !important;
	width: max-content !important;
	max-width: 280px !important;
	z-index: 10000 !important;
	background: rgba(255, 255, 255, 0.98) !important;
	padding: 10px !important;
	border: 1px solid rgba(203, 183, 128, 0.55) !important;
	border-radius: 14px !important;
	box-shadow: var(--by4-shadow) !important;
	display: none !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}

body #site-main .menuhfdcat.menu-open > .menusubcat,
body #site-main .menuhfdcat:hover > .menusubcat {
	display: block !important;
}

body #site-main .menusubcat::before {
	content: "";
	position: absolute;
	left: -18px;
	top: -8px;
	width: 18px;
	height: calc(100% + 16px);
	background: transparent;
	pointer-events: auto;
}

body #site-main .menusubcat-content {
	display: block !important;
	position: static !important;
	width: 100% !important;
}

body #site-main .menusubcat a {
	display: block !important;
	width: 100% !important;
	padding: 7px 8px !important;
	margin: 0 !important;
	color: var(--by4-text) !important;
	text-decoration: none !important;
	white-space: nowrap !important;
	position: relative !important;
	z-index: 10001 !important;
	pointer-events: auto !important;
	line-height: 1.3 !important;
	border-radius: 9px !important;
	font-weight: 650 !important;
	font-size: 0.86rem !important;
	transition: all 0.2s ease !important;
}

body #site-main .menusubcat a:hover {
	text-decoration: none !important;
	background: var(--by4-pink-soft) !important;
	color: var(--by4-pink) !important;
}

body #site-main .menuswitch {
	display: none !important;
}

/* ======================================================
   CONTENTVLAK
   ====================================================== */

body #site-main > #content,
body #site-main > #content.site-content,
body #content {
	grid-column: 2 !important;
	float: none !important;
	clear: none !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: block !important;
	background: rgba(255, 255, 255, 0.96) !important;
	border: 1px solid rgba(234, 221, 235, 0.92) !important;
	border-radius: 18px !important;
	box-shadow: var(--by4-shadow) !important;
	overflow: hidden !important;
	position: relative !important;
	z-index: 1 !important;
	text-align: left !important;
}

body #content > * {
	max-width: 100% !important;
}

/* ======================================================
   HOMEPAGE
   ====================================================== */

.hoofdpagina-pro {
	padding: 28px 34px !important;
	color: var(--by4-text) !important;
	font-family: Arial, sans-serif !important;
}

.home-hero {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 300px !important;
	gap: 26px !important;
	align-items: stretch !important;
	margin: 0 0 26px 0 !important;
}

.home-hero-main {
	padding: 28px 30px !important;
	background:
		radial-gradient(circle at 86% 16%, rgba(203, 183, 128, 0.24), transparent 28%),
		radial-gradient(circle at 12% 8%, rgba(255, 19, 167, 0.09), transparent 26%),
		linear-gradient(135deg, #fff7fc 0%, #ffffff 54%, #fffaf0 100%) !important;
	border: 1px solid var(--by4-border) !important;
	border-radius: 22px !important;
	box-shadow: var(--by4-shadow-soft) !important;
}

.home-eyebrow,
.categorie-label {
	display: inline-block !important;
	margin-bottom: 10px !important;
	padding: 6px 13px !important;
	background: var(--by4-pink-soft) !important;
	color: var(--by4-pink-dark) !important;
	border-radius: 999px !important;
	font-size: 0.76rem !important;
	font-weight: 900 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
}

.home-hero h1 {
	margin: 0 0 12px 0 !important;
	color: #333 !important;
	font-family: 'Pacifico', cursive !important;
	font-weight: normal !important;
	font-size: clamp(2rem, 3.4vw, 3rem) !important;
	line-height: 1.12 !important;
}

.home-intro {
	margin: 0 0 14px 0 !important;
	max-width: 780px !important;
	font-size: 1rem !important;
	color: #444 !important;
	line-height: 1.55 !important;
}

.home-cta-row {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	margin-top: 18px !important;
}

.home-cta,
.home-cta:visited {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 38px !important;
	padding: 9px 17px !important;
	border-radius: 999px !important;
	text-decoration: none !important;
	font-weight: 900 !important;
	box-shadow: 0 8px 18px rgba(255, 19, 167, 0.14) !important;
	transition: all 0.2s ease !important;
	font-size: 0.94rem !important;
}

.home-cta-primary,
.home-cta-primary:visited {
	background: linear-gradient(135deg, var(--by4-pink), var(--by4-pink-dark)) !important;
	color: #ffffff !important;
}

.home-cta-secondary,
.home-cta-secondary:visited {
	background: #ffffff !important;
	border: 1px solid rgba(203, 183, 128, 0.55) !important;
	color: var(--by4-text) !important;
}

.home-cta:hover {
	transform: translateY(-1px) !important;
	text-decoration: none !important;
}

.home-featured-product,
.home-featured-product:visited {
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	overflow: hidden !important;
	min-height: 100% !important;
	background: #ffffff !important;
	border: 1px solid var(--by4-border) !important;
	border-radius: 22px !important;
	box-shadow: var(--by4-shadow-soft) !important;
	text-decoration: none !important;
	color: var(--by4-text) !important;
	transition: all 0.2s ease !important;
}

.home-featured-product:hover {
	transform: translateY(-2px) !important;
	box-shadow: var(--by4-shadow) !important;
	text-decoration: none !important;
}

.home-featured-badge,
.home-product-badge {
	position: absolute !important;
	top: 12px !important;
	left: 12px !important;
	z-index: 2 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 6px 11px !important;
	background: var(--by4-pink) !important;
	color: #ffffff !important;
	border-radius: 999px !important;
	font-size: 0.72rem !important;
	font-weight: 900 !important;
	letter-spacing: 0.03em !important;
	text-transform: uppercase !important;
	box-shadow: 0 8px 16px rgba(255, 19, 167, 0.20) !important;
}

.home-featured-image {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	aspect-ratio: 1 / 1 !important;
	padding: 16px !important;
	background:
		radial-gradient(circle at 50% 42%, rgba(255, 240, 250, 0.95), transparent 56%),
		linear-gradient(135deg, #fffaf3 0%, #ffffff 100%) !important;
	overflow: hidden !important;
}

.home-featured-image img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
}

.home-featured-info {
	padding: 16px 18px 18px 18px !important;
	text-align: center !important;
}

.home-featured-info h2 {
	margin: 0 0 7px 0 !important;
	color: var(--by4-text) !important;
	font-size: 1.08rem !important;
	line-height: 1.25 !important;
}

.home-featured-info p {
	margin: 0 0 11px 0 !important;
	color: var(--by4-muted) !important;
	font-size: 0.88rem !important;
	line-height: 1.4 !important;
}

.home-featured-price {
	display: block !important;
	margin-bottom: 12px !important;
	color: var(--by4-pink-dark) !important;
	font-size: 1.08rem !important;
	font-weight: 900 !important;
}

.home-featured-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 8px 15px !important;
	background: linear-gradient(135deg, var(--by4-pink), var(--by4-pink-dark)) !important;
	color: #ffffff !important;
	border-radius: 999px !important;
	font-weight: 900 !important;
	font-size: 0.88rem !important;
}

.home-products-section,
.home-handmade-strip,
.home-section,
.home-info-strip,
.home-highlight,
.home-closing {
	margin-top: 24px !important;
	padding: 20px 22px !important;
	background: rgba(255, 255, 255, 0.96) !important;
	border: 1px solid var(--by4-border) !important;
	border-radius: 18px !important;
	box-shadow: var(--by4-shadow-soft) !important;
}

.home-section-heading {
	display: flex !important;
	align-items: flex-end !important;
	justify-content: space-between !important;
	gap: 16px !important;
	margin-bottom: 16px !important;
}

.home-section-heading h2,
.home-products-section h2,
.home-handmade-strip h2,
.home-section h2,
.home-highlight h2,
.home-closing h2 {
	margin: 0 0 8px 0 !important;
	color: #6f6f8f !important;
	font-size: 1.22rem !important;
	line-height: 1.25 !important;
}

.home-section-heading p,
.home-products-section p,
.home-handmade-strip p,
.home-section p,
.home-highlight p,
.home-closing p {
	margin: 0 0 10px 0 !important;
	color: #444 !important;
	font-size: 0.92rem !important;
	line-height: 1.5 !important;
}

.home-product-grid {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	gap: 14px !important;
}

.home-product-card,
.home-product-card:visited {
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	overflow: hidden !important;
	background: #ffffff !important;
	border: 1px solid var(--by4-border) !important;
	border-radius: 18px !important;
	box-shadow: var(--by4-shadow-soft) !important;
	text-decoration: none !important;
	color: var(--by4-text) !important;
	transition: all 0.2s ease !important;
}

.home-product-card:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 14px 28px rgba(50, 28, 40, 0.13) !important;
	text-decoration: none !important;
}

.home-product-image {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	aspect-ratio: 1 / 1 !important;
	padding: 12px !important;
	background:
		radial-gradient(circle at 50% 42%, rgba(255, 240, 250, 0.88), transparent 56%),
		linear-gradient(135deg, #fffaf3 0%, #ffffff 100%) !important;
}

.home-product-image img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
}

.home-product-info {
	padding: 13px 13px 15px 13px !important;
	text-align: center !important;
}

.home-product-info h3 {
	margin: 0 0 6px 0 !important;
	color: var(--by4-text) !important;
	font-size: 0.95rem !important;
	line-height: 1.25 !important;
}

.home-product-info p {
	margin: 0 0 8px 0 !important;
	color: var(--by4-muted) !important;
	font-size: 0.82rem !important;
	line-height: 1.35 !important;
}

.home-product-price {
	display: block !important;
	color: var(--by4-pink-dark) !important;
	font-size: 0.98rem !important;
	font-weight: 900 !important;
}

.home-handmade-strip {
	display: grid !important;
	grid-template-columns: 78px minmax(0, 1fr) !important;
	gap: 16px !important;
	align-items: center !important;
}

.home-handmade-strip img {
	width: 78px !important;
	height: auto !important;
	margin: 0 !important;
}

/* ======================================================
   CATEGORIEPAGINA
   ====================================================== */

.by4-categoriepagina {
	font-family: Arial, sans-serif !important;
	color: #333 !important;
	line-height: 1.43 !important;
	padding: 20px 22px 10px 22px !important;
	text-align: center !important;
}

.by4-categorie-hero {
	max-width: 820px !important;
	margin: 0 auto !important;
	padding: 20px 22px !important;
	background:
		radial-gradient(circle at 18% 12%, rgba(255, 19, 167, 0.10), transparent 28%),
		radial-gradient(circle at 86% 10%, rgba(203, 183, 128, 0.20), transparent 30%),
		linear-gradient(135deg, #fff7fc, #ffffff 52%, #fffaf0) !important;
	border: 1px solid var(--by4-border) !important;
	border-radius: 20px !important;
	box-shadow: var(--by4-shadow-soft) !important;
}

.by4-categoriepagina h1 {
	margin: 0 0 8px 0 !important;
	color: var(--by4-pink-dark) !important;
	font-family: 'Pacifico', cursive !important;
	font-weight: normal !important;
	font-size: clamp(1.65rem, 2.7vw, 2.2rem) !important;
	line-height: 1.15 !important;
}

.by4-categoriepagina .intro {
	max-width: 700px !important;
	margin: 0 auto 13px auto !important;
	font-size: 0.96rem !important;
	color: #444 !important;
}

.by4-categoriepagina .intro p {
	margin: 0 !important;
}

.usp-regel,
.by4-categoriepagina .usp-regel {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	gap: 7px !important;
	max-width: 740px !important;
	margin: 0 auto !important;
	padding: 0 !important;
	list-style: none !important;
}

.usp-regel li,
.by4-categoriepagina .usp-regel li {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 6px 12px !important;
	background: #ffffff !important;
	border: 1px solid #e7cce2 !important;
	border-radius: 999px !important;
	color: var(--by4-pink-dark) !important;
	font-size: 0.86rem !important;
	font-weight: bold !important;
	box-shadow: 0 3px 8px rgba(200, 100, 166, 0.07) !important;
}

.categorie-producten-overzicht {
	clear: both !important;
	display: flow-root !important;
	padding: 0 20px 10px 20px !important;
}

.categorie-geen-producten {
	text-align: center !important;
	padding: 12px 0 16px 0 !important;
	margin: 0 !important;
	color: #444 !important;
	font-size: 0.92rem !important;
}

.categorie-omschrijving-onder {
	clear: both !important;
	max-width: 820px !important;
	margin: 0 auto 22px auto !important;
	padding: 0 24px 22px 24px !important;
	text-align: center !important;
}

.by4-categorie-seo {
	font-family: Arial, sans-serif !important;
	max-width: 780px !important;
	margin: 0 auto !important;
	padding: 18px 22px !important;
	background: linear-gradient(135deg, var(--by4-pink-soft), #fff) !important;
	border: 1px solid var(--by4-border) !important;
	border-radius: 17px !important;
	color: #444 !important;
	line-height: 1.5 !important;
	box-shadow: var(--by4-shadow-soft) !important;
}

.by4-categorie-seo h2 {
	margin: 0 0 8px 0 !important;
	color: #6f6f8f !important;
	font-size: 1.14rem !important;
}

.by4-categorie-seo p {
	margin: 0 0 8px 0 !important;
}

.by4-categorie-seo p:last-child {
	margin-bottom: 0 !important;
}

.by4-categorie-seo a {
	color: var(--by4-pink-dark) !important;
	font-weight: bold !important;
	text-decoration: none !important;
}

.by4-categorie-seo a:hover {
	text-decoration: underline !important;
	color: var(--by4-pink) !important;
}

/* ======================================================
   PRODUCTEN, KNOPPEN EN FORMULIEREN
   ====================================================== */

.prod-1,
.prod-2,
.prod-3,
.prod-t-1,
.prod-t-2 {
	box-sizing: border-box !important;
}

.prod-1 {
	width: 100% !important;
}

.prod-2 {
	float: left;
	width: 50%;
}

.prod-3 {
	float: left;
	width: 33.333%;
}

.prod-t-1 {
	width: 100% !important;
}

.prod-t-2 {
	width: 50%;
}

.productafbeelding,
.prodafbeelding,
.productafbeeldingsmall {
	max-width: 100%;
	height: auto;
}

.afbeeldingcat {
	text-align: center;
	vertical-align: middle;
}

.afbbreder,
.afbhoger,
.afbvierkant,
.productafbeelding {
	display: block;
	margin: 0 auto;
}

.prodafbeelding {
	border: 1px solid var(--by4-border) !important;
	border-radius: 12px !important;
	background: #fff !important;
}

.productafbeeldingsmall {
	display: inline-block;
	float: left;
	width: 23%;
	border: 1px solid var(--by4-border);
	border-radius: 8px;
	margin: 0.2em;
}

.prijsproduct {
	color: var(--by4-pink-dark) !important;
	font-weight: 900 !important;
}

.actieprijsproduct {
	color: #777 !important;
	font-size: 0.86em !important;
}

.voorraad,
.voorraadenkele {
	color: #168444 !important;
	font-weight: 700 !important;
}

.voorraadgeen {
	color: #c43d3d !important;
	font-weight: 700 !important;
}

.winkelwagenbutton,
.bestellenbutton,
.meerinfo,
input[type="submit"] {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 36px !important;
	padding: 8px 16px !important;
	background: linear-gradient(135deg, var(--by4-pink), var(--by4-pink-dark)) !important;
	border: 0 !important;
	border-radius: 999px !important;
	color: #ffffff !important;
	cursor: pointer !important;
	font-weight: 800 !important;
	text-align: center !important;
	text-decoration: none !important;
	box-shadow: 0 8px 18px rgba(255, 19, 167, 0.18) !important;
	transition: all 0.2s ease !important;
	font-size: 0.92rem !important;
}

.winkelwagenbutton:hover,
.bestellenbutton:hover,
.meerinfo:hover,
input[type="submit"]:hover {
	transform: translateY(-1px) !important;
	filter: brightness(1.04) !important;
	box-shadow: 0 11px 22px rgba(255, 19, 167, 0.24) !important;
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
select,
textarea {
	max-width: 100% !important;
	padding: 8px 11px !important;
	border: 1px solid var(--by4-border) !important;
	border-radius: 10px !important;
	background: #ffffff !important;
	color: var(--by4-text) !important;
	font-size: 0.93rem !important;
}

/* ======================================================
   FOOTER
   ====================================================== */

body #footer,
body #footer.site-footer {
	width: calc(100% - 30px) !important;
	max-width: var(--by4-max-width) !important;
	margin: 0 auto 26px auto !important;
	padding: 20px 22px !important;
	display: grid !important;
	grid-template-columns: 1fr 1fr 1fr !important;
	gap: 24px !important;
	background:
		radial-gradient(circle at 0% 100%, rgba(203, 183, 128, 0.24), transparent 28%),
		linear-gradient(135deg, rgba(255,255,255,0.96), rgba(255,247,252,0.96) 55%, rgba(255,250,243,0.96)) !important;
	border: 1px solid rgba(203, 183, 128, 0.52) !important;
	border-radius: 0 !important;
	box-shadow: var(--by4-shadow-soft) !important;
	color: var(--by4-text) !important;
}

body #footer.site-footer > div,
body #footer > div {
	float: none !important;
	width: auto !important;
	max-width: none !important;
}

.footerkopje {
	font-family: 'Pacifico', cursive !important;
	font-size: 1.2rem !important;
	margin: 0 0 7px 0 !important;
	color: var(--by4-pink-dark) !important;
}

.footerkopje span {
	color: var(--by4-pink-dark) !important;
}

.lijn {
	width: 100% !important;
	max-width: 190px !important;
	height: 2px !important;
	margin: 0 0 10px 0 !important;
	background: linear-gradient(90deg, var(--by4-gold), var(--by4-pink)) !important;
	border: 0 !important;
	border-radius: 999px !important;
}

.footerlink,
.footerlink:visited,
a.footerlink,
a.footerlink:visited {
	display: inline-block !important;
	margin-bottom: 3px !important;
	color: var(--by4-text) !important;
	text-decoration: none !important;
	font-weight: 700 !important;
	font-size: 0.9rem !important;
}

.footerlink span,
a.footerlink span {
	color: var(--by4-text) !important;
}

.footerlink:hover,
a.footerlink:hover,
.footerlink:hover span,
a.footerlink:hover span {
	color: var(--by4-pink) !important;
}

.facebookurl,
.facebookurl:visited {
	display: inline-flex !important;
	align-items: center !important;
	gap: 7px !important;
	color: var(--by4-text) !important;
	text-decoration: none !important;
	font-weight: 800 !important;
	font-size: 0.9rem !important;
}

.facebookurl span {
	color: var(--by4-text) !important;
}

.facebookurl:hover span {
	color: var(--by4-pink) !important;
}

.facebookurl img {
	width: 36px !important;
	height: auto !important;
}

/* ======================================================
   ALGEMENE TEKSTPAGINA'S
   ====================================================== */

body #content.site-content > h1,
body #content.site-content > h2,
body #content.site-content > h3,
body #content.site-content > h4,
body #content.site-content > p,
body #content.site-content > ul,
body #content.site-content > ol,
body #content.site-content > table,
body #content.site-content > form,
body #content.site-content > hr,
body #content.site-content > div:not(.hoofdpagina-pro):not(.by4-categoriepagina):not(.categorie-producten-overzicht):not(.categorie-omschrijving-onder) {
	margin-left: 30px !important;
	margin-right: 30px !important;
	max-width: calc(100% - 60px) !important;
}

body #content.site-content > h1:first-child,
body #content.site-content > h2:first-child {
	margin-top: 28px !important;
}

body #content.site-content > *:last-child {
	margin-bottom: 30px !important;
}

body #content.site-content > h1 {
	margin-bottom: 18px !important;
	color: #2f2b2d !important;
	font-family: 'Pacifico', cursive !important;
	font-size: clamp(2rem, 3vw, 2.9rem) !important;
	font-weight: normal !important;
	line-height: 1.15 !important;
	letter-spacing: 0 !important;
}

body #content.site-content > h2,
body #content.site-content > h3 {
	margin-top: 24px !important;
	margin-bottom: 11px !important;
	color: #6f6f8f !important;
	font-family: 'Bitter', Georgia, serif !important;
	font-weight: 900 !important;
	line-height: 1.25 !important;
}

body #content.site-content > p {
	margin-top: 0 !important;
	margin-bottom: 15px !important;
	color: #3f3a3d !important;
	font-size: 0.98rem !important;
	line-height: 1.7 !important;
}

body #content.site-content p,
body #content.site-content li {
	color: #3f3a3d !important;
	line-height: 1.7 !important;
}

body #content.site-content > ul,
body #content.site-content > ol {
	padding-left: 25px !important;
	margin-top: 0 !important;
	margin-bottom: 18px !important;
}

body #content.site-content li {
	margin-bottom: 8px !important;
}

body #content.site-content hr {
	height: 1px !important;
	border: 0 !important;
	background: linear-gradient(90deg, var(--by4-gold), var(--by4-pink), transparent) !important;
	margin-top: 22px !important;
	margin-bottom: 22px !important;
}

body #content.site-content table {
	width: calc(100% - 60px) !important;
	border-collapse: collapse !important;
	background: #ffffff !important;
	border-radius: 16px !important;
	overflow: hidden !important;
}

body #content.site-content tr {
	border-bottom: 1px solid rgba(234, 221, 235, 0.85) !important;
}

body #content.site-content td,
body #content.site-content th {
	padding: 13px 15px !important;
	vertical-align: top !important;
	line-height: 1.65 !important;
}

body #content.site-content form {
	padding: 20px !important;
	background: linear-gradient(135deg, #fff7fc, #ffffff) !important;
	border: 1px solid var(--by4-border) !important;
	border-radius: 18px !important;
	box-shadow: var(--by4-shadow-soft) !important;
}

body #content.site-content form table {
	width: 100% !important;
	margin: 0 !important;
	max-width: 100% !important;
	background: transparent !important;
	border-radius: 0 !important;
}

body #content.site-content input[type="text"],
body #content.site-content input[type="email"],
body #content.site-content input[type="password"],
body #content.site-content textarea,
body #content.site-content select {
	width: 100% !important;
	max-width: 420px !important;
	border: 1px solid var(--by4-border) !important;
	border-radius: 12px !important;
	padding: 10px 12px !important;
	background: #ffffff !important;
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.03) !important;
}

body #content.site-content textarea {
	min-height: 130px !important;
	resize: vertical !important;
}

body #content.site-content .g-recaptcha,
body #content.site-content iframe[src*="recaptcha"] {
	max-width: 100% !important;
}

body #content.site-content {
	min-height: 300px !important;
}

body #content.site-content::before {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	background:
		radial-gradient(circle at 92% 8%, rgba(203, 183, 128, 0.12), transparent 24%),
		radial-gradient(circle at 8% 10%, rgba(255, 19, 167, 0.06), transparent 24%) !important;
	pointer-events: none !important;
	z-index: -1 !important;
}

body #site-main > #menucontainer.site-menu,
body #site-main #MenuItems,
body #site-main .menuitems,
body #site-main .menuhfdcat,
body #site-main .menusubcat {
	z-index: 99999 !important;
}

body #site-main > #content.site-content {
	z-index: 1 !important;
}

/* ======================================================
   OUDE HELPERS
   ====================================================== */

.tekstmobile {
	display: none;
}

.tekstdesktop {
	display: block;
}

.col-1 { width: 7.69%; }
.col-2 { width: 15.38%; }
.col-3 { width: 23.07%; }
.col-4 { width: 30.76%; }
.col-5 { width: 38.45%; }
.col-6 { width: 46.14%; }
.col-7 { width: 53.83%; }
.col-8 { width: 61.52%; }
.col-9 { width: 69.21%; }
.col-10 { width: 76.90%; }
.col-11 { width: 84.59%; }
.col-12 { width: 92.28%; }
.col-13 { width: 100%; }

.standaardlink {
	color: black;
	text-decoration: none;
}

.standaardlink:visited {
	color: black;
}

.light {
	background-color: var(--by4-gold-soft);
}

.none {
	background-color: white;
}

.show {
	display: block;
}

.noshow {
	display: none;
}

#hiddendivtekst {
	top: 20%;
	position: absolute;
	z-index: 90;
	height: auto;
	min-height: 2em;
	text-align: center;
	padding-bottom: 2em;
	background-color: white;
	left: 50%;
	border: 0.5em solid var(--by4-pink);
}

#hiddendiv {
	z-index: 80;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: black;
	opacity: 0.6;
}

.klantdiv {
	width: 20em;
	margin-left: -10.5em;
}

.orderdiv {
	width: 30em;
	margin-left: -15.5em;
}

.verstuurdiv {
	font-size: 0.8em;
	width: 30em;
	margin-left: -15.5em;
}

.coupondiv {
	width: 40em;
	margin-left: -15.5em;
	padding-top: 1em;
	font-size: 0.9em;
}

.overzichtorder {
	text-align: left;
	padding-left: 1em;
	width: 6em;
}

/* ======================================================
   RESPONSIVE
   ====================================================== */

@media only screen and (max-width: 1200px) {
	.home-product-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media only screen and (max-width: 1024px) {
	body #site-main {
		grid-template-columns: 210px minmax(0, 1fr) !important;
		gap: 18px !important;
	}

	body #site-main > #menucontainer,
	body #site-main > #menucontainer.site-menu {
		width: 210px !important;
		min-width: 210px !important;
		max-width: 210px !important;
	}

	.home-hero {
		grid-template-columns: 1fr !important;
	}

	.home-featured-product {
		max-width: 420px !important;
		width: 100% !important;
		margin: 0 auto !important;
	}
}

@media only screen and (max-width: 768px) {
	body {
		background-attachment: scroll;
	}

	body #header,
	body #header.site-header {
		display: block !important;
		width: calc(100% - 22px) !important;
		max-width: calc(100% - 22px) !important;
		margin: 10px auto 0 auto !important;
		min-height: 0 !important;
		border-radius: 16px !important;
	}

	body #headertekstlinks,
	body #headertekstrechts {
		width: 100% !important;
		max-width: 100% !important;
		display: flex !important;
		justify-content: center !important;
		text-align: center !important;
		padding: 9px !important;
	}

	body #headertekstrechts {
		margin-top: 0 !important;
	}

	body .headerlogo {
		max-width: min(330px, 86vw) !important;
		max-height: none !important;
		margin: 0 auto !important;
	}

	body #site-main {
		display: block !important;
		width: calc(100% - 22px) !important;
		max-width: calc(100% - 22px) !important;
		margin: 16px auto 24px auto !important;
	}

	body #site-main > #menucontainer,
	body #site-main > #menucontainer.site-menu,
	body #site-main > #content,
	body #site-main > #content.site-content {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		margin: 0 0 16px 0 !important;
		display: block !important;
	}

	body #site-main #MenuItems,
	body #site-main .menuitems {
		padding: 11px !important;
		border-radius: 15px !important;
	}

	body #site-main .menusubcat {
		position: static !important;
		left: auto !important;
		top: auto !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		margin-top: 8px !important;
		border-radius: 12px !important;
		box-shadow: none !important;
		background: var(--by4-pink-soft) !important;
	}

	.hoofdpagina-pro {
		padding: 20px !important;
	}

	.home-hero-main {
		padding: 22px !important;
	}

	.home-section-heading {
		display: block !important;
		text-align: center !important;
	}

	.home-product-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 14px !important;
	}

	.home-handmade-strip {
		grid-template-columns: 1fr !important;
		text-align: center !important;
	}

	.home-handmade-strip img {
		margin: 0 auto !important;
	}

	.by4-categoriepagina {
		padding: 16px 14px 10px 14px !important;
	}

	.by4-categorie-hero {
		padding: 18px 14px !important;
		border-radius: 17px !important;
	}

	.by4-categoriepagina h1 {
		font-size: 1.55rem !important;
	}

	.by4-categoriepagina .intro {
		font-size: 0.92rem !important;
	}

	.usp-regel,
	.by4-categoriepagina .usp-regel {
		display: block !important;
	}

	.usp-regel li,
	.by4-categoriepagina .usp-regel li {
		display: flex !important;
		width: 100% !important;
		margin: 0 0 8px 0 !important;
	}

	.categorie-producten-overzicht {
		padding: 0 14px 10px 14px !important;
	}

	.categorie-omschrijving-onder {
		padding: 0 16px 18px 16px !important;
		margin-bottom: 18px !important;
	}

	.prod-2,
	.prod-3,
	.prod-t-2 {
		float: none !important;
		width: 100% !important;
	}

	.afbeeldingcat,
	.productafb,
	.prodafbeelding,
	.productafbeelding,
	.productafbeeldingsmall {
		float: none !important;
		width: 100% !important;
		max-width: 480px !important;
		margin: 0 auto 1rem auto !important;
		text-align: center !important;
	}

	img.productafbeelding,
	img.prodafbeelding,
	.afbeeldingcat img,
	.productafb img {
		display: block !important;
		width: 100% !important;
		max-width: 480px !important;
		height: auto !important;
		margin: 0 auto !important;
		border: 0 !important;
	}

	.winkelwagenbutton,
	.bestellenbutton,
	.meerinfo {
		width: 90% !important;
		max-width: 400px !important;
		margin: 0.4rem auto 0.8rem auto !important;
	}

	.winkelwagencol,
	.inloggenlinks,
	.inloggenrechts {
		display: block !important;
		float: none !important;
		width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	.verzendenbetalen {
		border-left: 0 !important;
		border-top: 2px solid var(--by4-border) !important;
		padding-left: 0 !important;
		margin-left: 0 !important;
		text-align: left !important;
	}

	.bestellen {
		display: none !important;
	}

	.bestellenmob {
		display: block !important;
		width: 100% !important;
		margin-top: 1.4rem !important;
	}

	body #footer,
	body #footer.site-footer {
		display: block !important;
		width: calc(100% - 22px) !important;
		max-width: calc(100% - 22px) !important;
		margin: 0 auto 22px auto !important;
		padding: 20px !important;
		border-radius: 16px !important;
		text-align: center !important;
	}

	body #footer > div {
		margin-bottom: 20px !important;
	}

	.lijn {
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.facebookurl {
		justify-content: center !important;
	}

	body #content.site-content > h1,
	body #content.site-content > h2,
	body #content.site-content > h3,
	body #content.site-content > h4,
	body #content.site-content > p,
	body #content.site-content > ul,
	body #content.site-content > ol,
	body #content.site-content > table,
	body #content.site-content > form,
	body #content.site-content > hr,
	body #content.site-content > div:not(.hoofdpagina-pro):not(.by4-categoriepagina):not(.categorie-producten-overzicht):not(.categorie-omschrijving-onder) {
		margin-left: 20px !important;
		margin-right: 20px !important;
		max-width: calc(100% - 40px) !important;
	}

	body #content.site-content > h1 {
		font-size: clamp(1.8rem, 8vw, 2.4rem) !important;
	}

	body #content.site-content form {
		padding: 18px !important;
	}

	body #content.site-content table,
	body #content.site-content tbody,
	body #content.site-content tr,
	body #content.site-content td {
		display: block !important;
		width: 100% !important;
	}

	body #content.site-content td,
	body #content.site-content th {
		padding: 10px 0 !important;
	}

	body #content.site-content input[type="text"],
	body #content.site-content input[type="email"],
	body #content.site-content input[type="password"],
	body #content.site-content textarea,
	body #content.site-content select {
		max-width: 100% !important;
	}
}

@media only screen and (max-width: 520px) {
	.home-product-grid {
		grid-template-columns: 1fr !important;
	}

	.home-product-card {
		max-width: 420px !important;
		width: 100% !important;
		margin: 0 auto !important;
	}

	.home-cta-row {
		display: block !important;
	}

	.home-cta {
		display: flex !important;
		width: 100% !important;
		margin-bottom: 9px !important;
	}
}

@media only screen and (max-width: 480px) {
	body #headertekstrechts {
		gap: 10px !important;
	}

	body a.headerlink,
	body a.headerlink:visited {
		font-size: 0.92rem !important;
		padding: 8px 12px !important;
	}

	body #winkelmandje {
		max-width: 40px !important;
		max-height: 40px !important;
	}

	.hoofdpagina-pro {
		padding: 18px !important;
	}

	.home-hero h1 {
		font-size: 2rem !important;
	}

	.by4-categorie-seo {
		padding: 18px 16px !important;
	}
}