#cnb-bar{
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 99999;
    background: var(--cnb-bg, #d32f2f);
    padding: 12px 16px;
    box-shadow: 0 -2px 8px rgba(0,0,0,0.15);
}
#cnb-bar .cnb-btn{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    text-decoration: none;
    font-weight: 700;
    font-size: 17px;
    color: var(--cnb-text, #fff);
}
#cnb-bar .cnb-icon{
    display: inline-flex;
    width: 20px;
    height: 20px;
}
#cnb-bar .cnb-icon svg{
    width: 20px;
    height: 20px;
    fill: currentColor;
}
@media (min-width: 992px){
    #cnb-bar{ padding: 14px 20px; }
    #cnb-bar .cnb-btn{ font-size: 18px; }
}
body{ padding-bottom: 56px; } /* prevent content overlap */