.legal-consents {
    display: grid;
    gap: .7rem;
    margin-top: .25rem;
    text-align: left;
}

.legal-consent {
    display: grid;
    grid-template-columns: 1.15rem 1fr;
    gap: .65rem;
    align-items: start;
    font-size: .72rem;
    line-height: 1.5;
}

.legal-consent input[type="checkbox"] {
    width: 1.15rem;
    height: 1.15rem;
    margin: .1rem 0 0;
    accent-color: #0084ff;
    cursor: pointer;
}

.legal-consent a,
.legal-footer a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.legal-consent a:hover,
.legal-consent a:focus-visible,
.legal-footer a:hover,
.legal-footer a:focus-visible {
    color: #38a7ff;
}

.legal-footer {
    display: grid;
    gap: .55rem;
    justify-items: center;
    line-height: 1.6;
}

.legal-footer__links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .4rem 1rem;
}

/* Единая компоновка подвалов и компактные контактные баблы. */
.site-footer__inner {
    width: 100%;
    max-width: 80rem;
    margin-inline: auto;
    padding-inline: 1.5rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 2rem;
}

.site-footer__legal {
    display: grid;
    gap: .45rem;
    justify-items: start;
    text-align: left;
    line-height: 1.6;
}

.site-footer__legal .legal-footer__links { justify-content: flex-start; }

.contact-bubbles {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .5rem;
}

.contact-bubble,
.legal-footer .contact-bubble {
    min-height: 2.5rem;
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .4rem .7rem .4rem .45rem;
    border: 1px solid transparent;
    border-radius: .8rem;
    color: inherit;
    text-decoration: none;
    font-size: .7rem;
    font-weight: 700;
    line-height: 1.15;
    white-space: nowrap;
    transition: border-color .2s ease, background-color .2s ease, color .2s ease, transform .2s ease;
}

.contact-bubble:hover { transform: translateY(-1px); }
.contact-bubble:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }

.contact-bubble__icon {
    width: 1.75rem;
    height: 1.75rem;
    flex: 0 0 1.75rem;
    display: grid;
    place-items: center;
    border-radius: .55rem;
    background: color-mix(in srgb, currentColor 12%, transparent);
}

.contact-bubble__icon svg,
.contact-bubble__icon img {
    display: block;
    width: 1rem !important;
    height: 1rem !important;
    max-width: 1rem !important;
    max-height: 1rem !important;
}
.contact-bubble--phone { color: #34d399 !important; background: rgba(52,211,153,.07); border-color: rgba(52,211,153,.2); }
.contact-bubble--email { color: #f8fafc !important; background: rgba(248,250,252,.06); border-color: rgba(248,250,252,.15); }
.contact-bubble--max { color: #c084fc !important; background: rgba(192,132,252,.07); border-color: rgba(192,132,252,.2); }
.contact-bubble--telegram { color: #38bdf8 !important; background: rgba(56,189,248,.07); border-color: rgba(56,189,248,.2); }
.site-footer--light .contact-bubble--phone { color: #087f5b !important; background: #ecfdf5; border-color: #a7f3d0; }
.site-footer--light .contact-bubble--email { color: #334155 !important; background: #f8fafc; border-color: #cbd5e1; }

@media (max-width: 767px) {
    .site-footer__inner { grid-template-columns: 1fr; gap: 1.25rem; padding-inline: 1rem; }
    .contact-bubbles { justify-content: flex-start; }
    .site-footer__contacts { width: 100%; }
}
