/* =========================================================
   ПОДВАЛ САЙТА И ПЛАВАЮЩИЕ КОНТАКТЫ
   Стили вынесены из footer.php
========================================================= */

.nf,.nf *,.fc,.fc *{box-sizing:border-box}

.nf{
    width:100%;
    margin:0;
    padding:56px 0 14px;
    background:#0878b7;
    color:#fff;
    font-family:"Lora",Georgia,serif
}

.nf-c{
    width:min(1240px,calc(100% - 32px));
    margin:auto
}

.nf-main{
    display:grid;
    grid-template-columns:220px minmax(280px,1fr) minmax(420px,536px);
    align-items:center;
    gap:clamp(36px,6vw,90px);
    min-height:365px
}


.nf-logo a{
    display:block;
    width:180px
}

.nf-logo img{
    display:block;
    width:100%;
    height:220px;
    object-fit:contain
}

.nf-info,.nf-list{
    display:flex;
    flex-direction:column
}

.nf-list{gap:16px}

.nf-row{
    display:flex;
    align-items:center;
    gap:14px;
    color:#fff;
    font-size:17px;
    font-weight:700;
    line-height:1.35;
    text-decoration:none
}

.nf-row svg{
    width:22px;
    height:22px;
    flex:none;
    fill:currentColor
}

a.nf-row{transition:.2s}

a.nf-row:hover{
    color:#ffd43b;
    transform:translateX(4px)
}

.nf-soc{
    display:flex;
    gap:16px;
    margin:34px 0 0 94px
}

.nf-soc-link,.fc-link,.fc-btn{
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    color:#fff
}

.nf-soc-link{
    width:46px;
    height:46px;
    transition:.2s
}

.nf-soc-link:hover{transform:translateY(-3px) scale(1.06)}

.nf-soc-link svg{
    width:26px;
    height:26px;
    fill:currentColor
}

.nf-wa,.fc-wa{background:#20c96b}
.nf-tg,.fc-tg{background:#079bd6}

.nf-map{
    width:100%;
    height:450px;
    overflow:hidden;
    background:#fff
}

.nf-map iframe{
    display:block;
    width:100%;
    height:100%;
    border:0
}

.nf-copy{
    margin-top:42px;
    padding-left:220px;
    font-size:12px;
    font-weight:600
}

/* Плавающие контакты */
.fc{
    position:fixed;
    right:24px;
    bottom:24px;
    z-index:999;
    display:flex;
    flex-direction:column;
    align-items:center
}

.fc-list{
    display:grid;
    gap:12px;
    margin-bottom:12px;
    visibility:hidden;
    pointer-events:none
}

.fc-link{
    width:58px;
    height:58px;
    opacity:0;
    text-decoration:none;
    box-shadow:0 8px 20px #003d7060;
    transform:translateY(20px) scale(.7);
    transition:.25s
}

.fc-link:hover{filter:brightness(1.08)}

.fc-link svg,.fc-btn svg{
    width:28px;
    height:28px;
    fill:currentColor
}

.fc-ph{background:#087cff}

.fc-btn{
    position:relative;
    width:68px;
    height:68px;
    padding:0;
    overflow:hidden;
    border:0;
    background:#087cff;
    box-shadow:0 8px 24px #004a8070;
    cursor:pointer;
    animation:fc-pulse 2.2s infinite
}

/* Бегущая белая линия */
.fc-btn::before{
    position:absolute;
    inset:-45%;
    background:conic-gradient(
        transparent 0 72%,
        #fff 78%,
        #fff 84%,
        transparent 90%
    );
    content:"";
    animation:fc-run 1.7s linear infinite
}

/* Синий центр кнопки */
.fc-btn::after{
    position:absolute;
    inset:4px;
    border-radius:50%;
    background:#087cff;
    content:""
}

.fc-btn svg{
    position:absolute;
    z-index:1
}

.fc-chat,.fc-x{transition:.25s}

.fc-x{
    opacity:0;
    transform:rotate(-90deg) scale(.5)
}

.fc.open .fc-list{
    visibility:visible;
    pointer-events:auto
}

.fc.open .fc-link{
    opacity:1;
    transform:none
}

.fc.open .fc-chat{
    opacity:0;
    transform:rotate(90deg) scale(.5)
}

.fc.open .fc-x{
    opacity:1;
    transform:none
}

@keyframes fc-run{
    to{transform:rotate(360deg)}
}

@keyframes fc-pulse{
    50%{box-shadow:0 8px 24px #004a8070,0 0 0 8px #fff2}
}

@media(max-width:1024px){
    .nf{padding-top:44px}

    .nf-main{
        grid-template-columns:180px 1fr;
        gap:34px;
        min-height:0
    }

    .nf-logo a{width:150px}
    .nf-logo img{height:180px}

    .nf-map{
        grid-column:1/-1;
        height:320px
    }

    .nf-copy{
        margin-top:28px;
        padding:0;
        text-align:center
    }
}

@media(max-width:767px){
    .nf{padding:36px 0 18px}

    .nf-c{width:min(100% - 32px,520px)}

    .nf-main{
        display:flex;
        flex-direction:column;
        align-items:stretch;
        gap:30px
    }

    .nf-logo a{width:130px}
    .nf-logo img{height:150px}


    .nf-list{
        width:100%;
        max-width:360px
    }

    .nf-row{font-size:16px}
    .nf-soc{margin:26px 0 0}
    .nf-map{height:300px}

    .nf-copy{
        margin-top:26px;
        padding:0;
        font-size:11px;
        text-align:center
    }

    .fc{
        right:14px;
        bottom:14px
    }

    .fc-link{
        width:54px;
        height:54px
    }

    .fc-btn{
        width:62px;
        height:62px
    }
}

@media(max-width:380px){
    .nf-c{width:calc(100% - 24px)}
    .nf-row{gap:10px;font-size:14px}
    .nf-map{height:260px}
}
