/* Platform entry experience: iOS App Clip invitation + Android PWA. */
.instant-app-overlay {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: none;
    align-items: flex-end;
    justify-content: center;
    padding: 20px;
    background: rgba(0, 0, 0, .64);
    backdrop-filter: blur(4px);
}

.instant-app-overlay.show { display: flex; }

.instant-app-card {
    width: min(100%, 520px);
    padding: 34px 24px 24px;
    border-radius: 30px;
    background: #fbf8f4;
    color: #191919;
    text-align: center;
    box-shadow: 0 24px 80px rgba(0, 0, 0, .32);
}

.instant-app-logo {
    width: 78px;
    height: 78px;
    margin: 0 auto 18px;
    border-radius: 20px;
    object-fit: cover;
}

.instant-app-card h2 {
    margin: 0 0 22px;
    font-size: clamp(28px, 8vw, 38px);
    font-weight: 900;
}

.instant-app-card p {
    margin: 0 auto 28px;
    max-width: 390px;
    font-size: 18px;
    font-weight: 750;
    line-height: 1.45;
}

.instant-app-actions { display: grid; gap: 12px; }

.instant-app-primary,
.instant-app-secondary {
    width: 100%;
    min-height: 64px;
    border: 0;
    border-radius: 999px;
    font: inherit;
    font-size: 18px;
    font-weight: 850;
    cursor: pointer;
}

.instant-app-primary {
    display: grid;
    place-items: center;
    background: #5c2f1c;
    color: #fff;
    text-decoration: none;
    box-shadow: 0 8px 20px rgba(92, 47, 28, .25);
}

.instant-app-secondary {
    background: #fff;
    color: #111;
}

@media (min-width: 700px) {
    .instant-app-overlay { align-items: center; }
}

@media (prefers-reduced-motion: no-preference) {
    .instant-app-card { animation: instant-app-enter .24s ease-out; }
    @keyframes instant-app-enter {
        from { opacity: 0; transform: translateY(24px) scale(.98); }
        to { opacity: 1; transform: translateY(0) scale(1); }
    }
}
