.hero-section .entry-header > .ct-breadcrumbs {
	display: block;
	width: 100%;
	margin-inline: 0;
	text-align: left;
	overflow-wrap: anywhere;
}

:root {
	--dstuff-accent: #f7b325;
	--dstuff-accent-hover: #e4a31b;
	--dstuff-text: #121820;
	--dstuff-muted: #606872;
	--dstuff-surface: #f7f7f5;
	--dstuff-border: #e3e4e2;
	--dstuff-radius-sm: 6px;
	--dstuff-radius-md: 10px;
	--dstuff-radius-lg: 14px;
	--dstuff-container: 1220px;
	--dstuff-transition: 220ms ease;
}

/* Header */
#header [data-row*="middle"] {
	--height: 76px;
	--theme-box-shadow: none;
	--theme-border-bottom: 1px solid var(--dstuff-border);
	background: #fff;
}

#header [data-row*="middle"] > div {
	width: min(calc(100% - 48px), var(--dstuff-container));
	margin-inline: auto;
}

#header .site-logo-container img {
	width: auto;
	max-height: 40px;
}

#header .site-logo-container {
	--logo-max-height: 35px;
}

#header .menu > li > a {
	padding-inline: 17px;
}

#header :is(.ct-header-search, .ct-account-item, .ct-cart-item) svg {
	width: 18px;
	height: 18px;
}

/* Home page hero */
.dstuff-home-hero {
	width: 100vw;
	max-width: none;
	margin: 0 calc(50% - 50vw);
	padding: 48px 24px;
	background: #fff;
	color: var(--dstuff-text);
}

.dstuff-home-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 43fr) minmax(500px, 57fr);
	align-items: center;
	gap: clamp(36px, 4.5vw, 58px);
	width: min(100%, var(--dstuff-container));
	min-height: 520px;
	margin-inline: auto;
}

.dstuff-home-hero__copy {
	max-width: 500px;
}

.dstuff-home-hero h1 {
	max-width: 500px;
	margin: 0;
	color: var(--dstuff-text);
	font-family: var(--dstuff-font-ui);
	font-size: clamp(3.75rem, 4.25vw, 4.25rem);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.03;
}

.dstuff-home-hero__lead {
	max-width: 480px;
	margin: 22px 0 0;
	color: var(--dstuff-muted);
	font-size: 16px;
	line-height: 1.65;
}

.dstuff-home-hero__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	margin-top: 28px;
	padding: 0 25px;
	border: 1px solid var(--dstuff-accent);
	border-radius: var(--dstuff-radius-sm);
	background: var(--dstuff-accent);
	color: var(--dstuff-text);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.1;
	text-decoration: none;
	transition: background-color var(--dstuff-transition), border-color var(--dstuff-transition);
}

.dstuff-home-hero__button:hover,
.dstuff-home-hero__button:focus-visible {
	border-color: var(--dstuff-accent-hover);
	background: var(--dstuff-accent-hover);
	color: var(--dstuff-text);
}

.dstuff-home-hero__button:focus-visible {
	outline: 3px solid rgba(247, 178, 35, 0.55);
	outline-offset: 4px;
}

.dstuff-home-showcase {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(230px, 0.95fr);
	grid-template-rows: repeat(2, minmax(190px, 1fr));
	gap: 12px;
	min-height: 520px;
}

.dstuff-home-showcase-card {
	position: relative;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 0;
	overflow: hidden;
	padding: 24px;
	border-radius: var(--dstuff-radius-lg);
	background: #dfe2df;
	color: #fff;
	text-decoration: none;
	box-shadow: 0 14px 34px rgba(17, 24, 32, 0.1);
}

.dstuff-home-showcase-card__media {
	position: absolute;
	inset: 0;
	z-index: -2;
	background: #d9dedb;
	background-position: center;
	background-size: cover;
	transition: transform var(--dstuff-transition);
}

.dstuff-home-showcase-card:hover .dstuff-home-showcase-card__media {
	transform: scale(1.03);
}

.dstuff-home-showcase-card__label {
	align-self: flex-start;
	max-width: min(100%, 210px);
	padding: 0;
}

.dstuff-home-showcase-card__label strong {
	display: block;
	color: #fff;
	font-size: clamp(1.05rem, 1.45vw, 1.25rem);
	font-weight: 700;
	line-height: 1.1;
	text-shadow: 0 1px 10px rgba(0, 0, 0, 0.35);
}

.dstuff-home-showcase-card:focus-visible {
	outline: 3px solid rgba(247, 179, 37, 0.75);
	outline-offset: 5px;
}

.dstuff-home-benefits {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	width: min(calc(100% - 48px), var(--dstuff-container));
	min-height: 140px;
	margin: 72px auto 96px;
	padding: 0 28px;
	border: 1px solid var(--dstuff-border);
	border-radius: var(--dstuff-radius-lg);
	background: var(--dstuff-surface);
}

.dstuff-home-benefit {
	display: grid;
	grid-template-columns: 40px minmax(0, 1fr);
	align-content: center;
	align-items: center;
	gap: 16px;
	padding: 24px 28px;
	text-align: left;
}

.dstuff-home-benefit + .dstuff-home-benefit {
	border-left: 1px solid var(--dstuff-border);
}

.dstuff-home-benefit__mark {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	margin: 0;
	border: 1px solid rgba(247, 179, 37, 0.55);
	border-radius: 50%;
	background: rgba(247, 179, 37, 0.1);
	color: var(--dstuff-text);
}

.dstuff-home-benefit__mark::before {
	content: "\2713";
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
}

.dstuff-home-benefit h2 {
	margin: 0 0 6px;
	color: var(--dstuff-text);
	font-family: inherit;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.25;
}

.dstuff-home-benefit p {
	margin: 0;
	color: var(--dstuff-muted);
	font-size: 14px;
	line-height: 1.55;
}

.dstuff-home-products,
.dstuff-home-recent {
	width: min(calc(100% - 48px), var(--dstuff-container)) !important;
	max-width: none !important;
	margin: 0 auto 100px;
}

.dstuff-home-products > h2,
.dstuff-home-recent > h2 {
	margin-bottom: 10px;
	color: var(--dstuff-text);
	font-family: var(--dstuff-font-ui);
	font-size: clamp(2.375rem, 3.4vw, 2.75rem);
	font-weight: 700;
	line-height: 1.08;
}

.dstuff-home-products > p {
	margin-bottom: 34px;
	color: var(--dstuff-muted);
	font-size: 16px;
}

.dstuff-home-recent > h2 {
	margin-bottom: 32px;
}

.dstuff-home-products ul.products,
.dstuff-home-recent ul.products {
	display: grid !important;
	gap: 36px 24px !important;
}

