/* Catalogue shell. Existing scroll containers and collapse state remain authoritative. */
body.catalog-redesign.catalog-view { background: #f4f4ef; }
.catalog-redesign #catalogue { color: #1a1d1b; font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; }
body.catalog-redesign.catalog-view #catalogue { width: min(1320px, calc(100% - 64px)); padding-top: 18px; gap: 10px; }
.catalog-redesign #catalogue :is(button, input, select):focus-visible { outline: 2px solid #8e7900; outline-offset: 3px; }
.catalog-redesign #catalogue [hidden] { display: none !important; }
.catalog-redesign #catalogue .desktop-catalog-chrome { gap: 4px; }
.catalog-redesign #catalogue .desktop-catalog-controls-panel { grid-template-columns: minmax(270px, 1fr) auto; align-items: center; gap: 20px; max-height: 170px; }
.catalog-redesign #catalogue .catalog-search { padding: 0; background: transparent; border: 0; border-radius: 5px; box-shadow: none; }
.catalog-redesign #catalogue .search-shell { min-height: 52px; padding: 0 5px 0 16px; gap: 12px; border: 1px solid #d5d9ce; border-radius: 5px; background: #fff; }
.catalog-redesign #catalogue .search-shell:focus-within { border-color: #9d920e; box-shadow: 0 0 0 2px #f7df222b; }
.catalog-redesign #catalogue .search-shell > svg { width: 19px; height: 19px; color: #818978; }
.catalog-redesign #catalogue .search-shell input { height: 46px; font-size: 14px; color: #1a1d1b; }
.catalog-redesign #catalogue .search-shell input::placeholder { color: #77806d; opacity: 1; }
.catalog-redesign #catalogue .search-filter-button { width: 40px; min-height: 40px; border: 0; border-radius: 3px; background: #edf0e7; color: #343b2f; }
.catalog-redesign #catalogue .search-filter-button[aria-expanded="true"] { background: #f7df22; }
.catalog-redesign #catalogue .catalog-mode-bar { gap: 0; }
.catalog-redesign #catalogue .segmented-control { padding: 4px; gap: 2px; border: 1px solid #d5d9ce; border-radius: 5px; background: #e9ece2; }
.catalog-redesign #catalogue .segment { gap: 7px; min-height: 40px; padding-inline: 11px; border-radius: 3px; color: #69725f; font-size: 12px; font-weight: 650; }
.catalog-redesign #catalogue .segment svg { width: 16px; height: 16px; }
.catalog-redesign #catalogue .segment.active { color: #f7df22; background: #1a1d1b; }
.catalog-redesign #catalogue .filter-panel { width: min(430px, calc(100vw - 40px)); right: 0; top: calc(100% + 10px); gap: 14px; padding: 20px; background: #fff; border: 1px solid #d5d9ce; border-top: 3px solid #f7df22; border-radius: 5px; box-shadow: 0 15px 40px #1a1d1b24; }
.catalog-redesign #catalogue .filter-row { gap: 6px; }
.catalog-redesign #catalogue .filter-row label { color: #707967; font-size: 11px; letter-spacing: .05em; }
.catalog-redesign #catalogue .filter-row select { min-height: 44px; border-radius: 4px; background: #f7f8f3; border-color: #d5d9ce; font-size: 13px; }
.catalog-redesign #catalogue #resetFilters { min-height: 44px; border: 0; border-radius: 4px; background: #1a1d1b; color: #f7df22; font-size: 12px; }
.catalog-redesign #catalogue .catalog-back-button { min-height: 44px; border: 1px solid #d5d9ce; border-radius: 4px; background: #fff; color: #46503b; padding: 8px 14px; font-size: 12px; font-weight: 650; }
.catalog-redesign #catalogue .catalog-main { padding-right: 6px; scroll-padding-top: 75px; }
.catalog-redesign #catalogue :is(.catalog-main, .category-sidebar) { scrollbar-width: thin; scrollbar-color: #aab09f transparent; }
.catalog-redesign #catalogue .result-toolbar { min-height: 22px; margin-bottom: 12px; padding: 0 2px; }
.catalog-redesign #catalogue .result-toolbar p { color: #7a8271; font-size: 11px; font-weight: 500; }
.catalog-redesign #catalogue .product-grid, .catalog-redesign #catalogue .product-category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.catalog-redesign #catalogue .product-category-group { gap: 16px; margin-bottom: 16px; }
.catalog-redesign #catalogue .category-group-header { min-height: 54px; gap: 16px; padding: 12px 18px; border-left: 3px solid #f7df22; border-radius: 4px; background: #22271f; color: #fff; font-size: 16px; font-weight: 750; line-height: 1.25; box-shadow: 0 4px 10px #1a1d1b12; }
.catalog-redesign #catalogue .category-group-header > span { font-size: 11px; color: #c0c8b7; font-weight: 500; }
.catalog-redesign #catalogue .category-current-header { margin-bottom: 18px; }
.catalog-redesign #catalogue .category-current-header .category-group-header { min-height: 65px; padding-block: 10px; }
.catalog-redesign #catalogue .category-heading-copy { display: grid; gap: 5px; min-width: 0; }
.catalog-redesign #catalogue .category-heading-title { color: #fff; font-size: 16px; font-weight: 750; white-space: normal; }
.catalog-redesign #catalogue .category-heading-count { color: #bbc4b1; font-size: 11px; font-weight: 500; }
.catalog-redesign #catalogue .catalog-change-category { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 40px; flex-shrink: 0; border: 1px solid #59644f; border-radius: 4px; background: #313b28; color: #f7df22; padding: 8px 12px; font-size: 11px; font-weight: 650; }
.catalog-redesign #catalogue .catalog-change-category span { color: inherit; font: inherit; }
.catalog-redesign #catalogue .catalog-change-category-short { display: none; }
.catalog-redesign #catalogue .catalog-change-category svg { height: 16px; width: 16px; }
.catalog-redesign #catalogue .catalog-change-category:focus-visible { outline-color: #f7df22; }
.catalog-redesign #catalogue .category-sidebar { padding: 14px; border-radius: 5px; border: 1px solid #d5d9ce; background: #fff; box-shadow: none; }
.catalog-redesign #catalogue .category-sidebar-head { display: none; }
.catalog-redesign #catalogue .catalog-family-heading { padding: 12px 4px 25px; }
.catalog-redesign #catalogue .catalog-family-heading > span { font-size: 10px; font-weight: 750; text-transform: uppercase; letter-spacing: .1em; color: #778069; }
.catalog-redesign #catalogue .catalog-family-heading h2 { margin: 12px 0 10px; font-size: clamp(25px, 2.7vw, 36px); letter-spacing: -.04em; line-height: 1.12; }
.catalog-redesign #catalogue .catalog-family-heading p { margin: 0; font-size: 13px; line-height: 1.6; color: #7a8271; }
.catalog-redesign #catalogue .category-list { gap: 8px; }
.catalog-redesign #catalogue .category-card { position: relative; display: grid; grid-template-columns: 62px minmax(0, 1fr) 16px; gap: 12px; align-items: center; padding: 10px; min-height: 82px; background: #fff; color: #1a1d1b; border: 1px solid #dde1d6; border-radius: 5px; box-shadow: none; overflow: hidden; }
.catalog-redesign #catalogue .category-card::before, .catalog-redesign #catalogue .category-card::after { display: none; }
.catalog-redesign #catalogue .category-image { display: block; width: 62px; height: 56px; aspect-ratio: auto; border: 0; border-radius: 3px; overflow: hidden; background: #f3f5ed; }
.catalog-redesign #catalogue .category-image img { width: 100%; height: 100%; padding: 4px; object-fit: var(--category-thumb-fit, contain); object-position: var(--category-image-x, 50%) var(--category-image-y, 50%); transform: scale(var(--category-image-zoom, 1)); }
.catalog-redesign #catalogue .category-card h4 { color: #242a1f; margin: 0 0 5px; font-size: 13px; font-weight: 700; line-height: 1.25; text-shadow: none; overflow-wrap: normal; hyphens: auto; }
.catalog-redesign #catalogue .category-card p { color: #818a74; font-size: 10px; font-weight: 500; text-shadow: none; }
.catalog-redesign #catalogue .category-card-copy { min-width: 0; }
.catalog-redesign #catalogue .category-card-arrow { display: flex; color: #7b876b; }
.catalog-redesign #catalogue .category-card-arrow svg { width: 16px; height: 16px; }
.catalog-redesign #catalogue .category-card.active { border: 1px solid #b7a20e; background: #fffce3; }
.catalog-redesign #catalogue .category-overview { grid-template-columns: minmax(0, 1fr); }
.catalog-redesign #catalogue .category-overview .catalog-main { display: none; }
.catalog-redesign #catalogue .category-overview .category-sidebar { padding: 8px 6px 24px 0; border: 0; border-radius: 0; background: transparent; }
.catalog-redesign #catalogue .category-overview .category-list { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.catalog-redesign #catalogue .category-overview .category-card { grid-template-columns: minmax(0, 1fr) 20px; gap: 15px 10px; align-content: start; padding: 18px; }
.catalog-redesign #catalogue .category-overview .category-image { grid-column: 1 / -1; width: 100%; height: 140px; background: #f7f8f4; }
.catalog-redesign #catalogue .category-overview .category-image img { padding: 10px; }
.catalog-redesign #catalogue .category-overview .category-card h4 { font-size: 16px; font-weight: 750; letter-spacing: -.025em; line-height: 1.2; }
.catalog-redesign #catalogue .category-overview .category-card p { font-size: 11px; }
.catalog-redesign #catalogue .catalog-browser:is(.new-mode, .category-mode:not(.category-overview):not(.category-selected)) { grid-template-columns: minmax(0, 1fr); }
.catalog-redesign #catalogue .catalog-browser:is(.new-mode, .category-mode:not(.category-overview):not(.category-selected)) .category-sidebar { display: none; }
.catalog-redesign #catalogue .catalog-browser:not(.category-overview) .catalog-main { display: block; }
.catalog-redesign #catalogue .empty-state { padding: 40px; border: 1px dashed #ccd3c1; border-radius: 5px; background: #fff; }
.catalog-redesign #catalogue .empty-state h3 { font-size: 22px; letter-spacing: -.025em; }
.catalog-redesign #catalogue .empty-state p { color: #758169; font-size: 14px; line-height: 1.6; }
.catalog-redesign #catalogue .empty-state .button { background: #f7df22; border-radius: 4px; font-size: 13px; }
@media (min-width: 621px) {
  .catalog-redesign #catalogue .desktop-catalog-controls-toggle { display: flex; gap: 12px; min-height: 25px; border: 0; border-radius: 0; background: transparent; color: #7a8470; box-shadow: none; }
  .catalog-redesign #catalogue .desktop-catalog-controls-toggle::before, .catalog-redesign #catalogue .desktop-catalog-controls-toggle::after { content: ""; flex: 1; height: 1px; background: #dde1d6; }
  .catalog-redesign #catalogue .desktop-catalog-controls-toggle svg { width: 17px; height: 17px; }
  body.catalog-redesign.desktop-catalog-controls-collapsed #catalogue .desktop-catalog-controls-panel { max-height: 0; }
  .catalog-redesign #catalogue .catalog-browser.category-mode.category-selected { --category-drawer-width: 280px; }
  .catalog-redesign #catalogue .catalog-browser.category-mode.category-selected .catalog-main { padding-left: 300px; }
  .catalog-redesign #catalogue .catalog-browser.category-mode.category-selected.category-drawer-collapsed .catalog-main { padding-left: 0; }
  .catalog-redesign #catalogue .category-drawer-toggle { display: none; }
  .catalog-redesign #catalogue .category-selected .catalog-family-heading { padding: 5px 4px 18px; }
  .catalog-redesign #catalogue .category-selected .catalog-family-heading > span { display: none; }
  .catalog-redesign #catalogue .category-selected .catalog-family-heading h2 { font-size: 20px; margin: 6px 0 0; }
  .catalog-redesign #catalogue .category-selected .catalog-family-heading p { display: none; }
  .catalog-redesign #catalogue .category-selected:not(.category-drawer-collapsed) .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1120px) and (min-width: 621px) {
  body.catalog-redesign.catalog-view #catalogue { width: calc(100% - 40px); padding-top: 14px; }
  .catalog-redesign #catalogue .desktop-catalog-controls-panel { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .catalog-redesign #catalogue .segmented-control { width: 100%; }
  .catalog-redesign #catalogue .segment { flex: 1; }
  .catalog-redesign #catalogue .category-overview .category-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
  .catalog-redesign #catalogue .category-overview .category-card { padding: 14px; }
  .catalog-redesign #catalogue .category-overview .category-image { height: 115px; }
  .catalog-redesign #catalogue .product-grid, .catalog-redesign #catalogue .product-category-grid { gap: 12px; }
}
@media (max-width: 820px) and (min-width: 621px) {
  .catalog-redesign #catalogue .segment { font-size: 11px; padding-inline: 8px; gap: 5px; }
  .catalog-redesign #catalogue .category-overview .category-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalog-redesign #catalogue .category-overview .category-image { height: 135px; }
  .catalog-redesign #catalogue .product-grid, .catalog-redesign #catalogue .product-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalog-redesign #catalogue .category-selected:not(.category-drawer-collapsed) .product-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 740px) and (min-width: 621px) {
  .catalog-redesign #catalogue .category-selected:not(.category-drawer-collapsed) .category-current-header .category-group-header { flex-direction: column; align-items: stretch; gap: 10px; }
  .catalog-redesign #catalogue .category-selected:not(.category-drawer-collapsed) .category-heading-title { overflow-wrap: anywhere; }
}
@media (hover: hover) and (pointer: fine) {
  .catalog-redesign #catalogue .segment:not(.active):hover { background: #f9faf5; color: #303828; }
  .catalog-redesign #catalogue .category-card:hover { border-color: #b9bfaa; box-shadow: 0 5px 14px #1a1d1b08; background: #fafbf6; }
  .catalog-redesign #catalogue .category-card:hover .category-card-arrow { color: #1a1d1b; }
  .catalog-redesign #catalogue .catalog-change-category:hover { background: #f7df22; border-color: #f7df22; color: #1a1d1b; }
}
/* Mobile mode chooser keeps the same overlay and controls. */
.catalog-redesign .mobile-mode-dialog { padding: 16px; border: 1px solid #58644c; border-top: 3px solid #f7df22; border-radius: 7px; background: #20251f; }
.catalog-redesign .mobile-mode-dialog-head .icon-button { min-height: 44px; width: 44px; border-radius: 4px; background: #31382a; border-color: #515b46; color: #fff; }
.catalog-redesign .mobile-mode-option { min-height: 78px; border-radius: 4px; border-color: #3c4634; background: #293022; color: #f4f5ed; }
.catalog-redesign .mobile-mode-option strong { font-size: 15px; font-weight: 700; }
.catalog-redesign .mobile-mode-option small { color: #b7c0ad; font-size: 11px; font-weight: 450; }
.catalog-redesign .mobile-mode-option-icon { border-radius: 4px; background: #39432f; color: #dce3d4; }
.catalog-redesign .mobile-mode-option.active { background: #373c21; border-color: #f7df22; box-shadow: none; }
.catalog-redesign .mobile-mode-option.active .mobile-mode-option-icon, .catalog-redesign .mobile-mode-option.active .mobile-mode-option-check { background: #f7df22; color: #1a1d1b; }
@media (max-width: 620px) {
  body.catalog-redesign.catalog-view #catalogue { width: calc(100% - 24px); padding-top: 6px; gap: 6px; }
  .catalog-redesign #catalogue .mobile-catalog-controls { gap: 8px; }
  .catalog-redesign #catalogue .mobile-search-button { border: 1px solid #d0d7c3; border-radius: 4px; background: #fff; color: #303b26; }
  .catalog-redesign #catalogue .mobile-search-button svg { width: 20px; height: 20px; }
  .catalog-redesign #catalogue .mobile-mode-trigger { border-radius: 4px; border-color: #cdd4c0; background: #e9ede1; }
  .catalog-redesign #catalogue .mobile-mode-trigger-icon { border-radius: 3px; background: #1a1d1b; }
  .catalog-redesign #catalogue .mobile-mode-trigger-copy small { color: #727f64; font-size: 9px; }
  .catalog-redesign #catalogue .mobile-mode-trigger-copy strong { font-size: 15px; font-weight: 700; }
  .catalog-redesign #catalogue .catalog-back-button { width: 100%; min-height: 44px; justify-content: flex-start; }
  .catalog-redesign #catalogue .catalog-family-heading { padding: 18px 2px 24px; }
  .catalog-redesign #catalogue .catalog-family-heading h2 { font-size: 29px; max-width: 270px; }
  .catalog-redesign #catalogue .catalog-family-heading > span { font-size: 9px; }
  .catalog-redesign #catalogue .catalog-family-heading p { font-size: 12px; max-width: 290px; }
  .catalog-redesign #catalogue .category-overview .category-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .catalog-redesign #catalogue .category-overview .category-sidebar { padding-right: 0; }
  .catalog-redesign #catalogue .category-overview .category-card { padding: 10px; gap: 12px 6px; grid-template-columns: minmax(0, 1fr) 15px; }
  .catalog-redesign #catalogue .category-overview .category-image { height: 97px; }
  .catalog-redesign #catalogue .category-overview .category-image img { padding: 7px; }
  .catalog-redesign #catalogue .category-overview .category-card h4 { font-size: 14px; overflow-wrap: anywhere; hyphens: auto; }
  .catalog-redesign #catalogue .category-overview .category-card p { font-size: 9px; }
  .catalog-redesign #catalogue .category-card-arrow svg { width: 14px; height: 14px; }
  .catalog-redesign #catalogue .catalog-main { padding-right: 0; }
  .catalog-redesign #catalogue .result-toolbar p { font-size: 10px; }
  .catalog-redesign #catalogue .product-grid, .catalog-redesign #catalogue .product-category-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .catalog-redesign #catalogue .category-group-header { min-height: 52px; padding: 11px 12px; font-size: 14px; }
  .catalog-redesign #catalogue .category-group-header > span { font-size: 10px; }
  .catalog-redesign #catalogue .category-current-header .category-group-header { min-height: 65px; gap: 8px; }
  .catalog-redesign #catalogue .category-heading-title { font-size: 14px; line-height: 1.25; }
  .catalog-redesign #catalogue .catalog-change-category { min-height: 44px; padding: 8px; gap: 6px; font-size: 10px; }
  .catalog-redesign #catalogue .catalog-change-category-label { display: none; }
  .catalog-redesign #catalogue .catalog-change-category-short { display: inline; }
  .catalog-redesign #catalogue .empty-state { padding: 28px 18px; }
  body.catalog-redesign.mobile-search-open #catalogue .catalog-search { padding: 20px; gap: 14px; background: #1a1d1bed; overflow-y: auto; overscroll-behavior: contain; }
  body.catalog-redesign.mobile-search-open #catalogue .search-shell { padding: 0 6px 0 13px; min-height: 58px; border-radius: 5px; }
  body.catalog-redesign.mobile-search-open #catalogue .search-shell input { font-size: 16px; }
  body.catalog-redesign.mobile-search-open #catalogue .filter-panel { margin: 0; width: 100%; padding: 16px; gap: 10px; }
  body.catalog-redesign.mobile-search-open #catalogue .filter-row select { font-size: 16px; }
  .catalog-redesign #catalogue .mobile-search-actions .button { min-height: 48px; border-radius: 4px; font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .catalog-redesign #catalogue :is(.category-card, .category-sidebar, .catalog-browser, .desktop-catalog-controls-panel, .desktop-catalog-controls-toggle, .mobile-catalog-controls, .catalog-back-row),
  .catalog-redesign .mobile-mode-overlay, .catalog-redesign .mobile-mode-dialog { transition: none !important; animation: none !important; }
}
