

/* Start:/local/templates/atlet/components/wersys/forms/lp_trenery_checklist/style.css?17739106686479*/
#sign-up.lp-checklist-section {
    padding-top: 0;
    padding-right: 0;
    padding-left: 0;
    background: transparent;
    margin-bottom: 40px;
    margin-top: 20px;
}

#sign-up .lp-checklist-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0px 0;
}

#sign-up .lp-checklist-shell {
    width: 100%;
    padding: 0;
    background: transparent;
    box-shadow: none;
}

#sign-up .lp-checklist-card {
    padding: 34px;
    border: 1px solid #dfe4f0;
    border-radius: 26px;
    background: #ffffff;
    box-shadow: 0 18px 44px rgba(26, 35, 66, 0.08);
}

#sign-up .lp-checklist-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.72fr);
    gap: 28px;
    align-items: start;
}

#sign-up .lp-checklist-main,
#sign-up .lp-checklist-side {
    min-width: 0;
}

#sign-up .lp-checklist-top {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: flex-start;
    margin-bottom: 24px;
}

#sign-up .lp-checklist-head {
    max-width: 560px;
}

#sign-up .lp-checklist-title {
    margin: 0 0 8px;
    color: #1728BF;
    font-size: 40px;
    line-height: 1.06;
    font-family: "TildaSans-Bold";
}

#sign-up .lp-checklist-subtitle {
    color: #5c657f;
    font-size: 16px;
    line-height: 1.5;
}

#sign-up .lp-checklist-price {
    display: flex;
    align-items: baseline;
    gap: 10px;
    padding: 14px 18px;
    border-radius: 18px;
    background: #f5f7fc;
    white-space: nowrap;
}

#sign-up .lp-checklist-price-current {
    color: #1f32c8;
    font-size: 34px;
    line-height: 1;
    font-family: "TildaSans-ExtraBold";
}

#sign-up .lp-checklist-price-old {
    color: #8b92a7;
    font-size: 20px;
    line-height: 1;
    text-decoration: line-through;
}

#sign-up .lp-checklist-form {
    padding: 0;
    margin: 0;
}

#sign-up .lp-checklist-error {
    margin-bottom: 12px;
    color: #d12d4a;
    text-align: center;
}

#sign-up .lp-checklist-fields {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
}

#sign-up .lp-checklist-field label {
    display: block;
    margin-bottom: 8px;
    color: #4e566d;
    font-size: 13px;
    font-weight: 700;
}

#sign-up .lp-checklist-form input[type="text"],
#sign-up .lp-checklist-form input[type="tel"],
#sign-up .lp-checklist-form input[type="email"] {
    width: 100%;
    margin-bottom: 0;
    padding: 8px 18px;
    border: 1px solid #d8deeb;
    border-radius: 16px;
    background: #ffffff;
    font-size: 15px;
    font-family: "TildaSans-Bold";
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

#sign-up .lp-checklist-form input[type="text"]:focus,
#sign-up .lp-checklist-form input[type="tel"]:focus,
#sign-up .lp-checklist-form input[type="email"]:focus {
    border-color: #2c43d6;
    background: #ffffff;
    box-shadow: 0 0 0 4px rgba(44, 67, 214, 0.08);
}

#sign-up .lp-checklist-consents {
    display: grid;
    gap: 10px;
    margin-top: 16px;
}

#sign-up .lp-checklist-consent {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 4px 8px;
    border-radius: 14px;
    background: #f7f9fc;
    cursor: pointer;
    margin-bottom: 0px;
}

#sign-up .lp-checklist-form .lp-checklist-consent input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 2px 0 0;
}

#sign-up .lp-checklist-consent span {
    color: #5d657c;
    font-size: 13px;
    line-height: 1.5;
}

#sign-up .lp-checklist-consent a {
    color: #2c43d6;
    text-decoration: underline;
    text-underline-offset: 2px;
}

#sign-up .lp-checklist-actions {
    margin-top: 18px;
}

#sign-up .lp-checklist-submit {
    min-width: 260px;
    margin: 0;
    padding: 12px 24px;
    border: none;
    border-radius: 24px;
    background: linear-gradient(135deg, #ff2b7a 0%, #d7175f 100%);
    letter-spacing: 0.05em;
}

#sign-up .lp-checklist-submit:hover {
    background: linear-gradient(135deg, #f01a68 0%, #c60d51 100%);
}

#sign-up .lp-checklist-side {
    display: flex;
}

#sign-up .lp-checklist-gift-card {
    width: 100%;
    padding: 28px 24px;
    border: 1px solid #dfe4f0;
    border-radius: 24px;
    background: linear-gradient(180deg, #f8faff 0%, #f2f5fd 100%);
}

