:root{ --sgcc-bg:#111827; --sgcc-text:#fff; --sgcc-btn:#FFAE00; --sgcc-btn-text:#FFF; }
.sgcc{ font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif; }
.sgcc-banner{ position:fixed; left:0; right:0; z-index:99999; background:var(--sgcc-bg); color:var(--sgcc-text); padding:16px; box-shadow:0 -2px 12px rgba(0,0,0,.2); }
.sgcc-pos-bottom{ bottom:0; }
.sgcc-pos-top{ top:0; }
.sgcc-content{ max-width:1100px; margin:0 auto; display:flex; gap:16px; align-items:center; }
.sgcc-text{ flex:1; line-height:1.4; }
.sgcc-link{ color:#93C5FD; text-decoration:underline; }
.sgcc-actions{ display:flex; gap:8px; flex-wrap:wrap; }
.sgcc-btn{ background:#004D80; color:#FFF; border:none; border-radius:999px; padding:10px 14px; cursor:pointer; font-weight:600; }
.sgcc-btn.sgcc-reject{ background:transparent; color:var(--sgcc-text); outline:1px solid rgba(255,255,255,.4); }
.sgcc-btn.sgcc-manage{ background:#374151; color:#fff; }

.sgcc-modal{ position:fixed; inset:0; background:rgba(0,0,0,.5); display:flex; align-items:center; justify-content:center; z-index:2147483646; }
.sgcc-modal-inner{ background:#fff; color:#111; max-width:720px; width:92%; border-radius:12px; padding:20px; box-shadow:0 10px 30px rgba(0,0,0,.25); }
.sgcc-cats{ display:grid; gap:16px; margin:16px 0; }
.sgcc-cat{ border:1px solid #e5e7eb; border-radius:10px; padding:12px; }
.sgcc-switch{ display:flex; align-items:center; gap:12px; }
.sgcc-switch input{ display:none; }
.sgcc-slider{ width:44px; height:24px; background:#e5e7eb; border-radius:999px; position:relative; }
.sgcc-slider::after{ content:""; width:18px; height:18px; background:#fff; border-radius:999px; position:absolute; top:3px; left:3px; transition:all .2s; box-shadow:0 1px 2px rgba(0,0,0,.2); }
.sgcc-switch input:checked + .sgcc-slider{ background:#FFAE00; }
.sgcc-switch input:checked + .sgcc-slider::after{ transform:translateX(20px); }
.sgcc-modal-actions{ display:flex; justify-content:flex-end; gap:8px; }
.sgcc-blocked{ position:relative; }
.sgcc-blocked::after{ content:"Consent required"; position:absolute; inset:auto auto 4px 4px; background:#111827; color:#fff; font-size:12px; padding:2px 6px; border-radius:6px; }

/* Floating Cookie button (bottom-left) */
.sgcc-fab{ position:fixed; left:16px; bottom:16px; width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--sgcc-bg); color:var(--sgcc-text); box-shadow:0 6px 18px rgba(0,0,0,.25); border:1px solid rgba(255,255,255,.15); cursor:pointer; z-index:2147483646; }
.sgcc-fab:hover{ transform:translateY(-1px); }
.sgcc-fab:active{ transform:translateY(0); }
.sgcc-fab .sgcc-fab-icon{ font-size:22px; line-height:1; }

/* Defensive visibility for FAB */
.sgcc-fab{ position:fixed; left:16px; bottom:16px; width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--sgcc-bg); color:var(--sgcc-text); box-shadow:0 6px 18px rgba(0,0,0,.25); border:1px solid rgba(255,255,255,.15); cursor:pointer; z-index:2147483646; }
.sgcc-fab .sgcc-fab-icon{ width:22px; height:22px; display:block; }

/* Ensure hidden elements are not displayed */
.sgcc[hidden], [hidden]{ display:none  }
