/* ==========================================================================
   WooCommerce — shop layout, product cards, single product page.
   Loads on WooCommerce pages (and pages with product shortcodes), on top of
   WooCommerce's own CSS. Mobile first; breakpoints 576 / 768 / 992 / 1200.
   ========================================================================== */
.dd-shop { padding-block: 20px 56px; }

/* --------------------------------------------------------------------------
   Breadcrumb
   ----------------------------------------------------------------------- */
.dd-breadcrumb { margin-bottom: 20px; font-size: 14px; }
.dd-breadcrumb ol { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 0; margin: 0; padding: 0; list-style: none; }
.dd-breadcrumb li { display: inline-flex; align-items: center; color: var(--dd-muted); }
.dd-breadcrumb li + li::before {
	content: "";
	width: 6px;
	height: 6px;
	margin: 0 10px;
	border-top: 1.5px solid currentColor;
	border-right: 1.5px solid currentColor;
	transform: rotate(45deg);
	opacity: .6;
}
.dd-breadcrumb a { color: var(--dd-dark); text-decoration: none; }
.dd-breadcrumb a:hover { color: var(--dd-primary); }
.dd-breadcrumb li:last-child { overflow: hidden; color: var(--dd-muted); text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }

/* --------------------------------------------------------------------------
   Shop: sidebar + content
   ----------------------------------------------------------------------- */
.dd-shop__layout { display: grid; gap: 24px; }
.dd-shop__sidebar { display: grid; gap: 20px; align-content: start; min-width: 0; }

.dd-shop__filters,
.dd-widget {
	border: 1px solid var(--dd-border);
	border-radius: 10px;
	background: var(--dd-white);
}
.dd-widget { padding: 18px 20px; }
.dd-widget__title { margin: 0 0 14px; font: 600 17px/1.3 var(--dd-font-heading); }

/* Head: dark bar with the title; on phones it opens / closes the box */
.dd-shop__filters { overflow: hidden; }
.dd-shop__filters-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 14px 18px;
	background: var(--dd-dark);
	color: var(--dd-white);
	list-style: none;
	cursor: pointer;
}
.dd-shop__filters-head::-webkit-details-marker { display: none; }
.dd-shop__filters-title { display: inline-flex; align-items: center; gap: 10px; font: 600 16px/1.3 var(--dd-font-heading); }
.dd-shop__filters-title .dd-icon { font-size: 18px; color: var(--dd-primary); filter: brightness(1.4); }
.dd-shop__filters-head > .dd-icon { font-size: 18px; transition: transform var(--dd-ease); }
.dd-shop__filters[open] .dd-shop__filters-head > .dd-icon { transform: rotate(180deg); }
.dd-shop__filters-body { padding: 14px 12px 12px; }

/* Filter box */
.dd-cat-filter {
	position: relative;
	display: block;
	margin: 0 6px 10px;
}
.dd-cat-filter .dd-icon { position: absolute; top: 50%; left: 12px; color: var(--dd-muted); font-size: 16px; transform: translateY(-50%); pointer-events: none; }
.dd-cat-filter__input {
	width: 100%;
	height: 40px;
	padding: 0 12px 0 36px;
	border: 1px solid var(--dd-border);
	border-radius: var(--dd-radius);
	background: var(--dd-light);
	font-size: 14px;
	transition: border-color var(--dd-ease), background-color var(--dd-ease);
}
.dd-cat-filter__input:focus { border-color: var(--dd-primary); background: var(--dd-white); outline: 0; }

/* "All Products" + every category row */
.dd-cat-all,
.dd-cat-list a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	min-width: 0;
	padding: 8px 10px;
	border-radius: 6px;
	color: var(--dd-dark);
	font-size: 15px;
	line-height: 1.35;
	text-decoration: none;
	overflow-wrap: anywhere;
	transition: color var(--dd-ease), background-color var(--dd-ease);
}
.dd-cat-all { margin-bottom: 4px; font-weight: 600; }
.dd-cat-all:hover,
.dd-cat-list a:hover { background: var(--dd-light); color: var(--dd-primary); }
.dd-cat-all.is-current,
.dd-cat-list .current-cat > a { background: rgba(195, 30, 7, .08); color: var(--dd-primary); font-weight: 600; }
.dd-cat-list .current-cat-parent > a,
.dd-cat-list .current-cat-ancestor > a { color: var(--dd-primary); }

