/* =========================================================
   AFFINA — WooCommerce Cart + Checkout
   v0.13.4
   WoodMart layout reset + Affina visual system
   ========================================================= */

body.dgk-affina-cart,
body.dgk-affina-checkout {
	background: var(--affina-bg-cream) !important;
	color: var(--affina-text-dark) !important;
}

/* ---------------------------------------------------------
   WOODMART RESET — do not let theme container choke Woo
   --------------------------------------------------------- */

body.dgk-affina-cart .main-page-wrapper > .container,
body.dgk-affina-cart .main-page-wrapper > .container-fluid,
body.dgk-affina-cart .site-content > .container,
body.dgk-affina-cart .site-content > .container-fluid,
body.dgk-affina-checkout .main-page-wrapper > .container,
body.dgk-affina-checkout .main-page-wrapper > .container-fluid,
body.dgk-affina-checkout .site-content > .container,
body.dgk-affina-checkout .site-content > .container-fluid {
	width: 100% !important;
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body.dgk-affina-cart .main-page-wrapper,
body.dgk-affina-cart .site-content,
body.dgk-affina-checkout .main-page-wrapper,
body.dgk-affina-checkout .site-content {
	width: 100% !important;
	max-width: none !important;
	background: var(--affina-bg-cream) !important;
}

body.dgk-affina-cart .page-title,
body.dgk-affina-checkout .page-title,
body.dgk-affina-cart .woocommerce-breadcrumb,
body.dgk-affina-checkout .woocommerce-breadcrumb,
body.dgk-affina-cart .wd-single-breadcrumbs,
body.dgk-affina-checkout .wd-single-breadcrumbs {
	display: none !important;
}

/* =========================================================
   SHARED FORM LANGUAGE
   ========================================================= */

body.dgk-affina-cart input,
body.dgk-affina-cart select,
body.dgk-affina-cart textarea,
body.dgk-affina-checkout input,
body.dgk-affina-checkout select,
body.dgk-affina-checkout textarea,
body.dgk-affina-checkout .select2-selection {
	border-radius: 0 !important;
	box-shadow: none !important;
	font-family: var(--affina-font-ui) !important;
}

body.dgk-affina-cart input[type="text"],
body.dgk-affina-cart input[type="email"],
body.dgk-affina-cart input[type="tel"],
body.dgk-affina-cart select,
body.dgk-affina-checkout input[type="text"],
body.dgk-affina-checkout input[type="email"],
body.dgk-affina-checkout input[type="tel"],
body.dgk-affina-checkout input[type="number"],
body.dgk-affina-checkout select,
body.dgk-affina-checkout textarea,
body.dgk-affina-checkout .select2-selection--single {
	min-height: 54px !important;
	padding: 0 16px !important;
	border: 1px solid var(--affina-line) !important;
	background: rgba(255,255,255,.18) !important;
	color: var(--affina-text-dark) !important;
}

body.dgk-affina-checkout textarea {
	min-height: 130px !important;
	padding-top: 14px !important;
	padding-bottom: 14px !important;
}

body.dgk-affina-cart label,
body.dgk-affina-checkout label {
	color: var(--affina-text-dark) !important;
	font-family: var(--affina-font-ui) !important;
	font-size: .76rem !important;
	font-weight: 600 !important;
	letter-spacing: .02em !important;
}

body.dgk-affina-cart button,
body.dgk-affina-cart .button,
body.dgk-affina-checkout button,
body.dgk-affina-checkout .button {
	border-radius: 0 !important;
	box-shadow: none !important;
	font-family: var(--affina-font-ui) !important;
}

/* =========================================================
   CART
   ========================================================= */

body.dgk-affina-cart .woocommerce,
body.dgk-affina-cart .woocommerce-cart-form,
body.dgk-affina-cart .cart-content-wrapper {
	box-sizing: border-box !important;
}

body.dgk-affina-cart .site-content > .woocommerce,
body.dgk-affina-cart .woocommerce > .cart-content-wrapper,
body.dgk-affina-cart .cart-content-wrapper {
	width: var(--affina-shell) !important;
	max-width: var(--affina-shell) !important;
	margin-inline: auto !important;
}

body.dgk-affina-cart .site-content {
	padding-block: clamp(4rem, 7vw, 8rem) !important;
}

body.dgk-affina-cart .cart-content-wrapper {
	display: grid !important;
	grid-template-columns: minmax(0, 1.65fr) minmax(340px, .75fr) !important;
	gap: clamp(2rem, 5vw, 6rem) !important;
	align-items: start !important;
}

body.dgk-affina-cart .cart-table-section,
body.dgk-affina-cart .cart-totals-section {
	width: auto !important;
	max-width: none !important;
	flex: none !important;
	padding: 0 !important;
}

body.dgk-affina-cart table.shop_table,
body.dgk-affina-cart table.cart {
	width: 100% !important;
	margin: 0 !important;
	border: 0 !important;
	border-collapse: collapse !important;
	background: transparent !important;
}

body.dgk-affina-cart table.cart thead th {
	padding: 0 12px 16px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--affina-line) !important;
	color: var(--affina-text-muted) !important;
	font-family: var(--affina-font-ui) !important;
	font-size: .69rem !important;
	font-weight: 600 !important;
	letter-spacing: .13em !important;
	text-transform: uppercase !important;
}

