/* Place your custom css here */
:root {
  /* ---- Брендовые цвета ---- */
  --brand-primary: #2563EB; /* основной акцент */
  --brand-primary-dark: #1e40af;
  --brand-accent: #F59E0B;
  --brand-text: #0f172a;
  --brand-muted: #475569;
  --brand-border: #e2e8f0;
  --brand-bg-soft: #f8fafc;
  /* ---- Цветовые метки общего score ---- */
  --color-green: #10B981; /* band 80–100 */
  --color-yellow: #F59E0B; /* band 65–79 */
  --color-orange: #F97316; /* band 50–64 */
  --color-red: #EF4444; /* band 0–49 */
  /* ---- Severity issues (Критично / Важно / Средне / Низкий) ---- */
  --sev-critical: #EF4444;
  --sev-important: #F97316;
  --sev-medium: #eab308;
  --sev-low: #94a3b8;
  /* ---- Severity compliance (high / medium / low) ---- */
  --compl-high: #EF4444;
  --compl-medium: #F97316;
  --compl-low: #94a3b8;
}
.b-post h2, .b-post h3, .b-post h4, .b-post h5, .b-post h6 {
  margin: 1.5rem 0 1rem 0 !important;
}
.td-none {
  text-decoration: none;
}
.fs-8 {
  font-size: 0.8rem !important;
}
.pt-140 {
  padding-top: 140px !important;
}
.pricing-card {
  height: 100%;
}
.text-align-center {
  text-align: center;
}
.hero-banner .hero-heading {
  font-size: clamp(2rem, 1.1rem + 2.8vw, 3rem) !important;
}
.fs-1-sm {
  font-size: clamp(2rem, 1.2rem + 2.7vw, 2.75rem) !important;
}
.list-unstyled li a {
  line-height: 1.1 !important;
}
.form-check {
  line-height: 1 !important;
}
.text-muted {
  color: #1e293b !important;
}
/* индиго */
.bg-indigo {
  background-color: #6366F1 !important;
}
.card-feature > .icon.bg-indigo {
  box-shadow: 0 15px 30px rgba(99, 102, 241, 0.45);
}
/* оранжевый */
.bg-orange {
  background-color: #F97316 !important;
}
.text-orange {
  color: #F97316 !important;
}
.card-feature > .icon.bg-orange {
  box-shadow: 0 15px 30px rgba(249, 115, 22, 0.45);
}
/* фиолетовый */
.bg-purple {
  background-color: #8B5CF6 !important;
}
.card-feature > .icon.bg-purple {
  box-shadow: 0 15px 30px rgba(139, 92, 246, 0.45);
}
/* бирюзовый */
.bg-teal {
  background-color: #14B8A6 !important;
}
.card-feature > .icon.bg-teal {
  box-shadow: 0 15px 30px rgba(20, 184, 166, 0.45);
}
/* розовый */
.bg-pink {
  background-color: #EC4899 !important;
}
.card-feature > .icon.bg-pink {
  box-shadow: 0 15px 30px rgba(236, 72, 153, 0.45);
}
/* радиусы */
.br-1 {
  border-radius: 1rem!important;
}
/* Теги-чипсы */
.tag {
  display: inline-flex;
  align-items: center;
  padding: 10px 16px;
  border-radius: 8px;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1;
}
.tag-brand {
  background-color: #F3F7FF;
  color: #2563EB;
}
.tag-soft  {
  background-color: #F1F5F9;
  color: #475569;
}
.tag-white  {
  color: #fff;
}
/* Даш-борд */
.dashboard {
  padding: 40px!important;
}
.dashboard::before {
  background-position: center!important;
}
/* Таблицы */
table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: var(--gap-paragraph);
  font-size: var(--size-small);
}
th,
td {
  padding: 6pt 8pt;
  text-align: left;
  border-bottom: 1pt solid var(--brand-border);
  vertical-align: top;
}
thead th {
  background: var(--brand-bg-soft);
  font-weight: 600;
  color: var(--brand-muted);
  text-transform: uppercase;
  font-size: 8.5pt;
  letter-spacing: 0.4pt;
}
tr {
  page-break-inside: avoid;
}
.cell-numeric {
  text-align: right;
  font-variant-numeric: tabular-nums;
  font-family: var(--font-mono);
}
.cell-positive {
  color: var(--color-green);
  font-weight: 600;
}
.cell-negative {
  color: var(--color-red);
  font-weight: 600;
}
/* Issues */
.issue {
  border: 1pt solid var(--brand-border);
  border-radius: 4pt;
  padding: 10pt 12pt;
  margin-bottom: 10pt;
  page-break-inside: avoid;
}
.issue-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 6pt;
}
.issue-title {
  font-weight: 600;
  font-size: var(--size-h4);
  flex: 1;
}
.issue-meta {
  font-size: var(--size-small);
  color: var(--brand-muted);
}
.sev-badge {
  display: inline-block;
  padding: 2pt 6pt;
  border-radius: 3pt;
  font-size: 8.5pt;
  font-weight: 600;
  color: #fff;
}
.sev-badge.sev-Критично {
  background: var(--sev-critical);
}
.sev-badge.sev-Важно {
  background: var(--sev-important);
}
.sev-badge.sev-Средне {
  background: var(--sev-medium);
}
.sev-badge.sev-Низкий {
  background: var(--sev-low);
}
.issue-what,
.issue-why {
  margin-bottom: 4pt;
}
.issue-section-label {
  font-weight: 600;
}
.fix-steps {
  background: var(--brand-bg-soft);
  border-left: 3pt solid var(--brand-primary);
  padding: 6pt 10pt;
  margin-top: 6pt;
  border-radius: 0 1rem 1rem 0;
}
/* Не подсвечивать необязательные пустые поля (пустое = показан placeholder) */
.was-validated .form-control:not([required]):placeholder-shown,
.was-validated textarea:not([required]):placeholder-shown {
    border-color: var(--bs-border-color);
    background-image: none;
}
.compliance-disclaimer {
  background: #fef3c7;
  border-left: 3pt solid var(--brand-accent);
  padding: 8pt 12pt;
  margin-bottom: 14pt;
  border-radius: 0 3pt 3pt 0;
}
.compliance-cat {
  margin-bottom: 12pt;
  page-break-inside: avoid;
}
.compliance-cat-title {
  font-weight: 600;
  margin-bottom: 6pt;
  color: var(--brand-primary-dark);
}
.compliance-finding {
  border-left: 3pt solid var(--compl-low);
  background: var(--brand-bg-soft);
  padding: 8pt 12pt;
  margin-bottom: 6pt;
  border-radius: 0 3pt 3pt 0;
}
.compliance-finding.compl-high {
  border-left-color: var(--compl-high);
}
.compliance-finding.compl-medium {
  border-left-color: var(--compl-medium);
}
.compliance-finding.compl-low {
  border-left-color: var(--compl-low);
}
.compliance-finding-title {
  font-weight: 600;
  margin-bottom: 4pt;
}
.compliance-finding-law {
  font-size: var(--size-small);
  color: var(--brand-muted);
  font-style: italic;
  margin-top: 4pt;
}
/* Скриншоты в рамке устройства */
.vantio-device { position: relative; display: block; width: 100%; }
.vantio-device .device-frame {          /* рамка поверх, клик сквозь неё */
    position: relative; z-index: 2;
    display: block; width: 100%; height: auto;
    pointer-events: none;
}
.vantio-device .device-screen {         /* зона экрана — скриншот под рамкой */
    position: absolute; z-index: 1; overflow: hidden;
}
.vantio-device .device-screen img {
    width: 100%; height: 100%; display: block;
    object-fit: cover; object-position: top center;   /* показывает верх страницы */
}
/* Координаты экрана — ПОДОГНАТЬ под свои картинки (см. п.4) */
.vantio-device.is-desktop .device-screen { 
  top: 13%;
  left: 11%;
  width: 78%;
  height: 78%;
}
.vantio-device.is-mobile  .device-screen {
  top: 6%;
  left: 26.5%;
  width: 47%;
  height: 89%;
  border-radius: 11%;
}
/* Inline-SVG иконки (замена uicons-шрифта). Ведут себя как иконка-шрифт:
   размер = 1em (наследует font-size, напр. fs-4), цвет = currentColor (text-*). */
.vicon {
  width: 1em;
  height: 1em;
  display: inline-block;
  vertical-align: -0.125em;
  fill: currentColor;
  flex-shrink: 0;
}
/* Соцсети в футере */
.social-links .social-link {
    width: 40px;
    height: 40px;
    color: #fff;
    background: rgba(255, 255, 255, .1);
    transition: background-color .2s ease, color .2s ease;
}
.social-links .social-link:hover {
    background: #229ED9; /* фирменный синий Telegram */
    color: #fff;
}