/* ==========================================================================
   GlukVPN - маленький набор утилит, чтобы не держать стили в разметке
   ========================================================================== */

.mt-1 { margin-top: 6px; }
.mt-2 { margin-top: 10px; }
.mt-3 { margin-top: 16px; }
.mt-4 { margin-top: 22px; }
.mt-5 { margin-top: 30px; }
.mt-6 { margin-top: 42px; }

.mb-3 { margin-bottom: 16px; }
.mb-4 { margin-bottom: 22px; }

.center { text-align: center; }
.center-x { margin-inline: auto; }

.flex-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.flex-row--center {
  justify-content: center;
}

.stack {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.grid-2 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 14px;
}

.hide-sm {
  display: initial;
}

@media (max-width: 640px) {
  .hide-sm {
    display: none;
  }
}

/* типовые отступы внутри шапки секции */
.section__head .eyebrow + h2,
.section__head .eyebrow + .h2 {
  margin-top: 16px;
}

.section__head h2 + p,
.section__head .h2 + p {
  margin-top: 14px;
}

.section__head--center .lead {
  margin-inline: auto;
}

/* Защита: инлайновые SVG без атрибутов width/height не должны растягиваться */
:where(svg:not([width])) {
	width: 18px;
	height: 18px;
	flex: none;
}