body.dgk-affina-cart table.cart td {
	padding: 24px 12px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--affina-line) !important;
	background: transparent !important;
	vertical-align: middle !important;
}

body.dgk-affina-cart table.cart .product-thumbnail img {
	width: 96px !important;
	max-width: 96px !important;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: 0 !important;
}

body.dgk-affina-cart table.cart .product-name a {
	color: var(--affina-text-dark) !important;
	font-family: var(--affina-font-editorial) !important;
	font-size: clamp(1.15rem, 1rem + .35vw, 1.55rem) !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
	letter-spacing: -.025em !important;
	text-decoration: none !important;
}

body.dgk-affina-cart table.cart .amount,
body.dgk-affina-cart table.cart .product-price,
body.dgk-affina-cart table.cart .product-subtotal {
	color: var(--affina-text-dark) !important;
	font-family: var(--affina-font-ui) !important;
	font-weight: 500 !important;
}

body.dgk-affina-cart .quantity {
	border: 1px solid var(--affina-line) !important;
	border-radius: 0 !important;
	background: transparent !important;
}

body.dgk-affina-cart .quantity input,
body.dgk-affina-cart .quantity button,
body.dgk-affina-cart .quantity .minus,
body.dgk-affina-cart .quantity .plus {
	background: transparent !important;
	border: 0 !important;
	color: var(--affina-text-dark) !important;
}

body.dgk-affina-cart .cart-actions,
body.dgk-affina-cart td.actions {
	padding: 22px 0 0 !important;
	border: 0 !important;
}

body.dgk-affina-cart .coupon {
	display: flex !important;
	gap: 10px !important;
	max-width: 560px !important;
}

body.dgk-affina-cart .coupon input {
	flex: 1 1 auto !important;
	min-width: 0 !important;
}

body.dgk-affina-cart .coupon button,
body.dgk-affina-cart button[name="update_cart"] {
	min-height: 54px !important;
	padding-inline: 22px !important;
	border: 1px solid var(--affina-bg-ink) !important;
	background: transparent !important;
	color: var(--affina-text-dark) !important;
	font-size: .72rem !important;
	font-weight: 600 !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
}

body.dgk-affina-cart .cart-totals-inner,
body.dgk-affina-cart .cart_totals {
	padding: clamp(1.7rem, 2.5vw, 2.5rem) !important;
	border: 0 !important;
	background: var(--affina-bg-olive) !important;
	color: var(--affina-text-light) !important;
	box-shadow: none !important;
}

body.dgk-affina-cart .cart_totals h2,
body.dgk-affina-cart .cart-totals-inner h2,
body.dgk-affina-cart .cart-totals-inner .title {
	margin: 0 0 1.7rem !important;
	color: var(--affina-text-light) !important;
	font-family: var(--affina-font-editorial) !important;
	font-size: clamp(2rem, 3vw, 3.2rem) !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	letter-spacing: -.04em !important;
	text-transform: none !important;
}

body.dgk-affina-cart .cart_totals table,
body.dgk-affina-cart .cart_totals th,
body.dgk-affina-cart .cart_totals td,
body.dgk-affina-cart .cart-totals-inner table,
body.dgk-affina-cart .cart-totals-inner th,
body.dgk-affina-cart .cart-totals-inner td {
	border-color: rgba(245,241,232,.16) !important;
	background: transparent !important;
	color: var(--affina-text-light) !important;
}

body.dgk-affina-cart .cart_totals th,
body.dgk-affina-cart .cart_totals td {
	padding-block: 16px !important;
}

