/**
 * RYZE parity — hide Calm hero once original pd-* buy-box is present.
 * Classes live on <html> (JS); WP body_class may be omitted by ShopForge liquid body.
 */

/* Wrong class historically: .Calm-Product-section--info (does not exist).
 * Real hero buy column is .Product-section--details inside .Product-container > .Product-sections.
 * Hide the whole hero row (gallery+details) — buy-box ships its own gallery.
 * Starter/Ritual live under .Product-section--informational-block and stay visible.
 */
html.sf-ryze-fix.sf-ryze-pdp:has([data-sf-ryze-buybox]) .Product-container > .Product-sections,
html.sf-ryze-fix.sf-ryze-pdp:has(.pd-container) .Product-container > .Product-sections,
html.sf-ryze-fix.sf-ryze-pdp:has(.sf-ryze-buybox-host) .Product-container > .Product-sections,
html.sf-ryze-fix.sf-ryze-pdp:has([data-sf-ryze-buybox]) .sf-ryze-hide-calm-hero,
html.sf-ryze-fix.sf-ryze-pdp:has(.pd-container) .sf-ryze-hide-calm-hero,
html.sf-ryze-fix.sf-ryze-pdp:has(.sf-ryze-buybox-host) .sf-ryze-hide-calm-hero {
	display: none !important;
}

html.sf-ryze-fix.sf-ryze-pdp:has([data-sf-ryze-buybox]) form.tvg_recharge_product_add_to_cart_form_nGmuOW_ProductForm,
html.sf-ryze-fix.sf-ryze-pdp:has(.pd-container) form.tvg_recharge_product_add_to_cart_form_nGmuOW_ProductForm,
html.sf-ryze-fix.sf-ryze-pdp:has(.sf-ryze-buybox-host) form.tvg_recharge_product_add_to_cart_form_nGmuOW_ProductForm {
	display: none !important;
}

/* Duplicate Calm price in hero only — keep Ritual/Starter informational prices */
html.sf-ryze-fix.sf-ryze-pdp:has([data-sf-ryze-buybox]) .Product-container > .Product-sections .js-price-preview,
html.sf-ryze-fix.sf-ryze-pdp:has(.pd-container) .Product-container > .Product-sections .js-price-preview,
html.sf-ryze-fix.sf-ryze-pdp:has(.sf-ryze-buybox-host) .Product-container > .Product-sections .js-price-preview,
html.sf-ryze-fix.sf-ryze-pdp:has([data-sf-ryze-buybox]) .Product-container > .Product-sections .Calm-Product-price,
html.sf-ryze-fix.sf-ryze-pdp:has(.pd-container) .Product-container > .Product-sections .Calm-Product-price,
html.sf-ryze-fix.sf-ryze-pdp:has(.sf-ryze-buybox-host) .Product-container > .Product-sections .Calm-Product-price,
html.sf-ryze-fix.sf-ryze-pdp:has([data-sf-ryze-buybox]) .sf-ryze-hide-calm-hero .js-price-preview,
html.sf-ryze-fix.sf-ryze-pdp:has(.pd-container) .sf-ryze-hide-calm-hero .js-price-preview,
html.sf-ryze-fix.sf-ryze-pdp:has(.sf-ryze-buybox-host) .sf-ryze-hide-calm-hero .js-price-preview,
html.sf-ryze-fix.sf-ryze-pdp:has([data-sf-ryze-buybox]) .sf-ryze-hide-calm-hero .Calm-Product-price,
html.sf-ryze-fix.sf-ryze-pdp:has(.pd-container) .sf-ryze-hide-calm-hero .Calm-Product-price,
html.sf-ryze-fix.sf-ryze-pdp:has(.sf-ryze-buybox-host) .sf-ryze-hide-calm-hero .Calm-Product-price {
	display: none !important;
}

/* Keep buy-box full-width above lower Calm sections */
.sf-ryze-fix .pd-container,
.sf-ryze-fix .sf-ryze-buybox-host {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 100%;
	clear: both;
}

.sf-ryze-fix [data-sf-ryze-buybox],
.sf-ryze-fix .sf-ryze-buybox-host {
	margin-bottom: 2rem;
}

/* PDP bundle tiles: hide "Save $xx" under Starter Kit / Ritual Set */
html.sf-ryze-fix .pd-save-text,
html.sf-ryze-fix [id^="save-text-"],
html.sf-ryze-fix .pd-option-box small.pd-save-text,
body.sf-ryze-fix .pd-save-text,
body.sf-ryze-fix [id^="save-text-"] {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	font-size: 0 !important;
}