.dstuff-home-products ul.products {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.dstuff-home-recent ul.products {
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.dstuff-home-products ul.products li.product,
.dstuff-home-recent ul.products li.product {
	display: flex;
	min-width: 0;
	flex-direction: column;
	margin: 0 !important;
	text-align: left;
}

.dstuff-home-products .woocommerce-loop-product__link,
.dstuff-home-recent .woocommerce-loop-product__link {
	display: flex;
	flex: 1;
	flex-direction: column;
}

.dstuff-home-products ul.products li.product img,
.dstuff-home-recent ul.products li.product img {
	width: 100%;
	aspect-ratio: 1;
	margin: 0;
	padding: 18px;
	border-radius: var(--dstuff-radius-md);
	background: var(--dstuff-surface);
	object-fit: contain;
	transition: transform var(--dstuff-transition);
}

.dstuff-home-products .woocommerce-loop-product__title,
.dstuff-home-recent .woocommerce-loop-product__title {
	min-height: 44px;
	margin: 16px 0 7px;
	color: var(--dstuff-text);
	font-family: inherit;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.35;
	transition: color var(--dstuff-transition);
}

.dstuff-home-products li.product .price,
.dstuff-home-recent li.product .price {
	margin: 0;
	color: var(--dstuff-text);
	font-size: 15px;
	font-weight: 700;
}

.dstuff-home-products li.product > .button,
.dstuff-home-recent li.product > .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 44px;
	margin-top: 16px;
	padding: 0 20px;
	border: 1px solid var(--dstuff-accent);
	border-radius: var(--dstuff-radius-sm);
	background: var(--dstuff-accent);
	color: var(--dstuff-text);
	font-size: 14px;
	font-weight: 700;
	transition: background-color var(--dstuff-transition), border-color var(--dstuff-transition);
}

.dstuff-home-products li.product > .button:hover,
.dstuff-home-products li.product > .button:focus-visible,
.dstuff-home-recent li.product > .button:hover,
.dstuff-home-recent li.product > .button:focus-visible {
	border-color: var(--dstuff-accent-hover);
	background: var(--dstuff-accent-hover);
	color: var(--dstuff-text);
}

/* Home page category grid */
.dstuff-home-categories {
	width: min(100%, 1290px);
	margin-inline: auto;
}

.dstuff-home-categories > h2 {
	margin: 0 0 40px;
	color: var(--theme-heading-color, #111820);
	font-family: var(--dstuff-font-ui);
	font-size: clamp(2rem, 4vw, 2.65rem);
	font-weight: 700;
	line-height: 1.15;
	text-align: center;
}

.dstuff-home-categories__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 35px;
}

.dstuff-home-category {
	position: relative;
	display: block;
	min-height: 280px;
	overflow: hidden;
	background: #d9dfe5;
	color: #fff;
	text-decoration: none;
}

.dstuff-home-category img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 280ms ease;
}

.dstuff-home-category__shade {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(
			180deg,
			rgba(5, 10, 15, 0.02) 30%,
			rgba(5, 10, 15, 0.72) 100%
		);
}

.dstuff-home-category__content {
	position: absolute;
	z-index: 1;
	right: 32px;
	bottom: 30px;
	left: 32px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.dstuff-home-category__count {
	margin-bottom: 7px;
	color: rgba(255, 255, 255, 0.82);
	font-size: 0.78rem;
	line-height: 1.3;
}

.dstuff-home-category__name {
	color: #fff;
	font: 700 clamp(1.55rem, 3vw, 2rem)/1.2 var(--dstuff-font-ui);
}

.dstuff-home-category:hover img {
	transform: scale(1.035);
}

.dstuff-home-category:focus-visible {
	outline: 3px solid #f7b223;
	outline-offset: 4px;
}

/* The imported furniture category cards remain editable but are not rendered. */
.stk-487d234,
.stk-733cd75,
.stk-a28e12d {
	display: none !important;
}

/* Remove the imported furniture promotion and its trailing spacer. */
.stk-41508ab,
.stk-dc335d7 {
	display: none !important;
}

/* Newsletter signup */
.dstuff-newsletter {
	width: 100vw;
	max-width: none;
	margin: 0 calc(50% - 50vw) 96px;
	padding: 0;
	background: var(--dstuff-surface);
	color: var(--dstuff-text);
}

.dstuff-newsletter__inner {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: center;
	gap: clamp(50px, 7vw, 90px);
	width: min(calc(100% - 48px), var(--dstuff-container));
	margin-inline: auto;
	padding-block: 76px;
}

.dstuff-newsletter__copy {
	max-width: 560px;
}

.dstuff-newsletter h2 {
	margin: 0;
	color: var(--dstuff-text);
	font-family: var(--dstuff-font-ui);
	font-size: clamp(2.375rem, 3.4vw, 2.75rem);
	font-style: normal;
	font-weight: 700;
	line-height: 1.08;
}

.dstuff-newsletter__copy p {
	max-width: 52ch;
	margin: 14px 0 0;
	color: var(--dstuff-muted);
	font-size: 16px;
	line-height: 1.65;
}

.dstuff-newsletter__signup {
	width: 100%;
}

.dstuff-newsletter__form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 12px 10px;
	width: 100%;
}

.dstuff-newsletter__form input[type="email"] {
	width: 100%;
	min-height: 48px;
	padding: 10px 14px;
	border: 1px solid var(--dstuff-border);
	border-radius: var(--dstuff-radius-sm);
	background: #fff;
	color: var(--dstuff-text);
	font-size: 15px;
}

.dstuff-newsletter__form input[type="email"]:focus {
	border-color: #a86e00;
	box-shadow: 0 0 0 2px rgba(247, 179, 37, 0.2);
	outline: 0;
}

.dstuff-newsletter__consent {
	display: flex;
	grid-column: 1 / -1;
	gap: 8px;
	align-items: flex-start;
	color: var(--dstuff-muted);
	font-size: 13px;
	line-height: 1.45;
}

.dstuff-newsletter__consent input {
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
	margin-top: 1px;
}

.dstuff-newsletter__consent a {
	color: var(--dstuff-text);
	text-decoration: underline;
}

.dstuff-newsletter__form button {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 142px;
	min-height: 48px;
	padding: 0 22px;
	border: 1px solid var(--dstuff-text);
	border-radius: var(--dstuff-radius-sm);
	background: var(--dstuff-text);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	transition: background-color var(--dstuff-transition), border-color var(--dstuff-transition);
}

.dstuff-newsletter__form button:hover,
.dstuff-newsletter__form button:focus-visible {
	border-color: #30363d;
	background: #30363d;
	color: #fff;
}

.dstuff-newsletter__notice {
	margin: 0 0 14px;
	padding: 10px 12px;
	border: 1px solid #bdd8c5;
	border-radius: 4px;
	background: #edf7f0;
	color: #155d2c;
	font-size: 0.84rem;
}

.dstuff-newsletter__notice--error {
	border-color: #e3bcbc;
	background: #fff0f0;
	color: #8b2020;
}

.dstuff-newsletter__reward {
	padding: 20px;
	border: 1px solid #d0d0d0;
	border-radius: 4px;
	background: #fff;
}

.dstuff-newsletter__reward > span {
	display: block;
	margin-bottom: 10px;
	color: #555;
	font-size: 0.8rem;
	font-weight: 600;
}

.dstuff-newsletter__reward code {
	display: inline-block;
	padding: 7px 10px;
	border-radius: 3px;
	background: #000;
	color: #fff;
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: 0.05em;
}

.dstuff-newsletter__reward p {
	margin: 12px 0 0;
	color: #555;
	font-size: 0.84rem;
}

.dstuff-recently-viewed__empty {
	margin: 0;
	padding: 22px 24px;
	border: 1px solid var(--dstuff-border);
	border-radius: var(--dstuff-radius-md);
	background: var(--dstuff-surface);
	color: var(--dstuff-muted);
	font-size: 14px;
	text-align: center;
}

/* Keep the product form focused on adding items; the header provides cart access. */
.single-product form.cart .added_to_cart {
	display: none;
}

/* Required button choices for variable model products */
.variations_form .dstuff-variation-select {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	border: 0 !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	overflow: hidden !important;
	white-space: nowrap !important;
}

