/* Managed banner shared by the storefront and the public blog. */
.site-announcement {
    width: 100%;
    background: #6f1d1b;
    color: #fff;
    overflow: hidden;
}
.site-announcement__link,
.site-announcement__picture {
    display: block;
    width: 100%;
}
.site-announcement__picture img {
    display: block;
    width: 100%;
    height: auto;
}
.site-announcement__fallback {
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .75rem;
    padding-block: .45rem;
    text-align: center;
}
.site-announcement__fallback p { margin: 0; font-size: .95rem; font-weight: 700; }
.site-announcement__fallback a { color: #fff; font-weight: 800; white-space: nowrap; text-underline-offset: 3px; }

/* Managed popup shared by the storefront and the public blog. */
.site-announcement-modal .modal-content { border: 0; border-radius: 22px; overflow: hidden; box-shadow: 0 24px 70px rgba(0,0,0,.28); }
.site-announcement-modal__close { position: absolute; top: .8rem; left: .8rem; z-index: 2; padding: .7rem; background-color: rgba(255,255,255,.94); border-radius: 50%; }
.site-announcement-modal__image { width: 100%; height: auto; max-height: 420px; object-fit: cover; }
.site-announcement-modal .modal-body { padding: 1.5rem; text-align: center; }
.site-announcement-modal h2 { margin: 0 0 .75rem; font-size: 1.4rem; font-weight: 800; }
.site-announcement-modal__text { color: #555; line-height: 1.9; }
.site-announcement-modal__action { display: inline-flex; margin-top: 1rem; padding: .7rem 1.5rem; border-radius: 12px; background: #c59f4d; color: #fff; text-decoration: none; font-weight: 800; }

@media (max-width: 576px) {
    .site-announcement__fallback { gap: .5rem; }
    .site-announcement__fallback p { font-size: .86rem; }
    .site-announcement-modal .modal-body { padding: 1.2rem; }
    .site-announcement-modal h2 { font-size: 1.2rem; }
}
