/* Shared clean-edge artwork for both light and dark themes. */
.polymer-logo{background:transparent url('logo-approved-20260917.png') center/contain no-repeat!important;border:0!important;box-shadow:none!important;padding:0!important;aspect-ratio:1;overflow:hidden}
.polymer-logo>*{display:none!important}.polymer-logo::before,.polymer-logo::after{display:none!important}
.pp-mark{background:transparent url('logo-approved-20260917.png') center/contain no-repeat!important;border:0!important;box-shadow:none!important;color:transparent!important;overflow:hidden}
/* Light-mode branding: same geometry, pale artwork and readable teal accents. */
body.pp-light{color-scheme:light;--pp-bg:#f3f9fb;--pp-panel:#fff;--pp-panel-deep:#eaf3f6;--pp-ink:#102b39;--pp-muted:#49616f;--pp-line:rgba(16,43,57,.18);--pp-accent:#00798c;--pp-accent-soft:#006d80;--pp-copper:#98501f;--pp-mint:#14765e;--pp-violet:#6250ae}
body.pp-light .polymer-logo,body.pp-light .pp-mark{background-image:url('logo-approved-20260917.png')!important;mix-blend-mode:multiply}
body.pp-light .pp-element-tile,body.pp-light .woocommerce ul.products li.product{background:linear-gradient(145deg,#fff,#eaf3f6);border-color:var(--pp-line)}
body.pp-light .pp-element-tile:hover,body.pp-light .woocommerce ul.products li.product:hover{border-color:var(--pp-accent);box-shadow:0 8px 24px rgba(16,43,57,.12)}
body.pp-light .pp-toggle:focus-visible,body.pp-light .pp-filter:focus-visible{outline:3px solid var(--pp-accent);outline-offset:3px}

/* Light frame refinement: deeper teal with a restrained glow. */
body.pp-light .polymer-logo,body.pp-light .pp-mark{position:relative}
body.pp-light .polymer-logo::after,body.pp-light .pp-mark::after{content:"";display:block!important;position:absolute;inset:1%;width:auto;height:auto;top:1%;right:1%;border:2px solid #006478;background:transparent;box-shadow:0 0 9px rgba(0,121,140,.25),inset 0 0 6px rgba(0,121,140,.12);pointer-events:none;z-index:3}
body.pp-light .pp-mark::after{border-width:1px;box-shadow:0 0 4px rgba(0,121,140,.2)}

/* Research intro layout: heading left, logo right; stacked on mobile. */
.pp-research-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,380px);align-items:center;gap:clamp(32px,5vw,80px)}
.pp-research-intro>.pp-hero-copy{grid-column:1;grid-row:1}
.pp-research-intro>.polymer-logo{grid-column:2;grid-row:1;width:100%;max-width:380px;margin:0;justify-self:end}
.pp-research-intro .pp-display{font-size:clamp(3rem,6.5vw,7rem)}
@media(max-width:850px){.pp-research-intro{grid-template-columns:1fr;gap:32px}.pp-research-intro>.polymer-logo{grid-column:1;grid-row:2;width:min(100%,300px);justify-self:start}.pp-research-intro .pp-display{font-size:clamp(3rem,10vw,5rem)}}

/* Click-only PDF preview and full-document reader. */
#pp-doc-hover{left:auto;top:auto;right:20px;bottom:20px;width:min(360px,calc(100vw - 32px));height:min(370px,70dvh);padding:12px;pointer-events:auto;background:var(--pp-panel);border:1px solid var(--pp-accent);box-shadow:0 12px 40px rgba(0,0,0,.2);display:flex;flex-direction:column;gap:10px}
#pp-doc-hover[hidden]{display:none!important}
.pp-preview-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--pp-ink);font-size:13px}
.pp-preview-bar strong{min-width:0}
#pp-doc-hover button,.pp-full-pdf button,.pp-full-pdf>a{background:var(--pp-panel);color:var(--pp-ink);border:1px solid var(--pp-line);padding:10px;min-height:44px;cursor:pointer;font:inherit}
#pp-doc-hover button:focus-visible,.pp-full-pdf button:focus-visible,.pp-full-pdf a:focus-visible{outline:2px solid var(--pp-accent);outline-offset:2px}
#pp-doc-hover iframe,.pp-full-pdf iframe{width:100%;flex:1;min-height:0;border:0;background:#fff}
.pp-full-pdf{width:min(1100px,96vw);height:92dvh;max-width:96vw;max-height:94dvh;padding:16px;border:1px solid var(--pp-accent);background:var(--pp-panel);color:var(--pp-ink)}
.pp-full-pdf[open]{display:flex;flex-direction:column;gap:12px}
.pp-full-pdf::backdrop{background:rgba(3,8,16,.7)}
.pp-full-pdf>a{align-self:flex-start;font-size:13px}

