/* Cenvia — single product: gallery left, buy box right, details below. */

.product-entry-wrapper { align-items: flex-start; gap: var(--space-8); }
.product-entry-wrapper > * { min-width: 0; }
@media (min-width: 769px) {
	html .woocommerce-product-gallery { position: sticky; top: calc(var(--compliance-bar-height) + var(--header-height) + var(--space-6)); }
}
.ct-product-gallery-container { max-width: 480px; margin: 0 auto; }
.woocommerce-product-gallery .ct-media-container { background: var(--c-bg); border-radius: var(--radius-lg); overflow: hidden; }
.woocommerce-product-gallery img { object-fit: contain; }
.flexy-pills { margin-top: var(--space-3); }

/* Summary card */
.summary.entry-summary { position: relative; background: var(--c-surface); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); border: 1px solid var(--c-line); padding: var(--space-6); }
.cenvia-product-category { font-family: var(--font-mono); font-size: var(--fs-caption); letter-spacing: 0.1em; text-transform: uppercase; margin: 0 0 var(--space-2); }
.cenvia-product-category a { color: var(--c-accent); text-decoration: none; }
.summary .product_title { font-size: clamp(1.75rem, 1.4rem + 1vw, 2.4rem); margin-bottom: var(--space-2); }
.cenvia-product-cas { display: flex; gap: var(--space-2); align-items: baseline; margin: 0 0 var(--space-4); font-size: var(--fs-small); color: var(--c-ink-muted); }
.cenvia-product-cas .cenvia-data { color: var(--c-ink); }
.summary .price, .summary .cenvia-price { display: none; } /* one price display: the buy box */
.summary .woocommerce-product-details__short-description { color: var(--c-ink-muted); font-size: var(--fs-small); margin: 0 0 var(--space-5); padding-bottom: var(--space-5); border-bottom: 1px solid var(--c-line); }
.summary .woocommerce-product-details__short-description p { max-width: none; margin: 0; }
.summary .product_meta, .summary .star-rating, .summary .woocommerce-product-rating { display: none; }

