/**
 * DELTITECH cart & checkout (v1.0.236) — see inc/dt-checkout.php.
 *
 * Design language: the About / FAQ / Contact pages — paper canvas, soft
 * ambient glows, liquid-glass cards, Inter Tight display type, dark glass
 * pill buttons, the pulsing green dot.
 *
 *   body.dt-co             every DELTITECH cart / checkout page
 *   body.dt-co--cart       cart (also .dt-co--empty when it is empty)
 *   body.dt-co--checkout   checkout form
 *   body.dt-co--received   order confirmation
 *
 * `html body.dt-co` lends every rule enough weight over Glozin's
 * cart / checkout CSS; `!important` only where Glozin's utility classes or
 * plugin CSS use it.
 */

/* =========================================================================
 * 0. Tokens + canvas
 * ====================================================================== */

html body.dt-co {
	--ink: #0a0a0a;
	--ink-2: #2b2b2b;
	--muted: #6b6b70;
	--paper: #fafaf7;
	--stone: #efece6;
	--line: rgba(10, 10, 10, 0.08);
	--line-2: rgba(10, 10, 10, 0.12);
	--sky: #d3f5da;
	--sand: #f3e4cf;
	--lilac: #e4dcf8;
	--mint: #d6f1e4;
	--green: #4cd964;
	--green-deep: #1a8030;
	--red: #c23b3b;
	--display: "Inter Tight", -apple-system, "SF Pro Display", system-ui, sans-serif;
	--body: "Inter", -apple-system, "SF Pro Text", system-ui, sans-serif;
	--ease: cubic-bezier(0.22, 1, 0.36, 1);
	--spring: cubic-bezier(0.34, 1.56, 0.64, 1);
	--glass-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95), inset 0 -1px 0 rgba(255, 255, 255, 0.35), inset 0 0 0 1px rgba(255, 255, 255, 0.22), inset 0 10px 28px -14px rgba(255, 255, 255, 0.95), inset 0 -14px 30px -18px rgba(10, 10, 10, 0.08), 0 1px 2px rgba(10, 10, 10, 0.04), 0 18px 50px -14px rgba(10, 10, 10, 0.18);
	--card-shadow: inset 0 1px 0 #fff, inset 0 0 0 1px rgba(255, 255, 255, 0.55), inset 0 12px 30px -16px rgba(255, 255, 255, 0.95), 0 1px 2px rgba(10, 10, 10, 0.04), 0 30px 70px -28px rgba(10, 10, 10, 0.2);
	--sticky-top: 28px;
	background: var(--paper) !important;
	color: var(--ink);
}

html body.dt-co #page,
html body.dt-co .site,
html body.dt-co #site-content {
	background: transparent !important;
}

html body.dt-co #site-content {
	position: relative;
	isolation: isolate;
	overflow: clip;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	font-family: var(--body);
	-webkit-font-smoothing: antialiased;
}

html body.dt-co #site-content > .container-xxl,
html body.dt-co #site-content > .container {
	position: relative;
	z-index: 1;
	max-width: 1304px;
	padding-inline: 32px;
}

html body.dt-co #site-content article.page {
	margin: 0 !important;
	padding: 0 !important;
}

html body.dt-co #page-header {
	display: none !important;
}

html body.dt-co #site-content *,
html body.dt-co #site-content *::before,
html body.dt-co #site-content *::after {
	box-sizing: border-box;
}

html body.dt-co #site-content :is(h1, h2, h3) {
	font-family: var(--display);
	color: var(--ink);
	text-transform: none;
	font-style: normal;
}

html body.dt-co #site-content :is(a, button):focus-visible {
	outline: 2px solid var(--ink);
	outline-offset: 3px;
}

/* =========================================================================
 * 1. Primitives (the About page's liquid glass, pills, buttons)
 * ====================================================================== */

html body.dt-co .dt-glass {
	position: relative;
	isolation: isolate;
	border-radius: var(--r, 28px);
	background: linear-gradient(145deg, rgba(255, 255, 255, 0.78) 0%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0.42) 100%);
	-webkit-backdrop-filter: blur(24px) saturate(180%);
	backdrop-filter: blur(24px) saturate(180%);
	box-shadow: var(--glass-shadow);
}

/* Refracted rim. */
html body.dt-co .dt-glass::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	padding: 1.2px;
	border-radius: inherit;
	pointer-events: none;
	background: linear-gradient(160deg, #fff, rgba(255, 255, 255, 0.15) 32%, rgba(255, 255, 255, 0.04) 60%, rgba(255, 255, 255, 0.75) 100%);
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
}

/* Specular light following the pointer (dt-checkout.js sets --mx / --my). */
html body.dt-co .dt-glass::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	border-radius: inherit;
	pointer-events: none;
	background: radial-gradient(420px circle at var(--mx, 25%) var(--my, -10%), rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0) 55%);
	opacity: 0.5;
	transition: opacity 0.5s var(--ease);
}

html body.dt-co .dt-glass:hover::after {
	opacity: 0.9;
}

html body.dt-co .dt-glass > * {
	position: relative;
	z-index: 3;
}

html body.dt-co .dt-glass--dark {
	background: linear-gradient(145deg, rgba(36, 36, 38, 0.94), rgba(10, 10, 10, 0.9));
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28), inset 0 0 0 1px rgba(255, 255, 255, 0.06), inset 0 12px 24px -16px rgba(255, 255, 255, 0.35), 0 14px 36px -12px rgba(10, 10, 10, 0.45);
}

html body.dt-co .dt-glass--dark::before {
	background: linear-gradient(160deg, rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0.05) 40%, rgba(255, 255, 255, 0) 60%, rgba(255, 255, 255, 0.25));
}

html body.dt-co .dt-glass--dark::after {
	background: radial-gradient(160px circle at var(--mx, 30%) var(--my, 0%), rgba(255, 255, 255, 0.22), transparent 60%);
}

html body.dt-co .dt-pill {
	--r: 999px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px 8px 11px;
	font: 600 12px/1 var(--body);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ink-2);
	white-space: nowrap;
}

html body.dt-co .dt-pill .dt-co-icon {
	width: 15px;
	height: 15px;
	stroke-width: 1.8;
}

html body.dt-co .dt-dot {
	flex: none;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--green);
	box-shadow: 0 0 0 4px rgba(76, 217, 100, 0.18);
	animation: dt-co-pulse 2.4s ease-in-out infinite;
}

html body.dt-co .dt-eyebrow {
	display: inline-block;
	margin-bottom: 10px;
	font: 600 12px/1 var(--body);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--muted);
}

html body.dt-co .dt-soft {
	color: rgba(10, 10, 10, 0.38);
}

html body.dt-co .dt-line {
	display: block;
	overflow: hidden;
	padding-bottom: 0.06em;
}

html body.dt-co .dt-line > span {
	display: block;
	animation: dt-co-rise 1.1s var(--ease) both;
}

html body.dt-co .dt-line:nth-child(2) > span {
	animation-delay: 0.1s;
}

html body.dt-co .dt-btn {
	--r: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	height: 54px;
	padding: 0 26px;
	border: 0;
	font: 600 15px/1 var(--body);
	letter-spacing: -0.01em;
	color: var(--ink);
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: transform 0.5s var(--ease), box-shadow 0.5s var(--ease);
}

html body.dt-co .dt-btn:hover {
	transform: translateY(-2px);
	color: var(--ink);
}

html body.dt-co .dt-btn:active {
	transform: scale(0.97);
}

html body.dt-co .dt-btn.dt-glass--dark,
html body.dt-co .dt-btn.dt-glass--dark:hover {
	color: #fff;
}

html body.dt-co .dt-btn .dt-co-icon {
	width: 18px;
	height: 18px;
	transition: transform 0.5s var(--ease);
}

html body.dt-co .dt-btn:hover .dt-arrow {
	transform: translateX(4px);
}

html body.dt-co .dt-co-link,
html body.dt-co #site-content .dt-co-link {
	color: var(--ink);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: rgba(10, 10, 10, 0.25);
	text-underline-offset: 3px;
	transition: text-decoration-color 0.3s;
}

html body.dt-co .dt-co-link:hover {
	text-decoration-color: var(--ink);
}

html body.dt-co .dt-co-icon {
	display: block;
	flex: none;
	width: 20px;
	height: 20px;
}

/* =========================================================================
 * 2. Ambient glows
 * ====================================================================== */

html body.dt-co .dt-co-ambient {
	position: absolute;
	top: -120px;
	left: 50%;
	z-index: -1;
	width: 100vw;
	height: 1100px;
	transform: translateX(-50%);
	overflow: hidden;
	pointer-events: none;
}

html body.dt-co .dt-co-blob {
	position: absolute;
	border-radius: 50%;
	background: radial-gradient(closest-side, var(--c), transparent);
	opacity: 0.85;
}

html body.dt-co .dt-co-blob--a {
	--c: var(--sky);
	top: -60px;
	left: -180px;
	width: 640px;
	height: 640px;
}

html body.dt-co .dt-co-blob--b {
	--c: var(--sand);
	top: 40px;
	right: -200px;
	width: 600px;
	height: 600px;
}

html body.dt-co .dt-co-blob--c {
	--c: var(--lilac);
	top: 560px;
	left: 38%;
	width: 560px;
	height: 560px;
	opacity: 0.6;
}

@media (hover: hover) and (pointer: fine) and (min-width: 861px) {
	html body.dt-co .dt-co-blob {
		animation: dt-co-drift 24s ease-in-out infinite alternate;
	}

	html body.dt-co .dt-co-blob--b {
		animation-delay: -8s;
	}

	html body.dt-co .dt-co-blob--c {
		animation-delay: -14s;
	}
}

/* =========================================================================
 * 3. Hero + steps
 * ====================================================================== */

html body.dt-co .dt-co-hero {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px 32px;
	padding: 56px 0 36px;
}

html body.dt-co .dt-co-hero .dt-pill {
	animation: dt-co-fade 0.9s 0.05s var(--ease) both;
}

html body.dt-co .dt-co-title {
	margin: 20px 0 0 !important;
	padding: 0;
	font-size: clamp(40px, 5.6vw, 76px) !important;
	font-weight: 800 !important;
	line-height: 0.98 !important;
	letter-spacing: -0.045em !important;
}

html body.dt-co--checkout .dt-co-title {
	font-size: clamp(36px, 4.6vw, 60px) !important;
}

html body.dt-co .dt-co-steps {
	--r: 999px;
	display: flex;
	align-items: center;
	gap: 4px;
	margin: 0 0 6px;
	padding: 6px;
	list-style: none;
	animation: dt-co-fade 1s 0.2s var(--ease) both;
}

html body.dt-co .dt-co-steps__item {
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0;
}

html body.dt-co .dt-co-steps__item + .dt-co-steps__item::before {
	content: "";
	width: 18px;
	height: 1.5px;
	margin: 0 4px 0 0;
	border-radius: 2px;
	background: var(--line-2);
}

html body.dt-co .dt-co-steps__item > :is(a, span) {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 38px;
	padding: 0 14px 0 6px;
	border-radius: 999px;
	font: 600 13.5px/1 var(--body);
	color: var(--muted);
	text-decoration: none;
	transition: background 0.3s, color 0.3s;
}

html body.dt-co .dt-co-steps__dot {
	display: grid;
	place-items: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: rgba(10, 10, 10, 0.06);
	font: 700 12px/1 var(--body);
	color: var(--muted);
}

html body.dt-co .dt-co-steps__dot .dt-co-icon {
	width: 14px;
	height: 14px;
	stroke-width: 2.2;
}

html body.dt-co .dt-co-steps__item.is-done > :is(a, span) {
	color: var(--ink-2);
}

html body.dt-co .dt-co-steps__item.is-done .dt-co-steps__dot {
	background: var(--green);
	color: #fff;
	box-shadow: 0 4px 10px -4px rgba(26, 128, 48, 0.6);
}

html body.dt-co .dt-co-steps__item.is-done a:hover {
	background: rgba(255, 255, 255, 0.7);
	color: var(--ink);
}

html body.dt-co .dt-co-steps__item.is-current > span {
	background: var(--ink);
	color: #fff;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), 0 8px 18px -10px rgba(10, 10, 10, 0.6);
}

html body.dt-co .dt-co-steps__item.is-current .dt-co-steps__dot {
	background: rgba(255, 255, 255, 0.16);
	color: #fff;
}

/* =========================================================================
 * 4. Cart
 * ====================================================================== */

html body.dt-co--cart .woocommrece-cart-content {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(340px, 400px);
	gap: 24px;
	align-items: start;
	margin: 0 !important;
}

html body.dt-co--cart .woocommrece-cart-content > form.woocommerce-cart-form,
html body.dt-co--cart .woocommrece-cart-content > .cart-collaterals {
	width: auto !important;
	max-width: none !important;
	min-width: 0;
	margin: 0 !important;
	float: none !important;
}

/* Items card --------------------------------------------------------- */

html body.dt-co--cart table.shop_table.cart {
	display: block;
	width: 100%;
	margin: 0 !important;
	padding: 10px 28px 8px;
	border: 0 !important;
	border-radius: 32px;
	background: linear-gradient(145deg, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0.56) 50%, rgba(255, 255, 255, 0.48) 100%) !important;
	-webkit-backdrop-filter: blur(24px) saturate(180%);
	backdrop-filter: blur(24px) saturate(180%);
	box-shadow: var(--card-shadow);
	border-collapse: separate;
}

html body.dt-co--cart table.shop_table.cart thead {
	display: none !important;
}

html body.dt-co--cart table.shop_table.cart tbody {
	display: block;
}

html body.dt-co--cart table.shop_table.cart tr.cart_item {
	position: relative;
	display: grid !important;
	grid-template-columns: 116px minmax(0, 1fr) auto minmax(84px, auto);
	grid-template-areas: "thumb name qty total";
	align-items: center;
	gap: 0 22px;
	padding: 22px 0;
	border: 0 !important;
	border-bottom: 1px solid var(--line) !important;
	background: none !important;
}

