/* HemannonserNet v2.6.1 mobile UX cleanup */
:root {
  --hem-touch-min: 44px;
}

.hem-mobile-menu-toggle {
  display: none;
  min-height: var(--hem-touch-min);
  min-width: var(--hem-touch-min);
  border: 1px solid rgba(31, 41, 55, .18);
  border-radius: 999px;
  background: #fff;
  color: #142f3d;
  font-weight: 800;
  cursor: pointer;
}

.hem-type-inline-row,
.hem-filter-type-inline-row,
.hem-mobile-type-inline-row {
  display: flex !important;
  align-items: center !important;
  gap: .75rem !important;
  flex-wrap: nowrap !important;
  width: min(100%, 420px);
  margin-block: .35rem .75rem;
}

.hem-type-inline-row label,
.hem-filter-type-inline-row label,
.hem-mobile-type-inline-row label {
  margin: 0 !important;
  white-space: nowrap !important;
  flex: 0 0 auto !important;
  font-weight: 800;
}

.hem-type-inline-row select,
.hem-filter-type-inline-row select,
.hem-mobile-type-inline-row select,
.hem-type-inline-row .hem-mobile-type-select,
.hem-filter-type-inline-row .hem-mobile-type-select,
.hem-mobile-type-inline-row .hem-mobile-type-select {
  flex: 1 1 180px !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: 260px;
}

/* Fallback: common form-row patterns */
.hem-filter-panel .form-group:has(label.hem-bostadstyp-label),
.hem-search-filters .form-group:has(label.hem-bostadstyp-label),
form .form-group:has(label.hem-bostadstyp-label) {
  display: flex !important;
  align-items: center !important;
  gap: .75rem !important;
  flex-wrap: nowrap !important;
}

.card,
.listing-card,
.hem-listing-card {
  overflow: hidden;
}

.card a,
.listing-card a,
.hem-listing-card a,
button,
.btn,
.button,
input,
select {
  min-height: 38px;
}

@media (max-width: 760px) {
  header nav,
  .site-nav,
  .main-nav,
  .navbar-nav {
    gap: .35rem !important;
  }

  .hem-mobile-menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .hem-mobile-nav-collapsed {
    display: none !important;
  }

  .hem-mobile-nav-open {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100%;
  }

  .hem-filter-panel,
  .search-panel,
  .filter-panel,
  form[method="get"] {
    border-radius: 18px;
  }

  .hem-type-inline-row,
  .hem-filter-type-inline-row,
  .hem-mobile-type-inline-row {
    width: 100%;
    gap: .65rem !important;
  }

  .hem-type-inline-row label,
  .hem-filter-type-inline-row label,
  .hem-mobile-type-inline-row label {
    flex-basis: auto !important;
  }

  .hem-type-inline-row select,
  .hem-filter-type-inline-row select,
  .hem-mobile-type-inline-row select,
  .hem-type-inline-row .hem-mobile-type-select,
  .hem-filter-type-inline-row .hem-mobile-type-select,
  .hem-mobile-type-inline-row .hem-mobile-type-select {
    max-width: none;
  }
}

@media (max-width: 480px) {
  .hem-type-inline-row,
  .hem-filter-type-inline-row,
  .hem-mobile-type-inline-row {
    gap: .5rem !important;
  }

  .hem-type-inline-row label,
  .hem-filter-type-inline-row label,
  .hem-mobile-type-inline-row label {
    font-size: .92rem;
  }
}
