/* Shared transaction shell tokens for cart, checkout, account, and post-order. */
body.bhs-transaction-active {
	--bhs-transaction-shell-width: min(100% - 48px, 1320px);
	--bhs-transaction-shell-width-mobile: min(100% - 24px, 1320px);
	--bhs-transaction-band: #fbfdff;
	--bhs-transaction-band-soft: #f7fbff;
	--bhs-transaction-band-line: rgba(12, 52, 87, 0.08);
	background: #f4f8fb;
}

body.bhs-account-focused,
body.bhs-post-order-focused {
	--bhs-transaction-band: #fbfdff;
	--bhs-transaction-band-soft: #f7fbff;
	--bhs-transaction-band-line: rgba(12, 52, 87, 0.08);
}

/* Operational address fields stay in the DOM but are not customer-facing. */
body.bhs-transaction-active .bhs-fixed-panama-country,
body.bhs-transaction-active .bhs-hidden-address-meta,
body.bhs-transaction-active .bhs-location-technical-step {
	display: none !important;
}

/* Kadence content shell alignment for transaction pages. */
body.bhs-transaction-active .entry-hero,
body.bhs-transaction-active .content-container.site-container {
	width: var(--bhs-transaction-shell-width);
}

body.bhs-transaction-active .entry-hero {
	margin-top: 22px;
	background: transparent;
}

body.bhs-transaction-active .entry-hero .entry-header {
	min-height: 0;
	padding-bottom: 12px;
	text-align: left;
}

body.bhs-transaction-active .entry-hero .entry-title {
	color: var(--bhs-ink);
	font-size: clamp(1.65rem, 3vw, 2.2rem);
	font-weight: 950;
	letter-spacing: 0;
	line-height: 1.1;
}

body.bhs-transaction-active .content-area {
	margin-top: 18px;
	margin-bottom: 64px;
}

body.bhs-transaction-active .content-area,
body.bhs-account-focused .content-area,
body.bhs-post-order-focused .content-area {
	position: relative;
	isolation: isolate;
	padding-top: clamp(20px, 2.4vw, 30px);
	padding-bottom: clamp(34px, 4vw, 52px);
}

body.bhs-transaction-active .content-area::before,
body.bhs-account-focused .content-area::before,
body.bhs-post-order-focused .content-area::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	z-index: 0;
	width: 100vw;
	border-top: 1px solid var(--bhs-transaction-band-line);
	border-bottom: 1px solid var(--bhs-transaction-band-line);
	background: linear-gradient(180deg, var(--bhs-transaction-band) 0%, var(--bhs-transaction-band-soft) 100%);
	pointer-events: none;
	transform: translateX(-50%);
}

body.bhs-transaction-active .content-container.site-container,
body.bhs-account-focused .content-container.site-container,
body.bhs-post-order-focused .content-container.site-container {
	position: relative;
	z-index: 1;
}

body.bhs-transaction-active .entry.single-entry,
body.bhs-transaction-active .entry-content-wrap {
	background: transparent;
	box-shadow: none;
}

/* Shared Woo notices and primary action shape; page files own detailed layout. */
body.bhs-transaction-active .woocommerce-message,
body.bhs-transaction-active .woocommerce-info,
body.bhs-transaction-active .woocommerce-error,
body.bhs-transaction-active .wc-block-components-notice-banner {
	border-radius: 8px;
}

body.bhs-transaction-active .entry-content .button,
body.bhs-transaction-active .entry-content button[type="submit"],
body.bhs-transaction-active .wc-block-components-button,
body.bhs-transaction-active .wc-block-cart__submit-button,
body.bhs-transaction-active .wc-block-components-checkout-place-order-button {
	border-radius: 7px !important;
	font-weight: 900 !important;
	text-transform: none !important;
}

/* Storefront icon primitives reused by account and post-order shells. */
body.bhs-transaction-active .bhs-icon,
body.bhs-account-focused .bhs-icon,
body.bhs-post-order-focused .bhs-icon {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2.2;
}

.bhs-shell-title-icon {
	display: inline-grid;
	flex: 0 0 auto;
	place-items: center;
	width: 34px;
	height: 34px;
	border: 1px solid rgba(0, 75, 131, 0.14);
	border-radius: 8px;
	background: #ffffff;
	color: var(--bhs-blue-deep);
}

.bhs-shell-title-icon .bhs-icon {
	width: 18px;
	height: 18px;
}

/* Woo block containers keep their layout width in the page-specific files. */
body.bhs-transaction-active .wp-block-woocommerce-cart,
body.bhs-transaction-active .wp-block-woocommerce-checkout,
body.bhs-transaction-active .wc-block-cart,
body.bhs-transaction-active .wc-block-checkout {
	max-width: none;
}

body.bhs-checkout-focused .bhs-location-picker {
	border-radius: 8px;
}

/* Transaction shell spacing tightens before page-specific mobile rules apply. */
@media (max-width: 720px) {
	body.bhs-transaction-active .entry-hero,
	body.bhs-transaction-active .content-container.site-container {
		width: var(--bhs-transaction-shell-width-mobile);
	}

	body.bhs-transaction-active .content-area,
	body.bhs-account-focused .content-area,
	body.bhs-post-order-focused .content-area {
		padding-top: 18px;
		padding-bottom: 30px;
	}

}
