
.bnc-theme-switcher-menu {
  width: min(92vw, 360px);
  padding: .95rem;
  border-radius: 1.1rem;
}

.bnc-theme-switcher-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .85rem;
}

.bnc-theme-switcher-title h6 {
  margin: 0;
  font-size: .95rem;
}

.bnc-theme-switcher-title p {
  margin: .15rem 0 0;
  color: var(--bs-secondary-color, #6c757d);
  font-size: .76rem;
}

.bnc-theme-switcher-status {
  min-height: 1.2rem;
  font-size: .72rem;
  color: var(--bs-secondary-color, #6c757d);
  text-align: left;
}

.bnc-theme-switcher-group + .bnc-theme-switcher-group {
  margin-top: .9rem;
}

.bnc-theme-switcher-label {
  font-size: .76rem;
  font-weight: 700;
  color: var(--bs-secondary-color, #6c757d);
  margin-bottom: .45rem;
}

.bnc-theme-switcher-swatches {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .5rem;
}

.bnc-theme-swatch {
  position: relative;
  border: 1px solid var(--bs-border-color, rgba(0,0,0,.1));
  background: #fff;
  border-radius: 1rem;
  padding: .45rem;
  display: flex;
  align-items: center;
  gap: .45rem;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.bnc-theme-swatch:hover,
.bnc-theme-swatch:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(var(--bs-primary-rgb, 13,110,253), .38);
  box-shadow: 0 .5rem 1.25rem rgba(0,0,0,.08);
}

.bnc-theme-swatch.is-active {
  border-color: rgba(var(--bs-primary-rgb, 13,110,253), .5);
  box-shadow: 0 0 0 .18rem rgba(var(--bs-primary-rgb, 13,110,253), .12);
  background: rgba(var(--bs-primary-rgb, 13,110,253), .06);
}

.bnc-theme-swatch-chip {
  inline-size: 1.1rem;
  block-size: 1.1rem;
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.55), 0 0 0 1px rgba(0,0,0,.08);
  flex: 0 0 auto;
}

.bnc-theme-swatch-label {
  font-size: .73rem;
  font-weight: 600;
  color: inherit;
  white-space: nowrap;
}

.bnc-theme-swatch-chip[data-theme="ocean"] { background: linear-gradient(135deg, #2563eb, #38bdf8); }
.bnc-theme-swatch-chip[data-theme="emerald"] { background: linear-gradient(135deg, #059669, #34d399); }
.bnc-theme-swatch-chip[data-theme="violet"] { background: linear-gradient(135deg, #7c3aed, #a78bfa); }
.bnc-theme-swatch-chip[data-theme="sunset"] { background: linear-gradient(135deg, #f97316, #fb7185); }
.bnc-theme-swatch-chip[data-theme="ruby"] { background: linear-gradient(135deg, #dc2626, #f472b6); }
.bnc-theme-swatch-chip[data-theme="slate"] { background: linear-gradient(135deg, #334155, #94a3b8); }

.bnc-theme-switcher-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
}

.bnc-theme-switcher-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-top: 1rem;
  padding-top: .9rem;
  border-top: 1px solid var(--bs-border-color, rgba(0,0,0,.08));
}

.bnc-theme-switcher-inline {
  display: flex;
  gap: .45rem;
  align-items: center;
  flex-wrap: wrap;
}

.bnc-theme-switcher-inline .badge {
  font-weight: 500;
}

.bnc-header-theme-trigger .header-link-icon,
.bnc-header-theme-trigger i,
.bnc-inline-theme-trigger i {
  transition: transform .22s ease;
}

.bnc-header-theme-trigger:hover .header-link-icon,
.bnc-inline-theme-trigger:hover i {
  transform: rotate(-10deg) scale(1.04);
}

@media (max-width: 575.98px) {
  .bnc-theme-switcher-menu {
    width: min(96vw, 350px);
    padding: .85rem;
  }
  .bnc-theme-switcher-swatches,
  .bnc-theme-switcher-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .bnc-theme-switcher-actions {
    align-items: stretch;
    flex-direction: column;
  }
}

html[data-theme-mode="dark"] .bnc-theme-swatch {
  background: rgba(255,255,255,.04);
}
