.gogr-public-footer {
    --gogr-footer-accent: #8ed4ff;
    --gogr-footer-ink: #f8fbff;
    --gogr-footer-muted: #b9d1e8;
    --gogr-footer-border: rgb(255 255 255 / 15%);
    --gogr-footer-bg: #064d9a;
    position: relative;
    margin-top: 48px;
    overflow: hidden;
    border-top: 1px solid var(--gogr-footer-border);
    background:
        radial-gradient(circle at 92% 110%, rgb(48 154 238 / 35%) 0%, transparent 33%),
        linear-gradient(135deg, #0758ad 0%, var(--gogr-footer-bg) 55%, #043d7a 100%);
    color: var(--gogr-footer-ink);
}

.gogr-public-footer::after {
    content: "";
    position: absolute;
    right: -72px;
    bottom: -155px;
    width: 390px;
    height: 390px;
    border: 1px solid rgb(255 255 255 / 9%);
    border-radius: 50%;
    box-shadow: 0 0 0 46px rgb(255 255 255 / 3%), 0 0 0 92px rgb(255 255 255 / 2%);
    pointer-events: none;
}

.gogr-home-page .gogr-public-footer {
    margin-top: 0;
}

.gogr-public-footer *,
.gogr-public-footer *::before,
.gogr-public-footer *::after {
    box-sizing: border-box;
}

.gogr-public-footer__inner {
    position: relative;
    z-index: 1;
    width: min(100% - 48px, 1320px);
    margin-inline: auto;
    padding: 58px 0 26px;
}

.gogr-public-footer__grid {
    display: grid;
    grid-template-columns: minmax(260px, 1.45fr) repeat(3, minmax(150px, 1fr));
    gap: 38px 50px;
}

.gogr-public-footer__logo {
    display: inline-flex;
    align-items: center;
    margin-bottom: 16px;
    color: var(--gogr-footer-ink);
    font-size: 24px;
    font-weight: 800;
    letter-spacing: -.04em;
    text-decoration: none;
}

.gogr-public-footer__logo img {
    display: block;
    width: auto;
    height: 68px;
    max-width: 230px;
    object-fit: contain;
    object-position: left center;
}

.gogr-public-footer__logo strong {
    color: var(--gogr-footer-accent);
}

.gogr-public-footer__title {
    margin: 5px 0 15px;
    color: #fff;
    font-size: .92rem;
    font-weight: 800;
    letter-spacing: .01em;
    line-height: 1.3;
}

.gogr-public-footer__text {
    max-width: 38ch;
    margin: 0;
    color: var(--gogr-footer-muted);
    font-size: .9rem;
    line-height: 1.7;
    overflow-wrap: anywhere;
}

.gogr-public-footer__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.gogr-public-footer__list li + li {
    margin-top: 9px;
}

.gogr-public-footer__list a,
.gogr-public-footer__legal a,
.gogr-public-footer__languages a,
.gogr-public-footer__logout button {
    color: var(--gogr-footer-muted);
    font-size: .88rem;
    line-height: 1.45;
    text-decoration: none;
    overflow-wrap: anywhere;
    transition: color .2s ease;
}

.gogr-public-footer__list a:hover,
.gogr-public-footer__legal a:hover,
.gogr-public-footer__languages a:hover,
.gogr-public-footer__logout button:hover {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.gogr-public-footer__list a:focus-visible,
.gogr-public-footer__legal a:focus-visible,
.gogr-public-footer__languages a:focus-visible,
.gogr-public-footer__logout button:focus-visible,
.gogr-public-footer__logo:focus-visible {
    outline: 3px solid rgb(142 212 255 / 55%);
    outline-offset: 4px;
    border-radius: 5px;
}

.gogr-public-footer__muted {
    color: #91b3d0;
    font-size: .88rem;
}

.gogr-public-footer__logout {
    margin: 0;
}

.gogr-public-footer__logout button {
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    font: inherit;
}

.gogr-public-footer__bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 14px 24px;
    margin-top: 38px;
    padding-top: 20px;
    border-top: 1px solid var(--gogr-footer-border);
}

.gogr-public-footer__copy {
    margin: 0;
    color: #a9c7e1;
    font-size: .82rem;
}

.gogr-public-footer__legal,
.gogr-public-footer__languages {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 13px;
}

.gogr-public-footer__languages {
    color: #79a9d1;
    font-weight: 800;
}

.gogr-public-footer__languages [aria-current="page"] {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 4px;
}

@media (max-width: 980px) {
    .gogr-public-footer__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .gogr-public-footer {
        margin-top: 32px;
    }

    .gogr-home-page .gogr-public-footer {
        margin-top: 0;
    }

    .gogr-public-footer__inner {
        width: calc(100% - 28px);
        padding: 42px 0 calc(24px + env(safe-area-inset-bottom, 0px));
    }

    .gogr-public-footer__grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .gogr-public-footer__logo img {
        height: 58px;
        max-width: 210px;
    }

    .gogr-public-footer__bottom {
        flex-direction: column;
        align-items: flex-start;
        margin-top: 30px;
    }
}

.gogr-business-detail-page .gogr-public-footer {
    padding-bottom: 8px;
}
@media (min-width: 781px) {
    .gogr-public-footer__inner { padding: 36px 0 18px; }
    .gogr-public-footer__grid { gap: 24px 38px; }
    .gogr-public-footer__logo { margin-bottom: 8px; }
    .gogr-public-footer__logo img { height: 52px; }
    .gogr-public-footer__text { font-size: .82rem; line-height: 1.5; }
    .gogr-public-footer__title { margin-bottom: 10px; }
    .gogr-public-footer__list li + li { margin-top: 5px; }
    .gogr-public-footer__list a,
    .gogr-public-footer__muted,
    .gogr-public-footer__languages a,
    .gogr-public-footer__logout button { font-size: .8rem; }
    .gogr-public-footer__bottom { margin-top: 22px; padding-top: 14px; }
    .gogr-home-page .gogr-public-footer__col:nth-child(2) .gogr-public-footer__list {
        columns: 2;
        column-gap: 24px;
    }
    .gogr-home-page .gogr-public-footer__col:nth-child(2) .gogr-public-footer__list li {
        break-inside: avoid;
    }
}

@media (min-width: 1200px) {
    .gogr-public-footer__inner {
        width: min(1400px, calc(100% - 48px));
    }
}