#sign-up .lp-checklist-gift-label {
    display: inline-block;
    margin-bottom: 14px;
    padding: 6px 10px;
    border-radius: 999px;
    background: #e8edff;
    color: #2c43d6;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

#sign-up .lp-checklist-gift-title {
    margin: 0 0 12px;
    color: #17203f;
    font-size: 28px;
    line-height: 1.15;
    font-family: "TildaSans-Bold";
}

#sign-up .lp-checklist-gift-text {
    margin: 0 0 18px;
    color: #5c657f;
    font-size: 15px;
    line-height: 1.6;
}

#sign-up .lp-checklist-gift-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

#sign-up .lp-checklist-gift-list li {
    position: relative;
    padding-left: 18px;
    color: #4f5871;
    font-size: 14px;
    line-height: 1.6;
}

#sign-up .lp-checklist-gift-list li + li {
    margin-top: 4px;
}

#sign-up .lp-checklist-gift-list li::before {
    content: "";
    position: absolute;
    top: 8px;
    left: 0;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #2c43d6;
}

@media (max-width: 991px) {
    #sign-up .lp-checklist-card {
        padding: 24px;
    }

    #sign-up .lp-checklist-layout {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    #sign-up .lp-checklist-top {
        flex-direction: column;
    }

    #sign-up .lp-checklist-head,
    #sign-up .lp-checklist-price {
        max-width: none;
    }

    #sign-up .lp-checklist-title {
        font-size: 34px;
    }
}

@media (max-width: 767px) {
    #sign-up .lp-checklist-card {
        padding: 18px;
        border-radius: 20px;
    }

    #sign-up .lp-checklist-title {
        font-size: 28px;
    }

    #sign-up .lp-checklist-submit {
        width: 100%;
        min-width: 0;
    }

    #sign-up .lp-checklist-gift-card {
        padding: 22px 18px;
        border-radius: 20px;
    }

    #sign-up .lp-checklist-gift-title {
        font-size: 24px;
    }
}

/* End */


/* Start:/local/templates/atlet/components/bitrix/news.list/trenery/style.css?17924329098038*/
#all-trainers .filter-controls {
    height: 62px;
    border-radius: 0 20px 20px 0;
}

#all-trainers .filter-icon-3 {
    border-radius: 20px 0 0 20px;
}

#all-trainers .ajax_reload.products > .trainer-card {
    padding: 0;
}

#all-trainers .mini-foto-trainer {
    border-radius: 20px;
}

#all-trainers .trainer-card > .card-block {
    padding: 20px 0;
}

@media (max-width: 991px) {
    #all-trainers .filter-controls {
        height: auto;
        min-height: 62px;
    }
}

/* ===== Адаптация /trenery/ (2026-10-19) =====
   Было: контент шёл через глобальный .container (90vw, max 1200px) + 15px паддинга
   секции + 10px у .filter-blog на телефоне — боковые поля складывались слоями
   (на 375px текст тренера начинался с 44px, заголовок формы — с 51px) и не совпадали
   с шапкой. Теперь край контента = край шапки на любой ширине: 16px (до 480px),
   20px (до 1240px), дальше сетка 1200px по центру — как у шапки и подвала. */

#all-trainers.container-fluid {
    padding-left: 0;
    padding-right: 0;
}

#all-trainers.container-fluid > .container,
#sign-up.lp-checklist-section > .lp-checklist-wrap {
    width: calc(100% - 40px);
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
}

#all-trainers .filter-blog {
    padding-left: 0;
    padding-right: 0;
}

/* Карточки по две в ряд — с зазором (раньше соседние вплотную) */
#all-trainers .ajax_reload.products {
    justify-content: space-between;
}

@media (min-width: 1200px) {
    #all-trainers .ajax_reload.products > .trainer-card {
        flex: 0 0 calc(50% - 16px);
        max-width: calc(50% - 16px);
    }
}

/* Планшет: две карточки в ряд, фото над текстом (раньше одна во всю ширину) */
@media (min-width: 768px) and (max-width: 1199px) {
    #all-trainers .ajax_reload.products > .trainer-card {
        flex: 0 0 calc(50% - 12px);
        max-width: calc(50% - 12px);
    }
    #all-trainers .trainer-card .mini-foto-trainer,
    #all-trainers .trainer-card .card-info {
        flex: 0 0 100%;
        max-width: 100%;
    }
    #all-trainers .trainer-card .card-info {
        padding-left: 0;
        padding-right: 0;
    }
}

/* Форма-чеклист: без вложенного двойного паддинга (обёртка + карточка).
   .lp-checklist-shell в селекторе нужен, чтобы перебить глобальное
   #sign-up .sign-up .sign-up-blog (грузится позже и иначе выигрывает). */
@media (max-width: 991px) {
    #sign-up.lp-checklist-section .lp-checklist-shell {
        padding: 0 !important;
    }
    #sign-up.lp-checklist-section .lp-checklist-shell .lp-checklist-card {
        padding: 24px;
    }
}

