.cs-bar{position:fixed;bottom:0;left:0;width:100%;background:#ffffff;color:#5d5d5d;font-size:16px;padding:20px 40px;display:flex;flex-wrap:wrap;align-items:center;gap:20px;z-index:9999;box-shadow:0 -2px 6px rgba(0,0,0,.1);}
.cs-bar.hidden{display:none;}
.cs-bar .cs-title{ display: block; width: 100%; }
.btn{border:none;padding:12px 20px;cursor:pointer;border-radius:0;font-weight:500;}
.btn.allow{background:#e16b43;color:#fff;}
.btn.deny,.btn.options{background:#f0f0f0;color:#212121;}

/* modal */
.cs-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;z-index:10000;}
.cs-modal.hidden{display:none;}
.cs-modal-content{background:#fff;padding:30px 40px;max-width:600px;width:95%;border-radius:0;overflow:auto;max-height:90vh;}
.cs-toggle-line{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:0px solid #eee;}
.cs-modal .switch{position:relative;display:inline-block;width:125px;height:24px;}
.cs-modal .switch input{opacity:0;width:0;height:0;}
.cs-modal .slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:#ccc;transition:.2s;border-radius:24px; height: 1.5rem;}
.cs-modal .slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background:white;transition:.2s;border-radius:50%;}
.cs-modal input:checked + .slider{background:#0172cb;}
.cs-modal input:checked + .slider:before{transform:translateX(22px);}
.cs-modal .always-on{color:#219653;font-weight:600;}
.cs-modal .modal-actions{margin-top:20px;text-align:right;}
.cs-overlay{position:fixed;inset:0;z-index:998;background:rgba(0,0,0,.4);pointer-events:auto}
.cs-overlay.hidden { display: none; }

.cs-bar.cs-error { color:#b91c1c; }

.cs-bar{
    box-shadow:0 4px 12px rgba(0,0,0,.12);
    border-radius:0;
}

@media (min-width:768px){
    .cs-bar{
        left:50%;
        transform:translateX(-50%);
        width:auto;               /* shrink to fit content */
        max-width:600px;          /* “half size” */
        bottom:20px;              /* little margin */
        padding:18px 32px;
    }
}

@media (max-width:767.98px){
    .cs-bar{
        width:100%;
        left:0;
        transform:none;
        bottom:0;
        border-radius:0;          /* flush edge */
    }
}