/* Keep the functional WooCommerce cart ahead of optional cart enhancements. */
body.woocommerce-cart .entry-content {
	display: flex;
	flex-direction: column;
}

body.woocommerce-cart .entry-content > .wp-block-woocommerce-cart {
	order: -1;
}

/*
 * Woo Blocks replaces the populated cart in place after the final item is
 * removed. Hide the now-stale server-rendered Concierge panel only after that
 * explicit populated-to-empty transition; a fresh empty cart is untouched.
 */
body.woocommerce-cart #luxeline-concierge.lx-layout-safety-cart-empty {
	display: none !important;
	pointer-events: none !important;
}

/*
 * The Bundles editorial page already places this widget safely in its toolbar.
 * Everywhere else, retain the existing card design but keep it in normal flow.
 */
body:not(.lxe-bundles-editorial) .luxeline-display-currency.lx-layout-safety-currency {
	position: static !important;
	z-index: auto !important;
	right: auto !important;
	bottom: auto !important;
	box-sizing: border-box;
	width: min(300px, calc(100% - 24px));
	margin: 24px max(12px, 5vw) 24px auto !important;
}

@media (max-width: 560px) {
	body:not(.lxe-bundles-editorial) .luxeline-display-currency.lx-layout-safety-currency {
		width: calc(100% - 20px) !important;
		margin: 18px 10px !important;
	}
}

/* Do not let the phone-only product CTA cover the in-flow currency card/footer. */
@media (max-width: 860px) {
	body.single-product.lx-layout-safety-footer-zone .sp-sticky-bar {
		visibility: hidden !important;
		pointer-events: none !important;
		transform: translateY(110%) !important;
	}
}
/* Homepage below-hero dark continuity; no hero, media, card, or layout rules. */
body.home #content > .lx-home-v2 {
	--lx-layout-home-surface: #080808;
	--lx-layout-home-text: #f7f2ed;
	--lx-layout-home-muted: #c9c0ba;
	--lx-layout-home-rose: #d77ea6;
	background: var(--lx-layout-home-surface) !important;
	color: var(--lx-layout-home-text);
	font-family: "Instrument Sans", Arial, sans-serif;
}

body.home #content > .lx-home-v2 .lx-home-v2__intro,
body.home #content > .lx-home-v2 .lx-home-v2__collections {
	background: var(--lx-layout-home-surface) !important;
}

body.home #content > .lx-home-v2 h2,
body.home #content > .lx-home-v2 .lx-home-v2__proof strong,
body.home #content > .lx-home-v2 .lx-home-v2__collection-title {
	font-family: "Instrument Sans", Arial, sans-serif !important;
	font-style: normal !important;
	font-weight: 500 !important;
}

body.home #content > .lx-home-v2 .lx-home-v2__intro h2,
body.home #content > .lx-home-v2 .lx-home-v2__section-head h2,
body.home #content > .lx-home-v2 .lx-home-v2__proof strong {
	color: var(--lx-layout-home-text) !important;
}

body.home #content > .lx-home-v2 .lx-home-v2__lead,
body.home #content > .lx-home-v2 .lx-home-v2__section-head > p:last-child,
body.home #content > .lx-home-v2 .lx-home-v2__proof span {
	color: var(--lx-layout-home-muted) !important;
}

body.home #content > .lx-home-v2 .lx-home-v2__eyebrow {
	color: var(--lx-layout-home-rose) !important;
}

body.home #content > .lx-home-v2 .lx-home-v2__proof {
	border-color: rgba(215, 126, 166, 0.28);
}

body.home #content > .lx-home-v2 .lx-home-v2__proof li + li {
	border-left-color: rgba(215, 126, 166, 0.28);
}

body.home #content > .lx-home-v2 .lx-home-v2__link--dark {
	color: var(--lx-layout-home-text) !important;
}

body.home #content > .lx-home-v2 .lx-home-v2__link--dark:hover,
body.home #content > .lx-home-v2 .lx-home-v2__link--dark:focus {
	background: var(--lx-layout-home-text) !important;
	border-color: var(--lx-layout-home-text) !important;
	color: var(--lx-layout-home-surface) !important;
}
/* Contact opening dark continuity; page 268 only, no layout, media or form rules. */
body.page-id-268,
body.page-id-268 #content.site-content,
body.page-id-268 #content.site-content > main.lx-contact-new {
	background: #080808 !important;
}

body.page-id-268 #content > .lx-contact-new > .lx-contact-new__masthead,
body.page-id-268 #content > .lx-contact-new > .lx-contact-new__routes,
body.page-id-268 #content > .lx-contact-new > .lx-contact-new__masthead h1,
body.page-id-268 #content > .lx-contact-new > .lx-contact-new__routes h2,
body.page-id-268 #content > .lx-contact-new > .lx-contact-new__routes a {
	color: #faf8f5 !important;
}

body.page-id-268 #content > .lx-contact-new > .lx-contact-new__masthead > p:last-child,
body.page-id-268 #content > .lx-contact-new > .lx-contact-new__routes .lx-contact-new__route p {
	color: rgba(250, 248, 245, .72) !important;
}

body.page-id-268 #content > .lx-contact-new > .lx-contact-new__routes {
	border-top-color: rgba(250, 248, 245, .20) !important;
	border-bottom-color: rgba(250, 248, 245, .20) !important;
}

body.page-id-268 #content > .lx-contact-new > .lx-contact-new__routes .lx-contact-new__route {
	border-right-color: rgba(250, 248, 245, .18) !important;
	border-bottom-color: rgba(250, 248, 245, .18) !important;
}
/* Final scoped contrast corrections; no layout, forms or interaction changes. */
body.page-id-299 main#content.site-content .entry-content a,
body.page-id-12 main#content.site-content .entry-content a,
body.page-id-297 main#content.site-content .entry-content a,
body.page-id-298 main#content.site-content .entry-content a {
	color: #8a6b45 !important;
	text-decoration-line: underline !important;
	text-underline-offset: .15em;
}

body.page-id-267 .faq-page .faq-question:hover,
body.page-id-267 .faq-page .faq-question[aria-expanded="true"] {
	color: #9d5275 !important;
}

body.page-id-267 .faq-page .page-header .section-header__kicker {
	color: #8a6b45 !important;
}

body.single-product .lxpc-overlay .lxpc-summary .lxpc-summary__row dd.is-pending {
	color: rgba(247, 243, 235, .56) !important;
}

body.lxe-bundles-editorial #content .product-card__price,
body.lxe-bundles-editorial #content .product-card__price * {
	color: #f7f2ed !important;
	-webkit-text-fill-color: #f7f2ed !important;
}

body.archive.woocommerce-page #content .product-card__badge {
	color: #1c1410 !important;
}

body.tax-product_cat #content .lx-shop-head__kicker {
	color: #8a6b45 !important;
}

body.lxe-bundles-editorial #content .lxe-bundle-intro__eyebrow {
	color: #9d5275 !important;
}
/* Ritual current hero mobile framing only; dimensions and desktop unchanged. */
@media (max-width: 900px) {
	body.page-id-18574 .lx-ritual-v4__media img[src*="luxeline-ritual-care-hero-v1.jpg"] {
		object-position: 82% center !important;
	}
}
