.cse-announcement-stack {
    display: grid;
    gap: .9rem;
    margin: 0 0 1.25rem;
}
.cse-announcement {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
    gap: 1rem;
    align-items: start;
    padding: 1rem 1.1rem;
    border: 1px solid color-mix(in srgb, #f5b942 52%, var(--bs-border-color, #d7dde8));
    border-left: .38rem solid #f5b942;
    border-radius: .9rem;
    background: color-mix(in srgb, #f5b942 12%, var(--bs-body-bg, #fff));
    box-shadow: 0 .5rem 1.4rem rgba(0,0,0,.10);
}
.cse-announcement-icon {
    display: inline-grid;
    place-items: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 999px;
    background: #f5b942;
    color: #201700;
    font-size: 1.05rem;
}
.cse-announcement-kicker {
    margin-bottom: .1rem;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--bs-secondary-color, #5d6672);
}
.cse-announcement-title {
    margin: 0 0 .35rem;
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--bs-emphasis-color, var(--bs-body-color));
}
.cse-announcement-message {
    margin: 0;
    color: var(--bs-body-color);
    line-height: 1.5;
}
.cse-announcement-expiry {
    margin-top: .45rem;
    font-size: .8rem;
    color: var(--bs-secondary-color, #5d6672);
}
.cse-announcement-close-form { margin: 0; }
.cse-announcement-close {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .42rem .62rem;
    border: 1px solid color-mix(in srgb, var(--bs-body-color) 22%, transparent);
    border-radius: .55rem;
    background: color-mix(in srgb, var(--bs-body-bg) 82%, transparent);
    color: var(--bs-body-color);
    font: inherit;
    font-size: .82rem;
    font-weight: 700;
    cursor: pointer;
}
.cse-announcement-close:hover,
.cse-announcement-close:focus-visible {
    background: color-mix(in srgb, #f5b942 22%, var(--bs-body-bg));
    border-color: #f5b942;
}
@media (max-width: 640px) {
    .cse-announcement { grid-template-columns: auto 1fr; }
    .cse-announcement-close-form { grid-column: 1 / -1; }
    .cse-announcement-close { width: 100%; justify-content: center; }
}
