/* ==========================================================================
   Dhriti Wood — shop (WooCommerce)
   ========================================================================== */

/* Product grid ---------------------------------------------------------------- */
body.dh ul.products,
body.dh .brxe-woocommerce-products ul.products,
body.dh .brxe-product-related ul.products {
	display: grid !important;
	grid-template-columns: repeat(var(--dh-cols, 4), minmax(0, 1fr)) !important;
	gap: clamp(14px, 1.6vw, 24px) clamp(12px, 1.4vw, 20px);
	margin: 0;
	padding: 0;
	list-style: none;
}
body.dh ul.products::before, body.dh ul.products::after { display: none; }

body.dh ul.products li.product {
	position: relative;
	display: flex;
	flex-direction: column;
	width: auto !important;
	margin: 0 !important;
	padding: 10px 10px 14px;
	float: none;
	background: var(--dh-card);
	border: 1px solid var(--dh-line-2);
	border-radius: var(--dh-r-lg);
	transition: transform .5s var(--dh-ease), box-shadow .5s var(--dh-ease), border-color .5s;
}
body.dh ul.products li.product:hover { transform: translateY(-4px); box-shadow: var(--dh-shadow); border-color: transparent; }
body.dh ul.products li.product > a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; flex: 1; color: inherit; }

.dh-pcard__media {
	position: relative;
	border-radius: calc(var(--dh-r-lg) - 8px);
	overflow: hidden;
	background: var(--dh-paper-2);
	aspect-ratio: 1 / 1;
	margin-bottom: 16px;
}
.dh-pcard__media img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	margin: 0 !important;
	transition: transform 1s var(--dh-ease);
}
body.dh li.product:hover .dh-pcard__media img { transform: scale(1.05); }

.dh-badge {
	position: absolute;
	z-index: 2;
	display: inline-flex; align-items: center; gap: 6px;
	padding: 6px 11px;
	border-radius: 999px;
	font-size: 10.5px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
	line-height: 1.2;
	min-height: 0; min-width: 0;
}
body.dh .dh-badge--sale, body.dh span.onsale.dh-badge {
	top: 12px; left: 12px; right: auto;
	background: var(--dh-walnut); color: var(--dh-paper);
	margin: 0;
}
.dh-badge--star { top: 12px; right: 12px; background: rgba(251, 248, 244, .92); color: var(--dh-walnut); backdrop-filter: blur(6px); }
.dh-badge--star svg { width: 12px; height: 12px; fill: var(--dh-honey); stroke: var(--dh-honey); }

