/* 99SEEDS v3 product page, on top of seeds-pdp.css (v2 logic stays: pack picker, price block, sticky bar).
   Reference layout: strain colour behind gallery + white buy card, then checker, a pink four-point band
   and calm sections on beige. Measured from the reference at 1920 × 1080 and 390 × 844. */

.single-product #primary { margin-top: 0 !important; }
.single-product .site-content .ast-container { max-width: none; padding: 0 !important; }

/* Top: gallery 616 / buy card 677 inside a 1330 px column on the strain colour (full-bleed via shadow). */
body.single-product.h-v3 div.product.ast-article-single {
	grid-template-columns: minmax(0, 616fr) minmax(0, 677fr); gap: 0 37px; width: min(1330px, calc(100% - 80px)); margin: 0 auto;
	padding: calc(var(--h-head-h) + 31px) 0 56px; background: var(--pdp-bg); box-shadow: 0 0 0 100vmax var(--pdp-bg); clip-path: inset(0 -100vmax);
}
.single-product .woocommerce-product-gallery { top: calc(var(--h-ann-h) + var(--h-head-h) + 16px); }
.single-product .woocommerce-product-gallery .flex-viewport,
.single-product .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper { aspect-ratio: 5 / 6; border: 0; border-radius: 16px; box-shadow: none; }
.single-product .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image img { aspect-ratio: 5 / 6 !important; object-fit: cover !important; }
.single-product .woocommerce-product-gallery__trigger { border: 0 !important; }
.single-product .flex-control-thumbs img { border: 2px solid transparent; border-radius: 10px; }
.single-product .flex-control-thumbs img.flex-active { border: 2px solid #000; box-shadow: none; }

/* Buy card */
.single-product div.product > .summary { padding: 24px 32px 0 !important; border-radius: 16px; background: #fff; overflow: hidden; }
.single-product .s-pdp-eyebrow { gap: 6px; margin-bottom: 10px; }
.single-product .s-pdp-eyebrow .s-chip, .single-product .s-pdp-eyebrow .s-badge { border: 0 !important; background: var(--h-beige) !important; box-shadow: none !important; transform: none; font-size: 11px; font-weight: 600; letter-spacing: .5px; }
.single-product .summary .product_title { margin: 0 0 6px !important; font: 700 clamp(40px, 3.4vw, 64px)/1 var(--h-font) !important; font-stretch: 75% !important; -webkit-text-stroke: .03em #000; letter-spacing: -.01em !important; }
.single-product .summary .woocommerce-product-rating { margin: 0 0 18px !important; }
.single-product .summary .star-rating span::before { color: #000; }
.single-product .s-quickfacts { gap: 6px; }
.single-product .s-quickfacts > div { padding: 10px 12px; border: 0; border-radius: 12px; background: var(--h-beige); }
.single-product .s-quickfacts dt { font-size: 11px; letter-spacing: .5px; font-weight: 600; text-transform: none; }
.single-product .s-quickfacts dd { font-size: 15px; }
.single-product .s-quickfacts .seeds-icon { color: #000; }

/* Packs as a list of rows, the reference's portion picker. */
.single-product form.cart.variations_form, .single-product form.cart { margin: 18px 0 0 !important; padding: 0 !important; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.single-product .seeds-pack-label { font-size: 16px; }
.single-product .s-packs { grid-template-columns: 1fr; gap: 8px; }
.single-product .s-pack { grid-template-columns: 1fr auto; padding: 14px 16px; border: 1.5px solid #E3DDD2; border-radius: 12px; background: #fff; box-shadow: none !important; transform: none !important; }
.single-product .s-pack:hover { border-color: #000; }
.single-product .s-pack:has(input:checked) { border: 2px solid #000; background: #fff; }
.single-product .s-pack__name em { display: inline; margin-left: 6px; color: #135400; }
.single-product .s-pack__save { background: #000; }
.single-product .s-pack__flag { background: var(--h-lime); color: #000; }
.single-product .s-buy__now { font-size: 32px; }
.single-product .s-buy__off { border: 0; background: var(--h-lime); }
.single-product .s-bonus-hint { border-radius: 12px; background: #FFF0DD; }
body.single-product div.product form.cart .quantity { border: 1.5px solid #000; }
body.single-product div.product form.cart .single_add_to_cart_button {
	min-height: 52px !important; border: 0 !important; background: var(--h-yellow) !important; box-shadow: none !important;
	font: 700 16px/1 var(--h-font) !important; letter-spacing: .02em; text-transform: uppercase;
}
body.single-product div.product form.cart .single_add_to_cart_button:hover { transform: none; box-shadow: inset 0 0 0 99px rgba(255, 255, 255, .2) !important; }
/* Service facts as the grey strip that closes the reference's buy card. */
.single-product .s-trust { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 18px; margin: 22px -32px 0; padding: 18px 32px; background: #F5F5F5; }
.single-product .s-trust li { grid-template-columns: 28px 1fr; gap: 10px; font-size: 13px; color: #444; }
.single-product .s-trust .seeds-icon { width: 28px; height: 28px; padding: 4px; border: 0; border-radius: 8px; background: #fff; }
.single-product .summary .s-textlink { display: block; margin: 0 -32px; padding: 0 32px 18px; background: #F5F5F5; font-size: 13px; }

/* Below: band, then sections on beige inside the 1520 px container. */
.single-product .h-checker { margin: 0; }
.h-pdp-band { padding: 40px var(--h-pad) 44px; background: var(--h-pink); }
.h-pdp-band__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 220px)); justify-content: center; gap: 32px 60px; }
.h-pdp-band__item { display: grid; justify-items: center; text-align: center; }
.h-pdp-band__item .h-doodle { width: 110px; height: 110px; margin: -13px 0; }
.h-pdp-band__title { margin: 16px 0 6px !important; font-size: 20px; font-weight: 700; }
.h-pdp-band__item p:last-child { margin: 0; font-size: 13px; line-height: 1.35; }
.single-product .s-pdp-more { gap: 64px; max-width: none; margin: 0; padding: 64px var(--h-pad) 0; box-sizing: border-box; }
.single-product .s-pdp-more .s-eyebrow, .single-product .s-pdp-more .s-section-head > p:first-child { display: none; }
.single-product .s-pdp-more h2 { font: 700 clamp(30px, 4.4vw, 60px)/1.3 var(--h-font) !important; font-stretch: 75% !important; -webkit-text-stroke: .03em #000; }
.single-product .s-sheet, .single-product .s-sheet-side, .single-product .s-faq details, .single-product .s-pdp-reviews #reviews ol.commentlist li .comment_container, .single-product .s-pdp-reviews #review_form_wrapper { border: 0; border-radius: 16px; background: #fff; }
.single-product .s-sheet-side { background: #FFF0DD; }
.single-product .s-pdp-faq { border: 0; border-radius: 16px; background: var(--h-cream); }
.single-product .s-faq summary::after { border-width: 1.5px; }
.single-product .s-faq details[open] summary::after { background: var(--h-lime); }
.single-product .related.products, .single-product .upsells.products { max-width: none; margin: 64px 0 0; padding: 0 var(--h-pad) 64px; box-sizing: border-box; }
.single-product .related.products > h2, .single-product .upsells.products > h2 { text-align: center; font: 700 clamp(30px, 4.4vw, 60px)/1.3 var(--h-font) !important; font-stretch: 75% !important; -webkit-text-stroke: .03em #000; }
.single-product .s-stickybuy { border: 0; border-radius: 16px; box-shadow: 0 12px 30px rgba(0, 0, 0, .18); }

@media (max-width: 1100px) { body.single-product.h-v3 div.product.ast-article-single { gap: 0 24px; } }
@media (max-width: 921px) {
	/* Phone: title first, then picture, then the buy card – the reference's order. */
	body.single-product.h-v3 div.product.ast-article-single { grid-template-columns: minmax(0, 1fr); row-gap: 20px; width: calc(100% - 24px); padding: calc(var(--h-head-h) + 20px) 0 28px; }
	.single-product .woocommerce-product-gallery { top: 0; }
	.single-product div.product > .summary { padding: 18px 18px 0 !important; }
	.single-product .s-trust { grid-template-columns: 1fr; margin: 18px -18px 0; padding: 16px 18px; }
	.single-product .summary .s-textlink { margin: 0 -18px; padding: 0 18px 16px; }
	.h-pdp-band { padding: 28px 20px 32px; }
	.h-pdp-band__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 12px; }
	.h-pdp-band__item .h-doodle { width: 64px; height: 64px; }
	.h-pdp-band__title { font-size: 16px; }
	.single-product .s-pdp-more { gap: 40px; padding: 40px var(--h-pad) 0; }
	.single-product .related.products, .single-product .upsells.products { padding: 0 var(--h-pad) 40px; }
}

/* Astra's single-product container is a white box with 48 px padding; v3 sections run edge to edge. */
.single-product.h-v3 .ast-woocommerce-container { padding: 0 !important; background: transparent !important; }
.single-product #respond input#submit, .single-product #review_form .submit { min-height: 48px; padding: 14px 28px !important; border: 0 !important; border-radius: 99px !important; background: var(--h-yellow) !important; color: #000 !important; font: 700 16px/1 var(--h-font) !important; text-transform: none !important; }
@media (max-width: 600px) { .single-product .s-quickfacts { grid-template-columns: 1fr; } }

/* Same compact THC treatment as catalogue cards; genetic profile stays plain text. */
.single-product .s-pdp-metrics { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 0 0 12px; }
.single-product .s-pdp-metric { display: inline-flex; align-items: baseline; gap: 4px; min-width: 0; color: #62625b; font-size: 12px; line-height: 1.5; }
.single-product .s-pdp-metric dt, .single-product .s-pdp-metric dd { margin: 0 !important; font-size: inherit; font-weight: 400; }
.single-product .s-pdp-metric--thc { padding: 2px 8px; border-radius: 2px; background: #e0f8d1; color: #174b16; }
.single-product .s-pdp-reference { margin: -4px 0 12px !important; color: #62625b; font-size: 11px; line-height: 1.45; }
.single-product .s-pdp-reference a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.single-product .s-pdp-sources details { padding-top: 12px; border-top: 1px solid #ded5c8; font-size: 12px; line-height: 1.55; }
.single-product .s-pdp-sources summary { cursor: pointer; font-weight: 600; }
.single-product .s-pdp-sources details p { margin: 12px 0 0; }
.single-product .s-pdp-sources a { color: inherit; text-decoration: underline; text-underline-offset: 2px; overflow-wrap: anywhere; }
.single-product .s-sheet > div, .single-product .s-quickfacts > div { min-width: 0; }
.single-product .s-sheet dd, .single-product .s-quickfacts dd { overflow-wrap: anywhere; }
