/* ==========================================================================
   ГАРАНТ-ГАЗ · страницы обучения (training.php / training-theory.php)
   v3.10 — высота хедера через JS-переменную, полоса доверия,
   преподаватель, гарантия, состав стоимости, читаемый подвал.
   ========================================================================== */

:root{
    --trp-navy:#0a1f44;
    --trp-navy-2:#143166;
    --trp-blue:#2b8cff;
    --trp-blue-l:#4aa8ff;
    --trp-blue-d:#1a6fd6;
    --trp-soft:#f4f8fc;
    --trp-line:#e3e9f0;
    --trp-ink:#5a6472;
    --trp-green:#0E8055;
    --trp-amber:#ff9f43;
    --trp-shadow:0 24px 60px rgba(10,31,68,.12);

    /* fallback; точное значение ставит js/training-pages.js */
    --trp-header-h:112px;
}

@media (max-width:991.98px){ :root{ --trp-header-h:78px; } }
@media (max-width:575.98px){ :root{ --trp-header-h:66px; } }

[hidden]{ display:none !important; }

.page-training [id]{ scroll-margin-top:calc(var(--trp-header-h) + 20px); }

/* ------------------------------------------------------------------ */
/* МЕНЮ «ОБУЧЕНИЕ» В ХЕДЕРЕ                                            */
/* ------------------------------------------------------------------ */
.header-nav-dropdown{
    position:relative;
    display:inline-flex;
    align-items:center;
}
.header-nav-dropdown::after{
    content:""; position:absolute;
    left:-12px; right:-12px; top:100%; height:18px;
}
.header-nav-caret{ width:16px; height:16px; margin-left:5px; transition:transform .2s ease; }
.header-nav-menu{
    position:absolute; top:100%; left:50%; z-index:1200;
    width:352px; margin-top:16px; padding:8px;
    background:#fff; border-radius:16px;
    box-shadow:0 24px 60px rgba(10,31,68,.22);
    opacity:0; visibility:hidden;
    transform:translate(-50%, -6px);
    transition:opacity .18s ease, transform .18s ease, visibility .18s;
}
.header-nav-menu a{
    display:block; padding:12px 14px; border-radius:11px;
    text-decoration:none; color:var(--trp-navy); font-weight:600;
}
.header-nav-menu a b{ display:block; font-size:14.5px; font-weight:700; }
.header-nav-menu a small{ display:block; margin-top:3px; font-size:12.5px; font-weight:400; color:var(--trp-ink); }
.header-nav-menu a:hover,
.header-nav-menu a:focus-visible{ background:var(--trp-soft); color:var(--trp-navy); }

@media (min-width:992px){
    .header-nav-dropdown:hover .header-nav-menu,
    .header-nav-dropdown:focus-within .header-nav-menu{
        opacity:1; visibility:visible; transform:translate(-50%, 0);
    }
    .header-nav-dropdown:hover .header-nav-caret,
    .header-nav-dropdown:focus-within .header-nav-caret{ transform:rotate(180deg); }
}

