/* Synchro theme — matched to trendrr.ai's palette (warm near-black, orange-red accent) */
:root {
  --brand-bg: #0e0d0c;
  --brand-surface: #161412;
  --brand-surface-hover: #1c1916;
  --brand-border: #2a2826;
  --brand-border-subtle: #1e1c1a;
  --brand-text: #edeae6;
  --brand-muted: #8b8882;
  --brand-dim: #888780;
  --brand-accent: #ff5c35;
  --brand-accent-hover: #e04d28;
  --brand-radius-lg: 0.75rem;
  --brand-radius-md: 0.5rem;
}

html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

html, body {
  min-height: 100%;
}

body {
  background: var(--brand-bg);
  color: var(--brand-text);
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

a {
  color: var(--brand-accent);
}
a:hover {
  color: var(--brand-accent-hover);
}

h1, h2, h3, h4, h5, h6 {
  color: var(--brand-text);
}

.text-muted {
  color: var(--brand-muted) !important;
}

/* Buttons */
.btn-primary {
  background-color: var(--brand-accent);
  border-color: var(--brand-accent);
  color: #fff;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
  background-color: var(--brand-accent-hover) !important;
  border-color: var(--brand-accent-hover) !important;
  color: #fff !important;
}
.btn-outline-primary {
  color: var(--brand-accent);
  border-color: var(--brand-accent);
}
.btn-outline-primary:hover {
  background-color: var(--brand-accent);
  border-color: var(--brand-accent);
  color: #fff;
}
.btn-outline-secondary {
  color: var(--brand-muted);
  border-color: var(--brand-border);
}
.btn-outline-secondary:hover {
  background-color: var(--brand-surface-hover);
  border-color: var(--brand-border);
  color: var(--brand-text);
}
.btn-link {
  color: var(--brand-muted);
}
.btn-link:hover {
  color: var(--brand-text);
}
.btn, .form-control, .form-select {
  border-radius: var(--brand-radius-md);
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.2rem rgba(255, 92, 53, 0.35);
}

/* Forms */
.form-control, .form-select {
  background-color: var(--brand-surface);
  border-color: var(--brand-border);
  color: var(--brand-text);
}
.form-control:focus, .form-select:focus {
  background-color: var(--brand-surface);
  border-color: var(--brand-accent);
  color: var(--brand-text);
}
.form-control::placeholder {
  color: var(--brand-dim);
}
.form-label {
  color: var(--brand-text);
  font-weight: 500;
}
.form-text {
  color: var(--brand-muted);
}
.form-check-input {
  background-color: var(--brand-surface);
  border-color: var(--brand-border);
}
.form-check-input:checked {
  background-color: var(--brand-accent);
  border-color: var(--brand-accent);
}

/* Alerts */
.alert-success {
  background-color: rgba(255, 92, 53, 0.1);
  border-color: var(--brand-border);
  color: var(--brand-text);
}
.alert-danger {
  background-color: rgba(220, 53, 69, 0.15);
  border-color: rgba(220, 53, 69, 0.3);
  color: #f3a4ac;
}

/* Tables */
.table {
  color: var(--brand-text);
  border-color: var(--brand-border);
}
.table > :not(caption) > * > * {
  background-color: transparent;
  border-bottom-color: var(--brand-border);
  color: var(--brand-text);
}
.table > thead {
  color: var(--brand-muted);
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

/* Badges */
.badge.text-bg-success {
  background-color: rgba(76, 175, 100, 0.18) !important;
  color: #7fd99a !important;
}
.badge.text-bg-secondary {
  background-color: var(--brand-surface-hover) !important;
  color: var(--brand-muted) !important;
}
.badge.text-bg-warning {
  background-color: rgba(255, 92, 53, 0.18) !important;
  color: var(--brand-accent) !important;
}

/* Collapsible section/group headers (Reviews page) */
.synchro-toggle {
  background: none;
  border: none;
  padding: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--brand-text);
  cursor: pointer;
}
.synchro-toggle:hover {
  color: var(--brand-accent);
}
.synchro-toggle .chevron {
  display: inline-block;
  transition: transform 0.15s ease;
  color: var(--brand-muted);
  font-size: 0.75em;
}
.synchro-toggle[aria-expanded="true"] .chevron {
  transform: rotate(90deg);
}
.synchro-toggle .count {
  font-weight: 400;
  color: var(--brand-muted);
  font-size: 0.85rem;
}
.synchro-group-toggle {
  font-size: 0.95rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.synchro-card {
  background: var(--brand-surface);
  border: 1px solid var(--brand-border);
  border-radius: var(--brand-radius-lg);
  padding: 1.5rem;
  margin-bottom: 1.5rem;
}

.synchro-info-icon {
  display: inline-block;
  margin-left: 6px;
  color: var(--brand-accent);
  cursor: help;
  font-size: 1rem;
  vertical-align: middle;
}

code {
  color: var(--brand-accent);
}
pre code {
  color: inherit;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--brand-dim);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}
