/* library.css — peptide library deep dives (/peptide-library/<slug>/)
   Loaded AFTER dosage.css; reuses .faq-*, .rel-*, .crumb from there. */

/* NOTE: .pl is used as `class="wrap pl"`. NEVER use the `padding` SHORTHAND here --
   it resets .wrap's horizontal gutters (32px / 18px @640) to 0 and the text hits
   the screen edge on mobile. Set vertical padding LONGHAND only. */
.pl{padding-top:34px;padding-bottom:70px;max-width:960px}

/* ---- hero ---- */
.pl-hero{display:grid;grid-template-columns:1fr 288px;gap:34px;align-items:start;
  padding-bottom:26px;border-bottom:1px solid var(--line)}
.pl-class{display:inline-block;font-family:var(--sans);font-size:11px;font-weight:700;
  letter-spacing:.13em;text-transform:uppercase;color:var(--red);margin-bottom:9px}
.pl-hero h1{font-family:var(--serif);font-size:44px;line-height:1.08;font-weight:600;
  letter-spacing:-.025em;margin:0 0 12px;color:var(--ink)}
.pl-one{font-size:17.5px;line-height:1.6;color:var(--ink-soft);margin:0 0 12px;max-width:58ch}
.pl-aka{font-size:13.5px;color:var(--ink-soft);opacity:.85;margin-bottom:14px}
.pl-themes{display:flex;flex-wrap:wrap;gap:8px}
.th-chip{display:inline-block;font-size:12px;font-weight:600;padding:5px 11px;border-radius:999px;
  background:rgba(30,36,56,.05);border:1px solid var(--line);color:var(--ink-soft);transition:.16s}