html body.dt-co--cart table.shop_table.cart tr.cart_item > td {
	position: static !important;
	display: block !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	text-align: left !important;
}

html body.dt-co--cart table.shop_table.cart tr.cart_item > td::before {
	display: none !important;
}

html body.dt-co--cart table.shop_table.cart tr.cart_item > td.product-thumbnail {
	grid-area: thumb;
}

html body.dt-co--cart table.shop_table.cart tr.cart_item > td.product-thumbnail a,
html body.dt-co--cart table.shop_table.cart tr.cart_item > td.product-thumbnail > img {
	display: block;
	aspect-ratio: 1;
	overflow: hidden;
	border-radius: 22px;
	background: var(--stone);
	box-shadow: inset 0 0 0 1px rgba(10, 10, 10, 0.04);
}

html body.dt-co--cart table.shop_table.cart tr.cart_item > td.product-thumbnail img {
	display: block;
	width: 100% !important;
	max-width: none !important;
	height: 100% !important;
	object-fit: cover;
	border-radius: 0 !important;
	mix-blend-mode: multiply;
	transition: transform 0.8s var(--ease);
}

html body.dt-co--cart table.shop_table.cart tr.cart_item:hover > td.product-thumbnail img {
	transform: scale(1.05);
}

html body.dt-co--cart table.shop_table.cart tr.cart_item > td.product-name {
	grid-area: name;
	display: flex !important;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
	min-width: 0;
	padding-right: 36px !important;
}

html body.dt-co--cart .dt-co-item__brand {
	font: 600 11.5px/1.2 var(--body);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--green-deep);
}

html body.dt-co--cart table.shop_table.cart tr.cart_item > td.product-name > a {
	display: block;
	font: 700 17px/1.25 var(--display) !important;
	letter-spacing: -0.02em;
	color: var(--ink) !important;
	text-decoration: none !important;
}

html body.dt-co--cart table.shop_table.cart tr.cart_item > td.product-name > a:hover {
	color: var(--ink-2) !important;
}

/* Size etc. as a chip. */
html body.dt-co--cart table.shop_table.cart dl.variation {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px;
	margin: 4px 0 2px !important;
	padding: 5px 11px;
	border-radius: 999px;
	background: rgba(10, 10, 10, 0.05);
	font: 500 12.5px/1.2 var(--body);
	color: var(--ink-2);
}

html body.dt-co--cart table.shop_table.cart dl.variation :is(dt, dd, dd p) {
	display: inline;
	float: none;
	margin: 0 !important;
	padding: 0 !important;
	font: inherit !important;
	color: inherit !important;
}

html body.dt-co--cart table.shop_table.cart dl.variation dd p {
	font-weight: 700 !important;
	color: var(--ink) !important;
}

html body.dt-co--cart .dt-co-item__unit {
	font: 600 14px/1.3 var(--body);
	color: var(--ink-2);
}

html body.dt-co--cart .dt-co-item__unit del {
	margin-right: 6px;
	color: var(--muted);
	font-weight: 500;
}

html body.dt-co--cart .dt-co-item__unit ins {
	text-decoration: none;
}

html body.dt-co--cart .dt-co-item__stock {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin-top: 2px;
	font: 500 12.5px/1.3 var(--body);
	color: var(--muted);
}

html body.dt-co--cart .dt-co-item__stock i {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--green);
	box-shadow: 0 0 0 3px rgba(76, 217, 100, 0.18);
}

html body.dt-co--cart table.shop_table.cart .backorder_notification {
	margin: 2px 0 0;
	font: 500 12.5px/1.3 var(--body);
	color: #9a5b00;
}

/* Remove: a small round glass button, top right. */
html body.dt-co--cart table.shop_table.cart tr.cart_item > td.product-name .product-remove {
	position: absolute !important;
	top: 22px !important;
	right: 0 !important;
	left: auto !important;
	bottom: auto !important;
	margin: 0 !important;
}

html body.dt-co--cart table.shop_table.cart .product-remove a.remove {
	display: grid !important;
	place-items: center;
	width: 34px !important;
	height: 34px !important;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, 0.85) !important;
	box-shadow: inset 0 0 0 1px var(--line-2), 0 6px 14px -8px rgba(10, 10, 10, 0.3);
	color: var(--ink-2) !important;
	font-size: 0 !important;
	text-decoration: none !important;
	transition: transform 0.4s var(--spring), background 0.3s, color 0.3s;
}

html body.dt-co--cart table.shop_table.cart .product-remove a.remove > span:not(.dt-co-icon) {
	display: none !important;
}

html body.dt-co--cart table.shop_table.cart .product-remove a.remove .dt-co-icon {
	width: 15px;
	height: 15px;
	stroke-width: 2;
}

html body.dt-co--cart table.shop_table.cart .product-remove a.remove:hover {
	background: var(--ink) !important;
	color: #fff !important;
	transform: rotate(90deg);
}

html body.dt-co--cart table.shop_table.cart tr.cart_item > td.product-price {
	display: none !important;
}

html body.dt-co--cart table.shop_table.cart tr.cart_item > td.product-quantity {
	grid-area: qty;
}

html body.dt-co--cart table.shop_table.cart tr.cart_item > td.product-subtotal {
	grid-area: total;
	font: 700 18px/1.2 var(--display) !important;
	letter-spacing: -0.02em;
	color: var(--ink);
	text-align: right !important;
}

html body.dt-co--cart table.shop_table.cart tr.cart_item > td.product-subtotal .glozin-price-saved {
	display: inline-block;
	margin-top: 4px;
	padding: 3px 8px;
	border-radius: 999px;
	background: rgba(76, 217, 100, 0.14);
	font: 600 11.5px/1.2 var(--body);
	color: var(--green-deep);
}

/* Quantity stepper: glass pill. */
html body.dt-co #site-content .quantity {
	display: inline-flex !important;
	align-items: center;
	width: auto !important;
	height: 44px !important;
	margin: 0 !important;
	padding: 0 4px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: rgba(255, 255, 255, 0.85) !important;
	box-shadow: inset 0 0 0 1px var(--line-2), inset 0 1px 0 #fff, 0 6px 16px -10px rgba(10, 10, 10, 0.25);
}

html body.dt-co #site-content .quantity .glozin-qty-button {
	display: grid !important;
	place-items: center;
	width: 34px !important;
	height: 34px !important;
	margin: 0 !important;
	border-radius: 50%;
	color: var(--ink-2);
	cursor: pointer;
	transition: background 0.25s, color 0.25s;
}

html body.dt-co #site-content .quantity .glozin-qty-button:hover {
	background: var(--ink);
	color: #fff;
}

html body.dt-co #site-content .quantity .glozin-qty-button svg {
	width: 12px;
	height: 12px;
}

html body.dt-co #site-content .quantity input.qty {
	width: 32px !important;
	min-width: 0 !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
	font: 700 15px/1 var(--body) !important;
	color: var(--ink) !important;
	text-align: center;
	-moz-appearance: textfield;
}

html body.dt-co #site-content .quantity input.qty::-webkit-inner-spin-button,
html body.dt-co #site-content .quantity input.qty::-webkit-outer-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

/* Actions row: coupon + update. */
html body.dt-co--cart table.shop_table.cart tbody > tr:not(.cart_item) {
	display: block;
	border: 0 !important;
}

html body.dt-co--cart table.shop_table.cart td.actions {
	display: block !important;
	padding: 20px 0 18px !important;
	border: 0 !important;
	background: none !important;
}

html body.dt-co--cart .gz-cart-actions-coupon-update-cart {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px !important;
}

html body.dt-co--cart table.shop_table.cart .coupon {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	flex: 1 1 340px;
	max-width: 440px;
	gap: 8px;
	margin: 0 !important;
	padding: 5px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.85);
	box-shadow: inset 0 0 0 1px var(--line-2), inset 0 1px 0 #fff;
}

html body.dt-co--cart table.shop_table.cart .coupon input.input-text {
	flex: 1 1 0 !important;
	width: 0 !important;
	min-width: 0 !important;
	height: 44px !important;
	margin: 0 !important;
	padding: 0 16px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: none !important;
	box-shadow: none !important;
	font: 500 15px/1 var(--body) !important;
	color: var(--ink) !important;
}

html body.dt-co--cart table.shop_table.cart .coupon button.button {
	flex: none !important;
	width: auto !important;
	height: 44px !important;
	min-height: 0 !important;
	padding: 0 22px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: linear-gradient(145deg, #2a2a2c, #0a0a0a) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 8px 18px -10px rgba(10, 10, 10, 0.6) !important;
	font: 600 14px/1 var(--body) !important;
	letter-spacing: -0.01em !important;
	color: #fff !important;
	text-transform: none !important;
	transition: transform 0.4s var(--ease) !important;
}

html body.dt-co--cart table.shop_table.cart .coupon button.button:hover {
	transform: translateY(-1px);
}

html body.dt-co--cart button.gz-button-update-cart {
	height: 44px !important;
	min-height: 0 !important;
	padding: 0 20px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: rgba(255, 255, 255, 0.7) !important;
	box-shadow: inset 0 0 0 1px var(--line-2) !important;
	font: 600 14px/1 var(--body) !important;
	color: var(--ink) !important;
	text-transform: none !important;
	text-decoration: none !important;
	opacity: 1 !important;
}

html body.dt-co--cart button.gz-button-update-cart::before,
html body.dt-co--cart button.gz-button-update-cart::after {
	display: none !important;
}

html body.dt-co--cart button.gz-button-update-cart[disabled] {
	opacity: 0.45 !important;
	cursor: default;
}

/* Summary card ------------------------------------------------------- */

html body.dt-co--cart .cart-collaterals {
	position: sticky;
	top: calc(var(--dt-header-h, 88px) + 16px);
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

html body.dt-co--cart .cart_totals {
	display: flex;
	flex-direction: column;
	width: 100% !important;
	margin: 0 !important;
	padding: 28px 28px 24px !important;
	border: 0 !important;
	border-radius: 32px !important;
	background: linear-gradient(145deg, rgba(255, 255, 255, 0.82) 0%, rgba(255, 255, 255, 0.58) 50%, rgba(255, 255, 255, 0.5) 100%) !important;
	-webkit-backdrop-filter: blur(24px) saturate(180%);
	backdrop-filter: blur(24px) saturate(180%);
	box-shadow: var(--card-shadow) !important;
}

/* Flattened so its children and the extras below share one order. */
html body.dt-co--cart .cart_totals_summary {
	display: contents !important;
}

html body.dt-co--cart .cart_totals h2 {
	order: -2;
	margin: 0 0 18px !important;
	font-size: 24px !important;
	font-weight: 800 !important;
	line-height: 1.1 !important;
	letter-spacing: -0.035em !important;
}

html body.dt-co--cart .cart_totals .glozin-free-shipping-bar {
	order: -1;
	margin: 0 0 18px !important;
}

/* Order note: compact, under the totals. */
html body.dt-co--cart .cart_totals #order_comments_field {
	order: 5;
	margin: 16px 0 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

html body.dt-co--cart .cart_totals #order_comments_field h6 {
	margin: 0 0 8px !important;
	font: 600 13.5px/1.3 var(--body) !important;
	color: var(--ink) !important;
}

html body.dt-co--cart .cart_totals #order_comments_field label {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
}

html body.dt-co--cart .cart_totals #order_comments_field textarea {
	width: 100%;
	min-height: 76px;
	height: 76px;
	padding: 12px 16px !important;
	border: 0 !important;
	border-radius: 16px !important;
	background: rgba(255, 255, 255, 0.85) !important;
	box-shadow: inset 0 0 0 1px var(--line-2) !important;
	font: 500 14.5px/1.45 var(--body) !important;
	color: var(--ink) !important;
	resize: vertical;
	transition: box-shadow 0.25s;
}

html body.dt-co--cart .cart_totals #order_comments_field textarea:focus {
	outline: 0;
	box-shadow: inset 0 0 0 1px rgba(10, 10, 10, 0.5), 0 0 0 4px rgba(10, 10, 10, 0.06) !important;
}

/* Totals table (cart + checkout share most of it). */
html body.dt-co :is(.cart_totals, .dt-co-summary) table.shop_table {
	display: block;
	width: 100%;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: none !important;
}

html body.dt-co--cart .cart_totals table.shop_table {
	order: 1;
}

html body.dt-co :is(.cart_totals, .dt-co-summary) table.shop_table :is(tbody, tfoot) {
	display: block;
}

html body.dt-co :is(.cart_totals table.shop_table, .dt-co-summary tfoot) tr {
	display: flex !important;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 4px 12px;
	padding: 10px 0 !important;
	border: 0 !important;
	background: none !important;
}

html body.dt-co :is(.cart_totals table.shop_table, .dt-co-summary tfoot) tr > :is(th, td) {
	display: block !important;
	width: auto !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	font: 500 14.5px/1.45 var(--body) !important;
	color: var(--ink-2) !important;
	text-align: left !important;
}

html body.dt-co :is(.cart_totals table.shop_table, .dt-co-summary tfoot) tr > td {
	margin-left: auto;
	font-weight: 600 !important;
	color: var(--ink) !important;
	text-align: right !important;
}

html body.dt-co :is(.cart_totals table.shop_table, .dt-co-summary tfoot) tr > td::before {
	display: none !important;
}

html body.dt-co :is(.cart_totals, .dt-co-summary) tr.cart-subtotal del {
	margin-right: 6px;
	color: var(--muted);
	font-weight: 500;
}

html body.dt-co :is(.cart_totals, .dt-co-summary) tr.cart-subtotal ins {
	text-decoration: none;
}

/* Shipping row: label · method (price) on the right. */
html body.dt-co :is(.cart_totals, .dt-co-summary) tr.woocommerce-shipping-totals > td {
	flex: 1 1 auto;
	max-width: 72%;
}

html body.dt-co :is(.cart_totals, .dt-co-summary) .shipping-title {
	display: none !important;
}

html body.dt-co :is(.cart_totals, .dt-co-summary) ul.woocommerce-shipping-methods {
	display: grid;
	gap: 8px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}

