/**
 * CheckoutWC — American Concealed atmosphere
 * Matches ecom-dashboard-design checkout (navy / gold / glass panels).
 */

@import url("https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&display=swap");

/* -------------------------------------------------------------------------- */
/* Page shell                                                                  */
/* -------------------------------------------------------------------------- */

html:has(body.checkout-wc),
html:has(body.cfw) {
	background: #171e2a !important;
}

body.checkout-wc,
body.cfw,
body.woocommerce-checkout {
	--ac-bg: #171e2a;
	--ac-fg: #f5f6f8;
	--ac-muted: #a8b2bc;
	--ac-muted-hover: #c5cdd6;
	--ac-gold: #dbb954;
	--ac-gold-hover: #e5c56a;
	--ac-gold-fg: #2a3040;
	--ac-blue: #5eb0e8;
	--ac-border: rgba(255, 255, 255, 0.09);
	--ac-glass-border: rgba(255, 255, 255, 0.08);
	--ac-card: #2a3544;
	--ac-input: transparent;
	--ac-input-focus: rgba(255, 255, 255, 0.04);
	--ac-bump-bg: rgba(42, 53, 68, 0.32);
	--ac-radius: 1rem;
	--ac-radius-sm: 0.75rem;

	background-color: var(--ac-bg) !important;
	background-image:
		radial-gradient(70% 55% at 62% 40%, rgba(45, 78, 120, 0.55) 0%, transparent 60%),
		radial-gradient(40% 40% at 18% 12%, rgba(219, 185, 84, 0.1) 0%, transparent 70%),
		radial-gradient(60% 60% at 88% 88%, rgba(94, 176, 232, 0.12) 0%, transparent 70%) !important;
	background-attachment: fixed !important;
	color: var(--ac-fg) !important;
	font-family: "DM Sans", Inter, system-ui, sans-serif !important;
	font-size: 1rem !important;
	line-height: 1.5 !important;
}

/* -------------------------------------------------------------------------- */
/* Layout — Bricks does not ship Bootstrap grid; CFW still outputs .row cols  */
/* -------------------------------------------------------------------------- */

#cfw.container,
#cfw.checkoutwc {
	box-sizing: border-box;
	max-width: 80rem !important;
	margin-inline: auto !important;
	padding: 2rem 1rem 3rem !important;
	width: 100% !important;
}

@media (min-width: 1024px) {
	#cfw.container,
	#cfw.checkoutwc {
		padding: 3rem 1.5rem 3rem !important;
	}
}

#cfw > .row:first-child {
	margin-bottom: 0 !important;
}

#cfw form.checkout.row,
#cfw form.woocommerce-checkout.checkout {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: flex-start !important;
	gap: 2rem !important;
	margin: 0 !important;
	width: 100% !important;
}

@media (min-width: 992px) {
	#cfw form.checkout.row,
	#cfw form.woocommerce-checkout.checkout {
		flex-wrap: nowrap !important;
		align-items: flex-start !important;
	}

	#cfw .hpc-checkout-left {
		flex: 1 1 auto !important;
		min-width: 0 !important;
		order: 0 !important;
	}

	#cfw #order_review,
	#cfw #order_review.col-lg-7 {
		flex: none !important;
		width: 100% !important;
		max-width: 100% !important;
		order: unset !important;
		float: none !important;
	}

	#cfw #cfw-cart-summary,
	#cfw #cfw-cart-summary.col-lg-5 {
		flex: 0 0 400px !important;
		width: 400px !important;
		max-width: 400px !important;
		order: 1 !important;
		float: none !important;
		position: sticky !important;
		top: 1.5rem !important;
		align-self: flex-start !important;
	}
}

@media (max-width: 991.98px) {
	#cfw form.checkout.row,
	#cfw form.woocommerce-checkout.checkout {
		flex-direction: column !important;
		gap: 1.25rem !important;
	}

	#cfw .hpc-checkout-left,
	#cfw #order_review,
	#cfw #cfw-cart-summary {
		flex: 1 1 auto !important;
		width: 100% !important;
		max-width: 100% !important;
		position: static !important;
	}
}

.hpc-checkout-left {
	display: flex;
	flex-direction: column;
	gap: 0;
	width: 100%;
}

.hpc-checkout-hero {
	margin-bottom: 0.25rem;
}

.hpc-checkout-hero__title {
	margin: 0 0 1rem !important;
	font-size: clamp(1.5rem, 2.4vw, 1.875rem) !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	letter-spacing: -0.02em !important;
	color: var(--ac-fg) !important;
}

.hpc-checkout-contact-lede {
	margin: 0.25rem 0 0 !important;
	font-size: 0.875rem !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
	color: var(--ac-muted) !important;
}