.th-chip:hover{background:var(--navy);border-color:var(--navy);color:#fff}

.pl-facts{background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:20px 22px;position:sticky;top:92px}
.pl-fact{display:flex;justify-content:space-between;align-items:baseline;gap:12px;
  padding:9px 0;border-bottom:1px solid var(--line)}
.pl-fact span{font-size:12.5px;color:var(--ink-soft)}
.pl-fact b{font-family:var(--sans);font-size:13.5px;font-weight:700;color:var(--ink);
  text-align:right;max-width:60%}
.pl-cta{display:block;margin-top:16px;text-align:center;background:var(--navy);color:#fff;
  font-size:13.5px;font-weight:700;padding:11px 14px;border-radius:10px;transition:.18s}
.pl-cta:hover{background:var(--red)}

/* ---- RUO notice ---- */
.pl-note{margin:24px 0 6px;padding:14px 18px;border-left:3px solid var(--gold);
  background:rgba(201,162,75,.07);font-size:13.5px;line-height:1.62;color:var(--ink-soft);
  border-radius:0 8px 8px 0}
.pl-note b{color:var(--ink)}

/* ---- sections ---- */
.pl-sec{padding:30px 0;border-bottom:1px solid var(--line)}
.pl-sec:last-of-type{border-bottom:0}
.pl-sec h2{font-family:var(--serif);font-size:27px;font-weight:600;letter-spacing:-.02em;
  margin:0 0 14px;color:var(--ink)}
.pl-sub{font-family:var(--sans);font-size:14px;font-weight:700;text-transform:uppercase;
  letter-spacing:.08em;color:var(--ink-soft);margin:24px 0 10px}
.pl-sec p{font-size:15.5px;line-height:1.72;color:var(--ink-soft);margin:0 0 14px;max-width:72ch}
.pl-lead{font-size:15px;color:var(--ink-soft);opacity:.9}
.pl-micro{font-size:13px;line-height:1.6;color:var(--ink-soft);opacity:.82;font-style:italic}
/* compound-specific note on how much weight the evidence carries.
   Deliberately NOT a warning colour: this is editorial context, not a disclaimer. */
.pl-evidence{margin-top:14px;padding:14px 16px;border-left:3px solid var(--gold);
  background:rgba(201,162,75,.07);border-radius:0 8px 8px 0;
  font-size:15px;line-height:1.62;color:var(--ink-soft)}

.ra-chips{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 12px}
.ra-chip{font-size:12.5px;font-weight:500;padding:6px 12px;border-radius:8px;
  background:rgba(30,36,56,.04);border:1px solid var(--line);color:var(--ink-soft)}

/* ---- literature table ---- */
.rp-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.rp-table{width:100%;border-collapse:collapse;min-width:520px}
.rp-table th{font-family:var(--sans);font-size:11px;font-weight:700;text-transform:uppercase;
  letter-spacing:.09em;color:var(--ink-soft);text-align:left;padding:12px 16px;
  background:rgba(30,36,56,.035);border-bottom:1px solid var(--line);white-space:nowrap}
.rp-table td{padding:13px 16px;font-size:14px;color:var(--ink-soft);
  border-bottom:1px solid var(--line);vertical-align:top}
.rp-table tr:last-child td{border-bottom:0}
.rp-ctx{font-weight:600;color:var(--ink);max-width:230px}
.rp-amt{font-family:var(--sans);font-weight:700;color:var(--ink);white-space:nowrap}
.rp-amt.rp-na{font-weight:600;color:#8a7a52;font-style:italic;white-space:normal;min-width:132px}
.rp-freq,.rp-route{white-space:nowrap;font-size:13.5px}

.pl-inline-cta{display:inline-block;margin-top:16px;font-size:14.5px;font-weight:700;
  color:var(--red);border-bottom:1px solid rgba(192,57,43,.3);padding-bottom:2px;transition:.16s}
.pl-inline-cta:hover{border-bottom-color:var(--red)}

/* ---- citations ---- */
.cite-list{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:10px}
.cite-list li{display:flex;justify-content:space-between;align-items:center;gap:14px;
  background:#fff;border:1px solid var(--line);border-radius:10px;padding:13px 16px}
.cite-list a{font-size:14.5px;line-height:1.5;color:var(--ink);font-weight:500;transition:.16s}
.cite-list a:hover{color:var(--red)}
.cite-src{font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  color:var(--ink-soft);border:1px solid var(--line);border-radius:999px;
  padding:3px 9px;white-space:nowrap;flex-shrink:0}

.pl-disc{margin-top:30px;padding:16px 20px;background:rgba(30,36,56,.035);
  border-radius:var(--radius);font-size:12.5px;line-height:1.65;color:var(--ink-soft)}

/* ---- library index (peptides.html) filter bar ---- */
.lf-bar{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin:0 0 10px}
.lf-chip{font-size:13px;font-weight:600;padding:8px 15px;border-radius:999px;cursor:pointer;
  background:#fff;border:1px solid var(--line);color:var(--ink-soft);transition:.16s}
.lf-chip:hover{border-color:var(--ink-soft);color:var(--ink)}
.lf-chip.on{background:var(--navy);border-color:var(--navy);color:#fff}
.lf-search{flex:1;min-width:210px;padding:9px 15px;border:1px solid var(--line);border-radius:999px;
  font-family:var(--sans);font-size:13.5px;color:var(--ink);background:#fff;outline:none}
.lf-search:focus{border-color:var(--navy)}
.lf-count{font-size:13px;color:var(--ink-soft);margin:2px 0 18px}
.lf-blurb{font-size:13.5px;color:var(--ink-soft);margin:0 0 16px;min-height:0}

.lib-card .lib-cites{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink-soft);opacity:.8;margin-top:10px}
.lib-card .lib-go{margin-top:12px;font-size:13.5px;font-weight:700;color:var(--red)}
.lib-card{transition:.18s;cursor:pointer}
.lib-card:hover{border-color:var(--ink-soft);box-shadow:var(--shadow);transform:translateY(-2px)}
.lib-empty{padding:34px;text-align:center;color:var(--ink-soft);font-size:15px;
  border:1px dashed var(--line);border-radius:var(--radius);grid-column:1/-1}

@media(max-width:900px){
  .pl-hero{grid-template-columns:1fr;gap:22px}
  .pl-facts{position:static;width:100%}
  .pl-hero h1{font-size:35px}
}
@media(max-width:640px){
  .pl{padding-top:22px;padding-bottom:52px}
  .pl-hero h1{font-size:29px}
  .pl-one{font-size:16px}
  .pl-sec h2{font-size:23px}
  .pl-sec p{font-size:15px}
  .cite-list li{flex-direction:column;align-items:flex-start;gap:8px}
}
