/* Each branch has one full-width disclosure; navigation lives inside the branch. */
.catalog-sidebar{--category-muted:color-mix(in srgb,var(--body-text) 72%,white);--category-line:color-mix(in srgb,var(--body-text) 12%,white);background:#f7f8f9;border:1px solid var(--category-line);border-radius:14px;padding:16px 12px;overflow-wrap:anywhere}
.catalog-category-panel>summary{display:flex;justify-content:space-between;align-items:center;padding:4px 8px 16px;font-size:15px;font-weight:700;cursor:pointer;list-style:none;min-height:44px;gap:12px}
.catalog-category-panel>summary>span{font-size:16px;color:var(--category-muted);transition:transform .16s}
.catalog-category-panel:not([open])>summary>span{transform:rotate(-90deg)}
.catalog-sidebar summary::-webkit-details-marker{display:none}
.catalog-sidebar ul{list-style:none;margin:0;padding:0}
.catalog-sidebar nav>ul{border-top:1px solid var(--category-line);padding-top:8px;margin-top:8px}
.catalog-sidebar li{margin:2px 0}
.catalog-sidebar :is(a,.catalog-branch>summary){display:flex;align-items:center;gap:10px;min-height:44px;padding:9px 10px;border-radius:7px;font-size:13px;line-height:1.5;color:var(--body-text);transition:background-color .15s}
.catalog-sidebar :is(.catalog-node-link,.catalog-branch>summary)>span:first-child{min-width:0;flex:1}
.catalog-sidebar a{justify-content:space-between}
.catalog-sidebar .catalog-all{font-size:12px;font-weight:600;color:var(--category-muted);padding-top:8px;padding-bottom:8px}
.catalog-sidebar small{flex-shrink:0;min-width:27px;text-align:center;font-size:10px;line-height:1.6;font-weight:400;font-variant-numeric:tabular-nums;color:var(--category-muted);background:white;border:1px solid var(--category-line);border-radius:20px;padding:0 6px}
.catalog-sidebar nav>ul>li>a,.catalog-sidebar nav>ul>li>details>summary{font-weight:600}
.catalog-sidebar .catalog-branch>summary{cursor:pointer;list-style:none}
.category-chevron{flex-shrink:0;color:var(--category-muted);transition:transform .16s}
.catalog-branch[open]>summary>.category-chevron{transform:rotate(180deg)}
.category-children{border-left:1px solid var(--category-line);margin:3px 0 10px 11px;padding-left:10px}
.catalog-sidebar .category-children :is(a,.catalog-branch>summary){font-size:12px;font-weight:400;color:var(--category-muted);padding-top:8px;padding-bottom:8px}
.category-children .category-children{margin-left:8px;padding-left:8px}
.catalog-sidebar .category-view-all{font-size:11px;text-decoration:underline;text-underline-offset:3px}
.catalog-sidebar :is(a[aria-current=page],summary[data-active=true]){background:color-mix(in srgb,var(--accent) 9%,white);color:var(--body-text);font-weight:600;box-shadow:inset 2px 0 var(--accent)}
.catalog-sidebar :is(a[aria-current=page],summary[data-active=true]) small{color:var(--body-text);border-color:color-mix(in srgb,var(--accent) 25%,white);background:color-mix(in srgb,var(--accent) 6%,white)}
.catalog-sidebar .category-view-all[aria-current=page]{background:transparent;box-shadow:none}
@media(hover:hover){.catalog-sidebar :is(a,.catalog-branch>summary):not([data-active=true]):not([aria-current=page]):hover{background:color-mix(in srgb,var(--body-text) 5%,white)}}
.catalog-sidebar :is(a,summary):focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:760px){.catalog-sidebar{padding:10px 12px}.catalog-category-panel>summary{padding:4px 8px;min-height:44px}.catalog-category-panel>nav{max-height:45dvh;overflow:auto;overscroll-behavior:contain;padding:3px}.catalog-sidebar :is(a,.catalog-branch>summary){font-size:14px}.catalog-sidebar .category-children :is(a,.catalog-branch>summary){font-size:13px}}
@media(prefers-reduced-motion:reduce){.catalog-sidebar :is(a,summary),.catalog-sidebar summary>span,.category-chevron{transition:none}}
/* Optional editorial thumbnail; no placeholder or reserved space when absent. */
.catalog-heading.has-category-image{display:flex;align-items:center;gap:14px;min-width:0}.catalog-heading.has-category-image>div{min-width:0}.catalog-category-image{flex:0 0 64px;width:64px;height:64px;object-fit:contain;padding:5px;border-radius:10px;background:color-mix(in srgb,var(--body-text) 4%,white)}
@media(max-width:640px){.catalog-heading.has-category-image{gap:10px}.catalog-category-image{flex-basis:48px;width:48px;height:48px;padding:4px;border-radius:8px}}