html body.dt-co :is(.cart_totals, .dt-co-summary) ul.woocommerce-shipping-methods li {
	display: flex;
	align-items: flex-start;
	justify-content: flex-end;
	gap: 8px;
	margin: 0 !important;
	padding: 0 !important;
	text-align: right;
}

html body.dt-co :is(.cart_totals, .dt-co-summary) ul.woocommerce-shipping-methods label {
	margin: 0 !important;
	font: 500 13.5px/1.4 var(--body) !important;
	color: var(--ink-2) !important;
}

html body.dt-co :is(.cart_totals, .dt-co-summary) ul.woocommerce-shipping-methods label .amount {
	font-weight: 700;
	color: var(--ink);
	white-space: nowrap;
}

/* dt-checkout.js splits "Name (7-21 Business Days): $10" into name + price. */
html body.dt-co :is(.cart_totals, .dt-co-summary) ul.woocommerce-shipping-methods label.dt-co-ship {
	display: flex !important;
	flex-direction: column;
	align-items: flex-end;
	gap: 2px;
}

html body.dt-co :is(.cart_totals, .dt-co-summary) .dt-co-ship__name {
	font: 400 12.5px/1.4 var(--body);
	color: var(--muted);
}

html body.dt-co :is(.cart_totals, .dt-co-summary) .dt-co-ship .amount {
	order: -1;
	font: 600 14.5px/1.4 var(--body);
}

html body.dt-co :is(.cart_totals, .dt-co-summary) .dt-co-ship__free {
	font: 700 14.5px/1.4 var(--body);
	color: var(--green-deep);
}

html body.dt-co :is(.cart_totals, .dt-co-summary) ul.woocommerce-shipping-methods li:has(input:checked) .dt-co-ship__name {
	color: var(--ink-2);
}


html body.dt-co :is(.cart_totals, .dt-co-summary) ul.woocommerce-shipping-methods input[type="radio"] {
	margin: 3px 0 0 !important;
	accent-color: var(--ink);
}

html body.dt-co--cart .cart_totals .woocommerce-shipping-destination {
	margin: 6px 0 0 !important;
	font: 400 12.5px/1.45 var(--body) !important;
	color: var(--muted) !important;
}

html body.dt-co--cart .cart_totals .woocommerce-shipping-calculator {
	margin: 4px 0 0 !important;
}

html body.dt-co--cart .cart_totals .shipping-calculator-button {
	font: 600 12.5px/1.4 var(--body) !important;
	color: var(--ink) !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

html body.dt-co--cart .cart_totals .shipping-calculator-form {
	margin-top: 12px;
	text-align: left;
}

/* Discount rows. */
html body.dt-co :is(.cart_totals, .dt-co-summary) tr.cart-discount > :is(th, td) {
	color: var(--green-deep) !important;
}

html body.dt-co :is(.cart_totals, .dt-co-summary) a.woocommerce-remove-coupon {
	margin-left: 4px;
	font-weight: 500;
	color: var(--muted) !important;
	text-decoration: underline;
}

/* Total. */
html body.dt-co :is(.cart_totals table.shop_table, .dt-co-summary tfoot) tr.order-total {
	align-items: center;
	margin-top: 8px;
	padding-top: 18px !important;
	border-top: 1px solid var(--line) !important;
}

html body.dt-co :is(.cart_totals table.shop_table, .dt-co-summary tfoot) tr.order-total > th {
	font: 700 16px/1.2 var(--body) !important;
	color: var(--ink) !important;
}

html body.dt-co :is(.cart_totals table.shop_table, .dt-co-summary tfoot) tr.order-total > td,
html body.dt-co :is(.cart_totals table.shop_table, .dt-co-summary tfoot) tr.order-total > td strong {
	font: 800 28px/1 var(--display) !important;
	letter-spacing: -0.035em;
	color: var(--ink) !important;
}

html body.dt-co :is(.cart_totals, .dt-co-summary) tr.order-total small.includes_tax {
	display: block;
	margin-top: 4px;
	font: 400 12px/1.3 var(--body);
	letter-spacing: 0;
	color: var(--muted);
}

/* Secure checkout button. */
html body.dt-co--cart .cart_totals .wc-proceed-to-checkout {
	order: 2;
	margin: 18px 0 0 !important;
	padding: 0 !important;
}

html body.dt-co--cart .cart_totals a.checkout-button {
	position: relative;
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	height: 60px !important;
	margin: 0 !important;
	padding: 0 28px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: linear-gradient(145deg, #2a2a2c, #0a0a0a) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28), 0 18px 36px -16px rgba(10, 10, 10, 0.6) !important;
	font: 600 16px/1 var(--body) !important;
	letter-spacing: -0.01em !important;
	color: #fff !important;
	text-transform: none !important;
	overflow: hidden;
	transition: transform 0.5s var(--ease), box-shadow 0.5s var(--ease) !important;
}

html body.dt-co--cart .cart_totals a.checkout-button::before,
html body.dt-co--checkout #place_order::before {
	position: static !important;
	inset: auto !important;
	z-index: auto !important;
	opacity: 1 !important;
	transform: none !important;
	border-radius: 0 !important;
	background: currentColor !important;
}

html body.dt-co--cart .cart_totals a.checkout-button::before {
	content: "";
	flex: none;
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='10.5' width='14' height='10' rx='2.5'/%3E%3Cpath d='M8.5 10.5V8a3.5 3.5 0 0 1 7 0v2.5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='10.5' width='14' height='10' rx='2.5'/%3E%3Cpath d='M8.5 10.5V8a3.5 3.5 0 0 1 7 0v2.5'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* A slow sheen across the button. */
html body.dt-co--cart .cart_totals a.checkout-button::after {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: 1 !important;
	width: auto !important;
	height: auto !important;
	opacity: 1 !important;
	transform: none !important;
	border-radius: inherit !important;
	background: linear-gradient(100deg, transparent 30%, rgba(255, 255, 255, 0.16) 50%, transparent 70%) !important;
	background-size: 250% 100% !important;
	animation: dt-co-sheen 4.5s ease-in-out infinite;
	pointer-events: none;
}

html body.dt-co--cart .cart_totals a.checkout-button:hover {
	transform: translateY(-2px);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28), 0 24px 44px -16px rgba(10, 10, 10, 0.65) !important;
}

html body.dt-co--cart .cart_totals a.checkout-button:active {
	transform: scale(0.98);
}

/* Extras under the totals. */
html body.dt-co .dt-co-summary-extras {
	order: 4;
	display: grid;
	gap: 14px;
	margin-top: 18px;
}

html body.dt-co--cart .cart_totals > :not(.cart_totals_summary):not(.dt-co-summary-extras) {
	order: 6;
}

html body.dt-co .dt-co-delivery {
	display: flex;
	align-items: center;
	gap: 13px;
	padding: 13px 16px;
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.7);
	box-shadow: inset 0 0 0 1px var(--line);
}

html body.dt-co .dt-co-delivery__icon {
	display: grid;
	place-items: center;
	flex: none;
	width: 38px;
	height: 38px;
	border-radius: 12px;
	background: var(--ink);
	color: #fff;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
}

html body.dt-co .dt-co-delivery__icon .dt-co-icon {
	width: 19px;
	height: 19px;
}

html body.dt-co .dt-co-delivery__text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

html body.dt-co .dt-co-delivery__title {
	font: 500 13.5px/1.35 var(--body);
	color: var(--ink-2);
}

html body.dt-co .dt-co-delivery__title strong {
	font-weight: 700;
	color: var(--ink);
	white-space: nowrap;
}

html body.dt-co .dt-co-delivery__sub {
	font: 400 12px/1.35 var(--body);
	color: var(--muted);
}

html body.dt-co .dt-co-pay {
	display: flex;
	justify-content: center;
}

html body.dt-co .dt-co-pay img {
	display: block;
	width: 100%;
	max-width: 320px;
	height: auto;
}

html body.dt-co .dt-co-fineprint {
	margin: 0 !important;
	font: 400 12px/1.5 var(--body);
	color: var(--muted);
	text-align: center;
}

/* Glozin's own information box (Customizer) inside the summary column. */
html body.dt-co--cart .gz-cart-information-box {
	margin-top: 14px !important;
	border-radius: 24px !important;
}

/* =========================================================================
 * 5. Trust strip
 * ====================================================================== */

html body.dt-co .dt-co-trustband {
	margin: 18px 0 0;
}

html body.dt-co .dt-co-trustband .dt-co-trust__item {
	--r: 24px;
}

html body.dt-co .dt-co-trust {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

html body.dt-co .dt-co-trust__item {
	--r: 22px;
	display: flex;
	align-items: center;
	gap: 13px;
	margin: 0;
	padding: 15px 18px 15px 15px;
}

html body.dt-co .dt-co-trust__icon {
	display: grid;
	place-items: center;
	flex: none;
	width: 40px;
	height: 40px;
	border-radius: 13px;
	background: var(--ink);
	color: #fff;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 8px 18px -10px rgba(10, 10, 10, 0.6);
}

html body.dt-co .dt-co-trust__icon .dt-co-icon {
	width: 19px;
	height: 19px;
}

html body.dt-co .dt-co-trust__text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

html body.dt-co .dt-co-trust__text b {
	font: 600 14px/1.25 var(--body);
	color: var(--ink);
}

html body.dt-co .dt-co-trust__text small {
	font: 500 12px/1.3 var(--body);
	color: var(--muted);
}

/* Compact (checkout summary column): 2 × 2, no cards. */
html body.dt-co .dt-co-trust--compact {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 12px;
	padding: 4px 6px;
}

html body.dt-co .dt-co-trust--compact .dt-co-trust__item {
	padding: 0;
	gap: 10px;
}

html body.dt-co .dt-co-trust--compact .dt-co-trust__icon {
	width: 34px;
	height: 34px;
	border-radius: 11px;
}

html body.dt-co .dt-co-trust--compact .dt-co-trust__icon .dt-co-icon {
	width: 16px;
	height: 16px;
}

html body.dt-co .dt-co-trust--compact .dt-co-trust__text b {
	font-size: 13px;
}

html body.dt-co .dt-co-trust--compact .dt-co-trust__text small {
	font-size: 11.5px;
}

/* =========================================================================
 * 6. "Complete the look" rail
 * ====================================================================== */

html body.dt-co .dt-co-rail {
	margin: 72px 0 0;
	padding-bottom: 110px;
}

html body.dt-co .dt-co-rail__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 22px;
}

html body.dt-co .dt-co-rail__head h2 {
	margin: 0 !important;
	font-size: clamp(28px, 3vw, 40px) !important;
	font-weight: 800 !important;
	line-height: 1.04 !important;
	letter-spacing: -0.04em !important;
}

html body.dt-co .dt-co-rail__nav {
	display: flex;
	gap: 8px;
}

html body.dt-co .dt-co-rail__btn {
	--r: 999px;
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	margin: 0;
	padding: 0;
	border: 0;
	color: var(--ink);
	cursor: pointer;
	transition: transform 0.4s var(--ease), opacity 0.3s;
}

html body.dt-co .dt-co-rail__btn:hover {
	transform: translateY(-2px);
}

html body.dt-co .dt-co-rail.is-static .dt-co-rail__nav {
	display: none;
}

html body.dt-co .dt-co-rail__btn[disabled] {
	opacity: 0.35;
	cursor: default;
	transform: none;
}

html body.dt-co .dt-co-rail__btn .dt-co-icon {
	width: 18px;
	height: 18px;
}

html body.dt-co .dt-co-rail__track {
	display: grid;
	grid-auto-columns: calc((100% - 3 * 18px) / 4);
	grid-auto-flow: column;
	gap: 18px;
	margin: -14px -14px 0;
	padding: 14px 14px 30px;
	list-style: none;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scroll-padding-inline: 14px;
	scrollbar-width: none;
}

html body.dt-co .dt-co-rail__track::-webkit-scrollbar {
	display: none;
}

html body.dt-co .dt-co-card {
	margin: 0;
	padding: 0;
	scroll-snap-align: start;
}

html body.dt-co .dt-co-card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	border-radius: 26px;
	background: linear-gradient(160deg, rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0.7));
	box-shadow: inset 0 1px 0 #fff, 0 0 0 1px rgba(10, 10, 10, 0.05), 0 22px 50px -30px rgba(10, 10, 10, 0.3);
	color: var(--ink) !important;
	text-decoration: none !important;
	transition: transform 0.6s var(--ease), box-shadow 0.6s var(--ease);
}

html body.dt-co .dt-co-card__link:hover {
	transform: translateY(-4px);
	box-shadow: inset 0 1px 0 #fff, 0 0 0 1px rgba(10, 10, 10, 0.06), 0 30px 60px -28px rgba(10, 10, 10, 0.38);
}

html body.dt-co .dt-co-card__media {
	position: relative;
	display: block;
	aspect-ratio: 1;
	margin: 8px 8px 0;
	overflow: hidden;
	border-radius: 20px;
	background: var(--stone);
}

html body.dt-co .dt-co-card__media img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	mix-blend-mode: multiply;
	transition: transform 0.9s var(--ease);
}

html body.dt-co .dt-co-card__link:hover .dt-co-card__media img {
	transform: scale(1.06);
}

html body.dt-co .dt-co-card__badge {
	position: absolute;
	top: 10px;
	left: 10px;
	padding: 5px 10px;
	border-radius: 999px;
	background: var(--ink);
	font: 700 11px/1 var(--body);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #fff;
}

html body.dt-co .dt-co-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 4px;
	padding: 14px 18px 18px;
}

html body.dt-co .dt-co-card__brand {
	font: 600 11px/1.2 var(--body);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--green-deep);
}

html body.dt-co .dt-co-card__name {
	display: -webkit-box;
	overflow: hidden;
	font: 600 14.5px/1.35 var(--body);
	color: var(--ink);
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

html body.dt-co .dt-co-card__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-top: auto;
	padding-top: 10px;
}

