.pd-layout {
  display:grid; grid-template-columns:1fr 1.2fr;
  gap:var(--space-16);
  padding-top:calc(var(--nav-height) + 48px);
  padding-bottom:var(--space-16);
  align-items:start;
}
.pd-media { position:sticky; top:calc(var(--nav-height) + 30px + 48px); }
.pd-media__frame {
  position:relative; background:var(--color-grey-100); border:1px solid var(--color-border);
  border-radius:var(--radius-2xl); padding:var(--space-10) var(--space-8);
  display:flex; align-items:center; justify-content:center;
  min-height:380px; overflow:hidden; cursor:crosshair; margin-bottom:var(--space-4);
  box-shadow:var(--shadow-card); transition:background var(--transition-base);
}
.pd-media__frame:hover { background:rgba(255,107,43,0.04); border-color:rgba(255,107,43,0.15); }
.pd-media__glow { position:absolute; width:260px; height:260px; background:radial-gradient(circle,rgba(255,107,43,0.08),transparent 70%); top:50%;left:50%;transform:translate(-50%,-50%); pointer-events:none; }
.pd-media__img { height:320px; width:auto; object-fit:contain; filter:drop-shadow(0 16px 32px rgba(0,0,0,0.15)); transition:transform 0.4s cubic-bezier(0.34,1.56,0.64,1); position:relative; z-index:1; }
.pd-media__badges { display:flex; gap:var(--space-2); flex-wrap:wrap; margin-bottom:var(--space-4); }
.pd-info__cat { font-size:10px; font-family:var(--font-mono); color:var(--color-accent); text-transform:uppercase; letter-spacing:var(--tracking-widest); margin-bottom:var(--space-2); }
.pd-info__name { font-size:clamp(var(--text-3xl),4vw,var(--text-5xl)); font-weight:var(--weight-black); letter-spacing:var(--tracking-tighter); line-height:var(--leading-tight); margin-bottom:var(--space-5); color:var(--color-ink); }
.pd-info__desc { font-size:var(--text-base); color:var(--color-text-secondary); line-height:var(--leading-relaxed); margin-bottom:var(--space-8); padding-left:var(--space-4); border-left:2px solid var(--color-border-accent); }

/* New spec grid */
.pd-spec-grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-3); margin-bottom:var(--space-8); padding:var(--space-5); background:var(--color-grey-100); border:1px solid var(--color-border); border-radius:var(--radius-xl); }
.pd-spec { display:flex; flex-direction:column; gap:4px; }
.pd-spec__label { font-size:9px; font-family:var(--font-mono); text-transform:uppercase; letter-spacing:var(--tracking-widest); color:var(--color-text-muted); }
.pd-spec__value { font-size:var(--text-sm); font-weight:var(--weight-medium); color:var(--color-ink); }

/* Old dl/dt/dd spec table (bpc-157, tb-500 etc.) */
.pd-specs { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-2) var(--space-4); margin-bottom:var(--space-6); padding:var(--space-4); background:var(--color-grey-100); border:1px solid var(--color-border); border-radius:var(--radius-xl); }
.pd-specs dt { font-size:9px; font-family:var(--font-mono); text-transform:uppercase; letter-spacing:var(--tracking-widest); color:var(--color-text-muted); }
.pd-specs dd { font-size:var(--text-sm); font-weight:var(--weight-medium); color:var(--color-ink); font-family:var(--font-mono); margin:0 0 var(--space-1); }
.pd-specs dd.mono { font-size:var(--text-xs); }

/* Lot selector */
.pd-lot-section { margin-bottom:var(--space-6); }
.pd-lot-label { font-size:10px; font-family:var(--font-mono); text-transform:uppercase; letter-spacing:var(--tracking-widest); color:var(--color-text-muted); margin-bottom:var(--space-3); }
.lot-selector { display:flex; gap:var(--space-2); flex-wrap:wrap; }
.lot-btn { padding:var(--space-2) var(--space-4); font-size:var(--text-xs); font-family:var(--font-mono); background:white; border:1px solid var(--color-border); border-radius:var(--radius-md); color:var(--color-grey-500); cursor:pointer; transition:all var(--transition-fast); box-shadow:var(--shadow-sm); font-weight:600; }
.lot-btn:hover { border-color:rgba(255,107,43,0.3); color:var(--color-accent); }
.lot-btn.active { background:rgba(255,107,43,0.08); border-color:var(--color-accent); color:var(--color-accent); }

/* Actions */
.pd-actions { display:flex; gap:var(--space-3); flex-wrap:wrap; margin-bottom:var(--space-6); }
.pd-disclaimer { font-size:var(--text-xs); color:var(--color-text-muted); line-height:var(--leading-relaxed); padding:var(--space-3) var(--space-4); background:rgba(255,107,43,0.04); border:1px solid rgba(255,107,43,0.12); border-radius:var(--radius-lg); }
.pd-ruo-note { display:flex; align-items:flex-start; gap:var(--space-2); font-size:var(--text-xs); color:var(--color-text-muted); background:rgba(255,107,43,0.04); border:1px solid rgba(255,107,43,0.12); border-radius:var(--radius-lg); padding:var(--space-3) var(--space-4); line-height:var(--leading-relaxed); }
.pd-ruo-note svg { flex-shrink:0; margin-top:1px; color:var(--color-accent); }

