/* =========================================================
   OHS — Bosmeric-SR Formula Image Card
   Migrated from Blocksy Header Scripts
   Scope: Bosmeric-SR product page formula image card
   ========================================================= */

.ohs-bosmeric-formula-image-card {
	background: #F5F0E8;
	border: 1px solid #DDD5C8;
	border-radius: 28px;
	box-shadow: 0 12px 28px rgba(43, 34, 24, 0.06);
	padding: 22px;
}

.ohs-bosmeric-formula-image-card img {
	display: block;
	width: 100%;
	height: auto;
}

/* =========================================================
   OHS — Curate Your Collection — Mobile Card Height Reset
   Migrated from Blocksy Header Scripts
   Scope: Single product Curate Your Collection cards
   ========================================================= */

@media (max-width: 767px) {
	.oh-curated-card {
		min-height: auto !important;
		height: auto !important;
		display: flex !important;
		flex-direction: column !important;
		justify-content: flex-start !important;
	}

	.oh-curated-card > .footer {
		margin-top: 18px !important;
	}
}

/* =========================================================
   OHS — Curated Collection — Dynamic WooCommerce Price Styling
   Migrated from Blocksy Header Scripts
   Scope: Single product Curate Your Collection price output
   ========================================================= */

.oh-curated-price,
.oh-curated-price .woocommerce-Price-amount,
.oh-curated-price .woocommerce-Price-currencySymbol,
.oh-curated-price bdi {
	color: #1F1A17;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: -0.01em;
}

.oh-curated-price del,
.oh-curated-price del .woocommerce-Price-amount,
.oh-curated-price del .woocommerce-Price-currencySymbol,
.oh-curated-price del bdi {
	color: #8A8177;
	font-size: 16px;
	font-weight: 400;
	opacity: 0.9;
}

.oh-curated-price ins,
.oh-curated-price ins .woocommerce-Price-amount,
.oh-curated-price ins .woocommerce-Price-currencySymbol,
.oh-curated-price ins bdi {
	color: #1F1A17;
	text-decoration: none;
}

/* =========================================================
   OHS — Single Product FAQ — Mobile Typography + Spacing
   Migrated from Blocksy Header Scripts
   Scope: Single product FAQ section
   ========================================================= */

@media (max-width: 767px) {
	.ohs-sp-faq {
		padding-top: 56px !important;
		padding-bottom: 72px !important;
	}

	.ohs-sp-faq__inner {
		max-width: 100% !important;
		padding-left: 18px !important;
		padding-right: 18px !important;
		gap: 24px !important;
	}

	.ohs-sp-faq__eyebrow {
		font-size: 14px !important;
		line-height: 1.2 !important;
		letter-spacing: 0.06em !important;
		margin: 0 !important;
	}

	.ohs-sp-faq__title {
		font-size: 36px !important;
		line-height: 1.1 !important;
		margin: 0 !important;
		max-width: 10ch;
	}

	/* FAQ question text */
	.ohs-sp-faq__accordion :where(
		summary,
		button,
		h3,
		h4,
		h5,
		.accordion-title,
		.accordion-header,
		.elementor-accordion-title,
		.eb-accordion-title-wrapper,
		.ekit-accordion-title,
		[role="button"]
	) {
		font-size: 17px !important;
		line-height: 1.3 !important;
		font-weight: 700 !important;
	}

	/* FAQ answer text */
	.ohs-sp-faq__accordion :where(
		p,
		.accordion-content,
		.accordion-body,
		.elementor-tab-content,
		.eb-accordion-content,
		.ekit-accordion__content
	) {
		font-size: 15px !important;
		line-height: 1.7 !important;
	}

	/* Row rhythm */
	.ohs-sp-faq__accordion :where(
		summary,
		button,
		.accordion-title,
		.accordion-header,
		.elementor-accordion-title,
		.eb-accordion-title-wrapper,
		.ekit-accordion-title,
		[role="button"]
	) {
		padding-top: 6px !important;
		padding-bottom: 6px !important;
	}

	/* Expanded answer spacing */
	.ohs-sp-faq__accordion :where(
		.accordion-content,
		.accordion-body,
		.elementor-tab-content,
		.eb-accordion-content,
		.ekit-accordion__content
	) {
		padding-top: 6px !important;
	}

	.ohs-sp-faq__accordion :where(
		p,
		.accordion-content p,
		.accordion-body p,
		.elementor-tab-content p,
		.eb-accordion-content p,
		.ekit-accordion__content p
	) {
		margin-top: 6px !important;
		margin-bottom: 0 !important;
	}

	/* Icons */
	.ohs-sp-faq__accordion :where(
		.accordion-icon,
		.elementor-accordion-icon,
		.eb-accordion-icon,
		.ekit_accordion_icon,
		i,
		svg
	) {
		width: 15px !important;
		height: 15px !important;
		font-size: 15px !important;
	}
}

/* =========================================================
   OHS — Bosmeric-SR Testimonials / Reviews Spotlight
   Migrated from Blocksy Header Scripts
   Scope: Bosmeric-SR single product reviews spotlight section
   ========================================================= */

