/* Green Badger Order Flow V3. All component rules stay inside the Pack root. */
body.dm-gb-order-flow {
	background: #0b0b0a;
}

body.dm-gb-order-flow .site-content > .ast-container,
body.dm-gb-order-flow .site-main,
body.dm-gb-order-flow .entry-content,
body.dm-gb-order-flow .woocommerce {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

body.dm-gb-order-flow .entry-header {
	display: none;
}

.gb-order-flow {
	--gb-order-bg: var(--dm-black, #0b0b0a);
	--gb-order-surface: #11110f;
	--gb-order-surface-2: #1a1a17;
	--gb-order-cream: var(--dm-cream, #f4f1e8);
	--gb-order-muted: var(--dm-muted, #8f9189);
	--gb-order-gold: var(--dm-gold, #b89a5b);
	--gb-order-line: rgba(244, 241, 232, .14);
	--gb-order-line-strong: rgba(184, 154, 91, .42);
	--gb-order-serif: var(--dm-font-display, Georgia, "Times New Roman", serif);
	--gb-order-sans: var(--dm-font-body, Inter, system-ui, -apple-system, "Segoe UI", sans-serif);
	--gb-order-ease: cubic-bezier(.37, 0, .63, 1);
	width: 100%;
	min-height: 70vh;
	background: var(--gb-order-bg);
	color: var(--gb-order-cream);
	font-family: var(--gb-order-sans);
	font-size: 14px;
	letter-spacing: 0;
}

.gb-order-flow *,
.gb-order-flow *::before,
.gb-order-flow *::after {
	box-sizing: border-box;
}

.gb-order-flow .gb-order-page {
	width: min(100%, 1480px);
	margin: 0 auto;
	padding: 54px 54px 120px;
}

.gb-order-flow .gb-order-top {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 40px;
	padding-bottom: 34px;
	border-bottom: 1px solid var(--gb-order-line);
}

.gb-order-flow .gb-order-eyebrow,
.gb-order-flow .gb-order-summary-label,
.gb-order-flow .gb-order-complete-kicker {
	color: var(--gb-order-gold);
	font-size: 10px;
	letter-spacing: .22em;
	text-transform: uppercase;
}

.gb-order-flow .gb-order-top h1 {
	color: var(--gb-order-cream);
	margin: 14px 0 0;
	font-family: var(--gb-order-serif);
	font-size: clamp(62px, 6vw, 94px);
	font-weight: 400;
	letter-spacing: 0;
	line-height: .9;
}

.gb-order-flow .gb-order-back {
	padding-bottom: 4px;
	border-bottom: 1px solid transparent;
	color: var(--gb-order-muted);
	font-size: 10px;
	letter-spacing: .16em;
	text-decoration: none;
}

.gb-order-flow .gb-order-back:hover,
.gb-order-flow .gb-order-back:focus-visible {
	border-color: var(--gb-order-gold);
	color: var(--gb-order-cream);
}

.gb-order-flow .gb-order-steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-bottom: 1px solid var(--gb-order-line);
}

.gb-order-flow .gb-order-step {
	padding: 17px 0;
	color: rgba(244, 241, 232, .38);
	font-size: 10px;
	letter-spacing: .15em;
}

.gb-order-flow .gb-order-step + .gb-order-step {
	padding-left: 28px;
	border-left: 1px solid var(--gb-order-line);
}

.gb-order-flow .gb-order-step span {
	margin-right: 10px;
	color: var(--gb-order-gold);
	font-size: 10px;
	letter-spacing: .22em;
}

.gb-order-flow .gb-order-step:not(.is-active) span {
	color: inherit;
}

.gb-order-flow .gb-order-step.is-active {
	color: var(--gb-order-cream);
}

.gb-order-flow .gb-order-cart-layout,
.gb-order-flow .gb-order-checkout-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(370px, .65fr);
	gap: clamp(54px, 7vw, 118px);
	padding-top: 56px;
}

.gb-order-flow .gb-order-cart-list {
	border-top: 1px solid var(--gb-order-line);
}

.gb-order-flow .gb-order-cart-item {
	display: grid;
	grid-template-columns: 130px minmax(0, 1fr) 150px 120px;
	gap: 28px;
	align-items: center;
	padding: 28px 0;
	border-bottom: 1px solid var(--gb-order-line);
}

.gb-order-flow .gb-order-product-thumb {
	display: block;
	width: 130px;
	aspect-ratio: 1;
	overflow: hidden;
	background: var(--gb-order-surface);
}

.gb-order-flow .gb-order-product-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.gb-order-flow .gb-order-product-type {
	display: block;
	margin-bottom: 9px;
	color: var(--gb-order-gold);
	font-size: 9px;
	letter-spacing: .2em;
}

.gb-order-flow .gb-order-product-info h2 {
	margin: 0;
	color: var(--gb-order-cream);
	font-family: var(--gb-order-serif);
	font-size: 22px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.05;
}

.gb-order-flow .gb-order-variation,
.gb-order-flow .gb-order-variation dl,
.gb-order-flow .gb-order-variation p {
	margin: 12px 0 0;
	color: var(--gb-order-muted);
	font-size: 11px;
}

.gb-order-flow .gb-order-variation dt,
.gb-order-flow .gb-order-variation dd {
	display: inline;
	margin: 0 4px 0 0;
}

.gb-order-flow .gb-order-qty {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
}

.gb-order-flow .gb-order-qty button {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 1px solid var(--gb-order-line);
	border-radius: 0;
	background: transparent;
	color: var(--gb-order-cream);
	cursor: pointer;
}

.gb-order-flow .gb-order-qty .quantity {
	margin: 0;
}

.gb-order-flow .gb-order-fixed-qty {
	min-width: 38px;
	font-family: var(--gb-order-serif);
	font-size: 16px;
	text-align: center;
}

.gb-order-flow .gb-order-qty input.qty {
	width: 38px;
	min-height: 32px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--gb-order-cream);
	font-family: var(--gb-order-serif);
	font-size: 16px;
	text-align: center;
	-moz-appearance: textfield;
}

.gb-order-flow .gb-order-qty input.qty::-webkit-inner-spin-button,
.gb-order-flow .gb-order-qty input.qty::-webkit-outer-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.gb-order-flow .gb-order-item-price {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	text-align: right;
}

.gb-order-flow .gb-order-item-price strong {
	font-family: var(--gb-order-serif);
	font-size: 18px;
	font-weight: 400;
}

.gb-order-flow .gb-order-item-price del {
	color: var(--gb-order-muted);
	font-size: 10px;
}

.gb-order-flow .gb-order-remove {
	margin-top: 10px;
	color: var(--gb-order-muted);
	font-size: 9px;
	letter-spacing: .13em;
	text-decoration: none;
}

.gb-order-flow .gb-order-remove:hover,
.gb-order-flow .gb-order-remove:focus-visible {
	color: var(--gb-order-gold);
}

.gb-order-flow .gb-order-cart-update {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
}

.gb-order-flow .gb-order-summary {
	position: sticky;
	top: 28px;
	align-self: start;
	min-width: 0;
}

.gb-order-flow .gb-order-summary h2 {
	margin: 0 0 24px;
	font-family: var(--gb-order-serif);
	font-size: 32px;
	font-weight: 400;
	letter-spacing: 0;
}

.gb-order-flow .gb-order-summary-lines,
.gb-order-flow .gb-order-review table {
	width: 100%;
	border: 0;
	border-collapse: collapse;
	border-top: 1px solid var(--gb-order-line);
	background: transparent;
}

.gb-order-flow .gb-order-summary-lines > div,
.gb-order-flow .gb-order-review th,
.gb-order-flow .gb-order-review td {
	padding: 16px 0;
	border: 0;
	border-bottom: 1px solid var(--gb-order-line);
	background: transparent;
	color: var(--gb-order-muted);
	font-size: 12px;
	font-weight: 400;
}

.gb-order-flow .gb-order-summary-lines > div {
	display: flex;
	justify-content: space-between;
	gap: 22px;
}

.gb-order-flow .gb-order-summary-lines strong,
.gb-order-flow .gb-order-review td,
.gb-order-flow .gb-order-review .amount {
	color: var(--gb-order-cream);
	font-family: var(--gb-order-serif);
	font-weight: 400;
}

.gb-order-flow .gb-order-review th {
	text-align: left;
}

.gb-order-flow .gb-order-review td {
	text-align: right;
}

.gb-order-flow .gb-order-review thead th {
	color: var(--gb-order-gold);
	font-size: 9px;
	letter-spacing: .15em;
}

.gb-order-flow .gb-order-review .product-name {
	color: var(--gb-order-cream);
	font-family: var(--gb-order-serif);
	font-size: 14px;
	text-align: left;
}

.gb-order-flow .gb-order-review .product-quantity,
.gb-order-flow .gb-order-review .variation {
	color: var(--gb-order-muted);
	font-family: var(--gb-order-sans);
	font-size: 9px;
}

.gb-order-flow .gb-order-review tfoot .order-total th,
.gb-order-flow .gb-order-review tfoot .order-total td {
	padding: 24px 0 28px;
	color: var(--gb-order-cream);
	font-size: 15px;
	letter-spacing: .12em;
}

.gb-order-flow .gb-order-review tfoot .order-total .amount {
	font-size: 30px;
}

.gb-order-flow .gb-order-total {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 20px;
	padding: 24px 0 28px;
}

.gb-order-flow .gb-order-total span {
	font-size: 11px;
	letter-spacing: .15em;
}

.gb-order-flow .gb-order-total strong {
	font-family: var(--gb-order-serif);
	font-size: 30px;
	font-weight: 400;
}

.gb-order-flow .gb-order-benefits {
	margin: 22px 0 28px;
	border-top: 1px solid var(--gb-order-line);
}

.gb-order-flow .gb-order-benefits-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	padding: 18px 0 15px;
	border-bottom: 1px solid var(--gb-order-line);
}

.gb-order-flow .gb-order-benefits-head strong {
	font-family: var(--gb-order-serif);
	font-size: 16px;
	font-weight: 400;
}

.gb-order-flow .gb-order-benefits-head small {
	max-width: 210px;
	color: var(--gb-order-muted);
	font-size: 9px;
	line-height: 1.55;
	text-align: right;
}

.gb-order-flow .gb-order-benefit-row {
	border-bottom: 1px solid var(--gb-order-line);
}

.gb-order-flow .gb-order-benefit-toggle {
	display: grid;
	grid-template-columns: 92px minmax(0, 1fr) auto;
	gap: 18px;
	align-items: center;
	width: 100%;
	padding: 16px 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--gb-order-cream);
	text-align: left;
	cursor: pointer;
}

.gb-order-flow .gb-order-benefit-toggle span:first-child {
	color: var(--gb-order-gold);
	font-size: 9px;
	letter-spacing: .18em;
}

.gb-order-flow .gb-order-benefit-toggle span:nth-child(2) {
	min-width: 0;
	overflow-wrap: anywhere;
	color: var(--gb-order-muted);
	font-size: 10px;
}

.gb-order-flow .gb-order-benefit-toggle span:last-child {
	color: var(--gb-order-gold);
}

.gb-order-flow .gb-order-benefit-panel {
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	transform: translateY(4px);
	transition: max-height 540ms var(--gb-order-ease), opacity 320ms var(--gb-order-ease), transform 460ms var(--gb-order-ease), padding 540ms var(--gb-order-ease);
}

.gb-order-flow .gb-order-benefit-row.is-open .gb-order-benefit-panel {
	max-height: 680px;
	padding: 0 0 18px;
	opacity: 1;
	transform: translateY(0);
}

.gb-order-flow .gb-order-coupon-controls {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 12px;
	align-items: end;
}

.gb-order-flow .gb-order-coupon-controls input {
	width: 100%;
	padding: 10px 0 12px;
	border: 0;
	border-bottom: 1px solid rgba(244, 241, 232, .28);
	border-radius: 0;
	outline: 0;
	background: transparent;
	color: var(--gb-order-cream);
}

.gb-order-flow .gb-order-coupon-controls input:focus {
	border-bottom-color: var(--gb-order-gold);
}

.gb-order-flow .gb-order-coupon-controls button {
	min-height: 40px;
	padding: 0 2px;
	border: 0;
	border-bottom: 1px solid var(--gb-order-gold);
	border-radius: 0;
	background: transparent;
	color: var(--gb-order-gold);
	font-size: 9px;
	letter-spacing: .12em;
	cursor: pointer;
}

.gb-order-flow .gb-order-benefit-message {
	margin-top: 10px;
	color: var(--gb-order-muted);
	font-size: 9px;
	line-height: 1.6;
}

.gb-order-flow .gb-order-benefit-message.is-error {
	color: #c9a47a;
}

.gb-order-flow .gb-order-primary,
.gb-order-flow .gb-order-place-order .place-order .button,
.gb-order-flow .gb-order-mobile-bar a,
.gb-order-flow .gb-order-mobile-bar button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	/* Ground and label handed to the GREENBADGER FRONTEND ACTION
	   AUTHORITY (app-shell.css). This block used to paint a permanent
	   gold slab that turned transparent on hover; the site now works
	   the other way round, and holding a second, inverted copy of the
	   rule here is what made the order flow the odd one out. */
	min-height: var(--gb-btn-h-lg, 58px);
	padding: 0 20px;
	border-radius: 0;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
}

.gb-order-flow .gb-order-notices {
	padding-top: 18px;
}

.gb-order-flow .woocommerce-error,
.gb-order-flow .woocommerce-info,
.gb-order-flow .woocommerce-message {
	margin: 0 0 16px;
	padding: 14px 0;
	border: 0;
	border-bottom: 1px solid var(--gb-order-line-strong);
	border-radius: 0;
	background: transparent;
	color: var(--gb-order-cream);
	font-size: 12px;
}

.gb-order-flow .woocommerce-error::before,
.gb-order-flow .woocommerce-info::before,
.gb-order-flow .woocommerce-message::before {
	display: none;
}

.gb-order-flow .gb-order-checkout-section {
	margin-bottom: 48px;
	padding: 0 0 48px;
	border-bottom: 1px solid var(--gb-order-line);
}

.gb-order-flow .gb-order-section-head {
	display: flex;
	align-items: baseline;
	gap: 18px;
	margin-bottom: 30px;
}

.gb-order-flow .gb-order-section-head span {
	color: var(--gb-order-gold);
	font-family: var(--gb-order-serif);
	font-size: 14px;
}

.gb-order-flow .gb-order-section-head h2 {
	margin: 0;
	font-family: var(--gb-order-serif);
	font-size: 28px;
	font-weight: 400;
	letter-spacing: 0;
}

.gb-order-flow .gb-order-form-stack {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 26px;
}

.gb-order-flow .gb-order-field,
.gb-order-flow .gb-order-field.form-row {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
}

.gb-order-flow .gb-order-field label {
	display: block;
	margin-bottom: 9px;
	color: var(--gb-order-muted);
	font-size: 10px;
	font-weight: 400;
	letter-spacing: .22em;
}

.gb-order-flow .gb-order-field .required {
	border: 0;
	color: var(--gb-order-gold);
	text-decoration: none;
}

.gb-order-flow .gb-order-field input,
.gb-order-flow .gb-order-field select,
.gb-order-flow .gb-order-field textarea {
	width: 100%;
	min-height: 46px;
	padding: 10px 0 14px;
	border: 0;
	border-bottom: 1px solid rgba(244, 241, 232, .23);
	border-radius: 0;
	outline: 0;
	background: transparent;
	color: var(--gb-order-cream);
	font-family: var(--gb-order-sans);
	transition: border-color 450ms var(--gb-order-ease);
}

.gb-order-flow .gb-order-field select option {
	background: var(--gb-order-bg);
	color: var(--gb-order-cream);
}

.gb-order-flow .gb-order-field input:focus,
.gb-order-flow .gb-order-field select:focus,
.gb-order-flow .gb-order-field textarea:focus {
	border-bottom-color: var(--gb-order-gold);
}

.gb-order-flow .gb-order-field input::placeholder {
	color: var(--gb-order-muted);
}

.gb-order-flow .gb-order-field small,
.gb-order-flow .gb-order-postcode > small {
	display: block;
	margin-top: 8px;
	color: var(--gb-order-muted);
	font-size: 9px;
	line-height: 1.6;
}

.gb-order-flow .gb-order-postcode {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 14px;
	align-items: end;
}

.gb-order-flow .gb-order-postcode .gb-order-field {
	grid-column: 1;
}

.gb-order-flow .gb-order-postcode > button {
	grid-column: 2;
	grid-row: 1;
	min-height: 42px;
	padding: 0 2px;
	border: 0;
	border-bottom: 1px solid var(--gb-order-gold);
	border-radius: 0;
	background: transparent;
	color: var(--gb-order-gold);
	font-size: 10px;
	letter-spacing: .1em;
	cursor: pointer;
}

.gb-order-flow .gb-order-postcode > small {
	grid-column: 1 / -1;
	margin-top: -6px;
}

.gb-order-flow .gb-order-postcode > small.is-error {
	color: #c98f73;
}

.gb-order-flow .woocommerce-checkout-payment {
	border-radius: 0;
	background: transparent;
}

.gb-order-flow .woocommerce-checkout-payment .wc_payment_methods {
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--gb-order-line);
	list-style: none;
}

.gb-order-flow .woocommerce-checkout-payment .wc_payment_method {
	padding: 18px 0;
	border-bottom: 1px solid var(--gb-order-line);
}

.gb-order-flow .woocommerce-checkout-payment .wc_payment_method > label {
	color: var(--gb-order-cream);
	font-family: var(--gb-order-serif);
	font-size: 16px;
	cursor: pointer;
}

.gb-order-flow .woocommerce-checkout-payment .payment_box {
	margin: 16px 0 0;
	padding: 0;
	border-radius: 0;
	background: transparent;
	color: var(--gb-order-muted);
	font-size: 11px;
	line-height: 1.8;
}

.gb-order-flow .woocommerce-checkout-payment .payment_box::before {
	display: none;
}

.gb-order-flow .gb-order-place-order .place-order {
	margin: 0;
	padding: 0;
}

.gb-order-flow .gb-order-place-order .woocommerce-terms-and-conditions-wrapper {
	margin-bottom: 18px;
	color: var(--gb-order-muted);
	font-size: 10px;
	line-height: 1.7;
}

.gb-order-flow .gb-order-place-order .place-order .button {
	float: none;
}

/* Existing points engine, visually normalized inside the V3 ledger. */
.gb-order-flow .gb-order-points-slot .scpr,
.gb-order-flow .gb-order-points-slot .scpr__wallet,
.gb-order-flow .gb-order-points-slot .scpr__redeem,
.gb-order-flow .gb-order-points-slot .scpr__tools,
.gb-order-flow .gb-order-points-slot .scpr-checkout-points__head,
.gb-order-flow .gb-order-points-slot .scpr-checkout-points__form,
.gb-order-flow .gb-order-points-slot .scpr-checkout-points__tools {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	background: transparent;
	color: var(--gb-order-cream);
}

.gb-order-flow .gb-order-points-slot .scpr__wallet,
.gb-order-flow .gb-order-points-slot .scpr-checkout-points__head {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 12px;
	padding-bottom: 14px;
}

.gb-order-flow .gb-order-points-slot input {
	border: 0;
	border-bottom: 1px solid rgba(244, 241, 232, .28);
	border-radius: 0;
	background: transparent;
	color: var(--gb-order-cream);
}

.gb-order-flow .gb-order-points-slot button {
	border: 0;
	border-bottom: 1px solid var(--gb-order-gold);
	border-radius: 0;
	background: transparent;
	color: var(--gb-order-gold);
}

.gb-order-flow .gb-order-points-slot p,
.gb-order-flow .gb-order-points-slot span,
.gb-order-flow .gb-order-points-slot small {
	color: var(--gb-order-muted);
}

.gb-order-flow .gb-order-empty {
	min-height: 45vh;
	padding: 72px 0;
	border-bottom: 1px solid var(--gb-order-line);
}

.gb-order-flow .gb-order-empty h2 {
	font-family: var(--gb-order-serif);
	font-size: 34px;
	font-weight: 400;
}

.gb-order-flow .gb-order-empty a {
	color: var(--gb-order-gold);
	font-size: 11px;
	letter-spacing: .12em;
}

.gb-order-flow .gb-order-complete-shell {
	display: grid;
	grid-template-columns: .8fr 1.2fr;
	gap: 90px;
	align-items: center;
	min-height: 70vh;
	padding: 80px 0 100px;
}

.gb-order-flow .gb-order-complete-mark {
	position: relative;
	display: grid;
	place-items: center;
	width: min(420px, 100%);
	aspect-ratio: 1;
	border: 1px solid var(--gb-order-line-strong);
}

.gb-order-flow .gb-order-complete-mark::before,
.gb-order-flow .gb-order-complete-mark::after {
	position: absolute;
	background: var(--gb-order-gold);
	content: "";
}

.gb-order-flow .gb-order-complete-mark::before {
	top: 15%;
	left: 50%;
	width: 1px;
	height: 70%;
}

.gb-order-flow .gb-order-complete-mark::after {
	top: 50%;
	left: 15%;
	width: 70%;
	height: 1px;
}

.gb-order-flow .gb-order-complete-mark span {
	position: relative;
	z-index: 1;
	padding: 18px;
	background: var(--gb-order-bg);
	color: var(--gb-order-gold);
	font-family: var(--gb-order-serif);
	font-size: 92px;
}

.gb-order-flow .gb-order-complete-content h1 {
	margin: 14px 0 0;
	font-family: var(--gb-order-serif);
	font-size: clamp(64px, 7vw, 110px);
	font-weight: 400;
	letter-spacing: 0;
	line-height: .9;
}

.gb-order-flow .gb-order-complete-content > p,
.gb-order-flow .gb-order-complete-message > p {
	max-width: 650px;
	margin: 28px 0 34px;
	color: var(--gb-order-muted);
	font-size: 14px;
	line-height: 1.9;
}

.gb-order-flow .gb-order-ledger {
	max-width: 720px;
	border-top: 1px solid var(--gb-order-line);
}

.gb-order-flow .gb-order-ledger > div {
	display: grid;
	grid-template-columns: 160px minmax(0, 1fr);
	gap: 28px;
	padding: 15px 0;
	border-bottom: 1px solid var(--gb-order-line);
}

.gb-order-flow .gb-order-ledger span {
	color: var(--gb-order-muted);
	font-size: 10px;
	letter-spacing: .13em;
}

.gb-order-flow .gb-order-ledger strong {
	overflow-wrap: anywhere;
	font-family: var(--gb-order-serif);
	font-size: 15px;
	font-weight: 400;
}

