.ws-site-footer--managed {
    --ws-footer-bg: #f3f6f5;
    --ws-footer-fg: #26383b;
    --ws-footer-muted: #526569;
    --ws-footer-rule: #aebcbe;
    background: var(--ws-footer-bg);
    color: var(--ws-footer-fg);
    margin: 0;
    min-width: 0;
}
.ws-site-footer--managed,
.ws-site-footer--managed * { box-sizing: border-box; }
.ws-site-footer--managed[data-ws-footer-colour-theme="wholespace.site_footer.colour_theme.dark"] {
    --ws-footer-bg: #233438;
    --ws-footer-fg: #fff;
    --ws-footer-muted: #d7e1e2;
    --ws-footer-rule: #718387;
}
.ws-site-footer--managed[data-ws-footer-colour-theme="wholespace.site_footer.colour_theme.sand"] {
    --ws-footer-bg: #f6eddf;
    --ws-footer-fg: #493925;
    --ws-footer-muted: #66523a;
    --ws-footer-rule: #ae987a;
}
.ws-site-footer--managed[data-ws-footer-colour-theme="wholespace.site_footer.colour_theme.forest"] {
    --ws-footer-bg: #183d32;
    --ws-footer-fg: #f3fbf5;
    --ws-footer-muted: #c9ddd3;
    --ws-footer-rule: #789589;
}
.ws-site-footer--managed[data-ws-footer-colour-theme="wholespace.site_footer.colour_theme.ocean"] {
    --ws-footer-bg: #163c56;
    --ws-footer-fg: #f1f8ff;
    --ws-footer-muted: #c6dce9;
    --ws-footer-rule: #7698ad;
}
.ws-site-footer--managed[data-ws-footer-colour-theme="wholespace.site_footer.colour_theme.plum"] {
    --ws-footer-bg: #45233f;
    --ws-footer-fg: #fff4fc;
    --ws-footer-muted: #e4cede;
    --ws-footer-rule: #9b758f;
}
.ws-site-footer--managed .ws-site-footer__inner {
    width: min(80rem, 100%);
    margin-inline: auto;
    padding: clamp(2rem, 5vw, 4rem) clamp(1rem, 3vw, 2rem) 1.5rem;
}
.ws-site-footer--managed .ws-site-footer__content {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2rem clamp(2rem, 6vw, 5rem);
    min-width: 0;
}
.ws-site-footer--managed .ws-site-footer__introduction {
    flex: 1 1 22rem;
    max-width: 34rem;
    min-width: 0;
}
.ws-site-footer--managed .ws-site-footer__identity {
    display: inline-flex;
    align-items: center;
    gap: .75rem;
    min-height: 44px;
    max-width: 100%;
    color: inherit;
    font-size: 1.25rem;
    font-weight: 700;
    text-decoration: none;
}
.ws-site-footer--managed .ws-site-footer__logo {
    width: auto;
    height: 3rem;
    max-width: min(10rem, 40vw);
    object-fit: contain;
}
.ws-site-footer--managed .ws-site-footer__name,
.ws-site-footer--managed .ws-site-footer__statement,
.ws-site-footer--managed .ws-site-footer__group-heading,
.ws-site-footer--managed .ws-site-footer__link,
.ws-site-footer--managed .ws-site-footer__social-label { overflow-wrap: anywhere; }
.ws-site-footer--managed .ws-site-footer__name--visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}
.ws-site-footer--managed .ws-site-footer__statement {
    margin: 1rem 0 0;
    color: var(--ws-footer-muted);
    line-height: 1.6;
}
.ws-site-footer--managed .ws-site-footer__navigation {
    flex: 1 1 34rem;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(10rem, 100%), 1fr));
    gap: 1.5rem 2.5rem;
    min-width: 0;
}
.ws-site-footer--managed .ws-site-footer__group { min-width: 0; }
.ws-site-footer--managed .ws-site-footer__group-heading {
    margin: 0 0 .65rem;
    color: inherit;
    font-size: 1rem;
    line-height: 1.3;
}
.ws-site-footer--managed .ws-site-footer__links {
    display: grid;
    gap: .1rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.ws-site-footer--managed .ws-site-footer__link-item { margin: 0; padding: 0; min-width: 0; }
.ws-site-footer--managed .ws-site-footer__link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    max-width: 100%;
    color: inherit;
    text-underline-offset: .25em;
}
.ws-site-footer--managed .ws-site-footer__socials {
    /* Keep this managed navigation visible when legacy public.css is loaded last. */
    display: block;
    flex: 0 1 14rem;
    min-width: min(12rem, 100%);
}
.ws-site-footer--managed .ws-site-footer__social-heading {
    margin: 0 0 .65rem;
    color: inherit;
    font-size: 1rem;
    line-height: 1.3;
}
.ws-site-footer--managed .ws-site-footer__social-list {
    display: grid;
    gap: .35rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.ws-site-footer--managed .ws-site-footer__social-item { margin: 0; padding: 0; min-width: 0; }
.ws-site-footer--managed .ws-site-footer__social-link {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    min-height: 44px;
    max-width: 100%;
    color: inherit;
    text-underline-offset: .25em;
}
.ws-site-footer--managed .ws-site-footer__social-icon {
    width: 2.5rem;
    height: 2.5rem;
    padding: .48rem;
    flex: 0 0 2.5rem;
    border: 1px solid var(--ws-footer-rule);
    border-radius: 999px;
    color: currentColor;
}
.ws-site-footer--managed a[aria-current="page"] { font-weight: 700; text-decoration-thickness: .13em; }
.ws-site-footer--managed a:hover { text-decoration-thickness: .13em; }
.ws-site-footer--managed a:focus-visible {
    outline: 3px solid currentColor;
    outline-offset: 3px;
    border-radius: .15rem;
}
.ws-site-footer--managed .ws-site-footer__bottom {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: .5rem 2rem;
    margin-top: 2rem;
    padding-top: 1rem;
    border-top: 1px solid var(--ws-footer-rule);
    color: var(--ws-footer-muted);
    font-size: .875rem;
}
.ws-site-footer--managed .ws-site-footer__bottom p { margin: 0; }
.ws-site-footer--managed[data-ws-footer-layout="wholespace.site_footer.layout.compact"] .ws-site-footer__inner {
    padding-block: 1.25rem 1rem;
}
.ws-site-footer--managed[data-ws-footer-layout="wholespace.site_footer.layout.compact"] .ws-site-footer__content {
    align-items: center;
    gap: 1rem 2rem;
}
.ws-site-footer--managed[data-ws-footer-layout="wholespace.site_footer.layout.compact"] .ws-site-footer__statement { margin-top: .5rem; }
.ws-site-footer--managed[data-ws-footer-layout="wholespace.site_footer.layout.compact"] .ws-site-footer__navigation {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem 2rem;
}
.ws-site-footer--managed[data-ws-footer-layout="wholespace.site_footer.layout.compact"] .ws-site-footer__group-heading { margin-bottom: .25rem; }
.ws-site-footer--managed[data-ws-footer-layout="wholespace.site_footer.layout.compact"] .ws-site-footer__links {
    display: flex;
    flex-wrap: wrap;
    gap: 0 1rem;
}
.ws-site-footer--managed[data-ws-footer-layout="wholespace.site_footer.layout.compact"] .ws-site-footer__socials {
    flex-basis: auto;
}
.ws-site-footer--managed[data-ws-footer-layout="wholespace.site_footer.layout.compact"] .ws-site-footer__social-heading { margin-bottom: .25rem; }
.ws-site-footer--managed[data-ws-footer-layout="wholespace.site_footer.layout.compact"] .ws-site-footer__social-list {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem 1rem;
}
.ws-site-footer--managed[data-ws-footer-layout="wholespace.site_footer.layout.compact"] .ws-site-footer__bottom {
    margin-top: 1rem;
    padding-top: .75rem;
}
@media (max-width: 44rem) {
    .ws-site-footer--managed .ws-site-footer__content { flex-direction: column; }
    .ws-site-footer--managed .ws-site-footer__introduction,
    .ws-site-footer--managed .ws-site-footer__navigation,
    .ws-site-footer--managed .ws-site-footer__socials { flex-basis: auto; width: 100%; }
    .ws-site-footer--managed .ws-site-footer__navigation { grid-template-columns: 1fr; }
    .ws-site-footer--managed[data-ws-footer-layout="wholespace.site_footer.layout.compact"] .ws-site-footer__navigation,
    .ws-site-footer--managed[data-ws-footer-layout="wholespace.site_footer.layout.compact"] .ws-site-footer__links,
    .ws-site-footer--managed[data-ws-footer-layout="wholespace.site_footer.layout.compact"] .ws-site-footer__social-list {
        display: grid;
        width: 100%;
    }
}
@media (forced-colors: active) {
    .ws-site-footer--managed { background: Canvas; color: CanvasText; }
    .ws-site-footer--managed .ws-site-footer__statement,
    .ws-site-footer--managed .ws-site-footer__bottom { color: CanvasText; border-color: CanvasText; }
    .ws-site-footer--managed .ws-site-footer__social-icon { border-color: CanvasText; }
    .ws-site-footer--managed a:focus-visible { outline-color: Highlight; }
}
