/* ==========================================================================
   Osteomed — фирменный слой: палитра, логотип, кнопки.
   Подключается ПОСЛЕ all.min.css и перебивает его точечно.
   Смена акцента — правка двух переменных ниже.
   ========================================================================== */

:root {
  --brand: #3d99ed;
  --brand-dark: #2e7ec7;
  --brand-ink: #12395f;

  /* Акцент CTA: медицинский зелёный вместо оранжевого */
  --accent: #12a150;
  --accent-dark: #0a7f3d;
}

/* --- Кнопки: цвет + текст всегда в одну строку --------------------------- */

.header-btn,
.btn-form-buy,
.item3-btn {
  background: -webkit-gradient(linear, left top, right top, from(var(--accent)), to(var(--accent-dark)));
  background: -webkit-linear-gradient(left, var(--accent), var(--accent-dark));
  background: -o-linear-gradient(left, var(--accent) 0, var(--accent-dark) 100%);
  background: linear-gradient(90deg, var(--accent), var(--accent-dark));
  white-space: nowrap;
}

.header-btn:hover,
.btn-form-buy:hover,
.item3-btn:hover {
  background: -webkit-gradient(linear, left top, right top, from(var(--accent-dark)), to(var(--accent)));
  background: -webkit-linear-gradient(left, var(--accent-dark), var(--accent));
  background: -o-linear-gradient(left, var(--accent-dark) 0, var(--accent) 100%);
  background: linear-gradient(90deg, var(--accent-dark), var(--accent));
}

.new-price {
  color: var(--accent-dark);
}

/* Ключевая правка: 24px + letter-spacing .1em не влезали в ширину карточки
   и рвали надпись на две строки. Размер теперь тянется от ширины экрана. */
.btn-form-buy {
  padding: 24px 12px;
  font-size: clamp(15px, 4.4vw, 22px);
  letter-spacing: .04em;
  line-height: 1;
}

.header-btn {
  font-size: clamp(12px, 2.6vw, 16px);
  letter-spacing: .04em;
}

.item3-btn {
  letter-spacing: .04em;
}

@media screen and (max-width: 767px) {
  /* шапка: логотип + CTA должны уместиться в одну строку на 360px */
  .header-btn {
    padding: 14px 14px;
    font-size: clamp(10.5px, 3.1vw, 14px);
    letter-spacing: .02em;
  }
}

@media screen and (min-width: 768px) {
  .btn-form-buy {
    font-size: 20px;
    padding: 26px 14px;
  }
  .header-btn {
    font-size: 16px;
  }
}

/* --- Логотип ------------------------------------------------------------- */

.brand-logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  line-height: 1;
}

.brand-logo__mark {
  width: 38px;
  height: 38px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: block;
}

.brand-logo__word {
  font-family: Roboto, "Helvetica Neue", Arial, sans-serif;
  font-weight: 900;
  font-size: 23px;
  letter-spacing: .01em;
  text-transform: uppercase;
  color: var(--brand-ink);
  white-space: nowrap;
}

.brand-logo__word i {
  font-style: normal;
  color: var(--brand);
}

.brand-logo__tag {
  display: block;
  margin-top: 3px;
  font-family: Roboto, "Helvetica Neue", Arial, sans-serif;
  font-weight: 500;
  font-size: 7.5px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: #8a9bb0;
}

@media screen and (max-width: 767px) {
  .brand-logo {
    gap: 8px;
  }
  .brand-logo__mark {
    width: 30px;
    height: 30px;
  }
  .brand-logo__word {
    font-size: 17px;
  }
  .brand-logo__tag {
    font-size: 6px;
    letter-spacing: .18em;
  }
}

/* узкие телефоны: логотип и CTA обязаны уместиться в одну строку */
@media screen and (max-width: 400px) {
  .brand-logo__mark {
    width: 27px;
    height: 27px;
  }
  .brand-logo__word {
    font-size: 15.5px;
  }
  .brand-logo__tag {
    display: none;
  }
  .header-btn {
    padding: 13px 11px;
    font-size: 10.5px;
  }
}
