form.filters {
  display: flex;
  flex-direction: column;
  gap: 8px;

  .actions {
    align-items: end;

    a {
      white-space: nowrap;
      color: var(--color-secondary2)
    }
  }

  .search-field {
    display: flex;
    flex-direction: column;
    gap: 8px;

    .search-input {
      border-radius: 20px;
      padding: 11px 13px;
      font-size: inherit;
      background-color: var(--color-white);
      border: 1px solid var(--color-secondary3);
      box-shadow: 0 0 5px var(--color-secondary2);

      &::placeholder {
        color: var(--color-secondary2);
        font-weight: bold;
      }
    }

    .static-filters {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
  }

  .dynamic-filters {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  .search-hero {
    display: flex;
    flex-direction: column;
    gap: 8px;

    .search-hero__field {
      position: relative;
      flex: 1;
    }

    .search-hero__icon {
      position: absolute;
      left: 16px;
      top: 50%;
      transform: translateY(-50%);
      color: var(--color-secondary2);
      pointer-events: none;
    }

    .search-input {
      width: 100%;
      border-radius: 24px;
      padding: 13px 16px 13px 42px;
      font-size: inherit;
      background-color: var(--color-white);
      border: 1px solid var(--color-secondary3);
      box-shadow: 0 0 5px var(--color-secondary2);

      &::placeholder {
        color: var(--color-secondary2);
        font-weight: bold;
      }
    }
  }

  .filters-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid var(--color-secondary3);
    background: var(--color-white);
    color: var(--color-secondary);
    border-radius: 24px;
    padding: 12px 16px;
    font: inherit;
    font-weight: bold;
    box-shadow: 0 0 5px var(--color-secondary2);
    cursor: pointer;
    white-space: nowrap;

    &:has(.filters-toggle__state.is-active) {
      border-color: var(--color-primary);
      background: var(--color-primary5);
      color: var(--color-primary);
    }

    &.is-open,
    &[aria-expanded="true"] {
      border-color: var(--color-primary);
      color: var(--color-primary);
    }
  }

  .filters-toggle__state {
    display: contents;
  }

  .filters-toggle__count {
    display: inline-flex;
    min-width: 1.5em;
    height: 1.5em;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--color-primary);
    color: var(--color-white);
    font-size: 12px;
    padding: 0 6px;

    &.is-empty {
      display: none;
    }
  }

  .search-summary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    min-height: 1.4em;
    color: var(--color-secondary2);
    font-size: 14px;

    &.is-empty {
      display: none;
    }
  }

  .search-explanation {
    margin: 0;

    &.is-empty {
      display: none;
    }
  }

  .filter-chips.is-empty,
  .search-summary__clear.is-empty {
    display: none;
  }

  .search-explanation__also {
    color: var(--color-secondary2);
  }

  .filter-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .filter-chip {
    display: inline-flex;
    align-items: center;
    background: var(--color-white);
    border: 1px solid var(--color-secondary3);
    border-radius: 999px;
    padding: 4px 10px;
    color: var(--color-secondary);
    font-weight: 600;
  }

  .search-summary__clear {
    margin-left: auto;
    color: var(--color-secondary2);
    text-decoration: none;
    white-space: nowrap;
  }

  .filter-panel {
    display: flex;
    flex-direction: column;
    gap: 8px;

    &[hidden] {
      display: none;
    }

    .static-filters,
    .dynamic-filters {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
  }

  .ss-main {
    --ss-border-radius: 20px;
    box-shadow: 0 0 5px var(--color-secondary2);
  }

  .ss-content {
    box-shadow: 0 0 5px var(--color-secondary2);
  }

  .ss-placeholder {
    font-weight: bold;
  }
}

@media (min-width: 768px) {
  form.filters {
    .search-field {
      display: grid;
      grid-template-columns: 3fr 1fr 4fr;
      grid-template-areas: "search . filters";

      .search-input {
        grid-area: search;
      }

      .static-filters {
        grid-area: filters;
        flex-direction: row;
      }
    }

    .dynamic-filters {
      flex-direction: row;
    }

    .search-hero {
      flex-direction: row;
      align-items: center;
    }

    .filter-panel {
      .static-filters,
      .dynamic-filters {
        flex-direction: row;
        flex-wrap: wrap;
      }

      .ss-main {
        min-width: 160px;
        flex: 1;
      }
    }
  }
}