.dh-pcard__body { display: flex; flex-direction: column; gap: 6px; padding: 0 8px; flex: 1; }
.dh-pcard__cat { font-size: 10.5px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: var(--dh-teak); }
body.dh ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--dh-serif);
	font-size: clamp(17px, 1.3vw, 20px);
	font-weight: 400;
	line-height: 1.22;
	color: var(--dh-ink);
	padding: 0;
	margin: 0;
	letter-spacing: -.01em;
}
.dh-pcard__spec { font-size: 13px; color: var(--dh-muted); line-height: 1.4; }
.dh-pcard__price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; margin-top: auto; padding-top: 10px; }
.dh-pcard__now { font-size: 20px; font-weight: 800; color: var(--dh-ink); letter-spacing: -.01em; }
.dh-pcard__now small { font-size: 12px; font-weight: 600; color: var(--dh-muted); margin-right: 4px; }
.dh-pcard__price del { font-size: 13.5px; color: var(--dh-muted); }
.dh-pcard__off { font-size: 12.5px; font-weight: 800; color: #3F7A4A; }
.dh-pcard__rate { font-size: 12.5px; color: var(--dh-muted); }

body.dh ul.products li.product .button,
body.dh ul.products li.product .added_to_cart {
	margin: 14px 8px 0;
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 46px;
	padding: 12px 18px;
	border-radius: 999px;
	border: 1px solid var(--dh-line);
	background: transparent;
	color: var(--dh-walnut);
	font-family: var(--dh-sans);
	font-size: 11.5px;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
	transition: background .35s var(--dh-ease), color .35s var(--dh-ease), border-color .35s;
}
body.dh ul.products li.product .button:hover,
body.dh ul.products li.product:hover .button { background: var(--dh-walnut); color: var(--dh-paper); border-color: var(--dh-walnut); }
body.dh ul.products li.product .added_to_cart { border: 0; min-height: 0; padding: 8px; }
body.dh ul.products li.product .star-rating { display: none; }

/* Archive header & toolbar --------------------------------------------------- */
.dh-shophead { padding-top: clamp(30px, 4vw, 56px); }
.dh-shophead__row { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px 48px; flex-wrap: wrap; }
body.dh .dh-shophead__title { font-size: clamp(40px, 5vw, 72px); }
.dh-shophead__desc { margin-top: 14px; max-width: 60ch; font-size: 17px; }
.dh-shophead__trust { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.dh-shophead__trust li {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 10px 15px; border-radius: 999px;
	border: 1px solid var(--dh-line); background: rgba(255, 255, 255, .4);
	font-size: 13px; font-weight: 700; color: var(--dh-walnut);
}
.dh-shophead__trust svg { width: 17px; height: 17px; color: var(--dh-teak); }
.dh-crumbs--dark { color: var(--dh-muted); margin-bottom: 18px; }
.dh-crumbs--dark a:hover { color: var(--dh-walnut); }
.dh-crumb-sep { opacity: .5; margin: 0 2px; }

.dh-shop-cats {
	display: flex;
	gap: 12px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding: 4px 2px 14px;
	margin: clamp(28px, 3vw, 44px) 0 8px;
	scrollbar-width: thin;
	scrollbar-color: var(--dh-tan) transparent;
}
.dh-shop-cat {
	flex: none;
	scroll-snap-align: start;
	width: 136px;
	display: flex; flex-direction: column; align-items: center; gap: 10px;
	text-align: center;
	font-size: 13px; font-weight: 700; line-height: 1.3; color: var(--dh-walnut);
}
.dh-shop-cat__img {
	width: 100%; aspect-ratio: 1; border-radius: 22px; overflow: hidden;
	background: var(--dh-paper-2);
	border: 2px solid transparent;
	display: grid; place-items: center;
	transition: border-color .3s, transform .5s var(--dh-ease);
}
.dh-shop-cat__img img { width: 100%; height: 100%; object-fit: cover; }
.dh-shop-cat__img--all { background: var(--dh-walnut); color: var(--dh-tan-2); }
.dh-shop-cat__img--all svg { width: 36px; height: 36px; }
.dh-shop-cat:hover .dh-shop-cat__img { transform: translateY(-3px); }
.dh-shop-cat.is-current .dh-shop-cat__img { border-color: var(--dh-walnut); }
.dh-shop-cat.is-current .dh-shop-cat__name { color: var(--dh-ink); text-decoration: underline; text-underline-offset: 4px; }

body.dh .bricks-products-widgets,
.dh-toolbar {
	display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
	padding: 18px 0; margin-bottom: 22px;
	border-top: 1px solid var(--dh-line); border-bottom: 1px solid var(--dh-line);
}
body.dh .bricks-products-widgets.after { border: 0; justify-content: center; margin: 40px 0 0; }
body.dh .woocommerce-result-count { margin: 0; font-size: 14px; color: var(--dh-muted); }
body.dh .woocommerce-ordering { margin: 0; }
body.dh .woocommerce-ordering select,
body.dh .dh-select {
	appearance: none;
	min-height: 44px;
	padding: 10px 44px 10px 18px;
	border-radius: 999px;
	border: 1px solid var(--dh-line);
	background: var(--dh-card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234A2B1D' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 16px center / 16px no-repeat;
	font-family: var(--dh-sans); font-size: 14px; font-weight: 600; color: var(--dh-walnut);
	cursor: pointer;
}
body.dh .woocommerce-pagination ul { display: flex; gap: 8px; border: 0 !important; justify-content: center; }
body.dh .woocommerce-pagination ul li { border: 0 !important; }
body.dh .woocommerce-pagination ul li a, body.dh .woocommerce-pagination ul li span {
	width: 46px; height: 46px; display: grid; place-items: center; border-radius: 50%;
	border: 1px solid var(--dh-line); font-weight: 700; color: var(--dh-walnut);
}
body.dh .woocommerce-pagination ul li span.current { background: var(--dh-walnut); color: var(--dh-paper); border-color: var(--dh-walnut); }

.dh-shop-cta {
	margin-top: clamp(48px, 6vw, 88px);
	border-radius: var(--dh-r-xl);
	background: var(--dh-walnut);
	color: var(--dh-tan-2);
	padding: clamp(30px, 4vw, 56px);
	display: flex; align-items: center; justify-content: space-between; gap: 24px 40px; flex-wrap: wrap;
}
body.dh .dh-shop-cta h2 { color: var(--dh-paper); font-size: clamp(28px, 3vw, 42px); }
body.dh .dh-shop-cta h2 em { color: var(--dh-honey); }
.dh-shop-cta p { margin-top: 10px; max-width: 54ch; color: rgba(243, 238, 231, .78); }

/* Single product -------------------------------------------------------------- */
.brxe-section.dh-product { padding-top: clamp(20px, 2.6vw, 36px); }
.dh-product__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
	gap: clamp(28px, 4.4vw, 72px);
	align-items: start;
	margin-top: 18px;
}
.dh-product__gallery { position: sticky; top: calc(var(--dh-header-h) + 24px); }
body.dh .dh-product__gallery .brxe-product-gallery,
body.dh .brxe-product-gallery.dh-gallery { width: 100%; }
body.dh .dh-gallery .woocommerce-product-gallery__wrapper,
body.dh .dh-gallery .flex-viewport {
	border-radius: var(--dh-r-lg);
	overflow: hidden;
	background: var(--dh-paper-2);
}
body.dh .dh-gallery .woocommerce-product-gallery__image img { width: 100%; height: auto; }
body.dh .dh-gallery .flex-control-thumbs { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin-top: 12px !important; }
body.dh .dh-gallery .flex-control-thumbs li { width: auto !important; margin: 0 !important; }
body.dh .dh-gallery .flex-control-thumbs img {
	border-radius: 14px; opacity: .55; border: 2px solid transparent; transition: opacity .3s, border-color .3s; cursor: pointer;
}
body.dh .dh-gallery .flex-control-thumbs img.flex-active,
body.dh .dh-gallery .flex-control-thumbs img:hover { opacity: 1; border-color: var(--dh-walnut); }
body.dh .dh-gallery .woocommerce-product-gallery__trigger {
	top: 16px !important; right: 16px !important; width: 44px; height: 44px; border-radius: 50%;
	background: rgba(251, 248, 244, .9) !important;
}

.dh-product__info { display: flex; flex-direction: column; gap: 20px; }
.dh-product__kicker { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.dh-product__kicker a, .dh-product__kicker span.dh-chip {
	display: inline-flex; padding: 6px 12px; border-radius: 999px;
	background: var(--dh-tan-2); color: var(--dh-walnut);
	font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
}
.dh-stock { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; color: #3F7A4A; }
.dh-stock::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 4px rgba(63, 122, 74, .15); }

body.dh .dh-product__title,
body.dh .dh-product__title.brxe-product-title { font-size: clamp(32px, 3.4vw, 50px); line-height: 1.05; letter-spacing: -.02em; margin: 0; }
body.dh .dh-product__excerpt { font-size: 16.5px; line-height: 1.65; color: var(--dh-body); }
body.dh .dh-product__excerpt p + p { margin-top: 10px; }

.dh-pbox {
	padding: 22px 24px;
	border-radius: var(--dh-r-md);
	background: var(--dh-card);
	border: 1px solid var(--dh-line-2);
	display: flex; flex-direction: column; gap: 8px;
}
.dh-pbox.dh-pulse { animation: dh-pbox 0.6s var(--dh-ease); }
@keyframes dh-pbox { 0% { box-shadow: 0 0 0 0 rgba(154, 97, 54, .35); } 100% { box-shadow: 0 0 0 14px rgba(154, 97, 54, 0); } }
.dh-pbox__row { display: flex; align-items: baseline; gap: 6px 12px; flex-wrap: wrap; }
.dh-pbox__from { font-size: 14px; font-weight: 700; color: var(--dh-muted); }
.dh-pbox__price { font-size: clamp(30px, 2.8vw, 40px); font-weight: 800; color: var(--dh-ink); letter-spacing: -.02em; line-height: 1; }
.dh-pbox__mrp { font-size: 17px; color: var(--dh-muted); }
.dh-pbox__off {
	font-size: 13px; font-weight: 800; color: #2F6B3B;
	background: rgba(63, 122, 74, .12); padding: 5px 10px; border-radius: 999px;
}
.dh-pbox__meta { display: flex; gap: 8px 16px; flex-wrap: wrap; align-items: center; font-size: 14px; }
.dh-pbox__variant { font-weight: 700; color: var(--dh-walnut); }
.dh-pbox__rate { color: var(--dh-body); padding-left: 16px; border-left: 1px solid var(--dh-line); }
.dh-pbox__note { font-size: 12.5px; color: var(--dh-muted); }
.dh-pbox [hidden] { display: none !important; }

/* Add to cart + swatches */
body.dh .dh-product__buy .cart { margin: 0; }
body.dh .dh-product__buy table.variations { width: 100%; border: 0; margin: 0 0 6px; }
body.dh .dh-product__buy table.variations tr { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; }
body.dh .dh-product__buy table.variations th,
body.dh .dh-product__buy table.variations td { padding: 0; border: 0; text-align: left; background: none; display: block; width: 100% !important; }
body.dh .dh-product__buy table.variations label {
	font-size: 11.5px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: var(--dh-walnut);
}
body.dh .dh-product__buy table.variations select { min-height: 48px; border-radius: 14px; border: 1px solid var(--dh-line); padding: 0 16px; width: 100%; background: var(--dh-white); }
body.dh .bricks-variation-swatches { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; gap: 8px; margin: 0; padding: 0; list-style: none; }
body.dh .bricks-variation-swatches.bricks-swatch-label li {
	min-width: 76px;
	padding: 12px 16px;
	border-radius: 14px;
	border: 1px solid var(--dh-line);
	background: var(--dh-white);
	color: var(--dh-walnut);
	font-size: 14px;
	font-weight: 700;
	text-align: center;
	cursor: pointer;
	transition: border-color .25s, background .25s, color .25s, box-shadow .25s;
}
body.dh .bricks-variation-swatches.bricks-swatch-label li:hover { border-color: var(--dh-walnut); }
body.dh .bricks-variation-swatches.bricks-swatch-label li.bricks-swatch-selected {
	background: var(--dh-walnut); color: var(--dh-paper); border-color: var(--dh-walnut);
	box-shadow: 0 8px 20px -10px rgba(74, 43, 29, .6);
}
body.dh .bricks-variation-swatches li.bricks-swatch-disabled,
body.dh .bricks-variation-swatches li[aria-disabled="true"],
body.dh .bricks-variation-swatches li.disabled { opacity: .35; text-decoration: line-through; cursor: not-allowed; }
body.dh .reset_variations { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--dh-teak); margin-top: 6px; display: inline-block; }
body.dh .single_variation_wrap .woocommerce-variation-price { display: none; }
body.dh .woocommerce-variation-availability p.stock { font-size: 13px; font-weight: 700; margin: 0 0 10px; }

body.dh .dh-product__buy .woocommerce-variation-add-to-cart,
body.dh .dh-product__buy form.cart:not(.variations_form) {
	display: flex; gap: 10px; align-items: stretch; flex-wrap: wrap;
}
body.dh div.quantity {
	display: inline-flex; align-items: center;
	border: 1px solid var(--dh-line);
	border-radius: 999px;
	background: var(--dh-white);
	min-height: 56px;
	padding: 0 6px;
	margin: 0 !important;
}
body.dh div.quantity .action {
	width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%;
	color: var(--dh-walnut); cursor: pointer; transition: background .25s;
}
body.dh div.quantity .action:hover { background: var(--dh-paper-2); }
body.dh div.quantity .action svg { width: 16px; height: 16px; }
body.dh div.quantity input.qty {
	width: 46px; border: 0; background: transparent; text-align: center;
	font-size: 16px; font-weight: 800; color: var(--dh-ink); -moz-appearance: textfield; padding: 0;
}
body.dh div.quantity input.qty::-webkit-inner-spin-button, body.dh div.quantity input.qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }

body.dh .single_add_to_cart_button,
body.dh .dh-product__buy button.button {
	flex: 1 1 220px;
	min-height: 56px;
	border-radius: 999px !important;
	background: var(--dh-walnut) !important;
	color: var(--dh-paper) !important;
	border: 0 !important;
	font-family: var(--dh-sans);
	font-size: 12.5px !important;
	font-weight: 800 !important;
	letter-spacing: .18em;
	text-transform: uppercase;
	padding: 0 28px !important;
	transition: background .3s var(--dh-ease), transform .3s var(--dh-ease);
}
body.dh .single_add_to_cart_button:hover { background: var(--dh-teak) !important; transform: translateY(-1px); }
body.dh .single_add_to_cart_button.disabled { opacity: .45 !important; cursor: not-allowed; }

.dh-extras { display: flex; flex-direction: column; gap: 14px; }
.dh-wholesale {
	display: flex; align-items: center; gap: 16px;
	padding: 16px 18px;
	border-radius: var(--dh-r-md);
	background: linear-gradient(90deg, #F3E5D3, #EFE3D4);
	border: 1px dashed rgba(154, 97, 54, .45);
	color: var(--dh-walnut);
	transition: transform .4s var(--dh-ease);
}
.dh-wholesale:hover { transform: translateY(-2px); }
.dh-wholesale__icon { width: 44px; height: 44px; border-radius: 50%; background: var(--dh-walnut); color: var(--dh-honey); display: grid; place-items: center; flex: none; }
.dh-wholesale__icon svg { width: 20px; height: 20px; }
.dh-wholesale strong { display: block; font-size: 15px; }
.dh-wholesale small { display: block; font-size: 13px; color: var(--dh-body); }
.dh-wholesale__go { width: 20px; height: 20px; margin-left: auto; flex: none; }
.dh-extras__row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.dh-extras__row .dh-btn { width: 100%; }
.dh-extras__row .dh-btn svg { width: 17px; height: 17px; }
.dh-assure { list-style: none; margin: 4px 0 0; padding: 18px 0 0; border-top: 1px solid var(--dh-line); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.dh-assure li { display: flex; flex-direction: column; gap: 8px; font-size: 12.5px; line-height: 1.4; color: var(--dh-muted); }
.dh-assure svg { width: 24px; height: 24px; color: var(--dh-teak); }
.dh-assure strong { display: block; color: var(--dh-ink); font-size: 13.5px; }
.dh-extras__policy { display: flex; flex-wrap: wrap; gap: 4px 10px; font-size: 13px; color: var(--dh-muted); }
.dh-extras__policy a { color: var(--dh-body); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--dh-line); }
.dh-extras__policy a:hover { color: var(--dh-walnut); text-decoration-color: currentColor; }

.dh-highlights { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.dh-highlights li {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 9px 14px; border-radius: 999px;
	background: rgba(255, 255, 255, .55); border: 1px solid var(--dh-line-2);
	font-size: 13px; font-weight: 700; color: var(--dh-walnut);
}
.dh-highlights svg { width: 16px; height: 16px; color: var(--dh-teak); }

/* Details */
.dh-product__details { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 80px); align-items: start; }
body.dh .dh-product__details h2 { font-size: clamp(28px, 2.6vw, 38px); margin-bottom: 22px; }
.dh-specs dl { margin: 0; border-top: 1px solid var(--dh-line); }
.dh-specs__row { display: grid; grid-template-columns: minmax(130px, .8fr) 1.2fr; gap: 20px; padding: 15px 0; border-bottom: 1px solid var(--dh-line); }
.dh-specs dt { font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--dh-muted); padding-top: 2px; }
.dh-specs dd { margin: 0; font-size: 15.5px; font-weight: 600; color: var(--dh-ink); }
body.dh .dh-richtext { font-size: 16.5px; line-height: 1.75; }
body.dh .dh-richtext p + p, body.dh .dh-richtext p + ul, body.dh .dh-richtext ul + p { margin-top: 14px; }
body.dh .dh-richtext h3 { font-size: 24px; margin: 30px 0 12px; }
body.dh .dh-richtext ul { padding-left: 0; list-style: none; }
body.dh .dh-richtext ul li { position: relative; padding-left: 22px; margin: 8px 0; }
body.dh .dh-richtext ul li::before { content: ""; position: absolute; left: 0; top: 10px; width: 8px; height: 8px; background: var(--dh-teak); border-radius: 1px; }
body.dh .dh-richtext strong { color: var(--dh-ink); }

.dh-qa { border-top: 1px solid var(--dh-line); }
.dh-qa__item { border-bottom: 1px solid var(--dh-line); }
.dh-qa__item summary {
	list-style: none; cursor: pointer;
	display: flex; justify-content: space-between; align-items: center; gap: 24px;
	padding: 22px 0;
	font-family: var(--dh-serif); font-size: clamp(18px, 1.5vw, 21px); color: var(--dh-ink); line-height: 1.35;
}
.dh-qa__item summary::-webkit-details-marker { display: none; }
.dh-qa__item summary i {
	flex: none; position: relative; width: 36px; height: 36px; border-radius: 50%;
	border: 1px solid var(--dh-line); transition: background .3s, transform .4s var(--dh-ease);
}
.dh-qa__item summary i::before, .dh-qa__item summary i::after {
	content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 1.5px; background: var(--dh-walnut);
	transform: translate(-50%, -50%); transition: transform .4s var(--dh-ease), background .3s;
}
.dh-qa__item summary i::after { transform: translate(-50%, -50%) rotate(90deg); }
.dh-qa__item[open] summary i { background: var(--dh-walnut); border-color: var(--dh-walnut); }
.dh-qa__item[open] summary i::before, .dh-qa__item[open] summary i::after { background: var(--dh-paper); }
.dh-qa__item[open] summary i::after { transform: translate(-50%, -50%) rotate(0); }
.dh-qa__a { padding: 0 56px 24px 0; color: var(--dh-body); font-size: 16px; line-height: 1.7; }

.dh-why { border-radius: var(--dh-r-xl); background: var(--dh-walnut); padding: clamp(28px, 4vw, 56px); }
.dh-why__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
.dh-why__item { display: flex; flex-direction: column; gap: 10px; color: rgba(243, 238, 231, .74); font-size: 14.5px; line-height: 1.55; }
.dh-why__item strong { color: var(--dh-paper); font-family: var(--dh-serif); font-weight: 400; font-size: 21px; }
.dh-why__icon { width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; border: 1px solid var(--dh-line-light); color: var(--dh-honey); margin-bottom: 6px; }
.dh-why__icon svg { width: 22px; height: 22px; }

.dh-buybar {
	position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 850;
	display: none; align-items: center; justify-content: space-between; gap: 12px;
	padding: 10px 10px 10px 18px;
	border-radius: 20px;
	background: rgba(44, 24, 16, .95);
	backdrop-filter: blur(12px);
	color: var(--dh-paper);
	box-shadow: var(--dh-shadow-lg);
	transform: translateY(140%);
	transition: transform .5s var(--dh-ease);
}
.dh-buybar.is-visible { transform: none; }
.dh-buybar > div { display: flex; flex-direction: column; min-width: 0; }
.dh-buybar__name { font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; opacity: .8; }
.dh-buybar__price { font-weight: 800; font-size: 17px; }
body.dh .dh-buybar .dh-btn { --btn-bg: var(--dh-tan); --btn-fg: var(--dh-walnut); --btn-bd: var(--dh-tan); }

/* Notices ---------------------------------------------------------------------- */
body.dh .woocommerce-message,
body.dh .woocommerce-info,
body.dh .woocommerce-error,
body.dh .woocommerce-notices-wrapper .wc-block-components-notice-banner {
	border-radius: var(--dh-r-md);
	border: 1px solid var(--dh-line);
	background: var(--dh-card);
	color: var(--dh-ink);
	padding: 16px 20px;
	font-size: 15px;
}
body.dh .woocommerce-message .button,
body.dh .woocommerce-info .button { border-radius: 999px; background: var(--dh-walnut); color: var(--dh-paper); font-size: 11.5px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; padding: 10px 18px; }

/* Free delivery meter ---------------------------------------------------------- */
.dh-meter { padding: 16px 18px; border-radius: var(--dh-r-md); background: var(--dh-card); border: 1px solid var(--dh-line-2); margin-bottom: 22px; }
.dh-meter p { display: flex; gap: 10px; align-items: center; font-size: 14px; color: var(--dh-body); margin: 0 0 12px; }
.dh-meter p svg { width: 20px; height: 20px; color: var(--dh-teak); flex: none; }
.dh-meter strong { color: var(--dh-ink); }
.dh-meter__bar { display: block; height: 6px; border-radius: 99px; background: var(--dh-paper-3); overflow: hidden; }
.dh-meter__bar span { display: block; height: 100%; width: var(--p); background: linear-gradient(90deg, var(--dh-teak), var(--dh-walnut)); border-radius: inherit; transition: width .8s var(--dh-ease); }
.dh-cart .cart-detail .dh-meter { margin-bottom: 14px; padding: 12px 14px; }

/* Cart, checkout & account (Bricks/Woo default templates) ---------------------- */
body.dh.woocommerce-cart .brxe-section, body.dh.woocommerce-checkout .brxe-section, body.dh.woocommerce-account .brxe-section { padding-left: var(--dh-gutter); padding-right: var(--dh-gutter); }
body.dh .woocommerce table.shop_table,
body.dh table.shop_table {
	border: 1px solid var(--dh-line-2);
	border-radius: var(--dh-r-md);
	background: var(--dh-card);
	border-collapse: separate;
	overflow: hidden;
}
body.dh table.shop_table th { font-size: 11.5px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--dh-muted); background: transparent; }
body.dh table.shop_table td, body.dh table.shop_table th { border-color: var(--dh-line-2) !important; padding: 16px 18px; }
body.dh table.shop_table .product-name a { font-family: var(--dh-serif); font-size: 18px; color: var(--dh-ink); }
body.dh table.shop_table img { border-radius: 12px; }
body.dh .woocommerce .button,
body.dh .woocommerce button.button,
body.dh .woocommerce a.button,
body.dh .checkout-button,
body.dh #place_order {
	border-radius: 999px;
	background: var(--dh-walnut);
	color: var(--dh-paper);
	border: 0;
	font-family: var(--dh-sans);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
	padding: 16px 26px;
	transition: background .3s var(--dh-ease);
}
body.dh .woocommerce .button:hover, body.dh .checkout-button:hover, body.dh #place_order:hover { background: var(--dh-teak); color: #fff; }
body.dh .woocommerce form .form-row input.input-text,
body.dh .woocommerce form .form-row textarea,
body.dh .woocommerce form .form-row select,
body.dh .select2-container .select2-selection--single,
body.dh .woocommerce .coupon input.input-text {
	min-height: 50px;
	border: 1px solid var(--dh-line);
	border-radius: var(--dh-r-sm);
	background: var(--dh-white);
	padding: 12px 16px;
	font-family: var(--dh-sans);
	font-size: 15px;
}
body.dh .select2-container .select2-selection--single .select2-selection__rendered { line-height: 26px; padding: 0; }
body.dh .select2-container .select2-selection--single .select2-selection__arrow { top: 12px; right: 10px; }
body.dh .woocommerce form .form-row label { font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--dh-walnut); }
body.dh .cart_totals, body.dh #order_review, body.dh .woocommerce-checkout-review-order {
	background: var(--dh-card); border: 1px solid var(--dh-line-2); border-radius: var(--dh-r-lg); padding: clamp(18px, 2.4vw, 32px);
}
body.dh .cart_totals h2, body.dh #order_review_heading, body.dh .woocommerce-billing-fields h3, body.dh .woocommerce-additional-fields h3 { font-size: 28px; margin-bottom: 18px; }
body.dh .woocommerce-checkout #payment { background: transparent; border-radius: var(--dh-r-md); }
body.dh .woocommerce-checkout #payment div.payment_box { background: var(--dh-paper-2); border-radius: var(--dh-r-sm); }
body.dh .woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--dh-paper-2); }
body.dh .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--dh-line); }
body.dh .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--dh-line); }
body.dh .woocommerce-MyAccount-navigation li a { display: block; padding: 14px 0; font-weight: 700; color: var(--dh-walnut); }
body.dh .woocommerce-MyAccount-navigation li.is-active a { color: var(--dh-teak); }

