/*
 * O Invisível — Cart & Checkout 0.6.0
 * Lightweight classic WooCommerce flow without Elementor page rendering.
 */

html {
	scroll-behavior: smooth;
}

body.odcu-commerce-flow {
	margin: 0;
	background: var(--odcu-bone);
	color: var(--odcu-text);
	font-family: var(--odcu-font-body);
	-webkit-font-smoothing: antialiased;
}

.odcu-commerce-flow * {
	box-sizing: border-box;
}

.odcu-flow-container {
	width: min(1120px, calc(100% - 40px));
	margin-inline: auto;
}

.odcu-flow-header {
	position: sticky;
	z-index: 80;
	top: 0;
	height: 68px;
	border-bottom: 1px solid color-mix(in srgb, var(--odcu-border) 72%, transparent);
	background: color-mix(in srgb, var(--odcu-bone) 96%, transparent);
	backdrop-filter: blur(16px);
}

.odcu-flow-header__inner {
	width: min(1120px, calc(100% - 40px));
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-inline: auto;
}

.odcu-flow-brand {
	display: inline-flex;
	align-items: center;
	gap: 11px;
	min-width: 0;
	color: var(--odcu-espresso);
	text-decoration: none;
}

.odcu-flow-brand__mark {
	width: 34px;
	height: 34px;
	display: grid;
	flex: 0 0 34px;
	place-items: center;
	border: 1px solid color-mix(in srgb, var(--odcu-bronze) 60%, transparent);
	border-radius: 999px;
	color: var(--odcu-bronze);
	font-family: Georgia, serif;
	font-size: 18px;
}

.odcu-flow-brand__copy {
	min-width: 0;
	display: flex;
	flex-direction: column;
	line-height: 1.05;
}

.odcu-flow-brand__copy strong {
	font-family: var(--odcu-font-heading);
	font-size: 18px;
	font-weight: 600;
}