/* Related category glow, shared by pointer hover and keyboard focus. */
.pp-periodic-grid .pp-element-tile{--pp-category-glow:var(--pp-accent)}
.pp-periodic-grid .pp-accent-mint{--pp-category-glow:var(--pp-mint)}
.pp-periodic-grid .pp-accent-violet{--pp-category-glow:var(--pp-violet)}
.pp-periodic-grid .pp-accent-copper{--pp-category-glow:var(--pp-copper)}
.pp-periodic-grid .pp-element-tile.pp-category-match{border-color:var(--pp-category-glow);outline:1px solid var(--pp-category-glow);outline-offset:-1px;box-shadow:0 0 17px color-mix(in srgb,var(--pp-category-glow) 30%,transparent),inset 0 0 20px color-mix(in srgb,var(--pp-category-glow) 9%,transparent)}
body.pp-light .pp-periodic-grid .pp-element-tile.pp-category-match{border-color:var(--pp-category-glow);box-shadow:0 0 12px color-mix(in srgb,var(--pp-category-glow) 22%,transparent),inset 0 0 16px color-mix(in srgb,var(--pp-category-glow) 7%,transparent)}
@media(prefers-reduced-motion:reduce){.pp-periodic-grid .pp-element-tile{transition:none}}

/* Stronger category selection without changing tile layout or PDF behavior. */
.pp-periodic-grid .pp-element-tile{transition:transform .18s ease,opacity .18s ease,box-shadow .18s ease,border-color .18s ease}
.pp-periodic-grid.pp-category-active .pp-element-tile:not(.pp-category-match){opacity:.58}
.pp-periodic-grid .pp-element-tile.pp-category-match{z-index:2;outline-width:2px;outline-offset:0;transform:translateY(-3px);background:linear-gradient(145deg,color-mix(in srgb,var(--pp-category-glow) 18%,var(--pp-panel)),var(--pp-panel-deep));box-shadow:0 0 24px color-mix(in srgb,var(--pp-category-glow) 48%,transparent),inset 0 0 24px color-mix(in srgb,var(--pp-category-glow) 15%,transparent)}
body.pp-light .pp-periodic-grid .pp-element-tile.pp-category-match{background:linear-gradient(145deg,color-mix(in srgb,var(--pp-category-glow) 14%,white),white);box-shadow:0 5px 20px color-mix(in srgb,var(--pp-category-glow) 32%,transparent),inset 0 0 18px color-mix(in srgb,var(--pp-category-glow) 10%,transparent)}
.pp-periodic-grid .pp-element-tile.pp-category-match .pp-element-symbol{font-weight:650}
@media(prefers-reduced-motion:reduce){.pp-periodic-grid .pp-element-tile{transition:none}.pp-periodic-grid .pp-element-tile.pp-category-match{transform:none}}

/* Category legend mirrors the tile palette in light and dark themes. */
.pp-category-legend{display:flex;flex-wrap:wrap;gap:12px;list-style:none;margin:0 0 24px;padding:0}
.pp-category-legend li{display:flex;align-items:center;gap:10px;padding:12px 16px;border:1px solid var(--pp-line);background:var(--pp-panel);color:var(--pp-ink);font-size:13px;font-weight:600;border-radius:6px;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}
.pp-legend-dot{width:11px;height:11px;flex:0 0 11px;border-radius:50%;background:var(--legend-color);box-shadow:0 0 7px color-mix(in srgb,var(--legend-color) 50%,transparent)}
.pp-category-legend li.is-category-active{border-color:var(--legend-color);background:color-mix(in srgb,var(--legend-color) 12%,var(--pp-panel));box-shadow:0 0 0 1px var(--legend-color),0 0 18px color-mix(in srgb,var(--legend-color) 28%,transparent)}
.pp-category-legend .is-category-active .pp-legend-dot{box-shadow:0 0 0 3px color-mix(in srgb,var(--legend-color) 18%,transparent),0 0 14px var(--legend-color)}
@media(prefers-reduced-motion:reduce){.pp-category-legend li{transition:none}}

/* Selectable category legend uses native, keyboard-accessible buttons. */
.pp-category-legend li:has(button){padding:0}
.pp-category-legend button{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:12px 16px;border:0;border-radius:5px;background:transparent;color:inherit;font:inherit;cursor:pointer}
.pp-category-legend button:hover{background:color-mix(in srgb,var(--legend-color) 9%,transparent)}
.pp-category-legend button:focus-visible{outline:3px solid var(--legend-color);outline-offset:3px}
.pp-category-legend button[aria-pressed="true"]{font-weight:800}

