/*
 * SlotterFly Manual Images Fix CSS
 * Исправляет проблемы с отображением изображений в инструкции
 * Версия: 1.0
 */

/* Основные правила для всех изображений в инструкции */
.manual-article img {
    opacity: 1 !important;
    filter: none !important;
    background: transparent !important;
    visibility: visible !important;
    display: block !important;
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: 1rem auto;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    cursor: pointer;
}

/* Принудительное переопределение для изображений в любых контейнерах */
.manual-article * img,
.manual-article p img,
.manual-article div img,
.manual-article section img,
.manual-article article img {
    opacity: 1 !important;
    filter: none !important;
    background: transparent !important;
    visibility: visible !important;
}

/* Специальные правила для изображений в blockquote */
.manual-article blockquote img {
    opacity: 1 !important;
    filter: none !important;
    background: white !important;
    border: 1px solid #d0d0d0;
    padding: 2px;
}

/* Переопределение для загруженных изображений */
.manual-article img[src]:not([src=""]) {
    opacity: 1 !important;
    background: transparent !important;
    filter: none !important;
    visibility: visible !important;
}

/* Правила для загруженных изображений с классом */
.manual-article img.loaded {
    opacity: 1 !important;
    background: transparent !important;
    filter: none !important;
}

/* Эффекты при наведении */
.manual-article img:hover {
    transform: scale(1.02);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
    opacity: 1 !important;
}

/* Правила для изображений с alt текстом */
.manual-article img[alt] {
    border: 1px solid #e0e0e0;
    opacity: 1 !important;
}

/* Правила только для изображений с проблемами загрузки */
.manual-article img[src=""],
.manual-article img:not([src]) {
    opacity: 0.5 !important;
    background: linear-gradient(45deg, #f0f0f0 25%, transparent 25%),
                linear-gradient(-45deg, #f0f0f0 25%, transparent 25%),
                linear-gradient(45deg, transparent 75%, #f0f0f0 75%),
                linear-gradient(-45deg, transparent 75%, #f0f0f0 75%) !important;
    background-size: 20px 20px;
    background-position: 0 0, 0 10px, 10px -10px, -10px 0px;
    min-height: 200px;
}

/* Исправление для изображений с ошибками загрузки */
.manual-article img.error {
    opacity: 0.7 !important;
    background: #f8f9fa !important;
    border: 2px dashed #e0e0e0 !important;
    min-height: 100px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    color: #666666;
    font-size: 0.9rem;
}

/* Мобильная оптимизация */
@media (max-width: 768px) {
    .manual-article img {
        margin: 0.75rem auto;
        border-radius: 6px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
        opacity: 1 !important;
    }

    .manual-article img:hover {
        transform: none;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    }
}

/* Правила для печати */
@media print {
    .manual-article img {
        opacity: 1 !important;
        filter: none !important;
        background: transparent !important;
        box-shadow: none !important;
        border: 1px solid #ddd !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }
}

/* Дополнительные переопределения для сложных случаев */
.manual-article img:not(.error):not([src=""]) {
    opacity: 1 !important;
    background: transparent !important;
    filter: none !important;
    visibility: visible !important;
}

/* Анимация появления для изображений */
@keyframes imageAppear {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.manual-article img.loaded {
    animation: imageAppear 0.3s ease-out;
}

/* Принудительное переопределение любых конфликтующих стилей */
.manual-article img[style*="opacity"] {
    opacity: 1 !important;
}

.manual-article img[style*="filter"] {
    filter: none !important;
}

.manual-article img[style*="background"] {
    background: transparent !important;
}

/* Убираем любые возможные наложения */
.manual-article img::before,
.manual-article img::after {
    display: none !important;
}

/* Правила для конкретных браузеров */
@supports (-webkit-appearance: none) {
    /* Safari */
    .manual-article img {
        -webkit-opacity: 1 !important;
        -webkit-filter: none !important;
    }
}

@supports (-moz-appearance: none) {
    /* Firefox */
    .manual-article img {
        -moz-opacity: 1 !important;
    }
}

/* Правила для изображений в модальных окнах */
.image-modal img {
    opacity: 1 !important;
    filter: none !important;
    background: transparent !important;
    max-width: 90vw;
    max-height: 90vh;
    object-fit: contain;
}

/* Убираем возможные конфликты с библиотеками */
.manual-article img:not(.placeholder):not(.loading):not(.error) {
    opacity: 1 !important;
    filter: none !important;
    background: transparent !important;
    visibility: visible !important;
}