.odcu-flow-brand__copy small {
	margin-top: 4px;
	color: var(--odcu-text-muted);
	font-size: 9px;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.odcu-flow-header__actions {
	display: flex;
	align-items: center;
	gap: 20px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.odcu-flow-header__actions a {
	color: var(--odcu-text-muted);
	text-decoration: none;
}

.odcu-flow-header__actions a:hover {
	color: var(--odcu-espresso);
}

.odcu-flow-security {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--odcu-moss);
}

.odcu-flow-main {
	min-height: calc(100svh - 130px);
	padding: 34px 0 52px;
}

.odcu-flow-steps {
	max-width: 720px;
	display: grid;
	grid-template-columns: auto 1fr auto 1fr auto;
	align-items: center;
	gap: 10px;
	margin: 0 auto 42px;
	color: color-mix(in srgb, var(--odcu-text-muted) 72%, transparent);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .07em;
	text-transform: uppercase;
}

.odcu-flow-steps span {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	white-space: nowrap;
}

.odcu-flow-steps span b {
	width: 24px;
	height: 24px;
	display: grid;
	place-items: center;
	border: 1px solid var(--odcu-border);
	border-radius: 999px;
	background: var(--odcu-surface);
	color: var(--odcu-text-muted);
	font-size: 10px;
}

.odcu-flow-steps span.is-active {
	color: var(--odcu-espresso);
}

.odcu-flow-steps span.is-active b {
	border-color: var(--odcu-bronze);
	background: var(--odcu-bronze);
	color: var(--odcu-night);
}

.odcu-flow-steps span.is-done {
	color: var(--odcu-moss);
}

.odcu-flow-steps span.is-done b {
	border-color: var(--odcu-moss);
	background: var(--odcu-moss);
	color: var(--odcu-parchment);
}

.odcu-flow-steps i {
	height: 1px;
	background: var(--odcu-border);
}

.odcu-flow-intro {
	max-width: 650px;
	margin: 0 0 30px;
}

.odcu-flow-eyebrow {
	margin: 0 0 8px;
	color: var(--odcu-bronze);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
}

.odcu-flow-intro h1 {
	margin: 0 0 10px;
	color: var(--odcu-espresso);
	font-family: var(--odcu-font-heading);
	font-size: clamp(2.6rem, 5vw, 4.4rem);
	font-weight: 500;
	line-height: .98;
}

.odcu-flow-intro > p:last-child {
	max-width: 560px;
	margin: 0;
	color: var(--odcu-text-muted);
	font-size: 14px;
	line-height: 1.65;
}

.odcu-flow-panel {
	width: 100%;
}

.odcu-flow-panel .woocommerce {
	width: 100%;
}

/* Notices */
.odcu-commerce-flow .woocommerce-notices-wrapper:empty {
	display: none;
}

.odcu-commerce-flow .woocommerce-message,
.odcu-commerce-flow .woocommerce-info,
.odcu-commerce-flow .woocommerce-error {
	margin: 0 0 18px!important;
	padding: 14px 16px 14px 44px!important;
	border: 1px solid var(--odcu-border)!important;
	border-top: 1px solid var(--odcu-border)!important;
	border-radius: 7px;
	background: var(--odcu-surface);
	color: var(--odcu-text);
	font-size: 13px;
	line-height: 1.5;
}

/* Cart */
.odcu-flow-panel--cart .woocommerce {
	display: grid;
	grid-template-columns: minmax(0, 1.65fr) minmax(310px, .75fr);
	gap: 26px;
	align-items: start;
}

.odcu-flow-panel--cart .woocommerce-notices-wrapper,
.odcu-flow-panel--cart .woocommerce-cart-form,
.odcu-flow-panel--cart .woocommerce-message,
.odcu-flow-panel--cart .woocommerce-info,
.odcu-flow-panel--cart .woocommerce-error {
	grid-column: 1;
}

.odcu-flow-panel--cart .cart-collaterals {
	grid-column: 2;
	grid-row: 1 / span 4;
	width: 100%;
	margin: 0;
}

.odcu-commerce-flow .woocommerce-cart-form {
	margin: 0;
	padding: 0;
	border: 1px solid var(--odcu-border);
	border-radius: 10px;
	background: var(--odcu-surface);
	overflow: hidden;
}

.odcu-commerce-flow table.shop_table {
	width: 100%;
	margin: 0!important;
	border: 0!important;
	border-collapse: collapse!important;
	border-radius: 0!important;
	background: transparent!important;
}

.odcu-commerce-flow table.shop_table th {
	padding: 14px 16px!important;
	border: 0!important;
	border-bottom: 1px solid var(--odcu-border)!important;
	color: var(--odcu-text-muted);
	font-size: 9px!important;
	font-weight: 600!important;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.odcu-commerce-flow table.shop_table td {
	padding: 16px!important;
	border: 0!important;
	border-bottom: 1px solid color-mix(in srgb, var(--odcu-border) 72%, transparent)!important;
	vertical-align: middle!important;
}

.odcu-commerce-flow table.shop_table tr:last-child td {
	border-bottom: 0!important;
}

.odcu-commerce-flow .product-thumbnail {
	width: 92px;
}

.odcu-commerce-flow .product-thumbnail img {
	width: 76px!important;
	height: 76px!important;
	display: block;
	margin: 0!important;
	padding: 6px;
	border: 1px solid var(--odcu-border);
	border-radius: 7px;
	background: #f8f4ed;
	object-fit: contain;
}

.odcu-commerce-flow .product-name a {
	color: var(--odcu-espresso);
	font-family: var(--odcu-font-heading);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.12;
	text-decoration: none;
}

.odcu-commerce-flow .product-price,
.odcu-commerce-flow .product-subtotal {
	color: var(--odcu-text);
	font-size: 13px;
	font-weight: 600;
}

.odcu-commerce-flow .product-remove a.remove {
	width: 28px!important;
	height: 28px!important;
	display: grid!important;
	place-items: center;
	border: 1px solid var(--odcu-border);
	border-radius: 999px;
	color: var(--odcu-text-muted)!important;
	font-size: 18px!important;
	line-height: 1!important;
	text-decoration: none!important;
}

.odcu-commerce-flow .product-remove a.remove:hover {
	border-color: var(--odcu-wine);
	background: transparent!important;
	color: var(--odcu-wine)!important;
}

.odcu-commerce-flow .quantity .qty {
	width: 64px;
	height: 40px;
	border: 1px solid var(--odcu-border);
	border-radius: 5px;
	background: #fff;
	color: var(--odcu-text);
	text-align: center;
}

.odcu-commerce-flow .woocommerce-cart-form .actions {
	padding: 14px 16px!important;
	background: color-mix(in srgb, var(--odcu-parchment) 35%, transparent);
}

.odcu-commerce-flow .coupon {
	display: flex;
	gap: 8px;
}

.odcu-commerce-flow .coupon input {
	width: 180px!important;
	height: 42px;
	padding: 0 12px!important;
	border: 1px solid var(--odcu-border)!important;
	border-radius: 5px!important;
	background: #fff;
}

.odcu-commerce-flow button.button,
.odcu-commerce-flow a.button,
.odcu-commerce-flow input.button,
.odcu-commerce-flow #place_order {
	min-height: 42px;
	padding: 0 18px!important;
	border: 1px solid var(--odcu-espresso)!important;
	border-radius: 5px!important;
	background: var(--odcu-espresso)!important;
	color: var(--odcu-parchment)!important;
	font-family: var(--odcu-font-body)!important;
	font-size: 10px!important;
	font-weight: 600!important;
	letter-spacing: .08em!important;
	line-height: 40px!important;
	text-transform: uppercase;
	box-shadow: none!important;
}

.odcu-commerce-flow button.button:hover,
.odcu-commerce-flow a.button:hover,
.odcu-commerce-flow input.button:hover,
.odcu-commerce-flow #place_order:hover {
	background: var(--odcu-night)!important;
	color: #fff!important;
}