.dstuff-variation-options {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.dstuff-variation-option {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 64px;
	min-height: 42px;
	margin: 0;
	padding: 9px 14px;
	border: 1px solid #cfd4d9;
	border-radius: 6px;
	background: #fff;
	color: #111820;
	font-size: 0.9rem;
	font-weight: 650;
	line-height: 1;
	cursor: pointer;
	transition:
		border-color 150ms ease,
		background-color 150ms ease,
		color 150ms ease;
}

.dstuff-variation-option:hover {
	border-color: #111820;
}

.dstuff-variation-option.is-selected {
	border-color: #111820;
	background: #111820;
	color: #fff;
	box-shadow: 0 0 0 1px #111820;
}

.dstuff-variation-option:focus-visible {
	outline: 2px solid #f7b223;
	outline-offset: 3px;
}

.dstuff-variation-option:disabled {
	cursor: not-allowed;
	opacity: 0.42;
}

.variations_form .variations tr:has(.dstuff-variation-options) {
	display: grid;
	gap: 10px;
}

.variations_form .variations tr:has(.dstuff-variation-options) th,
.variations_form .variations tr:has(.dstuff-variation-options) td {
	display: block;
	width: 100%;
	padding: 0;
}

.variations_form .variations tr:has(.dstuff-variation-options) label {
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.single-product .product_meta .dstuff-figure-count {
	display: block;
}

/* Match the Checkout block to Blocksy's standard 1290px site container. */
body.woocommerce-checkout .wp-block-woocommerce-checkout.alignwide {
	width: min(100%, var(--theme-normal-container-max-width, 1290px)) !important;
	max-width: var(--theme-normal-container-max-width, 1290px) !important;
	margin-inline: auto !important;
}

/* Compact native coupon accordion inside the Checkout order summary. */
body.woocommerce-checkout
	.wp-block-woocommerce-checkout-order-summary-coupon-form-block
	.wc-block-components-panel__button {
	min-height: 22px;
	color: #676b70;
	font-size: 0.88rem;
	font-weight: 500;
}

body.woocommerce-checkout
	.wp-block-woocommerce-checkout-order-summary-coupon-form-block
	.wc-block-components-panel__button:focus-visible {
	border-radius: 2px;
	outline: 2px solid #f7b223;
	outline-offset: 3px;
}

body.woocommerce-checkout
	.wp-block-woocommerce-checkout-order-summary-coupon-form-block
	.wc-block-components-totals-coupon__form {
	align-items: stretch;
	flex-wrap: nowrap;
}

body.woocommerce-checkout
	.wp-block-woocommerce-checkout-order-summary-coupon-form-block
	.wc-block-components-totals-coupon__input,
body.woocommerce-checkout
	.wp-block-woocommerce-checkout-order-summary-coupon-form-block
	.wc-block-components-totals-coupon__input input {
	min-height: 50px;
}

body.woocommerce-checkout
	.wp-block-woocommerce-checkout-order-summary-coupon-form-block
	.wc-block-components-totals-coupon__input input {
	border-color: #3d4247;
	border-radius: 4px;
	background: #fff;
}

body.woocommerce-checkout
	.wp-block-woocommerce-checkout-order-summary-coupon-form-block
	.wc-block-components-totals-coupon__button {
	min-height: 50px;
	border: 1px solid #343a40;
	border-radius: 0;
	background: #343a40;
	color: #fff;
	font-size: 0.82rem;
	font-weight: 650;
}

body.woocommerce-checkout
	.wp-block-woocommerce-checkout-order-summary-coupon-form-block
	.wc-block-components-totals-coupon__button:hover,
body.woocommerce-checkout
	.wp-block-woocommerce-checkout-order-summary-coupon-form-block
	.wc-block-components-totals-coupon__button:focus-visible {
	border-color: #111;
	background: #111;
	color: #fff;
}

body.woocommerce-checkout
	.wp-block-woocommerce-checkout-order-summary-coupon-form-block
	.wc-block-components-totals-coupon__button:focus-visible {
	outline: 2px solid #f7b223;
	outline-offset: 2px;
}

/* Order confirmation page */
body.woocommerce-order-received .site-main {
	background: #f6f4ef;
}

body.woocommerce-order-received .entry-content > .woocommerce {
	width: min(100%, var(--theme-normal-container-max-width, 1120px));
	margin-inline: auto;
}

body.woocommerce-order-received .woocommerce-order {
	display: grid;
	gap: 26px;
	color: #1d2328;
}

body.woocommerce-order-received .woocommerce-thankyou-order-received {
	display: grid;
	gap: 10px;
	min-height: auto;
	margin: 0;
	padding: clamp(24px, 4vw, 42px);
	border: 1px solid rgba(17, 24, 32, 0.08);
	border-radius: 6px;
	background: #fff;
	box-shadow: 0 20px 50px rgba(17, 24, 32, 0.08);
	color: #111820;
	font-size: clamp(1.35rem, 2vw, 2rem);
	font-weight: 800;
	line-height: 1.18;
}

body.woocommerce-order-received .woocommerce-thankyou-order-received::before {
	content: "✓";
	position: static;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background:
		linear-gradient(135deg, #f7b223, #ffd475);
	box-shadow: 0 10px 22px rgba(247, 178, 35, 0.3);
	color: #111820;
	font-size: 1.45rem;
	font-weight: 900;
	line-height: 1;
}

body.woocommerce-order-received .woocommerce-thankyou-order-received::after {
	content: "Potwierdzenie i szczegóły zamówienia znajdziesz poniżej.";
	display: block;
	clear: none;
	color: #5f666d;
	font-size: 0.98rem;
	font-weight: 500;
	line-height: 1.55;
}

body.woocommerce-order-received .woocommerce-thankyou-order-details {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	overflow: hidden;
	margin: 0;
	border: 1px solid rgba(17, 24, 32, 0.1);
	border-radius: 6px;
	background: rgba(17, 24, 32, 0.1);
}

body.woocommerce-order-received .woocommerce-thankyou-order-details li {
	min-width: 0;
	margin: 0;
	padding: 18px;
	border: 0;
	background: #fff;
	color: #697078;
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	line-height: 1.3;
	text-transform: uppercase;
}

body.woocommerce-order-received .woocommerce-thankyou-order-details strong {
	margin-top: 7px;
	color: #111820;
	font-size: 0.98rem;
	font-weight: 750;
	letter-spacing: 0;
	line-height: 1.35;
	text-transform: none;
	overflow-wrap: anywhere;
}

body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details {
	margin: 0;
	padding: clamp(20px, 3vw, 30px);
	border: 1px solid rgba(17, 24, 32, 0.1);
	border-radius: 6px;
	background: #fff;
	box-shadow: 0 14px 38px rgba(17, 24, 32, 0.06);
}

body.woocommerce-order-received .woocommerce-order-details h2,
body.woocommerce-order-received .woocommerce-customer-details h2,
body.woocommerce-order-received .woocommerce-column__title {
	margin: 0 0 18px;
	color: #111820;
	font-size: clamp(1.1rem, 1.6vw, 1.35rem);
	font-weight: 800;
	line-height: 1.25;
}

body.woocommerce-order-received .woocommerce-order-details table.shop_table {
	margin: 0;
	border-collapse: collapse;
	border: 0;
}

body.woocommerce-order-received .woocommerce-order-details table.shop_table th,
body.woocommerce-order-received .woocommerce-order-details table.shop_table td {
	padding: 14px 0;
	border-color: rgba(17, 24, 32, 0.1);
	color: #2c333a;
	font-size: 0.96rem;
	vertical-align: top;
}

body.woocommerce-order-received .woocommerce-order-details table.shop_table tfoot tr:last-child th,
body.woocommerce-order-received .woocommerce-order-details table.shop_table tfoot tr:last-child td {
	color: #111820;
	font-size: 1.05rem;
	font-weight: 800;
}

body.woocommerce-order-received .woocommerce-customer-details .col2-set {
	gap: 18px;
}

body.woocommerce-order-received .woocommerce-customer-details address {
	min-height: 100%;
	padding: 18px;
	border: 1px solid rgba(17, 24, 32, 0.1);
	border-radius: 6px;
	background: #fbfaf7;
	color: #333a41;
	font-size: 0.95rem;
	line-height: 1.65;
}

body.woocommerce-order-received .dstuff-thankyou-actions {
	display: flex;
	justify-content: flex-start;
	margin: -4px 0 0;
}

body.woocommerce-order-received .dstuff-thankyou-actions .button {
	border-radius: 4px;
	background: #111820;
	color: #fff;
	font-weight: 750;
}

body.woocommerce-order-received .dstuff-thankyou-actions .button:hover,
body.woocommerce-order-received .dstuff-thankyou-actions .button:focus-visible {
	background: #f7b223;
	color: #111820;
}

@media (max-width: 999px) {
	body.woocommerce-order-received .woocommerce-thankyou-order-details {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 689px) {
	body.woocommerce-order-received .woocommerce-order {
		gap: 18px;
	}

	body.woocommerce-order-received .woocommerce-thankyou-order-details {
		grid-template-columns: 1fr;
	}

	body.woocommerce-order-received .woocommerce-thankyou-order-details li,
	body.woocommerce-order-received .woocommerce-order-details,
	body.woocommerce-order-received .woocommerce-customer-details {
		padding: 16px;
	}
}

/* Language and currency controls */
.dstuff-market-controls {
	position: relative;
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 7px 18px;
	background: #080b0e;
	color: #fff;
}

.dstuff-market-controls.is-in-header {
	min-height: auto;
	margin: 0;
	padding: 0;
	background: transparent;
}

[data-row="top"] .ct-header-text .entry-content {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	white-space: nowrap;
}

[data-row="top"] .ct-header-text .entry-content > .dstuff-market-controls {
	flex: 0 0 auto;
	margin-inline-end: 18px;
}

[data-row="top"] .ct-header-text .entry-content > span {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	line-height: 1;
	transform: translateY(1px);
}

#header [data-row="top"] .dstuff-header-contact {
	gap: 0;
	color: #b8b8b8;
	font-size: 13px;
	font-weight: 400;
	transform: none;
}

#header [data-row="top"] .dstuff-header-contact a {
	display: inline-flex;
	align-items: center;
	min-height: 22px;
	color: inherit;
	line-height: 1.4;
	text-decoration: none;
	white-space: nowrap;
	transition: color 140ms ease-out;
}

#header [data-row="top"] .dstuff-header-contact a + a {
	margin-left: 20px;
	padding-left: 20px;
	border-left: 1px solid #555;
}

#header [data-row="top"] .dstuff-header-contact a:is(:hover, :focus-visible) {
	color: var(--dstuff-accent);
}

