/*
 * Ghit Theme
 * A custom Bootstrap 5 compatible theme.
 * Crimson and charcoal palette on a warm white base.
 */
@import url("/static/bootstrap-5.3.8.min.css");

/* ------------------------------------------------------------------ */
/* 1. Design tokens (CSS custom properties)                           */
/* ------------------------------------------------------------------ */
:root,
[data-bs-theme="light"] {
  /* --- brand --- */
  --bs-primary: #9b1b30;
  --bs-primary-rgb: 155, 27, 48;
  --bs-primary-text-emphasis: #5e101d;
  --bs-primary-bg-subtle: #f5d5db;
  --bs-primary-border-subtle: #dfa4ae;
  /* --- neutral --- */
  --bs-secondary: #3d3436;
  --bs-secondary-rgb: 61, 52, 54;
  --bs-secondary-text-emphasis: #1e1a1b;
  --bs-secondary-bg-subtle: #e6e2e3;
  --bs-secondary-border-subtle: #b8b0b2;
  /* --- semantic --- */
  --bs-success: #38754a;
  --bs-success-rgb: 56, 117, 74;
  --bs-success-text-emphasis: #1c3b25;
  --bs-success-bg-subtle: #d6eadd;
  --bs-success-border-subtle: #a5ccb2;
  --bs-info: #35698e;
  --bs-info-rgb: 53, 105, 142;
  --bs-info-text-emphasis: #1a3447;
  --bs-info-bg-subtle: #d6e5ef;
  --bs-info-border-subtle: #a3c4d9;
  --bs-warning: #a8791a;
  --bs-warning-rgb: 168, 121, 26;
  --bs-warning-text-emphasis: #543c0d;
  --bs-warning-bg-subtle: #f0e4ca;
  --bs-warning-border-subtle: #ddc38b;
  --bs-danger: #c24545;
  --bs-danger-rgb: 194, 69, 69;
  --bs-danger-text-emphasis: #612323;
  --bs-danger-bg-subtle: #f5d8d8;
  --bs-danger-border-subtle: #e5a8a8;
  /* --- surfaces --- */
  --bs-light: #faf8f6;
  --bs-light-rgb: 250, 248, 246;
  --bs-dark: #1a1517;
  --bs-dark-rgb: 26, 21, 23;
  --bs-body-bg: #fefcfa;
  --bs-body-bg-rgb: 254, 252, 250;
  --bs-body-color: #2b2426;
  --bs-body-color-rgb: 43, 36, 38;
  --bs-secondary-color: rgba(43, 36, 38, 0.68);
  --bs-secondary-color-rgb: 43, 36, 38;
  --bs-tertiary-bg: #f5f1ee;
  --bs-tertiary-bg-rgb: 245, 241, 238;
  /* --- links --- */
  --bs-link-color: #9b1b30;
  --bs-link-color-rgb: 155, 27, 48;
  --bs-link-hover-color: #7a1526;
  --bs-link-hover-color-rgb: 122, 21, 38;
  /* --- misc --- */
  --bs-code-color: #9b1b30;
  --bs-highlight-bg: #f0e4ca;
  --bs-border-color: #ddd6d0;
  --bs-border-color-translucent: rgba(26, 21, 23, 0.10);
  --bs-focus-ring-color: rgba(155, 27, 48, 0.20);
}

/* ------------------------------------------------------------------ */
/* 2. Typography                                                      */
/* ------------------------------------------------------------------ */
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji",
    "Segoe UI Emoji";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: 0.01em;
  line-height: 1.6;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-weight: 600;
  color: #1a1517;
  line-height: 1.3;
}

code, kbd, pre, samp {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
    "Courier New", monospace;
  font-size: 0.875em;
}

