/* ------ large and medium devices (dekstops and laptops, 991px and up) -----*/
@media (min-width: 991px) {
  html {
    font-size: 10px; /* Fixed base size - no viewport scaling */
  }
  .container {
    max-width: 1628px;
  }
  .container_md {
    max-width: 1530px;
  }
  .offers_slider .swiper-slide {
    width: 400px;
  }
}

/* ------ Medium devices (tablets, 991px and down) -----*/
@media (max-width: 991px) {
  html {
    font-size: 50%;
  }

  .container {
    padding: 0;
  }

  .container,
  .menu_container {
    width: 720px;
    padding: 0;
    max-width: 100%;
  }

  /* =========== Header area ========== */

  .site_header {
    height: 8rem;
  }

  .primary_menu {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    justify-content: flex-end;
    align-content: space-between;
    padding: 0;
    pointer-events: none;
    overflow: auto;
    left: 50%;
    transform: translateX(-50%);
  }

  .primary_menu::-webkit-scrollbar {
    scrollbar-width: 0;
    display: none;
  }

  .menu_active .primary_menu {
    pointer-events: all;
  }

  .main_menu {
    flex-direction: column;
    gap: 0rem;
    align-items: flex-start !important;
  }

  .main_menu li a {
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 1;
    width: 100%;
    padding: 2rem 0;
    border-bottom: 0.1rem solid var(--lightBorder);
  }

  .main_menu li {
    width: 100%;
  }

  body.menu_active {
    overflow: hidden !important;
  }

  .menu_overlay {
    width: 200vw;
    height: 200vh;
    content: "";
    background: rgb(255, 255, 255);
    position: fixed;
    left: -200vw;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 0 50% 50% 0;
    transition: all 1s cubic-bezier(0.68, 0, 0.27, 1.55); /* elastic wave effect */
    z-index: 99;
  }

  .menu_active .menu_overlay {
    left: -50vw;
  }

  .menu_container {
    transition: 0.25s ease;
    transform: translateX(-2rem);
    opacity: 0;
    pointer-events: none;
  }

  .menu_active .menu_container {
    transform: translateX(0);
    opacity: 1;
    pointer-events: all;
    transition-delay: 0.65s;
  }

  /* ============== Hamburger ============= */
  .hamburger img {
    width: 2.8rem;
    position: absolute;
    transition: 0.35s ease;
  }

  .hamburger .close_icon {
    width: 2.8rem;
    opacity: 0;
    transform: scale(0.5);
    filter: brightness(0) saturate(100%) invert(6%) sepia(49%) saturate(2769%)
      hue-rotate(246deg) brightness(84%) contrast(96%);
  }

  .hamburger {
    width: 2.8rem;
    height: 2.8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 999;
  }

  .menu_active .hamburger .close_icon {
    opacity: 1;
    transform: scale(1);
    filter: brightness(0) saturate(100%) invert(7%) sepia(18%) saturate(5515%)
      hue-rotate(241deg) brightness(95%) contrast(97%);
  }

  .menu_active .hamburger .Hamburger_icon {
    opacity: 0;
    transform: scale(0.5);
  }

  .sticky .hamburger .Hamburger_icon {
    filter: brightness(0) saturate(100%) invert(6%) sepia(49%) saturate(2769%)
      hue-rotate(246deg) brightness(84%) contrast(96%) !important;
  }

  /* ================= */
  .menu_bottom .hero_right {
    justify-content: space-between;
    padding: 4rem 0 12rem;
  }

  .menu_bottom {
    flex-direction: column;
  }

  .menu_bottom .fbr_bottom {
    padding-top: 0;
  }

  .menu_bottom .social_links a img {
    filter: brightness(0) saturate(100%) invert(4%) sepia(35%) saturate(6491%)
      hue-rotate(256deg) brightness(85%) contrast(93%);
  }

  .menu_bottom .fbr_bottom p {
    font-size: 1.4rem;
    line-height: 2.8rem;
  }

  .main_menu {
    padding: 12rem 0 5rem 0;
  }

  .menu_bottom {
    padding-bottom: 4.5rem;
  }

  .menu_link img {
    width: 2.5rem;
    display: none !important;
  }

  .menu_link.active img {
    display: block !important;
  }

  .menu_link {
    display: flex;
  }

  .main_menu li a:hover,
  .main_menu li a.active {
    color: var(--accent) !important;
  }

  .site_header
    .col-lg-6.col-md-0.d-flex.align-items-center.justify-content-center {
    width: 0;
    padding: 0;
  }

  .header-component {
    flex-direction: column;
    width: 100%;
    gap: 1rem;
  }

  .header-component button {
    width: 100%;
  }

  .main_menu li a.active {
    color: var(--accent);
    border-bottom: 0.1rem solid var(--accent);
  }

  .main_menu li a:hover {
    border-bottom: 0.1rem solid var(--lightBorder);
  }

  /* ============== Hero area ============== */
  .search_form {
    flex-direction: column;
    height: auto;
    overflow: hidden;
    width: 100%;
  }

  .search_input {
    width: 100%;
    height: 6rem;
    border-radius: 0;
    padding: 0 2rem;
  }

  .tab_buttons {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-radius: 0;
  }

  .search_btn {
    transform: translateY(0);
    position: static;
    background: var(--default);
    width: 100%;
    border-radius: 0;
  }

  .search_input_wrapper {
    width: 100%;
  }

  .hero_card {
    padding: 4.5rem;
    max-width: 100%;
    width: 100%;
  }

  .hero_content {
    padding: 8rem;
  }

  .brands {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 3rem 15rem;
  }

  .price-card {
    max-width: 100%;
  }

  .offer_left_card {
    padding-left: 0;
  }

  .offers_content {
    padding: 0;
    padding-top: 3rem;
  }

  .offers_content .offers_slider {
    width: 100%;
  }

  .slide_inner {
    padding: 0 1rem;
  }

  .slider_gap {
    width: calc(100% + 2rem) !important;
    margin-left: -1rem;
  }

  .specials_content {
    height: 45rem;
  }

  .tab_navs {
    display: flex;
    justify-content: center;
    width: 100%;
    overflow: auto;
    padding: 0.8rem 0;
    margin-bottom: 3rem;
  }

  .card_row {
    --bs-gutter-y: 3rem;
  }

  .subscribe_content .row {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 2rem;
  }

  .subscribe_content .pl_45 {
    padding-left: 2.5rem;
  }

  .section_top {
    text-align: center;
  }

  .section_top.pb_50 {
    padding-bottom: 3rem;
  }

  .section_top.justify-content-between {
    flex-direction: column;
    gap: 2rem;
  }

  .section_top p br {
    display: none;
  }

  /* header-component */
  .header_right .header-component {
    display: none;
  }

  /* ============= footer_area ================= */
  .footer_links.pl_60 {
    padding-left: 2rem;
  }

  .footer_logo img {
    width: 4rem;
  }

  .footer_col_inner {
    grid-template-columns: 1fr 1fr;
  }

  .footer_top.pb_90 {
    padding-bottom: 4rem;
  }

  .footer_b_left .selectors,
  .footer_b_right .social_icons {
    padding-bottom: 3rem;
  }

  .footer_section {
    padding: 5rem 0;
  }

  /* ============= fillter_area ============== */
  .fillter_area .row {
    --bs-gutter-y: 2rem;
    justify-content: center;
  }

  .fillter_box1 {
    justify-content: center;
  }

  .fillter_icons {
    justify-content: center !important;
  }

  .map_bottom {
    flex-direction: column-reverse;
    gap: 2rem;
    margin-bottom: 4rem;
  }

  .gallery_popup_slider > .row > .col-lg-6:first-child .property_img {
    height: 50rem;
  }

  .sign-in-btn {
    background: var(--lightBorder);
  }
}

