/* PDP gap styles — Theme Builder Single Product */

.dkh-feature-bullets {
	list-style: none;
	padding: 0;
}

.dkh-feature-bullets li {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	margin: 0 0 0.55rem;
	font-size: 13px;
	line-height: 1.45;
	color: #303030;
}

.dkh-feature-bullets__icon {
	flex: 0 0 1.1rem;
	width: 1.1rem;
	height: 1.1rem;
	margin-top: 0.15rem;
	border: 1.5px solid #000;
	border-radius: 50%;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23000' stroke-width='1.75' d='M3.5 8.2l3 3 6-6'/%3E%3C/svg%3E") center / 70% no-repeat;
}

.dkh-stock-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.45rem 1rem;
	border-radius: 999px;
	background: #000;
	color: #fff;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.dkh-stock-badge__dot {
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 50%;
	background: #DAF615;
}

.dkh-stock-badge.is-out-of-stock .dkh-stock-badge__dot {
	background: #E53935;
}

.dkh-qty-label {
	margin: 0 0 0.55rem;
	font-size: 0.7rem;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #6b6b6b;
}

/* =========================================================
   Add to cart — match production PDP (qty + ATC in one row)
   Beat Elementor kit `.elementor-kit-5 button` styles.
   ========================================================= */
.elementor-widget-woocommerce-product-add-to-cart .cart,
.dkh-pdp .cart {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 0.5rem;
	width: 100%;
	margin: 0;
}

.elementor-widget-woocommerce-product-add-to-cart .quantity,
.dkh-pdp .quantity {
	display: inline-flex;
	align-items: stretch;
	flex: 0 0 auto;
	border: 1px solid #111;
	border-radius: 0;
	overflow: hidden;
	background: #fff;
	width: auto;
	margin: 0;
}

.elementor-widget-woocommerce-product-add-to-cart .quantity .qty,
.dkh-pdp .quantity .qty {
	appearance: textfield;
	-moz-appearance: textfield;
	width: 2.75rem;
	min-width: 2.75rem;
	border: 0 !important;
	border-left: 1px solid #ececec !important;
	border-right: 1px solid #ececec !important;
	border-radius: 0 !important;
	text-align: center;
	margin: 0 !important;
	padding: 0 !important;
	height: 3.25rem;
	min-height: 3.25rem;
	box-shadow: none !important;
	background: #fff !important;
	color: #111 !important;
	font-family: "Open Sans", sans-serif !important;
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	line-height: 3.25rem !important;
}

.elementor-widget-woocommerce-product-add-to-cart .quantity .qty::-webkit-outer-spin-button,
.elementor-widget-woocommerce-product-add-to-cart .quantity .qty::-webkit-inner-spin-button,
.dkh-pdp .quantity .qty::-webkit-outer-spin-button,
.dkh-pdp .quantity .qty::-webkit-inner-spin-button {
	appearance: none;
	margin: 0;
}

.elementor-widget-woocommerce-product-add-to-cart .dkh-qty-btn,
.elementor-kit-5 .elementor-widget-woocommerce-product-add-to-cart .dkh-qty-btn,
.dkh-pdp .dkh-qty-btn {
	appearance: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 2.75rem !important;
	min-width: 2.75rem !important;
	height: 3.25rem !important;
	min-height: 3.25rem !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: #fff !important;
	background-color: #fff !important;
	box-shadow: none !important;
	color: #111 !important;
	font-family: "Open Sans", sans-serif !important;
	font-size: 1.15rem !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	cursor: pointer;
}

.elementor-widget-woocommerce-product-add-to-cart .dkh-qty-btn:disabled,
.dkh-pdp .dkh-qty-btn:disabled {
	opacity: 0.35;
	cursor: default;
}

.elementor-widget-woocommerce-product-add-to-cart .dkh-qty-btn:hover:not(:disabled),
.dkh-pdp .dkh-qty-btn:hover:not(:disabled) {
	background: #f5f5f5 !important;
	background-color: #f5f5f5 !important;
}

.elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button.button,
.elementor-widget-woocommerce-product-add-to-cart button.single_add_to_cart_button,
.elementor-kit-5 .elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button.button,
.dkh-pdp .single_add_to_cart_button.button,
.dkh-pdp button.single_add_to_cart_button {
	flex: 1 1 auto;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.65rem;
	width: auto !important;
	min-height: 3.25rem !important;
	height: 3.25rem !important;
	margin: 0 !important;
	padding: 0 1.25rem !important;
	background: #daf615 !important;
	background-color: #daf615 !important;
	color: #111 !important;
	border: 1px solid #111 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	font-family: "Open Sans", sans-serif !important;
	font-size: 0.78rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
	line-height: 1.2 !important;
	white-space: nowrap;
}

.elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button.button::after,
.elementor-widget-woocommerce-product-add-to-cart button.single_add_to_cart_button::after,
.dkh-pdp .single_add_to_cart_button.button::after,
.dkh-pdp button.single_add_to_cart_button::after {
	content: "";
	display: inline-block;
	width: 1.05rem;
	height: 1.05rem;
	flex: 0 0 1.05rem;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.4'/%3E%3Ccircle cx='18' cy='20' r='1.4'/%3E%3Cpath d='M3 4h2l2.4 11.2a1.5 1.5 0 0 0 1.5 1.2h8.4a1.5 1.5 0 0 0 1.5-1.2L21 8H7'/%3E%3C/svg%3E") center / contain no-repeat;
}

.elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button.button:hover,
.elementor-widget-woocommerce-product-add-to-cart button.single_add_to_cart_button:hover,
.dkh-pdp .single_add_to_cart_button.button:hover,
.dkh-pdp button.single_add_to_cart_button:hover {
	background: #c5de12 !important;
	background-color: #c5de12 !important;
	color: #111 !important;
	border-color: #111 !important;
}

