/* PUW Finds — Global Theme */
:root {
  --clr-primary:   #305066;   /* deep blue — headings, sidebar, topbar */
  --clr-secondary: #4A6B82;   /* muted blue — secondary text */
  --clr-accent:    #db6968;   /* coral red — prices, highlights, danger */
  --clr-link:      #0ea8e3;   /* sky blue — links, primary buttons */
  --clr-success:   #22c3aa;   /* mint green — success states */
  --clr-bg:        #cfe6ff;   /* light blue-white — page background */
  --clr-card:      #ffffff;   /* card background */
}

/* ── Body background ── */
body { background: var(--clr-bg) !important; }

/* ── Sidebar ── */
.sidebar { background: var(--clr-primary) !important; }

/* ── Topbar (admin) — white bg, dark text ── */
.topbar { background: var(--clr-card) !important; color: var(--clr-primary) !important; }
.topbar .menu-toggle { color: var(--clr-primary) !important; }

/* ── Public topbar — dark bg, white text ── */
.topbar-pub { background: var(--clr-primary) !important; color: #fff; }

/* ── Cards ── */
.card { background: var(--clr-card) !important; }

/* ── Price tags ── */
.price-tag { color: var(--clr-accent) !important; }
.original-price { color: var(--clr-secondary) !important; }

/* ── Primary buttons (blue) ── */
.btn-primary {
  background-color: var(--clr-link) !important;
  border-color: var(--clr-link) !important;
  color: #fff !important;
}
.btn-primary:hover {
  background-color: #0c90c4 !important;
  border-color: #0c90c4 !important;
}
.btn-outline-primary {
  color: var(--clr-link) !important;
  border-color: var(--clr-link) !important;
}
.btn-outline-primary:hover {
  background-color: var(--clr-link) !important;
  color: #fff !important;
}

/* ── Danger buttons (coral red) ── */
.btn-danger {
  background-color: var(--clr-accent) !important;
  border-color: var(--clr-accent) !important;
}
.btn-danger:hover {
  background-color: #c45857 !important;
  border-color: #c45857 !important;
}
.btn-outline-danger {
  color: var(--clr-accent) !important;
  border-color: var(--clr-accent) !important;
}
.btn-outline-danger:hover {
  background-color: var(--clr-accent) !important;
  color: #fff !important;
}

/* ── Success (mint green) ── */
.btn-success {
  background-color: var(--clr-success) !important;
  border-color: var(--clr-success) !important;
}
.btn-success:hover {
  background-color: #1aab95 !important;
  border-color: #1aab95 !important;
}
.btn-outline-success {
  color: var(--clr-success) !important;
  border-color: var(--clr-success) !important;
}
.btn-outline-success:hover {
  background-color: var(--clr-success) !important;
  color: #fff !important;
}
.bg-success { background-color: var(--clr-success) !important; }
.text-success { color: var(--clr-success) !important; }

/* ── Headings & strong text (exclude topbar/sidebar) ── */
h1, h2, h3, h4, h5, h6 {
  color: var(--clr-primary);
}

/* ── Force public topbar text white ── */
.topbar-pub, .topbar-pub a, .topbar-pub span, .topbar-pub i,
.topbar-pub .fw-bold, .topbar-pub .fw-semibold,
.topbar-pub h1, .topbar-pub h2, .topbar-pub h3, .topbar-pub h4, .topbar-pub h5 {
  color: #fff !important;
}
.topbar-pub a:hover { opacity: 0.85; }

/* ── Admin topbar text dark (on white bg) ── */
.topbar h5, .topbar .fw-semibold, .topbar span:not(.badge) {
  color: var(--clr-primary) !important;
}

/* ── Links ── */
a:not(.btn):not(.nav-link):not(.dropdown-item):not(.text-decoration-none) {
  color: var(--clr-link);
}

/* ── Badges ── */
.badge.bg-success { background-color: var(--clr-success) !important; }
.badge.bg-danger  { background-color: var(--clr-accent) !important; }

/* ── Danger text (prices in admin) ── */
.text-danger { color: var(--clr-accent) !important; }

/* ── Table hover ── */
.table-hover tbody tr:hover { background-color: #e8f4ff; }

/* ── Active nav link ── */
.sidebar .nav-link.active,
.sidebar .nav-link:hover {
  background: rgba(255,255,255,.15) !important;
}

/* ── Input focus ── */
.form-control:focus, .form-select:focus {
  border-color: var(--clr-link) !important;
  box-shadow: 0 0 0 .2rem rgba(14,168,227,.2) !important;
}

/* ── Stat card borders ── */
.stat-card.border-primary { border-color: var(--clr-link) !important; }
.stat-card.border-danger   { border-color: var(--clr-accent) !important; }
.stat-card.border-success  { border-color: var(--clr-success) !important; }
.stat-card.border-warning  { border-color: #f0a500 !important; }
