/* Safari/iPhone stability hotfix — 2026-09-14 */
html.ios-webkit,
html.ios-webkit body {
    background-attachment: scroll !important;
}

@media (max-width: 768px) {
    /* На телефонах Карусели анимации не нужны: снижаем нагрузку на WebKit/GPU. */
    html.ios-webkit *,
    html.ios-webkit *::before,
    html.ios-webkit *::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
    }

    /* Тяжёлая декоративная CSS-сцена и фоновые эффекты полностью исключаются на iPhone. */
    html.ios-webkit #castle-magic-world,
    html.ios-webkit .castle-magic-world,
    html.ios-webkit .magic-skip,
    html.ios-webkit .magic-theme-toggle,
    html.ios-webkit .glowing-strips-container,
    html.ios-webkit .glowing-strip,
    html.ios-webkit .colorful-effect,
    html.ios-webkit .floating-shape,
    html.ios-webkit .particle,
    html.ios-webkit .sparkle {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    /* Перебиваем правило замка, которое до castle-scene-ready делает основной контент прозрачным. */
    html.ios-webkit body > header,
    html.ios-webkit body > section,
    html.ios-webkit body > footer,
    html.ios-webkit body > .messenger-buttons,
    html.ios-webkit body > .mobile-bottom-nav {
        opacity: 1 !important;
        transform: none !important;
        visibility: visible !important;
    }

    /* backdrop-filter на fixed/overlay-элементах дорог для мобильного WebKit. */
    html.ios-webkit .header,
    html.ios-webkit .mobile-bottom-nav,
    html.ios-webkit .mobile-slide-menu,
    html.ios-webkit .cookie-content,
    html.ios-webkit .mystery-ball-popup,
    html.ios-webkit .mystery-ball-card,
    html.ios-webkit .character-game-overlay,
    html.ios-webkit .character-game-modal {
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
    }

    html.ios-webkit video {
        max-width: 100% !important;
        height: auto !important;
    }
}
