/* =============================================================================
 * zphcstore-v1 — SINGLE PRODUCT (PDP)
 *
 * Every number here was measured off the source: source-cdp/merged.css,
 * source-cdp/design-tokens.json and the _shots/pdp-*.png tiles.
 *   h1 .product-title        1.7em / 1.3 / #555, Montserrat   (h1{font-size:1.7em})
 *   h1 ≤549px                1.4em
 *   .is-divider              3px tall, max-width 30px, rgba(0,0,0,.1)
 *   .breadcrumbs             12.8px / 700 / uppercase / #222, links rgba(102,102,102,.7)
 *   .breadcrumbs .divider    opacity .35, margin 0 .3em
 *   .product-info .price     1.5em bolder, margin .5em 0
 *   currency symbol          .75em, vertical-align top (".product-summary ...")
 *   del span.amount          font-weight 400, opacity .6, margin-right .3em
 *   .product_meta            .8em, each span border-top 1px dotted #ddd, padding 5px 0
 *   .product-info p.stock    .8em / 700 / 1.3, margin-bottom 1em
 *   gallery image            border-radius 12.5px
 *   .product-footer tabs     border-top 1px #ececec, padding 30px 0, nav pulled -31px
 *   sticky bar               fixed bottom, rgba(255,255,255,.9), border-top #ddd,
 *                            z-index 20, img 45x45 radius 5, title max-width 180px
 *
 * ⚠️ SPECIFICITY. woocommerce.css IS enqueued on this build and the PDP wrapper
 * carries `product` (from wc_product_class) inside a `.woocommerce` body, so
 * selectors like `.woocommerce div.product p.price` (0,3,2) and
 * `.woocommerce div.product .stock` (0,3,1) apply by default — Woo's green
 * #77a464 price and purple #7f54b3 stars. Overrides below are deliberately
 * written at (0,4,x) under `.zphc-pdp` so they win on class count regardless of
 * stylesheet order.
 * ========================================================================== */

/* -----------------------------------------------------------------------------
 * 1. Page shell
 * -------------------------------------------------------------------------- */
.zphc-pdp {
	background: var(--zphc-white);
}

.zphc-pdp .zphc-pdp__main {
	padding: 24px 0 40px;
}

.zphc-pdp .zphc-pdp__cols {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 30px;
	align-items: start;
}

/* ⛔ THE SQUEEZED-COLUMN DEFECT — the same family as LOCKED STANDARD #1's
 * squeezed My-Account rail, and it was invisible until the boxes were measured.
 *
 * woocommerce-LAYOUT.css ships
 *   `.woocommerce #content div.product div.summary,
 *    .woocommerce div.product div.summary { float:right; width:48%; clear:none }`
 * at (0,3,2). The summary column keeps Woo's `summary` / `entry-summary`
 * classes (the source does too), so as a grid item the float is ignored but
 * `width:48%` is NOT: the right column rendered **254px** inside a 530px track
 * at 1440 while the gallery sat at a correct 530px. Nothing overflowed and
 * nothing looked obviously broken in the HTML — `measure_pdp.py` caught it.
 *
 * Written at (0,4,0) so it wins on class count whatever the stylesheet order.
 */
.zphc-pdp .zphc-pdp__product .zphc-pdp__cols .zphc-pdp-summary,
.zphc-pdp .zphc-pdp__product .zphc-pdp__cols .zphc-pdp-gallery {
	float: none;
	clear: none;
	width: auto;
	min-width: 0;
	max-width: none;
}

/* Woo wraps the notice list in this; keep it off the grid. */
.zphc-pdp .woocommerce-notices-wrapper {
	max-width: var(--zphc-container);
	margin: 0 auto;
	padding: 0 var(--zphc-container-pad);
}

@media (max-width: 849px) {
	.zphc-pdp .zphc-pdp__cols {
		grid-template-columns: minmax(0, 1fr);
		gap: 18px;
	}

	.zphc-pdp .zphc-pdp__main { padding: 14px 0 28px; }
}

/* -----------------------------------------------------------------------------
 * 2. Gallery
 * -------------------------------------------------------------------------- */
.zphc-pdp .zphc-pdp-gallery {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 12px;
	min-width: 0;
}

@media (min-width: 850px) {
	.zphc-pdp .zphc-pdp-gallery--multi {
		grid-template-columns: 76px minmax(0, 1fr);
	}
}

