/*-------------------------------------------------------
Theme Name: Eye webdesign Divi child
Theme URI: https://www.eyewebdesign.be
Description: A child theme template for Divi
Author: Eye webdesign
Author URI: https://www.eyewebdesign.be
Template: Divi
Version: 1.0.0
----------------- ADDITIONAL CSS HERE ------------------*/

@font-face {
	font-family: "Bergamotte";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("../../uploads/et-fonts/BergamotteSerif.otf") format("opentype");
}

/* Menu-animatie, gelijk aan de Figma-navigatie:
   desktop: lijn groeit van links
   mobiel: volscherm fade + links schuiven omhoog */

body .et_pb_menu .et-menu > li > a::before,
body .et_pb_fullwidth_menu .et-menu > li > a::before,
body.toolbox_menu2 .dtb-menu ul.et-menu > li > a::before,
body.toolbox_menu2 #top-menu > li > a::before {
	content: none !important;
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	background: transparent !important;
}

body .et_pb_menu .et-menu > li > a > span,
body .et_pb_fullwidth_menu .et-menu > li > a > span,
body.toolbox_menu2 #top-menu > li > a > span {
	position: relative;
	display: inline-block !important;
}

body .et_pb_menu .et-menu > li > a > span::after,
body .et_pb_fullwidth_menu .et-menu > li > a > span::after,
body.toolbox_menu2 #top-menu > li > a > span::after {
	content: "" !important;
	position: absolute !important;
	left: 0 !important;
	bottom: -12px !important;
	width: 0 !important;
	height: 2px !important;
	max-height: 2px !important;
	border: 0 !important;
	margin: 0 !important;
	background: currentColor !important;
	transition: width 0.3s cubic-bezier(0.22, 1, 0.36, 1) !important;
	pointer-events: none;
}

body .et_pb_menu .et-menu > li > a:hover > span::after,
body .et_pb_menu .et-menu > li.current-menu-item > a > span::after,
body .et_pb_menu .et-menu > li.current-menu-ancestor > a > span::after,
body .et_pb_fullwidth_menu .et-menu > li > a:hover > span::after,
body .et_pb_fullwidth_menu .et-menu > li.current-menu-item > a > span::after,
body.toolbox_menu2 #top-menu > li > a:hover > span::after,
body.toolbox_menu2 #top-menu > li.current-menu-item > a > span::after {
	width: 100% !important;
}

.dtb-nav-overlay {
	position: fixed;
	inset: 0;
	z-index: 99998;
	display: flex;
	align-items: stretch;
	background: #faf8f4;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.5s ease, visibility 0s linear 0.5s;
}

.dtb-nav-overlay.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition: opacity 0.5s ease, visibility 0s linear 0s;
}

body.admin-bar .dtb-nav-overlay {
	top: 32px;
}

@media (max-width: 782px) {
	body.admin-bar .dtb-nav-overlay {
		top: 46px;
	}
}

.dtb-nav-overlay .et_mobile_menu {
	display: flex !important;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	gap: 1.5rem;
	width: 100%;
	height: 100%;
	margin: 0 !important;
	padding: 7rem 2rem 2.5rem !important;
	list-style: none !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	overflow: auto;
}

.dtb-nav-overlay .et_mobile_menu > li {
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	opacity: 0;
	transform: translateY(16px);
	transition: opacity 0.5s ease, transform 0.5s ease;
}

.dtb-nav-overlay.is-open .et_mobile_menu > li {
	opacity: 1;
	transform: translateY(0);
}

.dtb-nav-overlay .et_mobile_menu > li:nth-child(1) { transition-delay: 0ms; }
.dtb-nav-overlay .et_mobile_menu > li:nth-child(2) { transition-delay: 60ms; }
.dtb-nav-overlay .et_mobile_menu > li:nth-child(3) { transition-delay: 120ms; }
.dtb-nav-overlay .et_mobile_menu > li:nth-child(4) { transition-delay: 180ms; }
.dtb-nav-overlay .et_mobile_menu > li:nth-child(5) { transition-delay: 240ms; }
.dtb-nav-overlay .et_mobile_menu > li:nth-child(6) { transition-delay: 300ms; }
.dtb-nav-overlay .et_mobile_menu > li:nth-child(7) { transition-delay: 360ms; }
.dtb-nav-overlay .et_mobile_menu > li:nth-child(8) { transition-delay: 420ms; }

.dtb-nav-overlay .et_mobile_menu .sub-menu {
	position: static !important;
	flex-direction: column;
	gap: 4px;
	width: auto !important;
	height: auto !important;
	margin: 12px 0 0 8px !important;
	padding: 8px 0 4px 12px !important;
	border: 0 !important;
	border-left: 2px solid #d4c9b8 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	transform: none !important;
	list-style: none !important;
}

.dtb-nav-overlay .et_mobile_menu .sub-menu li {
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	list-style: none !important;
	opacity: 1;
	transform: none;
}

.dtb-nav-overlay .et_mobile_menu .sub-menu a {
	display: flex !important;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	width: 100%;
	padding: 8px 16px !important;
	border-radius: 6px;
	background: transparent !important;
	color: #10351a !important;
	font-family: Outfit, sans-serif !important;
	font-weight: 500 !important;
	font-size: 15px !important;
	font-style: normal !important;
	line-height: 1.3 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	text-decoration: none !important;
}

.dtb-nav-overlay .et_mobile_menu .sub-menu a:hover,
.dtb-nav-overlay .et_mobile_menu .sub-menu a:focus {
	background: #f0e9de !important;
}

.dtb-nav-overlay .et_mobile_menu > li > a {
	display: inline-block !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: #10351a !important;
	font-family: Fraunces, serif !important;
	font-weight: 300 !important;
	font-size: clamp(32px, 8vw, 52px) !important;
	font-style: normal !important;
	line-height: 1.1 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	text-decoration: none !important;
	font-variation-settings: "SOFT" 0, "WONK" 1, "opsz" 144;
}

.dtb-nav-logo-float {
	position: fixed !important;
	top: 18px;
	left: 22px;
	z-index: 100000 !important;
	margin: 0 !important;
}

.dtb-nav-logo-float img {
	width: auto !important;
	height: 56px !important;
	transition: filter 0.3s ease;
}

.dtb-nav-logo-float.dtb-nav-logo-invert img {
	filter: invert(1);
}

.dtb-nav-bar-float {
	position: fixed !important;
	top: 28px;
	right: 22px;
	z-index: 100001 !important;
	display: block !important;
	width: 44px !important;
	height: 44px !important;
	pointer-events: auto !important;
	cursor: pointer;
}

body.admin-bar .dtb-nav-logo-float {
	top: 50px;
}

body.admin-bar .dtb-nav-bar-float {
	top: 60px;
}

body .dtb-hamburger-inner,
body .dtb-hamburger-inner::before,
body .dtb-hamburger-inner::after {
	transition: transform 0.3s ease, top 0.3s ease, bottom 0.3s ease, opacity 0.3s ease, background-color 0.3s ease !important;
}

body .hamburger_menu_icon-toggled .dtb-hamburger-inner {
	transform: none !important;
	background-color: transparent !important;
}

body .hamburger_menu_icon-toggled .dtb-hamburger-inner::before {
	top: 0 !important;
	opacity: 1 !important;
	transform: rotate(45deg) !important;
}

body .hamburger_menu_icon-toggled .dtb-hamburger-inner::after {
	bottom: 0 !important;
	transform: rotate(-45deg) !important;
}

body.dtb-nav-open .dtb-hamburger-inner::before,
body.dtb-nav-open .dtb-hamburger-inner::after {
	background-color: #10351a !important;
}

body:not(.front-page) .dtb-hamburger-inner,
body:not(.front-page) .dtb-hamburger-inner::before,
body:not(.front-page) .dtb-hamburger-inner::after {
	background-color: #10351a !important;
}

body:not(.front-page) .hamburger_menu_icon-toggled .dtb-hamburger-inner {
	background-color: transparent !important;
}

/* Submenu, gelijk aan de dropdown in het ontwerp */
body .et_pb_menu .et-menu > li > ul.sub-menu,
body .et_pb_fullwidth_menu .et-menu > li > ul.sub-menu,
body.toolbox_menu2 #top-menu > li > ul.sub-menu {
	top: calc(100% + 16px) !important;
	left: 50% !important;
	right: auto !important;
	width: 320px !important;
	margin: 0 0 0 -160px !important;
	padding: 0 !important;
	border: 1px solid #d4c9b8 !important;
	border-radius: 10px !important;
	background: #faf8f4 !important;
	box-shadow: 0 12px 24px -8px rgba(0, 0, 0, 0.08) !important;
	overflow: visible !important;
	list-style: none !important;
}

body .et_pb_menu .et-menu > li > ul.sub-menu::before,
body .et_pb_fullwidth_menu .et-menu > li > ul.sub-menu::before,
body.toolbox_menu2 #top-menu > li > ul.sub-menu::before {
	content: "" !important;
	position: absolute !important;
	left: 50% !important;
	top: -7px !important;
	width: 12px !important;
	height: 12px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-top: 1px solid #d4c9b8 !important;
	border-left: 1px solid #d4c9b8 !important;
	background: #faf8f4 !important;
	box-shadow: none !important;
	transform: translateX(-50%) rotate(45deg) !important;
	z-index: 2;
}

body .et_pb_menu .et-menu > li > ul.sub-menu::after,
body .et_pb_fullwidth_menu .et-menu > li > ul.sub-menu::after,
body.toolbox_menu2 #top-menu > li > ul.sub-menu::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -16px;
	height: 16px;
}

