/* Cookie Box IL v1.3 – bottom-right fixed cube */
:root{
  --cb-bg: #0f172a;
  --cb-card: #111827;
  --cb-fg: #e5e7eb;
  --cb-muted: #a3a3a3;
  --cb-accent: #22d3ee;
  --cb-line: rgba(255,255,255,.12);
  --cb-radius: 16px;
}
/* wrapper fixed to bottom-right */
.cbox-wrap{
  position: fixed; right: 18px; bottom: 18px;
  z-index: 999999; max-width: 380px; width: calc(100vw - 36px);
}
.cbox-wrap[hidden]{ display:none; }
.cbox-card{
  background: var(--cb-card); color: var(--cb-fg); border:1px solid var(--cb-line);
  border-radius: var(--cb-radius); padding: 16px; box-shadow: 0 16px 40px rgba(0,0,0,.45);
}
.cbox-head{ font-weight:800; margin-bottom:6px }
.cbox-text{ font-size:14px; color: var(--cb-fg); opacity:.95 }
.cbox-actions{ display:flex; flex-direction:column; gap:8px; margin-top:12px }
.cbox-btn{
  padding: 10px 12px; border-radius: 12px; border:1px solid var(--cb-line);
  background: #1f2937; color: var(--cb-fg); font-weight:700; cursor:pointer; text-align:center
}
.cbox-btn.primary{ background: var(--cb-accent); color:#041a1f; border-color: transparent }
.cbox-btn.ghost{ background: transparent }
.cbox-links{ margin-top:8px; font-size:12px; color: var(--cb-muted); text-align:center }
.cbox-links a{ color: var(--cb-fg); text-decoration: underline; }

/* Modal */
.cbox-modal{ position:fixed; inset:0; background:rgba(0,0,0,.55); z-index: 999999; display:block }
.cbox-modal[hidden]{ display:none }
.cbox-dialog{
  width:min(720px, 92vw); background: var(--cb-card); color: var(--cb-fg);
  border:1px solid var(--cb-line); border-radius: var(--cb-radius);
  margin: 8vh auto; padding: 10px 12px 12px; box-shadow: 0 20px 50px rgba(0,0,0,.5);
}
.cbox-head-row{ display:flex; align-items:center; justify-content:space-between; padding:6px 4px 8px; border-bottom:1px solid var(--cb-line) }
#cbox-title{ font-weight:800 }
.cbox-close{ background:transparent; border:none; color:var(--cb-fg); font-size:24px; cursor:pointer }

.cbox-body{ padding:12px 4px; display:grid; gap:12px; max-height: 60vh; overflow:auto }
.cbox-group{ border:1px solid var(--cb-line); border-radius:12px; padding:12px }
.cbox-group.disabled{ opacity:.75 }
.g-title{ font-weight:700; margin-bottom:6px }
.g-desc{ color:var(--cb-muted); font-size:13px }

.g-switch{ display:inline-flex; align-items:center; gap:8px; float: inline-start }
.g-switch input{ display:none }
.g-switch span{
  width: 42px; height: 24px; background:#374151; border-radius:999px; position:relative; display:inline-block;
}
.g-switch span::after{
  content:""; position:absolute; inset:3px auto 3px 3px; width:18px; height:18px; background:#fff; border-radius:50%; transition: all .2s;
}
.g-switch input:checked + span{ background:#34d399 }
.g-switch input:checked + span::after{ inset:3px 3px 3px auto }

.cbox-foot{ display:flex; gap:8px; justify-content:flex-end; padding-top:8px; border-top:1px solid var(--cb-line) }

@media (max-width: 560px){
  .cbox-wrap{ right: 10px; left: 10px; width: auto; bottom: 10px }
  .cbox-card{ padding: 14px }
}
