/* Compact navigation at every viewport. */
.nh-header-inner { flex-wrap:wrap; gap:0 16px; }
.nh-brand { margin-right:auto; }
.nh-menu-toggle { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:44px; padding:10px 12px; border:1px solid var(--border-strong); border-radius:4px; background:transparent; color:inherit; cursor:pointer; font:400 18px/1 var(--font-body); order:2; }
.nh-header-inner>.nh-theme-toggle { order:1; }
.nh-header-inner>.nh-nav { order:3; display:none; flex:0 0 100%; margin:16px 0 0; padding:12px 0 4px; border-top:1px solid var(--border); flex-direction:column; align-items:stretch; gap:0; }
.nh-header.menu-open .nh-nav { display:flex; }
.nh-header .nh-nav[hidden], .site-header .main-nav[hidden] { display:none!important; }
.nh-nav a { padding:14px 4px; font-size:20px; white-space:normal; }
.site-header .bar { position:relative; flex-wrap:nowrap!important; }
.site-header .header-actions { margin-left:auto; }
.site-header .nav-toggle { display:inline-flex!important; }
.site-header .main-nav { display:none!important; position:absolute; top:100%; right:0; width:min(420px,100vw); padding:16px 24px; margin:0; background:var(--surface); border:1px solid var(--border-strong); box-shadow:var(--shadow); flex-direction:column; align-items:stretch; gap:0; z-index:30; }
.site-header .main-nav.open { display:flex!important; }
.site-header .main-nav>a { display:block; padding:12px 0; color:var(--ink); white-space:normal; }