/* Woo blocks (cart/checkout pages built with blocks) */
body.dh .wc-block-components-button:not(.is-link) {
	border-radius: 999px; background: var(--dh-walnut); color: var(--dh-paper);
	font-weight: 800; letter-spacing: .14em; text-transform: uppercase; font-size: 12.5px; min-height: 54px;
}
body.dh .wc-block-components-button:not(.is-link):hover { background: var(--dh-teak); }
body.dh .wc-block-components-text-input input, body.dh .wc-block-components-combobox input, body.dh .wc-blocks-components-select select {
	border-radius: var(--dh-r-sm) !important; border-color: var(--dh-line) !important; background: #fff !important;
}
body.dh .wp-block-woocommerce-cart, body.dh .wp-block-woocommerce-checkout { font-family: var(--dh-sans); }
body.dh .wc-block-cart-items .wc-block-components-product-name { font-family: var(--dh-serif); font-size: 19px; color: var(--dh-ink); }
body.dh .wc-block-components-totals-wrapper, body.dh .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block { border-color: var(--dh-line-2); }
body.dh .wc-block-cart__sidebar, body.dh .wc-block-checkout__sidebar {
	background: var(--dh-card); border-radius: var(--dh-r-lg); border: 1px solid var(--dh-line-2); padding: 22px !important;
}