/* Pricing on request */
.pd-pricing-block { display:flex; align-items:center; justify-content:space-between; padding:var(--space-4) var(--space-5); background:var(--color-grey-100); border:1px solid var(--color-border); border-radius:var(--radius-xl); margin-bottom:var(--space-5); }
.pd-pricing-block__label { font-size:9px; font-family:var(--font-mono); text-transform:uppercase; letter-spacing:var(--tracking-widest); color:var(--color-text-muted); }
.pd-pricing-block__value { font-size:var(--text-sm); font-weight:var(--weight-bold); color:var(--color-ink); }
.pd-pricing-block__note { font-size:var(--text-xs); color:var(--color-text-muted); }

/* Research context */
.pd-research { margin-bottom:var(--space-6); }
.pd-research__title { font-size:var(--text-base); font-weight:var(--weight-bold); margin-bottom:var(--space-3); color:var(--color-ink); }
.pd-research__text { font-size:var(--text-sm); color:var(--color-text-secondary); line-height:var(--leading-relaxed); }

/* Purity bar */
.pd-purity { margin-bottom:var(--space-5); }
.pd-purity__header { display:flex; justify-content:space-between; margin-bottom:6px; }
.pd-purity__label { font-size:10px; font-family:var(--font-mono); text-transform:uppercase; letter-spacing:var(--tracking-widest); color:var(--color-text-muted); }
.pd-purity__value { font-size:var(--text-sm); font-weight:var(--weight-bold); color:var(--color-ink); font-family:var(--font-mono); }
.purity-bar__track { height:5px; background:var(--color-grey-200); border-radius:var(--radius-full); overflow:hidden; }
.purity-bar__fill { height:100%; background:linear-gradient(90deg,#FF6B2B,#FF8347); border-radius:var(--radius-full); transition:width 1s cubic-bezier(0.34,1.56,0.64,1); }

/* ── Related Compounds Grid ─────────────────────────────── */
.related-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-5);
}
.related-card {
  display:flex; flex-direction:column; align-items:center; text-decoration:none;
  background:white; border:1px solid var(--color-border); border-radius:var(--radius-2xl);
  padding:var(--space-5) var(--space-4);
  box-shadow:var(--shadow-sm);
  transition:all 0.2s cubic-bezier(0.34,1.56,0.64,1); text-align:center; overflow:hidden;
}
.related-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-card); border-color:rgba(255,107,43,0.2); }

/* !! KEY FIX: constrain all images inside related cards */
.related-card img,
.related-card__img {
  height:90px !important;
  width:auto !important;
  max-width:80% !important;
  object-fit:contain !important;
  display:block;
  margin:0 auto var(--space-4);
  filter:drop-shadow(0 4px 12px rgba(0,0,0,0.12));
}
.related-card__name { display:block; font-size:var(--text-sm); font-weight:var(--weight-bold); color:var(--color-ink); margin-bottom:4px; }
.related-card__cat { display:block; font-size:10px; font-family:var(--font-mono); color:var(--color-text-muted); text-transform:uppercase; letter-spacing:var(--tracking-widest); }
.related-card:hover .related-card__name { color:var(--color-accent); }

@media (max-width:900px) {
  .pd-layout { grid-template-columns:1fr; }
  .pd-media { position:static; }
  .pd-media__img { height:240px; }
  .related-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:520px) { .related-grid { grid-template-columns:1fr; } }

/* ═══════════════════════════════════════════════════════
   COA — Certificate of Analysis Section
   ═══════════════════════════════════════════════════════ */
.coa-section {
  background:var(--color-grey-100);
  border-top:1px solid var(--color-border);
  border-bottom:1px solid var(--color-border);
  padding:var(--space-16) 0;
}

/* Header */
.coa-section__header {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:var(--space-8);
  margin-bottom:var(--space-8);
  flex-wrap:wrap;
}
.coa-section__eyebrow {
  font-size:10px;
  font-family:var(--font-mono);
  text-transform:uppercase;
  letter-spacing:var(--tracking-widest);
  color:var(--color-accent);
  margin-bottom:var(--space-2);
}
.coa-section__title {
  font-size:clamp(var(--text-2xl),3vw,var(--text-4xl));
  font-weight:var(--weight-black);
  letter-spacing:var(--tracking-tighter);
  color:var(--color-ink);
  margin-bottom:var(--space-3);
}
.coa-section__title em { font-style:normal; color:var(--color-accent); }
.coa-section__sub {
  font-size:var(--text-sm);
  color:var(--color-text-secondary);
  line-height:var(--leading-relaxed);
  max-width:520px;
}

