/* SERP Expert footer - Brandbook v5 / approved footer layout */
.se-footer{
    padding:0;
    background:#071c31;
    color:#fff;
    font-family:var(--font-main,"Manrope",system-ui,sans-serif);
}
.se-footer,.se-footer *{box-sizing:border-box}
.se-footer__container{width:min(1280px,calc(100% - 48px));margin:0 auto}
.se-footer__shell{overflow:visible;border-radius:0;background:transparent}
.se-footer__main{display:grid;grid-template-columns:1.25fr .9fr .78fr 1.34fr 1.12fr;gap:40px;padding:48px 40px 36px}
.se-footer__brand{min-width:0}
.se-footer__logo{display:inline-block;margin-bottom:16px}
.se-footer__logo picture,.se-footer__logo img{display:block;width:220px;max-width:100%;height:auto}
.se-footer__brand-text{max-width:265px;margin:0;color:rgba(255,255,255,.76);font-size:13px;line-height:20px;font-weight:400}
.se-footer__cta{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:16px;margin-top:18px;padding:14px 24px;border:0;border-radius:999px;background:#cb0000;color:#fff;font-size:15px;line-height:20px;font-weight:600;cursor:pointer;transition:filter .18s ease,transform .18s ease}
.se-footer__cta:hover{filter:brightness(.92);transform:translateY(-1px)}
.se-footer__cta span{font-size:19px;line-height:1}
.se-footer__socials{display:flex;align-items:center;gap:10px;margin-top:18px}
.se-footer__socials a{width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.09);border-radius:50%;background:#102a43;color:#fff;text-decoration:none;transition:background .18s ease,transform .18s ease}
.se-footer__socials a:hover{background:#20394f;transform:translateY(-1px)}
.se-footer__socials svg{display:block;width:22px;height:22px}
.se-footer__socials .se-footer__social--vk svg{width:28px;height:28px}
.se-footer__socials .se-footer__social--dzen svg{width:25px;height:25px}

.se-footer__group{min-width:0}
.se-footer__group-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding:0;border:0;background:transparent;color:#fff;font-size:15px;line-height:20px;font-weight:600;text-align:left;cursor:default}
.se-footer__chevron{display:none}
.se-footer__group-panel{display:flex;flex-direction:column;gap:10px}
.se-footer__menu{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}
.se-footer__menu li{margin:0;padding:0}
.se-footer__menu a{color:rgba(255,255,255,.86);font-size:13px;line-height:20px;font-weight:400;text-decoration:none;transition:color .18s ease}
.se-footer__menu a:hover{color:#fff}

.se-footer__contacts{gap:13px}
.se-footer__contact{width:100%;display:grid;grid-template-columns:24px 1fr;align-items:start;gap:12px;margin:0;padding:0;border:0;background:transparent;color:#fff;font:inherit;text-align:left;text-decoration:none}
.se-footer__contact svg{width:20px;height:20px;margin-top:1px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.se-footer__contact span{color:rgba(255,255,255,.92);font-size:13px;line-height:20px;font-weight:400}
a.se-footer__contact:hover span,button.se-footer__contact:hover span{color:#fff}
button.se-footer__contact{cursor:pointer}

.se-footer__bottom{min-height:66px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;margin:0 40px;border-top:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.76)}
.se-footer__copyright{margin:0;font-size:12px;line-height:18px;font-weight:400}
.se-footer__legal{display:flex;align-items:center;justify-content:center}
.se-footer__legal-menu{display:flex;align-items:center;justify-content:center;gap:0;margin:0;padding:0;list-style:none}
.se-footer__legal-menu li{position:relative;margin:0;padding:0}
.se-footer__legal-menu li+li::before{content:"";position:absolute;left:0;top:2px;width:1px;height:14px;background:rgba(255,255,255,.26)}
.se-footer__legal-menu a{display:block;padding:0 24px;color:rgba(255,255,255,.76);font-size:12px;line-height:18px;font-weight:400;text-decoration:none}
.se-footer__legal-menu a:hover{color:#fff}
.se-back-to-top{
    position:fixed!important;
    right:24px!important;
    bottom:24px!important;
    z-index:900;
    width:48px!important;
    height:48px!important;
    display:grid!important;
    place-items:center;
    padding:0!important;
    border:0!important;
    border-radius:10px!important;
    background:#cb0000!important;
    color:#fff!important;
    box-shadow:0 8px 24px rgba(7,28,49,.18);
    font-family:var(--font-main,"Manrope",system-ui,sans-serif);
    font-size:24px;
    line-height:1;
    font-weight:600;
    cursor:pointer;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none;
    transform:translateY(10px)!important;
    transition:opacity .18s ease,visibility .18s ease,transform .18s ease,filter .18s ease;
}
.se-back-to-top::before{display:none!important}
.se-back-to-top.is-visible{opacity:1!important;visibility:visible!important;pointer-events:auto;transform:translateY(0)!important}
.se-back-to-top:hover{filter:brightness(.92)}
.se-back-to-top:focus-visible{outline:3px solid rgba(203,0,0,.28);outline-offset:3px}

.se-footer__notice{margin:0 40px;padding:0 0 28px;color:rgba(255,255,255,.58)}
.se-footer__notice p{max-width:1120px;margin:0;font-size:11px;line-height:17px;font-weight:400}

@media (max-width:1099px){
    .se-footer__container{width:min(100% - 40px,1024px)}
    .se-footer__main{grid-template-columns:1.22fr .9fr .78fr 1.25fr;gap:32px;padding:40px 32px 30px}
    .se-footer__group--popular{display:none}
    .se-footer__bottom{margin:0 32px;grid-template-columns:auto 1fr auto;gap:18px}
    .se-footer__legal{justify-content:center}
    .se-footer__legal-menu a{padding:0 16px}
    .se-footer__notice{margin:0 32px;padding-bottom:24px}
}

@media (max-width:760px){
    .se-footer{padding:0}
    .se-footer__container{width:calc(100% - 24px)}
    .se-footer__shell{border-radius:0}
    .se-footer__main{display:block;padding:24px 18px 0}
    .se-footer__brand{padding-bottom:20px}
    .se-footer__logo{margin-bottom:12px}
    .se-footer__logo picture,.se-footer__logo img{width:176px}
    .se-footer__brand-text{max-width:100%;font-size:12px;line-height:18px}
    .se-footer__cta{width:100%;min-height:48px;margin-top:14px;padding:14px 20px}
    .se-footer__socials{justify-content:flex-start;margin-top:14px}
    .se-footer__socials a{width:38px;height:38px}
    .se-footer__socials svg{width:19px;height:19px}
    .se-footer__socials .se-footer__social--vk svg{width:25px;height:25px}
    .se-footer__socials .se-footer__social--dzen svg{width:22px;height:22px}

    .se-footer__group,.se-footer__group--popular{display:block;border-top:1px solid rgba(255,255,255,.20)}
    .se-footer__group-toggle{min-height:44px;margin:0;padding:11px 0;font-size:13px;line-height:20px;font-weight:600;cursor:pointer}
    .se-footer__chevron{width:8px;height:8px;display:block;border-right:1.5px solid #fff;border-bottom:1.5px solid #fff;transform:rotate(45deg) translateY(-2px);transition:transform .18s ease}
    .se-footer__group.is-open .se-footer__chevron{transform:rotate(225deg) translate(-2px,-1px)}
    .se-footer__group-panel{display:none;padding:0 0 14px;gap:9px}
    .se-footer__group.is-open .se-footer__group-panel{display:flex}
    .se-footer__menu{gap:9px}
    .se-footer__menu a{font-size:13px;line-height:20px}
    .se-footer__contacts{gap:12px}
    .se-footer__contact{grid-template-columns:22px 1fr;gap:10px}
    .se-footer__contact svg{width:18px;height:18px}
    .se-footer__contact span{font-size:13px;line-height:20px}

    .se-footer__bottom{min-height:0;display:grid;grid-template-columns:1fr auto;gap:12px 18px;margin:0 18px;padding:18px 0 16px}
    .se-footer__copyright{align-self:center}
    .se-footer__legal{grid-column:1 / 2;display:block}
    .se-footer__legal-menu{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
    .se-footer__legal-menu li+li::before{display:none}
    .se-footer__legal-menu a{padding:0;font-size:11px;line-height:17px}
    .se-footer__notice{margin:0 18px;padding:0 0 20px}
    .se-footer__notice p{font-size:10px;line-height:16px}
    .se-back-to-top{right:16px!important;bottom:16px!important;width:46px!important;height:46px!important;font-size:22px}
}

@media (max-width:390px){
    .se-footer__container{width:calc(100% - 16px)}
    .se-footer__main{padding-left:16px;padding-right:16px}
    .se-footer__bottom{margin-left:16px;margin-right:16px}
    .se-footer__notice{margin-left:16px;margin-right:16px}
}
