/* Catalog navigation: colors distinguish departments without changing product imagery. */
.catalog-page { --catalog-line:#e5e8df; }
.tone-sage { --category-bg:#edf4e8; --category-ink:#3e5c43; --category-edge:#c8d9bf; }
.tone-rose { --category-bg:#f9e9ee; --category-ink:#87536b; --category-edge:#e8c7d3; }
.tone-peach { --category-bg:#fbefdf; --category-ink:#8b653f; --category-edge:#e8d3b5; }
.tone-lavender { --category-bg:#f0ecf8; --category-ink:#6b5b89; --category-edge:#d8cee8; }
.catalog-page .catalog-main { padding-top:24px; }
.catalog-page .breadcrumbs { margin-bottom:20px; color:#6a746c; font-size:13px; overflow-wrap:anywhere; }
.catalog-page .breadcrumbs a:hover { color:#87536b; text-decoration:underline; }
.catalog-page .catalog-intro { align-items:center; margin-bottom:20px; padding:25px 30px; border:1px solid var(--category-edge); border-radius:18px; background:linear-gradient(110deg,var(--category-bg),#fafbf8); }
.catalog-intro .eyebrow { color:var(--category-ink); font-size:11px; letter-spacing:1.8px; font-weight:700; }
.catalog-page .catalog-intro h1 { margin:7px 0 9px; font-size:clamp(27px,2.5vw,36px); line-height:1.2; letter-spacing:-1px; }
.catalog-page .catalog-intro p { max-width:690px; margin:0; color:#59675e; font-size:15px; line-height:1.6; }
.catalog-page .catalog-count { flex-shrink:0; padding:9px 13px; border:1px solid var(--category-edge); border-radius:30px; background:#ffffffb3; color:var(--category-ink); font-size:13px; }
.catalog-collections { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 20px; }
.catalog-collections a { display:inline-flex; min-height:42px; align-items:center; gap:7px; padding:9px 15px; border:1px solid #e5e4df; border-radius:24px; font-size:13px; font-weight:650; color:#536159; background:#fff; }
.catalog-collections a:hover, .catalog-collections a[aria-current] { border-color:#d9bac8; background:#f8e9ef; color:#754b5f; }
.catalog-collections .icon-svg { width:17px; height:17px; }
.catalog-category-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(185px,1fr)); gap:12px; margin-bottom:26px; }
.catalog-categories-expand { display:none; }
.catalog-category-card { display:flex; min-width:0; align-items:center; gap:12px; padding:18px 16px; border:1px solid var(--category-edge); border-radius:14px; background:var(--category-bg); color:var(--category-ink); transition:border-color .15s,box-shadow .15s; }
.catalog-category-card:hover, .catalog-category-card[aria-current] { border-color:var(--category-ink); box-shadow:0 3px 12px #263b3010; }
.category-card-icon { display:grid; flex:0 0 38px; width:38px; height:42px; place-items:center; border-radius:12px; background:#ffffffa6; }
.category-card-icon .icon-svg { width:23px; height:23px; }
.catalog-category-card strong { display:block; font-size:14px; font-weight:700; line-height:1.45; }
.catalog-category-card small { display:block; margin-top:5px; font-size:12px; color:#646d62; }
.catalog-category-card .category-card-arrow { flex:0 0 16px; width:16px; height:16px; margin-left:auto; }
.catalog-page .catalog-layout { grid-template-columns:245px minmax(0,1fr); gap:25px; align-items:start; }
.catalog-page .catalog-sidebar { position:static; padding:0; border:0; }
.catalog-category-panel { margin-bottom:16px; border:1px solid var(--catalog-line); border-radius:13px; background:#fff; overflow:hidden; }
.catalog-category-panel > summary { display:flex; min-height:52px; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; background:#f1f5ed; color:#344e3c; font-size:15px; font-weight:750; cursor:pointer; list-style:none; }
.catalog-category-panel > summary > span { display:flex; align-items:center; gap:9px; }
.catalog-category-panel summary::-webkit-details-marker, .catalog-refine summary::-webkit-details-marker { display:none; }
.catalog-category-panel > summary .icon-svg { width:18px; height:18px; }
.catalog-category-panel[open] > summary > .icon-svg, .category-tree-branch[open] > summary > .icon-svg { transform:rotate(180deg); }
.catalog-category-tree { padding:9px; }
.catalog-category-tree a, .category-tree-branch > summary { display:flex; align-items:center; gap:7px; min-height:41px; padding:9px 8px; border-radius:7px; color:#4e5e52; font-size:13px; line-height:1.5; }
.category-tree-branch > summary { font-weight:650; cursor:pointer; list-style:none; }
.catalog-category-tree small { margin-left:auto; color:#778273; font-size:11px; }
.category-tree-branch > summary > .icon-svg { flex:0 0 13px; width:13px; height:13px; }
.catalog-category-tree a:hover, .category-tree-branch > summary:hover { background:#f7f4f1; color:#87536b; }
.catalog-category-tree a[aria-current] { background:#f6e6ed; color:#754b5f; font-weight:700; }
.category-tree-children { margin-left:9px; padding-left:6px; border-left:1px solid #e3e8dd; }
.catalog-category-tree .category-tree-all { color:#496b50; font-size:12px; font-weight:700; }
.category-tree-all .icon-svg { width:15px; height:15px; margin-left:auto; flex-shrink:0; }
.catalog-page .catalog-filter-panel { border:1px solid var(--catalog-line); border-radius:13px; background:#fff; }
.catalog-page .catalog-filter-panel > summary { padding:15px; font-size:14px; background:#faf8f6; border-radius:13px 13px 0 0; }
.catalog-page .catalog-filter-form { padding:15px; }
.catalog-page .catalog-filter-grid { gap:17px; }
.catalog-page .catalog-filter-field > span { font-size:13px; }
.catalog-page .catalog-sidebar input, .catalog-page .catalog-sidebar select { min-height:44px; padding:10px; border-radius:8px; font-size:13px; }
.catalog-page .catalog-sidebar input[type=checkbox] { min-height:18px; }
.catalog-refine { min-width:0; }
.catalog-refine > summary { color:#667365; font-size:12px; font-weight:650; padding:10px 0; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.catalog-refine[open] .catalog-filter-field { margin-top:12px; }
.catalog-page .filter-button { min-height:44px; margin-top:0; font-size:14px; }
.catalog-results-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:18px; min-height:50px; padding-bottom:12px; border-bottom:1px solid var(--catalog-line); }
.catalog-results-toolbar > span { color:#697368; font-size:13px; }
.catalog-results-toolbar strong { color:#304b39; }
.catalog-results-toolbar label { display:flex; align-items:center; gap:10px; font-size:12px; color:#667264; }
.catalog-results-toolbar select { min-height:44px; max-width:100%; border:1px solid #dbe1d5; border-radius:9px; padding:10px 30px 10px 12px; background:#fff; font:inherit; font-size:13px; color:#344a3b; }
.catalog-page .catalog-active-filters { margin:0 0 22px; }
.catalog-page .filter-chip { border-color:#dbe5d4; background:#f1f6ed; }
.catalog-page .catalog-product-card { border-color:#e5e8df; }
.catalog-page .catalog-product-card:hover { border-color:#bccdb7; box-shadow:0 5px 18px #31452d0a; }
.catalog-page .catalog-product-photo { background:#f7f6f2; }
.catalog-page .catalog-product-info > span { color:#8a5f72; }
.catalog-page .catalog-pagination { flex-wrap:wrap; gap:7px; margin-top:30px; }
.catalog-page .catalog-pagination a { display:inline-flex; align-items:center; justify-content:center; min-height:42px; min-width:42px; padding:8px 12px; border-radius:8px; font-size:13px; }
.catalog-page .catalog-pagination a[aria-current] { background:#f4e0e9; color:#74475b; border-color:#dcb8c8; font-weight:750; }
.catalog-page .catalog-pagination > span { margin-right:6px; font-size:12px; }
.catalog-page .catalog-empty { border:1px dashed #dac9cf; border-radius:16px; background:#fcf7f8; padding:50px 20px; }
.catalog-page a:focus-visible, .catalog-page summary:focus-visible, .catalog-page select:focus-visible { outline:3px solid #b8ceba; outline-offset:3px; }
#catalogBrandFilter { scroll-margin-top:220px; }
@media (min-width:1180px) {
 .catalog-page.cart-docked .catalog-layout { grid-template-columns:210px minmax(0,1fr); gap:18px; }
 .catalog-page.cart-docked .catalog-intro { align-items:flex-start; }
 .catalog-page.cart-docked .catalog-results-toolbar { flex-wrap:wrap; }
}
@media (max-width:1000px) {
 .catalog-page .catalog-layout { grid-template-columns:210px minmax(0,1fr); gap:18px; }
 .catalog-category-cards { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .catalog-category-card { padding:15px 12px; gap:9px; }
 .catalog-category-card .category-card-arrow { display:none; }
 .catalog-results-toolbar { flex-wrap:wrap; }
}
@media (max-width:650px) {
 .catalog-page .catalog-main { padding-top:18px; }
 .catalog-page .catalog-intro { display:block; padding:21px 19px; border-radius:14px; }
 .catalog-page .catalog-intro h1 { font-size:28px; }
 .catalog-page .catalog-intro p { font-size:14px; }
 .catalog-page .catalog-count { display:inline-block; margin-top:13px; font-size:12px; padding:6px 10px; }
 .catalog-collections { gap:7px; margin-bottom:16px; }
 .catalog-collections a { padding:9px 12px; font-size:12px; }
 .catalog-category-cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-bottom:18px; }
 .catalog-category-cards.is-compact .catalog-category-card:nth-of-type(n+5) { display:none; }
 .catalog-category-cards:has(+ .catalog-categories-expand) { margin-bottom:8px; }
 .catalog-categories-expand { display:block; width:100%; min-height:44px; margin-bottom:20px; padding:10px; border:1px solid #e2d5dc; border-radius:9px; background:#fff; color:#80566b; font:inherit; font-size:13px; font-weight:650; cursor:pointer; }
 .catalog-category-card { align-items:flex-start; padding:13px 10px; gap:8px; }
 .category-card-icon { flex-basis:29px; width:29px; height:32px; border-radius:9px; }
 .category-card-icon .icon-svg { width:19px; height:19px; }
 .catalog-category-card strong { font-size:12px; }
 .catalog-category-card small { font-size:11px; }
 .catalog-page .catalog-layout { grid-template-columns:minmax(0,1fr); gap:18px; }
 .catalog-category-panel { margin-bottom:10px; }
 .catalog-page .catalog-filter-panel > summary { min-height:52px; }
 .catalog-results-toolbar { margin-bottom:14px; }
 .catalog-results-toolbar > span { display:none; }
 .catalog-results-toolbar label { width:100%; justify-content:space-between; }
 .catalog-results-toolbar select { flex:1; min-width:0; font-size:14px; }
 .catalog-page .catalog-sidebar input, .catalog-page .catalog-sidebar select { font-size:16px; }
 #catalogBrandFilter { scroll-margin-top:100px; }
}
