/* Batch 2 category pages. New file; styles.css is never edited. All classes start with cat-. */
.cat-wrap{max-width:1200px;margin:0 auto;padding:var(--space-xl) var(--space-lg) var(--space-3xl)}
.cat-wrap h1{margin:0 0 var(--space-sm)}
.cat-lede{color:var(--text-secondary);font-size:1.05rem;max-width:62ch;margin:0 0 var(--space-md)}
.cat-sub{color:var(--text-secondary);margin:0 0 var(--space-md)}
.cat-h2{font-size:1.35rem;margin:var(--space-xl) 0 var(--space-sm);color:var(--primary)}
.cat-h2-gap{margin-top:var(--space-2xl)}
.cat-crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 var(--space-md);padding:0;font-size:.92rem;color:var(--text-secondary)}
.cat-crumbs li+li::before{content:"/";margin-right:6px;color:var(--text-muted)}
.cat-crumbs li{display:inline-flex;align-items:center;min-height:44px}
.cat-crumbs a{color:var(--accent-dark);text-decoration:underline;text-underline-offset:2px;display:inline-flex;align-items:center;min-height:44px}
.cat-signin{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-md);margin:0 0 var(--space-md);color:var(--text-secondary);font-size:.95rem}
.cat-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--space-md)}
.cat-card{display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:84px;padding:var(--space-md) var(--space-lg);background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-md);text-decoration:none;color:var(--text-primary);transition:border-color .15s,box-shadow .15s}
.cat-card:hover,.cat-card:focus-visible{border-color:var(--accent);box-shadow:var(--shadow-md)}
.cat-card-name{font-weight:600;font-size:1.05rem;color:var(--primary)}
.cat-card-n{font-size:.92rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}
.cat-drugs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--space-md)}
.cat-drug{display:flex;flex-direction:column;gap:4px;min-height:96px;padding:var(--space-md) var(--space-lg);background:var(--bg-secondary);border:1px solid var(--border-light);border-top:3px solid var(--warm);border-radius:var(--radius-md);text-decoration:none;color:var(--text-primary)}
.cat-drug:hover,.cat-drug:focus-visible{border-color:var(--warm-dark);box-shadow:var(--shadow-md)}
.cat-drug-name{font-weight:600;color:var(--primary)}
.cat-drug-d{font-size:.9rem;color:var(--text-secondary)}
.cat-range{color:var(--text-secondary);font-size:.95rem;margin:0 0 var(--space-sm);font-variant-numeric:tabular-nums}
.cat-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--border-light)}
.cat-row{display:grid;grid-template-columns:minmax(0,1fr) 170px 150px;gap:var(--space-md);align-items:center;min-height:52px;padding:10px 4px;border-bottom:1px solid var(--border-light)}
.cat-head{font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;min-height:0;padding:8px 4px;border-bottom:2px solid var(--border-medium)}
.cat-row{position:relative}
.cat-name::after{content:"";position:absolute;inset:0}
.cat-name{color:var(--primary);font-weight:500;text-decoration:none;overflow-wrap:anywhere}
.cat-name:hover,.cat-name:focus-visible{text-decoration:underline}
.cat-pn,.cat-sz{color:var(--text-secondary);font-size:.95rem;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.cat-lab{display:none}
.cat-pager ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:var(--space-xl) 0 var(--space-md);padding:0}
.cat-pager a,.cat-pager span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 12px;border:1px solid var(--border-medium);border-radius:var(--radius-sm);text-decoration:none;color:var(--primary);font-variant-numeric:tabular-nums;background:var(--bg-primary)}
.cat-pager .cat-cur{background:var(--primary);color:var(--text-inverse);border-color:var(--primary)}
.cat-pager .cat-gap{border-color:transparent;background:none;color:var(--text-secondary)}
.cat-pager a:hover,.cat-pager a:focus-visible{border-color:var(--accent);background:var(--bg-secondary)}
.cat-other{text-align:center;margin:0}
.cat-other a,.cat-all a{color:var(--accent-dark);text-decoration:underline;text-underline-offset:3px;display:inline-block;padding:12px 0}
.cat-home{padding:var(--space-3xl) 0;background:var(--bg-secondary)}
.cat-home .container .cat-h2:first-child{margin-top:0}
.cat-all{margin:var(--space-md) 0 0}
.cat-keep{margin-top:var(--space-xl);padding:var(--space-xl);border:2px dashed var(--border-medium);border-radius:var(--radius-md);color:var(--text-secondary);text-align:center}
.footer-grid.cat-foot{grid-template-columns:2fr repeat(4,1fr)}
@media (max-width:900px){.footer-grid.cat-foot{grid-template-columns:1fr 1fr}.footer-grid.cat-foot .footer-brand{grid-column:1/-1}}
@media (max-width:640px){
 .cat-wrap{padding:var(--space-lg) var(--space-md) var(--space-2xl)}
 .cat-head{display:none}
 .cat-row{grid-template-columns:auto 1fr;gap:2px 18px;padding:12px 4px}
 .cat-row .cat-name{grid-column:1/-1}
 .cat-pn,.cat-sz{font-size:.9rem}
 .cat-lab{display:inline;color:var(--text-secondary)}
 .cat-grid{grid-template-columns:1fr 1fr;gap:10px}
 .cat-card{padding:12px 14px;min-height:76px}
 .cat-card-name{font-size:1rem}
 .cat-drugs{grid-template-columns:1fr}
 .cat-signin .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){.cat-card,.cat-drug{transition:none}}
/* Narrow-phone overflow fix (JADE 2026-11-05, FIX_320_OVERFLOW.txt, option B for the signed-in header: Account and Logout move into the menu). */
@media (max-width:480px){
 .info-grid{grid-template-columns:minmax(0,1fr)}
 .products-layout{grid-template-columns:minmax(0,1fr)}
 .products-sidebar{min-width:0;max-width:100%}
 .navbar-inner{gap:.75rem}
 .nav-right .nav-link{display:none}   /* Login, Account and Logout live in the menu on phones (assets/js/menu-auth.js) */
 .cat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .cat-card-name{overflow-wrap:anywhere}
}
@media (max-width:340px){.cat-grid{grid-template-columns:minmax(0,1fr)}}