body.dgk-affina-cart .cart_totals .amount,
body.dgk-affina-cart .cart_totals strong,
body.dgk-affina-cart .cart_totals label,
body.dgk-affina-cart .cart-totals-inner .amount,
body.dgk-affina-cart .cart-totals-inner label {
	color: var(--affina-text-light) !important;
}

body.dgk-affina-cart .wc-proceed-to-checkout {
	padding: 1.5rem 0 0 !important;
}

body.dgk-affina-cart .wc-proceed-to-checkout .checkout-button {
	position: relative;
	min-height: 58px !important;
	padding: 0 54px 0 20px !important;
	border: 1px solid var(--affina-text-light) !important;
	background: var(--affina-text-light) !important;
	color: var(--affina-bg-ink) !important;
	font-size: .74rem !important;
	font-weight: 600 !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
}

body.dgk-affina-cart .wc-proceed-to-checkout .checkout-button::after {
	content: "↗";
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1rem;
}

/* =========================================================
   CHECKOUT
   ========================================================= */

body.dgk-affina-checkout .site-content {
	padding-block: clamp(4rem, 7vw, 8rem) !important;
}

body.dgk-affina-checkout form.checkout,
body.dgk-affina-checkout .woocommerce-checkout {
	width: var(--affina-shell) !important;
	max-width: var(--affina-shell) !important;
	margin-inline: auto !important;
}

body.dgk-affina-checkout form.checkout {
	display: grid !important;
	grid-template-columns: minmax(0, 1.25fr) minmax(380px, .75fr) !important;
	gap: clamp(2.5rem, 6vw, 7rem) !important;
	align-items: start !important;
}

body.dgk-affina-checkout .woocommerce-NoticeGroup-checkout,
body.dgk-affina-checkout .woocommerce-form-coupon-toggle,
body.dgk-affina-checkout .woocommerce-form-login-toggle {
	grid-column: 1 / -1 !important;
}

body.dgk-affina-checkout #customer_details,
body.dgk-affina-checkout .customer-details {
	width: auto !important;
	max-width: none !important;
	float: none !important;
	padding: 0 !important;
}

body.dgk-affina-checkout #order_review,
body.dgk-affina-checkout .checkout-order-review,
body.dgk-affina-checkout .woocommerce-checkout-review-order {
	width: auto !important;
	max-width: none !important;
	float: none !important;
	margin: 0 !important;
}

body.dgk-affina-checkout #order_review,
body.dgk-affina-checkout .checkout-order-review {
	position: sticky !important;
	top: 110px !important;
	padding: clamp(1.7rem, 2.5vw, 2.6rem) !important;
	border: 0 !important;
	background: var(--affina-bg-olive) !important;
	color: var(--affina-text-light) !important;
	box-shadow: none !important;
}

body.dgk-affina-checkout .woocommerce-billing-fields > h3,
body.dgk-affina-checkout .woocommerce-shipping-fields > h3,
body.dgk-affina-checkout .woocommerce-additional-fields > h3,
body.dgk-affina-checkout #order_review_heading,
body.dgk-affina-checkout .checkout-order-review > h3 {
	margin: 0 0 clamp(1.7rem, 3vw, 2.7rem) !important;
	color: var(--affina-text-dark) !important;
	font-family: var(--affina-font-editorial) !important;
	font-size: clamp(2.4rem, 4vw, 4.5rem) !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	letter-spacing: -.045em !important;
	text-transform: none !important;
}

body.dgk-affina-checkout #order_review_heading,
body.dgk-affina-checkout .checkout-order-review > h3 {
	color: var(--affina-text-light) !important;
	font-size: clamp(2rem, 3vw, 3.3rem) !important;
}

body.dgk-affina-checkout .form-row {
	margin-bottom: 1.2rem !important;
}

body.dgk-affina-checkout .form-row-first,
body.dgk-affina-checkout .form-row-last {
	width: calc(50% - 8px) !important;
}

body.dgk-affina-checkout .woocommerce-checkout-review-order-table {
	margin: 0 0 1.4rem !important;
	border: 0 !important;
	background: transparent !important;
}

body.dgk-affina-checkout .woocommerce-checkout-review-order-table th,
body.dgk-affina-checkout .woocommerce-checkout-review-order-table td {
	padding: 14px 0 !important;
	border-color: rgba(245,241,232,.16) !important;
	background: transparent !important;
	color: var(--affina-text-light) !important;
	font-family: var(--affina-font-ui) !important;
}