.zphc-pdp .zphc-pdp-gallery__thumbs {
	display: flex;
	flex-direction: row;
	gap: 8px;
	min-width: 0;
	overflow-x: auto;
	scrollbar-width: none;
	order: 2;
}

.zphc-pdp .zphc-pdp-gallery__thumbs::-webkit-scrollbar { display: none; }

@media (min-width: 850px) {
	.zphc-pdp .zphc-pdp-gallery__thumbs {
		flex-direction: column;
		overflow: visible;
		order: 0;
	}
}

.zphc-pdp .zphc-pdp-gallery__thumb {
	flex: 0 0 auto;
	width: 72px;
	padding: 2px;
	background: #fff;
	border: 1px solid transparent;
	border-radius: var(--zphc-r);
	cursor: pointer;
	line-height: 0;
	transition: border-color .2s var(--zphc-ease);
}

.zphc-pdp .zphc-pdp-gallery__thumb img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: var(--zphc-r-sm);
}

.zphc-pdp .zphc-pdp-gallery__thumb.is-active,
.zphc-pdp .zphc-pdp-gallery__thumb:hover {
	border-color: var(--zphc-border-strong);
}

.zphc-pdp .zphc-pdp-gallery__stage {
	position: relative;
	min-width: 0;
	order: 1;
}

.zphc-pdp .zphc-pdp-gallery__slide {
	display: none;
	margin: 0;
}

.zphc-pdp .zphc-pdp-gallery__slide.is-active { display: block; }

.zphc-pdp .zphc-pdp-gallery__slide img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--zphc-r-gallery);
	cursor: zoom-in;
}

.zphc-pdp .zphc-pdp-gallery__nav,
.zphc-pdp .zphc-pdp-gallery__zoom {
	position: absolute;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 1px solid rgba(0, 0, 0, .15);
	border-radius: var(--zphc-r-round);
	background: rgba(255, 255, 255, .92);
	color: #666;
	cursor: pointer;
	transition: opacity .25s var(--zphc-ease), color .2s var(--zphc-ease), border-color .2s var(--zphc-ease);
}

.zphc-pdp .zphc-pdp-gallery__nav svg { width: 10px; height: 14px; fill: currentColor; }
.zphc-pdp .zphc-pdp-gallery__zoom svg { width: 15px; height: 15px; fill: currentColor; }

.zphc-pdp .zphc-pdp-gallery__nav:hover,
.zphc-pdp .zphc-pdp-gallery__zoom:hover {
	color: var(--zphc-primary);
	border-color: var(--zphc-primary);
}

.zphc-pdp .zphc-pdp-gallery__nav {
	top: 50%;
	transform: translateY(-50%);
	opacity: 0;
}

.zphc-pdp .zphc-pdp-gallery__nav--prev { left: 8px; }
.zphc-pdp .zphc-pdp-gallery__nav--next { right: 8px; }

.zphc-pdp .zphc-pdp-gallery__stage:hover .zphc-pdp-gallery__nav,
.zphc-pdp .zphc-pdp-gallery__nav:focus-visible { opacity: 1; }

.zphc-pdp .zphc-pdp-gallery__zoom { left: 10px; bottom: 10px; }

@media (max-width: 549px) {
	.zphc-pdp .zphc-pdp-gallery__zoom { display: none; }   /* source: hide-for-small */
	.zphc-pdp .zphc-pdp-gallery__nav { opacity: 1; }
	.zphc-pdp .zphc-pdp-gallery__thumb { width: 64px; }
}

/* Lightbox (built by zphc-product.js) */
.zphc-pdp-lightbox {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 40px 16px;
	background: rgba(11, 11, 11, .9);
}

.zphc-pdp-lightbox[hidden] { display: none; }

.zphc-pdp-lightbox__img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	border-radius: var(--zphc-r);
	background: #fff;
}

.zphc-pdp-lightbox__btn {
	position: absolute;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: var(--zphc-r-round);
	background: rgba(255, 255, 255, .14);
	color: #fff;
	cursor: pointer;
}

.zphc-pdp-lightbox__btn:hover { background: rgba(255, 255, 255, .28); }
.zphc-pdp-lightbox__btn svg { width: 16px; height: 16px; fill: currentColor; }
.zphc-pdp-lightbox__btn--close { top: 14px; right: 14px; }
.zphc-pdp-lightbox__btn--prev { left: 14px; top: 50%; transform: translateY(-50%); }
.zphc-pdp-lightbox__btn--next { right: 14px; top: 50%; transform: translateY(-50%); }

