.catalog-filter-close,
.catalog-filter-backdrop {
  display: none;
}

.catalog-filters-hidden .catalog-layout {
  grid-template-columns: 1fr;
}

.catalog-filters-hidden .catalog-sidebar {
  display: none;
}

@media (max-width: 850px) {
  .catalog-filter-close {
    display: block;
    width: 100%;
    margin: 0 0 24px;
    padding: 14px 0;
    border: 0;
    border-bottom: 1px solid #e5e5e5;
    background: transparent;
    font: 800 15px Manrope, Arial, sans-serif;
    text-align: right;
  }

  .catalog-sidebar.open {
    display: block;
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 1002;
    width: min(86vw, 360px);
    max-height: 100dvh;
    padding: 22px 24px 110px;
    overflow: auto;
    background: #fff;
    box-shadow: 18px 0 50px rgba(0, 0, 0, .16);
  }

  .catalog-filter-backdrop.show {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 1001;
    width: 100%;
    border: 0;
    background: rgba(0, 0, 0, .35);
  }

  body.filter-panel-open {
    overflow: hidden;
  }
}

.catalog-size-filter[open] summary {
  margin-bottom: 16px;
}

.catalog-size-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.catalog-size-option {
  position: relative;
  display: block !important;
  margin: 0 !important;
  color: #111 !important;
}

.catalog-size-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.catalog-size-option span {
  min-height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid #dedede;
  border-radius: 7px;
  background: #fff;
  font-size: 13px;
  color: #111;
  transition: .16s ease;
}

.catalog-size-option input:checked + span {
  border-color: #111;
  box-shadow: inset 0 0 0 1px #111;
  background: #111;
  color: #fff;
}

@media (max-width: 850px) {
  .catalog-sidebar.open .catalog-filter {
    padding: 20px 0;
  }

  .catalog-sidebar.open .catalog-filter summary {
    font-size: 18px;
  }

  .catalog-sidebar.open .catalog-filter label {
    font-size: 15px;
  }

  .catalog-sidebar.open .catalog-size-option span {
    min-height: 52px;
    font-size: 17px;
  }
}
