/* weg-sales.com catalog pages (gross-shared microsite-server/weg-catalog/PLAN-v1-2026-10-15.md), generated by tools/catalog/gen-catalog.mjs.
   Own file, linked only from catalog pages: .htaccess lets browsers keep style.css for a month, so new rules there would reach
   returning visitors late. Fixed navbar is 70px tall. */
.wg-catalog .wg-hero { padding: 100px 0 2.5rem; }
.wg-hero-in { display: grid; gap: 1.5rem 2.5rem; align-items: center; }
.wg-hero-in.wg-has-photo { grid-template-columns: minmax(0, 1fr) 240px; }
.wg-catalog .product-hero h1 { font-size: clamp(1.9rem, 4.5vw, 2.8rem); overflow-wrap: anywhere; margin-bottom: .5rem; }
.wg-lead { font-size: 1.1rem; color: #334155; margin-bottom: 1.1rem; }
.wg-rep { margin: 0; text-align: center; }
.wg-rep img { width: 240px; height: 240px; object-fit: contain; background: #fff; border-radius: 12px; border: 1px solid #e2e8f0; }
.wg-rep figcaption { font-size: .82rem; color: #475569; margin-top: .4rem; }
.wg-btn { display: inline-block; background: #1565c0; color: #fff; font-weight: 700; padding: .8rem 1.4rem; border-radius: 999px; text-decoration: none; }
.wg-btn:hover, .wg-btn:focus { background: #0d47a1; color: #fff; }
.wg-body { padding: 2rem 0 3rem; }
.wg-body h2 { color: #1e293b; margin: 1.5rem 0 .75rem; scroll-margin-top: 86px; }
.wg-kids { list-style: none; padding: 0; margin: 0 0 2rem; display: grid; gap: .75rem; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); }
.wg-kids a { display: block; border: 1px solid #cbd5e0; border-left: 6px solid #1565c0; border-radius: 10px; padding: .8rem 1rem; text-decoration: none; color: #1e293b; background: #fff; }
.wg-kids a:hover { border-color: #1565c0; }
.wg-kids strong { display: block; }
.wg-kids span { display: block; font-size: .9rem; color: #475569; }
.wg-parts { list-style: none; padding: 0; margin: 0 0 1.5rem; }
.wg-part { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: .4rem .9rem; padding: .9rem 0; border-top: 1px solid #e2e8f0; scroll-margin-top: 86px; }
.wg-part[hidden] { display: none; }
.wg-part:target { background: #e8f1fc; box-shadow: 0 0 0 4px #e8f1fc; }
.wg-thumb, .wg-nothumb { width: 64px; height: 64px; grid-row: span 3; border: 1px solid #e2e8f0; border-radius: 6px; object-fit: contain; background: #fff; }
.wg-nothumb { border-style: dashed; }
.wg-pn { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .7rem; min-width: 0; }
.wg-pn code { font-family: ui-monospace, Menlo, Consolas, monospace; font-weight: 700; color: #1e293b; overflow-wrap: anywhere; }
.wg-copy { font: inherit; font-size: .8rem; font-weight: 600; border: 1px solid #94a3b8; border-radius: 999px; padding: .2rem .8rem; background: #fff; color: #1e293b; min-height: 32px; cursor: pointer; }
.wg-acts { display: flex; flex-wrap: wrap; gap: .4rem 1rem; align-items: center; font-size: .9rem; }
.wg-q { display: inline-flex; align-items: center; background: #1565c0; color: #fff; font-weight: 700; padding: .45rem 1rem; border-radius: 999px; text-decoration: none; min-height: 40px; }
.wg-q:hover, .wg-q:focus { background: #0d47a1; color: #fff; }
.wg-l { color: #1e293b; text-decoration: underline; text-underline-offset: 2px; }
.wg-d { font-size: .92rem; color: #1e293b; min-width: 0; overflow-wrap: anywhere; }
.wg-dl { display: block; font-size: .7rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #475569; margin-top: .25rem; }
.wg-d .wg-dl:first-child { margin-top: 0; }
.wg-x, .wg-n { display: block; font-weight: 600; color: #7c2d12; }
.wg-filter { margin: 0 0 1rem; }
.wg-filter label, .wg-lookup label { display: block; font-weight: 700; color: #1e293b; margin-bottom: .3rem; }
.wg-filter input, .wg-lookup input { width: 100%; max-width: 28rem; font: inherit; padding: .65rem .9rem; border: 2px solid #cbd5e0; border-radius: 10px; min-height: 46px; box-sizing: border-box; }
.wg-filter input:focus, .wg-lookup input:focus { border-color: #1565c0; outline: 2px solid #1565c0; outline-offset: 1px; }
.wg-lookup { background: #fff; border-radius: 14px; padding: 1rem 1.2rem; box-shadow: 0 10px 30px rgba(0,0,0,.08); max-width: 34rem; margin-top: 1rem; }
.wg-lookup ul { list-style: none; padding: 0; margin: .5rem 0 0; }
.wg-lookup li { border-top: 1px solid #e2e8f0; padding: .5rem 0; }
.wg-lookup a { font-weight: 700; color: #1565c0; }
.wg-lookup small { display: block; color: #475569; font-weight: 500; }
.wg-pager { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0; }
.wg-pager a { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #cbd5e0; border-radius: 999px; text-decoration: none; font-weight: 700; color: #1e293b; }
.wg-pager a[aria-current] { background: #1565c0; border-color: #1565c0; color: #fff; }
.wg-note { font-size: .88rem; color: #475569; border-top: 1px solid #e2e8f0; padding-top: .7rem; }
.wg-note a { color: #1565c0; }
.wg-shop { border: 2px solid #1e293b; border-radius: 14px; padding: 1.2rem 1.4rem; margin-top: 2rem; max-width: 46rem; }
.wg-shop h2 { margin-top: 0; }
.wg-shop a { color: #1565c0; font-weight: 700; }
@media (min-width: 900px) { .wg-part { grid-template-columns: 64px 15rem minmax(0, 1fr) auto; align-items: center; } .wg-thumb, .wg-nothumb { grid-row: auto; } .wg-acts { order: 4; } .wg-d { order: 3; } }
@media (max-width: 768px) {
  .wg-hero-in.wg-has-photo { grid-template-columns: 1fr; }
  .wg-rep img { width: 160px; height: 160px; }
}
@media (max-width: 600px) {
  .wg-catalog .wg-hero { padding: 86px 0 1.25rem; }
  .wg-catalog .product-hero h1 { font-size: 1.7rem; letter-spacing: 0; }
  .wg-lead { font-size: 1rem; margin-bottom: .75rem; }
  .wg-catalog .breadcrumb { margin-bottom: .6rem; font-size: .82rem; }
  .wg-hero-in > div { display: flex; flex-direction: column; }
  .wg-hero-in .breadcrumb { order: 0; } .wg-hero-in h1 { order: 1; }
  .wg-hero-in > div > p:not(.wg-lead) { order: 2; margin: 0 0 .75rem; }
  .wg-hero-in .wg-lead { order: 3; } .wg-hero-in .wg-lookup { order: 4; }
  .wg-rep { display: none; }
}
.wg-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
