[data-pwa-install-item][hidden],
[data-pwa-update][hidden] {
    display: none !important;
}

.pwa-install-button {
    width: 100%;
    border: 0;
    background: transparent;
    text-align: left;
}

.pwa-install-help {
    width: min(30rem, calc(100vw - 2rem));
    padding: 0;
    color: #f8f1ed;
    background: #2b211d;
    border: 1px solid #8b6b28;
    border-radius: 1.25rem;
    box-shadow: 0 1rem 4rem rgb(0 0 0 / 45%);
}

.pwa-install-help::backdrop {
    background: rgb(0 0 0 / 68%);
    backdrop-filter: blur(2px);
}

.pwa-install-help__content {
    padding: 1.4rem;
}

.pwa-install-help h2 {
    margin: 0 0 .75rem;
    color: #d2a25f;
    font-family: Georgia, serif;
}

.pwa-install-help ol {
    margin: 0 0 1.2rem;
    padding-left: 1.3rem;
    line-height: 1.6;
}

.pwa-install-help button {
    min-height: 2.75rem;
    padding: .6rem 1rem;
    border: 1px solid #d4aa2d;
    border-radius: 999px;
    color: #211914;
    background: #d4aa2d;
    font-weight: 700;
}

.pwa-update-banner {
    position: fixed;
    z-index: 1090;
    right: max(1rem, env(safe-area-inset-right));
    bottom: max(1rem, env(safe-area-inset-bottom));
    left: auto;
    display: flex;
    align-items: center;
    gap: .75rem;
    max-width: min(32rem, calc(100vw - 2rem));
    padding: .85rem 1rem;
    color: #f8f1ed;
    background: #2b211d;
    border: 1px solid #8b6b28;
    border-radius: 1rem;
    box-shadow: 0 .75rem 2.5rem rgb(0 0 0 / 35%);
}

.pwa-update-banner__message {
    flex: 1;
    line-height: 1.35;
}

.pwa-update-banner__apply {
    min-height: 2.5rem;
    padding: .55rem .9rem;
    border: 1px solid #d4aa2d;
    border-radius: 999px;
    color: #211914;
    background: #d4aa2d;
    font-weight: 700;
}

.pwa-update-banner__dismiss {
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    border: 0;
    color: #f8f1ed;
    background: transparent;
    font-size: 1.5rem;
    line-height: 1;
}

@media (max-width: 767.98px) {
    .pwa-update-banner {
        right: .75rem;
        bottom: calc(5.75rem + env(safe-area-inset-bottom));
        left: .75rem;
        max-width: none;
    }
}

@media (display-mode: standalone) {
    html,
    body {
        overscroll-behavior-y: none;
    }

    [data-pwa-install-item] {
        display: none !important;
    }

    .wk-navbar {
        padding-top: max(var(--bs-navbar-padding-y), env(safe-area-inset-top));
    }
}