.odcu-commerce-flow button.button:disabled,
.odcu-commerce-flow button.button:disabled[disabled] {
	opacity: .46!important;
}

.odcu-commerce-flow .cart_totals {
	width: 100%!important;
	margin: 0!important;
	padding: 22px;
	border: 1px solid var(--odcu-border);
	border-radius: 10px;
	background: var(--odcu-surface);
}

.odcu-commerce-flow .cart_totals h2 {
	margin: 0 0 16px;
	color: var(--odcu-espresso);
	font-family: var(--odcu-font-heading);
	font-size: 28px;
	font-weight: 600;
}

.odcu-commerce-flow .cart_totals table th,
.odcu-commerce-flow .cart_totals table td {
	padding: 13px 0!important;
	background: transparent!important;
}

.odcu-commerce-flow .cart_totals table th {
	width: 42%;
	border-bottom: 1px solid var(--odcu-border)!important;
}

.odcu-commerce-flow .cart_totals .order-total th,
.odcu-commerce-flow .cart_totals .order-total td {
	padding-top: 18px!important;
	border-bottom: 0!important;
	color: var(--odcu-espresso);
	font-size: 17px;
}

.odcu-commerce-flow .wc-proceed-to-checkout {
	margin: 18px 0 0!important;
	padding: 0!important;
}

.odcu-commerce-flow .wc-proceed-to-checkout a.checkout-button {
	width: 100%;
	min-height: 52px;
	display: grid!important;
	place-items: center;
	margin: 0!important;
	padding: 0 18px!important;
	background: var(--odcu-bronze)!important;
	border-color: var(--odcu-bronze)!important;
	color: var(--odcu-night)!important;
	font-size: 11px!important;
	line-height: 1.1!important;
}

.odcu-commerce-flow .wc-proceed-to-checkout a.checkout-button:hover {
	background: var(--odcu-bronze-soft)!important;
	border-color: var(--odcu-bronze-soft)!important;
}

.odcu-commerce-flow .woocommerce-shipping-calculator {
	font-size: 12px;
}

/* Empty cart */
.odcu-commerce-flow .cart-empty {
	padding: 30px!important;
	text-align: center;
}

.odcu-commerce-flow .return-to-shop {
	text-align: center;
}

/* Checkout */
.odcu-flow-panel--checkout .woocommerce {
	width: 100%;
}

.odcu-commerce-flow .woocommerce-form-login,
.odcu-commerce-flow .checkout_coupon {
	max-width: 620px;
	margin: 0 0 18px!important;
	padding: 18px!important;
	border: 1px solid var(--odcu-border)!important;
	border-radius: 8px!important;
	background: var(--odcu-surface);
}

.odcu-commerce-flow form.checkout.woocommerce-checkout {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(330px, .85fr);
	gap: 28px 34px;
	align-items: start;
}

.odcu-commerce-flow #customer_details {
	grid-column: 1;
	display: block;
}

.odcu-commerce-flow #customer_details .col-1,
.odcu-commerce-flow #customer_details .col-2 {
	float: none!important;
	width: 100%!important;
}

.odcu-commerce-flow #customer_details .col-2 {
	margin-top: 18px;
}

.odcu-commerce-flow #order_review_heading {
	grid-column: 2;
	grid-row: 1;
	margin: 0 0 -10px!important;
	padding: 0;
	color: var(--odcu-espresso);
	font-family: var(--odcu-font-heading);
	font-size: 27px;
	font-weight: 600;
}

.odcu-commerce-flow #order_review {
	grid-column: 2;
	grid-row: 2 / span 4;
	position: sticky;
	top: 92px;
	padding: 20px;
	border: 1px solid var(--odcu-border);
	border-radius: 10px;
	background: var(--odcu-surface);
}

.odcu-commerce-flow .woocommerce-billing-fields,
.odcu-commerce-flow .woocommerce-shipping-fields,
.odcu-commerce-flow .woocommerce-additional-fields {
	padding: 22px;
	border: 1px solid var(--odcu-border);
	border-radius: 10px;
	background: var(--odcu-surface);
}