/* Mobile layout */
@media (max-width: 781px) {

	.ohs-bsr-reviews {
		padding: 64px 20px 88px !important;
	}

	.ohs-bsr-reviews__inner {
		gap: 28px !important;
	}

	.ohs-bsr-reviews__intro {
		max-width: 100% !important;
		gap: 12px !important;
	}

	.ohs-bsr-reviews__intro .wp-block-heading {
		font-size: clamp(34px, 9.8vw, 38px) !important;
		line-height: 1.08 !important;
		letter-spacing: -0.02em !important;
		text-align: center !important;
		margin-bottom: 0 !important;
	}

	.ohs-bsr-reviews__intro p {
		font-size: 18px !important;
		line-height: 1.45 !important;
		text-align: center !important;
		margin-top: 0 !important;
	}

	.ohs-bsr-reviews__featured {
		padding: 24px 20px !important;
	}

	.ohs-bsr-reviews__featured > .wp-block-columns {
		display: flex !important;
		flex-direction: column !important;
		gap: 18px !important;
	}

	.ohs-bsr-reviews__featured > .wp-block-columns > .wp-block-column {
		flex-basis: 100% !important;
		margin: 0 !important;
	}

	.ohs-bsr-reviews__featured .wp-block-image {
		width: 180px !important;
		margin: 0 auto !important;
	}

	.ohs-bsr-reviews__featured .wp-block-image img {
		width: 100% !important;
		aspect-ratio: 3 / 4;
		object-fit: cover;
		display: block;
		border-radius: 18px !important;
	}

	.ohs-bsr-reviews__featured > .wp-block-columns > .wp-block-column:last-child,
	.ohs-bsr-reviews__featured > .wp-block-columns > .wp-block-column:last-child > * {
		text-align: center !important;
	}

	.ohs-bsr-reviews__featured > .wp-block-columns > .wp-block-column:last-child p:nth-child(1) {
		font-size: 18px !important;
		line-height: 1 !important;
		margin-bottom: 12px !important;
	}

	.ohs-bsr-reviews__featured > .wp-block-columns > .wp-block-column:last-child p:nth-child(2) {
		font-size: 24px !important;
		line-height: 1.32 !important;
		margin-bottom: 12px !important;
	}

	.ohs-bsr-reviews__featured > .wp-block-columns > .wp-block-column:last-child p:nth-child(3) {
		font-size: 18px !important;
		line-height: 1.35 !important;
		margin-bottom: 8px !important;
	}

	.ohs-bsr-reviews__featured > .wp-block-columns > .wp-block-column:last-child p:nth-child(4) {
		font-size: 15px !important;
		line-height: 1.4 !important;
		margin-bottom: 0 !important;
	}

	.ohs-bsr-reviews__grid {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 18px !important;
	}

	.ohs-bsr-reviews__grid > .wp-block-column {
		margin: 0 !important;
	}

	.ohs-bsr-reviews__card {
		width: 100% !important;
		max-width: 300px !important;
		margin: 0 auto !important;
		padding: 22px 18px !important;
	}

	.ohs-bsr-reviews__card .wp-block-image {
		width: 112px !important;
		margin: 0 auto 14px !important;
	}

	.ohs-bsr-reviews__card .wp-block-image img {
		width: 100% !important;
		aspect-ratio: 1 / 1;
		object-fit: cover;
		display: block;
		border-radius: 14px !important;
	}

	.ohs-bsr-reviews__card p:nth-of-type(1) {
		font-size: 16px !important;
		line-height: 1 !important;
		margin-bottom: 12px !important;
	}

	.ohs-bsr-reviews__card p:nth-of-type(2) {
		font-size: 17px !important;
		line-height: 1.45 !important;
		margin-bottom: 12px !important;
	}

	.ohs-bsr-reviews__card p:nth-of-type(3) {
		font-size: 16px !important;
		line-height: 1.35 !important;
		margin-bottom: 0 !important;
	}
}

/* Desktop equal-height supporting cards */
@media (min-width: 782px) {

	.ohs-bsr-reviews__grid {
		align-items: stretch !important;
	}

	.ohs-bsr-reviews__grid > .wp-block-column {
		display: flex !important;
	}

	.ohs-bsr-reviews__card {
		display: flex !important;
		flex-direction: column !important;
		width: 100% !important;
		height: 100% !important;
	}

	.ohs-bsr-reviews__card > p:last-of-type {
		margin-top: auto !important;
	}
}

/* =========================================================
   OHS — Reviews Section — Outer Background Lock
   Migrated from Blocksy Header Scripts
   Scope: Single product Customer Reviews / Write Review section
   Purpose: force the people background image to cover the full section height
   ========================================================= */

/* 1) OUTER SECTION = background owner */
.single-product .ohs-sp-reviews-section__outer {
	position: relative !important;
	overflow: hidden !important;
	isolation: isolate !important;
	background: #D6CDC2 !important; /* fallback tone */
}

/* 2) Dedicated full-section background layer */
.single-product .ohs-sp-reviews-section__outer::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;

	background-image: url("https://optimumhealthstores.com/wp-content/uploads/2026/04/Background-Image-for-Write-Review-Section-02-scaled.webp");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;

	opacity: 1;
}

/* 3) Keep all actual content above the background layer */
.single-product .ohs-sp-reviews-section__outer > * {
	position: relative;
	z-index: 1;
}

/* 4) Defensive cleanup:
   remove any direct background image accidentally applied
   to inner wrappers that may conflict with the outer layer */
.single-product .ohs-sp-reviews-section__outer .ohs-sp-reviews-section__inner,
.single-product .ohs-sp-reviews-section__outer .ohs-sp-reviews-section__summary,
.single-product .ohs-sp-reviews-section__outer .ohs-sp-reviews-section__controls,
.single-product .ohs-sp-reviews-section__outer .ohs-sp-reviews-section__archive,
.single-product .ohs-sp-reviews-section__outer .ohs-sp-reviews-section__footer-buffer {
	background-image: none !important;
}

/* 5) If Gutenberg / Blocksy injects background styles inline,
   neutralize them on the outer block itself */
.single-product .ohs-sp-reviews-section__outer[style*="background-image"] {
	background-image: none !important;
	background-size: auto !important;
	background-position: initial !important;
	background-repeat: initial !important;
}