/* -----------------------------------------------------------------------------
 * 3. Summary column
 * -------------------------------------------------------------------------- */
.zphc-pdp .zphc-pdp-summary {
	min-width: 0;
	padding-top: 10px;
	text-align: left;
}

/* Breadcrumb — 3 classes so it beats .woocommerce .woocommerce-breadcrumb */
.zphc-pdp .zphc-pdp-summary .zphc-pdp-breadcrumb {
	margin: 0 0 .5em;
	padding: 0;
	font-family: var(--zphc-font-body);
	font-size: var(--zphc-fs-xs);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: uppercase;
	color: #222;
}

.zphc-pdp .zphc-pdp-summary .zphc-pdp-breadcrumb a { color: rgba(102, 102, 102, .7); font-weight: 400; }
.zphc-pdp .zphc-pdp-summary .zphc-pdp-breadcrumb a:hover { color: #111; }
.zphc-pdp .zphc-pdp-summary .zphc-pdp-breadcrumb .divider { margin: 0 .3em; opacity: .35; font-weight: 300; }

/* Title */
.zphc-pdp .zphc-pdp-summary .zphc-pdp-title {
	margin: 0 0 .5em;
	padding: 0;
	font-family: var(--zphc-font-head);
	font-size: 27.2px;
	font-weight: 700;
	line-height: 1.3;
	color: #555;
	width: 100%;
}

@media (max-width: 549px) {
	.zphc-pdp .zphc-pdp-summary .zphc-pdp-title { font-size: 22.4px; }
}

.zphc-pdp .zphc-pdp-summary .zphc-pdp-divider {
	display: block;
	width: 100%;
	max-width: 30px;
	height: 3px;
	margin: .66em 0 1em;
	background-color: rgba(0, 0, 0, .1);
}

/* Rating */
.zphc-pdp .zphc-pdp-summary .zphc-pdp-rating {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 .5em;
	font-size: 13px;
}

.zphc-pdp .zphc-pdp__product .star-rating { float: none; margin: 0; }
.zphc-pdp .zphc-pdp__product .star-rating span { color: #f2b01e; }
.zphc-pdp .zphc-pdp-summary .woocommerce-review-link { color: #8a8a8a; }
.zphc-pdp .zphc-pdp-summary .woocommerce-review-link:hover { color: var(--zphc-primary); }

/* Price — (0,4,1) beats .woocommerce div.product p.price (0,3,2) and its green */
.zphc-pdp .zphc-pdp-summary .price-wrapper p.price {
	margin: .5em 0;
	padding: 0;
	border: 0;
	font-family: var(--zphc-font-body);
	font-size: 1.5em;
	font-weight: 700;
	line-height: 1.25;
	color: #111;
}

.zphc-pdp .zphc-pdp-summary .price-wrapper p.price .woocommerce-Price-currencySymbol {
	display: inline-block;
	font-size: .75em;
	vertical-align: top;
}

.zphc-pdp .zphc-pdp-summary .price-wrapper p.price span.amount { color: #111; font-weight: 700; white-space: nowrap; }
.zphc-pdp .zphc-pdp-summary .price-wrapper p.price del { text-decoration: line-through; }
.zphc-pdp .zphc-pdp-summary .price-wrapper p.price del span.amount { font-weight: 400; opacity: .6; margin-right: .3em; }
.zphc-pdp .zphc-pdp-summary .price-wrapper p.price ins { text-decoration: none; }

/* Short description */
.zphc-pdp .zphc-pdp-summary .zphc-pdp-short {
	margin: 0 0 1em;
	font-size: 16px;
	line-height: 1.6;
	color: var(--zphc-ink);
}

.zphc-pdp .zphc-pdp-summary .zphc-pdp-short p { margin: 0 0 .8em; }
.zphc-pdp .zphc-pdp-summary .zphc-pdp-short ul { margin: 0 0 .8em; padding-left: 20px; }
.zphc-pdp .zphc-pdp-summary .zphc-pdp-short ul[style*="list-style:none"],
.zphc-pdp .zphc-pdp-summary .zphc-pdp-short ul[style*="list-style: none"] { padding-left: 0; }
.zphc-pdp .zphc-pdp-summary .zphc-pdp-short li { margin-bottom: .35em; }
.zphc-pdp .zphc-pdp-summary .zphc-pdp-short strong { color: #111; }
.zphc-pdp .zphc-pdp-summary .zphc-pdp-short a { color: var(--zphc-primary); }
.zphc-pdp .zphc-pdp-summary .zphc-pdp-short svg { width: 18px; height: 18px; fill: var(--zphc-primary); }

/* Stock line — (0,4,1) beats .woocommerce div.product .stock (0,3,1) green */
.zphc-pdp .zphc-pdp-summary p.stock,
.zphc-pdp .zphc-pdp-summary .zphc-pdp-stock {
	margin: 0 0 1em;
	font-size: .8em;
	font-weight: 700;
	line-height: 1.3;
}

.zphc-pdp .zphc-pdp-summary p.stock.out-of-stock,
.zphc-pdp .zphc-pdp-summary p.stock.zphc-pdp-stock { color: var(--zphc-alert); }
.zphc-pdp .zphc-pdp-summary p.stock.in-stock { color: var(--zphc-success); }

/* -----------------------------------------------------------------------------
 * 4. Add to cart
 * -------------------------------------------------------------------------- */
.zphc-pdp .zphc-pdp-summary .zphc-pdp-cart { margin: 0 0 1.5em; }

.zphc-pdp .zphc-pdp-summary .zphc-pdp-cart__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-top: 1em;
}

/* Quantity stepper */
.zphc-pdp .zphc-qty {
	display: inline-flex;
	align-items: stretch;
	height: 40px;
	margin: 0;
	border: 1px solid var(--zphc-border-strong);
	border-radius: var(--zphc-r);
	background: #fff;
	overflow: hidden;
	white-space: nowrap;
	vertical-align: top;
}

.zphc-pdp .zphc-qty .zphc-qty__btn {
	width: 34px;
	padding: 0;
	border: 0;
	background: #f7f7f7;
	color: #555;
	font-family: var(--zphc-font-body);
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
	transition: background-color .2s var(--zphc-ease), color .2s var(--zphc-ease);
}

.zphc-pdp .zphc-qty .zphc-qty__btn:hover { background: var(--zphc-primary); color: #fff; }

.zphc-pdp .zphc-qty input.qty {
	width: 52px;
	min-width: 52px;
	max-width: 52px;
	margin: 0;
	padding: 0;
	border: 0;
	border-left: 1px solid var(--zphc-border-strong);
	border-right: 1px solid var(--zphc-border-strong);
	border-radius: 0;
	background: #fff;
	text-align: center;
	font-family: var(--zphc-font-body);
	font-size: 15px;
	color: var(--zphc-ink);
	-moz-appearance: textfield;
	appearance: textfield;
}

.zphc-pdp .zphc-qty input.qty::-webkit-inner-spin-button,
.zphc-pdp .zphc-qty input.qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }

/* ⛔ WOO PAINTS THIS BUTTON PURPLE. The source's markup is
 * `class="single_add_to_cart_button button alt"`, which is kept for fidelity —
 * but on this build woocommerce.css IS loaded, and
 *   `.woocommerce button.button.alt { background-color:#7f54b3; color:#fff }`
 * at (0,3,1) beats the shared `.zphc-btn` (0,1,0). The live PDP rendered a
 * #7f54b3 PURPLE "ADD TO CART" on a #0072bc brand-blue site. Caught by looking
 * at the screenshot, not the HTML. (Flatsome never hits this because it
 * dequeues woocommerce.css.)
 *
 * Restated at (0,4,0) for both the main form and the sticky bar.
 */
.zphc-pdp .zphc-pdp__product .zphc-pdp-cart .single_add_to_cart_button,
.zphc-pdp .zphc-pdp-sticky .zphc-pdp-sticky__form .single_add_to_cart_button {
	background: var(--zphc-primary);
	border: 2px solid var(--zphc-primary);
	border-radius: var(--zphc-r);
	color: var(--zphc-white);
	font-family: var(--zphc-font-body);
	font-weight: 700;
	letter-spacing: var(--zphc-ls-btn);
	text-transform: uppercase;
	text-decoration: none;
	text-shadow: none;
	box-shadow: none;
}

.zphc-pdp .zphc-pdp__product .zphc-pdp-cart .single_add_to_cart_button:hover,
.zphc-pdp .zphc-pdp-sticky .zphc-pdp-sticky__form .single_add_to_cart_button:hover {
	background: var(--zphc-secondary);
	border-color: var(--zphc-secondary);
	color: var(--zphc-white);
}

/* Geometry — also at (0,4,0), because Woo sets padding/line-height too. */
.zphc-pdp .zphc-pdp__product .zphc-pdp-cart .single_add_to_cart_button {
	float: none;
	height: 40px;
	margin: 0;
	padding: 0 28px;
	font-size: 14px;
	line-height: 36px;
	vertical-align: top;
}

.zphc-pdp .zphc-pdp-sticky .zphc-pdp-sticky__form .single_add_to_cart_button {
	float: none;
	height: 36px;
	margin: 0;
	padding: 0 18px;
	font-size: 12px;
	line-height: 32px;
}

.zphc-pdp .zphc-pdp__product .single_add_to_cart_button.disabled,
.zphc-pdp .zphc-pdp__product .single_add_to_cart_button[disabled] {
	opacity: .45;
	cursor: not-allowed;
}

.zphc-pdp .zphc-pdp__product .single_add_to_cart_button.is-loading { opacity: .6; pointer-events: none; }

/* Variations table */
.zphc-pdp .zphc-pdp-summary .zphc-pdp-variations {
	width: auto;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	position: relative;
}

.zphc-pdp .zphc-pdp-summary .zphc-pdp-variations th,
.zphc-pdp .zphc-pdp-summary .zphc-pdp-variations td {
	border: 0;
	padding: .2em 0;
	vertical-align: middle;
	text-transform: none;
	letter-spacing: normal;
	background: none;
}

.zphc-pdp .zphc-pdp-summary .zphc-pdp-variations th.label {
	padding-right: 20px;
	font-size: 14px;
	font-weight: 700;
	white-space: nowrap;
	text-align: left;
}

.zphc-pdp .zphc-pdp-summary .zphc-pdp-variations select {
	min-width: 180px;
	max-width: 100%;
	height: 40px;
	margin: 5px 0;
	padding: 0 28px 0 12px;
	border: 1px solid var(--zphc-border-strong);
	border-radius: var(--zphc-r);
	background-color: #fff;
	font-family: var(--zphc-font-body);
	font-size: 15px;
	color: #333;
}

.zphc-pdp .zphc-pdp-summary .zphc-pdp-reset {
	display: inline-block;
	margin-left: 10px;
	font-size: 11px;
	text-transform: uppercase;
	opacity: .6;
	color: currentColor;
}

.zphc-pdp .zphc-pdp-summary .woocommerce-variation-price {
	font-size: 1.2em;
	font-weight: 700;
}

.zphc-pdp .zphc-pdp-summary .woocommerce-variation-price:empty,
.zphc-pdp .zphc-pdp-summary .woocommerce-variation-availability:empty,
.zphc-pdp .zphc-pdp-summary .woocommerce-variation-description:empty { display: none; }

.zphc-pdp .zphc-pdp-summary .woocommerce-variation-availability p.stock { margin-bottom: .5em; }

/* -----------------------------------------------------------------------------
 * 5. Meta + share + next/prev
 * -------------------------------------------------------------------------- */
.zphc-pdp .zphc-pdp-summary .zphc-pdp-meta {
	margin: 0 0 1em;
	font-size: .8em;
	color: #777;
}

.zphc-pdp .zphc-pdp-summary .zphc-pdp-meta > span {
	display: block;
	padding: 5px 0;
	border-top: 1px dotted #ddd;
}

.zphc-pdp .zphc-pdp-summary .zphc-pdp-meta .sku { color: #333; }
.zphc-pdp .zphc-pdp-summary .zphc-pdp-meta a { color: var(--zphc-link); }
.zphc-pdp .zphc-pdp-summary .zphc-pdp-meta a:hover { color: var(--zphc-link-hover); }

.zphc-pdp .zphc-pdp-summary .zphc-pdp-share {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.zphc-pdp .zphc-pdp-summary .zphc-pdp-share__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border: 1px solid rgba(0, 0, 0, .15);
	border-radius: var(--zphc-r-round);
	color: #999;
	transition: background-color .2s var(--zphc-ease), color .2s var(--zphc-ease), border-color .2s var(--zphc-ease);
}

.zphc-pdp .zphc-pdp-summary .zphc-pdp-share__btn svg { width: 15px; height: 15px; fill: currentColor; }

.zphc-pdp .zphc-pdp-summary .zphc-pdp-share__btn:hover {
	background: var(--zphc-primary);
	border-color: var(--zphc-primary);
	color: #fff;
}

.zphc-pdp .zphc-pdp-summary .zphc-pdp-share__btn--small-only { display: none; }

@media (max-width: 849px) {
	.zphc-pdp .zphc-pdp-summary .zphc-pdp-share__btn--small-only { display: inline-flex; }
}

/* Next / previous product — the source shows this rail only ≤849px
 * (Flatsome `show-for-medium` on ul.next-prev-thumbs). */
.zphc-pdp .zphc-pdp-summary .zphc-pdp-nextprev {
	display: none;
	gap: 8px;
	margin: 0 0 .8em;
	padding: 0;
	list-style: none;
}

@media (max-width: 849px) {
	.zphc-pdp .zphc-pdp-summary .zphc-pdp-nextprev { display: flex; }
}

.zphc-pdp .zphc-pdp-nextprev__item { position: relative; }

.zphc-pdp .zphc-pdp-nextprev__item > a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border: 1px solid rgba(0, 0, 0, .15);
	border-radius: var(--zphc-r-round);
	color: #777;
}

.zphc-pdp .zphc-pdp-nextprev__item > a svg { width: 9px; height: 12px; fill: currentColor; }
.zphc-pdp .zphc-pdp-nextprev__item > a:hover { color: var(--zphc-primary); border-color: var(--zphc-primary); }

.zphc-pdp .zphc-pdp-nextprev__card {
	position: absolute;
	left: 0;
	top: calc(100% + 6px);
	z-index: 5;
	display: none;
	width: 200px;
	padding: 10px;
	background: #fff;
	border: 1px solid var(--zphc-border-strong);
	border-radius: var(--zphc-r);
	box-shadow: var(--zphc-sh-card);
	text-align: center;
}

.zphc-pdp .zphc-pdp-nextprev__item:hover .zphc-pdp-nextprev__card,
.zphc-pdp .zphc-pdp-nextprev__item:focus-within .zphc-pdp-nextprev__card { display: block; }

.zphc-pdp .zphc-pdp-nextprev__card img { display: block; width: 72px; height: auto; margin: 0 auto 6px; }
.zphc-pdp .zphc-pdp-nextprev__name { display: block; font-size: 12px; line-height: 1.3; color: var(--zphc-ink); }

/* -----------------------------------------------------------------------------
 * 6. Footer: tabs
 * -------------------------------------------------------------------------- */
.zphc-pdp .zphc-pdp__footer { padding-bottom: 40px; }

.zphc-pdp .zphc-pdp-tabs {
	border-top: 1px solid #ececec;
	margin: 0 0 10px;
}

.zphc-pdp .zphc-pdp-tabs__nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0 28px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.zphc-pdp .zphc-pdp-tabs__tab { margin: 0; padding: 0; border: 0; background: none; }

.zphc-pdp .zphc-pdp-tabs__tab > a {
	position: relative;
	display: block;
	padding: 16px 0;
	font-family: var(--zphc-font-body);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .02em;
	line-height: 1.2;
	text-transform: uppercase;
	color: #555;
}

.zphc-pdp .zphc-pdp-tabs__tab > a::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 0;
	right: 0;
	height: 3px;
	background: var(--zphc-primary);
	opacity: 0;
	transition: opacity .3s var(--zphc-ease);
}

.zphc-pdp .zphc-pdp-tabs__tab.active > a::before,
.zphc-pdp .zphc-pdp-tabs__tab > a:hover::before { opacity: 1; }
.zphc-pdp .zphc-pdp-tabs__tab.active > a { color: var(--zphc-primary); }

.zphc-pdp .zphc-pdp-tabs__panels { padding: 18px 0 0; }
.zphc-pdp .zphc-pdp-tabs__panel { display: none; }
.zphc-pdp .zphc-pdp-tabs__panel.active { display: block; }

/* Panel prose */
.zphc-pdp .zphc-pdp-tabs__panel {
	font-size: 16px;
	line-height: 1.6;
	color: var(--zphc-ink);
}

.zphc-pdp .zphc-pdp-tabs__panel > :first-child { margin-top: 0; }
.zphc-pdp .zphc-pdp-tabs__panel p { margin: 0 0 1em; }

.zphc-pdp .zphc-pdp-tabs__panel h2 {
	margin: 1.5em 0 .5em;
	font-family: var(--zphc-font-head);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.3;
	color: #111;
	width: 100%;
}

.zphc-pdp .zphc-pdp-tabs__panel h3 {
	margin: 1.3em 0 .5em;
	font-family: var(--zphc-font-head);
	font-size: 18px;
	font-weight: 700;
	color: #111;
}

.zphc-pdp .zphc-pdp-tabs__panel ul,
.zphc-pdp .zphc-pdp-tabs__panel ol { margin: 0 0 1em; padding-left: 20px; }
.zphc-pdp .zphc-pdp-tabs__panel li { margin-bottom: .4em; }
.zphc-pdp .zphc-pdp-tabs__panel a { color: var(--zphc-primary); text-decoration: underline; text-underline-offset: 2px; }
.zphc-pdp .zphc-pdp-tabs__panel img { max-width: 100%; height: auto; }

/* Additional-information table */
.zphc-pdp .zphc-pdp-tabs__panel table.shop_attributes {
	width: 100%;
	max-width: 680px;
	margin: 0;
	border-collapse: collapse;
	font-size: 14px;
}

.zphc-pdp .zphc-pdp-tabs__panel table.shop_attributes th,
.zphc-pdp .zphc-pdp-tabs__panel table.shop_attributes td {
	padding: 11px 13px;
	border: 1px solid var(--zphc-border-strong);
	text-align: left;
	vertical-align: top;
	font-style: normal;
}

.zphc-pdp .zphc-pdp-tabs__panel table.shop_attributes th {
	width: 220px;
	background: #f6f6f6;
	font-family: var(--zphc-font-head);
	font-weight: 600;
	color: #111;
}

.zphc-pdp .zphc-pdp-tabs__panel table.shop_attributes td p { margin: 0; }

@media (max-width: 549px) {
	.zphc-pdp .zphc-pdp-tabs__nav { gap: 0 18px; }
	.zphc-pdp .zphc-pdp-tabs__tab > a { font-size: 12px; padding: 14px 0; }
	.zphc-pdp .zphc-pdp-tabs__panel h2 { font-size: 20px; }
	.zphc-pdp .zphc-pdp-tabs__panel table.shop_attributes th { width: 40%; }
}

/* -----------------------------------------------------------------------------
 * 7. Reviews (WooCommerce's own #reviews markup, repainted)
 * -------------------------------------------------------------------------- */
.zphc-pdp #reviews { max-width: 820px; }
.zphc-pdp #reviews .woocommerce-Reviews-title { font-size: 18px; margin: 0 0 1em; }
.zphc-pdp #reviews ol.commentlist { margin: 0 0 2em; padding: 0; list-style: none; }

.zphc-pdp #reviews ol.commentlist li {
	margin: 0;
	padding: 18px 0;
	border-bottom: 1px solid #ececec;
	list-style: none;
}

.zphc-pdp #reviews .comment_container {
	display: flex;
	align-items: flex-start;
	gap: 14px;
}

.zphc-pdp #reviews img.avatar {
	width: 48px;
	height: 48px;
	border-radius: var(--zphc-r-round);
	border: 0;
	padding: 0;
	background: #f1f1f1;
}