.odcu-commerce-flow .woocommerce-billing-fields > h3,
.odcu-commerce-flow .woocommerce-shipping-fields > h3,
.odcu-commerce-flow .woocommerce-additional-fields > h3 {
	margin: 0 0 18px!important;
	color: var(--odcu-espresso);
	font-family: var(--odcu-font-heading);
	font-size: 27px!important;
	font-weight: 600!important;
}

.odcu-commerce-flow .form-row {
	margin: 0 0 14px!important;
	padding: 0!important;
}

.odcu-commerce-flow .form-row label {
	margin: 0 0 6px;
	color: var(--odcu-text-muted);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .07em;
	line-height: 1.2;
	text-transform: uppercase;
}

.odcu-commerce-flow .form-row .required {
	color: var(--odcu-wine);
}

.odcu-commerce-flow .input-text,
.odcu-commerce-flow select,
.odcu-commerce-flow .select2-container .select2-selection--single,
.odcu-commerce-flow textarea {
	width: 100%;
	min-height: 46px;
	padding: 10px 12px!important;
	border: 1px solid var(--odcu-border)!important;
	border-radius: 5px!important;
	background: #fff!important;
	color: var(--odcu-text)!important;
	font-family: var(--odcu-font-body)!important;
	font-size: 14px!important;
	box-shadow: none!important;
}

.odcu-commerce-flow textarea {
	min-height: 92px;
	resize: vertical;
}

.odcu-commerce-flow .select2-container .select2-selection--single {
	padding: 8px 10px!important;
}

.odcu-commerce-flow .select2-container--default .select2-selection--single .select2-selection__rendered {
	padding: 0!important;
	color: var(--odcu-text)!important;
	line-height: 28px!important;
}

.odcu-commerce-flow .select2-container--default .select2-selection--single .select2-selection__arrow {
	top: 9px;
	right: 8px;
}

.odcu-commerce-flow #order_review table.shop_table td,
.odcu-commerce-flow #order_review table.shop_table th {
	padding: 11px 0!important;
}

.odcu-commerce-flow #order_review table.shop_table .product-name {
	padding-right: 12px!important;
	font-family: var(--odcu-font-body);
	font-size: 12px;
}

.odcu-commerce-flow #order_review table.shop_table .product-total {
	font-size: 12px;
	text-align: right;
}

.odcu-commerce-flow #order_review .order-total th,
.odcu-commerce-flow #order_review .order-total td {
	padding-top: 16px!important;
	color: var(--odcu-espresso);
	font-size: 16px!important;
}

.odcu-commerce-flow #payment {
	margin-top: 18px!important;
	border: 0!important;
	border-radius: 8px!important;
	background: color-mix(in srgb, var(--odcu-parchment) 35%, transparent)!important;
}

.odcu-commerce-flow #payment ul.payment_methods {
	padding: 14px!important;
	border-bottom: 1px solid var(--odcu-border)!important;
}

.odcu-commerce-flow #payment ul.payment_methods li {
	padding: 7px 0;
	font-size: 13px;
}

.odcu-commerce-flow #payment div.payment_box {
	margin: 10px 0!important;
	padding: 13px!important;
	background: var(--odcu-surface)!important;
	color: var(--odcu-text-muted)!important;
	font-size: 12px!important;
	line-height: 1.55!important;
}

.odcu-commerce-flow #payment div.payment_box::before {
	border-bottom-color: var(--odcu-surface)!important;
}

.odcu-commerce-flow #payment .place-order {
	padding: 14px!important;
}

.odcu-commerce-flow #place_order {
	width: 100%;
	min-height: 54px;
	background: var(--odcu-bronze)!important;
	border-color: var(--odcu-bronze)!important;
	color: var(--odcu-night)!important;
	font-size: 11px!important;
	line-height: 52px!important;
}

.odcu-commerce-flow .woocommerce-privacy-policy-text,
.odcu-commerce-flow .woocommerce-terms-and-conditions-wrapper {
	color: var(--odcu-text-muted);
	font-size: 11px;
	line-height: 1.55;
}

/* Thank-you / order received */
.odcu-commerce-flow .woocommerce-order {
	max-width: 850px;
	margin: 0 auto;
	padding: 28px;
	border: 1px solid var(--odcu-border);
	border-radius: 10px;
	background: var(--odcu-surface);
}

.odcu-commerce-flow .woocommerce-thankyou-order-received {
	margin: 0 0 22px!important;
	color: var(--odcu-moss);
	font-family: var(--odcu-font-heading);
	font-size: clamp(2rem, 4vw, 3.3rem);
	font-weight: 600;
	line-height: 1.05;
}

.odcu-commerce-flow ul.order_details {
	margin: 0 0 24px!important;
	padding: 15px!important;
	border: 1px solid var(--odcu-border);
	border-radius: 7px;
	background: var(--odcu-bone);
}

