/* =========================
   K4PRO / ГЛОБАЛЬНАЯ БАЗА САЙТА
   Только общий CSS для всего сайта
========================= */

:root {
    --k4pro-bg-main: rgba(31, 35, 40, 0.92);
    --k4pro-bg-main-strong: rgba(31, 35, 40, 0.95);

    --k4pro-border-main: 2px solid rgba(245, 245, 245, 0.34);
    --k4pro-border-soft: 2px solid rgba(245, 245, 245, 0.32);
    --k4pro-border-hover: 2px solid rgba(245, 245, 245, 0.27);

    --k4pro-radius-main: 12px;
    --k4pro-radius-btn: 10px;

    --k4pro-shadow-main:
        0 0 0 2px rgba(245, 245, 245, 0.34),
        0 10px 26px rgba(0, 0, 0, 0.20),
        0 2px 8px rgba(0, 0, 0, 0.10);

    --k4pro-shadow-soft-panel:
        0 10px 26px rgba(0, 0, 0, 0.20),
        0 2px 8px rgba(0, 0, 0, 0.10);

    --k4pro-shadow-menu:
        0 16px 34px rgba(0, 0, 0, 0.22),
        0 5px 14px rgba(0, 0, 0, 0.11);

    --k4pro-shadow-menu-open:
        0 18px 40px rgba(0, 0, 0, 0.24),
        0 6px 18px rgba(0, 0, 0, 0.12);

    --k4pro-shadow-btn:
        0 5px 14px rgba(0, 0, 0, 0.11);

    --k4pro-font-main: 'Montserrat', Arial, sans-serif;

    /* Чекбоксы */
    --k4pro-checkbox-border-desktop: var(--k4pro-border-main, 1px solid rgba(255, 255, 255, 0.22));
    --k4pro-checkbox-border-mobile: var(--k4pro-border-soft, var(--k4pro-border-main, 1px solid rgba(255, 255, 255, 0.22)));

    --k4pro-checkbox-size: 18px;
    --k4pro-checkbox-size-mobile: 16px;
    --k4pro-checkbox-size-mobile-xs: 15px;

    --k4pro-checkbox-radius: 6px;
    --k4pro-checkbox-gap: 10px;
    --k4pro-checkbox-gap-mobile: 8px;
    --k4pro-checkbox-gap-mobile-xs: 7px;

    --k4pro-checkbox-check-color: #ff8a1f;
    --k4pro-checkbox-bg: transparent;
    --k4pro-checkbox-focus-ring: rgba(255, 138, 31, 0.14);
}

body {
    font-family: var(--k4pro-font-main);
}

/* =========================
   K4PRO / КАРТОЧКИ T959
   Главная, Секции, Боевое самбо
========================= */

#rec2294998771 .t959__card-inner,
#rec2136971481 .t959__card-inner,
#rec2082396271 .t959__card-inner,
#rec2140792771 .t959__card-inner {
    position: relative;
    border-radius: var(--k4pro-radius-main) !important;
    background: var(--k4pro-bg-main) !important;
    box-shadow: var(--k4pro-shadow-main) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}

/* =========================
   K4PRO / КАРТОЧКИ T923
   Тренеры + страницы направлений
========================= */

#rec1970464151 .t923__wrapper,
#rec2058373431 .t923__wrapper,
#rec2102103311 .t923__wrapper,
#rec2101581151 .t923__wrapper,
#rec2102300501 .t923__wrapper,
#rec2129741911 .t923__wrapper {
    position: relative !important;
    border-radius: var(--k4pro-radius-main) !important;
    overflow: visible !important;
}

#rec1970464151 .t923__wrapper::after,
#rec2058373431 .t923__wrapper::after,
#rec2102103311 .t923__wrapper::after,
#rec2101581151 .t923__wrapper::after,
#rec2102300501 .t923__wrapper::after,
#rec2129741911 .t923__wrapper::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: var(--k4pro-radius-main);
    border: var(--k4pro-border-main);
    pointer-events: none;
    z-index: 1000;
    box-sizing: border-box;
}

#rec1970464151 .t923_imgwrapper,
#rec1970464151 .t923__bgimg,
#rec2058373431 .t923_imgwrapper,
#rec2058373431 .t923__bgimg,
#rec2102103311 .t923_imgwrapper,
#rec2102103311 .t923__bgimg,
#rec2101581151 .t923_imgwrapper,
#rec2101581151 .t923__bgimg,
#rec2102300501 .t923_imgwrapper,
#rec2102300501 .t923__bgimg,
#rec2129741911 .t923_imgwrapper,
#rec2129741911 .t923__bgimg {
    border-radius: var(--k4pro-radius-main) !important;
    overflow: hidden !important;
}

/* =========================
   K4PRO / КАРТОЧКИ T422
   Единая рамка вокруг фото и текста
========================= */

.t422 .t422__wrapper {
    position: relative !important;
    border-radius: var(--k4pro-radius-main) !important;
    background: var(--k4pro-bg-main) !important;
    box-shadow: var(--k4pro-shadow-main) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}

.t422 .t422__img,
.t422 .t422__img-mobile,
.t422 .t422__text,
.t422 .t422__text_mobile {
    border-radius: 0 !important;
    box-sizing: border-box !important;
}

