@font-face {
	font-family: "DBZ Manrope";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("fonts/manrope-regular.ttf") format("truetype");
}
@font-face {
	font-family: "DBZ Manrope";
	font-style: normal;
	font-weight: 600 800;
	font-display: swap;
	src: url("fonts/manrope-semibold.ttf") format("truetype");
}
@font-face {
	font-family: "DBZ Playfair";
	font-style: normal;
	font-weight: 400 500;
	font-display: swap;
	src: url("fonts/playfair-regular.ttf") format("truetype");
}
@font-face {
	font-family: "DBZ Playfair";
	font-style: normal;
	font-weight: 600 800;
	font-display: swap;
	src: url("fonts/playfair-semibold.ttf") format("truetype");
}

:root {
	--dbz-ink: #393837;
	--dbz-ink-soft: #686562;
	--dbz-cream: #fbf8f5;
	--dbz-cream-2: #f3ede7;
	--dbz-paper: #ffffff;
	--dbz-sage: #a5aaa1;
	--dbz-sage-dark: #666d62;
	--dbz-clay: #aa9670;
	--dbz-champagne: #ab996f;
	--dbz-champagne-soft: #d9ceb9;
	--dbz-blush: #f7f1ee;
	--dbz-line: rgba(79, 73, 66, .14);
	--dbz-muted: #88837f;
	--dbz-shadow: 0 24px 70px rgba(78, 67, 57, .10);
	--dbz-radius: 30px;
	--dbz-content: 1280px;
}

body {
	background: var(--dbz-paper);
	color: var(--dbz-ink);
	font-family: "DBZ Manrope", Arial, sans-serif;
	font-size: 15px;
	line-height: 1.72;
}

.dbz-shell { width: min(calc(100% - 48px), var(--dbz-content)); }
.dbz-main { overflow: hidden; }