/* Map CheckoutWC design tokens to AC palette */
body.checkout-wc,
body.cfw,
#cfw {
	--cfw-body-background-color: transparent !important;
	--cfw-body-text-color: #f5f6f8 !important;
	--cfw-body-font-family: "DM Sans", Inter, system-ui, sans-serif !important;
	--cfw-heading-font-family: "DM Sans", Inter, system-ui, sans-serif !important;
	--cfw-body-link-color: #dbb954 !important;
	--cfw-header-background-color: rgba(20, 28, 40, 0.72) !important;
	--cfw-header-text-color: #f2f5f8 !important;
	--cfw-footer-background-color: transparent !important;
	--cfw-footer-text-color: #9aa8b8 !important;
	--cfw-cart-summary-background-color: transparent !important;
	--cfw-cart-summary-mobile-background-color: transparent !important;
	--cfw-cart-summary-text-color: #f5f6f8 !important;
	--cfw-cart-summary-link-color: #dbb954 !important;
	--cfw-buttons-primary-background-color: #dbb954 !important;
	--cfw-buttons-primary-text-color: #2a3040 !important;
	--cfw-buttons-primary-hover-background-color: #e5c56a !important;
	--cfw-buttons-primary-hover-text-color: #2a3040 !important;
	--cfw-buttons-secondary-background-color: rgba(255, 255, 255, 0.08) !important;
	--cfw-buttons-secondary-text-color: #f2f5f8 !important;
	--cfw-buttons-secondary-hover-background-color: rgba(255, 255, 255, 0.14) !important;
	--cfw-buttons-secondary-hover-text-color: #ffffff !important;
	--cfw-cart-summary-item-quantity-background-color: #dbb954 !important;
	--cfw-cart-summary-item-quantity-text-color: #2a3040 !important;
	--cfw-breadcrumb-completed-text-color: #dbb954 !important;
	--cfw-breadcrumb-current-text-color: #f5f6f8 !important;
	--cfw-breadcrumb-next-text-color: #a8b2bc !important;
	--cfw-breadcrumb-completed-accent-color: #dbb954 !important;
	--cfw-breadcrumb-current-accent-color: #dbb954 !important;
	--cfw-breadcrumb-next-accent-color: rgba(255, 255, 255, 0.18) !important;
}

#cfw {
	color: var(--ac-fg);
	font-family: "DM Sans", Inter, system-ui, sans-serif;
}

#cfw a {
	color: var(--ac-gold);
	transition: color 0.15s ease;
}

#cfw a:hover {
	color: var(--ac-gold-hover);
}

#cfw .cfw-panel,
#cfw #cfw-customer-info,
#cfw #cfw-shipping-method,
#cfw #cfw-billing-methods,
#cfw #cfw-payment-method,
#cfw .cfw-alert,
#cfw .woocommerce-info,
#cfw .woocommerce-message,
#cfw .woocommerce-error,
#cfw #cfw-cart-summary-content {
	border: 1px solid var(--ac-glass-border) !important;
	border-radius: var(--ac-radius) !important;
	background: linear-gradient(
		155deg,
		rgba(42, 56, 78, 0.75) 0%,
		rgba(24, 34, 48, 0.65) 100%
	) !important;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.06),
		0 18px 40px -20px rgba(0, 0, 0, 0.7) !important;
	color: var(--ac-fg) !important;
}

/* Left column wrapper stays transparent; glass only on the active form card */
#cfw #order_review,
#cfw #order_review.col-lg-7 {
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	padding: 0 !important;
	margin-top: 0.25rem !important;
}

#cfw #order_review #cfw-customer-info,
#cfw #order_review #cfw-shipping-method,
#cfw #order_review #cfw-billing-methods,
#cfw #order_review #cfw-payment-method {
	padding: 1.5rem !important;
}

@media (min-width: 640px) {
	#cfw #order_review #cfw-customer-info,
	#cfw #order_review #cfw-shipping-method,
	#cfw #order_review #cfw-billing-methods,
	#cfw #order_review #cfw-payment-method,
	#cfw #cfw-cart-summary-content {
		padding: 2rem !important;
	}
}

#cfw #order_review .cfw-panel:not(#cfw-customer-info):not(#cfw-shipping-method):not(#cfw-billing-methods):not(#cfw-payment-method) {
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	backdrop-filter: none !important;
	padding: 0 !important;
}

/* Customer info tab: one outer card; contact + billing modules stay flat inside */
#cfw #cfw-customer-info .cfw-module,
#cfw #cfw-customer-info #cfw-account-details,
#cfw #cfw-customer-info #cfw-customer-info-address,
#cfw #cfw-customer-info .cfw-customer-info-address-container,
#cfw #cfw-customer-info .woocommerce-billing-fields,
#cfw #cfw-customer-info .woocommerce-shipping-fields,
#cfw #cfw-shipping-method .cfw-module,
#cfw #cfw-shipping-method .cfw-customer-info-address-container,
#cfw #cfw-shipping-method .woocommerce-shipping-fields {
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	padding: 0 !important;
}

#cfw #cfw-customer-info #cfw-customer-info-address > h2,
#cfw #cfw-customer-info #cfw-customer-info-address > h3 {
	margin-top: 2rem !important;
	margin-bottom: 1rem !important;
	font-size: 1.125rem !important;
	font-weight: 700 !important;
}

#cfw #cfw-customer-info #cfw-account-details {
	margin-top: 1rem !important;
}

#cfw #cfw-customer-info .cfw-module {
	margin-bottom: 0 !important;
}

#cfw #cfw-customer-info .cfw-input-wrap-row {
	row-gap: 1rem !important;
}

#cfw #cfw-customer-info #cfw-customer-info-action,
#cfw #cfw-customer-info .cfw-bottom-controls {
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin-top: 2rem !important;
}

/* Order summary: one outer card; inner rows stay flat */
#cfw #cfw-cart-summary-content {
	padding: 1.5rem !important;
}

#cfw #cfw-cart-summary .cfw-glass-cart-wrap,
#cfw #cfw-cart-summary .cfw-totals-list,
#cfw #cfw-cart-summary-totals,
#cfw #cfw-cart-summary #cfw-cart-summary-totals,
#cfw #cfw-checkout-after-order-review,
#cfw #cfw-checkout-before-order-review,
#cfw #cfw-cart-summary .cfw-module,
#cfw #cfw-cart-summary .cfw-order-bumps {
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	padding: 0 !important;
}

#cfw #cfw-cart-summary .cfw-order-bumps .cfw-order-bump,
#cfw #cfw-cart-summary .cfw-order-bump.cfw-module {
	border: 1px solid var(--ac-border) !important;
	border-radius: 0.75rem !important;
	background: var(--ac-bump-bg) !important;
	box-shadow: none !important;
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	padding: 0.75rem !important;
	margin-top: 1.25rem !important;
	overflow: hidden;
}

