/* USA Made Products: national category (directory) pages only. Load after state-page.css. Colors come from state-theme.css. */
.rows:empty{display:none}
.row[id]{scroll-margin-top:12px}
/* Section headings: "Browse by type" and, on hub pages, the list of companies that make several types */
.sec-h{font:700 1.35rem/1.25 Arial,Helvetica,sans-serif;color:var(--brand-dark);margin:0 0 12px}
.list-h{display:none}
.main:has(.subcards>.subcard):has(.rows>.row) .list-h{display:block}
/* Subcategory cards (name, count, description); the whole card is clickable through the name link */
.subs{margin:0 0 30px}
.subcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.subcard{position:relative;padding:14px 16px;border:2px solid var(--brand);background:var(--card);color:var(--ink)}
.subcard:hover,.subcard:focus-within{border-color:var(--brand-dark);background:var(--tint)}
.subcard h3{margin:0 0 6px;font:700 1.15rem/1.25 Arial,Helvetica,sans-serif;color:var(--brand-dark)}
.subcard h3 a{color:inherit;text-decoration:none}
.subcard h3 a::after{content:"";position:absolute;inset:0}
.subcard h3 a:focus-visible{outline:none}
.subcard:has(h3 a:focus-visible){outline:3px solid var(--accent);outline-offset:2px}
.subcard .count{font-size:.85rem;font-weight:400;color:var(--muted)}
.subcard .subdesc{margin:0;font-size:.95rem;color:var(--muted)}
/* Hub pages (pages with subcategories): the companies that make several types become a compact A-Z grid */
.main:has(.subcards>.subcard) .rows{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.main:has(.subcards>.subcard) .row{padding:10px 14px;border-left-width:4px}
.main:has(.subcards>.subcard) .row:hover,.main:has(.subcards>.subcard) .row:focus-within{border-color:var(--brand);background:var(--tint)}
.main:has(.subcards>.subcard) .row .thumb,.main:has(.subcards>.subcard) .row .visit,.main:has(.subcards>.subcard) .row .desc .src{display:none}
.main:has(.subcards>.subcard) .row h2{font-size:1rem;margin:0 0 .2rem}
.main:has(.subcards>.subcard) .row .desc{font-size:.9rem;line-height:1.35;color:var(--muted)}
.main:has(.subcards>.subcard) .row .desc p{margin:0 0 .3rem}
/* Source line under each listing (national listings carry "Source: ..., checked MM/YYYY") */
.row .desc .src{font-size:.85rem;color:var(--muted)}
/* Category description: the intro box hides when the description holds only the hidden <template> part */
.state-intro:not(:has(*)){display:none}
/* Extra blocks from the category description (after <hr class=split>), shown below the listings */
.cat-more{margin:34px 0 0}
.cat-more>*{background:var(--card);border:1px solid var(--line);border-left:6px solid var(--brand);padding:16px 20px;margin:0 0 22px}
.cat-more h2{font:700 1.35rem/1.25 Arial,Helvetica,sans-serif;color:var(--brand-dark);margin:0 0 .7rem}
.cat-more h3{font:700 1.1rem/1.3 Arial,Helvetica,sans-serif;margin:1rem 0 .4rem}
.cat-more p{margin:0 0 .7rem}
.cat-more>*>:last-child{margin-bottom:0}
.cat-more table{display:block;overflow-x:auto;border-collapse:collapse;font-size:.92rem;max-width:100%}
.cat-more th,.cat-more td{border:1px solid var(--line);padding:6px 10px;text-align:left;vertical-align:top}
.cat-more th{background:var(--tint)}
.cat-more ul{margin:0 0 .7rem;padding-left:1.2rem}
.cat-more details{margin:0 0 .5rem}
.cat-more summary{font-weight:700;cursor:pointer}
.cat-more ul.cols{columns:2 260px;column-gap:28px}
.cat-more ul.cols li{break-inside:avoid;margin:0 0 .45rem}
