.pwa-install-trigger {
    width: min(100%, 310px);
    min-height: 58px;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    align-items: center;
    gap: 11px;
    margin-top: 13px;
    padding: 9px 13px;
    border: 1px solid rgba(185, 220, 154, .19);
    border-radius: 17px;
    background: rgba(255, 255, 255, .075);
    color: #fff;
    text-align: left;
    cursor: pointer;
    font-family: var(--site-body-font, 'Manrope', system-ui, sans-serif);
    transition: transform .2s ease, background .2s ease, border-color .2s ease;
}

.pwa-install-trigger[hidden] { display: none !important; }
.pwa-install-trigger:hover { transform: translateY(-1px); background: rgba(255, 255, 255, .11); border-color: rgba(185, 220, 154, .34); }
.pwa-install-trigger img { width: 38px; height: 38px; object-fit: contain; border-radius: 11px; background: #f4f6ee; padding: 5px; }
.pwa-install-trigger span { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.pwa-install-trigger strong { color: #fff; font-size: 11px; line-height: 1.3; }
.pwa-install-trigger span small { color: rgba(255, 255, 255, .52) !important; font-size: 8.5px !important; line-height: 1.35 !important; }
.pwa-install-trigger b { color: #b9dc9a; font-size: 17px; font-weight: 500; }

.pwa-install-guide { position: fixed; inset: 0; z-index: 9000; display: grid; place-items: end center; }
.pwa-install-guide[hidden] { display: none !important; }
.pwa-install-guide-backdrop { position: absolute; inset: 0; background: rgba(12, 24, 16, .48); backdrop-filter: blur(7px); }
.pwa-install-sheet {
    position: relative;
    width: min(100% - 24px, 440px);
    margin: 12px;
    padding: 28px 25px max(24px, env(safe-area-inset-bottom));
    border: 1px solid rgba(49, 90, 64, .12);
    border-radius: 27px;
    background: rgba(250, 251, 247, .97);
    box-shadow: 0 24px 70px rgba(14, 35, 22, .22);
    color: #172219;
    font-family: var(--site-body-font, 'Manrope', system-ui, sans-serif);
    animation: pwa-sheet-in .24s ease both;
}
.pwa-install-close { position: absolute; top: 14px; right: 14px; width: 38px; height: 38px; border: 0; border-radius: 50%; background: #edf1e9; color: #315a40; font: 500 24px/1 system-ui; cursor: pointer; }
.pwa-install-mark { width: 55px; height: 55px; object-fit: contain; margin-bottom: 18px; padding: 7px; border-radius: 16px; background: #edf3e8; }
.pwa-install-sheet > span { display: block; margin-bottom: 9px; color: #315a40; font-size: 9px; font-weight: 800; letter-spacing: .18em; }
.pwa-install-sheet h2 { max-width: 340px; margin: 0; color: #172219; font-size: clamp(23px, 6vw, 31px); line-height: 1.08; letter-spacing: -.04em; }
.pwa-install-sheet p { margin: 16px 0 22px; color: #737c75; font-size: 13px; line-height: 1.65; }
.pwa-install-benefits { display: grid; gap: 9px; margin: -5px 0 22px; padding: 14px 15px; border: 1px solid rgba(49, 90, 64, .09); border-radius: 16px; background: #f1f4ed; }
.pwa-install-benefits span { display: flex; align-items: center; gap: 9px; color: #4c5c50; font-size: 11px; font-weight: 700; }
.pwa-install-benefits i { width: 20px; height: 20px; display: inline-grid; place-items: center; border-radius: 50%; background: #dcebcf; color: #315a40; font-style: normal; font-size: 10px; }
.pwa-install-ok { width: 100%; min-height: 50px; border: 0; border-radius: 15px; background: #315a40; color: #fff; font: 800 12px var(--site-body-font, 'Manrope', system-ui, sans-serif); cursor: pointer; }
.pwa-install-later { width: 100%; min-height: 40px; margin-top: 7px; border: 0; background: transparent; color: #7b847d; font: 700 10px var(--site-body-font, 'Manrope', system-ui, sans-serif); cursor: pointer; }
body.pwa-guide-open { overflow: hidden; }

@keyframes pwa-sheet-in { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .pwa-install-sheet { animation: none; } }
