/* 2026-04-26: VS Cookie styles */
.vs-consent-banner{
  position:fixed; left:16px; right:16px; bottom:16px; z-index:999999;
  background:#fff; border:1px solid rgba(0,0,0,.12); border-radius:10px;
  box-shadow:0 10px 30px rgba(0,0,0,.12);
  padding:12px; display:none;
}
.vs-consent-inner{display:flex; gap:12px; align-items:flex-start; justify-content:space-between}
.vs-consent-text{flex:1; font-size:14px; color:#111}
.vs-consent-actions{display:flex; gap:8px; align-items:center; flex-wrap:wrap}
.vs-btn{border:1px solid rgba(0,0,0,.2); background:#fff; border-radius:6px; padding:6px 10px; cursor:pointer; font-size:13px}
.vs-btn-primary{background:#0d6efd; border-color:#0d6efd; color:#fff}
.vs-btn-secondary{background:#6c757d; border-color:#6c757d; color:#fff}

.vs-consent-modal{
  position:fixed; inset:0; z-index:1000000;
  background:rgba(0,0,0,.45); display:none;
  align-items:center; justify-content:center; padding:16px;
}
.vs-consent-card{
  width:min(720px,100%); background:#fff; border-radius:12px; overflow:hidden;
  box-shadow:0 12px 40px rgba(0,0,0,.22);
}
.vs-consent-header{display:flex; align-items:center; justify-content:space-between; padding:12px 16px; border-bottom:1px solid rgba(0,0,0,.08)}
.vs-consent-title{margin:0; font-size:18px}
.vs-consent-x{border:0; background:transparent; font-size:26px; line-height:1; cursor:pointer}
.vs-consent-body{padding:14px 16px}
.vs-consent-footer{padding:12px 16px; border-top:1px solid rgba(0,0,0,.08); display:flex; justify-content:flex-end; gap:10px}

.vs-row{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid rgba(0,0,0,.06)}
.vs-row:last-child{border-bottom:0}
.vs-muted{color:#666; font-size:13px}
.vs-pill{display:inline-block; padding:5px 10px; border-radius:999px; background:rgba(0,0,0,.06); font-size:12px}

.vs-switch{position:relative; display:inline-block; width:46px; height:26px}
.vs-switch input{display:none}
.vs-slider{position:absolute; cursor:pointer; inset:0; background:rgba(0,0,0,.25); border-radius:999px; transition:.2s}
.vs-slider:before{
  content:""; position:absolute; height:20px; width:20px; left:3px; top:3px; background:#fff;
  border-radius:50%; transition:.2s; box-shadow:0 2px 8px rgba(0,0,0,.2)
}
.vs-switch input:checked + .vs-slider{background:rgba(13,110,253,.7)}
.vs-switch input:checked + .vs-slider:before{transform:translateX(20px)}

@media (max-width:640px){
  .vs-consent-inner{flex-direction:column}
  .vs-consent-actions{width:100%; justify-content:flex-end}
}