/* Assurance / footer */
.odcu-flow-assurance {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1px;
	margin-top: 26px;
	border: 1px solid var(--odcu-border);
	border-radius: 9px;
	overflow: hidden;
	background: var(--odcu-border);
}

.odcu-flow-assurance > div {
	min-height: 88px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 17px 20px;
	background: var(--odcu-surface);
}

.odcu-flow-assurance strong {
	color: var(--odcu-espresso);
	font-size: 11px;
	letter-spacing: .03em;
}

.odcu-flow-assurance span {
	margin-top: 4px;
	color: var(--odcu-text-muted);
	font-size: 11px;
	line-height: 1.45;
}

.odcu-flow-footer {
	padding: 18px 0;
	border-top: 1px solid var(--odcu-border);
	color: var(--odcu-text-muted);
	font-size: 9px;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.odcu-flow-footer .odcu-flow-container {
	display: flex;
	justify-content: space-between;
	gap: 16px;
}

/* Woo loading states */
.odcu-commerce-flow .blockUI.blockOverlay {
	background: rgba(245,239,229,.72)!important;
	opacity: 1!important;
}

.odcu-commerce-flow .blockUI.blockOverlay::before {
	width: 24px!important;
	height: 24px!important;
	margin: -12px 0 0 -12px!important;
	border: 2px solid var(--odcu-border)!important;
	border-top-color: var(--odcu-bronze)!important;
	border-radius: 999px;
	background: none!important;
	animation: odcu-spin .7s linear infinite;
}

@keyframes odcu-spin {
	to { transform: rotate(360deg); }
}

@media (max-width: 900px) {
	.odcu-flow-panel--cart .woocommerce,
	.odcu-commerce-flow form.checkout.woocommerce-checkout {
		grid-template-columns: 1fr;
	}

	.odcu-flow-panel--cart .woocommerce-notices-wrapper,
	.odcu-flow-panel--cart .woocommerce-cart-form,
	.odcu-flow-panel--cart .cart-collaterals,
	.odcu-commerce-flow #customer_details,
	.odcu-commerce-flow #order_review_heading,
	.odcu-commerce-flow #order_review {
		grid-column: 1;
		grid-row: auto;
	}

	.odcu-commerce-flow #order_review {
		position: static;
	}

	.odcu-flow-panel--cart .cart-collaterals {
		margin-top: 4px;
	}

	.odcu-flow-header__actions a {
		display: none;
	}
}