/* Page shell for pages without Bricks content (cart, checkout, my account, legal pages) */
body.dh #brx-content.wordpress {
	width: 100%;
	max-width: calc(var(--dh-max) + var(--dh-gutter) * 2);
	margin-inline: auto;
	padding: clamp(28px, 4vw, 56px) var(--dh-gutter) var(--dh-section);
}
body.dh #brx-content.wordpress > h1 { font-size: clamp(40px, 5vw, 72px); letter-spacing: -.025em; margin-bottom: clamp(24px, 3vw, 40px); }
body.dh #brx-content.wordpress .alignwide { max-width: 100%; margin-inline: 0; }

/* Page shell for Woo pages using default content (cart/checkout/account) */
.dh-woo-page { padding-top: clamp(28px, 4vw, 56px); }
body.dh .dh-woo-page h1.dh-woo-title { font-size: clamp(38px, 4.4vw, 62px); margin-bottom: 30px; }

/* Responsive ------------------------------------------------------------------- */
@media (max-width: 1180px) {
	body.dh ul.products { --dh-cols: 3; }
}
@media (max-width: 991px) {
	.dh-product__grid, .dh-product__details { grid-template-columns: 1fr; }
	.dh-product__gallery { position: static; }
	.dh-why__grid { grid-template-columns: 1fr 1fr; }
	.dh-buybar { display: flex; }
}
@media (max-width: 767px) {
	body.dh ul.products { --dh-cols: 2; gap: 12px 10px; }
	body.dh ul.products li.product { padding: 6px 6px 10px; border-radius: 20px; }
	.dh-pcard__media { border-radius: 15px; margin-bottom: 12px; }
	.dh-pcard__body { padding: 0 4px; }
	body.dh ul.products li.product .woocommerce-loop-product__title { font-size: 15.5px; }
	.dh-pcard__spec { font-size: 12px; }
	.dh-pcard__now { font-size: 16.5px; }
	body.dh ul.products li.product .button { margin: 10px 4px 0; min-height: 40px; font-size: 10.5px; letter-spacing: .1em; padding: 10px; }
	.dh-badge { font-size: 9px; padding: 5px 8px; }
	.dh-badge--star { display: none; }
	.dh-shop-cat { width: 98px; font-size: 12px; }
	.dh-shophead__trust { display: none; }
	.dh-assure { grid-template-columns: 1fr; }
	.dh-assure li { flex-direction: row; align-items: flex-start; }
	.dh-extras__row { grid-template-columns: 1fr; }
	.dh-why__grid { grid-template-columns: 1fr; }
	.dh-specs__row { grid-template-columns: 1fr; gap: 4px; }
	.dh-qa__a { padding-right: 0; }
	.dh-fab { bottom: 84px; }
	body.dh.single-product .dh-fab { display: none; }
}

