/* ============================================
   Специфичные исправления для устройств Apple
   iOS Safari, iPad, iPhone оптимизация
   ============================================ */

/* Определение устройств Apple */
@supports (-webkit-touch-callout: none) {
  /* Это iOS Safari */
  
  /* Исправление viewport height для iOS Safari */
  /* iOS Safari не учитывает адресную строку в 100vh */
  :root {
    --vh: 1vh;
    --safe-area-inset-top: env(safe-area-inset-top);
    --safe-area-inset-bottom: env(safe-area-inset-bottom);
    --safe-area-inset-left: env(safe-area-inset-left);
    --safe-area-inset-right: env(safe-area-inset-right);
  }
  
  /* JavaScript установит правильное значение --vh */
  html {
    height: -webkit-fill-available;
  }
  
  body {
    min-height: 100vh;
    min-height: -webkit-fill-available;
    /* Учитываем safe area для iPhone X и новее */
    padding-top: env(safe-area-inset-top);
    padding-bottom: env(safe-area-inset-bottom);
  }
  
  /* Исправление для fixed элементов на iOS */
  .tmenu-mobile_positionfixed,
  .tmenu-mobile__menucontent_fixed,
  header[style*="position: fixed"],
  header.fixed {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    /* Учитываем safe area */
    top: env(safe-area-inset-top);
    z-index: 9999;
  }
  
  /* Исправление прокрутки на iOS */
  * {
    -webkit-overflow-scrolling: touch;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1);
  }
  
  /* Улучшение touch событий */
  a, button, .t-menu__link-item, input, textarea, select {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1);
    touch-action: manipulation;
    cursor: pointer;
  }
  
  /* Исправление для элементов с height: 100vh */
  .t396__artboard,
  .t396__carrier,
  .t396__filter {
    min-height: 100vh;
    min-height: -webkit-fill-available;
  }
  
  /* Исправление для fullscreen секций */
  section[style*="height: 100vh"],
  div[style*="height: 100vh"] {
    min-height: 100vh;
    min-height: -webkit-fill-available;
  }
  
  /* Предотвращение zoom при двойном тапе */
  * {
    touch-action: manipulation;
  }
  
  /* Улучшение читаемости текста на Retina дисплеях */
  body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
  }
  
  /* Исправление для input полей (предотвращение zoom) */
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="number"],
  input[type="search"],
  input[type="password"],
  textarea,
  select {
    font-size: 16px !important; /* Критично для предотвращения zoom */
    -webkit-appearance: none;
    -webkit-border-radius: 0;
    border-radius: 0;
  }
  
  /* Исправление для форм */
  form {
    -webkit-user-select: none;
    user-select: none;
  }
  
  /* Исправление для изображений */
  img {
    -webkit-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    image-rendering: -webkit-optimize-contrast;
  }
  
  /* Исправление для кнопок */
  button {
    -webkit-appearance: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1);
    touch-action: manipulation;
  }
  
  /* Исправление для мобильного меню на iOS */
  .tmenu-mobile {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    will-change: transform;
  }
  
  /* Исправление для бургер-меню */
  .t-menuburger {
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
  }
  
  /* Исправление для анимаций на iOS */
  .t-records_animated,
  [data-animate-style],
  [data-animate-sbs-event] {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  
  /* Исправление для прокрутки контента */
  .t396__artboard,
  .t396__carrier {
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
  }
  
  /* Исправление для fixed элементов внутри контейнеров */
  .t396__elem[style*="position: fixed"] {
    position: absolute !important;
  }
  
  /* Улучшение производительности на iOS */
  * {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  
  /* Исправление для текста поверх изображений */
  .t396__elem .tn-atom {
    -webkit-text-stroke: 0.5px transparent;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
  }
}

/* Специфичные исправления для iPhone X и новее (с notch) */
@supports (padding: max(0px)) {
  /* Safe area insets для iPhone X+ */
  body {
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
  }
  
  .tmenu-mobile {
    padding-left: max(20px, env(safe-area-inset-left));
    padding-right: max(20px, env(safe-area-inset-right));
  }
  
  .tmenu-mobile__container {
    padding-left: max(20px, env(safe-area-inset-left));
    padding-right: max(20px, env(safe-area-inset-right));
  }
  
  /* Контент не должен перекрывать notch */
  .t396__artboard,
  .t396__carrier {
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
  }
}

/* Исправления для iPad */
@media screen and (min-width: 768px) and (max-width: 1024px) {
  @supports (-webkit-touch-callout: none) {
    /* iPad специфичные исправления */
    body {
      -webkit-text-size-adjust: 100%;
      text-size-adjust: 100%;
    }
    
    /* Улучшение touch событий на iPad */
    a, button {
      min-height: 44px;
      min-width: 44px;
    }
  }
}

/* Исправления для iPhone в портретной ориентации */
@media screen and (max-width: 480px) {
  @supports (-webkit-touch-callout: none) {
    /* Дополнительные исправления для маленьких iPhone */
    body {
      -webkit-text-size-adjust: 100%;
      text-size-adjust: 100%;
    }
    
    /* Улучшение прокрутки */
    html {
      height: -webkit-fill-available;
      overflow: hidden;
    }
    
    body {
      height: 100%;
      height: -webkit-fill-available;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
    }
  }
}

/* Исправления для iPhone в ландшафтной ориентации */
@media screen and (max-height: 500px) and (orientation: landscape) {
  @supports (-webkit-touch-callout: none) {
    /* Уменьшение высоты элементов в ландшафте */
    .tmenu-mobile__container {
      min-height: 44px;
      padding: 8px 20px;
    }
    
    .t396__artboard,
    .t396__carrier,
    .t396__filter {
      min-height: auto;
      height: auto;
    }
  }
}

/* Исправление для iOS Safari 15+ (новые проблемы) */
@supports (-webkit-appearance: none) and (not (appearance: none)) {
  /* Дополнительные исправления для новых версий iOS */
  * {
    -webkit-font-feature-settings: "kern" 1;
    font-feature-settings: "kern" 1;
    font-kerning: normal;
  }
}

/* Исправление для старых iOS (iOS 9-12) */
@supports (-webkit-overflow-scrolling: touch) and (not (-webkit-appearance: none)) {
  /* Fallback для старых версий */
  body {
    -webkit-text-size-adjust: 100%;
  }
}

/* Исправление для macOS Safari */
@media screen and (min-width: 1024px) {
  @supports (-webkit-appearance: none) {
    /* macOS Safari специфичные исправления */
    body {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }
  }
}

/* Критическое исправление: предотвращение горизонтальной прокрутки на iOS */
@supports (-webkit-touch-callout: none) {
  html, body {
    overflow-x: hidden;
    width: 100%;
    position: relative;
  }
  
  * {
    max-width: 100%;
    box-sizing: border-box;
  }
  
  img, video, iframe {
    max-width: 100%;
    height: auto;
  }
}

/* Исправление для iOS Safari address bar (скрытие/показ) */
@supports (-webkit-touch-callout: none) {
  /* Используем CSS переменную для динамической высоты */
  .t396__artboard[style*="height"],
  .t396__carrier[style*="height"] {
    min-height: 100vh;
    min-height: -webkit-fill-available;
  }
}

/* Улучшение производительности анимаций на iOS */
@supports (-webkit-touch-callout: none) {
  .t-records_animated,
  [data-animate-style],
  [data-animate-sbs-event] {
    will-change: transform, opacity;
    -webkit-perspective: 1000px;
    perspective: 1000px;
  }
}

/* Исправление для iOS Safari focus states */
@supports (-webkit-touch-callout: none) {
  a:focus,
  button:focus,
  input:focus,
  textarea:focus,
  select:focus {
    outline: 2px solid #262e28;
    outline-offset: 2px;
    -webkit-tap-highlight-color: rgba(38, 46, 40, 0.2);
  }
}

