/**
 * App promo modal (Hotels by Theme → App Store).
 */

.app-promo{
  position:fixed !important;
  top:0 !important;right:0 !important;bottom:0 !important;left:0 !important;
  width:100% !important;height:100% !important;
  z-index:10000 !important;
  display:flex !important;
  align-items:center;
  justify-content:center;
  padding:24px 16px;
  box-sizing:border-box;
  margin:0 !important;
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .25s ease,visibility .25s ease;
}
.app-promo.is-open{opacity:1;visibility:visible;pointer-events:auto}
.app-promo__backdrop{
  position:absolute;
  top:0;right:0;bottom:0;left:0;
  background:rgba(0,0,0,.55);
}
.app-promo__sheet{
  position:relative;
  z-index:1;
  width:100%;max-width:480px;max-height:90vh;
  background:#fff;
  box-shadow:0 24px 64px rgba(0,0,0,.22);
  display:flex;flex-direction:column;
  margin:0 auto;
}
.app-promo__close{
  position:absolute;top:10px;right:12px;z-index:2;
  width:44px;height:44px;font-size:28px;line-height:1;color:#888;
  background:none;border:none;cursor:pointer;
}
.app-promo__close:hover{color:#222}
.app-promo__body{
  text-align:center;
  padding:36px 24px;
}
.app-promo__title{
  font-family:var(--font-title),Oswald,sans-serif;
  font-size:20px;font-weight:600;
  letter-spacing:.2px;line-height:1.25;
  margin:0 0 10px;color:#222;
}
.app-promo__sub{
  font-size:14px;color:#666c78;margin:0 0 22px;line-height:1.45;
}
.app-promo__badge{
  display:inline-block;line-height:0;
}
.app-promo__badge img{
  width:160px;height:auto;display:block;
}

@media(max-width:768px){
  .app-promo{
    align-items:flex-end;
    padding:0;
  }
  .app-promo__sheet{
    width:100%;max-width:none;max-height:92vh;max-height:92dvh;
    border-radius:16px 16px 0 0;
    transform:translateY(100%);
    transition:transform .28s ease;
  }
  .app-promo.is-open .app-promo__sheet{transform:translateY(0)}
  .app-promo__body{padding:28px 18px calc(28px + env(safe-area-inset-bottom,0px))}
}

@media print{
  .app-promo{display:none !important}
}
