.pwa-notice {
    margin: 12px auto;
    padding: 12px 16px;
    max-width: 1124px;
    background: #ebf4fe;
    border: 1px solid #d6e3f0;
    border-radius: 12px;
    color: #204060;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 12px;
}
.pwa-notice p { flex: 1 1 240px; margin: 0; }
.pwa-notice button, .public-page .pwa-install {
    font: inherit;
    margin: 0;
    padding: 8px 12px;
    border-radius: 8px;
    border: 1px solid #0d78c9;
    background: #fff;
    color: #005fa2;
    cursor: pointer;
}
.pwa-notice button:focus-visible, .pwa-install:focus-visible { outline: 3px solid #0d78c9; outline-offset: 3px; }
.pwa-notice [hidden], .public-page .pwa-install[hidden] { display: none !important; }
.pwa-offline-page { padding-bottom: 32px; }
#pwa-saved-cities { padding-left: 24px; }
#pwa-saved-cities li { margin-bottom: 14px; }
#pwa-saved-cities small { display: block; color: #596575; }
body[data-offline-snapshot] .city-results-sidebar,
body[data-offline-snapshot] .city-map,
body[data-offline-snapshot] .city-view-buttons { display: none !important; }
body[data-offline-snapshot] .city-results-layout { display: block !important; }
body[data-offline-snapshot] .city-results-list { display: block !important; }
body[data-offline-snapshot] .city-place-contacts a::after { content: attr(aria-label); }
@media (min-width: 768px) {
    #pwa-install-notice { display: none; }
}
@media (max-width: 767px) {
    .pwa-notice { margin: 12px 16px; }
}
