/* =========================================================
   КОУЧИНГ. ПРОФЕССИОНАЛ — v4.8
   Полная замена kouching-professional.css
   Все стили ограничены .kp-page и не меняют остальные страницы сайта.
   ========================================================= */

.kp-page{
    --kp-orange:#F47A1F;
    --kp-orange-2:#E9650C;
    --kp-orange-dark:#B94B08;
    --kp-orange-soft:#FFF0E2;
    --kp-orange-pale:#FFF8F2;

    --kp-ink:#2F3642;
    --kp-text:#555F6F;
    --kp-muted:#7B8492;

    --kp-white:#FFFFFF;
    --kp-bg:#FFFFFF;
    --kp-bg-soft:#FBF7F2;
    --kp-bg-warm:#FFF9F4;
    --kp-dark:#292D35;
    --kp-dark-2:#343A45;

    --kp-border:#EEDFD2;
    --kp-border-strong:#E5CDB9;

    --kp-green:#26784A;
    --kp-green-soft:#EAF6EE;

    --kp-radius:22px;
    --kp-radius-sm:16px;

    --kp-shadow-xs:0 5px 18px rgba(68,43,23,.05);
    --kp-shadow-sm:0 12px 30px rgba(68,43,23,.08);
    --kp-shadow:0 20px 55px rgba(82,49,24,.11);
    --kp-shadow-orange:0 18px 42px rgba(233,101,12,.18);

    color:var(--kp-ink);
    background:var(--kp-bg);
    font-family:"Montserrat","Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

.kp-page *,
.kp-page *::before,
.kp-page *::after{
    box-sizing:border-box;
}

.kp-page img,
.kp-page svg{
    display:block;
    max-width:100%;
}

.kp-page a{
    color:inherit;
    text-decoration:none;
}

.kp-page p{
    margin:0;
}

.kp-page h1,
.kp-page h2,
.kp-page h3,
.kp-page h4{
    color:var(--kp-ink);
    margin:0;
    line-height:1.18;
    letter-spacing:-.02em;
}

.kp-page .wrap{
    width:min(1180px, calc(100% - 48px));
    max-width:none;
    margin:0 auto;
    padding:0;
}

.kp-page :focus-visible{
    outline:3px solid rgba(244,122,31,.28);
    outline-offset:3px;
}


/* =========================================================
   ОБЩИЕ СЕКЦИИ
   ========================================================= */

.kp-page section{
    position:relative;
    padding:76px 0;
}

.kp-page section.tint{
    background:
        radial-gradient(circle at 10% 0%, rgba(244,122,31,.055), transparent 32%),
        var(--kp-bg-warm);
}

.kp-page .section-head{
    max-width:820px;
    margin:0 0 38px;
}

.kp-page .section-head.center{
    margin-left:auto;
    margin-right:auto;
    text-align:center;
}

.kp-page .kicker{
    margin-bottom:10px;
    color:var(--kp-orange-2);
    font-size:12px;
    font-weight:800;
    line-height:1.3;
    letter-spacing:.095em;
    text-transform:uppercase;
}

.kp-page .section-head h2{
    margin-bottom:12px;
    font-size:clamp(28px, 3vw, 40px);
    font-weight:800;
}

.kp-page .section-head p{
    max-width:720px;
    color:var(--kp-text);
    font-size:15px;
    line-height:1.72;
}


/* =========================================================
   КНОПКИ
   ========================================================= */

.kp-page .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:50px;
    padding:0 25px;
    border:2px solid transparent;
    border-radius:999px;
    font-family:inherit;
    font-size:14px;
    font-weight:750;
    line-height:1;
    text-align:center;
    cursor:pointer;
    white-space:nowrap;
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        background .18s ease,
        border-color .18s ease,
        color .18s ease;
}

.kp-page .btn:hover{
    transform:translateY(-2px);
}

.kp-page .btn-primary{
    background:linear-gradient(135deg,var(--kp-orange),var(--kp-orange-2));
    color:#fff;
    box-shadow:0 10px 24px rgba(233,101,12,.18);
}

.kp-page .btn-primary:hover{
    background:linear-gradient(135deg,var(--kp-orange-2),var(--kp-orange-dark));
    box-shadow:0 14px 30px rgba(233,101,12,.24);
    color:#fff;
}

.kp-page .btn-outline{
    background:#fff;
    border-color:#343A43;
    color:var(--kp-ink);
}

.kp-page .btn-outline:hover{
    background:var(--kp-dark);
    border-color:var(--kp-dark);
    color:#fff;
}

.kp-page .btn-sm{
    min-height:42px;
    padding:0 20px;
    font-size:13px;
}


/* =========================================================
   STICKY BOOK BAR
   ========================================================= */

.kp-page .book-bar{
    position:fixed;
    z-index:1200;
    top:0;
    right:0;
    left:0;
    background:rgba(42,45,53,.97);
    color:#fff;
    box-shadow:0 10px 28px rgba(0,0,0,.18);
    backdrop-filter:blur(12px);
    transform:translateY(-120%);
    transition:transform .26s ease;
}

.kp-page .book-bar.show{
    transform:translateY(0);
}

.kp-page .book-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    min-height:68px;
}

.kp-page .book-left b{
    display:block;
    color:#fff;
    font-size:15px;
    font-weight:800;
}

.kp-page .book-left span{
    display:block;
    margin-top:2px;
    color:#C9CDD5;
    font-size:11.5px;
}

.kp-page .book-right{
    display:flex;
    align-items:center;
    gap:18px;
}

.kp-page .book-price{
    color:#FFB779;
    font-size:16px;
    font-weight:800;
    text-align:right;
    white-space:nowrap;
}

.kp-page .book-price small{
    display:block;
    color:#C9CDD5;
    font-size:10.5px;
    font-weight:600;
}


/* =========================================================
   HERO
   ========================================================= */

.kp-page section.hero{
    overflow:hidden;
    padding:72px 0 78px;
    background:
        radial-gradient(circle at 88% 20%, rgba(244,122,31,.12), transparent 29%),
        radial-gradient(circle at 4% 90%, rgba(244,122,31,.07), transparent 25%),
        linear-gradient(180deg,#FFFDFC 0%,#FFF7EF 100%);
}

.kp-page section.hero::after{
    content:"";
    position:absolute;
    top:-130px;
    right:-100px;
    width:390px;
    height:390px;
    border:1px solid rgba(244,122,31,.10);
    border-radius:50%;
    pointer-events:none;
}

.kp-page .hero-grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,1.02fr) minmax(380px,.98fr);
    gap:64px;
    align-items:center;
}

.kp-page .eyebrow{
    display:inline-flex;
    align-items:center;
    max-width:100%;
    margin-bottom:20px;
    padding:8px 15px;
    border:1px solid #F5DCC4;
    border-radius:999px;
    background:#FFF0E1;
    color:#A7440B;
    font-size:12.5px;
    font-weight:750;
    line-height:1.35;
}

.kp-page .hero h1{
    max-width:650px;
    margin-bottom:20px;
    font-size:clamp(36px,4.3vw,56px);
    font-weight:850;
    line-height:1.08;
    letter-spacing:-.035em;
}

.kp-page .hero h1 em{
    color:var(--kp-orange-2);
    font-style:normal;
}

.kp-page .hero p.lead{
    max-width:650px;
    margin-bottom:26px;
    color:var(--kp-text);
    font-size:16px;
    line-height:1.75;
}

.kp-page .fact-chips{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-bottom:28px;
}

.kp-page .fact{
    display:inline-flex;
    align-items:center;
    gap:7px;
    min-height:38px;
    padding:7px 13px;
    border:1px solid var(--kp-border);
    border-radius:999px;
    background:rgba(255,255,255,.82);
    box-shadow:var(--kp-shadow-xs);
    color:var(--kp-text);
    font-size:12.5px;
    font-weight:600;
}

.kp-page .fact b{
    color:var(--kp-ink);
    font-weight:800;
}

.kp-page .hero-ctas{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-bottom:30px;
}

.kp-page .trust-bar{
    display:flex;
    flex-wrap:wrap;
    gap:0;
    padding-top:24px;
    border-top:1px solid rgba(213,189,168,.65);
}

.kp-page .trust-item{
    min-width:145px;
    padding-right:26px;
    margin-right:26px;
    border-right:1px solid rgba(213,189,168,.65);
    color:var(--kp-muted);
    font-size:11.5px;
    line-height:1.4;
}

