.pwa-install { margin-top: 1.25rem; max-width: 36rem; font-size: 1.125rem; line-height: 1.6; }
.pwa-install[hidden], .pwa-install [hidden] { display: none !important; }
.pwa-install summary { cursor: pointer; text-decoration: underline; text-underline-offset: .25em; padding: 12px 0; min-height: 48px; font-weight: 700; }
.pwa-install summary:focus-visible, .pwa-install button:focus-visible { outline: 3px solid currentColor; outline-offset: 4px; }
.pwa-install__help p { margin: 12px 0; font-size: inherit; line-height: inherit; }
.pwa-install__help h3 { font: 700 1.25rem/1.4 'DM Sans', sans-serif; text-transform: none; letter-spacing: normal; margin: 24px 0 12px; }
.pwa-install button { font: inherit; font-weight: 700; background: #fffaf0; color: #922218; padding: 14px 12px; min-height: 52px; border: 2px solid currentColor; border-radius: 10px; cursor: pointer; }
.pwa-device-picker [role=group] { display: grid; gap: 12px; }
.pwa-install button[aria-pressed=true], .pwa-install button.pwa-install__native { background: #922218; color: #fffaf0; border-color: #922218; }
.pwa-steps { list-style: none; margin: 16px 0 24px; padding: 0; }
.pwa-steps li { display: grid; grid-template-columns: 32px minmax(0,1fr); gap: 12px; margin: 22px 0; }
.pwa-steps strong { display: block; }
.pwa-step-number { display: grid; place-items: center; align-self: start; width: 32px; height: 32px; font-weight: 700; background: #f4f487; color: #22251d; border-radius: 50%; }
.pwa-share-icon { display: block; margin: 12px 0; }
.pwa-extra-help { border-top: 1px solid currentColor; padding-top: 8px; }
.pwa-address { overflow-wrap: anywhere; font-weight: 700; user-select: all; }
.pwa-promotion[hidden], [data-pwa-action][hidden], [data-pwa-installed][hidden] { display: none !important; }
.pwa-promotion { position: fixed; z-index: 45; right: 12px; bottom: calc(92px + env(safe-area-inset-bottom)); width: min(380px, calc(100vw - 24px)); max-height: calc(100dvh - 220px); overflow-y: auto; display: grid; grid-template-columns: 44px minmax(0,1fr) 44px; gap: 10px; padding: 14px; box-sizing: border-box; background: #fffaf0; color: #22251d; border: 1px solid #22251d; border-radius: 16px; box-shadow: 0 5px 24px #0002; font: 16px/1.5 'DM Sans', sans-serif; }
.pwa-promotion img { border-radius: 10px; }
.pwa-promotion strong { font-size: 18px; }
.pwa-promotion p { margin: 6px 0; }
.pwa-promotion a { color: #922218; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; display: inline-block; padding: 10px 0; min-height: 44px; }
.pwa-promotion__close { padding: 0; width: 44px; height: 44px; border: 0; background: transparent; color: #22251d; font: 28px/1 sans-serif; cursor: pointer; }
.pwa-promotion :focus-visible { outline: 3px solid #922218; outline-offset: 3px; }
@media (max-width: 360px) { .pwa-promotion { grid-template-columns: minmax(0,1fr) 44px; } .pwa-promotion > img { display: none; } }
@media (min-width: 768px), (display-mode: standalone) { .pwa-promotion { display: none; } }
@media (display-mode: standalone) { .pwa-install { display: none; } }
.pwa-install { overflow-wrap: anywhere; }
