/* ================================================================
   VSM Localization · Bootstrap theme overrides (warm palette)
   Load AFTER bootstrap.min.css.
   ================================================================ */

/* ─── Local fonts ──────────────────────────────────────────────── */
@font-face {
  font-family: 'Inter';
  src: url('/fonts/Inter-VariableFont_opsz,wght.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'JetBrains Mono';
  src: url('/fonts/JetBrainsMono-VariableFont_wght.ttf') format('truetype');
  font-weight: 100 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'JetBrains Mono';
  src: url('/fonts/JetBrainsMono-Italic-VariableFont_wght.ttf') format('truetype');
  font-weight: 100 800;
  font-style: italic;
  font-display: swap;
}

:root,
[data-bs-theme="light"] {
  /* Warm palette → Bootstrap CSS vars */
  --bs-body-bg:          #f4eee5;
  --bs-body-color:       #1c1a16;
  --bs-secondary-color:  #4a4640;
  --bs-tertiary-color:   #8a847a;
  --bs-tertiary-bg:      #faf6ef;
  --bs-secondary-bg:     #efe7d8;

  --bs-border-color:                #e8e0d2;
  --bs-border-color-translucent:    rgba(40, 28, 12, .12);

  --bs-primary:          #d96f2a;
  --bs-primary-rgb:      217, 111, 42;
  --bs-primary-bg-subtle:#fde7d4;
  --bs-primary-text-emphasis:#b7551a;
  --bs-primary-border-subtle:#fad0a8;

  --bs-link-color:       #b7551a;
  --bs-link-color-rgb:   183, 85, 26;
  --bs-link-hover-color: #8a3f10;

  --bs-success-bg-subtle:#e7f6ec;
  --bs-success-text-emphasis:#15803d;
  --bs-info-bg-subtle:   #e6efff;
  --bs-info-text-emphasis:#1d4ed8;
  --bs-warning-bg-subtle:#fdf1da;
  --bs-warning-text-emphasis:#a05a04;
  --bs-danger-bg-subtle: #fde7e7;
  --bs-danger-text-emphasis:#b91c1c;

  --bs-border-radius:    .5rem;
  --bs-border-radius-sm: .375rem;
  --bs-border-radius-lg: .875rem;
  --bs-border-radius-xl: 1.125rem;

  --bs-body-font-family: 'Inter', system-ui, -apple-system, "Segoe UI", sans-serif;
  --bs-font-monospace:   'JetBrains Mono', ui-monospace, "SF Mono", Menlo, monospace;
  --bs-body-font-size:   .875rem;
  --bs-body-line-height: 1.45;

  --bs-box-shadow-sm:    0 1px 2px rgba(40,28,12,.06), 0 1px 0 rgba(40,28,12,.03);
  --bs-box-shadow:       0 2px 4px rgba(40,28,12,.06), 0 10px 30px -18px rgba(40,28,12,.25);
}

body {
  font-feature-settings: 'ss01','cv11';
  -webkit-font-smoothing: antialiased;
}

/* Primary button → warm */
.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg:    #d96f2a;
  --bs-btn-border-color:       #d96f2a;
  --bs-btn-hover-bg:           #b7551a;
  --bs-btn-hover-border-color: #b7551a;
  --bs-btn-active-bg:          #8a3f10;
  --bs-btn-active-border-color:#8a3f10;
  --bs-btn-focus-shadow-rgb:   217, 111, 42;
}

/* Outline-primary button → warm */
.btn-outline-primary {
  --bs-btn-color:              #d96f2a;
  --bs-btn-border-color:       #d96f2a;
  --bs-btn-hover-color:        #fff;
  --bs-btn-hover-bg:           #d96f2a;
  --bs-btn-hover-border-color: #d96f2a;
  --bs-btn-focus-shadow-rgb:   217, 111, 42;
  --bs-btn-active-color:       #fff;
  --bs-btn-active-bg:          #b7551a;
  --bs-btn-active-border-color:#b7551a;
}

/* Focus ring → warm (applies to all focusable elements) */
:root {
  --bs-focus-ring-color: rgba(217, 111, 42, .25);
}
.btn:focus-visible {
  box-shadow: 0 0 0 .2rem rgba(217, 111, 42, .3);
}

/* Dark "ink" button — for the publish/new actions */
.btn-ink {
  --bs-btn-color: #fff;
  --bs-btn-bg: #1c1a16;
  --bs-btn-border-color: #1c1a16;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #000;
  --bs-btn-hover-border-color: #000;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #000;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #1c1a16;
  --bs-btn-disabled-border-color: #1c1a16;
}
.btn-ink, .btn-ink:focus { color: #fff; }

/* Card defaults */
.card {
  --bs-card-border-color: var(--bs-border-color);
  --bs-card-box-shadow:   var(--bs-box-shadow-sm);
  --bs-card-bg:           #fff;
  --bs-card-cap-bg:       transparent;
  box-shadow: var(--bs-card-box-shadow);
}

/* List-group rows inherit the warm hover */
.list-group-item-action:hover { background-color: var(--bs-tertiary-bg); }

/* Navbar */
.navbar {
  background: #fbf8f3;
  border-bottom: 1px solid var(--bs-border-color);
}
.navbar .nav-link {
  color: var(--bs-secondary-color);
  font-weight: 500;
  padding: .375rem .625rem;
  border-radius: .5rem;
}
.navbar .nav-link:hover  { background: rgba(0,0,0,.04); color: var(--bs-body-color); }
.navbar .nav-link.active { background: var(--bs-primary-bg-subtle); color: var(--bs-primary-text-emphasis); }

/* Pill-style badge tweak for soft variants */
.badge.rounded-pill { padding: .25rem .55rem; font-weight: 500; }

/* Form controls — focus + checked states */
.form-control:focus,
.form-select:focus {
  border-color: var(--bs-primary);
  box-shadow: 0 0 0 .15rem rgba(217,111,42,.18);
}

.form-check-input:checked {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}
.form-check-input:focus {
  border-color: #f0a870;
  box-shadow: 0 0 0 .2rem rgba(217,111,42,.25);
}

/* Pagination active (used by DataTables) */
.page-item.active .page-link {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}
.page-link {
  color: var(--bs-primary);
}
.page-link:hover {
  color: var(--bs-primary-text-emphasis);
}
