/* ==========================================================================
   FOOTER
   ========================================================================== */

.km-footer{
    position:relative;
    margin-top:5rem;
    overflow:hidden;
    color:var(--accent);

    background:
    linear-gradient(
        180deg,
        #0f5d96 0%,
        #0b4d80 45%,
        #08375d 100%
    );
}

.km-footer::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(
            circle at top right,
            rgba(255,255,255,.05),
            transparent 45%
        );
    pointer-events:none;
}

.km-footer .km-container{
    position:relative;
    z-index:2;
    padding-block:3rem 2rem;
}


/* ==========================================================================
   FORCE ALL FOOTER HEADINGS WHITE
   ========================================================================== */

.km-footer h1,
.km-footer h2,
.km-footer h3,
.km-footer h4,
.km-footer h5,
.km-footer h6{
    color:#fff !important;
}


/* ==========================================================================
   SECTION DIVIDERS
   ========================================================================== */

.km-footer-brand,
.km-footer-columns,
.km-footer-trust,
.km-footer-cta{
    position:relative;
    border-bottom:1px solid rgba(255,255,255,.08);
}


/* ==========================================================================
   BRAND
   ========================================================================== */

.km-footer-brand{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;

    margin-bottom:0;
    padding-bottom:2rem;
}

.km-footer-logo{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-bottom:.70rem;
}

.km-footer-logo img{
    display:block;
    width:auto;
    height:120px;
}

.km-footer-brand h2{
    margin-bottom:.5rem;
}

.km-footer-brand p{
    max-width:700px;
    margin:0 auto .75rem;
    line-height:1.7;
    font-size:1rem;
    color:rgba(255,255,255,.88);
}


/* ==========================================================================
   SOCIAL
   ========================================================================== */

.km-footer-social{
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:.75rem;

    margin:.5rem 0 0;
    padding:0;
}

.km-footer-social a{
    width:48px;
    height:48px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.08);

    color:#fff;
    text-decoration:none;

    transition:.3s ease;
}

.km-footer-social a:hover{
    background:var(--accent);
    border-color:var(--accent);
    color:#fff;
    transform:translateY(-4px);
    box-shadow:0 10px 22px rgba(0,0,0,.22);
}

.km-footer-social i{
    font-size:1.1rem;
}


/* ==========================================================================
   COLUMNS
   ========================================================================== */

.km-footer-columns{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:2.5rem;
    padding:2.5rem 0;
}

.km-footer-column h4{
    margin-bottom:1rem;

    font-size:1.05rem;
    font-weight:700;

    letter-spacing:.08em;
    text-transform:uppercase;
}

.km-footer-column ul{
    margin:0;
    padding:0;
    list-style:none;
}

.km-footer-column li{
    margin-bottom:.65rem;
}

.km-footer-column li:last-child{
    margin-bottom:0;
}

.km-footer-column a{
    display:inline-block;
    position:relative;

    color:rgba(255,255,255,.88);
    text-decoration:none;

    transition:color .25s, transform .25s;
}

.km-footer-column a::before{
    content:"";
    position:absolute;

    left:-12px;
    top:50%;

    width:0;
    height:2px;

    background:var(--accent);

    transform:translateY(-50%);
    transition:.25s;
}

.km-footer-column a:hover{
    color:var(--accent);
    transform:translateX(6px);
}

.km-footer-column a:hover::before{
    width:8px;
}


/* ==========================================================================
   CONTACT
   ========================================================================== */

.km-footer-contact li{
    display:flex;
    align-items:center;
    gap:.75rem;
    margin-bottom:.65rem;

    color:rgba(255,255,255,.92);
}

.km-footer-contact li:last-child{
    margin-bottom:0;
}

.km-footer-contact i{
    width:20px;
    color:var(--accent);
    text-align:center;
}


/* ==========================================================================
   TRUST
   ========================================================================== */

.km-footer-trust{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1.25rem;
    padding:2rem 0;
}

.km-trust-item{
    display:flex;
    align-items:center;
    gap:1rem;

    padding:1.25rem;

    border-radius:16px;

    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);

    transition:.3s ease;
}

.km-trust-item:hover{
    background:rgba(255,255,255,.08);
    transform:translateY(-4px);
}

.km-trust-icon{

    width:58px;
    height:58px;

    display:flex;
    align-items:center;
    justify-content:center;

    flex-shrink:0;

    border-radius:50%;

    background:rgba(244,163,0,.15);

    border:1px solid rgba(244,163,0,.35);

    color:#F4A300;

    font-size:1.3rem;

    transition:.3s;

}

.km-trust-item:hover .km-trust-icon{

    background:#F4A300;

    color:#ffffff;

}

.km-trust-description{
    font-size:.92rem;
    line-height:1.5;
    color:rgba(255,255,255,.90);
}


/* ==========================================================================
   CTA
   ========================================================================== */

.km-footer-cta{
    text-align:center;
    padding:2.5rem 0;
}

.km-footer-cta h2{
    margin-bottom:.5rem;
}

.km-footer-cta p{
    max-width:700px;
    margin:0 auto 1.25rem;
    line-height:1.8;
    color:rgba(255,255,255,.88);
}

.km-footer-actions{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:1rem;
    flex-wrap:wrap;
}

.km-footer-actions .km-btn{
    min-width:220px;
}


/* ==========================================================================
   BOTTOM
   ========================================================================== */

.km-footer-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;

    gap:1.5rem;

    padding:1.25rem 0;

    border-top:1px solid rgba(255,255,255,.08);
}

.km-footer-copyright{
    font-size:.95rem;
    color:rgba(255,255,255,.90);
}

.km-footer-legal{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:2rem;
}

.km-footer-legal a{
    position:relative;
    color:rgba(255,255,255,.88);
    text-decoration:none;
    transition:.25s;
}

.km-footer-legal a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-4px;
    width:0;
    height:2px;
    background:var(--accent);
    transition:.25s;
}

.km-footer-legal a:hover{
    color:#fff;
}

.km-footer-legal a:hover::after{
    width:100%;
}