#header [data-row="top"] .dstuff-header-contact a:focus-visible {
	outline: 2px solid var(--dstuff-accent);
	outline-offset: 3px;
}

.dstuff-region-trigger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	min-width: 118px;
	min-height: 32px;
	margin: 0;
	padding: 7px 12px;
	border: 1px solid #181818;
	border-radius: 0;
	background: #020202;
	color: #fff;
	font: 750 0.75rem/1 var(--fontFamily, inherit);
	letter-spacing: 0;
	cursor: pointer;
	transition: border-color 160ms ease, background-color 160ms ease;
}

.dstuff-region-trigger svg {
	flex: 0 0 auto;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.45;
}

.dstuff-region-trigger:hover {
	border-color: #f7b223;
	background: #101010;
}

.dstuff-region-trigger:focus-visible {
	outline: 2px solid #f7b223;
	outline-offset: 2px;
}

.dstuff-region-overlay {
	position: fixed;
	z-index: 1000000;
	inset: 0;
	background: rgba(5, 8, 11, 0.58);
	opacity: 0;
	transition: opacity 180ms ease;
}

.dstuff-region-overlay.is-visible {
	opacity: 1;
}

.dstuff-region-dialog {
	--dstuff-region-accent: #f7b223;
	position: fixed;
	z-index: 1000001;
	top: 50%;
	left: 50%;
	width: min(600px, calc(100vw - 28px));
	max-height: min(680px, calc(100dvh - 28px));
	border: 1px solid #dedede;
	border-radius: 5px;
	background: #fff;
	color: #161b22;
	box-shadow: 0 22px 70px rgba(0, 0, 0, 0.28);
	opacity: 0;
	overflow: auto;
	transform: translate(-50%, calc(-50% + 14px));
	visibility: hidden;
	transition:
		opacity 180ms ease,
		transform 180ms ease,
		visibility 0s linear 180ms;
}

.dstuff-region-dialog.is-visible {
	opacity: 1;
	transform: translate(-50%, -50%);
	visibility: visible;
	transition:
		opacity 180ms ease,
		transform 180ms ease,
		visibility 0s;
}

.dstuff-region-dialog__header {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 72px;
	padding: 14px 64px;
	border-bottom: 1px solid #dedede;
}

.dstuff-region-dialog__header h2 {
	margin: 0;
	color: #252525;
	font: 600 clamp(1.6rem, 4vw, 2rem)/1.15 var(--dstuff-font-ui);
	text-align: center;
}

.dstuff-region-dialog__header h2:focus {
	outline: none;
}

.dstuff-region-dialog__close {
	position: absolute;
	top: 14px;
	right: 12px;
	width: 42px;
	height: 42px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: #858585;
	cursor: pointer;
}

.dstuff-region-dialog__close span::before,
.dstuff-region-dialog__close span::after {
	position: absolute;
	top: 20px;
	left: 11px;
	width: 20px;
	height: 1px;
	background: currentColor;
	content: "";
}

.dstuff-region-dialog__close span::before {
	transform: rotate(45deg);
}

.dstuff-region-dialog__close span::after {
	transform: rotate(-45deg);
}

.dstuff-region-dialog__close:hover,
.dstuff-region-dialog__close:focus-visible {
	color: #111;
}

.dstuff-region-dialog__close:focus-visible {
	outline: 2px solid var(--dstuff-region-accent);
	outline-offset: -3px;
}

.dstuff-region-form {
	margin: 0;
}

.dstuff-region-form__body {
	display: grid;
	grid-template-columns: 1fr 1fr;
	padding: 30px;
}

.dstuff-region-form fieldset {
	min-width: 0;
	margin: 0;
	padding: 0 30px 0 0;
	border: 0;
}

.dstuff-region-form legend,
.dstuff-region-form__currency > label {
	display: block;
	margin: 0 0 14px;
	padding: 0;
	color: #17202b;
	font-size: 1.08rem;
	font-weight: 750;
	line-height: 1.25;
}

.dstuff-region-language-list {
	display: grid;
	gap: 2px;
}

.dstuff-region-language {
	position: relative;
	display: block;
	margin: 0;
	cursor: pointer;
}

.dstuff-region-language input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.dstuff-region-language > span {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 30px;
	padding: 5px 8px;
	border-radius: 3px;
	color: #91969c;
	font-size: 0.84rem;
	font-weight: 500;
	line-height: 1.2;
	transition: background-color 140ms ease, color 140ms ease;
}

.dstuff-region-language img {
	flex: 0 0 auto;
	width: 22px;
	height: 14px;
	object-fit: cover;
}

.dstuff-region-language:hover > span {
	background: #f3f4f5;
	color: #343a40;
}

.dstuff-region-language input:checked + span {
	background: #edf0f3;
	color: #343a40;
}

.dstuff-region-language input:focus-visible + span {
	outline: 2px solid var(--dstuff-region-accent);
	outline-offset: 1px;
}

.dstuff-region-form__currency {
	min-width: 0;
	padding-left: 38px;
	border-left: 1px solid #dedede;
}

.dstuff-region-form__currency select {
	width: 100%;
	height: 38px;
	margin: 0;
	padding: 6px 34px 6px 11px;
	border: 1px solid #d9dde1;
	border-radius: 4px;
	background-color: #fff;
	color: #111;
	font-size: 0.88rem;
}

.dstuff-region-form__currency select:focus {
	border-color: var(--dstuff-region-accent);
	box-shadow: 0 0 0 1px var(--dstuff-region-accent);
	outline: none;
}

.dstuff-region-form__currency p {
	max-width: 22ch;
	margin: 12px 0 0;
	color: #94999f;
	font-size: 0.85rem;
	line-height: 1.35;
}

.dstuff-region-form__footer {
	display: flex;
	justify-content: flex-end;
	min-height: 66px;
	padding: 14px 30px;
	border-top: 1px solid #dedede;
	background: #fafafa;
}

.dstuff-region-form__footer button {
	min-width: 180px;
	min-height: 40px;
	margin: 0;
	padding: 10px 18px;
	border: 1px solid var(--dstuff-region-accent);
	border-radius: 0;
	background: var(--dstuff-region-accent);
	color: #111;
	font-size: 0.78rem;
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
	cursor: pointer;
}

.dstuff-region-form__footer button:hover,
.dstuff-region-form__footer button:focus-visible {
	border-color: #111;
	background: #111;
	color: #fff;
}

.dstuff-region-form__footer button:focus-visible {
	outline: 2px solid var(--dstuff-region-accent);
	outline-offset: 2px;
}

.dstuff-region-form__footer button:disabled {
	cursor: wait;
	opacity: 0.66;
}

body.dstuff-region-is-open {
	overflow: hidden;
}

