/* MARIPOSA V58B – biztonságos responsive finomhangolás
   Fontos: NEM nyúl a szobák slider / swiper / slide elemeihez. */

:root { --hero-focus: 68% center; }
body.hero-focus-left { --hero-focus: 30% center; }
body.hero-focus-center { --hero-focus: 50% center; }
body.hero-focus-right { --hero-focus: 68% center; }

html, body { overflow-x: hidden !important; max-width: 100vw !important; }
img { max-width: 100%; }

/* Csak a főoldali hero / nagy kép fókuszpontja. Nincs .slider/.slide/.swiper szabály. */
.hero img,
.main-hero img,
.hero-image,
.main-hero-image,
img.hero-image,
.hero-bg {
  object-position: var(--hero-focus) !important;
  background-position: var(--hero-focus) !important;
}

@media (max-width: 768px) {
  .hero,
  .main-hero {
    max-width: 100vw !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }
  .hero img,
  .main-hero img,
  .hero-image,
  .main-hero-image,
  img.hero-image {
    object-fit: cover !important;
    object-position: var(--hero-focus) !important;
  }
}

/* Mobil fejléc finomhangolás */
@media (max-width: 920px) {
  .header, header.header, .topbar, .navbar, .site-header {
    min-height: auto !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }
  .logo, .site-logo { max-width: 44vw !important; text-align: center !important; }
  .logo img, .site-logo img { max-width: 150px !important; height: auto !important; }
  .lang, .language-switcher, .language-selector {
    max-width: 52vw !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 6px !important;
  }
  .lang-toggle { width: 40px !important; height: 40px !important; min-width: 40px !important; }
  .split-flag { width: 30px !important; height: 30px !important; }
  .header-booking-btn, .booking-btn, .book-btn, a[href*="sabeeapp"], a[href*="ibe.sabeeapp"] {
    padding: 8px 10px !important;
    font-size: 11px !important;
    max-width: 135px !important;
    white-space: nowrap !important;
  }
}

@media (min-width: 390px) and (max-width: 520px) {
  .logo img, .site-logo img { max-width: 165px !important; }
  .header-booking-btn, .booking-btn, .book-btn { font-size: 12px !important; padding: 8px 11px !important; }
}

@media (max-width: 380px) {
  .logo img, .site-logo img { max-width: 132px !important; }
  .header-booking-btn, .booking-btn, .book-btn { max-width: 112px !important; font-size: 10px !important; padding: 7px 8px !important; }
  .lang-toggle { width: 38px !important; height: 38px !important; min-width: 38px !important; }
}