/* Subtle wholesale bar and spacious header */
.dbz-topbar {
	background: #f1ece6;
	color: #756f68;
	font-size: 9px;
	font-weight: 600;
	letter-spacing: .16em;
}
.dbz-topbar-inner { min-height: 28px; align-items: center; padding: 0; }
.dbz-topbar span + span::before { color: var(--dbz-champagne); }
.dbz-header {
	position: relative;
	top: auto;
	background: rgba(255, 255, 255, .98);
	border-color: rgba(79,73,66,.10);
	backdrop-filter: none;
}
.admin-bar .dbz-header { top: auto; }
.dbz-header-inner {
	grid-template-columns: 275px 1fr auto;
	min-height: 94px;
	gap: 28px;
}
.dbz-brand {
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	gap: 13px;
}
.dbz-brand-mark {
	position: relative;
	display: grid;
	flex: 0 0 48px;
	height: 48px;
	place-items: center;
	border: 1px solid var(--dbz-champagne);
	border-radius: 50%;
	color: var(--dbz-champagne);
	font-family: "DBZ Playfair", Georgia, serif;
	font-size: 23px;
	line-height: 1;
}
.dbz-brand-mark::before, .dbz-brand-mark::after {
	content: "";
	position: absolute;
	left: 50%;
	width: 16px;
	height: 25px;
	border: 1px solid currentColor;
	border-radius: 100% 0 100% 0;
	opacity: .55;
}
.dbz-brand-mark::before { top: 2px; transform: translateX(-95%) rotate(-18deg); }
.dbz-brand-mark::after { bottom: 2px; transform: translateX(-5%) rotate(162deg); }
.dbz-brand-mark span { position: relative; z-index: 1; }
.dbz-brand-copy { display: flex; flex-direction: column; }
.dbz-brand-name {
	font-family: "DBZ Playfair", Georgia, serif;
	font-size: 25px;
	font-weight: 600;
	letter-spacing: .015em;
}
.dbz-brand-tagline {
	margin-top: 5px;
	color: #9b927f;
	font-size: 7.5px;
	letter-spacing: .22em;
}
.dbz-nav-list { gap: 35px; }
.dbz-nav a {
	color: #595653;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.dbz-nav a::after { bottom: -12px; background: var(--dbz-champagne); }
.dbz-actions { gap: 14px; }
.dbz-product-search {
	display: flex;
	align-items: center;
	width: 162px;
	height: 42px;
	gap: 7px;
	padding: 0 12px;
	border-bottom: 1px solid var(--dbz-line);
}
.dbz-product-search svg { flex: 0 0 17px; width: 17px; height: 17px; color: var(--dbz-champagne); }
.dbz-product-search input[type="search"] {
	width: 100%;
	min-width: 0;
	padding: 0;
	border: 0;
	outline: 0;
	background: transparent;
	color: var(--dbz-ink);
	font-size: 10px;
}
.dbz-product-search input::placeholder { color: #a29d98; }
.dbz-account-button {
	min-height: 42px;
	border-color: var(--dbz-champagne);
	border-radius: 7px;
	color: #75694e;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .04em;
}
.dbz-account-button:hover { background: var(--dbz-champagne); color: #fff; }
.dbz-cart-button { background: var(--dbz-blush); color: var(--dbz-champagne); }
.dbz-cart-count { background: var(--dbz-ink); }

/* Premium product-led hero */
.dbz-hero {
	background: linear-gradient(110deg, #fff 0%, #fdf9f6 62%, #f8f2ee 100%);
}
.dbz-hero::before, .dbz-hero::after { display: none; }
.dbz-hero-grid {
	grid-template-columns: minmax(0, .96fr) minmax(460px, 1.04fr);
	gap: 64px;
	min-height: 590px;
	padding: 64px 0 72px;
}
.dbz-hero-content { position: relative; z-index: 2; }
.dbz-eyebrow {
	margin-bottom: 18px;
	color: #8e7f61;
	font-family: "DBZ Manrope", Arial, sans-serif;
	font-size: 9px;
	font-weight: 600;
	letter-spacing: .25em;
}
.dbz-hero h1, .dbz-section-heading h2, .dbz-page-header h1,
.woocommerce-products-header__title.page-title, .product_title.entry-title {
	font-family: "DBZ Playfair", Georgia, serif;
	font-weight: 400;
	letter-spacing: -.025em;
}
.dbz-hero h1 {
	max-width: 620px;
	color: #4a4744;
	font-size: clamp(52px, 4.55vw, 68px);
	line-height: 1.12;
}
.dbz-hero-copy {
	max-width: 560px;
	margin: 24px 0 30px;
	color: #77716c;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.9;
}
.dbz-hero-buttons { display: flex; align-items: center; gap: 28px; }
.dbz-button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.wp-element-button, .wc-block-components-button {
	min-height: 52px;
	padding: 13px 25px !important;
	border: 1px solid var(--dbz-champagne) !important;
	border-radius: 7px !important;
	background: transparent !important;
	color: #806f4d !important;
	font-family: "DBZ Manrope", Arial, sans-serif !important;
	font-size: 10px !important;
	font-weight: 600 !important;
	letter-spacing: .07em;
	text-transform: uppercase;
}
.dbz-button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce input.button:hover, .wc-block-components-button:hover {
	border-color: var(--dbz-ink) !important;
	background: var(--dbz-ink) !important;
	color: #fff !important;
	transform: translateY(-2px);
}
.dbz-hero-login { color: #77716c; font-size: 11px; }
.dbz-text-link { color: #817453; font-size: 11px; letter-spacing: .04em; text-transform: uppercase; }

.dbz-product-stage {
	position: relative;
	min-height: 455px;
}
.dbz-stage-frame {
	position: absolute;
	border: 1px solid rgba(171,153,111,.72);
	border-radius: 8px;
}
.dbz-stage-frame--back { inset: 18px 55px 48px 8px; }
.dbz-stage-frame--front { inset: 66px 8px 7px 70px; }
.dbz-stage-glow {
	position: absolute;
	inset: 44px 35px 31px 45px;
	border-radius: 6px;
	background: radial-gradient(circle at 48% 42%, #fff 0%, #fbf8f4 45%, #eee5de 100%);
	box-shadow: 0 32px 60px rgba(69,57,48,.14);
}
.dbz-stage-scene {
	position: absolute;
	z-index: 2;
	inset: 44px 35px 31px 45px;
	overflow: hidden;
	border-radius: 6px;
	box-shadow: 0 32px 60px rgba(69,57,48,.14);
}
.dbz-stage-scene img { display: block; width: 100%; height: 100%; object-fit: cover; }
.dbz-stage-products { position: absolute; z-index: 2; inset: 65px 45px 45px 55px; }
.dbz-stage-product { position: absolute; display: block; }
.dbz-stage-product img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 18px 15px rgba(54,47,42,.18)); }
.dbz-stage-product--1 { left: 29%; bottom: 14%; width: 43%; height: 72%; z-index: 3; }
.dbz-stage-product--2 { left: 3%; bottom: 10%; width: 35%; height: 56%; z-index: 2; }
.dbz-stage-product--3 { right: 1%; bottom: 9%; width: 33%; height: 53%; z-index: 2; }
.dbz-stage-silhouettes { position: absolute; z-index: 2; inset: 72px 75px 66px; display: flex; align-items: end; justify-content: center; gap: 15px; }
.dbz-stage-silhouettes i {
	display: block;
	position: relative;
	width: 92px;
	height: 220px;
	border: 1px solid #d8d1c7;
	border-radius: 25px 25px 12px 12px;
	background: linear-gradient(90deg, #ebe7e1, #fff 42%, #e5e0d8);
	box-shadow: 0 25px 30px rgba(70,61,53,.12);
}
.dbz-stage-silhouettes i::before { content: ""; position: absolute; left: 24px; right: 24px; top: -35px; height: 38px; border-radius: 5px 5px 0 0; background: #b3a789; }
.dbz-stage-silhouettes i::after { content: "DBZ"; position: absolute; left: 12px; right: 12px; top: 85px; padding: 15px 0; border-top: 1px solid #b8aa89; border-bottom: 1px solid #b8aa89; color: #8f8267; font-family: "DBZ Playfair", serif; font-size: 12px; font-style: normal; text-align: center; }
.dbz-stage-silhouettes i:nth-child(1) { width: 75px; height: 165px; }
.dbz-stage-silhouettes i:nth-child(2) { height: 255px; }
.dbz-stage-silhouettes i:nth-child(3) { width: 112px; height: 130px; border-radius: 11px; }
.dbz-stage-silhouettes i:nth-child(3)::before { top: -16px; left: 12px; right: 12px; height: 18px; }
.dbz-stage-silhouettes i:nth-child(3)::after { top: 48px; }
.dbz-stage-label { position: absolute; z-index: 3; right: 25px; bottom: -12px; margin: 0; padding: 15px 20px; background: #fff; box-shadow: 0 12px 30px rgba(79,68,59,.09); }
.dbz-stage-label span, .dbz-stage-label strong { display: block; }
.dbz-stage-label span { color: #a18f69; font-size: 7px; letter-spacing: .2em; text-transform: uppercase; }
.dbz-stage-label strong { color: #69645f; font-family: "DBZ Playfair", serif; font-size: 13px; font-weight: 400; }

/* Trust strip */
.dbz-trustbar { border-top: 1px solid var(--dbz-line); border-bottom: 1px solid var(--dbz-line); }
.dbz-trust-item { padding-block: 22px; }
.dbz-trust-icon { background: #f6f1eb; color: #8d805f; }
.dbz-trust-item strong { color: #514e4b; font-size: 10px; letter-spacing: .04em; text-transform: uppercase; }
.dbz-trust-item span { font-size: 10px; }

/* Product worlds */
.dbz-section { padding: 88px 0; }
.dbz-section-heading { align-items: end; margin-bottom: 40px; }
.dbz-section-heading h2 { color: #504c48; font-size: clamp(42px, 4vw, 57px); }
.dbz-section-heading p { color: #85807b; font-size: 13px; }
.dbz-lines-section { background: #fff; }
.dbz-category-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
.dbz-category-card, .dbz-category-card:nth-child(2), .dbz-category-card:nth-child(3), .dbz-category-card:nth-child(4) {
	position: relative;
	display: block;
	min-height: 245px;
	overflow: hidden;
	border: 1px solid rgba(171,153,111,.25);
	border-radius: 28px;
	background: linear-gradient(125deg, #fff 0%, #fcf9f6 68%, #f3eae4 100%);
	box-shadow: 0 15px 40px rgba(71,61,52,.06);
	color: var(--dbz-ink);
}
.dbz-category-card:nth-child(2) { background: linear-gradient(125deg, #fff 0%, #faf8f4 68%, #eee9df 100%); }
.dbz-category-card:nth-child(3) { background: linear-gradient(125deg, #fff 0%, #f9f8f6 68%, #e9ebe7 100%); }
.dbz-category-card:nth-child(4) { background: linear-gradient(125deg, #fff 0%, #faf8f7 68%, #eee6e5 100%); }
.dbz-category-card::before {
	display: block;
	width: 210px;
	height: 330px;
	right: -80px;
	top: -85px;
	border-color: rgba(171,153,111,.32);
}
.dbz-category-card::after { display: block; width: 155px; height: 250px; right: -32px; top: 75px; border-color: rgba(171,153,111,.2); }
.dbz-category-number { position: absolute; right: 30px; top: 18px; color: rgba(171,153,111,.14); font-family: "DBZ Playfair", serif; font-size: 78px; line-height: 1; }
.dbz-category-card-content { position: absolute; inset: auto auto 0 0; width: 76%; padding: 32px; background: none; }
.dbz-category-kicker { display: block; margin-bottom: 13px; color: #a28e66; font-size: 8px; letter-spacing: .18em; text-transform: uppercase; }
.dbz-category-card h3 { margin-bottom: 14px; color: #55504c; font-family: "DBZ Playfair", serif; font-size: 30px; }
.dbz-category-link { color: #817a73; font-size: 9px; letter-spacing: .06em; text-transform: uppercase; }
.dbz-category-link::after { content: "  →"; color: #a28e66; }
.dbz-category-card:hover { color: var(--dbz-ink); transform: translateY(-5px); box-shadow: var(--dbz-shadow); }

/* Product cards, shop and product pages */
.dbz-products-section, .dbz-page { background: var(--dbz-blush); }
.dbz-section-heading--compact { margin-bottom: 34px; }
.dbz-home-products .woocommerce { width: 100%; }
.woocommerce ul.products { gap: 26px 20px; }
.woocommerce ul.products li.product {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 14px 14px 22px;
	border-radius: 28px;
	background: #fff;
	box-shadow: 0 12px 38px rgba(75,64,54,.06);
	transition: transform .24s ease, box-shadow .24s ease;
}
.woocommerce ul.products li.product .woocommerce-LoopProduct-link { display: flex; flex: 1; flex-direction: column; text-decoration: none; }
.woocommerce ul.products li.product:hover { transform: translateY(-5px); box-shadow: 0 22px 50px rgba(75,64,54,.11); }
.woocommerce ul.products li.product a img {
	margin-bottom: 18px;
	aspect-ratio: 1 / 1.05;
	border-radius: 21px;
	background: linear-gradient(145deg, #fff, #f8f5f1);
	object-fit: contain;
}
.woocommerce ul.products li.dbz-product-with-placeholder a img {
	content: url("product-placeholder.svg");
	padding: 0;
	background: #f8f3ef;
}
.woocommerce ul.products li.dbz-product-with-placeholder::after {
	display: none;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	min-height: 0;
	padding: 0 8px;
	color: #57534f;
	font-family: "DBZ Playfair", Georgia, serif;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.35;
}
.woocommerce ul.products li.product .price { padding: 0 8px; color: #887754; font-size: 12px; }
.woocommerce ul.products li.product .button { margin: auto 8px 0 !important; min-height: 42px; width: calc(100% - 16px); }
.dbz-b2b-login-price { margin: 10px 8px 13px; color: #8c7c5c; font-size: 10px; letter-spacing: .03em; }
.woocommerce-products-header__title.page-title { color: #504c48; }
.dbz-catalogue-intro {
	max-width: 670px;
	margin: 14px 0 0;
	color: #7d7771;
	font-size: 13px;
}
.dbz-catalogue-nav {
	clear: both;
	width: 100%;
	margin: 0 0 32px;
	padding: 20px 22px;
	border: 1px solid rgba(171,153,111,.18);
	border-radius: 16px;
	background: rgba(255,255,255,.72);
}
.dbz-catalogue-nav-label {
	display: block;
	margin-bottom: 12px;
	color: #928872;
	font-size: 8px;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
}
.dbz-product-line-filter {
	margin-top: 17px;
	padding-top: 17px;
	border-top: 1px solid rgba(171,153,111,.17);
}
.dbz-catalogue-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.dbz-catalogue-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 34px;
	padding: 7px 13px;
	border: 1px solid rgba(171,153,111,.28);
	border-radius: 99px;
	background: #fff;
	color: #69635d;
	font-size: 9px;
	font-weight: 600;
	letter-spacing: .025em;
	text-decoration: none;
	transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.dbz-catalogue-pill small { color: #a89b81; font-size: 8px; }
.dbz-catalogue-pill:hover, .dbz-catalogue-pill.is-active {
	border-color: #4f4b47;
	background: #4f4b47;
	color: #fff;
}
.dbz-catalogue-pill:hover small, .dbz-catalogue-pill.is-active small { color: rgba(255,255,255,.7); }
.woocommerce .woocommerce-ordering select { border-color: rgba(171,153,111,.35); border-radius: 7px; }
.single-product div.product .woocommerce-product-gallery { border: 1px solid rgba(171,153,111,.16); border-radius: 28px; background: linear-gradient(145deg, #fff, #faf7f3); }
.product_title.entry-title { color: #504c48; }

/* Product detail page */
.single-product .dbz-page { padding-top: 56px; }
.single-product div.product {
	grid-template-columns: minmax(0, 1.03fr) minmax(390px, .97fr);
	gap: 66px 78px;
}
.single-product div.product .woocommerce-product-gallery {
	padding: 22px;
	border: 1px solid rgba(171,153,111,.17);
	border-radius: 30px;
	background: #fff;
	box-shadow: 0 18px 55px rgba(75,64,54,.06);
}
.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__image {
	overflow: hidden;
	border-radius: 22px;
	background: linear-gradient(145deg, #fff, #f6f0eb);
}
.single-product div.product .woocommerce-product-gallery img { width: 100%; mix-blend-mode: multiply; }
.single-product div.product .summary { align-self: start; padding: 28px 0 0; }
.dbz-product-eyebrow { margin-bottom: 12px; }
.product_title.entry-title { max-width: 610px; margin-bottom: 16px; font-size: clamp(44px, 4.2vw, 61px); line-height: 1.02; }
.single-product div.product p.price { margin: 0 0 16px; color: #766747; font-size: 19px; font-weight: 600; }
.single-product form.cart { display: flex; align-items: stretch; gap: 10px; margin: 26px 0 24px !important; }
.single-product .quantity .qty { width: 72px; min-height: 52px; border-color: rgba(171,153,111,.38); border-radius: 8px; background: #fff; }
.single-product form.cart .single_add_to_cart_button { flex: 1; max-width: 285px; }
.single-product .stock { color: #817453 !important; font-size: 11px; font-weight: 600; }
.single-product .product_meta { margin-top: 26px; padding-top: 18px; border-color: var(--dbz-line); color: var(--dbz-muted); font-size: 10px; line-height: 1.9; }
.single-product .product_meta > span { display: block; }
.single-product .product_meta a { color: #776d5f; }
.dbz-product-assurances {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	margin-top: 28px;
	overflow: hidden;
	border: 1px solid rgba(171,153,111,.18);
	border-radius: 16px;
	background: rgba(171,153,111,.18);
}
.dbz-product-assurances > div {
	display: flex;
	align-items: flex-start;
	gap: 11px;
	min-height: 92px;
	padding: 17px;
	background: rgba(255,255,255,.84);
}
.dbz-product-assurances > div > span { color: #ab996f; font-family: "DBZ Playfair", serif; font-size: 12px; }
.dbz-product-assurances p { margin: 0; line-height: 1.45; }
.dbz-product-assurances strong { display: block; color: #57524d; font-size: 10px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.dbz-product-assurances small { display: block; margin-top: 5px; color: #8b857f; font-size: 9px; }
.dbz-product-advice {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: 1.1fr .9fr;
	align-items: end;
	gap: 70px;
	margin-top: 2px;
	padding: 48px 52px;
	border: 1px solid rgba(171,153,111,.19);
	border-radius: 25px;
	background: linear-gradient(120deg, #fff 0%, #faf6f2 63%, #f0e7df 100%);
}
.dbz-product-advice .dbz-eyebrow { margin-bottom: 11px; }
.dbz-product-advice h2 { max-width: 670px; margin: 0; color: #514d49; font-family: "DBZ Playfair", Georgia, serif; font-size: clamp(30px, 3.2vw, 43px); font-weight: 400; line-height: 1.08; }
.dbz-product-advice p { margin: 0 0 15px; color: #7f7973; font-size: 12px; }
.single-product .related.products { margin-top: 4px; }
.single-product .related.products > h2 { margin: 0 0 30px; color: #514d49; font-family: "DBZ Playfair", Georgia, serif; font-size: clamp(34px, 3.5vw, 47px); font-weight: 400; line-height: 1.1; }

/* Cart and checkout blocks */
.woocommerce-cart .dbz-page, .woocommerce-checkout .dbz-page { padding: 70px 0 100px; }
.woocommerce-cart .dbz-content, .woocommerce-checkout .dbz-content { max-width: var(--dbz-content); }
.woocommerce-cart .dbz-content article, .woocommerce-checkout .dbz-content article { width: 100%; }
.woocommerce-cart .dbz-page h1, .woocommerce-checkout .dbz-page h1 {
	margin: 0 0 38px;
	color: #4f4b47;
	font-family: "DBZ Playfair", Georgia, serif;
	font-size: clamp(42px, 4.5vw, 58px);
	font-weight: 400;
	line-height: 1.05;
}
.woocommerce-cart .wp-block-woocommerce-cart, .woocommerce-checkout .wp-block-woocommerce-checkout { max-width: 1120px; margin-inline: auto; }
.woocommerce-cart .wp-block-woocommerce-cart, .woocommerce-checkout .wp-block-woocommerce-checkout,
.woocommerce-cart .wc-block-cart, .woocommerce-checkout .wc-block-checkout { width: 100% !important; }
.wc-block-cart, .wc-block-checkout { gap: 42px !important; }
.wc-block-cart__main, .wc-block-checkout__main { padding-right: 0 !important; }
.wc-block-cart__sidebar, .wc-block-checkout__sidebar {
	align-self: start;
	padding: 26px !important;
	border: 1px solid rgba(171,153,111,.18);
	border-radius: 22px;
	background: rgba(255,255,255,.88);
	box-shadow: 0 18px 45px rgba(75,64,54,.06);
}
.wc-block-cart__sidebar { position: sticky; top: 28px; }
.admin-bar .wc-block-cart__sidebar { top: 60px; }
.wc-block-cart-items {
	overflow: hidden;
	border: 1px solid rgba(171,153,111,.18) !important;
	border-radius: 22px;
	background: rgba(255,255,255,.88);
}
.wc-block-cart-items thead { background: #faf6f2; }
.wc-block-cart-items th { padding: 15px 20px !important; color: #887e6e !important; font-size: 8px !important; font-weight: 600 !important; letter-spacing: .12em; text-transform: uppercase; }
.wc-block-cart-items td { padding: 20px !important; border-color: rgba(171,153,111,.16) !important; }
.wc-block-cart-item__image { width: 92px !important; }
.wc-block-cart-item__image img { overflow: hidden; border-radius: 12px; background: #f8f3ef; }
.wc-block-components-product-name {
	color: #514d49 !important;
	font-family: "DBZ Playfair", Georgia, serif;
	font-size: 17px !important;
	font-weight: 500 !important;
	line-height: 1.3 !important;
	text-decoration: none !important;
}
.wc-block-components-product-price, .wc-block-formatted-money-amount { color: #665f58; }
.wc-block-components-quantity-selector {
	border-color: rgba(171,153,111,.34) !important;
	border-radius: 8px !important;
	background: #fff;
}
.wc-block-cart-item__remove-link { color: #8b8379 !important; font-size: 9px !important; text-decoration: underline !important; text-underline-offset: 3px; }
.wc-block-components-totals-wrapper { padding: 17px 0 !important; border-color: rgba(171,153,111,.17) !important; }
.wc-block-cart__totals-title, .wc-block-components-totals-item__label { color: #5c5752; font-size: 10px !important; font-weight: 600 !important; letter-spacing: .035em; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-family: "DBZ Playfair", Georgia, serif; font-size: 22px !important; font-weight: 400 !important; }
.wc-block-cart__submit-container { padding-top: 10px; }
.wc-block-cart__submit-container .wc-block-components-button,
.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button {
	width: 100%;
	min-height: 56px;
	border-color: #4f4b47 !important;
	background: #4f4b47 !important;
	color: #fff !important;
}
.wc-block-cart__submit-container .wc-block-components-button:hover,
.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button:hover { border-color: #786e62 !important; background: #786e62 !important; }
.wc-block-components-sidebar-layout .wc-block-components-main { margin: 0 !important; }
.wc-block-components-checkout-step {
	margin-bottom: 18px !important;
	padding: 25px 27px !important;
	border: 1px solid rgba(171,153,111,.18);
	border-radius: 18px;
	background: rgba(255,255,255,.88);
}
.wc-block-components-checkout-step__heading { margin-bottom: 18px !important; }
.wc-block-components-checkout-step__title { color: #514d49; font-family: "DBZ Playfair", Georgia, serif; font-size: 24px !important; font-weight: 400 !important; }
.wc-block-components-checkout-step__description { color: #837d76; font-size: 11px; }
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option,
.wc-block-checkout__shipping-option .wc-block-components-radio-control-accordion-option { border-color: rgba(171,153,111,.20) !important; }
.wc-block-components-order-summary { border-color: rgba(171,153,111,.18) !important; border-radius: 14px; }
.wc-block-components-order-summary-item__image img { border-radius: 10px; background: #f8f3ef; }
.wc-block-components-notice-banner, .woocommerce-message, .woocommerce-info, .woocommerce-error {
	border: 1px solid rgba(171,153,111,.30) !important;
	border-left: 3px solid #9b8b68 !important;
	border-radius: 13px !important;
	background: rgba(255,255,255,.8) !important;
	box-shadow: none !important;
}
.woocommerce-error { border-left-color: #a35e52 !important; }
.woocommerce-message .button { min-height: 40px; }

/* Broader selectors for WooCommerce releases that omit cart-specific classes. */
body.woocommerce-cart .wc-block-components-sidebar-layout,
body.woocommerce-checkout .wc-block-components-sidebar-layout { align-items: flex-start; gap: 42px !important; }
body.woocommerce-cart .wc-block-components-sidebar-layout > .wc-block-components-main,
body.woocommerce-checkout .wc-block-components-sidebar-layout > .wc-block-components-main { flex: 1 1 64%; width: auto !important; }
body.woocommerce-cart .wc-block-components-sidebar-layout > .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-components-sidebar-layout > .wc-block-components-sidebar,
body.woocommerce-cart .wp-block-woocommerce-cart-totals-block {
	flex: 0 0 34%;
	width: auto !important;
	padding: 26px !important;
	border: 1px solid rgba(171,153,111,.22) !important;
	border-radius: 22px !important;
	background: #fff !important;
	box-shadow: 0 18px 45px rgba(75,64,54,.07) !important;
}
body.woocommerce-cart .wc-block-components-main table,
body.woocommerce-cart table.wc-block-cart-items,
body.woocommerce-cart form.woocommerce-cart-form table.shop_table {
	overflow: hidden;
	border: 1px solid rgba(171,153,111,.22) !important;
	border-radius: 20px !important;
	background: #fff !important;
}
body.woocommerce-cart .wc-block-components-button:not(.is-link),
body.woocommerce-cart a.checkout-button,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
body.woocommerce-checkout button#place_order {
	min-height: 56px !important;
	border-color: #4f4b47 !important;
	background: #4f4b47 !important;
	color: #fff !important;
}

/* Classic cart/checkout fallback. */
body.woocommerce-cart .woocommerce-cart-form { float: left; width: 63%; }
body.woocommerce-cart .cart-collaterals { float: right; width: 33%; }
body.woocommerce-cart .cart-collaterals .cart_totals {
	float: none;
	width: 100%;
	padding: 27px;
	border: 1px solid rgba(171,153,111,.22);
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 18px 45px rgba(75,64,54,.07);
}
body.woocommerce-cart .woocommerce-cart-form table.shop_table { border-radius: 20px; }
body.woocommerce-cart .woocommerce-cart-form td.product-thumbnail img { width: 82px; border-radius: 11px; }
body.woocommerce-cart .woocommerce-cart-form td.product-name a { color: #514d49; font-family: "DBZ Playfair", Georgia, serif; font-size: 17px; }
body.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr); gap: 42px; }
body.woocommerce-checkout form.checkout #customer_details { grid-column: 1; grid-row: 1 / 3; width: 100%; }
body.woocommerce-checkout form.checkout #order_review_heading,
body.woocommerce-checkout form.checkout #order_review { width: 100%; }
body.woocommerce-checkout form.checkout #order_review_heading { grid-column: 2; grid-row: 1; align-self: end; margin: 0; }
body.woocommerce-checkout form.checkout #order_review { grid-column: 2; grid-row: 2; }
body.woocommerce-checkout form.checkout #order_review { padding: 27px; border: 1px solid rgba(171,153,111,.22); border-radius: 22px; background: #fff; }

/* B2B process and CTA */
.dbz-section--tint { background: #fff; }
.dbz-process { grid-template-columns: .9fr 1.1fr; }
.dbz-process-intro { top: 112px; }
.dbz-process-intro h2 { color: #504c48; font-family: "DBZ Playfair", Georgia, serif; font-weight: 400; }
.dbz-step { border-color: rgba(171,153,111,.25); }
.dbz-step-number { color: #ab996f; font-family: "DBZ Playfair", serif; }
.dbz-step h3 { color: #57524e; font-size: 14px; letter-spacing: .025em; text-transform: uppercase; }
.dbz-step p { font-size: 12px; }
.dbz-login-banner { background: linear-gradient(115deg, #e9dfd6, #f7f3ef); color: #4f4a46; }
.dbz-login-grid { min-height: 325px; padding: 62px 0; }
.dbz-login-grid h2 { max-width: 620px; color: #514d49; font-family: "DBZ Playfair", Georgia, serif; font-weight: 400; font-size: clamp(38px, 3.8vw, 55px); }
.dbz-login-grid p { color: #77716b; }
.dbz-login-action .dbz-button { background: #fff !important; border-color: var(--dbz-champagne) !important; color: #806f4d !important; }
.dbz-login-action small { color: #8e877e; }

/* Footer */
.dbz-footer { background: #f4efea; }
.dbz-footer .dbz-brand { align-items: center; }
.dbz-footer h3 { color: #8b7b5b; font-size: 9px; letter-spacing: .18em; }
.dbz-footer a, .dbz-footer li, .dbz-footer-brand p { color: #77716b; font-size: 11px; }

@media (max-width: 1150px) {
	.dbz-header-inner { grid-template-columns: 240px 1fr auto; }
	.dbz-product-search { display: none; }
	.dbz-hero-grid { grid-template-columns: .95fr 1.05fr; gap: 35px; }
}

@media (max-width: 900px) {
	.dbz-header-inner { grid-template-columns: 1fr auto auto; min-height: 84px; }
	.dbz-hero-grid { grid-template-columns: 1fr; padding-top: 70px; }
	.dbz-hero-content { max-width: 720px; }
	.dbz-product-stage { min-height: 430px; max-width: 620px; width: 100%; margin-inline: auto; }
	.dbz-category-grid { grid-template-columns: 1fr 1fr; }
	.single-product div.product { grid-template-columns: minmax(0, 1fr) minmax(330px, .9fr); gap: 45px; }
	.dbz-product-assurances { grid-template-columns: 1fr; }
}

@media (max-width: 782px) {
	.dbz-brand-mark { flex-basis: 42px; height: 42px; }
	.dbz-brand-name { font-size: 21px; }
	.dbz-brand-tagline { display: block; }
	.dbz-hero h1 { font-size: 52px; }
	.dbz-category-grid { grid-template-columns: 1fr; }
	.dbz-category-card { min-height: 240px; }
	.dbz-process { grid-template-columns: minmax(0, 1fr); gap: 38px; }
	.dbz-process-intro { position: static; min-width: 0; }
	.dbz-process-intro h2 { max-width: 560px; font-size: clamp(36px, 10.5vw, 46px); overflow-wrap: anywhere; }
	.dbz-steps { width: 100%; min-width: 0; }
	.dbz-step { grid-template-columns: 40px minmax(0, 1fr); gap: 14px; padding: 27px 0; }
	.dbz-login-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.dbz-login-action { justify-self: start; }
	.dbz-products-section .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.single-product div.product { grid-template-columns: 1fr; }
	.single-product div.product .summary { padding-top: 0; }
	.dbz-product-assurances { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dbz-product-advice { grid-template-columns: 1fr; gap: 24px; padding: 35px 30px; }
	.wc-block-components-sidebar-layout { flex-direction: column !important; }
	.wc-block-components-sidebar-layout .wc-block-components-main,
	.wc-block-components-sidebar-layout .wc-block-components-sidebar { width: 100% !important; }
	.wc-block-cart__sidebar { position: static; }
	body.woocommerce-cart .wc-block-components-sidebar-layout > .wc-block-components-main,
	body.woocommerce-checkout .wc-block-components-sidebar-layout > .wc-block-components-main,
	body.woocommerce-cart .wc-block-components-sidebar-layout > .wc-block-components-sidebar,
	body.woocommerce-checkout .wc-block-components-sidebar-layout > .wc-block-components-sidebar { flex: 0 0 100%; width: 100% !important; }
	body.woocommerce-cart .woocommerce-cart-form,
	body.woocommerce-cart .cart-collaterals { float: none; width: 100%; }
	body.woocommerce-cart .cart-collaterals { margin-top: 28px; }
	body.woocommerce-checkout form.checkout { grid-template-columns: 1fr; }
	body.woocommerce-checkout form.checkout #customer_details,
	body.woocommerce-checkout form.checkout #order_review_heading,
	body.woocommerce-checkout form.checkout #order_review { grid-column: 1; grid-row: auto; }
}

@media (max-width: 520px) {
	.dbz-shell { width: min(calc(100% - 30px), var(--dbz-content)); }
	.dbz-topbar span:first-child { display: block; }
	.dbz-brand-mark { flex-basis: 38px; height: 38px; font-size: 18px; }
	.dbz-brand-name { font-size: 18px; }
	.dbz-brand-tagline { font-size: 6px; }
	.dbz-hero-grid { padding: 58px 0 70px; }
	.dbz-hero h1 { font-size: 43px; }
	.dbz-hero-copy { font-size: 14px; }
	.dbz-hero-buttons { display: block; }
	.dbz-hero-buttons .dbz-button { width: auto; }
	.dbz-hero-login { display: block; margin-top: 20px; }
	.dbz-product-stage { min-height: 345px; }
	.dbz-stage-silhouettes { inset: 75px 45px 70px; transform: scale(.82); transform-origin: center bottom; }
	.dbz-stage-label { right: 0; }
	.dbz-category-card-content { width: 83%; padding: 28px; }
	.dbz-category-card h3 { font-size: 28px; }
	.dbz-process-intro h2 { font-size: 38px; }
	.dbz-process-intro > p:not(.dbz-eyebrow) { font-size: 13px; }
	.dbz-step h3 { font-size: 13px; line-height: 1.4; }
	.dbz-step p { font-size: 12px; }
	.dbz-login-grid h2 { font-size: 38px; }
	.dbz-products-section .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px 9px; }
	.dbz-products-section .woocommerce ul.products li.product { padding: 8px 8px 15px; border-radius: 18px; }
	.dbz-products-section .woocommerce ul.products li.product a img { border-radius: 14px; }
	.dbz-catalogue-nav { margin-bottom: 24px; padding: 16px; border-radius: 13px; }
	.dbz-catalogue-pills { flex-wrap: nowrap; margin-right: -16px; padding-right: 16px; overflow-x: auto; scrollbar-width: none; }
	.dbz-catalogue-pills::-webkit-scrollbar { display: none; }
	.dbz-catalogue-pill { flex: 0 0 auto; }
	.single-product .dbz-page { padding-top: 30px; }
	.single-product div.product .woocommerce-product-gallery { padding: 10px; border-radius: 22px; }
	.product_title.entry-title { font-size: 40px; }
	.single-product form.cart { display: grid; grid-template-columns: 66px 1fr; }
	.single-product form.cart .single_add_to_cart_button { width: 100%; }
	.dbz-product-assurances { grid-template-columns: 1fr; }
	.dbz-product-assurances > div { min-height: 78px; }
	.dbz-product-advice { padding: 30px 24px; }
	.woocommerce-cart .dbz-page, .woocommerce-checkout .dbz-page { padding: 42px 0 70px; }
	.woocommerce-cart .dbz-page h1, .woocommerce-checkout .dbz-page h1 { margin-bottom: 26px; font-size: 40px; }
	.wc-block-cart__sidebar, .wc-block-checkout__sidebar { padding: 20px !important; border-radius: 17px; }
	.wc-block-cart-items td { padding: 14px 10px !important; }
	.wc-block-cart-item__image { width: 68px !important; }
	.wc-block-components-checkout-step { padding: 20px 18px !important; border-radius: 15px; }
}