/* Desktop cart drawer */
.dstuff-cart-overlay {
	position: fixed;
	z-index: 999998;
	inset: 0;
	background: rgba(5, 8, 11, 0.54);
	opacity: 0;
	transition: opacity 220ms ease;
}

.dstuff-cart-overlay.is-visible {
	opacity: 1;
}

.dstuff-cart-drawer {
	--dstuff-drawer-accent: #f7b223;
	position: fixed;
	z-index: 999999;
	top: 0;
	right: 0;
	display: flex;
	flex-direction: column;
	width: min(430px, calc(100vw - 28px));
	height: 100vh;
	height: 100dvh;
	border-left: 1px solid #e2e2e2;
	background: #fff;
	color: #111;
	box-shadow: -18px 0 48px rgba(0, 0, 0, 0.18);
	transform: translate3d(102%, 0, 0);
	visibility: hidden;
	transition: transform 240ms ease, visibility 0s linear 240ms;
}

.dstuff-cart-drawer.is-visible {
	transform: translate3d(0, 0, 0);
	visibility: visible;
	transition: transform 240ms ease, visibility 0s;
}

body.dstuff-cart-is-open {
	overflow: hidden;
}

.dstuff-cart-drawer__header {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: space-between;
	min-height: 66px;
	padding: 0 20px;
	border-bottom: 1px solid #e3e3e3;
	background: #f7f7f7;
}

.dstuff-cart-drawer__header h2 {
	margin: 0;
	color: #111;
	font: 500 1.23rem/1.2 var(--fontFamily, inherit);
}

.dstuff-cart-drawer__close {
	position: relative;
	width: 40px;
	height: 40px;
	margin-right: -10px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #777;
	cursor: pointer;
}

.dstuff-cart-drawer__close span::before,
.dstuff-cart-drawer__close span::after {
	position: absolute;
	top: 19px;
	left: 11px;
	width: 18px;
	height: 1px;
	background: currentColor;
	content: "";
}

.dstuff-cart-drawer__close span::before {
	transform: rotate(45deg);
}

.dstuff-cart-drawer__close span::after {
	transform: rotate(-45deg);
}

.dstuff-cart-drawer__close:hover,
.dstuff-cart-drawer__close:focus-visible {
	color: #111;
}

.dstuff-cart-drawer__close:focus-visible {
	border-radius: 3px;
	outline: 2px solid var(--dstuff-drawer-accent);
	outline-offset: -3px;
}

.dstuff-cart-drawer__content,
.dstuff-cart-drawer__content .widget_shopping_cart_content {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-height: 0;
}

.dstuff-cart-drawer > .dstuff-cart-drawer__content {
	flex: 1 1 0 !important;
	overflow: hidden;
}

.dstuff-cart-drawer__content > .widget_shopping_cart_content {
	display: grid !important;
	flex: 1 1 0 !important;
	grid-template-rows: minmax(0, 1fr) auto auto;
	overflow: hidden;
}

.dstuff-cart-drawer .woocommerce-mini-cart {
	flex: 1 1 auto;
	min-height: 0;
	margin: 0 !important;
	padding: 24px 20px;
	overflow-y: auto;
	list-style: none;
}

.dstuff-cart-drawer .woocommerce-mini-cart-item {
	position: relative;
	display: grid;
	grid-template-columns: 68px minmax(0, 1fr);
	gap: 0 14px;
	min-height: 84px;
	margin: 0 0 10px;
	padding: 0 32px 18px 0;
	border-bottom: 1px dashed #dedede;
}

.dstuff-cart-drawer .woocommerce-mini-cart-item > .ct-media-container {
	display: block;
	grid-column: 1;
	grid-row: 1;
}

.dstuff-cart-drawer .woocommerce-mini-cart-item .product-data {
	grid-column: 2;
	grid-row: 1;
	min-width: 0;
}

.dstuff-cart-drawer .woocommerce-mini-cart-item .product-title {
	display: block;
	color: #171717 !important;
	font-size: 0.92rem;
	font-weight: 750;
	line-height: 1.35;
	text-decoration: none;
}

.dstuff-cart-drawer .woocommerce-mini-cart-item img {
	grid-row: 1 / span 3;
	width: 68px;
	height: 68px;
	margin: 0;
	border-radius: 5px;
	background: #dce4eb;
	object-fit: cover;
}

.dstuff-cart-drawer .woocommerce-mini-cart-item .quantity {
	display: block;
	margin-top: 4px;
	color: #777;
	font-size: 0.84rem;
	line-height: 1.35;
}

.dstuff-cart-drawer .woocommerce-mini-cart-item .variation {
	display: flex;
	flex-wrap: wrap;
	gap: 2px 5px;
	margin: 6px 0 0;
	color: #555;
	font-size: 0.82rem;
	line-height: 1.3;
}

.dstuff-cart-drawer .woocommerce-mini-cart-item .variation dt,
.dstuff-cart-drawer .woocommerce-mini-cart-item .variation dd,
.dstuff-cart-drawer .woocommerce-mini-cart-item .variation p {
	margin: 0;
}

.dstuff-cart-drawer .woocommerce-mini-cart-item .remove {
	position: absolute;
	top: 3px;
	right: 2px;
	display: grid;
	width: 24px;
	height: 24px;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: #ee1c35 !important;
	font-size: 0 !important;
	text-decoration: none;
	place-items: center;
}

.dstuff-cart-drawer .woocommerce-mini-cart-item .remove svg {
	display: none;
}

.dstuff-cart-drawer .woocommerce-mini-cart-item .remove::before,
.dstuff-cart-drawer .woocommerce-mini-cart-item .remove::after {
	position: absolute;
	width: 14px;
	height: 1px;
	background: currentColor;
	content: "";
}

.dstuff-cart-drawer .woocommerce-mini-cart-item .remove::before {
	transform: rotate(45deg);
}

.dstuff-cart-drawer .woocommerce-mini-cart-item .remove::after {
	transform: rotate(-45deg);
}

.dstuff-cart-drawer .woocommerce-mini-cart__total {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin: 0;
	padding: 18px 20px 8px;
	border-top: 1px solid #ddd;
	background: #f7f7f7;
	color: #111;
	font-size: 0.96rem;
	text-transform: none;
}

.dstuff-cart-drawer .woocommerce-mini-cart__total strong {
	font-weight: 750;
}

.dstuff-cart-drawer .woocommerce-mini-cart__total .woocommerce-Price-amount {
	font-weight: 800;
}

.dstuff-cart-drawer .woocommerce-mini-cart__buttons {
	display: grid;
	flex: 0 0 auto;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin: 0;
	padding: 6px 20px 16px;
	background: #f7f7f7;
}

.dstuff-cart-drawer .woocommerce-mini-cart__buttons .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	margin: 0;
	padding: 8px 12px;
	border: 1px solid #111;
	border-radius: 0;
	background: #fff;
	color: #111;
	font-size: 0.78rem;
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
	text-transform: uppercase;
}

.dstuff-cart-drawer .woocommerce-mini-cart__buttons .checkout {
	border-color: var(--dstuff-drawer-accent);
	background: var(--dstuff-drawer-accent);
}

.dstuff-cart-drawer .woocommerce-mini-cart__buttons .button:hover,
.dstuff-cart-drawer .woocommerce-mini-cart__buttons .button:focus-visible {
	border-color: #111;
	background: #111;
	color: #fff;
}

.dstuff-cart-drawer .woocommerce-mini-cart__empty-message {
	display: grid;
	flex: 1 1 auto;
	margin: 0;
	padding: 42px 24px;
	color: #72777d;
	text-align: center;
	place-items: center;
}

@media (min-width: 1000px) {
	.ct-header-cart .ct-cart-content {
		display: none !important;
	}
}

@media (max-width: 999px) {
	.dstuff-cart-drawer,
	.dstuff-cart-overlay {
		display: none !important;
	}
}