.gb-order-flow .gb-order-complete-actions {
	display: flex;
	align-items: center;
	gap: 28px;
	margin-top: 34px;
}

.gb-order-flow .gb-order-complete-actions a {
	padding-bottom: 4px;
	border-bottom: 1px solid var(--gb-order-gold);
	color: var(--gb-order-cream);
	font-size: 10px;
	letter-spacing: .15em;
	text-decoration: none;
}

.gb-order-flow .gb-order-complete-actions a.is-secondary {
	border-color: transparent;
	color: var(--gb-order-muted);
}

.gb-order-flow .gb-order-mobile-bar {
	display: none;
}

@media (max-width: 900px) {
	.gb-order-flow .gb-order-page {
		padding: 38px 20px 150px;
	}

	.gb-order-flow .gb-order-top {
		align-items: flex-start;
		flex-direction: column;
	}

	.gb-order-flow .gb-order-top h1 {
		font-size: 60px;
	}

	.gb-order-flow .gb-order-step {
		font-size: 9px;
	}

	.gb-order-flow .gb-order-step + .gb-order-step {
		padding-left: 12px;
	}

	.gb-order-flow .gb-order-step span {
		display: block;
		margin: 0 0 5px;
	}

	.gb-order-flow .gb-order-cart-layout,
	.gb-order-flow .gb-order-checkout-layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 52px;
		padding-top: 36px;
	}

	.gb-order-flow .gb-order-summary {
		position: relative;
		top: auto;
	}

	.gb-order-flow .gb-order-cart-item {
		grid-template-columns: 86px minmax(0, 1fr) auto;
		gap: 16px;
	}

	.gb-order-flow .gb-order-product-thumb {
		width: 86px;
	}

	.gb-order-flow .gb-order-product-info h2 {
		font-size: 18px;
	}

	.gb-order-flow .gb-order-qty {
		grid-column: 2;
		justify-content: flex-start;
		margin-top: 4px;
	}

	.gb-order-flow .gb-order-item-price {
		grid-column: 3;
		grid-row: 1 / -1;
		align-self: center;
	}

	.gb-order-flow .gb-order-postcode {
		grid-template-columns: minmax(0, 1fr);
	}

	.gb-order-flow .gb-order-postcode > button,
	.gb-order-flow .gb-order-postcode > small {
		grid-column: 1;
		grid-row: auto;
	}

	.gb-order-flow .gb-order-complete-shell {
		grid-template-columns: minmax(0, 1fr);
		gap: 48px;
		padding: 54px 0 80px;
	}

	.gb-order-flow .gb-order-complete-mark {
		width: 220px;
	}

	.gb-order-flow .gb-order-complete-mark span {
		font-size: 58px;
	}

	.gb-order-flow .gb-order-complete-content h1 {
		font-size: 64px;
	}

	.gb-order-flow .gb-order-ledger > div {
		grid-template-columns: 120px minmax(0, 1fr);
	}

	.gb-order-flow .gb-order-mobile-bar {
		position: fixed;
		z-index: 850;
		right: 0;
		bottom: 0;
		left: 0;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		min-height: 70px;
		padding: 10px 16px;
		border-top: 1px solid var(--gb-order-line-strong);
		background: rgba(11, 11, 10, .98);
	}

	.gb-order-flow .gb-order-mobile-bar strong {
		font-family: var(--gb-order-serif);
		font-size: 18px;
		font-weight: 400;
	}

	.gb-order-flow .gb-order-mobile-bar a,
	.gb-order-flow .gb-order-mobile-bar button {
		width: auto;
		min-height: 48px;
		padding: 0 18px;
		font-size: 11px;
		white-space: nowrap;
	}
}

@media (pointer: coarse) and (max-width: 1023px) {
	.gb-order-flow .gb-order-mobile-bar {
		bottom: calc(var(--dm-appnav-h, 56px) + var(--dm-safe-bottom, 0px));
	}
}

@media (max-width: 420px) {
	.gb-order-flow .gb-order-page {
		padding-right: 16px;
		padding-left: 16px;
	}

	.gb-order-flow .gb-order-top h1 {
		font-size: 52px;
	}

	.gb-order-flow .gb-order-cart-item {
		grid-template-columns: 76px minmax(0, 1fr) 78px;
		gap: 12px;
	}

	.gb-order-flow .gb-order-product-thumb {
		width: 76px;
	}

	.gb-order-flow .gb-order-item-price strong {
		font-size: 15px;
	}

	.gb-order-flow .gb-order-benefit-toggle {
		grid-template-columns: 74px minmax(0, 1fr) auto;
		gap: 10px;
	}

	.gb-order-flow .gb-order-ledger > div {
		grid-template-columns: 96px minmax(0, 1fr);
		gap: 14px;
	}
}

/* DUCK POINT keeps its server renderer; Green Badger only owns its ledger presentation. */
.gb-order-flow--native .clof-point-slot {
	margin: 4px 0 24px;
}

.gb-order-flow--native .scpr--checkout-points {
	--sp-ink: var(--dm-cream);
	--sp-muted: var(--dm-muted);
	--sp-pink: var(--dm-gold);
	width: 100%;
	color: var(--dm-cream);
	background: transparent;
}

.gb-order-flow--native .scpr-checkout-points__head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 18px;
	align-items: end;
	padding: 18px 0;
	border: 1px solid rgba(184, 154, 91, 0.35);
	border-width: 1px 0;
	border-radius: 0;
	background: transparent;
}

.gb-order-flow--native .scpr-checkout-points__brand,
.gb-order-flow--native .scpr-checkout-points__balance {
	min-width: 0;
}

.gb-order-flow--native .scpr-checkout-points__brand small,
.gb-order-flow--native .scpr-checkout-points__balance > span,
.gb-order-flow--native .scpr-checkout-points__using > span {
	display: block;
	margin: 0 0 5px;
	color: var(--dm-gold);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.16em;
}

.gb-order-flow--native .scpr-checkout-points__brand strong {
	color: var(--dm-cream);
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 22px;
	font-weight: 600;
	letter-spacing: 0;
}

.gb-order-flow--native .scpr-checkout-points__brand span {
	color: var(--dm-muted);
	font-size: 10px;
	font-weight: 500;
}

.gb-order-flow--native .scpr-checkout-points__balance {
	text-align: right;
}

.gb-order-flow--native .scpr-checkout-points__balance strong {
	color: var(--dm-cream);
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 30px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0;
}

.gb-order-flow--native .scpr-checkout-points__balance em {
	color: var(--dm-gold);
	font-size: 12px;
}

.gb-order-flow--native .scpr-checkout-points__using {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-width: 0;
	padding: 10px 0 0;
	border: 0;
	border-top: 1px solid rgba(244, 241, 232, 0.12);
	text-align: left;
}

.gb-order-flow--native .scpr-checkout-points__using > span {
	margin: 0;
}

.gb-order-flow--native .scpr-checkout-points__form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 112px;
	gap: 12px;
	align-items: end;
	padding: 18px 0 10px;
	border: 0;
	background: transparent;
}

.gb-order-flow--native .scpr-checkout-points__field {
	display: grid;
	grid-template-columns: 1fr;
	gap: 7px;
	margin: 0;
}

.gb-order-flow--native .scpr-checkout-points__field > span {
	color: var(--dm-muted);
	font-size: 10px;
	font-weight: 500;
	white-space: normal;
}

.gb-order-flow--native .scpr-checkout-points__field input {
	width: 100%;
	height: 46px;
	margin: 0;
	padding: 0 30px 0 0;
	border: 1px solid rgba(244, 241, 232, 0.24);
	border-width: 0 0 1px;
	border-radius: 0;
	background: transparent;
	color: var(--dm-cream);
	font-size: 17px;
	font-weight: 500;
	box-shadow: none;
}

.gb-order-flow--native .scpr-checkout-points__field input:focus {
	border-color: var(--dm-gold);
	box-shadow: none;
	outline: 1px solid transparent;
}

.gb-order-flow--native .scpr-checkout-points__field em {
	right: 4px;
	color: var(--dm-gold);
}

.gb-order-flow--native .scpr--checkout-points .scpr-checkout-points__apply {
	min-width: 112px !important;
	height: 46px !important;
	min-height: 46px !important;
	padding: 0 14px !important;
	border: 1px solid var(--dm-gold) !important;
	border-radius: 0 !important;
	background: var(--dm-gold) !important;
	color: var(--dm-black) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.05em !important;
	box-shadow: none !important;
	transition: opacity 180ms ease, color 180ms ease, background-color 180ms ease !important;
}

.gb-order-flow--native .scpr--checkout-points .scpr-checkout-points__apply:hover:not(:disabled) {
	transform: none !important;
	filter: none !important;
	box-shadow: none !important;
	opacity: 0.86;
}

.gb-order-flow--native .scpr-checkout-points__tools {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 0 0 10px;
	border: 0;
	background: transparent;
}

.gb-order-flow--native .scpr-checkout-points__quick {
	display: flex;
	align-items: center;
	gap: 16px;
}

.gb-order-flow--native .scpr-checkout-points__quick button,
.gb-order-flow--native .scpr-checkout-points__notice--action button {
	min-height: 28px;
	padding: 0;
	border: 0;
	border-bottom: 1px solid rgba(184, 154, 91, 0.48);
	border-radius: 0;
	background: transparent;
	color: var(--dm-muted);
	font-size: 10px;
	font-weight: 600;
}

.gb-order-flow--native .scpr-checkout-points__message,
.gb-order-flow--native .scpr-checkout-points__notice {
	margin: 0;
	padding: 0 0 16px;
	border: 0;
	border-bottom: 1px solid rgba(244, 241, 232, 0.14);
	border-radius: 0;
	background: transparent;
	color: var(--dm-muted);
	font-size: 10px;
	line-height: 1.65;
}

.gb-order-flow--native .scpr--checkout-points .scpr-checkout-points__remove {
	min-height: 30px !important;
	padding: 0 !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(184, 154, 91, 0.48) !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--dm-gold) !important;
	box-shadow: none !important;
}

@media (max-width: 600px) {
	.gb-order-flow--native .scpr-checkout-points__head {
		padding: 16px 0;
	}

	.gb-order-flow--native .scpr-checkout-points__form {
		grid-template-columns: minmax(0, 1fr) 104px;
		padding: 16px 0 10px;
	}

	.gb-order-flow--native .scpr--checkout-points .scpr-checkout-points__apply {
		min-width: 104px !important;
		padding: 0 10px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.gb-order-flow *,
	.gb-order-flow *::before,
	.gb-order-flow *::after {
		scroll-behavior: auto !important;
		transition: none !important;
	}
}

/* Production Order Flow Control presentation. Commerce remains in the CLOF renderer. */
.gb-order-flow--native {
	max-width: none;
}

.gb-order-flow--native .gb-order-page {
	width: 100%;
	max-width: none;
	padding: 46px 0 132px;
}

.gb-order-flow--native .gb-order-top h1 {
	color: var(--gb-order-cream);
	font-size: clamp(68px, 6vw, 88px);
}

.gb-order-flow--native .gb-order-native {
	padding-top: 52px;
}

.gb-order-flow--native .clof {
	--clof-bg: var(--gb-order-bg);
	--clof-panel: transparent;
	--clof-card: transparent;
	--clof-text: var(--gb-order-cream);
	--clof-muted: var(--gb-order-muted);
	--clof-green: var(--gb-order-gold);
	--clof-green2: var(--gb-order-gold);
	--clof-line: var(--gb-order-line);
	--clof-line-soft: var(--gb-order-line);
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	background: transparent;
	color: var(--gb-order-cream);
	font-family: var(--gb-order-sans);
	font-size: 14px;
	letter-spacing: 0;
}

.gb-order-flow--native .clof-steps,
.gb-order-flow--native .clof__crumb {
	display: none;
}

.gb-order-flow--native .clof__layout,
.gb-order-flow--native .clof--confirm .clof__layout,
.gb-order-flow--native .clof--complete .clof__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 360px);
	gap: clamp(44px, 5vw, 72px);
	align-items: start;
	margin: 0;
}

.gb-order-flow--native .clof__main,
.gb-order-flow--native .clof__side {
	display: grid;
	gap: 52px;
	min-width: 0;
}

.gb-order-flow--native .clof__side {
	gap: 0;
}

.gb-order-flow--native .clof-card,
.gb-order-flow--native .clof-summary,
.gb-order-flow--native .clof-trust,
.gb-order-flow--native .clof-help,
.gb-order-flow--native .clof-ship,
.gb-order-flow--native .clof-info-section,
.gb-order-flow--native .clof-choice-card,
.gb-order-flow--native .clof-payment-native .wc_payment_method,
.gb-order-flow--native .clof-payment-empty,
.gb-order-flow--native .clof-validation-alert,
.gb-order-flow--native .clof-stock-alert,
.gb-order-flow--native .clof-complete-pay__deadline,
.gb-order-flow--native .clof-complete-bank__box,
.gb-order-flow--native .clof-complete-pay__method,
.gb-order-flow--native .clof-complete-pay__notes,
.gb-order-flow--native .clof-complete-address-card {
	border-radius: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
}

.gb-order-flow--native .clof-card {
	padding: 0;
	border: 0;
}

.gb-order-flow--native .clof-card__title {
	margin: 0 0 30px;
	padding: 0 0 20px;
	border: 0;
	border-bottom: 1px solid var(--gb-order-line);
}

.gb-order-flow--native .clof-cart > .clof-card__title,
.gb-order-flow--native .clof-info-card > .clof-card__title,
.gb-order-flow--native .clof-confirm-card > .clof-card__title {
	display: none;
}

.gb-order-flow--native .clof-card__title > .clof-icon,
.gb-order-flow--native .clof-small-title > .clof-icon {
	display: none !important;
}

.gb-order-flow--native .clof-card__title h1,
.gb-order-flow--native .clof-card__title h2,
.gb-order-flow--native .clof-small-title strong {
	margin: 0;
	color: var(--gb-order-cream);
	font-family: var(--gb-order-serif);
	font-size: 28px;
	font-weight: 400;
	line-height: 1.05;
	letter-spacing: 0;
}

.gb-order-flow--native .clof-card__title p {
	margin: 8px 0 0;
	color: var(--gb-order-muted);
	font-size: 11px;
	font-weight: 400;
	line-height: 1.7;
}

.gb-order-flow--native .clof__notices {
	margin: 0 0 30px;
}

.gb-order-flow--native .clof__notices .woocommerce-message,
.gb-order-flow--native .clof__notices .woocommerce-info,
.gb-order-flow--native .clof__notices .woocommerce-error,
.gb-order-flow--native .clof .woocommerce-message,
.gb-order-flow--native .clof .woocommerce-info,
.gb-order-flow--native .clof .woocommerce-error {
	position: relative;
	margin: 0 0 12px !important;
	padding: 15px 42px 15px 0 !important;
	border: 0 !important;
	border-top: 1px solid var(--gb-order-line-strong) !important;
	border-bottom: 1px solid var(--gb-order-line) !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--gb-order-cream) !important;
	font-size: 12px !important;
	font-weight: 400 !important;
	line-height: 1.65 !important;
}

.gb-order-flow--native .clof-notice-close,
.gb-order-flow--native .clof__notices .clof-notice-close {
	top: 50%;
	right: 0;
	width: 38px;
	height: 38px;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--gb-order-muted) !important;
	transform: translateY(-50%);
}

/* Cart ledger. */
.gb-order-flow--native .clof-cart__header,
.gb-order-flow--native .clof-cart-item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 104px 116px 112px;
	gap: 20px;
	align-items: center;
}

.gb-order-flow--native .clof-cart__header {
	padding: 0 0 12px;
	border-bottom: 1px solid var(--gb-order-line);
	color: var(--gb-order-muted);
	font-size: 9px;
	font-weight: 500;
	letter-spacing: .16em;
}

.gb-order-flow--native .clof-cart__header span:nth-child(n+2) {
	text-align: right;
}

.gb-order-flow--native .clof-cart-item {
	padding: 26px 0;
	border: 0 !important;
	border-bottom: 1px solid var(--gb-order-line) !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.gb-order-flow--native .clof-cart-item__product {
	display: grid;
	grid-template-columns: 112px minmax(0, 1fr);
	gap: 22px;
	align-items: center;
	min-width: 0;
}

.gb-order-flow--native .clof-cart-item__img {
	display: block;
	width: 112px;
	height: 112px;
	overflow: hidden;
	border: 0;
	border-radius: 0;
	background: var(--gb-order-surface);
}

.gb-order-flow--native .clof-cart-item__img img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

.gb-order-flow--native .clof-cart-item__name {
	display: block;
	color: var(--gb-order-cream) !important;
	font-family: var(--gb-order-serif);
	font-size: 23px;
	font-weight: 400;
	line-height: 1.04;
	text-decoration: none;
}

.gb-order-flow--native .clof-cart-item__meta,
.gb-order-flow--native .clof-cart-item__stock {
	margin-top: 10px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--gb-order-muted);
	font-size: 10px;
	font-weight: 400;
	line-height: 1.5;
}

.gb-order-flow--native .clof-cart-item__remove {
	display: inline-block;
	margin-top: 13px;
	min-height: 28px !important;
	padding: 4px 0 3px !important;
	border: 0 !important;
	border-bottom: 1px solid transparent !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--gb-order-muted) !important;
	font-size: 9px;
	font-weight: 500;
	letter-spacing: .12em;
	text-decoration: none;
}

.gb-order-flow--native .clof-cart-item__remove:hover,
.gb-order-flow--native .clof-cart-item__remove:focus-visible {
	border-bottom-color: var(--gb-order-gold) !important;
	color: var(--gb-order-cream) !important;
}

.gb-order-flow--native .clof-cart-item__price,
.gb-order-flow--native .clof-cart-item__qty,
.gb-order-flow--native .clof-cart-item__subtotal {
	text-align: right;
}

.gb-order-flow--native .clof-cart-item__price .clof-mob-value,
.gb-order-flow--native .clof-cart-item__subtotal .clof-mob-value {
	color: var(--gb-order-cream);
	font-family: var(--gb-order-serif);
	font-size: 16px;
	font-weight: 400;
}

.gb-order-flow--native .clof-cart-item__qty .quantity {
	display: inline-flex;
	justify-content: flex-end;
	margin: 0;
}

.gb-order-flow--native .clof-cart-item__qty input.qty {
	width: 54px !important;
	height: 42px !important;
	min-height: 42px !important;
	padding: 0 !important;
	border: 1px solid var(--gb-order-line-strong) !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--gb-order-cream) !important;
	font-family: var(--gb-order-serif) !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	text-align: center;
	box-shadow: none !important;
}

.gb-order-flow--native .clof-cart__bottom {
	padding: 24px 0 0;
}

.gb-order-flow--native .clof-coupon {
	max-width: 520px;
	padding: 0;
	border: 0;
	background: transparent;
}

.gb-order-flow--native .clof-coupon label {
	display: block;
	margin: 0 0 12px;
	color: var(--gb-order-gold);
	font-size: 9px;
	font-weight: 500;
	letter-spacing: .16em;
}

.gb-order-flow--native .clof-coupon label::before,
.gb-order-flow--native .clof-summary__secure::before {
	display: none;
}

.gb-order-flow--native .clof-coupon > div {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 14px;
}

.gb-order-flow--native .clof-coupon input {
	min-height: 46px !important;
	padding: 0 !important;
	border: 0 !important;
	border-bottom: 1px solid var(--gb-order-line-strong) !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--gb-order-cream) !important;
	font-family: var(--gb-order-sans) !important;
	font-size: 13px !important;
	box-shadow: none !important;
}

.gb-order-flow--native .clof-coupon button {
	min-width: 78px;
	min-height: 46px;
	padding: 0 4px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--gb-order-gold) !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--gb-order-gold) !important;
	font-size: 10px !important;
	font-weight: 600 !important;
	letter-spacing: .12em;
	box-shadow: none !important;
}

/* Quiet order summary and benefit ledger. */
.gb-order-flow--native .clof-summary {
	position: sticky;
	top: 28px;
	padding: 0;
	border: 0;
	border-top: 1px solid var(--gb-order-line-strong);
}

.gb-order-flow--native .clof-small-title {
	min-height: 0;
	margin: 0;
	padding: 21px 0 19px;
	border-bottom: 1px solid var(--gb-order-line);
}

.gb-order-flow--native .clof-small-title strong {
	font-size: 27px;
}

.gb-order-flow--native .clof-summary__rows {
	display: block;
	margin: 0;
}

.gb-order-flow--native .clof-summary__rows > div {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 18px;
	min-height: 0;
	padding: 15px 0;
	border-bottom: 1px solid var(--gb-order-line);
	background: transparent;
}

.gb-order-flow--native .clof-summary__rows span {
	color: var(--gb-order-muted);
	font-size: 11px;
	font-weight: 400;
}

.gb-order-flow--native .clof-summary__rows strong {
	color: var(--gb-order-cream);
	font-family: var(--gb-order-serif);
	font-size: 15px;
	font-weight: 400;
}

.gb-order-flow--native .clof-summary__rows .is-total {
	padding: 23px 0 27px;
}

.gb-order-flow--native .clof-summary__rows .is-total span {
	color: var(--gb-order-cream);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .15em;
}

.gb-order-flow--native .clof-summary__rows .is-total strong {
	color: var(--gb-order-gold);
	font-size: 32px;
}

.gb-order-flow--native .clof-summary__btn,
.gb-order-flow--native button.clof-summary__btn,
.gb-order-flow--native .clof-summary__btn--form-submit,
.gb-order-flow--native .clof-info-next {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	/* Width, height and tracking are still this file's business: the
	   summary CTA spans the summary card and sizes with it, not with
	   the buttons in the form beside it.

	   Colour is not. The ground and the label now come from the
	   GREENBADGER FRONTEND ACTION AUTHORITY in app-shell.css, which is
	   why `color` lost its `!important` (so the authority's ink-on-fill
	   can win) while `background` keeps one (to hold the CLOF plugin's
	   own gold off, since the fill is painted by ::before now).

	   What was here before: a permanent gold slab that went transparent
	   on hover — the exact inverse of every other control on the site. */
	min-height: var(--gb-btn-h-lg, 58px);
	margin: 0;
	padding: 0 20px !important;
	border-radius: 0 !important;
	background: transparent !important;
	font-family: var(--gb-order-sans) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: .08em;
	text-align: left;
	text-decoration: none;
	box-shadow: none !important;
}

.gb-order-flow--native .clof-summary__btn::after,
.gb-order-flow--native .clof-info-next::after {
	margin-left: auto;
	color: currentColor;
	font-size: 18px;
}