.t422 .t422__text,
.t422 .t422__text_mobile {
    border: none !important;
    border-width: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* =========================
   K4PRO / ЧЕКБОКСЫ ФОРМ
========================= */

.t-form .t-input-group_cb,
.t-form .t-input-group_cb .t-input-block {
    width: 100%;
    max-width: 100% !important;
}

.t-form .t-input-group_cb .t-checkbox__control {
    position: relative;
    display: grid !important;
    grid-template-columns: var(--k4pro-checkbox-size) minmax(0, 1fr);
    column-gap: var(--k4pro-checkbox-gap);
    align-items: center;
    width: 100%;
    max-width: 100% !important;
    min-width: 0;
    box-sizing: border-box;
    margin: 0;
    padding: 0 !important;
    white-space: normal !important;
    text-align: left;
    line-height: 1.22 !important;
}

.t-form .t-input-group_cb .t-checkbox__control > * {
    min-width: 0;
}

.t-form .t-input-group_cb .t-checkbox__control::before,
.t-form .t-input-group_cb .t-checkbox__control::after,
.t-form .t-input-group_cb .t-checkbox__indicator::before,
.t-form .t-input-group_cb .t-checkbox__indicator::after {
    content: none !important;
    display: none !important;
}

.t-form .t-input-group_cb .t-checkbox {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    width: 1px;
    height: 1px;
}

.t-form .t-input-group_cb .t-checkbox__indicator {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
    align-self: center;
    width: var(--k4pro-checkbox-size);
    height: var(--k4pro-checkbox-size);
    min-width: var(--k4pro-checkbox-size);
    box-sizing: border-box;
    margin: 0 !important;
    border: var(--k4pro-checkbox-border-desktop) !important;
    border-radius: var(--k4pro-checkbox-radius) !important;
    background-color: var(--k4pro-checkbox-bg) !important;
    background-image: none !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 11px 11px !important;
    box-shadow: none !important;
    transform: none !important;
    transition: box-shadow 0.18s ease, border-color 0.18s ease, background-image 0.18s ease;
}

.t-form .t-input-group_cb .t-checkbox:checked + .t-checkbox__indicator {
    border: var(--k4pro-checkbox-border-desktop) !important;
    background-color: var(--k4pro-checkbox-bg) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='M3 7.2L5.8 10L11 4.6' stroke='%23ff8a1f' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

.t-form .t-input-group_cb .t-checkbox__control:hover .t-checkbox__indicator,
.t-form .t-input-group_cb .t-checkbox:focus + .t-checkbox__indicator {
    box-shadow: 0 0 0 3px var(--k4pro-checkbox-focus-ring) !important;
}

.t-form .t-input-group_cb .t-checkbox__control a {
    text-underline-offset: 2px;
    text-decoration-thickness: 1px;
}

@media screen and (max-width: 960px) {
    .t-form .t-input-group_cb .t-checkbox__indicator {
        border: var(--k4pro-checkbox-border-mobile) !important;
    }

    .t-form .t-input-group_cb .t-checkbox:checked + .t-checkbox__indicator {
        border: var(--k4pro-checkbox-border-mobile) !important;
    }
}

@media (max-width: 640px) {
    .t-form .t-input-group_cb .t-checkbox__control {
        grid-template-columns: var(--k4pro-checkbox-size-mobile) minmax(0, 1fr);
        column-gap: var(--k4pro-checkbox-gap-mobile);
        font-size: 12px !important;
        line-height: 1.1 !important;
        letter-spacing: -0.01em;
    }

    .t-form .t-input-group_cb .t-checkbox__indicator {
        width: var(--k4pro-checkbox-size-mobile);
        height: var(--k4pro-checkbox-size-mobile);
        min-width: var(--k4pro-checkbox-size-mobile);
        background-size: 9px 9px !important;
    }
}

@media (max-width: 390px) {
    .t-form .t-input-group_cb .t-checkbox__control {
        grid-template-columns: var(--k4pro-checkbox-size-mobile-xs) minmax(0, 1fr);
        column-gap: var(--k4pro-checkbox-gap-mobile-xs);
        font-size: 11px !important;
        line-height: 1.06 !important;
        letter-spacing: -0.015em;
    }

    .t-form .t-input-group_cb .t-checkbox__indicator {
        width: var(--k4pro-checkbox-size-mobile-xs);
        height: var(--k4pro-checkbox-size-mobile-xs);
        min-width: var(--k4pro-checkbox-size-mobile-xs);
        background-size: 8px 8px !important;
    }
}

@media (max-width: 360px) {
    .t-form .t-input-group_cb .t-checkbox__control {
        font-size: 10.7px !important;
        line-height: 1.04 !important;
        letter-spacing: -0.02em;
    }
}

.t-form .t-input-group_cb .t-checkbox__control,
.t-form .t-input-group_cb .t-checkbox__control *,
.t-form .t-input-group_cb .t-checkbox__control a {
    -webkit-tap-highlight-color: transparent;
}

@media (hover: none), (pointer: coarse) {
    .t-form .t-input-group_cb .t-checkbox__control,
    .t-form .t-input-group_cb .t-checkbox__control:hover,
    .t-form .t-input-group_cb .t-checkbox__control:active,
    .t-form .t-input-group_cb .t-checkbox__control:focus,
    .t-form .t-input-group_cb .t-checkbox__control *,
    .t-form .t-input-group_cb .t-checkbox__control *:hover,
    .t-form .t-input-group_cb .t-checkbox__control *:active,
    .t-form .t-input-group_cb .t-checkbox__control *:focus,
    .t-form .t-input-group_cb .t-checkbox__control a,
    .t-form .t-input-group_cb .t-checkbox__control a:hover,
    .t-form .t-input-group_cb .t-checkbox__control a:active,
    .t-form .t-input-group_cb .t-checkbox__control a:focus {
        opacity: 1 !important;
        transition: none !important;
    }

    .t-form .t-input-group_cb .t-checkbox__indicator {
        transition: box-shadow 0.18s ease, border-color 0.18s ease, background-image 0.18s ease !important;
    }
}