body.dgk-affina-checkout .woocommerce-checkout-review-order-table th {
	font-size: .69rem !important;
	font-weight: 600 !important;
	letter-spacing: .1em !important;
	text-transform: uppercase !important;
}

body.dgk-affina-checkout .woocommerce-checkout-review-order-table .amount,
body.dgk-affina-checkout .woocommerce-checkout-review-order-table strong,
body.dgk-affina-checkout .woocommerce-checkout-review-order-table label {
	color: var(--affina-text-light) !important;
}

body.dgk-affina-checkout #payment,
body.dgk-affina-checkout .woocommerce-checkout-payment {
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--affina-text-light) !important;
}

body.dgk-affina-checkout #payment label,
body.dgk-affina-checkout #payment p,
body.dgk-affina-checkout #payment li,
body.dgk-affina-checkout .woocommerce-privacy-policy-text,
body.dgk-affina-checkout .woocommerce-terms-and-conditions-wrapper,
body.dgk-affina-checkout .woocommerce-terms-and-conditions-wrapper label {
	color: rgba(245,241,232,.82) !important;
}

body.dgk-affina-checkout #payment a,
body.dgk-affina-checkout .woocommerce-privacy-policy-text a,
body.dgk-affina-checkout .woocommerce-terms-and-conditions-wrapper a {
	color: var(--affina-text-light) !important;
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.dgk-affina-checkout #place_order {
	position: relative;
	width: 100% !important;
	min-height: 60px !important;
	margin-top: 1rem !important;
	padding: 0 52px 0 20px !important;
	border: 1px solid var(--affina-text-light) !important;
	background: var(--affina-text-light) !important;
	color: var(--affina-bg-ink) !important;
	font-size: .76rem !important;
	font-weight: 600 !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
}

body.dgk-affina-checkout #place_order::after {
	content: "↗";
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1rem;
}

body.dgk-affina-checkout .woocommerce-error,
body.dgk-affina-checkout .woocommerce-info,
body.dgk-affina-checkout .woocommerce-message {
	border-radius: 0 !important;
	box-shadow: none !important;
	font-family: var(--affina-font-ui) !important;
}

/* Select2 dropdowns */
.select2-container--open .select2-dropdown {
	border: 1px solid var(--affina-line) !important;
	border-radius: 0 !important;
	background: var(--affina-bg-paper) !important;
	font-family: var(--affina-font-ui) !important;
}