/* Product page: hide the FAQ / specs sections when a product has none filled in (home FAQ uses .dh-faq, so it is unaffected) */
body.dh .brxe-section:has(.dh-faq-grid):not(:has(.dh-qa, .dh-faq)) { display: none; }
body.dh .dh-product__details > div:not(:has(.dh-specs, .dh-richtext)) { display: none; }


/* Catalogue mode — plugin "Catalogue Mode for WooCommerce" adds body.rpcm-active ------ */
.dh-enquiry {
	padding: 22px 24px;
	border-radius: var(--dh-r-md);
	background: var(--dh-card);
	border: 1px solid var(--dh-line-2);
	display: flex; flex-direction: column; gap: 16px;
}
.dh-enquiry__label { font-size: 11.5px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: var(--dh-walnut); margin-bottom: 8px; }
.dh-enquiry__chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.dh-enquiry__chips li {
	padding: 9px 14px; border-radius: 12px;
	border: 1px solid var(--dh-line); background: var(--dh-white);
	font-size: 14px; font-weight: 700; color: var(--dh-walnut);
}
.dh-enquiry__actions { display: grid; grid-template-columns: 1.4fr 1fr; gap: 10px; margin-top: 4px; }
body.dh .dh-enquiry__actions .dh-btn { width: 100%; }
.dh-enquiry__actions .dh-btn svg { width: 18px; height: 18px; }
.dh-enquiry__note { font-size: 13px; color: var(--dh-muted); }
.dh-pcard__ask { margin-top: auto; padding-top: 10px; font-weight: 700; color: var(--dh-teak); font-size: 13.5px; }
body.rpcm-active .dh-cart,
body.rpcm-active .dh-footer__links a[href*="/my-account/"],
body.rpcm-active .dh-footer__links a[href*="/cart/"] { display: none; }
body.rpcm-active .dh-footer__links li:has(> a[href*="/my-account/"]),
body.rpcm-active .dh-footer__links li:has(> a[href*="/cart/"]) { display: none; }
@media (max-width: 600px) {
	.dh-enquiry__actions { grid-template-columns: 1fr; }
}
