.pwa-offer {
    position: fixed;
    z-index: 120;
    right: 1rem;
    bottom: 1rem;
    width: min(24rem, calc(100vw - 2rem));
    display: grid;
    grid-template-columns: 2.75rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem;
    border: 1px solid var(--t-border, rgba(255,255,255,.15));
    border-radius: 0.6rem;
    background: var(--t-dropdown, #15171b);
    color: var(--t-text, #f5f5f1);
    box-shadow: 0 18px 55px rgba(0,0,0,.38);
    transform: translateY(calc(100% + 2rem));
    opacity: 0;
    transition: transform 220ms cubic-bezier(.2,.8,.2,1), opacity 180ms ease;
}
.pwa-offer.is-visible { transform: translateY(0); opacity: 1; }
.pwa-offer__icon {
    width: 2.75rem;
    height: 2.75rem;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 0.45rem;
    background: #f5f5f1;
}
.pwa-offer__icon img { width: 100%; height: 100%; object-fit: cover; }
.pwa-offer__copy strong { display: block; font-size: 0.78rem; }
.pwa-offer__copy span { display: block; margin-top: 0.18rem; color: var(--t-text-muted, #959aa0); font-size: 0.66rem; line-height: 1.35; }
.pwa-offer__actions { display: flex; align-items: center; gap: 0.25rem; }
.pwa-offer button {
    min-height: 2rem;
    padding: 0 0.65rem;
    border: 0;
    border-radius: 0.4rem;
    background: var(--t-accent, #f5f5f1);
    color: var(--t-accent-text, #111);
    font-size: 0.68rem;
    font-weight: 700;
    cursor: pointer;
}
.pwa-offer button[data-pwa-dismiss] {
    width: 2rem;
    padding: 0;
    background: transparent;
    color: var(--t-text-muted, #959aa0);
}
.pwa-ios-dialog {
    position: fixed;
    z-index: 125;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 1rem;
    background: rgba(0,0,0,.62);
}
.pwa-ios-dialog__body {
    width: min(26rem, 100%);
    padding: 1rem;
    border: 1px solid var(--t-border, rgba(255,255,255,.15));
    border-radius: 0.6rem;
    background: var(--t-dropdown, #15171b);
    color: var(--t-text, #f5f5f1);
}
.pwa-ios-dialog h3 { margin: 0; font-size: 1rem; }
.pwa-ios-dialog ol { margin: 0.8rem 0 1rem; padding-left: 1.25rem; color: var(--t-text-muted, #a3a7ac); font-size: 0.76rem; line-height: 1.6; }
.pwa-ios-dialog button { width: 100%; min-height: 2.5rem; border: 0; border-radius: 0.4rem; font-weight: 700; cursor: pointer; }
@media (max-width: 620px) {
    .pwa-offer { left: 0.55rem; right: 0.55rem; bottom: max(0.55rem, env(safe-area-inset-bottom)); width: auto; }
    .pwa-offer__copy span { max-width: 12rem; }
}
