/* ==========================================================================
   Lsoft.kz — 1С:Франчайзинг Лидер-soft.kz (ИП «АМАНАЛИ»)
   Стилистика: Строгая геометрия и типографика 1С-Рейтинг (1c-rating.kz)
   Цветовая гамма: Фирменный синий цвет из логотипа (#0E78B8) + 1С-Желтый (#FFD200)
   - Прямые ровные углы без закруглений (border-radius: 0)
   - Аккуратная, пропорциональная типографика Roboto (13–14px базовый текст)
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap');

:root {
  --font-main: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  
  /* Фирменный синий цвет из официального логотипа lsoft.kz */
  --brand-blue: #0e78b8;
  --brand-blue-hover: #0b6196;
  --brand-blue-dark: #084c77;
  --brand-blue-light: #f0f7fc;
  --brand-blue-soft: #e2eff8;
  --brand-blue-border: #b8d9f0;
  
  /* Фирменный 1С желтый акцент */
  --1c-yellow: #ffd200;
  --1c-yellow-hover: #ffc400;
  --1c-yellow-light: #fffde7;
  --1c-yellow-border: #e0b800;
  
  /* Акцентный синий 1С (Лидер-soft.kz) */
  --1c-red: #0e78b8;
  --1c-red-dark: #0b6196;
  
  /* Нейтральные тона (строгий 1С-Рейтинг) */
  --text-dark: #1e293b;
  --text-body: #475569;
  --text-muted: #64748b;
  --border-color: #cbd5e1;
  --border-light: #e2e8f0;
}

/* Base Styles */
html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%;
  overflow-x: clip; /* clip prevents horizontal overflow without breaking position: sticky */
  font-family: var(--font-main);
  background-color: #ffffff;
  color: var(--text-dark);
  font-size: 14px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

/* Принудительное закрепление шапки при скролле */
header.sticky {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 50 !important;
}

/* Строгие заголовки 1С-Рейтинг: без чрезмерной жирности и гигантизма */
h1 {
  font-family: var(--font-main);
  font-size: 1.55rem;
  line-height: 1.3;
  font-weight: 700;
  color: var(--text-dark);
  margin-top: 0;
}
@media (min-width: 640px) {
  h1 { font-size: 1.95rem; }
}

h2 {
  font-family: var(--font-main);
  font-size: 1.3rem;
  line-height: 1.35;
  font-weight: 700;
  color: var(--text-dark);
  margin-top: 0;
}
@media (min-width: 640px) {
  h2 { font-size: 1.55rem; }
}

h3 {
  font-family: var(--font-main);
  font-size: 1.05rem;
  line-height: 1.4;
  font-weight: 700;
  color: var(--text-dark);
  margin-top: 0;
}

/* Строгая типографика 1С-Рейтинг */
.font-black, .font-extrabold {
  font-weight: 700 !important;
}
b, strong {
  font-weight: 700;
}

/* ПРЯМЫЕ УГЛЫ ВЕЗДЕ (1С-Рейтинг style) */
*, *::before, *::after {
  border-radius: 0 !important;
}

/* Прямоугольные кнопки в синей гамме логотипа */
.btn-primary-blue {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #0e78b8;
  color: #ffffff;
  font-weight: 700;
  padding: 8px 18px;
  font-size: 13px;
  border: 1px solid #0b6196;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
  text-decoration: none;
  cursor: pointer;
  border-radius: 0 !important;
}
.btn-primary-blue:hover {
  background-color: #0b6196;
  border-color: #084c77;
  color: #ffffff;
}

.btn-outline-blue {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #ffffff;
  color: #0e78b8;
  font-weight: 700;
  padding: 8px 18px;
  font-size: 13px;
  border: 1px solid #0e78b8;
  transition: all 0.15s ease-in-out;
  text-decoration: none;
  cursor: pointer;
  border-radius: 0 !important;
}
.btn-outline-blue:hover {
  background-color: #f0f7fc;
  color: #0b6196;
}

