/* ==========================================================================
   1.8.451 — Checkout polish: labels ABOVE fields (flex column-reverse),
   hide empty cards, unify order-summary padding / promo row.
   Woo Blocks DOM = <input> then <label>; column-reverse puts label on top.
   ========================================================================== */

/* ---- 1) Labels above fields — no overlap empty/filled/focused ---- */
.checkout-page .wc-block-components-text-input,
.checkout-page .wc-block-components-combobox,
.checkout-page .wc-block-components-textarea,
.checkout-page .wc-blocks-components-select,
.checkout-page .wc-block-components-select {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	position: relative !important;
	margin: 0 0 1rem !important;
	padding-top: 0 !important;
	gap: 0.35rem !important;
}

.checkout-page .wc-block-components-text-input label,
.checkout-page .wc-block-components-combobox label,
.checkout-page .wc-block-components-textarea label,
.checkout-page .wc-blocks-components-select label,
.checkout-page .wc-block-components-select label,
.checkout-page .wc-block-components-combobox .wc-block-components-combobox-control label {
	position: static !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	transform: none !important;
	translate: none !important;
	inset: auto !important;
	display: block !important;
	order: -1 !important; /* paint above the input (Woo DOM is input then label) */
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	pointer-events: auto !important;
	line-height: 1.25 !important;
	font-family: "Montserrat", var(--font-body, system-ui, sans-serif) !important;
	font-weight: 600 !important;
	font-size: 0.78rem !important;
	letter-spacing: 0.05em !important;
	text-transform: uppercase !important;
	color: #0f143a !important;
	background: transparent !important;
	white-space: normal !important;
	overflow: visible !important;
	text-overflow: unset !important;
	z-index: auto !important;
	transition: none !important;
}

/* Same when Woo toggles is-active — never re-float */
.checkout-page .wc-block-components-text-input.is-active label,
.checkout-page .wc-block-components-text-input:focus-within label,
.checkout-page .wc-block-components-combobox.is-active label,
.checkout-page .wc-block-components-combobox:focus-within label,
.checkout-page .wc-block-components-textarea.is-active label,
.checkout-page .wc-block-components-textarea:focus-within label,
.checkout-page .wc-blocks-components-select.is-active label,
.checkout-page .wc-blocks-components-select:focus-within label {
	position: static !important;
	top: auto !important;
	transform: none !important;
	font-size: 0.78rem !important;
	color: #0f143a !important;
}

.checkout-page .wc-block-components-text-input input,
.checkout-page .wc-block-components-text-input .wc-block-components-text-input__input,
.checkout-page .wc-block-components-combobox input,
.checkout-page .wc-block-components-combobox .wc-block-components-combobox-control input,
.checkout-page .wc-blocks-components-select .wc-blocks-components-select__select,
.checkout-page .wc-block-components-select select,
.checkout-page select {
	padding: 0.75rem 0.9rem !important;
	min-height: 48px !important;
	font-family: var(--font-body, "Montserrat", system-ui, sans-serif) !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	color: #0f143a !important;
	order: 0 !important;
}

.checkout-page .wc-block-components-textarea textarea {
	padding: 0.75rem 0.9rem !important;
	min-height: 100px !important;
	font-size: 16px !important;
	order: 0 !important;
}

/* Combobox: reverse the outer wrap; inner control keeps input only */
.checkout-page .wc-block-components-combobox .wc-block-components-combobox-control {
	display: block !important;
	position: relative !important;
}

/* ---- 2) Hide empty step / express wrappers ---- */
.checkout-page .wp-block-woocommerce-checkout-express-payment-block:not(:has(iframe)):not(:has(button)):not(:has(.wc-block-components-express-payment__event-buttons *)),
.checkout-page .wc-block-components-express-payment:not(:has(iframe)):not(:has(button)),
.checkout-page .wp-block-woocommerce-checkout-shipping-method-block:not(:has(.wc-block-components-radio-control)):not(:has(input)),
.checkout-page .wp-block-woocommerce-checkout-pickup-options-block:not(:has(.wc-block-components-radio-control)):not(:has(input)),
.checkout-page .wp-block-woocommerce-checkout-shipping-methods-block:not(:has(.wc-block-components-radio-control)):not(:has(input)),
.checkout-page .wp-block-woocommerce-checkout-shipping-address-block:not(:has(input)):not(:has(select)),
.checkout-page .wp-block-woocommerce-checkout-additional-information-block:not(:has(input)):not(:has(textarea)):not(:has(select)),
.checkout-page .wc-block-checkout__form > div:not([class]):empty {
	display: none !important;
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
	overflow: hidden !important;
	background: transparent !important;
}

