
.category-breadcrumbs { display:flex; flex-wrap:wrap; gap:12px; padding-top:26px; padding-bottom:20px; color:var(--muted); font-size:14px; }
.category-breadcrumbs a { color:var(--blue); }
[data-catalog-page] .browse-section { padding-top:8px; min-height:55vh; }
[data-catalog-page] #browse-title { color:var(--blue-dark); font-size:34px; line-height:1.2; max-width:none; }
@media(max-width:600px) { .category-breadcrumbs { padding-top:18px; padding-bottom:16px; font-size:13px; } [data-catalog-page] #browse-title { font-size:25px; } }

.category-theme-filter { margin:0 0 24px; scroll-margin-top:20px; }
.category-theme-filter h2 { font-size:20px; margin-bottom:12px; color:var(--ink); }
.category-theme-options { display:flex; flex-wrap:wrap; gap:8px; }
.category-theme-options a { display:flex; align-items:center; min-height:44px; padding:9px 13px; border:1px solid #cbddef; border-radius:8px; color:var(--blue-dark); font-size:14px; background:#fff; }
.category-theme-options a:hover,.category-theme-options a[aria-current="true"] { background:#eaf4ff; border-color:var(--blue-dark); }
.category-theme-options a:focus-visible { outline:2px solid var(--blue-dark); outline-offset:3px; }
#age-filter-group { scroll-margin-top:20px; }

/* Category filters live beside the products; on phones they open as a panel. */
.catalog-filter-form { margin:0; }
.browse-section .catalog-quick-filters { flex-direction:row; flex-wrap:wrap; align-items:flex-start; gap:24px 36px; margin:0 0 28px; }
.catalog-quick-filters .browse-filter-group legend { font-size:18px; margin-bottom:10px; }
.catalog-quick-filters .browse-filter-options { gap:8px; }
.catalog-quick-filters .browse-filter-choice { min-height:46px; padding:10px 13px; gap:9px; font-size:17px; }
.catalog-layout { display:grid; grid-template-columns:260px minmax(0,1fr); gap:28px; align-items:start; }
.catalog-sidebar { position:sticky; top:16px; max-height:calc(100dvh - 32px); overflow-y:auto; align-self:start; border:1px solid var(--line); border-radius:12px; background:var(--light); }
.catalog-filter-content { padding:18px 16px; }
.catalog-filter-toggle,.catalog-show-results { display:none; }
.catalog-sidebar .category-theme-filter { margin:0; }
.catalog-sidebar .category-theme-filter h2,.catalog-sidebar .browse-filter-group legend { font-size:18px; margin-bottom:10px; }
.catalog-sidebar .category-theme-options { display:flex; flex-direction:column; gap:3px; }
.catalog-sidebar .category-theme-options a { min-height:40px; padding:8px 10px; border:0; border-left:3px solid transparent; border-radius:6px; font-size:15px; line-height:1.4; background:transparent; }
.catalog-sidebar .category-theme-options a[aria-current="true"] { border-left-color:var(--blue-dark); background:#eaf4ff; font-weight:700; }
.catalog-sidebar .category-theme-options a:hover { background:#eaf4ff; }
.catalog-sidebar .browse-filters { gap:22px; margin:0; }
.catalog-sidebar .browse-person-filters { flex-direction:column; align-items:stretch; gap:22px; }
.catalog-sidebar .browse-filter-options { display:grid; grid-template-columns:1fr; gap:7px; }
.catalog-sidebar .browse-filter-choice { padding:9px 10px; min-height:44px; gap:9px; font-size:16px; border-radius:7px; }
.catalog-sidebar .browse-filter-choice input { width:20px; height:20px; flex-basis:20px; }
.catalog-sidebar #age-filter { grid-template-columns:repeat(2,minmax(0,1fr)); }
.catalog-sidebar .browse-filter-choice-age { padding:9px 7px; gap:6px; font-size:16px; }
.catalog-products { min-width:0; container-type:inline-size; container-name:catalog-results; }
.catalog-products .browse-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.catalog-products .result-count { margin-top:0; }
@media(max-width:1000px) {
 .catalog-products .browse-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .catalog-layout { grid-template-columns:1fr; gap:20px; }
 .catalog-sidebar { position:static; max-height:none; overflow:visible; }
 .catalog-filter-toggle { display:flex; align-items:center; gap:10px; min-height:54px; padding:12px 16px; color:var(--blue-dark); font-size:18px; font-weight:700; cursor:pointer; list-style:none; }
 .catalog-filter-toggle::-webkit-details-marker { display:none; }
 .catalog-filter-toggle svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
 .catalog-filter-chevron { margin-left:auto; transition:transform .15s; }
 .catalog-filter-panel[open] .catalog-filter-chevron { transform:rotate(180deg); }
 .catalog-filter-content { border-top:1px solid var(--line); }
 .catalog-sidebar .category-theme-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
 .catalog-sidebar .category-theme-options a { border:1px solid #cbddef; background:#fff; font-size:15px; }
 .catalog-sidebar .category-theme-options a[aria-current="true"] { border-color:var(--blue-dark); background:#eaf4ff; }
 .catalog-sidebar .browse-filter-options,.catalog-sidebar #age-filter { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .catalog-sidebar .browse-filter-choice-age { font-size:16px; padding:10px; }
 .catalog-show-results { display:flex; width:100%; justify-content:center; margin-top:20px; }
}
@media(prefers-reduced-motion:reduce) { .catalog-filter-chevron { transition:none; } }

@media(max-width:600px) {
 .browse-section .catalog-quick-filters { flex-direction:column; gap:18px; margin-bottom:22px; }
 .catalog-quick-filters .browse-filter-choice { min-height:46px; padding:10px 12px; font-size:16px; }
}

.catalog-home #browse-title { color:var(--blue-dark); font-size:34px; line-height:1.2; max-width:none; }
@media(max-width:600px) { .catalog-home #browse-title { font-size:25px; } }

/* Keep the title and quick filters on the same desktop row. */
.browse-section .catalog-heading { display:grid; grid-template-columns:260px minmax(0,1fr) auto; gap:28px; align-items:center; margin-bottom:24px; }
.catalog-heading > div:first-child { min-width:0; }
.catalog-heading #browse-clear { display:block; margin:0; justify-self:end; white-space:nowrap; }
.browse-section .catalog-heading .catalog-quick-filters { margin:0; }
@media(max-width:1000px) {
 .browse-section .catalog-heading { grid-template-columns:1fr; gap:20px; }
}

.catalog-topline { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-top:26px; padding-bottom:20px; }
.catalog-topline .category-breadcrumbs { padding:0; flex-shrink:0; }
.catalog-topline .section-eyebrow { margin-bottom:8px; }
.catalog-topline #browse-title { margin:0; }
.catalog-page-heading .catalog-quick-filters { grid-column:2; }
@media(max-width:1000px) { .catalog-page-heading .catalog-quick-filters { grid-column:1; } }
@media(max-width:600px) { .catalog-topline { flex-wrap:wrap; gap:12px; padding-top:18px; padding-bottom:16px; } }

[data-catalog-page] .browse-section { padding-top:26px; }
.browse-section .catalog-page-heading { align-items:end; }
.catalog-page-heading .category-breadcrumbs { padding:0; margin-bottom:8px; font-size:14px; }
.catalog-page-heading #browse-title { margin:0; }
.catalog-page-heading #browse-clear { align-self:end; min-height:46px; }
@media(max-width:1000px) { .catalog-page-heading #browse-clear { min-height:32px; } }

@media(min-width:1001px) {
 .browse-section .catalog-page-heading .catalog-quick-filters { flex-wrap:nowrap; align-items:flex-end; }
 .catalog-page-heading .browse-filter-options { flex-wrap:nowrap; }
}
@media(min-width:1001px) and (max-width:1439px) {
 .browse-section .catalog-page-heading { grid-template-columns:220px minmax(0,1fr) auto; gap:20px; }
 .browse-section .catalog-page-heading .catalog-quick-filters { gap:16px; }
 .catalog-page-heading .browse-filter-choice { font-size:15px; padding:10px 9px; gap:7px; }
 .catalog-page-heading .browse-filter-choice input { width:20px; height:20px; flex-basis:20px; }
 .catalog-page-heading .browse-filter-options { gap:6px; }
}

.catalog-results-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; }
.catalog-results-heading .result-count { margin:0; }
.catalog-results-heading #browse-clear { margin:0; white-space:nowrap; }
.catalog-results-heading #browse-clear[hidden] { display:none; }
.browse-section .catalog-heading { grid-template-columns:260px minmax(0,1fr); }
@media(max-width:1000px) { .browse-section .catalog-heading { grid-template-columns:1fr; } }