/* Stats */
.coa-stats {
  display:flex;
  gap:var(--space-4);
  flex-shrink:0;
}
.coa-stat {
  text-align:center;
  padding:var(--space-4) var(--space-5);
  background:white;
  border:1px solid var(--color-border);
  border-radius:var(--radius-xl);
  min-width:90px;
  box-shadow:var(--shadow-sm);
}
.coa-stat__value {
  font-size:var(--text-xl);
  font-weight:var(--weight-black);
  font-family:var(--font-mono);
  color:var(--color-ink);
  margin-bottom:4px;
}
.coa-stat__label {
  font-size:9px;
  font-family:var(--font-mono);
  text-transform:uppercase;
  letter-spacing:var(--tracking-widest);
  color:var(--color-text-muted);
}

/* Trust bar */
.coa-trust-bar {
  display:flex;
  align-items:center;
  gap:var(--space-3);
  flex-wrap:wrap;
  padding:var(--space-3) var(--space-5);
  background:white;
  border:1px solid var(--color-border);
  border-radius:var(--radius-xl);
  margin-bottom:var(--space-8);
  box-shadow:var(--shadow-sm);
}
.coa-trust-item {
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-size:11px;
  font-weight:var(--weight-semibold);
  color:var(--color-text-secondary);
}
.coa-trust-item svg { color:var(--color-accent); flex-shrink:0; }
.coa-trust-sep { color:var(--color-border); font-size:14px; }

/* Lot cards */
.coa-lots-list { display:flex; flex-direction:column; gap:var(--space-5); }

.coa-lot-card {
  background:white;
  border:1px solid var(--color-border);
  border-radius:var(--radius-2xl);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  transition:box-shadow var(--transition-base);
}
.coa-lot-card:hover { box-shadow:var(--shadow-card); }

.coa-lot-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:var(--space-5) var(--space-6);
  border-bottom:1px solid var(--color-border);
  gap:var(--space-4);
  flex-wrap:wrap;
  background:var(--color-grey-100);
}
.coa-lot-id {
  display:block;
  font-size:var(--text-sm);
  font-weight:var(--weight-bold);
  font-family:var(--font-mono);
  color:var(--color-ink);
  margin-bottom:4px;
}
.coa-lot-date {
  display:block;
  font-size:10px;
  font-family:var(--font-mono);
  color:var(--color-text-muted);
}

/* Spec grid */
.coa-spec-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  padding:0;
}
.coa-spec-item {
  padding:var(--space-4) var(--space-6);
  border-right:1px solid var(--color-border);
  border-bottom:1px solid var(--color-border);
}
.coa-spec-item:nth-child(3n) { border-right:none; }
.coa-spec-item:nth-last-child(-n+3) { border-bottom:none; }
.coa-spec-label {
  display:block;
  font-size:9px;
  font-family:var(--font-mono);
  text-transform:uppercase;
  letter-spacing:var(--tracking-widest);
  color:var(--color-text-muted);
  margin-bottom:4px;
}
.coa-spec-val {
  display:block;
  font-size:var(--text-sm);
  font-weight:var(--weight-semibold);
  color:var(--color-ink);
  font-family:var(--font-mono);
}

/* Pending note */
.coa-pending-note {
  display:flex;
  align-items:flex-start;
  gap:var(--space-2);
  font-size:var(--text-xs);
  color:var(--color-text-muted);
  padding:var(--space-4) var(--space-6);
  background:rgba(234,179,8,0.04);
  border-top:1px solid rgba(234,179,8,0.2);
  line-height:var(--leading-relaxed);
}
.coa-pending-note svg { color:#ca8a04; flex-shrink:0; margin-top:1px; }

/* Footer note */
.coa-footer-note {
  display:flex;
  align-items:flex-start;
  gap:var(--space-3);
  font-size:var(--text-xs);
  color:var(--color-text-muted);
  margin-top:var(--space-6);
  padding:var(--space-4) var(--space-5);
  background:white;
  border:1px solid var(--color-border);
  border-radius:var(--radius-xl);
  line-height:var(--leading-relaxed);
}
.coa-footer-note svg { color:var(--color-text-muted); }

/* Responsive */
@media (max-width:900px) {
  .coa-section__header { flex-direction:column; }
  .coa-stats { flex-wrap:wrap; }
  .coa-spec-grid { grid-template-columns:repeat(2,1fr); }
  .coa-spec-item:nth-child(3n) { border-right:1px solid var(--color-border); }
  .coa-spec-item:nth-child(2n) { border-right:none; }
  .coa-trust-sep { display:none; }
  .coa-trust-bar { gap:var(--space-2); }
}
@media (max-width:520px) {
  .coa-spec-grid { grid-template-columns:1fr; }
  .coa-spec-item { border-right:none !important; }
  .coa-lot-header { flex-direction:column; align-items:flex-start; }
}