.checkout-page .wp-block-woocommerce-checkout-shipping-method-block,
.checkout-page .wp-block-woocommerce-checkout-pickup-options-block,
.checkout-page .wp-block-woocommerce-checkout-shipping-address-block,
.checkout-page .wp-block-woocommerce-checkout-express-payment-block:not(:has(button)):not(:has(iframe)) {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

/* ---- 3) Order summary: one 24px gutter; promo full-width mist row ---- */
.checkout-page .wp-block-woocommerce-checkout-order-summary-block,
.checkout-page .wp-block-woocommerce-checkout-totals-block,
.checkout-page .wc-block-components-sidebar.wc-block-checkout__sidebar {
	padding: 0 !important;
	overflow: hidden;
}

.checkout-page .wc-block-components-checkout-order-summary__title,
.checkout-page .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-panel__button {
	padding: 0.95rem 24px !important;
}

.checkout-page .wp-block-woocommerce-checkout-order-summary-cart-items-block,
.checkout-page .wp-block-woocommerce-checkout-order-summary-totals-block,
.checkout-page .wp-block-woocommerce-checkout-order-summary-subtotal-block,
.checkout-page .wp-block-woocommerce-checkout-order-summary-discount-block,
.checkout-page .wp-block-woocommerce-checkout-order-summary-fee-block,
.checkout-page .wp-block-woocommerce-checkout-order-summary-shipping-block,
.checkout-page .wp-block-woocommerce-checkout-order-summary-taxes-block,
.checkout-page .wc-block-components-totals-wrapper:not(.wp-block-woocommerce-checkout-order-summary-coupon-form-block),
.checkout-page .wc-block-components-order-summary {
	padding-left: 24px !important;
	padding-right: 24px !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: none !important;
}

.checkout-page .wc-block-components-order-summary-item,
.checkout-page .wc-block-components-totals-item,
.checkout-page .wc-block-components-totals-footer-item {
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.checkout-page .wp-block-woocommerce-checkout-order-summary-coupon-form-block {
	padding: 0.35rem 0 !important;
}
.checkout-page .wc-block-components-totals-coupon.wc-block-components-panel {
	margin: 0 !important;
	border: 0 !important;
	background: transparent !important;
}
.checkout-page .wp-block-woocommerce-checkout-order-summary-coupon-form-block .wc-block-components-panel__button,
.checkout-page .wc-block-components-totals-coupon .wc-block-components-panel__button {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0.75rem 24px !important;
	box-sizing: border-box !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: #e2e0e8 !important;
	color: #0f143a !important;
	font-family: var(--font-head, "Oswald", sans-serif) !important;
	font-weight: 600 !important;
	font-size: 0.9rem !important;
	letter-spacing: 0.05em !important;
	text-transform: uppercase !important;
	box-shadow: none !important;
}
.checkout-page .wp-block-woocommerce-checkout-order-summary-coupon-form-block .wc-block-components-panel__content {
	padding: 0.75rem 24px 1rem !important;
}
.checkout-page .wc-block-components-totals-coupon .wc-block-components-panel__button-icon,
.checkout-page .wp-block-woocommerce-checkout-order-summary-coupon-form-block .wc-block-components-panel__button-icon,
.checkout-page .wp-block-woocommerce-checkout-order-summary-coupon-form-block .wc-block-components-panel__button-icon path {
	fill: #f3c91a !important;
	color: #f3c91a !important;
}

.checkout-page .wc-block-components-totals-item,
.checkout-page .wc-block-components-totals-footer-item {
	display: flex !important;
	justify-content: space-between !important;
	align-items: baseline !important;
	gap: 1rem;
	width: 100% !important;
}
.checkout-page .wc-block-components-totals-footer-item {
	border-top: 2px solid #0f143a;
	margin-top: 0.5rem;
	padding-top: 0.85rem !important;
	padding-bottom: 0.25rem !important;
}

.cart-page .idxcart-wrap { overflow-x: clip; }

/* 1.8.451b — tighter summary alignment: kill nested gutter drift */
.checkout-page .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper,
.checkout-page .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary,
.checkout-page .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item,
.checkout-page .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-item,
.checkout-page .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-footer-item {
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
.checkout-page .wp-block-woocommerce-checkout-order-summary-cart-items-block,
.checkout-page .wp-block-woocommerce-checkout-order-summary-subtotal-block,
.checkout-page .wp-block-woocommerce-checkout-order-summary-totals-block,
.checkout-page .wp-block-woocommerce-checkout-order-summary-taxes-block,
.checkout-page .wp-block-woocommerce-checkout-order-summary-discount-block,
.checkout-page .wp-block-woocommerce-checkout-order-summary-fee-block,
.checkout-page .wp-block-woocommerce-checkout-order-summary-shipping-block {
	padding: 0.85rem 24px !important;
	box-sizing: border-box !important;
	width: 100% !important;
}
.checkout-page .wp-block-woocommerce-checkout-order-summary-coupon-form-block {
	padding: 0 !important;
	width: 100% !important;
}
.checkout-page .wp-block-woocommerce-checkout-order-summary-coupon-form-block .wc-block-components-panel__button {
	width: 100% !important;
	padding-left: 24px !important;
	padding-right: 24px !important;
}

/* Suppress residual empty card chrome from 450 on hidden blocks */
.checkout-page .wp-block-woocommerce-checkout-shipping-method-block[hidden],
.checkout-page .wp-block-woocommerce-checkout-pickup-options-block[hidden],
.checkout-page .wp-block-woocommerce-checkout-shipping-address-block:empty,
.checkout-page .wc-block-checkout__form > .wp-block-woocommerce-checkout-shipping-method-block,
.checkout-page .wc-block-checkout__form > .wp-block-woocommerce-checkout-pickup-options-block {
	display: none !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	background: none !important;
	box-shadow: none !important;
}
