/* ==========================================================
   FOOTER — wide, many-column enterprise footer.
   Markup lives in sections/footer.html
   ========================================================== */
/* ==========================================================
   FOOTER
   ========================================================== */

.footer{
    background:var(--ink);
    color:rgba(255,255,255,.85);
    padding-top:72px;
}

.foot-grid{
    display:grid;
    grid-template-columns:1.7fr 1fr 1fr 1fr 1.2fr;
    gap:36px;
    padding-bottom:48px;
}

.foot-brand .brand{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:18px;
}

.foot-brand .brand .word{
    color:var(--white);
}

.foot-brand p{
    color:rgba(255,255,255,.60);
    font-size:14px;
    line-height:1.8;
    max-width:320px;
}

/* ---------- Payline (Safaricom / M-PESA styled) ---------- */

.payline{
    margin-top:22px;
    padding:16px 18px;
    border-radius:var(--radius-md);
    background:#00A651;
    border:1px solid rgba(255,255,255,.15);
    font-family:'JetBrains Mono', monospace;
    font-size:13px;
    color:rgba(255,255,255,.85);
    letter-spacing:.06em;
    text-transform:uppercase;
    position:relative;
    overflow:hidden;
}

.payline::before{
    content:"";
    position:absolute;
    top:0;
    right:0;
    width:80px;
    height:80px;
    background:rgba(255,255,255,.08);
    border-radius:50%;
    transform:translate(30%,-40%);
}

.payline .payline-label{
    display:flex;
    align-items:center;
    gap:6px;
    margin-bottom:6px;
}

.payline .payline-badge{
    width:16px;
    height:16px;
    border-radius:50%;
    background:#fff;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
}

.payline .payline-badge i{
    font-size:9px;
    color:#00A651;
}

.payline b{
    display:block;
    color:#fff;
    font-size:26px;
    letter-spacing:.02em;
    text-transform:none;
    margin:6px 0 8px;
}

/* ---------- Social ---------- */

.foot-social{
    display:flex;
    gap:12px;
    margin-top:22px;
}

.foot-social a{
    width:42px;
    height:42px;
    border-radius:50%;
    display:flex;
    justify-content:center;
    align-items:center;
    border:1px solid rgba(255,255,255,.15);
    color:rgba(255,255,255,.75);
    font-size:18px;
    transition:.3s;
}

.foot-social a:hover{
    background:var(--crimson);
    border-color:var(--crimson);
    color:#fff;
    transform:translateY(-3px);
}

.bi-facebook{
    color:var(--crimson);
}

/* ---------- Columns ---------- */

.foot-col h5{
    color:rgba(255,255,255,.50);
    margin-bottom:18px;
    font-size:12px;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.foot-col a,
.foot-col p{
    display:block;
    margin-bottom:12px;
    color:rgba(255,255,255,.72);
    font-size:14px;
    transition:.3s;
}

.foot-col a:hover{
    color:var(--crimson);
    padding-left:4px;
}

/* ---------- Bottom bar ---------- */

.foot-bottom{
    border-top:1px solid rgba(255,255,255,.10);
    padding:24px 0;
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:14px;
    color:rgba(255,255,255,.45);
    font-size:13px;
}

.foot-bottom a{
    color:inherit;
}

.foot-bottom a:hover{
    color:#fff;
}

/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width:992px){
    .foot-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media (max-width:768px){
    .foot-grid{
        grid-template-columns:1fr;
        text-align:center;
    }

    .foot-brand p{
        margin:auto;
    }

    .foot-brand .brand{
        justify-content:center;
    }

    .foot-social{
        justify-content:center;
    }

    .foot-bottom{
        flex-direction:column;
        text-align:center;
    }
}