.ms-filter-layout { display: grid; grid-template-columns: 204px minmax(0, 1fr); gap: 28px; align-items: start; clear: both; }
.ms-filter-results { min-width: 0; }
.ms-theme-filter { min-width: 0; padding-right: 18px; border-right: 1px solid #c9dfe9; }
.ms-theme-filter__disclosure > summary { display: flex; align-items: center; gap: 10px; min-height: 44px; color: #064969; font-size: 16px; font-weight: 700; cursor: pointer; list-style: none; }
.ms-theme-filter__disclosure > summary::-webkit-details-marker { display: none; }
.ms-theme-filter__disclosure > summary::marker { content: ''; }
.ms-theme-filter__disclosure > summary .ms-menu-chevron { margin-left: auto; }
.ms-theme-filter__disclosure[open] > summary .ms-menu-chevron { transform: translateY(2px) rotate(225deg); }
.ms-theme-filter__mobile-label { display: none; }
.ms-theme-filter__panel h2 { margin: 12px 0; color: #063b57; font-size: 16px; line-height: 1.4; }
.ms-theme-filter__search { display: block; margin-bottom: 12px; color: #456477; font-size: 12px; }
.ms-theme-filter [hidden] { display: none !important; }
.ms-theme-filter__search input { display: block; box-sizing: border-box; width: 100%; min-width: 0; margin-top: 5px; padding: 10px; border: 1px solid #aecbdc; border-radius: 4px; background: #fff; color: #063b57; font: inherit; font-size: 14px; box-shadow: none; }
.ms-theme-filter__panel ul { margin: 0; padding: 0; list-style: none; }
.ms-theme-filter__panel li { margin: 0; padding: 0; }
.ms-theme-filter__option { display: grid; grid-template-columns: 16px minmax(0, 1fr) auto; align-items: center; gap: 8px; min-height: 42px; padding: 7px 6px; border-radius: 4px; color: #254f65; font-size: 14px; font-weight: 500; line-height: 1.35; text-decoration: none; overflow-wrap: anywhere; }
.ms-theme-filter__option:hover { background: #e3f0f7; color: #064969; }
.ms-theme-filter__option.is-selected { background: #dcedf6; color: #064969; font-weight: 700; }
.ms-theme-filter__check { box-sizing: border-box; position: relative; width: 16px; height: 16px; border: 1px solid #86aabe; border-radius: 3px; background: #fff; }
.is-selected .ms-theme-filter__check { border-color: #08698f; background: #08698f; }
.is-selected .ms-theme-filter__check::after { content: ''; position: absolute; width: 7px; height: 4px; left: 3px; top: 3px; border: solid #fff; border-width: 0 0 2px 2px; transform: rotate(-45deg); }
.ms-theme-filter__option small { color: #536f7d; font-size: 12px; font-weight: 400; }
.ms-theme-filter__badge { display: grid; place-items: center; min-width: 22px; height: 22px; padding: 0 4px; border-radius: 50%; background: #ffdf46; color: #063b57; font-size: 12px; }
.ms-theme-filter__selected { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 18px; }
.ms-theme-filter__selected a { display: inline-flex; align-items: center; gap: 10px; min-height: 36px; padding: 5px 10px; border: 1px solid #b8d6e5; border-radius: 4px; background: #e6f3fa; color: #064969; font-size: 13px; text-decoration: none; }
.ms-theme-filter__selected a span { font-size: 20px; line-height: 1; }
.ms-theme-filter__selected .ms-theme-filter__clear { border-color: transparent; background: transparent; text-decoration: underline; }
.ms-theme-filter a:focus-visible, .ms-theme-filter input:focus-visible, .ms-theme-filter summary:focus-visible, .ms-theme-filter__selected a:focus-visible { outline: 2px solid #08749c; outline-offset: 2px; }
.ms-theme-filter__no-match { margin: 12px 0; color: #456477; font-size: 13px; }
body .ms-filter-results ul.products { grid-template-columns: repeat(auto-fill, minmax(185px, 1fr)) !important; }
@media (min-width: 1001px) {
  .ms-theme-filter__disclosure > summary .ms-menu-chevron { display: none; }
}
@media (max-width: 1000px) {
  .ms-filter-layout { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .ms-theme-filter { padding: 0; border: 0; border-bottom: 1px solid #c9dfe9; }
  .ms-theme-filter__disclosure > summary { padding: 8px 0; }
  .ms-theme-filter__mobile-label { display: inline; }
  .ms-theme-filter__panel { padding: 0 0 14px; }
  .ms-theme-filter__panel h2 { display: none; }
  .ms-theme-filter__panel ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 10px; }
  .ms-theme-filter__option { min-height: 44px; }
}
@media (max-width: 700px) {
  body .ms-filter-results ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