.select2-results__option--highlighted[aria-selected] {
	background: var(--affina-bg-olive) !important;
	color: var(--affina-text-light) !important;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1024px) {
	body.dgk-affina-cart .cart-content-wrapper,
	body.dgk-affina-checkout form.checkout {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	body.dgk-affina-checkout #order_review,
	body.dgk-affina-checkout .checkout-order-review {
		position: static !important;
		top: auto !important;
	}
}

@media (max-width: 767px) {
	body.dgk-affina-cart .site-content,
	body.dgk-affina-checkout .site-content {
		padding-block: 28px 54px !important;
	}

	body.dgk-affina-cart .site-content > .woocommerce,
	body.dgk-affina-cart .woocommerce > .cart-content-wrapper,
	body.dgk-affina-cart .cart-content-wrapper,
	body.dgk-affina-checkout form.checkout,
	body.dgk-affina-checkout .woocommerce-checkout {
		width: calc(100% - 44px) !important;
		max-width: calc(100% - 44px) !important;
	}

	body.dgk-affina-cart table.cart thead {
		display: none !important;
	}

	body.dgk-affina-cart table.cart tr.cart_item {
		display: grid !important;
		grid-template-columns: 86px minmax(0, 1fr) !important;
		gap: 8px 16px !important;
		padding: 20px 0 !important;
		border-bottom: 1px solid var(--affina-line) !important;
	}

	body.dgk-affina-cart table.cart td {
		display: block !important;
		padding: 0 !important;
		border: 0 !important;
	}

	body.dgk-affina-cart table.cart .product-remove {
		position: absolute;
		right: 22px;
	}

	body.dgk-affina-cart table.cart .product-thumbnail {
		grid-row: 1 / span 4;
	}

	body.dgk-affina-cart table.cart .product-thumbnail img {
		width: 86px !important;
		max-width: 86px !important;
	}

	body.dgk-affina-cart .coupon {
		flex-direction: column !important;
		max-width: none !important;
	}

	body.dgk-affina-cart .coupon button,
	body.dgk-affina-cart button[name="update_cart"] {
		width: 100% !important;
	}

	body.dgk-affina-checkout .form-row-first,
	body.dgk-affina-checkout .form-row-last {
		width: 100% !important;
		float: none !important;
	}

	body.dgk-affina-checkout #order_review,
	body.dgk-affina-checkout .checkout-order-review,
	body.dgk-affina-cart .cart-totals-inner,
	body.dgk-affina-cart .cart_totals {
		padding: 24px 22px !important;
	}
}

/* =========================================================
   v0.13.4 — contrast + header offset hardening
   ========================================================= */

/* CART: WoodMart switches some mobile cells/labels back to dark.
   Force the complete totals panel to inherit the AFFINA light palette. */
body.dgk-affina-cart .cart-totals-inner,
body.dgk-affina-cart .cart_totals,
body.dgk-affina-cart .cart-totals-inner *,
body.dgk-affina-cart .cart_totals * {
	box-sizing: border-box;
}

body.dgk-affina-cart .cart-totals-inner table,
body.dgk-affina-cart .cart_totals table,
body.dgk-affina-cart .cart-totals-inner tbody,
body.dgk-affina-cart .cart_totals tbody,
body.dgk-affina-cart .cart-totals-inner tr,
body.dgk-affina-cart .cart_totals tr,
body.dgk-affina-cart .cart-totals-inner th,
body.dgk-affina-cart .cart_totals th,
body.dgk-affina-cart .cart-totals-inner td,
body.dgk-affina-cart .cart_totals td {
	background: transparent !important;
	color: var(--affina-text-light) !important;
}

body.dgk-affina-cart .cart-totals-inner th,
body.dgk-affina-cart .cart_totals th,
body.dgk-affina-cart .cart-totals-inner td,
body.dgk-affina-cart .cart_totals td,
body.dgk-affina-cart .cart-totals-inner p,
body.dgk-affina-cart .cart_totals p,
body.dgk-affina-cart .cart-totals-inner span,
body.dgk-affina-cart .cart_totals span,
body.dgk-affina-cart .cart-totals-inner label,
body.dgk-affina-cart .cart_totals label,
body.dgk-affina-cart .cart-totals-inner strong,
body.dgk-affina-cart .cart_totals strong,
body.dgk-affina-cart .cart-totals-inner .amount,
body.dgk-affina-cart .cart_totals .amount,
body.dgk-affina-cart .cart-totals-inner .woocommerce-shipping-destination,
body.dgk-affina-cart .cart_totals .woocommerce-shipping-destination,
body.dgk-affina-cart .cart-totals-inner .shipping-calculator-button,
body.dgk-affina-cart .cart_totals .shipping-calculator-button {
	color: var(--affina-text-light) !important;
}

body.dgk-affina-cart .cart-totals-inner .shipping-calculator-button,
body.dgk-affina-cart .cart_totals .shipping-calculator-button {
	opacity: .72;
	text-decoration-color: rgba(245,241,232,.42) !important;
}

/* CHECKOUT: reserve real space for the transparent/overlap header. */
body.dgk-affina-checkout .site-content {
	padding-top: clamp(8rem, 9vw, 10rem) !important;
	padding-bottom: clamp(4rem, 7vw, 8rem) !important;
}

/* Coupon/login notices should stay inside the same shell instead of touching viewport edges. */
body.dgk-affina-checkout .woocommerce-form-coupon-toggle,
body.dgk-affina-checkout .woocommerce-form-login-toggle,
body.dgk-affina-checkout .woocommerce-NoticeGroup-checkout {
	width: var(--affina-shell) !important;
	max-width: var(--affina-shell) !important;
	margin-inline: auto !important;
	margin-bottom: 1.35rem !important;
}

/* CHECKOUT REVIEW: WoodMart wraps the table in a white card on some breakpoints.
   Neutralize that wrapper and explicitly paint all order-review typography. */
body.dgk-affina-checkout #order_review .wd-table-wrapper,
body.dgk-affina-checkout .checkout-order-review .wd-table-wrapper,
body.dgk-affina-checkout .woocommerce-checkout-review-order .wd-table-wrapper,
body.dgk-affina-checkout #order_review .responsive-table,
body.dgk-affina-checkout .checkout-order-review .responsive-table,
body.dgk-affina-checkout .woocommerce-checkout-review-order .responsive-table,
body.dgk-affina-checkout #order_review table,
body.dgk-affina-checkout .checkout-order-review table,
body.dgk-affina-checkout .woocommerce-checkout-review-order table {
	background: transparent !important;
	box-shadow: none !important;
}

body.dgk-affina-checkout #order_review table *,
body.dgk-affina-checkout .checkout-order-review table *,
body.dgk-affina-checkout .woocommerce-checkout-review-order table * {
	color: var(--affina-text-light) !important;
}

body.dgk-affina-checkout #order_review .product-name,
body.dgk-affina-checkout .checkout-order-review .product-name,
body.dgk-affina-checkout .woocommerce-checkout-review-order .product-name,
body.dgk-affina-checkout #order_review .product-total,
body.dgk-affina-checkout .checkout-order-review .product-total,
body.dgk-affina-checkout .woocommerce-checkout-review-order .product-total {
	color: var(--affina-text-light) !important;
	font-weight: 500 !important;
}

body.dgk-affina-checkout #order_review .order-total th,
body.dgk-affina-checkout #order_review .order-total td,
body.dgk-affina-checkout .checkout-order-review .order-total th,
body.dgk-affina-checkout .checkout-order-review .order-total td {
	font-size: 1.08rem !important;
	font-weight: 600 !important;
}

body.dgk-affina-checkout #order_review .order-total .amount,
body.dgk-affina-checkout .checkout-order-review .order-total .amount {
	font-size: 1.35rem !important;
	font-weight: 600 !important;
}

body.dgk-affina-checkout #order_review .woocommerce-shipping-methods label,
body.dgk-affina-checkout .checkout-order-review .woocommerce-shipping-methods label,
body.dgk-affina-checkout .woocommerce-checkout-review-order .woocommerce-shipping-methods label,
body.dgk-affina-checkout #order_review .woocommerce-shipping-methods li,
body.dgk-affina-checkout .checkout-order-review .woocommerce-shipping-methods li {
	color: rgba(245,241,232,.9) !important;
}

body.dgk-affina-checkout #order_review .woocommerce-shipping-methods input[type="radio"],
body.dgk-affina-checkout .checkout-order-review .woocommerce-shipping-methods input[type="radio"] {
	accent-color: #f5f1e8;
}

/* Keep checkout heading clear of the sticky header and give the right panel breathing room. */
body.dgk-affina-checkout #customer_details,
body.dgk-affina-checkout .customer-details,
body.dgk-affina-checkout #order_review,
body.dgk-affina-checkout .checkout-order-review {
	scroll-margin-top: 130px;
}

@media (max-width: 1024px) {
	body.dgk-affina-checkout .site-content {
		padding-top: 8.5rem !important;
	}
}

@media (max-width: 767px) {
	/* Header on mobile overlaps content; 28px was far too small. */
	body.dgk-affina-checkout .site-content {
		padding-top: 7.5rem !important;
		padding-bottom: 54px !important;
	}

	body.dgk-affina-checkout .woocommerce-form-coupon-toggle,
	body.dgk-affina-checkout .woocommerce-form-login-toggle,
	body.dgk-affina-checkout .woocommerce-NoticeGroup-checkout {
		width: calc(100% - 44px) !important;
		max-width: calc(100% - 44px) !important;
	}

	body.dgk-affina-checkout #order_review,
	body.dgk-affina-checkout .checkout-order-review {
		margin-top: 1.25rem !important;
		padding: 28px 22px !important;
	}

	body.dgk-affina-checkout #order_review_heading,
	body.dgk-affina-checkout .checkout-order-review > h3 {
		font-size: clamp(2.2rem, 10vw, 3.25rem) !important;
		line-height: .98 !important;
		margin-bottom: 1.8rem !important;
	}

	body.dgk-affina-checkout .woocommerce-checkout-review-order-table th,
	body.dgk-affina-checkout .woocommerce-checkout-review-order-table td {
		padding: 13px 0 !important;
		font-size: .82rem !important;
		line-height: 1.35 !important;
	}

	body.dgk-affina-checkout #order_review .product-name,
	body.dgk-affina-checkout .checkout-order-review .product-name {
		padding-right: 14px !important;
	}

	body.dgk-affina-cart .cart-totals-inner,
	body.dgk-affina-cart .cart_totals {
		color: var(--affina-text-light) !important;
	}
}


/* =========================================================
   v0.13.5 — checkout coupon: Woo renders it OUTSIDE form.checkout
   ========================================================= */

/* Toggle lives before the checkout form, so it needs its own shell. */
body.dgk-affina-checkout .woocommerce-form-coupon-toggle {
	width: var(--affina-shell) !important;
	max-width: var(--affina-shell) !important;
	margin: 0 auto 1rem !important;
}

body.dgk-affina-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--affina-text-dark) !important;
	font-family: var(--affina-font-ui) !important;
	font-size: .84rem !important;
	font-weight: 500 !important;
	line-height: 1.45 !important;
}

