/* A normal-flow smart banner: it scrolls away and never covers navigation or booking actions.
   The head script decides eligibility before the first paint, so it reserves no empty space. */
.guest-app-promotion {display: none}
html[data-guest-app-promotion="visible"] .guest-app-promotion {display: block; background: var(--tint); border-bottom: 1px solid var(--border); color: var(--ink)}
.guest-app-promotion__inner {display: grid; grid-template-columns: 44px minmax(0, 1fr) auto 44px; align-items: center; gap: 12px; padding-block: 10px}
.guest-app-promotion__icon {display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: var(--surface)}
.guest-app-promotion__icon img {display: block; width: 28px; height: 28px}
:root[data-home-theme="dark"] .guest-app-promotion__icon img {filter: brightness(1.9) saturate(.7)}
.guest-app-promotion__copy {min-width: 0; line-height: 1.65}
.guest-app-promotion__copy strong {display: block; font-size: .875rem; font-weight: 700}
.guest-app-promotion__copy > span {display: block; font-size: .75rem; color: var(--muted)}
.guest-app-promotion__install {display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 72px; padding: 8px 18px; border-radius: 999px; background: var(--home-action, #8e174f); color: var(--home-on-action, #fdfcfd); font-size: .875rem; font-weight: 600; white-space: nowrap; touch-action: manipulation}
.guest-app-promotion__install:hover {background: var(--home-action-hover, #6e103c)}
.guest-app-promotion__close {display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--muted); font: 26px/1 Arial, sans-serif; cursor: pointer; touch-action: manipulation}
.guest-app-promotion__close:hover {background: var(--surface); color: var(--ink)}
.guest-app-promotion :is(a, button):focus-visible {outline: 2px solid var(--brand); outline-offset: 3px}
@media (max-width: 359px) {
    .guest-app-promotion__inner {grid-template-columns: 36px minmax(0, 1fr) auto 44px; gap: 6px}
    .guest-app-promotion__icon {width: 36px; height: 36px; border-radius: 10px}
    .guest-app-promotion__icon img {width: 24px; height: 24px}
    .guest-app-promotion__install {min-width: 60px; padding-inline: 12px}
}
