/* Current vial pixels displayed against Onyx; no artwork or labels are changed. */
.onyx-theme{--onyx-vial-clip:polygon(40% 19.93%,46% 19.7%,54% 19.7%,60% 19.93%,62% 20.2%,63.2% 21.1%,63.25% 25.3%,62.15% 25.65%,62% 29.5%,61.6% 30.55%,59.85% 31.35%,59.65% 35.7%,60.4% 36.85%,61.6% 37.7%,62.8% 39%,63.6% 40.5%,64.15% 42.2%,64.25% 81.9%,63.8% 83.6%,63% 84.5%,61.3% 85.15%,58% 85.65%,42% 85.65%,38.7% 85.15%,37% 84.5%,36.2% 83.6%,35.9% 81.9%,35.9% 44.8%,36.1% 42%,36.7% 40.3%,37.6% 38.8%,39.5% 37.1%,40.6% 36%,40.65% 31.3%,39% 30.7%,38.4% 29.7%,38.3% 25.7%,37.1% 25.3%,37.1% 21.1%,38% 20.4%)}
.onyx-theme .product-wrap .pd{grid-template-areas:"gallery info" "reports info" "desc info";row-gap:22px}
.onyx-theme .product-wrap .pd>.report-panel{grid-area:reports;margin:0}
.onyx-theme .pd-gal .big.p3-gal-stage{background:radial-gradient(ellipse at 50% 32%,#2b363a,#141d21 63%,#0c1215);border-color:var(--onyx-border);height:440px;min-height:0;aspect-ratio:auto;overflow:hidden}
.onyx-theme .pd-gal .p3-gal-track{height:100%}
.onyx-theme .pd-gal .p3-gal-slide{position:relative;overflow:hidden}
.onyx-theme .pd-gal .big.p3-gal-stage .p3-gal-img[src*="/uploads/2026/09/vial-"]{position:absolute;width:auto;height:142%;max-width:none;max-height:none;aspect-ratio:1;left:50%;top:50%;transform:translate(-50%,-53%);object-fit:fill;clip-path:var(--onyx-vial-clip);mix-blend-mode:normal;filter:drop-shadow(10px 10px 7px #0005)}
.onyx-theme .pd-gal .p3-gal-thumbs{gap:10px;margin-top:12px;justify-content:center}
.onyx-theme .pd-gal .p3-gal-thumbs>li{flex:0 1 72px;max-width:72px}
.onyx-theme .pd-gal .p3-gal-thumb{border-radius:8px;background:var(--onyx-surface);overflow:hidden}
.onyx-theme .pd-gal .p3-gal-thumb img[src*="/uploads/2026/09/vial-"]{clip-path:var(--onyx-vial-clip);transform:scale(1.35);mix-blend-mode:normal}
.onyx-theme .onyx-pdp-documentation{display:flex;align-items:center;justify-content:space-between;background:var(--accent);border:1px solid var(--accent);color:#062327;font-weight:600;font-size:14px;padding:14px 18px;border-radius:12px;margin:18px 0;text-decoration:none;min-height:48px}
.onyx-theme .product-wrap .buy-panel{border-radius:12px}
.onyx-theme .product-wrap .pd-info h1{font-family:'Inter Tight',Arial,sans-serif;font-weight:600;font-size:42px;letter-spacing:-.025em}
.onyx-theme .pp-card .cimg{position:relative;background:radial-gradient(ellipse at 50% 40%,#253034,#141d21 75%);overflow:hidden}
.onyx-theme .pp-card .cimg img[src*="/uploads/2026/09/vial-"]{position:absolute;height:135%;width:auto;max-width:none;max-height:none;aspect-ratio:1;left:50%;top:50%;transform:translate(-50%,-53%);clip-path:var(--onyx-vial-clip);object-fit:fill;mix-blend-mode:normal;filter:drop-shadow(5px 6px 4px #0004)}
.onyx-theme .saved-media{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 35%,#263035,#141d21 75%)}
.onyx-theme .saved-media img[src*="/uploads/2026/09/vial-"]{clip-path:var(--onyx-vial-clip);transform:scale(1.3);mix-blend-mode:normal}
@media(max-width:900px){.onyx-theme .product-wrap .pd{grid-template-areas:"gallery" "info" "reports" "desc";row-gap:20px}.onyx-theme .pd-gal .big.p3-gal-stage{height:330px}.onyx-theme .product-wrap .pd-info h1{font-size:32px}.onyx-theme .product-wrap .buy-panel{padding:20px}.onyx-theme .product-wrap .crumb{padding-top:18px;margin-bottom:16px}.onyx-theme .pd-gal .p3-gal-thumbs>li{max-width:52px}.onyx-theme .product-wrap .pd-gal{margin-bottom:0}}
@media(max-width:900px){
  html[data-theme=dark] body.single-product{--nav-h:66px}
  html[data-theme=dark] .single-product .onyx-header #searchOpen.onyx-search-trigger{order:1;flex:0 0 42px;width:42px;min-width:42px;min-height:48px;height:48px;padding:11px;margin:0;border:0;background:transparent}
  html[data-theme=dark] .single-product .onyx-header #searchOpen.onyx-search-trigger>span{display:none}
  .onyx-theme.single-product .pd-gal .big.p3-gal-stage{height:305px}
  .onyx-theme.single-product .product-wrap .crumb{font-size:10px;padding-top:15px;margin-bottom:14px}
}
.onyx-theme #reports{scroll-margin-top:calc(var(--nav-h) + 20px)}
/* Keep phone cards readable as a complete unit; box tools appear in build mode. */
@media(max-width:680px){
  .onyx-theme .pp-card .card-title-row{min-height:0;margin-bottom:5px}
  .onyx-theme .pp-card .cformat{min-height:0;line-height:1.4;margin-bottom:12px}
  .onyx-theme .pp-card .report-state{min-height:0;line-height:1.4;margin-bottom:14px;padding-block:0}
  .onyx-theme .pp-card .card-compare-row{margin-top:6px}
  .onyx-theme .pp-card .card-compare-row .compare-toggle{min-height:44px;height:44px;font-size:12px}
  .onyx-theme.p3box-on:not(.p3box-active) .pp-card .pp-box{display:none}
}

/* Legacy square renders use one known silhouette in every shopping context.
 * Scope to the original September asset path; future transparent renders keep
 * their own proportions and should use distinct filenames. */
.onyx-theme :is(.p3-search-shot,.reports-page .rs-thumb){overflow:hidden}
.onyx-theme .p3-search-shot img[src*="/uploads/2026/09/vial-"],
.onyx-theme .mr-shot img[src*="/uploads/2026/09/vial-"],
.onyx-theme .pc-line-thumb img[src*="/uploads/2026/09/vial-"],
.onyx-theme .reports-page .reports-well.rs-on .rs-thumb img[src*="/uploads/2026/09/vial-"],
.onyx-theme .woocommerce-mini-cart-item img[src*="/uploads/2026/09/vial-"],
.onyx-theme.woocommerce-cart table.cart .product-thumbnail img[src*="/uploads/2026/09/vial-"]{
  clip-path:var(--onyx-vial-clip);transform:scale(1.3);transform-origin:center;
  object-fit:fill;mix-blend-mode:normal;border:0;border-radius:0;background:transparent;
}
.onyx-theme .compare-product-image{position:relative;overflow:hidden}
.onyx-theme .compare-product-image img[src*="/uploads/2026/09/vial-"]{
  position:absolute;left:50%;top:50%;height:130%;width:auto;max-width:none;max-height:none;
  aspect-ratio:1;object-fit:fill;transform:translate(-50%,-53%);
  clip-path:var(--onyx-vial-clip);mix-blend-mode:normal;border:0;border-radius:0;
  filter:drop-shadow(4px 6px 4px #0004);
}
.onyx-theme .p3-lightbox img[src*="/uploads/2026/09/vial-"]{
  clip-path:var(--onyx-vial-clip);transform:scale(1.25);transform-origin:center;
  mix-blend-mode:normal;border:0;border-radius:0;background:transparent;
  filter:drop-shadow(8px 12px 8px #0005);
}
/* Reserve a dark media slot when WooCommerce has no approved product image. */
.onyx-theme .onyx-reserved-thumbnail{display:inline-block;width:64px;height:64px;flex:none;vertical-align:middle;border:1px solid var(--onyx-border);border-radius:8px;background:var(--onyx-surface)}
.onyx-theme .woocommerce-mini-cart-item .onyx-reserved-thumbnail,
.onyx-theme.woocommerce-cart table.cart .onyx-reserved-thumbnail{width:56px;height:56px}

.onyx-theme .pc-line-thumb{height:48px;overflow:hidden}
.onyx-theme .pc-line-thumb .onyx-reserved-thumbnail{width:48px;height:48px}
/* Woo's floated thumbnails and clearfix pseudo-elements do not belong in the
 * drawer grid. Reserve explicit cells for identity, removal and quantity. */
.onyx-theme .woocommerce-mini-cart-item{
  display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:start;gap:7px 10px;
  min-height:0;margin:0;padding:16px 0;font-size:13px;line-height:1.5;
}
.onyx-theme .woocommerce-mini-cart-item::before,
.onyx-theme .woocommerce-mini-cart-item::after{content:none!important;display:none!important}
.onyx-theme .woocommerce-mini-cart-item>a.remove{
  grid-column:2;grid-row:1;position:static;display:grid;place-items:center;
  width:44px;height:44px;min-width:44px;min-height:44px;margin:0;padding:0;float:none;
}
.onyx-theme .woocommerce-mini-cart-item>a:not(.remove){
  grid-column:1;grid-row:1;display:grid;grid-template-columns:56px minmax(0,1fr);
  align-items:start;column-gap:12px;row-gap:3px;min-width:0;float:none;
  font-size:14px;font-weight:550;line-height:1.5;overflow-wrap:anywhere;
}
.onyx-theme .woocommerce-mini-cart-item>a:not(.remove)>:is(img,.onyx-reserved-thumbnail,.peptpro-gift-thumbnail){
  grid-column:1;grid-row:1/3;align-self:start;display:block;float:none;
  width:56px!important;height:56px!important;max-width:none;min-width:0;margin:0;
}
.onyx-theme .woocommerce-mini-cart-item>a:not(.remove)>.tier-applied{
  grid-column:2;grid-row:2;display:block;margin:0;font-size:11px;font-weight:400;line-height:1.5;color:var(--onyx-muted);
}
.onyx-theme .woocommerce-mini-cart-item>.quantity{
  grid-column:1;grid-row:2;display:block;width:auto;min-width:0;min-height:0;height:auto;
  margin:0;padding:0 0 0 68px;overflow:visible;border:0;border-radius:0;background:none;
  font-size:12px;font-weight:400;line-height:1.5;color:var(--onyx-muted);white-space:normal;
}
.onyx-theme .woocommerce-mini-cart-item>.quantity .amount{display:inline;color:var(--onyx-ink);white-space:nowrap}
/* A missing product image should free its search-result column for the name. */
.onyx-theme .p3-search-option>.p3-search-body:first-child{grid-column:1/3}
/* Optional Woo variation details get their own wide row, never the remove cell. */
.onyx-theme .woocommerce-mini-cart-item>dl.variation{
  grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:max-content minmax(0,1fr);
  gap:3px 6px;min-width:0;margin:0;padding:0 0 0 68px;border:0;
  font-size:11px;line-height:1.5;color:var(--onyx-muted);
}
.onyx-theme .woocommerce-mini-cart-item>dl.variation :is(dt,dd){float:none;margin:0;padding:0;min-width:0;overflow-wrap:anywhere}
.onyx-theme .woocommerce-mini-cart-item>dl.variation dd p{margin:0}
.onyx-theme .woocommerce-mini-cart-item>dl.variation~.quantity{grid-row:3}