.kp-page .trust-item:last-child{
    padding-right:0;
    margin-right:0;
    border-right:0;
}

.kp-page .trust-item b{
    display:block;
    margin-bottom:3px;
    color:var(--kp-ink);
    font-size:20px;
    font-weight:850;
}

.kp-page .hero-media{
    position:relative;
}

.kp-page .hero-media .ph{
    min-height:450px;
    border-radius:28px;
    background:linear-gradient(135deg,#FFD5A8 0%,#FA8B2A 51%,#D85A08 100%);
    box-shadow:0 28px 70px rgba(174,82,20,.20);
}

.kp-page .ph{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    min-height:120px;
    border-radius:var(--kp-radius);
    background:linear-gradient(135deg,#FFD9A8,#F2811D 55%,#C2540B);
    color:#fff;
    text-align:center;
}

.kp-page .ph .ph-label{
    padding:9px 14px;
    border-radius:999px;
    background:rgba(116,46,5,.38);
    color:#fff;
    font-size:11px;
    font-weight:650;
    backdrop-filter:blur(6px);
}

.kp-page .ph.has-image{
    /* Фото заполняет исходный hero-блок; лишнее по краям обрезается */
    background-position:center center;
    background-size:cover;
    background-repeat:no-repeat;
    background-color:#FFF7EF;
}

.kp-page .ph.has-image .ph-label{
    display:none;
}

.kp-page .price-badge{
    position:absolute;
    right:auto;
    bottom:20px;
    left:20px;
    min-width:220px;
    padding:16px 19px;
    border:1px solid rgba(255,255,255,.68);
    border-radius:18px;
    background:rgba(255,255,255,.94);
    box-shadow:0 16px 36px rgba(95,47,13,.17);
    backdrop-filter:blur(10px);
}

.kp-page .price-badge b{
    display:block;
    margin-bottom:3px;
    color:#A9450B;
    font-size:23px;
    font-weight:850;
}

.kp-page .price-badge span{
    color:var(--kp-muted);
    font-size:11px;
    font-weight:650;
}


/* =========================================================
   КОМУ ПОДОЙДЁТ
   ========================================================= */

.kp-page .seg-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
}

.kp-page .seg-card{
    min-height:100%;
    padding:27px 22px 25px;
    border:1px solid var(--kp-border);
    border-radius:20px;
    background:#fff;
    box-shadow:var(--kp-shadow-xs);
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}

.kp-page .seg-card:hover{
    border-color:#EBC9AA;
    box-shadow:var(--kp-shadow);
    transform:translateY(-4px);
}

.kp-page .seg-ic{
    display:flex;
    align-items:center;
    justify-content:center;
    width:52px;
    height:52px;
    margin-bottom:18px;
    border-radius:15px;
    background:linear-gradient(145deg,#FFF2E6,#FFE1C4);
    font-size:23px;
}

.kp-page .seg-card h3{
    margin-bottom:8px;
    font-size:16px;
    font-weight:800;
}

.kp-page .seg-card p{
    color:var(--kp-text);
    font-size:13px;
    line-height:1.65;
}


/* =========================================================
   РЕЗУЛЬТАТ
   ========================================================= */

.kp-page .out-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}

.kp-page .out-item{
    display:flex;
    gap:15px;
    align-items:flex-start;
    min-height:112px;
    padding:20px 21px;
    border:1px solid var(--kp-border);
    border-radius:18px;
    background:#fff;
    box-shadow:var(--kp-shadow-xs);
}

.kp-page .out-check{
    display:flex;
    flex:0 0 34px;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    border-radius:50%;
    background:var(--kp-green-soft);
    color:var(--kp-green);
    font-size:15px;
    font-weight:850;
}

.kp-page .out-item p{
    color:var(--kp-text);
    font-size:13.5px;
    line-height:1.6;
}

.kp-page .out-item b{
    display:block;
    margin-bottom:4px;
    color:var(--kp-ink);
    font-size:14.5px;
}


/* =========================================================
   ПРОГРАММА / АККОРДЕОН
   ========================================================= */

.kp-page .prog{
    width:100%;
    max-width:980px;
}

/* Карточка семестра */
.kp-page .prog-item{
    position:relative;
    margin-bottom:14px;
    overflow:hidden;
    border:1px solid #E9DED4;
    border-radius:18px;
    background:#fff;
    box-shadow:0 5px 18px rgba(72,45,24,.04);
    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        transform .2s ease;
}

.kp-page .prog-item:hover{
    border-color:#E6C5A7;
    box-shadow:0 12px 30px rgba(92,52,21,.08);
}

.kp-page .prog-item.open{
    border-color:#F2B47E;
    background:linear-gradient(180deg,#FFFDFB 0%,#FFF9F4 100%);
    box-shadow:0 14px 38px rgba(194,84,11,.09);
}

/* Кнопка / заголовок семестра */
.kp-page .prog-q{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    width:100%;
    min-height:72px;
    padding:15px 20px;
    border:0;
    background:transparent !important;
    color:#2F3642 !important;
    font-family:inherit;
    text-align:left;
    cursor:pointer;
}

/* Левая часть */
.kp-page .prog-q .row{
    display:flex;
    align-items:center;
    gap:16px;
    min-width:0;
    flex:1;
    color:#2F3642 !important;
    font-size:14px;
    font-weight:800;
    line-height:1.4;
}

/* Плашка СЕМ. 1 */
.kp-page .prog-q .n{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 76px;
    min-width:76px;
    height:34px;
    padding:0 10px;
    border-radius:10px;
    background:#FFF0E2 !important;
    color:#B64B0A !important;
    font-size:10px;
    font-weight:850;
    letter-spacing:.045em;
    text-transform:uppercase;
    box-shadow:none;
}

.kp-page .prog-item.open .prog-q .n{
    background:linear-gradient(135deg,#F48620,#E9650C) !important;
    color:#fff !important;
}

/* Плюс справа */
.kp-page .prog-q .ic{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 38px;
    width:38px;
    height:38px;
    border-radius:50%;
    background:#FFF0E2;
    color:#E9650C !important;
    font-size:22px;
    font-weight:400;
    line-height:1;
    transition:
        transform .25s ease,
        background .2s ease,
        color .2s ease;
}

.kp-page .prog-q:hover .ic{
    background:#FDE4CD;
}

.kp-page .prog-item.open .prog-q .ic{
    transform:rotate(45deg);
    background:#F47A1F;
    color:#fff !important;
}

/* Содержимое */
.kp-page .prog-a{
    max-height:0;
    overflow:hidden;
    transition:max-height .35s ease;
}

.kp-page .prog-item.open .prog-a{
    max-height:800px;
}

.kp-page .prog-a .inner{
    padding:0 76px 25px 112px;
    color:#626C7A;
    font-size:13px;
    line-height:1.65;
}

.kp-page .prog-a .inner ul{
    display:grid;
    gap:8px;
    margin:0;
    padding:0;
    list-style:none;
}

.kp-page .prog-a .inner li{
    position:relative;
    margin:0;
    padding-left:20px;
    color:#606A78;
}

.kp-page .prog-a .inner li::before{
    content:"";
    position:absolute;
    top:.65em;
    left:0;
    width:6px;
    height:6px;
    border-radius:50%;
    background:#F47A1F;
}

@media (max-width:640px){
    .kp-page .prog-item{
        margin-bottom:10px;
        border-radius:15px;
    }

    .kp-page .prog-q{
        min-height:64px;
        gap:10px;
        padding:12px 13px;
    }

    .kp-page .prog-q .row{
        gap:10px;
        font-size:12.5px;
    }

    .kp-page .prog-q .n{
        flex-basis:58px;
        min-width:58px;
        height:29px;
        padding:0 7px;
        border-radius:8px;
        font-size:8.5px;
    }

    .kp-page .prog-q .ic{
        flex-basis:32px;
        width:32px;
        height:32px;
        font-size:18px;
    }

    .kp-page .prog-a .inner{
        padding:0 16px 20px;
        font-size:12.5px;
    }

    .kp-page .prog-a .inner ul{
        gap:9px;
    }
}


/* =========================================================
   ЧТО ВХОДИТ
   ========================================================= */

.kp-page .cond{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:15px;
}

.kp-page .cond .c{
    padding:22px 16px;
    border:1px solid var(--kp-border);
    border-radius:18px;
    background:#fff;
    box-shadow:var(--kp-shadow-xs);
    text-align:center;
}

.kp-page .cond .c .v{
    margin-bottom:6px;
    color:var(--kp-orange-dark);
    font-size:24px;
    font-weight:850;
}

.kp-page .cond .c .l{
    color:var(--kp-text);
    font-size:11.5px;
    line-height:1.5;
}

.kp-page .inc-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}

.kp-page .inc-card{
    display:flex;
    gap:15px;
    align-items:flex-start;
    min-height:135px;
    padding:23px 21px;
    border:1px solid var(--kp-border);
    border-radius:19px;
    background:#fff;
    box-shadow:var(--kp-shadow-xs);
}

.kp-page .inc-ic{
    display:flex;
    flex:0 0 48px;
    align-items:center;
    justify-content:center;
    width:48px;
    height:48px;
    border-radius:14px;
    background:linear-gradient(135deg,#FFB05F,var(--kp-orange-2));
    color:#fff;
    font-size:21px;
    box-shadow:0 9px 19px rgba(233,101,12,.16);
}

.kp-page .inc-card h4{
    margin-bottom:6px;
    font-size:14.5px;
    font-weight:800;
}

.kp-page .inc-card p{
    color:var(--kp-text);
    font-size:12.5px;
    line-height:1.6;
}


/* =========================================================
   ТРЕНЕР
   ========================================================= */

.kp-page #trainer{
    background:#fff;
}

.kp-page .trainer-card{
    display:grid;
    grid-template-columns:220px minmax(0,1fr);
    gap:38px;
    align-items:center;
    width:100%;
    max-width:1020px;
    padding:34px;
    border:1px solid var(--kp-border);
    border-radius:26px;
    background:
        radial-gradient(circle at 0 0,rgba(244,122,31,.05),transparent 35%),
        #fff;
    box-shadow:0 16px 45px rgba(70,44,23,.07);
}

.kp-page .trainer-photo-wrap{
    width:220px;
    height:220px;
    min-width:220px;
    overflow:hidden;
    border:6px solid #FFF3E8;
    border-radius:50%;
    background:#F8EFE7;
    box-shadow:0 13px 34px rgba(78,44,17,.13);
}

.kp-page .trainer-photo-link{
    display:block;
    width:100%;
    height:100%;
    overflow:hidden;
    border-radius:50%;
}

.kp-page .trainer-photo{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    border-radius:0!important;
    object-fit:cover!important;
    object-position:center 18%;
    transition:transform .35s ease;
}

.kp-page .trainer-photo-link:hover .trainer-photo{
    transform:scale(1.035);
}

.kp-page .trainer-info{
    min-width:0;
}

.kp-page .trainer-card h3{
    margin-bottom:5px;
    font-size:clamp(23px,2.4vw,30px);
    font-weight:850;
}

.kp-page .trainer-name-link{
    color:inherit;
    transition:color .18s ease;
}

.kp-page .trainer-name-link:hover{
    color:var(--kp-orange-2);
}

.kp-page .trainer-card .role{
    margin-bottom:14px;
    color:var(--kp-orange-2);
    font-size:13.5px;
    font-weight:750;
}

.kp-page .trainer-card p:not(.role){
    max-width:670px;
    margin-bottom:18px;
    color:var(--kp-text);
    font-size:13.5px;
    line-height:1.7;
}

.kp-page .trainer-certs{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.kp-page .cert{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:6px 11px;
    border:1px solid #F3D9C0;
    border-radius:9px;
    background:#FFF0E1;
    color:#A7460D;
    font-size:10.5px;
    font-weight:800;
}


/* =========================================================
   ТАРИФЫ
   ========================================================= */

.kp-page #tariffs{
    overflow:hidden;
}

.kp-page .price-logic-note{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    max-width:920px;
    margin-bottom:24px;
}

.kp-page .pl{
    padding:15px 16px;
    border:1px solid var(--kp-border);
    border-radius:14px;
    background:rgba(255,255,255,.72);
    color:var(--kp-text);
    font-size:12px;
}

.kp-page .pl b{
    display:block;
    margin-bottom:3px;
    color:var(--kp-ink);
    font-size:10.5px;
    font-weight:850;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.kp-page .pl.min b{color:var(--kp-green);}
.kp-page .pl.mid b{color:var(--kp-orange-dark);}
.kp-page .pl.max b{color:#A64228;}


/* Сетка тарифов */
.kp-page .tar-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
    align-items:stretch;
    margin-bottom:26px;
}


/* Карточка */
.kp-page .tar-card{
    position:relative;
    display:flex;
    flex-direction:column;

    min-width:0;
    min-height:390px;

    padding:30px 30px 28px;

    border:1px solid var(--kp-border);
    border-radius:24px;

    background:#fff;

    box-shadow:0 8px 28px rgba(76,48,27,.055);

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}

.kp-page .tar-card:hover{
    transform:translateY(-3px);
    border-color:#E8CDB5;
    box-shadow:0 18px 42px rgba(82,49,24,.09);
}

.kp-page .tar-card.hl{
    border:2px solid var(--kp-orange);

    background:
        linear-gradient(
            180deg,
            #FFFDFB 0%,
            #FFF9F4 100%
        );

    box-shadow:0 18px 44px rgba(233,101,12,.12);
}


/* Флаг "Стандарт" */
.kp-page .tar-flag{
    position:absolute;
    top:-14px;
    left:30px;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-height:30px;
    padding:0 15px;

    border-radius:999px;

    background:linear-gradient(
        135deg,
        var(--kp-orange),
        var(--kp-orange-2)
    );

    color:#fff;

    font-size:10.5px;
    font-weight:850;
    line-height:1;

    box-shadow:0 8px 18px rgba(233,101,12,.18);
}


/* Название тарифа */
.kp-page .tar-name{
    margin:0 0 14px;

    color:var(--kp-muted);

    font-size:11px;
    font-weight:850;
    line-height:1.3;

    letter-spacing:.055em;
    text-transform:uppercase;
}


/* Цена + BYN всегда стоят ровно на одной базовой линии */
.kp-page .tar-price{
    display:flex;
    align-items:baseline;
    flex-wrap:nowrap;
    gap:8px;

    min-width:0;

    margin:0;

    color:var(--kp-ink);

    font-size:28px !important;
    font-weight:850;
    line-height:1.08 !important;
    letter-spacing:-.025em !important;

    white-space:nowrap;
}

.kp-page .tar-price small{
    display:inline-block;
    flex:0 0 auto;

    margin:0;

    color:var(--kp-muted) !important;

    font-size:11px !important;
    font-weight:700 !important;
    line-height:1 !important;

    white-space:nowrap;
}


/* Подпись под ценой */
.kp-page .tar-sub{
    min-height:42px;

    margin:12px 0 18px;

    color:var(--kp-text);

    font-size:12px;
    font-weight:500;
    line-height:1.55;
}


/* Если подписи нет — сохраняем ровный ритм карточек */
.kp-page .tar-price + .tar-list{
    margin-top:18px;
}


/* Список преимуществ */
.kp-page .tar-list{
    display:flex;
    flex:1;
    flex-direction:column;

    gap:12px;

    margin:0 0 26px;
    padding:0;

    list-style:none;
}

.kp-page .tar-list li{
    display:flex;
    align-items:flex-start;
    gap:10px;

    margin:0;
    padding:0;

    color:var(--kp-text);

    font-size:12.5px;
    font-weight:500;
    line-height:1.5;
}

.kp-page .tar-list li::before{
    content:"✓";

    flex:0 0 auto;

    margin-top:0;

    color:var(--kp-green);

    font-size:14px;
    font-weight:900;
    line-height:1.35;
}


/* Кнопки всегда на одной высоте */
.kp-page .tar-card .btn{
    width:100%;
    min-height:52px;
    margin-top:auto;
}


/* Сноска под тарифами */
.kp-page .foot-note{
    max-width:980px;

    margin:0;

    color:var(--kp-muted);

    font-size:11.5px;
    line-height:1.65;
}

.kp-page .foot-note a{
    color:var(--kp-orange-2);
    font-weight:700;
}


/* Планшет */
@media (max-width:1100px){

    .kp-page .tar-grid{
        gap:18px;
    }

    .kp-page .tar-card{
        padding:28px 24px 25px;
    }

    .kp-page .tar-price{
        font-size:24px !important;
    }
}


/* Узкий планшет */
@media (max-width:900px){

    .kp-page .tar-grid{
        grid-template-columns:1fr;
        gap:18px;
    }

    .kp-page .tar-card{
        min-height:0;
    }

    .kp-page .tar-price{
        font-size:28px !important;
    }

    .kp-page .tar-sub{
        min-height:0;
    }
}


/* Телефон */
@media (max-width:640px){

    .kp-page .tar-card{
        padding:25px 20px 22px;
        border-radius:20px;
    }

    .kp-page .tar-flag{
        left:20px;
    }

    .kp-page .tar-price{
        font-size:23px !important;
        gap:6px;
    }

    .kp-page .tar-price small{
        font-size:10px !important;
    }

    .kp-page .tar-sub{
        margin:10px 0 16px;
    }

    .kp-page .tar-list{
        gap:10px;
        margin-bottom:22px;
    }
}


/* =========================================================
   РАСПИСАНИЕ
   ========================================================= */

.kp-page .schedule-list{
    overflow:hidden;
    border:1px solid var(--kp-border);
    border-radius:22px;
    background:#fff;
    box-shadow:var(--kp-shadow-sm);
}

.kp-page .sched-row{
    display:grid;
    grid-template-columns:102px minmax(260px,1.6fr) 120px minmax(170px,.8fr) auto;
    gap:20px;
    align-items:center;
    min-height:112px;
    padding:18px 20px;
    border-bottom:1px solid var(--kp-border);
    background:#fff;
}

.kp-page .sched-row:last-child{
    border-bottom:0;
}

.kp-page .sched-row:nth-child(even){
    background:#FFFCF9;
}

.kp-page .date-badge{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    min-height:74px;
    padding:8px 7px;
    overflow:hidden;
    border-radius:14px;
    background:linear-gradient(145deg,var(--kp-orange),#C85308);
    color:#fff;
    text-align:center;
    box-shadow:0 9px 20px rgba(200,83,8,.17);
}

.kp-page .date-badge b{
    display:block;
    color:#fff;
    font-size:14px;
    font-weight:850;
    line-height:1.25;
}

.kp-page .date-badge span{
    margin-top:2px;
    color:#fff;
    font-size:9px;
    font-weight:700;
    line-height:1.2;
    text-transform:uppercase;
    opacity:.9;
}

.kp-page .sched-main{
    min-width:0;
}

.kp-page .sched-title{
    color:var(--kp-ink);
    font-size:14px;
    font-weight:800;
    line-height:1.4;
}

.kp-page .sched-sub{
    margin-top:4px;
    color:var(--kp-muted);
    font-size:11.5px;
    line-height:1.45;
}

.kp-page .sched-sub a{
    color:var(--kp-orange-2);
    font-weight:650;
}

.kp-page .seats{
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:var(--kp-orange-dark);
    font-size:11.5px;
    font-weight:800;
}

.kp-page .seats::before{
    content:"";
    width:7px;
    height:7px;
    border-radius:50%;
    background:#41A66D;
    box-shadow:0 0 0 4px #EAF6EE;
}

.kp-page .sched-meta,
.kp-page .sched-place{
    color:var(--kp-text);
    font-size:11.5px;
    line-height:1.5;
}


/* =========================================================
   ОТЗЫВЫ
   ========================================================= */

.kp-page section.reviews{
    overflow:hidden;
    background:
        radial-gradient(circle at 80% 10%,rgba(244,122,31,.10),transparent 31%),
        linear-gradient(145deg,#292D35,#242830);
    color:#fff;
}

.kp-page section.reviews .section-head h2{
    color:#fff;
}

.kp-page section.reviews .kicker{
    color:#FFB77B;
}

.kp-page section.reviews .section-head p{
    color:#BFC5CF;
}

.kp-page .review-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}

.kp-page .review-card{
    display:flex;
    flex-direction:column;
    min-height:250px;
    padding:26px;
    border:1px solid rgba(255,255,255,.06);
    border-radius:20px;
    background:rgba(255,255,255,.06);
    box-shadow:0 14px 35px rgba(0,0,0,.10);
}

.kp-page .stars{
    margin-bottom:14px;
    color:#FFB15D;
    font-size:12px;
    letter-spacing:2px;
}

.kp-page .review-card p{
    flex:1;
    margin-bottom:20px;
    color:#EDF0F4;
    font-size:13.5px;
    line-height:1.68;
}

.kp-page .review-who{
    display:flex;
    align-items:center;
    gap:11px;
}

.kp-page .review-avatar{
    flex:0 0 38px;
    width:38px;
    height:38px;
    border-radius:50%;
    background:linear-gradient(135deg,#FFD8AC,#D85B08);
}

.kp-page .review-who b{
    display:block;
    color:#fff;
    font-size:12.5px;
}

.kp-page .review-who span{
    display:block;
    margin-top:1px;
    color:#AAB1BC;
    font-size:10.5px;
}

.kp-page .video-row{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
    margin-top:20px;
}

.kp-page .video-thumb{
    position:relative;
    min-height:135px;
    cursor:pointer;
}

.kp-page .play{
    display:flex;
    align-items:center;
    justify-content:center;
    width:48px;
    height:48px;
    border-radius:50%;
    background:#fff;
    color:var(--kp-orange-2);
    font-size:16px;
    box-shadow:0 10px 30px rgba(0,0,0,.22);
}


/* =========================================================
   FAQ
   ========================================================= */

.kp-page .faq{
    max-width:900px;
    margin:0 auto;
}

.kp-page .faq-item{
    margin-bottom:10px;
    overflow:hidden;
    border:1px solid var(--kp-border);
    border-radius:16px;
    background:#fff;
    box-shadow:var(--kp-shadow-xs);
}

.kp-page .faq-q{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    width:100%;
    padding:20px 21px;
    border:0;
    background:transparent;
    color:var(--kp-ink);
    font-family:inherit;
    font-size:14px;
    font-weight:750;
    text-align:left;
    cursor:pointer;
}

.kp-page .faq-q .ic{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 30px;
    width:30px;
    height:30px;
    border-radius:50%;
    background:#FFF0E1;
    color:var(--kp-orange-2);
    font-size:18px;
    line-height:1;
    transition:transform .2s ease;
}

.kp-page .faq-item.open .faq-q .ic{
    transform:rotate(45deg);
}

.kp-page .faq-a{
    max-height:0;
    overflow:hidden;
    transition:max-height .3s ease;
}

.kp-page .faq-item.open .faq-a{
    max-height:420px;
}

.kp-page .faq-a p{
    padding:0 66px 21px 21px;
    color:var(--kp-text);
    font-size:13px;
    line-height:1.7;
}


/* =========================================================
   FINAL CTA + СТАРАЯ AJAXFORM В НОВОМ ВИДЕ
   ========================================================= */

.kp-page section.final-cta{
    overflow:hidden;
    background:
        radial-gradient(circle at 10% 10%,rgba(255,255,255,.12),transparent 28%),
        linear-gradient(135deg,#F48620 0%,#E96A0D 52%,#C95108 100%);
    color:#fff;
}

.kp-page section.final-cta::after{
    content:"";
    position:absolute;
    right:-130px;
    bottom:-170px;
    width:420px;
    height:420px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:50%;
    pointer-events:none;
}

.kp-page .cta-grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);
    gap:64px;
    align-items:center;
}

.kp-page .final-cta .kicker{
    color:#7A3005;
    opacity:.9;
}

.kp-page .final-cta h2{
    margin-bottom:14px;
    color:#fff;
    font-size:clamp(30px,3vw,42px);
    font-weight:850;
}

.kp-page .final-cta > .wrap p,
.kp-page .kp-cta-left > p{
    max-width:520px;
    margin-bottom:24px;
    color:rgba(255,255,255,.92);
    font-size:14.5px;
    line-height:1.7;
}

/* менеджер, если выводится через старый trening.staff */
.kp-page .kp-manager{
    max-width:500px;
}

.kp-page .kp-manager .manager{
    display:grid;
    grid-template-columns:72px 1fr;
    gap:16px;
    align-items:center;
    width:100%;
    max-width:none;
    padding:15px;
    border:1px solid rgba(255,255,255,.28);
    border-radius:18px;
    background:rgba(255,255,255,.12);
    box-shadow:none;
    color:#fff;
    backdrop-filter:blur(5px);
}

.kp-page .kp-manager .manager__img{
    width:72px;
    height:72px;
    overflow:hidden;
    border:3px solid rgba(255,255,255,.65);
    border-radius:50%;
}

.kp-page .kp-manager .manager__img img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.kp-page .kp-manager .manager__side{
    min-width:0;
}

.kp-page .kp-manager .manager__side h2{
    display:none;
}

.kp-page .kp-manager .manager__name{
    margin-bottom:5px;
    color:#fff;
    font-size:13.5px;
    font-weight:800;
    line-height:1.4;
}

.kp-page .kp-manager .manager__name a,
.kp-page .kp-manager .manager__contacts a{
    color:#fff!important;
}

.kp-page .kp-manager .manager__contacts > span{
    display:none;
}

.kp-page .kp-manager .manager__contacts-list{
    margin:0;
    padding:0;
    list-style:none;
}

.kp-page .kp-manager .manager__contacts-list li{
    margin:0;
    color:rgba(255,255,255,.9);
    font-size:11.5px;
}

.kp-page .kp-manager .manager__contacts-list i{
    margin-right:6px;
}

/* карточка старой формы */
.kp-page .kp-site-form{
    width:100%;
    padding:32px;
    border:1px solid rgba(255,255,255,.75);
    border-radius:26px;
    background:rgba(255,255,255,.98);
    box-shadow:0 28px 70px rgba(107,43,5,.20);
    color:var(--kp-ink);
}

.kp-page .kp-site-form #form.content-box{
    width:100%;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
}

.kp-page .kp-site-form .popup__title{
    margin:0 0 7px!important;
    color:var(--kp-ink)!important;
    font-size:25px!important;
    font-weight:850!important;
    line-height:1.2!important;
    text-align:left!important;
}

.kp-page .kp-site-form #form > p.text-center{
    margin:0 0 22px!important;
    color:var(--kp-text)!important;
    font-size:12.5px!important;
    line-height:1.6!important;
    text-align:left!important;
}

/* Скрытые поля остаются в POST, но не занимают место */
.kp-page .kp-site-form .form__group.date,
.kp-page .kp-site-form .form__group:has(input[name="email"]),
.kp-page .kp-site-form .form__group:has(textarea[name="text"]),
.kp-page .kp-site-form .form__group[style*="display:none"]{
    display:none!important;
}

.kp-page .kp-site-form form{
    margin:0!important;
}

.kp-page .kp-site-form .form__group{
    margin:0 0 14px!important;
}

.kp-page .kp-site-form .form__field{
    margin:0!important;
}

.kp-page .kp-site-form label.label{
    display:block!important;
    margin:0 0 6px!important;
    color:var(--kp-ink)!important;
    font-size:11.5px!important;
    font-weight:750!important;
    line-height:1.4;
}

.kp-page .kp-site-form select,
.kp-page .kp-site-form input[type="text"],
.kp-page .kp-site-form input[type="tel"],
.kp-page .kp-site-form input[type="email"],
.kp-page .kp-site-form textarea{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-height:54px!important;
    margin:0!important;
    padding:0 16px!important;
    border:1px solid #E6D8CC!important;
    border-radius:14px!important;
    background:#FFFCFA!important;
    box-shadow:none!important;
    color:var(--kp-ink)!important;
    font-family:inherit!important;
    font-size:13.5px!important;
    font-weight:500!important;
    line-height:1.4!important;
    outline:0!important;
    transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
}

.kp-page .kp-site-form select{
    appearance:auto;
}

.kp-page .kp-site-form input::placeholder,
.kp-page .kp-site-form textarea::placeholder{
    color:#8A919C!important;
    opacity:1!important;
}

.kp-page .kp-site-form select:focus,
.kp-page .kp-site-form input[type="text"]:focus,
.kp-page .kp-site-form input[type="tel"]:focus,
.kp-page .kp-site-form input[type="email"]:focus,
.kp-page .kp-site-form textarea:focus{
    border-color:var(--kp-orange)!important;
    background:#fff!important;
    box-shadow:0 0 0 4px rgba(244,122,31,.10)!important;
}

.kp-page .kp-site-form button[type="submit"]{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:54px!important;
    margin:6px 0 0!important;
    padding:0 22px!important;
    border:0!important;
    border-radius:999px!important;
    background:linear-gradient(135deg,var(--kp-orange),var(--kp-orange-2))!important;
    box-shadow:0 12px 27px rgba(233,101,12,.21)!important;
    color:#fff!important;
    font-family:inherit!important;
    font-size:14px!important;
    font-weight:800!important;
    cursor:pointer!important;
    transition:transform .18s ease,box-shadow .18s ease!important;
}

.kp-page .kp-site-form button[type="submit"]:hover{
    transform:translateY(-2px);
    box-shadow:0 16px 32px rgba(233,101,12,.27)!important;
}

.kp-page .kp-site-form #form > a{
    display:inline-block!important;
    margin:12px 9px 0 0!important;
    color:var(--kp-muted)!important;
    font-size:10.5px!important;
    line-height:1.4!important;
    text-decoration:none!important;
}

.kp-page .kp-site-form #form > a:hover{
    color:var(--kp-orange-2)!important;
}