body .et_pb_menu .et-menu > li > ul.sub-menu > li,
body .et_pb_fullwidth_menu .et-menu > li > ul.sub-menu > li,
body.toolbox_menu2 #top-menu > li > ul.sub-menu > li {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	line-height: normal !important;
	list-style: none !important;
}

body .et_pb_menu .et-menu > li > ul.sub-menu > li > a,
body .et_pb_fullwidth_menu .et-menu > li > ul.sub-menu > li > a,
body.toolbox_menu2 #top-menu > li > ul.sub-menu > li > a {
	display: flex !important;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
	float: none !important;
	width: 100% !important;
	box-sizing: border-box;
	margin: 0 !important;
	padding: 14px 16px !important;
	border: 0 !important;
	background: transparent !important;
	color: #10351a !important;
	font-family: Outfit, sans-serif !important;
	font-weight: 500 !important;
	font-size: 14px !important;
	font-style: normal !important;
	line-height: 20px !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	text-decoration: none !important;
	white-space: normal !important;
	opacity: 1 !important;
	transition: background-color 0.2s ease;
}

body .et_pb_menu .et-menu > li > ul.sub-menu > li:first-child > a,
body .et_pb_fullwidth_menu .et-menu > li > ul.sub-menu > li:first-child > a,
body.toolbox_menu2 #top-menu > li > ul.sub-menu > li:first-child > a {
	border-radius: 9px 9px 0 0;
}

body .et_pb_menu .et-menu > li > ul.sub-menu > li:last-child > a,
body .et_pb_fullwidth_menu .et-menu > li > ul.sub-menu > li:last-child > a,
body.toolbox_menu2 #top-menu > li > ul.sub-menu > li:last-child > a {
	border-radius: 0 0 9px 9px;
}

body .et_pb_menu .et-menu > li > ul.sub-menu > li:only-child > a,
body .et_pb_fullwidth_menu .et-menu > li > ul.sub-menu > li:only-child > a,
body.toolbox_menu2 #top-menu > li > ul.sub-menu > li:only-child > a {
	border-radius: 9px;
}

body .et_pb_menu .et-menu > li > ul.sub-menu > li > a:hover,
body .et_pb_fullwidth_menu .et-menu > li > ul.sub-menu > li > a:hover,
body.toolbox_menu2 #top-menu > li > ul.sub-menu > li > a:hover,
body .et_pb_menu .et-menu > li > ul.sub-menu > li > a:focus,
body .et_pb_fullwidth_menu .et-menu > li > ul.sub-menu > li > a:focus,
body.toolbox_menu2 #top-menu > li > ul.sub-menu > li > a:focus {
	background: #f0e9de !important;
	color: #10351a !important;
	opacity: 1 !important;
}

.et-l--footer .sub-menu,
.et-l--footer .et_mobile_menu ul,
#main-footer .sub-menu,
#main-footer .et_mobile_menu ul {
	display: none !important;
}

.et-l--footer .menu-item-has-children > a::after,
#main-footer .menu-item-has-children > a::after {
	display: none !important;
	content: none !important;
}

body .dtb-menu-desc {
	display: block;
	font-family: Outfit, sans-serif !important;
	font-weight: 300 !important;
	font-size: 12px !important;
	font-style: normal !important;
	line-height: 18px !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: #a89880 !important;
}

/* Contactformulier, gelijk aan de Figma-contactpagina */
.wpcf7 form {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 16px;
}

.wpcf7 form p {
	width: 100%;
	margin: 0 !important;
	padding: 0;
}

.wpcf7 form .hidden-fields-container {
	display: none !important;
}

@media (min-width: 600px) {
	.wpcf7 form > p:nth-of-type(1),
	.wpcf7 form > p:nth-of-type(2) {
		width: calc(50% - 8px);
	}
}

.wpcf7 form label {
	display: block;
	margin: 0;
	color: #a89880;
	font-family: Outfit, sans-serif;
	font-size: 12px;
	font-weight: 300;
	letter-spacing: 0.6px;
	line-height: 1.2;
	text-transform: uppercase;
}

.wpcf7 form label br {
	display: none;
}

.wpcf7 form .wpcf7-form-control-wrap {
	display: block;
	margin-top: 8px;
}

.wpcf7 form input.wpcf7-text,
.wpcf7 form input.wpcf7-email,
.wpcf7 form textarea.wpcf7-textarea {
	width: 100% !important;
	max-width: 100%;
	margin: 0;
	padding: 12px 16px !important;
	box-sizing: border-box;
	border: 1px solid #d4c9b8 !important;
	border-radius: 8px !important;
	background: #fff !important;
	color: #10351a !important;
	font-family: Outfit, sans-serif !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	outline: none;
	box-shadow: none !important;
	transition: border-color 0.2s ease;
}

.wpcf7 form textarea.wpcf7-textarea {
	min-height: 168px;
	resize: none;
}

.wpcf7 form input.wpcf7-text:focus,
.wpcf7 form input.wpcf7-email:focus,
.wpcf7 form textarea.wpcf7-textarea:focus {
	border-color: #10351a !important;
}

.wpcf7 form .wpcf7-not-valid {
	border-color: #8b3a3a !important;
}

.wpcf7 form .wpcf7-not-valid-tip {
	display: block;
	margin-top: 6px;
	color: #8b3a3a;
	font-family: Outfit, sans-serif;
	font-size: 12px;
	font-weight: 300;
}

.wpcf7 form input.wpcf7-submit {
	width: auto !important;
	margin: 0;
	padding: 16px 32px !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: #10351a !important;
	color: #f7f3ed !important;
	font-family: Outfit, sans-serif !important;
	font-size: 12.8px !important;
	font-weight: 500 !important;
	letter-spacing: 1.28px !important;
	line-height: 1 !important;
	text-transform: uppercase !important;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.wpcf7 form input.wpcf7-submit:hover,
.wpcf7 form input.wpcf7-submit:focus {
	background: #1a4a28 !important;
}

.wpcf7 form .wpcf7-spinner {
	margin-left: 12px;
}

.wpcf7 form .wpcf7-response-output {
	width: 100%;
	margin: 0 !important;
	padding: 12px 16px !important;
	border: 1px solid #d4c9b8 !important;
	border-radius: 8px;
	color: #10351a;
	font-family: Outfit, sans-serif;
	font-size: 14px;
	font-weight: 300;
}

/* Plaatsen-raster: eerste plek groot, de rest als stroken ernaast */
.dtb-places {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 20px;
	width: 100%;
}

.dtb-places__side {
	display: flex;
	flex-direction: column;
	gap: 20px;
	min-width: 0;
}

.dtb-places__card {
	position: relative;
	display: block;
	overflow: hidden;
	min-width: 0;
	border-radius: 14px;
	background: #101c14;
	color: #fff;
	text-decoration: none;
}

body .dtb-places a.dtb-places__card,
body .dtb-places a.dtb-places__card:hover,
body .dtb-places a.dtb-places__card:focus {
	color: #fff;
	text-decoration: none;
	box-shadow: none;
}

.dtb-places__card--linked,
.dtb-places__card--popup {
	cursor: pointer;
}

button.dtb-places__card {
	appearance: none;
	display: block !important;
	width: 100%;
	margin: 0;
	padding: 0 !important;
	border: 0 !important;
	background: #101c14 !important;
	box-shadow: none !important;
	text-align: left;
	font: inherit;
	line-height: inherit;
	letter-spacing: inherit;
	text-transform: none !important;
	color: #fff !important;
	cursor: pointer;
}

.dtb-places__card--featured {
	height: clamp(380px, 55vw, 640px);
}

.dtb-places__card--compact {
	height: clamp(110px, 16vw, 196px);
}

.dtb-places__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1);
	transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.dtb-places__card:hover .dtb-places__image,
.dtb-places__card:focus-visible .dtb-places__image {
	transform: scale(1.05);
}