/* PDP: compare/was = grey strikethrough beside sale price */
html.sf-ryze-fix .pd-old-price,
body.sf-ryze-fix .pd-old-price {
	color: #9a9a9a !important;
	font-weight: 500 !important;
	text-decoration: line-through !important;
	margin-left: 0.35em;
	font-size: 0.85em;
}
/* Override inline display:none when was-price has content (default/first paint) */
html.sf-ryze-fix .pd-old-price:not(:empty),
body.sf-ryze-fix .pd-old-price:not(:empty) {
	display: inline !important;
	visibility: visible !important;
}
html.sf-ryze-fix .pd-sale-badge:not([hidden]),
body.sf-ryze-fix .pd-sale-badge:not([hidden]) {
	display: inline-flex !important;
	visibility: visible !important;
}

/* gifts-bundles: multi-month gift subscription rows (JS also tags these) */
html.sf-ryze-fix.sf-ryze-gifts-bundles .sf-ryze-hide-gift-sub {
	display: none !important;
}

/* Mirror: hide Subscribe & Save only — keep Buy Once prices visible.
 * Note: Buy Once rows also use .shopall-cta-montlhy in capture — do NOT hide that class globally. */
html.sf-ryze-fix .cta-label.monthly,
html.sf-ryze-fix label:has(> input[value="monthly"]),
html.sf-ryze-fix .price-details-option-montlhy,
html.sf-ryze-fix .per-servings-monthly,
html.sf-ryze-fix .sf-ryze-hide-subscribe,
html.sf-ryze-fix [data-sf-ryze-hide-subscribe="1"] {
	display: none !important;
}

/* shop-all：折扣角标完整露出（全场券如 62% OFF，勿截成 40% O…） */
html.sf-ryze-fix.sf-ryze-shop-all .saleDiscount,
html.sf-ryze-fix .saleDiscount.sf-ryze-sale-badge-live,
body.sf-ryze-shop-all .saleDiscount {
	display: inline-block !important;
	visibility: visible !important;
	opacity: 1 !important;
	height: auto !important;
	max-width: none !important;
	width: auto !important;
	overflow: visible !important;
	white-space: nowrap !important;
	font-size: 0.85rem !important;
	line-height: 1.2 !important;
	color: #ca5839 !important;
	font-weight: 700 !important;
	margin: 0 0 0.5rem !important;
	padding: 0.15rem 0.45rem !important;
	box-sizing: border-box !important;
}

/* Buy Once plan row + injected shop-all prices */
html.sf-ryze-fix .cta-label.one_time {
	display: block !important;
}
html.sf-ryze-fix .cta-label.one_time .shopall-cta,
html.sf-ryze-fix .shopall-cta.sf-ryze-buyonce-active {
	display: flex !important;
	border-color: #533a2d !important;
}
html.sf-ryze-fix .cta-label.one_time[style*="display: none"],
html.sf-ryze-fix .cta-label.one_time[hidden] {
	display: block !important;
}

/* Compact visible price above TRY RYZE TODAY when plan radios stay hidden */
html.sf-ryze-fix .sf-ryze-shopall-price,
html.sf-ryze-fix .cta-label.one_time .shopall-price.sf-ryze-shopall-price,
html.sf-ryze-fix .one-time-shopall-price.sf-ryze-shopall-price {
	display: inline-flex !important;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 0.45rem 0.55rem;
	margin: 0.15rem 0;
	font-family: inherit;
	font-size: 1.35rem;
	font-weight: 700;
	color: #533a2d;
	line-height: 1.2;
}
html.sf-ryze-fix .sf-ryze-shopall-price__now {
	color: #533a2d !important;
	font-weight: 700 !important;
	text-decoration: none !important;
}
html.sf-ryze-fix .sf-ryze-shopall-price__was,
html.sf-ryze-fix .cta-label.one_time .shopall-compare-at-price {
	display: inline !important;
	visibility: visible !important;
	color: #9a9a9a !important;
	font-weight: 500 !important;
	font-size: 1rem !important;
	text-decoration: line-through !important;
}

/* SF Universal Cart — force grey strikethrough was-price beside now */
html.sf-ryze-fix .sfuc-price del,
html.sf-ryze-fix .sfuc-fb__price del,
html.sf-ryze-fix.sf-ryze-cart .sfuc del,
body.sf-ryze-fix .sfuc-price del,
body.sf-ryze-cart .sfuc-price del {
	display: inline !important;
	visibility: visible !important;
	color: #878787 !important;
	font-weight: 400 !important;
	text-decoration: line-through !important;
	opacity: 1 !important;
	margin-right: 0.35em;
}
html.sf-ryze-fix .sfuc-price ins,
html.sf-ryze-fix .sfuc-fb__price ins {
	text-decoration: none !important;
	font-weight: 700 !important;
	color: #533a2d !important;
}
