:root {
	--dh-bg: #080b0d;
	--dh-bg-2: #0c0f11;
	--dh-panel: #0d1012;
	--dh-panel-soft: #111416;
	--dh-cream: #eee9e1;
	--dh-text: #d8d3ca;
	--dh-muted: #8f8b85;
	--dh-copper: #bb7241;
	--dh-copper-soft: #8e5634;
	--dh-green: #86ad58;
	--dh-red: #d4574f;
	--dh-border: rgba(187, 114, 65, .38);
	--dh-border-soft: rgba(238, 233, 225, .13);
	--dh-container: 1260px;
	--dh-serif: "Cormorant Garamond", "Baskerville", "Times New Roman", serif;
	--dh-sans: "Inter", "Helvetica Neue", Arial, sans-serif;
}

html { background: var(--dh-bg); }
body.deckhaus-site {
	margin: 0;
	background:
		radial-gradient(circle at 50% 20%, rgba(112,78,54,.10), transparent 38%),
		var(--dh-bg);
	color: var(--dh-text);
	font-family: var(--dh-sans);
	font-size: 14px;
	line-height: 1.45;
}
body.deckhaus-site * { box-sizing: border-box; }
body.deckhaus-site a { color: inherit; }
body.deckhaus-site .site-content { padding: 0; }
body.deckhaus-site .ast-container { max-width: none; padding: 0; }
.dh-container { width: min(calc(100% - 48px), var(--dh-container)); margin-inline: auto; }

/* Home reset: Astra applies vertical margins to #primary; the custom Deckhaus
   header/hero own that spacing. */
#primary.dh-home,
.dh-home {
	margin: 0 !important;
	padding: 0 !important;
	width: 100%;
	max-width: none;
}

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