.dtb-places__shade {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.dtb-places__card--featured .dtb-places__shade {
	background: linear-gradient(to top, rgba(16, 28, 20, 0.72) 0%, rgba(16, 28, 20, 0.1) 50%, transparent 100%);
}

.dtb-places__card--compact .dtb-places__shade {
	background: linear-gradient(to right, rgba(16, 28, 20, 0.65) 0%, rgba(16, 28, 20, 0.2) 50%, transparent 100%);
}

.dtb-places__content {
	position: absolute;
	z-index: 1;
	display: flex;
	justify-content: space-between;
	gap: 16px;
	pointer-events: none;
}

.dtb-places__card--featured .dtb-places__content {
	right: 0;
	bottom: 0;
	left: 0;
	align-items: flex-end;
	padding: 28px;
}

.dtb-places__card--compact .dtb-places__content {
	inset: 0;
	align-items: center;
	padding: 0 28px;
}

.dtb-places__text {
	min-width: 0;
}

body .dtb-places p.dtb-places__title,
body .dtb-places p.dtb-places__desc {
	margin: 0 !important;
	padding: 0 !important;
}

.dtb-places__title {
	font-family: Fraunces, Georgia, serif !important;
	font-weight: 300 !important;
	font-style: italic !important;
	font-variation-settings: "SOFT" 0, "WONK" 1;
	line-height: 1.15 !important;
	color: #fff !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

.dtb-places__card--featured .dtb-places__title {
	margin-bottom: 4px !important;
	font-size: clamp(24px, 3vw, 34px) !important;
}

.dtb-places__card--compact .dtb-places__title {
	font-size: clamp(18px, 2.2vw, 24px) !important;
}

.dtb-places__desc {
	font-family: Outfit, "Segoe UI", sans-serif !important;
	font-weight: 300 !important;
	font-style: normal !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

.dtb-places__card--featured .dtb-places__desc {
	max-width: 280px;
	font-size: 13px !important;
	line-height: 20px !important;
	color: rgba(247, 243, 237, 0.7) !important;
}

.dtb-places__card--compact .dtb-places__desc {
	max-width: 220px;
	margin-top: 4px !important;
	font-size: 12px !important;
	line-height: 16px !important;
	color: rgba(247, 243, 237, 0.65) !important;
}

.dtb-places__index {
	flex-shrink: 0;
	font-family: Fraunces, Georgia, serif;
	font-weight: 300;
	font-style: normal;
	font-variation-settings: "SOFT" 0, "WONK" 1;
	line-height: 1;
	user-select: none;
}

.dtb-places__card--featured .dtb-places__index {
	font-size: 64px;
	color: rgba(247, 243, 237, 0.25);
}

.dtb-places__card--compact .dtb-places__index {
	font-size: 40px;
	color: rgba(247, 243, 237, 0.2);
}

body .dtb-places__card:focus-visible {
	outline: 2px solid #f7f3ed;
	outline-offset: 3px;
}

@media (min-width: 1024px) {
	.dtb-places {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	.dtb-places__card--featured:only-child {
		grid-column: 1 / -1;
	}

	.dtb-places__card--compact {
		flex: 1 1 0;
		height: auto;
		min-height: 110px;
	}
}

@media (min-width: 640px) {
	.dtb-places__card--compact .dtb-places__desc {
		display: -webkit-box;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}

	.dtb-places__card--featured .dtb-places__desc {
		display: -webkit-box;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
	}
}

@media (max-width: 639px) {
	.dtb-places__card--compact .dtb-places__desc {
		display: none;
	}

	.dtb-places__card--featured .dtb-places__content,
	.dtb-places__card--compact .dtb-places__content {
		padding: 20px;
	}

	.dtb-places__card--compact .dtb-places__content {
		padding-top: 0;
		padding-bottom: 0;
	}

	.dtb-places__card--featured .dtb-places__index {
		font-size: 48px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dtb-nav-overlay,
	.dtb-nav-overlay .et_mobile_menu > li,
	body .et_pb_menu .et-menu > li > a > span::after,
	body .dtb-hamburger-inner,
	body .dtb-hamburger-inner::before,
	body .dtb-hamburger-inner::after,
	.dtb-places__image,
	.dtb-gallery__item img,
	.dtb-shop__image,
	.dtb-products__image {
		transition: none !important;
	}

	.dtb-gallery__item:hover img,
	.dtb-gallery__item:focus-visible img,
	.dtb-shop__cat:hover .dtb-shop__image,
	.dtb-shop__cat:focus-visible .dtb-shop__image,
	.dtb-products__card:hover .dtb-products__image,
	.dtb-products__card:focus-within .dtb-products__image {
		transform: none;
	}

	.dtb-places__card:hover .dtb-places__image,
	.dtb-places__card:focus-visible .dtb-places__image {
		transform: none;
	}
}

.dtb-place-dialog {
	position: fixed;
	inset: 0;
	z-index: 100010;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: rgba(16, 28, 20, 0.72);
}

.dtb-place-dialog[hidden] {
	display: none !important;
}

.dtb-place-dialog__panel {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	width: 90vw;
	max-height: calc(100vh - 48px);
	overflow: hidden;
	border-radius: 16px;
	background: #f7f3ed;
	color: #101c14;
}

.dtb-place-dialog--text .dtb-place-dialog__panel {
	grid-template-columns: minmax(0, 1fr);
	width: 90vw;
}

.dtb-place-dialog__close,
.dtb-place-dialog__nav {
	display: flex !important;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: #f7f3ed !important;
	box-shadow: none !important;
	color: #101c14 !important;
	cursor: pointer;
	line-height: 1 !important;
	text-transform: none !important;
}

.dtb-place-dialog__close {
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 2;
	width: 40px;
	height: 40px;
}

.dtb-place-dialog__copy {
	min-width: 0;
	max-height: calc(100vh - 48px);
	overflow: auto;
	padding: 48px 40px;
}

.dtb-place-dialog__title {
	margin: 0 0 16px !important;
	font-family: Fraunces, Georgia, serif !important;
	font-weight: 300 !important;
	font-style: italic !important;
	font-size: clamp(28px, 3vw, 40px) !important;
	line-height: 1.15 !important;
	color: #101c14 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

.dtb-place-dialog__content {
	font-family: Outfit, "Segoe UI", sans-serif;
	font-weight: 300;
	font-size: 16px;
	line-height: 1.6;
	color: #101c14;
}

.dtb-place-dialog__content p,
.dtb-place-dialog__content ul,
.dtb-place-dialog__content ol {
	margin: 0 0 12px;
}

.dtb-place-dialog__content p:last-child,
.dtb-place-dialog__content ul:last-child,
.dtb-place-dialog__content ol:last-child {
	margin-bottom: 0;
}

.dtb-place-dialog__content a {
	color: #101c14;
}

.dtb-place-dialog__media {
	position: relative;
	min-height: 420px;
	background: #101c14;
}

.dtb-place-dialog__slide {
	position: absolute;
	inset: 0;
}

.dtb-place-dialog__slide .dtb-places__image {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	transform: none !important;
}

.dtb-place-dialog__nav {
	position: absolute;
	top: 50%;
	width: 40px;
	height: 40px;
	transform: translateY(-50%);
}

.dtb-place-dialog__prev {
	left: 16px;
}

.dtb-place-dialog__next {
	right: 16px;
}

.dtb-place-dialog__count {
	position: absolute;
	right: 16px;
	bottom: 16px;
	margin: 0;
	padding: 6px 10px;
	border-radius: 999px;
	background: rgba(16, 28, 20, 0.72);
	font-family: Outfit, "Segoe UI", sans-serif;
	font-size: 13px;
	line-height: 1;
	color: #f7f3ed;
}

@media (max-width: 799px) {
	.dtb-place-dialog {
		padding: 12px;
	}

	.dtb-place-dialog__panel,
	.dtb-place-dialog--text .dtb-place-dialog__panel {
		grid-template-columns: minmax(0, 1fr);
		width: 100%;
		overflow: auto;
	}

	.dtb-place-dialog__copy {
		max-height: none;
		overflow: visible;
		padding: 48px 24px 24px;
	}

	.dtb-place-dialog__media {
		min-height: 240px;
	}

	.dtb-place-dialog__close {
		background: #f7f3ed !important;
	}
}

/* Galerij, gelijk aan de masonry en lightbox op de galerijpagina */
.dtb-gallery {
	columns: 2;
	column-gap: 12px;
	width: 100%;
}

.dtb-gallery__item {
	display: block !important;
	width: 100% !important;
	margin: 0 0 12px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 10px;
	overflow: hidden;
	background: #f0e9de !important;
	box-shadow: none !important;
	break-inside: avoid;
	cursor: pointer;
	appearance: none;
	line-height: 0;
	text-align: left;
}

.dtb-gallery__item img {
	display: block;
	width: 100%;
	height: auto;
	transform: scale(1);
	transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.dtb-gallery__item:hover img,
.dtb-gallery__item:focus-visible img {
	transform: scale(1.025);
}

body .dtb-gallery__item:focus-visible {
	outline: 2px solid #10351a;
	outline-offset: 3px;
}

.dtb-gallery__lightbox {
	position: fixed;
	inset: 0;
	z-index: 100010;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	background: rgba(10, 20, 13, 0.94);
}

.dtb-gallery__lightbox[hidden] {
	display: none !important;
}

.dtb-gallery__frame {
	display: flex;
	flex-direction: column;
	align-items: center;
	max-width: 1200px;
	max-height: 100%;
}

.dtb-gallery__lightbox-image {
	display: block;
	max-width: 100%;
	max-height: 82vh;
	width: auto;
	height: auto;
	border-radius: 10px;
	object-fit: contain;
	box-shadow: 0 24px 80px rgba(0, 0, 0, 0.35);
}

.dtb-gallery__caption {
	margin: 16px 0 0 !important;
	padding: 0 !important;
	font-family: Outfit, sans-serif !important;
	font-weight: 300 !important;
	font-size: 13px !important;
	line-height: 1.4 !important;
	letter-spacing: 0.3px !important;
	text-align: center;
	text-transform: none !important;
	color: rgba(247, 243, 237, 0.65) !important;
}

.dtb-gallery__close,
.dtb-gallery__nav {
	position: absolute;
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 44px !important;
	height: 44px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid rgba(255, 255, 255, 0.25) !important;
	border-radius: 999px !important;
	color: #fff !important;
	line-height: 0 !important;
	cursor: pointer;
	box-shadow: none !important;
}

.dtb-gallery__close {
	top: 16px;
	right: 16px;
	background: transparent !important;
}

.dtb-gallery__nav {
	top: 50%;
	background: rgba(10, 20, 13, 0.45) !important;
	transform: translateY(-50%);
}

.dtb-gallery__prev {
	left: 12px;
}

.dtb-gallery__next {
	right: 12px;
}

.dtb-gallery__lightbox.is-single .dtb-gallery__nav {
	display: none !important;
}

.dtb-gallery__close:hover,
.dtb-gallery__close:focus,
.dtb-gallery__nav:hover,
.dtb-gallery__nav:focus {
	background: rgba(255, 255, 255, 0.1) !important;
	color: #fff !important;
}

@media (min-width: 640px) {
	.dtb-gallery {
		column-gap: 16px;
	}

	.dtb-gallery__item {
		margin-bottom: 16px !important;
	}

	.dtb-gallery__lightbox {
		padding: 32px;
	}

	.dtb-gallery__close {
		top: 32px;
		right: 32px;
	}

	.dtb-gallery__prev {
		left: 32px;
	}

	.dtb-gallery__next {
		right: 32px;
	}
}

@media (min-width: 1024px) {
	.dtb-gallery {
		columns: 3;
		column-gap: 20px;
	}

	.dtb-gallery__item {
		margin-bottom: 20px !important;
	}
}

@media (min-width: 1280px) {
	.dtb-gallery {
		columns: 4;
	}
}

/* Webshop-categorieën, gelijk aan het raster op de boutiquepagina */
.dtb-shop {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	width: 100%;
}

.dtb-shop-closed {
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 9990;
	width: auto;
	max-width: none;
	box-sizing: border-box;
	margin: 0 !important;
	padding: 14px 24px !important;
	border: 0;
	border-top: 1px solid rgba(16, 53, 26, 0.12);
	border-radius: 0;
	background: rgba(250, 248, 244, 0.96);
	color: #3d5244;
	font-family: Outfit, sans-serif;
	font-size: 14px;
	font-weight: 300;
	line-height: 1.5;
	text-align: center;
}

body.dtb-shop-closed-active {
	padding-bottom: 58px;
}

.dtb-shop__cat {
	position: relative;
	display: block;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	border-radius: 12px;
	background: #10351a;
	text-decoration: none;
}

body .dtb-shop__cat,
body .dtb-shop__cat:hover,
body .dtb-shop__cat:focus {
	color: #f7f3ed;
	text-decoration: none;
	box-shadow: none;
}

.dtb-shop__image {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover !important;
	object-position: center center !important;
	transform: scale(1);
	transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.dtb-shop__cat:hover .dtb-shop__image,
.dtb-shop__cat:focus-visible .dtb-shop__image {
	transform: scale(1.035);
}

.dtb-shop__shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(15, 34, 20, 0.72), transparent);
	pointer-events: none;
}

.dtb-shop__label {
	position: absolute;
	right: 16px;
	bottom: 20px;
	left: 16px;
	display: flex;
	flex-direction: column;
	color: #f7f3ed;
}

.dtb-shop__name,
.dtb-shop__more {
	display: block;
}

.dtb-shop__name {
	font-family: Fraunces, Georgia, serif !important;
	font-weight: 300 !important;
	font-size: 18px !important;
	font-style: normal !important;
	line-height: 1.15 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: #f7f3ed !important;
}

.dtb-shop__more {
	margin-top: 8px;
	font-family: Outfit, sans-serif !important;
	font-weight: 300 !important;
	font-size: 11px !important;
	line-height: 1.2 !important;
	letter-spacing: 0.5px !important;
	text-transform: none !important;
	color: #f7f3ed !important;
}

body .dtb-shop__cat:focus-visible {
	outline: 2px solid #f7f3ed;
	outline-offset: 3px;
}

@media (max-width: 419px) and (min-width: 350px) {
	.dtb-shop__name {
		font-size: 14px !important;
	}
}

@media (max-width: 349px) {
	.dtb-shop {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (min-width: 768px) {
	.dtb-shop {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 8px;
	}

	.dtb-shop__label {
		right: 24px;
		bottom: 24px;
		left: 24px;
	}

	.dtb-shop__name {
		font-size: 19px !important;
	}

	.dtb-shop__more {
		margin-top: 12px;
	}
}

@media (min-width: 1280px) {
	.dtb-shop {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}

/* Categoriehero, zoals de boekettenpagina in het ontwerp */
.dtb-category-hero {
	--dtb-hero-gutter: 12px;
	margin: 0 0 64px;
	overflow-x: clip;
}

.dtb-category-hero__banner {
	position: relative;
	box-sizing: border-box;
	overflow: hidden;
	width: calc(100% + (var(--dtb-hero-gutter) * 2));
	max-width: calc(100vw - (var(--dtb-hero-gutter) * 2));
	height: clamp(440px, 70svh, 640px);
	margin-right: calc(-1 * var(--dtb-hero-gutter));
	margin-left: calc(-1 * var(--dtb-hero-gutter));
	border-radius: 16px;
	background: #14110e;
}

.dtb-category-hero__banner .dtb-shop__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.dtb-category-hero__shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(20, 17, 14, 0.68) 0%, rgba(20, 17, 14, 0.18) 55%, transparent 100%);
	pointer-events: none;
}

.dtb-category-hero__banner::after {
	content: "";
	position: absolute;
	inset: -50%;
	width: 200%;
	height: 200%;
	opacity: 0.035;
	pointer-events: none;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='1'/%3E%3C/svg%3E");
}

.dtb-category-hero__mark {
	display: none;
	position: absolute;
	top: 32px;
	right: 64px;
	z-index: 1;
	width: auto;
	height: 140px;
	opacity: 0.7;
	pointer-events: none;
}

.dtb-category-hero__caption {
	position: absolute;
	right: 28px;
	bottom: 32px;
	left: 28px;
	z-index: 1;
	text-align: left;
}

.dtb-category-crumb {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 8px;
	margin: 0 0 20px !important;
	text-align: left;
	font-family: Outfit, sans-serif !important;
	font-size: 12px !important;
	font-weight: 300 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.5px !important;
	text-transform: none !important;
	color: #3d5244 !important;
}

.dtb-category-crumb a,
.dtb-category-crumb a:hover,
.dtb-category-crumb a:focus {
	color: inherit !important;
	text-decoration: none !important;
	box-shadow: none !important;
}

.dtb-category-crumb a:hover,
.dtb-category-crumb a:focus {
	color: #10351a !important;
}

.dtb-category-hero__title {
	margin: 0 !important;
	text-align: left !important;
	font-family: Bergamotte, Helvetica, Arial, Lucida, sans-serif !important;
	font-size: 44px !important;
	font-weight: 500 !important;
	font-style: normal !important;
	line-height: 1.05 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: #fff !important;
}

.dtb-category-hero__title--plain {
	padding: 8px 0 0;
	color: #10351a !important;
}

.dtb-category-hero__intro {
	max-width: 720px;
	margin: 64px auto 0;
	padding: 0 24px;
	text-align: center;
}

.dtb-category-hero__intro,
.dtb-category-hero__intro p {
	font-family: Outfit, sans-serif !important;
	font-size: 18px !important;
	font-weight: 300 !important;
	line-height: 31px !important;
	text-align: center;
	color: #3d5244 !important;
}

.dtb-category-hero__intro p {
	margin: 0 !important;
}

.dtb-category-hero__intro p + p {
	margin-top: 16px !important;
}

@media (min-width: 1024px) {
	.dtb-category-hero {
		--dtb-hero-gutter: 20px;
		margin-bottom: 96px;
	}

	.dtb-category-hero__banner {
		border-radius: 20px;
	}

	.dtb-category-hero__title {
		font-size: 80px !important;
	}

	.dtb-category-hero__caption {
		bottom: 40px;
		left: 64px;
	}

	.dtb-category-hero__mark {
		display: block;
	}

	.dtb-category-hero__intro {
		margin-top: 96px;
	}
}

/* Full-bleed / brede shop-blokken: geen horizontale paginascroll */
body.single-product,
body.tax-product_cat,
body.post-type-archive-product {
	overflow-x: clip;
}

body.single-product #page-container,
body.tax-product_cat #page-container,
body.post-type-archive-product #page-container,
body.single-product #et-main-area,
body.tax-product_cat #et-main-area {
	overflow-x: clip;
}

body.single-product form.cart,
body.single-product .woocommerce-product-gallery,
body.single-product .woocommerce-product-gallery__wrapper {
	max-width: 100%;
}

body.single-product .et_pb_row,
body.tax-product_cat .et_pb_row {
	max-width: 100%;
}

/* Standaardpagina's (bv. Over ons / Divi full-bleed): voorkom horizontale scroll */
body.page {
	overflow-x: clip;
}

body.page #page-container,
body.page #et-main-area {
	overflow-x: clip;
	max-width: 100%;
}

body.woocommerce-checkout,
body.woocommerce-cart {
	overflow-x: clip;
}

body.woocommerce-checkout #page-container,
body.woocommerce-checkout #et-main-area,
body.woocommerce-cart #page-container {
	overflow-x: clip;
	max-width: 100%;
}

body.woocommerce-checkout .wc-block-checkout,
body.woocommerce-checkout .wc-block-components-sidebar-layout,
body.woocommerce-checkout .wp-block-woocommerce-checkout {
	max-width: 100%;
	box-sizing: border-box;
}

/* Block checkout/cart: variatieregels (product-details) niet in een smalle kolom */
body.woocommerce-checkout .wc-block-components-order-summary-item,
body.woocommerce-cart .wc-block-components-order-summary-item {
	align-items: flex-start;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__description,
body.woocommerce-cart .wc-block-components-order-summary-item__description {
	display: flex !important;
	flex: 1 1 0 !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	min-width: 0 !important;
	max-width: 100%;
	word-break: normal;
	overflow-wrap: anywhere;
}

body.woocommerce-checkout .wc-block-components-product-metadata,
body.woocommerce-cart .wc-block-components-product-metadata {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	width: 100%;
	min-width: 0;
}

body.woocommerce-checkout .wc-block-components-product-details,
body.woocommerce-cart .wc-block-components-product-details {
	display: block;
	width: 100%;
	min-width: 0;
	max-width: 100%;
}

body.woocommerce-checkout .wc-block-components-product-details > span,
body.woocommerce-cart .wc-block-components-product-details > span {
	display: block;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	text-transform: none;
	letter-spacing: normal;
}

body.woocommerce-checkout .wc-block-components-product-details__name,
body.woocommerce-checkout .wc-block-components-product-details__value,
body.woocommerce-cart .wc-block-components-product-details__name,
body.woocommerce-cart .wc-block-components-product-details__value {
	display: inline !important;
	white-space: normal;
	word-break: normal;
}

/* Side Cart WooCommerce (xoo-wsc): geen position op .xoo-wsc-container (plugin = fixed drawer) */
.xoo-wsc-markup,
.xoo-wsc-modal {
	z-index: 100050;
}

.xoo-wsc-modal .xoo-wsc-opac {
	z-index: 1;
}

.xoo-wsc-modal .xoo-wsc-container {
	z-index: 2;
}

.xoo-wsc-smr-del {
	cursor: pointer;
	pointer-events: auto;
}

.xoo-wsc-loader,
.xoo-wsc-loader-icon {
	pointer-events: none;
}

body.xoo-wsc-cart-active .dtb-nav-logo-float,
body.xoo-wsc-cart-active .dtb-nav-bar-float {
	z-index: 100040 !important;
}

/* Sidecart / mini-cart: verwijderknoppen klikbaar houden */
body.woocommerce-checkout .widget_shopping_cart a.remove,
body.woocommerce-checkout [class*="side-cart"] a.remove,
body.woocommerce-checkout [class*="sidecart"] a.remove,
body.woocommerce-checkout .et-mini-cart a.remove,
body.woocommerce-checkout .xoo-wsc-smr-del {
	pointer-events: auto !important;
	cursor: pointer !important;
}

/* Producten binnen een categorie, met filter op tag */
.dtb-products {
	max-width: 100%;
}

.dtb-products__toolbar {
	display: flex;
	flex-direction: column;
	gap: 32px;
	padding-bottom: 36px;
	border-bottom: 1px solid #ded5c9;
}

.dtb-products__filters {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.dtb-products__filter {
	margin: 0 !important;
	padding: 10px 20px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: #f0e9de !important;
	color: #3d5244 !important;
	font-family: Outfit, sans-serif !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	letter-spacing: 1.2px !important;
	line-height: 1 !important;
	text-transform: uppercase !important;
	cursor: pointer;
	box-shadow: none !important;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.dtb-products__filter:hover,
.dtb-products__filter:focus {
	background: #e8dfd3 !important;
	color: #3d5244 !important;
}

.dtb-products__filter.is-active,
.dtb-products__filter.is-active:hover,
.dtb-products__filter.is-active:focus {
	background: #10351a !important;
	color: #f7f3ed !important;
}

.dtb-products__search {
	position: relative;
	display: block;
	width: 100%;
	margin: 0;
}

.dtb-products__search .screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	border: 0 !important;
	white-space: nowrap !important;
}

.dtb-products__search input::-webkit-search-decoration,
.dtb-products__search input::-webkit-search-cancel-button,
.dtb-products__search input::-webkit-search-results-button {
	display: none;
}

.dtb-products__search input {
	width: 100%;
	margin: 0;
	padding: 12px 32px 12px 0 !important;
	border: 0 !important;
	border-bottom: 1px solid #cfc3b2 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #10351a !important;
	font-family: Outfit, sans-serif !important;
	font-size: 14px !important;
	font-weight: 300 !important;
	line-height: 1.4 !important;
	outline: none;
}

.dtb-products__search input::placeholder {
	color: #8e9489;
}

.dtb-products__search input:focus {
	border-bottom-color: #10351a !important;
}

.dtb-products__search::after {
	content: "⌕";
	position: absolute;
	top: 10px;
	right: 4px;
	color: #78826b;
	font-size: 15px;
	pointer-events: none;
}

.dtb-products__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 64px 28px;
	margin-top: 48px;
}

.dtb-products__card.is-hidden {
	display: none !important;
}

.dtb-products__link {
	display: block;
	text-decoration: none;
}

body .dtb-products__link,
body .dtb-products__link:hover,
body .dtb-products__link:focus,
body .dtb-products__cta,
body .dtb-products__cta:hover,
body .dtb-products__cta:focus {
	text-decoration: none;
	box-shadow: none;
}

.dtb-products__media {
	display: block;
	position: relative;
	aspect-ratio: 4 / 5;
	margin-bottom: 20px;
	overflow: hidden;
	border-radius: 12px;
	background: #d4c9b8;
}

.dtb-products__image {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover !important;
	object-position: center center !important;
	transform: scale(1);
	transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.dtb-products__card:hover .dtb-products__image,
.dtb-products__card:focus-within .dtb-products__image {
	transform: scale(1.035);
}

.dtb-products__eyebrow,
.dtb-products__title,
.dtb-products__price,
.dtb-products__cta {
	display: block;
}

.dtb-products__eyebrow {
	font-family: Outfit, sans-serif !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	letter-spacing: 2.2px !important;
	line-height: 1.2 !important;
	text-transform: uppercase !important;
	color: #a89880 !important;
}

.dtb-products__title {
	margin-top: 8px;
	font-family: Fraunces, Georgia, serif !important;
	font-size: 22px !important;
	font-weight: 300 !important;
	font-style: normal !important;
	line-height: 1.25 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: #10351a !important;
}

.dtb-products__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: 16px;
}

.dtb-products__price,
.dtb-products__price .amount,
.dtb-products__price ins {
	margin: 0 !important;
	padding: 0 !important;
	font-family: Fraunces, Georgia, serif !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	font-style: normal !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	color: #31101b !important;
}

.dtb-products__price del {
	margin-right: 6px;
	opacity: 0.6;
}

.dtb-products__desc {
	display: block;
	min-height: 44px;
	margin-top: 8px;
	font-family: Outfit, sans-serif !important;
	font-size: 14px !important;
	font-weight: 300 !important;
	line-height: 22px !important;
	color: #3d5244 !important;
}

.dtb-related {
	margin: 0;
	padding: 64px 0 96px;
}

.dtb-related__eyebrow {
	margin: 0 !important;
	font-family: Outfit, sans-serif !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	letter-spacing: 2.2px !important;
	text-transform: uppercase !important;
	color: #a89880 !important;
}

.et_pb_wc_related_products .dtb-related__title,
.dtb-related__title {
	margin: 20px 0 0 !important;
	padding: 0 !important;
	font-family: Fraunces, Georgia, serif !important;
	font-size: clamp(36px, 5vw, 58px) !important;
	font-weight: 300 !important;
	font-style: normal !important;
	line-height: 1.08 !important;
	letter-spacing: -0.02em !important;
	text-transform: none !important;
	color: #10351a !important;
}

.dtb-related__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 28px;
	margin-top: 56px;
}

.et_pb_wc_related_products .dtb-products__image {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover !important;
	object-position: center center !important;
}

@media (min-width: 640px) {
	.dtb-related__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.dtb-related {
		padding: 96px 0 160px;
	}

	.dtb-related__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.dtb-products__cta {
	font-family: Outfit, sans-serif !important;
	font-size: 12px !important;
	font-weight: 300 !important;
	letter-spacing: 0.7px !important;
	line-height: 1.2 !important;
	text-decoration: underline !important;
	text-underline-offset: 4px;
	text-transform: none !important;
	color: #10351a !important;
	white-space: nowrap;
}

.dtb-products__empty {
	margin: 0 !important;
	padding: 80px 0 !important;
	font-family: Outfit, sans-serif !important;
	font-size: 16px !important;
	font-weight: 300 !important;
	text-align: center;
	color: #3d5244 !important;
}

.dtb-products__empty[hidden] {
	display: none !important;
}

@media (min-width: 640px) {
	.dtb-products__search {
		width: 300px;
	}

	.dtb-products__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.dtb-products__toolbar {
		flex-direction: row;
		align-items: flex-end;
		justify-content: space-between;
	}

	.dtb-products__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.dtb-feature {
	margin: 0 0 20px;
}

.dtb-feature__slide {
	display: none !important;
}

.dtb-feature__slide.is-active {
	display: block !important;
}

.dtb-feature__card {
	display: flex;
	min-height: 160px;
	overflow: hidden;
	background: #f7f3ed;
	border-radius: 12px;
}

.dtb-feature__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 28px;
	min-width: 0;
	padding: 28px;
}

.dtb-feature__copy,
.dtb-feature__meta {
	min-width: 0;
}

.dtb-feature__eyebrow,
.dtb-feature__title,
.dtb-feature__text,
.dtb-feature__price {
	margin: 0 !important;
}

.dtb-feature__eyebrow {
	font-family: Outfit, sans-serif !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	letter-spacing: 2.2px !important;
	text-transform: uppercase !important;
	color: #a89880 !important;
}

.dtb-feature__title {
	margin-top: 12px !important;
	font-family: Fraunces, Georgia, serif !important;
	font-size: 26px !important;
	font-weight: 300 !important;
	line-height: 1.15 !important;
	color: #10351a !important;
}

.dtb-feature__text {
	margin-top: 8px !important;
	font-family: Outfit, sans-serif !important;
	font-size: 14px !important;
	font-weight: 300 !important;
	line-height: 22px !important;
	color: #3d5244 !important;
}

.dtb-feature__price,
.dtb-feature__price .amount,
.dtb-feature__price ins {
	font-family: Fraunces, Georgia, serif !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	color: #31101b !important;
}

.dtb-feature__price del {
	margin-right: 6px;
	font-size: 14px !important;
	color: #a89880 !important;
}

.dtb-feature__cta {
	display: inline-block;
	margin-top: 12px;
	font-family: Outfit, sans-serif !important;
	font-size: 12px !important;
	font-weight: 300 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.7px !important;
	text-decoration: underline !important;
	text-underline-offset: 4px;
	color: #10351a !important;
}

body .dtb-feature__cta:hover,
body .dtb-feature__cta:focus {
	color: #3d5244 !important;
	box-shadow: none !important;
}

.dtb-feature__media {
	display: none;
	position: relative;
	flex: 0 0 150px;
	width: 150px;
	overflow: hidden;
}

.dtb-feature__media img {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover !important;
	object-position: center center !important;
	transition: transform 0.7s ease;
}

.dtb-feature__media:hover img,
.dtb-feature__media:focus img {
	transform: scale(1.025);
}

.dtb-feature__nav {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 14px;
	margin-top: 16px;
}

.dtb-feature__arrow,
.dtb-feature__dot {
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none !important;
	cursor: pointer;
}

.dtb-feature__arrow {
	font-family: Outfit, sans-serif !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	color: #10351a !important;
}

body .dtb-feature__arrow:hover,
body .dtb-feature__arrow:focus {
	color: #3d5244 !important;
	background: transparent !important;
}

.dtb-feature__dots {
	display: flex;
	align-items: center;
	gap: 8px;
}

.dtb-feature__dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #d4c9b8 !important;
}

.dtb-feature__dot.is-active {
	background: #10351a !important;
}

@media (min-width: 640px) {
	.dtb-feature__media {
		display: block;
	}
}

@media (min-width: 1024px) {
	.dtb-feature {
		margin-bottom: 24px;
	}

	.dtb-feature__body {
		flex-direction: row;
		align-items: center;
		gap: 40px;
		padding: 28px 40px;
	}

	.dtb-feature__title {
		font-size: 30px !important;
	}

	.dtb-feature__meta {
		flex: 0 0 180px;
	}

	.dtb-feature__media {
		flex-basis: 190px;
		width: 190px;
	}
}

.dtb-single-product__back {
	margin: 0 0 1.25rem;
}

.dtb-single-product__parent-cat {
	margin: 0 0 0.75rem;
}

.dtb-single-product__parent-cat .dtb-parent-cat {
	margin: 0 !important;
}

.dtb-parent-cat {
	margin: 0 !important;
	font-family: Outfit, sans-serif !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	letter-spacing: 2.2px !important;
	text-transform: uppercase !important;
	color: #a89880 !important;
}

.dtb-backto-cats {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
}

.dtb-backto-cat {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-family: Outfit, sans-serif !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	letter-spacing: 1.2px !important;
	text-transform: uppercase !important;
	color: #10351a !important;
	text-decoration: none !important;
}

.dtb-backto-cat svg {
	display: block;
	flex: 0 0 auto;
}

body .dtb-backto-cat:hover,
body .dtb-backto-cat:focus {
	color: #3d5244 !important;
	text-decoration: none !important;
	box-shadow: none !important;
}

.dtb-advantages {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	border-top: 1px solid #ded5c9;
	border-bottom: 1px solid #ded5c9;
}

.dtb-advantages__item {
	padding: 24px 0;
	border-bottom: 1px solid #ded5c9;
}

.dtb-advantages__item:last-child {
	border-bottom: 0;
}

.dtb-advantages__title,
.dtb-advantages__text {
	margin: 0 !important;
}

.dtb-advantages__title {
	font-family: Outfit, sans-serif !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	letter-spacing: 2.2px !important;
	text-transform: uppercase !important;
	color: #a89880 !important;
}

.dtb-advantages__text {
	max-width: 260px;
	margin-top: 16px !important;
	font-family: Outfit, sans-serif !important;
	font-size: 14px !important;
	font-weight: 300 !important;
	line-height: 23px !important;
	color: #3d5244 !important;
}

@media (min-width: 768px) {
	.dtb-advantages {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.dtb-advantages__item {
		padding: 24px 32px;
		border-right: 1px solid #ded5c9;
		border-bottom: 0;
	}

	.dtb-advantages__item:first-child {
		padding-left: 0;
	}

	.dtb-advantages__item:last-child {
		padding-right: 0;
		border-right: 0;
	}
}

body .variations {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr);
	gap: 20px;
	width: 100% !important;
	margin: 40px 0 0 !important;
	border: 0 !important;
	border-collapse: separate !important;
}

body .variations tbody,
body .variations tr,
body .variations th,
body .variations td {
	display: block !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	text-align: left !important;
}

body .variations td.value {
	position: relative;
}

body .variations .label,
body .variations label {
	display: block !important;
	margin: 0 0 8px !important;
	padding: 0 !important;
	font-family: Outfit, sans-serif !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	letter-spacing: 1.5px !important;
	text-transform: uppercase !important;
	color: #3d5244 !important;
}

body .variations select {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	padding: 14px 36px 14px 16px !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: #f0e9de url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%2310351a' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 16px center / 10px 6px no-repeat !important;
	box-shadow: none !important;
	font-family: Outfit, sans-serif !important;
	font-size: 14px !important;
	font-weight: 300 !important;
	line-height: 1.4 !important;
	color: #10351a !important;
	outline: none !important;
}

body .variations select::-ms-expand {
	display: none;
}

body .variations td.value > span::before,
body .variations td.value > span::after {
	content: none !important;
	display: none !important;
}

body .variations select:focus {
	box-shadow: 0 0 0 1px #a89880 !important;
}

body .variations .reset_variations {
	display: none !important;
}

/* Geen tweede prijs na variatiekeuze (Vanaf/WPO); workshops behouden .woocommerce-variation-price */
body.single-product:not(.dtb-workshop-product) form.variations_form .woocommerce-variation-price {
	display: none !important;
}

body form.cart a.added_to_cart {
	display: none !important;
}

body #page-container #et-boc .et-l .woocommerce-variation-add-to-cart.variations_button {
	display: grid !important;
	grid-template-columns: max-content max-content;
	column-gap: 16px;
	align-items: center;
	justify-content: start;
}

body #page-container #et-boc .et-l form.cart:not(.variations_form) {
	display: flex !important;
	flex-flow: row wrap !important;
	align-items: center !important;
	justify-content: flex-start !important;
	column-gap: 16px;
	width: auto !important;
}

body #page-container #et-boc .et-l .woocommerce-variation-add-to-cart.variations_button > :not(.quantity):not(.single_add_to_cart_button),
body #page-container #et-boc .et-l form.cart:not(.variations_form) > :not(.quantity):not(.single_add_to_cart_button) {
	grid-column: 1 / -1;
}

body #page-container #et-boc .et-l form.cart:not(.variations_form) > .wpo-options-container,
body #page-container #et-boc .et-l form.cart:not(.variations_form) > .wpo-totals-container,
body #page-container #et-boc .et-l form.cart:not(.variations_form) > .dtb-abonnement-dates {
	flex: 1 0 100% !important;
	width: 100% !important;
	max-width: 100% !important;
}