#cfw #cfw-cart-summary .cfw-order-bump.cfw-order-bump-selected,
#cfw #cfw-cart-summary .cfw-order-bump:has(input:checked) {
	border-color: rgba(219, 185, 84, 0.5) !important;
	background: rgba(219, 185, 84, 0.08) !important;
	box-shadow:
		0 0 0 1px rgba(219, 185, 84, 0.25),
		0 0 24px -6px rgba(219, 185, 84, 0.35) !important;
}

/* Kill full-bleed summary column wash (glass/copify templates) */
#cfw #cfw-cart-summary:before {
	background: transparent !important;
	border-inline-start: 0 !important;
}

#cfw #cfw-cart-summary {
	border-inline-start: 0 !important;
	background: transparent !important;
	padding: 0 !important;
}

#cfw .cfw-panel-heading,
#cfw h2.cfw-panel-heading,
#cfw h3.cfw-panel-heading,
#cfw .cfw-billing-address-heading,
#cfw #cfw-customer-info-address > h2,
#cfw #cfw-customer-info-address > h3 {
	font-size: 1.125rem !important;
	font-weight: 700 !important;
	color: var(--ac-fg) !important;
	margin: 0 0 0 !important;
	text-transform: none !important;
	letter-spacing: -0.01em !important;
	line-height: 1.3 !important;
}

#cfw .cfw-billing-address-heading {
	margin-top: 2rem !important;
}

/* -------------------------------------------------------------------------- */
/* Header / footer                                                             */
/* -------------------------------------------------------------------------- */

#cfw header#cfw-header,
#cfw #cfw-logo-container,
#cfw #cfw-logo-container-mobile {
	border-bottom: 1px solid var(--ac-border);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

#cfw #cfw-footer {
	display: none !important;
}

/* -------------------------------------------------------------------------- */
/* Typography                                                                  */
/* -------------------------------------------------------------------------- */

#cfw h1,
#cfw h2,
#cfw h3,
#cfw h4,
#cfw h5,
#cfw h6,
#cfw .cfw-module-title,
#cfw .cfw-heading,
#cfw label,
#cfw .cfw-input-wrap label,
#cfw .cfw-radio-row label,
#cfw .cfw-checkbox-row label,
#cfw .cfw-cart-summary-item-title,
#cfw .cfw-cart-item-subtotal,
#cfw .cfw-cart-item-subtotal .amount,
#cfw .cfw-cart-item-subtotal .woocommerce-Price-amount,
#cfw .cfw-product-title {
	color: var(--ac-fg) !important;
}

#cfw .cfw-secondary-text,
#cfw .cfw-small,
#cfw .cfw-light-gray,
#cfw .cfw-cart-summary-item-data,
#cfw .cfw-order-bump-body,
#cfw .cfw-quantity-stepper-value-label,
#cfw .cfw-breadcrumb li a {
	color: var(--ac-muted) !important;
}

/* Contact / address review strip (Payment step) — CFW hardcodes #333 / #737373 */
#cfw .cfw-review-pane {
	border-color: var(--ac-border) !important;
	background: transparent !important;
}

#cfw .cfw-review-pane li:not(:first-child) > div {
	border-top-color: var(--ac-border) !important;
}

#cfw .cfw-review-pane li .cfw-review-pane-label {
	color: var(--ac-muted) !important;
}

#cfw .cfw-review-pane li .cfw-review-pane-content,
#cfw .cfw-review-pane li .cfw-review-pane-content a,
#cfw .cfw-review-pane li .cfw-review-pane-right,
#cfw .cfw-review-pane li.cfw-order-review-total-label .cfw-review-pane-label,
#cfw .cfw-review-pane li.cfw-order-review-total-label .cfw-review-pane-content,
#cfw #cfw-review-order-totals li:last-child .cfw-review-pane-label,
#cfw #cfw-review-order-totals li:last-child .cfw-review-pane-content {
	color: var(--ac-fg) !important;
}

#cfw .cfw-review-pane li .cfw-review-pane-link a {
	color: var(--ac-muted) !important;
}

#cfw .cfw-review-pane li .cfw-review-pane-link a:hover {
	color: var(--ac-muted-hover) !important;
}

#cfw #cfw-billing-methods .cfw-payment-method-information,
#cfw #cfw-billing-methods .cfw-payment-method-description,
#cfw #cfw-billing-methods p {
	color: var(--ac-muted) !important;
}

#cfw.cfw-label-style-normal .cfw-input-wrap label,
#cfw.cfw-label-style-normal .form-row > label,
#cfw.cfw-label-style-normal label.cfw-floatable-label,
#cfw .cfw-input-wrap label,
#cfw .form-row > label,
#cfw label.cfw-floatable-label {
	position: static !important;
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
	clip-path: none !important;
	transform: none !important;
	pointer-events: auto !important;
	font-size: 0.75rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.025em !important;
	text-transform: uppercase !important;
	color: var(--ac-muted) !important;
	margin: 0 0 0.375rem !important;
	padding: 0 !important;
	height: auto !important;
	line-height: 1.4 !important;
}

#cfw.cfw-label-style-normal .cfw-input-wrap,
#cfw.cfw-label-style-normal .form-row {
	margin-bottom: 1rem !important;
}

#cfw .cfw-add-field,
#cfw a.cfw-add-field {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.375rem !important;
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	color: var(--ac-gold) !important;
	text-decoration: none !important;
	margin-bottom: 0.5rem !important;
}