/* Прямоугольные кнопки 1С желтые */
.btn-primary-yellow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #ffd200;
  color: #0f172a;
  font-weight: 700;
  padding: 8px 18px;
  font-size: 13px;
  border: 1px solid #cca400;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
  text-decoration: none;
  cursor: pointer;
  border-radius: 0 !important;
}
.btn-primary-yellow:hover {
  background-color: #ffc400;
  border-color: #cca400;
  color: #0f172a;
}

.btn-outline-yellow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #fffde7;
  color: #1e293b;
  font-weight: 600;
  padding: 8px 16px;
  font-size: 13px;
  border: 1px solid #ffd200;
  transition: background-color 0.15s ease;
  text-decoration: none;
  cursor: pointer;
  border-radius: 0 !important;
}
.btn-outline-yellow:hover {
  background-color: #fff9c4;
}

.btn-primary-red {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #0e78b8;
  color: #ffffff;
  font-weight: 700;
  padding: 8px 18px;
  font-size: 13px;
  border: 1px solid #0b6196;
  transition: background-color 0.15s ease-in-out;
  text-decoration: none;
  cursor: pointer;
  border-radius: 0 !important;
}
.btn-primary-red:hover {
  background-color: #0b6196;
  border-color: #084c77;
  color: #ffffff;
}

.btn-outline-red {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #ffffff;
  color: #0e78b8;
  font-weight: 600;
  padding: 8px 16px;
  font-size: 13px;
  border: 1px solid #0e78b8;
  transition: all 0.15s ease;
  text-decoration: none;
  cursor: pointer;
  border-radius: 0 !important;
}
.btn-outline-red:hover {
  background-color: #f0f7fc;
  color: #0b6196;
}

/* Поля ввода (Inputs): Строгие прямые прямоугольники */
input, select, textarea {
  border-radius: 0 !important;
  font-family: var(--font-main);
  border: 1px solid #cbd5e1;
  padding: 7px 10px;
  font-size: 13px;
  outline: none;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
input:focus, select:focus, textarea:focus {
  border-color: #0e78b8;
  box-shadow: 0 0 0 1px #0e78b8;
}

/* Карточки товаров и контейнеры (Прямые углы, тонкая аккуратная рамка) */
.product-card-1c {
  background-color: #ffffff;
  border: 1px solid #cbd5e1;
  border-radius: 0 !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.product-card-1c:hover {
  border-color: #0e78b8;
  box-shadow: 0 2px 8px rgba(14, 120, 184, 0.1);
}

.info-card {
  background-color: #ffffff;
  border: 1px solid #cbd5e1;
  border-radius: 0 !important;
}
.info-card:hover {
  border-color: #0e78b8;
}

/* Бейджи и плашки */
.badge-1c {
  display: inline-block;
  padding: 2px 7px;
  font-size: 11px;
  font-weight: 700;
  border-radius: 0 !important;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.badge-blue {
  background-color: #0e78b8;
  color: #ffffff;
}

.badge-blue-light {
  background-color: #f0f7fc;
  color: #0e78b8;
  border: 1px solid #b8d9f0;
}

.badge-yellow {
  background-color: #ffd200;
  color: #0f172a;
  border: 1px solid #cca400;
}

.badge-red {
  background-color: #0e78b8;
  color: #ffffff;
}

/* Строгая таблица цен 1С-Рейтинг */
table {
  border-collapse: collapse;
  width: 100%;
}
table th {
  background-color: #f8fafc;
  color: #1e293b;
  font-weight: 700;
  border-bottom: 2px solid #0e78b8;
  padding: 8px 12px;
  font-size: 12px;
}
table td {
  border-bottom: 1px solid #e2e8f0;
  padding: 8px 12px;
  font-size: 13px;
}
table tr:hover td {
  background-color: #f0f7fc;
}

/* Модальное окно с прямыми углами */
.modal-box-1c {
  border-radius: 0 !important;
  border: 2px solid #0e78b8;
  background-color: #ffffff;
}

/* Скроллбар */
::-webkit-scrollbar {
  width: 6px;
}
::-webkit-scrollbar-track {
  background: #f8f9fa;
}
::-webkit-scrollbar-thumb {
  background: #0e78b8;
}