/* Tree — one scroll area with a hidden scrollbar; soft shadows hint at more above / below */
.dd-cat-list,
.dd-cat-list .children { margin: 0; padding: 0; list-style: none; }
.dd-cat-list {
	scrollbar-width: none;
	background:
		linear-gradient(var(--dd-white) 30%, rgba(255, 255, 255, 0)) center top / 100% 28px no-repeat local,
		linear-gradient(rgba(255, 255, 255, 0), var(--dd-white) 70%) center bottom / 100% 28px no-repeat local,
		radial-gradient(farthest-side at 50% 0, rgba(0, 0, 0, .14), transparent) center top / 100% 10px no-repeat scroll,
		radial-gradient(farthest-side at 50% 100%, rgba(0, 0, 0, .14), transparent) center bottom / 100% 10px no-repeat scroll;
}
.dd-cat-list::-webkit-scrollbar { display: none; }
.dd-cat-list li {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	column-gap: 2px;
}
.dd-cat-list li[hidden] { display: none; }
.dd-cat-list li:not(.dd-has-children) > a { grid-column: 1 / -1; }
.dd-cat-count {
	flex: none;
	min-width: 28px;
	padding: 2px 7px;
	border-radius: 10px;
	background: var(--dd-light);
	color: var(--dd-muted);
	font-size: 12px;
	font-weight: 500;
	line-height: 1.4;
	text-align: center;
}
.dd-cat-list a:hover .dd-cat-count { background: var(--dd-white); }
.dd-cat-list .current-cat > a .dd-cat-count { background: var(--dd-primary); color: var(--dd-white); }

.dd-cat-list__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	padding: 0;
	border: 0;
	border-radius: 6px;
	background: transparent;
	color: var(--dd-muted);
	font-size: 16px;
	cursor: pointer;
	transition: background-color var(--dd-ease), color var(--dd-ease);
}
.dd-cat-list__toggle:hover { background: var(--dd-light); color: var(--dd-primary); }
.dd-cat-list__toggle .dd-icon { transition: transform var(--dd-ease); }
.dd-has-children.is-open > .dd-cat-list__toggle .dd-icon { transform: rotate(180deg); }

.dd-cat-list .children {
	display: none;
	grid-column: 1 / -1;
	margin: 2px 0 6px 12px;
	padding-left: 6px;
	border-left: 2px solid var(--dd-border);
}
.dd-has-children.is-open > .children { display: block; }
.dd-cat-list .children a { padding-block: 6px; font-size: 14px; }
.dd-cat-list .children .children a { font-size: 13.5px; }

/* While filtering: every matching branch is open, toggles are not needed */
.dd-cat-list.is-filtering .children { display: block; }
.dd-cat-list.is-filtering .dd-cat-list__toggle { visibility: hidden; }
.dd-cat-list .is-match > a { color: var(--dd-primary); font-weight: 600; }
.dd-cat-empty { margin: 8px 10px; color: var(--dd-muted); font-size: 14px; }

@media (min-width: 992px) {
	.dd-shop__layout { grid-template-columns: 290px minmax(0, 1fr); gap: 32px; }
	.dd-shop__filters-head { cursor: default; pointer-events: none; }
	.dd-shop__filters-head > .dd-icon { display: none; }
	/* Sticky below the header; the tree fills the rest of the screen */
	/* align-self: start — a grid item stretched to the row height has no room to stick */
	.dd-shop__sidebar--sticky { position: sticky; top: calc(var(--dd-sticky-h, 0px) + 20px); align-self: start; }
	.dd-shop__filters .dd-cat-list {
		max-height: max(240px, calc(100vh - var(--dd-sticky-h, 0px) - 230px));
		overflow-y: auto;
		overscroll-behavior: contain;
	}
}
/* Archive heading, count, ordering */
.dd-shop .woocommerce-products-header__title.page-title { margin-bottom: 8px; font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); }
.dd-shop .term-description { margin-bottom: 16px; color: var(--dd-muted); }
.dd-shop .woocommerce-result-count { margin: 0 0 16px; color: var(--dd-muted); font-size: 14px; line-height: 40px; }
.dd-shop .woocommerce-ordering { margin: 0 0 16px; }
.dd-shop .woocommerce-ordering select {
	height: 40px;
	padding: 0 34px 0 12px;
	border: 1px solid var(--dd-border);
	border-radius: var(--dd-radius);
	background-color: var(--dd-white);
	font-size: 14px;
}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul { display: inline-flex; gap: 6px; border: 0; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	min-width: 40px;
	padding: 10px 12px;
	border: 1px solid var(--dd-border);
	border-radius: var(--dd-radius);
	color: var(--dd-dark);
	font-weight: 500;
}
.woocommerce nav.woocommerce-pagination ul li a:hover { border-color: var(--dd-primary); background: var(--dd-white); color: var(--dd-primary); }
.woocommerce nav.woocommerce-pagination ul li span.current { border-color: var(--dd-primary); background: var(--dd-primary); color: var(--dd-white); }

