/* =========================================================
   NWStroy — единая система основных кнопок
   Геометрия и типографика одинаковые во всех виджетах.
   Цвет конкретной кнопки остаётся за её виджетом.
   ========================================================= */

:root {
  --nw-btn-height: 58px;
  --nw-btn-radius: 14px;
  --nw-btn-pad-y: 18px;
  --nw-btn-pad-x: 28px;
  --nw-btn-font-size: 18px;
  --nw-btn-font-weight: 800;
  --nw-btn-line-height: 1.2;
  --nw-btn-font-family: Manrope, Inter, Arial, sans-serif;
}

.kb-dg__button,
.nw-work__button,
.nw-work__trust-button,
.nw-reviews__measure-button,
.nw-reviews__open-form,
.nw-reviews__submit,
.nw-offer__button,
.nw-prefooter-cta__button,
.hmg-toggle {
  box-sizing: border-box !important;
  min-height: var(--nw-btn-height) !important;
  padding: var(--nw-btn-pad-y) var(--nw-btn-pad-x) !important;
  border-radius: var(--nw-btn-radius) !important;
  font-family: var(--nw-btn-font-family) !important;
  font-size: var(--nw-btn-font-size) !important;
  font-weight: var(--nw-btn-font-weight) !important;
  line-height: var(--nw-btn-line-height) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-align: center !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  white-space: normal;
}

.kb-dg__button:hover,
.nw-work__button:hover,
.nw-work__trust-button:hover,
.nw-reviews__measure-button:hover,
.nw-reviews__open-form:hover,
.nw-reviews__submit:hover,
.nw-offer__button:hover,
.nw-prefooter-cta__button:hover,
.hmg-toggle:hover {
  transform: translateY(-2px) !important;
}

/* Карточки работ используют кнопку на всю ширину карточки. */
.nw-work__button {
  width: 100% !important;
}

/* Кнопки со значками не должны менять общую высоту. */
.kb-dg__button-icon,
.nw-reviews__measure-button > span,
.nw-work__button > span,
.nw-work__trust-button > span,
.nw-offer__button > span,
.nw-prefooter-cta__button > span {
  flex: 0 0 auto;
}

@media (max-width: 767px) {
  :root {
    --nw-btn-height: 58px;
    --nw-btn-radius: 14px;
    --nw-btn-pad-y: 18px;
    --nw-btn-pad-x: 24px;
    --nw-btn-font-size: 18px;
  }

  .kb-dg__button,
  .nw-work__trust-button,
  .nw-reviews__measure-button,
  .nw-reviews__open-form,
  .nw-reviews__submit,
  .nw-offer__button,
  .nw-prefooter-cta__button {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
}
