html{
    max-width:100%;
    overflow-x:hidden;
}

body{
    max-width:100%;
    overflow-x:clip;
}


/* =========================================================
   Основной подвал сайта
   ========================================================= */

.sp-footer {
    margin-top: auto;
    border-top: 1px solid var(--sp-card-border);
    background:
        radial-gradient(680px 220px at 12% 0%, var(--sp-accent-alpha-08), transparent 62%),
        var(--sp-glass-dark-78);
}

.sp-footer__inner {
    display: grid;
    gap: 24px;
    padding: clamp(34px, 4vw, 48px) 0 28px;
}

.sp-footer__top {
    display: grid;
    grid-template-columns: minmax(280px, 1.2fr) minmax(190px, .75fr) minmax(220px, .8fr);
    gap: clamp(24px, 4vw, 44px);
    align-items: start;
}

.sp-footer__about {
    display: grid;
    gap: 14px;
    max-width: 520px;
}

.sp-brand--footer {
    align-items: center;
}

.sp-brand--footer .sp-brand__mark {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
}

.sp-footer__lead {
    max-width: 500px;
    margin: 0;
    color: var(--sp-muted);
    font-size: var(--sp-fs-sm);
    line-height: 1.65;
}

.sp-footer-social {
    --sp-footer-social-color: var(--sp-accent-alpha-75);
    --sp-footer-social-hover: var(--sp-accent);

    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-top: 4px;
}

.sp-footer-social__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid var(--sp-footer-social-color);
    border-radius: 999px;
    color: var(--sp-footer-social-color);
    background: transparent;
    text-decoration: none;
    transition:
        color .18s var(--sp-ease),
        border-color .18s var(--sp-ease),
        background .18s var(--sp-ease),
        box-shadow .18s var(--sp-ease),
        transform .18s var(--sp-ease);
}

.sp-footer-social__link svg {
    display: block;
    width: 19px;
    height: 19px;
    fill: currentColor;
}

.sp-footer-social__link:hover,
.sp-footer-social__link:focus-visible,
.sp-footer-social__link:active {
    color: var(--sp-white);
    border-color: var(--sp-accent);
    background: var(--sp-accent-alpha-12);
    box-shadow: 0 0 0 4px var(--sp-accent-alpha-08);
    transform: translateY(-1px);
}

.sp-footer-social__link:focus-visible {
    outline: 2px solid var(--sp-footer-social-hover);
    outline-offset: 3px;
}

.sp-footer-social__link:active {
    transform: translateY(0);
}

.sp-footer__section {
    min-width: 0;
}