body #page-container #et-boc .et-l .woocommerce-variation-add-to-cart.variations_button > .quantity {
	align-self: center !important;
	float: none !important;
	margin: 0 !important;
}

body #page-container #et-boc .et-l form.cart:not(.variations_form) > .quantity {
	flex: 0 0 64px !important;
	align-self: center !important;
	float: none !important;
	margin: 0 !important;
}

body #page-container #et-boc .et-l form.cart > .single_add_to_cart_button.button,
body #page-container #et-boc .et-l .woocommerce-variation-add-to-cart > .single_add_to_cart_button.button {
	width: auto !important;
	max-width: none !important;
	white-space: nowrap !important;
	justify-self: start !important;
}

body #page-container #et-boc .et-l form.cart:not(.variations_form) > .single_add_to_cart_button.button,
body #page-container #et-boc .et-l form.cart:not(.variations_form) > .single_add_to_cart_button.button:hover,
body #page-container #et-boc .et-l form.cart:not(.variations_form) > .single_add_to_cart_button.button:focus {
	flex: 0 0 auto !important;
	float: none !important;
	clear: none !important;
	width: auto !important;
	margin: 0 !important;
	align-self: center !important;
}

body #page-container #et-boc .et-l form.cart .single_add_to_cart_button.button,
body #page-container #et-boc .et-l form.cart .single_add_to_cart_button.button:hover,
body #page-container #et-boc .et-l form.cart .single_add_to_cart_button.button:focus {
	box-sizing: border-box !important;
	height: 48px !important;
	min-height: 48px !important;
	padding: 0 25px !important;
	border: 2px solid #1d341d !important;
	border-radius: 8px !important;
	background-color: #1d341d !important;
	color: #f7f3ed !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	letter-spacing: 1.2px !important;
	line-height: 44px !important;
	text-transform: uppercase !important;
}

