/* ==========================================================
   SONSEC - PRODUCTION FOOTER
   ========================================================== */

.site-footer{
    position:relative;
    padding:0;
    overflow:hidden;
    background:#071329;
    color:#CBD5E1;
}

.site-footer::before{
    content:"";
    position:absolute;
    top:0;
    right:0;
    left:0;
    height:4px;
    background:linear-gradient(90deg,#3333FF,#39FF14,#3333FF);
}

.site-footer__main{
    padding:72px 0 58px;
}

.site-footer__emergency-panel{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:20px;
    align-items:center;
    margin-bottom:46px;
    padding:22px 24px;
    background:rgba(249,115,22,.1);
    border:1px solid rgba(249,115,22,.38);
    border-left:5px solid #F97316;
    border-radius:var(--sonsec-radius-lg);
    box-shadow:0 18px 42px rgba(0,0,0,.2);
}

.site-footer__emergency-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:48px;
    height:48px;
    border-radius:14px;
    background:rgba(249,115,22,.18);
    color:#FDBA74;
}

.site-footer__emergency-icon svg{
    width:25px;
    height:25px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.site-footer__emergency-content{
    min-width:0;
    max-width:1120px;
}

.site-footer__emergency-title,
.site-footer__emergency-message,
.site-footer__emergency-hours p{
    margin:0;
}

.site-footer__emergency-title{
    color:#FDBA74 !important;
    font-size:1.08rem;
    font-weight:900;
    line-height:1.25;
}

.site-footer__emergency-message{
    max-width:980px;
    margin-top:7px;
    color:#F8FAFC;
    line-height:1.65;
}

.site-footer__emergency-hours{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px 18px;
    margin-top:13px;
}

.site-footer__emergency-hours p{
    padding:9px 12px;
    color:#F8FAFC;
    font-size:.9rem;
    font-weight:800;
    line-height:1.45;
    background:rgba(7,19,41,.62);
    border:1px solid rgba(249,115,22,.24);
    border-radius:var(--sonsec-radius-sm);
}

.site-footer__emergency-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:12px 18px;
    border:1px solid #F97316;
    border-radius:var(--sonsec-radius-sm);
    background:#F97316;
    color:#111827 !important;
    font-weight:900;
    text-decoration:none;
    white-space:nowrap;
    box-shadow:0 10px 24px rgba(249,115,22,.2);
}

.site-footer__emergency-button:hover,
.site-footer__emergency-button:focus-visible{
    background:#FDBA74;
    border-color:#FDBA74;
    color:#071329 !important;
}

.site-footer__grid{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:46px;
}

.site-footer h2,
.site-footer h3{
    color:#FFFFFF;
}

.site-footer h2{
    position:relative;
    margin:0 0 24px;
    padding-bottom:13px;
    font-size:1.08rem;
    font-weight:800;
    line-height:1.35;
}

.site-footer h2::after{
    content:"";
    position:absolute;
    bottom:0;
    left:0;
    width:42px;
    height:3px;
    border-radius:999px;
    background:#39FF14;
}

.site-footer__company > h2{
    font-size:1.3rem;
}

.site-footer__description{
    max-width:510px;
    margin:0 0 28px;
    color:#B8C5D8;
    line-height:1.75;
}

.site-footer__contact-list,
.site-footer__links{
    margin:0;
    padding:0;
    list-style:none;
}

.site-footer__contact-list{
    display:grid;
    gap:13px;
    margin-bottom:30px;
}

.site-footer__contact-list li{
    display:grid;
    grid-template-columns:88px minmax(0,1fr);
    gap:12px;
    align-items:baseline;
}

.site-footer__contact-list span{
    color:#FFFFFF;
    font-size:.83rem;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.site-footer a{
    color:#DCE8F8;
    text-decoration:none;
}

.site-footer__contact-list a{
    min-width:0;
    overflow-wrap:anywhere;
    font-weight:700;
}

.site-footer__details{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:24px;
}

.site-footer__details h3{
    margin:0 0 8px;
    font-size:.86rem;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.site-footer__details address,
.site-footer__details p{
    margin:0;
    color:#AEBBD0;
    font-size:.92rem;
    font-style:normal;
    line-height:1.7;
}

.site-footer__links{
    display:grid;
    gap:4px;
}

.site-footer__links li{
    min-width:0;
}

.site-footer__links a{
    display:inline-flex;
    align-items:center;
    min-height:39px;
    max-width:100%;
    color:#B8C5D8;
    font-size:.94rem;
    line-height:1.45;
    overflow-wrap:anywhere;
    transition:
        color .2s ease,
        transform .2s ease;
}

.site-footer__links a::before{
    content:"";
    width:6px;
    height:6px;
    margin-right:11px;
    flex:0 0 6px;
    border-radius:50%;
    background:#52647D;
    transition:background-color .2s ease;
}

.site-footer a:hover,
.site-footer a:focus-visible{
    color:#8BFF76;
    text-decoration:none;
}

.site-footer__links a:hover,
.site-footer__links a:focus-visible{
    transform:translateX(4px);
}

.site-footer__links a:hover::before,
.site-footer__links a:focus-visible::before{
    background:#39FF14;
}

.site-footer a:focus-visible{
    outline:3px solid #39FF14;
    outline-offset:4px;
    border-radius:3px;
}

.site-footer__bottom{
    border-top:1px solid rgba(255,255,255,.11);
    background:rgba(1,7,20,.34);
}

.site-footer__bottom-inner{
    display:flex;
    flex-direction:column;
    gap:8px;
    padding-top:20px;
    padding-bottom:20px;
}

.site-footer__bottom p{
    margin:0;
    color:#93A4BB;
    font-size:.82rem;
    line-height:1.55;
}

@media (min-width:620px){
    .site-footer__details{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (min-width:700px){
    .site-footer__grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        column-gap:54px;
        row-gap:52px;
    }

    .site-footer__bottom-inner{
        flex-direction:row;
        justify-content:space-between;
        align-items:center;
    }

    .site-footer__bottom p:last-child{
        text-align:right;
    }
}

@media (min-width:1100px){
    .site-footer__main{
        padding:88px 0 68px;
    }

    .site-footer__grid{
        grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,.82fr));
        gap:48px;
    }

    .site-footer__links--brands{
        grid-template-columns:repeat(2,minmax(0,1fr));
        column-gap:18px;
    }
}

@media (max-width:920px){
    .site-footer__emergency-panel{
        grid-template-columns:auto minmax(0,1fr);
        align-items:start;
    }

    .site-footer__emergency-button{
        grid-column:2;
        justify-self:start;
    }
}

@media (max-width:699px){
    .site-footer__main{
        padding:64px 0 48px;
    }

    .site-footer__emergency-panel{
        grid-template-columns:minmax(0,1fr);
        gap:14px;
        margin-bottom:40px;
        padding:20px;
    }

    .site-footer__emergency-icon{
        width:44px;
        height:44px;
    }

    .site-footer__emergency-hours{
        grid-template-columns:minmax(0,1fr);
    }

    .site-footer__emergency-button{
        grid-column:auto;
        width:100%;
    }

    .site-footer__grid{
        gap:42px;
    }

    .site-footer__contact-list li{
        grid-template-columns:78px minmax(0,1fr);
    }
}

@media (prefers-reduced-motion:reduce){
    .site-footer__links a,
    .site-footer__links a::before{
        transition:none;
    }

    .site-footer__links a:hover,
    .site-footer__links a:focus-visible{
        transform:none;
    }
}
.site-footer__cookie-settings{
    display:inline-flex;
    align-items:center;
    min-height:44px;
    margin-top:18px;
    font-weight:700;
}
