.site-announcement {
    --site-announcement-background: var(--bs-primary-base);
    --site-announcement-auto-color: var(--bs-primary-contrast);
    --site-announcement-color: var(--site-announcement-auto-color);
    position: relative;
    z-index: 1041;
    color: var(--site-announcement-color);
    background: var(--site-announcement-background);
}

.site-announcement__surface {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    padding: 0.65rem 3.5rem;
    background: transparent;
    text-align: center;
}

.site-announcement__content {
    max-width: min(72rem, calc(100vw - 8rem));
    font-weight: 600;
    line-height: 1.5;
}

.site-announcement__content > :last-child {
    margin-bottom: 0;
}

.site-announcement__content a {
    color: inherit;
    font-weight: 750;
    text-decoration-line: underline;
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.16em;
}

.site-announcement__dismiss {
    position: absolute;
    inset-inline-end: 0.65rem;
    top: 50%;
    display: inline-grid;
    width: 2.75rem;
    height: 2.75rem;
    padding: 0;
    border: 0;
    border-radius: 0;
    color: inherit;
    background: transparent;
    place-items: center;
    transform: translateY(-50%);
}

.site-announcement__dismiss:hover {
    color: inherit;
    background: transparent;
    opacity: 0.72;
}

.site-announcement__dismiss:focus-visible {
    color: inherit;
    outline: 2px solid currentColor;
    outline-offset: -0.35rem;
    background: transparent;
}

.site-announcement--background-primary {
    --site-announcement-background: var(--bs-primary-base);
    --site-announcement-auto-color: var(--bs-primary-contrast);
}

.site-announcement--background-secondary {
    --site-announcement-background: var(--bs-secondary-base);
    --site-announcement-auto-color: var(--bs-secondary-contrast);
}

.site-announcement--background-orange {
    --site-announcement-background: #d9480f;
    --site-announcement-auto-color: #ffffff;
}

.site-announcement--background-red {
    --site-announcement-background: #c92a2a;
    --site-announcement-auto-color: #ffffff;
}

.site-announcement--background-dark {
    --site-announcement-background: #111827;
    --site-announcement-auto-color: #ffffff;
}

.site-announcement--background-sunset {
    --site-announcement-background: linear-gradient(
        110deg,
        #f97316 0%,
        #db2777 100%
    );
    --site-announcement-auto-color: #ffffff;
}

.site-announcement--background-ocean {
    --site-announcement-background: linear-gradient(
        110deg,
        #075985 0%,
        #0f766e 100%
    );
    --site-announcement-auto-color: #ffffff;
}

.site-announcement--background-custom {
    --site-announcement-background: var(--site-announcement-custom-background);
    --site-announcement-auto-color: #ffffff;
}

.site-announcement--tone-auto {
    --site-announcement-color: var(--site-announcement-auto-color);
}

.site-announcement--tone-light {
    --site-announcement-color: #ffffff;
}

.site-announcement--tone-dark {
    --site-announcement-color: #111827;
}

@media (max-width: 36rem) {
    .site-announcement__surface {
        min-height: 2.75rem;
        padding: 0.55rem 3rem 0.55rem 1rem;
    }

    .site-announcement__content {
        max-width: none;
    }

    .site-announcement__dismiss {
        inset-inline-end: 0.5rem;
    }
}
