  /* ── Shared shell (matches Dosages Catalog: dark hero + overlapping white card) ── */
  .pdh-hero {
    background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%);
    padding: 80px 15px 60px;
    position: relative;
    overflow: hidden;
  }
  .pdh-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    opacity: 0.5;
  }
  .pdh-hero-content {
    max-width: 860px;
    margin: 0 auto;
    text-align: center;
    position: relative;
    z-index: 1;
  }
  .pdh-hero-title {
    font-size: 2rem;
    color: #ffffff;
    margin: 0 0 15px;
    font-weight: 700;
    text-shadow: 0 2px 10px rgba(0,0,0,0.2);
    animation: pdhSlideDown 0.8s ease;
  }
  .pdh-hero-desc {
    color: rgba(255,255,255,0.9);
    font-size: 1.1rem;
    max-width: 760px;
    margin: 0 auto;
    line-height: 1.6;
    animation: pdhFadeUp 0.8s ease 0.2s both;
  }
  @keyframes pdhSlideDown { from { opacity: 0; transform: translateY(-30px); } to { opacity: 1; transform: translateY(0); } }
  @keyframes pdhFadeUp   { from { opacity: 0; transform: translateY(20px); }  to { opacity: 1; transform: translateY(0); } }

  .pdh-outer {
    max-width: 1320px;
    margin: -30px auto 60px;
    padding: 0 15px;
    position: relative;
    z-index: 2;
  }
  .pdh-content {
    background: #ffffff;
    border-radius: 16px;
    padding: 25px 20px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    border: 1px solid #e2e8f0;
  }

  /* ── Chart body (scoped) ── */
  .pdh-wrap{--pc:#3498db;--sc:#2c3e50;--ac:#e74c3c;font-family:'Poppins',system-ui,sans-serif;color:var(--sc);max-width:100%;margin:0 auto;}
  .pdh-intro{font-size:1.04rem;line-height:1.68;color:#43586b;margin:0 0 14px;}
  .pdh-intro strong{color:var(--sc);}
  .pdh-stats{display:flex;flex-wrap:wrap;gap:14px;margin:0 0 26px;}
  .pdh-stat{flex:1 1 150px;border:1px solid #e3e8ee;border-radius:14px;padding:16px 18px;background:linear-gradient(180deg,#f8fbff 0%,#fff 60%);box-shadow:0 1px 3px rgba(16,42,67,.05);}
  .pdh-stat .n{font-size:1.9rem;font-weight:700;color:var(--pc);line-height:1;}
  .pdh-stat .l{font-size:.82rem;color:#5a6b7b;margin-top:5px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;}
  .pdh-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 14px;}
  .pdh-search{flex:1 1 260px;display:flex;border:1px solid #cfd8e3;border-radius:10px;overflow:hidden;background:#fff;}
  .pdh-search:focus-within{border-color:var(--pc);box-shadow:0 0 0 3px rgba(52,152,219,.2);}
  .pdh-search i{display:flex;align-items:center;padding:0 12px;color:#8a99a8;background:#eef3f8;}
  .pdh-search input{border:0;padding:11px 13px;font-size:1rem;font-family:inherit;width:100%;outline:none;background:transparent;color:var(--sc);}
  .pdh-filters{display:flex;gap:8px;flex-wrap:wrap;}
  .pdh-filters button{font-family:inherit;font-size:.86rem;font-weight:600;cursor:pointer;border:1px solid #d3e3f0;background:#fff;color:#52677b;border-radius:8px;padding:9px 14px;transition:.12s;}
  .pdh-filters button:hover{background:#eaf4fc;border-color:var(--pc);}
  .pdh-filters button.active,.pdh-filters button[aria-pressed="true"]{background:var(--pc);border-color:var(--pc);color:#fff;}
  .pdh-mobile-sort{display:none;}
  .pdh-tablewrap{border:1px solid #e3e8ee;border-radius:14px;overflow:hidden;box-shadow:0 1px 3px rgba(16,42,67,.05);}
  .pdh-scroll{overflow-x:auto;}
  .pdh-scroll:focus-visible{outline:3px solid var(--pc);outline-offset:3px;}
  table.pdh-table{border-collapse:collapse;width:100%;table-layout:fixed;font-size:.93rem;}
  table.pdh-table col.c-name{width:21%;}
  table.pdh-table col.c-vial{width:13%;}
  table.pdh-table col.c-type{width:11%;}
  table.pdh-table col.c-conc{width:18%;}
  table.pdh-table col.c-dose{width:22%;}
  table.pdh-table col.c-freq{width:15%;}
  table.pdh-table thead th{background:var(--sc);color:#fff;text-align:left;padding:0;font-weight:600;font-size:.84rem;line-height:1.25;user-select:none;position:relative;}
  .pdh-sort{appearance:none;width:100%;border:0;background:transparent;color:inherit;font:inherit;font-weight:600;text-align:left;padding:13px 12px 13.5px;cursor:pointer;display:block;}
  .pdh-sort:hover,.pdh-sort:focus-visible{background:#34465a;}
  .pdh-sort:focus-visible{outline:3px solid #fff;outline-offset:-4px;}
  table.pdh-table thead th .ar{opacity:.5;font-size:.7rem;margin-left:5px;}
  table.pdh-table tbody td{padding:11px 12px;border-top:1px solid #eef2f6;vertical-align:middle;word-break:break-word;}
  .pdh-th2{display:block;}
  .pdh-th2 span{display:block;}
  table.pdh-table tbody tr:nth-child(even){background:#f9fbfd;}
  table.pdh-table tbody tr:hover{background:#eef6fd;}
  .pdh-name a{color:var(--pc);text-decoration:none;font-weight:600;}
  .pdh-name a:hover{text-decoration:underline;}
  .pdh-dose{font-weight:600;color:var(--sc);}
  .pdh-tag{display:inline-block;font-size:.72rem;font-weight:700;padding:3px 9px;border-radius:20px;text-transform:uppercase;letter-spacing:.03em;}
  .pdh-single-peptide-dosages{background:#e8f4fc;color:#2a7ab0;}
  .pdh-peptide-blend-dosages{background:#fdeee9;color:#c0573f;}
  .pdh-peptide-stack-dosages{background:#eef0f3;color:#566476;}
  .pdh-empty{padding:30px;text-align:center;color:#8a99a8;font-style:italic;}
  .pdh-count{font-size:.84rem;color:#7a8a99;margin:12px 2px 0;}
  .pdh-cta{margin:30px 0 0;display:flex;flex-wrap:wrap;gap:14px;align-items:stretch;}
  .pdh-cta a{flex:1 1 240px;display:flex;gap:13px;align-items:center;text-decoration:none;border:1px solid #d3e3f0;border-radius:14px;padding:18px 20px;background:linear-gradient(180deg,#f8fbff 0%,#fff 60%);transition:.12s;}
  .pdh-cta a:hover{border-color:var(--pc);box-shadow:0 3px 10px rgba(52,152,219,.12);}
  .pdh-cta i{font-size:1.6rem;color:var(--pc);flex:0 0 auto;}
  .pdh-cta .t{font-weight:700;color:var(--sc);font-size:1rem;}
  .pdh-cta .s{font-size:.84rem;color:#5a6b7b;margin-top:2px;line-height:1.4;}
  .pdh-how{margin:34px 0 0;}
  .pdh-how h2{font-size:1.35rem;color:var(--sc);margin:0 0 6px;}
  .pdh-how p{font-size:.96rem;line-height:1.65;color:#43586b;margin:0 0 12px;}
  .pdh-how a{color:var(--pc);text-decoration:none;font-weight:600;}
  .pdh-how a:hover{text-decoration:underline;}
  .pdh-disc{margin:30px 0 0;padding:16px 18px;border-left:4px solid var(--ac);background:#fdf2f0;border-radius:0 10px 10px 0;font-size:.86rem;color:#7d4a42;line-height:1.55;}
  @media (max-width:680px){
    .pdh-content,
    .pdh-content *{box-sizing:border-box;}
    .pdh-hero{padding:52px 12px 38px;}
    .pdh-hero-title{font-size:1.75rem;margin-bottom:10px;}
    .pdh-hero-desc{font-size:.96rem;line-height:1.5;}
    .pdh-outer{margin:-20px auto 36px;padding:0 4px;}
    .pdh-content{padding:16px 7px;border-radius:12px;}
    .pdh-intro{font-size:.94rem;line-height:1.58;margin:0 3px 12px;}
    .pdh-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0 0 16px;}
    .pdh-stat{min-width:0;padding:10px 4px;border-radius:10px;text-align:center;}
    .pdh-stat .n{font-size:1.35rem;}
    .pdh-stat .l{font-size:.6rem;line-height:1.25;margin-top:4px;letter-spacing:0;overflow-wrap:anywhere;}
    .pdh-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-bottom:10px;}
    .pdh-search{width:100%;min-width:0;}
    .pdh-search i{padding:0 10px;}
    .pdh-search input{min-width:0;padding:11px 10px;font-size:16px;}
    .pdh-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:100%;}
    .pdh-filters button{min-width:0;min-height:44px;padding:8px 3px;font-size:.78rem;}
    .pdh-mobile-sort{display:grid;grid-template-columns:auto minmax(0,1fr) 44px;align-items:center;gap:8px;width:100%;padding:8px 9px;border:1px solid #d3e3f0;border-radius:10px;background:#f8fbff;}
    .pdh-mobile-sort label{font-size:.78rem;font-weight:700;color:#52677b;white-space:nowrap;}
    .pdh-mobile-sort select{width:100%;min-width:0;min-height:44px;border:1px solid #cfd8e3;border-radius:8px;background:#fff;color:var(--sc);font-family:inherit;font-size:.86rem;font-weight:600;line-height:1.2;padding:8px 30px 8px 10px;}
    .pdh-mobile-sort button{width:44px;height:44px;border:1px solid var(--pc);border-radius:8px;background:var(--pc);color:#fff;font-family:inherit;font-size:1.15rem;font-weight:700;line-height:1;cursor:pointer;}
    .pdh-mobile-sort select:focus-visible,.pdh-mobile-sort button:focus-visible{outline:3px solid rgba(52,152,219,.35);outline-offset:2px;}
    .pdh-tablewrap{border:0;border-radius:0;overflow:visible;box-shadow:none;background:transparent;}
    .pdh-scroll{overflow:visible;}
    table.pdh-table{display:block;width:100%;min-width:0;table-layout:auto;font-size:.91rem;}
    table.pdh-table colgroup{display:none;}
    table.pdh-table thead{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;}
    table.pdh-table tbody{display:grid;gap:9px;width:100%;}
    table.pdh-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 10px;width:100%;padding:13px 12px;border:1px solid #e3e8ee;border-radius:12px;background:#fff;box-shadow:0 1px 3px rgba(16,42,67,.07);}
    table.pdh-table tbody tr:nth-child(even),table.pdh-table tbody tr:hover{background:#fff;}
    table.pdh-table tbody tr[hidden]{display:none!important;}
    table.pdh-table tbody td{display:block;min-width:0;padding:7px 0;border:0;word-break:normal;overflow-wrap:anywhere;}
    table.pdh-table tbody td:first-child{grid-column:1;grid-row:1;align-self:center;padding:0 0 10px;font-size:1rem;}
    table.pdh-table tbody td:nth-child(3){grid-column:2;grid-row:1;align-self:start;padding:0 0 10px;text-align:right;}
    table.pdh-table tbody td:nth-child(2),table.pdh-table tbody td:nth-child(4),table.pdh-table tbody td:nth-child(5),table.pdh-table tbody td:nth-child(6){grid-column:1/-1;display:grid;grid-template-columns:minmax(108px,42%) minmax(0,1fr);gap:10px;border-top:1px solid #eef2f6;text-align:right;}
    table.pdh-table tbody td:nth-child(2)::before,table.pdh-table tbody td:nth-child(4)::before,table.pdh-table tbody td:nth-child(5)::before,table.pdh-table tbody td:nth-child(6)::before{content:attr(data-label);color:#607386;font-size:.74rem;font-weight:700;text-align:left;text-transform:uppercase;letter-spacing:.02em;}
    .pdh-tag{white-space:nowrap;font-size:.66rem;padding:4px 8px;}
    table.pdh-table tbody tr.pdh-empty-row{display:block;padding:0;}
    table.pdh-table tbody tr.pdh-empty-row td{display:block;padding:24px 12px;text-align:center;}
    table.pdh-table tbody tr.pdh-empty-row td::before{content:none;}
    .pdh-count{margin:10px 3px 0;}
    .pdh-cta{gap:8px;margin:22px 3px 0;}
    .pdh-cta a{flex-basis:100%;padding:14px 15px;border-radius:12px;}
    .pdh-how{margin:26px 3px 0;}
    .pdh-disc{margin:24px 3px 0;padding:14px 14px;}
  }

  /* ── Responsive shell ── */
  @media (min-width: 681px) {
    .pdh-hero { padding: 90px 20px 70px; }
    .pdh-hero-title { font-size: 2.5rem; }
    .pdh-hero-desc { font-size: 1.2rem; }
    .pdh-outer { padding: 0 20px; }
    .pdh-content { padding: 35px 30px; }
  }
  @media (min-width: 1024px) {
    .pdh-hero { padding: 100px 20px 80px; }
    .pdh-hero-title { font-size: 3rem; }
    .pdh-outer { margin: -40px auto 60px; }
    .pdh-content { padding: 45px 40px; }
  }