/* Header */
.dh-site-header {
	position: relative;
	z-index: 50;
	background: rgba(7,10,12,.96);
	border-bottom: 1px solid var(--dh-border);
}
.dh-site-header__inner { min-height: 76px; display:grid; grid-template-columns: 280px 1fr auto; align-items:center; gap:28px; }
.dh-brand { display:inline-flex; align-items:center; gap:12px; text-decoration:none; color:var(--dh-cream); min-width:0; }
.dh-brand__mark { width:38px; flex:0 0 38px; color:var(--dh-copper); }
.dh-brand__mark svg, .dh-hero-emblem svg { width:100%; height:auto; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linejoin:round; }
.dh-brand__words { display:flex; flex-direction:column; align-items:center; min-width:0; }
.dh-brand__words strong { font-family:var(--dh-serif); font-size:27px; font-weight:500; letter-spacing:.14em; line-height:1; color:var(--dh-cream); }
.dh-brand__words small { display:flex; align-items:center; gap:7px; margin-top:5px; font-size:7px; font-weight:700; letter-spacing:.32em; white-space:nowrap; color:#c8c2b9; }
.dh-brand__words small i { width:20px; height:1px; background:var(--dh-copper); display:block; }
.dh-nav { justify-self:center; }
.dh-nav__list { list-style:none; display:flex; align-items:center; gap:38px; margin:0; padding:0; }
.dh-nav__list li { margin:0; padding:0; }
.dh-nav__list a { position:relative; display:block; padding:28px 0 24px; text-decoration:none; color:#cfc9c0; font-family:var(--dh-serif); font-size:16px; white-space:nowrap; }
.dh-nav__list a:hover, .dh-nav__list .current-menu-item > a, .dh-nav__list .current_page_item > a { color:var(--dh-cream); }
.dh-nav__list a:hover::after, .dh-nav__list .current-menu-item > a::after, .dh-nav__list .current_page_item > a::after {
	content:""; position:absolute; left:0; right:0; bottom:14px; height:1px; background:var(--dh-copper);
}
.dh-utilities { display:flex; align-items:center; gap:22px; }
.dh-utilities > a { position:relative; width:22px; height:22px; color:#c9c2b8; text-decoration:none; }
.dh-utilities svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.35; stroke-linecap:round; stroke-linejoin:round; }
.dh-cart-count { position:absolute; top:-10px; right:-12px; min-width:18px; height:18px; padding:0 4px; display:grid; place-items:center; border-radius:12px; background:var(--dh-copper); color:#fff; font-size:10px; font-weight:800; }
.dh-nav-toggle { display:none; background:none; border:0; padding:10px; color:var(--dh-cream); cursor:pointer; }
.dh-nav-toggle > span:not(.screen-reader-text) { display:block; width:23px; height:1px; background:currentColor; margin:5px 0; }

/* Hero */
.dh-hero { position:relative; overflow:hidden; min-height:372px; margin:0; background: radial-gradient(circle at 39% 52%, rgba(114,83,60,.23), transparent 38%), linear-gradient(100deg,#080b0d 0%,#101112 51%,#070a0c 100%); }
.dh-hero::after { content:""; position:absolute; inset:auto 0 0; height:1px; background:linear-gradient(90deg,transparent,var(--dh-border),transparent); }
.dh-hero__inner { min-height:372px; display:grid; grid-template-columns: 52% 48%; align-items:center; }
.dh-hero__copy { position:relative; z-index:3; padding:26px 24px 31px 42px; text-align:center; }
.dh-hero-emblem { width:47px; margin:0 auto 12px; color:var(--dh-copper); }
.dh-hero h1 { margin:0; color:var(--dh-cream); font-family:var(--dh-serif); font-size:clamp(46px,4.75vw,68px); font-weight:400; letter-spacing:.185em; line-height:.95; }
.dh-hero__subtitle { display:flex; align-items:center; justify-content:center; gap:17px; margin:11px auto 0; color:#efebe5; font-size:11px; letter-spacing:.36em; }
.dh-hero__subtitle span { width:52px; height:1px; background:var(--dh-copper); }
.dh-hero__subtitle strong { font-weight:600; }
.dh-hero__tagline { margin:18px 0 6px; color:var(--dh-copper); font-family:var(--dh-serif); font-size:25px; font-style:italic; }
.dh-hero__body { max-width:470px; margin:0 auto; color:#c4bfb7; font-size:12.5px; line-height:1.45; }
.dh-actions { display:flex; justify-content:center; gap:18px; margin-top:18px; }
.dh-button { min-height:36px; display:inline-flex; align-items:center; justify-content:center; padding:9px 25px; border:1px solid var(--dh-copper-soft); text-decoration:none; text-transform:uppercase; font-size:10px; font-weight:800; letter-spacing:.12em; transition:.18s ease; }
.dh-button:hover { transform:translateY(-1px); border-color:var(--dh-copper); }
.dh-button--solid { background:linear-gradient(90deg,#c98752,#ad6539); color:#fff; border-color:#c98451; }
.dh-button--outline { color:#e8e2da; background:rgba(5,7,8,.4); }
.dh-hero__media { align-self:stretch; position:relative; overflow:hidden; margin-left:-38px; }
.dh-hero__media::before { content:""; position:absolute; z-index:2; inset:0 auto 0 0; width:34%; background:linear-gradient(90deg,#0d0f10 0%,rgba(13,15,16,.84) 20%,rgba(13,15,16,.32) 65%,transparent 100%); pointer-events:none; }
.dh-hero__media img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; filter:saturate(.9) contrast(1.03) brightness(.92); }

/* Section rule */
.dh-section-line { height:42px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:14px; }
.dh-section-line h2, .dh-panel h2, .dh-footer-col h2 { margin:0; color:var(--dh-copper); text-transform:uppercase; font-family:var(--dh-sans); font-size:10px; font-weight:800; letter-spacing:.16em; }
.dh-section-line > span { height:1px; background:var(--dh-border); }
.dh-section-line > a { text-decoration:none; color:#aaa49c; font-family:var(--dh-serif); font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.dh-section-line > a b { color:var(--dh-copper); font-size:18px; margin-left:7px; }

/* Featured */
.dh-featured { padding:0 0 12px; background:var(--dh-bg); }
.dh-core-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.dh-core-card { min-width:0; background:linear-gradient(180deg,#101416,#0b0e10); border:1px solid rgba(238,233,225,.18); border-radius:4px; overflow:hidden; }
.dh-core-card__image { display:block; position:relative; aspect-ratio:2.75/1; overflow:hidden; background:linear-gradient(135deg,#172025,#0b0e10); text-decoration:none; }
.dh-core-card__image img { width:100%; height:100%; object-fit:cover; display:block; }
.dh-core-card--placeholder .dh-core-card__image { display:flex; align-items:center; justify-content:center; gap:10px; aspect-ratio:3.25/1; min-height:92px; color:rgba(187,114,65,.55); background:radial-gradient(circle at 50% 50%,rgba(187,114,65,.12),transparent 46%),#0e1214; }
.dh-core-card--placeholder .dh-core-card__image span { font-family:var(--dh-serif); font-size:28px; }
.dh-core-card--placeholder .dh-core-card__image strong { font-size:10px; letter-spacing:.2em; }
.dh-core-card__body { padding:11px 14px 12px; }
.dh-core-card h3 { margin:0 0 3px; font-family:var(--dh-serif); color:#eee9e1; font-size:15px; font-weight:500; text-transform:uppercase; letter-spacing:.03em; }
.dh-core-card h3 a { text-decoration:none; }
.dh-core-card p { margin:0; color:#78756f; font-size:9px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dh-core-card__bottom { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:8px; }
.dh-price { color:#e6e0d7; font-size:13px; }
.dh-stock { padding:3px 8px; border:1px solid rgba(126,173,88,.42); border-radius:3px; color:#94bc65; font-size:8px; text-transform:uppercase; letter-spacing:.12em; }
.dh-stock.is-out { color:#c56b64; border-color:rgba(197,107,100,.42); }

/* Lower panels */
.dh-bottom-panels { padding:0 0 12px; }
.dh-bottom-grid { display:grid; grid-template-columns:1.22fr 1fr .98fr; gap:10px; }
.dh-panel { min-height:203px; padding:16px 18px; background:linear-gradient(130deg,#0d1012,#101315); border:1px solid var(--dh-border); border-radius:3px; }
.dh-panel__head { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.dh-panel__head a { color:var(--dh-copper); text-transform:uppercase; text-decoration:none; font-size:8px; font-weight:700; letter-spacing:.12em; }
.dh-how__steps { display:grid; grid-template-columns:repeat(3,1fr); margin-top:20px; }
.dh-how__step { padding:0 18px; border-right:1px solid var(--dh-border-soft); }
.dh-how__step:first-child { padding-left:0; }
.dh-how__step:last-child { border-right:0; padding-right:0; }
.dh-line-icon { width:52px; height:52px; color:var(--dh-copper); margin-bottom:9px; }
.dh-line-icon svg, .dh-box-icon svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.45; stroke-linecap:round; stroke-linejoin:round; }
.dh-how__step h3 { margin:0 0 8px; color:#d9d2c9; font-size:10px; font-weight:500; text-transform:uppercase; letter-spacing:.05em; }
.dh-how__step p { margin:0; color:#8d8982; font-size:9px; line-height:1.55; }
.dh-meta-table { margin-top:16px; }
.dh-meta-row { display:grid; grid-template-columns:1.35fr .55fr .55fr; gap:10px; align-items:center; min-height:23px; border-bottom:1px solid rgba(238,233,225,.09); color:#a7a29a; font-size:10px; }
.dh-meta-row--head { min-height:21px; color:#706c67; text-transform:uppercase; font-size:7px; }
.dh-meta-row > span:nth-child(2), .dh-meta-row > span:nth-child(3) { text-align:right; }
.dh-up { color:var(--dh-green); }
.dh-down { color:var(--dh-red); }
.dh-data-note { margin:9px 0 0; color:#635f5a; font-size:7.5px; font-style:italic; }
.dh-kicker { margin:0 0 8px; color:var(--dh-copper); text-transform:uppercase; font-size:9px; font-weight:800; letter-spacing:.14em; }
.dh-complete > h2 { color:var(--dh-cream); font-family:var(--dh-serif); font-size:27px; font-weight:400; text-transform:none; letter-spacing:0; }
.dh-complete > h2::after { content:""; display:block; width:34px; height:1px; background:var(--dh-copper); margin-top:7px; }
.dh-complete__body { display:grid; grid-template-columns:80px 1fr; gap:18px; align-items:center; margin-top:11px; }
.dh-box-icon { width:76px; color:var(--dh-copper); }
.dh-complete__body p { margin:0 0 10px; color:#99948c; font-size:9.5px; line-height:1.55; }
.dh-button--small { min-height:31px; padding:7px 18px; color:var(--dh-copper); background:transparent; font-size:8px; }



/* Blog + Featured Product ---------------------------------------------------
   Two equal editorial/commercial windows. Neither dominates the other. */
.dh-discovery {
	padding: 16px 0 26px;
	background: var(--dh-bg);
}
.dh-discovery__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}
.dh-discovery-card {
	min-width: 0;
	border: 1px solid var(--dh-border);
	background:
		radial-gradient(circle at 72% 35%, rgba(187,114,65,.055), transparent 34%),
		#0b0f11;
	overflow: hidden;
}
.dh-discovery-card__top {
	min-height: 44px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 0 18px;
	border-bottom: 1px solid var(--dh-border-soft);
}
.dh-kicker {
	margin: 0;
	color: var(--dh-copper);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .18em;
	text-transform: uppercase;
}
.dh-mini-link {
	flex: 0 0 auto;
	color: var(--dh-cream);
	font-size: 8px;
	font-weight: 700;
	letter-spacing: .08em;
	text-decoration: none;
	text-transform: uppercase;
}
.dh-mini-link:hover { color: var(--dh-copper); }

.dh-discovery-card__content {
	min-height: 228px;
	display: grid;
	grid-template-columns: minmax(0, 1.16fr) minmax(165px, .84fr);
	color: inherit;
	text-decoration: none;
}
a.dh-discovery-card__content:hover {
	background: rgba(255,255,255,.012);
}
.dh-discovery-card__copy {
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 24px 22px;
}
.dh-discovery-card__meta {
	margin: 0 0 10px;
	color: var(--dh-copper);
	font-size: 8px;
	font-weight: 700;
	letter-spacing: .13em;
	text-transform: uppercase;
}
.dh-stock-dot {
	display: inline-block;
	width: 5px;
	height: 5px;
	margin-right: 7px;
	border-radius: 50%;
	background: #7aa84a;
	vertical-align: 1px;
}
.dh-discovery-card h2 {
	max-width: 430px;
	margin: 0;
	color: var(--dh-cream);
	font-family: var(--dh-serif);
	font-size: clamp(24px, 2.25vw, 34px);
	font-weight: 400;
	line-height: 1.03;
	letter-spacing: .005em;
}
.dh-discovery-card__excerpt {
	max-width: 480px;
	margin: 12px 0 0;
	color: var(--dh-muted);
	font-size: 10px;
	line-height: 1.55;
}
.dh-discovery-card__cta {
	margin-top: 18px;
	color: var(--dh-cream);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.dh-discovery-card__visual {
	position: relative;
	min-width: 0;
	overflow: hidden;
	border-left: 1px solid var(--dh-border-soft);
	background: #090c0e;
}
.dh-discovery-card__visual::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(90deg, rgba(11,15,17,.38), transparent 34%);
}
.dh-discovery-card__visual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	filter: saturate(.84) contrast(1.03);
}
.dh-discovery-card__visual--product img {
	object-fit: contain;
	padding: 18px;
	background:
		radial-gradient(circle at 50% 46%, rgba(187,114,65,.13), transparent 42%),
		#090c0e;
}
.dh-discovery-card__placeholder {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 5px;
	background:
		linear-gradient(135deg, transparent 49.4%, rgba(187,114,65,.11) 49.7%, rgba(187,114,65,.11) 50.3%, transparent 50.6%),
		#090c0e;
	color: rgba(187,114,65,.68);
}
.dh-discovery-card__placeholder span {
	font-size: 7px;
	font-weight: 800;
	letter-spacing: .2em;
}
.dh-discovery-card__placeholder strong {
	font-family: var(--dh-serif);
	font-size: 36px;
	font-weight: 400;
	letter-spacing: .08em;
}
.dh-discovery-card__placeholder--product strong { font-size: 42px; }
.dh-discovery-card__product-bottom {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 16px;
	margin-top: auto;
	padding-top: 18px;
}
.dh-discovery-card__price {
	color: var(--dh-cream);
	font-family: var(--dh-serif);
	font-size: 19px;
	white-space: nowrap;
}
.dh-discovery-card__product-bottom .dh-discovery-card__cta {
	margin-top: 0;
	text-align: right;
}

/* Keep the future app CTA subordinate to Blog/Product, as a utility bridge
   into the back-office rather than a third equal merchandising card. */
.dh-app-cta {
	margin-top: 0;
}

/* Future Deckhaus application CTA */
.dh-app-cta {
	padding: 26px 0;
	background:
		linear-gradient(100deg, rgba(187,114,65,.12), transparent 38%),
		#0a0d0f;
	border-top: 1px solid var(--dh-border);
	border-bottom: 1px solid var(--dh-border);
}
.dh-app-cta__inner {
	display: grid;
	grid-template-columns: minmax(0,1fr) auto;
	align-items: center;
	gap: 40px;
	padding-block: 18px;
}
.dh-app-cta__eyebrow {
	margin: 0 0 7px;
	color: var(--dh-copper);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .2em;
	text-transform: uppercase;
}
.dh-app-cta h2 {
	margin: 0;
	color: var(--dh-cream);
	font-family: var(--dh-serif);
	font-size: clamp(26px,3vw,38px);
	font-weight: 400;
	letter-spacing: .015em;
	line-height: 1.05;
}
.dh-app-cta__copy > p:last-child {
	max-width: 680px;
	margin: 8px 0 0;
	color: var(--dh-muted);
	font-size: 11px;
}
.dh-app-cta__action {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 6px;
}
.dh-app-button {
	min-width: 212px;
	gap: 10px;
}
.dh-app-button.is-disabled {
	opacity: .62;
	cursor: default;
	transform: none;
}
.dh-app-cta__action small {
	color: var(--dh-muted);
	font-size: 8px;
	letter-spacing: .14em;
	text-transform: uppercase;
}

/* Footer */
.dh-site-footer { border-top:1px solid var(--dh-border); background:#090c0e; padding:18px 0 12px; }
.dh-footer-grid { display:grid; grid-template-columns:1.25fr .75fr .9fr .72fr 1.15fr; gap:38px; align-items:start; }
.dh-brand--footer .dh-brand__mark { width:40px; flex-basis:40px; }
.dh-brand--footer .dh-brand__words strong { font-size:25px; }
.dh-footer-tagline { margin:16px 0 0; color:var(--dh-copper); font-family:var(--dh-serif); font-size:14px; font-style:italic; }
.dh-footer-col { display:flex; flex-direction:column; gap:4px; }
.dh-footer-col h2 { margin-bottom:8px; }
.dh-footer-col a, .dh-footer-col p { color:#96918a; text-decoration:none; font-size:10px; margin:0; line-height:1.55; }
.dh-footer-col a:hover { color:var(--dh-cream); }
.dh-social-row { display:flex; gap:19px; margin-top:11px; }
.dh-social-row a { color:var(--dh-copper); font-size:22px; line-height:1; }
.dh-newsletter__mock { height:37px; display:flex; align-items:center; justify-content:space-between; margin-top:10px; border:1px solid var(--dh-border); color:#6f6b65; font-size:9px; }
.dh-newsletter__mock span { padding-left:12px; }
.dh-newsletter__mock button { align-self:stretch; width:38px; border:0; border-left:1px solid var(--dh-border); background:var(--dh-copper); color:#fff; font-size:18px; cursor:default; }
.dh-footer-bottom { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:17px; padding-top:11px; border-top:1px solid var(--dh-border); color:#6f6b65; font-size:9px; }
.dh-footer-bottom b { color:var(--dh-copper); margin-left:8px; }

/* WooCommerce compatibility */
.woocommerce .dh-site-header, .woocommerce-page .dh-site-header { margin-bottom:0; }
body.woocommerce, body.woocommerce-page { background:var(--dh-bg); color:var(--dh-text); }

@media (max-width: 1180px) {
	.dh-site-header__inner { grid-template-columns:240px 1fr auto; gap:18px; }
	.dh-nav__list { gap:23px; }
	.dh-brand__words strong { font-size:23px; }
	.dh-hero__copy { padding-left:15px; }
	.dh-bottom-grid { grid-template-columns:1fr 1fr; }
	.dh-complete { grid-column:1 / -1; }
}

@media (max-width: 920px) {
	.dh-container { width:min(calc(100% - 32px), var(--dh-container)); }
	.dh-site-header__inner { min-height:68px; grid-template-columns:1fr auto auto; }
	.dh-brand__words strong { font-size:22px; }
	.dh-nav-toggle { display:block; order:2; }
	.dh-utilities { order:3; gap:14px; }
	.dh-nav { position:absolute; left:0; right:0; top:68px; display:none; padding:12px 16px 22px; background:#090c0e; border-bottom:1px solid var(--dh-border); }
	.dh-nav.is-open { display:block; }
	.dh-nav__list { flex-direction:column; align-items:stretch; gap:0; }
	.dh-nav__list a { padding:12px 4px; font-size:18px; }
	.dh-nav__list a:hover::after, .dh-nav__list .current-menu-item > a::after, .dh-nav__list .current_page_item > a::after { bottom:6px; right:auto; width:38px; }
	.dh-hero__inner { grid-template-columns:1fr; }
	.dh-hero__copy { padding:38px 15px 28px; }
	.dh-hero__media { height:320px; }
	.dh-hero__media::before { width:100%; height:25%; inset:0 0 auto; background:linear-gradient(180deg,var(--dh-bg),transparent); }
	.dh-core-grid { grid-template-columns:repeat(2,1fr); }
	.dh-footer-grid { grid-template-columns:1.3fr 1fr 1fr; }
	.dh-newsletter { grid-column:2 / 4; }
}

@media (max-width: 640px) {
	.dh-container { width:min(calc(100% - 24px), var(--dh-container)); }
	.dh-site-header__inner { grid-template-columns:1fr auto; min-height:64px; }
	.dh-brand__mark { width:31px; flex-basis:31px; }
	.dh-brand__words strong { font-size:18px; }
	.dh-brand__words small { font-size:5.5px; letter-spacing:.23em; }
	.dh-brand__words small i { width:12px; }
	.dh-utilities { display:none; }
	.dh-nav-toggle { order:2; }
	.dh-nav { top:64px; }
	.dh-hero h1 { font-size:42px; letter-spacing:.14em; }
	.dh-hero__subtitle { gap:9px; font-size:8px; letter-spacing:.25em; }
	.dh-hero__subtitle span { width:28px; }
	.dh-hero__tagline { font-size:22px; }
	.dh-hero__body { font-size:11px; }
	.dh-actions { flex-direction:column; align-items:stretch; max-width:280px; margin-inline:auto; }
	.dh-hero__media { height:235px; }
	.dh-section-line { height:auto; min-height:42px; grid-template-columns:auto 1fr; }
	.dh-section-line > a { grid-column:1 / -1; padding-bottom:8px; }
	.dh-core-grid, .dh-bottom-grid { grid-template-columns:1fr; }
	.dh-complete { grid-column:auto; }
	.dh-how__steps { grid-template-columns:1fr; }
	.dh-how__step, .dh-how__step:first-child, .dh-how__step:last-child { padding:14px 0; border-right:0; border-bottom:1px solid var(--dh-border-soft); }
	.dh-how__step:last-child { border-bottom:0; }
	.dh-line-icon { width:44px; height:44px; }
	.dh-meta-row { grid-template-columns:1.2fr .6fr .65fr; font-size:9px; }
	.dh-footer-grid { grid-template-columns:1fr 1fr; gap:28px 20px; }
	.dh-footer-brand, .dh-newsletter { grid-column:1 / -1; }
	.dh-footer-bottom { flex-direction:column; align-items:flex-start; }
}


@media (max-width: 920px) {
	.dh-hero__media { margin-left:0; }
	.dh-app-cta__inner { grid-template-columns:1fr; gap:20px; }
	.dh-app-cta__action { align-items:flex-start; }
}
@media (max-width: 640px) {
	.dh-app-cta { padding:18px 0; }
	.dh-app-button { width:100%; min-width:0; }
	.dh-app-cta__action { width:100%; }
}


@media (max-width: 920px) {
	.dh-discovery__grid { grid-template-columns: 1fr; }
	.dh-discovery-card__content { min-height: 220px; }
}
@media (max-width: 640px) {
	.dh-discovery { padding: 12px 0 18px; }
	.dh-discovery-card__top { padding-inline: 14px; }
	.dh-discovery-card__content {
		min-height: 0;
		grid-template-columns: 1fr;
	}
	.dh-discovery-card__copy { min-height: 200px; padding: 21px 18px; }
	.dh-discovery-card__visual {
		min-height: 190px;
		border-left: 0;
		border-top: 1px solid var(--dh-border-soft);
	}
	.dh-discovery-card__product-bottom { align-items: center; }
}



/* Deckhaus Journal — single article ---------------------------------------- */
#primary.dh-journal,
.dh-journal {
	margin: 0 !important;
	padding: 0 !important;
	width: 100%;
	max-width: none;
	background: var(--dh-bg);
	color: var(--dh-text);
}
.dh-article-shell {
	margin: 0;
	padding: 0;
	background:
		radial-gradient(circle at 70% 8%, rgba(187,114,65,.08), transparent 28%),
		var(--dh-bg);
}
.dh-article-hero {
	border-bottom: 1px solid var(--dh-border);
	background: #090c0e;
}
.dh-article-hero__inner {
	min-height: 430px;
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(440px, 1.1fr);
	gap: 54px;
	align-items: stretch;
	padding-block: 52px;
}
.dh-article-hero__copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	padding-left: 8px;
}
.dh-article-back {
	width: fit-content;
	margin-bottom: 36px;
	color: var(--dh-muted);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .12em;
	text-decoration: none;
	text-transform: uppercase;
}
.dh-article-back:hover { color: var(--dh-copper); }
.dh-article-kicker {
	margin: 0 0 13px;
	color: var(--dh-copper);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .22em;
	text-transform: uppercase;
}
.dh-article-hero h1 {
	max-width: 700px;
	margin: 0;
	color: var(--dh-cream);
	font-family: var(--dh-serif);
	font-size: clamp(44px, 4.8vw, 72px);
	font-weight: 400;
	line-height: .98;
	letter-spacing: -.015em;
}
.dh-article-deck {
	max-width: 660px;
	margin: 22px 0 0;
	color: #b4afa7;
	font-size: 14px;
	line-height: 1.62;
}
.dh-article-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 11px;
	margin-top: 28px;
	color: #77736d;
	font-size: 8.5px;
	font-weight: 700;
	letter-spacing: .09em;
	text-transform: uppercase;
}
.dh-article-meta > span[aria-hidden="true"] {
	color: var(--dh-copper);
	font-size: 7px;
}
.dh-article-hero__media {
	position: relative;
	min-height: 320px;
	margin: 0;
	overflow: hidden;
	border: 1px solid var(--dh-border);
	background: #080b0d;
}
.dh-article-hero__media::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	box-shadow: inset 0 0 80px rgba(0,0,0,.34);
}
.dh-article-hero__media img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

.dh-article-layout {
	display: grid;
	grid-template-columns: 165px minmax(0, 820px);
	justify-content: center;
	gap: 56px;
	padding-top: 62px;
	padding-bottom: 86px;
}
.dh-article-rail {
	position: sticky;
	top: 28px;
	align-self: start;
	margin-top: 7px;
	padding-top: 16px;
	border-top: 1px solid var(--dh-copper-soft);
	color: var(--dh-muted);
}
.dh-article-rail p {
	margin: 0;
	color: var(--dh-copper);
	font-size: 8px;
	font-weight: 800;
	letter-spacing: .16em;
}
.dh-article-rail > span {
	display: block;
	margin-top: 8px;
	color: var(--dh-cream);
	font-family: var(--dh-serif);
	font-size: 20px;
}
.dh-article-rail i {
	display: block;
	width: 34px;
	height: 1px;
	margin: 18px 0;
	background: var(--dh-border);
}
.dh-article-rail small {
	color: #6f6b65;
	font-family: var(--dh-serif);
	font-size: 13px;
	font-style: italic;
	line-height: 1.45;
}

.dh-article-content,
.dh-article-content.deckhaus-article {
	min-width: 0;
	color: #c7c1b8;
	font-size: 16px;
	line-height: 1.82;
}
.dh-article-content > *:first-child { margin-top: 0; }
.dh-article-content p { margin: 0 0 1.45em; }
.dh-article-content h2 {
	margin: 2.35em 0 .72em;
	color: var(--dh-cream);
	font-family: var(--dh-serif);
	font-size: clamp(30px, 3vw, 42px);
	font-weight: 400;
	line-height: 1.08;
	letter-spacing: -.01em;
}
.dh-article-content h3 {
	margin: 2em 0 .65em;
	color: var(--dh-cream);
	font-family: var(--dh-serif);
	font-size: 25px;
	font-weight: 400;
}
.dh-article-content strong { color: #eee8df; font-weight: 650; }
.dh-article-content a {
	color: var(--dh-copper);
	text-decoration-color: rgba(187,114,65,.45);
	text-underline-offset: 3px;
}
.dh-article-content ul,
.dh-article-content ol {
	margin: 1.1em 0 1.7em;
	padding-left: 1.35em;
}
.dh-article-content li { margin: .45em 0; }
.dh-article-content blockquote {
	margin: 2em 0;
	padding: 17px 22px;
	border-left: 2px solid var(--dh-copper);
	background: rgba(187,114,65,.06);
	color: var(--dh-cream);
	font-family: var(--dh-serif);
	font-size: 21px;
}
.dh-article-content figure {
	margin: 2.2em 0;
}
.dh-article-content img {
	max-width: 100%;
	height: auto;
}
.dh-article-content table {
	width: 100% !important;
	border-collapse: collapse !important;
	background: transparent !important;
	color: #bbb5ac;
	font-size: 13px;
}
.dh-article-content th {
	color: var(--dh-copper) !important;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .09em;
	text-transform: uppercase;
}
.dh-article-content th,
.dh-article-content td {
	padding: 12px 10px !important;
	border-color: rgba(187,114,65,.22) !important;
	background: transparent !important;
}
.dh-article-content tr:hover td {
	background: rgba(255,255,255,.012) !important;
}
.dh-article-content hr {
	height: 1px;
	margin: 3em 0;
	border: 0;
	background: var(--dh-border);
}

.dh-article-end {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 28px;
	margin-top: 64px;
	padding-top: 26px;
	border-top: 1px solid var(--dh-border);
}
.dh-article-end p {
	margin: 0 0 5px;
	color: var(--dh-copper);
	font-size: 8px;
	font-weight: 800;
	letter-spacing: .16em;
}
.dh-article-end strong {
	display: block;
	color: var(--dh-cream);
	font-family: var(--dh-serif);
	font-size: 22px;
	font-weight: 400;
}

@media (max-width: 980px) {
	.dh-article-hero__inner {
		grid-template-columns: 1fr;
		gap: 34px;
		padding-block: 42px;
	}
	.dh-article-hero__media { min-height: 380px; }
	.dh-article-layout {
		grid-template-columns: minmax(0, 820px);
		gap: 0;
	}
	.dh-article-rail { display: none; }
}
@media (max-width: 640px) {
	.dh-article-hero__inner {
		padding-top: 30px;
		padding-bottom: 28px;
	}
	.dh-article-back { margin-bottom: 25px; }
	.dh-article-hero h1 { font-size: 42px; }
	.dh-article-deck { font-size: 13px; }
	.dh-article-hero__media { min-height: 230px; }
	.dh-article-layout { padding-top: 36px; padding-bottom: 58px; }
	.dh-article-content,
	.dh-article-content.deckhaus-article {
		font-size: 15px;
		line-height: 1.75;
	}
	.dh-article-content h2 { font-size: 31px; }
	.dh-article-end {
		align-items: flex-start;
		flex-direction: column;
	}
}



/* v0.6 — harden Journal against Astra single-post canvas -------------------
   Astra's single-post wrappers can reintroduce a light article canvas even
   when the custom template itself is dark. These selectors deliberately own
   the complete editorial surface so text and tables never land on white. */

body.single-post,
body.single-post .site,
body.single-post .site-content,
body.single-post #content,
body.single-post .ast-container,
body.single-post .content-area,
body.single-post .site-main,
body.single-post #primary,
body.single-post article,
body.single-post .ast-article-single,
body.single-post .entry-content,
body.single-post .dh-journal,
body.single-post .dh-article-shell,
body.single-post .dh-article-layout,
body.single-post .dh-article-content {
	background-color: var(--dh-bg) !important;
}

body.single-post .site-content > .ast-container,
body.single-post #content > .ast-container {
	max-width: none !important;
	width: 100% !important;
	padding: 0 !important;
}

body.single-post .content-area,
body.single-post .site-main,
body.single-post .ast-article-single,
body.single-post .dh-article-shell {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
}

body.single-post .dh-article-layout {
	max-width: var(--dh-container);
	margin-inline: auto;
	padding-inline: 0;
}

/* Readability */
body.single-post .dh-article-content,
body.single-post .dh-article-content p,
body.single-post .dh-article-content li,
body.single-post .dh-article-content td {
	color: #c8c2b9 !important;
}

body.single-post .dh-article-content strong,
body.single-post .dh-article-content b {
	color: #f0e9df !important;
}

body.single-post .dh-article-content h2,
body.single-post .dh-article-content h3,
body.single-post .dh-article-content h4 {
	color: var(--dh-cream) !important;
}

body.single-post .dh-article-content > div,
body.single-post .dh-article-content blockquote {
	color: #c8c2b9;
}

/* Existing article HTML includes several inline light-theme callouts.
   On the dark Journal canvas they should read as restrained copper panels. */
body.single-post .dh-article-content div[style*="background"] {
	background: rgba(187,114,65,.065) !important;
}

body.single-post .dh-article-content div[style*="border-left"] {
	border-left-color: var(--dh-copper) !important;
}

body.single-post .dh-article-content div[style*="border:1px"],
body.single-post .dh-article-content div[style*="border: 1px"] {
	border-color: rgba(187,114,65,.42) !important;
}

body.single-post .dh-article-content div[style*="border-top"] {
	border-top-color: rgba(187,114,65,.45) !important;
}

body.single-post .dh-article-content div[style*="border-bottom"] {
	border-bottom-color: rgba(187,114,65,.45) !important;
}

/* Tables: clean editorial treatment on dark background. */
body.single-post .dh-article-content table {
	margin: 26px 0 38px !important;
	border: 1px solid rgba(187,114,65,.28) !important;
}
body.single-post .dh-article-content thead {
	background: rgba(187,114,65,.055) !important;
}
body.single-post .dh-article-content tr,
body.single-post .dh-article-content th,
body.single-post .dh-article-content td {
	background: transparent !important;
}
body.single-post .dh-article-content th {
	color: var(--dh-copper) !important;
	border-bottom: 1px solid rgba(187,114,65,.42) !important;
}
body.single-post .dh-article-content td {
	border-bottom: 1px solid rgba(187,114,65,.16) !important;
}

/* Less empty space between sections than the first Journal pass. */
body.single-post .dh-article-content h2 {
	margin-top: 1.95em;
}
body.single-post .dh-article-content p {
	margin-bottom: 1.25em;
}

/* Keep the editorial rail on the same dark canvas and improve contrast. */
body.single-post .dh-article-rail {
	background: transparent !important;
}
body.single-post .dh-article-rail > span {
	color: var(--dh-cream) !important;
}
body.single-post .dh-article-rail small {
	color: #8e8981 !important;
}

/* Article ending */
body.single-post .dh-article-end {
	background: transparent !important;
}

@media (max-width: 980px) {
	body.single-post .dh-article-layout {
		padding-inline: 22px;
	}
}
@media (max-width: 640px) {
	body.single-post .dh-article-layout {
		padding-inline: 16px;
	}
}



/* Deckhaus Journal index --------------------------------------------------- */
body.blog,
body.archive {
	background: var(--dh-bg) !important;
}

body.blog .site-content,
body.archive .site-content,
body.blog #content,
body.archive #content,
body.blog #primary,
body.archive #primary,
body.blog .ast-container,
body.archive .ast-container {
	background: var(--dh-bg) !important;
}

body.blog .site-content > .ast-container,
body.archive .site-content > .ast-container,
body.blog #content > .ast-container,
body.archive #content > .ast-container {
	max-width: none !important;
	width: 100% !important;
	padding: 0 !important;
}

.dh-journal-index {
	margin: 0 !important;
	padding: 0 !important;
	width: 100%;
	max-width: none;
	background:
		radial-gradient(circle at 68% 5%, rgba(187,114,65,.08), transparent 26%),
		var(--dh-bg);
	color: var(--dh-text);
}

.dh-journal-index__hero {
	padding: 78px 0 62px;
	border-bottom: 1px solid var(--dh-border);
	background:
		linear-gradient(105deg, rgba(187,114,65,.05), transparent 35%),
		#090c0e;
}

.dh-journal-index__eyebrow {
	margin: 0 0 16px;
	color: var(--dh-copper);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .2em;
	text-transform: uppercase;
}

.dh-journal-index__hero h1 {
	max-width: 900px;
	margin: 0;
	color: var(--dh-cream);
	font-family: var(--dh-serif);
	font-size: clamp(52px, 7vw, 92px);
	font-weight: 400;
	line-height: .94;
	letter-spacing: -.02em;
}

.dh-journal-index__lead {
	max-width: 690px;
	margin: 22px 0 0;
	color: #aaa49b;
	font-size: 14px;
	line-height: 1.65;
}

.dh-journal-index__content {
	padding: 34px 0 88px;
}

.dh-journal-index__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.dh-journal-card {
	min-width: 0;
	display: grid;
	grid-template-rows: auto 1fr;
	border: 1px solid var(--dh-border);
	background: #0b0f11;
	overflow: hidden;
}

.dh-journal-card--featured {
	grid-column: 1 / -1;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
	grid-template-rows: none;
	min-height: 430px;
}

.dh-journal-card__media {
	position: relative;
	display: block;
	min-height: 245px;
	overflow: hidden;
	background: #080b0d;
}

.dh-journal-card--featured .dh-journal-card__media {
	min-height: 430px;
}

.dh-journal-card__media::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(180deg, transparent 58%, rgba(0,0,0,.28));
}

.dh-journal-card__media img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	transition: transform .3s ease;
}

.dh-journal-card:hover .dh-journal-card__media img {
	transform: scale(1.018);
}

.dh-journal-card__placeholder {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background:
		linear-gradient(135deg, transparent 49.4%, rgba(187,114,65,.1) 49.7%, rgba(187,114,65,.1) 50.3%, transparent 50.6%),
		#090c0e;
	color: rgba(187,114,65,.7);
}

.dh-journal-card__placeholder small {
	font-size: 7px;
	font-weight: 800;
	letter-spacing: .2em;
}

.dh-journal-card__placeholder strong {
	margin-top: 6px;
	font-family: var(--dh-serif);
	font-size: 35px;
	font-weight: 400;
	letter-spacing: .08em;
}

.dh-journal-card__body {
	display: flex;
	flex-direction: column;
	padding: 24px 24px 26px;
}

.dh-journal-card--featured .dh-journal-card__body {
	justify-content: center;
	padding: 42px;
}

.dh-journal-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 14px;
	margin-bottom: 13px;
	color: #74716b;
	font-size: 8px;
	font-weight: 700;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.dh-journal-card__meta span:first-child {
	color: var(--dh-copper);
}

.dh-journal-card h2 {
	margin: 0;
	color: var(--dh-cream);
	font-family: var(--dh-serif);
	font-size: clamp(26px, 2.7vw, 38px);
	font-weight: 400;
	line-height: 1.04;
}

.dh-journal-card--featured h2 {
	font-size: clamp(36px, 4vw, 54px);
}

.dh-journal-card h2 a {
	color: inherit;
	text-decoration: none;
}

.dh-journal-card__body > p {
	margin: 14px 0 0;
	color: #96918a;
	font-size: 11px;
	line-height: 1.58;
}

.dh-journal-card__read {
	width: fit-content;
	margin-top: auto;
	padding-top: 22px;
	color: var(--dh-cream);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .08em;
	text-decoration: none;
	text-transform: uppercase;
}

.dh-journal-card__read:hover {
	color: var(--dh-copper);
}

.dh-journal-pagination {
	margin-top: 40px;
	padding-top: 22px;
	border-top: 1px solid var(--dh-border);
}

.dh-journal-pagination .nav-links {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.dh-journal-pagination a,
.dh-journal-pagination .current {
	min-width: 34px;
	height: 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 10px;
	border: 1px solid var(--dh-border);
	color: #aaa49b;
	font-size: 9px;
	font-weight: 700;
	text-decoration: none;
	text-transform: uppercase;
}

.dh-journal-pagination .current,
.dh-journal-pagination a:hover {
	border-color: var(--dh-copper);
	color: var(--dh-cream);
}

.dh-journal-empty {
	padding: 80px 0;
	text-align: center;
}

.dh-journal-empty h2 {
	margin: 0;
	color: var(--dh-cream);
	font-family: var(--dh-serif);
	font-size: 40px;
	font-weight: 400;
}

.dh-journal-empty > p:last-child {
	color: var(--dh-muted);
}

@media (max-width: 920px) {
	.dh-journal-card--featured {
		grid-template-columns: 1fr;
		min-height: 0;
	}
	.dh-journal-card--featured .dh-journal-card__media {
		min-height: 360px;
	}
	.dh-journal-card--featured .dh-journal-card__body {
		padding: 30px;
	}
}

@media (max-width: 640px) {
	.dh-journal-index__hero {
		padding: 48px 0 40px;
	}
	.dh-journal-index__hero h1 {
		font-size: 54px;
	}
	.dh-journal-index__grid {
		grid-template-columns: 1fr;
	}
	.dh-journal-card--featured {
		grid-column: auto;
	}
	.dh-journal-card__media,
	.dh-journal-card--featured .dh-journal-card__media {
		min-height: 230px;
	}
	.dh-journal-card--featured .dh-journal-card__body,
	.dh-journal-card__body {
		padding: 22px 20px 24px;
	}
	.dh-journal-card--featured h2,
	.dh-journal-card h2 {
		font-size: 31px;
	}
}



/* Single Product — Deckhaus ------------------------------------------------ */
body.single-product,
body.single-product .site,
body.single-product .site-content,
body.single-product #content,
body.single-product .ast-container,
body.single-product .content-area,
body.single-product .site-main,
body.single-product #primary {
	background: var(--dh-bg) !important;
	color: var(--dh-text);
}

body.single-product .site-content > .ast-container,
body.single-product #content > .ast-container {
	max-width: none !important;
	width: 100% !important;
	padding: 0 !important;
}

body.single-product .content-area,
body.single-product .site-main,
body.single-product #primary {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

.dh-product-page {
	width: 100%;
	margin: 0;
	background:
		radial-gradient(circle at 72% 13%, rgba(187,114,65,.07), transparent 28%),
		var(--dh-bg);
}

.dh-product-hero {
	padding: 28px 0 64px;
	border-bottom: 1px solid var(--dh-border);
	background:
		linear-gradient(105deg, rgba(187,114,65,.035), transparent 42%),
		#090c0e;
}

.dh-product-breadcrumb {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 28px;
	color: #716d67;
	font-size: 8px;
	font-weight: 700;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.dh-product-breadcrumb a {
	color: #8f8a82;
	text-decoration: none;
}
.dh-product-breadcrumb a:hover { color: var(--dh-copper); }
.dh-product-breadcrumb span { color: var(--dh-copper-soft); }

.dh-product-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(400px, .92fr);
	gap: clamp(48px, 6vw, 86px);
	align-items: start;
}

.dh-product-gallery {
	min-width: 0;
}

.single-product .woocommerce-product-gallery {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
}

.single-product .woocommerce-product-gallery__wrapper {
	margin: 0 !important;
}

.single-product .woocommerce-product-gallery__image {
	overflow: hidden;
	border: 1px solid var(--dh-border);
	background:
		radial-gradient(circle at 50% 45%, rgba(187,114,65,.08), transparent 46%),
		#0b0f11;
}

.single-product .woocommerce-product-gallery__image img {
	width: 100% !important;
	height: auto !important;
	display: block;
	object-fit: contain;
}

.single-product .flex-control-thumbs {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 8px;
	margin: 9px 0 0 !important;
	padding: 0 !important;
	list-style: none;
}

.single-product .flex-control-thumbs li {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	border: 1px solid var(--dh-border-soft);
	background: #0b0f11;
}

.single-product .flex-control-thumbs img {
	opacity: .62;
	transition: opacity .16s ease, border-color .16s ease;
}
.single-product .flex-control-thumbs img.flex-active,
.single-product .flex-control-thumbs img:hover {
	opacity: 1;
}

.dh-product-summary {
	position: sticky;
	top: 28px;
	min-width: 0;
	padding-top: 18px;
}

.dh-product-eyebrow,
.dh-product-section-label {
	margin: 0 0 13px;
	color: var(--dh-copper);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .19em;
	text-transform: uppercase;
}

.dh-product-summary h1 {
	max-width: 640px;
	margin: 0;
	color: var(--dh-cream);
	font-family: var(--dh-serif);
	font-size: clamp(48px, 5vw, 72px);
	font-weight: 400;
	line-height: .95;
	letter-spacing: -.015em;
}

.dh-product-short {
	max-width: 620px;
	margin-top: 22px;
	color: #aaa49b;
	font-size: 13px;
	line-height: 1.62;
}
.dh-product-short p { margin: 0; }

.dh-product-commercial {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 28px;
	margin-top: 34px;
	padding: 22px 0;
	border-top: 1px solid var(--dh-border);
	border-bottom: 1px solid var(--dh-border);
}

.dh-product-price-label {
	display: block;
	margin-bottom: 5px;
	color: #716d67;
	font-size: 8px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.dh-product-price,
.dh-product-price .amount {
	color: var(--dh-cream) !important;
	font-family: var(--dh-serif);
	font-size: 36px;
	font-weight: 400;
	line-height: 1;
}

.dh-product-price del {
	margin-right: 8px;
	color: #706c66;
	opacity: 1;
}
.dh-product-price del .amount {
	color: #706c66 !important;
	font-size: 23px;
}
.dh-product-price ins { text-decoration: none; }

.dh-product-stock {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 7px;
	color: var(--dh-green);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .09em;
	text-transform: uppercase;
}
.dh-product-stock.is-out-of-stock { color: var(--dh-red); }
.dh-product-stock__dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: currentColor;
}
.dh-product-stock small {
	flex-basis: 100%;
	color: #77736d;
	font-size: 8px;
	font-weight: 500;
	letter-spacing: .02em;
	text-transform: none;
	text-align: right;
}

.dh-product-buybox {
	margin-top: 24px;
}

.dh-product-buybox form.cart {
	display: grid !important;
	grid-template-columns: auto minmax(210px, 1fr);
	gap: 10px;
	margin: 0 !important;
}

.dh-product-buybox .quantity {
	float: none !important;
	margin: 0 !important;
}

.dh-product-buybox .qty {
	width: 74px !important;
	height: 46px !important;
	margin: 0 !important;
	border: 1px solid var(--dh-border) !important;
	border-radius: 0 !important;
	background: #0b0f11 !important;
	color: var(--dh-cream) !important;
	font-family: var(--dh-sans);
	font-size: 13px;
	text-align: center;
	box-shadow: none !important;
}

.dh-product-buybox .single_add_to_cart_button,
.dh-product-buybox button.single_add_to_cart_button {
	min-height: 46px !important;
	width: 100%;
	margin: 0 !important;
	padding: 10px 24px !important;
	border: 1px solid #c98451 !important;
	border-radius: 0 !important;
	background: linear-gradient(90deg,#c98752,#ad6539) !important;
	color: #fff !important;
	font-family: var(--dh-sans);
	font-size: 10px !important;
	font-weight: 800 !important;
	letter-spacing: .12em;
	text-transform: uppercase;
	box-shadow: none !important;
	transition: filter .16s ease, transform .16s ease;
}
.dh-product-buybox .single_add_to_cart_button:hover {
	filter: brightness(1.06);
	transform: translateY(-1px);
}

.dh-product-buybox .stock {
	display: none !important;
}

.dh-product-buybox .variations {
	width: 100%;
	margin: 0 0 14px !important;
	color: var(--dh-text);
}
.dh-product-buybox .variations th,
.dh-product-buybox .variations td {
	padding: 7px 0 !important;
	border: 0 !important;
	background: transparent !important;
}
.dh-product-buybox .variations select {
	min-height: 42px;
	width: 100%;
	border: 1px solid var(--dh-border);
	border-radius: 0;
	background: #0b0f11;
	color: var(--dh-cream);
}
.dh-product-buybox .woocommerce-variation-price {
	margin-bottom: 12px;
}
.dh-product-buybox .reset_variations {
	color: var(--dh-copper);
	font-size: 9px;
	text-transform: uppercase;
}

.dh-product-assurances {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 28px;
	border-top: 1px solid var(--dh-border-soft);
	border-bottom: 1px solid var(--dh-border-soft);
}

.dh-product-assurances > div {
	min-width: 0;
	padding: 17px 15px 17px 0;
	border-right: 1px solid var(--dh-border-soft);
}
.dh-product-assurances > div + div { padding-left: 15px; }
.dh-product-assurances > div:last-child { border-right: 0; }

.dh-product-assurances strong {
	display: block;
	margin-bottom: 5px;
	color: var(--dh-cream);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.dh-product-assurances span {
	display: block;
	color: #77736d;
	font-size: 9px;
	line-height: 1.45;
}

.dh-product-sku {
	margin: 15px 0 0;
	color: #65615c;
	font-size: 8px;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.dh-product-detail {
	padding: 66px 0 82px;
	background: var(--dh-bg);
}

.dh-product-detail__layout {
	display: grid;
	grid-template-columns: 165px minmax(0, 820px);
	justify-content: center;
	gap: 56px;
}

.dh-product-detail__rail {
	align-self: start;
	padding-top: 15px;
	border-top: 1px solid var(--dh-copper-soft);
}
.dh-product-detail__rail p {
	margin: 0;
	color: var(--dh-copper);
	font-size: 8px;
	font-weight: 800;
	letter-spacing: .16em;
}
.dh-product-detail__rail strong {
	display: block;
	margin-top: 8px;
	color: var(--dh-cream);
	font-family: var(--dh-serif);
	font-size: 20px;
	font-weight: 400;
}
.dh-product-detail__rail i {
	display: block;
	width: 34px;
	height: 1px;
	margin: 18px 0;
	background: var(--dh-border);
}
.dh-product-detail__rail span {
	color: #77736d;
	font-family: var(--dh-serif);
	font-size: 13px;
	font-style: italic;
	line-height: 1.45;
}

.dh-product-description {
	color: #c7c1b8;
	font-size: 15px;
	line-height: 1.78;
}
.dh-product-description > *:first-child { margin-top: 0; }
.dh-product-description p { margin: 0 0 1.35em; }
.dh-product-description h2 {
	margin: 2em 0 .7em;
	color: var(--dh-cream) !important;
	font-family: var(--dh-serif);
	font-size: 36px;
	font-weight: 400;
	line-height: 1.08;
}
.dh-product-description h3 {
	margin: 1.8em 0 .6em;
	color: var(--dh-cream) !important;
	font-family: var(--dh-serif);
	font-size: 25px;
	font-weight: 400;
}
.dh-product-description strong { color: #eee8df; }
.dh-product-description li { margin: .4em 0; }
.dh-product-description a { color: var(--dh-copper); }

.dh-product-description div[style*="background"] {
	background: rgba(187,114,65,.065) !important;
}
.dh-product-description div[style*="border-left"] {
	border-left-color: var(--dh-copper) !important;
}

.dh-product-footer-cta {
	padding: 28px 0;
	border-top: 1px solid var(--dh-border);
	background:
		linear-gradient(100deg, rgba(187,114,65,.08), transparent 40%),
		#0a0d0f;
}
.dh-product-footer-cta__inner {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 30px;
}
.dh-product-footer-cta p {
	margin: 0 0 6px;
	color: var(--dh-copper);
	font-size: 8px;
	font-weight: 800;
	letter-spacing: .16em;
}
.dh-product-footer-cta h2 {
	margin: 0;
	color: var(--dh-cream);
	font-family: var(--dh-serif);
	font-size: 30px;
	font-weight: 400;
}

/* Woo notices inside custom product page */
.dh-product-page .woocommerce-notices-wrapper {
	width: min(calc(100% - 48px), var(--dh-container));
	margin: 18px auto 0;
}
.dh-product-page .woocommerce-message,
.dh-product-page .woocommerce-error,
.dh-product-page .woocommerce-info {
	border-top-color: var(--dh-copper);
	background: #0d1113;
	color: var(--dh-text);
}
.dh-product-page .woocommerce-message::before,
.dh-product-page .woocommerce-info::before {
	color: var(--dh-green);
}

/* Hide default Woo metadata/tabs/recommended blocks if a plugin injects them
   outside our controlled template. The actual product content is rendered above. */
body.single-product .product_meta,
body.single-product .woocommerce-tabs,
body.single-product .related.products,
body.single-product .upsells.products {
	display: none !important;
}

@media (max-width: 980px) {
	.dh-product-grid {
		grid-template-columns: 1fr;
		gap: 38px;
	}
	.dh-product-summary {
		position: static;
		padding-top: 0;
	}
	.dh-product-detail__layout {
		grid-template-columns: minmax(0, 820px);
		gap: 0;
	}
	.dh-product-detail__rail { display: none; }
}

@media (max-width: 640px) {
	.dh-product-hero { padding-top: 18px; padding-bottom: 44px; }
	.dh-product-breadcrumb { margin-bottom: 18px; }
	.dh-product-summary h1 { font-size: 46px; }
	.dh-product-commercial {
		align-items: flex-start;
		flex-direction: column;
		gap: 16px;
	}
	.dh-product-stock {
		justify-content: flex-start;
	}
	.dh-product-stock small { text-align: left; }
	.dh-product-buybox form.cart {
		grid-template-columns: 72px minmax(0, 1fr);
	}
	.dh-product-assurances {
		grid-template-columns: 1fr;
	}
	.dh-product-assurances > div,
	.dh-product-assurances > div + div {
		padding: 14px 0;
		border-right: 0;
		border-bottom: 1px solid var(--dh-border-soft);
	}
	.dh-product-assurances > div:last-child { border-bottom: 0; }
	.dh-product-detail {
		padding: 45px 0 58px;
	}
	.dh-product-description { font-size: 14px; }
	.dh-product-description h2 { font-size: 31px; }
	.dh-product-footer-cta__inner {
		align-items: flex-start;
		flex-direction: column;
	}
}



/* v0.7.2 — image-fit patch -------------------------------------------------
   Product/editorial artwork is composed as a complete scene, so it should not
   be treated as a disposable crop. Keep the whole composition visible. */

/* Featured Cores: allow a taller, calmer image area and contain the artwork. */
.dh-core-card__image {
	aspect-ratio: 16 / 9;
	background:
		radial-gradient(circle at 50% 45%, rgba(187,114,65,.08), transparent 46%),
		#080b0d;
}
.dh-core-card__image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	padding: 0;
}

/* Blog + Product featured cards: give image and copy equal visual weight. */
.dh-discovery-card__content {
	grid-template-columns: minmax(0, 1fr) minmax(220px, 1fr);
}

/* Do not crop the generated editorial/product compositions. */
.dh-discovery-card__visual {
	background:
		radial-gradient(circle at 50% 45%, rgba(187,114,65,.055), transparent 45%),
		#080b0d;
}
.dh-discovery-card__visual img,
.dh-discovery-card__visual--product img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	display: block;
	padding: 0;
	filter: none;
}

/* The old left-to-right dark overlay was useful for cropped photography, but
   muddies contained artwork and makes text inside the generated image harder
   to read. */
.dh-discovery-card__visual::after {
	display: none;
}

/* Product image can breathe slightly inside its panel without appearing tiny. */
.dh-discovery-card__visual--product img {
	padding: 10px;
}

/* If WooCommerce supplies a very vertical image, keep the card height sane. */
.dh-discovery-card__visual {
	min-height: 230px;
}

/* Mobile still stacks copy and image, but the image gets enough room to show
   the complete composition. */
@media (max-width: 640px) {
	.dh-discovery-card__visual {
		min-height: 220px;
	}
	.dh-core-card__image {
		aspect-ratio: 16 / 9;
	}
}
