
.gfse-mobile-nav{display:none}
@media(max-width:767px){
 body{padding-bottom:76px}
 .gfse-mobile-nav{
   position:fixed;left:0;right:0;bottom:0;z-index:9999;
   display:flex;align-items:flex-start;justify-content:space-around;
   min-height:62px;padding:7px 4px calc(7px + env(safe-area-inset-bottom));
   background:rgba(10,10,10,.96);color:#fff;
   border-top:1px solid rgba(255,255,255,.10);
   box-shadow:0 -10px 30px rgba(0,0,0,.20);
   backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
 }
 .gfse-nav-item{position:relative;min-width:0;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#8d8d8d;text-decoration:none;font-size:10px;line-height:1.1;padding:2px 2px}
 .gfse-nav-item.is-active{color:#fff}
 .gfse-nav-icon{font-size:20px;line-height:20px;font-weight:400}
 .gfse-nav-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
 .gfse-nav-badge{position:absolute;top:-1px;right:calc(50% - 22px);min-width:16px;height:16px;padding:0 4px;border-radius:99px;background:#fff;color:#000;font-size:9px;line-height:16px;text-align:center;font-weight:700}
}


.gfse-nav-icon{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:24px !important;
    height:22px !important;
    font-size:19px !important;
    line-height:1 !important;
}
.gfse-nav-icon i{
    display:block !important;
    font-size:19px !important;
    line-height:1 !important;
}
.gfse-nav-item.is-active .gfse-nav-icon i{font-weight:900 !important}


/* v1.1.1: cart badge is positioned relative to the cart item */
@media(max-width:767px){
 .gfse-nav-item[data-nav="cart"] .gfse-nav-badge.cart-badge{
   display:inline-flex;
   align-items:center;
   justify-content:center;
   position:absolute !important;
   top:0 !important;
   right:calc(50% - 23px) !important;
   min-width:17px !important;
   height:17px !important;
   padding:0 4px !important;
   border-radius:99px !important;
   background:#fff !important;
   color:#000 !important;
   font-size:9px !important;
   line-height:17px !important;
   font-weight:700 !important;
   z-index:5 !important;
 }
}


/* =========================================================
   v1.1.6 — Premium mobile bottom navigation + footer gap fix
   ========================================================= */
@media(max-width:767px){

    html,
    body{
        background:#050505 !important;
        margin-bottom:0 !important;
    }

    body{
        padding-bottom:72px !important;
    }

    /* Prevent theme/footer bottom spacing from creating a light strip
       immediately above the fixed navigation. */
    footer,
    #colophon,
    .site-footer,
    .td-footer-template,
    .td-footer-wrap{
        margin-bottom:0 !important;
        padding-bottom:0 !important;
    }

    .gfse-mobile-nav{
        left:8px !important;
        right:8px !important;
        bottom:8px !important;
        min-height:62px !important;
        height:auto !important;
        box-sizing:border-box !important;
        padding:7px 6px calc(7px + env(safe-area-inset-bottom)) !important;
        border:1px solid rgba(255,255,255,.12) !important;
        border-radius:18px !important;
        background:rgba(12,12,12,.94) !important;
        box-shadow:
            0 10px 35px rgba(0,0,0,.50),
            0 0 0 1px rgba(255,255,255,.025) inset !important;
        backdrop-filter:blur(20px) saturate(120%) !important;
        -webkit-backdrop-filter:blur(20px) saturate(120%) !important;
        align-items:center !important;
    }

    .gfse-mobile-nav::before{
        content:"" !important;
        position:absolute !important;
        top:0 !important;
        left:18% !important;
        right:18% !important;
        height:1px !important;
        border-radius:99px !important;
        background:rgba(255,255,255,.18) !important;
        pointer-events:none !important;
    }

    .gfse-nav-item{
        position:relative !important;
        height:52px !important;
        padding:5px 3px !important;
        border-radius:13px !important;
        gap:3px !important;
        color:rgba(255,255,255,.48) !important;
        transition:
            background .18s ease,
            color .18s ease,
            transform .18s ease !important;
    }

    .gfse-nav-item.is-active{
        color:#fff !important;
        background:rgba(255,255,255,.09) !important;
        box-shadow:0 0 0 1px rgba(255,255,255,.05) inset !important;
    }

    .gfse-nav-item:active{
        transform:scale(.94) !important;
    }

    .gfse-nav-icon{
        width:26px !important;
        height:24px !important;
        font-size:20px !important;
        line-height:1 !important;
    }

    .gfse-nav-icon i{
        font-size:20px !important;
    }

    .gfse-nav-label{
        font-size:10px !important;
        line-height:1 !important;
        font-weight:500 !important;
        letter-spacing:.1px !important;
    }

    .gfse-nav-badge{
        top:1px !important;
        right:calc(50% - 23px) !important;
        min-width:17px !important;
        height:17px !important;
        padding:0 4px !important;
        border:2px solid #0c0c0c !important;
        font-size:9px !important;
        line-height:13px !important;
        box-sizing:border-box !important;
    }

    .gfse-nav-item.is-active .gfse-nav-badge{
        border-color:#151515 !important;
    }
}

/* Very narrow screens */
@media(max-width:360px){
    .gfse-mobile-nav{
        left:5px !important;
        right:5px !important;
        bottom:5px !important;
        border-radius:16px !important;
    }
}