html body.dt-co .dt-co-card__price {
	font: 700 16px/1.2 var(--display);
	letter-spacing: -0.02em;
	color: var(--ink);
}

html body.dt-co .dt-co-card__price del {
	margin-right: 6px;
	font-weight: 500;
	color: var(--muted);
}

html body.dt-co .dt-co-card__price ins {
	text-decoration: none;
}

html body.dt-co .dt-co-card__go {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: rgba(10, 10, 10, 0.06);
	color: var(--ink);
	transition: background 0.3s, color 0.3s, transform 0.5s var(--ease);
}

html body.dt-co .dt-co-card__go .dt-co-icon {
	width: 15px;
	height: 15px;
}

html body.dt-co .dt-co-card__link:hover .dt-co-card__go {
	background: var(--ink);
	color: #fff;
	transform: translateX(2px);
}

/* =========================================================================
 * 7. Empty cart
 * ====================================================================== */

html body.dt-co .dt-co-empty {
	display: grid;
	gap: 22px;
	max-width: 880px;
	margin: 0 auto;
	padding: 64px 0 120px;
	text-align: center;
}

/* WooCommerce's notice styles must not reach the wrapper. */
html body.dt-co .dt-co-empty.wc-empty-cart-message {
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
}

html body.dt-co .dt-co-empty__card {
	--r: 40px;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 56px 40px 44px;
}

html body.dt-co .dt-co-empty__icon {
	display: grid;
	place-items: center;
	width: 78px;
	height: 78px;
	margin-bottom: 22px;
	border-radius: 26px;
	background: var(--ink);
	color: #fff;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 22px 40px -18px rgba(10, 10, 10, 0.6);
	animation: dt-co-float 6s ease-in-out infinite;
}

html body.dt-co .dt-co-empty__icon .dt-co-icon {
	width: 34px;
	height: 34px;
	stroke-width: 1.5;
}

html body.dt-co .dt-co-empty .dt-co-title {
	font-size: clamp(38px, 5.4vw, 68px) !important;
}

html body.dt-co .dt-co-empty__lead {
	max-width: 480px;
	margin: 18px auto 0 !important;
	font: 400 17px/1.6 var(--body);
	color: var(--ink-2);
	animation: dt-co-fade 1.1s 0.3s var(--ease) both;
}

html body.dt-co .dt-co-empty__cta {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin-top: 30px;
	animation: dt-co-fade 1.1s 0.42s var(--ease) both;
}

html body.dt-co .dt-co-empty__brands {
	width: 100%;
	margin-top: 38px;
	padding-top: 30px;
	border-top: 1px solid var(--line);
}

html body.dt-co .dt-co-chips {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin: 6px 0 0;
	padding: 0;
	list-style: none;
}

html body.dt-co .dt-co-chips li {
	margin: 0;
}

html body.dt-co .dt-co-chip {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	height: 44px;
	padding: 0 16px 0 6px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.85);
	box-shadow: inset 0 0 0 1px var(--line-2), 0 8px 18px -12px rgba(10, 10, 10, 0.25);
	font: 600 14px/1 var(--body);
	color: var(--ink) !important;
	text-decoration: none !important;
	transition: transform 0.4s var(--ease), box-shadow 0.4s var(--ease);
}

html body.dt-co .dt-co-chip:hover {
	transform: translateY(-2px);
	box-shadow: inset 0 0 0 1px rgba(10, 10, 10, 0.2), 0 14px 26px -14px rgba(10, 10, 10, 0.35);
}

html body.dt-co .dt-co-chip__logo {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	overflow: hidden;
	border-radius: 50%;
	background: #fff;
	box-shadow: inset 0 0 0 1px var(--line);
}

html body.dt-co .dt-co-chip__logo img {
	width: 24px;
	height: 24px;
	object-fit: contain;
}

html body.dt-co .dt-co-chip__logo b {
	font: 700 13px/1 var(--display);
}

html body.dt-co .dt-co-empty__login {
	margin: 28px 0 0 !important;
	font: 400 14.5px/1.5 var(--body);
	color: var(--muted);
}

html body.dt-co .dt-co-empty .dt-co-trust {
	text-align: left;
}

/* Woo / Glozin leftovers around the empty state. */
html body.dt-co--cart .woocommerce > .return-to-shop,
html body.dt-co--cart .gz-cart-empty-content {
	display: none !important;
}

/* =========================================================================
 * 8. Checkout
 * ====================================================================== */

/* Distraction-free chrome. */
html body.dt-co:is(.dt-co--checkout, .dt-co--received) :is(#campaign-bar, #topbar, #site-header, #glozin-mobile-navigation-bar, .glozin-mobile-navigation-bar) {
	display: none !important;
}

html body.dt-co:is(.dt-co--checkout, .dt-co--received) {
	--dt-header-h: 0px;
	padding-bottom: 0 !important;
}

html body.dt-co .dt-co-bar {
	position: sticky;
	top: 0;
	z-index: 50;
	padding: 14px 32px 0;
}

html body.dt-co .dt-co-bar__in {
	--r: 999px;
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 16px;
	max-width: 1240px;
	height: 72px;
	margin: 0 auto;
	padding: 0 10px;
}

html body.dt-co .dt-co-bar__back {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	justify-self: start;
	height: 44px;
	padding: 0 16px 0 12px;
	border-radius: 999px;
	font: 600 14px/1 var(--body);
	color: var(--ink) !important;
	text-decoration: none !important;
	transition: background 0.3s;
}

html body.dt-co .dt-co-bar__back:hover {
	background: rgba(255, 255, 255, 0.8);
}

html body.dt-co .dt-co-bar__back .dt-co-icon {
	width: 18px;
	height: 18px;
	transition: transform 0.4s var(--ease);
}

html body.dt-co .dt-co-bar__back:hover .dt-co-icon {
	transform: translateX(-3px);
}

html body.dt-co .dt-co-bar__logo {
	display: block;
	line-height: 0;
}

/* Same size as the site header's logo (style.css: 56px desktop / 46px on
   the mobile header), with the same nudge: the glyph sits high in the PNG. */
html body.dt-co .dt-co-bar__logo img {
	display: block;
	width: auto;
	max-width: none;
	height: 56px;
	object-fit: contain;
	transform: translateY(6px);
}

html body.dt-co .dt-co-bar__logo span {
	font: 800 20px/1 var(--display);
	letter-spacing: -0.03em;
	color: var(--ink);
}

html body.dt-co .dt-co-bar__secure {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	justify-self: end;
	height: 44px;
	padding: 0 16px 0 12px;
	border-radius: 999px;
	background: rgba(76, 217, 100, 0.12);
	font: 600 13px/1 var(--body);
	color: var(--green-deep);
}

html body.dt-co .dt-co-bar__secure .dt-co-icon {
	width: 17px;
	height: 17px;
	stroke-width: 1.9;
}

/* Login reminder: the step 1 header links to it. */
html body.dt-co--checkout .dt-co-pre {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(360px, 420px);
	gap: 24px;
}

html body.dt-co--checkout .dt-co-pre__in {
	min-width: 0;
}

html body.dt-co--checkout .checkout-form-cols {
	display: block !important;
	margin: 0 !important;
}

html body.dt-co--checkout .checkout-form-cols .checkout-form-col {
	width: 100% !important;
	max-width: none !important;
	padding: 0 !important;
}

html body.dt-co--checkout .woocommerce-form-login-toggle {
	display: none !important;
}

html body.dt-co--checkout form.woocommerce-form-login {
	margin: 0 0 20px !important;
	padding: 26px 28px !important;
	border: 0 !important;
	border-radius: 28px !important;
	background: linear-gradient(145deg, rgba(255, 255, 255, 0.82), rgba(255, 255, 255, 0.56)) !important;
	box-shadow: var(--card-shadow) !important;
}

html body.dt-co--checkout form.woocommerce-form-login > p:first-child {
	margin: 0 0 16px !important;
	font: 400 14.5px/1.5 var(--body);
	color: var(--ink-2);
}

html body.dt-co--checkout form.woocommerce-form-login .woocommerce-form-login__submit {
	height: 50px !important;
	padding: 0 26px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: linear-gradient(145deg, #2a2a2c, #0a0a0a) !important;
	font: 600 15px/1 var(--body) !important;
	color: #fff !important;
	text-transform: none !important;
}

html body.dt-co--checkout form.woocommerce-form-login .lost_password a {
	font: 500 13.5px/1.4 var(--body);
	color: var(--ink-2);
	text-decoration: underline;
}

/* Layout. */
html body.dt-co--checkout form.dt-co-layout {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(360px, 420px);
	gap: 24px;
	align-items: start;
	margin: 0 !important;
	padding: 0 0 72px !important;
}

/* Woo prepends checkout errors to the form. */
html body.dt-co--checkout form.dt-co-layout > :not(.dt-co-main):not(.dt-co-aside) {
	grid-column: 1 / -1;
}

html body.dt-co--checkout .dt-co-main {
	display: grid;
	gap: 18px;
	min-width: 0;
}

html body.dt-co--checkout #customer_details {
	position: static !important;
	display: grid !important;
	gap: 18px;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
}

html body.dt-co--checkout #customer_details::before,
html body.dt-co--checkout #customer_details::after {
	display: none !important;
}

html body.dt-co--checkout #customer_details :is(.col-1, .col-2) {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
}

/* Step cards. */
html body.dt-co--checkout .dt-co-step {
	--r: 32px;
	padding: 28px 30px 30px;
	animation: dt-co-up 0.9s var(--ease) both;
}

html body.dt-co--checkout .dt-co-step--delivery {
	animation-delay: 0.06s;
}

html body.dt-co--checkout .dt-co-step--payment {
	animation-delay: 0.12s;
}

html body.dt-co--checkout .dt-co-step__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 14px;
	margin-bottom: 22px;
}

html body.dt-co--checkout .dt-co-step__num {
	display: grid;
	place-items: center;
	flex: none;
	width: 36px;
	height: 36px;
	border-radius: 12px;
	background: var(--ink);
	font: 700 15px/1 var(--display);
	color: #fff;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 8px 18px -10px rgba(10, 10, 10, 0.6);
	transition: background 0.4s var(--ease);
}

html body.dt-co--checkout .dt-co-step.is-complete .dt-co-step__num {
	background: var(--green);
	font-size: 0;
}

/* The tick is the same check icon as the rest of the page (24px grid,
   optically centred), masked in white and drawn left to right. The old
   rotated border box sat low and to the left of the badge's centre. */
html body.dt-co--checkout .dt-co-step.is-complete .dt-co-step__num {
	animation: dt-co-badge 0.55s var(--spring) both;
}

html body.dt-co--checkout .dt-co-step.is-complete .dt-co-step__num::after {
	content: "";
	width: 20px;
	height: 20px;
	background: #fff;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.3 4.4 4.4L19 7.1'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.3 4.4 4.4L19 7.1'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
	animation: dt-co-tick 0.45s 0.08s cubic-bezier(0.65, 0, 0.35, 1) both;
}

@keyframes dt-co-tick {
	from {
		clip-path: inset(0 100% 0 0);
	}

	to {
		clip-path: inset(0 0 0 0);
	}
}

@keyframes dt-co-badge {
	0% {
		transform: scale(1);
	}

	40% {
		transform: scale(0.86);
	}

	100% {
		transform: scale(1);
	}
}

html body.dt-co--checkout .dt-co-step__title {
	margin: 0 !important;
	font-size: 23px !important;
	font-weight: 800 !important;
	line-height: 1.1 !important;
	letter-spacing: -0.035em !important;
}

html body.dt-co--checkout .dt-co-step__aside {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-left: auto;
	font: 500 13.5px/1.3 var(--body);
	color: var(--muted);
}

html body.dt-co--checkout .dt-co-step__aside .dt-co-icon {
	width: 15px;
	height: 15px;
	color: var(--green-deep);
}

html body.dt-co--checkout .dt-co-step__body > .col-1 > .woocommerce-billing-fields > h3,
html body.dt-co--checkout .woocommerce-additional-fields > h3 {
	display: none !important;
}

/* Fields ------------------------------------------------------------- */

html body.dt-co--checkout :is(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper) {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px 14px;
}

html body.dt-co--checkout :is(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper)::before,
html body.dt-co--checkout :is(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper)::after {
	display: none !important;
}

html body.dt-co--checkout :is(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper) > .form-row {
	grid-column: 1 / -1;
}

html body.dt-co--checkout :is(#billing_first_name_field, #billing_last_name_field, #shipping_first_name_field, #shipping_last_name_field, #billing_postcode_field, #billing_city_field, #shipping_postcode_field, #shipping_city_field) {
	grid-column: auto !important;
}

/* Apartment: no label of its own; tuck it under the street line. */
html body.dt-co--checkout :is(#billing_address_2_field, #shipping_address_2_field) {
	margin-top: -6px !important;
}

/* Glozin draws the billing / shipping / account blocks as inner cards;
   the step card is the card here. */
html body.dt-co--checkout :is(.woocommerce-billing-fields, .woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-additional-fields__field-wrapper, .woocommerce-account-fields, .shipping_address) {
	width: auto !important;
	margin-inline: 0 !important;
	padding-inline: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: none !important;
	box-shadow: none !important;
	float: none !important;
}

html body.dt-co--checkout :is(.woocommerce-billing-fields, .woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-additional-fields__field-wrapper) {
	padding-block: 0 !important;
}

html body.dt-co--checkout .woocommerce-account-fields {
	padding: 0 !important;
}

/* Raw HookMeUp shortcodes ([html_block id=…]) in the totals / review. */
html body.dt-co .hookmeup-hook {
	display: none !important;
}

html body.dt-co--checkout .form-row {
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
}

html body.dt-co--checkout .dt-co-fields--contact .form-row,
html body.dt-co--checkout .woocommerce-additional-fields .form-row {
	margin: 0 !important;
}

html body.dt-co--checkout .form-row > label:not(.checkbox):not(.woocommerce-form__label-for-checkbox) {
	display: block;
	margin: 0 0 8px !important;
	font: 600 13.5px/1.3 var(--body) !important;
	letter-spacing: 0 !important;
	color: var(--ink) !important;
	text-transform: none !important;
}