@media (max-width: 680px) {
	.odcu-flow-container,
	.odcu-flow-header__inner {
		width: min(100% - 24px, 1120px);
	}

	.odcu-flow-header {
		height: 58px;
	}

	.odcu-flow-brand__mark {
		width: 29px;
		height: 29px;
		flex-basis: 29px;
		font-size: 15px;
	}

	.odcu-flow-brand__copy strong {
		font-size: 15px;
	}

	.odcu-flow-brand__copy small {
		display: none;
	}

	.odcu-flow-security {
		font-size: 9px;
	}

	.odcu-flow-main {
		padding: 22px 0 34px;
	}

	.odcu-flow-steps {
		grid-template-columns: 1fr 20px 1fr 20px 1fr;
		gap: 4px;
		margin-bottom: 30px;
		font-size: 0;
		text-align: center;
	}

	.odcu-flow-steps span {
		justify-content: center;
	}

	.odcu-flow-steps span b {
		width: 26px;
		height: 26px;
		font-size: 9px;
	}

	.odcu-flow-intro {
		margin-bottom: 22px;
	}

	.odcu-flow-intro h1 {
		font-size: 2.55rem;
	}

	.odcu-flow-intro > p:last-child {
		font-size: 13px;
	}

	/* Turn the cart table into compact product cards. */
	.odcu-commerce-flow .woocommerce-cart-form table,
	.odcu-commerce-flow .woocommerce-cart-form tbody,
	.odcu-commerce-flow .woocommerce-cart-form tr,
	.odcu-commerce-flow .woocommerce-cart-form td {
		display: block;
		width: 100%;
	}

	.odcu-commerce-flow .woocommerce-cart-form thead {
		display: none;
	}

	.odcu-commerce-flow .woocommerce-cart-form tr.cart_item {
		position: relative;
		display: grid;
		grid-template-columns: 70px minmax(0, 1fr);
		gap: 6px 12px;
		padding: 14px;
		border-bottom: 1px solid var(--odcu-border);
	}

	.odcu-commerce-flow .woocommerce-cart-form td {
		padding: 0!important;
		border: 0!important;
	}

	.odcu-commerce-flow .woocommerce-cart-form .product-remove {
		position: absolute;
		top: 10px;
		right: 10px;
		width: auto;
	}

	.odcu-commerce-flow .woocommerce-cart-form .product-thumbnail {
		grid-column: 1;
		grid-row: 1 / span 4;
	}

	.odcu-commerce-flow .woocommerce-cart-form .product-thumbnail::before,
	.odcu-commerce-flow .woocommerce-cart-form .product-name::before,
	.odcu-commerce-flow .woocommerce-cart-form .product-price::before,
	.odcu-commerce-flow .woocommerce-cart-form .product-quantity::before,
	.odcu-commerce-flow .woocommerce-cart-form .product-subtotal::before {
		display: none!important;
		content: none!important;
	}

	.odcu-commerce-flow .product-thumbnail img {
		width: 68px!important;
		height: 68px!important;
	}

	.odcu-commerce-flow .woocommerce-cart-form .product-name {
		grid-column: 2;
		padding-right: 34px!important;
	}

	.odcu-commerce-flow .woocommerce-cart-form .product-name a {
		font-size: 16px;
	}

	.odcu-commerce-flow .woocommerce-cart-form .product-price {
		grid-column: 2;
		color: var(--odcu-text-muted);
		font-size: 11px;
	}

	.odcu-commerce-flow .woocommerce-cart-form .product-quantity {
		grid-column: 2;
	}

	.odcu-commerce-flow .woocommerce-cart-form .product-subtotal {
		grid-column: 2;
		font-size: 13px;
	}

	.odcu-commerce-flow .woocommerce-cart-form tr:last-child.actions {
		display: block;
		padding: 12px!important;
	}

	.odcu-commerce-flow .coupon {
		display: grid;
		grid-template-columns: 1fr auto;
	}

	.odcu-commerce-flow .coupon input {
		width: 100%!important;
	}

	.odcu-commerce-flow .woocommerce-cart-form .actions > button[name="update_cart"] {
		width: 100%;
		margin-top: 8px;
	}

	.odcu-commerce-flow .cart_totals {
		padding: 18px;
	}

	.odcu-commerce-flow form.checkout.woocommerce-checkout {
		gap: 16px;
	}

	.odcu-commerce-flow .woocommerce-billing-fields,
	.odcu-commerce-flow .woocommerce-shipping-fields,
	.odcu-commerce-flow .woocommerce-additional-fields,
	.odcu-commerce-flow #order_review {
		padding: 16px;
		border-radius: 8px;
	}

	.odcu-commerce-flow .form-row-first,
	.odcu-commerce-flow .form-row-last {
		float: none!important;
		width: 100%!important;
	}

	.odcu-flow-assurance {
		grid-template-columns: 1fr;
	}

	.odcu-flow-assurance > div {
		min-height: 68px;
		padding: 14px 16px;
	}

	.odcu-flow-footer .odcu-flow-container {
		justify-content: center;
	}

	.odcu-flow-footer span:last-child {
		display: none;
	}
}


/* ==========================================================
   Checkout column alignment fix — 0.6.2
   The classic Woo markup outputs #customer_details first,
   #order_review_heading second and #order_review third.
   In the former CSS grid, #order_review was forced into row 2,
   so it only started after the entire (very tall) customer form.
   Keep the order summary in the first grid row instead.
   ========================================================== */

.odcu-commerce-flow form.checkout.woocommerce-checkout {
	grid-template-rows: auto;
}

.odcu-commerce-flow #customer_details {
	grid-column: 1!important;
	grid-row: 1!important;
	min-width: 0;
	align-self: start;
}

.odcu-commerce-flow #order_review_heading {
	position: absolute!important;
	width: 1px!important;
	height: 1px!important;
	padding: 0!important;
	margin: -1px!important;
	overflow: hidden!important;
	clip: rect(0, 0, 0, 0)!important;
	white-space: nowrap!important;
	border: 0!important;
}

.odcu-commerce-flow #order_review {
	grid-column: 2!important;
	grid-row: 1!important;
	align-self: start;
	position: sticky!important;
	top: 92px;
	margin: 0!important;
	padding: 22px!important;
}

.odcu-commerce-flow #order_review::before {
	content: "Seu pedido";
	display: block;
	margin: 0 0 18px;
	color: var(--odcu-espresso);
	font-family: var(--odcu-font-heading);
	font-size: 28px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: -.015em;
}

.odcu-commerce-flow #customer_details .col-1,
.odcu-commerce-flow #customer_details .col-2 {
	min-width: 0;
}

.odcu-commerce-flow .woocommerce-shipping-fields {
	padding-top: 18px;
	padding-bottom: 18px;
}

.odcu-commerce-flow .woocommerce-shipping-fields > h3 {
	margin-bottom: 0!important;
	font-size: 23px!important;
	line-height: 1.15!important;
}

