:root {
  color-scheme: only dark;
}
/* Basic styles for Intelligo Cookie Banner */
.icb-banner {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 2.5rem;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0;
  max-width: 36rem; /* Tailwind's max-w-xl = 36rem = 576px */
  background: #111;
  color: #fff;
  border-radius: 12px;
  padding: 1rem;
  z-index: 99999;
  box-shadow: 0 8px 24px rgba(0,0,0,.3);
  /* Banner is visible by default; animation handled by .icb-visible if desired */
  transition: all .25s ease;
}
.icb-visible { transform: translateY(0); opacity: 1; }
.icb-banner__title { margin: 0 0 .25rem; font-size: 1.1rem; font-weight: 700; }
.icb-banner__text { margin: 0 0 .75rem; line-height: 1.45; font-size: .95rem; }
.icb-banner__actions { display: flex; gap: .5rem; flex-wrap: wrap; }
.icb-btn {
  cursor: pointer; border: 1px solid #333; padding: .5rem .75rem; border-radius: 8px; font-weight: 600;
  background: #222; color: #fff;
}
.icb-btn--primary { 
  background: #222; 
  color: #fff; 
  border-color: #222; 
}
.icb-btn--ghost { background: transparent; color: #fff; border-color: #555; }
.icb-btn--neutral { background: #222; color: #fff; }

.icb-policy { display: inline-block; margin-top: .5rem; font-size: .85rem; color: #bbb; text-decoration: underline; }

/* Modal */
.icb-modal { position: fixed; inset: 0; background: rgba(0,0,0,.45); display: none; z-index: 100000; }
.icb-modal.icb-open { display: block; }
.icb-modal__dialog {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%);
  width: min(680px, 92vw); background: #111; color: #fff; border-radius: 12px; overflow: hidden;
  box-shadow: 0 12px 36px rgba(0,0,0,.25);
}
.icb-modal__header { padding: .9rem 1rem; border-bottom: 1px solid #222; display: flex; justify-content: space-between; align-items: center; }
.icb-close { background: transparent; border: 0; font-size: 1.25rem; cursor: pointer; }
.icb-modal__body { padding: 1rem; }
.icb-categories { list-style: none; padding: 0; margin: 0; }
.icb-cat { padding: .5rem 0; border-bottom: 1px solid #f3f3f3; }
.icb-cat:last-child { border-bottom: 0; }
.icb-cat label { display: flex; gap: .5rem; align-items: center; }
.icb-cat input[type="checkbox"] { width: 18px; height: 18px; }
.icb-cat__label { font-weight: 600; }

.icb-modal__footer { padding: .9rem 1rem; border-top: 1px solid #222; display: flex; gap: .5rem; justify-content: flex-end; }

/* Footer link wrapper */
.icb-footer-link { text-align: center; margin-top: .5rem; }
.icb-footer-link .icb-open-prefs { color: #999; font-size: .85rem; text-decoration: underline; }

.icb-modal__dialog { background: #111; color: #fff; }

.icb-cat { border-bottom-color: #222; }
.icb-btn--primary { background: #222; color: #fff; border-color: #222; }
.icb-btn--ghost { color: #ddd; border-color: #444; }
.icb-banner { background: #111; color: #fff; }

@media (max-width: 640px) {
  .icb-banner {
    max-width: 100vw;
    left: 0;
    right: 0;
    margin-left: 0;
    margin-right: 0;
    bottom: 0.5rem;
    border-radius: 10px;
    margin-bottom: 0;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}