/* --------------------------------------------------------------------------
   Product grid + card
   ----------------------------------------------------------------------- */
.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin: 0 0 32px;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }
@media (min-width: 576px) {
	.woocommerce ul.products { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 20px; }
}

/* [class] out-ranks WooCommerce's ".woocommerce ul.products[class*=columns-] li.product" width/float rules. */
.woocommerce ul.products[class] li.product.dd-card {
	display: flex;
	flex-direction: column;
	float: none;
	clear: none;
	width: auto;
	margin: 0;
	padding: 0;
	overflow: hidden;
	border: 1px solid var(--dd-border);
	border-radius: 8px;
	background: var(--dd-white);
	transition: border-color var(--dd-ease), box-shadow var(--dd-ease), transform var(--dd-ease);
}
.woocommerce ul.products li.dd-card:hover {
	border-color: transparent;
	box-shadow: 0 12px 28px rgba(0, 0, 0, .1);
	transform: translateY(-2px);
}
.dd-card__link { display: flex; flex: 1; flex-direction: column; padding: 14px 14px 0; color: var(--dd-dark); text-decoration: none; }
.dd-card__media {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1;
	margin-bottom: 12px;
	overflow: hidden;
	border-radius: 6px;
	background: var(--dd-light);
}
.woocommerce ul.products li.dd-card .dd-card__media img {
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: contain;
	mix-blend-mode: multiply;
	transition: transform .3s ease;
}
.woocommerce ul.products li.dd-card:hover .dd-card__media img { transform: scale(1.04); }
.dd-card__brand { margin-bottom: 4px; color: var(--dd-primary); font: 600 11px/1.3 var(--dd-font-heading); letter-spacing: .06em; text-transform: uppercase; }
.woocommerce ul.products li.dd-card .dd-card__title {
	display: -webkit-box;
	margin: 0 0 6px;
	padding: 0;
	overflow: hidden;
	font: 500 14px/1.45 var(--dd-font-heading);
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.dd-card__sku { color: var(--dd-muted); font-size: 12px; }
.woocommerce ul.products li.dd-card .dd-card__price { margin-top: 6px; color: var(--dd-primary); font-size: 16px; font-weight: 700; }
.dd-card__foot { padding: 12px 14px 14px; }
.dd-card__quote { width: 100%; }

@media (max-width: 575.98px) {
	.dd-card__link { padding: 10px 10px 0; }
	.dd-card__foot { padding: 10px; }
	.dd-card__quote span { font-size: 13px; }
	.dd-card__quote .dd-icon { display: none; }
}

/* --------------------------------------------------------------------------
   Single product
   ----------------------------------------------------------------------- */
.dd-product__top {
	display: grid;
	gap: 24px;
	margin-bottom: 40px;
}

/* Gallery (WooCommerce floats it at 48% by default) */
.woocommerce div.product.dd-product div.images {
	float: none;
	width: 100%;
	margin: 0;
	padding: 16px;
	border: 1px solid var(--dd-border);
	border-radius: 8px;
	background: var(--dd-white);
}
.woocommerce div.product.dd-product div.images img { border-radius: 4px; }
.woocommerce div.product.dd-product div.images .flex-control-thumbs { display: flex; gap: 8px; margin-top: 10px; }
.woocommerce div.product.dd-product div.images .flex-control-thumbs li { width: 64px; float: none; }
.woocommerce div.product.dd-product div.images .flex-control-thumbs li img { border: 1px solid var(--dd-border); border-radius: 4px; opacity: .6; }
.woocommerce div.product.dd-product div.images .flex-control-thumbs li img.flex-active,
.woocommerce div.product.dd-product div.images .flex-control-thumbs li img:hover { border-color: var(--dd-primary); opacity: 1; }
.woocommerce div.product.dd-product div.images .woocommerce-product-gallery__trigger { top: 24px; right: 24px; }

/* Summary */
.woocommerce div.product.dd-product div.summary { float: none; width: 100%; margin: 0; }
.dd-product .product_title { margin: 0 0 10px; font-size: clamp(1.35rem, 1.1rem + 1vw, 1.85rem); line-height: 1.3; }
.dd-product__detail,
.dd-product .woocommerce-product-details__short-description { margin: 0 0 20px; color: var(--dd-muted); font-size: 15px; line-height: 1.7; }

.dd-product__specs {
	width: 100%;
	margin: 0 0 22px;
	overflow: hidden;
	border: 1px solid var(--dd-border);
	border-radius: 8px;
	border-collapse: separate;
	border-spacing: 0;
	font-size: 14px;
}
.dd-product__specs th,
.dd-product__specs td { padding: 11px 14px; text-align: left; vertical-align: top; }
.dd-product__specs tr + tr th,
.dd-product__specs tr + tr td { border-top: 1px solid var(--dd-border); }
.dd-product__specs th { width: 38%; background: var(--dd-light); color: var(--dd-dark); font-weight: 600; }
.dd-product__specs td { word-break: break-word; }

.dd-stock { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; }
.dd-stock::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #b8860b; }
.dd-stock.is-in { color: #15803d; }
.dd-stock.is-in::before { background: #16a34a; }

/* Price + add to cart (only when catalogue mode is off) */
.dd-product .summary .price { margin: 0 0 16px; color: var(--dd-primary); font-size: 24px; font-weight: 700; }

/* Request Quote with quantity */
.dd-product__quote { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 20px; }
.dd-product__qty-label { width: 100%; font-size: 14px; font-weight: 500; }
.dd-product__qty {
	width: 88px;
	height: 50px;
	padding: 0 10px;
	border: 1px solid var(--dd-border);
	border-radius: var(--dd-radius);
	background: var(--dd-light);
	font-size: 16px;
	text-align: center;
}
.dd-product__qty:focus { border-color: var(--dd-primary); background: var(--dd-white); outline: 0; box-shadow: 0 0 0 3px rgba(195, 30, 7, .12); }
.dd-product__quote-btn { flex: 1; min-width: 180px; height: 50px; font-size: 16px; }

.dd-product__payments { display: block; width: auto; max-width: 100%; height: auto; max-height: 34px; margin-top: 4px; }

/* Info box (aside, above the quote form) */
.dd-buybox {
	border: 1px solid var(--dd-border);
	border-radius: 8px;
	background: var(--dd-white);
}
.dd-buybox__head {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	border-bottom: 1px solid var(--dd-border);
	border-radius: 8px 8px 0 0;
	background: linear-gradient(90deg, rgba(195, 30, 7, .1), rgba(195, 30, 7, .02));
}
.dd-buybox__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--dd-primary);
	color: var(--dd-white);
	font-size: 19px;
	box-shadow: 0 4px 12px rgba(195, 30, 7, .3);
}
.dd-buybox__title { flex: 1; font: 700 15px/1.3 var(--dd-font-heading); letter-spacing: .04em; text-transform: uppercase; }
.dd-buybox__list { display: grid; margin: 0; padding: 6px 16px 10px; list-style: none; }
.dd-buybox__list li {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 0;
	font-size: 14px;
	line-height: 1.45;
}
.dd-buybox__list li + li { border-top: 1px dashed var(--dd-border); }
.dd-buybox__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--dd-light);
	color: var(--dd-dark);
	font-size: 16px;
}
.dd-buybox__text { flex: 1; min-width: 0; font-weight: 500; }
.dd-buybox__offer .dd-buybox__icon { background: rgba(195, 30, 7, .1); color: var(--dd-primary); }
.dd-buybox__offer .dd-buybox__text { color: var(--dd-primary); font-weight: 600; }