.sp-footer__title {
    margin: 0 0 14px;
    color: var(--sp-text);
    font-size: var(--sp-fs-sm);
    font-weight: var(--sp-fw-bold);
    line-height: 1.2;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.sp-footer__links {
    display: grid;
    gap: 9px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.sp-footer__links a {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    color: var(--sp-muted);
    font-size: var(--sp-fs-sm);
    line-height: 1.35;
    text-decoration: none;
    transition: color .18s var(--sp-ease), transform .18s var(--sp-ease);
}

.sp-footer__links a:hover,
.sp-footer__links a:focus-visible {
    color: var(--sp-accent);
    transform: translateX(2px);
}

.sp-footer__bottom {
    display: grid;
    gap: 8px;
    padding-top: 20px;
    border-top: 1px solid var(--sp-card-border);
}

.sp-footer__copyright,
.sp-footer__notice {
    margin: 0;
    color: var(--sp-muted);
    font-size: var(--sp-fs-xs);
    line-height: 1.55;
}

.sp-footer__copyright {
    color: var(--sp-text-soft);
    font-weight: var(--sp-fw-medium);
}

.sp-footer__notice {
    max-width: 920px;
}

@media (max-width: 900px) {
    .sp-footer__top {
        grid-template-columns: 1fr 1fr;
    }

    .sp-footer__about {
        grid-column: 1 / -1;
    }
}

@media (max-width: 640px) {
    .sp-footer__inner {
        padding-top: 32px;
        padding-bottom: 26px;
    }

    .sp-footer__top {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .sp-footer__about {
        max-width: none;
    }

    .sp-brand--footer .sp-brand__mark {
        width: 44px;
        height: 44px;
        flex-basis: 44px;
    }

    .sp-footer__title {
        margin-bottom: 12px;
    }

    .sp-footer__links {
        gap: 10px;
    }

    .sp-footer__links a {
        font-size: var(--sp-fs-sm);
    }

    .sp-footer__bottom {
        padding-top: 18px;
    }
    
        .sp-footer-social {
        gap: 9px;
        margin-top: 2px;
    }

    .sp-footer-social__link {
        width: 40px;
        height: 40px;
    }

    .sp-footer-social__link svg {
        width: 18px;
        height: 18px;
    }
}
.sp-tabbar{
    display:none;
    position:fixed;
    left:0;
    right:auto;
    bottom:0;
    z-index:85;
    width:100%;
    max-width:100%;
    box-sizing:border-box;
    grid-template-columns:repeat(5,minmax(0,1fr));
    min-height:var(--sp-tabbar-min-height);
    padding:7px 8px calc(7px + env(safe-area-inset-bottom));
    border:0;
    border-top:1px solid var(--sp-card-border);
    border-radius:0;
    background:var(--sp-footer-glass-88);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    box-shadow:var(--sp-shadow-tabbar);
    overflow:hidden;
}

.sp-tabbar__link{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    min-width:0;
    min-height:48px;
    max-width:100%;
    padding:5px 2px;
    border:0;
    border-radius:var(--sp-radius-card-small);
    background:transparent;
    color:var(--sp-text-soft);
    font:inherit;
    font-size:var(--sp-fs-xxs);
    font-weight:400;
    line-height:1;
    text-align:center;
    text-decoration:none;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
}

.sp-tabbar > *{
    min-width:0;
    max-width:100%;
    box-sizing:border-box;
}

.sp-tabbar__link:hover{
    color:var(--sp-text);
}

.sp-tabbar__icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:24px;
    height:24px;
    line-height:1;
}

.sp-tabbar__icon svg{
    display:block;
    width:24px;
    height:24px;
}

.sp-tabbar__label{
    display:block;
    max-width:100%;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.sp-tabbar__link.is-active,
.sp-tabbar__link[aria-current="page"]{
    background:var(--sp-accent-alpha-12);
    color:var(--sp-text);
    box-shadow:inset 0 0 0 1px var(--sp-card-border-hover);
}

.sp-mobile-drawer[hidden]{
    display:none!important;
}

.sp-mobile-drawer{
    position:fixed;
    top:var(--sp-header-height);
    right:0;
    bottom:calc(var(--sp-tabbar-min-height) + env(safe-area-inset-bottom));
    left:0;
    z-index:84;
}

body.admin-bar .sp-mobile-drawer{
    top:calc(var(--sp-header-height) + 32px);
}

.sp-mobile-drawer__backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.45);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
}

.sp-mobile-drawer__panel{
    position:relative;
    width:min(80vw,380px);
    height:100%;
    overflow:auto;
    padding:16px;
    border-right:1px solid var(--sp-card-border);
    border-radius:0 var(--sp-radius-mobile) var(--sp-radius-mobile) 0;
    background:var(--sp-header-glass-94);
    box-shadow:var(--sp-shadow);
}

.sp-mobile-drawer__head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:14px;
    padding-bottom:12px;
    border-bottom:1px solid var(--sp-card-border);
}

.sp-mobile-drawer__title{
    color:var(--sp-text);
    font-size:var(--sp-fs-md);
    font-weight:var(--sp-fw-norm);
}