/*----- sm devices (tablets, 767px and down) -----*/
@media (max-width: 767px) {
  /* ============ default styles ============ */
  html {
    font-size: 55%;
  }

  .primary_menu,
  .container-fluid,
  .menu_container {
    width: 540px;
  }

  .title_24 {
    font-size: 2rem;
  }

  .hero_content {
    padding: 2rem;
  }

  .hero_card {
    padding: 5rem 2rem;
  }

  .filter_options {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .custom_select:nth-child(2) .select_trigger {
    border-right: 0;
  }

  .brands {
    grid-template-columns: 1fr 1fr;
    gap: 3rem 7rem;
    padding: 2rem 4rem;
  }

  .mt_70 {
    margin-top: 4rem;
  }

  .price_content {
    padding: 7rem 3rem;
  }

  .price-card-top {
    padding: 3rem 2rem 2rem 2rem;
  }

  .price_bottom {
    padding: 2.5rem;
  }

  .pb_60 {
    padding-bottom: 3rem;
  }

  .main_content > div {
    padding: 5rem 0;
    margin: 0;
  }

  .footer_bottom {
    gap: 2rem;
    flex-direction: column;
  }

  .footer_b_left .selectors,
  .footer_b_right .social_icons {
    padding-bottom: 2rem;
  }

  .btn_to_top {
    margin: 0 auto;
  }

  .footer_top .row {
    --bs-gutter-y: 2rem;
  }

  .footer_box.d-flex {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
  }

  .footer_box.d-flex .footer_links.pl_60 {
    padding-left: 0;
  }

  .social_icons {
    gap: 2rem;
  }

  .selectors {
    gap: 2rem;
  }

  .selector {
    gap: 0.8rem;
  }

  .title_50 {
    font-size: 4rem;
    line-height: 1.1;
  }

  .hero_icon {
    margin-bottom: 1rem;
    width: 3.5rem;
    height: 3.5rem;
  }

  .tab_btn {
    height: 4rem;
  }

  .hero_content {
    border-radius: 2rem;
  }

  .explore_img img {
    height: 45rem;
  }

  .explore_card.v1 {
    width: 33rem;
  }

  .explore_over {
    padding: 1.4rem 2rem;
  }

  .swiper-slide > div.pl_20.pr_20 {
    padding: 0 1rem;
  }

  .explore_card.v2 .explore_img img {
    height: 21.5rem;
  }

  .explore_cards {
    gap: 2rem;
  }

  .autoSwiper {
    margin-left: -1rem;
  }

  .title_50 {
    font-size: 4rem;
    line-height: 1.1;
  }

  .hero_icon {
    margin-bottom: 1rem;
    width: 3.5rem;
    height: 3.5rem;
  }

  .tab_btn {
    height: 4rem;
  }

  .hero_content {
    border-radius: 2rem;
  }

  .explore_img img {
    height: 45rem;
  }

  .explore_card.v1 {
    width: 36rem;
  }

  .swiper-slide > div.pl_20.pr_20 {
    padding: 0 1rem;
  }

  .explore_card.v2 .explore_img img {
    height: 21.5rem;
  }

  .explore_cards {
    gap: 2rem;
  }

  .autoSwiper {
    margin-left: -1rem;
  }

  .specials_text {
    padding: 2.5rem;
    display: grid;
    gap: 1rem;
    width: 100%;
  }

  .specials_content {
    padding-right: 3rem;
    height: 35rem;
  }

  .tab_navs {
    white-space: nowrap;
    width: calc(100% + 4rem);
    gap: 3rem;
    justify-content: flex-start !important;
    margin-left: -2rem;
    padding-left: 2rem;
    padding-right: 2rem;
    margin-bottom: 2rem;
  }

  .collectors_area .tab_nav span {
    line-height: 1;
    padding-top: 0.35rem;
  }

  .tab_nav {
    gap: 1rem;
  }

  .subscribe_area .section_top {
    text-align: left;
    align-items: flex-start !important;
    flex-direction: column;
  }

  .subscribe_area .section_top .pl_45 {
    padding-left: 0;
    padding-top: 1rem;
  }

  .subscribe_area .section_top > img {
    width: 4rem;
  }

  .subscribe_content {
    padding: 3rem;
  }

  .subscribe_area .row .subscribe_content {
    padding: 0;
    flex-direction: column;
    gap: 1rem;
  }

  .subscribe_area .row .subscribe_content button {
    width: 100%;
  }

  .main_content .hero_section {
    padding-top: 0;
  }

  .explore_card.v4 {
    width: 33rem;
  }

  .explore_subtitle {
    font-size: 1.4rem;
  }

  .offers_area .row {
    --bs-gutter-x: 3rem;
  }
  .offer_left_card .row {
    --bs-gutter-y: 2.5rem;
  }

  /* ========== slider_nav ========== */
  .slider_nav {
    width: 2.5rem;
    height: 2.5rem;
  }

  .slider_nav.prev {
    left: 0.5rem;
  }

  .slider_nav.next {
    right: 0.5rem;
  }

  /* ============= property_info =============== */
  .property_images .property_img {
    height: 24rem;
  }

  .gallery_popup_slider > .row > .col-lg-6:first-child .property_img {
    height: 35rem;
  }

  .pil_top_left ul .pl_50 {
    padding-left: 2rem;
  }

  .pil_top {
    flex-direction: column;
    gap: 2rem;
  }

  .pil_top_right {
    text-align: left !important;
    margin-right: auto;
  }

  .collapse_list li {
    grid-template-columns: 1fr 1fr;
  }

  .collapse_btn {
    padding: 1rem 0.5rem;
  }

  .contact_form .row {
    --bs-gutter-y: 2rem;
  }

  .form_group label {
    line-height: 1;
  }

  .collapse_content > div {
    padding: 2rem 0 2rem;
  }

  .map_content .tab_navs {
    width: calc(100% - 12rem);
    flex-direction: column;
    padding: 2rem;
    gap: 1.5rem;
    left: 50%;
    margin-left: 0;
    top: 50%;
    transform: translate(-50%, -50%);
  }

  .map_content .tab_pane img {
    height: 35rem;
    object-fit: cover;
    border-radius: 1rem;
  }

  .property_info_right .offer_left_card {
    padding-left: 0;
    padding-right: 0;
  }

  .contact_links {
    width: 100%;
    overflow: auto;
  }

  .main_content > div:first-child {
    padding-bottom: 0;
  }
}

/*----- xs devices (landscape phones, 575px and down) -----*/
@media (max-width: 575px) {
  html {
    font-size: 9px; /* Fixed base size - no viewport scaling */
  }

  /* menu */
  .primary_menu,
  .container {
    width: 100%;
    padding: 0 2rem;
  }

  .menu_container {
    width: 39rem;
  }

  .custom_select.v2 .select_trigger {
    font-size: 1.4rem;
  }

  .custom_select.v2 .select_dropdown {
    width: 20rem;
  }

  .contact_links {
    width: calc(100% + 4rem);
    margin-left: -2rem;
    padding: 0 2rem;
  }
}