@media (max-width: 767px) {
    #sign-up.lp-checklist-section .lp-checklist-shell .lp-checklist-card {
        padding: 20px 16px;
    }
}

@media (max-width: 480px) {
    #all-trainers.container-fluid > .container,
    #sign-up.lp-checklist-section > .lp-checklist-wrap {
        width: calc(100% - 32px);
    }
}

/* Фото тренера: окно растёт вместе с шириной карточки (было фиксированные 205px —
   на широкой карточке кадр резался по шею). Квадрат + снимок по верхнему краю:
   на любой ширине видна верхняя ~⅔ снимка — голова и корпус, как раньше на десктопе. */
#all-trainers .trainer-card .mini-foto-trainer {
    position: relative;
    height: auto;
    align-self: flex-start;
    aspect-ratio: 1 / 1;
}

#all-trainers .trainer-card .mini-foto-trainer img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: 50% 0;
}

/* ===== Телефон: короче «прелюдия» до списка тренеров (2026-10-19) =====
   Было на 375px: до первого тренера 1725px (2,1 экрана), при увеличенном шрифте
   x1.5 — 4 экрана. Подарок-чеклист занимал 345–534px, фильтры — 351px. */
@media (max-width: 767px) {
    body #sign-up.lp-checklist-section {
        margin-top: 12px;
        margin-bottom: 8px;
    }
    #all-trainers.container-fluid > .container {
        padding-top: 24px;
    }
    /* у заголовка в разметке инлайн margin-bottom:40px — поэтому !important */
    #all-trainers h1 {
        margin-bottom: 16px !important;
    }

    /* Подарок-чеклист: вместо блока с описанием и фото — короткая приписка под кнопкой */
    #sign-up.lp-checklist-section .lp-checklist-side {
        display: none;
    }
    /* иконка подарка — SVG, а не эмодзи: эмодзи рисуется не на всех устройствах */
    #sign-up.lp-checklist-section .lp-checklist-actions::after {
        content: "В подарок — чек-лист «Твой результат»";
        display: table;
        margin: 10px auto 0;
        padding-left: 22px;
        background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff2b7a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='8' width='18' height='4' rx='1'/%3E%3Cpath d='M12 8v13M19 12v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-7M7.5 8a2.5 2.5 0 0 1 0-5C10 3 12 8 12 8s2-5 4.5-5a2.5 2.5 0 0 1 0 5'/%3E%3C/svg%3E") no-repeat 0 2px / 16px 16px;
        font-size: 14px;
        line-height: 1.35;
        color: #5c657f;
        text-align: left;
    }

    /* Фильтры компактнее */
    #all-trainers .filter-controls {
        padding-top: 6px;
        padding-bottom: 6px;
    }
    #all-trainers .filter-controls .filter-category-button {
        padding: 8px 14px;
    }
    #all-trainers .filter-controls .filter-text-category {
        margin: 0 0 4px 2px;
    }
    #all-trainers .filter-controls .filter-text-category p {
        font-size: 13px;
        line-height: 1.3;
        margin: 0;
    }
    #all-trainers .filter-controls select.form-control {
        height: 40px;
        padding-top: 6px;
        padding-bottom: 6px;
    }
}

/* «Клуб» и «Специализация» — в одну строку (на совсем узком экране — друг под другом) */
@media (min-width: 340px) and (max-width: 767px) {
    #all-trainers .filter-controls .filter-category-button:nth-of-type(1),
    #all-trainers .filter-controls .filter-category-button:nth-of-type(2) {
        flex: 0 0 50%;
        max-width: 50%;
    }
}

/* Узкий экран / увеличенный шрифт: заголовки не в три строки */
@media (max-width: 340px) {
    #sign-up.lp-checklist-section .lp-checklist-title,
    #all-trainers h1 {
        font-size: 22px;
    }
}

/* Кнопка формы — это <input>, его текст не переносится: на узком экране
   «ЗАПИСАТЬСЯ СЕЙЧАС» обрезался справа. Ужимаем поля и разрядку ступенчато. */
@media (max-width: 340px) {
    #sign-up.lp-checklist-section .lp-checklist-submit {
        padding-left: 10px;
        padding-right: 10px;
        letter-spacing: .3px;
    }
}
@media (max-width: 280px) {
    #sign-up.lp-checklist-section .lp-checklist-submit { font-size: 13px; }
}
@media (max-width: 240px) {
    #sign-up.lp-checklist-section .lp-checklist-submit { font-size: 12px; }
}

/* End */
/* /local/templates/atlet/components/wersys/forms/lp_trenery_checklist/style.css?17739106686479 */
/* /local/templates/atlet/components/bitrix/news.list/trenery/style.css?17924329098038 */
