:root {
	--cdg-primary: #4a1137;
	--cdg-secondary: #fbf8f3;
	--cdg-accent: #c2a56b;
	--cdg-medium: #7a2e4e;
	--cdg-light: #d3bc9d;
	--cdg-text: #4a1137;
	--cdg-border: #d3bc9d;
	--cdg-radius-sm: 4px;
	--cdg-radius-md: 10px;
	--cdg-radius-lg: 14px;
}

.woocommerce-cart .site-main,
.woocommerce-checkout .site-main,
.woocommerce-order-received .site-main {
	background: var(--cdg-secondary);
}

.cdg-flow-wrapper {
	margin-block: 1rem 2rem;
}

/* Com Bootstrap .container + .mt-4/.pb-5 (carrinho/checkout). */
.cdg-flow-wrapper.container {
	margin-block: 0;
}

.cdg-flow-banner {
	background: var(--cdg-primary);
	color: #fff;
	padding: 1.25rem;
	border-radius: var(--cdg-radius-lg);
	border-bottom: 3px solid var(--cdg-accent);
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08);
	margin-bottom: 1.25rem;
}

.cdg-flow-banner__eyebrow {
	margin: 0;
	color: var(--cdg-light);
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-weight: 700;
}

.cdg-flow-banner__title {
	margin: 0.25rem 0;
	font-size: clamp(1.4rem, 2vw, 2rem);
	color: var(--cdg-accent);
}

.cdg-flow-banner__subtitle {
	margin: 0;
	color: #f9ede1;
}

.cdg-flow-steps {
	list-style: none;
	padding: 0;
	margin: 1rem 0 0;
	display: flex;
	gap: 0.6rem;
	flex-wrap: wrap;
}

.cdg-flow-steps__item {
	padding: 0.35rem 0.75rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.14);
	color: #f8f3ed;
	font-size: 0.85rem;
}

.cdg-flow-steps__item.is-active {
	background: var(--cdg-accent);
	color: var(--cdg-primary);
	font-weight: 700;
}

.woocommerce table.shop_table,
.woocommerce .cart-collaterals .cart_totals,
.woocommerce form.checkout,
.woocommerce .woocommerce-checkout-review-order,
.woocommerce .woocommerce-order {
	background: #fff;
	border: 1px solid var(--cdg-border);
	border-radius: var(--cdg-radius-md);
	padding: 1rem;
}

.wc-block-cart,
.wc-block-checkout,
.wc-block-components-sidebar,
.wc-block-order-confirmation {
	background: #fff;
	border: 1px solid var(--cdg-border);
	border-radius: var(--cdg-radius-md);
	padding: 1rem;
}

.wc-block-cart .wc-block-cart__main,
.wc-block-cart .wc-block-cart__sidebar,
.wc-block-checkout .wc-block-checkout__main,
.wc-block-checkout .wc-block-checkout__sidebar {
	background: transparent;
}

.wc-block-cart .wc-block-components-product-name,
.wc-block-checkout .wc-block-components-product-name,
.wc-block-checkout .wc-block-components-title {
	color: var(--cdg-primary);
	font-weight: 700;
}

.wc-block-cart .wc-block-components-formatted-money-amount,
.wc-block-checkout .wc-block-components-formatted-money-amount,
.wc-block-order-confirmation .wc-block-components-formatted-money-amount {
	color: var(--cdg-primary);
	font-weight: 700;
}

.wc-block-components-text-input input,
.wc-block-components-text-input select,
.wc-block-components-text-input textarea,
.wc-block-components-combobox .components-combobox-control__input,
.wc-block-components-address-form__address_2-toggle {
	border: 1px solid var(--cdg-border) !important;
	border-radius: var(--cdg-radius-sm) !important;
}

.wc-block-cart .wc-block-components-quantity-selector,
.wc-block-checkout .wc-block-components-quantity-selector {
	border-color: var(--cdg-border) !important;
	border-radius: var(--cdg-radius-sm);
}

.wc-block-components-button,
.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-button,
.wc-block-checkout__actions_row .wc-block-components-button {
	background: var(--cdg-primary) !important;
	color: #fff !important;
	border: none !important;
	border-radius: var(--cdg-radius-sm) !important;
	font-weight: 700 !important;
}