.kp-page .kp-site-form #form > br{
    display:none!important;
}

.kp-page .kp-site-form .error{
    color:#B9342C!important;
}

.kp-page .kp-site-form input.error,
.kp-page .kp-site-form select.error{
    border-color:#C64B42!important;
}


/* =========================================================
   АДАПТИВ
   ========================================================= */

@media (max-width:1100px){
    .kp-page .hero-grid{
        gap:38px;
        grid-template-columns:1fr .9fr;
    }

    .kp-page .hero h1{
        font-size:43px;
    }

    .kp-page .seg-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .kp-page .sched-row{
        grid-template-columns:92px minmax(230px,1fr) 105px auto;
    }

    .kp-page .sched-meta,
    .kp-page .sched-place{
        grid-column:2/3;
        margin-top:-12px;
    }

    .kp-page .cta-grid{
        gap:38px;
    }
}

@media (max-width:900px){
    .kp-page section{
        padding:62px 0;
    }

    .kp-page .wrap{
        width:min(100% - 36px,1180px);
    }

    .kp-page .hero-grid{
        grid-template-columns:1fr;
    }

    .kp-page .hero-media{
        max-width:680px;
    }

    .kp-page .hero-media .ph{
        min-height:360px;
    }

    .kp-page .out-grid{
        grid-template-columns:1fr;
    }

    .kp-page .cond{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .kp-page .inc-grid{
        grid-template-columns:1fr;
    }

    .kp-page .trainer-card{
        grid-template-columns:190px 1fr;
        gap:28px;
    }

    .kp-page .trainer-photo-wrap{
        width:190px;
        height:190px;
        min-width:190px;
    }

    .kp-page .price-logic-note{
        grid-template-columns:1fr;
    }

    .kp-page .review-grid{
        grid-template-columns:1fr;
    }

    .kp-page .review-card{
        min-height:0;
    }

    .kp-page .video-row{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .kp-page .sched-row{
        grid-template-columns:90px minmax(0,1fr) auto;
        gap:16px;
    }

    .kp-page .seats{
        justify-self:end;
    }

    .kp-page .sched-meta,
    .kp-page .sched-place{
        grid-column:2/3;
        margin-top:-8px;
    }

    .kp-page .sched-row > .btn{
        grid-column:3;
        grid-row:1/3;
    }

    .kp-page .cta-grid{
        grid-template-columns:1fr;
        gap:32px;
    }

    .kp-page .kp-site-form{
        max-width:700px;
    }
}

@media (max-width:640px){
    .kp-page{
        font-size:15px;
    }

    .kp-page section{
        padding:48px 0;
    }

    .kp-page .wrap{
        width:calc(100% - 28px);
    }

    .kp-page .section-head{
        margin-bottom:28px;
    }

    .kp-page .section-head h2{
        font-size:28px;
    }

    .kp-page section.hero{
        padding:46px 0 52px;
    }

    .kp-page .hero h1{
        font-size:34px;
    }

    .kp-page .hero p.lead{
        font-size:14.5px;
    }

    .kp-page .eyebrow{
        border-radius:15px;
    }

    .kp-page .fact-chips{
        gap:7px;
    }

    .kp-page .fact{
        width:100%;
        justify-content:flex-start;
        border-radius:12px;
    }

    .kp-page .hero-ctas{
        display:grid;
        grid-template-columns:1fr;
    }

    .kp-page .hero-ctas .btn{
        width:100%;
    }

    .kp-page .trust-bar{
        display:grid;
        grid-template-columns:repeat(3,1fr);
    }

    .kp-page .trust-item{
        min-width:0;
        margin:0;
        padding:0 10px;
        text-align:center;
    }

    .kp-page .trust-item:first-child{
        padding-left:0;
    }

    .kp-page .trust-item:last-child{
        padding-right:0;
    }

    .kp-page .trust-item b{
        font-size:17px;
    }

    .kp-page .hero-media .ph{
        min-height:290px;
        border-radius:20px;
    }

    .kp-page .price-badge{
        right:12px;
        bottom:12px;
        left:12px;
        min-width:0;
        padding:12px 15px;
    }

    .kp-page .price-badge b{
        font-size:19px;
    }

    .kp-page .seg-grid{
        grid-template-columns:1fr;
    }

    .kp-page .out-item{
        min-height:0;
    }

    .kp-page .prog-q{
        padding:17px 16px;
    }

    .kp-page .prog-q .row{
        align-items:flex-start;
        gap:11px;
    }

    .kp-page .prog-q .n{
        flex-basis:62px;
        min-height:27px;
        font-size:9.5px;
    }

    .kp-page .prog-a .inner{
        padding:0 17px 20px;
    }

    .kp-page .cond{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
    }

    .kp-page .cond .c{
        padding:17px 10px;
    }

    .kp-page .trainer-card{
        grid-template-columns:1fr;
        gap:22px;
        padding:25px 20px;
        text-align:center;
    }

    .kp-page .trainer-photo-wrap{
        width:170px;
        height:170px;
        min-width:170px;
        margin:0 auto;
    }

    .kp-page .trainer-certs{
        justify-content:center;
    }

    .kp-page .tar-grid{
        grid-template-columns:1fr;
    }

    .kp-page .tar-card{
        min-height:0;
    }

    .kp-page .schedule-list{
        overflow:visible;
        border:0;
        background:transparent;
        box-shadow:none;
    }

    .kp-page .sched-row{
        grid-template-columns:78px 1fr;
        gap:14px;
        margin-bottom:12px;
        padding:16px;
        border:1px solid var(--kp-border);
        border-radius:18px;
        box-shadow:var(--kp-shadow-xs);
    }

    .kp-page .date-badge{
        grid-column:1;
        grid-row:1/3;
        min-height:72px;
    }

    .kp-page .sched-main{
        grid-column:2;
    }

    .kp-page .seats{
        grid-column:2;
        justify-self:start;
    }

    .kp-page .sched-meta,
    .kp-page .sched-place{
        grid-column:1/3;
        margin:3px 0 0;
        padding-top:11px;
        border-top:1px solid var(--kp-border);
    }

    .kp-page .sched-row > .btn{
        grid-column:1/3;
        grid-row:auto;
        width:100%;
        margin-top:3px;
    }

    .kp-page .video-row{
        grid-template-columns:1fr;
    }

    .kp-page .faq-a p{
        padding-right:20px;
    }

    .kp-page .final-cta .kicker{
        color:#7A3005;
    }

    .kp-page .kp-site-form{
        padding:24px 18px;
        border-radius:20px;
    }

    .kp-page .kp-site-form .popup__title{
        font-size:22px!important;
    }

    .kp-page .kp-manager .manager{
        grid-template-columns:60px 1fr;
        padding:12px;
    }

    .kp-page .kp-manager .manager__img{
        width:60px;
        height:60px;
    }

    .kp-page .book-left span,
    .kp-page .book-price small{
        display:none;
    }

    .kp-page .book-inner{
        min-height:60px;
    }

    .kp-page .book-right{
        gap:10px;
    }

    .kp-page .book-price{
        display:none;
    }
}


/* =========================================================
   FIX v4.1 — старая AjaxForm внутри нового CTA
   ========================================================= */

/* В старой форме есть два антиспам-поля type="text".
   Новый CSS не должен превращать их в видимые поля. */
.kp-page .kp-site-form .hidden,
.kp-page .kp-site-form input.hidden,
.kp-page .kp-site-form input[name="nospam:blank"],
.kp-page .kp-site-form input[name="name"]{
    display:none !important;
    visibility:hidden !important;
    position:absolute !important;
    width:0 !important;
    height:0 !important;
    min-height:0 !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    opacity:0 !important;
    pointer-events:none !important;
}

/* Не даём общему правилу input[type=text] перебить hidden */
.kp-page .kp-site-form input[type="text"].hidden{
    display:none !important;
}

/* Менеджер — жёстко нормализуем старую разметку сайта */
.kp-page .kp-manager .manager{
    display:flex !important;
    align-items:center !important;
    gap:16px !important;
    width:100% !important;
    max-width:500px !important;
    min-height:104px !important;
    padding:15px 18px !important;
    margin:0 !important;
    border:1px solid rgba(255,255,255,.28) !important;
    border-radius:18px !important;
    background:rgba(255,255,255,.12) !important;
    box-shadow:none !important;
    color:#fff !important;
}

.kp-page .kp-manager .manager__img{
    flex:0 0 72px !important;
    width:72px !important;
    min-width:72px !important;
    max-width:72px !important;
    height:72px !important;
    min-height:72px !important;
    max-height:72px !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    border:3px solid rgba(255,255,255,.72) !important;
    border-radius:50% !important;
    background:#fff !important;
}

.kp-page .kp-manager .manager__img a{
    display:block !important;
    width:100% !important;
    height:100% !important;
    margin:0 !important;
    padding:0 !important;
}

.kp-page .kp-manager .manager__img img{
    display:block !important;
    width:100% !important;
    min-width:100% !important;
    max-width:100% !important;
    height:100% !important;
    min-height:100% !important;
    max-height:100% !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:50% !important;
    object-fit:cover !important;
    object-position:center top !important;
}

.kp-page .kp-manager .manager__side{
    flex:1 1 auto !important;
    min-width:0 !important;
    width:auto !important;
    padding:0 !important;
    margin:0 !important;
    color:#fff !important;
}

.kp-page .kp-manager .manager__side h2{
    display:none !important;
}

.kp-page .kp-manager .manager__name{
    margin:0 0 5px !important;
    color:#fff !important;
    font-size:13.5px !important;
    font-weight:800 !important;
    line-height:1.35 !important;
}

.kp-page .kp-manager .manager__name a{
    color:#fff !important;
}

.kp-page .kp-manager .manager__contacts{
    margin:0 !important;
    padding:0 !important;
}

.kp-page .kp-manager .manager__contacts > span{
    display:none !important;
}

.kp-page .kp-manager .manager__contacts-list{
    margin:0 !important;
    padding:0 !important;
    list-style:none !important;
}

.kp-page .kp-manager .manager__contacts-list li{
    margin:0 !important;
    padding:0 !important;
    color:rgba(255,255,255,.92) !important;
    font-size:11.5px !important;
    line-height:1.45 !important;
}

.kp-page .kp-manager .manager__contacts-list a{
    color:#fff !important;
}

/* Чуть компактнее форма, чтобы CTA визуально был ровнее */
.kp-page .kp-site-form{
    padding:30px !important;
}

.kp-page .kp-site-form .form__group{
    margin-bottom:13px !important;
}

@media (max-width:640px){
    .kp-page .kp-manager .manager{
        min-height:88px !important;
        padding:12px !important;
    }

    .kp-page .kp-manager .manager__img{
        flex-basis:60px !important;
        width:60px !important;
        min-width:60px !important;
        max-width:60px !important;
        height:60px !important;
        min-height:60px !important;
        max-height:60px !important;
    }

    .kp-page .kp-site-form{
        padding:22px 17px !important;
    }
}


/* =========================================================
   MANAGER CARD v4.2
   Для чанка kp-manager-person
   ========================================================= */

.kp-page .kp-manager{
    width:100%;
    max-width:540px;
    margin-top:28px;
}

.kp-page .kp-manager-card{
    display:flex;
    align-items:center;
    gap:20px;

    width:100%;
    min-height:128px;

    padding:18px 22px;

    border:1px solid rgba(255,255,255,.34);
    border-radius:22px;

    background:rgba(255,255,255,.13);
    backdrop-filter:blur(7px);

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.12),
        0 12px 30px rgba(117,46,5,.08);
}

.kp-page .kp-manager-photo{
    display:block;

    flex:0 0 108px;

    width:108px;
    height:108px;

    border:4px solid rgba(255,255,255,.78);
    border-radius:50%;

    overflow:hidden;
    background:#fff;

    box-shadow:0 10px 26px rgba(99,43,10,.18);
}

.kp-page .kp-manager-photo img{
    display:block!important;

    width:100%!important;
    height:100%!important;

    max-width:none!important;

    object-fit:cover!important;
    object-position:center 16%;

    border:0!important;
    border-radius:0!important;

    transition:transform .3s ease;
}

.kp-page .kp-manager-photo:hover img{
    transform:scale(1.045);
}

.kp-page .kp-manager-info{
    flex:1 1 auto;
    min-width:0;
}

.kp-page .kp-manager-label{
    margin-bottom:5px;

    color:rgba(255,255,255,.72);

    font-size:10.5px;
    font-weight:800;
    line-height:1.3;

    text-transform:uppercase;
    letter-spacing:.085em;
}

.kp-page .kp-manager-name{
    display:inline-block;

    margin-bottom:8px;

    color:#fff!important;

    font-size:16px;
    font-weight:850;
    line-height:1.35;

    text-decoration:none;
}

.kp-page .kp-manager-name:hover{
    color:#fff!important;
    text-decoration:underline;
    text-underline-offset:3px;
}

.kp-page .kp-manager-phones{
    display:flex;
    flex-direction:column;
    gap:3px;
}

.kp-page .kp-manager-phones a{
    color:rgba(255,255,255,.94)!important;

    font-size:12.5px;
    font-weight:650;
    line-height:1.4;

    text-decoration:none;
}

.kp-page .kp-manager-phones a:hover{
    color:#fff!important;
}

/* если старый trening.staff вдруг остался в разметке, не даём ему ломать новый блок */
.kp-page .kp-manager > .manager{
    max-width:540px;
}

/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */
@media (max-width:900px){
    .kp-page .kp-manager{
        max-width:620px;
    }

    .kp-page .kp-manager-card{
        max-width:620px;
    }
}

/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */
@media (max-width:640px){
    .kp-page .kp-manager{
        margin-top:22px;
    }

    .kp-page .kp-manager-card{
        gap:15px;

        min-height:104px;

        padding:14px 15px;

        border-radius:18px;
    }

    .kp-page .kp-manager-photo{
        flex-basis:84px;

        width:84px;
        height:84px;

        border-width:3px;
    }

    .kp-page .kp-manager-label{
        font-size:9.5px;
    }

    .kp-page .kp-manager-name{
        margin-bottom:6px;
        font-size:14px;
    }

    .kp-page .kp-manager-phones a{
        font-size:11.5px;
    }
}

/* =========================================================
   HERO IMAGE v4.4
   Поддерживает новый kp-hero:
   .hero-image-wrap > img.hero-image

   Фото НЕ определяет размеры блока:
   блок сохраняет исходные границы hero,
   а фото заполняет их через object-fit: cover.
   ========================================================= */

.kp-page .hero-media{
    position:relative;
    min-width:0;
}

.kp-page .hero-image-wrap{
    position:relative;
    width:100%;
    height:450px;
    min-height:450px;

    overflow:hidden;

    border-radius:28px;
    background:#FFF7EF;

    box-shadow:0 28px 70px rgba(174,82,20,.20);
}

.kp-page .hero-image{
    display:block !important;

    width:100% !important;
    height:100% !important;
    min-width:100% !important;
    min-height:100% !important;
    max-width:none !important;

    object-fit:cover !important;
    object-position:center center;

    border:0 !important;
    border-radius:0 !important;
}

/* Placeholder использует те же исходные границы */
.kp-page .hero-image-placeholder{
    display:flex;
    align-items:center;
    justify-content:center;

    background:
        linear-gradient(
            135deg,
            #FFD5A8 0%,
            #FA8B2A 51%,
            #D85A08 100%
        );

    color:#fff;
}

.kp-page .hero-image-placeholder span{
    padding:9px 14px;
    border-radius:999px;
    background:rgba(116,46,5,.38);
    color:#fff;
    font-size:11px;
    font-weight:650;
    backdrop-filter:blur(6px);
}

/* Цена остаётся поверх изображения */
.kp-page .hero-media > .price-badge{
    z-index:3;
}


/* TABLET */
@media (max-width:900px){
    .kp-page .hero-image-wrap{
        height:380px;
        min-height:380px;
        border-radius:24px;
    }
}


/* MOBILE */
@media (max-width:640px){
    .kp-page .hero-image-wrap{
        height:300px;
        min-height:300px;
        border-radius:20px;
    }
}

/* =========================================================
   FIX: защита аккордеона от глобальных button-стилей сайта
   ========================================================= */

.kp-page .prog .prog-q,
.kp-page .prog .prog-q:hover,
.kp-page .prog .prog-q:focus,
.kp-page .prog .prog-q:active {
    -webkit-appearance: none !important;
    appearance: none !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    width: 100% !important;
    min-height: 72px !important;

    margin: 0 !important;
    padding: 15px 20px !important;

    border: 0 !important;
    outline: 0 !important;
    border-radius: 0 !important;

    background: transparent !important;
    background-image: none !important;

    box-shadow: none !important;

    color: #2F3642 !important;

    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.4 !important;

    text-align: left !important;
    text-transform: none !important;
    text-shadow: none !important;

    cursor: pointer !important;

    transform: none !important;
}


/* Рамкой управляет ТОЛЬКО сама карточка */

.kp-page .prog .prog-item {
    border: 1px solid #E9DED4 !important;
    border-radius: 18px !important;

    background: #fff !important;

    overflow: hidden !important;

    box-shadow:
        0 5px 18px rgba(72,45,24,.04) !important;
}


/* Открытый семестр */

.kp-page .prog .prog-item.open {
    border-color: #F2B47E !important;

    background:
        linear-gradient(
            180deg,
            #FFFDFB 0%,
            #FFF9F4 100%
        ) !important;

    box-shadow:
        0 14px 38px rgba(194,84,11,.09) !important;
}


/* Hover */

.kp-page .prog .prog-item:hover {
    border-color: #E6C5A7 !important;

    box-shadow:
        0 12px 30px rgba(92,52,21,.08) !important;
}


/* Нормальный focus без второй рамки кнопки */

.kp-page .prog .prog-item:focus-within {
    border-color: #F2B47E !important;

    box-shadow:
        0 0 0 3px rgba(244,122,31,.08),
        0 12px 30px rgba(92,52,21,.08) !important;
}


/* Плашка семестра */

.kp-page .prog .prog-q .n {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    flex: 0 0 76px !important;

    min-width: 76px !important;
    height: 34px !important;

    margin: 0 !important;
    padding: 0 10px !important;

    border: 0 !important;
    border-radius: 10px !important;

    background: #FFF0E2 !important;

    box-shadow: none !important;

    color: #B64B0A !important;

    font-size: 10px !important;
    font-weight: 850 !important;

    letter-spacing: .045em !important;
    text-transform: uppercase !important;
}


/* Открытая плашка */

.kp-page .prog .prog-item.open .prog-q .n {
    background:
        linear-gradient(
            135deg,
            #F48620,
            #E9650C
        ) !important;

    color: #fff !important;
}


/* Заголовок */

.kp-page .prog .prog-q .row {
    display: flex !important;
    align-items: center !important;

    flex: 1 !important;

    min-width: 0 !important;

    gap: 16px !important;

    margin: 0 !important;

    color: #2F3642 !important;

    font-size: 14px !important;
    font-weight: 800 !important;
}


/* + */

.kp-page .prog .prog-q .ic {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    flex: 0 0 38px !important;

    width: 38px !important;
    height: 38px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-radius: 50% !important;

    background: #FFF0E2 !important;

    box-shadow: none !important;

    color: #E9650C !important;

    font-size: 22px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
}


/* Открыто = крестик */

.kp-page .prog .prog-item.open .prog-q .ic {
    background: #F47A1F !important;

    color: #fff !important;

    transform: rotate(45deg) !important;
}


/* MOBILE */

@media (max-width: 640px) {

    .kp-page .prog .prog-q,
    .kp-page .prog .prog-q:hover,
    .kp-page .prog .prog-q:focus,
    .kp-page .prog .prog-q:active {
        min-height: 64px !important;

        padding: 12px 13px !important;

        font-size: 12.5px !important;
    }

}

/* =========================================================
   v4.6 — ЗАЩИТА НОВОЙ KP-СТРАНИЦЫ ОТ LEGACY CSS САЙТА
   =========================================================
   ВАЖНО:
   Страница сейчас может находиться внутри старых .content/.text.
   Эти правила нейтрализуют наиболее конфликтные глобальные
   стили старого сайта внутри новых интерактивных блоков.
   ========================================================= */

/* Базовая нормализация только внутри новой страницы */
.kp-page,
.kp-page *,
.kp-page *::before,
.kp-page *::after{
    box-sizing:border-box;
}

.kp-page{
    text-align:left;
    text-transform:none;
}

.kp-page img{
    border:0;
}

.kp-page a{
    text-shadow:none;
}

.kp-page h1,
.kp-page h2,
.kp-page h3,
.kp-page h4,
.kp-page h5,
.kp-page h6{
    text-transform:none;
    text-shadow:none;
}

.kp-page input,
.kp-page select,
.kp-page textarea,
.kp-page button{
    font-family:inherit;
    text-transform:none;
    text-shadow:none;
}

/*
   Старый сайт особенно активно оформляет button внутри .text.
   Сбрасываем legacy-оформление. Компоненты ниже задают своё.
*/
.content .text .kp-page button,
.text .kp-page button,
.kp-page button{
    -webkit-appearance:none !important;
    appearance:none !important;
    background-image:none !important;
    text-shadow:none !important;
}

/* Не позволяем глобальным .text button:hover двигать/красить аккордеоны */
.content .text .kp-page .prog-q:hover,
.content .text .kp-page .prog-q:focus,
.content .text .kp-page .prog-q:active,
.content .text .kp-page .faq-q:hover,
.content .text .kp-page .faq-q:focus,
.content .text .kp-page .faq-q:active{
    text-decoration:none !important;
}


/* =========================================================
   FAQ v4.6 — ПОЛНАЯ ИЗОЛЯЦИЯ ОТ СТАРОГО BUTTON CSS
   ========================================================= */

.kp-page .faq{
    width:100%;
    max-width:900px;
    margin:0 auto;
}

.kp-page .faq .faq-item{
    position:relative;

    margin:0 0 12px !important;

    overflow:hidden !important;

    border:1px solid #E9DED4 !important;
    border-radius:18px !important;

    background:#fff !important;

    box-shadow:0 5px 18px rgba(72,45,24,.04) !important;

    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}

.kp-page .faq .faq-item:hover{
    border-color:#E6C5A7 !important;
    box-shadow:0 12px 30px rgba(92,52,21,.07) !important;
}

.kp-page .faq .faq-item.open{
    border-color:#F2B47E !important;

    background:
        linear-gradient(
            180deg,
            #FFFDFB 0%,
            #FFF9F4 100%
        ) !important;

    box-shadow:0 14px 34px rgba(194,84,11,.075) !important;
}


/* Кнопка FAQ */
.content .text .kp-page .faq .faq-q,
.content .text .kp-page .faq .faq-q:hover,
.content .text .kp-page .faq .faq-q:focus,
.content .text .kp-page .faq .faq-q:active,
.text .kp-page .faq .faq-q,
.text .kp-page .faq .faq-q:hover,
.text .kp-page .faq .faq-q:focus,
.text .kp-page .faq .faq-q:active,
.kp-page .faq .faq-q,
.kp-page .faq .faq-q:hover,
.kp-page .faq .faq-q:focus,
.kp-page .faq .faq-q:active{
    -webkit-appearance:none !important;
    appearance:none !important;

    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;

    gap:20px !important;

    width:100% !important;
    min-height:68px !important;

    margin:0 !important;
    padding:15px 18px 15px 20px !important;

    border:0 !important;
    outline:0 !important;
    border-radius:0 !important;

    background:transparent !important;
    background-color:transparent !important;
    background-image:none !important;

    box-shadow:none !important;

    color:#2F3642 !important;

    font-family:inherit !important;
    font-size:14px !important;
    font-style:normal !important;
    font-weight:800 !important;
    line-height:1.45 !important;

    letter-spacing:0 !important;

    text-align:left !important;
    text-decoration:none !important;
    text-indent:0 !important;
    text-shadow:none !important;
    text-transform:none !important;

    cursor:pointer !important;

    transform:none !important;
}


/* Круглый плюс */
.kp-page .faq .faq-q .ic{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    flex:0 0 38px !important;

    width:38px !important;
    height:38px !important;

    margin:0 !important;
    padding:0 !important;

    border:0 !important;
    border-radius:50% !important;

    background:#FFF0E2 !important;
    background-image:none !important;

    box-shadow:none !important;

    color:#E9650C !important;

    font-size:22px !important;
    font-style:normal !important;
    font-weight:400 !important;
    line-height:1 !important;

    text-align:center !important;
    text-shadow:none !important;

    transition:
        transform .25s ease,
        background .2s ease,
        color .2s ease !important;
}

.kp-page .faq .faq-q:hover .ic{
    background:#FDE4CD !important;
}


/* Открытый FAQ: плюс превращается в крестик */
.kp-page .faq .faq-item.open .faq-q .ic{
    background:#F47A1F !important;
    color:#fff !important;
    transform:rotate(45deg) !important;
}


/* Ответ */
.kp-page .faq .faq-a{
    max-height:0;
    overflow:hidden;

    background:transparent !important;

    transition:max-height .3s ease;
}

.kp-page .faq .faq-item.open .faq-a{
    max-height:600px;
}

.kp-page .faq .faq-a p{
    margin:0 !important;

    padding:
        0
        76px
        21px
        20px !important;

    color:#606A78 !important;

    font-family:inherit !important;
    font-size:13px !important;
    font-style:normal !important;
    font-weight:400 !important;
    line-height:1.7 !important;

    letter-spacing:0 !important;

    text-align:left !important;
    text-decoration:none !important;
    text-shadow:none !important;
    text-transform:none !important;
}


/* =========================================================
   ДОП. ЗАЩИТА КНОПОК НОВОЙ СТРАНИЦЫ
   ========================================================= */

/* Наши обычные CTA-кнопки */
.content .text .kp-page a.btn,
.text .kp-page a.btn,
.kp-page a.btn{
    text-decoration:none !important;
    text-transform:none !important;
    text-shadow:none !important;
}

/* Не даём legacy CSS менять submit в AjaxForm,
   но сохраняем наш фирменный оранжевый градиент */
.content .text .kp-page .kp-site-form button[type="submit"],
.text .kp-page .kp-site-form button[type="submit"],
.kp-page .kp-site-form button[type="submit"]{
    -webkit-appearance:none !important;
    appearance:none !important;

    background:
        linear-gradient(
            135deg,
            #F47A1F,
            #E9650C
        ) !important;

    color:#fff !important;

    text-transform:none !important;
    text-shadow:none !important;

    border:0 !important;

    box-shadow:
        0 12px 27px rgba(233,101,12,.21) !important;
}

.content .text .kp-page .kp-site-form button[type="submit"]:hover,
.text .kp-page .kp-site-form button[type="submit"]:hover,
.kp-page .kp-site-form button[type="submit"]:hover{
    background:
        linear-gradient(
            135deg,
            #E9650C,
            #C95408
        ) !important;

    color:#fff !important;

    transform:translateY(-2px) !important;

    box-shadow:
        0 16px 32px rgba(233,101,12,.28) !important;
}


/* =========================================================
   MOBILE FAQ v4.6
   ========================================================= */

@media (max-width:640px){

    .kp-page .faq .faq-item{
        margin-bottom:10px !important;
        border-radius:15px !important;
    }

    .content .text .kp-page .faq .faq-q,
    .content .text .kp-page .faq .faq-q:hover,
    .content .text .kp-page .faq .faq-q:focus,
    .content .text .kp-page .faq .faq-q:active,
    .text .kp-page .faq .faq-q,
    .text .kp-page .faq .faq-q:hover,
    .text .kp-page .faq .faq-q:focus,
    .text .kp-page .faq .faq-q:active,
    .kp-page .faq .faq-q,
    .kp-page .faq .faq-q:hover,
    .kp-page .faq .faq-q:focus,
    .kp-page .faq .faq-q:active{
        min-height:62px !important;

        gap:12px !important;

        padding:12px 13px 12px 15px !important;

        font-size:12.5px !important;
    }

    .kp-page .faq .faq-q .ic{
        flex-basis:32px !important;

        width:32px !important;
        height:32px !important;

        font-size:18px !important;
    }

    .kp-page .faq .faq-a p{
        padding:
            0
            16px
            18px
            15px !important;

        font-size:12.5px !important;
    }
}