.reference_filter-block {
  width: 100%;
}

.reference_filter-block .reference_filter_controls {
  display: flex;
  align-items: flex-end;

  margin-bottom: 4rem;
}

.reference_filter-block .reference_filter_field {
  width: 100%;
  max-width: 300px;
}

.reference_filter-block .reference_filter_label {
  display: block;
  margin-bottom: 0.5rem;
  color: #707070;
  font-size: 18px;
  font-weight: 700;
}

.reference_filter-block .reference_filter_select {
  display: block;

  width: 100%;
  min-height: 42px;

  padding: 0.4rem 0.25rem;

  border: 0;
  border-bottom: 1px solid #bcbcbc;
  border-radius: 0;

  background-color: transparent;

  color: #707070;
  font-size: 16px;

  outline: none;
  cursor: pointer;
}

.reference_filter-block .reference_filter_select:focus {
  border-bottom-color: var(--color-primary);
}

.reference_filter-block .reference_filter_reset {
  display: inline-block;

  margin-top: 1.5rem;
  padding: 0;

  border: 0;
  border-bottom: 1px solid currentColor;

  background: transparent;

  color: #707070;
  font-size: 14px;

  cursor: pointer;
}

/* ==================================================
   Initiales Grid
================================================== */

.reference_filter-block .reference_filter_groups {
  display: grid;

  grid-template-columns: repeat(4, minmax(0, 1fr));

  column-gap: 4rem;
  row-gap: 4rem;
}

.reference_filter-block .reference_filter_group {
  min-width: 0;
}

.reference_filter-block .reference_filter_group_title {
  margin: 0 0 1.25rem;

  color: #707070;

  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
}

/* ==================================================
   Schiffsliste
================================================== */

.reference_filter-block .reference_filter_ship_list,
.reference_filter-block .reference_filter_filtered_list {
  display: flex;
  flex-direction: column;

  gap: 0.35rem;
}

.reference_filter-block .reference_filter_ship {
  color: #808080;

  font-size: 15px;
  line-height: 1.35;
}

.reference_filter-block .reference_filter_ship[hidden] {
  display: none !important;
}

/* ==================================================
   Mehr anzeigen
================================================== */

.reference_filter-block .reference_filter_more {
  display: inline-block;

  margin-top: 1rem;
  padding: 0;

  border: 0;
  border-bottom: 1px solid currentColor;

  background: transparent;

  color: var(--color-primary);

  font-size: 14px;

  cursor: pointer;
}

.reference_filter-block .reference_filter_more[hidden] {
  display: none !important;
}

/* ==================================================
   Gefilterte Ansicht
================================================== */

.reference_filter-block .reference_filter_filtered[hidden],
.reference_filter-block .reference_filter_initial[hidden] {
  display: none !important;
}

.reference_filter-block .reference_filter_filtered_list {
  display: grid;

  grid-template-columns: repeat(4, minmax(0, 1fr));

  column-gap: 4rem;
  row-gap: 0.5rem;
}

.reference_filter-block .reference_filter_no_results {
  margin: 0;

  color: #707070;
}

.reference_filter-block .reference_filter_no_results[hidden] {
  display: none !important;
}

/* ==================================================
   Tablet
================================================== */

@media (max-width: 1199.98px) {
  .reference_filter-block .reference_filter_groups,
  .reference_filter-block .reference_filter_filtered_list {
    grid-template-columns: repeat(3, minmax(0, 1fr));

    column-gap: 2.5rem;
  }
}

/* ==================================================
   Small Tablet
================================================== */

@media (max-width: 991.98px) {
  .reference_filter-block .reference_filter_controls {
    margin-bottom: 3rem;
  }

  .reference_filter-block .reference_filter_groups,
  .reference_filter-block .reference_filter_filtered_list {
    grid-template-columns: repeat(2, minmax(0, 1fr));

    column-gap: 2rem;
    row-gap: 3rem;
  }
}

/* ==================================================
   Mobile
================================================== */

@media (max-width: 575.98px) {
  .reference_filter-block .reference_filter_field {
    max-width: none;
  }

  .reference_filter-block .reference_filter_controls {
    margin-bottom: 2.5rem;
  }

  .reference_filter-block .reference_filter_groups {
    grid-template-columns: 1fr;

    gap: 2.5rem;
  }

  .reference_filter-block .reference_filter_filtered_list {
    grid-template-columns: 1fr;

    gap: 0.5rem;
  }

  .reference_filter-block .reference_filter_group_title {
    margin-bottom: 1rem;
  }

  .reference_filter-block .reference_filter_ship {
    font-size: 15px;
  }
}
