/* Minimal, move/tweak in your design system if you want */
.cc-banner {
    position: fixed;
    inset: auto 1rem 1rem 1rem;
    z-index: 1000;
    background: #111827;
    color: #f9fafb;
    border-radius: 0.75rem;
    box-shadow: 0 10px 30px rgba(0,0,0,.25);
    padding: 1rem 1.25rem;
    display: none; /* hidden by default, shown via JS */
    max-width: 720px;
    margin: 0 auto;
}
.cc-banner__title { font-weight: 700; margin: 0 0 .25rem; font-size: 1rem; }
.cc-banner__text { margin: 0 0 .75rem; font-size: .95rem; line-height: 1.35; }
.cc-banner__actions { display: flex; gap: .5rem; flex-wrap: wrap; }
.cc-btn {
    border: 0; cursor: pointer; padding: .6rem .9rem; border-radius: .5rem;
    font-weight: 600;
}
.cc-btn--accept { background: #10b981; color: #062b25; }
.cc-btn--reject { background: #374151; color: #f3f4f6; }
.cc-btn--prefs  { background: transparent; color: #e5e7eb; text-decoration: underline; padding: .4rem .2rem; }
.cc-link { color: #a7f3d0; text-decoration: underline; }
@media (min-width: 768px) {
    .cc-banner { left: 50%; transform: translateX(-50%); }
}
.cc-prefs {
    display: none;
    margin-top: .75rem;
    padding-top: .75rem;
    border-top: 1px solid #334155;
}
.cc-switch { display: flex; align-items: center; gap: .5rem; }
.cc-switch input { width: 2.2rem; height: 1.1rem; }
.cc-prefs__actions { display: flex; gap: .5rem; margin-top: .5rem; }