/* ------------------------------------------------------------------ */
/* ПОДВАЛ: читаемость на тёмном фоне                                   */
/* ------------------------------------------------------------------ */
.page-training .site-footer{
    background:#05101f;
    border-top:1px solid rgba(255,255,255,.1);
    color:#a8bccf;
    font-size:14px;
}
.page-training .site-footer .container,
.page-training .site-footer .container[style]{ opacity:1 !important; }
.page-training .site-footer span,
.page-training .site-footer p,
.page-training .site-footer strong{ color:#a8bccf; }
.page-training .site-footer a{
    color:#8ec5ff;
    text-decoration:none;
    border-bottom:1px solid rgba(142,197,255,.3);
}
.page-training .site-footer a:hover{ color:#fff; border-bottom-color:#fff; }

/* ------------------------------------------------------------------ */
/* БЛОК 1 · HERO                                                       */
/* ------------------------------------------------------------------ */
.trp-hero{
    position:relative;
    z-index:2;
    isolation:isolate;
    padding-top:calc(var(--trp-header-h) + clamp(20px, 3vw, 46px));
    padding-bottom:clamp(16px, 2.4vw, 28px);
    color:#fff;
    background:
            radial-gradient(120% 120% at 90% -20%, rgba(43,140,255,.42) 0%, rgba(43,140,255,0) 55%),
            radial-gradient(100% 100% at -10% 110%, rgba(43,140,255,.2) 0%, rgba(43,140,255,0) 60%),
            linear-gradient(165deg, #061530 0%, #0a1f44 42%, #0e2a58 100%);
    overflow:visible;
}
.trp-hero::before{
    content:""; position:absolute; inset:0; z-index:-1;
    background-image:
            linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
            linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
    background-size:64px 64px;
    -webkit-mask-image:radial-gradient(120% 90% at 50% 0%, #000 15%, transparent 72%);
    mask-image:radial-gradient(120% 90% at 50% 0%, #000 15%, transparent 72%);
    pointer-events:none;
}
.trp-hero__grid{
    display:grid;
    grid-template-columns:minmax(0, 1.12fr) minmax(0, .88fr);
    gap:clamp(28px, 4vw, 60px);
    align-items:center;
}
.trp-hero__content{ min-width:0; }

.trp-hero h1{
    margin:0 0 16px;
    color:#fff;
    font-size:clamp(26px, 3.4vw, 42px);
    line-height:1.1;
    letter-spacing:-.03em;
    font-weight:800;
    text-wrap:balance;
}
.trp-hero h1 .accent{ color:var(--trp-blue-l); }

.trp-crumbs{
    display:flex; flex-wrap:wrap; align-items:center; gap:8px;
    margin-bottom:18px; font-size:13px; color:#9fb3d1;
}
.trp-crumbs a{ color:#9fb3d1; text-decoration:none; }
.trp-crumbs a:hover{ color:#fff; text-decoration:underline; }
.trp-crumbs span[aria-current]{ color:#c3d3ea; }

.trp-hero__badges{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px; }
.trp-badge{
    display:inline-flex; align-items:center; gap:8px;
    padding:7px 14px; border-radius:40px;
    font-size:12.5px; font-weight:600;
    letter-spacing:.2px;
    border:1px solid rgba(255,255,255,.22);
    background:rgba(255,255,255,.06);
    color:#e7f0fb; white-space:nowrap;
}
.trp-badge .ico{ width:15px; height:15px; }
.trp-badge--online{ border-color:rgba(30,185,128,.55); background:rgba(30,185,128,.16); color:#8ef0c8; }
.trp-badge--offline{ border-color:rgba(43,140,255,.6); background:rgba(43,140,255,.18); color:#bcdcff; }
.trp-badge--doc{ border-color:rgba(255,159,67,.5); background:rgba(255,159,67,.14); color:#ffd8a8; }

.trp-hero__lead{
    max-width:560px; margin:0 0 26px;
    font-size:clamp(15px, 1.4vw, 17.5px);
    line-height:1.6; color:#c7d6ea;
}
.trp-hero__cta{ display:flex; flex-wrap:wrap; align-items:center; gap:12px 26px; }
.trp-hero__cta .btn{ padding:15px 30px; border-radius:12px; font-weight:700; }
.trp-hero__phone{
    display:inline-flex; align-items:center; gap:8px;
    font-size:15.5px; font-weight:600;
    color:#cfe2ff; text-decoration:none; transition:color .15s;
}
.trp-hero__phone:hover{ color:#fff; }
.trp-hero__phone svg{ width:17px; height:17px; color:var(--trp-blue-l); }

.trp-hero__meta{
    display:flex; flex-wrap:wrap; gap:6px 18px;
    margin:20px 0 0; font-size:13.5px; color:#9fb3d1;
}
.trp-hero__meta b{ color:#fff; font-weight:700; }

.trp-hero__media{
    position:relative; margin:0;
    aspect-ratio:4 / 3.15;
    border-radius:22px; overflow:hidden;
    background:linear-gradient(150deg, #12305e, #1b4b8d);
    box-shadow:0 30px 70px rgba(3,10,24,.5);
}
.trp-hero__media img{ display:block; width:100%; height:100%; object-fit:cover; }
.trp-hero__media.is-empty::after{
    content:"Фото учебного сервиса";
    position:absolute; inset:0;
    display:grid; place-items:center;
    font-size:11.5px; letter-spacing:2px; text-transform:uppercase;
    color:rgba(255,255,255,.32);
}
.trp-hero__media-tag{
    position:absolute; left:14px; right:14px; bottom:14px;
    padding:10px 14px; border-radius:12px;
    background:rgba(6,18,40,.74);
    backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
    color:#fff; font-size:12.5px; font-weight:600; line-height:1.4;
}

/* ------------------------------------------------------------------ */
/* СТРОКА ДОВЕРИЯ (продолжение тёмного hero)                           */
/* ------------------------------------------------------------------ */
.trp-trust{
    position:relative;
    z-index:1;
    padding:16px 0 62px;
    background:linear-gradient(180deg, #0e2a58 0%, #0a1f44 100%);
    border-top:1px solid rgba(255,255,255,.07);
    color:#a9bdd6;
    font-size:13.5px;
}
.trp-trust__row{
    display:flex; flex-wrap:wrap;
    align-items:center; justify-content:flex-start;
    gap:10px 30px;
}
.trp-trust__row span{
    display:inline-flex; align-items:center; gap:8px;
    font-weight:600; line-height:1.3;
}
.trp-trust__row .ico{
    width:16px; height:16px;
    flex:0 0 16px;
    color:var(--trp-blue-l);
}
@media (max-width:767.98px){
    .trp-trust{ padding:14px 0 54px; font-size:12.5px; }
    .trp-trust__row{ justify-content:flex-start; gap:8px 18px; }
}

/* ------------------------------------------------------------------ */
/* БЛОК 2 · ОФФЕР-БАР                                                  */
/* ------------------------------------------------------------------ */
.trp-offer-wrap{
    position:relative; z-index:6;
    margin-top:-48px; padding-bottom:6px;
}
.trp-offer{
    background:#fff; border-radius:22px;
    overflow:hidden; box-shadow:0 26px 64px rgba(10,31,68,.16);
}
.trp-offer__facts{
    display:grid; grid-template-columns:repeat(4, 1fr);
    gap:1px; background:var(--trp-line);
}
.trp-offer__fact{ padding:22px 24px; background:#fff; }
.trp-offer__fact b{
    display:block; font-size:clamp(17px, 1.8vw, 23px);
    font-weight:800; line-height:1.2;
    letter-spacing:-.02em; color:var(--trp-navy);
}
.trp-offer__fact span{
    display:block; margin-top:4px;
    font-size:12.5px; line-height:1.4; color:var(--trp-ink);
}
.trp-offer__cta{
    display:flex; flex-wrap:wrap;
    align-items:center; justify-content:space-between;
    gap:12px 20px; padding:16px 24px;
    background:var(--trp-soft); border-top:1px solid var(--trp-line);
}
.trp-offer__cta-left,
.trp-offer__cta-right{
    display:flex; flex-wrap:wrap;
    align-items:center; gap:8px 16px;
}
.trp-offer__cta-right{ gap:12px 20px; }
.trp-offer__cta .btn{ padding:12px 24px; border-radius:11px; font-weight:700; }
.trp-offer__link{
    display:inline-flex; align-items:center; gap:6px;
    font-size:14px; font-weight:700;
    color:var(--trp-blue-d); text-decoration:none;
}
.trp-offer__link:hover{ color:var(--trp-navy); text-decoration:underline; }

/* ------------------------------------------------------------------ */
/* ОБЩИЕ ЭЛЕМЕНТЫ                                                      */
/* ------------------------------------------------------------------ */
.trp-eyebrow{
    display:inline-block; margin-bottom:12px;
    font-size:14px; font-weight:700;
    letter-spacing:.1px;
    color:var(--trp-blue-d);
}
.trp-section-sub{ max-width:730px; margin-bottom:32px; color:var(--trp-ink); }
.trp-note{ margin:18px 0 0; font-size:13px; color:#5F6B7A; }
.trp-link{
    display:inline-flex; align-items:center; gap:6px;
    font-weight:700; font-size:14.5px;
    color:var(--trp-blue-d); text-decoration:none;
}
.trp-link:hover{ color:var(--trp-navy); }

/* ------------------------------------------------------------------ */
/* БЕЙДЖИ МЕСТ                                                         */
/* ------------------------------------------------------------------ */
.trp-seats{
    display:inline-flex; align-items:center; gap:6px;
    padding:5px 13px; border-radius:30px;
    font-size:13px; font-weight:700;
}
.trp-seats.is-ok{ background:rgba(30,185,128,.12); color:#0f7a53; }
.trp-seats.is-low{ background:rgba(255,159,67,.2); color:#a85b00; }
.trp-seats.is-empty{ background:rgba(224,69,94,.12); color:#b32440; }
.trp-seats.is-soon{ background:#fff; color:var(--trp-ink); border:1px solid var(--trp-line); }

/* ------------------------------------------------------------------ */
/* СОСТАВ КУРСА                                                        */
/* ------------------------------------------------------------------ */
.trp-includes-grid{
    display:grid;
    grid-template-columns:minmax(0, 1.55fr) minmax(0, 1fr);
    gap:24px; align-items:start;
}
.trp-includes{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.trp-includes__item{
    display:flex; align-items:flex-start; gap:13px;
    padding:16px; background:var(--trp-soft); border-radius:14px;
}
.trp-includes__ico{
    flex:0 0 40px; width:40px; height:40px;
    border-radius:11px; background:#fff; color:var(--trp-blue);
    display:flex; align-items:center; justify-content:center;
    box-shadow:inset 0 0 0 1px var(--trp-line);
}
.trp-includes__ico svg{ width:20px; height:20px; }
.trp-includes__body{ min-width:0; }
.trp-includes__body b{
    display:block; margin-bottom:3px;
    font-size:15px; font-weight:700; line-height:1.3;
    color:var(--trp-navy);
}
.trp-includes__body span{ display:block; font-size:13px; line-height:1.45; color:var(--trp-ink); }

.trp-exclude{
    padding:22px 24px; background:#fff;
    border:1px solid var(--trp-line);
    border-left:4px solid var(--trp-amber);
    border-radius:14px;
}
.trp-exclude h3{ margin-bottom:8px; font-size:17px; font-weight:800; color:var(--trp-navy); }
.trp-exclude p{ margin-bottom:0; font-size:14px; }
.trp-exclude p + p{ margin-top:10px; }
.trp-exclude ul{ margin:12px 0 16px; padding:0; list-style:none; }
.trp-exclude li{
    position:relative; margin-bottom:6px;
    padding-left:20px; font-size:14px; line-height:1.45;
    color:var(--trp-ink);
}
.trp-exclude li:last-child{ margin-bottom:0; }
.trp-exclude li::before{
    content:"—"; position:absolute; left:0;
    font-weight:700; color:var(--trp-amber);
}

/* ------------------------------------------------------------------ */
/* СОСТАВ СТОИМОСТИ                                                    */
/* ------------------------------------------------------------------ */
.trp-included{
    max-width:860px;
    padding:26px 28px;
    background:var(--trp-soft);
    border:1px solid var(--trp-line);
    border-radius:18px;
}
.trp-included .trp-split__list{ margin:0 0 16px; }
.trp-included .trp-note{ margin:0; }

/* ------------------------------------------------------------------ */
/* ОКУПАЕМОСТЬ (внутри синей секции)                                   */
/* ------------------------------------------------------------------ */
.trp-roi{
    padding:18px 22px;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.24);
    border-radius:16px;
    backdrop-filter:blur(6px);
}
.trp-roi b{ color:#fff; }

/* ------------------------------------------------------------------ */
/* ПРЕПОДАВАТЕЛЬ                                                       */
/* ------------------------------------------------------------------ */
.trp-teacher__photo{
    display:flex; align-items:center; justify-content:center;
    width:100%; max-width:320px;
    aspect-ratio:1 / 1;
    border-radius:22px;
    background:linear-gradient(150deg, #eaf4ff, #cfe4fa);
    border:1px solid var(--trp-line);
    overflow:hidden;
}
.trp-teacher__placeholder{ width:110px; height:110px; color:#9cbfe0; }
.trp-teacher__photo img{
    display:block; width:100%; height:100%;
    object-fit:cover; object-position:center 20%;
}

/* ------------------------------------------------------------------ */
/* ГАРАНТИЯ                                                            */
/* ------------------------------------------------------------------ */
.trp-guarantee{
    display:flex; align-items:flex-start; gap:18px;
    max-width:900px;
    padding:26px 28px;
    background:#fff;
    border:1px solid var(--trp-line);
    border-left:4px solid var(--trp-green);
    border-radius:16px;
}
.trp-guarantee__ico{
    flex:0 0 34px; width:34px; height:34px;
    color:var(--trp-green);
}
.trp-guarantee h3{ color:var(--trp-navy); }

/* ------------------------------------------------------------------ */
/* АКЦЕНТНЫЙ БЛОК «РЕАЛЬНЫЙ АВТОМОБИЛЬ»                                */
/* ------------------------------------------------------------------ */
.trp-realcar-wrap{ padding:clamp(28px, 4vw, 48px) 0 clamp(40px, 5vw, 76px); }
.trp-realcar{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0, 1.05fr) minmax(0, .95fr);
    gap:clamp(24px, 3.5vw, 52px);
    align-items:center;
    padding:clamp(24px, 3.4vw, 48px);
    border-radius:26px;
    color:#fff;
    background:
            radial-gradient(100% 130% at 100% 0%, rgba(43,140,255,.42), transparent 62%),
            linear-gradient(150deg, #071a38 0%, #0f2c5c 100%);
    box-shadow:0 30px 70px rgba(5,16,36,.3);
    overflow:hidden;
}
.trp-realcar::before{
    content:""; position:absolute; inset:0;
    background-image:repeating-linear-gradient(135deg, rgba(255,255,255,.05) 0 2px, transparent 2px 16px);
    opacity:.55; pointer-events:none;
}
.trp-realcar__content{ position:relative; z-index:2; }
.trp-realcar__kicker{
    display:inline-flex; align-items:center; gap:8px;
    margin-bottom:14px; padding:6px 14px; border-radius:40px;
    font-size:12.5px; font-weight:700;
    letter-spacing:.2px;
    color:#ffd8a8;
    background:rgba(255,159,67,.16);
    border:1px solid rgba(255,159,67,.5);
}
.trp-realcar h2{
    margin:0 0 12px; color:#fff;
    font-size:clamp(21px, 2.7vw, 33px);
    font-weight:800; line-height:1.15; letter-spacing:-.02em;
}
.trp-realcar h2 .accent{ color:var(--trp-blue-l); }
.trp-realcar__lead{
    max-width:520px; margin:0 0 20px;
    font-size:15.5px; line-height:1.6; color:#c7d6ea;
}
.trp-realcar__steps{
    display:grid; gap:12px;
    margin:0 0 24px; padding:0; list-style:none;
    counter-reset:rc;
}
.trp-realcar__steps li{
    display:flex; align-items:flex-start; gap:12px;
    font-size:14.5px; line-height:1.5; color:#dbe7f5;
}
.trp-realcar__steps li::before{
    counter-increment:rc;
    content:counter(rc);
    flex:0 0 26px; width:26px; height:26px;
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    font-size:12.5px; font-weight:800; color:#fff;
    background:rgba(43,140,255,.28);
    border:1px solid rgba(74,168,255,.65);
}
.trp-realcar__actions{ display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; }
.trp-realcar__note{ font-size:13px; color:#9fb3d1; }
.trp-realcar__media{
    position:relative; z-index:2; margin:0;
    aspect-ratio:4 / 3.2;
    border-radius:18px; overflow:hidden;
    background:linear-gradient(150deg, #12305e, #1b4b8d);
    box-shadow:0 20px 46px rgba(2,8,20,.45);
}
.trp-realcar__media img{ display:block; width:100%; height:100%; object-fit:cover; }
.trp-realcar__media.is-empty::after{
    content:"Фото установки";
    position:absolute; inset:0;
    display:grid; place-items:center;
    font-size:11.5px; letter-spacing:2px; text-transform:uppercase;
    color:rgba(255,255,255,.32);
}
.trp-realcar__stamp{
    position:absolute; top:14px; left:14px;
    padding:7px 14px; border-radius:30px;
    font-size:12px; font-weight:700;
    letter-spacing:.2px;
    color:#0a1f44; background:#ffd8a8;
}

/* ------------------------------------------------------------------ */
/* РАСПИСАНИЕ                                                          */
/* ------------------------------------------------------------------ */
.trp-schedule{ display:grid; grid-template-columns:repeat(auto-fit, minmax(210px, 1fr)); gap:16px; }
.trp-schedule__card{
    position:relative;
    display:flex; flex-direction:column; gap:7px;
    padding:26px 22px 22px;
    background:#fff; border:1px solid var(--trp-line);
    border-radius:18px;
}
.trp-schedule__card.is-next{
    border-color:var(--trp-blue);
    box-shadow:0 18px 44px rgba(43,140,255,.16);
}
.trp-schedule__flag{
    position:absolute; top:-11px; left:22px;
    padding:4px 12px; border-radius:20px;
    font-size:11.5px; font-weight:700;
    letter-spacing:.2px;
    color:#fff; background:var(--trp-blue-d);
}
.trp-schedule__dates{
    margin:0; font-size:18px; font-weight:800;
    line-height:1.25; color:var(--trp-navy);
}
.trp-schedule__meta{ margin:0 0 4px; font-size:13.5px; color:var(--trp-ink); }
.trp-schedule__mode{
    display:inline-flex; align-items:center; gap:6px;
    align-self:flex-start;
    padding:4px 11px; border-radius:20px;
    font-size:12px; font-weight:700;
    letter-spacing:.2px;
}
.trp-schedule__mode.is-online{ background:rgba(30,185,128,.13); color:#0f7a53; }
.trp-schedule__mode.is-offline{ background:rgba(43,140,255,.13); color:var(--trp-blue-d); }
.trp-schedule__card .trp-seats{ align-self:flex-start; }
.trp-schedule__card .btn{ margin-top:auto; border-radius:11px; }

/* ------------------------------------------------------------------ */
/* СРАВНЕНИЕ                                                           */
/* ------------------------------------------------------------------ */
.trp-compare{
    background:#fff; border:1px solid var(--trp-line);
    border-radius:20px; overflow:hidden;
}
.trp-compare table{ width:100%; margin:0; border-collapse:collapse; }
.trp-compare th,
.trp-compare td{
    padding:14px 20px; font-size:15px; text-align:left;
    border-bottom:1px solid var(--trp-line);
}
.trp-compare thead th{ color:#fff; font-weight:700; background:var(--trp-navy); }
.trp-compare thead th.is-hi{ background:var(--trp-blue); }
.trp-compare th:not(:first-child),
.trp-compare td:not(:first-child){ text-align:center; }
.trp-compare tfoot td{
    font-size:15.5px; font-weight:800; color:var(--trp-navy);
    background:var(--trp-soft); border-bottom:none;
}
.trp-compare .is-yes{ color:var(--trp-green); font-weight:800; }
.trp-compare .is-no{ color:#66727F; font-weight:800; }
.trp-compare .is-text{ font-weight:700; color:var(--trp-navy); font-size:14px; }

@media (max-width:991.98px){
    .trp-compare{ background:transparent; border:none; border-radius:0; overflow:visible; }
    .trp-compare table,
    .trp-compare tbody,
    .trp-compare tr,
    .trp-compare td{ display:block; width:auto; }
    .trp-compare thead{ display:none; }
    .trp-compare tr{
        margin-bottom:10px; padding:16px 18px;
        background:#fff; border:1px solid var(--trp-line);
        border-radius:14px;
    }
    .trp-compare td{ padding:0; border:none; text-align:left; }
    .trp-compare td:first-child{
        margin-bottom:10px; font-size:15px; font-weight:700;
        color:var(--trp-navy);
    }
    .trp-compare td:not(:first-child){
        display:flex; align-items:center; justify-content:space-between;
        gap:12px; padding:7px 0; font-size:14px;
        border-top:1px dashed var(--trp-line);
    }
    .trp-compare td:not(:first-child)::before{
        content:attr(data-label);
        font-weight:500; color:var(--trp-ink);
    }
    .trp-compare tfoot tr{ background:var(--trp-soft); border-color:transparent; }
    .trp-compare tfoot td{ background:transparent; }
    .trp-compare tfoot td:first-child{ font-weight:800; }
}

/* ------------------------------------------------------------------ */
/* ПЕРЕЛИНКОВКА                                                        */
/* ------------------------------------------------------------------ */
.trp-cross{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:28px; }
.trp-cross__card{
    display:block; padding:24px; background:#fff;
    border:1px solid var(--trp-line); border-radius:16px;
    color:var(--trp-ink); text-decoration:none;
    transition:border-color .18s, box-shadow .18s, transform .18s;
}
.trp-cross__card:hover{
    border-color:var(--trp-blue);
    transform:translateY(-3px);
    box-shadow:0 16px 40px rgba(10,31,68,.1);
    color:var(--trp-ink);
}
.trp-cross__card.is-current{ background:var(--trp-soft); border-style:dashed; }
.trp-cross__card.is-current:hover{
    transform:none; box-shadow:none; border-color:var(--trp-line);
}
.trp-cross__tag{
    display:block; margin-bottom:8px;
    font-size:12.5px; font-weight:700;
    letter-spacing:.2px;
    color:var(--trp-blue-d);
}
.trp-cross__title{
    display:block; margin-bottom:6px;
    font-size:17px; font-weight:800; color:var(--trp-navy);
}
.trp-cross__desc{ display:block; font-size:14px; }

/* ------------------------------------------------------------------ */
/* FAQ                                                                 */
/* ------------------------------------------------------------------ */
.trp-faq{ display:grid; gap:10px; max-width:880px; }
.trp-faq details{
    background:#fff; border:1px solid var(--trp-line);
    border-radius:14px; overflow:hidden;
}
.trp-faq details[open]{
    border-color:rgba(43,140,255,.45);
    box-shadow:0 12px 30px rgba(10,31,68,.06);
}
.trp-faq summary{
    position:relative; padding:17px 52px 17px 20px;
    list-style:none; font-size:15.5px; font-weight:700;
    color:var(--trp-navy); cursor:pointer;
}
.trp-faq summary::-webkit-details-marker{ display:none; }
.trp-faq summary::after{
    content:"+"; position:absolute; right:20px; top:50%;
    transform:translateY(-50%);
    font-size:22px; line-height:1; color:var(--trp-blue);
    transition:transform .2s ease;
}
.trp-faq details[open] summary::after{ transform:translateY(-50%) rotate(45deg); }
.trp-faq summary:focus-visible{ outline:2px solid var(--trp-blue); outline-offset:-4px; }
.trp-faq__body{ padding:0 20px 18px; font-size:14.5px; color:var(--trp-ink); }
.trp-faq__body p{ margin-bottom:10px; }
.trp-faq__link{ font-weight:600; color:var(--trp-blue-d); text-decoration:none; }
.trp-faq__link:hover{ text-decoration:underline; }

/* ------------------------------------------------------------------ */
/* ФОТО-ПОЛОСА                                                         */
/* ------------------------------------------------------------------ */
.trp-media-wrap{ padding:clamp(28px, 4vw, 52px) 0 0; }
.trp-media{ display:grid; grid-template-columns:repeat(3, 1fr); gap:14px; }
.trp-media__item{
    position:relative; margin:0; aspect-ratio:4 / 3;
    border-radius:20px; overflow:hidden;
    background:linear-gradient(140deg, #0d2450, #1b4b8d);
}
.trp-media__item img{ display:block; width:100%; height:100%; object-fit:cover; }
.trp-media__item.is-empty::after{
    content:"Фото"; position:absolute; inset:0;
    display:grid; place-items:center;
    font-size:11.5px; letter-spacing:2px; text-transform:uppercase;
    color:rgba(255,255,255,.35);
}
.trp-media__note{
    margin:16px 0 0;
    font-size:13.5px; line-height:1.5; color:var(--trp-ink);
}
.trp-media__cap{
    position:absolute; inset:auto 0 0;
    padding:16px; font-size:13.5px; font-weight:600; color:#fff;
    background:linear-gradient(transparent, rgba(5,15,32,.88));
}

/* ------------------------------------------------------------------ */
/* КВИЗ                                                                */
/* ------------------------------------------------------------------ */
.trp-quiz-band{
    position:relative;
    padding:clamp(40px, 5.5vw, 84px) 0;
    background:
            radial-gradient(90% 120% at 100% 0%, rgba(43,140,255,.38), transparent 60%),
            radial-gradient(80% 100% at 0% 100%, rgba(43,140,255,.2), transparent 55%),
            linear-gradient(150deg, #0a1f44, #153a72);
    color:#fff;
}
.trp-quiz-band__head{ max-width:740px; margin:0 auto clamp(22px, 3vw, 34px); text-align:center; }
.trp-quiz-band__kicker{
    display:inline-flex; align-items:center; gap:8px;
    margin-bottom:14px; padding:7px 16px; border-radius:40px;
    font-size:12.5px; font-weight:700;
    letter-spacing:.2px;
    color:#8ef0c8;
    background:rgba(30,185,128,.16);
    border:1px solid rgba(30,185,128,.5);
}
.trp-quiz-band__kicker .ico{ width:15px; height:15px; }
.trp-quiz-band h2{
    margin-bottom:10px; font-size:clamp(23px, 3vw, 36px);
    color:#fff; font-weight:800; letter-spacing:-.02em;
}
.trp-quiz-band__head p{ margin:0; font-size:15.5px; color:#c7d6ea; }

.trp-quiz{
    max-width:900px; margin:0 auto;
    padding:clamp(22px, 3.4vw, 44px);
    background:#fff; border-radius:26px;
    color:var(--trp-ink);
    box-shadow:0 30px 80px rgba(3,10,24,.42);
}
.trp-quiz__step-label{
    display:block; margin-bottom:10px;
    font-size:12.5px; font-weight:700;
    letter-spacing:.2px;
    color:var(--trp-blue-d);
}
.trp-quiz__dots{ display:flex; gap:8px; margin:16px 0 24px; }
.trp-quiz__dots span{
    flex:1; height:6px; border-radius:4px;
    background:var(--trp-soft);
    transition:background .25s ease;
}
.trp-quiz__dots span.is-done{ background:linear-gradient(90deg, #2b8cff, #4aa8ff); }
.trp-quiz__q{
    margin:0 0 16px;
    font-size:clamp(17px, 2vw, 21px);
    font-weight:800; color:var(--trp-navy);
    letter-spacing:-.01em;
}
.trp-quiz__opts{ display:grid; gap:12px; }
.trp-quiz__opt{
    position:relative; width:100%;
    padding:20px 56px 20px 22px;
    text-align:left; font-family:inherit;
    background:#fff; border:1.5px solid var(--trp-line);
    border-radius:16px; cursor:pointer;
    transition:border-color .16s, box-shadow .16s, transform .16s;
}
.trp-quiz__opt::after{
    content:"→"; position:absolute; right:22px; top:50%;
    transform:translateY(-50%);
    font-size:20px; line-height:1; color:var(--trp-blue);
    transition:transform .16s;
}
.trp-quiz__opt:hover{
    border-color:var(--trp-blue);
    box-shadow:0 14px 34px rgba(10,31,68,.11);
    transform:translateY(-2px);
}
.trp-quiz__opt:focus-visible{
    border-color:var(--trp-blue);
    outline:3px solid rgba(43,140,255,.6);
    outline-offset:2px;
}
.trp-quiz__opt:hover::after{ transform:translateY(-50%) translateX(4px); }
.trp-quiz__opt b{ display:block; margin-bottom:3px; font-size:16px; color:var(--trp-navy); }
.trp-quiz__opt small{ display:block; font-size:13.5px; color:var(--trp-ink); }
.trp-quiz__back{
    margin-top:16px; padding:0;
    font-family:inherit; font-size:14px; font-weight:600;
    color:var(--trp-blue-d);
    background:none; border:none; cursor:pointer;
}
.trp-quiz__result-tag{
    display:inline-block; margin-bottom:12px;
    padding:5px 14px; border-radius:40px;
    font-size:12px; font-weight:700;
    letter-spacing:.2px;
    color:var(--trp-blue-d);
    background:rgba(43,140,255,.12);
}
.trp-quiz h3{
    margin:0 0 10px;
    font-size:clamp(19px, 2.1vw, 24px);
    font-weight:800; color:var(--trp-navy);
    letter-spacing:-.02em;
}
.trp-quiz__result p{ font-size:15px; }
.trp-quiz__list{ display:grid; gap:9px; margin:18px 0 24px; padding:0; list-style:none; }
.trp-quiz__list li{
    position:relative; padding-left:26px;
    font-size:14.5px; color:var(--trp-ink);
}
.trp-quiz__list li::before{
    content:"✓"; position:absolute; left:0; top:-1px;
    font-weight:800; color:var(--trp-green);
}
.trp-quiz__actions{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.trp-quiz__apply{
    padding:12px 20px;
    font-family:inherit; font-size:14.5px; font-weight:700;
    color:var(--trp-blue-d); background:none;
    border:1px dashed var(--trp-blue); border-radius:12px;
    cursor:pointer;
}
.trp-quiz__apply:hover{ background:rgba(43,140,255,.07); }
.trp-quiz__again{
    padding:0; font-family:inherit; font-size:14px;
    color:var(--trp-ink); background:none; border:none;
    text-decoration:underline; cursor:pointer;
}
.trp-quiz__hint{ margin:16px 0 0; font-size:13.5px; color:#5F6B7A; }

/* ------------------------------------------------------------------ */
/* ФОРМА ЗАЯВКИ                                                        */
/* ------------------------------------------------------------------ */
.trp-form__title{ margin-bottom:6px; font-size:1.25rem; font-weight:800; color:var(--trp-navy); }
.trp-form__note{ margin-bottom:16px; font-size:14px; color:var(--trp-ink); }
.trp-form__chosen{
    display:flex; flex-wrap:wrap; gap:6px 18px;
    margin-bottom:14px; padding:10px 14px;
    border:1px solid rgba(43,140,255,.25);
    border-radius:10px;
    background:rgba(43,140,255,.08);
    font-size:13.5px; color:var(--trp-navy);
}

.section-dark .trp-form__title{ color:#fff; }
.section-dark .trp-form__note{ color:#c7d6ea; }
.section-dark .trp-form__chosen{
    background:rgba(43,140,255,.18);
    border-color:rgba(74,168,255,.45);
    color:#eaf3ff;
}
.section-dark .trp-form__chosen b{ color:#fff; }
.section-dark .trp-form .privacy{ color:#c7d6ea; }
.section-dark .trp-form .privacy a{ color:#9cc7ff; }

/* ------------------------------------------------------------------ */
/* ДВА ФОРМАТА                                                         */
/* ------------------------------------------------------------------ */
.trp-split{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.trp-split__card{
    padding:26px; background:#fff;
    border:1px solid var(--trp-line);
    border-radius:18px; height:100%;
}
.trp-split__card.is-accent{
    border-color:var(--trp-blue);
    box-shadow:0 18px 44px rgba(43,140,255,.14);
}
.trp-split__mode{
    display:inline-flex; align-items:center; gap:7px;
    margin-bottom:12px; padding:5px 13px; border-radius:20px;
    font-size:12px; font-weight:700;
    letter-spacing:.2px;
}
.trp-split__mode.is-online{ background:rgba(30,185,128,.13); color:#0f7a53; }
.trp-split__mode.is-offline{ background:rgba(43,140,255,.13); color:var(--trp-blue-d); }
.trp-split__card h3{ margin-bottom:10px; font-size:19px; font-weight:800; color:var(--trp-navy); }
.trp-split__card p{ font-size:14.5px; }
.trp-split__list{ display:grid; gap:8px; margin:14px 0 18px; padding:0; list-style:none; }
.trp-split__list li{
    position:relative; padding-left:24px;
    font-size:14px; color:var(--trp-ink);
}
.trp-split__list li::before{
    content:"✓"; position:absolute; left:0;
    font-weight:800; color:var(--trp-green);
}

/* ------------------------------------------------------------------ */
/* АДАПТИВ                                                             */
/* ------------------------------------------------------------------ */
@media (max-width:1199.98px){
    .trp-offer__facts{ grid-template-columns:repeat(2, 1fr); }
}
@media (max-width:991.98px){
    .trp-hero__grid{ grid-template-columns:1fr; }
    .trp-hero__media{ max-width:520px; }
    .trp-offer-wrap{ margin-top:-36px; }
    .trp-realcar{ grid-template-columns:1fr; }
    .trp-realcar__media{ max-width:520px; }
    .trp-includes-grid{ grid-template-columns:1fr; }
    .trp-schedule{ grid-template-columns:1fr 1fr; }
    .trp-split{ grid-template-columns:1fr; }
    .trp-media{ grid-template-columns:1fr 1fr; }
    .trp-media__item:last-child{ display:none; }
    .trp-teacher__photo{ max-width:260px; }
}
@media (max-width:767.98px){
    .trp-cross{ grid-template-columns:1fr; }
    .trp-schedule{ grid-template-columns:1fr; }
    .trp-hero__cta .btn{ width:100%; justify-content:center; }
    .trp-hero__cta{ gap:14px; }
    .trp-quiz__opts{ grid-template-columns:1fr; }
    .trp-includes{ grid-template-columns:1fr; }
    .trp-offer__cta{ flex-direction:column; align-items:stretch; }
    .trp-offer__cta-right{ justify-content:space-between; }
    .trp-offer__cta .btn{ flex:1 1 auto; text-align:center; }
    .trp-guarantee{ flex-direction:column; gap:12px; padding:22px; }
}
@media (max-width:575.98px){
    .trp-offer__facts{ grid-template-columns:1fr; }
    .trp-offer__fact{ padding:16px 20px; }
    .trp-media{ grid-template-columns:1fr; }
    .trp-media__item:last-child{ display:block; }
    .trp-offer-wrap{ margin-top:-26px; }
    .trp-realcar__actions .btn{ width:100%; justify-content:center; }
}

@media (prefers-reduced-motion:reduce){
    .trp-hero *,
    .trp-quiz *,
    .trp-cross__card,
    .header-nav-menu,
    .header-nav-caret,
    .trp-faq summary::after{
        transition:none !important;
    }
}
/* ------------------------------------------------------------------ */
/* ПРЕМИУМ-ПОЛИШ v3 (единый стиль с главной)                           */
/* ------------------------------------------------------------------ */

/* Рамка-кольцо на фото в hero — «напечатанность» */
.trp-hero__media::after,
.trp-realcar__media::after{
    content:""; position:absolute; inset:0;
    border-radius:inherit;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);
    pointer-events:none;
}

/* Оффер-бар: тонкая линия вместо только тени */
.trp-offer{ border:1px solid var(--trp-line); }
.trp-offer__fact b{ color:var(--trp-navy); }

/* Карточки расписания: живой, но сдержанный ховер */
.trp-schedule__card{ transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.trp-schedule__card:hover{
    transform:translateY(-3px);
    border-color:#CBDCEC;
    box-shadow:0 18px 44px rgba(10,31,68,.1);
}
.trp-schedule__card.is-next{ border-color:var(--trp-blue); }

/* Состав курса: границы плашек */
.trp-includes__item{ border:1px solid #EAF0F7; }

/* Фото преподавателя: кольцо + тень */
.trp-teacher__photo{
    box-shadow:0 20px 48px rgba(10,31,68,.12);
}
.trp-teacher__photo::after{
    content:""; position:absolute; inset:0;
    border-radius:inherit;
    box-shadow:inset 0 0 0 1px rgba(10,31,68,.08);
    pointer-events:none;
}
.trp-teacher__photo{ position:relative; }

/* Мелкий текст сносок — контраст AA */
.trp-note{ color:#5F6B7A; }

/* ------------------------------------------------------------------ */
/* HERO SCENE (training.php) — механик в центре, SVG-карточки по кругу  */
/* ------------------------------------------------------------------ */
.trh-stage{
    position:relative;
    width:100%;
    max-width:600px;
    margin-left:auto;
    aspect-ratio:1 / 0.94;
}
.trh-canvas{
    position:absolute; inset:0;
    width:100%; height:100%;
    pointer-events:none;
}
.trh-person{
    position:absolute; left:50%; bottom:-26%;
    width:64%; height:auto;
    transform:translateX(-50%);
    z-index:3; pointer-events:none;
    filter:drop-shadow(0 26px 46px rgba(2,8,20,.55));
}
.trh-card{
    position:absolute; left:0; top:0; z-index:2;
    display:inline-flex; align-items:center; gap:9px;
    width:178px;
    padding:9px 12px;
    border-radius:14px;
    background:rgba(9,24,50,.80);
    border:1px solid rgba(110,175,255,.36);
    box-shadow:0 16px 38px rgba(2,8,20,.42);
    backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
    color:#eaf3ff; font-size:13px; font-weight:700; line-height:1.22;
    text-align:left;
    white-space:nowrap; overflow-wrap:normal;
    will-change:transform;
}
.trh-card__ico{
    flex:0 0 24px; width:24px; height:24px;
    display:flex; align-items:center; justify-content:center;
    color:#7fc4ff;
}
.trh-card__ico svg{width:22px; height:22px}
.trh-card b{font-weight:700; min-width:0}
.trh-card.is-gold{border-color:rgba(255,216,77,.42)}
.trh-card.is-gold .trh-card__ico{color:var(--gold)}

@media (max-width:991.98px){
    .trh-stage{
        max-width:460px;
        margin:14px auto 6px;
        aspect-ratio:1 / 0.92;
    }
    .trh-person{
        width:50%; bottom:-3%;
        -webkit-mask-image:linear-gradient(to bottom, #000 88%, rgba(0,0,0,.5) 97%, transparent 100%);
        mask-image:linear-gradient(to bottom, #000 88%, rgba(0,0,0,.5) 97%, transparent 100%);
    }
    .trh-card{width:162px; font-size:11px; gap:7px; padding:7px 9px}
    .trh-card__ico{flex-basis:20px; width:20px; height:20px}
    .trh-card__ico svg{width:19px; height:19px}
}
@media (max-width:575.98px){
    .trh-person{width:46%; bottom:-2%}
    .trh-card{
        font-size:10px; gap:5px;
        padding:6px 8px; border-radius:10px;
        width:128px;
    }
    .trh-card__ico{flex-basis:14px; width:14px; height:14px}
    .trh-card__ico svg{width:13px; height:13px}
}
@media (prefers-reduced-motion:reduce){
    .trh-card{transform:translate(-50%,-50%) !important}
}