body #page-container #et-boc .et-l form.cart .single_add_to_cart_button.button:hover,
body #page-container #et-boc .et-l form.cart .single_add_to_cart_button.button:focus {
	background-color: #2a482c !important;
	border-color: #2a482c !important;
	border-radius: 8px !important;
	color: #f7f3ed !important;
}

body #page-container #et-boc .et-l form.cart .single_add_to_cart_button.button:before,
body #page-container #et-boc .et-l form.cart .single_add_to_cart_button.button:after,
body #page-container #et-boc .et-l form.cart .single_add_to_cart_button.button:hover:before,
body #page-container #et-boc .et-l form.cart .single_add_to_cart_button.button:hover:after {
	content: none !important;
	display: none !important;
}

body #page-container #et-boc .et-l .woocommerce-variation-add-to-cart.variations_button > .quantity,
body #page-container #et-boc .et-l form.cart:not(.variations_form) > .quantity {
	height: 52px !important;
	min-height: 52px !important;
	max-height: 52px !important;
	box-sizing: border-box !important;
}

body #page-container #et-boc .et-l .woocommerce-variation-add-to-cart.variations_button > .quantity,
body #page-container #et-boc .et-l form.cart:not(.variations_form) > .quantity {
	display: block !important;
	width: 64px !important;
	padding: 0 !important;
	overflow: hidden !important;
}

