/* =========================================================
   60% - белый / молочный / светло-серый / мягкий бежевый
   30% - шалфей, олива, мята, приглушённый синий / бирюза
   10% - акцент CTA: коралл / персик / тёплый оранжевый
   ========================================================= */

:root,
[data-bs-theme="light"] {
  /* --- База (60%) --- */
  --vipoza-cream: #F8F5F0;
  --vipoza-milk: #FFFcf8;
  --vipoza-beige: #EDE6DB;
  --vipoza-sand: #D9CFC0;
  --vipoza-text: #2C2A26;
  --vipoza-text-muted: #6B6560;

  /* --- Вторичные (30%) --- */
  --vipoza-sage: #7A8F6E;
  --vipoza-olive: #6B7F5A;
  --vipoza-mint: #A3BFA8;
  --vipoza-sea: #5B7C8D;
  --vipoza-sky: #7A9EAE;
  --vipoza-teal: #5C9A8F;

  /* --- Акцент CTA (10%) --- */
  --vipoza-coral: #E07A5F;
  --vipoza-coral-hover: #C96A52;
  --vipoza-peach: #F2A68A;
  --vipoza-gold: #D4A017;
  --vipoza-berry: #8B3A4A;

  /* --- Bootstrap mapping (светлая) --- */
  --bs-body-bg: var(--vipoza-cream);
  --bs-body-color: var(--vipoza-text);
  --bs-secondary-color: var(--vipoza-text-muted);
  --bs-tertiary-bg: var(--vipoza-beige);
  --bs-secondary-bg: var(--vipoza-milk);
  --bs-border-color: var(--vipoza-sand);

  --bs-primary: var(--vipoza-sage);
  --bs-primary-rgb: 122, 143, 110;
  --bs-link-color: var(--vipoza-sage);
  --bs-link-hover-color: var(--vipoza-olive);

  --bs-success: var(--vipoza-olive);
  --bs-info: var(--vipoza-sea);

  /* Кнопки primary = CTA (коралл) */
  --bs-btn-bg: var(--vipoza-coral);
  --bs-btn-border-color: var(--vipoza-coral);
  --bs-btn-hover-bg: var(--vipoza-coral-hover);
  --bs-btn-hover-border-color: var(--vipoza-coral-hover);
  --bs-btn-active-bg: var(--vipoza-coral-hover);
  --bs-btn-active-border-color: var(--vipoza-coral-hover);

  --brushed-primary: var(--vipoza-sage);
  --brushed-cta: var(--vipoza-coral);
  --brushed-cta-hover: var(--vipoza-coral-hover);
}

[data-bs-theme="dark"] {
  /* --- База тёмной --- */
  --vipoza-cream: #1C1B19;
  --vipoza-milk: #252320;
  --vipoza-beige: #2F2C28;
  --vipoza-sand: #3D3934;
  --vipoza-text: #F0EBE3;
  --vipoza-text-muted: #A39E96;

  /* --- Вторичные (приглушённые) --- */
  --vipoza-sage: #9BB08F;
  --vipoza-olive: #8A9E78;
  --vipoza-mint: #B5CDBA;
  --vipoza-sea: #7A9EAE;
  --vipoza-sky: #8FB0BE;
  --vipoza-teal: #6FB0A5;

  /* --- CTA остаётся тёплым --- */
  --vipoza-coral: #E8917A;
  --vipoza-coral-hover: #F0A892;
  --vipoza-peach: #F2B59E;
  --vipoza-gold: #E0B84A;
  --vipoza-berry: #C45C6E;

  --bs-body-bg: var(--vipoza-cream);
  --bs-body-color: var(--vipoza-text);
  --bs-secondary-color: var(--vipoza-text-muted);
  --bs-tertiary-bg: var(--vipoza-beige);
  --bs-secondary-bg: var(--vipoza-milk);
  --bs-border-color: var(--vipoza-sand);

  --bs-primary: var(--vipoza-sage);
  --bs-primary-rgb: 155, 176, 143;
  --bs-link-color: var(--vipoza-mint);
  --bs-link-hover-color: var(--vipoza-sage);

  --bs-success: var(--vipoza-olive);
  --bs-info: var(--vipoza-sea);

  --brushed-primary: var(--vipoza-sage);
  --brushed-cta: var(--vipoza-coral);
  --brushed-cta-hover: var(--vipoza-coral-hover);
}

/* ===== Кнопки ===== */
.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--brushed-cta);
  --bs-btn-border-color: var(--brushed-cta);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--brushed-cta-hover);
  --bs-btn-hover-border-color: var(--brushed-cta-hover);
  --bs-btn-focus-shadow-rgb: 224, 122, 95;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--brushed-cta-hover);
  --bs-btn-active-border-color: var(--brushed-cta-hover);
  --bs-btn-disabled-bg: var(--brushed-cta);
  --bs-btn-disabled-border-color: var(--brushed-cta);
}

.btn-outline-primary {
  --bs-btn-color: var(--brushed-cta);
  --bs-btn-border-color: var(--brushed-cta);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--brushed-cta);
  --bs-btn-hover-border-color: var(--brushed-cta);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--brushed-cta);
  --bs-btn-active-border-color: var(--brushed-cta);
}

.btn-outline-secondary {
  --bs-btn-color: var(--vipoza-text-muted);
  --bs-btn-border-color: var(--vipoza-sand);
  --bs-btn-hover-color: var(--vipoza-text);
  --bs-btn-hover-bg: var(--vipoza-beige);
  --bs-btn-hover-border-color: var(--vipoza-sand);
}

/* ===== Навбар / ссылки меню ===== */
.navbar-nav .nav-link {
  color: var(--vipoza-text-muted);
  transition: color 0.2s ease;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus {
  color: var(--vipoza-sage);
}

.navbar-nav .nav-link.is-active {
  color: var(--vipoza-sage);
  font-weight: 600;
}

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

/* ===== Карточки / поверхности ===== */
.card {
  background-color: var(--vipoza-milk);
  border-color: var(--vipoza-sand);
}

/* ===== Формы ===== */
.form-control {
  background-color: var(--vipoza-milk);
  border-color: var(--vipoza-sand);
  color: var(--vipoza-text);
}

.form-control:focus {
  border-color: var(--vipoza-sage);
  box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.2);
}

/* ===== Preloader под новую схему ===== */
#app-preloader {
  background: var(--bs-body-bg);
}

.preloader-bar {
  background: var(--vipoza-sage);
}