.zphc-pdp #reviews .comment-text { flex: 1 1 auto; min-width: 0; margin: 0; padding: 0; border: 0; }
.zphc-pdp #reviews .comment-text p { margin: 0 0 .6em; }
.zphc-pdp #reviews .comment-text p.meta { font-size: 13px; color: #888; margin: 0 0 .5em; }
.zphc-pdp #reviews .comment-text .woocommerce-review__author { font-weight: 700; color: #111; }
.zphc-pdp #reviews .comment-text .woocommerce-review__verified { color: var(--zphc-success); font-style: normal; }
.zphc-pdp #reviews .comment-text .description { font-size: 15px; line-height: 1.65; }

.zphc-pdp #review_form_wrapper { padding-top: 6px; }
.zphc-pdp #reviews #respond .comment-reply-title { font-weight: 700; font-size: 16px; }

.zphc-pdp #reviews #respond input[type="text"],
.zphc-pdp #reviews #respond input[type="email"],
.zphc-pdp #reviews #respond textarea {
	width: 100%;
	max-width: 480px;
	padding: 10px 12px;
	border: 1px solid var(--zphc-border-strong);
	border-radius: var(--zphc-r);
	background: #fff;
	font-family: var(--zphc-font-body);
	font-size: 15px;
	box-sizing: border-box;
}