/* (i) tooltip — opens on hover, keyboard focus and tap */
.dd-tip { position: relative; flex: none; }
.dd-tip__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--dd-muted);
	font-size: 17px;
	cursor: help;
	transition: color var(--dd-ease), background-color var(--dd-ease);
}
.dd-tip__btn:hover,
.dd-tip:focus-within .dd-tip__btn { background: var(--dd-white); color: var(--dd-primary); }
.dd-tip__panel {
	position: absolute;
	top: calc(100% + 10px);
	right: -6px;
	z-index: 20;
	width: 270px;
	max-width: calc(100vw - 48px);
	padding: 14px 16px;
	border-radius: 8px;
	background: var(--dd-dark);
	color: rgba(255, 255, 255, .88);
	font-size: 13px;
	font-weight: 400;
	line-height: 1.55;
	text-transform: none;
	letter-spacing: 0;
	box-shadow: 0 12px 30px rgba(0, 0, 0, .25);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-4px);
	transition: opacity var(--dd-ease), visibility var(--dd-ease), transform var(--dd-ease);
}
.dd-tip__panel::before {
	content: "";
	position: absolute;
	top: -6px;
	right: 14px;
	width: 12px;
	height: 12px;
	background: var(--dd-dark);
	transform: rotate(45deg);
}
.dd-tip:hover .dd-tip__panel,
.dd-tip:focus-within .dd-tip__panel { opacity: 1; visibility: visible; transform: none; }
/* Inside the scrolling sidebar: keep the panel within its edges */
.dd-product__aside .dd-tip__panel { right: 0; }
.dd-product__aside .dd-tip__panel::before { right: 8px; }
.dd-tip__title {
	display: block;
	margin-bottom: 6px;
	padding-bottom: 6px;
	border-bottom: 1px solid rgba(255, 255, 255, .15);
	color: var(--dd-white);
	font: 600 14px/1.3 var(--dd-font-heading);
}
.dd-tip__link { color: var(--dd-white); font-weight: 600; text-decoration: underline; }
.dd-tip__link:hover { color: var(--dd-white); text-decoration: none; }