body #page-container #et-boc .et-l form.cart .quantity .screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
}

body #page-container #et-boc .et-l form.cart .quantity .qty {
	display: block !important;
	box-sizing: border-box !important;
	width: 64px !important;
	height: 52px !important;
	min-height: 52px !important;
	max-height: 52px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: #f0e9de !important;
	box-shadow: none !important;
	appearance: textfield;
	text-align: center;
	font-family: Outfit, sans-serif !important;
	font-size: 14px !important;
	font-weight: 300 !important;
	line-height: 52px !important;
	color: #10351a !important;
}


body .variations tbody {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr);
	gap: 20px;
	width: 100%;
}

@media (min-width: 640px) {
	body .variations tbody {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

body form.cart .wpo-options-container,
body form.cart .wpo-totals-container:not(.wpo-totals-hidden),
body form.cart .dtb-delivery-date,
body form.cart .wpo-field:not(.wpo-field-hide):not([hidden]) {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	height: auto !important;
	overflow: visible !important;
	flex: 1 0 100% !important;
	grid-column: 1 / -1 !important;
	width: 100% !important;
	max-width: 100% !important;
	clear: both;
}

body form.cart .wpo-field.wpo-field-hide,
body form.cart .wpo-field[hidden] {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 0 !important;
	opacity: 0 !important;
}

body form.cart .dtb-wpo-choice {
	display: flex !important;
	align-items: center;
	gap: 8px;
	margin: 0 0 8px;
	font-family: Outfit, sans-serif;
	font-size: 14px;
	font-weight: 300;
	color: #10351a;
}

body .wpo-options-container {
	width: 100%;
	margin: 20px 0 0;
}

body form.cart .dtb-delivery-date {
	display: block !important;
	visibility: visible !important;
	position: relative !important;
	clear: both;
}

body.woocommerce-checkout .dtb-checkout-date,
body.woocommerce-checkout .dtb-checkout-date-fallback {
	display: block !important;
	clear: both;
	width: 100%;
	margin: 16px 0 0;
}

body.dtb-checkout-date-skip .dtb-checkout-date,
body.dtb-checkout-date-skip .dtb-checkout-date-fallback,
body.dtb-checkout-date-skip .wc-block-components-text-input:has(input[id*="dtb/delivery-date"]),
body.dtb-checkout-date-skip .wc-block-components-text-input:has(input[name*="dtb/delivery-date"]) {
	display: none !important;
}

body.woocommerce-checkout .dtb-checkout-date input[type="date"],
body.woocommerce-checkout .dtb-checkout-date-fallback input[type="date"] {
	width: 100%;
	min-height: 48px;
	padding: 10px 14px;
	box-sizing: border-box;
}

body.woocommerce-checkout .wc-block-components-text-input.dtb-date--block {
	position: relative;
	z-index: 1;
}

body.woocommerce-checkout .wc-block-components-text-input.dtb-date--block:focus-within {
	z-index: 42;
}

body.woocommerce-checkout .wc-block-components-text-input.dtb-date--block .dtb-calendar {
	z-index: 43;
}

body.woocommerce-checkout .wc-block-components-text-input.dtb-date--block input[readonly] {
	cursor: pointer;
}

.dtb-date {
	position: relative;
	width: 100%;
}

.dtb-date__native {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	border: 0 !important;
}

.dtb-date__button,
.dtb-calendar__nav,
.dtb-calendar__day {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	font: inherit;
	cursor: pointer;
}

.dtb-date__button {
	display: block !important;
	width: 100% !important;
	min-height: 48px;
	padding: 14px 16px !important;
	border-radius: 8px !important;
	background: #f0e9de !important;
	box-shadow: none !important;
	text-align: left;
	font-family: Outfit, sans-serif !important;
	font-size: 14px !important;
	font-weight: 300 !important;
	line-height: 1.4 !important;
	color: #10351a !important;
	text-transform: none !important;
}

.dtb-calendar {
	position: absolute;
	z-index: 40;
	top: calc(100% + 8px);
	left: 0;
	width: min(320px, 100%);
	padding: 12px;
	border-radius: 12px;
	background: #f7f3ed;
	box-shadow: 0 12px 40px rgba(16, 28, 20, 0.16);
}

.dtb-calendar__head,
.dtb-calendar__weekdays,
.dtb-calendar__grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 4px;
	align-items: center;
}

.dtb-calendar__head {
	grid-template-columns: 32px minmax(0, 1fr) 32px;
	margin-bottom: 8px;
}

.dtb-calendar__month,
.dtb-calendar__legend {
	margin: 0;
	font-family: Outfit, sans-serif;
	color: #10351a;
}

.dtb-calendar__month {
	text-align: center;
	font-size: 14px;
}

.dtb-calendar__nav,
.dtb-calendar__day {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 8px !important;
	color: #10351a !important;
	font-family: Outfit, sans-serif !important;
	font-size: 13px !important;
	line-height: 1 !important;
	text-transform: none !important;
}

.dtb-calendar__weekdays {
	margin-bottom: 4px;
	font-family: Outfit, sans-serif;
	font-size: 11px;
	letter-spacing: 0.04em;
	text-transform: lowercase;
	color: #3d5244;
	text-align: center;
}

.dtb-calendar__day.is-selected {
	background: #1d341d !important;
	color: #f7f3ed !important;
}

.dtb-calendar__day.is-closed,
.dtb-calendar__day.is-unavailable {
	color: #b7ad9f !important;
	cursor: not-allowed;
}

.dtb-calendar__day.is-closed {
	text-decoration: line-through;
}

.dtb-calendar__legend {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 10px;
	font-size: 12px;
	font-weight: 300;
}

.dtb-calendar__sample {
	width: 14px;
	height: 14px;
	border-radius: 4px;
	background:
		linear-gradient(135deg, transparent 45%, #b7ad9f 45%, #b7ad9f 55%, transparent 55%),
		#f0e9de;
}

.woocommerce-notices-wrapper {
	display: none !important;
}

body.woocommerce-checkout .woocommerce-notices-wrapper:has(.woocommerce-error) {
	display: block !important;
}

.dtb-delivery-hidden {
	display: none !important;
}

.dtb-delivery-hint {
	margin: 8px 0 0 !important;
	font-family: Outfit, sans-serif;
	font-size: 13px;
	font-weight: 300;
	color: #3d5244;
}

body.woocommerce-checkout.dtb-no-delivery .wc-block-components-shipping-rates-control__no-results-notice .wc-block-components-notice-banner__content {
	font-family: Outfit, sans-serif !important;
	font-weight: 300;
	line-height: 1.5;
}

body.woocommerce-checkout.dtb-no-delivery .wc-block-components-shipping-rates-control .dtb-delivery-hidden {
	display: none !important;
}

.dtb-abonnement-dates {
	margin: 16px 0 0;
	font-family: Outfit, sans-serif;
	font-size: 14px;
	font-weight: 300;
	line-height: 1.5;
	color: #10351a;
}

.dtb-abonnement-dates__title {
	margin: 0 0 8px !important;
	font-weight: 500;
}

.dtb-abonnement-dates ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.dtb-per-levering {
	font-family: Outfit, sans-serif;
	font-size: 0.72em;
	font-weight: 300;
	letter-spacing: 0.02em;
}

body .wpo-options-container .wpo-field label,
body .wpo-options-container label {
	display: block !important;
	margin: 0 0 8px !important;
	font-family: Outfit, sans-serif !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	letter-spacing: 1.5px !important;
	text-transform: uppercase !important;
	color: #3d5244 !important;
}

body .wpo-options-container input[type="text"],
body .wpo-options-container input[type="number"],
body .wpo-options-container input[type="date"],
body .wpo-options-container textarea {
	width: 100% !important;
	margin: 0 !important;
	padding: 14px 16px !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: #f0e9de !important;
	box-shadow: none !important;
	font-family: Outfit, sans-serif !important;
	font-size: 14px !important;
	font-weight: 300 !important;
	line-height: 1.4 !important;
	color: #10351a !important;
}

body .wpo-options-container input[type="text"]:focus,
body .wpo-options-container input[type="date"]:focus,
body .wpo-options-container textarea:focus {
	outline: none !important;
	box-shadow: 0 0 0 1px #a89880 !important;
}

body.dtb-workshop-product .dtb-workshop-native {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

body.dtb-workshop-product #page-container #et-boc .et-l .woocommerce-variation-add-to-cart.variations_button > .quantity,
body.dtb-workshop-product #page-container #et-boc .et-l form.cart .quantity,
body.dtb-workshop-product form.cart .quantity {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	min-height: 0 !important;
	max-height: none !important;
	margin: 0 !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
}

.dtb-workshop {
	margin-top: 40px;
}

.dtb-workshop__moments {
	margin: 0;
	padding: 0;
	border: 0;
	min-width: 0;
}

.dtb-workshop__moments legend,
.dtb-workshop__people label {
	display: block !important;
	margin: 0 0 12px !important;
	padding: 0 !important;
	font-family: Outfit, sans-serif !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	letter-spacing: 1.5px !important;
	text-transform: uppercase !important;
	color: #3d5244 !important;
}

.dtb-workshop__slots {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 8px;
}

.dtb-workshop__slot {
	display: block;
	margin: 0;
	cursor: pointer;
}

.dtb-workshop__slot.is-full {
	cursor: not-allowed;
}

.dtb-workshop__radio {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
}

.dtb-workshop__card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	min-height: 76px;
	padding: 12px 16px;
	border: 1px solid #d4c9b8;
	border-radius: 8px;
	background: transparent;
	color: #10351a;
	text-align: left;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.dtb-workshop__when,
.dtb-workshop__status {
	display: block;
}

.dtb-workshop__when {
	font-family: Outfit, sans-serif !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1.3 !important;
	color: inherit !important;
}

.dtb-workshop__status {
	margin-top: 6px;
	font-family: Outfit, sans-serif !important;
	font-size: 11px !important;
	font-weight: 300 !important;
	line-height: 1.3 !important;
	color: inherit !important;
	opacity: 0.7;
}

.dtb-workshop__radio:checked + .dtb-workshop__card {
	border-color: #31101b;
	background: #31101b;
	color: #f7f3ed;
}

.dtb-workshop__radio:focus-visible + .dtb-workshop__card {
	box-shadow: 0 0 0 1px #a89880;
}

.dtb-workshop__slot.is-full .dtb-workshop__card {
	border-color: #ded5c9;
	background: #eee9e1;
	color: #999187;
}

.dtb-workshop__status.is-full {
	color: #8f3e45 !important;
	opacity: 1;
}

.dtb-workshop__people {
	display: flex;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: 16px;
	max-width: none;
	margin-top: 24px;
}

.dtb-workshop__field {
	flex: 1 1 220px;
	max-width: 260px;
	min-width: 180px;
}

body.dtb-workshop-product #page-container #et-boc .et-l .dtb-workshop__people > .single_add_to_cart_button.button {
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	white-space: nowrap !important;
	align-self: flex-end;
}

.dtb-workshop__people label {
	margin-bottom: 8px !important;
}

body .dtb-workshop__count {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	padding: 14px 36px 14px 16px !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: #f0e9de url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%2310351a' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 16px center / 10px 6px no-repeat !important;
	box-shadow: none !important;
	font-family: Outfit, sans-serif !important;
	font-size: 14px !important;
	font-weight: 300 !important;
	line-height: 1.4 !important;
	color: #10351a !important;
}

body .dtb-workshop__count:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

.dtb-cadeaubon {
	margin: 32px 0;
}

.dtb-cadeaubon h2 {
	margin: 0 0 12px;
	font-family: Fraunces, Georgia, serif;
	font-size: 28px;
	font-weight: 300;
	color: #10351a;
}

.dtb-cadeaubon__card {
	max-width: 420px;
	margin: 0 0 12px;
	padding: 20px 24px;
	border: 1px solid #ded5c9;
	border-radius: 8px;
	background: #f7f3ed;
	color: #10351a;
}

.dtb-cadeaubon__card p {
	margin: 0 0 8px;
}

.dtb-cadeaubon__code {
	font-family: Outfit, sans-serif;
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 1.6px;
}

@media (min-width: 640px) {
	.dtb-workshop__slots {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.dtb-workshops {
	width: 100%;
}

.dtb-workshops__item {
	border-bottom: 1px solid #e8e0d5;
	padding: 40px 0;
}

.dtb-workshops__item:first-child {
	padding-top: 0;
}

body .dtb-workshops__title,
body .dtb-workshops__text,
body .dtb-workshops__date,
body .dtb-workshops__price,
body .dtb-workshops__link {
	margin: 0;
	padding: 0;
}

body .dtb-workshops__title {
	font-family: Fraunces, Georgia, serif !important;
	font-weight: 400 !important;
	font-size: 24px !important;
	line-height: 36px !important;
	letter-spacing: -0.12px !important;
	color: #10351a !important;
}

body .dtb-workshops__text {
	margin-top: 8px !important;
	font-family: Outfit, sans-serif !important;
	font-weight: 300 !important;
	font-size: 14px !important;
	line-height: 24px !important;
	color: #3d5244 !important;
}

body .dtb-workshops__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 24px;
	margin: 16px 0 0 !important;
}

body .dtb-workshops__date {
	font-family: Outfit, sans-serif !important;
	font-weight: 300 !important;
	font-size: 12px !important;
	letter-spacing: 0.72px !important;
	color: #a89880 !important;
}

body .dtb-workshops__dot {
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: #d4c9b8;
	flex: 0 0 auto;
}

body .dtb-workshops__price,
body .dtb-workshops__price .amount,
body .dtb-workshops__price .woocommerce-Price-amount {
	font-family: Fraunces, Georgia, serif !important;
	font-weight: 400 !important;
	font-size: 16px !important;
	line-height: 1.4 !important;
	color: #31101b !important;
}

body .dtb-workshops__link,
body .dtb-workshops__link:hover,
body .dtb-workshops__link:focus {
	font-family: Outfit, sans-serif !important;
	font-weight: 300 !important;
	font-size: 12px !important;
	letter-spacing: 0.72px !important;
	color: #10351a !important;
	text-decoration: underline !important;
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
}

.dtb-mailchimp {
	max-width: 320px;
}

.dtb-mailchimp__title {
	margin: 0 0 16px;
	font-family: Fraunces, Georgia, serif;
	font-size: 24px;
	font-weight: 400;
	line-height: 1.3;
	color: #10351a;
}

.dtb-mailchimp__form {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 12px;
}

.dtb-mailchimp__field {
	margin: 0;
}

.dtb-mailchimp--dark .dtb-mailchimp__input {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin: 0;
	padding: 12px 16px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.06);
	font-family: Outfit, sans-serif;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.4;
	color: #f7f3ed;
}

.dtb-mailchimp--dark .dtb-mailchimp__input::placeholder {
	color: rgba(247, 243, 237, 0.5);
	opacity: 1;
}

.dtb-mailchimp--dark .dtb-mailchimp__input:focus {
	outline: none;
	border-color: rgba(255, 255, 255, 0.28);
	background: rgba(255, 255, 255, 0.1);
}

.dtb-mailchimp--dark .dtb-mailchimp__submit {
	width: 100%;
	margin: 0;
	padding: 10px 16px;
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.08);
	font-family: Outfit, sans-serif;
	font-size: 11px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: #f7f3ed;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.dtb-mailchimp--dark .dtb-mailchimp__submit:hover,
.dtb-mailchimp--dark .dtb-mailchimp__submit:focus {
	background: rgba(255, 255, 255, 0.14);
	border-color: rgba(255, 255, 255, 0.22);
}

.dtb-mailchimp--light .dtb-mailchimp__input {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin: 0;
	padding: 12px 16px;
	border: 1px solid #d4c9b8;
	border-radius: 8px;
	background: #fff;
	font-family: Outfit, sans-serif;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.4;
	color: #10351a;
}

.dtb-mailchimp--light .dtb-mailchimp__input::placeholder {
	color: #8e9489;
	opacity: 1;
}

.dtb-mailchimp--light .dtb-mailchimp__input:focus {
	outline: none;
	border-color: #10351a;
}

.dtb-mailchimp--light .dtb-mailchimp__submit {
	width: 100%;
	margin: 0;
	padding: 10px 16px;
	border: 2px solid #1d341d;
	border-radius: 8px;
	background: #1d341d;
	font-family: Outfit, sans-serif;
	font-size: 11px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: #f7f3ed;
	cursor: pointer;
}

.dtb-mailchimp--light .dtb-mailchimp__submit:hover,
.dtb-mailchimp--light .dtb-mailchimp__submit:focus {
	background: #2a482c;
	border-color: #2a482c;
}

.dtb-mailchimp__submit:disabled {
	opacity: 0.65;
	cursor: wait;
}

.dtb-mailchimp__message {
	margin: 12px 0 0;
	padding: 12px 14px;
	border-radius: 8px;
	font-family: Outfit, sans-serif;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.45;
}

.dtb-mailchimp__message[hidden] {
	display: none !important;
}

.dtb-mailchimp--dark .dtb-mailchimp__message.is-success {
	border: 1px solid rgba(255, 255, 255, 0.18);
	background: rgba(255, 255, 255, 0.1);
	color: #f7f3ed;
}

.dtb-mailchimp--dark .dtb-mailchimp__message.is-error {
	border: 1px solid rgba(201, 120, 120, 0.45);
	background: rgba(143, 62, 69, 0.22);
	color: #f4d9dc;
}

.dtb-mailchimp--light .dtb-mailchimp__message.is-success {
	border: 1px solid #c5d4c5;
	background: #eef5ee;
	color: #10351a;
}

.dtb-mailchimp--light .dtb-mailchimp__message.is-error {
	border: 1px solid #e8c4c4;
	background: #faf0f0;
	color: #8f3e45;
}

.dtb-mailchimp__footer {
	margin: 4px 0 0;
	font-family: Outfit, sans-serif;
	font-size: 12px;
	font-weight: 300;
	line-height: 1.4;
	color: rgba(247, 243, 237, 0.35);
}

.dtb-mailchimp--light .dtb-mailchimp__footer {
	color: #3d5244;
}