/* =========================================================================
   THE MOTHERHOOD — Product Detail Page (PDP). Loaded only on is_product().
   Definitive design system: Oat / Slate / Copper / Ivory, institutional box-cut.
   All colour from brand tokens, so the Customizer restyles this too.
   ========================================================================= */

/* --- Layout breathing room ------------------------------------------------ */
.single-product div.product { margin-top: 1.2rem; }
.single-product .woocommerce-breadcrumb { margin-bottom: 1.4rem; color: var(--tm-muted); font-size: .9rem; }

/* --- Gallery: clean rectangle, ivory, soft shadow ------------------------- */
.single-product .woocommerce-product-gallery { margin-bottom: 1.5rem; }
.single-product .woocommerce-product-gallery__image img {
	border-radius: var(--tm-radius);
	background: var(--tm-ivory);
	box-shadow: var(--tm-shadow);
	border: 1px solid var(--tm-line);
}
.single-product .woocommerce-product-gallery .flex-control-thumbs {
	display: flex; gap: .6rem; margin-top: .9rem; padding: 0; list-style: none;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs li { width: 64px; margin: 0; }
.single-product .woocommerce-product-gallery .flex-control-thumbs img {
	border-radius: var(--tm-radius); border: 1px solid var(--tm-line); opacity: .65; transition: opacity var(--tm-dur) var(--tm-ease);
}
.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active,
.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover { opacity: 1; }
.single-product .woocommerce-product-gallery__trigger { background: var(--tm-ivory); border: 1px solid var(--tm-line); border-radius: 50%; }

/* --- Summary --------------------------------------------------------------- */
.single-product .summary .product_title {
	font-family: var(--tm-font-head); color: var(--tm-slate); font-weight: 600;
	font-size: clamp(2rem, 4vw, 3rem); line-height: 1.12; letter-spacing: var(--tm-tracking-head); margin: 0 0 .5rem;
}
.single-product .summary .price,
.single-product .summary .price .woocommerce-Price-amount,
.single-product .summary .price ins .woocommerce-Price-amount {
	color: var(--tm-copper); font-family: var(--tm-font-body); font-weight: 700;
}
.single-product .summary .price { font-size: 1.9rem; margin: .2rem 0 1rem; }
.single-product .summary .price del { color: var(--tm-muted); font-weight: 400; font-size: 1.2rem; margin-right: .4rem; }
.single-product .summary .price del .woocommerce-Price-amount { color: var(--tm-muted); }
.single-product .summary .price ins { text-decoration: none; }
.single-product .summary .woocommerce-product-details__short-description {
	color: var(--tm-slate); font-size: 1.02rem; line-height: 1.7; margin-bottom: 1.1rem;
}
.single-product .summary .woocommerce-product-rating { margin-bottom: .8rem; }
.single-product .summary .star-rating span::before { color: var(--tm-copper); }

/* Safety badge (auto, by stage) — purity-badge style: ivory fill, copper rim */
.tm-safe-badge {
	display: inline-flex; align-items: center; gap: .5rem;
	background: var(--tm-ivory);
	color: var(--tm-slate);
	border: 1px solid var(--tm-copper);
	font-size: .82rem; font-weight: 600; letter-spacing: .02em;
	padding: .4rem .85rem; border-radius: 0; margin: 0 0 1rem;
}
.tm-safe-badge__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--tm-copper); }

/* Hero ingredient line */
.tm-hero-ing {
	display: flex; align-items: baseline; gap: .7rem;
	border-left: 3px solid var(--tm-copper);
	background: color-mix(in srgb, var(--tm-copper) 9%, transparent);
	padding: .7rem .95rem; border-radius: 0; margin: 0 0 1.2rem;
}
.tm-hero-ing__label { text-transform: uppercase; letter-spacing: .12em; font-size: .68rem; font-weight: 700; color: var(--tm-copper); white-space: nowrap; }
.tm-hero-ing__value { font-family: var(--tm-font-head); font-style: italic; font-size: 1.25rem; color: var(--tm-slate); }