.gb-order-flow--native .clof-summary__secure {
	margin: 13px 0 0;
	color: var(--gb-order-muted);
	font-size: 9px;
	font-weight: 400;
	line-height: 1.6;
	text-align: left;
}

.gb-order-flow--native .clof-point-slot,
.gb-order-flow--native .clof .clpr,
.gb-order-flow--native .clof-point-slot--missing {
	margin: 0;
	padding: 18px 0;
	border: 0 !important;
	border-bottom: 1px solid var(--gb-order-line) !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.gb-order-flow--native .clof .clpr input,
.gb-order-flow--native .clof .clpr button {
	border-radius: 0 !important;
	box-shadow: none !important;
}

.gb-order-flow--native .clof-trust,
.gb-order-flow--native .clof-help {
	display: none;
}

.gb-order-flow--native .clof-ship {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 18px;
	align-items: center;
	padding: 22px 0;
	border: 0;
	border-top: 1px solid var(--gb-order-line);
	border-bottom: 1px solid var(--gb-order-line);
}

.gb-order-flow--native .clof-ship .clof-icon {
	color: var(--gb-order-gold);
}

.gb-order-flow--native .clof-ship strong,
.gb-order-flow--native .clof-ship em {
	font-weight: 400;
}

/* Checkout fields are one continuous editorial sheet. */
.gb-order-flow--native .clof-info-card,
.gb-order-flow--native .clof-info-form {
	display: block;
}

.gb-order-flow--native .clof-info-section {
	margin: 0;
	padding: 30px 0 34px;
	border: 0 !important;
	border-top: 1px solid var(--gb-order-line) !important;
}

.gb-order-flow--native .clof-info-section:last-of-type {
	border-bottom: 1px solid var(--gb-order-line) !important;
}

.gb-order-flow--native .clof-info-section__head {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr);
	gap: 16px;
	align-items: baseline;
	margin: 0 0 28px;
}

.gb-order-flow--native .clof-info-section__head > span {
	display: block;
	width: auto;
	height: auto;
	min-width: 0;
	padding: 0;
	border-radius: 0;
	background: transparent;
	color: var(--gb-order-gold);
	font-family: var(--gb-order-serif);
	font-size: 16px;
	font-weight: 400;
}

.gb-order-flow--native .clof-info-section__head strong {
	color: var(--gb-order-cream);
	font-family: var(--gb-order-serif);
	font-size: 24px;
	font-weight: 400;
	line-height: 1.1;
}

.gb-order-flow--native .clof-info-section__head em {
	margin-top: 6px;
	color: var(--gb-order-muted);
	font-size: 10px;
	font-weight: 400;
	line-height: 1.55;
}

.gb-order-flow--native .clof-form-grid,
.gb-order-flow--native .clof-form-grid--2 {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 24px;
}

.gb-order-flow--native .clof-field,
.gb-order-flow--native .clof-field--wide {
	display: grid;
	grid-column: 1;
	gap: 8px;
	min-width: 0;
}

.gb-order-flow--native .clof-field > span {
	color: var(--gb-order-muted);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: .08em;
}

.gb-order-flow--native .clof-field > span b {
	margin-left: 6px;
	padding: 0;
	border-radius: 0;
	background: transparent;
	color: var(--gb-order-gold);
	font-size: 9px;
	font-weight: 500;
}

.gb-order-flow--native .clof-field input,
.gb-order-flow--native .clof-field select,
.gb-order-flow--native .clof-field textarea {
	width: 100% !important;
	min-height: 50px !important;
	padding: 8px 0 13px !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(244, 241, 232, .28) !important;
	border-radius: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	color: var(--gb-order-cream) !important;
	font-family: var(--gb-order-sans) !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
	box-shadow: none !important;
	transition: border-color 380ms var(--gb-order-ease);
}

.gb-order-flow--native .clof-field select option {
	background: var(--gb-order-bg);
	color: var(--gb-order-cream);
}

.gb-order-flow--native .clof-field input:focus,
.gb-order-flow--native .clof-field select:focus,
.gb-order-flow--native .clof-field textarea:focus {
	border-bottom-color: var(--gb-order-gold) !important;
	box-shadow: none !important;
}

.gb-order-flow--native .clof-field textarea {
	min-height: 104px !important;
	resize: vertical;
}

.gb-order-flow--native .clof-zip-row,
.gb-order-flow--native .clof-zip-row.clof-zip-row--inline,
.gb-order-flow--native .clof-zip-inline {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 16px;
	align-items: end;
	width: 100%;
}

.gb-order-flow--native .clof-zip-inline .clof-zip-btn,
.gb-order-flow--native .clof-zip-btn {
	width: auto;
	min-width: 92px;
	min-height: 50px;
	padding: 0 2px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--gb-order-gold) !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--gb-order-gold) !important;
	font-size: 10px !important;
	font-weight: 600 !important;
	letter-spacing: .08em;
	box-shadow: none !important;
}

.gb-order-flow--native .clof-zip-status {
	min-height: 0;
	color: var(--gb-order-muted);
	font-size: 10px;
	font-weight: 400;
}

.gb-order-flow--native .clof-choice-list,
.gb-order-flow--native .clof-payment-native ul.wc_payment_methods,
.gb-order-flow--native .clof-payment-native ul.payment_methods,
.gb-order-flow--native .clof-payment-native .wc_payment_methods {
	display: grid !important;
	gap: 0 !important;
	border-top: 1px solid var(--gb-order-line) !important;
}

.gb-order-flow--native .clof-choice-card,
.gb-order-flow--native .clof-payment-native li.wc_payment_method,
.gb-order-flow--native .clof-payment-native .wc_payment_method {
	display: grid !important;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: 16px;
	align-items: center;
	min-height: 72px;
	margin: 0 !important;
	padding: 15px 0 !important;
	border: 0 !important;
	border-bottom: 1px solid var(--gb-order-line) !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.gb-order-flow--native .clof-choice-card:has(input:checked),
.gb-order-flow--native .clof-payment-native .wc_payment_method:has(input:checked) {
	border-bottom-color: var(--gb-order-line-strong) !important;
	background: transparent !important;
}

.gb-order-flow--native .clof-choice-card input,
.gb-order-flow--native .clof-checkline input,
.gb-order-flow--native .clof-payment-native input.input-radio {
	accent-color: var(--gb-order-gold) !important;
}

.gb-order-flow--native .clof-choice-card strong,
.gb-order-flow--native .clof-payment-native .wc_payment_method > label {
	color: var(--gb-order-cream) !important;
	font-family: var(--gb-order-serif) !important;
	font-size: 17px !important;
	font-weight: 400 !important;
}

.gb-order-flow--native .clof-choice-card em,
.gb-order-flow--native .clof-payment-native .payment_box,
.gb-order-flow--native .clof-payment-empty {
	color: var(--gb-order-muted) !important;
	font-size: 11px !important;
	font-weight: 400 !important;
	line-height: 1.7 !important;
}

.gb-order-flow--native .clof-choice-card b {
	color: var(--gb-order-gold) !important;
	font-size: 12px;
	font-weight: 500;
}

.gb-order-flow--native .clof-payment-native .payment_box {
	margin: 10px 0 0 28px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.gb-order-flow--native .clof-payment-empty {
	margin: 0 !important;
	padding: 16px 0 !important;
	border: 0 !important;
	border-top: 1px solid var(--gb-order-line) !important;
	border-bottom: 1px solid var(--gb-order-line) !important;
}

.gb-order-flow--native .clof-info-agree {
	display: grid;
	gap: 18px;
	padding: 24px 0 0;
	border-top: 1px solid var(--gb-order-line);
}

.gb-order-flow--native .clof-checkline {
	min-height: 44px;
	color: var(--gb-order-muted);
	font-size: 11px;
	font-weight: 400;
}

.gb-order-flow--native .clof-info-next {
	display: none;
}

/* Review chapters. */
.gb-order-flow--native .clof-validation-alert,
.gb-order-flow--native .clof-stock-alert {
	margin: 0 0 26px;
	padding: 18px 0 18px 18px;
	border: 0 !important;
	border-left: 1px solid var(--gb-order-gold) !important;
	color: var(--gb-order-cream);
}

.gb-order-flow--native .clof-validation-alert strong,
.gb-order-flow--native .clof-stock-alert strong {
	color: var(--gb-order-gold);
	font-family: var(--gb-order-serif);
	font-size: 18px;
	font-weight: 400;
}

.gb-order-flow--native .clof-validation-alert li,
.gb-order-flow--native .clof-stock-alert li {
	color: var(--gb-order-muted);
	font-size: 11px;
	font-weight: 400;
}

.gb-order-flow--native .clof-confirm-list {
	display: block;
	counter-reset: gb-review;
}

.gb-order-flow--native .clof-confirm-section {
	counter-increment: gb-review;
	padding: 24px 0 28px;
	border-bottom: 1px solid var(--gb-order-line);
}

.gb-order-flow--native .clof-confirm-section:first-child {
	border-top: 1px solid var(--gb-order-line);
}

.gb-order-flow--native .clof-confirm-section__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 18px;
	margin: 0 0 18px;
}

.gb-order-flow--native .clof-confirm-section__head::before {
	content: counter(gb-review, decimal-leading-zero);
	flex: 0 0 40px;
	color: var(--gb-order-gold);
	font-family: var(--gb-order-serif);
	font-size: 14px;
}

.gb-order-flow--native .clof-confirm-section__head > div {
	display: flex;
	flex: 1 1 auto;
	align-items: baseline;
	gap: 0;
}

.gb-order-flow--native .clof-confirm-section__head span {
	display: none;
}

.gb-order-flow--native .clof-confirm-section__head strong {
	color: var(--gb-order-cream);
	font-family: var(--gb-order-serif);
	font-size: 21px;
	font-weight: 400;
}

.gb-order-flow--native .clof-confirm-section__head a {
	min-height: 28px;
	padding: 0 0 3px;
	border: 0;
	border-bottom: 1px solid transparent;
	border-radius: 0;
	background: transparent;
	color: var(--gb-order-muted) !important;
	font-size: 9px;
	font-weight: 500;
	letter-spacing: .12em;
}

.gb-order-flow--native .clof-confirm-section__head a::before {
	display: none;
}

.gb-order-flow--native .clof-confirm-section__head a:hover,
.gb-order-flow--native .clof-confirm-section__head a:focus-visible {
	border-color: var(--gb-order-gold);
	color: var(--gb-order-cream) !important;
}

.gb-order-flow--native .clof-confirm-grid,
.gb-order-flow--native .clof-confirm-address,
.gb-order-flow--native .clof-confirm-line,
.gb-order-flow--native .clof-confirm-products,
.gb-order-flow--native .clof-confirm-section--notice p {
	padding-left: 56px;
}

.gb-order-flow--native .clof-confirm-grid span,
.gb-order-flow--native .clof-confirm-address span,
.gb-order-flow--native .clof-confirm-line span {
	color: var(--gb-order-muted);
	font-size: 9px;
	font-weight: 500;
	letter-spacing: .08em;
}

.gb-order-flow--native .clof-confirm-grid strong,
.gb-order-flow--native .clof-confirm-address strong,
.gb-order-flow--native .clof-confirm-address b,
.gb-order-flow--native .clof-confirm-address em,
.gb-order-flow--native .clof-confirm-line strong {
	color: var(--gb-order-cream);
	font-size: 13px;
	font-weight: 400;
}

.gb-order-flow--native .clof-confirm-products__head,
.gb-order-flow--native .clof-confirm-product {
	grid-template-columns: minmax(0, 1fr) 64px 100px;
}

.gb-order-flow--native .clof-confirm-product {
	padding: 15px 0;
	border-top: 1px solid var(--gb-order-line);
}

.gb-order-flow--native .clof-confirm-product__img {
	width: 68px;
	height: 68px;
	border: 0;
	border-radius: 0;
}

.gb-order-flow--native .clof-confirm-product__main {
	grid-template-columns: 68px minmax(0, 1fr);
	gap: 16px;
}

.gb-order-flow--native .clof-confirm-product__main strong {
	color: var(--gb-order-cream);
	font-family: var(--gb-order-serif);
	font-size: 16px;
	font-weight: 400;
}

.gb-order-flow--native .clof-confirm-product > strong,
.gb-order-flow--native .clof-confirm-line b {
	color: var(--gb-order-gold);
	font-family: var(--gb-order-serif);
	font-size: 15px;
	font-weight: 400;
}

/* Complete page: the wrapper owns the memorable headline; native data stays authoritative. */
.gb-order-flow--native.gb-order-flow--complete .gb-order-top {
	min-height: 300px;
}

.gb-order-flow--native.gb-order-flow--complete .gb-order-top h1 {
	max-width: 720px;
	font-size: clamp(78px, 8vw, 118px);
}

.gb-order-flow--native .clof-complete-hero {
	display: none;
}

.gb-order-flow--native .clof-complete-card {
	padding: 0;
	border: 0;
}

.gb-order-flow--native .clof-complete-flow,
.gb-order-flow--native .clof-complete-info-grid,
.gb-order-flow--native .clof-complete-pay,
.gb-order-flow--native .clof-complete-products,
.gb-order-flow--native .clof-complete-product-totals {
	border-top: 1px solid var(--gb-order-line);
}

.gb-order-flow--native .clof-complete-flow div,
.gb-order-flow--native .clof-complete-info-grid div,
.gb-order-flow--native .clof-complete-pay > div,
.gb-order-flow--native .clof-complete-product,
.gb-order-flow--native .clof-complete-product-totals div {
	border-radius: 0 !important;
	background: transparent !important;
}

/* Product recommendations remain image-forward but stop reading as dashboard cards. */
.gb-order-flow--native .clof-reco {
	padding-top: 30px;
	border-top: 1px solid var(--gb-order-line);
}

.gb-order-flow--native .clof-reco .clof-small-title {
	padding-top: 0;
}

.gb-order-flow--native .clof-reco-card,
.gb-order-flow--native .clof-reco-card__img,
.gb-order-flow--native .clof-var-panel {
	border-radius: 0;
	box-shadow: none;
}

.gb-order-flow--native .clof-reco-card {
	border-color: var(--gb-order-line);
	background: transparent;
}

.gb-order-flow--native .clof-reco-card__name {
	font-family: var(--gb-order-serif);
	font-weight: 400;
}

.gb-order-flow--native .clof-var-open,
.gb-order-flow--native .clof-reco__btn {
	border-radius: 0 !important;
	box-shadow: none !important;
}

.gb-order-flow--native .gb-order-mobile-bar--native[hidden] {
	display: none;
}

@media (max-width: 1080px) {
	.gb-order-flow--native .clof__layout,
	.gb-order-flow--native .clof--confirm .clof__layout,
	.gb-order-flow--native .clof--complete .clof__layout {
		grid-template-columns: minmax(0, 1fr) 320px;
		gap: 40px;
	}

	.gb-order-flow--native .clof-cart__header,
	.gb-order-flow--native .clof-cart-item {
		grid-template-columns: minmax(0, 1fr) 84px 88px 94px;
		gap: 14px;
	}

	.gb-order-flow--native .clof-cart-item__product {
		grid-template-columns: 88px minmax(0, 1fr);
		gap: 16px;
	}

	.gb-order-flow--native .clof-cart-item__img {
		width: 88px;
		height: 88px;
	}
}

@media (max-width: 900px) {
	.gb-order-flow--native .gb-order-page {
		padding: 38px 0 168px;
	}

	.gb-order-flow--native .gb-order-native {
		padding-top: 36px;
	}

	.gb-order-flow--native .clof__layout,
	.gb-order-flow--native .clof.clof--cart .clof__layout,
	.gb-order-flow--native .clof.clof--info .clof__layout,
	.gb-order-flow--native .clof.clof--confirm .clof__layout,
	.gb-order-flow--native .clof.clof--complete .clof__layout,
	.gb-order-flow--native .clof--confirm .clof__layout,
	.gb-order-flow--native .clof--complete .clof__layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 56px;
	}

	.gb-order-flow--native .clof__main {
		order: 1 !important;
	}

	.gb-order-flow--native .clof__side {
		order: 2 !important;
	}

	.gb-order-flow--native .clof-summary {
		position: relative;
		top: auto;
	}

	.gb-order-flow--native .clof-info-next {
		display: flex;
	}

	.gb-order-flow--native .clof-cart__header {
		display: none;
	}

	.gb-order-flow--native .clof-cart-item {
		grid-template-columns: 96px minmax(0, 1fr) auto;
		gap: 16px;
		align-items: start;
	}

	.gb-order-flow--native .clof-cart-item__product {
		display: contents;
	}

	.gb-order-flow--native .clof-cart-item__img {
		grid-column: 1;
		grid-row: 1 / 3;
		width: 96px;
		height: 96px;
	}

	.gb-order-flow--native .clof-cart-item__body {
		grid-column: 2;
		grid-row: 1;
	}

	.gb-order-flow--native .clof-cart-item__price {
		display: none;
	}

	.gb-order-flow--native .clof-cart-item__qty {
		grid-column: 2;
		grid-row: 2;
		text-align: left;
	}

	.gb-order-flow--native .clof-cart-item__qty .quantity {
		justify-content: flex-start;
	}

	.gb-order-flow--native .clof-cart-item__subtotal {
		grid-column: 3;
		grid-row: 1 / 3;
		align-self: center;
	}

	.gb-order-flow--native .clof-mob-label {
		display: none;
	}

	.gb-order-flow--native .clof-confirm-grid,
	.gb-order-flow--native .clof-confirm-address,
	.gb-order-flow--native .clof-confirm-line,
	.gb-order-flow--native .clof-confirm-products,
	.gb-order-flow--native .clof-confirm-section--notice p {
		padding-left: 0;
	}

	.gb-order-flow--native .clof-confirm-section__head::before {
		flex-basis: 32px;
	}

	.gb-order-flow--native .clof-confirm-grid--2 {
		grid-template-columns: minmax(0, 1fr);
	}

	.gb-order-flow--native .gb-order-mobile-bar--native:not([hidden]) {
		display: flex;
	}
}