/* Legal identity override: the site identity is Polymer Brands LLC, not the web address. */
.polymer-logo {
  background: linear-gradient(145deg, #0c2837, #030b12 72%) !important;
  border: 2px solid var(--pp-accent) !important;
  box-shadow: 0 0 18px color-mix(in srgb, var(--pp-accent) 38%, transparent), inset 0 0 34px rgba(32,214,233,.09) !important;
  padding: 24px !important;
}
.polymer-logo > * { display: initial !important; }
.polymer-logo > .peptide-chain { display: block !important; }
.polymer-logo > strong,
.polymer-logo > .polymer-logo-number,
.polymer-logo > .polymer-logo-name,
.polymer-logo > small { display: block !important; }
.polymer-logo::before { display: block !important; }
.polymer-logo::after { display: block !important; }
.pp-mark {
  background: transparent !important;
  border: 1px solid rgba(32,214,233,.47) !important;
  box-shadow: inset 0 0 20px rgba(32,214,233,.11) !important;
  color: var(--pp-accent) !important;
}
body.pp-light .polymer-logo {
  background: linear-gradient(145deg, #ffffff, #e8f3f6 72%) !important;
  mix-blend-mode: normal;
  border-color: #006478 !important;
}
body.pp-light .polymer-logo > strong { color: #102b39; text-shadow: 0 0 14px rgba(0,121,140,.18); }
body.pp-light .polymer-logo .polymer-logo-name { color: #153947; }
body.pp-light .polymer-logo > small { color: #49616f; }
body.pp-light .pp-mark { background: transparent !important; color: #006478 !important; mix-blend-mode: normal; }

/* Pb lockup: retain the legal company name and the dimensional peptide chain. */
.pp-mark { text-transform:none !important; }
.polymer-logo--display > strong { text-transform:none !important; letter-spacing:-.055em; }
.polymer-logo--display .polymer-logo-name { margin-top:28px; }
.polymer-logo--display > small { text-transform:uppercase; letter-spacing:.16em; }

/* Final Pb artwork uses the preserved molecular string from the original Pp mark. */
.polymer-logo {
  background: transparent url('logo-approved-20260917.png') center/contain no-repeat !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.polymer-logo > * { display:none !important; }
.polymer-logo::before,.polymer-logo::after { display:none !important; }
body.pp-light .polymer-logo {
  background-image:url('logo-approved-20260917.png') !important;
  mix-blend-mode:multiply;
  border:0 !important;
  box-shadow:none !important;
}

/* Suppress the retired code-built lockup beneath the final raster artwork. */
.polymer-logo.polymer-logo--display > *,
body.pp-light .polymer-logo.polymer-logo--display > * { display:none !important; }
.polymer-logo.polymer-logo--display::before,
.polymer-logo.polymer-logo--display::after,
body.pp-light .polymer-logo.polymer-logo--display::before,
body.pp-light .polymer-logo.polymer-logo--display::after { content:none !important; display:none !important; border:0 !important; box-shadow:none !important; }

.polymer-logo.polymer-logo--display,
body.pp-light .polymer-logo.polymer-logo--display {
  background-position:center !important;
  background-size:contain !important;
  background-repeat:no-repeat !important;
}

/* Approved master logo: 2026-09-17 */
.polymer-logo,body.pp-light .polymer-logo,.pp-mark,body.pp-light .pp-mark {
 background:transparent url('logo-approved-20260917.png') center/contain no-repeat!important;
 border:0!important;box-shadow:none!important;padding:0!important;color:transparent!important;mix-blend-mode:normal!important;overflow:hidden;
}
.polymer-logo>*,body.pp-light .polymer-logo>*,.pp-mark>*,body.pp-light .pp-mark>*{display:none!important}
.polymer-logo::before,.polymer-logo::after,body.pp-light .polymer-logo::before,body.pp-light .polymer-logo::after,.pp-mark::before,.pp-mark::after,body.pp-light .pp-mark::before,body.pp-light .pp-mark::after{display:none!important;content:none!important}

/* Dedicated dark master: 2026-09-17 */
body:not(.pp-light) .polymer-logo,body:not(.pp-light) .pp-mark{background-image:url('logo-approved-dark-20260917.png')!important;mix-blend-mode:normal!important}
body.pp-light .polymer-logo,body.pp-light .pp-mark{background-image:url('logo-approved-20260917.png')!important;mix-blend-mode:normal!important}
