/**
 * Easybook quick mobile fix — overrides fixed desktop layout
 */
html {
  -webkit-text-size-adjust: 100%;
}
html,
body {
  max-width: 100% !important;
  overflow-x: hidden !important;
}
img,
video,
iframe,
embed,
object,
svg {
  max-width: 100% !important;
  height: auto !important;
}
table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
}
.container,
.big-container,
.small-container {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
  box-sizing: border-box !important;
}

@media only screen and (max-width: 1064px) {
  .main-header,
  .header-top,
  .header-inner {
    height: auto !important;
  }
  .nav-holder.main-menu {
    max-width: 100% !important;
  }
  .logo-holder img {
    max-height: 42px !important;
    width: auto !important;
  }
  .hero-section,
  .hero-section-wrap,
  .bg {
    min-height: 0 !important;
    height: auto !important;
    background-attachment: scroll !important;
  }
  .home-intro h2,
  .hero-section .section-title h2 {
    font-size: clamp(22px, 6vw, 36px) !important;
    line-height: 1.2 !important;
  }
  .main-search-input-wrap {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 8px !important;
  }
  .main-search-input {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    height: auto !important;
    padding: 12px !important;
    border-radius: 10px !important;
  }
  .main-search-input-item,
  .main-search-input-item.location,
  .main-search-input-item_small,
  .main-search-button {
    width: 100% !important;
    float: none !important;
    margin: 0 0 10px !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    border-radius: 6px !important;
  }
  .main-search-button {
    margin-bottom: 0 !important;
    height: 48px !important;
  }
  .listing-item,
  .listing-item-grid,
  .hotel-card,
  .gallery-item,
  .article-masonry,
  .three-columns-grid .listing-item {
    width: 100% !important;
    float: none !important;
    max-width: 100% !important;
    padding: 0 0 20px !important;
  }
  .col-list-wrap,
  .list-main-wrap,
  .listsearch-input-wrap,
  .map-container,
  .map-container.column-map,
  .map-container.column-map.right-pos-map,
  .map-container.column-map.left-pos-map {
    position: relative !important;
    width: 100% !important;
    float: none !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    height: auto !important;
    min-height: 0 !important;
  }
  .map-container #map-main,
  #map-main {
    height: 280px !important;
    min-height: 280px !important;
  }
  .listsearch-input-item,
  .col-list-search-input-item {
    width: 100% !important;
    float: none !important;
    margin-bottom: 12px !important;
  }
  .dashboard-menu,
  .dashboard-content,
  .dashboard-title,
  .dashboard-list-box,
  .user-profile-menu-wrap,
  .user-profile-menu {
    width: 100% !important;
    float: none !important;
    max-width: 100% !important;
  }
  .user-profile-menu-wrap {
    margin-bottom: 20px !important;
  }
  .footer-widget,
  .footer-cols .footer-col,
  .footer-widget-wrap > div {
    width: 100% !important;
    float: none !important;
    margin-bottom: 24px !important;
  }
  .header-user-menu,
  .wishlist-wrap,
  .show-search-button {
    margin-left: 0 !important;
  }
  .add-hotel {
    display: none !important;
  }
  .section-title,
  .section-title h2 {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  .list-single-main-wrapper,
  .list-single-sidebar,
  .list-single-main-container,
  .list-single-hero {
    width: 100% !important;
    float: none !important;
  }
  .list-single-main-media,
  .list-single-carousel-wrap {
    height: auto !important;
    min-height: 220px !important;
  }
  .rooms-media,
  .rooms-details {
    width: 100% !important;
    float: none !important;
    padding-left: 0 !important;
  }
  .pricing-column,
  .price-item {
    width: 100% !important;
    float: none !important;
    margin-bottom: 16px !important;
  }
  .ajax-modal-container {
    width: min(100vw - 24px, 520px) !important;
    max-width: 100% !important;
  }
}

@media only screen and (max-width: 768px) {
  .header-top .container {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
  }
  .logo-holder {
    float: none !important;
    margin: 0 !important;
  }
  .show-reg-form {
    margin: 0 0 0 auto !important;
    font-size: 12px !important;
  }
  .lang-wrap,
  .show-currency-tooltip {
    display: none !important;
  }
  .nav-button-wrap {
    position: absolute !important;
    right: 12px !important;
    top: 12px !important;
    z-index: 100 !important;
  }
  .header-inner {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
  .main-menu {
    width: 100% !important;
  }
  .header-search {
    padding: 16px !important;
  }
  .header-search-input-item {
    width: 100% !important;
    float: none !important;
    margin-bottom: 10px !important;
  }
  .listing-features li,
  .list-single-facts .inline-facts-wrap {
    width: 50% !important;
  }
  .home-intro {
    padding: 40px 12px !important;
  }
  .scroll-nav-wrapper {
    display: none !important;
  }
  .to-top {
    right: 12px !important;
    bottom: 12px !important;
  }
  .slick-slide-item,
  .fw-carousel .slick-slide-item {
    height: auto !important;
  }
  .box-widget,
  .widget-posts,
  .list-widget {
    margin-bottom: 20px !important;
  }
}

@media only screen and (max-width: 540px) {
  body {
    font-size: 14px !important;
  }
  .home-intro h2 {
    font-size: 26px !important;
  }
  .add-hotel,
  .header-user-name span {
    display: none !important;
  }
  .listing-features li,
  .list-single-facts .inline-facts-wrap {
    width: 100% !important;
  }
  .footer-social,
  .footer-contacts {
    text-align: left !important;
  }
  .main-search-input {
    margin: 0 !important;
  }
  .hero-section-wrap {
    padding: 80px 0 50px !important;
  }
}
