.bo-standard-footer {
    position: relative;
    padding: 1rem 0;
    color: var(--bo-footer-text, #f8fafc);
}

.bo-standard-footer__shell {
    overflow: hidden;
    border: 1px solid var(--bo-footer-border, rgba(255, 255, 255, .08));
    border-radius: 1.75rem;
    background:
        radial-gradient(circle at top left, color-mix(in srgb, var(--bo-footer-accent, #f4b860) 12%, transparent), transparent 28%),
        linear-gradient(180deg, rgba(255, 255, 255, .06), transparent 18%),
        var(--bo-footer-bg, #08111f);
    box-shadow: 0 1.75rem 5rem rgba(2, 6, 23, .28);
}

.bo-standard-footer__container {
    padding: 2rem 1.1rem 1.1rem;
}

.bo-standard-footer__panel {
    height: 100%;
    padding: 1.5rem;
    border: 1px solid var(--bo-footer-border, rgba(255, 255, 255, .08));
    border-radius: 1.4rem;
    background: var(--bo-footer-panel, rgba(255, 255, 255, .05));
    backdrop-filter: blur(.75rem);
}

.bo-standard-footer__panel--brand {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.bo-standard-footer__brand {
    display: inline-flex;
    align-items: center;
    max-width: max-content;
}

.bo-standard-footer__brand img {
    width: auto;
    max-height: 3.875rem;
    object-fit: contain;
}

.bo-standard-footer__heading,
.bo-standard-footer__contact-label {
    color: var(--bo-footer-text, #f8fafc);
    font-weight: 600;
}

.bo-standard-footer__heading {
    margin: 0 0 1rem;
    font-size: 1.08rem;
}

.bo-standard-footer__intro {
    max-width: 34rem;
    margin: 0;
    color: var(--bo-footer-muted, rgba(248, 250, 252, .7));
    line-height: 1.65;
}

.bo-standard-footer__contact-list,
.bo-standard-footer__links,
.bo-standard-footer__hours {
    display: grid;
}

.bo-standard-footer__contact-list {
    gap: .85rem;
}

.bo-standard-footer__contact-item {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    padding: .95rem 1rem;
    border: 1px solid var(--bo-footer-border, rgba(255, 255, 255, .08));
    border-radius: 1rem;
    color: var(--bo-footer-text, #f8fafc);
    background: color-mix(in srgb, var(--bo-footer-text, #f8fafc) 3%, transparent);
    text-decoration: none;
    transition: border-color .2s ease, background-color .2s ease, color .2s ease, transform .2s ease;
}

.bo-standard-footer__contact-item:hover,
.bo-standard-footer__contact-item:focus-visible {
    border-color: color-mix(in srgb, var(--bo-footer-accent, #f4b860) 38%, transparent);
    color: var(--bo-footer-hover, var(--bo-footer-text, #f8fafc));
    background: color-mix(in srgb, var(--bo-footer-text, #f8fafc) 7%, transparent);
    transform: translateY(-.125rem);
}

.bo-standard-footer__links {
    gap: .55rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bo-standard-footer__link,
.bo-standard-footer__social,
.bo-standard-footer__bottom,
.bo-standard-footer__bottom a,
.bo-standard-footer__meta,
.bo-standard-footer__hours-row {
    color: var(--bo-footer-muted, rgba(248, 250, 252, .7));
}

.bo-standard-footer__link,
.bo-standard-footer__social,
.bo-standard-footer__bottom a {
    text-decoration: none;
    transition: color .2s ease, transform .2s ease;
}

.bo-standard-footer__link:hover,
.bo-standard-footer__link:focus-visible,
.bo-standard-footer__social:hover,
.bo-standard-footer__social:focus-visible,
.bo-standard-footer__bottom a:hover,
.bo-standard-footer__bottom a:focus-visible {
    color: var(--bo-footer-hover, var(--bo-footer-text, #f8fafc));
}

.bo-standard-footer__link[aria-current="page"] {
    color: var(--bo-footer-accent, #f4b860);
    font-weight: 600;
}

.bo-standard-footer__hours {
    gap: .75rem;
}

.bo-standard-footer__hours-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: .7rem;
    border-bottom: 1px solid var(--bo-footer-border, rgba(255, 255, 255, .08));
}

.bo-standard-footer__meta {
    margin: 1rem 0 0;
}

.bo-standard-footer__socials {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    margin: 1.25rem 0 0;
    padding: 0;
    list-style: none;
}

.bo-standard-footer__social {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .7rem 1rem;
    border: 1px solid var(--bo-footer-border, rgba(255, 255, 255, .08));
    border-radius: 999px;
    background: color-mix(in srgb, var(--bo-footer-text, #f8fafc) 3%, transparent);
}

.bo-standard-footer__social svg {
    flex: 0 0 1rem;
    width: 1rem;
    height: 1rem;
    fill: currentColor;
}

.bo-standard-footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1.75rem;
    padding-top: 1rem;
    border-top: 1px solid var(--bo-footer-border, rgba(255, 255, 255, .08));
}

.bo-standard-footer__bottom-links {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: .55rem 1rem;
}

.bo-standard-footer__credit {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    font-size: .82rem;
    opacity: .72;
}

.bo-standard-footer__credit a {
    color: inherit;
}

.bo-standard-footer :focus-visible {
    outline: .15rem solid var(--bo-footer-accent, #f4b860);
    outline-offset: .18rem;
}

@media (max-width: 991.98px) {
    .bo-standard-footer {
        padding: 0;
    }

    .bo-standard-footer__container {
        padding: 1.5rem .9rem 1rem;
    }

    .bo-standard-footer__bottom {
        align-items: flex-start;
        flex-direction: column;
    }

    .bo-standard-footer__bottom-links {
        align-items: flex-start;
        justify-content: flex-start;
    }
}

@media (max-width: 575.98px) {
    .bo-standard-footer__panel {
        padding: 1.25rem;
    }

    .bo-standard-footer__hours-row {
        align-items: flex-start;
        flex-direction: column;
        gap: .35rem;
    }
}
