/**
 * Оптимизация для iPad / iPhone: резкость фото, viewport, touch
 * Подключать после основных стилей.
 */

/* ─── Резкость изображений на Retina / iOS ─────────────────────────────
   На iOS Safari transform на img приводит к композитингу и размытию.
   Убираем transform с фото в ключевых блоках для планшетов и телефонов.
   ─────────────────────────────────────────────────────────────────── */

@media (max-width: 1024px) {
    /* Hero: основатели — без scale/translate */
    .hero-founders .img-frame img,
    #founder-2 .img-frame img {
        transform: none !important;
    }

    .prob-ref__bg img {
        transform: none !important;
        -webkit-backface-visibility: visible;
        backface-visibility: visible;
        will-change: auto;
    }

    /* Expert USP: фото эксперта */
    .expert-usp-photo {
        transform: none !important;
    }

    /* Карточки кейсов (timeline): лицевая/оборотная без искажения слоёв */
    .case-front img,
    .case-back img {
        transform: none !important;
    }
}

/* Дополнительно: не создавать композитный слой у фото без надобности */
@media (max-width: 1024px) {
    .img-frame img,
    .member-photo img,
    .expert-usp-photo,
    .expert-usp-photo-wrap img {
        -webkit-backface-visibility: visible;
        backface-visibility: visible;
        will-change: auto;
    }
}

/* ─── Viewport и высота экрана на iOS ─────────────────────────────────
   100vh на iOS не учитывает UI браузера; 100dvh и -webkit-fill-available
   дают корректную высоту.
   ─────────────────────────────────────────────────────────────────── */

@supports (min-height: 100dvh) {
    .site-glass-wrap {
        min-height: 100dvh;
    }
}

@media (max-width: 1024px) {
    .hero {
        min-height: 100dvh;
        min-height: -webkit-fill-available;
    }
}

@media (max-width: 768px) {
    .methodology,
    .methodology .sticky-container,
    .sticky-content {
        min-height: 100dvh;
        height: 100dvh;
        min-height: -webkit-fill-available;
        height: -webkit-fill-available;
    }
}

@media (max-width: 1024px) {
    .problems {
        min-height: 100dvh;
        min-height: -webkit-fill-available;
    }
}

/* Модалки и оверлеи: полный экран с учётом safe area */
.form-overlay-panel,
.form-overlay-backdrop {
    min-height: 100dvh;
    min-height: -webkit-fill-available;
}

/* ─── Touch: тап-подсветка и скролл ─────────────────────────────────── */

a, button, [role="button"], .nav-burger, .team-carousel-nav,
.nav-cta-btn, .nav-contact-cta, .btn-main, .expert-usp-cta,
.roadmap-panel-head, .faq-item button, .case-card {
    -webkit-tap-highlight-color: transparent;
    tap-highlight-color: transparent;
}

/* Плавный скролл в overflow-блоках на iOS */
.expert-usp-content-scroll,
.roadmap-panel-body,
.nav-menu_mobile,
[class*="carousel"] {
    -webkit-overflow-scrolling: touch;
}

/* Карусель команды: нативный горизонтальный скролл (см. team.css); touch momentum уместен */
.team-carousel {
    -webkit-overflow-scrolling: touch;
}

/* ─── Safe area (вырез, домашний индикатор, Dynamic Island) ──────────── */

body {
    padding-left: env(safe-area-inset-left, 0);
    padding-right: env(safe-area-inset-right, 0);
}

.navbar {
    padding-top: env(safe-area-inset-top, 0);
    padding-left: env(safe-area-inset-left, 0);
    padding-right: env(safe-area-inset-right, 0);
}

.nav-menu_mobile {
    padding-left: env(safe-area-inset-left, 0);
    padding-right: env(safe-area-inset-right, 0);
    padding-bottom: env(safe-area-inset-bottom, 0);
}

/* Кнопки и CTA внизу экрана не прилипают к индикатору */
.expert-usp-cta,
.form-overlay-panel .form-overlay-form button[type="submit"] {
    padding-bottom: max(12px, env(safe-area-inset-bottom));
}

/* ─── Минимальные размеры касаний (44pt рекомендация Apple) ─────────── */

@media (max-width: 1024px) {
    .nav-burger,
    .nav-cta-btn,
    .nav-contact-cta,
    .team-carousel-prev,
    .team-carousel-next,
    .expert-usp-cta,
    .btn-main {
        min-height: 44px;
        min-width: 44px;
    }

    .faq-item button {
        min-height: 48px;
        padding-top: 14px;
        padding-bottom: 14px;
    }
}

/* ─── Производительность (GPU Safari): слабее blur «стекла» на телефонах ─── */

@media (max-width: 768px) {
    .navbar,
    .navbar.scrolled {
        backdrop-filter: blur(14px) saturate(145%);
        -webkit-backdrop-filter: blur(14px) saturate(145%);
    }

    .nav-menu_mobile {
        backdrop-filter: blur(12px) saturate(145%);
        -webkit-backdrop-filter: blur(12px) saturate(145%);
    }

    .trust-bar-logo {
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
    }
}

/* ─── Формы: отключение зума при фокусе (шрифт >= 16px) ──────────────── */

@media (max-width: 1024px) {
    .form-overlay-form input[type="text"],
    .form-overlay-form input[type="email"],
    .form-overlay-form input[type="tel"],
    .form-overlay-form textarea {
        font-size: 16px !important;
    }
}