@media (max-width: 600px) {
	.dstuff-region-dialog {
		max-height: calc(100dvh - 20px);
	}

	.dstuff-region-dialog__header {
		min-height: 62px;
		padding-inline: 54px;
	}

	.dstuff-region-form__body {
		grid-template-columns: 1fr;
		gap: 24px;
		padding: 24px 22px;
	}

	.dstuff-region-form fieldset {
		padding-right: 0;
	}

	.dstuff-region-form__currency {
		padding: 22px 0 0;
		border-top: 1px solid #dedede;
		border-left: 0;
	}

	.dstuff-region-form__currency p {
		max-width: none;
	}

	.dstuff-region-form__footer {
		padding: 12px 22px;
	}

	.dstuff-region-form__footer button {
		width: 100%;
	}
}

@media (max-width: 860px) {
	.dstuff-home-hero__inner {
		grid-template-columns: 1fr;
		align-items: start;
		gap: 42px;
	}

	.dstuff-home-hero__copy {
		max-width: 560px;
	}

	.dstuff-home-hero h1 {
		max-width: 560px;
		font-size: 42px;
	}

	.dstuff-home-showcase {
		width: 100%;
		max-width: 760px;
	}

	.dstuff-home-products ul.products,
	.dstuff-home-recent ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 760px) {
	.dstuff-home-benefits {
		grid-template-columns: 1fr;
		min-height: 0;
		padding: 12px 24px;
	}

	.dstuff-home-benefit {
		padding: 22px 0;
	}

	.dstuff-home-benefit + .dstuff-home-benefit {
		border-top: 1px solid var(--dstuff-border);
		border-left: 0;
	}

	.dstuff-home-hero {
		padding: 44px 18px;
	}

	.dstuff-home-hero h1 {
		font-size: 36px;
		line-height: 1.06;
	}

	.dstuff-home-showcase {
		grid-template-columns: 1fr;
		grid-template-rows: none;
		min-height: 0;
	}

	.dstuff-home-benefits {
		width: min(calc(100% - 36px), var(--dstuff-container));
		margin: 64px auto 72px;
	}

	.dstuff-home-products,
	.dstuff-home-recent {
		width: min(calc(100% - 36px), var(--dstuff-container)) !important;
		margin-bottom: 68px;
	}

	.dstuff-home-products > h2,
	.dstuff-home-recent > h2 {
		font-size: 31px;
	}

	#header [data-row*="middle"] {
		--height: 68px;
	}

	#header [data-row*="middle"] > div {
		width: calc(100% - 36px);
	}
}

@media (max-width: 480px) {
	.dstuff-home-hero__button {
		width: 100%;
	}

	.dstuff-home-products ul.products,
	.dstuff-home-recent ul.products {
		grid-template-columns: 1fr !important;
	}
}

.dstuff-footer {
	--dstuff-footer-bg: #080b0e;
	--dstuff-footer-surface: #11161b;
	--dstuff-footer-text: #f6f7f8;
	--dstuff-footer-muted: #aeb6bf;
	--dstuff-footer-border: rgba(255, 255, 255, 0.12);
	--dstuff-footer-accent: var(--dstuff-accent);
	position: relative;
	isolation: isolate;
	background: var(--dstuff-footer-bg);
	color: var(--dstuff-footer-text);
}

.dstuff-footer__accent {
	height: 1px;
	background: rgba(247, 179, 37, 0.55);
}

.dstuff-footer__inner {
	width: min(100% - 48px, var(--dstuff-container));
	margin-inline: auto;
}

.dstuff-footer__grid {
	display: grid;
	grid-template-columns: minmax(250px, 1.35fr) repeat(3, minmax(150px, 1fr));
	gap: clamp(36px, 4vw, 60px);
	padding-block: 56px 48px;
}

.dstuff-footer__brand {
	max-width: 330px;
}

.dstuff-footer__logo {
	display: inline-flex;
	align-items: center;
	min-height: 50px;
	color: var(--dstuff-footer-text);
	font-size: 1.45rem;
	font-weight: 800;
	letter-spacing: 0.02em;
	text-decoration: none;
}

.dstuff-footer__logo img {
	display: block;
	width: 200px;
	height: 50px;
	border-radius: 2px;
	object-fit: contain;
}

.dstuff-footer__description {
	max-width: 31ch;
	margin: 24px 0 20px;
	color: var(--dstuff-footer-muted);
	font-size: 14px;
	line-height: 1.7;
}

.dstuff-footer__contact {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--dstuff-footer-text);
	font-size: 14px;
	font-weight: 650;
	text-decoration: none;
}

.dstuff-footer__contact::before {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--dstuff-footer-accent);
	content: "";
	box-shadow: 0 0 0 5px rgba(247, 178, 35, 0.1);
}

.dstuff-footer__tax-id {
	margin: 12px 0 0;
	color: var(--dstuff-footer-muted);
	font-size: 13px;
	line-height: 1.4;
}

.dstuff-footer__section h2 {
	margin: 2px 0 24px;
	color: var(--dstuff-footer-text);
	font-family: inherit;
	font-size: 14px;
	font-weight: 750;
	line-height: 1.35;
	letter-spacing: 0.01em;
}

.dstuff-footer__section ul {
	display: grid;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.dstuff-footer__section li {
	margin: 0;
}

.dstuff-footer__section a {
	position: relative;
	display: inline-block;
	color: var(--dstuff-footer-muted);
	font-size: 14px;
	line-height: 1.45;
	text-decoration: none;
	transition: color 160ms ease, transform 160ms ease;
}

.dstuff-footer__section a::after {
	position: absolute;
	right: 0;
	bottom: -4px;
	left: 0;
	height: 1px;
	background: var(--dstuff-footer-accent);
	content: "";
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 180ms ease;
}

.dstuff-footer__section a:hover,
.dstuff-footer__section a:focus-visible,
.dstuff-footer__contact:hover,
.dstuff-footer__contact:focus-visible {
	color: var(--dstuff-footer-accent);
}

.dstuff-footer__section a:hover {
	transform: translateX(3px);
}

.dstuff-footer__section a:hover::after,
.dstuff-footer__section a:focus-visible::after {
	transform: scaleX(1);
	transform-origin: left;
}

.dstuff-footer a:focus-visible {
	border-radius: 2px;
	outline: 2px solid var(--dstuff-footer-accent);
	outline-offset: 5px;
}

.dstuff-footer-payments {
	display: grid;
	grid-template-columns: 1fr;
	align-items: center;
	gap: 12px;
	padding: 24px 0;
	border-top: 1px solid var(--dstuff-footer-border);
}

.dstuff-footer-payments__heading {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	color: var(--dstuff-footer-muted);
	font-size: 14px;
	line-height: 1.35;
}

.dstuff-footer-payments__logo {
	justify-self: start;
	width: 130px;
	padding: 5px;
	border-radius: 3px;
	background: #fff;
	box-shadow: none;
}

.dstuff-footer-payments__logo img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
}

.dstuff-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 0;
	padding-block: 24px 32px;
	border-top: 1px solid var(--dstuff-footer-border);
	color: #7f8993;
	font-size: 0.82rem;
	line-height: 1.5;
}

.dstuff-footer__bottom p {
	margin: 0;
}

@media (max-width: 980px) {
	.dstuff-footer__grid {
		grid-template-columns: minmax(240px, 1.25fr) repeat(2, minmax(160px, 1fr));
	}

	.dstuff-footer-payments {
		grid-template-columns: 1fr;
	}

	.dstuff-footer-payments__logo {
		justify-self: start;
	}

	.dstuff-footer__section:last-child {
		grid-column: 2;
	}
}

@media (max-width: 760px) {
	.dstuff-newsletter {
		margin: 0 calc(50% - 50vw) 68px;
	}

	.dstuff-newsletter__inner {
		grid-template-columns: 1fr;
		gap: 36px;
		width: min(calc(100% - 36px), 560px);
		padding-block: 58px;
	}

	.dstuff-newsletter__copy {
		max-width: none;
	}

	.dstuff-newsletter h2 {
		font-size: 31px;
	}

	.dstuff-newsletter__form {
		grid-template-columns: 1fr;
	}

	.dstuff-newsletter__consent {
		grid-column: auto;
	}

	.dstuff-newsletter__form button {
		width: 100%;
	}

	.dstuff-home-categories__grid {
		grid-template-columns: 1fr;
		gap: 22px;
	}

	.dstuff-home-category {
		min-height: 240px;
	}

	.dstuff-footer__inner {
		width: min(100% - 36px, var(--dstuff-container));
	}

	.dstuff-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 42px 28px;
	}

	.dstuff-footer__brand {
		grid-column: 1 / -1;
		max-width: 460px;
	}

	.dstuff-footer__section:last-child {
		grid-column: auto;
	}
}

