:root{
    --sf-primary:#0f5aa6;
    --sf-primary-2:#0ea5e9;
    --sf-dark:#07152b;
    --sf-text:#dbeafe;
    --sf-muted:#9fb7d5;
    --sf-border:rgba(255,255,255,.12);
    --sf-orange:#f97316;
    --sf-green:#16a34a;
}

.cb-site-footer{
    background:
        radial-gradient(circle at 12% 0%, rgba(14,165,233,.18), transparent 280px),
        radial-gradient(circle at 90% 18%, rgba(249,115,22,.13), transparent 260px),
        linear-gradient(135deg,#061326 0%,#082f63 52%,#0f172a 100%);
    color:#fff;
    border-top:1px solid rgba(255,255,255,.10);
    margin-top:0;
    font-family:"Segoe UI","Noto Sans Bengali","Helvetica Neue",Arial,sans-serif;
}

.cb-site-footer *{
    box-sizing:border-box;
}

.cb-footer-shell{
    max-width:1220px;
    margin:0 auto;
    padding:42px 18px 22px;
}

.cb-footer-top{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) repeat(3,minmax(160px,.75fr));
    gap:26px;
    align-items:start;
}

.cb-footer-brand{
    display:flex;
    gap:14px;
    align-items:flex-start;
}

.cb-footer-logo{
    width:50px;
    height:50px;
    min-width:50px;
    border-radius:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,var(--sf-orange),#facc15);
    color:#fff;
    font-size:24px;
    font-weight:900;
    box-shadow:0 16px 32px rgba(249,115,22,.25);
}

.cb-footer-brand h3{
    margin:0 0 8px;
    font-size:22px;
    line-height:1.2;
    font-weight:850;
    color:#fff;
    letter-spacing:-.03em;
}

.cb-footer-brand p{
    margin:0;
    max-width:430px;
    color:var(--sf-text);
    font-size:14px;
    line-height:1.7;
}

.cb-footer-col h4{
    margin:0 0 13px;
    font-size:15px;
    font-weight:850;
    color:#fff;
}

.cb-footer-links{
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    gap:9px;
}

.cb-footer-links a,
.cb-footer-contact{
    color:var(--sf-muted);
    font-size:14px;
    line-height:1.45;
    display:inline-flex;
    align-items:center;
    gap:7px;
}

.cb-footer-links a:hover{
    color:#fff;
    transform:translateX(2px);
}

.cb-footer-contact{
    display:flex;
    align-items:flex-start;
    margin:0 0 9px;
}

.cb-footer-cta{
    margin-top:16px;
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

.cb-footer-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:40px;
    padding:9px 13px;
    border-radius:12px;
    font-size:13px;
    font-weight:800;
    text-decoration:none;
    transition:.18s ease;
}

.cb-footer-btn-primary{
    background:linear-gradient(135deg,var(--sf-orange),#facc15);
    color:#fff;
}

.cb-footer-btn-light{
    background:rgba(255,255,255,.10);
    color:#fff;
    border:1px solid var(--sf-border);
}

.cb-footer-btn:hover{
    transform:translateY(-1px);
}

.cb-footer-bottom{
    margin-top:28px;
    padding-top:18px;
    border-top:1px solid var(--sf-border);
    display:flex;
    justify-content:space-between;
    gap:14px;
    flex-wrap:wrap;
    color:var(--sf-muted);
    font-size:13px;
}

.cb-footer-bottom strong{
    color:#fff;
}

/* auth pages need footer below centered card */
body.auth-page-with-footer{
    display:block !important;
    align-items:initial !important;
    justify-content:initial !important;
    min-height:100vh !important;
}

.auth-main-wrap{
    min-height:calc(100vh - 255px);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:26px 0;
}

.auth-page-with-footer .cb-site-footer{
    margin-top:0;
}

@media(max-width:900px){
    .cb-footer-top{
        grid-template-columns:1fr 1fr;
        gap:22px;
    }

    .cb-footer-brand{
        grid-column:1/-1;
    }
}

@media(max-width:640px){
    .cb-footer-shell{
        padding:32px 14px 18px;
    }

    .cb-footer-top{
        grid-template-columns:1fr 1fr;
        gap:18px 14px;
    }

    .cb-footer-brand{
        grid-column:1/-1;
    }

    .cb-footer-brand h3{
        font-size:20px;
    }

    .cb-footer-brand p{
        font-size:13px;
    }

    .cb-footer-links a,
    .cb-footer-contact{
        font-size:13px;
    }

    .cb-footer-cta{
        display:grid;
        grid-template-columns:1fr 1fr;
        width:100%;
    }

    .cb-footer-btn{
        width:100%;
        text-align:center;
    }

    .cb-footer-bottom{
        display:grid;
        gap:8px;
        text-align:left;
    }

    .auth-main-wrap{
        min-height:auto;
        padding:22px 0 34px;
    }
}

@media(max-width:420px){
    .cb-footer-top{
        grid-template-columns:1fr;
    }

    .cb-footer-cta{
        grid-template-columns:1fr;
    }

    .cb-footer-logo{
        width:46px;
        height:46px;
        min-width:46px;
    }
}


/* Footer webview safe bottom v2 */
@media(max-width:920px){
    .cb-site-footer{
        padding-bottom:calc(84px + env(safe-area-inset-bottom, 0px))!important;
    }
}