.sp-mobile-drawer__close{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:38px;
    height:38px;
    border:1px solid var(--sp-card-border);
    border-radius:var(--sp-radius-pill);
    background:var(--sp-white-055);
    color:var(--sp-text);
    font-size:24px;
    line-height:1;
    cursor:pointer;
}

.sp-mobile-drawer__list{
    display:grid;
    gap:8px;
    margin:0;
    padding:0;
    list-style:none;
}

.sp-mobile-drawer__list .sub-menu,
.sp-mobile-drawer__list .sp-nav__sub-list{
    display:grid;
    gap:6px;
    margin:6px 0 0 14px;
    padding:0;
    list-style:none;
}

.sp-mobile-drawer__menu .sp-nav__link{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    min-height:44px;
    padding:10px 12px;
    border:1px solid var(--sp-card-border);
    border-radius:var(--sp-radius-card-small);
    background:var(--sp-white-04);
    color:var(--sp-text-soft);
    font-size:var(--sp-fs-sm);
    font-weight:400;
}

.sp-mobile-drawer__menu .sp-nav__link:hover,
.sp-mobile-drawer__menu .sp-nav__link.is-active,
.sp-mobile-drawer__menu .sp-nav__link[aria-current="page"],
.sp-mobile-drawer__menu .sp-nav__item.is-active > .sp-nav__link,
.sp-mobile-drawer__menu .sp-nav__item.current-menu-item > .sp-nav__link,
.sp-mobile-drawer__menu .sp-nav__item.current-menu-parent > .sp-nav__link,
.sp-mobile-drawer__menu .sp-nav__item.current-menu-ancestor > .sp-nav__link{
    color:var(--sp-text);
    background:var(--sp-accent-alpha-12);
    box-shadow:inset 0 0 0 1px var(--sp-card-border-hover);
}

body.is-footer-menu-open{
    overflow:hidden;
}

@media (min-width:901px){
    .sp-mobile-drawer{
        display:none!important;
    }
}
.sp-cookie{position:fixed; right:18px; bottom:18px; z-index:110; display:flex; align-items:center; gap:14px; max-width:620px; padding:14px; border:1px solid var(--sp-card-border); border-radius:var(--sp-radius-cookie); background:var(--sp-tabbar-glass-92); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); box-shadow:var(--sp-shadow)}

.sp-cookie[hidden] {
    display: none !important;
}

.sp-cookie__text{display:grid; gap:6px; color:var(--sp-muted); font-size:var(--sp-fs-sm)}
.sp-cookie__text strong{color:var(--sp-text)}
.sp-cookie__link{color:var(--sp-accent-text); text-decoration:underline; text-underline-offset:3px}
.sp-cookie__link:hover{color:var(--sp-accent)}
.sp-cookie__actions{display:flex; align-items:center; gap:10px; flex:0 0 auto}




/* =========================================================
   Нижнее мобильное меню: шапка остаётся видимой
   ========================================================= */

@media (max-width: 900px) {
    body.is-footer-menu-open .sp-header {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        left: 0 !important;
        z-index: 300 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body.admin-bar.is-footer-menu-open .sp-header {
        top: 46px !important;
    }

    body.is-footer-menu-open .sp-mobile-drawer {
        top: var(--sp-header-height) !important;
        bottom: calc(var(--sp-tabbar-min-height) + env(safe-area-inset-bottom)) !important;
        z-index: 250 !important;
    }

    body.admin-bar.is-footer-menu-open .sp-mobile-drawer {
        top: calc(var(--sp-header-height) + 46px) !important;
    }

    body.is-footer-menu-open .sp-tabbar {
        z-index: 320 !important;
    }

    body.is-footer-menu-open .sp-mobile-drawer__backdrop {
        top: 0 !important;
    }
}

@media (hover:none), (pointer:coarse){
    .sp-footer-social__link:hover,
    .sp-footer-social__link:focus-visible{
        transform:none;
    }

    .sp-footer__links a:hover,
    .sp-footer__links a:focus-visible{
        transform:none;
    }
}