/* Bootstrap customization using GenMilk colors */

:root {
  --bs-primary: rgb(101, 82, 183);
  --bs-primary-hover: rgb(69, 27, 152);
  --bs-secondary: rgb(103, 63, 205);
  --bs-success: rgb(92, 184, 92);
  --bs-info: rgb(91, 192, 222);
  --bs-warning: rgb(240, 173, 78);
  --bs-danger: rgb(217, 83, 79);
  --bs-light: rgb(248, 247, 252);
  --bs-dark: rgb(37, 0, 132);
  --bs-gray-light: rgb(241, 241, 241);
  --bs-gray-dark: rgb(96, 96, 96);
  --bs-white: rgb(255, 255, 255);
  --bs-border-color: rgb(207, 203, 217);
  --bs-input-border: rgb(195, 200, 212);
  --bs-active-bg: rgb(219, 214, 239);
  --bs-text-color: rgb(74, 74, 74);
  --bs-gradient: linear-gradient(135deg, #4e1698, #5a8bc1);
  --bs-primary-bg: #f8f7fc;
  --bs-heading-color: #250084;
}

/* Override Bootstrap default variables */
body {
  background-color: var(--bs-primary-bg);
  /* color: var(--bs-dark); */
}

.page-link {
  color: var(--bs-primary);
  background-color: var(--bs-light);
}

.active>.page-link {
  background-color: var(--bs-primary);
  color: var(--bs-white);
}

.btn-primary {
  background-color: var(--bs-primary);
  color: var(--bs-white);
  border-color: var(--bs-primary);
  transition: 0.3s;
}

.btn-primary:hover {
  background-color: var(--bs-primary-hover);
  border-color: var(--bs-primary-hover);
}

.border {
  /* border-color: var(--bs-border-color) !important; */
}

input, .form-control {
  /* border-color: var(--bs-input-border); */
}

.active, .btn-active {
  background-color: var(--bs-active-bg);
}

.nav-link {
  color: var(--bs-primary);
}

.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
  background-color: var(--bs-primary);
}

.btn-outline-primary {
  color: var(--bs-primary);
  border-color: var(--bs-primary);
}

.btn-outline-primary:hover {
  color: var(--bs-white);
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}

.no-spinner::-webkit-outer-spin-button,
.no-spinner::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.no-spinner {
  -moz-appearance: textfield;
  appearance: textfield;
}

.aside_filter summary {
  font-weight: bold;
}

.animal_list__filter {
  width: 350px;
  min-width: 200px;
  min-height: 100vh;
}

.animal_details__ebv__region {
  max-width: 600px;
}

.animal_details table tr th {
  vertical-align: top;
}

.animal_details__general__pedigree th:nth-child(3), .animal_details__general__pedigree td:nth-child(4) {
  width: 1%;
}

.region-chart {
  width: 100%;
  height: 400px;
}

.ebv-chart {
  width: 100%;
  height: 400px;
}

.js-plotly-plot .plotly .cursor-move {
  cursor: pointer;
}

/* 🌄 Главный экран / Intro Section */
.index-intro-section  {
  background: radial-gradient(circle at bottom right, #8daec4, transparent 60%),
  radial-gradient(circle at top left, #423b5d, #ea070700 60%),
  radial-gradient(circle at center, #581f70, transparent 70%),
  radial-gradient(circle at center bottom, #7578b1, transparent 90%),
  linear-gradient(135deg, #4e1698, #5a8bc1);
  text-align: center;
  color: #fff;
}

a.index-intro-section__analytics {
  color: var(--bs-primary);
}

.index-intro-section .navbar a, .index-intro-section .navbar button {
  color: #fff;
  text-decoration: none;
}

/* 👥 Участники / Participants */
.index-partners-section {
  background-color: #f8f7fc;
}

.index-partner-card .card-img-top {
  max-height: 180px;
  object-fit: contain;
  padding: 1rem;
}
.index-partner-card .card-text {
  font-size: 0.9rem;
}

/* 🐄 Хозяйства / Farms */
.index-farms-section {
  /* background-color: #ffffff; */
}

.index-farm-card .card-text {
  font-size: 0.95rem;
  color: #444;
}

/* 🎯 Цели проекта / Goals */
.index-goals-section {
  /* background-color: #ffffff; */
}
.index-goal-card .card-title {
  font-size: 1.3rem;
  color: #250084;
  margin-bottom: 0.5rem;
}
.index-goal-card .card-text {
  font-size: 0.95rem;
}

/* 📰 Новости / News */
.index-news-section .list-group-item {
  font-size: 0.95rem;
  padding: 1.2rem 1.5rem;
}
.index-news-section .badge {
  font-size: 0.8rem;
  white-space: nowrap;
}
.index-news-section h5 {
  font-size: 1.1rem;
  color: #250084;
}

/* 📊 Статистика / Stats */
.index-stats-section {
  background-color: #f8f7fc;
}

.index-stat-row {
  font-size: 0.95rem;
}

.index-stat-row span:first-child {
  text-align: left;
}

.index-stat-row span:last-child {
  text-align: right;
  color: #555;
}