html body.dt-co--checkout .form-row label .required {
	margin-left: 1px;
	color: #d14343 !important;
	text-decoration: none;
	border: 0;
}

html body.dt-co--checkout .form-row label .optional {
	font-weight: 500;
	color: var(--muted);
}

html body.dt-co--checkout .form-row :is(input.input-text, textarea, select),
html body.dt-co--checkout .dt-co-coupon__field,
html body.dt-co--checkout .select2-container .select2-selection--single {
	width: 100% !important;
	height: 54px !important;
	margin: 0 !important;
	padding: 0 18px !important;
	border: 1px solid rgba(10, 10, 10, 0.1) !important;
	border-radius: 16px !important;
	background: rgba(255, 255, 255, 0.86) !important;
	box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.04), 0 1px 0 rgba(255, 255, 255, 0.9) !important;
	font: 500 16px/1.4 var(--body) !important;
	color: var(--ink) !important;
	transition: border-color 0.25s, box-shadow 0.25s, background 0.25s !important;
	-webkit-appearance: none;
	appearance: none;
}

html body.dt-co--checkout .form-row textarea {
	height: auto !important;
	min-height: 104px;
	padding: 14px 18px !important;
	resize: vertical;
}

html body.dt-co--checkout .form-row :is(input.input-text, textarea)::placeholder {
	color: #9a9aa0;
	opacity: 1;
}

html body.dt-co--checkout .form-row :is(input.input-text, textarea, select):focus,
html body.dt-co--checkout .select2-container--open .select2-selection--single,
html body.dt-co--checkout .select2-container--focus .select2-selection--single,
html body.dt-co--checkout .dt-co-coupon__field:focus-within {
	outline: 0 !important;
	border-color: rgba(10, 10, 10, 0.5) !important;
	background: #fff !important;
	box-shadow: 0 0 0 4px rgba(10, 10, 10, 0.07) !important;
}

html body.dt-co--checkout .form-row.woocommerce-invalid :is(input.input-text, select),
html body.dt-co--checkout .form-row.woocommerce-invalid .select2-selection--single {
	border-color: #e06666 !important;
	box-shadow: 0 0 0 4px rgba(224, 102, 102, 0.12) !important;
}

html body.dt-co--checkout .form-row.woocommerce-validated :is(input.input-text, select) {
	border-color: rgba(26, 128, 48, 0.35) !important;
}

html body.dt-co--checkout .form-row .description {
	margin: 7px 2px 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
	font: 400 12.5px/1.4 var(--body) !important;
	color: var(--muted) !important;
}

html body.dt-co--checkout .form-row .description::before {
	display: none !important;
}

html body.dt-co--checkout .checkout-inline-error-message,
html body.dt-co--checkout .form-row [id$="-description"].woocommerce-error {
	margin: 7px 2px 0 !important;
	font: 500 12.5px/1.4 var(--body) !important;
	color: var(--red) !important;
}

/* Select2 (country / state). */
html body.dt-co--checkout .select2-container .select2-selection--single {
	display: flex !important;
	align-items: center;
}

html body.dt-co--checkout .select2-container .select2-selection__rendered {
	padding: 0 24px 0 0 !important;
	font: 500 16px/1.4 var(--body) !important;
	color: var(--ink) !important;
}

html body.dt-co--checkout .select2-container .select2-selection__arrow {
	top: 50% !important;
	right: 16px !important;
	width: 12px !important;
	height: 12px !important;
	transform: translateY(-50%);
}

html body.dt-co--checkout .select2-container .select2-selection__arrow b {
	display: none !important;
}

html body.dt-co--checkout .select2-container .select2-selection__arrow::after {
	content: "";
	position: absolute;
	inset: 0;
	background: currentColor;
	color: var(--ink-2);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
}

html body.dt-co--checkout .select2-dropdown {
	overflow: hidden;
	border: 0 !important;
	border-radius: 16px !important;
	box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.08), 0 24px 50px -20px rgba(10, 10, 10, 0.35) !important;
	font-family: var(--body);
}

html body.dt-co--checkout .select2-search--dropdown .select2-search__field {
	height: 42px;
	padding: 0 12px !important;
	border: 1px solid rgba(10, 10, 10, 0.12) !important;
	border-radius: 12px !important;
}

html body.dt-co--checkout .select2-results__option--highlighted[aria-selected],
html body.dt-co--checkout .select2-results__option--highlighted[data-selected] {
	background: var(--ink) !important;
	color: #fff !important;
}

/* Checkboxes as toggles (create account, ship elsewhere, terms). */
html body.dt-co--checkout label.woocommerce-form__label-for-checkbox {
	display: flex !important;
	align-items: center;
	gap: 12px;
	margin: 0 !important;
	font: 500 14.5px/1.45 var(--body) !important;
	color: var(--ink-2) !important;
	text-transform: none !important;
	cursor: pointer;
}

html body.dt-co--checkout label.woocommerce-form__label-for-checkbox input[type="checkbox"] {
	position: relative;
	flex: none;
	width: 22px !important;
	height: 22px !important;
	margin: 0 !important;
	border: 1.5px solid rgba(10, 10, 10, 0.25) !important;
	border-radius: 7px !important;
	background: #fff !important;
	cursor: pointer;
	transition: background 0.25s, border-color 0.25s;
	-webkit-appearance: none;
	appearance: none;
}

html body.dt-co--checkout label.woocommerce-form__label-for-checkbox input[type="checkbox"]::after {
	content: "";
	position: absolute;
	top: 3px;
	left: 6.5px;
	width: 6px;
	height: 11px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	opacity: 0;
	transform: rotate(45deg) scale(0.4);
	transition: opacity 0.2s, transform 0.35s var(--spring);
}

html body.dt-co--checkout label.woocommerce-form__label-for-checkbox input[type="checkbox"]:checked {
	border-color: var(--ink) !important;
	background: var(--ink) !important;
}

html body.dt-co--checkout label.woocommerce-form__label-for-checkbox input[type="checkbox"]:checked::after {
	opacity: 1;
	transform: rotate(45deg) scale(1);
}

html body.dt-co--checkout label.woocommerce-form__label-for-checkbox input[type="checkbox"]:focus-visible {
	outline: 2px solid var(--ink);
	outline-offset: 2px;
}

/* Contact step: account toggle under the email. */
html body.dt-co--checkout .woocommerce-account-fields {
	margin: 16px 0 0 !important;
}

html body.dt-co--checkout .woocommerce-account-fields p.create-account {
	margin: 0 !important;
}

html body.dt-co--checkout .woocommerce-account-fields div.create-account {
	display: grid;
	gap: 14px;
	margin-top: 16px;
}

/* Ship to a different address ------------------------------------------
   dt-checkout.js turns WooCommerce's checkbox into a switch row (pin icon,
   title, hint) and wraps the address fields; `.is-open` glides them open
   (grid rows 0fr → 1fr). WooCommerce's own jQuery slide still runs, but
   its inline display / height are overruled here. */
html body.dt-co--checkout .woocommerce-shipping-fields {
	margin: 22px 0 0 !important;
	padding: 20px 0 0 !important;
	border-top: 1px solid var(--line);
}

html body.dt-co--checkout #ship-to-different-address {
	margin: 0 !important;
	padding: 0 !important;
	font-size: inherit !important;
	line-height: inherit !important;
}

html body.dt-co--checkout #ship-to-different-address label.dt-co-ship {
	display: flex !important;
	align-items: center;
	gap: 14px;
	margin: 0 !important;
	padding: 12px 14px 12px 12px !important;
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.6);
	box-shadow: inset 0 0 0 1px var(--line-2);
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	transition: background 0.35s var(--ease), box-shadow 0.35s var(--ease), transform 0.35s var(--ease);
}

@media (hover: hover) and (pointer: fine) {
	html body.dt-co--checkout #ship-to-different-address label.dt-co-ship:hover {
		background: #fff;
	}
}

html body.dt-co--checkout #ship-to-different-address label.dt-co-ship:active {
	transform: scale(0.99);
}

html body.dt-co--checkout .woocommerce-shipping-fields.is-open #ship-to-different-address label.dt-co-ship {
	background: #fff;
	box-shadow: inset 0 0 0 1.5px var(--ink), 0 14px 30px -20px rgba(10, 10, 10, 0.4);
}

html body.dt-co--checkout .dt-co-ship__icon {
	display: grid;
	flex: none;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 14px;
	background: var(--stone);
	color: var(--ink);
	transition: background 0.4s var(--ease), color 0.4s var(--ease), transform 0.5s var(--spring);
}

html body.dt-co--checkout .dt-co-ship__icon .dt-co-icon {
	width: 20px;
	height: 20px;
}

html body.dt-co--checkout .woocommerce-shipping-fields.is-open .dt-co-ship__icon {
	background: var(--ink);
	color: #fff;
	transform: rotate(-8deg) scale(1.04);
}

html body.dt-co--checkout .dt-co-ship__text {
	display: grid;
	flex: 1 1 auto;
	gap: 3px;
	min-width: 0;
}

html body.dt-co--checkout .dt-co-ship__text b {
	font: 600 15px/1.3 var(--body);
	color: var(--ink);
}

html body.dt-co--checkout .dt-co-ship__text small {
	font: 400 13px/1.4 var(--body);
	color: var(--muted);
}

/* Checkbox → switch. Glozin draws its own checked box on ::before. */
html body.dt-co--checkout #ship-to-different-address label.dt-co-ship input[type="checkbox"]::before {
	content: none !important;
	display: none !important;
}

/* Checkbox → switch. */
html body.dt-co--checkout #ship-to-different-address label.dt-co-ship input[type="checkbox"] {
	width: 48px !important;
	height: 28px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: rgba(10, 10, 10, 0.14) !important;
	box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.12);
	transition: background 0.35s var(--ease) !important;
}

html body.dt-co--checkout #ship-to-different-address label.dt-co-ship input[type="checkbox"]::after {
	top: 3px;
	left: 3px;
	width: 22px;
	height: 22px;
	border: 0;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 2px 6px rgba(10, 10, 10, 0.22), 0 0 0 0.5px rgba(10, 10, 10, 0.06);
	opacity: 1;
	transform: none;
	transition: transform 0.45s var(--spring), width 0.25s var(--ease);
}

html body.dt-co--checkout #ship-to-different-address label.dt-co-ship input[type="checkbox"]:active::after {
	width: 27px;
}

html body.dt-co--checkout #ship-to-different-address label.dt-co-ship input[type="checkbox"]:checked {
	background: var(--green) !important;
}

html body.dt-co--checkout #ship-to-different-address label.dt-co-ship input[type="checkbox"]:checked::after {
	transform: translateX(20px);
}

html body.dt-co--checkout #ship-to-different-address label.dt-co-ship input[type="checkbox"]:checked:active::after {
	transform: translateX(15px);
}

html body.dt-co--checkout .woocommerce-shipping-fields .shipping_address {
	display: grid !important;
	grid-template-rows: 0fr;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	opacity: 0;
	visibility: hidden;
	transition: grid-template-rows 0.55s var(--ease), opacity 0.3s var(--ease), visibility 0s linear 0.55s;
}

html body.dt-co--checkout .woocommerce-shipping-fields.is-open .shipping_address {
	grid-template-rows: 1fr;
	opacity: 1;
	visibility: visible;
	transition: grid-template-rows 0.55s var(--ease), opacity 0.45s var(--ease) 0.08s, visibility 0s;
}

/* Room for the inputs' focus rings inside the clip. */
html body.dt-co--checkout .dt-co-ship-inner {
	min-height: 0;
	margin: 0 -8px;
	padding: 0 8px;
	overflow: hidden;
}

html body.dt-co--checkout .dt-co-ship-inner > .woocommerce-shipping-fields__field-wrapper {
	padding: 22px 0 6px !important;
	transform: translateY(-10px);
	transition: transform 0.6s var(--ease);
}

html body.dt-co--checkout .woocommerce-shipping-fields.is-open .dt-co-ship-inner > .woocommerce-shipping-fields__field-wrapper {
	transform: none;
}

/* Order note: a link that opens the field (dt-checkout.js). */
html body.dt-co--checkout .woocommerce-additional-fields {
	margin: 20px 0 0 !important;
	padding: 0 !important;
}

html body.dt-co--checkout .dt-co-note-toggle {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	font: 600 14px/1.3 var(--body);
	color: var(--ink);
	cursor: pointer;
}

html body.dt-co--checkout .dt-co-note-toggle .dt-co-icon {
	width: 17px;
	height: 17px;
}

html body.dt-co--checkout .dt-co-note-toggle span {
	text-decoration: underline;
	text-decoration-color: rgba(10, 10, 10, 0.25);
	text-underline-offset: 3px;
}

html body.dt-co--checkout .woocommerce-additional-fields.is-collapsed .woocommerce-additional-fields__field-wrapper {
	display: none;
}

html body.dt-co--checkout .woocommerce-additional-fields:not(.is-collapsed) .dt-co-note-toggle {
	display: none;
}

/* Payment -------------------------------------------------------------- */

html body.dt-co--checkout #payment {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: none !important;
}

html body.dt-co--checkout #payment ul.payment_methods {
	display: grid;
	gap: 10px;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	list-style: none;
}

html body.dt-co--checkout #payment ul.payment_methods > li {
	position: relative;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
	border: 0 !important;
	border-radius: 20px !important;
	background: rgba(255, 255, 255, 0.72) !important;
	box-shadow: inset 0 0 0 1px var(--line-2);
	-webkit-tap-highlight-color: transparent;
	transition: box-shadow 0.45s var(--ease), background 0.45s var(--ease), transform 0.35s var(--ease);
}

@media (hover: hover) and (pointer: fine) {
	html body.dt-co--checkout #payment ul.payment_methods > li:not(.is-selected):hover {
		background: #fff !important;
		box-shadow: inset 0 0 0 1px rgba(10, 10, 10, 0.22);
	}
}