@media (max-width: 600px) {
	.gb-order-flow--native .gb-order-page {
		padding-right: 16px;
		padding-left: 16px;
	}

	.gb-order-flow--native .gb-order-top h1 {
		font-size: 52px;
	}

	.gb-order-flow--native.gb-order-flow--complete .gb-order-top {
		min-height: 220px;
	}

	.gb-order-flow--native.gb-order-flow--complete .gb-order-top h1 {
		font-size: 68px;
	}

	.gb-order-flow--native .clof-info-section__head {
		grid-template-columns: 34px minmax(0, 1fr);
		gap: 10px;
	}

	.gb-order-flow--native .clof-info-section__head strong {
		font-size: 21px;
	}

	.gb-order-flow--native .clof-field input,
	.gb-order-flow--native .clof-field select,
	.gb-order-flow--native .clof-field textarea {
		min-height: 54px !important;
		font-size: 16px !important;
	}

	.gb-order-flow--native .clof-zip-row,
	.gb-order-flow--native .clof-zip-row.clof-zip-row--inline,
	.gb-order-flow--native .clof-zip-inline {
		grid-template-columns: minmax(0, 1fr) 88px;
		gap: 10px;
	}

	.gb-order-flow--native .clof-choice-card,
	.gb-order-flow--native .clof-payment-native li.wc_payment_method,
	.gb-order-flow--native .clof-payment-native .wc_payment_method {
		min-height: 74px;
		gap: 12px;
	}

	.gb-order-flow--native .clof-cart-item {
		grid-template-columns: 86px minmax(0, 1fr) 76px;
		gap: 12px;
	}

	.gb-order-flow--native .clof-cart-item__img {
		width: 86px;
		height: 86px;
	}

	.gb-order-flow--native .clof-cart-item__name {
		font-size: 19px;
	}

	.gb-order-flow--native .clof-summary__rows .is-total strong {
		font-size: 28px;
	}

	.gb-order-flow--native .clof-confirm-product {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Responsive cart prototype port: production data, Green Badger skin. */
.gb-order-flow--native .gb-order-page {
	padding-top: 28px;
}

.gb-order-flow--native .gb-order-top {
	align-items: flex-start;
	padding-bottom: 20px;
	border-bottom: 0;
}

.gb-order-flow--native .gb-order-top h1 {
	margin-top: 10px;
	font-size: clamp(54px, 4.8vw, 72px);
}

.gb-order-flow--native .gb-order-intro-note {
	max-width: 540px;
	margin: 10px 0 0;
	color: var(--gb-order-muted);
	font-size: 11px;
	font-weight: 400;
	line-height: 1.75;
}

.gb-order-flow--native .gb-order-steps {
	width: min(46%, 620px);
	margin-left: auto;
	border-top: 1px solid var(--gb-order-line);
}

.gb-order-flow--native .gb-order-native {
	padding-top: 30px;
}

.gb-order-flow--native .clof__layout,
.gb-order-flow--native .clof--confirm .clof__layout,
.gb-order-flow--native .clof--complete .clof__layout {
	grid-template-columns: minmax(0, 1.8fr) minmax(300px, .9fr);
	gap: 50px;
}

.gb-order-flow--native .clof__main {
	gap: 34px;
}

.gb-order-flow--native .clof-cart__header,
.gb-order-flow--native .clof-cart-item {
	grid-template-columns: minmax(0, 1fr) 100px 128px 100px;
	gap: 24px;
}

.gb-order-flow--native .clof-cart-item {
	padding: 28px 0;
}

.gb-order-flow--native .clof-cart-item__product {
	grid-template-columns: 180px minmax(0, 1fr);
	gap: 24px;
}

.gb-order-flow--native .clof-cart-item__img {
	width: 180px;
	height: 180px;
	background: var(--gb-order-surface-2);
}

.gb-order-flow--native .clof-cart-item__img img {
	object-fit: contain;
}

.gb-order-flow--native .clof-cart-item__name {
	font-size: 25px;
}

.gb-order-flow--native .clof-summary {
	top: calc(24px + var(--wp-admin--admin-bar--height, 0px));
	/* The cap exists so a very long summary cannot grow past the window and
	   strand its own CTA below the fold. 405px assumed a tall desktop: on a
	   ~745px viewport it left ~290px for a card whose content is ~690px, so the
	   card scrolled on every normal laptop and the sticky CTA pinned inside that
	   short box, floating over the coupon row. 128px is the sticky offset plus
	   breathing room, so the card only scrolls when it genuinely cannot fit. */
	max-height: calc(100vh - 128px - var(--wp-admin--admin-bar--height, 0px));
	padding: 24px;
	overflow-y: auto;
	border: 1px solid var(--gb-order-line-strong);
	background: var(--gb-order-surface) !important;
	scrollbar-width: thin;
	scrollbar-color: var(--gb-order-line-strong) transparent;
}

.gb-order-flow--native .clof-small-title {
	padding-top: 0;
}

.gb-order-flow--native .clof-summary-products {
	display: grid;
	gap: 0;
	border-bottom: 1px solid var(--gb-order-line);
}

.gb-order-flow--native .clof-summary-product {
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr) auto;
	gap: 13px;
	align-items: center;
	padding: 10px 0;
	border-bottom: 1px solid var(--gb-order-line);
}

.gb-order-flow--native .clof-summary-product:last-child {
	border-bottom: 0;
}

.gb-order-flow--native .clof-summary-product__image {
	width: 46px;
	height: 46px;
	background: var(--gb-order-surface-2);
}

.gb-order-flow--native .clof-summary-product__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.gb-order-flow--native .clof-summary-product__copy {
	display: grid;
	gap: 5px;
	min-width: 0;
}

.gb-order-flow--native .clof-summary-product__copy strong {
	overflow-wrap: anywhere;
	color: var(--gb-order-cream);
	font-family: var(--gb-order-serif);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.15;
}

.gb-order-flow--native .clof-summary-product__copy span,
.gb-order-flow--native .clof-summary-product > b {
	color: var(--gb-order-muted);
	font-size: 9px;
	font-style: normal;
	font-weight: 400;
}

.gb-order-flow--native .clof-summary-product > b {
	color: var(--gb-order-cream);
	font-family: var(--gb-order-serif);
	font-size: 13px;
	white-space: nowrap;
}

.gb-order-flow--native .clof-summary-benefits {
	border-bottom: 1px solid var(--gb-order-line);
}

.gb-order-flow--native .clof-summary-benefits h3 {
	margin: 0;
	padding: 14px 0 10px;
	color: var(--gb-order-cream);
	font-family: var(--gb-order-serif);
	font-size: 17px;
	font-weight: 400;
	line-height: 1.2;
}

.gb-order-flow--native .clof-summary-benefits h3 span {
	display: block;
	margin-bottom: 6px;
	color: var(--gb-order-gold);
	font-family: var(--gb-order-sans);
	font-size: 8px;
	font-weight: 600;
	letter-spacing: .18em;
}

.gb-order-flow--native .clof-summary-coupon {
	padding: 0 0 13px;
}

.gb-order-flow--native .clof-summary-coupon label {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 9px;
	color: var(--gb-order-cream);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .14em;
}

.gb-order-flow--native .clof-summary-coupon label span {
	color: var(--gb-order-muted);
	font-size: 8px;
	font-weight: 400;
	letter-spacing: 0;
}

.gb-order-flow--native .clof-summary-coupon > div {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 58px;
	gap: 10px;
}

.gb-order-flow--native .clof-summary-coupon input,
.gb-order-flow--native .clof-summary-coupon button {
	min-height: 39px !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.gb-order-flow--native .clof-summary-coupon input {
	width: 100%;
	padding: 0 10px !important;
	border: 1px solid var(--gb-order-line) !important;
	background: transparent !important;
	color: var(--gb-order-cream) !important;
	font-family: var(--gb-order-sans) !important;
	font-size: 11px !important;
}

.gb-order-flow--native .clof-summary-coupon button {
	padding: 0 6px !important;
	/* SECONDARY, matching the cart's copy below. Was a gold label on a
	   gold-ish hairline, which read as a third tier of its own. */
	border: 1px solid var(--gb-btn-line-quiet, rgba(238, 233, 223, .28)) !important;
	background: transparent !important;
	color: rgba(238, 233, 223, .82) !important;
	font-size: 10px !important;
	font-weight: 600 !important;
}

.gb-order-flow--native .clof-summary-benefit-results {
	border-top: 1px solid var(--gb-order-line);
}

.gb-order-flow--native .clof-summary-benefit-results > div {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 0;
	color: var(--gb-order-muted);
	font-size: 10px;
}

.gb-order-flow--native .clof-summary .clof-point-slot {
	padding: 10px 0;
}

.gb-order-flow--native .clof-summary .scpr-checkout-points__head {
	padding: 10px 0;
}

.gb-order-flow--native .clof-summary .scpr-checkout-points__brand strong {
	font-size: 18px;
}

.gb-order-flow--native .clof-summary .scpr-checkout-points__balance strong {
	font-size: 24px;
}

.gb-order-flow--native .clof-summary .scpr-checkout-points__form {
	grid-template-columns: minmax(0, 1fr) 76px;
	gap: 10px;
	padding: 11px 0 6px;
}

.gb-order-flow--native .clof-summary .scpr-checkout-points__field {
	gap: 3px;
}

.gb-order-flow--native .clof-summary .scpr-checkout-points__field input,
.gb-order-flow--native .clof-summary .scpr--checkout-points .scpr-checkout-points__apply {
	height: 40px !important;
	min-height: 40px !important;
}

.gb-order-flow--native .clof-summary .scpr--checkout-points .scpr-checkout-points__apply {
	min-width: 76px !important;
	padding: 0 8px !important;
}

.gb-order-flow--native .clof-summary .scpr-checkout-points__tools {
	padding-bottom: 5px;
}

.gb-order-flow--native .clof-summary .scpr-checkout-points__quick {
	gap: 10px;
}

.gb-order-flow--native .clof-summary .scpr-checkout-points__message,
.gb-order-flow--native .clof-summary .scpr-checkout-points__notice {
	padding-bottom: 8px;
	font-size: 8px;
	line-height: 1.45;
}

.gb-order-flow--native .clof-summary__rows > div {
	padding: 10px 0;
}

.gb-order-flow--native .clof-summary__rows .is-total {
	padding: 16px 0 19px;
}

.gb-order-flow--native .clof-summary-benefit-results strong {
	color: var(--gb-order-gold);
	font-family: var(--gb-order-serif);
	font-weight: 400;
}

.gb-order-flow--native .clof-summary__btn,
.gb-order-flow--native button.clof-summary__btn,
.gb-order-flow--native .clof-summary__btn--form-submit,
.gb-order-flow--native .clof-info-next {
	min-height: 68px;
}

@media (min-width: 901px) {
	.gb-order-flow--native .clof-summary {
		padding-bottom: 0;
	}

	.gb-order-flow--native .clof-summary__rows .is-total {
		position: sticky;
		z-index: 5;
		bottom: 92px;
		background: var(--gb-order-surface);
		transform: translateY(-10px);
	}

	/* `body.dm-pack-green-badger` prefix is specificity ballast, not
	   scope: the action authority in app-shell.css gives every control
	   `position: relative` so its gold sweep has something to sit in,
	   and at (0,2,2) that was quietly beating this rule's (0,2,0) —
	   the desktop summary CTA stopped sticking to the bottom of the
	   card. Sticky contains an absolutely positioned ::before just as
	   well as relative does, so the sweep is unaffected. */
	body.dm-pack-green-badger .gb-order-flow--native .clof-summary__btn,
	body.dm-pack-green-badger .gb-order-flow--native button.clof-summary__btn {
		position: sticky;
		z-index: 4;
		bottom: 0;
		/* The card is a scroll container (max-height + overflow-y above), so a
		   full-bleed CTA that reached past the padding box with
		   `width: calc(100% + 48px); margin-left: -24px` overflowed it
		   horizontally and produced a second, horizontal scrollbar on the
		   summary. Sitting inside the padding keeps the button attached to the
		   card without giving the scroller anything to scroll sideways. */
		width: 100%;
		margin-left: 0;
	}

	.gb-order-flow--native .clof-summary__secure {
		display: none;
	}
}

.gb-order-flow--native .clof-ship {
	padding: 22px;
	border: 1px solid var(--gb-order-line);
	background: var(--gb-order-surface) !important;
}

.gb-order-flow--native.clof--cart > .clof-reco,
.gb-order-flow--native .clof--cart > .clof-reco {
	margin-top: 52px;
}

.gb-order-flow--native .clof--cart > .clof-reco {
	padding-top: 34px;
}

.gb-order-flow--native .clof--cart > .clof-reco .clof-reco__viewport {
	overflow: visible;
}

.gb-order-flow--native .clof--cart > .clof-reco .clof-reco__slider {
	padding: 0;
}

.gb-order-flow--native .clof--cart > .clof-reco .clof-reco__list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-flow: row;
	grid-auto-columns: auto;
	gap: 18px;
	overflow: visible;
	padding: 0;
	scroll-snap-type: none;
	transform: none !important;
}

.gb-order-flow--native .clof--cart > .clof-reco .clof-reco-card {
	width: auto;
	min-width: 0;
	scroll-snap-align: none;
}

.gb-order-flow--native .clof--cart > .clof-reco .clof-reco__nav {
	display: none;
}

/* Review hierarchy: products lead; repeated chapter counters stay out of the way. */
.gb-order-flow--native .clof-confirm-list {
	display: flex;
	flex-direction: column;
	counter-reset: none;
}

.gb-order-flow--native .clof-confirm-section {
	counter-increment: none;
}

.gb-order-flow--native.gb-order-flow--confirm .clof-confirm-section:nth-child(5) { order: 1; }
.gb-order-flow--native.gb-order-flow--confirm .clof-confirm-section:nth-child(2) { order: 2; }
.gb-order-flow--native.gb-order-flow--confirm .clof-confirm-section:nth-child(3) { order: 3; }
.gb-order-flow--native.gb-order-flow--confirm .clof-confirm-section:nth-child(4) { order: 4; }
.gb-order-flow--native.gb-order-flow--confirm .clof-confirm-section:nth-child(6) { order: 5; }
.gb-order-flow--native.gb-order-flow--confirm .clof-confirm-section:nth-child(1) { order: 6; }
.gb-order-flow--native.gb-order-flow--confirm .clof-confirm-section:nth-child(7) { order: 7; }

.gb-order-flow--native .clof-confirm-section__head::before {
	display: none;
	content: none;
}

.gb-order-flow--native .clof-confirm-grid,
.gb-order-flow--native .clof-confirm-address,
.gb-order-flow--native .clof-confirm-line,
.gb-order-flow--native .clof-confirm-products,
.gb-order-flow--native .clof-confirm-section--notice p {
	padding-left: 0;
}

.gb-order-flow--native .clof-confirm-product__img {
	width: 88px;
	height: 88px;
	object-fit: contain;
}

.gb-order-flow--native .clof-confirm-product__main {
	grid-template-columns: 88px minmax(0, 1fr);
}

.gb-order-flow--native.gb-order-flow--confirm .clof-confirm-section:nth-child(5) .clof-confirm-section__head strong {
	font-size: 26px;
}

.gb-order-flow--native.gb-order-flow--complete .gb-order-top {
	min-height: 240px;
}

@media (max-width: 1080px) and (min-width: 901px) {
	.gb-order-flow--native .clof__layout,
	.gb-order-flow--native .clof--confirm .clof__layout,
	.gb-order-flow--native .clof--complete .clof__layout {
		grid-template-columns: minmax(0, 1.55fr) minmax(290px, .8fr);
		gap: 34px;
	}

	.gb-order-flow--native .clof-cart__header,
	.gb-order-flow--native .clof-cart-item {
		grid-template-columns: minmax(0, 1fr) 70px 88px 86px;
		gap: 14px;
	}

	.gb-order-flow--native .clof-cart-item__product {
		grid-template-columns: 120px minmax(0, 1fr);
		gap: 18px;
	}

	.gb-order-flow--native .clof-cart-item__img {
		width: 120px;
		height: 140px;
	}
}

@media (max-width: 900px) {
	.gb-order-flow--native .gb-order-page {
		padding-top: 34px;
	}

	.gb-order-flow--native .gb-order-top {
		gap: 20px;
	}

	.gb-order-flow--native .gb-order-steps {
		width: 100%;
		margin-left: 0;
	}

	.gb-order-flow--native .gb-order-native {
		padding-top: 38px;
	}

	.gb-order-flow--native .clof__layout,
	.gb-order-flow--native .clof.clof--cart .clof__layout,
	.gb-order-flow--native .clof.clof--info .clof__layout,
	.gb-order-flow--native .clof.clof--confirm .clof__layout,
	.gb-order-flow--native .clof.clof--complete .clof__layout,
	.gb-order-flow--native .clof--confirm .clof__layout,
	.gb-order-flow--native .clof--complete .clof__layout {
		gap: 42px;
	}

	.gb-order-flow--native .clof-summary {
		max-height: none;
		overflow: visible;
	}

	.gb-order-flow--native .clof-summary .clof-summary__btn,
	.gb-order-flow--native .clof-summary .clof-summary__secure,
	.gb-order-flow--native .clof-info-next {
		display: none !important;
	}

	.gb-order-flow--native .clof--cart > .clof-reco {
		margin-top: 42px;
	}

	.gb-order-flow--native .clof--cart > .clof-reco .clof-reco__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.gb-order-flow--native .gb-order-top {
		align-items: flex-end;
	}

	.gb-order-flow--native .gb-order-top h1 {
		font-size: 48px;
	}

	.gb-order-flow--native .gb-order-intro-note {
		max-width: 290px;
		margin-top: 10px;
		font-size: 10px;
	}

	.gb-order-flow--native .gb-order-step,
	.gb-order-flow--native .gb-order-step span {
		font-size: 8px;
	}

	.gb-order-flow--native .gb-order-step + .gb-order-step {
		padding-left: 12px;
	}

	.gb-order-flow--native .clof-cart-item {
		grid-template-columns: 104px minmax(0, 1fr);
		grid-template-areas:
			"media body"
			"media qty"
			"total total";
		gap: 12px 16px;
	}

	.gb-order-flow--native .clof-cart-item__img {
		grid-area: media;
		width: 104px;
		height: 118px;
	}

	.gb-order-flow--native .clof-cart-item__body {
		grid-area: body;
	}

	.gb-order-flow--native .clof-cart-item__qty {
		grid-area: qty;
		align-self: end;
	}

	.gb-order-flow--native .clof-cart-item__subtotal {
		display: flex;
		grid-area: total;
		align-items: baseline;
		justify-content: space-between;
		padding-top: 14px;
		border-top: 1px solid var(--gb-order-line);
		text-align: right;
	}

	.gb-order-flow--native .clof-cart-item__subtotal .clof-mob-label {
		display: block;
	}

	.gb-order-flow--native .clof-cart-item__name {
		font-size: 20px;
	}

	.gb-order-flow--native .clof-summary {
		padding: 20px 18px;
	}

	.gb-order-flow--native .clof-summary-product {
		grid-template-columns: 46px minmax(0, 1fr) auto;
	}

	.gb-order-flow--native .clof-summary-product__image {
		width: 46px;
		height: 46px;
	}

	.gb-order-flow--native .clof--cart > .clof-reco .clof-reco__list {
		gap: 12px;
	}

	.gb-order-flow--native .clof-confirm-product {
		grid-template-columns: minmax(0, 1fr);
	}

	.gb-order-flow--native .clof-confirm-product__main {
		grid-template-columns: 82px minmax(0, 1fr);
	}

	.gb-order-flow--native .clof-confirm-product__img {
		width: 82px;
		height: 92px;
	}

	.gb-order-flow--native.gb-order-flow--complete .gb-order-top {
		min-height: 190px;
	}

	.gb-order-flow--native.gb-order-flow--complete .gb-order-top h1 {
		font-size: 64px;
	}
}

/* Cart prototype 1:1 layout transfer. Cart only; other flow steps keep their presentation. */
.gb-order-flow--native.gb-order-flow--cart {
	width: 100vw;
	max-width: none;
	margin-left: calc(50% - 50vw);
}

.gb-order-flow--native.gb-order-flow--cart .gb-order-page {
	width: min(100%, 1460px);
	margin: 0 auto;
	padding: 56px clamp(24px, 4vw, 64px) 110px;
}

.gb-order-flow--native.gb-order-flow--cart .gb-order-top {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 30px;
	margin: 0 0 24px;
	padding: 0;
	border: 0;
}

.gb-order-flow--native.gb-order-flow--cart .gb-order-top h1 {
	margin: 10px 0 0;
	font-size: clamp(52px, 5vw, 78px);
	line-height: .9;
}

.gb-order-flow--native.gb-order-flow--cart .gb-order-intro-note {
	max-width: none;
	margin: 18px 0 0;
	font-size: 14px;
	line-height: 1.55;
}

.gb-order-flow--native.gb-order-flow--cart .gb-order-back {
	margin-bottom: 10px;
	font-size: 12px;
	letter-spacing: 0;
}

.gb-order-flow--native.gb-order-flow--cart .gb-order-steps {
	width: 46%;
	margin: 0 0 52px auto;
	border-top: 1px solid var(--gb-order-line);
}

.gb-order-flow--native.gb-order-flow--cart .gb-order-step {
	display: flex;
	gap: 12px;
	padding: 16px 0 10px;
	border-bottom: 1px solid var(--gb-order-line);
	font-size: 11px;
	letter-spacing: .16em;
}

.gb-order-flow--native.gb-order-flow--cart .gb-order-step + .gb-order-step {
	padding-left: 0;
	border-left: 0;
}

.gb-order-flow--native.gb-order-flow--cart .gb-order-step.is-active {
	border-bottom-color: var(--gb-order-gold);
}

.gb-order-flow--native.gb-order-flow--cart .gb-order-native {
	padding: 0;
}

.gb-order-flow--native.gb-order-flow--cart .clof--cart .clof__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.8fr) minmax(330px, .9fr);
	gap: 50px;
	align-items: start;
}

.gb-order-flow--native.gb-order-flow--cart .clof--cart .clof__main {
	display: grid;
	gap: 0;
	min-width: 0;
}

.gb-order-flow--native.gb-order-flow--cart .clof--cart .clof__side {
	display: block;
	min-width: 0;
}

.gb-order-flow--native.gb-order-flow--cart .clof-cart__header,
.gb-order-flow--native.gb-order-flow--cart .clof-cart-item {
	grid-template-columns: minmax(0, 1fr) 100px 128px 100px;
	gap: 24px;
}

.gb-order-flow--native.gb-order-flow--cart .clof-cart__header {
	padding: 0 0 14px;
	font-size: 11px;
	letter-spacing: 0;
}

.gb-order-flow--native.gb-order-flow--cart .clof-cart-item {
	padding: 24px 0 28px;
}

.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__product {
	grid-template-columns: 180px minmax(0, 1fr);
	gap: 24px;
}

.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__img {
	width: 180px;
	height: 180px;
	background: var(--gb-order-surface);
}

.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__img img {
	object-fit: cover;
}

.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__name {
	font-size: 23px;
	line-height: 1.05;
}

.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__meta,
.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__stock {
	margin-top: 10px;
	font-size: 11px;
	letter-spacing: .1em;
}

.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__remove {
	margin-top: 18px;
	font-size: 11px;
	letter-spacing: 0;
	text-decoration: underline;
	text-underline-offset: 4px;
}

.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__price .clof-mob-value,
.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__subtotal .clof-mob-value {
	font-size: 17px;
}

.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__qty .clof-mob-value {
	display: block;
}

.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__qty .quantity {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	align-items: stretch;
	width: 128px;
	height: 46px;
	border: 1px solid var(--gb-order-line-strong);
}

.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__qty input.qty {
	width: 100% !important;
	height: 44px !important;
	min-height: 44px !important;
	border: 0 !important;
	-moz-appearance: textfield;
}

.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__qty input.qty::-webkit-inner-spin-button,
.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__qty input.qty::-webkit-outer-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.gb-order-flow--native.gb-order-flow--cart .clof-qty-stepper {
	display: grid;
	place-items: center;
	min-width: 0;
	height: 44px;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--gb-order-gold) !important;
	font-family: var(--gb-order-serif) !important;
	font-size: 20px !important;
	box-shadow: none !important;
}

.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__subtotal {
	padding: 0;
	border: 0;
	background: transparent !important;
}

.gb-order-flow--native.gb-order-flow--cart .clof-ship {
	margin: 22px 0 32px;
	padding: 20px 22px;
	border: 1px solid var(--gb-order-line);
	background: transparent !important;
}

.gb-order-flow--native.gb-order-flow--cart .clof-ship strong {
	color: var(--gb-order-gold);
	font-size: 14px;
}

.gb-order-flow--native.gb-order-flow--cart .clof-ship em {
	margin-top: 5px;
	font-size: 11px;
}

.gb-order-flow--native.gb-order-flow--cart .clof-reco {
	margin: 0;
	padding: 0;
	border: 0;
}

.gb-order-flow--native.gb-order-flow--cart .clof-reco .clof-small-title {
	margin: 0;
	padding: 0;
	border: 0;
}

.gb-order-flow--native.gb-order-flow--cart .clof-reco .clof-small-title::before {
	content: "ALSO GOOD";
	display: block;
	margin: 0 0 10px;
	color: var(--gb-order-gold);
	font-family: var(--gb-order-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .25em;
}

.gb-order-flow--native.gb-order-flow--cart .clof-reco .clof-small-title strong {
	display: block;
	margin: 0 0 18px;
	font-size: 28px;
}

.gb-order-flow--native.gb-order-flow--cart .clof-reco__slider {
	padding: 0;
}

.gb-order-flow--native.gb-order-flow--cart .clof-reco__viewport {
	overflow: visible;
}

.gb-order-flow--native.gb-order-flow--cart .clof-reco__list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-flow: row;
	grid-auto-columns: auto;
	gap: 12px;
	overflow: visible;
	padding: 0;
	scroll-snap-type: none;
}

.gb-order-flow--native.gb-order-flow--cart .clof-reco__nav {
	display: none;
}

.gb-order-flow--native.gb-order-flow--cart .clof-reco-card {
	width: auto;
	min-width: 0;
	padding: 10px;
	border: 1px solid var(--gb-order-line);
	background: var(--gb-order-bg);
}

.gb-order-flow--native.gb-order-flow--cart .clof-reco-card__img {
	margin-bottom: 8px;
	aspect-ratio: 1.32 / 1;
}

