/* ==================================================
   THE ARENA — MINIMAL FOOTER + AD PLACEMENT
================================================== */

/* Hide Astra's default footer so only The Arena footer appears. */
#colophon.site-footer{
    display:none !important;
}

.lb-footer-ad-area,
.lb-site-footer{
    width:100%;
    box-sizing:border-box;
    font-family:Arial, Helvetica, sans-serif;
}

.lb-footer-ad-area *,
.lb-site-footer *{
    box-sizing:border-box;
}

/* ---------- Advertisement placement ---------- */

.lb-footer-ad-area{
    padding:18px;
    background:#06162d;
    border-top:1px solid rgba(255,255,255,.07);
}

.lb-footer-ad-inner{
    width:min(1180px, 100%);
    margin:0 auto;
}

.lb-footer-ad-label{
    display:block;
    margin:0 0 7px;
    color:#8493a9;
    font-size:9px;
    font-weight:700;
    letter-spacing:1.5px;
    line-height:1;
    text-align:center;
    text-transform:uppercase;
}

.lb-footer-ad-unit{
    width:100%;
    min-height:90px;
    overflow:hidden;
}

.lb-footer-ad-placeholder{
    min-height:72px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    padding:14px 16px;
    border:1px dashed rgba(56,210,122,.4);
    border-radius:12px;
    background:rgba(56,210,122,.05);
    color:#d5dce6;
    text-align:left;
}

.lb-footer-ad-placeholder-icon{
    width:38px;
    height:38px;
    flex:0 0 38px;
    display:grid;
    place-items:center;
    border-radius:9px;
    background:#38d27a;
    color:#081c3a;
    font-size:11px;
    font-weight:900;
    letter-spacing:1px;
}

.lb-footer-ad-placeholder strong{
    display:block;
    margin-bottom:3px;
    color:#fff;
    font-size:12px;
}

.lb-footer-ad-placeholder p{
    margin:0;
    color:#9eacc0;
    font-size:10.5px;
    line-height:1.45;
}

/* ---------- Slim footer bar ---------- */

.lb-site-footer{
    color:#d5dce6;
    background:#07172f;
    border-top:2px solid #38d27a;
}

.lb-site-footer-bottom-inner{
    width:min(1180px, 100%);
    min-height:54px;
    margin:0 auto;
    padding:13px 20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}

.lb-site-footer p{
    margin:0;
    color:#8493a9;
    font-size:10px;
    line-height:1.5;
}

.lb-site-footer p:last-child{
    color:#aeb9c9;
    font-weight:800;
    letter-spacing:.75px;
    text-transform:uppercase;
}

@media(max-width:620px){
    .lb-footer-ad-area{
        padding:14px 12px;
    }

    .lb-footer-ad-unit{
        min-height:70px;
    }

    .lb-footer-ad-placeholder{
        min-height:64px;
        justify-content:flex-start;
    }

    .lb-site-footer-bottom-inner{
        min-height:60px;
        padding:12px 16px;
        flex-direction:column;
        justify-content:center;
        gap:3px;
        text-align:center;
    }

    .lb-site-footer p{
        font-size:9.5px;
    }
}

/* ==================================================
   STICKY SITE-WIDE FOOTER
================================================== */

:root{
    --arena-sticky-footer-height:54px;
}

/* Reserve space so the fixed footer never covers page content. */
body{
    padding-bottom:var(--arena-sticky-footer-height) !important;
}

.lb-site-footer{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    width:100%;
    z-index:9990;
    box-shadow:0 -8px 24px rgba(0,0,0,.22);
}

/* Keep the footer flush with the viewport, even inside theme wrappers. */
.lb-site-footer-bottom-inner{
    max-width:none;
    width:100%;
}

@media(max-width:620px){
    :root{
        --arena-sticky-footer-height:60px;
    }
}

/* WordPress admin bar compatibility on the frontend. */
body.admin-bar .lb-site-footer{
    width:100%;
}


/* Give long policy content enough scroll clearance above the fixed footer. */
body .arena-policy-page{
    padding-bottom:calc(var(--arena-sticky-footer-height, 54px) + 48px) !important;
}

@media(max-width:620px){
    body .arena-policy-page{
        padding-bottom:calc(var(--arena-sticky-footer-height, 60px) + 58px) !important;
    }
}
