.trainers-page {
    position: relative;
    background-image: url('../images/trainersback.png'); /* путь относительно CSS-файла */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 80px 60px;
    color: #fff;
    margin-top: -90px;
    padding-top: 90px; /* компенсируем, чтобы контент не заехал под шапку */
}

/* затемняющая подложка поверх фото, чтобы карточки читались */
.trainers-page::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(20, 20, 20, 0.85);
    z-index: 0;
}

/* контент должен быть выше подложки */
.trainers-header,
.trainers-grid {
    position: relative;
    z-index: 1;
}
.trainers-header {

    text-align: center;

    margin-bottom: 30px;

}



.trainers-header h1 {

    font-size: 48px;

    font-weight: 900;

    text-transform: uppercase;

    letter-spacing: 1px;

}



.trainers-header .accent {

    color: #ff5c00;

}



.trainers-header p {

    color: #b0b0b0;

    margin-top: 10px;

}



.trainers-grid {

    display: grid;

    grid-template-columns: repeat(auto-fit, minmax(280px, 340px));
    justify: content: 'center';

    gap: 30px;

    max-width: 1200px;

    margin: 0 auto;

    justify-content: center;

}



.trainer-card {

    background-color: #1e1e1e;

    border-radius: 12px;

    overflow: hidden;

    transition: transform 0.2s ease;


}



.trainer-card:hover {

    transform: translateY(-6px);
    
    color: var(--orange);
    transform: scale(1.08);
    filter: drop-shadow(0 0 12px rgba(255, 92, 0, 0.7));
}



.trainer-photo img {

    width: 100%;

    height: 260px;

    object-fit: cover;

    display: block;

}



.trainer-info {

    padding: 20px;

}



.trainer-info h3 {

    font-size: 20px;

    font-weight: 700;

    margin-bottom: 4px;

}



.trainer-spec {

    color: #ff5c00;

    font-size: 13px;

    text-transform: uppercase;

    letter-spacing: 0.5px;

    margin-bottom: 12px;

}



.trainer-desc {

    color: #c4c4c4;

    font-size: 14px;

    line-height: 1.5;

    margin-bottom: 16px;

}



.trainer-phone {

    display: inline-block;

    color: #fff;

    font-weight: 600;

    margin-bottom: 12px;

    text-decoration: none;

}



.trainer-phone:hover {

    color: #ff5c00;

}



.trainer-social {

    display: flex;

    flex-wrap: wrap;

    gap: 10px;

}



.trainer-social a {

    color: #b0b0b0;

    font-size: 13px;

    text-decoration: none;

    border: 1px solid #333;

    padding: 5px 12px;

    border-radius: 20px;

    transition: all 0.2s ease;

}



.trainer-social a:hover {

    color: #fff;

    border-color: #ff5c00;

    background-color: #ff5c00;

}
