/* Category landing pages use their own compact body; shared catalogue styling stays intact. */
.category-pending #main { visibility:hidden; }
.category-page-container { max-width:1480px; width:calc(100% - 96px); margin-inline:auto; }
.category-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; padding-block:22px; font-size:.84rem; color:var(--gray-600); }
.category-breadcrumb a { color:var(--teal-600); }
.category-landing-layout { display:grid; grid-template-columns:216px minmax(0,1fr); gap:26px 32px; align-items:start; margin-bottom:44px; }
.category-support { grid-column:1; padding:22px 18px; border:1px solid #dce4e9; border-top:3px solid var(--teal-600); background:#f6f9fa; }
.category-support h2 { font-size:1.08rem; line-height:1.45; margin:0 0 18px; }
.category-support ul { list-style:none; margin:0 0 20px; padding:0; }
.category-support li + li { border-top:1px solid #e2e8ec; }
.category-support li a { display:block; padding:10px 0; color:var(--navy-900); font-size:.84rem; line-height:1.5; }
.category-support li a:hover { color:var(--teal-600); text-decoration:underline; }
.category-support .btn { display:flex; justify-content:center; padding:12px 8px; font-size:.84rem; }
.category-content { display:grid; gap:26px; min-width:0; }
.category-intro { display:grid; grid-template-columns:minmax(0,1fr) 220px; gap:28px; align-items:center; padding:0; margin:0; min-height:168px; }
.category-intro h1 { font-size:clamp(1.6rem,2.4vw,2.25rem); line-height:1.2; letter-spacing:-.025em; margin:0 0 14px; }
.category-intro p { max-width:58ch; margin:0; font-size:.96rem; line-height:1.7; color:var(--gray-600); }
.category-technical-visual { border:1px solid #dde6eb; background-color:#f7fafa; background-image:linear-gradient(#0f8a8a08 1px,transparent 1px),linear-gradient(90deg,#0f8a8a08 1px,transparent 1px); background-size:20px 20px; }
.category-technical-visual .technical-illustration { min-height:168px; }
.category-technical-visual svg { width:128px; height:128px; }
.category-families { padding:0; margin:0; min-width:0; }
.category-families > h2 { font-size:1.3rem; line-height:1.3; margin:0 0 18px; padding-bottom:12px; border-bottom:1px solid #dce4e9; }
.category-family-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
.category-family-card { display:flex; flex-direction:column; min-width:0; padding:16px 14px; border:1px solid #dce4e9; background:white; color:var(--navy-900); transition:border-color .15s; }
.category-family-card:hover { border-color:var(--teal-600); color:var(--navy-900); }
.category-family-card:focus-visible { outline:2px solid var(--teal-600); outline-offset:3px; }
.category-family-card .technical-illustration { display:flex; justify-content:flex-start; min-height:0; margin-bottom:14px; }
.category-family-card .technical-illustration svg { width:44px; height:44px; }
.category-family-card h3 { margin:0 0 8px; font-size:.93rem; line-height:1.4; }
.category-family-card p { font-size:.8rem; line-height:1.5; color:var(--gray-600); margin:0 0 18px; }
.family-link-label { margin-top:auto; color:var(--teal-600); font-weight:600; font-size:.78rem; line-height:1.5; }
.category-family-empty { padding:0; margin:0; font-size:.9rem; color:var(--gray-600); }
.category-not-found { padding-block:40px; }
@media (max-width:1279px) {
 .category-landing-layout { grid-template-columns:200px minmax(0,1fr); gap:24px; }
 .category-intro { grid-template-columns:minmax(0,1fr) 160px; gap:20px; }
 .category-family-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:900px) {
 .category-page-container { width:calc(100% - 48px); }
 .category-landing-layout { grid-template-columns:180px minmax(0,1fr); gap:20px; }
 .category-support { padding:18px 14px; }
 .category-intro { grid-template-columns:1fr; gap:16px; }
 .category-technical-visual .technical-illustration { min-height:120px; }
 .category-technical-visual svg { width:96px; height:96px; }
 .category-family-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px) {
 .category-landing-layout { display:flex; flex-direction:column; gap:24px; margin-bottom:32px; }
 .category-landing-layout > * { width:100%; }
 .category-support { padding:16px; }
 .category-support h2 { margin-bottom:8px; }
 .category-support ul { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; margin-bottom:12px; }
 .category-support li + li { border:0; }
 .category-support .btn { display:inline-flex; padding:10px 16px; }
 .category-intro h1 { font-size:1.8rem; }
 .category-intro p { font-size:.92rem; }
 .category-breadcrumb { padding-block:18px; }
}
@media (max-width:399px) {
 .category-page-container { width:calc(100% - 32px); }
 .category-family-grid { grid-template-columns:1fr; }
}