#cfw .cfw-add-field svg {
	width: 0.875rem !important;
	height: 0.875rem !important;
	stroke: currentColor !important;
}

#cfw .cfw-add-field:hover {
	text-decoration: underline !important;
}

#cfw .cfw-module-title,
#cfw h3 {
	font-weight: 700 !important;
	letter-spacing: -0.01em;
}

/* Breadcrumb current step */
#cfw .cfw-breadcrumb .cfw-breadcrumb-current,
#cfw .cfw-breadcrumb li.cfw-breadcrumb-current a,
#cfw .cfw-breadcrumb li.cfw-breadcrumb-current span {
	color: var(--ac-fg) !important;
	font-weight: 600 !important;
}

#cfw .cfw-breadcrumb .cfw-breadcrumb-completed a,
#cfw .cfw-breadcrumb li.cfw-breadcrumb-completed a {
	color: var(--ac-gold) !important;
}

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

#cfw .cfw-input-wrap input,
#cfw .cfw-input-wrap select,
#cfw .cfw-input-wrap textarea,
#cfw input[type="text"],
#cfw input[type="email"],
#cfw input[type="tel"],
#cfw input[type="password"],
#cfw input[type="number"],
#cfw input[type="search"],
#cfw select,
#cfw textarea,
#cfw .select2-container--default .select2-selection--single,
#cfw .select2-container--default .select2-selection--multiple,
#cfw.checkoutwc .form-row input[type="text"],
#cfw.checkoutwc .form-row input[type="email"],
#cfw.checkoutwc .form-row input[type="tel"],
#cfw.checkoutwc .form-row select,
#cfw.checkoutwc .form-row textarea {
	background: var(--ac-input) !important;
	border: 1px solid var(--ac-border) !important;
	border-radius: var(--ac-radius-sm) !important;
	color: var(--ac-fg) !important;
	min-height: 2.75rem;
	box-shadow: none !important;
	font-size: 1rem !important;
	appearance: none !important;
}

#cfw .cfw-input-wrap input::placeholder,
#cfw input::placeholder,
#cfw textarea::placeholder {
	color: var(--ac-muted) !important;
	opacity: 0.85;
}

#cfw .cfw-input-wrap input:focus,
#cfw .cfw-input-wrap select:focus,
#cfw .cfw-input-wrap textarea:focus,
#cfw input:focus,
#cfw select:focus,
#cfw textarea:focus,
#cfw .select2-container--default.select2-container--focus .select2-selection--single {
	background: var(--ac-input-focus) !important;
	border-color: var(--ac-gold) !important;
	box-shadow: 0 0 0 3px rgba(219, 185, 84, 0.22) !important;
	outline: none !important;
}

#cfw .select2-dropdown {
	background: var(--ac-card) !important;
	border: 1px solid var(--ac-border) !important;
	color: var(--ac-fg) !important;
}

#cfw .select2-container--default .select2-results__option--highlighted[aria-selected],
#cfw .select2-container--default .select2-results__option--highlighted[data-selected] {
	background: rgba(212, 176, 74, 0.18) !important;
	color: var(--ac-fg) !important;
}

/* -------------------------------------------------------------------------- */
/* Buttons                                                                     */
/* -------------------------------------------------------------------------- */

#cfw #place_order,
#cfw .cfw-primary-btn,
#cfw button.cfw-primary-btn,
#cfw a.cfw-primary-btn,
#cfw .cfw-continue-btn,
#cfw button[name="woocommerce_checkout_place_order"],
#cfw .checkout-button,
body.woocommerce-checkout #place_order,
#cfw #cfw-customer-info-action .cfw-primary-btn,
#cfw .cfw-bottom-controls .cfw-primary-btn {
	background: var(--ac-gold) !important;
	border: 0 !important;
	border-radius: var(--ac-radius-sm) !important;
	color: var(--ac-gold-fg) !important;
	font-weight: 700 !important;
	font-size: 1rem !important;
	min-height: 3rem;
	height: 3rem;
	width: auto !important;
	max-width: none !important;
	padding-inline: 2rem !important;
	box-shadow:
		0 0 0 1px rgba(219, 185, 84, 0.25),
		0 0 24px -6px rgba(219, 185, 84, 0.35) !important;
	transition: background 0.15s ease;
}

#cfw #cfw-cart-summary #place_order,
#cfw #cfw-cart-summary .cfw-primary-btn.cfw-side-cart-checkout-btn,
#cfw #cfw-cart-summary-content > .cfw-primary-btn,
#cfw #cfw-cart-summary .checkout-button {
	width: 100% !important;
	margin-top: 1.25rem !important;
}

#cfw #place_order:hover,
#cfw .cfw-primary-btn:hover,
#cfw button.cfw-primary-btn:hover,
#cfw a.cfw-primary-btn:hover,
#cfw .cfw-continue-btn:hover,
body.woocommerce-checkout #place_order:hover {
	background: var(--ac-gold-hover) !important;
	color: var(--ac-gold-fg) !important;
}

#cfw .cfw-secondary-btn,
#cfw button.cfw-secondary-btn {
	background: rgba(255, 255, 255, 0.06) !important;
	border: 1px solid var(--ac-border) !important;
	border-radius: var(--ac-radius-sm) !important;
	color: var(--ac-fg) !important;
}

#cfw a.cfw-prev-tab,
#cfw a.cfw-return-to-information-btn,
#cfw .cfw-return-to-cart-link,
#cfw .cfw-bottom-controls a.cfw-prev-tab {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: var(--ac-gold) !important;
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	min-height: auto !important;
	padding: 0 !important;
	width: auto !important;
	text-decoration: none !important;
}

#cfw .cfw-bottom-controls {
	align-items: center !important;
	gap: 0.75rem !important;
	margin-top: 2rem !important;
	padding-top: 0 !important;
}