html body.dt-co--checkout #payment ul.payment_methods > li:not(.is-selected):active {
	transform: scale(0.99);
}

html body.dt-co--checkout #payment ul.payment_methods > li:has(> input:checked),
html body.dt-co--checkout #payment ul.payment_methods > li.is-selected {
	background: #fff !important;
	box-shadow: inset 0 0 0 1.5px var(--ink), 0 14px 30px -20px rgba(10, 10, 10, 0.4);
}

html body.dt-co--checkout #payment ul.payment_methods > li > input[type="radio"] {
	position: absolute;
	top: 22px;
	left: 20px;
	width: 20px !important;
	height: 20px !important;
	margin: 0 !important;
	border: 1.5px solid rgba(10, 10, 10, 0.3) !important;
	border-radius: 50% !important;
	background: #fff !important;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: border 0.25s var(--ease);
}

html body.dt-co--checkout #payment ul.payment_methods > li > input[type="radio"]:checked {
	border: 6px solid var(--ink) !important;
	animation: dt-co-radio 0.45s var(--spring);
}

@keyframes dt-co-radio {
	0% {
		transform: scale(0.8);
	}

	100% {
		transform: scale(1);
	}
}

html body.dt-co--checkout #payment ul.payment_methods > li > input[type="radio"]::before,
html body.dt-co--checkout #payment ul.payment_methods > li > input[type="radio"]::after {
	display: none !important;
}

html body.dt-co--checkout #payment ul.payment_methods > li > label {
	display: flex !important;
	align-items: center;
	gap: 10px;
	min-height: 64px;
	margin: 0 !important;
	padding: 18px 20px 18px 54px !important;
	font: 600 15px/1.35 var(--body) !important;
	color: var(--ink) !important;
	text-transform: none !important;
	cursor: pointer;
}

html body.dt-co--checkout #payment ul.payment_methods > li > label::before,
html body.dt-co--checkout #payment ul.payment_methods > li > label::after {
	display: none !important;
}

html body.dt-co--checkout #payment ul.payment_methods > li > label img {
	max-height: 24px;
	width: auto;
	margin: 0 0 0 auto !important;
}

html body.dt-co--checkout #payment .payment_box {
	margin: 0 !important;
	padding: 0 20px 20px 54px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: none !important;
	font: 400 13.5px/1.5 var(--body) !important;
	color: var(--muted) !important;
}

/* Switching methods: the open panel folds shut while the chosen one glides
   open (grid rows 0fr → 1fr), its content easing down into place.
   WooCommerce's jQuery slide is overruled; dt-checkout.js wraps each panel
   in .dt-co-paybox (panels with live fields are left as they are). */
html body.dt-co--checkout #payment .payment_box[data-dt-co-box]:not(.dt-co-paybox-raw) {
	display: grid !important;
	grid-template-rows: 0fr;
	height: auto !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	overflow: visible !important;
	opacity: 0;
	visibility: hidden;
	transition: grid-template-rows 0.5s var(--ease), padding 0.5s var(--ease), opacity 0.25s var(--ease), visibility 0s linear 0.5s;
}

html body.dt-co--checkout #payment ul.payment_methods > li.is-selected > .payment_box[data-dt-co-box]:not(.dt-co-paybox-raw),
html body.dt-co--checkout #payment ul.payment_methods > li:has(> input:checked) > .payment_box[data-dt-co-box]:not(.dt-co-paybox-raw) {
	grid-template-rows: 1fr;
	padding-bottom: 20px !important;
	opacity: 1;
	visibility: visible;
	transition: grid-template-rows 0.5s var(--ease), padding 0.5s var(--ease), opacity 0.4s var(--ease) 0.1s, visibility 0s;
}

html body.dt-co--checkout #payment .dt-co-paybox {
	min-height: 0;
	overflow: hidden;
}

html body.dt-co--checkout #payment .dt-co-paybox > * {
	transform: translateY(-8px);
	transition: transform 0.55s var(--ease);
}

html body.dt-co--checkout #payment ul.payment_methods > li.is-selected .dt-co-paybox > *,
html body.dt-co--checkout #payment ul.payment_methods > li:has(> input:checked) .dt-co-paybox > * {
	transform: none;
}

html body.dt-co--checkout #payment ul.payment_methods > li .payment_box.dt-co-paybox-raw {
	display: none !important;
}

html body.dt-co--checkout #payment ul.payment_methods > li.is-selected .payment_box.dt-co-paybox-raw,
html body.dt-co--checkout #payment ul.payment_methods > li:has(> input:checked) .payment_box.dt-co-paybox-raw {
	display: block !important;
	animation: dt-co-fade-down 0.45s var(--ease) both;
}

/* Card logos settle in one after another. */
html body.dt-co--checkout #payment ul.payment_methods > li.is-selected .payplus-checkout-image-container img {
	animation: dt-co-fade-down 0.5s var(--ease) both;
}

html body.dt-co--checkout #payment ul.payment_methods > li.is-selected .payplus-checkout-image-container img:nth-child(2) {
	animation-delay: 0.06s;
}

html body.dt-co--checkout #payment ul.payment_methods > li.is-selected .payplus-checkout-image-container img:nth-child(3) {
	animation-delay: 0.12s;
}

html body.dt-co--checkout #payment ul.payment_methods > li.is-selected .payplus-checkout-image-container img:nth-child(n + 4) {
	animation-delay: 0.18s;
}

@keyframes dt-co-fade-down {
	from {
		opacity: 0;
		transform: translateY(-6px);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

html body.dt-co--checkout #payment .payment_box::before {
	display: none !important;
}

html body.dt-co--checkout #payment .payment_box p {
	margin: 0 !important;
}

html body.dt-co--checkout #payment .payment_box .payplus-checkout-image-container {
	justify-content: flex-start !important;
	gap: 6px;
	margin: 0 0 8px;
}

html body.dt-co--checkout #payment .payment_box .payplus-checkout-image-container img {
	width: auto !important;
	height: 26px !important;
	margin: 0 !important;
	border-radius: 5px;
}

html body.dt-co--checkout #payment .payplus-option-description-area {
	margin: 0 !important;
}

html body.dt-co--checkout #payment .woocommerce-notice,
html body.dt-co--checkout #payment .woocommerce-info {
	margin: 0 !important;
	border-radius: 16px !important;
}

html body.dt-co--checkout #payment .place-order {
	display: grid;
	gap: 16px;
	margin: 22px 0 0 !important;
	padding: 22px 0 0 !important;
	border-top: 1px solid var(--line);
	background: none !important;
}

html body.dt-co--checkout .woocommerce-terms-and-conditions-wrapper {
	display: grid;
	gap: 12px;
	margin: 0 !important;
}

html body.dt-co--checkout .woocommerce-privacy-policy-text p {
	margin: 0 !important;
	font: 400 12.5px/1.55 var(--body) !important;
	color: var(--muted) !important;
}

html body.dt-co--checkout .woocommerce-privacy-policy-text a,
html body.dt-co--checkout .woocommerce-terms-and-conditions-link {
	color: var(--ink) !important;
	text-decoration: underline !important;
	text-underline-offset: 2px;
}

html body.dt-co--checkout .woocommerce-terms-and-conditions {
	padding: 16px !important;
	border: 0 !important;
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.8);
	box-shadow: inset 0 0 0 1px var(--line);
	font: 400 13px/1.55 var(--body);
}

html body.dt-co--checkout .woocommerce-terms-and-conditions-wrapper .form-row.validate-required label {
	font-size: 13.5px !important;
}

html body.dt-co--checkout .woocommerce-terms-and-conditions-wrapper abbr.required {
	color: #d14343;
	text-decoration: none;
	border: 0;
}

html body.dt-co--checkout #place_order {
	position: relative;
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100% !important;
	height: 62px !important;
	margin: 0 !important;
	padding: 0 28px !important;
	float: none !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: linear-gradient(145deg, #2a2a2c, #0a0a0a) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28), 0 18px 36px -16px rgba(10, 10, 10, 0.6) !important;
	font: 600 17px/1 var(--body) !important;
	letter-spacing: -0.01em !important;
	color: #fff !important;
	text-transform: none !important;
	overflow: hidden;
	cursor: pointer;
	transition: transform 0.5s var(--ease), box-shadow 0.5s var(--ease), opacity 0.3s !important;
}

html body.dt-co--checkout #place_order::before {
	content: "";
	flex: none;
	width: 19px;
	height: 19px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='10.5' width='14' height='10' rx='2.5'/%3E%3Cpath d='M8.5 10.5V8a3.5 3.5 0 0 1 7 0v2.5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='10.5' width='14' height='10' rx='2.5'/%3E%3Cpath d='M8.5 10.5V8a3.5 3.5 0 0 1 7 0v2.5'/%3E%3C/svg%3E") center / contain no-repeat;
}

html body.dt-co--checkout #place_order:hover {
	transform: translateY(-2px);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28), 0 24px 44px -16px rgba(10, 10, 10, 0.65) !important;
}

html body.dt-co--checkout #place_order:active {
	transform: scale(0.98);
}

html body.dt-co--checkout #place_order:disabled {
	opacity: 0.6;
	cursor: progress;
}

/* Summary column ------------------------------------------------------- */

html body.dt-co--checkout .dt-co-aside {
	position: sticky;
	top: calc(72px + 14px + var(--sticky-top));
	display: grid;
	gap: 18px;
	min-width: 0;
}

html body.dt-co--checkout .dt-co-summary {
	--r: 32px;
	padding: 26px 26px 22px;
	animation: dt-co-up 0.9s 0.1s var(--ease) both;
}

html body.dt-co--checkout .dt-co-sumtoggle {
	display: none;
}

html body.dt-co--checkout .dt-co-summary__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 18px;
}

html body.dt-co--checkout .dt-co-summary__head h2 {
	margin: 0 !important;
	font-size: 23px !important;
	font-weight: 800 !important;
	line-height: 1.1 !important;
	letter-spacing: -0.035em !important;
}

html body.dt-co--checkout .dt-co-summary__count {
	font: 500 13.5px/1 var(--body);
	color: var(--muted);
}

html body.dt-co--checkout .dt-co-summary .glozin-free-shipping-bar {
	margin: 0 0 16px !important;
}

html body.dt-co--checkout #order_review,
html body.dt-co--checkout #order_review_heading {
	position: static !important;
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
}

html body.dt-co--checkout .woocommerce-checkout-review-order-table thead {
	display: none !important;
}

html body.dt-co--checkout .woocommerce-checkout-review-order-table tbody {
	display: grid;
	gap: 16px;
	max-height: 360px;
	margin: -8px -8px 0 0;
	padding: 8px 8px 16px 0;
	overflow-y: auto;
	border-bottom: 1px solid var(--line);
	scrollbar-width: thin;
}

html body.dt-co--checkout .woocommerce-checkout-review-order-table tr.cart_item {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: start;
	gap: 12px;
	border: 0 !important;
	background: none !important;
}

html body.dt-co--checkout .woocommerce-checkout-review-order-table tr.cart_item > td {
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
}

html body.dt-co--checkout .woocommerce-checkout-review-order-table td.product-name {
	display: grid !important;
	grid-template-columns: 66px minmax(0, 1fr);
	grid-template-areas: "img name" "img meta" "img price";
	align-content: start;
	column-gap: 14px;
	row-gap: 2px;
	font: 600 14px/1.35 var(--body) !important;
	color: var(--ink) !important;
	text-align: left !important;
}

html body.dt-co--checkout .checkout-review-product-image {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	grid-area: img;
	display: block;
	width: 66px;
	height: 66px;
	margin: 0 !important;
	border-radius: 18px;
	background: var(--stone);
	box-shadow: inset 0 0 0 1px rgba(10, 10, 10, 0.04);
}

html body.dt-co--checkout .checkout-review-product-image img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	border-radius: 18px !important;
	mix-blend-mode: multiply;
}

html body.dt-co--checkout .checkout-review-product-image .product-quantity {
	position: absolute !important;
	top: -6px !important;
	right: -6px !important;
	left: auto !important;
	display: grid !important;
	place-items: center;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	border-radius: 999px;
	background: var(--ink) !important;
	box-shadow: 0 0 0 2.5px #fff;
	font: 700 11.5px/1 var(--body) !important;
	color: #fff !important;
	transform: none !important;
	margin: 0 !important;
}

html body.dt-co--checkout .checkout-review-product-name {
	grid-area: name;
	display: block;
	font: 600 14px/1.35 var(--body);
	color: var(--ink);
}

html body.dt-co--checkout .woocommerce-checkout-review-order-table td.product-name dl.variation {
	grid-area: meta;
	display: flex;
	flex-wrap: wrap;
	gap: 3px;
	margin: 0 !important;
	font: 500 12.5px/1.35 var(--body);
	color: var(--muted);
}

html body.dt-co--checkout .woocommerce-checkout-review-order-table td.product-name dl.variation :is(dt, dd, dd p) {
	display: inline;
	float: none;
	margin: 0 !important;
	padding: 0 !important;
	font: inherit !important;
	color: inherit !important;
}

html body.dt-co--checkout .checkout-review-product-price {
	grid-area: price;
	display: none !important;
}

html body.dt-co--checkout .woocommerce-checkout-review-order-table td.product-total {
	font: 700 14.5px/1.35 var(--body) !important;
	color: var(--ink) !important;
	text-align: right !important;
	white-space: nowrap;
}

html body.dt-co--checkout .woocommerce-checkout-review-order-table tfoot {
	padding-top: 6px;
}

/* Discount code. */
html body.dt-co--checkout .dt-co-coupon {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 8px;
	margin: 16px 0 0;
}

html body.dt-co--checkout .dt-co-coupon__field {
	display: flex !important;
	align-items: center;
	gap: 10px;
	height: 50px !important;
	padding: 0 14px !important;
}

html body.dt-co--checkout .dt-co-coupon__field .dt-co-icon {
	width: 17px;
	height: 17px;
	color: var(--muted);
}

