/* Compact catalogue filters. This file changes presentation only.
   Native inputs, open/closed panels, results, errors and reset controls retain
   their own state. section#smart-spec-card deliberately outranks the older
   generic typography sheet without depending on its load order. */
body#body.smart-ui section#smart-spec-card {
  min-width: 0;
  border: 1px solid #e1e8e1;
  border-radius: 12px;
  background: #fff;
  box-shadow: none;
  color: #2d3b33;
  font-family: var(--smart-ui-font,Manrope,Arial,sans-serif) !important;
}
body#body.smart-ui section#smart-spec-card .smart-filter-head {
  grid-template-columns: minmax(0,1fr) auto;
  gap: 8px;
  min-height: 46px;
  padding: 12px 14px;
  background: #fff;
}
body#body.smart-ui section#smart-spec-card .smart-filter-head::after,
body#body.smart-ui section#smart-spec-card .smart-filter-head-icon,
body#body.smart-ui section#smart-spec-card .smart-filter-head-copy > span,
body#body.smart-ui section#smart-spec-card .smart-filter-section-label,
body#body.smart-ui section#smart-spec-card .smart-price-auto-hint,
body#body.smart-ui section#smart-spec-card #spec-form-toggle {
  display: none !important;
}
body#body.smart-ui section#smart-spec-card .smart-filter-head-copy strong {
  color: #2d3b33;
  font-size: 15px !important;
  font-weight: 700;
  line-height: 21px !important;
}
body#body.smart-ui section#smart-spec-card .smart-filter-count {
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  background: #edf4e8;
  color: #2f693c;
  font-size: 12px !important;
  line-height: 18px !important;
}
body#body.smart-ui section#smart-spec-card .smart-filter-toolbar {
  gap: 6px;
  padding: 0 14px 10px;
  border-bottom: 1px solid #edf0ec;
}
body#body.smart-ui section#smart-spec-card.smart-price-only .smart-filter-toolbar {
  display: none !important;
}
body#body.smart-ui section#smart-spec-card #smart-filter-search {
  height: 36px;
  min-height: 36px !important;
  padding: 7px 10px 7px 32px;
  border-radius: 8px;
  background: #f8faf7;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 400;
  line-height: 20px !important;
}
body#body.smart-ui section#smart-spec-card .smart-filter-search svg {
  left: 10px;
  width: 15px;
  height: 15px;
}
body#body.smart-ui section#smart-spec-card .smart-filter-content {
  min-width: 0;
}
body#body.smart-ui section#smart-spec-card .spec-filter,
body#body.smart-ui section#smart-spec-card .spec-subfilter {
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  border: 0;
  border-bottom: 1px solid #edf0ec;
  border-radius: 0;
  background: #fff;
}
body#body.smart-ui section#smart-spec-card .spec-filter:last-child,
body#body.smart-ui section#smart-spec-card .spec-subfilter:last-child {
  border-bottom: 0;
}
body#body.smart-ui section#smart-spec-card .spec-filter-title,
body#body.smart-ui section#smart-spec-card .spec-subfilter-title {
  min-height: 36px;
  gap: 6px;
  padding: 8px 35px 8px 14px;
  background: #fff;
  color: #2d3b33;
  font-size: 14px !important;
  font-weight: 600;
  line-height: 20px !important;
}
body#body.smart-ui section#smart-spec-card .spec-filter:has(> .spec-subfilter-list > .spec-subfilter) > .spec-filter-title {
  background: #fafbf8;
  color: #6d7971;
  font-size: 12px !important;
  font-weight: 500;
}
body#body.smart-ui section#smart-spec-card .spec-filter-title::after,
body#body.smart-ui section#smart-spec-card .spec-subfilter-title::after {
  right: 16px;
  width: 6px;
  height: 6px;
  border-width: 0 1.5px 1.5px 0;
}
body#body.smart-ui section#smart-spec-card .spec-filter-title:hover,
body#body.smart-ui section#smart-spec-card .spec-subfilter-title:hover,
body#body.smart-ui section#smart-spec-card .spec-filter-title.has-choice,
body#body.smart-ui section#smart-spec-card .spec-subfilter-title.has-choice {
  background: #f7faf5;
}
body#body.smart-ui section#smart-spec-card .smart-group-count {
  min-width: 19px;
  height: 19px;
  padding: 0 5px;
  background: #edf4e8;
  color: #2f693c;
  font-size: 11px !important;
  line-height: 16px !important;
}
body#body.smart-ui section#smart-spec-card .spec-subfilter-list {
  margin: 0 !important;
  padding: 0 !important;
  background: #fff;
}
body#body.smart-ui section#smart-spec-card .spec-values {
  margin: 0 !important;
  padding: 0 10px 8px !important;
  background: #fff;
}
body#body.smart-ui section#smart-spec-card .spec-value {
  min-height: 32px;
  grid-template-columns: 18px minmax(0,1fr);
  gap: 8px;
  margin: 0;
  padding: 4px 4px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: #fff;
}
body#body.smart-ui section#smart-spec-card .spec-value:hover {
  border-color: transparent;
  background: #f7faf5;
}
body#body.smart-ui section#smart-spec-card .spec-value.is-selected {
  border-color: transparent;
  background: #f1f7ec;
}
body#body.smart-ui section#smart-spec-card .spec-val-ico {
  width: 16px;
  height: 16px;
  border-radius: 4px;
  border-color: #aab6ad;
}
body#body.smart-ui section#smart-spec-card input:checked + .spec-val-ico::after {
  top: 1px;
  left: 4px;
  width: 4px;
  height: 8px;
}
body#body.smart-ui section#smart-spec-card .spec-val-text {
  color: #46534b;
  font-size: 14px !important;
  font-weight: 400;
  line-height: 20px !important;
  overflow-wrap: anywhere;
}
body#body.smart-ui section#smart-spec-card .smart-price-range {
  padding: 12px 14px;
  border-color: #edf0ec;
  background: #fff;
}
body#body.smart-ui section#smart-spec-card .smart-price-range__heading {
  gap: 4px 8px;
  margin-bottom: 8px;
}
body#body.smart-ui section#smart-spec-card .smart-price-range__title {
  color: #2d3b33;
  font-size: 14px !important;
  font-weight: 700;
  line-height: 20px !important;
}
body#body.smart-ui section#smart-spec-card .smart-price-range__hint {
  color: #7a857d;
  font-size: 12px !important;
  font-weight: 400;
  line-height: 17px !important;
}
body#body.smart-ui section#smart-spec-card .smart-price-range__fields {
  gap: 8px;
}
body#body.smart-ui section#smart-spec-card .smart-price-range__field {
  gap: 4px;
  color: #7a857d;
  font-size: 12px !important;
  font-weight: 400;
  line-height: 17px !important;
}
body#body.smart-ui section#smart-spec-card .smart-price-range__field input {
  height: 40px;
  min-height: 40px !important;
  padding: 8px 9px;
  border-radius: 8px;
  background: #f8faf7;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 500;
  line-height: 20px !important;
}
body#body.smart-ui section#smart-spec-card .smart-price-range__field input::placeholder {
  font-size: 13px !important;
  line-height: 20px !important;
}
body#body.smart-ui section#smart-spec-card .smart-price-range__actions {
  margin-top: 8px;
}
body#body.smart-ui section#smart-spec-card .smart-price-range__button {
  min-height: 32px !important;
  padding: 6px 9px;
  border-radius: 8px;
  background: #f8faf7;
  box-shadow: none;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 18px !important;
}
body#body.smart-ui section#smart-spec-card #smart-price-bounds-status,
body#body.smart-ui section#smart-spec-card #smart-price-result,
body#body.smart-ui section#smart-spec-card #smart-price-error {
  margin: 6px 0 0;
  font-size: 12px !important;
  line-height: 17px !important;
  overflow-wrap: anywhere;
}
body#body.smart-ui section#smart-spec-card .smart-selected-summary {
  padding: 8px 14px;
  background: #f8faf7;
}
body#body.smart-ui section#smart-spec-card .smart-selected-summary-title {
  font-size: 12px !important;
  line-height: 17px !important;
}
body#body.smart-ui section#smart-spec-card .smart-selected-summary-clear {
  font-size: 12px !important;
  line-height: 17px !important;
}
body#body.smart-ui section#smart-spec-card .smart-selected-list { gap: 5px; }
body#body.smart-ui section#smart-spec-card .smart-selected-chip {
  min-height: 40px !important;
  grid-template-columns: minmax(0,1fr) 22px;
  gap: 0 6px;
  padding: 6px 7px;
  border-radius: 8px;
}
body#body.smart-ui section#smart-spec-card .smart-selected-chip-group {
  font-size: 11px !important;
  line-height: 14px !important;
}
body#body.smart-ui section#smart-spec-card .smart-selected-chip-value {
  font-size: 13px !important;
  line-height: 18px !important;
}
body#body.smart-ui section#smart-spec-card .smart-selected-chip-remove {
  width: 22px;
  height: 22px !important;
  min-height: 22px !important;
  border-radius: 6px;
}
body#body.smart-ui section#smart-spec-card .spec-value:has(input:focus-visible),
body#body.smart-ui section#smart-spec-card :is(.spec-filter-title,.spec-subfilter-title,button,input):focus-visible {
  outline: 2px solid #337245;
  outline-offset: 2px;
}
@media (min-width: 821px) {
  body#body.smart-ui section#smart-spec-card:not(.is-modal) .smart-filter-open {
    display: none !important;
  }
}
@media (max-width: 820px) {
  body#body.smart-ui section#smart-spec-card.is-modal .smart-filter-head {
    min-height: 56px;
    padding: 12px 62px 12px 14px;
  }
  body#body.smart-ui section#smart-spec-card.is-modal .smart-filter-close {
    top: 6px;
    right: 8px;
    min-width: 44px !important;
    min-height: 44px !important;
    border-radius: 9px;
    background: #f2f6ee;
  }
  body#body.smart-ui section#smart-spec-card.is-modal .smart-filter-count {
    margin-right: 0;
  }
  body#body.smart-ui section#smart-spec-card #smart-filter-search {
    min-height: 44px !important;
    height: 44px;
    font-size: 16px !important;
    line-height: 22px !important;
  }
  body#body.smart-ui section#smart-spec-card .spec-filter-title,
  body#body.smart-ui section#smart-spec-card .spec-subfilter-title {
    min-height: 44px;
    padding-top: 12px;
    padding-bottom: 12px;
  }
  body#body.smart-ui section#smart-spec-card .spec-value {
    min-height: 40px;
    padding-top: 8px;
    padding-bottom: 8px;
  }
  body#body.smart-ui section#smart-spec-card .smart-price-range__field input {
    height: 44px;
    min-height: 44px !important;
    font-size: 16px !important;
    line-height: 22px !important;
  }
  body#body.smart-ui section#smart-spec-card .smart-price-range__button {
    min-height: 44px !important;
  }
  body#body.smart-ui section#smart-spec-card .smart-selected-chip {
    min-height: 44px !important;
  }
}

/* Mobile auto-apply panel uses the full remaining screen without the
   reservation from the retired action footer. */
@media (max-width: 820px) {
  body#body.smart-ui section#smart-spec-card.is-modal {
    display: flex !important;
    flex-direction: column;
  }
  body#body.smart-ui section#smart-spec-card.is-modal > :is(.smart-filter-head,.smart-filter-toolbar,.smart-selected-summary) {
    flex: 0 0 auto;
  }
  body#body.smart-ui section#smart-spec-card.is-modal .smart-filter-content {
    flex: 1 1 auto;
    min-height: 0;
    height: auto !important;
    max-height: none !important;
    overflow-y: auto;
  }
  body#body.smart-ui.smart-filter-lock #sidebar .smart-main-catalog {
    display: none !important;
  }
}