/* Inner-page styles for the statically generated pages.
   Loaded after the Vite-hashed main stylesheet, so it can rely on the
   design tokens defined in :root there. */

.wrap-narrow{max-width:880px}

/* ---------- static nav (generated pages have no JS burger) ---------- */
.nav--static .menu{display:flex}
.nav--static .burger{display:none}
@media (max-width:1024px){
  .nav--static{height:auto;padding:12px 0;flex-wrap:wrap;gap:10px}
  .nav--static .menu{
    display:flex;order:3;width:100%;justify-content:flex-start;
    gap:0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;
  }
  .nav--static .menu a{white-space:nowrap;font-size:13px;padding:9px;min-height:42px;display:inline-flex;align-items:center}
  .nav--static .menu::-webkit-scrollbar{display:none}
}

/* ---------- page hero ---------- */
.page-hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(900px 380px at 88% -30%, rgba(14,154,167,.16), transparent 62%),
    linear-gradient(180deg,#f3fbfa 0%,#ffffff 100%);
  border-bottom:1px solid var(--line);
  padding:34px 0 44px;
}
.page-hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgba(14,154,167,.13) 1px, transparent 1px);
  background-size:22px 22px;opacity:.5;
  mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 72%);
  -webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 72%);
}
.page-hero .wrap{position:relative;z-index:1}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-soft);margin-bottom:16px}
.crumbs a{color:var(--ink-soft);border-bottom:1px solid transparent;transition:.2s}
.crumbs a:hover{color:var(--brand-dark);border-color:var(--brand)}
.crumbs .sep{opacity:.45}
.page-hero h1{font-size:clamp(26px,3.6vw,40px);font-weight:800;letter-spacing:-.03em;max-width:20em}
.page-hero .lead{margin-top:14px;font-size:16px;color:var(--ink-soft);max-width:62ch}
.page-hero .pill-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}

.pill{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 13px;border-radius:100px;font-size:12.5px;font-weight:700;
  background:var(--mint);color:var(--brand-deep);border:1px solid #d5ecea;
}
.pill:hover{background:#dff3f1}

/* ---------- generic section ---------- */
.section{padding:52px 0}
.section--tight{padding:34px 0}
.section h2{font-size:clamp(21px,2.4vw,27px);font-weight:780;letter-spacing:-.02em}
.section .sub{margin-top:10px;color:var(--ink-soft);font-size:15px;max-width:64ch}

/* ---------- product detail ---------- */
.pdp{display:grid;grid-template-columns:1.02fr 1fr;gap:38px;align-items:start}
.pdp-media{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  box-shadow:var(--shadow-md);overflow:hidden;position:relative;
}
.pdp-media img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:var(--mint-2);padding:18px}
.pdp-side h2{font-size:16px;font-weight:780;letter-spacing:.02em;text-transform:uppercase;color:var(--brand-deep)}
.pdp-side h2 + *{margin-top:12px}
.uses{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:10px}
.uses li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;color:var(--ink)}
.uses li::before{
  content:"✓";flex:0 0 20px;height:20px;border-radius:50%;
  background:var(--mint);color:var(--brand-dark);
  display:inline-flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:800;margin-top:2px;
}
.oem{
  margin-top:24px;padding:20px 22px;border-radius:var(--r-md);
  background:var(--mint-2);border:1px solid var(--line);
}
.oem b{display:block;font-size:14.5px;margin-bottom:6px}
.oem p{font-size:13.5px;color:var(--ink-soft)}
.btn-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.btn-row .btn{font-size:14px;padding:12px 20px}
.note{margin-top:12px;font-size:12.5px;color:var(--ink-soft)}

/* ---------- related / listing cards ---------- */
.card-media{display:block;background:var(--mint-2)}
.card-media img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;padding:12px;transition:transform .35s}
.card:hover .card-media img{transform:scale(1.03)}
.card-img img{height:auto}

/* ---------- chip list (category switcher) ---------- */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.chip{
  display:inline-flex;padding:8px 15px;border-radius:100px;font-size:13px;font-weight:650;
  border:1px solid var(--line);background:#fff;color:var(--ink-soft);transition:.2s;
}
.chip:hover{border-color:var(--brand);color:var(--brand-dark);background:var(--mint-2)}
.chip.is-on{background:var(--brand-deep);border-color:var(--brand-deep);color:#fff}

/* ---------- prose (about) ---------- */
.prose{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}
.prose .body p + p{margin-top:14px}
.prose p{font-size:15px;color:var(--ink-soft);line-height:1.75}
.about-figure{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-md)}
.about-figure img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;background:var(--mint-2)}
.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:30px}
.stat{padding:18px 16px;border-radius:var(--r-md);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.stat b{display:block;font-size:19px;color:var(--brand-deep)}
.stat span{display:block;font-size:12.5px;color:var(--ink-soft);margin-top:2px}

/* ---------- 404 ---------- */
.notfound{min-height:52vh;display:flex;align-items:center}

@media (max-width:900px){
  .pdp,.prose{grid-template-columns:1fr;gap:24px}
  .stat-row{grid-template-columns:1fr 1fr}
  .page-hero{padding:26px 0 34px}
  .section{padding:38px 0}
}
@media (max-width:520px){
  .pdp-media img{aspect-ratio:1/1}
  .btn-row .btn{width:100%}
}