html body.dt-co--checkout .dt-co-coupon__field input {
	flex: 1;
	min-width: 0;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
	font: 500 15px/1 var(--body) !important;
	color: var(--ink) !important;
}

html body.dt-co--checkout .dt-co-coupon__field input:focus {
	outline: 0;
}

html body.dt-co--checkout .dt-co-coupon__btn {
	height: 50px;
	padding: 0 20px;
	border: 0;
	border-radius: 16px;
	background: var(--ink);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22);
	font: 600 14px/1 var(--body);
	color: #fff;
	cursor: pointer;
	transition: transform 0.4s var(--ease), opacity 0.3s;
}

html body.dt-co--checkout .dt-co-coupon__btn:hover {
	transform: translateY(-1px);
}

html body.dt-co--checkout .dt-co-coupon__btn[disabled] {
	opacity: 0.6;
	cursor: progress;
}

html body.dt-co--checkout .dt-co-coupon__msg {
	grid-column: 1 / -1;
	font: 500 13px/1.4 var(--body);
}

html body.dt-co--checkout .dt-co-coupon__msg:empty {
	display: none;
}

html body.dt-co--checkout .dt-co-coupon__msg.is-error {
	color: var(--red);
}

html body.dt-co--checkout .dt-co-coupon__msg.is-success {
	color: var(--green-deep);
}

html body.dt-co--checkout .dt-co-coupon__msg :is(ul, .woocommerce-error, .woocommerce-message) {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
	color: inherit !important;
	list-style: none;
}

html body.dt-co--checkout .dt-co-coupon__msg :is(.woocommerce-error, .woocommerce-message)::before {
	display: none !important;
}

html body.dt-co--checkout .dt-co-summary .dt-co-delivery {
	margin-top: 16px;
}

html body.dt-co--checkout .dt-co-aside > .dt-co-pay img {
	max-width: 300px;
	opacity: 0.9;
}

html body.dt-co--checkout .gz-checkout-information-box {
	margin-top: 16px !important;
	padding-top: 16px !important;
}

/* Slim footer. */
html body.dt-co:is(.dt-co--checkout, .dt-co--received) #site-footer {
	border: 0 !important;
	background: transparent !important;
}

html body.dt-co .dt-co-foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px 24px;
	max-width: 1240px;
	margin: 0 auto;
	padding: 26px 32px 34px;
	border-top: 1px solid var(--line);
	font: 500 13px/1.5 var(--body);
	color: var(--muted);
}

html body.dt-co .dt-co-foot__help {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin: 0;
}

html body.dt-co .dt-co-foot__help .dt-co-icon {
	width: 17px;
	height: 17px;
	color: var(--ink);
}

html body.dt-co .dt-co-foot a {
	color: var(--ink-2);
	text-decoration: none;
}

html body.dt-co .dt-co-foot a:hover {
	color: var(--ink);
	text-decoration: underline;
}

html body.dt-co .dt-co-foot__links {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* =========================================================================
 * 9. Notices
 * ====================================================================== */

html body.dt-co #site-content :is(.woocommerce-error, .woocommerce-message, .woocommerce-info):not(.dt-co-coupon__msg *) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 12px;
	margin: 0 0 18px !important;
	padding: 16px 20px !important;
	border: 0 !important;
	border-radius: 20px !important;
	background: rgba(255, 255, 255, 0.85) !important;
	box-shadow: inset 0 0 0 1px var(--line-2), 0 14px 34px -22px rgba(10, 10, 10, 0.3) !important;
	font: 500 14.5px/1.5 var(--body) !important;
	color: var(--ink) !important;
	list-style: none;
}

html body.dt-co #site-content .woocommerce-error {
	background: #fdf3f3 !important;
	box-shadow: inset 0 0 0 1px rgba(194, 59, 59, 0.22) !important;
}

html body.dt-co #site-content .woocommerce-message {
	background: #effaf1 !important;
	box-shadow: inset 0 0 0 1px rgba(26, 128, 48, 0.2) !important;
}

html body.dt-co #site-content .woocommerce-error li {
	width: 100%;
	margin: 0 !important;
}

html body.dt-co #site-content :is(.woocommerce-error, .woocommerce-message, .woocommerce-info) .button {
	order: 2;
	margin-left: auto !important;
	height: 38px !important;
	padding: 0 16px !important;
	border-radius: 999px !important;
	font: 600 13px/38px var(--body) !important;
	text-transform: none !important;
}

/* =========================================================================
 * 10. Order received
 * ====================================================================== */

html body.dt-co--received .woocommerce-order {
	padding-bottom: 80px;
}

html body.dt-co--received .woocommerce-order > p.woocommerce-thankyou-order-received {
	display: none;
}

html body.dt-co--received ul.woocommerce-order-overview {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
	gap: 12px;
	margin: 0 0 28px !important;
	padding: 0 !important;
	list-style: none;
}

html body.dt-co--received ul.woocommerce-order-overview li {
	margin: 0 !important;
	padding: 18px 20px !important;
	border: 0 !important;
	border-radius: 22px;
	background: rgba(255, 255, 255, 0.8);
	box-shadow: var(--card-shadow);
	font: 500 12px/1.4 var(--body) !important;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--muted) !important;
}

html body.dt-co--received ul.woocommerce-order-overview li strong {
	display: block;
	margin-top: 6px;
	font: 700 16px/1.3 var(--display) !important;
	letter-spacing: -0.01em;
	text-transform: none;
	color: var(--ink) !important;
}

html body.dt-co--received :is(.woocommerce-order-details, .woocommerce-customer-details) {
	margin: 0 0 20px !important;
	padding: 28px 30px !important;
	border-radius: 30px;
	background: linear-gradient(145deg, rgba(255, 255, 255, 0.82), rgba(255, 255, 255, 0.56));
	box-shadow: var(--card-shadow);
}

html body.dt-co--received :is(.woocommerce-order-details, .woocommerce-customer-details) h2 {
	margin: 0 0 16px !important;
	font-size: 22px !important;
	font-weight: 800 !important;
	letter-spacing: -0.03em !important;
}

html body.dt-co--received .woocommerce-customer-details address {
	padding: 0 !important;
	border: 0 !important;
	font: 400 15px/1.6 var(--body);
}

/* =========================================================================
 * 11. Phones: sticky checkout bar on the cart
 * ====================================================================== */

html body.dt-co .dt-co-mbar {
	display: none;
}

/* =========================================================================
 * Responsive
 * ====================================================================== */

@media (max-width: 1100px) {
	html body.dt-co .dt-co-rail__track {
		grid-auto-columns: calc((100% - 2 * 18px) / 3);
	}

	html body.dt-co .dt-co-trust {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	html body.dt-co .dt-co-trust--compact {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 1023px) {
	/* The site switches to its mobile header here (46px logo). */
	html body.dt-co .dt-co-bar__logo img {
		height: 46px;
		transform: translateY(4px);
	}

	html body.dt-co--cart .woocommrece-cart-content,
	html body.dt-co--checkout form.dt-co-layout,
	html body.dt-co--checkout .dt-co-pre {
		grid-template-columns: minmax(0, 1fr);
	}

	html body.dt-co--cart .cart-collaterals {
		position: static;
	}

	/* Checkout: summary first, collapsed behind a toggle. */
	html body.dt-co--checkout .dt-co-aside {
		position: static;
		order: -1;
	}

	html body.dt-co--checkout .dt-co-summary {
		padding: 0;
	}

	html body.dt-co--checkout .dt-co-sumtoggle {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		width: 100%;
		min-height: 64px;
		margin: 0;
		padding: 0 22px;
		border: 0;
		background: none;
		font: 600 14.5px/1.2 var(--body);
		color: var(--ink);
		text-align: left;
		cursor: pointer;
	}

	html body.dt-co--checkout .dt-co-sumtoggle__label {
		display: inline-flex;
		align-items: center;
		gap: 10px;
	}

	html body.dt-co--checkout .dt-co-sumtoggle__label .dt-co-icon {
		width: 19px;
		height: 19px;
	}

	html body.dt-co--checkout .dt-co-sumtoggle__chev {
		width: 16px !important;
		height: 16px !important;
		transition: transform 0.4s var(--ease);
	}

	html body.dt-co--checkout .dt-co-sumtoggle[aria-expanded="true"] .dt-co-sumtoggle__chev {
		transform: rotate(180deg);
	}

	html body.dt-co--checkout .dt-co-sumtoggle__total,
	html body.dt-co--checkout .dt-co-sumtoggle__total strong {
		font: 800 19px/1 var(--display) !important;
		letter-spacing: -0.03em;
		color: var(--ink);
	}

	html body.dt-co--checkout .dt-co-summary__head {
		display: none;
	}

	html body.dt-co--checkout .dt-co-summary__body {
		display: grid;
		grid-template-rows: 0fr;
		transition: grid-template-rows 0.5s var(--ease);
	}

	html body.dt-co--checkout .dt-co-summary__body > * {
		min-height: 0;
	}

	html body.dt-co--checkout .dt-co-summary.is-open .dt-co-summary__body {
		grid-template-rows: 1fr;
	}

	html body.dt-co--checkout .dt-co-summary__inner {
		min-height: 0;
		overflow: hidden;
	}

	html body.dt-co--checkout .dt-co-summary__inner > :first-child {
		margin-top: 4px;
	}

	html body.dt-co--checkout .dt-co-summary__pad {
		padding: 0 22px 22px;
	}

	html body.dt-co--checkout .dt-co-aside > .dt-co-trust,
	html body.dt-co--checkout .dt-co-aside > .dt-co-pay {
		display: none;
	}

	html body.dt-co--checkout .woocommerce-checkout-review-order-table tbody {
		max-height: none;
	}

	html body.dt-co--cart .dt-co-mbar {
		position: fixed;
		right: 12px;
		bottom: calc(12px + env(safe-area-inset-bottom));
		left: 12px;
		z-index: 60;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 14px;
		padding: 8px 8px 8px 20px;
		border-radius: 999px;
		opacity: 0;
		visibility: hidden;
		transform: translateY(24px) scale(0.98);
		transition: transform 0.5s var(--ease), opacity 0.35s var(--ease), visibility 0s linear 0.5s;
	}

	html body.dt-co--cart.mobile-has-navigation-bar .dt-co-mbar {
		bottom: calc(76px + env(safe-area-inset-bottom));
	}

	html body.dt-co--cart .dt-co-mbar.is-on {
		opacity: 1;
		visibility: visible;
		transform: none;
		transition: transform 0.5s var(--ease), opacity 0.35s var(--ease), visibility 0s;
	}

	html body.dt-co--cart .dt-co-mbar__total {
		display: flex;
		flex-direction: column;
		gap: 2px;
		font: 500 11.5px/1.2 var(--body);
		color: var(--muted);
	}

	html body.dt-co--cart .dt-co-mbar__total b {
		font: 800 19px/1 var(--display);
		letter-spacing: -0.03em;
		color: var(--ink);
	}

	html body.dt-co--cart .dt-co-mbar .dt-btn {
		height: 50px;
		padding: 0 22px;
		font-size: 15px;
	}

	html body.dt-co--cart .dt-co-mbar .dt-btn .dt-co-icon {
		width: 17px;
		height: 17px;
	}
}

@media (max-width: 860px) {
	html body.dt-co #site-content > .container-xxl,
	html body.dt-co #site-content > .container {
		padding-inline: 16px;
	}

	html body.dt-co .dt-co-hero {
		padding: 30px 0 24px;
	}

	html body.dt-co .dt-co-steps {
		order: -1;
	}

	html body.dt-co .dt-co-glass-lite,
	html body.dt-co .dt-glass,
	html body.dt-co--cart table.shop_table.cart,
	html body.dt-co--cart .cart_totals {
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	html body.dt-co .dt-glass {
		background: linear-gradient(145deg, rgba(255, 255, 255, 0.94) 0%, rgba(255, 255, 255, 0.78) 50%, rgba(255, 255, 255, 0.7) 100%);
	}

	html body.dt-co .dt-glass--dark {
		background: linear-gradient(145deg, #2a2a2c, #0a0a0a);
	}

	html body.dt-co .dt-co-bar {
		padding: 10px 12px 0;
	}

	html body.dt-co .dt-co-bar__in {
		height: 62px;
		padding: 0 6px;
	}

	html body.dt-co .dt-co-bar__back,
	html body.dt-co .dt-co-bar__secure {
		width: 44px;
		padding: 0;
		justify-content: center;
	}

	html body.dt-co .dt-co-bar__back span,
	html body.dt-co .dt-co-bar__secure span {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
	}

	html body.dt-co .dt-co-bar__logo img {
		height: 46px;
		transform: translateY(4px);
	}

	html body.dt-co--checkout .dt-co-step {
		--r: 28px;
		padding: 22px 18px 22px;
	}

	html body.dt-co--checkout .dt-co-step__aside {
		width: 100%;
		margin-left: 50px;
		margin-top: -6px;
	}

	html body.dt-co--checkout .dt-co-step__head {
		margin-bottom: 18px;
	}

	/* The bar already says it; keep the form higher on phones. */
	html body.dt-co--checkout .dt-co-hero .dt-pill {
		display: none;
	}

	html body.dt-co--checkout .dt-co-title {
		margin-top: 4px !important;
	}

	html body.dt-co .dt-co-rail__track {
		grid-auto-columns: 62%;
		gap: 14px;
	}

	html body.dt-co .dt-co-rail__nav {
		display: none;
	}

	html body.dt-co .dt-co-rail {
		margin-top: 52px;
		padding-bottom: 120px;
	}

	html body.dt-co .dt-co-empty {
		padding: 28px 0 90px;
	}

	html body.dt-co .dt-co-empty__card {
		--r: 32px;
		padding: 40px 20px 32px;
	}

	html body.dt-co .dt-co-foot {
		flex-direction: column;
		align-items: flex-start;
		padding: 22px 16px 30px;
	}
}

@media (max-width: 640px) {
	html body.dt-co--cart table.shop_table.cart {
		padding: 4px 16px 4px;
		border-radius: 28px;
	}

	html body.dt-co--cart table.shop_table.cart tr.cart_item {
		grid-template-columns: 92px minmax(0, 1fr);
		grid-template-areas: "thumb name" "thumb foot";
		gap: 10px 14px;
		padding: 18px 0;
		align-items: start;
	}

	html body.dt-co--cart table.shop_table.cart tr.cart_item > td.product-thumbnail {
		grid-row: 1 / span 2;
	}

	html body.dt-co--cart table.shop_table.cart tr.cart_item > td.product-thumbnail a {
		border-radius: 18px;
	}

	html body.dt-co--cart table.shop_table.cart tr.cart_item > td.product-quantity {
		grid-area: foot;
		align-self: end;
	}

	html body.dt-co--cart table.shop_table.cart tr.cart_item > td.product-subtotal {
		grid-area: foot;
		align-self: end;
		justify-self: end;
		padding-bottom: 10px !important;
		font-size: 16.5px !important;
	}

	html body.dt-co--cart table.shop_table.cart tr.cart_item > td.product-name > a {
		font-size: 15.5px !important;
	}

	html body.dt-co--cart table.shop_table.cart tr.cart_item > td.product-name .product-remove {
		top: 16px !important;
	}

	html body.dt-co--cart table.shop_table.cart .product-remove a.remove {
		width: 30px !important;
		height: 30px !important;
	}

	html body.dt-co--cart .dt-co-item__stock {
		display: none;
	}

	html body.dt-co #site-content .quantity {
		height: 40px !important;
	}

	html body.dt-co #site-content .quantity .glozin-qty-button {
		width: 30px !important;
		height: 30px !important;
	}

	html body.dt-co--cart table.shop_table.cart .coupon {
		flex-basis: 100%;
		max-width: none;
	}

	html body.dt-co--cart .gz-cart-actions-coupon-update-cart > button.gz-button-update-cart {
		width: 100%;
	}

	html body.dt-co--cart .cart_totals {
		padding: 22px 18px 20px !important;
		border-radius: 28px !important;
	}

	html body.dt-co .dt-co-trust {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	html body.dt-co .dt-co-trust:not(.dt-co-trust--compact) .dt-co-trust__item {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
		padding: 14px;
	}

	html body.dt-co .dt-co-trust:not(.dt-co-trust--compact) .dt-co-trust__icon {
		width: 36px;
		height: 36px;
		border-radius: 12px;
	}

	html body.dt-co--cart table.shop_table.cart .coupon button.button {
		padding: 0 16px !important;
		font-size: 13.5px !important;
	}

	html body.dt-co .dt-co-trust--compact {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	html body.dt-co--checkout :is(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper) {
		gap: 14px 10px;
	}

	html body.dt-co--checkout #payment ul.payment_methods > li > label {
		padding-left: 50px !important;
	}

	html body.dt-co--checkout #payment ul.payment_methods > li > input[type="radio"] {
		left: 18px;
	}

	html body.dt-co--checkout #payment .payment_box {
		padding: 0 16px 18px 18px !important;
	}

	html body.dt-co .dt-co-rail__head {
		align-items: flex-start;
	}
}

