/* Health Heiress product page, ported from the Shopify main-product-capsules section and the custom product sections. */

.hh-woo:has(.hh-product) { padding-top: 50px; }
.woocommerce div.product.hh-product { display: block; }
.hh-product__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 60px; align-items: start; }
.hh-product__blocks { position: sticky; top: 100px; }
.hh-block { margin: 20px 0; }
.hh-block:first-child { margin-top: 0; }
.hh-block:empty { display: none; }

/* Gallery: first image full width, the rest two across */
.hh-gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.hh-gallery__item a { display: block; }
.hh-gallery__item img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 8px; display: block; background: var(--hh-white); }
.hh-gallery__item--main { grid-column: 1 / -1; }

/* Stock */
.hh-stock { display: flex; align-items: center; gap: 12px; margin: 0; font-size: 15px; }
.hh-stock__dot { position: relative; width: 9px; height: 9px; border-radius: 50%; background: #54c63a; margin-left: 8px; }
.hh-stock__dot::before { content: ""; position: absolute; inset: 0; border-radius: 50%; background: inherit; animation: hh-pulse 2s linear infinite; }
.hh-stock--low .hh-stock__dot { background: #f4af29; }
.hh-stock--out .hh-stock__dot { background: #d9534f; }
.hh-stock--out .hh-stock__dot::before { animation: none; }
@keyframes hh-pulse { 0% { transform: scale(1); opacity: .6; } 100% { transform: scale(3); opacity: 0; } }

/* Title, USPs, copy */
.woocommerce div.product .hh-product__title { font-family: "Crimson Pro", "Crimson Text", Georgia, serif; font-style: italic; font-weight: 400; font-size: 48px; line-height: 60px; letter-spacing: -.96px; color: #000; margin: 0; }
.hh-usps { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 12px; }
.hh-usps li { position: relative; padding-left: 16px; font-size: 14px; line-height: 20px; color: #000; }
.hh-usps li::before { content: ""; position: absolute; left: 0; top: 50%; width: 8px; height: 8px; border-radius: 50%; background: #47cd89; transform: translateY(-50%); }
.hh-icon-usps { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 14px 20px; font-size: 14px; }
.hh-icon-usps li { display: flex; align-items: center; gap: 8px; }
.hh-block .rte { font-size: 16px; line-height: 1.5; }
.hh-block .rte p:last-child { margin-bottom: 0; }

/* Price */
.woocommerce div.product .hh-price { font-size: 20px; font-weight: 400; color: var(--hh-text); margin: 28px 0 0; }
.hh-price del { color: #bfc5ba; margin-left: 6px; font-size: .9em; }
.hh-price ins { text-decoration: none; }
.hh-tax-note { margin: 6px 0 0; font-size: 14px; color: var(--hh-muted); }

/* Variant buttons (WooCommerce's selects stay in the form but are hidden) */
.hh-variants + .hh-variants { margin-top: 16px; }
.hh-variants__label { margin: 0 0 10px; font-size: 15px; }
.hh-variants__opts { display: flex; flex-wrap: wrap; gap: 10px; }
.hh-variants__opt { min-height: 40px; padding: 6px 13px; border: 1px solid #e3e3e3; background: var(--hh-panel); color: var(--hh-text); font: inherit; font-size: 15px; text-transform: none; letter-spacing: 0; cursor: pointer; transition: background-color .2s, border-color .2s, color .2s; }
.hh-variants__opt:hover { border-color: var(--hh-green); }
.hh-variants__opt.is-selected { background: var(--hh-green); border-color: var(--hh-green); color: #fff; }
.hh-variants__opt.is-soldout { color: #999; background: linear-gradient(to bottom right, transparent calc(50% - 1px), #ccc 50%, transparent calc(50% + 1px)) no-repeat, var(--hh-panel); }
.hh-product .variations_form table.variations, .hh-product .reset_variations, .hh-product .woocommerce-variation-price { display: none !important; }
.hh-product .woocommerce-variation-availability p.stock { margin: 0 0 8px; font-size: 14px; }

/* Shipping lines */
.hh-ship { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; font-size: 15px; }
.hh-ship li { display: flex; align-items: flex-start; gap: 10px; }
.hh-ship__icon { width: 20px; height: 20px; flex: 0 0 20px; margin-top: 1px; fill: currentColor; }
.hh-ship__body { display: flex; flex-direction: column; gap: 2px; }
.hh-ship__text { font-weight: 600; }
.hh-ship__text a { font-weight: 400; text-decoration: underline; }
.hh-ship__free { color: var(--hh-green); font-weight: 700; }
.hh-ship__free[hidden] { display: none; }

/* Quantity + Add to cart */
.woocommerce div.product.hh-product form.cart { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; }
.woocommerce div.product.hh-product form.variations_form { display: block; }
.hh-product .woocommerce-variation-add-to-cart { display: flex; gap: 12px; width: 100%; }
.woocommerce div.product.hh-product form.cart .quantity { margin: 0; }
.hh-qty { display: inline-flex; align-items: center; width: 94px; height: 48px; border: 1px solid #e3e3e3; border-radius: 8px; padding: 3px 7px; background: var(--hh-white); }
.hh-qty .hh-qty-btn { width: 22px; height: 100%; padding: 0; border: 0; background: none; color: #626c5e; font-size: 18px; line-height: 1; cursor: pointer; }
.woocommerce div.product.hh-product form.cart .hh-qty input.qty { width: 100%; height: 100%; border: 0; padding: 0; background: none; text-align: center; font-size: 16px; font-weight: 500; -moz-appearance: textfield; }
.hh-qty input.qty::-webkit-outer-spin-button, .hh-qty input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.woocommerce div.product.hh-product form.cart .single_add_to_cart_button { flex: 1; min-height: 48px; border-radius: 8px; background: var(--hh-green); color: #fff; font-size: 15px; letter-spacing: .04em; }
.woocommerce div.product.hh-product form.cart .single_add_to_cart_button:hover { background: var(--hh-green-hover); }
.woocommerce div.product.hh-product form.cart .single_add_to_cart_button.disabled { opacity: .5; }
.hh-product p.stock.out-of-stock { color: #d9534f; font-weight: 600; }

/* Collapsible tabs */
.hh-block--tab { margin: 0; }
.hh-block--tab:first-of-type, .hh-block:not(.hh-block--tab) + .hh-block--tab { margin-top: 24px; }
.hh-tab { border-top: 1px solid #bfc5ba; }
.hh-tab summary { list-style: none; position: relative; cursor: pointer; padding: 20px 30px 20px 0; font-size: 16px; line-height: 24px; font-weight: 600; color: #000; }
.hh-tab summary::-webkit-details-marker { display: none; }
.hh-tab__icon { position: absolute; right: 4px; top: 50%; width: 12px; height: 12px; transform: translateY(-50%); }
.hh-tab__icon::before, .hh-tab__icon::after { content: ""; position: absolute; left: 5px; top: 0; width: 1.5px; height: 12px; background: currentColor; border-radius: 1px; transition: transform .3s; }
.hh-tab__icon::after { transform: rotate(90deg); }
.hh-tab[open] .hh-tab__icon::before { transform: rotate(90deg); }
.hh-tab__body { padding: 0 0 20px; font-size: 14px; line-height: 20px; color: #212121; }
.hh-tab__body ul { list-style: none; padding-left: 0; margin: 0 0 10px; }
.hh-tab__body ul li { position: relative; padding-left: 16px; }
.hh-tab__body ul li + li { margin-top: 10px; }
.hh-tab__body ul li::before { content: ""; position: absolute; left: 0; top: 6px; width: 8px; height: 8px; border-radius: 50%; background: #47cd89; }

/* Key ingredients */
.hh-supp__head { display: flex; justify-content: space-between; align-items: baseline; margin: 0 0 16px; }
.hh-supp__head h4 { margin: 0; font-family: var(--hh-font-body); font-size: 16px; font-weight: 700; }
.hh-supp__facts { font-size: 14px; text-decoration: underline; }
.hh-supp__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 16px; }
.hh-supp__item img { width: 100%; height: 101px; object-fit: contain; object-position: bottom right; border: 1px solid #bfc5ba; border-radius: 6px; background: #fff; margin: 0 0 12px; display: block; }
.hh-supp__item h4 { margin: 0; font-family: var(--hh-font-body); font-size: 14px; font-weight: 700; line-height: 20px; }
.hh-supp__item .rte { font-size: 14px; line-height: 20px; }

/* Bundle and save */
.hh-bundle__head { text-align: center; color: #fff; background: #079455; border-radius: 8px 8px 0 0; padding: 4px 8px; font-size: 14px; line-height: 20px; }
.hh-bundle__body { display: flex; gap: 24px; border: 1px solid #bfc5ba; border-top: 0; background: #fff; padding: 20px; border-radius: 0 0 8px 8px; }
.hh-bundle__media { flex: 0 0 92px; }
.hh-bundle__media img { width: 92px; height: 116px; object-fit: cover; border-radius: 4px; display: block; }
.hh-bundle__info { flex: 1; min-width: 0; }
.hh-bundle__info h4 { margin: 0 0 4px; font-family: var(--hh-font-body); font-size: 16px; font-weight: 700; line-height: 24px; }
.hh-bundle__info p { margin: 0 0 16px; font-size: 14px; line-height: 20px; }
.hh-bundle__row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; }
.hh-bundle__price { font-weight: 700; }
.hh-bundle__price s { color: #bfc5ba; margin-left: 4px; }
.hh-bundle__link { background: var(--hh-panel); padding: 2px 12px; border-radius: 20px; color: #40473e; text-decoration: none; }

/* Full-width sections under the product */
html { overflow-x: clip; }
.hh-full { width: calc(100vw - var(--hh-sbw, 0px)); margin-left: calc(50% - (50vw - var(--hh-sbw, 0px) / 2)); }
.hh-wrap { max-width: 1180px; margin: 0 auto; padding: 0 22px; }
.hh-wrap--narrow { max-width: 840px; }
.hh-product + .hh-full, .hh-full:first-of-type { margin-top: 64px; }
.scheme-background-1 { background: var(--hh-bg); color: var(--hh-text); }
.scheme-background-2 { background: var(--hh-panel); color: var(--hh-text); }
.scheme-accent { background: var(--hh-green); color: #fff; }
.scheme-inverse { background: #222; color: #fff; }
.hh-eyebrow { text-transform: uppercase; letter-spacing: .08em; font-size: 13px; font-weight: 700; color: var(--hh-green); margin: 0 0 8px; }

.hh-steps { padding: 56px 0; }
.hh-steps__heading, .hh-compare__heading, .hh-faq__title, .hh-ingr__title, .hh-lookbook__title { text-align: center; font-family: var(--hh-font-body); font-weight: 500; margin: 0 0 36px; }
.scheme-accent .hh-steps__heading, .scheme-inverse .hh-steps__heading, .scheme-accent .hh-compare__heading, .scheme-inverse .hh-compare__heading { color: #fff; }
.hh-steps__row { display: flex; flex-wrap: wrap; justify-content: center; gap: 36px 28px; }
.hh-steps__item { flex: 1 1 150px; max-width: 200px; text-align: center; }
.hh-steps__icon { width: 56px; height: 56px; margin: 0 auto 14px; }
.hh-steps__icon img { width: 100%; height: 100%; object-fit: contain; }
.hh-steps__label { margin: 0 0 6px; font-size: 14px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--hh-green); }
.scheme-accent .hh-steps__label, .scheme-inverse .hh-steps__label { color: #fff; }
.hh-steps__text { margin: 0; font-size: 14px; line-height: 1.5; opacity: .85; }

.hh-reasons { padding: 64px 0; background: #fff; }
.hh-reasons__card { display: flex; align-items: center; gap: 48px; border-radius: 24px; padding: 48px; }
.hh-reasons__media { flex: 1 1 360px; max-width: 420px; }
.hh-reasons__media img { width: 100%; height: auto; border-radius: 16px; display: block; }
.hh-reasons__content { flex: 1 1 380px; }
.hh-reasons__heading { font-family: var(--hh-font-body); font-weight: 500; font-size: clamp(26px, 3vw, 38px); line-height: 1.2; margin: 0 0 8px; }
.hh-reasons__sub { font-family: "Crimson Pro", "Crimson Text", serif; font-style: italic; font-size: 18px; margin: 0 0 28px; color: var(--hh-green); }
.hh-reasons__heading + .hh-reasons__list { margin-top: 28px; }
.hh-reasons__list, .hh-upgrade__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 20px; }
.hh-reasons__list li, .hh-upgrade__list li { display: flex; gap: 16px; align-items: flex-start; }
.hh-reasons__check { width: 28px; height: 28px; min-width: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-top: 2px; background: var(--hh-green); }
.hh-reasons__title { margin: 0 0 3px; font-size: 16px; font-weight: 700; }
.hh-reasons__text { margin: 0; font-size: 14px; line-height: 1.5; opacity: .85; }
.hh-reasons__card.scheme-accent .hh-reasons__sub, .hh-reasons__card.scheme-inverse .hh-reasons__sub { color: #fff; }
.hh-reasons__card.scheme-accent .hh-reasons__check, .hh-reasons__card.scheme-inverse .hh-reasons__check { background: #fff; }
.hh-reasons__card.scheme-accent .hh-reasons__check path { stroke: var(--hh-green); }
.hh-reasons__card.scheme-inverse .hh-reasons__check path { stroke: #222; }

.hh-compare { padding: 64px 0; }
.hh-compare__table { background: #fff; border-radius: 20px; padding: 28px 24px 20px; box-shadow: 0 2px 10px rgba(0, 0, 0, .05); color: #2a2a2a; }
.hh-compare__cols { display: grid; grid-template-columns: 1fr 120px 120px; align-items: center; gap: 8px 4px; }
.hh-compare__head { font-weight: 700; font-size: 13px; text-align: center; padding: 10px 4px; border-radius: 10px 10px 0 0; color: #8a8a8a; }
.hh-compare__head.is-brand { background: var(--hh-green); color: #fff; }
.scheme-accent .hh-compare__head.is-brand { background: var(--hh-green); color: #fff; }
.hh-compare__label { font-size: 14px; padding: 14px 8px 14px 0; }
.hh-compare__cell { display: flex; align-items: center; justify-content: center; padding: 10px 0; align-self: stretch; }
.hh-compare__cell.is-brand { background: rgba(41, 78, 74, .06); }
.hh-compare__yes, .hh-compare__no { width: 22px; height: 22px; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.hh-compare__yes { background: var(--hh-green); }
.hh-compare__no { border: 1.5px solid #cfcfcf; }

.hh-related { padding: 24px 0 8px; }

/* One-off sections (Para Cleanse Pack, Gut Harmony, Elite Shungite) */
.hh-ingr, .hh-testi, .hh-faq, .hh-upgrade, .hh-lookbook { padding: 64px 0; }
.hh-ingr { background: var(--hh-panel); }
.hh-ingr__title { max-width: 820px; margin-left: auto; margin-right: auto; font-family: "Crimson Pro", "Crimson Text", serif; font-style: italic; font-weight: 400; font-size: clamp(30px, 4vw, 48px); line-height: 1.25; color: #000; }
.hh-ingr__grid { display: grid; grid-template-columns: 1fr 1fr 2fr; gap: 24px; background: #fff; border-radius: 12px; padding: 40px 20px; }
.hh-ingr__video video, .hh-ingr__promo img { width: 100%; height: 100%; min-height: 460px; object-fit: cover; border-radius: 8px; display: block; }
.hh-ingr__promo a { display: block; height: 100%; }
.hh-ingr__text { background: #40473e; color: #fff; border-radius: 8px; padding: 24px 16px; font-size: 14px; }
.hh-ingr__text .hh-eyebrow { color: #fff; font-size: 12px; font-weight: 500; }
.hh-ingr__text h3 { color: #fff; font-size: 22px; line-height: 1.45; margin: 0 0 14px; }
.hh-ingr__text .rte { font-size: 14px; line-height: 20px; }
.hh-ingr__refs { font-size: 11px; opacity: .7; margin-top: 16px; }
.hh-testi__title, .hh-faq__title { font-family: "Crimson Pro", "Crimson Text", serif; font-style: italic; font-weight: 400; font-size: clamp(30px, 4vw, 48px); line-height: 1.2; text-align: center; color: #000; margin: 0 0 32px; }
.hh-testi__grid { display: grid; grid-template-columns: 4fr 3fr 3fr; gap: 34px; align-items: start; background: #fff; border-radius: 12px; padding: 40px; }
.hh-testi__card { margin: 0; }
.hh-testi__media { position: relative; border-radius: 8px; overflow: hidden; background: #000; }
.hh-testi__media img, .hh-testi__media video { width: 100%; aspect-ratio: 5 / 6; object-fit: cover; display: block; }
.hh-testi__who { position: absolute; left: 0; right: 0; bottom: 0; padding: 60px 20px 20px; color: #fff; background: linear-gradient(transparent, rgba(0, 0, 0, .45)); font-family: "Crimson Pro", "Crimson Text", serif; font-style: italic; }
.hh-testi__who strong { display: block; font-weight: 600; font-size: 20px; }
.hh-testi__who span { display: block; font-weight: 600; font-size: 16px; }
.hh-testi__card--video .hh-testi__who strong { font-size: 32px; }
.hh-testi__card--video .hh-testi__who span { font-size: 22px; }
.hh-testi__read summary { list-style: none; cursor: pointer; text-transform: uppercase; font-weight: 700; font-size: 15px; border-bottom: 1px solid #fff; display: inline-block; margin-bottom: 14px; }
.hh-testi__read summary::-webkit-details-marker { display: none; }
.hh-testi__read summary::before { content: "\2295"; margin-right: 8px; font-style: normal; }
.hh-testi__read .rte { font-family: var(--hh-font-body); font-style: normal; font-size: 14px; margin-bottom: 12px; }
.hh-testi__play { position: absolute; left: 20px; bottom: 130px; width: 54px; height: 54px; border-radius: 50%; border: 2px solid #fff; background: none; color: #fff; padding: 12px; cursor: pointer; z-index: 2; }
.hh-testi__card.is-playing .hh-testi__play, .hh-testi__card.is-playing .hh-testi__who { display: none; }
.hh-testi__quote { margin: 18px 16px 0; font-family: "Crimson Pro", "Crimson Text", serif; font-style: italic; font-size: 22px; line-height: 1.5; }
.hh-testi__quote p { margin: 0; }
.hh-testi__quote cite { display: block; color: #6b7b67; font-weight: 600; }
.hh-faq__panel { background: #fff; border-radius: 12px; padding: 40px; }
.hh-faq__banner { position: relative; overflow: hidden; background: #40473e; border-radius: 8px; padding: 50px 20px; margin-bottom: 24px; }
.hh-faq__banner .hh-faq__title { color: #fff; margin: 0; position: relative; z-index: 1; }
.hh-faq__flora { position: absolute; top: 0; height: 100%; width: auto; }
.hh-faq__flora--l { left: 0; }
.hh-faq__flora--r { right: 0; }
.hh-faq__item { border-bottom: 1px solid #e6e6e6; }
.hh-faq__item summary { list-style: none; position: relative; cursor: pointer; padding: 18px 30px 18px 0; font-size: 16px; }
.hh-faq__item summary::-webkit-details-marker { display: none; }
.hh-faq__item summary::after { content: ""; position: absolute; right: 8px; top: 50%; border: 5px solid transparent; border-top: 6px solid #000; transform: translateY(-25%); transition: transform .2s; }
.hh-faq__item[open] summary::after { transform: translateY(-75%) rotate(180deg); }
.hh-faq__item .rte { padding: 0 0 18px; font-size: 15px; }
.hh-upgrade__card { display: grid; grid-template-columns: 1fr 1fr; gap: 46px; align-items: center; }
.hh-upgrade__media img { width: 100%; height: auto; border-radius: 12px; display: block; }
.hh-upgrade__badge { display: inline-block; background: var(--hh-green); color: #fff; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; padding: 6px 14px; border-radius: 999px; margin-bottom: 14px; }
.hh-upgrade .hh-eyebrow { color: #6b6b6b; font-weight: 400; letter-spacing: .12em; }
.hh-upgrade__body h2 { margin: 0 0 12px; font-family: var(--hh-font-heading); font-weight: 400; font-size: clamp(28px, 3vw, 34px); }
.hh-upgrade__list { gap: 10px; margin: 20px 0; }
.hh-upgrade__list li { gap: 10px; }
.hh-upgrade__opts { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 18px; }
.hh-upgrade__opt { padding: 12px 16px; border: 0; border-radius: 999px; background: var(--hh-panel); color: var(--hh-text); font: inherit; font-size: 14px; text-transform: uppercase; cursor: pointer; }
.hh-upgrade__opt.is-selected { background: var(--hh-green); color: #fff; }
.hh-upgrade__price { font-family: var(--hh-font-heading); font-size: 26px; margin: 0 0 18px; }
.hh-upgrade__price del { color: #888; font-size: 18px; }
.hh-upgrade__price ins { text-decoration: none; }
.hh-upgrade__save { font-family: var(--hh-font-body); font-size: 14px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; margin-left: 6px; }
.hh-upgrade__btn { min-width: 360px; text-align: center; }
.hh-upgrade__btn.is-disabled { opacity: .5; pointer-events: none; }
.hh-lookbook img { width: 100%; max-width: 900px; margin: 0 auto; display: block; border-radius: 16px; }

@media (max-width: 1100px) {
	.hh-product__grid { gap: 40px; }
	.woocommerce div.product .hh-product__title { font-size: 38px; line-height: 48px; }
}
@media (max-width: 767px) {
	.hh-woo:has(.hh-product) { padding-top: 16px; }
	.hh-product__grid { grid-template-columns: 1fr; gap: 24px; }
	.hh-product__blocks { position: static; }
	.woocommerce div.product .hh-product__title { font-size: 30px; line-height: 38px; letter-spacing: -.6px; }
	.hh-usps { gap: 6px 12px; }
	.hh-usps li { padding-left: 12px; }
	/* Swipeable gallery row on phones */
	.hh-gallery { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 8px; margin: 0 calc(-1 * var(--hh-gutter)); padding: 0 var(--hh-gutter); scrollbar-width: none; }
	.hh-gallery::-webkit-scrollbar { display: none; }
	.hh-gallery__item { flex: 0 0 88%; scroll-snap-align: center; }
	.hh-reasons__card { flex-direction: column; padding: 32px 24px; gap: 28px; }
	.hh-ingr__grid, .hh-upgrade__card { grid-template-columns: 1fr; }
	.hh-ingr__grid { padding: 16px; }
	.hh-ingr__video video, .hh-ingr__promo img { min-height: 0; height: auto; }
	.hh-ingr__video video { aspect-ratio: 9 / 14; }
	.hh-testi__grid { grid-template-columns: 1fr; padding: 16px; }
	.hh-faq__panel { padding: 16px; }
	.hh-faq__flora { opacity: .35; }
	.hh-upgrade__btn { min-width: 0; width: 100%; }
	.hh-steps { padding: 40px 0; }
	.hh-steps__row { gap: 24px 20px; }
}
@media (max-width: 520px) {
	.hh-compare__cols { grid-template-columns: 1fr 72px 72px; }
	.hh-compare__table { padding: 20px 14px 14px; }
	.hh-supp__item img { height: 90px; object-position: center bottom; }
}

/* Phone thumbnail strip (desktop shows the two-across grid instead) */
.hh-gallery__thumbs { display: none; }

/* ---------- Phone product page, matched to the live Shopify main-product (measured at 375px wide) ---------- */
@media (max-width: 749px) {
	.hh-woo:has(.hh-product) { padding-top: 0; }
	.hh-product__grid { gap: 30px; }
	.woocommerce div.product div.images.hh-gallery { gap: 0; padding: 0; margin: 0 calc(-1 * var(--hh-gutter)) !important; width: auto; }
	.hh-gallery__item { flex: 0 0 100%; scroll-snap-align: start; }
	.hh-gallery__item img { border-radius: 0; }
	.hh-gallery__thumbs { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
	.hh-gallery__thumb { width: 63px; height: 63px; padding: 0; border: 2px solid transparent; border-radius: 6px; background: none; overflow: hidden; cursor: pointer; }
	.hh-gallery__thumb.is-active { border-color: #294e4a; }
	.hh-gallery__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
	.hh-stock { font-size: 15.9px; }
	.woocommerce div.product .hh-price { font-size: 19.08px; line-height: 28.62px; }
	.hh-tax-note { font-size: 15.9px; color: rgba(34, 34, 34, .75); }
	.hh-reasons__heading { font-size: 34.2px; line-height: 41px; }
}

.hh-bnpl { margin-top: 10px; }
/* Stripe sizes this frame to 9px inside our layout, which clips the Afterpay line; give it room for its text */
.hh-bnpl #payment-method-message iframe { min-height: 28px !important; }
@media (max-width: 749px) { .hh-bnpl #payment-method-message iframe { min-height: 46px !important; } }