#cfw .cfw-bottom-controls > div {
	min-width: 0 !important;
}

/* -------------------------------------------------------------------------- */
/* Cart summary / order bump                                                   */
/* -------------------------------------------------------------------------- */

#cfw .cfw-cart-item-title,
#cfw .cfw-cart-summary-item-title,
#cfw .cfw-product-title {
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	color: var(--ac-fg) !important;
}

#cfw .cfw-cart-item-data,
#cfw .cfw-cart-summary-item-data {
	font-size: 0.75rem !important;
	line-height: 1.4 !important;
	color: var(--ac-muted) !important;
	margin-top: 0.125rem !important;
}

#cfw .cart-item-row,
#cfw .cfw-cart-summary-item {
	padding-block: 0 !important;
}

#cfw #cfw-cart .cart-item-row + .cart-item-row,
#cfw .cfw-cart-summary-item + .cfw-cart-summary-item {
	margin-top: 1rem !important;
}

#cfw .cfw-cart-item-subtotal,
#cfw .cfw-cart-item-subtotal .amount,
#cfw .cfw-cart-item-subtotal .woocommerce-Price-amount {
	font-size: 0.875rem !important;
	font-weight: 700 !important;
	color: var(--ac-fg) !important;
}

#cfw .cfw-cart-summary-item,
#cfw .cart-item-row {
	border-color: var(--ac-border) !important;
}

#cfw .cfw-quantity-stepper,
#cfw .cfw-edit-item-quantity-control-wrap .cfw-quantity-stepper {
	background: rgba(42, 53, 68, 0.6) !important;
	border: 1px solid var(--ac-border) !important;
	border-radius: 999px !important;
	color: var(--ac-fg) !important;
	padding: 0.125rem !important;
}

#cfw .cfw-quantity-stepper-value-label {
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	color: var(--ac-fg) !important;
}

#cfw .cfw-quantity-stepper svg {
	fill: var(--ac-muted) !important;
	width: 0.875rem !important;
	height: 0.875rem !important;
}

#cfw .cfw-quantity-stepper button:hover svg {
	fill: var(--ac-fg) !important;
}

#cfw .cfw-order-bump:not(.cfw-module) {
	margin-top: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	border: 0 !important;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

#cfw #cfw-cart-summary .cfw-order-bump-header,
#cfw #cfw-cart-summary .cfw-order-bump .cfw-order-bump-header {
	border-bottom: 0 !important;
	padding: 0 !important;
	margin: 0 0 0.5rem !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	color: var(--ac-fg) !important;
}

#cfw #cfw-cart-summary .cfw-order-bump-header label {
	display: flex !important;
	align-items: flex-start !important;
	gap: 0.5rem !important;
	margin: 0 !important;
	cursor: pointer !important;
}

#cfw #cfw-cart-summary .cfw-order-bump-header input[type="checkbox"].cfw_order_bump_check {
	appearance: none !important;
	-webkit-appearance: none !important;
	flex: 0 0 1.25rem !important;
	width: 1.25rem !important;
	height: 1.25rem !important;
	min-height: 1.25rem !important;
	margin: 0.0625rem 0 0 !important;
	padding: 0 !important;
	border: 1px solid rgba(168, 178, 188, 0.45) !important;
	border-radius: 0.25rem !important;
	background: transparent !important;
	box-shadow: none !important;
	cursor: pointer !important;
	transition: background 0.15s ease, border-color 0.15s ease;
}

#cfw #cfw-cart-summary .cfw-order-bump-header input[type="checkbox"].cfw_order_bump_check:checked {
	background-color: var(--ac-gold) !important;
	border-color: var(--ac-gold) !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3.5 8.5 6.5 11.5 12.5 4.5' stroke='%232a3040' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: 0.875rem !important;
}

#cfw #cfw-cart-summary .cfw-order-bump-header input[type="checkbox"].cfw_order_bump_check:focus-visible {
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(219, 185, 84, 0.22) !important;
}

#cfw #cfw-cart-summary .cfw-order-bump-body {
	padding: 0 !important;
	font-size: 0.75rem !important;
	line-height: 1.4 !important;
	color: var(--ac-muted) !important;
}

#cfw #cfw-cart-summary .cfw-order-bump-body .row {
	margin: 0 !important;
	align-items: flex-start !important;
	flex-direction: column !important;
}

#cfw #cfw-cart-summary .cfw-order-bump-image {
	display: none !important;
}

#cfw #cfw-cart-summary .cfw-order-bump-content {
	padding-left: 1.75rem !important;
	width: 100% !important;
	max-width: 100% !important;
	flex: 1 1 auto !important;
}

#cfw #cfw-cart-summary .cfw-order-bump-total,
#cfw #cfw-cart-summary .cfw-order-bump-total .amount,
#cfw #cfw-cart-summary .cfw-order-bump-total .woocommerce-Price-amount,
#cfw #cfw-cart-summary .cfw-order-bump .cfw-order-bump-total .amount {
	color: var(--ac-gold) !important;
	font-size: 0.875rem !important;
	font-weight: 700 !important;
	margin-top: 0.375rem !important;
}

#cfw #cfw-coupons,
#cfw #cfw-cart-summary-coupons,
#cfw .cfw-show-coupons-module {
	margin-top: 1.25rem !important;
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

/* Divider between promo link and subtotal */
#cfw #cfw-cart-summary #cfw-cart-summary-totals {
	border-top: 1px solid var(--ac-border) !important;
	padding-top: 1.25rem !important;
	margin-top: 1.25rem !important;
	background: transparent !important;
	box-shadow: none !important;
}