@media (max-width: 480px) {
	.dstuff-footer__grid {
		grid-template-columns: 1fr;
		padding-block: 48px 42px;
	}

	.dstuff-footer__brand,
	.dstuff-footer__section:last-child {
		grid-column: auto;
	}

	.dstuff-footer__bottom {
		align-items: flex-start;
		flex-direction: column;
		justify-content: center;
		gap: 6px;
		padding-block: 24px 32px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dstuff-region-trigger,
	.dstuff-region-dialog,
	.dstuff-region-overlay,
	.dstuff-cart-drawer,
	.dstuff-cart-overlay,
	.dstuff-home-showcase-card__media,
	.dstuff-home-products ul.products li.product img,
	.dstuff-home-recent ul.products li.product img,
	.dstuff-home-category img,
	.dstuff-variation-option,
	.dstuff-footer__section a,
	.dstuff-footer__section a::after {
		transition: none;
	}
}

/* 3DStuff catalogue design */
:root {
	--dstuff-accent: #f5a000;
	--dstuff-accent-hover: #df9000;
	--dstuff-text: #161616;
	--dstuff-muted: #6b6b6b;
	--dstuff-surface: #f7f5f0;
	--dstuff-surface-strong: #ffffff;
	--dstuff-border: #e5e5e5;
	--dstuff-radius-sm: 3px;
	--dstuff-radius-md: 5px;
	--dstuff-radius-lg: 5px;
	--dstuff-font-ui: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body,
.site-main {
	background: #fff;
	color: var(--dstuff-text);
	font-family: var(--dstuff-font-ui);
}

body :is(button, input, select, textarea) {
	font-family: var(--dstuff-font-ui);
}

body.home :is(h1, h2, h3, h4, h5, h6) {
	font-family: var(--dstuff-font-ui);
}

#header [data-row*="middle"] {
	border-bottom: 1px solid var(--dstuff-border);
	background: #fff;
}

#header .menu > li > a {
	color: var(--dstuff-text);
	font-family: var(--dstuff-font-ui);
	font-size: 14px;
	font-weight: 500;
}

#header .menu > li:is(.current-menu-item, .current-menu-ancestor) > a,
#header .menu > li > a:hover {
	color: var(--dstuff-accent-hover);
}

.dstuff-home-hero {
	padding: 64px 24px 0;
	background: #fff;
}

.dstuff-home-hero__inner {
	display: block;
	min-height: 0;
}

.dstuff-home-hero__copy {
	max-width: 760px;
	margin-bottom: 40px;
}

.dstuff-home-hero h1,
.dstuff-home-products > h2,
.dstuff-home-recent > h2,
.dstuff-home-categories > h2,
.dstuff-newsletter h2,
.woocommerce-products-header__title,
body.woocommerce-page .hero-section .page-title,
body.single-product .product_title {
	color: var(--dstuff-text);
	font-family: var(--dstuff-font-ui);
	font-weight: 700;
	letter-spacing: -0.025em;
}

.dstuff-home-hero h1 {
	max-width: 720px;
	font-size: clamp(3rem, 4vw, 3.25rem);
	line-height: 1.08;
}

.dstuff-home-hero__lead {
	max-width: 520px;
	margin-top: 20px;
	color: var(--dstuff-muted);
	font-size: 17px;
	line-height: 1.6;
}

.dstuff-home-hero__button {
	min-height: 44px;
	margin-top: 26px;
	padding: 0 22px;
	border: 1px solid var(--dstuff-accent);
	border-radius: 3px;
	background: var(--dstuff-accent);
	box-shadow: none;
	color: var(--dstuff-text);
	font-size: 14px;
	font-weight: 700;
}

.dstuff-home-hero__button:hover,
.dstuff-home-hero__button:focus-visible {
	border-color: var(--dstuff-accent-hover);
	background: var(--dstuff-accent-hover);
	color: var(--dstuff-text);
}

.dstuff-home-showcase {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-template-rows: none;
	gap: 20px;
	min-height: 0;
}

.dstuff-home-showcase-card {
	display: block;
	min-height: 0;
	padding: 0;
	overflow: visible;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--dstuff-text);
	text-decoration: none;
}

.dstuff-home-showcase-card__media {
	position: relative;
	inset: auto;
	z-index: auto;
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 5px;
	background-color: #eeeae3;
	background-position: center;
	background-size: cover;
	transition: opacity 160ms ease-out;
}

.dstuff-home-showcase-card:hover .dstuff-home-showcase-card__media {
	transform: none;
	opacity: 0.94;
}

.dstuff-home-showcase-card__label {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	max-width: none;
	padding-top: 16px;
}

.dstuff-home-showcase-card__label strong {
	display: block;
	color: var(--dstuff-text);
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.25;
	text-shadow: none;
	text-transform: none;
	transition: color 140ms ease-out;
}

.dstuff-home-showcase-card__arrow {
	display: inline-block;
	color: var(--dstuff-muted);
	font-size: 15px;
	line-height: 1;
	transition: color 140ms ease-out, transform 140ms ease-out;
}

.dstuff-home-showcase-card:is(:hover, :focus-visible) .dstuff-home-showcase-card__label strong,
.dstuff-home-showcase-card:is(:hover, :focus-visible) .dstuff-home-showcase-card__arrow {
	color: var(--dstuff-accent-hover);
}

.dstuff-home-showcase-card:is(:hover, :focus-visible) .dstuff-home-showcase-card__arrow {
	transform: translateX(3px);
}

.dstuff-home-showcase-card:focus-visible {
	outline: 2px solid var(--dstuff-accent);
	outline-offset: 5px;
}

.dstuff-home-benefits {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	min-height: 0;
	margin: 64px auto;
	padding: 23px 0;
	border: 1px solid var(--dstuff-border);
	border-width: 1px 0;
	border-radius: 0;
	background: #fff;
}