body.dgk-affina-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before,
body.dgk-affina-checkout .woocommerce-form-coupon-toggle .woocommerce-info::after {
	display: none !important;
	content: none !important;
}

body.dgk-affina-checkout .woocommerce-form-coupon-toggle a {
	color: var(--affina-text-dark) !important;
	font-weight: 600 !important;
	text-decoration: underline !important;
	text-underline-offset: 4px !important;
	text-decoration-thickness: 1px !important;
}

/* The actual coupon form is NOT a child of form.checkout. Keep it in the same shell. */
body.dgk-affina-checkout form.checkout_coupon,
body.dgk-affina-checkout form.woocommerce-form-coupon {
	box-sizing: border-box !important;
	width: var(--affina-shell) !important;
	max-width: var(--affina-shell) !important;
	margin: 0 auto clamp(2.5rem, 4vw, 4.5rem) !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

/* The toggle already explains what this is; don't repeat the stock Woo sentence. */
body.dgk-affina-checkout form.checkout_coupon > p:first-child:not(.form-row),
body.dgk-affina-checkout form.woocommerce-form-coupon > p:first-child:not(.form-row) {
	display: none !important;
}

body.dgk-affina-checkout form.checkout_coupon .form-row,
body.dgk-affina-checkout form.woocommerce-form-coupon .form-row {
	float: none !important;
	display: inline-block !important;
	vertical-align: top !important;
	margin: 0 8px 0 0 !important;
}

body.dgk-affina-checkout form.checkout_coupon .form-row-first,
body.dgk-affina-checkout form.woocommerce-form-coupon .form-row-first {
	width: min(360px, 42vw) !important;
}

body.dgk-affina-checkout form.checkout_coupon .form-row-last,
body.dgk-affina-checkout form.woocommerce-form-coupon .form-row-last {
	width: auto !important;
}

body.dgk-affina-checkout form.checkout_coupon input.input-text,
body.dgk-affina-checkout form.woocommerce-form-coupon input.input-text {
	width: 100% !important;
	min-height: 54px !important;
	margin: 0 !important;
	padding: 0 16px !important;
	border: 1px solid var(--affina-line) !important;
	background: rgba(255,255,255,.18) !important;
	color: var(--affina-text-dark) !important;
	font-family: var(--affina-font-ui) !important;
}

body.dgk-affina-checkout form.checkout_coupon button,
body.dgk-affina-checkout form.woocommerce-form-coupon button {
	min-height: 54px !important;
	margin: 0 !important;
	padding: 0 24px !important;
	border: 1px solid var(--affina-bg-ink) !important;
	background: var(--affina-bg-ink) !important;
	color: var(--affina-text-light) !important;
	font-family: var(--affina-font-ui) !important;
	font-size: .72rem !important;
	font-weight: 600 !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
}

body.dgk-affina-checkout form.checkout_coupon .clear,
body.dgk-affina-checkout form.woocommerce-form-coupon .clear {
	display: none !important;
}

@media (max-width: 767px) {
	body.dgk-affina-checkout .woocommerce-form-coupon-toggle,
	body.dgk-affina-checkout form.checkout_coupon,
	body.dgk-affina-checkout form.woocommerce-form-coupon {
		width: calc(100% - 44px) !important;
		max-width: calc(100% - 44px) !important;
	}

	body.dgk-affina-checkout .woocommerce-form-coupon-toggle {
		margin-bottom: .85rem !important;
	}

	body.dgk-affina-checkout form.checkout_coupon,
	body.dgk-affina-checkout form.woocommerce-form-coupon {
		margin-bottom: 2rem !important;
	}

	body.dgk-affina-checkout form.checkout_coupon .form-row,
	body.dgk-affina-checkout form.woocommerce-form-coupon .form-row,
	body.dgk-affina-checkout form.checkout_coupon .form-row-first,
	body.dgk-affina-checkout form.checkout_coupon .form-row-last,
	body.dgk-affina-checkout form.woocommerce-form-coupon .form-row-first,
	body.dgk-affina-checkout form.woocommerce-form-coupon .form-row-last {
		display: block !important;
		width: 100% !important;
		margin: 0 0 10px !important;
	}

	body.dgk-affina-checkout form.checkout_coupon button,
	body.dgk-affina-checkout form.woocommerce-form-coupon button {
		width: 100% !important;
	}
}


/* =========================================================
   v0.13.6 — payment box contrast + silent AJAX refresh
   ========================================================= */

/* Payment method descriptions must stay in the olive visual system.
   WoodMart/Woo may inject a white payment_box with inherited light text. */
body.dgk-affina-checkout #payment .payment_box,
body.dgk-affina-checkout .woocommerce-checkout-payment .payment_box {
	position: relative !important;
	margin: .85rem 0 1.25rem !important;
	padding: 1rem 1.1rem !important;
	border: 1px solid rgba(245,241,232,.14) !important;
	border-radius: 0 !important;
	background: rgba(245,241,232,.065) !important;
	box-shadow: none !important;
	color: rgba(245,241,232,.84) !important;
}

body.dgk-affina-checkout #payment .payment_box::before,
body.dgk-affina-checkout .woocommerce-checkout-payment .payment_box::before {
	border-bottom-color: rgba(245,241,232,.14) !important;
}

body.dgk-affina-checkout #payment .payment_box p,
body.dgk-affina-checkout #payment .payment_box span,
body.dgk-affina-checkout #payment .payment_box strong,
body.dgk-affina-checkout #payment .payment_box small,
body.dgk-affina-checkout #payment .payment_box label,
body.dgk-affina-checkout .woocommerce-checkout-payment .payment_box p,
body.dgk-affina-checkout .woocommerce-checkout-payment .payment_box span,
body.dgk-affina-checkout .woocommerce-checkout-payment .payment_box strong,
body.dgk-affina-checkout .woocommerce-checkout-payment .payment_box small,
body.dgk-affina-checkout .woocommerce-checkout-payment .payment_box label {
	color: rgba(245,241,232,.84) !important;
}

body.dgk-affina-checkout #payment .payment_box a,
body.dgk-affina-checkout .woocommerce-checkout-payment .payment_box a {
	color: var(--affina-text-light) !important;
	text-decoration: underline !important;
	text-underline-offset: 3px !important;
}

/* WooCommerce uses jQuery BlockUI while shipping/payment changes are recalculated.
   Keep the interaction lock, but remove the grey flash that visually destroys the panel. */
body.dgk-affina-checkout #order_review > .blockUI.blockOverlay,
body.dgk-affina-checkout .checkout-order-review > .blockUI.blockOverlay,
body.dgk-affina-checkout .woocommerce-checkout-review-order > .blockUI.blockOverlay,
body.dgk-affina-checkout #payment > .blockUI.blockOverlay,
body.dgk-affina-checkout .woocommerce-checkout-payment > .blockUI.blockOverlay,
body.dgk-affina-checkout form.checkout > .blockUI.blockOverlay {
	background: transparent !important;
	background-color: transparent !important;
	opacity: 1 !important;
	cursor: wait !important;
}

/* Remove the stock BlockUI message / WoodMart loader box. The checkout remains blocked
   for the fraction of a second needed by AJAX, but visually stays exactly the same. */
body.dgk-affina-checkout #order_review > .blockUI.blockMsg,
body.dgk-affina-checkout .checkout-order-review > .blockUI.blockMsg,
body.dgk-affina-checkout .woocommerce-checkout-review-order > .blockUI.blockMsg,
body.dgk-affina-checkout #payment > .blockUI.blockMsg,
body.dgk-affina-checkout .woocommerce-checkout-payment > .blockUI.blockMsg,
body.dgk-affina-checkout form.checkout > .blockUI.blockMsg {
	display: none !important;
}

/* Some WoodMart builds apply a loading opacity/filter to the content itself. */
body.dgk-affina-checkout #order_review.processing,
body.dgk-affina-checkout .checkout-order-review.processing,
body.dgk-affina-checkout .woocommerce-checkout-review-order.processing,
body.dgk-affina-checkout #payment.processing,
body.dgk-affina-checkout .woocommerce-checkout-payment.processing {
	opacity: 1 !important;
	filter: none !important;
}

body.dgk-affina-checkout #order_review.processing *,
body.dgk-affina-checkout .checkout-order-review.processing *,
body.dgk-affina-checkout .woocommerce-checkout-review-order.processing *,
body.dgk-affina-checkout #payment.processing *,
body.dgk-affina-checkout .woocommerce-checkout-payment.processing * {
	filter: none !important;
}
