/* Product surfaces: shop buttons with boardzy's codes and the commission line, the Seal of Approval badge,
   mouse-page sections, brand hubs and the crawlable catalog directory. Global tokens live in style.css. */

/* ---------- Shop buttons, codes and the commission line (mouse pages and the detail dialog) ---------- */
.purchase-buttons{align-items:center}
.shop-code{display:inline-flex;align-items:center;min-height:32px;padding:0 10px;border:1px dashed var(--line-strong);border-radius:999px;font-size:12.5px;font-weight:600;color:var(--ink);white-space:nowrap}
.shop-disclosure{margin:8px 0 0;font-size:12.5px;line-height:1.45;color:var(--muted)}
.product-shopping .shop-disclosure,.detail-purchase .shop-disclosure{max-width:none}

/* ---------- boardzy's Seal of Approval ---------- */
.seal-badge{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:2px 12px 2px 3px;border-radius:999px;background:var(--surface-2);color:var(--ink);font-size:13px;font-weight:600;line-height:1.2;text-decoration:none;vertical-align:middle}
a.seal-badge:hover{background:var(--line)}
a.seal-badge:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.seal-badge img{width:28px;height:28px;flex:none;object-fit:contain}
.seal-mini{width:18px;height:18px;margin-left:5px;vertical-align:-3px;object-fit:contain}

/* ---------- Mouse pages ---------- */
.mouse-page .product-heading h1{margin:4px 0 8px}
.mouse-page .product-brand{display:block;margin-bottom:2px;font-family:var(--body);font-size:15px;font-weight:500;line-height:1.3;letter-spacing:0;text-transform:none;color:var(--muted)}
.mouse-page .product-heading .seal-badge{margin:0 0 8px}
.mouse-page .product-status{margin:0 0 12px;font-size:14px;color:var(--muted)}
.mouse-page>section{margin-top:34px}
.mouse-page>section>h2{margin:0 0 12px}
.product-video .yt-embed{margin-top:0}
.product-video .review-list{margin:12px 0 0}
.product-cta{margin:16px 0 0;padding:14px 16px;border:1px solid var(--line);border-radius:12px;max-width:640px;box-sizing:border-box}
.product-cta .shop-disclosure{margin-top:8px}
.product-specs .spec-grid{margin:0 0 12px}
.product-sources{margin:10px 0 0;font-size:14px}
.product-sources summary{cursor:pointer;color:var(--muted);display:list-item;padding:9px 0;width:max-content;max-width:100%}
.product-sources ul{margin:4px 0 0}
.product-sources .product-notes{list-style:none;padding:0!important;color:var(--muted)}
.product-sources .product-notes li{padding:2px 0}
.product-related .directory-grid{margin:0}
.related-grid li{padding:10px 12px}
.related-grid a{min-height:44px}
.related-grid div{min-width:0;overflow-wrap:anywhere}
.compare-links{list-style:none;padding:0!important;margin:0;display:grid;gap:8px}
.compare-links li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;max-width:none}
.compare-links>li>a{display:inline-flex;align-items:center;min-height:40px;font-weight:600}
.related-note{display:inline-flex;align-items:center;gap:5px;min-height:40px;font-size:13px;color:var(--muted)}
.related-more{margin:12px 0 0}
.related-more a{display:inline-flex;align-items:center;min-height:40px}
@media(max-width:700px){.mouse-page .product-brand{font-size:14px}.product-cta{padding:12px}}

/* ---------- Brand hubs ---------- */
.hub-intro{max-width:70ch}
.hub-grid{list-style:none;padding:0!important;margin:18px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.hub-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);max-width:none!important;transition:box-shadow var(--fast),transform .18s var(--ease-out),border-color var(--fast)}
@media (hover:hover){.hub-card:hover{box-shadow:var(--elev-2);transform:translateY(-2px);border-color:var(--line-strong)}}
.hub-link{display:flex;flex-direction:column;gap:2px;width:100%;text-decoration:none;color:inherit}
.hub-link img,.hub-link .thumb-empty{width:96px;height:96px;object-fit:contain;background:var(--photo);border-radius:8px;margin-bottom:8px}
.hub-name{font-weight:600;line-height:1.3}
.hub-line{font-size:13px;line-height:1.45;color:var(--muted)}
.hub-shop{display:inline-flex;align-items:center;gap:6px;min-height:40px;margin-top:auto;padding:0 12px;border-radius:var(--radius-s);box-shadow:inset 0 0 0 1px var(--line-strong);font-size:13px;font-weight:600;color:var(--ink);text-decoration:none}
.hub-shop:hover{background:var(--surface-2)}
.hub-shop .ui-icon{width:16px;height:16px}
.thumb-empty{display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:var(--muted)}

/* ---------- Brand index and the catalog directory ---------- */
.brand-index{list-style:none;padding:0!important;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.brand-index li{max-width:none}
.brand-index a{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font-size:14px;font-weight:500;text-decoration:none;transition:background var(--fast),border-color var(--fast),transform .14s var(--ease-out)}
@media (hover:hover){.brand-index a:hover{background:var(--surface-2);border-color:var(--line-strong);transform:translateY(-1px)}}
.brand-index span{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.home-brands,.catalog-directory{margin:40px 0 8px}
.home-brands h2,.catalog-directory h2{margin:0 0 12px;font-size:22px}
.directory-details{margin-top:16px}
.directory-details summary{cursor:pointer;display:list-item;padding:9px 0;width:max-content;max-width:100%;font-weight:600}
.directory-details h3{margin:18px 0 6px;font-size:18px}
.directory-list{list-style:none;padding:0!important;margin:0;columns:4 180px;column-gap:24px}
.directory-list li{break-inside:avoid;line-height:1.35;max-width:none}
.directory-list a{display:inline-block;padding:5px 0;color:inherit}
.catalog-nojs{margin:12px 0}
.catalog-table a.row-open{text-decoration:none}
.directory-grid img.seal-mini{width:18px;height:18px;background:none;border-radius:0}
@media(max-width:700px){
 .document-page .related-grid{grid-template-columns:1fr;gap:8px}
 .document-page .related-grid a{flex-direction:row;align-items:center}
 .document-page .related-grid img:not(.seal-mini){width:52px;height:52px}
 .hub-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .hub-card{padding:10px}
 .hub-link img,.hub-link .thumb-empty{width:72px;height:72px}
 .hub-shop{padding:0 10px;font-size:12.5px}
}
#detail-content .seal-badge{margin:2px 0 12px}