#cfw #cfw-cart-summary #cfw-totals-list,
#cfw #cfw-cart-summary #cfw-totals-list.cfw-module,
#cfw #cfw-cart-summary #cfw-totals-list table,
#cfw #cfw-cart-summary #cfw-totals-list table.cfw-module {
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

#cfw .cfw-totals-list table {
	padding-top: 0 !important;
	border: 0 !important;
}

#cfw .cfw-totals-list table tr {
	padding: 0.375rem 0 !important;
	border: 0 !important;
}

#cfw .cfw-totals-list table tr th,
#cfw .cfw-totals-list table tr td {
	border: 0 !important;
	box-shadow: none !important;
}

#cfw .cfw-totals-list,
#cfw .cfw-totals-list .cfw-flex-row {
	font-size: 0.875rem !important;
}

#cfw .cfw-totals-list tr.cart-subtotal:not(.order-total) th,
#cfw .cfw-totals-list tr.cart-subtotal:not(.order-total) ~ tr.cart-subtotal:not(.order-total) th,
#cfw .cfw-totals-list .cfw-totals-list-label {
	color: var(--ac-muted) !important;
	font-weight: 400 !important;
}

#cfw .cfw-totals-list tr.cart-subtotal:not(.order-total):first-of-type td,
#cfw .cfw-totals-list tr.cart-subtotal:not(.order-total):first-of-type td .amount,
#cfw .cfw-totals-list tr.cart-subtotal:not(.order-total):first-of-type .woocommerce-Price-amount {
	color: var(--ac-fg) !important;
	font-weight: 400 !important;
}

#cfw .cfw-totals-list tr.cart-subtotal:not(.order-total) ~ tr.cart-subtotal:not(.order-total) td,
#cfw .cfw-totals-list tr.cart-subtotal:not(.order-total) ~ tr.cart-subtotal:not(.order-total) td .amount,
#cfw .cfw-totals-list tr.cart-subtotal:not(.order-total) ~ tr.cart-subtotal:not(.order-total) .woocommerce-Price-amount,
#cfw .cfw-totals-list tr.tax-total td,
#cfw .cfw-totals-list tr.tax-total td .amount,
#cfw .cfw-totals-list tr.fee td,
#cfw .cfw-totals-list tr.fee td .amount {
	color: var(--ac-muted) !important;
	font-weight: 400 !important;
}

#cfw .cfw-totals-list tr.order-total,
#cfw .cfw-totals-list table tr.order-total,
#cfw .cfw-totals-list table tr.recurring-totals {
	position: relative !important;
	border: 0 !important;
	border-top: 0 !important;
	margin-top: 0.75rem !important;
	padding: 1rem 0 0 !important;
	align-items: flex-end !important;
}

#cfw .cfw-totals-list tr.order-total::before,
#cfw .cfw-totals-list table tr.order-total::before,
#cfw .cfw-totals-list table tr.recurring-totals::before {
	content: "" !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	height: 1px !important;
	background: var(--ac-border) !important;
}

#cfw .cfw-totals-list tr.order-total th,
#cfw .cfw-totals-list tr.order-total td,
#cfw .cfw-totals-list table tr.order-total th,
#cfw .cfw-totals-list table tr.order-total td {
	border: 0 !important;
	padding-top: 0 !important;
	margin-top: 0 !important;
	color: var(--ac-fg) !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
}

#cfw .cfw-totals-list tr.order-total .amount,
#cfw #cfw-cart-summary .order-total .amount,
#cfw #cfw-cart-summary .cfw-cart-total .amount {
	color: var(--ac-fg) !important;
	font-size: 1.5rem !important;
	font-weight: 700 !important;
	font-variant-numeric: tabular-nums;
	text-shadow: 0 0 18px rgba(219, 185, 84, 0.45);
}

#cfw #cfw-coupons label,
#cfw #cfw-cart-summary-coupons label,
#cfw .cfw-coupon-wrap a,
#cfw .woocommerce-form-coupon-toggle a,
#cfw .cfw-show-coupons-module a {
	color: var(--ac-gold) !important;
	font-size: 0.875rem !important;
	font-weight: 500 !important;
}

#cfw #cfw-coupons label:hover,
#cfw .cfw-coupon-wrap a:hover {
	text-decoration: underline;
}

/* Payment icons / radio rows
 * Gateways + CFW often force a white picker; our global #cfw label { --ac-fg }
 * made titles white-on-white. Keep the light picker + dark labels readable. */
#cfw #cfw-billing-methods .wc_payment_methods,
#cfw #cfw-billing-methods ul.wc_payment_methods,
#cfw #cfw-billing-methods ul.payment_methods,
#cfw #cfw-billing-methods .cfw-radio-reveal-group,
#cfw #cfw-payment-method .wc_payment_methods,
#cfw #payment ul.payment_methods {
	background: #ffffff !important;
	border: 1px solid rgba(255, 255, 255, 0.14) !important;
	border-radius: var(--ac-radius-sm) !important;
	color: #1c2433 !important;
	overflow: hidden;
}

#cfw #cfw-billing-methods .wc_payment_method,
#cfw #cfw-billing-methods li.wc_payment_method,
#cfw #cfw-billing-methods .cfw-radio-reveal-li,
#cfw #cfw-billing-methods .cfw-radio-reveal-title-wrap,
#cfw #cfw-billing-methods .cfw-payment-method-radio {
	background: #ffffff !important;
	border-color: #e5e7eb !important;
	box-shadow: none !important;
	color: #1c2433 !important;
}

#cfw #cfw-billing-methods .cfw-radio-reveal-li.cfw-active .cfw-radio-reveal-title-wrap,
#cfw #cfw-billing-methods .wc_payment_method.cfw-active,
#cfw #cfw-billing-methods li.wc_payment_method.active,
#cfw #cfw-billing-methods li.wc_payment_method.payment_method_active {
	background: #f4f6f8 !important;
	border-color: #d1d5db !important;
}