/* Buy box */
.cenvia-buy__top { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); margin-bottom: var(--space-4); }
.cenvia-buy__chip { font-size: var(--fs-caption); }
form.variations_form table.variations { width: 100%; border-collapse: collapse; margin: 0 0 var(--space-4); }
form.variations_form table.variations tr:not([hidden]) { display: block; }
form.variations_form table.variations tr[hidden] { display: none; }
table.variations th.label, table.variations td.value { display: block; width: auto; padding: 0; border: none; text-align: left; }
table.variations th.label label { font-weight: 700; font-size: var(--fs-small); color: var(--c-ink); margin-bottom: var(--space-2); display: block; }
table.variations a.reset_variations { display: none !important; }
.cenvia-visually-hidden-select { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.cenvia-size-chips { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.cenvia-size-chip { background: var(--c-surface); border: 1.5px solid var(--c-line-strong); border-radius: 10px; padding: 0.55rem var(--space-4); font-weight: 700; font-size: var(--fs-small); color: var(--c-ink); cursor: pointer; transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease; min-width: 72px; text-align: center; }
.cenvia-size-chip:hover { border-color: var(--c-ink); }
.cenvia-size-chip.is-active { background: var(--c-ink); border-color: var(--c-ink); color: #fff; }
.cenvia-size-chip--static { cursor: default; }

/* Tier cards */
.cenvia-tiers { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-2); margin: var(--space-2) 0 var(--space-2); }
.cenvia-tier { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: var(--space-3) var(--space-3) var(--space-3); border: 1.5px solid var(--c-line-strong); border-radius: var(--radius-card); background: var(--c-surface); cursor: pointer; text-align: left; font-family: var(--font-body); transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease, transform 0.15s var(--ease-premium); min-height: 92px; }
.cenvia-tier:hover { border-color: var(--c-ink); transform: translateY(-1px); }
.cenvia-tier.is-active { background: var(--c-ink); border-color: var(--c-ink); }
.cenvia-tier__save { position: absolute; top: -9px; right: var(--space-2); background: var(--c-ok); color: #fff; font-size: 0.6875rem; font-weight: 700; padding: 2px 8px; border-radius: var(--radius-pill); }
.cenvia-tier__label { font-weight: 700; font-size: var(--fs-caption); color: var(--c-ink-muted); text-transform: uppercase; letter-spacing: 0.04em; }
.cenvia-tier__total { font-weight: 800; font-size: var(--fs-body); color: var(--c-ink); font-variant-numeric: tabular-nums; margin-top: auto; }
.cenvia-tier__per { font-size: var(--fs-caption); color: var(--c-ink-muted); font-variant-numeric: tabular-nums; }
.cenvia-tier.is-active .cenvia-tier__label, .cenvia-tier.is-active .cenvia-tier__per { color: rgba(255, 255, 255, 0.75); }
.cenvia-tier.is-active .cenvia-tier__total { color: #fff; }
.cenvia-tiers__note { font-size: var(--fs-caption); color: var(--c-ink-muted); margin: 0 0 var(--space-4); max-width: none; }

/* Single price display */
.cenvia-buy__price { display: flex; flex-direction: column; gap: 2px; margin: 0 0 var(--space-4); padding: var(--space-4); background: var(--c-bg); border-radius: var(--radius-card); }
.cenvia-buy__price-main { display: flex; align-items: baseline; gap: var(--space-2); }
.cenvia-buy__price-amount { font-weight: 900; font-size: var(--fs-h3); color: var(--c-ink); font-variant-numeric: tabular-nums; letter-spacing: -0.01em; }
.cenvia-buy__price-amount .woocommerce-Price-amount { font: inherit; }
.cenvia-buy__price-unit { font-weight: 600; font-size: var(--fs-small); color: var(--c-ink-muted); }
.cenvia-buy__price-sub { font-size: var(--fs-small); color: var(--c-ink-muted); font-variant-numeric: tabular-nums; display: flex; align-items: baseline; gap: var(--space-2); flex-wrap: wrap; }
.cenvia-buy__price-sub [data-price-total] { color: var(--c-ink); font-weight: 700; }
.cenvia-buy__price-was del { color: var(--c-ink-muted); }
.cenvia-buy__price-pct { display: inline-block; background: var(--c-ok-tint); color: var(--c-ok); font-weight: 700; font-size: var(--fs-caption); padding: 1px 8px; border-radius: var(--radius-pill); }
.woocommerce-variation.single_variation, .woocommerce-variation-price, .woocommerce-variation-availability, .woocommerce-variation-description { display: none !important; }

/* Quantity + add to cart */
.quantity[data-type] { display: inline-flex !important; flex-direction: row !important; align-items: center !important; flex-wrap: nowrap !important; width: auto !important; height: 3rem !important; border: 1px solid var(--c-line-strong); border-radius: var(--radius-pill); overflow: hidden; margin: 0; background: var(--c-surface); }
.quantity[data-type] .qty { order: 0; flex: none !important; width: 3.25rem !important; height: 100% !important; padding: 0 !important; border: none !important; text-align: center; font-weight: 700; background: transparent !important; font-size: var(--fs-body); }
.quantity[data-type] .ct-increase, .quantity[data-type] .ct-decrease { position: static !important; inset: auto !important; display: flex !important; flex: none !important; align-items: center; justify-content: center; width: 2.5rem; height: 100% !important; cursor: pointer; background: transparent !important; color: var(--c-ink) !important; }
.quantity[data-type] .ct-decrease { order: -1; }
.quantity[data-type] .ct-increase { order: 1; }
.quantity[data-type] .ct-increase:hover, .quantity[data-type] .ct-decrease:hover { background: var(--c-bg) !important; }
.quantity[data-type] .ct-increase::before, .quantity[data-type] .ct-decrease::before { content: '' !important; display: block; width: 11px; height: 11px; font-size: 0; background-repeat: no-repeat; background-position: center; background-size: contain; }
.quantity[data-type] .ct-increase::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111418' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") !important; }
.quantity[data-type] .ct-decrease::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111418' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E") !important; }
html .ct-cart-actions { display: flex; align-items: center; flex-wrap: nowrap; gap: var(--space-3); margin: 0 0 var(--space-4); }
html .ct-cart-actions .quantity { height: 3rem; width: auto; flex: none; margin: 0; }
.woocommerce button.single_add_to_cart_button.button, a.single_add_to_cart_button.button {
	background: var(--c-accent); border: 1px solid var(--c-accent); color: #fff; font-weight: 800; border-radius: var(--radius-pill); height: 3rem; min-height: 3rem; padding: 0 var(--space-6); display: inline-flex; align-items: center; justify-content: center; flex: 1; width: auto; font-size: var(--fs-body); transition: background-color 0.15s ease, transform 0.15s var(--ease-premium);
}
.woocommerce button.single_add_to_cart_button.button:hover { background: var(--c-accent-hover); border-color: var(--c-accent-hover); transform: translateY(-1px); }
.woocommerce button.single_add_to_cart_button.button.disabled, .woocommerce button.single_add_to_cart_button.button:disabled { background: var(--c-line-strong); border-color: var(--c-line-strong); color: var(--c-ink-muted); opacity: 1; cursor: not-allowed; transform: none; }
.summary .stock { display: none; }

/* RUO line (plugin text, theme placement) */
.summary .cenvia-ruo-notice { display: flex; align-items: flex-start; gap: var(--space-2); margin: 0 0 var(--space-4); padding: 0; background: none; border: none; font-size: var(--fs-caption); color: var(--c-ink-muted); line-height: 1.5; max-width: none; }
.summary .cenvia-ruo-notice::before { content: ''; flex: none; width: 14px; height: 14px; margin-top: 2px; background-repeat: no-repeat; background-size: contain; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234a7296' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3h6M10 3v5.2a2 2 0 0 1-.4 1.2L5.6 15.8A2 2 0 0 0 7.2 19h9.6a2 2 0 0 0 1.6-3.2L14 9.4a2 2 0 0 1-.4-1.2V3'/%3E%3C/svg%3E"); }

/* Dispatch line */
.cenvia-dispatch { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); border-radius: var(--radius-card); background: var(--c-accent-tint); color: var(--c-ink); font-weight: 600; font-size: var(--fs-small); margin: 0 0 var(--space-4); }
.cenvia-dispatch .cenvia-icon { color: var(--c-accent); width: 18px; height: 18px; }
.cenvia-dispatch.is-live { background: var(--c-ok-tint); color: #145a29; }
.cenvia-dispatch.is-live .cenvia-icon { color: var(--c-ok); }
.cenvia-dispatch[data-mode="unavailable"] { background: var(--c-bg); color: var(--c-ink-muted); }
.cenvia-dispatch__text { font-variant-numeric: tabular-nums; }

/* Trust row */
.cenvia-buy__trust { list-style: none; margin: 0; padding: var(--space-4) 0 0; border-top: 1px solid var(--c-line); display: grid; gap: var(--space-2); }
.cenvia-buy__trust li, .cenvia-buy__trust a { display: flex; align-items: center; gap: var(--space-2); font-size: var(--fs-small); color: var(--c-ink-muted); text-decoration: none; }
.cenvia-buy__trust a:hover { color: var(--c-accent); }
.cenvia-buy__trust .cenvia-icon { color: var(--c-accent); width: 17px; height: 17px; }

/* COA card under the buy box: card styles live in commerce.css (shared with the COA page lookup) */
.cenvia-pdp-coa { margin-top: var(--space-5); }

/* Details section */
.cenvia-details { background: var(--c-surface); border-top: 1px solid var(--c-line); margin-top: var(--space-8); }
.cenvia-details__inner { max-width: var(--container-max); margin: 0 auto; padding: var(--space-8) var(--container-pad); display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-8); align-items: start; }
.cenvia-details__about h2 { margin-bottom: var(--space-4); }
.cenvia-details__description p { color: var(--c-ink-muted); line-height: 1.75; max-width: 68ch; }
.cenvia-details__description p:last-child { font-size: var(--fs-small); border-top: 1px solid var(--c-line); padding-top: var(--space-4); }
.cenvia-details__h { display: flex; align-items: center; gap: var(--space-2); font-size: var(--fs-lead); margin: 0 0 var(--space-3); }
.cenvia-details__h .cenvia-icon { color: var(--c-accent); }
.cenvia-spec-table { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: var(--fs-small); border: 1px solid var(--c-line); border-radius: var(--radius-card); overflow: hidden; margin: 0 0 var(--space-6); }
.cenvia-spec-table th, .cenvia-spec-table td { text-align: left; padding: var(--space-3) var(--space-4); vertical-align: top; }
.cenvia-spec-table tr:nth-child(even) { background: var(--c-bg); }
.cenvia-spec-table th { width: 38%; font-weight: 500; color: var(--c-ink-muted); }
.cenvia-spec-table td { color: var(--c-ink); word-break: break-word; overflow-wrap: anywhere; }
.cenvia-spec-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.cenvia-spec-sku { font-family: var(--font-mono); font-size: var(--fs-caption); color: var(--c-ink-muted); }
.cenvia-storage { border: 1px solid var(--c-line); border-radius: var(--radius-card); padding: var(--space-5); background: var(--c-accent-tint); }
.cenvia-storage p { color: var(--c-ink); margin: 0 0 var(--space-2); max-width: none; }
.cenvia-storage__note { font-size: var(--fs-caption); color: var(--c-ink-muted) !important; margin-bottom: 0 !important; }

/* Related */
.related.products { background: var(--c-bg); border-top: 1px solid var(--c-line); }
.related.products > .ct-container, .related.products { padding-top: var(--space-8); padding-bottom: var(--space-8); }
.related.products .ct-module-title { font-size: var(--fs-h3); margin-bottom: var(--space-5); }

/* Sticky bar: mobile only */
.cenvia-sticky-buy { position: fixed; left: 0; right: 0; bottom: 0; z-index: 550; display: none; align-items: center; justify-content: space-between; gap: var(--space-3); background: var(--c-surface); border-top: 1px solid var(--c-line); box-shadow: 0 -8px 24px -12px rgba(17, 20, 24, 0.14); padding: var(--space-3) var(--space-4); transform: translateY(100%); transition: transform 0.3s var(--ease-premium); }
@media (max-width: 768px) { .cenvia-sticky-buy:not([hidden]) { display: flex; } .cenvia-sticky-buy.is-visible { transform: translateY(0); } }
.cenvia-sticky-buy__info { display: flex; flex-direction: column; min-width: 0; }
.cenvia-sticky-buy__name { font-weight: 800; font-size: var(--fs-small); color: var(--c-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cenvia-sticky-buy__price { font-weight: 600; font-size: var(--fs-caption); color: var(--c-ink-muted); }
.cenvia-sticky-buy__cta { flex: none; }
.cenvia-anchor { display: block; height: 0; }

/* Reviews (dormant until real) */
#reviews .cenvia-review-guidelines { background: var(--c-bg); border: 1px solid var(--c-line); border-radius: var(--radius-card); padding: var(--space-4); font-size: var(--fs-small); color: var(--c-ink-muted); }

@media (max-width: 1024px) { .cenvia-tiers { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 900px) { .cenvia-details__inner { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); } .cenvia-details__inner > * { min-width: 0; } .product-entry-wrapper { gap: var(--space-5); } .ct-product-gallery-container { max-width: 320px; } }
@media (max-width: 480px) { .summary.entry-summary { padding: var(--space-4); border-radius: var(--radius-card); } .cenvia-tiers { grid-template-columns: repeat(2, 1fr); } .cenvia-coa-card__head { flex-direction: column; } .cenvia-coa-card__purity { text-align: left; } html .ct-cart-actions { flex-wrap: wrap; } .woocommerce button.single_add_to_cart_button.button { width: 100%; } }

/* Next-tier prompt: one click to the tier that costs less or about the same */
.cenvia-tier-prompt { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; width: 100%; margin: calc(-1 * var(--space-2)) 0 var(--space-4); padding: var(--space-3) var(--space-4); border: 1.5px solid var(--c-ok); border-radius: var(--radius-card); background: var(--c-ok-tint); color: #145a29; cursor: pointer; text-align: left; font-family: var(--font-body); transition: background-color 0.15s ease, transform 0.15s var(--ease-premium); }
.cenvia-tier-prompt:hover { background: #d9f0e0; transform: translateY(-1px); }
.cenvia-tier-prompt[hidden] { display: none; }
.cenvia-tier-prompt__label { font-weight: 800; font-size: var(--fs-body); font-variant-numeric: tabular-nums; }
.cenvia-tier-prompt__label::before { content: '↑ '; }
.cenvia-tier-prompt__note { font-size: var(--fs-caption); font-weight: 600; opacity: 0.85; }
