/* Глобальные переменные проекта:
   здесь задаются основные цвета, которые затем используются по всему сайту. */
:root {
  --bs-primary: #61b5ca;
  --bs-primary-rgb: 97, 181, 202;
  --wbs-primary-dark: #3f93a8;
  --wbs-bg: #f4f9fb;
  --wbs-border: #d8e8ed;
  --wbs-text: #1f2d33;
}

/* Базовые настройки страницы:
   общий шрифт, основной цвет текста и фон сайта. */
body {
  font-family: "Manrope", sans-serif;
  color: var(--wbs-text);
  background-color: var(--wbs-bg);
}

/* Базовое поведение ссылок:
   отключаем стандартное подчеркивание и наследуем цвет от родителя. */
a {
  color: inherit;
  text-decoration: none;
}

/* Шапка сайта:
   полупрозрачная навигация с легким blur-эффектом. */
.site-navbar {
  background: rgba(255, 255, 255, 0.94);
  border-bottom: 1px solid rgba(97, 181, 202, 0.15);
  backdrop-filter: blur(10px);
}

/* Логотип-бейдж:
   квадратная цветная плашка с буквами WBS. */
.brand-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 16px;
  background: #61b5ca;
  color: #fff;
  font-weight: 800;
  letter-spacing: 0.08em;
}

/* Ссылки главного меню:
   обычное и активное состояние. */
.nav-link {
  font-weight: 600;
  color: #53717a;
}

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

/* Основная кнопка сайта:
   используется для главных действий. */
.btn-primary {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  background-color: var(--wbs-primary-dark) !important;
  border-color: var(--wbs-primary-dark) !important;
}

/* Вторая кнопка сайта:
   используется для более мягких действий без сплошной заливки. */
.btn-outline-primary {
  color: var(--bs-primary);
  border-color: var(--bs-primary);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active {
  background-color: var(--bs-primary) !important;
  border-color: var(--bs-primary) !important;
}

/* Маленький верхний лейбл секции:
   например "Услуга", "Контакты", "Следующий шаг". */
.section-label {
  display: inline-block;
  color: var(--bs-primary);
  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* Крупные фоновые блоки:
   баннеры страниц, CTA-блок и контейнер первого слайдера. */
.hero-carousel,
.page-banner,
.cta-block {
  background: linear-gradient(180deg, #ffffff 0%, #f5fbfd 100%);
  border: 1px solid var(--wbs-border);
  box-shadow: 0 18px 40px rgba(20, 57, 68, 0.08);
}

/* Сам контейнер слайдера:
   overflow visible оставлен, чтобы элементы не обрезались по краям при доработках. */
.hero-carousel {
  overflow: visible !important;
}

/* Контент внутри одного слайда:
   задаем минимальную высоту и внутренние отступы. */
.hero-slide-content {
  min-height: 560px;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}

/* Заголовок первого слайда:
   отдельный класс, чтобы можно было менять размер независимо от bootstrap display-классов. */
.hero-title {
  font-size: clamp(2rem, 3.4vw, 3.2rem);
  line-height: 1.05;
}

/* Базовые настройки стрелок bootstrap-карусели.
   Сейчас стрелки удалены из HTML, но блок оставлен, если понадобится вернуть их позже. */
.carousel-control-prev,
.carousel-control-next {
  width: 56px;
  opacity: 1;
}

.carousel-control-prev {
  left: -72px;
}

.carousel-control-next {
  right: -72px;
}

/* Иконки стрелок bootstrap-карусели. */
.carousel-control-prev-icon,
.carousel-control-next-icon {
  background-color: rgba(97, 181, 202, 0.9);
  border-radius: 50%;
  background-size: 45% 45%;
}

/* Точки навигации слайдера. */
.carousel-indicators [data-bs-target] {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: rgba(97, 181, 202, 0.4);
}

/* Активная точка слайдера. */
.carousel-indicators .active {
  background-color: var(--bs-primary);
}

/* Белые внутренние карточки:
   используются в первом экране, кейсах и некоторых вспомогательных блоках. */
.info-panel,
.metric-box,
.case-card {
  background: #fff;
  border: 1px solid var(--wbs-border);
  border-radius: 1.5rem;
}

/* Боковая карточка с текстом на первом экране. */
.info-panel {
  padding: 1.75rem;
}

/* Маленькие карточки-метрики. */
.metric-box {
  height: 100%;
  padding: 1rem;
}

/* Числовой/короткий акцент внутри метрики. */
.metric-box strong {
  display: block;
  font-size: 1.5rem;
  color: var(--bs-primary);
}

/* Подпись внутри метрики. */
.metric-box span {
  display: block;
  color: #688089;
  font-size: 0.95rem;
  line-height: 1.45;
}

/* Универсальный список с круглыми маркерами. */
.simple-list {
  display: grid;
  gap: 0.85rem;
}

/* Отдельный пункт универсального списка. */
.simple-list li {
  position: relative;
  padding-left: 1.2rem;
  color: #51676f;
}

/* Кастомный маркер списка. */
.simple-list li::before {
  content: "";
  position: absolute;
  top: 0.6rem;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--bs-primary);
}

/* Номер услуги на карточке главной страницы. */
.service-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: rgba(97, 181, 202, 0.12);
  color: var(--bs-primary);
  font-weight: 800;
}

/* Явный текст-подсказка "Перейти" на карточках услуг. */
.service-link-hint {
  display: inline-block;
  color: var(--bs-primary);
  font-weight: 700;
}

/* Внутренние информационные блоки на страницах отдельных услуг. */
.service-detail-box {
  height: 100%;
  padding: 1.25rem;
  background: #fff;
  border: 1px solid var(--wbs-border);
  border-radius: 1rem;
}

/* Заголовок внутри service-detail-box. */
.service-detail-box strong {
  display: block;
  margin-bottom: 0.5rem;
}

/* Блок кейса на главной странице. */
.case-card {
  background: linear-gradient(180deg, #ffffff 0%, #edf8fb 100%);
}

/* Панель результата калькулятора.
   На больших экранах она закрепляется при прокрутке. */
.result-panel {
  position: sticky;
  top: 110px;
}

/* Настройка цвета бегунка range-полей в калькуляторе. */
.form-range::-webkit-slider-thumb {
  background: var(--bs-primary);
}

.form-range::-moz-range-thumb {
  background: var(--bs-primary);
  border: 0;
}

/* Подсветка активных полей формы и чекбоксов. */
.form-check-input:checked,
.form-check-input:focus,
.form-control:focus,
.form-select:focus {
  border-color: rgba(97, 181, 202, 0.6);
  box-shadow: 0 0 0 0.25rem rgba(97, 181, 202, 0.18);
}

/* Адаптив под планшеты и небольшие ноутбуки. */
@media (max-width: 991.98px) {
  .hero-slide-content {
    min-height: auto;
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }

  .carousel-control-prev {
    left: 8px;
  }

  .carousel-control-next {
    right: 8px;
  }

  .result-panel {
    position: static;
  }
}
