/* Информационные блоки: схема работы, таблицы, этапы, вопросы-ответы.
   Подключаются на страницах видеонаблюдения и ГЛОНАСС. */

.info-section {
    margin: 70px 0;
}

.info-section > h2 {
    text-align: center;
    font-size: 2rem;
    color: var(--primary, #2c3e50);
    margin-bottom: 15px;
}

.info-section > h2::after {
    content: '';
    display: block;
    width: 80px;
    height: 4px;
    margin: 15px auto 0;
    background: linear-gradient(to right, var(--accent, #00d2ff), var(--secondary, #3a7bd5));
}

.info-lead {
    max-width: 820px;
    margin: 0 auto 35px;
    text-align: center;
    color: var(--text-light, #777);
    font-size: 1.05rem;
}

/* Схема «как работает» */
.info-flow {
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 0;
    flex-wrap: wrap;
}

.info-step {
    flex: 1 1 190px;
    max-width: 240px;
    background: var(--white, #fff);
    border-radius: 10px;
    box-shadow: var(--shadow, 0 4px 12px rgba(0,0,0,0.1));
    padding: 25px 20px;
    text-align: center;
    position: relative;
    transition: transform 0.3s ease;
}

.info-step:hover {
    transform: translateY(-5px);
}

.info-step i {
    font-size: 2.4rem;
    color: var(--secondary, #3a7bd5);
    margin-bottom: 12px;
}

.info-step h3 {
    font-size: 1.1rem;
    color: var(--primary, #2c3e50);
    margin-bottom: 8px;
}

.info-step p {
    font-size: 0.92rem;
    color: var(--text-light, #777);
}

.info-arrow {
    display: flex;
    align-items: center;
    padding: 0 10px;
    color: var(--accent, #00d2ff);
    font-size: 1.6rem;
}

/* Сетка карточек */
.info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 25px;
}

.info-card {
    background: var(--white, #fff);
    border-radius: 10px;
    box-shadow: var(--shadow, 0 4px 12px rgba(0,0,0,0.1));
    padding: 25px;
    border-top: 4px solid var(--accent, #00d2ff);
}

.info-card h3 {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--primary, #2c3e50);
    font-size: 1.15rem;
    margin-bottom: 10px;
}

.info-card h3 i {
    color: var(--secondary, #3a7bd5);
    width: 26px;
    text-align: center;
}

.info-card p {
    color: var(--text, #333);
    font-size: 0.95rem;
}

/* Таблица сравнения */
.info-table-wrap {
    overflow-x: auto;
    background: var(--white, #fff);
    border-radius: 10px;
    box-shadow: var(--shadow, 0 4px 12px rgba(0,0,0,0.1));
}

.info-table {
    width: 100%;
    min-width: 640px;
    border-collapse: collapse;
}

.info-table th,
.info-table td {
    padding: 14px 18px;
    text-align: left;
    border-bottom: 1px solid #e8edf3;
    vertical-align: top;
}

.info-table thead th {
    background: var(--primary, #2c3e50);
    color: var(--white, #fff);
    font-weight: 500;
}

.info-table tbody th {
    color: var(--primary, #2c3e50);
    font-weight: 600;
    white-space: nowrap;
}

.info-table tbody tr:last-child th,
.info-table tbody tr:last-child td {
    border-bottom: none;
}

.info-note {
    margin-top: 15px;
    font-size: 0.88rem;
    color: var(--text-light, #777);
    text-align: center;
}

/* Этапы работы */
.info-stages {
    list-style: none;
    counter-reset: stage;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
}

.info-stages li {
    counter-increment: stage;
    background: var(--white, #fff);
    border-radius: 10px;
    box-shadow: var(--shadow, 0 4px 12px rgba(0,0,0,0.1));
    padding: 25px 20px 20px;
    position: relative;
}

.info-stages li::before {
    content: counter(stage);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin-bottom: 12px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--secondary, #3a7bd5), var(--accent, #00d2ff));
    color: var(--white, #fff);
    font-weight: 700;
}

.info-stages h3 {
    font-size: 1.05rem;
    color: var(--primary, #2c3e50);
    margin-bottom: 6px;
}

.info-stages p {
    font-size: 0.92rem;
    color: var(--text-light, #777);
}

/* Вопросы и ответы */
.info-faq {
    max-width: 860px;
    margin: 0 auto;
}

.info-faq details {
    background: var(--white, #fff);
    border-radius: 8px;
    box-shadow: var(--shadow, 0 4px 12px rgba(0,0,0,0.1));
    margin-bottom: 12px;
    overflow: hidden;
}

.info-faq summary {
    list-style: none;
    cursor: pointer;
    padding: 18px 50px 18px 22px;
    font-weight: 600;
    color: var(--primary, #2c3e50);
    position: relative;
}

.info-faq summary::-webkit-details-marker {
    display: none;
}

.info-faq summary::after {
    content: '+';
    position: absolute;
    right: 22px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.4rem;
    color: var(--secondary, #3a7bd5);
}

.info-faq details[open] summary::after {
    content: '−';
}

.info-faq details p {
    padding: 0 22px 18px;
    color: var(--text, #333);
}

@media (max-width: 768px) {
    .info-section > h2 {
        font-size: 1.6rem;
    }

    .info-arrow {
        width: 100%;
        justify-content: center;
        padding: 8px 0;
        transform: rotate(90deg);
    }

    .info-step {
        max-width: none;
    }
}
