/* Ensure intl-tel-input wrapper occupies full width of parent containers and grid cells */
  .iti {
    width: 100% !important;
    display: block !important;
  }
  .iti__country-container {
    z-index: 10 !important;
  }
  
  /* Symmetrical form box-sizing and padding overrides */
  .form-contacts__input,
  .leadform__input,
  .form-ordering__input,
  .search-widget-input,
  .form-control,
  .btn-orange,
  .search-widget-button {
    box-sizing: border-box !important;
  }

  .header {
    position: fixed !important;
    z-index: 2000 !important;
  }
  .page_inner {
    padding-top: 150px !important;
    padding-bottom: 80px !important;
  }
  @media (max-width: 991px) {
    .page_inner {
      padding-top: 110px !important;
    }
  }
  /* Global responsiveness adjustments */
  
  /* Ensure page content wraps nicely and never overflows horizontally */
  html, body {
    overflow-x: hidden !important;
    width: 100% !important;
    height: auto !important;
    min-height: 100% !important;
    -webkit-text-size-adjust: 100%;
  }
  .app-wrapper, .wrapper, .page {
    overflow-x: hidden !important;
    width: 100% !important;
  }
  
  /* Handle very long hotel names wrapping in header logo */
  .logo-header {
    max-width: 100% !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }
  .logo-header__main {
    white-space: normal !important;
    line-height: 1.2 !important;
    display: block !important;
  }
  
  /* Prevent horizontal grid overflows on small mobile devices (e.g. iPhone SE / 320px screens) */
  @media (max-width: 480px) {
    [style*="grid-template-columns"] {
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    }
    .numbers__row_wide {
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
      gap: 15px !important;
    }
    .photo-grid {
      grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)) !important;
      gap: 15px !important;
    }
    .hpw-grid {
      grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
    }
    .form-ordering__row {
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
      gap: 15px !important;
    }
    .add-review__form-section {
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
      gap: 15px !important;
    }
    .about__container-tags {
      grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
    }
  }

  /* Make paddings smaller on mobile screens so that elements don't get squished */
  @media (max-width: 576px) {
    .whiteblock-hero,
    .spa-content,
    .photo-category,
    .about__content,
    .content-ordering,
    .whiteblock-hero__filters,
    .whiteblock-hero__container,
    .description,
    .content-box,
    .policy-content,
    .dynamic-content,
    .errorpage__container,
    .add-review__container {
      padding: 15px !important;
    }
    
    .whiteblock-hero_overflowing {
      margin-left: 0 !important;
      margin-right: 0 !important;
    }
    
    /* Make section titles slightly smaller to fit better on mobile */
    .section-title {
      font-size: 24px !important;
    }
    
    /* Ensure flex form items stretch to full width on mobile */
    .leadform {
      flex-direction: column !important;
      gap: 10px !important;
    }
    
    .leadform__item {
      width: 100% !important;
      min-width: 100% !important;
      flex: 1 1 100% !important;
    }
    
    /* Ensure the search form widget has compact spacing on mobile */
    .filters-hero__content {
      gap: 10px !important;
      padding: 10px !important;
    }
  }

  /* Room details layout adaptation for mobile/tablet */
  @media (max-width: 991.98px) {
    .about__container .about__content {
      flex: 1 1 auto !important;
      width: 100% !important;
    }
    .about__container .about__img {
      flex: 1 1 auto !important;
      width: 100% !important;
      min-height: 250px !important;
    }
  }

  /* Fix for reviews ratings bar stretching on small screens */
  @media (max-width: 360px) {
    .percent-stats {
      padding: 0 !important;
    }
    .percent-stats li {
      margin-bottom: 10px !important;
    }
  }

  /* Mobile menu burger color fix on white or scrolled headers */
  .header._white .icon-menu:after,
  .header._white .icon-menu:before,
  .header._white .icon-menu span,
  .header._header-scroll .icon-menu:after,
  .header._header-scroll .icon-menu:before,
  .header._header-scroll .icon-menu span {
    background-color: #000 !important;
  }

  /* Mobile menu header scroll background color fix */
  .header._header-scroll {
    background-color: #fff !important;
    background: #fff !important;
  }

  /* Hide reviews slider pagination dots on mobile */
  @media (max-width: 767.98px) {
    .reviews__slider .splide__pagination {
      display: none !important;
    }
  }

  /* Display mobile menu correctly when moved to top-header by dynamic adapt */
  @media (max-width: 767.98px) {
    .top-header .bottom-header__menu {
      display: flex !important;
    }
  }

  /* Ensure the lead selection form widget is always visible and formatted correctly on mobile */
  @media (max-width: 991px) {
    .whiteblock-hero {
      display: block !important;
      opacity: 1 !important;
      visibility: visible !important;
      position: relative !important;
      margin-top: 20px !important;
      margin-bottom: 20px !important;
      z-index: 1000 !important;
      padding: 15px !important;
    }
    .search-widget-grid {
      grid-template-columns: 1fr !important;
      gap: 15px !important;
    }
    .whiteblock-hero__brands {
      display: none !important;
    }
  }

  /* Accessibility adjustments: touch target size and spacing on mobile */
  @media (max-width: 767px) {
    .left-footer__copyright a {
      padding: 10px 15px !important;
      margin: 5px 0 !important;
      display: inline-block !important;
      min-height: 48px !important;
      line-height: 28px !important;
    }
    
    .contacts__messenger {
      padding: 12px 18px !important;
      margin: 6px !important;
      display: inline-block !important;
      min-height: 48px !important;
    }
    
    .main-footer__mobile a {
      padding: 12px 15px !important;
      display: inline-block !important;
      min-height: 48px !important;
    }

    .main-footer__list li a, .main-footer__sublist li a {
      padding: 10px 0 !important;
      display: inline-block !important;
      min-height: 48px !important;
      width: 100% !important;
    }
  }

  /* Accessibility: color contrast improvements */
  .phone-header__online {
    background-color: #3d7008 !important; /* Darker green for 4.5+:1 contrast with white text */
  }

  .item-numbers__tag {
    color: #4b4f5d !important; /* Darker text for tags for 4.5+:1 contrast with light gray bg */
  }

  /* Remove opacity that lowers contrast on tag_more */
  .item-numbers__tag_more {
    opacity: 1 !important;
    font-weight: 600 !important;
  }

  .item-numbers__units {
    color: #606470 !important; /* Darker gray for 4.5+:1 contrast with white bg */
  }

  /* Darker orange for buttons to achieve 4.5+:1 contrast with white text */
  .btn-orange, 
  .item-numbers__button,
  .form-contacts__button,
  .subscribe-footer__button,
  .main-footer__broned {
    background-color: #d25400 !important;
    --bdcol: #d25400 !important;
    border-color: #d25400 !important;
  }
  
  .item-numbers__button:hover,
  .btn-orange:hover {
    background-color: #b54800 !important;
    border-color: #b54800 !important;
  }

  /* Search widget orange button contrast override */
  .search-widget-button {
    background: linear-gradient(135deg, #d25400 0%, #f77821 100%) !important;
  }
  .search-widget-button:hover {
    background: linear-gradient(135deg, #b54800 0%, #d25400 100%) !important;
  }

  /* Reviews and answers button overrides */
  .reviews__all,
  .answers__link {
    color: #d25400 !important;
    border-color: #d25400 !important;
  }
  .reviews__all:hover,
  .answers__link:hover {
    color: #fff !important;
    background-color: #d25400 !important;
  }

  /* Footer links contrast on dark bg */
  .footer a {
    color: #c9cbd0 !important;
  }
  .footer a:hover {
    color: #fff !important;
  }

  /* Responsive footer navigation layout */
  @media (max-width: 991.98px) {
    .main-footer__row_nav {
      display: grid !important;
      grid-template-columns: repeat(2, 1fr) !important;
      gap: 2rem !important;
      padding-top: 1.5rem !important;
      padding-bottom: 1.5rem !important;
    }
  }

  @media (max-width: 480px) {
    .main-footer__row_nav {
      grid-template-columns: 1fr !important;
      gap: 1.5rem !important;
      padding-top: 1rem !important;
      padding-bottom: 1rem !important;
    }
  }