.pwa-update[hidden], #pwa-install-button[hidden] { display:none!important; }
.pwa-update { position:fixed; z-index:90; bottom:calc(88px + env(safe-area-inset-bottom,0px)); right:max(12px,env(safe-area-inset-right,0px)); width:calc(100% - 24px); max-width:440px; box-sizing:border-box; padding:16px; border:1px solid #d4a768; border-radius:12px; background:#fff; color:#142521; box-shadow:0 8px 28px #14252130; font:14px/1.5 ui-sans-serif,system-ui,sans-serif; overflow-wrap:anywhere; }
.pwa-update p { margin:0 0 12px; }
.pwa-update-actions { display:flex; flex-wrap:wrap; gap:8px; }
.pwa-update button,.pwa-primary { display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box; min-height:44px; padding:10px 14px; border:1px solid #376217; border-radius:9px; background:#376217; color:#fff; font:inherit; font-weight:650; text-decoration:none; cursor:pointer; }
.pwa-update #pwa-update-dismiss { border-color:#ccd8ca; color:#142521; background:white; }
.pwa-update :is(button,a):focus-visible,.pwa-install-page :is(a,button):focus-visible { outline:3px solid #b6833e; outline-offset:3px; }
.pwa-install-page { box-sizing:border-box; margin:0; min-height:100vh; min-height:100dvh; padding:calc(24px + env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) calc(32px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px)); background:#0e1b18; color:#142521; font:16px/1.6 ui-sans-serif,system-ui,sans-serif; }
.pwa-install-content { width:100%; max-width:680px; margin:0 auto; }
.pwa-brand { display:flex; justify-content:center; padding:12px; margin-bottom:16px; }
.pwa-brand img { max-width:100%; height:auto; object-fit:contain; }
.pwa-install-card { padding:clamp(18px,4vw,32px); border:1px solid #dce5dc; border-radius:16px; background:#fff; overflow-wrap:anywhere; }
.pwa-install-card h1 { margin:0 0 16px; font-size:clamp(24px,5vw,32px); line-height:1.2; }
.pwa-install-card h2 { margin:0 0 12px; font-size:18px; line-height:1.4; }
.pwa-install-card p { margin:0 0 16px; }
.pwa-install-card .pwa-eyebrow { color:#607063; font-size:12px; font-weight:650; }
.pwa-install-card section { border-top:1px solid #dce5dc; padding-top:22px; margin:22px 0; }
.pwa-install-card ol { padding-left:22px; }
.pwa-install-card li + li { margin-top:8px; }
.pwa-install-card button:disabled { opacity:.65; cursor:wait; }
@media(min-width:1024px) { .pwa-update { bottom:24px; } }