.zphc-pdp #reviews #respond textarea { max-width: 100%; }

.zphc-pdp #reviews #respond p.stars a { color: #f2b01e; }

.zphc-pdp #reviews #respond input#submit {
	display: inline-block;
	box-sizing: border-box;
	padding: 0 24px;
	height: 40px;
	border: 2px solid var(--zphc-primary);
	border-radius: var(--zphc-r);
	background: var(--zphc-primary);
	color: #fff;
	font-family: var(--zphc-font-body);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: var(--zphc-ls-btn);
	text-transform: uppercase;
	cursor: pointer;
}

.zphc-pdp #reviews #respond input#submit:hover {
	background: var(--zphc-secondary);
	border-color: var(--zphc-secondary);
}

/* -----------------------------------------------------------------------------
 * 8. Related products
 * -------------------------------------------------------------------------- */
.zphc-pdp .zphc-pdp-related {
	border-top: 1px solid #ececec;
	padding-top: 10px;
}

.zphc-pdp .zphc-pdp-section-title {
	margin: 0 0 14px;
	padding: 14px 0 7px;
	font-family: var(--zphc-font-head);
	font-size: 18px;
	font-weight: 700;
	letter-spacing: .05em;
	line-height: 1.2;
	text-transform: uppercase;
	color: #555;
}