/* Quote box form: full-width submit (the hidden SKU field sits between the grid and the button) */
.dd-quote-box .wpcf7-form input[type="submit"] { width: 100%; }

/* Quote box (aside) */
.dd-product__aside { display: grid; gap: 16px; align-content: start; }
.dd-quote-box {
	padding: 22px 20px;
	border: 1px solid var(--dd-border);
	border-top: 4px solid var(--dd-primary);
	border-radius: 8px;
	background: var(--dd-white);
}
.dd-quote-box__title { margin: 0 0 4px; font-size: 20px; }
.dd-quote-box__text { margin: 0 0 12px; color: var(--dd-muted); font-size: 14px; }
.dd-quote-box__sku { margin: 0 0 16px; padding: 8px 12px; border-radius: var(--dd-radius); background: var(--dd-light); font-size: 13px; }

@media (min-width: 768px) {
	.dd-product__top { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; }
	.dd-product__aside { grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; }
	.dd-product__more { grid-column: 1 / -1; min-width: 0; }
}
@media (min-width: 1200px) {
	/* Gallery | summary on top, tabs + related below them; the sidebar runs down the right
	   column beside all of it and sticks below the header (scrolling inside if it is taller
	   than the screen, scrollbar hidden). The 1fr row absorbs any spare height. */
	.dd-product__top { grid-template-columns: minmax(0, 5fr) minmax(0, 5fr) 340px; grid-template-rows: auto 1fr; }
	.dd-product__more { grid-column: 1 / 3; }
	.dd-product__aside {
		grid-column: 3;
		grid-row: 1 / span 2;
		grid-template-columns: none;
		position: sticky;
		top: calc(var(--dd-sticky-h, 0px) + 20px);
		align-self: start;
		max-height: calc(100vh - var(--dd-sticky-h, 0px) - 40px);
		overflow-y: auto;
		overscroll-behavior: contain;
		scrollbar-width: none;
	}
	.dd-product__aside::-webkit-scrollbar { display: none; }
}

