/*
 * Theme — Bootstrap 5 overrides
 * Палитра и стиль из DESIGN.MD, наложенные поверх Bootstrap через CSS-переменные.
 */

:root {
  /* Primary */
  --bs-primary: #494bcb;
  --bs-primary-rgb: 73, 75, 203;
  --color-primary-hover: #3d3fb5;
  --color-primary-light: rgba(73, 75, 203, 0.07);

  /* Body */
  --bs-body-color: #222222;
  --bs-body-bg: #ffffff;
  --bs-body-font-family: 'Manrope', sans-serif;
  --bs-body-font-size: 14px;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.5;

  /* Secondary */
  --bs-secondary-bg: #f6f6fa;
  --bs-secondary-bg-rgb: 246, 246, 250;
  --bs-secondary-color: #686878;

  /* Links */
  --bs-link-color: #494bcb;
  --bs-link-hover-color: #3d3fb5;

  /* Emphasis */
  --bs-emphasis-color: #000000;

  /* Borders */
  --bs-border-color: #eaeaf7;
  --bs-border-width: 1px;

  /* Border radius */
  --bs-border-radius: 7.62px;
  --bs-border-radius-sm: 5px;
  --bs-border-radius-lg: 15.24px;
  --bs-border-radius-xl: 20px;
  --bs-border-radius-pill: 35.81px;

  /* Shadows */
  --bs-box-shadow: rgba(0, 0, 0, 0.04) 0px 4px 13px 0px;
  --bs-box-shadow-sm: rgba(0, 0, 0, 0.04) 0px 1px 3px 0px;
  --bs-box-shadow-lg: rgba(0, 0, 0, 0.06) 0px 8px 24px 0px;

  /* Semantic colors */
  --bs-success: #40c057;
  --bs-success-rgb: 64, 192, 87;
  --bs-danger: #fa5252;
  --bs-danger-rgb: 250, 82, 82;
  --bs-warning: #fcc419;
  --bs-warning-rgb: 252, 196, 25;
  --bs-info: #4dabf7;
  --bs-info-rgb: 77, 171, 247;

  /* Project accent tokens */
  --color-warning: #ffde87;
  --color-iris: #9f7ad0;
  --color-link-subtle: #8a8ac6;
  --color-text-muted: #686878;
  --color-bg-secondary: #f6f6fa;
  --color-border: #eaeaf7;
}

/* Primary button overrides */
.btn-primary {
  --bs-btn-bg: #494bcb;
  --bs-btn-border-color: #494bcb;
  --bs-btn-hover-bg: #3d3fb5;
  --bs-btn-hover-border-color: #3d3fb5;
  --bs-btn-active-bg: #3537a3;
  --bs-btn-active-border-color: #3537a3;
  --bs-btn-disabled-bg: #494bcb;
  --bs-btn-disabled-border-color: #494bcb;
  font-weight: 600;
}

.btn-outline-primary {
  --bs-btn-color: #494bcb;
  --bs-btn-border-color: #494bcb;
  --bs-btn-hover-bg: rgba(73, 75, 203, 0.07);
  --bs-btn-hover-border-color: #3d3fb5;
  --bs-btn-hover-color: #3d3fb5;
  --bs-btn-active-bg: rgba(73, 75, 203, 0.12);
  --bs-btn-active-border-color: #3537a3;
  --bs-btn-active-color: #3537a3;
}

/* Secondary / subtle buttons */
.btn-secondary {
  --bs-btn-bg: #f6f6fa;
  --bs-btn-border-color: #f6f6fa;
  --bs-btn-color: #222222;
  --bs-btn-hover-bg: #eaeaf7;
  --bs-btn-hover-border-color: #eaeaf7;
  --bs-btn-hover-color: #000000;
}

/* Navbar */
.navbar {
  --bs-navbar-brand-font-size: 1.15rem;
  --bs-navbar-brand-font-weight: 700;
}

/* Cards */
.card {
  --bs-card-border-color: #eaeaf7;
  --bs-card-border-radius: 15.24px;
  --bs-card-box-shadow: rgba(0, 0, 0, 0.04) 0px 4px 13px 0px;
}

/* Badges */
.badge {
  --bs-badge-font-weight: 500;
  --bs-badge-border-radius: 35.81px;
}

/* Form controls */
.form-control {
  --bs-border-color: #eaeaf7;
  --bs-border-radius: 7.62px;
}

.form-control:focus {
  border-color: #494bcb;
  box-shadow: 0 0 0 0.2rem rgba(73, 75, 203, 0.15);
}

.form-select {
  --bs-border-color: #eaeaf7;
  --bs-border-radius: 7.62px;
}

.form-select:focus {
  border-color: #494bcb;
  box-shadow: 0 0 0 0.2rem rgba(73, 75, 203, 0.15);
}

/* Modals */
.modal-content {
  --bs-modal-border-radius: 15.24px;
  --bs-modal-box-shadow: rgba(0, 0, 0, 0.06) 0px 8px 24px 0px;
}

/* Table headers */
.table > :not(caption) > * > th {
  background-color: #f6f6fa;
  color: #222222;
  font-weight: 600;
  font-size: 13px;
}

/* Alert overrides */
.alert-primary {
  --bs-alert-bg: rgba(73, 75, 203, 0.07);
  --bs-alert-border-color: rgba(73, 75, 203, 0.15);
  --bs-alert-color: #3d3fb5;
}