/* A single full-bleed image, with a dark gradient for legible copy. */
.tool-card.nh-image-card { position:relative; isolation:isolate; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; min-height:360px; background:#171717!important; padding:0!important; }
.tool-card.nh-image-card::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 10%,rgba(0,0,0,.35) 45%,rgba(0,0,0,.88) 100%)!important; z-index:1; }
.tool-card.nh-image-card::after { display:none!important; }
.tool-card.nh-image-card .nh-card-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; z-index:0; }
.tool-card.nh-image-card .nh-card-copy { position:relative; z-index:2; padding:26px; color:#fff; }
.tool-card.nh-image-card h3,.tool-card.nh-image-card p,.tool-card.nh-image-card .go { color:#fff!important; }

/* Three category treatments use the same ink, paper and gold as Navaro. */
body .home-page #homeVendors .category-vendors { background:var(--surface)!important; border:1px solid var(--border-strong); border-top:4px solid var(--accent); }
body .home-page #homeVendors .category-resellers { background:var(--surface-2)!important; border:1px solid var(--border-strong); border-left:4px solid var(--accent); }
body .home-page #homeVendors .category-resources { background:transparent!important; border:0; border-top:1px solid var(--border-strong); border-radius:0; padding-left:0; padding-right:0; }
.hv-group.category-resellers li { margin:12px 0; padding:0 14px; border:1px solid var(--border)!important; border-radius:4px; }
.hv-group.category-resources li { border-top:0; border-bottom:1px solid var(--border)!important; }
body .tools-page #category-vendors.vendor-section { background:var(--surface)!important; border-top:4px solid var(--accent); }
body .tools-page #category-resellers.vendor-section { background:var(--surface-2)!important; border-left:4px solid var(--accent); }
body .tools-page #category-resources.vendor-section { background:var(--bg)!important; border-top:1px solid var(--border-strong); }

/* Theme the homepage surfaces, leaving photography intact. */
:root[data-theme="dark"] body.navaro-intro-page, :root[data-theme="dark"] .home-page { background:#111!important; color:var(--ink); }
:root[data-theme="dark"] .home-page>.home-useful-tools-section,
:root[data-theme="dark"] .home-page>.home-trending-compounds-section,
:root[data-theme="dark"] .home-page>.home-guides-articles-section,
:root[data-theme="dark"] .home-page>.home-start-section { background:#111!important; color:var(--ink); }
:root[data-theme="dark"] .home-page .home-symptom-box { background:var(--surface)!important; color:var(--ink); }
.card-retatrutide { background-image:linear-gradient(145deg,#8c7656,#26231e)!important; }
@media(max-width:650px){.site-header .main-nav{width:100vw;right:0}.tool-card.nh-image-card{min-height:330px}}

/* The maple-leaf mark is square, so give it room in the header. */
.nh-brand { flex:0 0 88px!important; }
.nh-brand img { width:80px!important; height:88px!important; object-fit:contain; }
.site-header .brand { min-width:88px!important; flex:0 0 88px!important; }
.site-header .brand .brand-logo-home { width:80px!important; min-width:80px!important; height:88px!important; min-height:88px!important; }
.site-header .brand .brand-logo-home img { width:80px!important; height:88px!important; max-height:88px!important; object-fit:contain!important; }
@media(max-width:650px){.nh-brand{flex-basis:72px!important}.nh-brand img{width:68px!important;height:76px!important}.site-header .brand{min-width:72px!important;flex-basis:72px!important}.site-header .brand .brand-logo-home,.site-header .brand .brand-logo-home img{width:68px!important;min-width:68px!important;height:76px!important;min-height:76px!important;max-height:76px!important}}

.vendor-warehouse { background:var(--surface-2); border-bottom:1px solid var(--border-strong); color:var(--ink); }
.vendor-warehouse-inner { display:flex; align-items:center; gap:48px; padding-top:24px; padding-bottom:24px; }
.vendor-warehouse-inner>div { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.vendor-warehouse-label { font:400 20px/1.25 var(--font-display); }
.vendor-warehouse strong { display:inline-block; padding:5px 12px; border:1px solid var(--accent); border-radius:2px; color:var(--ink); font-size:15px; white-space:nowrap; }
.vendor-warehouse p { margin:0; color:var(--ink-soft); font-size:16px; }
.vendor-reship { background:var(--bg); color:var(--ink); border-top:1px solid var(--border); }
.vendor-reship-inner { display:grid; grid-template-columns:1fr 2fr; gap:48px; padding-top:40px; padding-bottom:48px; }
.vendor-reship h2 { margin:0; color:var(--ink)!important; font-size:32px; }
.vendor-reship h3 { margin:0 0 14px; color:var(--ink)!important; font-size:24px; }
.vendor-reship p { color:var(--ink-soft); font-size:19px; }
@media(max-width:650px){.vendor-warehouse-inner{display:block}.vendor-warehouse p{margin-top:12px}.vendor-reship-inner{grid-template-columns:1fr;gap:20px}}
.vendor-profile .vp-hero.has-vendor-art,.barn-page .barn-hero.has-vendor-art { background-color:#15120f!important; background-image:linear-gradient(90deg,rgba(11,10,9,.94) 0%,rgba(11,10,9,.72) 38%,rgba(11,10,9,.08) 100%),var(--vendor-art)!important; background-size:cover!important; background-position:center!important; background-repeat:no-repeat!important; }
.vendor-profile .vp-hero.has-vendor-art h1,.vendor-profile .vp-hero.has-vendor-art p,.vendor-profile .vp-hero.has-vendor-art dt,.vendor-profile .vp-hero.has-vendor-art dd,.vendor-profile .vp-hero.has-vendor-art a,.barn-page .barn-hero.has-vendor-art h1,.barn-page .barn-hero.has-vendor-art h2,.barn-page .barn-hero.has-vendor-art p,.barn-page .barn-hero.has-vendor-art a,.barn-page .barn-hero.has-vendor-art span { color:#f6f1e9!important; }
@media(max-width:650px){.vendor-profile .vp-hero.has-vendor-art,.barn-page .barn-hero.has-vendor-art{background-position:center,65% center!important}}

/* Vendor rows become readable cards on phones and narrow tablets. */
@media (max-width: 900px) {
  .vendor-section .directory-table { overflow:visible; border:0; border-radius:0; background:transparent; }
  .vendor-section .directory-table table,
  .vendor-section .directory-table tbody { display:block; width:100%; min-width:0; }
  .vendor-section .directory-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  .vendor-section .directory-table tbody tr { display:block; min-width:0; margin:0 0 16px; padding:20px; border:1px solid var(--border-strong); border-radius:8px; background:var(--surface); }
  .vendor-section .directory-table tbody tr[hidden] { display:none!important; }
  .vendor-section .directory-table tbody td { display:grid; grid-template-columns:minmax(95px, .8fr) minmax(0, 1.6fr); gap:12px; width:auto; min-width:0; padding:10px 0; border:0; border-bottom:1px solid var(--border); overflow-wrap:anywhere; font-size:16px; font-weight:400; }
  .vendor-section .directory-table tbody td::before { color:var(--ink-soft); font-size:14px; font-weight:400; }
  .vendor-section .directory-table tbody td:nth-child(2)::before { content:'Contact name'; }
  .vendor-section .directory-table tbody td:nth-child(3)::before { content:'CA warehouse'; }
  .vendor-section .directory-table tbody td:nth-child(4)::before { content:'Contact'; }
  .vendor-section .directory-table tbody td:nth-child(5)::before { content:'Group'; }
  .vendor-section .directory-table tbody td:nth-child(6)::before { content:'Updates / Misc.'; }
  .vendor-section .directory-table tbody td:first-child { display:block; padding:0 0 14px; }
  .vendor-section .directory-table tbody td:last-child { border-bottom:0; padding-bottom:0; }
  .vendor-section .vendor-profile-link { display:inline-block; font-size:23px; line-height:1.2; }
  .vendor-section .vendor-profile-detail { display:inline-block; margin-top:5px; padding:5px 0; }
  .vendor-section .vendor-community-links { min-width:0; gap:4px 16px; }
  .vendor-section .vendor-community-links a { padding:4px 0; white-space:normal; overflow-wrap:anywhere; }
  .vendor-section .vendor-resource-list>a { min-width:0; }
}
@media (max-width: 480px) {
  .vendor-section .directory-table tbody tr { padding:17px; }
  .vendor-section .directory-table tbody td { grid-template-columns:minmax(82px,.7fr) minmax(0,1.3fr); gap:10px; }
  .hv-row-main { flex-wrap:wrap; }
  .hv-contact { min-width:0; overflow-wrap:anywhere; }
}

/* The directory's three groups have deliberately different structures. */
#category-vendors .directory-table { border-radius:0; }
#category-vendors .directory-table thead th { border-bottom:2px solid var(--accent); }
#category-resellers .directory-table { overflow:visible; border:0; background:transparent; }
#category-resellers .directory-table table { display:block; width:100%; min-width:0; }
#category-resellers .directory-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
#category-resellers .directory-table tbody { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; width:100%; }
#category-resellers .directory-table tbody tr { display:block; min-width:0; margin:0; padding:26px; border:1px solid var(--border-strong); border-top:4px solid var(--accent); border-radius:2px; background:var(--surface); }
#category-resellers .directory-table tbody tr[hidden] { display:none!important; }
#category-resellers .directory-table tbody td { display:grid; grid-template-columns:minmax(88px,.8fr) minmax(0,1.4fr); gap:12px; padding:10px 0; width:auto; min-width:0; border:0; border-bottom:1px solid var(--border); font-size:16px; font-weight:400; overflow-wrap:anywhere; }
#category-resellers .directory-table tbody td::before { color:var(--ink-soft); font-size:14px; }
#category-resellers .directory-table tbody td:nth-child(2)::before { content:'Contact name'; }
#category-resellers .directory-table tbody td:nth-child(3)::before { content:'CA warehouse'; }
#category-resellers .directory-table tbody td:nth-child(4)::before { content:'Contact'; }
#category-resellers .directory-table tbody td:nth-child(5)::before { content:'Group'; }
#category-resellers .directory-table tbody td:nth-child(6)::before { content:'Updates / Misc.'; }
#category-resellers .directory-table tbody td:first-child { display:block; padding:0 0 18px; }
#category-resellers .directory-table tbody td:last-child { border-bottom:0; padding-bottom:0; }
#category-resellers .vendor-profile-link { display:inline-block; font:400 29px/1.15 var(--font-display); }
#category-resellers .vendor-profile-detail { display:inline-block; margin-top:8px; }
#category-resources .vendor-resource-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
#category-resources .vendor-resource-list>a { min-height:160px; padding:28px; border:1px solid var(--border-strong); background:var(--surface); align-items:flex-end; }
#category-resources .vendor-resource-list>a>span { display:grid; place-items:center; width:45px; height:45px; flex:0 0 45px; border:1px solid var(--accent); border-radius:50%; }
#category-resources .vendor-resource-list strong { font-size:28px; }
body .home-page #homeVendors .category-vendors { border-radius:0; }
body .home-page #homeVendors .category-resellers { border:0; border-radius:0; padding:28px; }
.hv-group.category-resellers li { margin:14px 0; padding:4px 18px; border:1px solid var(--border-strong)!important; border-left:3px solid var(--accent)!important; background:var(--surface); }
.hv-group.category-resellers .hv-row-main { align-items:flex-start; flex-wrap:wrap; }
.hv-group.category-resellers .hv-row-main strong { flex:1 1 70%; font:400 24px/1.2 var(--font-display); }
.hv-group.category-resellers .hv-contact { order:3; flex:0 0 100%; margin:0; text-align:left; }
body .home-page #homeVendors .category-resources { padding:26px; border:1px solid var(--border-strong); border-radius:0; }
.hv-group.category-resources ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.hv-group.category-resources li { border:1px solid var(--border)!important; background:var(--surface); }
.hv-group.category-resources li>a { padding:16px; }
.hv-group.category-resources .hv-row-main strong { font:400 20px/1.2 var(--font-display); }
.hv-group.category-resources .hv-arrow { align-self:flex-start; }
@media(max-width:1050px){#category-resellers .directory-table tbody{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){#category-resellers .directory-table tbody,#category-resources .vendor-resource-list{grid-template-columns:1fr}#category-resellers .directory-table tbody tr{padding:20px}#category-resources .vendor-resource-list>a{min-height:125px;padding:22px}.hv-group.category-resources ul{grid-template-columns:1fr}}
.vendor-section .vendor-row-link { cursor:pointer; }
.vendor-section .vendor-row-link:hover .vendor-profile-link { text-decoration:underline; text-underline-offset:4px; }

/* Vendor directory: three distinct Navaro editorial treatments. */
body .tools-page #category-vendors.vendor-section { background-image:linear-gradient(90deg,rgba(249,246,239,.97),rgba(249,246,239,.88) 60%,rgba(249,246,239,.45)),url('../images/vendor-qsc-science-v3.webp')!important; background-size:cover!important; background-position:center!important; }
body .tools-page #category-resellers.vendor-section { background-image:linear-gradient(90deg,rgba(239,232,219,.96),rgba(239,232,219,.88) 57%,rgba(239,232,219,.58)),url('../images/vendor-helion-science-v3.webp')!important; background-size:cover!important; background-position:center!important; }
body .tools-page #category-resources.vendor-section { background-image:linear-gradient(90deg,rgba(247,239,236,.97),rgba(247,239,236,.89) 60%,rgba(247,239,236,.60)),url('../images/vendor-filler-outlet-science-v2.webp')!important; background-size:cover!important; background-position:center!important; }
:root[data-theme="dark"] body .tools-page #category-vendors.vendor-section { background-image:linear-gradient(90deg,rgba(18,18,18,.98),rgba(18,18,18,.88) 60%,rgba(18,18,18,.55)),url('../images/vendor-qsc-science-v3.webp')!important; }
:root[data-theme="dark"] body .tools-page #category-resellers.vendor-section { background-image:linear-gradient(90deg,rgba(34,29,23,.97),rgba(34,29,23,.88) 60%,rgba(34,29,23,.55)),url('../images/vendor-helion-science-v3.webp')!important; }
:root[data-theme="dark"] body .tools-page #category-resources.vendor-section { background-image:linear-gradient(90deg,rgba(36,22,25,.97),rgba(36,22,25,.87) 60%,rgba(36,22,25,.53)),url('../images/vendor-filler-outlet-science-v2.webp')!important; }
#category-vendors .directory-table { background:rgba(255,253,248,.72)!important; backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); }
#category-resellers .directory-table tbody tr,#category-resources .vendor-resource-list>a { background:rgba(255,252,246,.68)!important; backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); box-shadow:0 12px 30px rgba(45,30,15,.08); }
:root[data-theme="dark"] #category-vendors .directory-table,:root[data-theme="dark"] #category-resellers .directory-table tbody tr,:root[data-theme="dark"] #category-resources .vendor-resource-list>a { background:rgba(24,22,20,.72)!important; }
#category-resellers .vendor-category-heading>svg { color:#a77e4b; }
#category-resources .vendor-category-heading>svg { color:#9a4450; }
body .home-page #homeVendors .category-vendors { background:linear-gradient(130deg,rgba(250,247,240,.94),rgba(250,247,240,.79)),url('../images/vendor-qsc-science-v3.webp') center/cover!important; }
body .home-page #homeVendors .category-resellers { background:linear-gradient(130deg,rgba(237,228,211,.94),rgba(237,228,211,.78)),url('../images/vendor-helion-science-v3.webp') center/cover!important; }
body .home-page #homeVendors .category-resources { background:linear-gradient(130deg,rgba(246,235,232,.94),rgba(246,235,232,.80)),url('../images/vendor-filler-outlet-science-v2.webp') center/cover!important; }
:root[data-theme="dark"] body .home-page #homeVendors .category-vendors { background:linear-gradient(130deg,rgba(19,19,19,.96),rgba(19,19,19,.77)),url('../images/vendor-qsc-science-v3.webp') center/cover!important; }
:root[data-theme="dark"] body .home-page #homeVendors .category-resellers { background:linear-gradient(130deg,rgba(34,29,23,.96),rgba(34,29,23,.76)),url('../images/vendor-helion-science-v3.webp') center/cover!important; }
:root[data-theme="dark"] body .home-page #homeVendors .category-resources { background:linear-gradient(130deg,rgba(38,23,26,.96),rgba(38,23,26,.76)),url('../images/vendor-filler-outlet-science-v2.webp') center/cover!important; }
.hv-group.category-resellers li,.hv-group.category-resources li { backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
.navaro-arrow-icon { display:inline-block; width:1em; height:1em; vertical-align:-.12em; flex:none; }
.bac-list { display:grid; gap:12px; margin:24px 0; }
.bac-list-item { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; padding:22px; border:1px solid var(--border-strong); background:var(--surface); }
.bac-list-item h3 { margin:0 0 7px; font:400 25px/1.2 var(--font-display); }
.bac-list-item p { margin:5px 0; color:var(--ink-soft); }
.bac-price { color:var(--accent); font-size:19px; font-weight:700; letter-spacing:.08em; white-space:nowrap; }
.bac-list-item a { display:inline-block; margin-top:9px; text-underline-offset:4px; }
.bac-uncertain { border-top:1px solid var(--border-strong); margin-top:28px; padding-top:20px; }
@media(max-width:650px){.bac-list-item{padding:18px;grid-template-columns:minmax(0,1fr) auto}.bac-list-item h3{font-size:22px}}

/* Keep card copy on a solid, high-contrast surface. */
:root main .tool-card.nh-image-card { display:flex!important; flex-direction:column!important; justify-content:flex-start!important; min-height:0!important; padding:0!important; overflow:hidden; background:#151515!important; }
:root main .tool-card.nh-image-card::before,
:root main .tool-card.nh-image-card::after { content:none!important; display:none!important; }
:root main .tool-card.nh-image-card .nh-card-image { position:relative!important; inset:auto!important; display:block!important; width:100%!important; height:auto!important; aspect-ratio:16 / 10; object-fit:cover!important; flex:none; }
:root main .tool-card.nh-image-card .nh-card-copy { position:relative; flex:1; display:flex; flex-direction:column; align-items:flex-start; padding:26px!important; background:#151515!important; color:#fff!important; }
:root main .tool-card.nh-image-card .nh-card-copy h3 { color:#fff!important; text-shadow:none!important; margin:0 0 12px; }
:root main .tool-card.nh-image-card .nh-card-copy p { color:#ededed!important; text-shadow:none!important; margin:0 0 22px; }
:root main .tool-card.nh-image-card .nh-card-copy .go { color:#fff!important; border-color:rgba(255,255,255,.72)!important; text-shadow:none!important; margin-top:auto; }
@media(max-width:650px){:root main .tool-card.nh-image-card .nh-card-copy{padding:22px!important}}

/* The compound-library hero must wrap within the viewport on phones. */
@media(max-width:760px){
  .library-page .library-hero .container { box-sizing:border-box; width:100%; max-width:100%; padding-inline:clamp(16px,5vw,28px); }
  .library-page .library-hero .page-hero-copy { width:100%; max-width:100%; min-width:0; }
  .library-page .library-hero h1 { width:100%; max-width:100%!important; font-size:clamp(1.5rem,8vw,3.3rem)!important; line-height:1.08; white-space:normal!important; overflow-wrap:anywhere; }
  .library-page .library-hero h1 em,.library-page .library-hero h1 span { max-width:100%; white-space:normal!important; overflow-wrap:anywhere; }
  .library-page .library-hero .lede { max-width:100%; overflow-wrap:anywhere; font-size:clamp(1rem,4.6vw,1.35rem); }
}

/* Keep all page-hero headings inside narrow mobile viewports. */
@media(max-width:760px){
  main .page-hero .container { box-sizing:border-box; width:100%; max-width:100%; padding-inline:clamp(16px,5vw,28px); }
  main .page-hero .page-hero-copy { box-sizing:border-box; width:100%; max-width:100%!important; min-width:0; }
  main .page-hero h1 { width:100%; max-width:100%!important; font-size:clamp(1.5rem,7.2vw,3.2rem)!important; line-height:1.08; white-space:normal!important; overflow-wrap:anywhere; }
  main .page-hero h1 em,main .page-hero h1 span { max-width:100%; white-space:normal!important; overflow-wrap:anywhere; }
  main .page-hero .lede { max-width:100%; overflow-wrap:anywhere; font-size:clamp(1rem,4.6vw,1.35rem); }
}

@media(max-width:700px){
  .tools-page .tool-card-grid,.guides-page .tool-card-grid { display:grid!important; grid-template-columns:minmax(0,1fr)!important; gap:14px!important; }
  .tools-page .section .container,.guides-page .section .container { min-width:0; max-width:100%; box-sizing:border-box; }
  .tools-page .tool-card.nh-image-card,.guides-page .tool-card.nh-image-card { min-width:0!important; }
}

/* Center text inside Open controls. */
main .tool-card .go,main .home-tool-card .go,main .home-editorial-feature .go,main .guide-feature .go { display:inline-flex!important; align-items:center!important; justify-content:center!important; text-align:center!important; }

/* Compact dosage calculator introduction. */
main.dosage-calculator-index .page-hero.tools-hero { min-height:0!important; height:auto!important; padding:0!important; display:flex; align-items:center; background-image:linear-gradient(90deg,rgba(10,10,10,.88),rgba(10,10,10,.48)),url('../images/generated-tools-workspace.jpg')!important; background-size:cover!important; background-position:center 52%!important; }
main.dosage-calculator-index .page-hero.tools-hero .container { padding-block:56px!important; }
main.dosage-calculator-index .page-hero.tools-hero h1 { margin:0 0 12px!important; max-width:100%!important; color:#fff!important; }
main.dosage-calculator-index .page-hero.tools-hero .lede { margin:0!important; color:#f1f1f1!important; }
main.dosage-calculator-index .page-panel-section { margin-top:0!important; padding-top:24px!important; }
@media(max-width:760px){main.dosage-calculator-index .page-hero.tools-hero .container{padding-block:34px!important}main.dosage-calculator-index .page-hero.tools-hero h1{font-size:clamp(1.85rem,7vw,2.8rem)!important;line-height:1.1}main.dosage-calculator-index .page-panel-section{padding-top:16px!important}}