.gb-order-flow--native.gb-order-flow--cart .clof-reco-card__name {
	min-height: 0;
	margin: 10px 0 7px;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.25;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.gb-order-flow--native.gb-order-flow--cart .clof-reco-card__meta {
	margin-top: 0;
	font-size: 9px;
}

.gb-order-flow--native.gb-order-flow--cart .clof-reco-card__price {
	margin: 8px 0;
	font-size: 11px;
}

.gb-order-flow--native.gb-order-flow--cart .clof-reco__btn {
	min-height: 36px;
	font-size: 10px !important;
}

.gb-order-flow--native.gb-order-flow--cart .clof-summary {
	position: sticky;
	top: calc(22px + var(--wp-admin--admin-bar--height, 0px));
	max-height: none;
	padding: 24px;
	overflow: visible;
	border: 1px solid var(--gb-order-line);
	background: var(--gb-order-surface) !important;
}

.gb-order-flow--native.gb-order-flow--cart .clof-summary .clof-small-title {
	margin: 0 0 14px;
	padding: 0 0 16px;
	border-bottom: 1px solid var(--gb-order-line);
}

.gb-order-flow--native.gb-order-flow--cart .clof-summary .clof-small-title strong {
	font-size: 27px;
}

.gb-order-flow--native.gb-order-flow--cart .clof-summary-benefits {
	border: 0;
}

.gb-order-flow--native.gb-order-flow--cart .clof-summary-benefits h3 {
	margin: 14px 0;
	padding: 0;
	color: var(--gb-order-gold);
	font-size: 16px;
}

.gb-order-flow--native.gb-order-flow--cart .clof-summary-benefits h3 span {
	display: none;
}

.gb-order-flow--native.gb-order-flow--cart .clof-summary-coupon,
.gb-order-flow--native.gb-order-flow--cart .clof-point-slot {
	margin: 0 0 10px;
	padding: 13px;
	border: 1px solid var(--gb-order-line) !important;
	background: transparent !important;
}

.gb-order-flow--native.gb-order-flow--cart .clof-summary-coupon label {
	display: block;
	margin: 0;
	font-size: 0;
	letter-spacing: 0;
}

.gb-order-flow--native.gb-order-flow--cart .clof-summary-coupon label span {
	display: block;
	color: var(--gb-order-cream);
	font-family: var(--gb-order-serif);
	font-size: 14px;
}

.gb-order-flow--native.gb-order-flow--cart .clof-summary-coupon > div {
	grid-template-columns: minmax(0, 1fr) 74px;
	gap: 8px;
	margin-top: 12px;
}

.gb-order-flow--native.gb-order-flow--cart .clof-summary-coupon input,
.gb-order-flow--native.gb-order-flow--cart .clof-summary-coupon button {
	min-height: 42px !important;
}

.gb-order-flow--native.gb-order-flow--cart .clof-summary-coupon input {
	background: var(--gb-order-bg) !important;
}

/* The cart's coupon submit was the one place this button was painted as
   a solid gold slab (the checkout's copy of it a few thousand lines up
   was already quiet). Both now read as SECONDARY: the coupon is a helper
   beside its input, not the thing that moves the order forward. The
   ivory sweep on press comes from app-shell.css. */
.gb-order-flow--native.gb-order-flow--cart .clof-summary-coupon button {
	border-color: var(--gb-btn-line-quiet, rgba(238, 233, 223, .28)) !important;
	background: transparent !important;
	color: rgba(238, 233, 223, .82) !important;
}

@media (hover: hover) {
	.gb-order-flow--native.gb-order-flow--cart .clof-summary-coupon button:hover {
		border-color: var(--gb-btn-ivory, #eee9df) !important;
		color: var(--gb-btn-ink, #090a09) !important;
	}
}

.gb-order-flow--native.gb-order-flow--cart .clof-summary-coupon button:active {
	color: var(--gb-btn-ink, #090a09) !important;
}

.gb-order-flow--native.gb-order-flow--cart .clof-summary .clof-point-slot {
	padding: 13px;
}

.gb-order-flow--native.gb-order-flow--cart .clof-summary .scpr-checkout-points__head {
	padding: 0 0 10px;
	border: 0;
}

.gb-order-flow--native.gb-order-flow--cart .clof-summary .scpr-checkout-points__form {
	grid-template-columns: minmax(0, 1fr) 74px;
	gap: 8px;
	padding: 10px 0 6px;
}

.gb-order-flow--native.gb-order-flow--cart .clof-summary .scpr--checkout-points .scpr-checkout-points__apply {
	min-width: 74px !important;
	background: var(--gb-order-gold) !important;
	color: var(--gb-order-bg) !important;
}

.gb-order-flow--native.gb-order-flow--cart .clof-summary__rows {
	margin-top: 18px;
	padding-top: 10px;
	border-top: 1px solid var(--gb-order-line);
}

.gb-order-flow--native.gb-order-flow--cart .clof-summary__rows > div {
	padding: 9px 0;
	border: 0;
	font-size: 12px;
}

.gb-order-flow--native.gb-order-flow--cart .clof-summary__rows .is-total {
	position: static;
	margin-top: 6px;
	padding: 18px 0 6px;
	border-top: 1px solid var(--gb-order-line);
	background: transparent;
	transform: none;
}

.gb-order-flow--native.gb-order-flow--cart .clof-summary__rows .is-total span {
	font-family: var(--gb-order-serif);
	font-size: 18px;
	font-weight: 400;
	letter-spacing: 0;
}

.gb-order-flow--native.gb-order-flow--cart .clof-summary__rows .is-total strong {
	font-size: 24px;
}

.gb-order-flow--native.gb-order-flow--cart .clof-summary__btn,
.gb-order-flow--native.gb-order-flow--cart button.clof-summary__btn {
	position: static;
	width: 100%;
	min-height: 68px;
	margin: 12px 0 0;
	padding: 0 20px !important;
}

/* P2: the desktop scroll-container variant of .clof-summary (the generic,
   non-cart rule) pins its CTA with `body.dm-pack-green-badger .gb-order-flow--native
   .clof-summary__btn { position: sticky; bottom: 0; }` at min-width:901px. That
   "body" type selector gives it (0,3,1) specificity, which beats this file's
   own cart-only `position: static` reset above ((0,3,0) — one class short)
   regardless of source order. Since the cart's .clof-summary is NOT a bounded
   scroll container (max-height: none; overflow: visible, above), the sticky
   button detaches from the summary rows once they're tall enough (5+ line
   items) and floats over "小計"/the total row instead of sitting below them.
   Re-declaring with the same "body" prefix restores enough specificity for
   the cart's static positioning to win. */
body.dm-pack-green-badger .gb-order-flow--native.gb-order-flow--cart .clof-summary__btn,
body.dm-pack-green-badger .gb-order-flow--native.gb-order-flow--cart button.clof-summary__btn {
	position: static;
}

.gb-order-flow--native.gb-order-flow--cart .clof-summary__secure {
	display: block;
	margin: 12px 0 0;
}

@media (max-width: 1050px) and (min-width: 821px) {
	.gb-order-flow--native.gb-order-flow--cart .gb-order-page {
		padding-top: 80px;
		padding-right: 32px;
		padding-left: 32px;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof--cart .clof__layout {
		grid-template-columns: minmax(0, 1.45fr) minmax(300px, .8fr);
		gap: 26px;
	}

	/* P1-5: at this row width (item box is ~430-600px here vs. ~1400px+ at
	   full desktop), the inherited 4-column table-row template
	   (minmax(0,1fr) 86px 110px 86px) only leaves ~105-260px for the whole
	   product cell. A generic, non-cart @media(max-width:900px) rule
	   earlier in this file also flattens .clof-cart-item__product to
	   `display: contents` and place __img/__body directly via
	   grid-column, and since this cart-only block never overrode that, the
	   145px-wide image (cart's own __img rule below) ends up placed by the
	   generic rule into a column meant for a 96px image and overflows into
	   the name/qty area. Rather than fight two competing column systems in
	   a width band too narrow for a 4-column table row, reuse the
	   single-column "stacked card" row (media | copy/price/qty stacked,
	   full-width subtotal) that the proven <=820px block below already
	   uses — same grid-area names, just carried up to this breakpoint. */
	.gb-order-flow--native.gb-order-flow--cart .clof-cart__header {
		display: none;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item {
		grid-template-columns: 145px minmax(0, 1fr);
		grid-template-areas:
			"media copy"
			"media price"
			"media qty"
			"total total";
		gap: 8px 18px;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__product {
		display: contents;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__img {
		grid-area: media;
		width: 145px;
		height: 145px;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__body {
		grid-area: copy;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__price {
		display: flex;
		grid-area: price;
		align-items: baseline;
		justify-content: flex-start;
		gap: 8px;
		min-height: 0 !important;
		padding: 0;
		text-align: left;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__price .clof-mob-label {
		display: none;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__qty {
		display: flex;
		grid-area: qty;
		align-items: center;
		align-self: end;
		justify-content: space-between;
		gap: 10px;
		min-height: 0 !important;
		padding: 0;
		text-align: left;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__qty .clof-mob-label {
		display: inline;
		color: var(--gb-order-muted);
		font-size: 10px;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__qty .quantity {
		width: 118px;
		height: 38px;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__subtotal {
		display: flex;
		grid-area: total;
		align-items: baseline;
		justify-content: space-between;
		margin-top: 3px;
		min-height: 0 !important;
		padding: 10px 0 0;
		border-top: 1px solid var(--gb-order-line);
		background: transparent !important;
		text-align: left;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__subtotal .clof-mob-label {
		display: inline;
		color: var(--gb-order-muted) !important;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-reco__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.gb-order-flow--native.gb-order-flow--cart .gb-order-mobile-bar--native {
		display: none !important;
	}
}

/* P0-5: the desktop checkout CTA (.clof-summary__btn) hides at max-width:900px
   but the mobile sticky bar above only re-enables at max-width:820px, leaving
   821-900px with neither visible. Re-show the bar for that gap explicitly. */
@media (max-width: 900px) and (min-width: 821px) {
	.gb-order-flow--native.gb-order-flow--cart .gb-order-mobile-bar--native:not([hidden]) {
		display: flex !important;
	}

	/* P0-6: the fixed .dm-app-nav (app-shell.css, ~56px + safe-bottom tall)
	   and the sticky bar this now shows both sit at the viewport bottom.
	   The 821-1050px block above only reserves 110px (inherited from the
	   base .gb-order-page rule), which isn't enough once the bar is visible
	   here too — bump it to the same 190px the <=820px block already uses
	   so scrolled content (qty stepper, coupon "適用" button) never sits
	   under either fixed band. */
	.gb-order-flow--native.gb-order-flow--cart .gb-order-page {
		padding-bottom: 190px;
	}
}

@media (max-width: 820px) {
	.gb-order-flow--native.gb-order-flow--cart .gb-order-page {
		width: 100%;
		padding: 20px 20px 190px;
	}

	.gb-order-flow--native.gb-order-flow--cart .gb-order-top {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 12px;
		align-items: start;
		margin-bottom: 14px;
	}

	.gb-order-flow--native.gb-order-flow--cart .gb-order-top h1 {
		margin-top: 4px;
		font-size: 38px;
		line-height: .92;
	}

	.gb-order-flow--native.gb-order-flow--cart .gb-order-intro-note {
		display: none;
	}

	.gb-order-flow--native.gb-order-flow--cart .gb-order-back {
		display: inline-block;
		margin: 1px 0 0;
		font-size: 11px;
	}

	.gb-order-flow--native.gb-order-flow--cart .gb-order-steps {
		width: 100%;
		margin: 0 0 20px;
	}

	.gb-order-flow--native.gb-order-flow--cart .gb-order-step {
		display: block;
		padding: 8px 0 7px;
		font-size: 9px;
	}

	.gb-order-flow--native.gb-order-flow--cart .gb-order-step span {
		display: block;
		margin: 0 0 6px;
		font-size: 9px;
	}

	.gb-order-flow--native.gb-order-flow--cart .gb-order-step strong {
		font-size: 9px;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof--cart .clof__layout {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof--cart .clof__main {
		display: contents;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-cart {
		order: 1;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof--cart .clof__side {
		order: 2;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-ship {
		order: 3;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-reco {
		order: 4;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-cart__header {
		display: none;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item {
		grid-template-columns: 96px minmax(0, 1fr);
		grid-template-areas:
			"media copy"
			"media price"
			"media qty"
			"total total";
		gap: 5px 14px;
		padding: 0 0 16px;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item + .clof-cart-item {
		padding-top: 16px;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__product {
		display: contents;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__img {
		grid-area: media;
		width: 96px;
		height: 126px;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__body {
		grid-area: copy;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__name {
		font-size: 19px;
		line-height: 1.15;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__meta {
		margin-top: 7px;
		font-size: 9px;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__stock {
		display: inline-block;
		margin-top: 8px;
		padding: 4px 7px;
		border: 1px solid var(--gb-order-line-strong);
		color: var(--gb-order-gold);
		font-size: 9px;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__remove {
		margin-top: 7px;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__price {
		display: flex;
		grid-area: price;
		align-items: baseline;
		justify-content: flex-start;
		gap: 8px;
		min-height: 0 !important;
		padding: 0;
		text-align: left;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__price .clof-mob-label {
		display: none;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__price .clof-mob-value {
		color: var(--gb-order-cream);
		font-size: 16px;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__qty {
		display: flex;
		grid-area: qty;
		align-items: center;
		align-self: end;
		justify-content: space-between;
		gap: 10px;
		min-height: 0 !important;
		padding: 0;
		text-align: left;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__qty .clof-mob-label {
		display: inline;
		color: var(--gb-order-muted);
		font-size: 10px;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__qty .quantity {
		width: 118px;
		height: 38px;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__qty input.qty,
	.gb-order-flow--native.gb-order-flow--cart .clof-qty-stepper {
		height: 36px !important;
		min-height: 36px !important;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__subtotal {
		display: flex;
		grid-area: total;
		align-items: baseline;
		justify-content: space-between;
		margin-top: 3px;
		min-height: 0 !important;
		padding: 10px 0 0;
		border-top: 1px solid var(--gb-order-line);
		background: transparent !important;
		text-align: left;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__subtotal .clof-mob-label {
		display: inline;
		color: var(--gb-order-muted) !important;
		font-size: 10px;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__subtotal .clof-mob-value {
		font-size: 17px;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-ship {
		margin: 0 0 24px;
		padding: 12px 2px;
		border-width: 1px 0;
		background: transparent;
		gap: 10px;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-ship strong {
		font-size: 12px;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-ship em {
		font-size: 10px;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-ship__icon {
		width: 24px;
		height: 24px;
		flex: 0 0 24px;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-summary {
		position: static;
		max-height: none;
		margin: 0 0 18px;
		padding: 16px 0 8px;
		overflow: visible;
		border: 1px solid var(--gb-order-line);
		border-width: 1px 0;
		background: transparent !important;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-summary .clof-small-title,
	.gb-order-flow--native.gb-order-flow--cart .clof-summary__rows,
	.gb-order-flow--native.gb-order-flow--cart .clof-summary__btn,
	.gb-order-flow--native.gb-order-flow--cart .clof-summary__secure {
		display: none !important;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-summary-benefits h3 {
		margin: 0 0 8px;
		color: var(--gb-order-cream);
		font-size: 20px;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-summary-coupon,
	.gb-order-flow--native.gb-order-flow--cart .clof-point-slot {
		margin: 0;
		padding: 10px 0;
		border: 0 !important;
		border-top: 1px solid var(--gb-order-line) !important;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-summary .clof-point-slot {
		padding: 10px 0 !important;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-summary-coupon label span {
		font-size: 14px;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-summary-coupon > div {
		grid-template-columns: minmax(0, 1fr) 64px;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-summary-coupon input,
	.gb-order-flow--native.gb-order-flow--cart .clof-summary-coupon button {
		min-height: 40px !important;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-summary .scpr-checkout-points__brand small {
		display: none;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-summary .scpr-checkout-points__head {
		padding: 0 0 4px;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-summary .scpr-checkout-points__form {
		grid-template-columns: minmax(0, 1fr) 64px;
		padding: 4px 0 2px;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-summary .scpr--checkout-points .scpr-checkout-points__apply {
		min-width: 64px !important;
		font-size: 10px !important;
		white-space: nowrap;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-summary .scpr-checkout-points__tools {
		padding-bottom: 0;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-reco .clof-small-title::before {
		font-size: 9px;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-reco .clof-small-title strong {
		font-size: 25px;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-reco__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 9px;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-reco-card {
		padding: 8px;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-reco-card__img {
		display: block;
		height: clamp(112px, 32vw, 220px);
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-reco-card__img img {
		width: 100%;
		height: 100%;
		object-fit: contain;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-reco-card__name {
		font-size: 11px;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-reco__btn {
		min-height: 34px;
		border: 1px solid var(--gb-order-line-strong) !important;
		background: transparent !important;
		color: var(--gb-order-cream) !important;
		box-shadow: none !important;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-reco__btn:disabled {
		border-color: var(--gb-order-line) !important;
		background: transparent !important;
		color: var(--gb-order-muted) !important;
	}

	.gb-order-flow--native.gb-order-flow--cart .gb-order-mobile-bar--native:not([hidden]) {
		display: flex;
		height: 78px;
		min-height: 78px;
		padding: 10px 16px 10px 20px;
	}

	.gb-order-flow--native.gb-order-flow--cart .gb-order-mobile-bar--native strong {
		font-size: 21px;
	}

	.gb-order-flow--native.gb-order-flow--cart .gb-order-mobile-bar--native button {
		width: auto;
		min-width: 172px;
		height: 56px;
		min-height: 56px;
		padding: 0 18px;
		font-size: 12px;
		white-space: nowrap;
	}
}

/* Mobile Cart commerce text stays readable and sans-serif; the Cart title is the only display serif. */
@media (max-width: 820px) {
	.gb-order-flow--native.gb-order-flow--cart .gb-order-steps,
	.gb-order-flow--native.gb-order-flow--cart .gb-order-steps *,
	.gb-order-flow--native.gb-order-flow--cart .gb-order-top,
	.gb-order-flow--native.gb-order-flow--cart .gb-order-top *,
	.gb-order-flow--native.gb-order-flow--cart .gb-order-back,
	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item,
	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item *,
	.gb-order-flow--native.gb-order-flow--cart .clof-summary,
	.gb-order-flow--native.gb-order-flow--cart .clof-summary *,
	.gb-order-flow--native.gb-order-flow--cart .clof-ship,
	.gb-order-flow--native.gb-order-flow--cart .clof-ship *,
	.gb-order-flow--native.gb-order-flow--cart .clof-reco,
	.gb-order-flow--native.gb-order-flow--cart .clof-reco *,
	.gb-order-flow--native.gb-order-flow--cart .gb-order-mobile-bar,
	.gb-order-flow--native.gb-order-flow--cart .gb-order-mobile-bar * {
		font-family: var(--gb-order-sans) !important;
	}
	.gb-order-flow--native.gb-order-flow--cart .gb-order-top h1 {
		font-family: var(--gb-order-serif) !important;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__name {
		font-size: 17px;
		font-weight: 700;
		line-height: 1.4;
	}
	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__price .clof-mob-value,
	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__subtotal .clof-mob-value {
		font-size: 16px !important;
		font-weight: 600;
		line-height: 1.35;
	}
	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__qty .clof-mob-label,
	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__subtotal .clof-mob-label {
		font-size: 12px;
		line-height: 1.35;
	}
	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__qty input.qty,
	.gb-order-flow--native.gb-order-flow--cart .clof-qty-stepper {
		font-family: var(--gb-order-sans) !important;
		font-size: 14px !important;
	}
	.gb-order-flow--native.gb-order-flow--cart .clof-summary-coupon label,
	.gb-order-flow--native.gb-order-flow--cart .clof-summary-coupon input,
	.gb-order-flow--native.gb-order-flow--cart .clof-summary-coupon button,
	.gb-order-flow--native.gb-order-flow--cart .scpr,
	.gb-order-flow--native.gb-order-flow--cart .scpr * {
		font-family: var(--gb-order-sans) !important;
	}
	.gb-order-flow--native.gb-order-flow--cart .clof-summary-coupon label {
		font-size: 14px;
		font-weight: 600;
		line-height: 1.35;
	}
	.gb-order-flow--native.gb-order-flow--cart .clof-summary-coupon input {
		font-size: 14px !important;
	}
	.gb-order-flow--native.gb-order-flow--cart .scpr-checkout-points__brand strong {
		font-size: 18px;
		line-height: 1.2;
	}
	.gb-order-flow--native.gb-order-flow--cart .scpr-checkout-points__balance strong {
		font-size: 22px;
		line-height: 1.1;
	}
	.gb-order-flow--native.gb-order-flow--cart .scpr-checkout-points__field span,
	.gb-order-flow--native.gb-order-flow--cart .scpr-checkout-points__message {
		font-size: 12px;
		line-height: 1.4;
	}
	.gb-order-flow--native.gb-order-flow--cart .scpr-checkout-points__quick {
		display: none;
	}
	.gb-order-flow--native.gb-order-flow--cart .clof-reco-card__name {
		font-size: 14px;
		font-weight: 600;
		line-height: 1.35;
	}
	.gb-order-flow--native.gb-order-flow--cart .clof-reco-card__price,
	.gb-order-flow--native.gb-order-flow--cart .clof-reco-var,
	.gb-order-flow--native.gb-order-flow--cart .clof-var-open,
	.gb-order-flow--native.gb-order-flow--cart .clof-reco__btn {
		font-family: var(--gb-order-sans) !important;
		font-size: 12px;
		line-height: 1.35;
	}
}

@media (hover: hover) and (max-width: 820px) {
	.gb-order-flow--native.gb-order-flow--cart .clof-reco__btn:not(:disabled):hover {
		border-color: var(--gb-order-gold) !important;
		background: color-mix(in srgb, var(--gb-order-gold) 12%, transparent) !important;
	}
}

@media (max-width: 390px) {
	.gb-order-flow--native.gb-order-flow--cart .gb-order-page {
		padding-right: 18px;
		padding-left: 18px;
	}

	.gb-order-flow--native.gb-order-flow--cart .gb-order-top h1 {
		font-size: 36px;
	}

	.gb-order-flow--native.gb-order-flow--cart .gb-order-mobile-bar--native {
		gap: 10px;
	}

	.gb-order-flow--native.gb-order-flow--cart .gb-order-mobile-bar--native button {
		min-width: 0;
		max-width: 58vw;
		padding: 0 14px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.gb-order-flow--native *,
	.gb-order-flow--native *::before,
	.gb-order-flow--native *::after {
		transition: none !important;
	}
}

/* ========================================================================== */
/* CHECKOUT SYSTEM REAL-SECTIONS ADMIN — intentionally excludes flow header. */
/* ========================================================================== */

/* 01 配送先フォーム */
.gb-order-flow--checkout .gb-order-checkout-main > .gb-order-checkout-section:not(.gb-order-payment-section) {
	margin-bottom: var(--gb-checkout-customer-mb, 48px);
	padding: var(--gb-checkout-customer-pad-top, 0) var(--gb-checkout-customer-pad-x, 0) var(--gb-checkout-customer-pad-bottom, 48px);
	border: var(--gb-checkout-customer-border-w, 0) solid var(--gb-checkout-customer-border, transparent);
	border-bottom-width: var(--gb-checkout-customer-border-w, 1px);
	border-bottom-color: var(--gb-checkout-customer-border, var(--gb-order-line));
	border-radius: var(--gb-checkout-customer-radius, 0);
	background: var(--gb-checkout-customer-bg, transparent);
}

.gb-order-flow--checkout .gb-order-checkout-main > .gb-order-checkout-section:not(.gb-order-payment-section) .gb-order-section-head {
	gap: var(--gb-checkout-customer-heading-gap, 18px);
	margin-bottom: var(--gb-checkout-customer-heading-mb, 30px);
}

.gb-order-flow--checkout .gb-order-checkout-main > .gb-order-checkout-section:not(.gb-order-payment-section) .gb-order-section-head > span {
	color: var(--gb-checkout-customer-number, var(--gb-order-gold));
	font-size: var(--gb-checkout-customer-number-size, 14px);
}

.gb-order-flow--checkout .gb-order-checkout-main > .gb-order-checkout-section:not(.gb-order-payment-section) .gb-order-section-head h2 {
	color: var(--gb-checkout-customer-heading, var(--gb-order-cream));
	font-size: var(--gb-checkout-customer-heading-size, 28px);
}

.gb-order-flow--checkout .gb-order-checkout-main > .gb-order-checkout-section:not(.gb-order-payment-section) .gb-order-form-stack {
	gap: var(--gb-checkout-customer-field-gap, 26px);
}

.gb-order-flow--checkout .gb-order-checkout-main > .gb-order-checkout-section:not(.gb-order-payment-section) .gb-order-field label {
	margin-bottom: var(--gb-checkout-customer-label-mb, 9px);
	color: var(--gb-checkout-customer-label, var(--gb-order-muted));
	font-size: var(--gb-checkout-customer-label-size, 10px);
	letter-spacing: var(--gb-checkout-customer-label-track, .22em);
}

.gb-order-flow--checkout .gb-order-checkout-main > .gb-order-checkout-section:not(.gb-order-payment-section) .gb-order-field .required {
	color: var(--gb-checkout-customer-number, var(--gb-order-gold));
}

.gb-order-flow--checkout .gb-order-checkout-main > .gb-order-checkout-section:not(.gb-order-payment-section) .gb-order-field input,
.gb-order-flow--checkout .gb-order-checkout-main > .gb-order-checkout-section:not(.gb-order-payment-section) .gb-order-field select,
.gb-order-flow--checkout .gb-order-checkout-main > .gb-order-checkout-section:not(.gb-order-payment-section) .gb-order-field textarea {
	min-height: var(--gb-checkout-customer-input-height, 46px);
	padding: var(--gb-checkout-customer-input-pad-y, 10px) var(--gb-checkout-customer-input-pad-x, 0);
	border: var(--gb-checkout-customer-input-border-w, 0) solid var(--gb-checkout-customer-input-border, transparent);
	border-bottom-width: var(--gb-checkout-customer-input-border-w, 1px);
	border-bottom-color: var(--gb-checkout-customer-input-border, rgba(244, 241, 232, .23));
	border-radius: var(--gb-checkout-customer-input-radius, 0);
	background: var(--gb-checkout-customer-input-bg, transparent);
	color: var(--gb-checkout-customer-input-text, var(--gb-order-cream));
	font-size: var(--gb-checkout-customer-input-size, 14px);
}

.gb-order-flow--checkout .gb-order-checkout-main > .gb-order-checkout-section:not(.gb-order-payment-section) .gb-order-field select option {
	background: var(--gb-checkout-customer-input-bg, var(--gb-order-bg));
	color: var(--gb-checkout-customer-input-text, var(--gb-order-cream));
}

.gb-order-flow--checkout .gb-order-checkout-main > .gb-order-checkout-section:not(.gb-order-payment-section) .gb-order-field input:focus,
.gb-order-flow--checkout .gb-order-checkout-main > .gb-order-checkout-section:not(.gb-order-payment-section) .gb-order-field select:focus,
.gb-order-flow--checkout .gb-order-checkout-main > .gb-order-checkout-section:not(.gb-order-payment-section) .gb-order-field textarea:focus {
	border-color: var(--gb-checkout-customer-input-focus, var(--gb-order-gold));
}

.gb-order-flow--checkout .gb-order-checkout-main > .gb-order-checkout-section:not(.gb-order-payment-section) .gb-order-field input::placeholder,
.gb-order-flow--checkout .gb-order-checkout-main > .gb-order-checkout-section:not(.gb-order-payment-section) .gb-order-field textarea::placeholder {
	color: var(--gb-checkout-customer-placeholder, var(--gb-order-muted));
}

.gb-order-flow--checkout .gb-order-checkout-main > .gb-order-checkout-section:not(.gb-order-payment-section) .gb-order-field small,
.gb-order-flow--checkout .gb-order-checkout-main > .gb-order-checkout-section:not(.gb-order-payment-section) .gb-order-postcode > small {
	color: var(--gb-checkout-customer-helper, var(--gb-order-muted));
	font-size: var(--gb-checkout-customer-helper-size, 9px);
}

.gb-order-flow--checkout .gb-order-checkout-main > .gb-order-checkout-section:not(.gb-order-payment-section) .gb-order-postcode > button {
	border-bottom-color: var(--gb-checkout-customer-action, var(--gb-order-gold));
	color: var(--gb-checkout-customer-action, var(--gb-order-gold));
	font-size: var(--gb-checkout-customer-action-size, 10px);
}

/* 02 お支払い */
.gb-order-flow--checkout .gb-order-payment-section {
	padding: var(--gb-checkout-payment-section-pad-top, 0) var(--gb-checkout-payment-section-pad-x, 0) var(--gb-checkout-payment-section-pad-bottom, 48px);
	border: var(--gb-checkout-payment-section-border-w, 0) solid var(--gb-checkout-payment-section-border, transparent);
	border-bottom-width: var(--gb-checkout-payment-section-border-w, 1px);
	border-bottom-color: var(--gb-checkout-payment-section-border, var(--gb-order-line));
	border-radius: var(--gb-checkout-payment-section-radius, 0);
	background: var(--gb-checkout-payment-section-bg, transparent);
}

.gb-order-flow--checkout .gb-order-payment-section .gb-order-section-head {
	gap: var(--gb-checkout-payment-heading-gap, 18px);
	margin-bottom: var(--gb-checkout-payment-heading-mb, 30px);
}

.gb-order-flow--checkout .gb-order-payment-section .gb-order-section-head > span {
	color: var(--gb-checkout-payment-number, var(--gb-order-gold));
	font-size: var(--gb-checkout-payment-number-size, 14px);
}

.gb-order-flow--checkout .gb-order-payment-section .gb-order-section-head h2 {
	color: var(--gb-checkout-payment-heading, var(--gb-order-cream));
	font-size: var(--gb-checkout-payment-heading-size, 28px);
}

.gb-order-flow--checkout .gb-order-payment-section .woocommerce-checkout-payment,
.gb-order-flow--checkout .gb-order-payment-section .wc_payment_methods {
	border-radius: var(--gb-checkout-payment-methods-radius, 0);
	background: var(--gb-checkout-payment-methods-bg, transparent);
}

.gb-order-flow--checkout .gb-order-payment-section .wc_payment_methods {
	padding-right: var(--gb-checkout-payment-methods-pad-x, 0);
	padding-left: var(--gb-checkout-payment-methods-pad-x, 0);
	border-top-color: var(--gb-checkout-payment-methods-border, var(--gb-order-line));
}

.gb-order-flow--checkout .gb-order-payment-section .wc_payment_method {
	padding-top: var(--gb-checkout-payment-row-pad-y, 18px);
	padding-bottom: var(--gb-checkout-payment-row-pad-y, 18px);
	border-bottom-color: var(--gb-checkout-payment-methods-border, var(--gb-order-line));
}

.gb-order-flow--checkout .gb-order-payment-section .wc_payment_method > label {
	color: var(--gb-checkout-payment-label, var(--gb-order-cream));
	font-size: var(--gb-checkout-payment-label-size, 16px);
}

.gb-order-flow--checkout .gb-order-payment-section .wc_payment_method input[type="radio"] {
	accent-color: var(--gb-checkout-payment-number, var(--gb-order-gold));
}

.gb-order-flow--checkout .gb-order-payment-section .payment_box,
.gb-order-flow--checkout .gb-order-payment-section #payment.woocommerce-checkout-payment .payment_box {
	padding: var(--gb-checkout-payment-note-pad, 0);
	border-radius: var(--gb-checkout-payment-methods-radius, 0);
	background: var(--gb-checkout-payment-note-bg, transparent);
	color: var(--gb-checkout-payment-note, var(--gb-order-muted));
	font-size: var(--gb-checkout-payment-note-size, 11px);
}

.gb-order-flow--checkout .gb-order-payment-section #payment.woocommerce-checkout-payment .payment_box::before {
	display: none;
}

/* YOUR ORDER / ご注文内容 */
.gb-order-flow--checkout .gb-order-summary {
	top: var(--gb-checkout-summary-sticky-top, 28px);
	padding: var(--gb-checkout-summary-pad-y, 0) var(--gb-checkout-summary-pad-x, 0);
	border: var(--gb-checkout-summary-border-w, 0) solid var(--gb-checkout-summary-border, transparent);
	border-radius: var(--gb-checkout-summary-radius, 0);
	background: var(--gb-checkout-summary-bg, transparent);
}

.gb-order-flow--checkout .gb-order-summary-label {
	color: var(--gb-checkout-summary-label, var(--gb-order-gold));
	font-size: var(--gb-checkout-summary-label-size, 10px);
	letter-spacing: var(--gb-checkout-summary-label-track, .22em);
}

.gb-order-flow--checkout .gb-order-summary h2 {
	margin-bottom: var(--gb-checkout-summary-title-mb, 24px);
	color: var(--gb-checkout-summary-title, var(--gb-order-cream));
	font-size: var(--gb-checkout-summary-title-size, 32px);
}

.gb-order-flow--checkout .gb-order-review table {
	border-top-color: var(--gb-checkout-summary-divider, var(--gb-order-line));
}

.gb-order-flow--checkout .gb-order-review th,
.gb-order-flow--checkout .gb-order-review td {
	padding-top: var(--gb-checkout-summary-row-pad, 16px);
	padding-bottom: var(--gb-checkout-summary-row-pad, 16px);
	border-bottom-color: var(--gb-checkout-summary-divider, var(--gb-order-line));
	font-size: var(--gb-checkout-summary-row-size, 12px);
}

.gb-order-flow--checkout .gb-order-review th {
	color: var(--gb-checkout-summary-row-label, var(--gb-order-muted));
}

.gb-order-flow--checkout .gb-order-review td,
.gb-order-flow--checkout .gb-order-review .amount {
	color: var(--gb-checkout-summary-row-value, var(--gb-order-cream));
}

.gb-order-flow--checkout .gb-order-review #shipping_method li label {
	color: inherit;
}

.gb-order-flow--checkout .gb-order-review .product-name {
	color: var(--gb-checkout-summary-product-name, var(--gb-order-cream));
	font-size: var(--gb-checkout-summary-product-name-size, 14px);
}

.gb-order-flow--checkout .gb-order-review tfoot .order-total th,
.gb-order-flow--checkout .gb-order-review tfoot .order-total td,
.gb-order-flow--checkout .gb-order-review tfoot .order-total .amount {
	color: var(--gb-checkout-summary-total, var(--gb-order-cream));
}

.gb-order-flow--checkout .gb-order-review tfoot .order-total .amount {
	font-size: var(--gb-checkout-summary-total-size, 30px);
}

/* COUPON / POINTS */
.gb-order-flow--checkout .gb-order-benefits {
	margin-top: var(--gb-checkout-benefits-mt, 22px);
	margin-bottom: var(--gb-checkout-benefits-mb, 28px);
	padding-right: var(--gb-checkout-benefits-pad-x, 0);
	padding-left: var(--gb-checkout-benefits-pad-x, 0);
	border-top-color: var(--gb-checkout-benefits-border, var(--gb-order-line));
	border-radius: var(--gb-checkout-benefits-radius, 0);
	background: var(--gb-checkout-benefits-bg, transparent);
}

.gb-order-flow--checkout .gb-order-benefits-head {
	border-bottom-color: var(--gb-checkout-benefits-border, var(--gb-order-line));
}

.gb-order-flow--checkout .gb-order-benefits-head strong {
	color: var(--gb-checkout-benefits-title, var(--gb-order-cream));
	font-size: var(--gb-checkout-benefits-title-size, 16px);
}

.gb-order-flow--checkout .gb-order-benefits-head small {
	color: var(--gb-checkout-benefits-note, var(--gb-order-muted));
	font-size: var(--gb-checkout-benefits-note-size, 9px);
}

.gb-order-flow--checkout .gb-order-benefit-row {
	border-bottom-color: var(--gb-checkout-benefits-border, var(--gb-order-line));
}

.gb-order-flow--checkout .gb-order-benefit-toggle {
	padding-top: var(--gb-checkout-benefits-row-pad, 16px);
	padding-bottom: var(--gb-checkout-benefits-row-pad, 16px);
}

.gb-order-flow--checkout .gb-order-benefit-toggle span:first-child,
.gb-order-flow--checkout .gb-order-benefit-toggle span:last-child {
	color: var(--gb-checkout-benefits-accent, var(--gb-order-gold));
}

.gb-order-flow--checkout .gb-order-benefit-toggle span:nth-child(2) {
	color: var(--gb-checkout-benefits-row-text, var(--gb-order-muted));
}

.gb-order-flow--checkout .gb-order-coupon-controls input {
	border-bottom-color: var(--gb-checkout-coupon-input-border, rgba(244, 241, 232, .28));
	border-radius: var(--gb-checkout-coupon-input-radius, 0);
	background: var(--gb-checkout-coupon-input-bg, transparent);
	color: var(--gb-checkout-coupon-input-text, var(--gb-order-cream));
}

.gb-order-flow--checkout .gb-order-coupon-controls button {
	border-bottom-color: var(--gb-checkout-coupon-button-border, var(--gb-order-gold));
	border-radius: var(--gb-checkout-coupon-button-radius, 0);
	background: var(--gb-checkout-coupon-button-bg, transparent);
	color: var(--gb-checkout-coupon-button-text, var(--gb-order-gold));
}

.gb-order-flow--checkout .gb-order-benefit-message {
	color: var(--gb-checkout-coupon-message, var(--gb-order-muted));
}

/* WooCommerce 注文確定ボタン */
.gb-order-flow--checkout .gb-order-place-order .woocommerce-terms-and-conditions-wrapper {
	color: var(--gb-checkout-place-terms, var(--gb-order-muted));
	font-size: var(--gb-checkout-place-terms-size, 10px);
}

/* Studio still owns every --gb-checkout-place-* override; only the
   DEFAULTS moved, so a shop that has set its own ground or tracking in
   the checkout screen keeps it, and a shop that has not now inherits
   the action authority's outline-until-touched instead of a gold slab. */
.gb-order-flow--checkout .gb-order-place-order .place-order .button {
	min-height: var(--gb-checkout-place-height, var(--gb-btn-h-lg, 58px));
	padding-right: var(--gb-checkout-place-pad-x, 20px);
	padding-left: var(--gb-checkout-place-pad-x, 20px);
	border: var(--gb-checkout-place-border-w, 1px) solid var(--gb-checkout-place-border, var(--gb-btn-line, rgba(184, 154, 91, .72)));
	border-radius: var(--gb-checkout-place-radius, 0);
	background: var(--gb-checkout-place-bg, transparent);
	color: var(--gb-checkout-place-text, var(--gb-order-cream));
	font-size: var(--gb-checkout-place-size, inherit);
	font-weight: var(--gb-checkout-place-weight, 700);
	letter-spacing: var(--gb-checkout-place-track, var(--gb-btn-ls, .09em));
}

/* === Duck Mark Studio: real CART / CHECKOUT / COMPLETE SYSTEM section controls (V7) === */
.gb-order-flow [data-gb-system-part="items"]{
  background:var(--gb-cart-items-background,transparent);color:var(--gb-cart-items-text-color,var(--gb-order-cream));
  border:var(--gb-cart-items-border-width,0) solid var(--gb-cart-items-border-color,transparent);border-radius:var(--gb-cart-items-radius,0);
  padding-top:var(--gb-cart-items-padding-top,0);padding-bottom:var(--gb-cart-items-padding-bottom,0);gap:var(--gb-cart-items-gap,0);
}
.gb-order-flow [data-gb-system-part="items"] .gb-order-product-type{color:var(--gb-cart-items-accent-color,var(--gb-order-gold));}
.gb-order-flow [data-gb-system-part="items"] .gb-order-variation{color:var(--gb-cart-items-muted-color,var(--gb-order-muted));}
.gb-order-flow [data-gb-system-part="items"] .gb-order-product-info h2{font-size:var(--gb-cart-items-title-size,22px);}
.gb-order-flow .gb-order-cart-list--compact .gb-order-cart-item{padding-top:16px;padding-bottom:16px;}
.gb-order-flow [data-gb-system-part="summary"]{background:var(--gb-cart-summary-background,var(--gb-checkout-summary-bg,transparent));}
[data-gb-order-flow="cart"] [data-gb-system-part="summary"]{
  color:var(--gb-cart-summary-text-color,var(--gb-order-cream));border:var(--gb-cart-summary-border-width,0) solid var(--gb-cart-summary-border-color,transparent);
  border-radius:var(--gb-cart-summary-radius,0);padding-top:var(--gb-cart-summary-padding-top,0);padding-bottom:var(--gb-cart-summary-padding-bottom,0);gap:var(--gb-cart-summary-gap,0);
}
[data-gb-order-flow="cart"] [data-gb-system-part="summary"] .gb-order-summary-label{color:var(--gb-cart-summary-accent-color,var(--gb-order-gold));}
[data-gb-order-flow="cart"] [data-gb-system-part="summary"] h2{font-size:var(--gb-cart-summary-title-size,inherit);}
.gb-order-summary--card{padding:28px!important;background:var(--gb-order-surface)!important;border:1px solid var(--gb-order-line)!important;}
[data-gb-order-flow="cart"] [data-gb-system-part="benefits"]{
  background:var(--gb-cart-benefits-background,transparent);color:var(--gb-cart-benefits-text-color,var(--gb-order-cream));
  border:var(--gb-cart-benefits-border-width,0) solid var(--gb-cart-benefits-border-color,transparent);border-radius:var(--gb-cart-benefits-radius,0);
  padding-top:var(--gb-cart-benefits-padding-top,0);padding-bottom:var(--gb-cart-benefits-padding-bottom,0);gap:var(--gb-cart-benefits-gap,0);
}
[data-gb-order-flow="cart"] [data-gb-system-part="benefits"] .gb-order-benefit-toggle>span:first-child{color:var(--gb-cart-benefits-accent-color,var(--gb-order-gold));}
.gb-order-benefits--card{padding-left:20px!important;padding-right:20px!important;background:var(--gb-order-surface)!important;}
[data-gb-order-flow="cart"] [data-gb-system-part="checkout_cta"]{
  background:var(--gb-cart-cta-background,var(--gb-order-gold));color:var(--gb-cart-cta-text-color,#0b0b0a)!important;
  border:var(--gb-cart-cta-border-width,1px) solid var(--gb-cart-cta-border-color,var(--gb-order-gold));border-radius:var(--gb-cart-cta-radius,0);
  padding-top:var(--gb-cart-cta-padding-top,0);padding-bottom:var(--gb-cart-cta-padding-bottom,0);gap:var(--gb-cart-cta-gap,0);font-size:var(--gb-cart-cta-title-size,inherit);
}
[data-gb-order-flow="cart"] [data-gb-system-part="checkout_cta"].gb-order-primary--outline{background:transparent;color:var(--gb-order-cream)!important;}
/* Both of these lost to the longer checkout selectors further up this file, so
   the Layout choice printed the class and changed nothing. The three siblings
   around them already carry !important for the same reason — matched here
   rather than adding another specificity ladder. */
.gb-order-checkout-section--compact .gb-order-form-stack{gap:12px!important;}
.gb-order-payment-section--card{padding:28px!important;background:var(--gb-order-surface)!important;border:1px solid var(--gb-order-line)!important;}
.gb-order-place-order--outline #place_order{background:transparent!important;color:var(--gb-order-cream)!important;border:1px solid var(--gb-order-gold)!important;}
[data-gb-order-flow="complete"] [data-gb-system-part="message"]{
  background:var(--gb-complete-message-background,transparent);color:var(--gb-complete-message-text-color,var(--gb-order-cream));
  border:var(--gb-complete-message-border-width,0) solid var(--gb-complete-message-border-color,transparent);border-radius:var(--gb-complete-message-radius,0);
  padding-top:var(--gb-complete-message-padding-top,0);padding-bottom:var(--gb-complete-message-padding-bottom,0);gap:var(--gb-complete-message-gap,0);
}
[data-gb-order-flow="complete"] [data-gb-system-part="message"] .gb-order-complete-kicker{color:var(--gb-complete-message-accent-color,var(--gb-order-gold));}
[data-gb-order-flow="complete"] [data-gb-system-part="message"] h1{font-size:var(--gb-complete-message-title-size,inherit);}
.gb-order-complete-content--center{text-align:center;}
.gb-order-complete-message--center{display:flex;flex-direction:column;align-items:center;}
[data-gb-order-flow="complete"] [data-gb-system-part="ledger"]{
  background:var(--gb-complete-ledger-background,transparent);color:var(--gb-complete-ledger-text-color,var(--gb-order-cream));
  border:var(--gb-complete-ledger-border-width,0) solid var(--gb-complete-ledger-border-color,transparent);border-radius:var(--gb-complete-ledger-radius,0);
  padding-top:var(--gb-complete-ledger-padding-top,0);padding-bottom:var(--gb-complete-ledger-padding-bottom,0);gap:var(--gb-complete-ledger-gap,0);
}
.gb-order-ledger--cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.gb-order-ledger--cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
[data-gb-order-flow="complete"] [data-gb-system-part="actions"]{
  background:var(--gb-complete-actions-background,transparent);color:var(--gb-complete-actions-text-color,var(--gb-order-cream));
  border:var(--gb-complete-actions-border-width,0) solid var(--gb-complete-actions-border-color,transparent);border-radius:var(--gb-complete-actions-radius,0);
  padding-top:var(--gb-complete-actions-padding-top,0);padding-bottom:var(--gb-complete-actions-padding-bottom,0);gap:var(--gb-complete-actions-gap,16px);
}
[data-gb-order-flow="complete"] [data-gb-system-part="actions"] a:first-child{background:var(--gb-complete-actions-accent-color,var(--gb-order-gold));}
.gb-order-complete-actions--stacked{flex-direction:column;align-items:stretch;}
/* V7 real-section variable completion: keep exposed controls semantically live. */
[data-gb-order-flow="cart"] [data-gb-system-part="summary"] :is(.gb-order-summary-row,.clof-summary__rows>div,.clof-summary-product){
  color:var(--gb-cart-summary-muted-color,var(--gb-order-muted));
}
[data-gb-order-flow="cart"] [data-gb-system-part="benefits"] :is(.gb-order-benefits-head small,.gb-order-benefit-toggle>span:nth-child(2),.clof-summary-benefit-results){
  color:var(--gb-cart-benefits-muted-color,var(--gb-order-muted));
}
[data-gb-order-flow="cart"] [data-gb-system-part="benefits"] .gb-order-benefits-head strong{
  font-size:var(--gb-cart-benefits-title-size,16px);
}
[data-gb-order-flow="cart"] [data-gb-system-part="checkout_cta"]:hover,
[data-gb-order-flow="cart"] [data-gb-system-part="checkout_cta"]:focus-visible{
  border-color:var(--gb-cart-cta-accent-color,var(--gb-order-gold));
}
[data-gb-order-flow="complete"] [data-gb-system-part="message"] > p{
  color:var(--gb-complete-message-muted-color,var(--gb-order-muted));
}
[data-gb-order-flow="complete"] [data-gb-system-part="ledger"] span{
  color:var(--gb-complete-ledger-muted-color,var(--gb-order-muted));
}
[data-gb-order-flow="complete"] [data-gb-system-part="ledger"] strong{
  color:var(--gb-complete-ledger-accent-color,var(--gb-order-cream));
  font-size:var(--gb-complete-ledger-title-size,14px);
}
[data-gb-order-flow="complete"] [data-gb-system-part="actions"] .is-secondary{
  color:var(--gb-complete-actions-muted-color,var(--gb-order-muted));
}
[data-gb-order-flow="complete"] [data-gb-system-part="actions"] a{
  font-size:var(--gb-complete-actions-title-size,12px);
}

/* ============================================================
   CART — the remove control
   The link, its URL and its nonce all come from WooCommerce via
   duck-mark-order-flow-control and all of them work; what failed was
   that a shopper could find it. Measured on a 390px phone it was a
   22x28px hit area of 11px text in #8f9189 — under a third of the
   44px minimum, at the contrast of disabled copy. Nothing here
   touches the URL, the nonce or the cart logic: this is the same
   anchor, given a body.
   ============================================================ */

.gb-order-flow--native .clof-cart-item__remove,
.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__remove {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	/* The row is already tight, so the target is widened past the
	   glyph with padding rather than by growing the type. */
	padding: 6px 2px !important;
	/* The rule this replaces sets colour with !important, so matching it
	   is the only way to change it — not a habit, a tie-break. Muted grey
	   is the colour of disabled copy; a shopper read it as one. */
	color: var(--gb-order-cream, #f4f1e8) !important;
	font-size: 12px;
	letter-spacing: .04em;
	text-decoration: underline;
	text-underline-offset: 4px;
	text-decoration-color: rgba(184, 154, 91, .55);
	cursor: pointer;
}

/* On a phone the row has no spare column, so the control keeps the
   place the layout already gives it — under the name and capacity —
   and buys its touch area vertically instead. */
@media (max-width: 900px) {
	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__remove {
		/* 44x44 is the smallest target a thumb hits reliably. The glyph
		   is only ~30px wide, so the remaining width is bought on the
		   right — padding-left stays 0 so the word still lines up with
		   the product name above it. */
		min-height: 44px;
		min-width: 44px;
		padding: 12px 14px 12px 0 !important;
		margin-top: 2px;
		font-size: 12.5px;
	}
}

.gb-order-flow--native .clof-cart-item__remove:hover,
.gb-order-flow--native .clof-cart-item__remove:focus-visible {
	color: var(--gb-order-gold, #b89a5b) !important;
	text-decoration-color: currentColor;
	border-bottom-color: transparent !important;
}

.gb-order-flow--native .clof-cart-item__remove:focus-visible {
	outline: 1px solid var(--gb-order-gold, #b89a5b);
	outline-offset: 2px;
}

.gb-order-flow--native .clof-cart-item__remove:active {
	opacity: .7;
}

/* ============================================================
   CART — quantity control
   Shape and palette come from the button authority in app-shell.css;
   these three rules only win back the height and the dividers, which
   earlier rules in this file pin to 36px and 0. 44px is the smallest
   target a thumb hits reliably, and the hairlines are what stop
   "− 1 +" reading as one undifferentiated box.
   ============================================================ */

/* Selectors matched to the @media(max-width:820px) block earlier in
   this file, which pins the row to 38px — same specificity, later in
   source, so no !important is needed to raise it. */
.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__qty .quantity {
	height: 44px;
	min-height: 44px;
}

.gb-order-flow--native.gb-order-flow--cart .clof-qty-stepper {
	height: 44px;
	min-height: 44px;
	width: 42px;
	min-width: 42px;
}

.gb-order-flow--native.gb-order-flow--cart .clof-qty-stepper--minus {
	border-right: 1px solid rgba(184, 154, 91, .42);
}

.gb-order-flow--native.gb-order-flow--cart .clof-qty-stepper--plus {
	border-left: 1px solid rgba(184, 154, 91, .42);
}

.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__qty input.qty {
	height: 44px;
	min-height: 44px;
}

/* The @media(max-width:820px) block earlier in this file pins the
   stepper and the number to `height:36px !important`, and Astra's
   inline sheet zeroes every button border. Both are !important or
   win on cascade order, so matching them is the only way through —
   the same tie-break the remove link needed, not a habit. 44px is
   the smallest control a thumb hits reliably; the hairlines are what
   keep "− 1 +" from reading as one undivided box. */
@media (max-width: 820px) {
	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__qty input.qty,
	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__qty .clof-qty-stepper {
		height: 44px !important;
		min-height: 44px !important;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__qty .clof-qty-stepper--minus {
		border-right: 1px solid rgba(184, 154, 91, .42) !important;
	}

	.gb-order-flow--native.gb-order-flow--cart .clof-cart-item__qty .clof-qty-stepper--plus {
		border-left: 1px solid rgba(184, 154, 91, .42) !important;
	}
}

/* ==========================================================================
 * GB-07 — Select2 (都道府県) skin
 *
 * WooCommerce enhances #billing_state / #shipping_state with selectWoo, and
 * selectWoo ships its own light-theme stylesheet: a white rounded box with a
 * grey hairline. On the Green Badger checkout that box inherits the pack's
 * ivory text colour, so the chosen prefecture rendered as near-white text on
 * white — unreadable — and the control stood 35px tall next to 46px inputs.
 *
 * This is a SKIN ONLY. No address logic, no field ordering, no locale or
 * 都道府県 list is touched: every rule below is a paint rule matched to the
 * measured `.gb-order-input` baseline (transparent ground, 46px, no radius,
 * ivory 14px text, 1px bottom hairline at rgba(244,241,232,.23)).
 *
 * Specificity, not `!important`: selectWoo's own rules top out at (0,2,0)
 * and every selector here carries the `body.dm-pack-green-badger` prefix.
 *
 * The dropdown panel is appended to <body>, not inside .gb-order-flow, which
 * is why the scope is the body class rather than the flow wrapper.
 * ========================================================================== */

/* --- closed control ------------------------------------------------------ */
body.dm-pack-green-badger .select2-container--default .select2-selection--single {
	background-color: transparent;
	border: 0;
	border-bottom: 1px solid rgba(244, 241, 232, .23);
	border-radius: 0;
	height: 46px;
	outline: none;
	transition: border-color .18s ease;
}

body.dm-pack-green-badger .select2-container--default .select2-selection--single .select2-selection__rendered {
	color: var(--dm-cream, #f4f1e8);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 14px;
	line-height: 46px;
	padding: 0 26px 0 0;
}

/* selectWoo paints the "選択してください" placeholder in the same grey it uses
   for real values; the pack needs the two to read differently. */
body.dm-pack-green-badger .select2-container--default .select2-selection--single .select2-selection__placeholder {
	color: rgba(244, 241, 232, .42);
}

body.dm-pack-green-badger .select2-container--default .select2-selection--single:hover,
body.dm-pack-green-badger .select2-container--default.select2-container--open .select2-selection--single,
body.dm-pack-green-badger .select2-container--default.select2-container--focus .select2-selection--single {
	border-bottom-color: var(--dm-gold, #b89a5b);
}

/* --- arrow ---------------------------------------------------------------
 * selectWoo draws the caret as a bordered <b> triangle sized in px. Replacing
 * it with a rotated chevron keeps the caret on the same gold as the rest of
 * the pack's affordances and lets the open state animate. */
body.dm-pack-green-badger .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 46px;
	right: 0;
	width: 20px;
}

body.dm-pack-green-badger .select2-container--default .select2-selection--single .select2-selection__arrow b {
	border: 0;
	border-right: 1px solid var(--dm-gold, #b89a5b);
	border-bottom: 1px solid var(--dm-gold, #b89a5b);
	height: 7px;
	width: 7px;
	margin: 0;
	left: 4px;
	top: 50%;
	transform: translateY(-70%) rotate(45deg);
	transition: transform .18s ease;
}

body.dm-pack-green-badger .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
	transform: translateY(-30%) rotate(-135deg);
}

/* --- dropdown panel ------------------------------------------------------ */
body.dm-pack-green-badger .select2-dropdown,
.select2-dropdown.gb-order-select2 {
	background: var(--dm-black, #0b0b0a);
	border: 1px solid rgba(184, 154, 91, .42);
	border-radius: 0;
	color: var(--dm-cream, #f4f1e8);
}

body.dm-pack-green-badger .select2-container--default .select2-search--dropdown {
	background: var(--dm-black, #0b0b0a);
	padding: 8px;
}

body.dm-pack-green-badger .select2-container--default .select2-search--dropdown .select2-search__field {
	background: transparent;
	border: 0;
	border-bottom: 1px solid rgba(244, 241, 232, .23);
	border-radius: 0;
	color: var(--dm-cream, #f4f1e8);
	height: 40px;
	outline: none;
	padding: 0 2px;
}

body.dm-pack-green-badger .select2-container--default .select2-results__option {
	color: rgba(244, 241, 232, .82);
	font-size: 14px;
	padding: 11px 14px;
}

body.dm-pack-green-badger .select2-container--default .select2-results__option--highlighted[aria-selected],
body.dm-pack-green-badger .select2-container--default .select2-results__option--highlighted[data-selected] {
	background: rgba(184, 154, 91, .22);
	color: var(--dm-cream, #f4f1e8);
}

body.dm-pack-green-badger .select2-container--default .select2-results__option[aria-selected="true"],
body.dm-pack-green-badger .select2-container--default .select2-results__option[data-selected="true"] {
	background: rgba(184, 154, 91, .34);
	color: var(--dm-cream, #f4f1e8);
}

body.dm-pack-green-badger .select2-container--default .select2-results > .select2-results__options {
	max-height: 260px;
}

/* Coarse pointers get a taller row so a prefecture is a comfortable target;
   the search field's 16px comes from the shared iOS rule in app-shell.css. */
@media (pointer: coarse) {
	body.dm-pack-green-badger .select2-container--default .select2-results__option {
		padding: 14px 14px;
	}
}

/* ==========================================================================
 * ORDER FLOW → ACTION AUTHORITY BRIDGE
 *
 * The CLOF plugin ships its own palette for the controls it renders — a lime
 * accent (rgba(143,185,43,…)) on the recommendation card and the variation
 * opener, and a near-black green (#101707) for their labels. On live those
 * won over the authority in app-shell.css, so the cart showed a dark-green
 * label on a dark ground (unreadable) beside two lime-bordered buttons that
 * belong to no other page on this site.
 *
 * This block does not introduce a fourth button design. Every value below is
 * read from the authority's own tokens; the only thing added is the weight
 * needed to be heard inside the plugin's cascade. `!important` is used the
 * same way the rest of this file already uses it — against a third party's
 * sheet, never against our own.
 *
 * The gold/ivory sweep itself still comes from ::before in app-shell.css, so
 * the grounds below stay transparent rather than being repainted here.
 * ========================================================================== */

.gb-order-flow--native .clof-summary__btn,
.gb-order-flow--native button.clof-summary__btn,
.gb-order-flow--native .clof-summary__btn--form-submit,
.gb-order-flow--native .clof-info-next {
	border: 1px solid var(--gb-btn-line, rgba(184, 154, 91, .72)) !important;
	color: var(--gb-btn-ivory, #eee9df) !important;
}

@media (hover: hover) {
	.gb-order-flow--native .clof-summary__btn:hover,
	.gb-order-flow--native button.clof-summary__btn:hover,
	.gb-order-flow--native .clof-summary__btn--form-submit:hover,
	.gb-order-flow--native .clof-info-next:hover {
		border-color: var(--gb-btn-gold, #b89a5b) !important;
		color: var(--gb-btn-ink, #090a09) !important;
	}
}

.gb-order-flow--native .clof-summary__btn:active,
.gb-order-flow--native button.clof-summary__btn:active,
.gb-order-flow--native .clof-summary__btn--form-submit:active,
.gb-order-flow--native .clof-info-next:active,
.gb-order-flow--native .clof-summary__btn:focus-visible,
.gb-order-flow--native button.clof-summary__btn:focus-visible {
	color: var(--gb-btn-ink, #090a09) !important;
}

/* Secondary tier: the reco card's two actions and the variation opener. */
.gb-order-flow--native .clof-reco__btn,
.gb-order-flow--native a.clof-reco__btn,
.gb-order-flow--native button.clof-reco__btn,
.gb-order-flow--native .clof-var-open {
	border: 1px solid var(--gb-btn-line-quiet, rgba(238, 233, 223, .28)) !important;
	background: transparent !important;
	color: rgba(238, 233, 223, .82) !important;
}

@media (hover: hover) {
	.gb-order-flow--native .clof-reco__btn:not(:disabled):hover,
	.gb-order-flow--native a.clof-reco__btn:hover,
	.gb-order-flow--native button.clof-reco__btn:not(:disabled):hover,
	.gb-order-flow--native .clof-var-open:hover {
		border-color: var(--gb-btn-ivory, #eee9df) !important;
		background: transparent !important;
		color: var(--gb-btn-ink, #090a09) !important;
	}
}

.gb-order-flow--native .clof-reco__btn:not(:disabled):active,
.gb-order-flow--native a.clof-reco__btn:active,
.gb-order-flow--native button.clof-reco__btn:not(:disabled):active,
.gb-order-flow--native .clof-var-open:active {
	color: var(--gb-btn-ink, #090a09) !important;
}

/* A disabled reco action keeps the shape and loses the contrast — it must
   not look like a different control, only like an unavailable one. */
.gb-order-flow--native .clof-reco__btn:disabled,
.gb-order-flow--native button.clof-reco__btn:disabled {
	border-color: var(--gb-btn-line-quiet, rgba(238, 233, 223, .28)) !important;
	background: transparent !important;
	color: rgba(238, 233, 223, .38) !important;
	cursor: not-allowed;
}

/* 削除 is a MINOR action: it must be findable without competing with the
   quantity control beside it, so it gets the authority's growing rule
   rather than a box. The colour and the 44x46 mobile target set earlier
   in this file are unchanged; this only adds the rule and its sweep. */
.gb-order-flow--native .clof-cart-item__remove {
	position: relative;
	display: inline-flex;
	align-items: center;
	text-decoration: none !important;
}

.gb-order-flow--native .clof-cart-item__remove::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 4px;
	height: 1px;
	background: var(--gb-btn-gold, #b89a5b);
	transform: scaleX(.3);
	transform-origin: left;
	transition: transform .25s ease;
}

@media (hover: hover) {
	.gb-order-flow--native .clof-cart-item__remove:hover::after {
		transform: scaleX(1);
	}
}

.gb-order-flow--native .clof-cart-item__remove:active::after {
	transform: scaleX(1);
}

/* Commerce recovery and disclosure links must keep the Pack foreground.
   The legacy empty-cart component sets a light-theme text colour with
   !important, even when its ghost button has a dark Pack background. */
body.dm-pack-green-badger .gb-order-flow .clof-empty a {
  min-height: 44px;
  border: 1px solid var(--gb-order-gold);
  border-radius: 0;
  background: transparent;
  color: var(--gb-order-cream) !important;
  font-weight: 600;
  text-decoration: none;
}
body.dm-pack-green-badger .gb-order-flow .clof-empty a:hover,
body.dm-pack-green-badger .gb-order-flow .clof-empty a:focus-visible {
  background: var(--gb-order-surface-2);
  color: var(--gb-order-gold) !important;
}
body.dm-pack-green-badger .gb-order-flow .clof-empty a:focus-visible {
  outline: 2px solid var(--gb-order-gold);
  outline-offset: 3px;
}
body.dm-pack-green-badger .gb-order-flow .woocommerce-privacy-policy-link {
  color: var(--gb-order-gold);
  text-decoration: underline;
  text-underline-offset: .2em;
}
body.dm-pack-green-badger .gb-order-flow .woocommerce-privacy-policy-link:hover,
body.dm-pack-green-badger .gb-order-flow .woocommerce-privacy-policy-link:focus-visible {
  color: var(--gb-order-cream);
}
body.dm-pack-green-badger .gb-order-flow .woocommerce-privacy-policy-link:focus-visible {
  outline: 2px solid var(--gb-order-gold);
  outline-offset: 3px;
}
/* The cart owns its opening inset. Do not stack Astra's desktop page margin
 * above it; checkout and completion retain their existing shell spacing. */
body.dm-pack-green-badger.woocommerce-cart #primary {
	margin-top: 0;
}
@media (min-width: 922px) {
	body.dm-pack-green-badger.woocommerce-cart .gb-order-flow--cart > .gb-order-page {
		padding-top: 24px;
	}
}
/* Native information step: one aligned progress rail and readable form columns.
 * Cart spacing and native submission/address handlers are outside this scope. */
.gb-order-flow--native.gb-order-flow--info {
	--gb-order-serif: var(--gb-font-en, "Cormorant Garamond", Georgia, serif);
	--gb-order-sans: var(--gb-font-ja, "Noto Sans JP", sans-serif);
}
.gb-order-flow--native.gb-order-flow--info .gb-order-page { max-width: 1400px; padding-top: 40px; }
.gb-order-flow--native.gb-order-flow--info .gb-order-top { min-height: 0; align-items: end; padding-bottom: 32px; }
.gb-order-flow--native.gb-order-flow--info .gb-order-top h1 { font-size: clamp(48px, 5.5vw, 76px); }
.gb-order-flow--native.gb-order-flow--info .gb-order-intro-note { font-size: 13px; line-height: 1.8; }
.gb-order-flow--native.gb-order-flow--info .gb-order-back { font-size: 12px; letter-spacing: .05em; }
.gb-order-flow--native.gb-order-flow--info .gb-order-steps { width: 100%; margin: 0; border-top: 0; }
.gb-order-flow--native.gb-order-flow--info .gb-order-step { display: flex; align-items: center; gap: 12px; min-width: 0; min-height: 58px; padding: 16px 0; font-size: 11px; letter-spacing: .12em; }
.gb-order-flow--native.gb-order-flow--info .gb-order-step + .gb-order-step { padding-left: 24px; }
.gb-order-flow--native.gb-order-flow--info .gb-order-step span { margin: 0; }
.gb-order-flow--native.gb-order-flow--info .gb-order-native { padding-top: 40px; }
.gb-order-flow--native.gb-order-flow--info .clof.clof--info .clof__layout { grid-template-columns: minmax(0, 1fr) minmax(320px, 360px); gap: clamp(36px, 5vw, 72px); }
.gb-order-flow--native.gb-order-flow--info .clof-info-section { padding: 30px 0 36px; }
.gb-order-flow--native.gb-order-flow--info .clof-info-section:first-child { padding-top: 0; border-top: 0 !important; }
.gb-order-flow--native.gb-order-flow--info .clof-info-section__head { grid-template-columns: 28px minmax(0, 1fr); gap: 16px; margin-bottom: 24px; }
.gb-order-flow--native.gb-order-flow--info .clof-info-section__head strong { font-size: 24px; line-height: 1.4; }
.gb-order-flow--native.gb-order-flow--info .clof-info-section__head em { display: block; font-size: 12px; line-height: 1.8; }
.gb-order-flow--native.gb-order-flow--info .clof-form-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.gb-order-flow--native.gb-order-flow--info .clof-field { grid-column: auto; }
.gb-order-flow--native.gb-order-flow--info .clof-field--wide,
.gb-order-flow--native.gb-order-flow--info .clof-field--postcode { grid-column: 1 / -1; }
.gb-order-flow--native.gb-order-flow--info .clof-field > span { color: var(--gb-order-cream); font-size: 13px; letter-spacing: .03em; }
.gb-order-flow--native.gb-order-flow--info .clof-field > span b { font-size: 10px; }
.gb-order-flow--native.gb-order-flow--info .clof-field :is(input, select, textarea) { min-height: 50px !important; font-size: 16px !important; }
.gb-order-flow--native.gb-order-flow--info .clof-field :is(input, select, textarea):focus-visible { outline: 1px solid var(--gb-order-gold) !important; outline-offset: 3px; }
.gb-order-flow--native.gb-order-flow--info .clof-field input::placeholder,
.gb-order-flow--native.gb-order-flow--info .clof-field textarea::placeholder { color: var(--gb-order-muted); opacity: 1; }
.gb-order-flow--native.gb-order-flow--info .clof-zip-row.clof-zip-row--inline { display: block; }
.gb-order-flow--native.gb-order-flow--info .clof-zip-inline { grid-template-columns: minmax(0, 1fr) auto; gap: 20px; }
.gb-order-flow--native.gb-order-flow--info .clof-zip-btn { min-width: 104px; font-size: 12px !important; }
.gb-order-flow--native.gb-order-flow--info .clof-zip-status { font-size: 12px; line-height: 1.8; }
.gb-order-flow--native.gb-order-flow--info .clof-payment-native li.wc_payment_method {
	grid-template-columns: 20px minmax(0, 1fr) !important;
	column-gap: 12px;
	row-gap: 10px;
	align-items: start;
	padding: 20px 0 !important;
	background: transparent !important;
}
.gb-order-flow--native.gb-order-flow--info .clof-payment-native .input-radio { grid-column: 1; grid-row: 1; width: 18px; height: 18px; margin: 5px 0 0; }
.gb-order-flow--native.gb-order-flow--info .clof-payment-native .wc_payment_method > label { grid-column: 2; grid-row: 1; margin: 0; font-family: var(--gb-order-sans) !important; font-size: 15px !important; line-height: 1.8; }
.gb-order-flow--native.gb-order-flow--info .clof-payment-native .payment_box { grid-column: 2; grid-row: 2; width: auto; margin: 0 !important; font-size: 13px !important; line-height: 1.9 !important; }
.gb-order-flow--native.gb-order-flow--info .clof-payment-native .payment_box p { margin: 0; font-size: inherit; line-height: inherit; }
.gb-order-flow--native.gb-order-flow--info .clof-payment-note { margin-top: 16px; color: var(--gb-order-muted); font-size: 12px; line-height: 1.8; }
.gb-order-flow--native.gb-order-flow--info .clof-choice-card strong { font-family: var(--gb-order-sans) !important; font-size: 15px !important; }
.gb-order-flow--native.gb-order-flow--info .clof-choice-card em { display: block; font-size: 12px !important; }
.gb-order-flow--native.gb-order-flow--info .clof-checkline { align-items: start; font-size: 13px; line-height: 1.9; }
.gb-order-flow--native.gb-order-flow--info .clof-checkline input { flex: none; width: 18px; height: 18px; margin-top: 4px; }
.gb-order-flow--native.gb-order-flow--info .clof-summary { position: static; max-height: none; overflow: visible; padding: 24px 0; border: 0; border-top: 1px solid var(--gb-order-gold); }
.gb-order-flow--native.gb-order-flow--info .clof-summary .clof-small-title { font-family: var(--gb-order-serif); font-size: 28px; }
.gb-order-flow--native.gb-order-flow--info .clof-summary-product__copy strong { font-size: 14px; line-height: 1.6; }
.gb-order-flow--native.gb-order-flow--info .clof-summary__rows > div { font-size: 13px; padding: 16px 0; }
.gb-order-flow--native.gb-order-flow--info .clof-summary__rows strong { font-size: 15px; }
.gb-order-flow--native.gb-order-flow--info .clof-summary-coupon :is(label, input, button) { font-size: 12px; }
.gb-order-flow--native.gb-order-flow--info .clof-summary-coupon :is(input, button) { min-height: 44px; }
.gb-order-flow--native.gb-order-flow--info :is(.clof-summary__btn, .clof-info-next) { position: relative; min-height: 52px; padding: 14px 20px; font-family: var(--gb-order-sans); font-size: 13px; font-weight: 500; line-height: 1.7; letter-spacing: .03em; }
.gb-order-flow--native.gb-order-flow--info :is(.clof-summary__btn, .clof-info-next, .clof-zip-btn):focus-visible { outline: 2px solid var(--gb-order-gold); outline-offset: 3px; }
@media (max-width: 1000px) {
	.gb-order-flow--native.gb-order-flow--info .clof.clof--info .clof__layout { grid-template-columns: minmax(0, 1fr); gap: 40px; }
	.gb-order-flow--native.gb-order-flow--info .clof__side { position: static; }
}
@media (max-width: 600px) {
	.gb-order-flow--native.gb-order-flow--info .gb-order-page { padding-top: 28px; }
	.gb-order-flow--native.gb-order-flow--info .gb-order-top { align-items: start; gap: 20px; }
	.gb-order-flow--native.gb-order-flow--info .gb-order-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.gb-order-flow--native.gb-order-flow--info .gb-order-step { flex-direction: column; align-items: start; gap: 6px; font-size: 9px; letter-spacing: .07em; }
	.gb-order-flow--native.gb-order-flow--info .gb-order-step + .gb-order-step { padding-left: 12px; }
	.gb-order-flow--native.gb-order-flow--info .gb-order-native { padding-top: 30px; }
	.gb-order-flow--native.gb-order-flow--info .clof-form-grid--2 { grid-template-columns: minmax(0, 1fr); }
	.gb-order-flow--native.gb-order-flow--info .clof-info-section__head strong { font-size: 22px; }
	.gb-order-flow--native.gb-order-flow--info .clof-info-section__head { gap: 12px; }
}
/* The native stylesheet is also printed late and marks these states important. */
.gb-order-flow--native.gb-order-flow--info .clof-payment-native li.wc_payment_method:is(.is-selected, :has(input.input-radio:checked)) {
	background: transparent !important;
	border-color: var(--gb-order-line-strong) !important;
	box-shadow: none !important;
}
.gb-order-flow--native.gb-order-flow--info .clof-payment-native .payment_box p {
	margin: 0 !important;
	color: var(--gb-order-muted) !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.9 !important;
}
.gb-order-flow--native.gb-order-flow--info .clof-summary__rows .woocommerce-Price-amount {
	color: var(--gb-order-cream);
	font-family: var(--gb-order-sans);
	font-size: 14px;
	font-weight: 400;
}
/* Shared shell spacing also covers Cart rendered through an order-flow alias. */
body.dm-gb-order-flow #primary { margin-top: 0 !important; }
body.dm-gb-order-flow .gb-order-flow.gb-order-flow--native .gb-order-page { padding-top: var(--gb-page-start-gap, 24px); }
@media (max-width: 1024px) {
	body.dm-gb-order-flow .gb-order-flow.gb-order-flow--native .gb-order-page { padding-top: var(--gb-page-start-gap, 20px); }
}
/* The action lane follows visible app navigation, not the pointer type.
 * Keep the native proxy handler; reserve scroll space for both fixed lanes. */
@media (max-width: 900px) {
	body.dm-gb-order-flow :is(.gb-order-flow--native, .gb-order-flow--checkout) .gb-order-mobile-bar {
		bottom: var(--dm-safe-bottom, 0px);
		z-index: 901;
	}
	body.dm-gb-order-flow :is(.gb-order-flow--native, .gb-order-flow--checkout) .gb-order-page {
		padding-bottom: calc(110px + var(--dm-safe-bottom, 0px));
	}
}
@media (max-width: 782px) {
	body.dm-gb-order-flow :is(.gb-order-flow--native, .gb-order-flow--checkout) .gb-order-mobile-bar {
		bottom: calc(var(--dm-appnav-h, 56px) + var(--dm-safe-bottom, 0px));
	}
	body.dm-gb-order-flow :is(.gb-order-flow--native, .gb-order-flow--checkout) .gb-order-page {
		padding-bottom: calc(110px + var(--dm-appnav-h, 56px) + var(--dm-safe-bottom, 0px));
	}
}
/* Every native step shares the same progress rail, including completion. */
body.dm-gb-order-flow .gb-order-flow--native .gb-order-steps {
	width: 100%;
	margin-left: 0;
}
/* Completion recommendations: shrink the parent grid track before sizing cards.
 * The native arrows continue scrolling the list; no page overflow is masked. */
.gb-order-flow--native.gb-order-flow--complete .clof__main {
	grid-template-columns: minmax(0, 1fr);
}
.gb-order-flow--native.gb-order-flow--complete :is(.clof-reco, .clof-reco__slider, .clof-reco__viewport, .clof-reco__list) {
	box-sizing: border-box;
	min-width: 0;
	width: 100%;
	max-width: 100%;
}
.gb-order-flow--native.gb-order-flow--complete .clof-reco__viewport { overflow: visible; }
body.dm-gb-order-flow .gb-order-flow--native.gb-order-flow--complete .clof-reco .clof-reco__list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-flow: row;
	gap: 16px;
}
.gb-order-flow--native.gb-order-flow--complete .clof-reco-card { min-width: 0; max-width: 100%; }
/* Keep Woo price accessibility text inside the scrolling card, not its outer slider. */
.gb-order-flow--native.gb-order-flow--complete .clof-reco-card__price { position: relative; }
.gb-order-flow--native.gb-order-flow--complete .clof-reco-card :is(select, button) { max-width: 100%; }
@media (max-width: 900px) {
	body.dm-gb-order-flow .gb-order-flow--native.gb-order-flow--complete .clof-reco .clof-reco__list {
		grid-template-columns: none;
		grid-auto-flow: column;
		grid-auto-columns: calc((100% - 16px) / 2);
		overflow-x: auto;
		scroll-snap-type: x mandatory;
	}
}
@media (max-width: 600px) {
	body.dm-gb-order-flow .gb-order-flow--native.gb-order-flow--complete .clof-reco .clof-reco__list {
		grid-auto-columns: 100%;
	}
}
/* One order-summary presentation owner for Cart, Info, Confirm and Complete.
 * Totals and actions remain in document flow, never pinned over one another. */
body.dm-gb-order-flow .gb-order-flow.gb-order-flow--native .clof__side {
	min-width: 0;
	max-width: 100%;
	position: static;
	align-self: start;
	gap: 24px;
}
body.dm-gb-order-flow .gb-order-flow.gb-order-flow--native .clof-summary {
	box-sizing: border-box;
	position: static;
	inset: auto;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	max-height: none;
	margin: 0;
	padding: 24px;
	overflow: visible;
	border: 1px solid var(--gb-order-line);
	border-radius: 0 !important;
	background: var(--gb-order-surface) !important;
	color: var(--gb-order-cream);
	font-family: var(--gb-font-ja, "Noto Sans JP", sans-serif);
	font-size: 13px;
	line-height: 1.8;
	box-shadow: none !important;
}
body.dm-gb-order-flow .gb-order-flow.gb-order-flow--native .clof-summary .clof-small-title {
	display: block !important;
	margin: 0 0 16px;
	padding: 0 0 16px;
	border-bottom: 1px solid var(--gb-order-line);
}
body.dm-gb-order-flow .gb-order-flow.gb-order-flow--native .clof-summary .clof-small-title strong {
	color: var(--gb-order-cream);
	font-family: var(--gb-font-en, "Cormorant Garamond", Georgia, serif);
	font-size: 27px;
	font-weight: 400;
	line-height: 1.3;
}
body.dm-gb-order-flow .gb-order-flow.gb-order-flow--native .clof-summary-products { margin-bottom: 16px; }
body.dm-gb-order-flow .gb-order-flow.gb-order-flow--native .clof-summary-product { min-width: 0; grid-template-columns: 52px minmax(0, 1fr) auto; gap: 12px; padding: 12px 0; }
body.dm-gb-order-flow .gb-order-flow.gb-order-flow--native .clof-summary-product__copy strong { color: var(--gb-order-cream); font-size: 14px; line-height: 1.6; }
body.dm-gb-order-flow .gb-order-flow.gb-order-flow--native .clof-summary-product__copy span { font-size: 11px; }
body.dm-gb-order-flow .gb-order-flow.gb-order-flow--native .clof-summary-product > b { font-family: inherit; font-size: 13px; }
body.dm-gb-order-flow .gb-order-flow.gb-order-flow--native .clof-summary-benefits { border: 0; }
body.dm-gb-order-flow .gb-order-flow.gb-order-flow--native .clof-summary-benefits h3 { margin: 16px 0 12px; padding: 0; color: var(--gb-order-gold); font-family: var(--gb-font-en, "Cormorant Garamond", Georgia, serif); font-size: 19px; font-weight: 400; }
body.dm-gb-order-flow .gb-order-flow.gb-order-flow--native .clof-summary-benefits h3 span { display: none; }
body.dm-gb-order-flow .gb-order-flow.gb-order-flow--native .clof-summary :is(.clof-summary-coupon, .clof-point-slot) { margin: 0 0 12px; padding: 13px !important; border: 1px solid var(--gb-order-line) !important; background: transparent !important; }
body.dm-gb-order-flow .gb-order-flow.gb-order-flow--native .clof-summary-coupon label { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; margin: 0; color: var(--gb-order-cream); font-size: 11px; letter-spacing: .08em; }
body.dm-gb-order-flow .gb-order-flow.gb-order-flow--native .clof-summary-coupon label span { display: block; color: var(--gb-order-muted); font-family: inherit; font-size: 11px; }
body.dm-gb-order-flow .gb-order-flow.gb-order-flow--native .clof-summary-coupon > div { display: grid; grid-template-columns: minmax(0, 1fr) 64px; gap: 8px; margin-top: 12px; }
body.dm-gb-order-flow .gb-order-flow.gb-order-flow--native .clof-summary-coupon :is(input, button) { min-width: 0; min-height: 44px !important; font-size: 12px !important; }
body.dm-gb-order-flow .gb-order-flow.gb-order-flow--native .clof-summary-coupon input { background: var(--gb-order-bg) !important; }
body.dm-gb-order-flow .gb-order-flow.gb-order-flow--native .clof-summary__rows { display: block !important; margin-top: 18px; padding-top: 8px; border-top: 1px solid var(--gb-order-line); }
body.dm-gb-order-flow .gb-order-flow.gb-order-flow--native .clof-summary__rows > div { align-items: baseline; justify-content: space-between; gap: 16px; padding: 10px 0; border: 0; }
body.dm-gb-order-flow .gb-order-flow.gb-order-flow--native .clof-summary__rows > div > span { color: var(--gb-order-muted); font-family: inherit; font-size: 12px; font-weight: 400; }
body.dm-gb-order-flow .gb-order-flow.gb-order-flow--native .clof-summary__rows strong,
body.dm-gb-order-flow .gb-order-flow.gb-order-flow--native .clof-summary__rows .woocommerce-Price-amount { color: var(--gb-order-cream); font-family: inherit; font-size: 14px; font-weight: 400; }
body.dm-gb-order-flow .gb-order-flow.gb-order-flow--native .clof-summary__rows .is-total { position: static; inset: auto; transform: none; margin-top: 8px; padding: 18px 0 6px; border-top: 1px solid var(--gb-order-line); background: transparent; }
body.dm-gb-order-flow .gb-order-flow.gb-order-flow--native .clof-summary__rows .is-total > span { color: var(--gb-order-cream); font-size: 14px; letter-spacing: 0; }
body.dm-gb-order-flow .gb-order-flow.gb-order-flow--native .clof-summary__rows .is-total :is(strong, .woocommerce-Price-amount) { font-size: 22px; }
body.dm-gb-order-flow .gb-order-flow.gb-order-flow--native .clof-summary :is(.clof-summary__btn, button.clof-summary__btn, .clof-complete-outline) {
	display: flex !important;
	position: relative;
	inset: auto;
	transform: none;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 52px;
	margin: 16px 0 0;
	padding: 12px 16px !important;
	border: 1px solid var(--gb-order-gold) !important;
	border-radius: 0;
	font-family: inherit;
	font-size: 13px !important;
	font-weight: 500;
	line-height: 1.7;
	letter-spacing: .03em;
	white-space: normal;
	text-decoration: none;
}
body.dm-gb-order-flow .gb-order-flow.gb-order-flow--native .clof-summary .clof-complete-outline { background: transparent; color: var(--gb-order-cream); }
body.dm-gb-order-flow .gb-order-flow.gb-order-flow--native .clof-summary .clof-complete-outline:hover { background: var(--gb-order-gold); color: var(--gb-order-bg); }
body.dm-gb-order-flow .gb-order-flow.gb-order-flow--native .clof-summary :is(a, button, input):focus-visible { outline: 2px solid var(--gb-order-gold); outline-offset: 3px; }
body.dm-gb-order-flow .gb-order-flow.gb-order-flow--native .clof-summary__secure { display: block !important; margin: 12px 0 0; color: var(--gb-order-muted); font-size: 11px; line-height: 1.7; }
@media (max-width: 600px) {
	body.dm-gb-order-flow .gb-order-flow.gb-order-flow--native .clof-summary { padding: 20px 16px; }
}
/* Keyboard users retain a visible focus target inside the scrolling card lane. */
body.dm-gb-order-flow .gb-order-flow--native .clof-reco :is(.clof-reco__nav, .clof-reco__btn, .clof-var-open, select):focus-visible {
	outline: 2px solid var(--gb-order-gold, #b89a5b);
	outline-offset: 2px;
}

/* Complete retains the same checkout shell, with readable native order data. */
body.dm-gb-order-flow .gb-order-flow--native.gb-order-flow--complete .gb-order-top { min-height:0; }
body.dm-gb-order-flow .gb-order-flow--native.gb-order-flow--complete .gb-order-top h1 { font-size:clamp(40px,6vw,94px);max-width:100%; }
body.dm-gb-order-flow .gb-order-flow--complete .clof-complete-card { display:grid;gap:28px; }
body.dm-gb-order-flow .gb-order-flow--complete :is(.clof-complete-pay,.clof-complete-products,.clof-complete-info-grid) { padding-top:24px; }
body.dm-gb-order-flow .gb-order-flow--complete :is(.clof-complete-pay__method,.clof-complete-pay__notes,.clof-complete-address-card) { padding:16px !important;border:1px solid var(--gb-order-line); }
body.dm-gb-order-flow .gb-order-flow--complete :is(.clof-complete-pay__method,.clof-complete-info-grid,.clof-complete-address-card) :is(strong,span,b,em) { font-size:14px;line-height:1.7; }
body.dm-gb-order-flow .gb-order-flow--complete :is(.woocommerce-Price-amount,.woocommerce-Price-currencySymbol) { display:inline !important;font-size:inherit !important;color:inherit; }
body.dm-gb-order-flow .gb-order-flow--complete .woocommerce-Price-amount bdi { white-space:nowrap; }
@media (min-width:1025px) {
 body.dm-gb-order-flow .gb-order-flow.gb-order-flow--native .clof__side { position:sticky;top:calc(100px + var(--wp-admin--admin-bar--height,0px)); }
}
@media (max-width:1024px) {
 body.dm-gb-order-flow .gb-order-flow--native.gb-order-flow--complete .clof__layout { grid-template-columns:minmax(0,1fr) !important; }
}
@media (max-width:600px) {
 body.dm-gb-order-flow .gb-order-flow--complete :is(.clof-complete-info-grid,.clof-complete-product) { grid-template-columns:minmax(0,1fr); }
 body.dm-gb-order-flow .gb-order-flow--complete .clof-complete-flow { grid-template-columns:repeat(2,minmax(0,1fr));gap:16px; }
 body.dm-gb-order-flow .gb-order-flow--complete .clof-complete-flow :is(strong,em) { white-space:normal;line-height:1.5 !important; }
}

/* Completion is a receipt, not the confirmation chapter sequence. */
body.dm-gb-order-flow .gb-order-flow--complete .clof-confirm-list { gap: 32px; }
body.dm-gb-order-flow .gb-order-flow--complete .clof-confirm-section { margin: 0; padding: 0; }
body.dm-gb-order-flow .gb-order-flow--complete .clof-confirm-section__head { margin: 0 0 16px; }
body.dm-gb-order-flow .gb-order-flow--complete .clof-confirm-section__head strong { font-size: 22px; line-height: 1.5; }
body.dm-gb-order-flow .gb-order-flow--complete :is(.clof-complete-info-grid,.clof-complete-pay,.clof-complete-products) { padding: 16px 0 0; }
body.dm-gb-order-flow .gb-order-flow--complete .clof-complete-address-card { margin-left: 0; border-radius: 0; }
body.dm-gb-order-flow .gb-order-flow--complete .clof-complete-info-grid { gap: 0 24px; }
body.dm-gb-order-flow .gb-order-flow--complete .clof-complete-info-grid > div { padding: 12px 0; border: 0; border-bottom: 1px solid var(--gb-order-line); border-radius: 0; }
body.dm-gb-order-flow .gb-order-flow--complete :is(.clof-complete-pay__method,.clof-complete-pay__notes) { border-radius: 0; font-size: 14px; line-height: 1.7; }
body.dm-gb-order-flow .gb-order-flow--complete :is(.clof-complete-products__head,.clof-complete-product) { grid-template-columns: minmax(0,1fr) 90px 50px 100px; padding: 16px 0; }
body.dm-gb-order-flow .gb-order-flow--complete .clof-complete-products__head { font-size: 13px; border-radius: 0; }
body.dm-gb-order-flow .gb-order-flow--complete .clof-complete-product__main { grid-template-columns: 72px minmax(0,1fr); gap: 16px; }
body.dm-gb-order-flow .gb-order-flow--complete .clof-complete-product__main img { width: 72px; height: 72px; object-fit: contain; }
body.dm-gb-order-flow .gb-order-flow--complete .clof-complete-product :is(strong,b) { font-size: 14px; line-height: 1.6; }
/* The existing summary owns receipt totals and navigation at every width. */
body.dm-gb-order-flow .gb-order-flow--complete :is(.clof-complete-product-totals,.clof-complete-actions) { display: none; }
body.dm-gb-order-flow .gb-order-flow--complete .clof-complete-flow :is(strong,em) { font-size: 12px; line-height: 1.6; }
/* Nested postal lookup markup must share the other customer field dimensions. */
body.dm-gb-order-flow .gb-order-flow--info input[name="billing_postcode"] { min-height: 50px !important; height: 50px; box-sizing: border-box; }
body.dm-gb-order-flow .gb-order-flow.gb-order-flow--native .clof-summary-coupon input { font-size: 16px !important; }
@media (max-width: 760px) {
 body.dm-gb-order-flow .gb-order-flow--complete .clof-complete-product { grid-template-columns: minmax(0,1fr); gap: 8px; }
 body.dm-gb-order-flow .gb-order-flow--complete .clof-complete-product__main { margin-bottom: 8px; }
}

@media (max-width: 1024px) {
 body.dm-gb-order-flow .gb-order-flow--complete .clof__main { display: contents; }
 body.dm-gb-order-flow .gb-order-flow--complete .clof__main > * { order: 3; }
 body.dm-gb-order-flow .gb-order-flow--complete .clof__main > .clof-complete-card { order: 1; }
 body.dm-gb-order-flow .gb-order-flow--complete .clof__side { order: 2; }
}

/* Customer information uses the same bounded fields as member/address forms. */
body.dm-gb-order-flow .gb-order-flow--native.gb-order-flow--info .clof-field :is(input:not([type=radio]):not([type=checkbox]),select,textarea) {
 box-sizing:border-box;min-width:0;max-width:100%;padding:12px !important;
 border:1px solid var(--gb-order-line,rgba(184,154,91,.38)) !important;
 border-radius:0 !important;background:var(--gb-order-bg,#0b0b0a) !important;
}
body.dm-gb-order-flow .gb-order-flow--native.gb-order-flow--info .clof-field :is(input,select,textarea):focus {
 border-color:var(--gb-order-gold) !important;
}
body.dm-gb-order-flow .gb-order-flow--native.gb-order-flow--info .clof-field select {padding-right:36px !important;}
body.dm-gb-order-flow .gb-order-flow--native.gb-order-flow--info .clof-zip-inline {display:grid !important;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch;}
body.dm-gb-order-flow .gb-order-flow--native.gb-order-flow--info .clof-zip-inline .clof-zip-btn {
 position:static !important;transform:none !important;inset:auto !important;align-self:stretch;
 min-height:50px !important;height:50px !important;width:auto;min-width:88px;padding:0 12px !important;
 border:1px solid var(--gb-order-gold) !important;border-radius:0 !important;
 font-size:12px !important;line-height:1.5;
}
