/*
 * Responsive overrides for search apartments blocks
 * Target: Only the two .form-search-apartment blocks and their children
 * Devices: iPhone, iPad, and all mobile/tablet (≤ 1024px)
 * Author: AI (2024)
 */

@media (max-width: 1024px) {
  /* General outer block padding for tablet/mobile */
  .outer-apartment-content-block {
    padding: 24px 0 24px 0 !important;
  }
}

@media (max-width: 768px) {
  /* Stack all form fields vertically */
  .form-search-apartment .top-form,
  .form-search-apartment .bot-form {
    flex-direction: column !important;
    display: flex !important;
    height: auto !important;
    gap: 12px !important;
  }

  /* Each field full width, with spacing */
  .form-search-apartment .top-form > div,
  .form-search-apartment .bot-form > select {
    width: 100% !important;
    margin-right: 0 !important;
    margin-bottom: 10px !important;
  }
  .form-search-apartment .top-form > div:last-child {
    margin-bottom: 0 !important;
  }

  /* Button always full width, below fields */
  .form-search-apartment button,
  .form-search-apartment .btn {
    width: 100% !important;
    min-height: 44px !important;
    margin-top: 8px !important;
    position: static !important;
    left: unset !important;
    right: unset !important;
    top: unset !important;
    bottom: unset !important;
    font-size: 16px !important;
  }

  /* Fix select2 width and touch area */
  .form-search-apartment .select2-container {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .form-search-apartment .select2-selection--single {
    height: 44px !important;
    line-height: 44px !important;
    font-size: 16px !important;
  }
  .form-search-apartment .select2-selection__rendered {
    line-height: 44px !important;
    font-size: 16px !important;
  }

  /* Error messages below fields, not overlapping */
  .form-search-apartment .error-message {
    margin-top: 2px !important;
    margin-bottom: 8px !important;
    font-size: 13px !important;
    position: static !important;
  }

  /* Tab buttons: stack or scroll horizontally */
  .form-search-apartment .tab {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    gap: 8px !important;
    margin-bottom: 12px !important;
  }
  .form-search-apartment .tab button {
    min-width: 140px !important;
    max-width: 180px !important;
    font-size: 16px !important;
    padding: 12px 10px !important;
    height: auto !important;
    white-space: normal !important;
    line-height: 1.3 !important;
    word-break: break-word !important;
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* Apartment search form background image fix */
  .form-search-apartment form {
    background-size: cover !important;
    padding: 16px 6px 24px 6px !important;
    margin-bottom: 18px !important;
  }

  /* Slider grid: stack items vertically */
  .search-apartments-block .rsContent .grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }
  .search-apartments-block .item-child {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .search-apartments-block .royalImage {
    height: 120px !important;
    object-fit: cover !important;
  }

  /* Feedback/price result cards: stack vertically */
  .landprice-result-wrap {
    flex-direction: column !important;
    gap: 16px !important;
    align-items: stretch !important;
  }
  .landprice-card {
    min-width: 0 !important;
    width: 100% !important;
    padding: 18px 10px 18px 10px !important;
  }

  /* Hide large desktop-only elements if any */
  .apartment-content-block .bg-title,
  .apartment-content-block .title-left-menu {
    display: none !important;
  }

  /* Tabs: horizontally scrollable */
  .form-search-apartment .tab {
    overflow-x: auto !important;
    white-space: nowrap !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none; /* Firefox */
  }
  .form-search-apartment .tab::-webkit-scrollbar {
    display: none;
  }

  /* Listings/Results: horizontal swipe (carousel style) */
  .search-apartments-block .banner-rotator {
    overflow-x: auto !important;
    white-space: nowrap !important;
    -webkit-overflow-scrolling: touch !important;
    padding-bottom: 8px !important;
    margin-left: -8px;
    margin-right: -8px;
  }
  .search-apartments-block .banner-rotator > div {
    display: inline-block !important;
    width: auto !important;
    min-width: 0 !important;
  }
  .search-apartments-block .rsContent .grid {
    display: flex !important;
    flex-direction: row !important;
    gap: 0 !important;
    white-space: nowrap !important;
  }
  .search-apartments-block .item-child {
    display: inline-block !important;
    vertical-align: top !important;
    width: 80vw !important;
    max-width: 320px !important;
    min-width: 220px !important;
    margin-right: 12px !important;
    background: #fff !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;
    overflow: hidden !important;
  }
  .search-apartments-block .item-child:last-child {
    margin-right: 0 !important;
  }
  .search-apartments-block .royalImage {
    width: 100% !important;
    height: 120px !important;
    object-fit: cover !important;
    border-radius: 8px 8px 0 0 !important;
  }
  .search-apartments-block .item-child .name,
  .search-apartments-block .item-child .position,
  .search-apartments-block .item-child .price {
    padding-left: 10px !important;
    padding-right: 10px !important;
    font-size: 15px !important;
  }
  .search-apartments-block .item-child .name {
    font-weight: 600 !important;
    margin-bottom: 4px !important;
    margin-top: 6px !important;
  }
  .search-apartments-block .item-child .position {
    color: #888 !important;
    font-size: 13px !important;
    margin-bottom: 6px !important;
  }
  .search-apartments-block .item-child .price {
    color: #e53935 !important;
    font-weight: bold !important;
    margin-bottom: 4px !important;
  }

  /* Notification tab: stacked, simple */
  #notify .row {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }
  #notify .item-notify {
    background: #fff !important;
    border-radius: 8px !important;
    margin-bottom: 10px !important;
    padding: 14px 12px !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.03) !important;
    border: none !important;
  }
  #notify .item-notify .title-list-new {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #222 !important;
    margin-bottom: 8px !important;
    line-height: 1.4 !important;
    display: block !important;
  }
  #notify .item-notify .time {
    font-size: 13px !important;
    color: #888 !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
  }
}

@media (max-width: 576px) {
  /* Extra small devices: tighter spacing */
  .form-search-apartment {
    padding: 0 2px !important;
  }
  .form-search-apartment .tab button {
    min-width: 90px !important;
    font-size: 14px !important;
    padding: 8px 4px !important;
  }
  .form-search-apartment .select2-selection--single {
    font-size: 15px !important;
  }
  .form-search-apartment button,
  .form-search-apartment .btn {
    font-size: 15px !important;
    min-height: 40px !important;
  }
}

/* --- End of responsive overrides for search apartments blocks --- */ 