/* Tabs */
.woocommerce div.product.dd-product .woocommerce-tabs { margin-bottom: 48px; }
.woocommerce div.product.dd-product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
	padding: 0;
	border-bottom: 2px solid var(--dd-border);
}
.woocommerce div.product.dd-product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product.dd-product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product.dd-product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product.dd-product .woocommerce-tabs ul.tabs li {
	margin: 0 0 -2px;
	padding: 0;
	border: 0;
	border-bottom: 2px solid transparent;
	border-radius: 0;
	background: none;
}
.woocommerce div.product.dd-product .woocommerce-tabs ul.tabs li a { padding: 12px 18px; color: var(--dd-muted); font: 500 15px/1.3 var(--dd-font-heading); }
.woocommerce div.product.dd-product .woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--dd-primary); }
.woocommerce div.product.dd-product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product.dd-product .woocommerce-tabs ul.tabs li a:hover { color: var(--dd-dark); }
.woocommerce div.product.dd-product .woocommerce-tabs .panel {
	margin: 0;
	padding: 24px 0 0;
	line-height: 1.75;
}
.woocommerce div.product.dd-product .woocommerce-tabs .panel > h2:first-child { display: none; } /* tab already names it */

.dd-spec-table { width: 100%; max-width: 860px; border-collapse: collapse; font-size: 15px; }
.dd-spec-table th,
.dd-spec-table td { padding: 12px 16px; border-bottom: 1px solid var(--dd-border); text-align: left; vertical-align: top; }
.dd-spec-table tr:nth-child(odd) { background: var(--dd-light); }
.dd-spec-table th { width: 34%; font-weight: 600; }

/* Related products */
.dd-product .related > h2 { margin-bottom: 20px; font-size: 22px; }

/* Notices */
.dd-shop .woocommerce-message,
.dd-shop .woocommerce-info,
.dd-shop .woocommerce-error { border-top-color: var(--dd-primary); border-radius: var(--dd-radius); }
.dd-shop .woocommerce-message::before,
.dd-shop .woocommerce-info::before { color: var(--dd-primary); }

/* --------------------------------------------------------------------------
   Below related products: call card + promo images
   1 column → 2 (call card full width on top) from 576px → 3 in a row from 992px
   ----------------------------------------------------------------------- */
.dd-perks {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 16px;
	margin: 8px 0 16px;
}
.dd-perks__card {
	display: flex;
	align-items: center;
	min-height: 120px;
	overflow: hidden;
	border: 1px solid var(--dd-border);
	border-radius: 10px;
	background: var(--dd-white);
	transition: transform var(--dd-ease), box-shadow var(--dd-ease);
}
.dd-perks__card:hover { box-shadow: 0 10px 24px rgba(0, 0, 0, .08); transform: translateY(-2px); }

.dd-perks__call {
	gap: 16px;
	padding: 20px 22px;
	border-color: var(--dd-dark);
	background: var(--dd-dark);
	color: var(--dd-white);
	text-decoration: none;
	isolation: isolate;
	position: relative;
}
.dd-perks__call::after { /* soft brand glow */
	content: "";
	position: absolute;
	right: -40px;
	bottom: -60px;
	z-index: -1;
	width: 170px;
	height: 170px;
	border-radius: 50%;
	background: var(--dd-primary);
	opacity: .35;
}
.dd-perks__call:hover { color: var(--dd-white); }
.dd-perks__call-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 54px;
	height: 54px;
	border-radius: 50%;
	background: var(--dd-primary);
	font-size: 24px;
	box-shadow: 0 0 0 6px rgba(195, 30, 7, .25);
}
.dd-perks__call-text { display: grid; gap: 2px; }
.dd-perks__call-text small { color: rgba(255, 255, 255, .7); font-size: 13px; }
.dd-perks__call-text strong { font: 700 clamp(1.25rem, 1.1rem + .6vw, 1.5rem)/1.2 var(--dd-font-heading); letter-spacing: .01em; }
.dd-perks__call-text span { color: rgba(255, 255, 255, .7); font-size: 13px; }

.dd-perks__image { justify-content: center; }
.dd-perks__image img { display: block; width: 100%; height: auto; }

@media (min-width: 576px) {
	.dd-perks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dd-perks__call { grid-column: 1 / -1; }
}
@media (min-width: 992px) {
	.dd-perks { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 16px; }
	.dd-perks__call { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) {
	.dd-perks__card:hover { transform: none; }
}