/* ------------------------------------------------------------------ */
/* 3. Navigation                                                      */
/* ------------------------------------------------------------------ */
.navbar.bg-primary {
  background: linear-gradient(135deg, #1a1517 0%, #4a1420 40%, #9b1b30 100%) !important;
  border-bottom: 1px solid rgba(155, 27, 48, 0.25);
}

.navbar .nav-link {
  font-weight: 500;
  letter-spacing: 0.02em;
}

/* ------------------------------------------------------------------ */
/* 4. Buttons                                                         */
/* ------------------------------------------------------------------ */
.btn {
  font-weight: 500;
  letter-spacing: 0.02em;
  border-radius: 0.35rem;
  transition: background-color 0.15s ease, border-color 0.15s ease,
    box-shadow 0.15s ease;
}

.btn-primary {
  --bs-btn-bg: #9b1b30;
  --bs-btn-border-color: #9b1b30;
  --bs-btn-hover-bg: #7a1526;
  --bs-btn-hover-border-color: #6e1322;
  --bs-btn-active-bg: #6e1322;
  --bs-btn-active-border-color: #5e101d;
}

.btn-outline-primary {
  --bs-btn-color: #9b1b30;
  --bs-btn-border-color: #9b1b30;
  --bs-btn-hover-bg: #9b1b30;
  --bs-btn-hover-border-color: #9b1b30;
  --bs-btn-active-bg: #7a1526;
  --bs-btn-active-border-color: #7a1526;
}

/* ------------------------------------------------------------------ */
/* 5. Cards & surfaces                                                */
/* ------------------------------------------------------------------ */
.card {
  border-color: rgba(61, 52, 54, 0.12);
  border-radius: 0.5rem;
}

.card-header {
  background-color: #f9f6f3;
  border-bottom-color: rgba(61, 52, 54, 0.10);
}

.dropdown-menu {
  border-color: rgba(61, 52, 54, 0.12);
  border-radius: 0.45rem;
  box-shadow: 0 0.25rem 0.75rem rgba(26, 21, 23, 0.08);
}

.modal-content {
  border-color: rgba(61, 52, 54, 0.12);
  border-radius: 0.5rem;
}

/* ------------------------------------------------------------------ */
/* 6. Badges                                                          */
/* ------------------------------------------------------------------ */
.badge {
  font-weight: 600;
  letter-spacing: 0.03em;
}

.badge.text-bg-secondary {
  background-color: #3d3436 !important;
}

.badge.text-bg-primary {
  background-color: #9b1b30 !important;
}

/* ------------------------------------------------------------------ */
/* 7. Forms                                                           */
/* ------------------------------------------------------------------ */
.form-control,
.form-select {
  border-color: #d4ccc7;
  border-radius: 0.35rem;
}

.form-control:focus,
.form-select:focus {
  border-color: #9b1b30;
  box-shadow: 0 0 0 0.2rem rgba(155, 27, 48, 0.15);
}

.form-check-input:checked {
  background-color: #9b1b30;
  border-color: #9b1b30;
}

/* ------------------------------------------------------------------ */
/* 8. Tables                                                          */
/* ------------------------------------------------------------------ */
.table {
  --bs-table-border-color: #e8e2de;
}

.table > thead {
  color: #3d3436;
  font-weight: 600;
  letter-spacing: 0.02em;
}

/* ------------------------------------------------------------------ */
/* 9. Alerts                                                          */
/* ------------------------------------------------------------------ */
.alert {
  border-radius: 0.45rem;
}

/* ------------------------------------------------------------------ */
/* 10. List groups                                                    */
/* ------------------------------------------------------------------ */
.list-group-item.active {
  background-color: #9b1b30;
  border-color: #9b1b30;
}

/* ------------------------------------------------------------------ */
/* 11. Pagination                                                     */
/* ------------------------------------------------------------------ */
.page-link {
  color: #9b1b30;
}

.page-item.active .page-link {
  background-color: #9b1b30;
  border-color: #9b1b30;
}

/* ------------------------------------------------------------------ */
/* 12. Progress bars                                                  */
/* ------------------------------------------------------------------ */
.progress-bar {
  background-color: #9b1b30;
}

/* ------------------------------------------------------------------ */
/* 13. Breadcrumbs                                                    */
/* ------------------------------------------------------------------ */
.breadcrumb {
  --bs-breadcrumb-divider-color: #b8b0b2;
  --bs-breadcrumb-active-color: #3d3436;
}

/* ------------------------------------------------------------------ */
/* 14. Tooltips & popovers                                            */
/* ------------------------------------------------------------------ */
.popover {
  border-color: rgba(61, 52, 54, 0.12);
  border-radius: 0.45rem;
}

.tooltip {
  --bs-tooltip-bg: #1a1517;
}
