/* OptimaLife filter panel — Figma node 135:1339 */
.catalog-sidebar__filter .ocf-container {
  width: 100%;
  margin: 0;
  border: 1px solid #d8cdbf;
  border-radius: 0;
  background: #fffaf2;
  color: #2f2d2b;
  overflow: hidden;
}

.catalog-sidebar__filter .ocf-content {
  margin: 0;
}

.catalog-sidebar__filter .ocf-header {
  position: relative;
  margin: 0;
  padding: 25px 25px 20px;
  border: 0;
  color: #302e2b;
  font-family: 'Inter', Arial, sans-serif;
  font-size: 22px;
  font-weight: 700;
  line-height: 27px;
  letter-spacing: -.02em;
  text-transform: uppercase;
}

.catalog-sidebar__filter .ocf-header::after {
  position: absolute;
  top: 34px;
  right: 28px;
  width: 9px;
  height: 9px;
  border-right: 2px solid #302e2b;
  border-bottom: 2px solid #302e2b;
  content: '';
  transform: rotate(45deg);
}

.catalog-sidebar__filter .ocf-body {
  padding: 0 25px;
}

.catalog-sidebar__filter .ocf-filter {
  margin: 0;
  padding: 20px 0 21px;
  border: 0;
  border-bottom: 1px solid #e4dbd0;
}

.catalog-sidebar__filter .ocf-filter:last-child {
  border-bottom: 0;
}

.catalog-sidebar__filter .ocf-filter-header {
  display: flex;
  align-items: center;
  min-height: 24px;
  margin: 0 0 18px;
  padding: 0;
  color: #302e2b;
  font-family: 'Inter', Arial, sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 24px;
  letter-spacing: -.01em;
  text-transform: uppercase;
}

.catalog-sidebar__filter .ocf-filter-header .ocf-active-label,
.catalog-sidebar__filter .ocf-filter-header .ocf-filter-header-append {
  display: none;
}

.catalog-sidebar__filter .ocf-filter-name {
  display: block;
  margin: 0;
}

.catalog-sidebar__filter .ocf-value-list {
  padding: 0;
}