#cfw #cfw-billing-methods .wc_payment_methods label,
#cfw #cfw-billing-methods .wc_payment_method > label,
#cfw #cfw-billing-methods .wc_payment_method label,
#cfw #cfw-billing-methods label.cfw-radio-reveal-label,
#cfw #cfw-billing-methods .cfw-radio-reveal-title,
#cfw #cfw-billing-methods .cfw-radio-reveal-title-wrap label,
#cfw #cfw-billing-methods .cfw-radio-reveal-title-wrap span,
#cfw #cfw-billing-methods .cfw-payment-method-title,
#cfw #cfw-billing-methods .payment_method_title,
#cfw #cfw-billing-methods label[for*="payment_method"],
#cfw #payment .wc_payment_methods label,
#cfw #payment .payment_methods label {
	color: #1c2433 !important;
	opacity: 1 !important;
	visibility: visible !important;
	text-transform: none !important;
	font-size: 0.9375rem !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	margin: 0 !important;
}

#cfw .payment_box,
#cfw #cfw-billing-methods .payment_box,
#cfw #cfw-billing-methods .cfw-radio-reveal-content {
	border: 1px solid var(--ac-border) !important;
	border-radius: var(--ac-radius-sm) !important;
	background: rgba(20, 28, 40, 0.4) !important;
	color: var(--ac-fg) !important;
}

#cfw #cfw-billing-methods .payment_box p,
#cfw #cfw-billing-methods .payment_box label,
#cfw #cfw-billing-methods .cfw-radio-reveal-content,
#cfw #cfw-billing-methods .cfw-radio-reveal-content p,
#cfw #cfw-billing-methods .cfw-radio-reveal-content label,
#cfw #cfw-billing-methods .cfw-payment-method-information,
#cfw #cfw-billing-methods .cfw-payment-method-description {
	color: var(--ac-muted) !important;
}

#cfw ul.payment_methods {
	border-color: var(--ac-border) !important;
}

/* -------------------------------------------------------------------------- */
/* Classic WooCommerce checkout fallback                                       */
/* -------------------------------------------------------------------------- */

body.woocommerce-checkout:not(.checkout-wc) .woocommerce,
body.woocommerce-checkout:not(.cfw) form.checkout {
	max-width: 72rem;
	margin-inline: auto;
	padding: 1.5rem 1rem 3rem;
}

body.woocommerce-checkout:not(.checkout-wc) .woocommerce-billing-fields,
body.woocommerce-checkout:not(.checkout-wc) .woocommerce-shipping-fields,
body.woocommerce-checkout:not(.checkout-wc) #order_review {
	border: 1px solid var(--ac-border);
	border-radius: var(--ac-radius);
	background: linear-gradient(
		155deg,
		rgba(42, 56, 78, 0.75) 0%,
		rgba(24, 34, 48, 0.65) 100%
	);
	backdrop-filter: blur(12px);
	padding: 1.5rem;
	color: var(--ac-fg);
}

body.woocommerce-checkout:not(.checkout-wc) input.input-text,
body.woocommerce-checkout:not(.checkout-wc) select,
body.woocommerce-checkout:not(.checkout-wc) textarea {
	background: var(--ac-input) !important;
	border: 1px solid var(--ac-border) !important;
	border-radius: var(--ac-radius-sm) !important;
	color: var(--ac-fg) !important;
	min-height: 2.75rem;
}

body.woocommerce-checkout:not(.checkout-wc) label,
body.woocommerce-checkout:not(.checkout-wc) h3 {
	color: var(--ac-fg) !important;
}


/* -------------------------------------------------------------------------- */
/* Breadcrumb stepper — style native CFW circles (Groove/Glass/etc.), no dupes */
/* -------------------------------------------------------------------------- */

#cfw #cfw-breadcrumb {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.375rem 0.375rem;
	margin: 0 0 2rem !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	list-style: none !important;
	justify-content: flex-start !important;
}

#cfw #cfw-breadcrumb li {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

/* Groove/Glass add extra numbers on the link — hide them; circles live on li::before */
#cfw #cfw-breadcrumb li a::before,
#cfw #cfw-breadcrumb li a::after {
	content: none !important;
	display: none !important;
}

#cfw #cfw-breadcrumb li::after {
	content: "›" !important;
	background: none !important;
	-webkit-mask-image: none !important;
	mask-image: none !important;
	margin-inline: 0.15rem;
	padding: 0 !important;
	width: auto !important;
	height: auto !important;
	color: rgba(255, 255, 255, 0.25);
	font-size: 0.875rem;
}

#cfw #cfw-breadcrumb li:last-child::after {
	content: none !important;
}

#cfw #cfw-breadcrumb li a {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	text-decoration: none !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	color: var(--ac-muted) !important;
}

/* Step circle (Groove template uses li::before; reinforce for all templates) */
#cfw #cfw-breadcrumb li::before {
	flex-shrink: 0;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 1.5rem !important;
	height: 1.5rem !important;
	border-radius: 999px !important;
	font-size: 0.75rem !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	background: rgba(42, 53, 68, 0.85) !important;
	border: 0 !important;
	color: var(--ac-muted) !important;
}

#cfw #cfw-breadcrumb li.active a,
#cfw #cfw-breadcrumb li.cfw-breadcrumb-current a {
	color: var(--ac-fg) !important;
}