@media (max-width: 767px) {
	/* Keep qty + ATC on one row like the mobile mockup */
	.elementor-widget-woocommerce-product-add-to-cart .cart,
	.dkh-pdp .cart {
		flex-wrap: nowrap;
		gap: 0.4rem;
	}

	.elementor-widget-woocommerce-product-add-to-cart .quantity,
	.dkh-pdp .quantity {
		flex: 0 0 auto;
	}

	.elementor-widget-woocommerce-product-add-to-cart .quantity .qty,
	.dkh-pdp .quantity .qty {
		width: 2.35rem;
		min-width: 2.35rem;
		height: 2.85rem;
		min-height: 2.85rem;
		line-height: 2.85rem !important;
		font-size: 0.9rem !important;
	}

	.elementor-widget-woocommerce-product-add-to-cart .dkh-qty-btn,
	.elementor-kit-5 .elementor-widget-woocommerce-product-add-to-cart .dkh-qty-btn,
	.dkh-pdp .dkh-qty-btn {
		width: 2.35rem !important;
		min-width: 2.35rem !important;
		height: 2.85rem !important;
		min-height: 2.85rem !important;
		font-size: 1.05rem !important;
	}

	.elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button.button,
	.elementor-widget-woocommerce-product-add-to-cart button.single_add_to_cart_button,
	.elementor-kit-5 .elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button.button,
	.dkh-pdp .single_add_to_cart_button.button,
	.dkh-pdp button.single_add_to_cart_button {
		flex: 1 1 auto;
		min-width: 0;
		width: auto !important;
		height: 2.85rem !important;
		min-height: 2.85rem !important;
		padding: 0 0.75rem !important;
		font-size: 0.68rem !important;
		letter-spacing: 0.02em !important;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button.button::after,
	.elementor-widget-woocommerce-product-add-to-cart button.single_add_to_cart_button::after,
	.dkh-pdp .single_add_to_cart_button.button::after,
	.dkh-pdp button.single_add_to_cart_button::after {
		display: none; /* more room for label on narrow screens */
	}

	.dkh-qty-label {
		margin-bottom: 0.4rem;
		font-size: 0.65rem;
	}

	.dkh-stock-badge {
		margin-bottom: 0.85rem;
		font-size: 0.7rem;
		padding: 0.4rem 0.85rem;
	}

	.dkh-feature-bullets {
		margin: 0 0 0.25rem;
	}

	.dkh-feature-bullets li {
		font-size: 12px;
		margin-bottom: 0.45rem;
	}

	/* Stacked product summary spacing */
	.elementor-element-2114468 {
		padding-top: 1rem !important;
	}

	.elementor-element-9adc5fc {
		gap: 0.75rem !important;
	}
}

/* =========================================================
   Product gallery — landscape viewport, thumbs in one row
   IMPORTANT: never force width on .woocommerce-product-gallery__wrapper
   — FlexSlider sets that to N*100% so slides can move left/right.
   ========================================================= */
.woocommerce-product-gallery.woocommerce-product-gallery--with-images {
	margin: 0 !important;
}

.elementor-widget-woocommerce-product-images {
	width: 100%;
}

.elementor-widget-woocommerce-product-images .woocommerce-product-gallery {
	width: 100%;
	max-width: 100%;
	opacity: 1 !important;
}

/* Only the visible window is constrained — not the sliding wrapper */
.elementor-widget-woocommerce-product-images .flex-viewport {
	width: 100%;
	max-width: 100%;
	height: auto !important;
	max-height: 28rem !important;
	margin: 0 0 0.65rem !important;
	padding: 0;
	background: #fff;
	aspect-ratio: 4 / 3;
	overflow: hidden !important;
	position: relative !important;
}

/* Let FlexSlider own wrapper width/transform; do not clamp it */
.elementor-widget-woocommerce-product-images .woocommerce-product-gallery__wrapper {
	max-height: none !important;
	height: auto !important;
	aspect-ratio: auto !important;
	overflow: visible !important;
	background: transparent;
}

.elementor-widget-woocommerce-product-images .woocommerce-product-gallery__image {
	float: left;
	max-height: 28rem;
	overflow: hidden;
	background: #fff;
}

.elementor-widget-woocommerce-product-images .woocommerce-product-gallery__image a {
	display: block;
	width: 100%;
	line-height: 0;
}

.elementor-widget-woocommerce-product-images .woocommerce-product-gallery__image img,
.elementor-widget-woocommerce-product-images .flex-viewport img,
.elementor-widget-woocommerce-product-images .wp-post-image {
	display: block;
	width: 100% !important;
	height: auto !important;
	max-width: 100% !important;
	max-height: 28rem !important;
	object-fit: contain !important;
	object-position: center;
	margin: 0 auto;
}

.elementor-widget-woocommerce-product-images .woocommerce-product-gallery__trigger {
	z-index: 2;
}

/* Force thumbnail strip to a single non-wrapping row */
.elementor-widget-woocommerce-product-images .flex-control-thumbs,
.elementor-widget-woocommerce-product-images ol.flex-control-nav.flex-control-thumbs {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: stretch;
	gap: 0.5rem;
	width: 100%;
	margin: 0.65rem 0 0 !important;
	padding: 0 !important;
	list-style: none;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
}

.elementor-widget-woocommerce-product-images .flex-control-thumbs li,
.elementor-widget-woocommerce-product-images .woocommerce-product-gallery--columns-4 .flex-control-thumbs li,
.elementor-widget-woocommerce-product-images .woocommerce-product-gallery--columns-5 .flex-control-thumbs li,
.elementor-widget-woocommerce-product-images .woocommerce-product-gallery--columns-6 .flex-control-thumbs li,
.elementor-widget-woocommerce-product-images .woocommerce-product-gallery--columns-7 .flex-control-thumbs li,
.elementor-widget-woocommerce-product-images .woocommerce-product-gallery--columns-8 .flex-control-thumbs li {
	float: none !important;
	width: auto !important;
	flex: 1 1 0 !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.elementor-widget-woocommerce-product-images .flex-control-thumbs li img {
	display: block;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border: 1px solid transparent;
	opacity: 0.55;
	cursor: pointer;
	transition: opacity 0.15s ease, border-color 0.15s ease;
}

.elementor-widget-woocommerce-product-images .flex-control-thumbs li img.flex-active,
.elementor-widget-woocommerce-product-images .flex-control-thumbs li img:hover {
	opacity: 1;
	border-color: #111;
}

@media (max-width: 767px) {
	.elementor-widget-woocommerce-product-images .flex-viewport,
	.elementor-widget-woocommerce-product-images .woocommerce-product-gallery__image,
	.elementor-widget-woocommerce-product-images .woocommerce-product-gallery__image img,
	.elementor-widget-woocommerce-product-images .flex-viewport img,
	.elementor-widget-woocommerce-product-images .wp-post-image {
		max-height: 16rem !important;
	}

	.elementor-widget-woocommerce-product-images .flex-viewport {
		aspect-ratio: 4 / 3;
		margin-bottom: 0.5rem !important;
	}

	.elementor-widget-woocommerce-product-images .flex-control-thumbs,
	.elementor-widget-woocommerce-product-images ol.flex-control-nav.flex-control-thumbs {
		gap: 0.35rem;
		margin-top: 0.5rem !important;
	}

	.elementor-widget-woocommerce-product-images .flex-control-thumbs li {
		flex: 0 0 calc((100% - 1.4rem) / 5) !important;
		min-width: calc((100% - 1.4rem) / 5) !important;
	}

	.dkh-product-tabs {
		margin-top: 1.25rem;
	}

	.dkh-product-tabs__nav {
		gap: 0 1.25rem;
		padding: 0;
	}

	.dkh-product-tabs__tab,
	.elementor-kit-5 .dkh-product-tabs__tab,
	.elementor-kit-5 button.dkh-product-tabs__tab,
	.elementor-widget .dkh-product-tabs__tab {
		padding: 0.85rem 0 0.7rem !important;
		font-size: 0.68rem !important;
		letter-spacing: 0.04em !important;
	}

	.dkh-product-tabs__panels {
		padding: 1.15rem 0 1.35rem;
	}

	.dkh-product-tabs__panel {
		font-size: 0.9rem;
		line-height: 1.65;
	}
}

/* =========================================================
   Product tabs — production underline style (not lime boxes)
   Must fully reset Elementor kit button styles.
   ========================================================= */
.dkh-product-tabs {
	margin: 16px 0 0;
	padding: 0;
	border: 0;
	background: transparent;
	width: 100%;
	max-width: 100%;
}

/* Ensure Elementor shortcode wrapper doesn't constrain the table */
.elementor-element-c0d25b6,
.elementor-element-c0d25b6 .elementor-widget-container,
.elementor-element-c0d25b6 .elementor-shortcode {
	width: 100% !important;
	max-width: 100% !important;
}

.dkh-product-tabs__nav {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0 2.75rem;
	margin: 0;
	padding: 0;
	border: 0;
	border-bottom: 1px solid #e8e8e8;
	background: transparent;
}

.dkh-product-tabs__tab,
.elementor-kit-5 .dkh-product-tabs__tab,
.elementor-widget .dkh-product-tabs__tab,
body .dkh-product-tabs .dkh-product-tabs__tab {
	appearance: none !important;
	box-sizing: border-box !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 auto !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 0 -1px !important;
	padding: 1.05rem 0 0.9rem !important;
	border: 0 !important;
	border-bottom: 3px solid transparent !important;
	border-radius: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	outline: none !important;
	font-family: "Open Sans", sans-serif !important;
	font-size: 0.78rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	line-height: 1.2 !important;
	color: #9a9a9a !important;
	cursor: pointer !important;
	opacity: 1 !important;
	position: relative;
	z-index: 1;
}

.dkh-product-tabs__tab:hover,
.dkh-product-tabs__tab:focus,
.elementor-kit-5 .dkh-product-tabs__tab:hover,
body .dkh-product-tabs .dkh-product-tabs__tab:hover {
	background: transparent !important;
	background-color: transparent !important;
	color: #111 !important;
	border: 0 !important;
	border-bottom: 3px solid transparent !important;
	box-shadow: none !important;
}

.dkh-product-tabs__tab.is-active,
.elementor-kit-5 .dkh-product-tabs__tab.is-active,
body .dkh-product-tabs .dkh-product-tabs__tab.is-active {
	color: #111 !important;
	font-weight: 700 !important;
	background: transparent !important;
	background-color: transparent !important;
	border: 0 !important;
	border-bottom: 3px solid #111 !important;
	opacity: 1 !important;
}

.dkh-product-tabs__panels {
	padding: 1.5rem 0 1.75rem;
	background: transparent;
	width: 100%;
}

.dkh-product-tabs__panel {
	font-size: 13px;
	line-height: 1.75;
	color: #303030;
	width: 100%;
	max-width: 100%;
}

.dkh-product-tabs__panel p {
	margin: 0 0 1rem;
}

.dkh-product-tabs__panel p:last-child {
	margin-bottom: 0;
}

.dkh-product-tabs__panel strong,
.dkh-product-tabs__panel b {
	color: #111;
	font-weight: 700;
}

/* Extra informatie — mobile-first single column, 2 cols on desktop */
.dkh-extra-info {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	width: 100%;
	max-width: 100%;
	border: 0;
	box-sizing: border-box;
}

.dkh-extra-info__item {
	display: grid;
	grid-template-columns: minmax(7.5rem, 42%) minmax(0, 1fr);
	align-items: start;
	column-gap: 0.85rem;
	row-gap: 0.15rem;
	padding: 0.85rem 0;
	border-bottom: 1px solid #e8e8e8;
	border-left: 0;
	width: 100%;
	box-sizing: border-box;
}

.dkh-extra-info__item:nth-child(even) {
	padding-left: 0;
	border-left: 0;
}

.dkh-extra-info__label {
	font-family: "Open Sans", sans-serif;
	font-size: 0.65rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: #9a9a9a;
	line-height: 1.35;
}

.dkh-extra-info__value {
	font-family: "Open Sans", sans-serif;
	font-size: 0.9rem;
	font-weight: 600;
	color: #111;
	line-height: 1.45;
	overflow-wrap: anywhere;
	word-break: normal;
	white-space: normal;
}

@media (min-width: 768px) {
	.dkh-extra-info {
		grid-template-columns: 1fr 1fr;
		width: 100%;
		max-width: 100%;
	}

	.dkh-extra-info__item {
		grid-template-columns: minmax(9rem, 36%) minmax(0, 1fr);
		column-gap: 1.25rem;
		padding: 1rem 1.75rem 1rem 0;
	}

	.dkh-extra-info__item:nth-child(even) {
		padding-left: 1.75rem;
		padding-right: 0;
		border-left: 1px solid #e8e8e8;
	}

	.dkh-extra-info__label {
		font-size: 0.68rem;
	}

	.dkh-extra-info__value {
		font-size: 0.95rem;
		overflow-wrap: break-word;
	}
}

.dkh-pdp .woocommerce-breadcrumb {
	font-size: 0.7rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #9a9a9a;
	margin-bottom: 1.25rem;
}

/* Category archive pages are not ready — keep labels, disable navigation. */
.single-product a[href*="/product-category/"],
.dkh-pdp a[href*="/product-category/"] {
	pointer-events: none !important;
	cursor: default !important;
	text-decoration: none !important;
}
