﻿/* ================================================================
   Repair 
   ================================================================ */

.repair-hero,
.repair-section {
    padding: 5rem 0;
}

.repair .container {
    padding-left: 2rem;
    padding-right: 2rem;
}

.repair-hero h1 {
    font-size: clamp(2rem, 5vw, 2.75rem);
    font-weight: 700;
}

.repair-hero p {
    font-size: 1.125rem;
}

.repair-divider {
    width: 140px;
    margin: 3rem auto;
    border-radius: 2px;
    background: var(--accent-color);
    opacity: .25;
}

.repair-card {
    background: var(--surface-color);
    border-radius: 1rem;
    padding: 1rem 0.35rem;
    transition: box-shadow .25s;
    height: 100%;
}

    .repair-card:hover {
        box-shadow: 0 12px 24px rgb(0 0 0 / .12);
    }

    .repair-card .icon {
        width: 128px;
        height: 128px;
        margin-right: 1.5rem;
        background: var(--accent-color);
        color: var(--contrast-color);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
    }

        .repair-card .icon i {
            font-size: 2.25rem;
        }

.repair-benefit img {
    max-width: 100%;
    border-radius: 1rem;
    box-shadow: 0 6px 18px rgb(0 0 0 / .12);
}

@media (max-width: 767.98px) {
    .repair-benefit img {
        margin-bottom: 1.5rem;
    }
}


/* 1. Унифицированный padding и защита от “вылезания” */
.repair-card {
    padding: 1rem 0.75rem; /* как diagnostics-card */
    overflow: hidden; /* тень-hover не даёт скролл */
    transition: box-shadow .25s, transform .25s;
}

    .repair-card:hover {
        box-shadow: 0 12px 24px rgb(0 0 0 / .12);
        transform: translateY(-4px);
    }

    /* 2. Иконка поменьше на десктопе */
    .repair-card .icon {
        --icon-size: 66px;
        width: var(--icon-size);
        height: var(--icon-size);
        flex: 0 0 var(--icon-size);
        margin-right: 1rem;
    }

        /* пропорционально меньше сам глиф */
        .repair-card .icon i {
            font-size: 2rem;
        }

/* 3. Мобильная версия ≤ 575.98 px */
@media (max-width: 575.98px) {

    /* иконка сбоку текста, карточка в строку */
    .repair-card {
        flex-direction: row !important; /* перекрываем возможный column */
        align-items: flex-start;
        text-align: left;
        padding: 1.25rem 1rem;
    }

        /* ещё компактнее сама иконка */
        .repair-card .icon {
            --icon-size: 66px;
            width: var(--icon-size);
            height: var(--icon-size);
            flex: 0 0 var(--icon-size);
            margin: 0 0.75rem 0 0;
        }

    /* hero-заголовок не даёт горизонт-скролл */
    .repair-hero h1 {
        font-size: clamp(1.375rem, 6vw, 2.25rem);
    }
}

/* 4. Читаемые переносы текста */
.repair-card .title,
.repair-card .description,
.repair-hero h1 {
    text-wrap: pretty; /* перенос строк по словам */
    overflow-wrap: break-word; /* ломаем сверхдлинные токены */
    word-break: normal;
    hyphens: auto; /* рус./англ. гипенизация */
}