.zphc-pdp .zphc-pdp-related__grid { --zphc-cols: 4; --zphc-cols-md: 3; --zphc-cols-sm: 2; }

/* -----------------------------------------------------------------------------
 * 9. Sticky add-to-cart bar
 * -------------------------------------------------------------------------- */
.zphc-pdp-sticky[hidden] { display: none; }

.zphc-pdp-sticky {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 20;
	padding: 3px;
	background: rgba(255, 255, 255, .95);
	border-top: 1px solid #ddd;
	box-shadow: 0 -2px 10px rgba(0, 0, 0, .06);
	transform: translateY(100%);
	transition: transform .3s var(--zphc-ease);
}

.zphc-pdp-sticky.is-active { transform: translateY(0); }

.zphc-pdp-sticky__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 10px;
	max-width: var(--zphc-container);
	margin: 0 auto;
	padding: 4px var(--zphc-container-pad);
	font-size: .9em;
}

.zphc-pdp-sticky__img {
	width: 45px;
	height: 45px;
	object-fit: cover;
	object-position: 50% 50%;
	border-radius: var(--zphc-r);
}

.zphc-pdp-sticky__title {
	max-width: 180px;
	margin: 0;
	line-height: 1.1;
	font-size: 13px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.zphc-pdp-sticky__price { margin: 0; font-size: 15px; font-weight: 700; color: #111; }
.zphc-pdp-sticky__price .woocommerce-Price-currencySymbol { font-size: .8em; vertical-align: top; }
.zphc-pdp-sticky__price del { display: none; }

.zphc-pdp-sticky__form {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
}

.zphc-pdp-sticky__form .zphc-qty { height: 36px; }
.zphc-pdp-sticky__form .zphc-qty .zphc-qty__btn { width: 30px; }
.zphc-pdp-sticky__form .zphc-qty input.qty { width: 44px; min-width: 44px; max-width: 44px; font-size: 14px; }
.zphc-pdp-sticky__form .zphc-btn { height: 36px; line-height: 32px; padding: 0 18px; }
.zphc-pdp-sticky__form .zphc-btn[disabled] { opacity: .45; cursor: not-allowed; pointer-events: none; }

@media (max-width: 849px) {
	.zphc-pdp-sticky__title { display: none; }     /* source: hide-for-small */
}

@media (max-width: 549px) {
	.zphc-pdp-sticky__img { display: none; }
	.zphc-pdp-sticky__inner { justify-content: space-between; gap: 8px; }
	.zphc-pdp-sticky__price { font-size: 14px; }
	.zphc-pdp-sticky__form .zphc-btn { padding: 0 14px; font-size: 11px; }
}
