:root{--pwa-nav-height:68px}
.pwa-bottom-nav{display:none}
.pwa-install-button{border:1px solid #e97817;background:#fff;color:#c95f0d;border-radius:10px;padding:10px 13px;font:800 13px/1 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer;white-space:nowrap}
.pwa-install-button:hover{background:#fff7ef}.pwa-mobile-install{width:100%;margin-top:12px;border:0;border-radius:12px;background:#e97817;color:#fff;padding:13px 16px;font-weight:850}
.pwa-ios-tip{position:fixed;left:14px;right:14px;bottom:82px;z-index:10050;background:#fff;border:1px solid #e4e8eb;border-radius:15px;box-shadow:0 18px 50px rgba(8,22,35,.22);padding:14px 42px 14px 15px}.pwa-ios-tip strong,.pwa-ios-tip span{display:block}.pwa-ios-tip strong{margin-bottom:4px}.pwa-ios-tip span{font-size:13px;color:#66717b;line-height:1.4}.pwa-ios-tip button{position:absolute;right:10px;top:9px;border:0;background:#f0f2f4;border-radius:50%;width:28px;height:28px;font-size:19px;cursor:pointer}
@media(max-width:760px){
  body{padding-bottom:calc(var(--pwa-nav-height) + env(safe-area-inset-bottom))}
  .pwa-install-button{display:none!important}
  .pwa-bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));left:0;right:0;bottom:0;z-index:9990;min-height:calc(var(--pwa-nav-height) + env(safe-area-inset-bottom));padding:5px 4px env(safe-area-inset-bottom);background:rgba(255,255,255,.97);border-top:1px solid #e4e8eb;box-shadow:0 -8px 28px rgba(15,31,46,.08);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
  .pwa-bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;color:#56616b;text-decoration:none;border-radius:12px;font:700 10px/1 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
  .pwa-bottom-nav a[aria-current="page"]{color:#e97817;background:#fff7ef}
  .pwa-bottom-nav a span{font-size:22px;line-height:1}.pwa-bottom-nav a b{font:inherit;white-space:nowrap}
  .v7-mobile-menu{padding-bottom:calc(20px + env(safe-area-inset-bottom))}
  .weather-float{bottom:calc(var(--pwa-nav-height) + env(safe-area-inset-bottom) + 14px)!important}.translate-float{bottom:calc(var(--pwa-nav-height) + env(safe-area-inset-bottom) + 14px)!important}
  .pwa-ios-tip{left:12px!important;right:12px!important;bottom:158px!important;z-index:12050!important;max-height:calc(100vh - 190px);overflow:auto}
}
@media(display-mode:standalone){.pwa-ios-tip{display:none!important}}

/* V2.0.3: keep homepage weather fully clear of the mobile app navigation */
@media(max-width:760px){
  .pwa-bottom-nav{box-sizing:border-box!important;height:calc(78px + env(safe-area-inset-bottom))!important;min-height:0!important}
  .weather-float{bottom:calc(98px + env(safe-area-inset-bottom))!important;z-index:10020!important}
  .weather-float .weather-panel{bottom:calc(190px + env(safe-area-inset-bottom))!important;z-index:10030!important}
  .translate-float{bottom:calc(98px + env(safe-area-inset-bottom))!important}
}

/* V2.0.4: small extra lift so weather does not cover the Account tab */
@media(max-width:760px){
  .weather-float{bottom:calc(114px + env(safe-area-inset-bottom))!important}
  .weather-float .weather-panel{bottom:calc(206px + env(safe-area-inset-bottom))!important}
}

/* V2.0.5: stronger selector overrides the homepage's later bottom:76px!important rule */
@media(max-width:760px){
  html body .weather-float{bottom:calc(132px + env(safe-area-inset-bottom))!important}
  html body .weather-float .weather-panel{bottom:calc(224px + env(safe-area-inset-bottom))!important}
}

/* V2.0.7: stack listing contact actions above the PWA navigation */
@media(max-width:900px){
  html body .mobile-actions{
    bottom:calc(78px + env(safe-area-inset-bottom))!important;
    z-index:9988!important;
    box-sizing:border-box!important;
  }
  html body .hotel-shell{
    padding-bottom:calc(178px + env(safe-area-inset-bottom))!important;
  }
}

/* V2.0.9: on listing detail pages, keep language control above contact actions and PWA nav */
@media(max-width:900px){
  html body:has(.mobile-actions) .translate-float{
    bottom:calc(164px + env(safe-area-inset-bottom))!important;
    z-index:10025!important;
  }
}
