/**
 * Мобильная адаптация и safe-area (подключается последним).
 */

/* --- Модальные окна: высота с учётом мобильного браузера и выреза --- */
.case-dialog,
.lead-dialog {
  /* dvh — корректная высота на мобильном Safari; fallback 90vh */
  max-height: 90vh;
  max-height: min(90vh, 100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 1rem);
  max-width: min(32rem, calc(100vw - 2 * var(--gutter)));
  width: 100%;
  box-sizing: border-box;
}

.lead-dialog {
  max-width: min(22rem, calc(100vw - 2 * var(--gutter)));
}

.case-dialog__inner {
  padding-left: max(1.5rem, env(safe-area-inset-left, 0px));
  padding-right: max(1.5rem, env(safe-area-inset-right, 0px));
  padding-bottom: max(1.75rem, env(safe-area-inset-bottom, 0px));
}

.lead-dialog__inner {
  padding-left: max(1.5rem, env(safe-area-inset-left, 0px));
  padding-right: max(1.5rem, env(safe-area-inset-right, 0px));
  padding-bottom: max(1.5rem, env(safe-area-inset-bottom, 0px));
}

.case-dialog__x,
.lead-dialog__x {
  right: max(0.75rem, env(safe-area-inset-right, 0px));
  top: max(0.75rem, env(safe-area-inset-top, 0px));
  min-width: 44px;
  min-height: 44px;
}

/* Узкий экран: блок «было → стало» в кейсе колонкой */
@media (max-width: 400px) {
  .case-dialog__compare {
    flex-direction: column;
    align-items: stretch;
  }

  .case-dialog__compare-arrow {
    transform: rotate(90deg);
    align-self: center;
  }

  .case-dialog__compare-col,
  .case-dialog__yield-box {
    max-width: none;
  }

  .case-dialog__compare-bold {
    max-width: none;
  }
}

/* Калькулятор: длинные числа не ломают строку */
@media (max-width: 420px) {
  .calc-results__row {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.2rem;
  }
}

/* Карточки и отступы на очень узких экранах */
@media (max-width: 380px) {
  .icon-card {
    padding: 1.15rem 0.9rem;
  }

  .case-card {
    padding: 1rem 0.9rem;
  }

  .section-lead {
    font-size: 0.95rem;
    margin-bottom: 2rem;
  }
}

/* FAQ: удобнее нажимать на тач-устройствах */
.faq-item summary {
  min-height: 48px;
  padding-top: 0.85rem;
  padding-bottom: 0.85rem;
}

/* Кнопки и ссылки в карточках кейсов */
.case-card__more {
  min-height: 44px;
  padding: 0.45rem 0.65rem;
}

/* iOS: поля ввода ≥16px — без авто-зума при фокусе */
@media (max-width: 540px) {
  .lead-form__input {
    font-size: 16px;
  }
}

/* Грубый тач: крупнее зона нажатия */
@media (hover: none) and (pointer: coarse) {
  .btn {
    min-height: 48px;
  }

  .hero-cta__inner {
    min-height: 52px;
  }

  .founder .carousel__btn {
    width: 2.5rem;
    height: 2.5rem;
  }
}

/* Юридические страницы: читаемость на мобиле */
@media (max-width: 480px) {
  .legal-doc {
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }

  .legal-doc__footer-links {
    flex-direction: column;
    align-items: flex-start;
  }
}