.odcu-commerce-flow .woocommerce-shipping-fields__field-wrapper:not(:empty) {
	margin-top: 18px;
}

.odcu-commerce-flow .woocommerce-additional-fields {
	margin-top: 14px;
}

.odcu-commerce-flow .woocommerce-additional-fields > h3:empty {
	display: none!important;
}

.odcu-commerce-flow .woocommerce-additional-fields .form-row:last-child {
	margin-bottom: 0!important;
}

@media (max-width: 900px) {
	.odcu-commerce-flow #customer_details,
	.odcu-commerce-flow #order_review {
		grid-column: 1!important;
		grid-row: auto!important;
	}

	.odcu-commerce-flow #order_review {
		position: static!important;
		top: auto;
	}

	.odcu-commerce-flow #order_review::before {
		font-size: 25px;
		margin-bottom: 16px;
	}
}


/* ==========================================================
   Progressive checkout + automatic CEP lookup — 0.6.3
   ========================================================== */

.odcu-commerce-flow .odcu-visually-hidden {
	position: absolute!important;
	width: 1px!important;
	height: 1px!important;
	padding: 0!important;
	margin: -1px!important;
	overflow: hidden!important;
	clip: rect(0, 0, 0, 0)!important;
	white-space: nowrap!important;
	border: 0!important;
}

.odcu-commerce-flow .woocommerce-billing-fields {
	padding: 0!important;
	border: 0!important;
	background: transparent!important;
}

