[hidden] { display: none !important; }
.site-header { align-items:center; gap:20px; background:var(--white); }
.site-header .brand { flex-shrink:0; font-size:1.1rem; }
.site-header nav { gap:clamp(10px,1.4vw,24px); padding:0; }
.site-header nav a { display:flex; align-items:center; min-height:44px; font-size:12px; letter-spacing:.04em; }
.site-header nav a[aria-current="page"] { font-weight:700; text-decoration:underline; text-underline-offset:6px; }
.menu { min-height:48px; min-width:90px; padding:10px 16px; color:var(--ink); background:var(--sky); border:1px solid var(--ink); font:600 15px var(--sans); cursor:pointer; border-radius:4px; }
.product-visual > a { display:block; width:100%; height:100%; }
.product-visual img { display:block; width:100%; height:100%; max-width:100%; max-height:100%; object-fit:contain; opacity:1; }
.tech-spec { color:var(--muted); }
.product-info { gap:12px; flex-wrap:wrap; }
@media(max-width:1150px) {
 .site-header { flex-wrap:wrap; padding:12px 5%; min-height:72px; }
 .site-header .menu { margin-left:auto; }
 .site-header nav { flex:0 0 100%; display:flex; flex-direction:column; align-items:stretch; gap:0; max-height:70vh; max-height:70dvh; overflow:auto; border-top:1px solid var(--line); padding:8px 0; }
 .site-header nav a { padding:12px 16px; min-height:48px; font-size:15px; border-bottom:1px solid var(--line); }
 .site-header nav .nav-cta { background:var(--sky); margin-top:8px; border:1px solid var(--ink); }
}
@media(max-width:600px) {
 .site-header .brand { font-size:13px; gap:8px; }
 .site-header .brand img { width:36px; height:36px; }
 .category-header { flex-direction:column; align-items:flex-start; gap:12px; }
 .category-header h2 { font-size:clamp(1.8rem,8vw,3rem); overflow-wrap:break-word; }
}