.catalog-sidebar__filter .ocf-value-list-body {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.catalog-sidebar__filter .ocf-value {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 25px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  appearance: none;
  -webkit-appearance: none;
  box-shadow: none;
  color: #6a625b;
  font-family: 'Inter', Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 25px;
  text-align: left;
}

.catalog-sidebar__filter .ocf-value:hover,
.catalog-sidebar__filter .ocf-value:focus,
.catalog-sidebar__filter .ocf-value:active {
  border: 0;
  background: transparent;
  box-shadow: none;
  color: #302e2b;
  outline: 0;
}

.catalog-sidebar__filter .ocf-value-input {
  position: relative;
  display: block;
  width: 23px;
  height: 23px;
  flex: 0 0 23px;
  margin: 0 14px 0 0;
}

.catalog-sidebar__filter .ocf-value-input::before {
  display: block !important;
  content: '' !important;
  width: 23px;
  height: 23px;
  border: 1px solid #d5c8b8;
  border-radius: 4px;
  background: #fffdf9;
  box-shadow: none;
}

.catalog-sidebar__filter .ocf-value.ocf-selected .ocf-value-input-checkbox::before {
  border-color: #c9872d;
  background: #c9872d;
}

.catalog-sidebar__filter .ocf-value.ocf-selected .ocf-value-input-checkbox::after {
  display: block !important;
  position: absolute;
  top: 1px;
  left: 7px;
  width: auto;
  height: auto;
  border: 0;
  background: none !important;
  content: '' !important;
  color: #fff;
  font-size: 17px;
  font-weight: 700;
  line-height: 21px;
  transform: none;
}

.catalog-sidebar__filter .ocf-value.ocf-selected .ocf-value-input-checkbox::after {
  content: '✓' !important;
}

.catalog-sidebar__filter .ocf-value-name {
  overflow: visible;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}

.catalog-sidebar__filter .ocf-value-append {
  display: none;
}

.catalog-sidebar__filter .ocf-slider-input-group {
  display: flex;
  align-items: center;
  gap: 15px;
  margin: 0 0 17px;
}

.catalog-sidebar__filter .ocf-slider-input-group .ocf-form-control {
  flex: 1 1 0;
  min-width: 0;
}

.catalog-sidebar__filter .ocf-slider-input-group .ocf-form-control {
  float: none;
  width: 100%;
  height: 52px;
  padding: 0 12px;
  border: 1px solid #d5c8b8;
  border-radius: 6px !important;
  background: #fffdf9;
  color: #302e2b;
  font-size: 16px;
  line-height: 52px;
  text-align: center;
}

.catalog-sidebar__filter .ocf-slider-input-group .ocf-input-group-addon {
  flex: 0 0 auto;
  width: auto;
  padding: 0;
  background: transparent;
  color: #6a625b;
  font-size: 16px;
  line-height: 52px;
}

.catalog-sidebar__filter .ocf-value-slider {
  padding: 0 9px;
}

.catalog-sidebar__filter .ocf-value-scale {
  height: 4px;
  margin-bottom: 2px;
  border: 0;
  border-radius: 0;
  background: #d08a2d;
  box-shadow: none;
}

/* The Figma filter uses a clean range line without numeric pips. Keeping
   these labels makes them overlap the next filter section on narrow cards. */
.catalog-sidebar__filter .ocf-value-scale .noUi-pips,
.catalog-sidebar__filter .ocf-value-scale .noUi-pips-horizontal,
.catalog-sidebar__filter .ocf-value-scale .noUi-marker,
.catalog-sidebar__filter .ocf-value-scale .noUi-value {
  display: none !important;
}

.catalog-sidebar__filter .ocf-value-scale .noUi-connect {
  background: #d08a2d;
}

.catalog-sidebar__filter .ocf-value-scale .noUi-handle {
  top: -9px;
  width: 20px;
  height: 20px;
  border: 1px solid #c47d21;
  border-radius: 50%;
  background: #fffdf9;
  box-shadow: none;
}

.catalog-sidebar__filter .ocf-value-scale .noUi-handle::before,
.catalog-sidebar__filter .ocf-value-scale .noUi-handle::after {
  display: none;
}

.catalog-sidebar__filter .ocf-btn-mobile-fixed {
  display: none;
}

.catalog-sidebar__filter .ocf-footer {
  display: block;
  position: static;
  margin: 0;
  padding: 18px 25px 25px;
  border-top: 1px solid #e4dbd0;
  background: transparent;
  box-shadow: none;
}

.catalog-sidebar__filter .ocf-between {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.catalog-sidebar__filter .ocf-search-btn-static {
  display: block;
  width: 100%;
  min-height: 48px;
  padding: 12px 18px;
  border: 0;
  border-radius: 24px;
  background: #c9872d !important;
  color: #fff !important;
  font-family: 'Inter', Arial, sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 24px;
  text-align: center;
  cursor: pointer;
}

.catalog-sidebar__filter .ocf-search-btn-static:hover,
.catalog-sidebar__filter .ocf-search-btn-static:focus,
.catalog-sidebar__filter .ocf-search-btn-static:active {
  background: #ab6f20 !important;
  color: #fff !important;
  outline: 0;
}

.catalog-sidebar__filter .ocf-search-btn-static.ocf-disabled {
  background: #c9872d !important;
  color: #fff !important;
  cursor: not-allowed;
  opacity: .55;
}

.catalog-sidebar__filter .ocf-btn-link {
  align-self: center;
  padding: 0;
  border: 0;
  background: transparent !important;
  color: #6a625b !important;
  font-family: 'Inter', Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  text-decoration: underline;
  cursor: pointer;
}

@media (max-width: 767px) {
  .catalog-sidebar__filter .ocf-header {
    padding-inline: 20px;
  }

  .catalog-sidebar__filter .ocf-body {
    padding-inline: 20px;
  }
}

/* Each rendered catalog module has its own trigger outside the drawer. */
.ocf-catalog-trigger { display: none; }
.catalog-sidebar__filter .ocf-value-name { white-space: normal; overflow-wrap: anywhere; }
.catalog-sidebar__filter button:focus-visible,
.catalog-sidebar__filter input:focus-visible { outline: 2px solid #805018; outline-offset: 3px; }
.catalog-sidebar__filter .ocf-noUi-connect::before,
.catalog-sidebar__filter .ocf-noUi-handle { background: #c9872d; }
@media (max-width: 767px) {
  .ocf-catalog-trigger {
    display: block; width: 100%; min-height: 48px; padding: 12px 20px;
    border: 1px solid #c9872d; border-radius: 24px;
    background: #fffaf2; color: #302e2b; font: inherit; font-weight: 700;
  }
  .catalog-sidebar__filter .ocf-container {
    display: block !important; width: min(350px, calc(100vw - 32px));
    height: 100dvh; max-height: 100dvh; visibility: hidden;
    overflow: hidden; transition: transform 200ms ease;
  }
  .catalog-sidebar__filter .ocf-container.ocf-mobile-active { visibility: visible; box-shadow: 0 0 0 99999px rgb(0 0 0 / 60%); }
  .catalog-sidebar__filter .ocf-content {
    display: flex; flex-direction: column; height: 100%; max-height: 100%;
    background: #fffaf2; overflow: hidden;
  }
  .catalog-sidebar__filter .ocf-header { flex: 0 0 auto; padding-right: 64px; }
  .catalog-sidebar__filter .ocf-header::after { display: none; }
  .catalog-sidebar__filter .ocf-close-mobile {
    position: absolute; top: 12px; right: 10px; width: 44px; height: 44px;
  }
  .catalog-sidebar__filter .ocf-body { position: static; flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
  .catalog-sidebar__filter .ocf-filter-body > .ocf-value-list {
    position: static !important; height: auto; min-width: 0 !important;
    transform: none !important; padding: 0 !important; overflow: visible !important;
    background: transparent !important; transition: none;
  }
  .catalog-sidebar__filter .ocf-filter-header { position: static; height: auto; background: transparent; cursor: default; }
  .catalog-sidebar__filter .ocf-filter-header > .ocf-arrow-left { display: none; }
  .catalog-sidebar__filter .ocf-noUi-pips { display: none; }
  .catalog-sidebar__filter .ocf-filter-list { overflow: visible; height: auto; }
  .catalog-sidebar__filter .ocf-footer { flex: 0 0 auto; padding-bottom: max(16px, env(safe-area-inset-bottom)); }
  .catalog-sidebar__filter .ocf-value { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  .catalog-sidebar__filter .ocf-container { transition: none; }
}