@media (max-width: 400px) {
	html body.dt-co--checkout :is(#billing_postcode_field, #billing_city_field, #shipping_postcode_field, #shipping_city_field) {
		grid-column: 1 / -1 !important;
	}

	html body.dt-co .dt-co-steps__item > :is(a, span) {
		padding: 0 10px 0 5px;
		font-size: 12.5px;
	}

	html body.dt-co .dt-co-steps__item + .dt-co-steps__item::before {
		width: 10px;
	}
}

/* =========================================================================
 * Keyframes
 * ====================================================================== */

@keyframes dt-co-pulse {
	0%,
	100% {
		box-shadow: 0 0 0 4px rgba(76, 217, 100, 0.18);
	}
	50% {
		box-shadow: 0 0 0 7px rgba(76, 217, 100, 0.06);
	}
}

@keyframes dt-co-rise {
	from {
		transform: translateY(105%);
	}
	to {
		transform: none;
	}
}

@keyframes dt-co-fade {
	from {
		opacity: 0;
		transform: translateY(10px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes dt-co-up {
	from {
		opacity: 0;
		transform: translateY(18px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes dt-co-drift {
	0% {
		transform: translate3d(0, 0, 0) scale(1);
	}
	100% {
		transform: translate3d(60px, 40px, 0) scale(1.12);
	}
}

@keyframes dt-co-float {
	0%,
	100% {
		transform: translateY(0) rotate(-2deg);
	}
	50% {
		transform: translateY(-8px) rotate(2deg);
	}
}

@keyframes dt-co-sheen {
	0% {
		background-position: 160% 0;
	}
	60%,
	100% {
		background-position: -60% 0;
	}
}

@keyframes dt-co-pop {
	0% {
		opacity: 0;
		transform: rotate(45deg) scale(0.3);
	}
	100% {
		opacity: 1;
		transform: rotate(45deg) scale(1);
	}
}

/* =========================================================================
 * Order pay — the payment step after "Place order" (order-receipt.php)
 * ====================================================================== */

html body.dt-co--pay .dt-co-paylayout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(340px, 400px);
	gap: 24px;
	align-items: start;
	padding: 0 0 72px;
}

html body.dt-co--pay .dt-co-step--pay {
	animation: dt-co-up 0.9s var(--ease) both;
}

/* The gateway's form: PayPlus prints a 70vw / 75vh iframe and submits a
   form into it. It fills the card here, fading in once its page has
   loaded (dt-checkout.js); three dots hold its place until then. */
html body.dt-co--pay .dt-co-payframe {
	position: relative;
	min-height: 220px;
	border-radius: 22px;
	background: #fff;
	box-shadow: inset 0 0 0 1px var(--line-2);
	overflow: hidden;
	isolation: isolate;
}

html body.dt-co--pay .dt-co-payframe iframe {
	display: block !important;
	width: 100% !important;
	min-height: 560px;
	border: 0 !important;
	opacity: 0;
	transition: opacity 0.6s var(--ease);
}

html body.dt-co--pay .dt-co-payframe.is-loaded iframe {
	opacity: 1;
}

html body.dt-co--pay .dt-co-payframe__loader {
	position: absolute;
	inset: 0;
	z-index: -1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: linear-gradient(110deg, #fff 30%, #f4f6f3 50%, #fff 70%) 0 0 / 220% 100%;
	animation: dt-co-shimmer 1.6s linear infinite;
	transition: opacity 0.4s var(--ease);
}

html body.dt-co--pay .dt-co-payframe__loader i {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--ink);
	animation: dt-co-paydot 1.05s cubic-bezier(0.45, 0, 0.55, 1) infinite;
}

html body.dt-co--pay .dt-co-payframe__loader i:nth-child(2) {
	animation-delay: 0.14s;
	background: var(--green-deep);
}

html body.dt-co--pay .dt-co-payframe__loader i:nth-child(3) {
	animation-delay: 0.28s;
	background: var(--green);
}

html body.dt-co--pay .dt-co-payframe.is-loaded .dt-co-payframe__loader {
	opacity: 0;
	animation: none;
}

@keyframes dt-co-paydot {
	0%, 80%, 100% {
		transform: translateY(0) scale(0.72);
		opacity: 0.45;
	}

	40% {
		transform: translateY(-7px) scale(1);
		opacity: 1;
	}
}

@keyframes dt-co-shimmer {
	from {
		background-position: 100% 0;
	}

	to {
		background-position: -120% 0;
	}
}

html body.dt-co--pay .dt-co-paynote {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 16px 2px 0 !important;
	font: 400 13px/1.5 var(--body);
	color: var(--muted);
}

html body.dt-co--pay .dt-co-paynote .dt-co-icon {
	flex: none;
	width: 18px;
	height: 18px;
	margin-top: 1px;
	color: var(--green-deep);
}

/* The gateway printed nothing. */
html body.dt-co--pay .dt-co-payerr {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 22px;
	border-radius: 22px;
	background: #fff;
	box-shadow: inset 0 0 0 1px rgba(194, 59, 59, 0.22), 0 18px 40px -26px rgba(194, 59, 59, 0.45);
	animation: dt-co-up 0.7s var(--ease) both;
}

html body.dt-co--pay .dt-co-payerr__icon {
	display: grid;
	flex: none;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 14px;
	background: rgba(194, 59, 59, 0.1);
	color: var(--red);
}

html body.dt-co--pay .dt-co-payerr__icon .dt-co-icon {
	width: 22px;
	height: 22px;
}

html body.dt-co--pay .dt-co-payerr__body {
	min-width: 0;
}

html body.dt-co--pay .dt-co-payerr h3 {
	margin: 0 0 6px !important;
	font: 700 18px/1.25 var(--display) !important;
	letter-spacing: -0.02em !important;
	color: var(--ink) !important;
}

html body.dt-co--pay .dt-co-payerr p {
	margin: 0 !important;
	font: 400 14px/1.55 var(--body);
	color: var(--muted);
}

html body.dt-co--pay .dt-co-payerr__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 18px;
	margin-top: 18px;
}

html body.dt-co--pay .dt-co-payerr__admin {
	margin-top: 18px;
	padding-top: 14px;
	border-top: 1px dashed var(--line-2);
	font: 400 12.5px/1.5 var(--body);
	color: var(--muted);
}

html body.dt-co--pay .dt-co-payerr__admin summary {
	font-weight: 600;
	color: var(--ink-2);
	cursor: pointer;
}

html body.dt-co--pay .dt-co-payerr__admin > div {
	max-height: 260px;
	margin-top: 10px;
	overflow: auto;
	overflow-wrap: anywhere;
}

html body.dt-co--pay .dt-co-payerr__admin pre {
	white-space: pre-wrap;
	font-size: 11.5px;
}

/* Summary: items + order facts. */
html body.dt-co--pay .dt-co-payitems {
	display: grid;
	gap: 14px;
	margin: 0 !important;
	padding: 0 0 16px !important;
	border-bottom: 1px solid var(--line);
	list-style: none;
}

html body.dt-co--pay .dt-co-payitem {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
	margin: 0;
}

html body.dt-co--pay .dt-co-payitem__media {
	position: relative;
	width: 56px;
	height: 56px;
	border-radius: 14px;
	background: #f4f5f7;
	box-shadow: inset 0 0 0 1px rgba(10, 10, 10, 0.05);
}

html body.dt-co--pay .dt-co-payitem__media img {
	width: 100% !important;
	height: 100% !important;
	border-radius: 14px;
	object-fit: contain;
}

html body.dt-co--pay .dt-co-payitem__qty {
	position: absolute;
	top: -6px;
	right: -6px;
	display: grid;
	place-items: center;
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	border-radius: 999px;
	background: var(--ink);
	font: 700 11px/1 var(--body);
	color: #fff;
}

html body.dt-co--pay .dt-co-payitem__text {
	display: grid;
	gap: 3px;
	min-width: 0;
}

html body.dt-co--pay .dt-co-payitem__name {
	font: 600 13.5px/1.35 var(--body);
	color: var(--ink);
}

html body.dt-co--pay .dt-co-payitem__meta {
	font: 400 12px/1.4 var(--body);
	color: var(--muted);
}

html body.dt-co--pay .dt-co-payitem__total {
	font: 600 14px/1 var(--body);
	color: var(--ink);
	white-space: nowrap;
}

html body.dt-co--pay ul.order_details.dt-co-receipt {
	display: grid;
	gap: 10px;
	margin: 16px 0 !important;
	padding: 0 !important;
	border: 0 !important;
	list-style: none;
}

html body.dt-co--pay ul.order_details.dt-co-receipt::before,
html body.dt-co--pay ul.order_details.dt-co-receipt::after {
	content: none !important;
}

html body.dt-co--pay ul.order_details.dt-co-receipt li {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	font: 400 13.5px/1.4 var(--body) !important;
	text-transform: none !important;
	color: var(--muted) !important;
}

html body.dt-co--pay ul.order_details.dt-co-receipt li strong {
	display: inline !important;
	font: 600 13.5px/1.4 var(--body) !important;
	color: var(--ink) !important;
	text-align: right;
}

html body.dt-co--pay ul.order_details.dt-co-receipt li.total {
	margin-top: 6px !important;
	padding-top: 14px !important;
	border-top: 1px solid var(--line) !important;
	font-weight: 600 !important;
	color: var(--ink) !important;
}

html body.dt-co--pay ul.order_details.dt-co-receipt li.total strong {
	font: 800 26px/1 var(--display) !important;
	letter-spacing: -0.03em;
}

@media (max-width: 1023px) {
	html body.dt-co--pay .dt-co-paylayout {
		grid-template-columns: minmax(0, 1fr);
	}

	/* The checkout collapses its summary behind a toggle on top; here the
	   payment comes first and the summary stays open below it. */
	html body.dt-co--pay .dt-co-aside {
		position: static;
		order: 0;
	}

	html body.dt-co--pay .dt-co-summary {
		padding: 22px 20px 18px;
	}

	html body.dt-co--pay .dt-co-summary__head {
		display: flex;
	}
}

@media (max-width: 860px) {
	/* Four steps on a phone: finished ones shrink to their tick. */
	html body.dt-co--pay .dt-co-steps__item.is-done > :is(a, span) {
		gap: 0;
		padding: 0 6px;
		font-size: 0;
	}

	html body.dt-co--pay .dt-co-steps__item + .dt-co-steps__item::before {
		width: 12px;
	}

	html body.dt-co--pay .dt-co-payframe {
		margin: 0 -6px;
		border-radius: 18px;
	}

	html body.dt-co--pay .dt-co-payframe iframe {
		min-height: 620px;
	}

	html body.dt-co--pay .dt-co-payerr {
		flex-direction: column;
		padding: 18px;
	}
}

@media (prefers-reduced-motion: reduce) {
	html body.dt-co *,
	html body.dt-co *::before,
	html body.dt-co *::after {
		animation: none !important;
		transition: none !important;
	}
}