.wc-block-components-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.wc-block-cart__submit-button:hover {
	background: var(--cdg-medium) !important;
	color: #fff !important;
}

.wc-block-components-order-summary,
.wc-block-components-totals-wrapper,
.wc-block-components-totals-item {
	border-color: var(--cdg-light) !important;
}

.wc-block-cart .is-large.wc-block-cart .wc-block-cart__totals-title,
.wc-block-checkout .wc-block-components-title.wc-block-components-checkout-step__title {
	color: var(--cdg-primary) !important;
}

.wc-block-order-confirmation .wc-block-order-confirmation-status__heading {
	color: var(--cdg-primary);
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	border-color: var(--cdg-light);
}

.woocommerce-cart .cart_totals h2,
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3,
.woocommerce-checkout #order_review_heading {
	color: var(--cdg-primary);
	font-size: 1.2rem;
}

.woocommerce .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #payment #place_order {
	background: var(--cdg-primary);
	color: #fff;
	border-radius: var(--cdg-radius-sm);
	border: none;
	font-weight: 700;
	padding: 0.85rem 1rem;
}

.woocommerce .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #payment #place_order:hover {
	background: var(--cdg-medium);
	color: #fff;
}

.woocommerce .quantity .qty {
	min-height: 2.5rem;
	border: 1px solid var(--cdg-border);
	border-radius: var(--cdg-radius-sm);
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 100%;
}

.woocommerce-checkout .col2-set,
.woocommerce-checkout #order_review {
	margin-bottom: 1rem;
}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea {
	border: 1px solid var(--cdg-border);
	border-radius: var(--cdg-radius-sm);
	min-height: 2.7rem;
	padding: 0.6rem 0.7rem;
}

.woocommerce-checkout .form-row textarea {
	min-height: 5.5rem;
}

.cdg-thankyou-box {
	margin-top: 1rem;
	background: #fff;
	border: 1px solid var(--cdg-border);
	border-radius: var(--cdg-radius-md);
	padding: 1.2rem;
}

.cdg-thankyou-box__title {
	color: var(--cdg-primary);
	margin-top: 0;
}

.cdg-thankyou-box__text,
.cdg-thankyou-box__meta {
	color: var(--cdg-text);
}

.woocommerce-order ul.woocommerce-order-overview {
	background: #fff;
	border: 1px dashed var(--cdg-border);
	border-radius: var(--cdg-radius-sm);
	padding: 0.9rem;
}

@media (max-width: 768px) {
	.woocommerce table.shop_table,
	.woocommerce .cart-collaterals .cart_totals,
	.woocommerce form.checkout,
	.woocommerce .woocommerce-checkout-review-order,
	.woocommerce .woocommerce-order,
	.wc-block-cart,
	.wc-block-checkout,
	.wc-block-components-sidebar,
	.wc-block-order-confirmation {
		padding: 0.8rem;
	}

	.cdg-flow-banner {
		padding: 1rem;
	}

	.cdg-mobile-summary {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 9999;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0.75rem;
		padding: 0.75rem 1rem;
		background: #fff;
		border-top: 2px solid var(--cdg-accent);
		box-shadow: 0 -6px 18px rgba(0, 0, 0, 0.12);
	}

	.cdg-mobile-summary__label {
		margin: 0;
		font-size: 0.78rem;
		color: #6b7280;
	}

	.cdg-mobile-summary__value {
		margin: 0;
		font-size: 1.1rem;
		font-weight: 800;
		color: var(--cdg-primary);
	}

	.cdg-mobile-summary__btn {
		flex-shrink: 0;
		background: var(--cdg-primary);
		color: #fff;
		border: none;
		border-radius: var(--cdg-radius-sm);
		padding: 0.7rem 1rem;
		font-weight: 700;
	}

	.admin-bar .cdg-mobile-summary {
		bottom: 0;
	}

	body.woocommerce-cart,
	body.woocommerce-checkout {
		padding-bottom: 5.5rem;
	}
}