.dstuff-home-benefit {
	display: grid;
	grid-template-columns: 9px minmax(0, 1fr);
	align-content: center;
	gap: 14px;
	min-height: 0;
	padding: 2px 28px;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.dstuff-home-benefit + .dstuff-home-benefit {
	border: 0;
	border-left: 1px solid var(--dstuff-border);
}

.dstuff-home-benefit__mark {
	display: block;
	width: 7px;
	height: 7px;
	align-self: start;
	margin-top: 7px;
	border: 0;
	border-radius: 1px;
	background: var(--dstuff-accent);
}

.dstuff-home-benefit__mark::before {
	display: none;
}

.dstuff-home-benefit h2 {
	margin: 0 0 4px;
	font-family: var(--dstuff-font-ui);
	font-size: 15px;
	font-weight: 600;
}

.dstuff-home-benefit p {
	font-size: 13px;
	line-height: 1.6;
}

.dstuff-home-products,
.dstuff-home-recent {
	margin-bottom: 64px;
}

.dstuff-home-products > h2,
.dstuff-home-recent > h2 {
	margin-bottom: 8px;
	font-size: clamp(1.875rem, 2.5vw, 2.125rem);
	line-height: 1.15;
	text-align: left !important;
}

.dstuff-home-products > p {
	margin: 0 0 30px;
	color: var(--dstuff-muted);
	font-size: 15px;
	text-align: left !important;
}

.dstuff-home-recent > h2 {
	margin-bottom: 24px;
	font-size: clamp(1.5rem, 2vw, 1.75rem);
}

.dstuff-home-recent .woocommerce {
	margin-bottom: 0;
}

.home .entry-content > .dstuff-home-recent {
	margin-bottom: 0;
	padding-bottom: 56px;
}

.dstuff-home-products ul.products,
.dstuff-home-recent ul.products {
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 40px 22px !important;
}

/* Product cards deliberately have no outer card surface. */
.woocommerce ul.products li.product {
	--horizontal-alignment: flex-start;
	--text-horizontal-alignment: left;
	display: flex;
	min-width: 0;
	flex-direction: column;
	align-items: stretch;
	padding: 0 !important;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	text-align: left;
	transform: none;
}

.woocommerce ul.products li.product:hover {
	border: 0;
	box-shadow: none;
	transform: none;
}

.woocommerce ul.products li.product figure {
	margin: 0 !important;
	overflow: hidden;
	border-radius: 5px;
	background: #f1f1ef;
}

.woocommerce ul.products li.product figure .ct-media-container {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.woocommerce ul.products li.product figure img,
.dstuff-home-products ul.products li.product img,
.dstuff-home-recent ul.products li.product img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	min-height: 100%;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 0;
	background: #f1f1ef;
	object-fit: cover;
	transform: scale(1);
	transition: transform 160ms ease-out, opacity 160ms ease-out;
}

@media (hover: hover) and (pointer: fine) {
	.woocommerce ul.products li.product:hover figure img {
		transform: scale(1.025);
		opacity: 0.97;
	}
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	min-height: 41px;
	margin: 15px 0 5px;
	padding: 0;
	color: var(--dstuff-text);
	font-family: var(--dstuff-font-ui);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: -0.01em;
	line-height: 1.45;
	transition: none;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title a {
	color: var(--dstuff-text);
	transition: color 140ms ease-out;
}

.woocommerce ul.products li.product:is(:hover, :focus-within) .woocommerce-loop-product__title a {
	color: var(--dstuff-accent-hover);
}

.woocommerce ul.products li.product .price {
	margin: auto 0 0;
	color: var(--dstuff-text);
	font-family: var(--dstuff-font-ui);
	font-size: 15px;
	font-weight: 700;
}

.woocommerce ul.products li.product .ct-woo-card-actions {
	margin: 12px 0 0;
	align-self: flex-start;
	justify-content: flex-start;
}

.woocommerce ul.products li.product .ct-woo-card-actions .button,
.woocommerce ul.products li.product > .button {
	display: inline-flex;
	width: auto;
	min-height: 0;
	align-items: center;
	justify-content: flex-start;
	margin: 12px 0 0;
	padding: 0 0 3px;
	border: 0;
	border-bottom: 1px solid var(--dstuff-text);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--dstuff-text);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.35;
	transition: color 140ms ease-out, border-color 140ms ease-out;
}

.woocommerce ul.products li.product .ct-woo-card-actions .button {
	margin-top: 0;
}

.woocommerce ul.products li.product > .button {
	align-self: flex-start;
}

.woocommerce ul.products li.product .ct-woo-card-actions .button:not(.loading)::after,
.woocommerce ul.products li.product > .button:not(.loading)::after {
	margin-left: 5px;
	content: "→";
}

.woocommerce ul.products li.product .ct-woo-card-actions .button:hover,
.woocommerce ul.products li.product .ct-woo-card-actions .button:focus-visible,
.woocommerce ul.products li.product > .button:hover,
.woocommerce ul.products li.product > .button:focus-visible {
	border-color: var(--dstuff-accent-hover);
	background: transparent;
	color: var(--dstuff-accent-hover);
}

.woocommerce span.onsale,
.woocommerce .out-of-stock-badge {
	border-radius: 3px;
}

.dstuff-home-category {
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.dstuff-home-category__name {
	font-family: var(--dstuff-font-ui);
}

.dstuff-newsletter {
	margin-bottom: 64px;
	padding: 56px 24px;
	background: var(--dstuff-surface);
}

.dstuff-newsletter__inner {
	grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
	gap: clamp(32px, 4vw, 48px);
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.dstuff-newsletter__copy::before {
	display: none;
	content: none;
}

.dstuff-newsletter h2 {
	font-size: clamp(1.875rem, 2.5vw, 2.125rem);
	line-height: 1.15;
}

.dstuff-newsletter__copy p {
	color: var(--dstuff-muted);
}

.dstuff-newsletter__form {
	grid-template-columns: minmax(0, 1fr);
	gap: 14px;
}

.dstuff-newsletter__form > :is(input[type="email"], button) {
	width: 100%;
	height: 48px;
	margin: 0;
}

.dstuff-newsletter__consent {
	margin: 0;
	font-size: 13px;
	line-height: 1.55;
}

.dstuff-newsletter__form input[type="email"] {
	min-height: 48px;
	padding-inline: 14px;
	border: 1px solid #cfcfcf;
	border-radius: 3px;
	background: #fff;
}

.dstuff-newsletter__form input[type="email"]:focus {
	border-color: var(--dstuff-accent-hover);
	box-shadow: 0 0 0 2px rgba(245, 160, 0, 0.14);
}

.dstuff-newsletter__form button {
	min-height: 48px;
	border: 1px solid #151515;
	border-radius: 3px;
	background: #151515;
	box-shadow: none;
	color: #fff;
}

.dstuff-newsletter__form button:hover,
.dstuff-newsletter__form button:focus-visible {
	border-color: var(--dstuff-accent-hover);
	background: var(--dstuff-accent-hover);
	color: #161616;
}

.dstuff-recently-viewed__empty {
	border: 1px solid var(--dstuff-border);
	border-radius: 0;
	background: #fff;
}

.dstuff-market-controls,
.dstuff-footer {
	background: #151515;
}

.dstuff-footer {
	--dstuff-footer-bg: #151515;
	--dstuff-footer-surface: #151515;
	--dstuff-footer-muted: #aaa;
	--dstuff-footer-border: rgba(255, 255, 255, 0.14);
	background: var(--dstuff-footer-bg);
}

.dstuff-footer__accent {
	height: 1px;
	background: var(--dstuff-accent);
}

.dstuff-footer-payments__logo {
	max-width: 100%;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 3px;
}

.trp-language-switcher.trp-floating-switcher {
	--bottom: 16px !important;
	--right: 18px !important;
	--border-radius: 3px !important;
	--font-size: 12px !important;
	font-family: var(--dstuff-font-ui);
	box-shadow: 0 3px 12px rgba(0, 0, 0, 0.14);
}

@media (max-width: 999px) {
	.dstuff-home-products ul.products,
	.dstuff-home-recent ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 760px) {
	.dstuff-home-hero {
		padding: 52px 18px 0;
	}

	.dstuff-home-hero h1 {
		font-size: 36px;
	}

	.dstuff-home-hero__copy {
		margin-bottom: 38px;
	}

	.dstuff-home-showcase {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.dstuff-home-benefits {
		grid-template-columns: 1fr;
		gap: 18px;
		margin: 48px auto 56px;
		padding: 24px 0;
	}

	.dstuff-home-benefit {
		padding: 0;
	}

	.dstuff-home-benefit + .dstuff-home-benefit {
		border-left: 0;
	}

	.dstuff-home-products,
	.dstuff-home-recent {
		margin-bottom: 56px;
	}

	.dstuff-home-products ul.products,
	.dstuff-home-recent ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 32px 14px !important;
	}

	.dstuff-newsletter {
		margin-bottom: 56px;
		padding: 44px 18px;
	}

	.dstuff-newsletter__inner {
		grid-template-columns: minmax(0, 1fr);
		width: min(100%, 560px);
		padding: 0;
	}
}

@media (max-width: 480px) {
	.dstuff-home-hero h1 {
		font-size: clamp(1.875rem, 8.2vw, 2.25rem);
	}

	.dstuff-home-hero__lead {
		font-size: 15px;
	}

	.dstuff-home-products,
	.dstuff-home-recent,
	.dstuff-home-benefits {
		width: min(calc(100% - 36px), var(--dstuff-container)) !important;
	}

	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		min-height: 0;
		font-size: 13px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.woocommerce ul.products li.product figure img,
	.woocommerce ul.products li.product .woocommerce-loop-product__title a,
	.woocommerce ul.products li.product .ct-woo-card-actions .button,
	.woocommerce ul.products li.product > .button {
		transition: none;
	}

	.woocommerce ul.products li.product:hover figure img {
		transform: none;
	}
}
