/**
 * Стили для отображения спойлеров на фронтенде
 * 
 * @package AirSystema
 * @author Деткин Роман
 * @version 1.0.0
 */

/* Контейнер спойлеров */
.service-spoilers {
    margin: 30px 0;
}

/* Элемент спойлера */
.spoiler-item {
    margin-bottom: 20px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    overflow: hidden;
    background: #fff;
    -webkit-transition: box-shadow 0.3s ease;
    -moz-transition: box-shadow 0.3s ease;
    -o-transition: box-shadow 0.3s ease;
    transition: box-shadow 0.3s ease;
    /* Специфичные стили для Яндекс браузера */
    -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    -moz-box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

/* Заголовок спойлера */
.spoiler-title {
    text-align: center;
    margin: 0;
    background: #f8f9fa;
    /* Специфичные стили для Яндекс браузера */
    -webkit-background-clip: padding-box;
    background-clip: padding-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.spoiler-title:hover {
    background: #0073aa;
    /* Явное указание для Яндекс браузера */
    background-color: #0073aa ;
}

.spoiler-title .spoiler-toggle {
    display: block;
    padding: 9px;
    text-decoration: none;
    text-transform: capitalize;
    color: #3D8DD7;
    font-size: 16px;
    font-weight: 400;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    position: relative;
    /* Специфичные стили для Яндекс браузера */
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: pointer;
    /* Явное указание цвета для Яндекс браузера */
    color: #3D8DD7 ;
}


/* Иконка спойлера */
.spoiler-icon {
    display: none;
}

.spoiler-item.active .spoiler-icon {
    transform: rotate(45deg);
}

/* Содержимое спойлера */
.spoiler-content {
    display: none;
    padding: 20px;
    background: #fff;
    /* Специфичные стили для Яндекс браузера */
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    /* Явное указание фона */
    background-color: #fff ;
}

.spoiler-item.active .spoiler-content {
    display: block ;
    /* Дополнительные стили для активного состояния в Яндекс браузере */
    visibility: visible;
    opacity: 1;
}

/* Rich Text содержимое */
.spoiler-rich-content {
    line-height: 1.6;
    color: #333;
}

.spoiler-rich-content h1,
.spoiler-rich-content h2,
.spoiler-rich-content h3,
.spoiler-rich-content h4,
.spoiler-rich-content h5,
.spoiler-rich-content h6 {
    margin-top: 0;
    margin-bottom: 15px;
    color: #333;
}

.spoiler-rich-content p {
    margin-bottom: 15px;
}

.spoiler-rich-content ul,
.spoiler-rich-content ol {
    margin-bottom: 15px;
    padding-left: 20px;
}

.spoiler-rich-content li {
    margin-bottom: 5px;
}

/* Таблица спойлера */
.spoiler-table-wrapper {
    margin: 20px 0;
    /* Специфичные стили для Яндекс браузера */
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.table-title {
    margin: 0 0 15px 0;
    font-size: 16px;
    font-weight: 600;
    color: #333;
    /* Явное указание цвета для Яндекс браузера */
    color: #333 ;
}

.spoiler-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    overflow: hidden;
    /* Специфичные стили для Яндекс браузера */
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    /* Явное указание фона */
    background-color: #fff ;
    /* Принудительное отображение таблицы */
    table-layout: fixed;
}

.spoiler-table th,
.spoiler-table td {
    padding: 12px 15px;
    text-align: left;
    border-bottom: 1px solid #e0e0e0;
    /* Специфичные стили для Яндекс браузера */
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    /* Явное указание границ */
    border-bottom-color: #e0e0e0 ;
}

.spoiler-table th {
    background: #f8f9fa;
    font-weight: 600;
    color: #333;
    font-size: 14px;
    /* Явное указание стилей для Яндекс браузера */
    background-color: #f8f9fa ;
    color: #333 ;
    /* Принудительное отображение */
    display: table-cell ;
}

.spoiler-table td {
    color: #555;
    font-size: 14px;
    /* Явное указание цвета для Яндекс браузера */
    color: #555 ;
    /* Принудительное отображение */
    display: table-cell ;
}

.spoiler-table tbody tr:hover {
    background: #f8f9fa;
    /* Явное указание для Яндекс браузера */
    background-color: #f8f9fa ;
}

.spoiler-table tbody tr:last-child td {
    border-bottom: none ;
    /* Дополнительное указание для Яндекс браузера */
    border-bottom-width: 0 ;
    border-bottom-style: none ;
}

/* Пользовательский контент */
.spoiler-custom-content {
    line-height: 1.6;
    color: #333;
}

/* Адаптивность */
@media (max-width: 768px) {
    .spoiler-title .spoiler-toggle {
        padding: 15px;
        font-size: 16px;
    }
    
    .spoiler-icon {
        width: 20px;
        height: 20px;
        line-height: 20px;
        font-size: 14px;
        margin-right: 10px;
    }
    
    .spoiler-content {
        padding: 15px;
    }
    
    .spoiler-table th,
    .spoiler-table td {
        padding: 10px 12px;
        font-size: 13px;
    }
    
    .table-title {
        font-size: 15px;
    }
}

@media (max-width: 480px) {
    .spoiler-title .spoiler-toggle {
        padding: 12px;
        font-size: 15px;
    }
    
    .spoiler-icon {
        width: 18px;
        height: 18px;
        line-height: 18px;
        font-size: 12px;
        margin-right: 8px;
    }
    
    .spoiler-content {
        padding: 12px;
    }
    
    .spoiler-table {
        font-size: 12px;
    }
    
    .spoiler-table th,
    .spoiler-table td {
        padding: 8px 10px;
    }
}

/* Анимации */
.spoiler-content {
    -webkit-animation: fadeIn 0.3s ease;
    -moz-animation: fadeIn 0.3s ease;
    -o-animation: fadeIn 0.3s ease;
    animation: fadeIn 0.3s ease;
}

@-webkit-keyframes fadeIn {
    from {
        opacity: 0;
        -webkit-transform: translateY(-10px);
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

@-moz-keyframes fadeIn {
    from {
        opacity: 0;
        -moz-transform: translateY(-10px);
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        -moz-transform: translateY(0);
        transform: translateY(0);
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
        -webkit-transform: translateY(-10px);
        -moz-transform: translateY(-10px);
        -ms-transform: translateY(-10px);
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        -webkit-transform: translateY(0);
        -moz-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0);
    }
}

/* Стили для JavaScript */
.spoiler-item.active .spoiler-content {
    -webkit-animation: slideDown 0.3s ease;
    -moz-animation: slideDown 0.3s ease;
    -o-animation: slideDown 0.3s ease;
    animation: slideDown 0.3s ease;
}

@-webkit-keyframes slideDown {
    from {
        max-height: 0;
        opacity: 0;
    }
    to {
        max-height: 1000px;
        opacity: 1;
    }
}

@-moz-keyframes slideDown {
    from {
        max-height: 0;
        opacity: 0;
    }
    to {
        max-height: 1000px;
        opacity: 1;
    }
}

@keyframes slideDown {
    from {
        max-height: 0;
        opacity: 0;
    }
    to {
        max-height: 1000px;
        opacity: 1;
    }
}

/* Дополнительные стили для интеграции с темой */
.service-spoilers h2 {
    margin-bottom: 20px;
    color: #333;
    font-size: 24px;
    font-weight: 600;
}

/* Стили для темной темы (если используется) */

    .spoiler-item {
        background: #3D8DD7;
        color: #fff;
    }
    
    .spoiler-title {
        background: #3D8DD7;
    }
    
    .spoiler-title .spoiler-toggle {
        color: #fff;
    }
    
    .spoiler-title .spoiler-toggle:hover {
        background: #0073aa;
    }
    
    .spoiler-content {
        color: #fff;
    }
    .spoiler-table tbody{
        border-bottom: 1px solid #0073aa;
    }
    
    .spoiler-table th {
        background: #0073aa;
        color: #fff;
    }
    
    .spoiler-table td {
        color: #333;
        border-bottom: 1px solid #0073aa;
    }
    .spoiler-table tbody tr:last-child td {
        border-bottom: none;
    }



/* Специфичные стили для Яндекс браузера */
/* Принудительное применение стилей */
.service-spoilers * {
    -webkit-box-sizing: border-box ;
    -moz-box-sizing: border-box ;
    box-sizing: border-box ;
}

/* Дополнительные стили для корректного отображения в Яндекс браузере */
.spoiler-item {
    -webkit-transform: translateZ(0);
    -moz-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
    /* Принудительное создание слоя для аппаратного ускорения */
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    backface-visibility: hidden;
}

/* Исправление проблем с отображением текста в Яндекс браузере */
.spoiler-title .spoiler-toggle,
.spoiler-rich-content,
.spoiler-custom-content,
.table-title {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* Дополнительные стили для таблиц в Яндекс браузере */
.spoiler-table {
    -webkit-border-collapse: separate;
    -moz-border-collapse: separate;
    border-collapse: separate;
    border-spacing: 0;
}

.spoiler-table th,
.spoiler-table td {
    -webkit-border-collapse: separate;
    -moz-border-collapse: separate;
    border-collapse: separate;
}

/* Принудительное отображение элементов в Яндекс браузере */
.spoiler-item.active .spoiler-content {
    -webkit-display: block ;
    -moz-display: block ;
    -ms-display: block ;
    display: block ;
    -webkit-visibility: visible ;
    -moz-visibility: visible ;
    -ms-visibility: visible ;
    visibility: visible ;
}