.odcu-checkout-progress {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.odcu-checkout-step {
	border: 1px solid var(--odcu-border);
	border-radius: 10px;
	background: var(--odcu-surface);
	overflow: hidden;
	transition: opacity .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.odcu-checkout-step.is-active {
	border-color: color-mix(in srgb, var(--odcu-bronze) 58%, var(--odcu-border));
	box-shadow: 0 10px 26px rgba(35,23,15,.045);
}

.odcu-checkout-step.is-locked {
	display: none;
}

.odcu-checkout-step__header {
	min-height: 72px;
	display: grid;
	grid-template-columns: 34px minmax(0,1fr) auto;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
}

.odcu-checkout-step__number {
	width: 32px;
	height: 32px;
	display: grid;
	place-items: center;
	border: 1px solid var(--odcu-border);
	border-radius: 999px;
	background: var(--odcu-bone);
	color: var(--odcu-text-muted);
	font-size: 11px;
	font-weight: 700;
}

.odcu-checkout-step.is-active .odcu-checkout-step__number {
	border-color: var(--odcu-bronze);
	background: var(--odcu-bronze);
	color: var(--odcu-night);
}

.odcu-checkout-step.is-complete .odcu-checkout-step__number {
	border-color: var(--odcu-moss);
	background: var(--odcu-moss);
	color: transparent;
	position: relative;
}

.odcu-checkout-step.is-complete .odcu-checkout-step__number::after {
	content: "✓";
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	color: var(--odcu-parchment);
	font-size: 12px;
}

.odcu-checkout-step__heading {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.odcu-checkout-step__heading strong {
	color: var(--odcu-espresso);
	font-family: var(--odcu-font-heading);
	font-size: 21px;
	font-weight: 600;
	line-height: 1.05;
}

.odcu-checkout-step__heading span {
	color: var(--odcu-text-muted);
	font-size: 11px;
	line-height: 1.35;
}

.odcu-checkout-step__edit {
	display: none;
	padding: 7px 9px;
	border: 0;
	background: transparent;
	color: var(--odcu-bronze);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	cursor: pointer;
}

.odcu-checkout-step.is-complete .odcu-checkout-step__edit {
	display: inline-flex;
}

.odcu-checkout-step__summary {
	display: none;
	padding: 0 16px 15px 62px;
	color: var(--odcu-text-muted);
	font-size: 11px;
	line-height: 1.4;
}

.odcu-checkout-step.is-complete.is-collapsed .odcu-checkout-step__summary {
	display: block;
}

.odcu-checkout-step__body {
	padding: 2px 16px 16px;
	border-top: 1px solid color-mix(in srgb, var(--odcu-border) 70%, transparent);
}

.odcu-checkout-step.is-collapsed .odcu-checkout-step__body {
	display: none;
}

.odcu-checkout-step .form-row {
	margin-bottom: 13px!important;
}

.odcu-checkout-step .odcu-address-detail {
	transition: opacity .18s ease;
}

.odcu-checkout-step--address:not(.has-postcode) .odcu-address-detail,
.odcu-checkout-step--address:not(.has-postcode) .odcu-address-actions {
	display: none!important;
}

.odcu-checkout-step__actions {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 4px;
	padding-top: 4px;
}

.odcu-checkout-continue {
	min-height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 18px;
	border: 1px solid var(--odcu-bronze);
	border-radius: 5px;
	background: var(--odcu-bronze);
	color: var(--odcu-night);
	font-family: var(--odcu-font-body);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .09em;
	text-transform: uppercase;
	cursor: pointer;
}

.odcu-checkout-continue:hover {
	border-color: var(--odcu-espresso);
	background: var(--odcu-espresso);
	color: var(--odcu-parchment);
}

.odcu-checkout-step__error {
	color: var(--odcu-wine);
	font-size: 10px;
	line-height: 1.4;
}

.odcu-cep-status {
	min-height: 18px;
	margin: -2px 0 8px;
	color: var(--odcu-text-muted);
	font-size: 10px;
	line-height: 1.4;
}

.odcu-cep-status.is-success {
	color: var(--odcu-moss);
}

.odcu-cep-status.is-error {
	color: var(--odcu-wine);
}

.odcu-checkout-step--address.is-looking-up #billing_postcode {
	background-image:
		linear-gradient(90deg, transparent, rgba(197,154,98,.08), transparent)!important;
	background-size: 220% 100%!important;
	animation: odcu-cep-loading 1.15s linear infinite;
}

@keyframes odcu-cep-loading {
	from { background-position: 120% 0; }
	to { background-position: -120% 0; }
}

.odcu-checkout-final-stage {
	margin-top: 12px;
	transition: opacity .2s ease;
}

.odcu-checkout-final-stage.is-locked {
	display: none!important;
}

.odcu-checkout-final-stage__header {
	display: grid;
	grid-template-columns: 34px minmax(0,1fr);
	align-items: center;
	gap: 12px;
	margin-bottom: 12px;
	padding: 14px 16px;
	border: 1px solid var(--odcu-border);
	border-radius: 10px;
	background: var(--odcu-surface);
}

.odcu-checkout-final-stage__header > span {
	width: 32px;
	height: 32px;
	display: grid;
	place-items: center;
	border-radius: 999px;
	background: var(--odcu-bronze);
	color: var(--odcu-night);
	font-size: 11px;
	font-weight: 700;
}

.odcu-checkout-final-stage__header > div {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.odcu-checkout-final-stage__header strong {
	color: var(--odcu-espresso);
	font-family: var(--odcu-font-heading);
	font-size: 21px;
	font-weight: 600;
	line-height: 1.05;
}

.odcu-checkout-final-stage__header small {
	color: var(--odcu-text-muted);
	font-size: 11px;
	line-height: 1.35;
}

.odcu-commerce-flow .odcu-checkout-final-stage .woocommerce-shipping-fields,
.odcu-commerce-flow .odcu-checkout-final-stage .woocommerce-additional-fields {
	margin-top: 0;
}

.odcu-commerce-flow .odcu-checkout-final-stage .woocommerce-additional-fields {
	margin-top: 12px;
}

@media (max-width: 680px) {
	.odcu-checkout-step__header,
	.odcu-checkout-final-stage__header {
		grid-template-columns: 30px minmax(0,1fr) auto;
		gap: 9px;
		padding: 12px;
	}

	.odcu-checkout-final-stage__header {
		grid-template-columns: 30px minmax(0,1fr);
	}

	.odcu-checkout-step__number,
	.odcu-checkout-final-stage__header > span {
		width: 29px;
		height: 29px;
	}

	.odcu-checkout-step__heading strong,
	.odcu-checkout-final-stage__header strong {
		font-size: 18px;
	}

	.odcu-checkout-step__heading span,
	.odcu-checkout-final-stage__header small {
		font-size: 10px;
	}

	.odcu-checkout-step__body {
		padding: 2px 12px 13px;
	}

	.odcu-checkout-step__summary {
		padding: 0 12px 13px 51px;
	}

	.odcu-checkout-step__actions {
		align-items: flex-start;
		flex-direction: column;
	}

	.odcu-checkout-continue {
		width: 100%;
	}
}


/* Frete grátis banner */
.odcu-commerce-flow .odcu-shipping-banner {
	margin: 0 0 22px;
	background: linear-gradient(135deg, rgba(197,154,98,.12), rgba(255,255,255,.55));
}

.odcu-commerce-flow .odcu-shipping-banner--checkout,
.odcu-commerce-flow .odcu-shipping-banner--cart {
	margin-bottom: 26px;
}

.odcu-commerce-flow .odcu-shipping-banner__content strong {
	font-size: clamp(20px, 2.2vw, 24px);
}

@media (max-width: 767px) {
	.odcu-commerce-flow .odcu-shipping-banner {
		margin-bottom: 18px;
	}
}