/* Add-to-cart area */
.single-product .summary form.cart { margin: 1.2rem 0 1rem; display: flex; align-items: center; gap: .8rem; flex-wrap: wrap; }
.single-product .summary form.cart .quantity input.qty {
	height: 52px; width: 72px; border: 1px solid var(--tm-line); border-radius: var(--tm-radius);
	background: var(--tm-ivory); text-align: center; color: var(--tm-slate); font-weight: 600;
}
.single-product .summary form.cart .single_add_to_cart_button { flex: 1 1 auto; min-width: 220px; height: 52px; font-size: 1rem; letter-spacing: .08em; }
.single-product .summary .product_meta { margin-top: 1.2rem; padding-top: 1rem; border-top: 1px solid var(--tm-line); font-size: .85rem; color: var(--tm-muted); }
.single-product .summary .product_meta a { color: var(--tm-copper); }

/* Trust strip under Add-to-Cart */
.tm-trust-strip { list-style: none; margin: 1rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem .9rem; }
.tm-trust-strip li { display: inline-flex; align-items: center; font-size: .82rem; color: var(--tm-slate); margin: 0; }
.tm-trust-strip li::before { content: "✓"; color: var(--tm-copper); font-weight: 700; margin-right: .35rem; }

/* --- Tabs ------------------------------------------------------------------ */
.single-product .woocommerce-tabs { margin-top: 3rem; }
.single-product .woocommerce-tabs ul.tabs {
	display: flex; flex-wrap: wrap; gap: .4rem 1.6rem; padding: 0; margin: 0 0 1.6rem;
	border-bottom: 1px solid var(--tm-line); list-style: none;
}
.single-product .woocommerce-tabs ul.tabs::before,
.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after { display: none; }
.single-product .woocommerce-tabs ul.tabs li { background: transparent; border: 0; border-radius: 0; padding: 0; margin: 0; }
.single-product .woocommerce-tabs ul.tabs li a {
	display: inline-block; padding: .6rem .1rem; color: var(--tm-muted); font-weight: 600; font-size: .8rem;
	text-transform: uppercase; letter-spacing: .1em; border-bottom: 2px solid transparent; margin-bottom: -1px;
}
.single-product .woocommerce-tabs ul.tabs li.active a,
.single-product .woocommerce-tabs ul.tabs li a:hover { color: var(--tm-slate); border-bottom-color: var(--tm-copper); }
.single-product .woocommerce-tabs .panel { margin: 0; color: var(--tm-slate); line-height: 1.75; max-width: 760px; }
.single-product .woocommerce-tabs .panel h2 { font-family: var(--tm-font-head); color: var(--tm-slate); font-weight: 600; font-size: 1.6rem; margin: 0 0 .8rem; }
.tm-ing-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; }
.tm-ing-list li { position: relative; padding-left: 1.5rem; margin: 0; }
.tm-ing-list li::before { content: ""; position: absolute; left: 0; top: .55em; width: 7px; height: 7px; border-radius: 50%; background: var(--tm-copper); }

/* --- Related products ------------------------------------------------------ */
.single-product .related.products,
.single-product .upsells.products { margin-top: 3.5rem; padding-top: 2.2rem; border-top: 1px solid var(--tm-line); clear: both; }
.single-product .related.products > h2,
.single-product .upsells.products > h2 { font-family: var(--tm-font-head); color: var(--tm-slate); font-weight: 600; font-size: 2rem; text-align: center; margin-bottom: 1.8rem; }

/* --- Sticky mobile Add-to-Cart -------------------------------------------- */
.tm-sticky-atc {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 1200; display: none;
	align-items: center; gap: .8rem;
	padding: .6rem .9rem calc(.6rem + env(safe-area-inset-bottom, 0px));
	background: var(--tm-ivory); border-top: 1px solid var(--tm-line);
	box-shadow: 0 -8px 24px rgba(26, 37, 38, .12);
	transform: translateY(110%); transition: transform var(--tm-dur) var(--tm-ease);
}
.tm-sticky-atc.is-visible { transform: translateY(0); }
.tm-sticky-atc__info { display: flex; flex-direction: column; min-width: 0; flex: 1 1 auto; }
.tm-sticky-atc__title { font-size: .85rem; font-weight: 600; color: var(--tm-slate); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tm-sticky-atc__price { font-size: .95rem; color: var(--tm-copper); font-weight: 700; }
.tm-sticky-atc__price del { color: var(--tm-muted); font-weight: 400; margin-right: .3rem; }
.tm-sticky-atc__btn { flex: 0 0 auto; white-space: nowrap; }

@media (max-width: 768px) { .tm-sticky-atc { display: flex; } }