#cfw #cfw-breadcrumb li.active::before,
#cfw #cfw-breadcrumb li.cfw-breadcrumb-current::before {
	background: var(--ac-gold) !important;
	color: var(--ac-gold-fg) !important;
	box-shadow:
		0 0 0 1px rgba(219, 185, 84, 0.25),
		0 0 24px -6px rgba(219, 185, 84, 0.35);
}

#cfw #cfw-breadcrumb li:not(.active):has(~ li.active)::before,
#cfw #cfw-breadcrumb li.cfw-breadcrumb-completed::before,
#cfw #cfw-breadcrumb li.cart:has(~ li.active)::before {
	content: "✓" !important;
	background: rgba(219, 185, 84, 0.2) !important;
	color: var(--ac-gold) !important;
	box-shadow: none !important;
}

#cfw #cfw-breadcrumb li.cart a,
#cfw #cfw-breadcrumb li.cart:has(~ li.active) a {
	pointer-events: none !important;
	cursor: default !important;
	text-decoration: none !important;
}

#cfw #cfw-breadcrumb li:not(.active):has(~ li.active) a,
#cfw #cfw-breadcrumb li.cfw-breadcrumb-completed a,
#cfw #cfw-breadcrumb li.cart:has(~ li.active) a {
	color: var(--ac-gold) !important;
}

#cfw #cfw-breadcrumb li.active ~ li a,
#cfw #cfw-breadcrumb li.cfw-breadcrumb-next a {
	color: var(--ac-muted) !important;
}

#cfw #cfw-breadcrumb li.active ~ li::before,
#cfw #cfw-breadcrumb li.cfw-breadcrumb-next::before {
	background: rgba(42, 53, 68, 0.85) !important;
	color: var(--ac-muted) !important;
	box-shadow: none !important;
}

#cfw #cfw-cart-summary-content > h3,
#cfw #cfw-cart-summary-content > .cfw-cart-summary-header,
#cfw .cfw-cart-summary-title {
	font-size: 0.75rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	color: var(--ac-muted) !important;
	margin: 0 0 1rem !important;
}

#cfw #cfw-cart .cart-item-row:first-child,
#cfw .cfw-cart-summary-item:first-child {
	margin-top: 0 !important;
}

#cfw .cfw-panel-subheading,
#cfw .cfw-customer-info-caption {
	color: var(--ac-muted) !important;
	font-size: 0.875rem !important;
	margin-bottom: 1rem !important;
}

#cfw a.cfw-return-to-information-btn:hover,
#cfw a.cfw-prev-tab:hover,
#cfw .cfw-return-to-cart-link:hover {
	text-decoration: underline !important;
}

/* Trust badges injected by HPC */
#cfw .hpc-checkout-trust {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 1.5rem;
	margin: 1.5rem 0 0;
	padding: 0;
	list-style: none;
}

#cfw .hpc-checkout-trust li {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	font-size: 0.75rem;
	font-weight: 400;
	color: var(--ac-muted);
}

#cfw .cfw-secure-checkout,
#cfw .cfw-trust-badges,
#cfw .cfw-below-cart-summary {
	color: var(--ac-muted) !important;
	font-size: 0.75rem !important;
	font-weight: 400 !important;
	margin-top: 0.75rem !important;
	text-align: center !important;
}

#cfw .hpc-checkout-trust li::before {
	content: "";
	width: 0.375rem;
	height: 0.375rem;
	border-radius: 999px;
	background: var(--ac-gold);
	flex-shrink: 0;
}

@media (max-width: 991.98px) {
	#cfw #cfw-cart-summary-content {
		margin-bottom: 1rem !important;
	}

	#cfw .hpc-checkout-trust {
		margin: 0.75rem 0rem !important;
		justify-content: center !important;
	}

	#cfw #cfw-breadcrumb {
		margin-bottom: 0.5rem !important;
		justify-content: center !important;
	}

	#cfw #cfw-breadcrumb li {
		gap: 0.05rem !important;
	}

	body.woocommerce-checkout:not(.checkout-wc) .woocommerce,
	body.woocommerce-checkout:not(.cfw) form.checkout {
		padding: unset;
	}

	.hpc-checkout-hero__title {
		text-align: center !important;
	}

	main.checkoutwc .cfw-module {
		background-color: transparent !important;
	}

	.cfw-order-bumps .cfw-order-bump .cfw-order-bump-total {
		color: var(--primary) !important;
	}
}

/* -------------------------------------------------------------------------- */
/* Thank you / order-received (Bricks or CFW)                                  */
/* -------------------------------------------------------------------------- */

body.woocommerce-order-received,
body.woocommerce-checkout.woocommerce-order-received,
body.hpc-checkout-ac.woocommerce-order-received {
	--ac-bg: #171e2a;
	--ac-fg: #f5f6f8;
	--ac-muted: #a8b2bc;
	--ac-gold: #dbb954;
	color: var(--ac-fg) !important;
}

body.woocommerce-order-received h1,
body.woocommerce-order-received h2,
body.woocommerce-order-received h3,
body.woocommerce-order-received h4,
body.woocommerce-order-received h5,
body.woocommerce-order-received h6,
body.woocommerce-order-received .brxe-heading,
body.woocommerce-order-received .brxe-text,
body.woocommerce-order-received .brxe-text-basic,
body.woocommerce-order-received .brxe-post-title,
body.woocommerce-order-received .woocommerce-thankyou-order-received,
body.woocommerce-order-received .woocommerce-order-overview,
body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received p,
body.woocommerce-order-received li,
body.woocommerce-order-received span:not(.woocommerce-Price-currencySymbol) {
	color: var(--ac-fg) !important;
}

body.woocommerce-order-received a {
	color: var(--ac-gold) !important;
}

body.woocommerce-order-received a:hover {
	color: var(--ac-gold-hover, #e5c56a) !important;
}

