.soul-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 48px;
    padding: 0 22px;

    border-radius: 14px;

    font-size: 0.92rem;
    line-height: 1;
    font-weight: 900;

    transition:
        transform 180ms ease,
        box-shadow 180ms ease;
}

.soul-btn:hover {
    transform: translateY(-1px);
}

.soul-btn--dark {
    color: #ffffff;

    background:
        linear-gradient(145deg, #8f9299 0%, #555960 48%, #7d8087 100%);

    border: 1px solid rgba(20, 22, 28, 0.78);

    box-shadow:
        0 14px 28px rgba(28, 31, 38, 0.20),
        inset 0 1px 0 rgba(255, 255, 255, 0.32),
        inset 0 -10px 20px rgba(0, 0, 0, 0.16);
}
.soul-btn--primary {
    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            rgba(var(--theme-rgb), 0.96),
            rgba(var(--theme-rgb), 0.74)
        );

    border-color: rgba(var(--theme-rgb), 0.42);

    box-shadow:
        0 18px 34px rgba(var(--theme-rgb), 0.24),
        inset 0 1px 0 rgba(255, 255, 255, 0.32);

    transition:
        background 500ms ease,
        border-color 500ms ease,
        box-shadow 500ms ease,
        transform 180ms ease;
}
/* =========================================================
   BUTTONS PREMIUM METAL FINAL
   Обычные кнопки: графитовый металл с бликом.
   Не трогаем .soul-tab — кнопки ниш живут отдельно.
   ========================================================= */

.soul-btn:not(.soul-tab),
.soul-button:not(.soul-tab),
a.soul-btn:not(.soul-tab),
a.soul-button:not(.soul-tab),
.soul-header__cta,
.soul-form button[type="submit"] {
    position: relative;
    overflow: hidden;

    color: rgba(255, 255, 255, 0.94) !important;

    background:
        linear-gradient(
            115deg,
            transparent 0%,
            transparent 17%,
            rgba(255, 255, 255, 0.24) 31%,
            rgba(255, 255, 255, 0.08) 43%,
            transparent 58%,
            transparent 100%
        ),
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.16) 0%,
            rgba(255, 255, 255, 0.04) 32%,
            rgba(0, 0, 0, 0.10) 100%
        ),
        linear-gradient(
            145deg,
            rgba(126, 132, 142, 0.98) 0%,
            rgba(96, 103, 114, 0.98) 36%,
            rgba(67, 74, 86, 0.98) 68%,
            rgba(49, 56, 67, 0.98) 100%
        ) !important;

    border-color: rgba(31, 36, 45, 0.78) !important;

    box-shadow:
        0 14px 24px rgba(28, 34, 44, 0.18),
        0 5px 10px rgba(28, 34, 44, 0.12),
        0 0 12px rgba(70, 78, 90, 0.10),
        inset 0 1px 0 rgba(255, 255, 255, 0.36),
        inset 0 -1px 0 rgba(0, 0, 0, 0.22),
        inset 0 -8px 15px rgba(18, 22, 29, 0.12) !important;

    transform: none !important;

    transition:
        color 240ms ease,
        background 280ms ease,
        border-color 280ms ease,
        box-shadow 280ms ease,
        transform 180ms ease;
}

/* внутренний глянцевый блик */
.soul-btn:not(.soul-tab)::before,
.soul-button:not(.soul-tab)::before,
a.soul-btn:not(.soul-tab)::before,
a.soul-button:not(.soul-tab)::before,
.soul-header__cta::before,
.soul-form button[type="submit"]::before {
    content: "";

    position: absolute;
    inset: 1px;

    border-radius: inherit;
    pointer-events: none;

    background:
        radial-gradient(
            circle at 28% 12%,
            rgba(255, 255, 255, 0.34) 0%,
            rgba(255, 255, 255, 0.12) 30%,
            transparent 58%
        ),
        linear-gradient(
            115deg,
            transparent 0%,
            transparent 22%,
            rgba(255, 255, 255, 0.26) 36%,
            rgba(255, 255, 255, 0.08) 48%,
            transparent 64%,
            transparent 100%
        );

    opacity: 0.72;
    mix-blend-mode: screen;

    transition:
        opacity 240ms ease,
        transform 280ms ease;
}

/* hover — светлый металл + заметный цвет текущей темы */
.soul-btn:not(.soul-tab):hover,
.soul-button:not(.soul-tab):hover,
a.soul-btn:not(.soul-tab):hover,
a.soul-button:not(.soul-tab):hover,
.soul-header__cta:hover,
.soul-form button[type="submit"]:hover {
    color: rgba(26, 30, 38, 0.96) !important;

    background:
        linear-gradient(
            115deg,
            transparent 0%,
            transparent 14%,
            rgba(255, 255, 255, 0.78) 30%,
            rgba(255, 255, 255, 0.30) 42%,
            transparent 58%,
            transparent 100%
        ),
        linear-gradient(
            145deg,
            rgba(var(--theme-rgb), 0.38) 0%,
            rgba(255, 255, 255, 0.86) 24%,
            rgba(255, 255, 255, 0.74) 43%,
            rgba(var(--theme-rgb), 0.24) 68%,
            rgba(var(--theme-rgb), 0.36) 100%
        ),
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.82) 0%,
            rgba(255, 255, 255, 0.42) 38%,
            rgba(34, 40, 50, 0.045) 100%
        ) !important;

    border-color: rgba(var(--theme-rgb), 0.58) !important;

    box-shadow:
        0 14px 26px rgba(24, 30, 38, 0.12),
        0 5px 10px rgba(24, 30, 38, 0.08),
        0 0 18px rgba(var(--theme-rgb), 0.24),
        0 0 34px rgba(var(--theme-rgb), 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.98),
        inset 0 -1px 0 rgba(42, 48, 58, 0.12),
        inset 0 -7px 14px rgba(34, 40, 50, 0.04) !important;

    transform: none !important;
}

.soul-btn:not(.soul-tab):hover::before,
.soul-button:not(.soul-tab):hover::before,
a.soul-btn:not(.soul-tab):hover::before,
a.soul-button:not(.soul-tab):hover::before,
.soul-header__cta:hover::before,
.soul-form button[type="submit"]:hover::before {
    opacity: 1;
    transform: translateX(6px);

    background:
        radial-gradient(
            circle at 28% 12%,
            rgba(255, 255, 255, 0.56) 0%,
            rgba(255, 255, 255, 0.20) 32%,
            transparent 60%
        ),
        linear-gradient(
            115deg,
            transparent 0%,
            transparent 18%,
            rgba(255, 255, 255, 0.52) 34%,
            rgba(255, 255, 255, 0.14) 48%,
            transparent 66%,
            transparent 100%
        );
}
/* active — без продавливания */
.soul-btn:not(.soul-tab):active,
.soul-button:not(.soul-tab):active,
a.soul-btn:not(.soul-tab):active,
a.soul-button:not(.soul-tab):active,
.soul-header__cta:active,
.soul-form button[type="submit"]:active {
    transform: none !important;

    box-shadow:
        0 10px 18px rgba(24, 30, 38, 0.11),
        0 3px 7px rgba(24, 30, 38, 0.08),
        0 0 13px rgba(var(--theme-rgb), 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.84),
        inset 0 -1px 0 rgba(42, 48, 58, 0.14) !important;
}
/* =========================================================
   BUTTON TEXT ABOVE GLARE
   Текст кнопок всегда выше блика
   ========================================================= */

.soul-btn:not(.soul-tab),
.soul-button:not(.soul-tab),
a.soul-btn:not(.soul-tab),
a.soul-button:not(.soul-tab),
.soul-header__cta,
.soul-form button[type="submit"] {
    isolation: isolate;
}

/* блик уводим под текст */
.soul-btn:not(.soul-tab)::before,
.soul-button:not(.soul-tab)::before,
a.soul-btn:not(.soul-tab)::before,
a.soul-button:not(.soul-tab)::before,
.soul-header__cta::before,
.soul-form button[type="submit"]::before {
    z-index: 0;
}

/* если внутри кнопки есть span/icon — они выше блика */
.soul-btn:not(.soul-tab) > *,
.soul-button:not(.soul-tab) > *,
a.soul-btn:not(.soul-tab) > *,
a.soul-button:not(.soul-tab) > *,
.soul-header__cta > *,
.soul-form button[type="submit"] > * {
    position: relative;
    z-index: 2;
}

/* сам текст визуально усиливаем на светлом hover */
.soul-btn:not(.soul-tab):hover,
.soul-button:not(.soul-tab):hover,
a.soul-btn:not(.soul-tab):hover,
a.soul-button:not(.soul-tab):hover,
.soul-header__cta:hover,
.soul-form button[type="submit"]:hover {
    text-shadow:
        0 1px 0 rgba(255, 255, 255, 0.42),
        0 0 1px rgba(24, 30, 38, 0.18);
}
/* =========================================================
   BUTTON CONTENT LAYER FIX
   Текст кнопок выше блика
   ========================================================= */

.soul-btn,
.soul-button,
.soul-header__cta,
.soul-form button[type="submit"] {
    isolation: isolate;
}

/* декоративный блик ниже текста */
.soul-btn::before,
.soul-button::before,
.soul-header__cta::before,
.soul-form button[type="submit"]::before {
    z-index: 1;
}

/* текст выше блика */
.soul-btn__text,
.soul-button__text {
    position: relative;
    z-index: 3;

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

    color: inherit;
    font: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    pointer-events: none;
}
/* =========================================================
   ALL THEMES BUTTON HOVER EDGE FINAL
   Светлый металл + кант в цвет текущей темы
   Для всех обычных кнопок, кроме .soul-tab
   ========================================================= */

html[data-theme] .soul-btn:not(.soul-tab):hover,
html[data-theme] .soul-button:not(.soul-tab):hover,
html[data-theme] a.soul-btn:not(.soul-tab):hover,
html[data-theme] a.soul-button:not(.soul-tab):hover,
html[data-theme] .soul-header__cta:hover,
html[data-theme] .soul-form button[type="submit"]:hover {
    color: rgba(24, 28, 36, 0.96) !important;

    background:
        linear-gradient(
            115deg,
            transparent 0%,
            transparent 13%,
            rgba(255, 255, 255, 0.84) 29%,
            rgba(255, 255, 255, 0.34) 42%,
            transparent 58%,
            transparent 100%
        ),
        linear-gradient(
            145deg,
            rgba(var(--theme-rgb), 0.42) 0%,
            rgba(255, 255, 255, 0.92) 24%,
            rgba(255, 255, 255, 0.78) 44%,
            rgba(var(--theme-rgb), 0.26) 68%,
            rgba(var(--theme-rgb), 0.36) 100%
        ),
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.90) 0%,
            rgba(255, 255, 255, 0.46) 42%,
            rgba(34, 40, 50, 0.052) 100%
        ) !important;

    border-color: rgba(var(--theme-rgb), 0.68) !important;

    box-shadow:
        0 14px 26px rgba(24, 30, 38, 0.13),
        0 5px 10px rgba(24, 30, 38, 0.08),

        /* внешний кант */
        0 0 0 1px rgba(255, 255, 255, 0.86),
        0 0 0 2px rgba(var(--theme-rgb), 0.30),

        /* цветное свечение */
        0 0 18px rgba(var(--theme-rgb), 0.28),
        0 0 36px rgba(var(--theme-rgb), 0.15),

        /* внутренний металлический кант */
        inset 0 1px 0 rgba(255, 255, 255, 1),
        inset 0 0 0 1px rgba(255, 255, 255, 0.62),
        inset 0 0 0 2px rgba(var(--theme-rgb), 0.18),
        inset 0 -1px 0 rgba(42, 48, 58, 0.16),
        inset 0 -7px 14px rgba(34, 40, 50, 0.048) !important;

    transform: none !important;
}

/* Блик на hover — поверх фона, но под текстом */
html[data-theme] .soul-btn:not(.soul-tab):hover::before,
html[data-theme] .soul-button:not(.soul-tab):hover::before,
html[data-theme] a.soul-btn:not(.soul-tab):hover::before,
html[data-theme] a.soul-button:not(.soul-tab):hover::before,
html[data-theme] .soul-header__cta:hover::before,
html[data-theme] .soul-form button[type="submit"]:hover::before {
    opacity: 1;
    transform: translateX(6px);

    background:
        radial-gradient(
            circle at 25% 10%,
            rgba(255, 255, 255, 0.70) 0%,
            rgba(255, 255, 255, 0.24) 34%,
            transparent 62%
        ),
        linear-gradient(
            115deg,
            transparent 0%,
            transparent 17%,
            rgba(255, 255, 255, 0.58) 34%,
            rgba(255, 255, 255, 0.16) 48%,
            transparent 66%,
            transparent 100%
        );
}
/* =========================================================
   COLORED THEMES BUTTONS FINAL
   Для цветных тем:
   normal — светлая стеклянная кнопка
   hover — насыщенная кнопка в цвет темы
   Базовую тему base не трогаем
   ========================================================= */

/* ---------------------------------------------------------
   NORMAL STATE — цветные темы
   --------------------------------------------------------- */

html[data-theme="nko"] .soul-btn:not(.soul-tab),
html[data-theme="business"] .soul-btn:not(.soul-tab),
html[data-theme="experts"] .soul-btn:not(.soul-tab),
html[data-theme="future"] .soul-btn:not(.soul-tab),
html[data-theme="nko"] .soul-button:not(.soul-tab),
html[data-theme="business"] .soul-button:not(.soul-tab),
html[data-theme="experts"] .soul-button:not(.soul-tab),
html[data-theme="future"] .soul-button:not(.soul-tab),
html[data-theme="nko"] a.soul-btn:not(.soul-tab),
html[data-theme="business"] a.soul-btn:not(.soul-tab),
html[data-theme="experts"] a.soul-btn:not(.soul-tab),
html[data-theme="future"] a.soul-btn:not(.soul-tab),
html[data-theme="nko"] a.soul-button:not(.soul-tab),
html[data-theme="business"] a.soul-button:not(.soul-tab),
html[data-theme="experts"] a.soul-button:not(.soul-tab),
html[data-theme="future"] a.soul-button:not(.soul-tab),
html[data-theme="nko"] .soul-header__cta,
html[data-theme="business"] .soul-header__cta,
html[data-theme="experts"] .soul-header__cta,
html[data-theme="future"] .soul-header__cta,
html[data-theme="nko"] .soul-form button[type="submit"],
html[data-theme="business"] .soul-form button[type="submit"],
html[data-theme="experts"] .soul-form button[type="submit"],
html[data-theme="future"] .soul-form button[type="submit"] {
    color: rgba(30, 34, 42, 0.94) !important;

    background:
        linear-gradient(
            115deg,
            transparent 0%,
            transparent 13%,
            rgba(255, 255, 255, 0.82) 29%,
            rgba(255, 255, 255, 0.28) 42%,
            transparent 58%,
            transparent 100%
        ),
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.94) 0%,
            rgba(255, 255, 255, 0.82) 28%,
            rgba(var(--theme-rgb), 0.20) 72%,
            rgba(var(--theme-rgb), 0.32) 100%
        ),
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.88) 0%,
            rgba(255, 255, 255, 0.44) 42%,
            rgba(34, 40, 50, 0.045) 100%
        ) !important;

    border-color: rgba(var(--theme-rgb), 0.42) !important;

    box-shadow:
        0 14px 26px rgba(24, 30, 38, 0.12),
        0 5px 10px rgba(24, 30, 38, 0.08),

        0 0 0 1px rgba(255, 255, 255, 0.78),
        0 0 0 2px rgba(var(--theme-rgb), 0.18),

        0 0 18px rgba(var(--theme-rgb), 0.18),
        0 0 34px rgba(var(--theme-rgb), 0.08),

        inset 0 1px 0 rgba(255, 255, 255, 1),
        inset 0 0 0 1px rgba(255, 255, 255, 0.58),
        inset 0 0 0 2px rgba(var(--theme-rgb), 0.10),
        inset 0 -1px 0 rgba(42, 48, 58, 0.12),
        inset 0 -7px 14px rgba(34, 40, 50, 0.04) !important;

    transform: none !important;
}

/* блик в обычном состоянии цветных тем */
html[data-theme="nko"] .soul-btn:not(.soul-tab)::before,
html[data-theme="business"] .soul-btn:not(.soul-tab)::before,
html[data-theme="experts"] .soul-btn:not(.soul-tab)::before,
html[data-theme="future"] .soul-btn:not(.soul-tab)::before,
html[data-theme="nko"] .soul-button:not(.soul-tab)::before,
html[data-theme="business"] .soul-button:not(.soul-tab)::before,
html[data-theme="experts"] .soul-button:not(.soul-tab)::before,
html[data-theme="future"] .soul-button:not(.soul-tab)::before,
html[data-theme="nko"] a.soul-btn:not(.soul-tab)::before,
html[data-theme="business"] a.soul-btn:not(.soul-tab)::before,
html[data-theme="experts"] a.soul-btn:not(.soul-tab)::before,
html[data-theme="future"] a.soul-btn:not(.soul-tab)::before,
html[data-theme="nko"] a.soul-button:not(.soul-tab)::before,
html[data-theme="business"] a.soul-button:not(.soul-tab)::before,
html[data-theme="experts"] a.soul-button:not(.soul-tab)::before,
html[data-theme="future"] a.soul-button:not(.soul-tab)::before,
html[data-theme="nko"] .soul-header__cta::before,
html[data-theme="business"] .soul-header__cta::before,
html[data-theme="experts"] .soul-header__cta::before,
html[data-theme="future"] .soul-header__cta::before,
html[data-theme="nko"] .soul-form button[type="submit"]::before,
html[data-theme="business"] .soul-form button[type="submit"]::before,
html[data-theme="experts"] .soul-form button[type="submit"]::before,
html[data-theme="future"] .soul-form button[type="submit"]::before {
    opacity: 0.92;

    background:
        radial-gradient(
            circle at 25% 10%,
            rgba(255, 255, 255, 0.68) 0%,
            rgba(255, 255, 255, 0.22) 34%,
            transparent 62%
        ),
        linear-gradient(
            115deg,
            transparent 0%,
            transparent 17%,
            rgba(255, 255, 255, 0.52) 34%,
            rgba(255, 255, 255, 0.15) 48%,
            transparent 66%,
            transparent 100%
        );
}


/* ---------------------------------------------------------
   HOVER STATE — цветные темы
   --------------------------------------------------------- */

html[data-theme="nko"] .soul-btn:not(.soul-tab):hover,
html[data-theme="business"] .soul-btn:not(.soul-tab):hover,
html[data-theme="experts"] .soul-btn:not(.soul-tab):hover,
html[data-theme="future"] .soul-btn:not(.soul-tab):hover,
html[data-theme="nko"] .soul-button:not(.soul-tab):hover,
html[data-theme="business"] .soul-button:not(.soul-tab):hover,
html[data-theme="experts"] .soul-button:not(.soul-tab):hover,
html[data-theme="future"] .soul-button:not(.soul-tab):hover,
html[data-theme="nko"] a.soul-btn:not(.soul-tab):hover,
html[data-theme="business"] a.soul-btn:not(.soul-tab):hover,
html[data-theme="experts"] a.soul-btn:not(.soul-tab):hover,
html[data-theme="future"] a.soul-btn:not(.soul-tab):hover,
html[data-theme="nko"] a.soul-button:not(.soul-tab):hover,
html[data-theme="business"] a.soul-button:not(.soul-tab):hover,
html[data-theme="experts"] a.soul-button:not(.soul-tab):hover,
html[data-theme="future"] a.soul-button:not(.soul-tab):hover,
html[data-theme="nko"] .soul-header__cta:hover,
html[data-theme="business"] .soul-header__cta:hover,
html[data-theme="experts"] .soul-header__cta:hover,
html[data-theme="future"] .soul-header__cta:hover,
html[data-theme="nko"] .soul-form button[type="submit"]:hover,
html[data-theme="business"] .soul-form button[type="submit"]:hover,
html[data-theme="experts"] .soul-form button[type="submit"]:hover,
html[data-theme="future"] .soul-form button[type="submit"]:hover {
    color: #ffffff !important;

    background:
        linear-gradient(
            115deg,
            transparent 0%,
            transparent 15%,
            rgba(255, 255, 255, 0.44) 30%,
            rgba(255, 255, 255, 0.13) 43%,
            transparent 60%,
            transparent 100%
        ),
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.18) 0%,
            rgba(255, 255, 255, 0.05) 34%,
            rgba(0, 0, 0, 0.12) 100%
        ),
        linear-gradient(
            145deg,
            rgba(var(--theme-rgb), 1) 0%,
            rgba(var(--theme-rgb), 0.84) 36%,
            rgba(var(--theme-rgb), 0.72) 68%,
            rgba(var(--theme-rgb), 0.96) 100%
        ) !important;

    border-color: rgba(var(--theme-rgb), 0.78) !important;

    box-shadow:
        0 16px 30px rgba(var(--theme-rgb), 0.30),
        0 6px 12px rgba(28, 34, 44, 0.14),
        0 0 24px rgba(var(--theme-rgb), 0.25),

        inset 0 1px 0 rgba(255, 255, 255, 0.44),
        inset 0 -1px 0 rgba(0, 0, 0, 0.18),
        inset 0 -9px 16px rgba(18, 22, 29, 0.11) !important;

    transform: none !important;
}

/* блик на hover цветных тем */
html[data-theme="nko"] .soul-btn:not(.soul-tab):hover::before,
html[data-theme="business"] .soul-btn:not(.soul-tab):hover::before,
html[data-theme="experts"] .soul-btn:not(.soul-tab):hover::before,
html[data-theme="future"] .soul-btn:not(.soul-tab):hover::before,
html[data-theme="nko"] .soul-button:not(.soul-tab):hover::before,
html[data-theme="business"] .soul-button:not(.soul-tab):hover::before,
html[data-theme="experts"] .soul-button:not(.soul-tab):hover::before,
html[data-theme="future"] .soul-button:not(.soul-tab):hover::before,
html[data-theme="nko"] a.soul-btn:not(.soul-tab):hover::before,
html[data-theme="business"] a.soul-btn:not(.soul-tab):hover::before,
html[data-theme="experts"] a.soul-btn:not(.soul-tab):hover::before,
html[data-theme="future"] a.soul-btn:not(.soul-tab):hover::before,
html[data-theme="nko"] a.soul-button:not(.soul-tab):hover::before,
html[data-theme="business"] a.soul-button:not(.soul-tab):hover::before,
html[data-theme="experts"] a.soul-button:not(.soul-tab):hover::before,
html[data-theme="future"] a.soul-button:not(.soul-tab):hover::before,
html[data-theme="nko"] .soul-header__cta:hover::before,
html[data-theme="business"] .soul-header__cta:hover::before,
html[data-theme="experts"] .soul-header__cta:hover::before,
html[data-theme="future"] .soul-header__cta:hover::before,
html[data-theme="nko"] .soul-form button[type="submit"]:hover::before,
html[data-theme="business"] .soul-form button[type="submit"]:hover::before,
html[data-theme="experts"] .soul-form button[type="submit"]:hover::before,
html[data-theme="future"] .soul-form button[type="submit"]:hover::before {
    opacity: 0.88;
    transform: translateX(5px);

    background:
        radial-gradient(
            circle at 28% 12%,
            rgba(255, 255, 255, 0.34) 0%,
            rgba(255, 255, 255, 0.12) 30%,
            transparent 58%
        ),
        linear-gradient(
            115deg,
            transparent 0%,
            transparent 22%,
            rgba(255, 255, 255, 0.30) 36%,
            rgba(255, 255, 255, 0.08) 48%,
            transparent 64%,
            transparent 100%
        );
}
/* =========================================================
   COLORED THEMES BUTTONS — FLAT EDGE + HEADER/FORM INVERT
   Только цветные темы. Base / sky не трогаем.
   ========================================================= */

/* ---------------------------------------------------------
   1. Цветные темы: обычные кнопки светлые, плоские
   --------------------------------------------------------- */

:is(
    html[data-theme="nko"],
    html[data-theme="business"],
    html[data-theme="experts"],
    html[data-theme="future"]
) :is(
    .soul-btn:not(.soul-tab),
    .soul-button:not(.soul-tab),
    a.soul-btn:not(.soul-tab),
    a.soul-button:not(.soul-tab)
) {
    color: rgba(26, 30, 38, 0.96) !important;

    background:
        linear-gradient(
            115deg,
            transparent 0%,
            transparent 15%,
            rgba(255, 255, 255, 0.72) 30%,
            rgba(255, 255, 255, 0.24) 42%,
            transparent 58%,
            transparent 100%
        ),
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.96) 0%,
            rgba(255, 255, 255, 0.86) 34%,
            rgba(var(--theme-rgb), 0.18) 78%,
            rgba(var(--theme-rgb), 0.28) 100%
        ),
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.82) 0%,
            rgba(255, 255, 255, 0.36) 48%,
            rgba(40, 48, 58, 0.035) 100%
        ) !important;

    border-color: rgba(var(--theme-rgb), 0.34) !important;

    box-shadow:
        0 12px 22px rgba(24, 30, 38, 0.10),
        0 4px 8px rgba(24, 30, 38, 0.065),

        0 0 18px rgba(var(--theme-rgb), 0.13),

        inset 0 1px 0 rgba(255, 255, 255, 0.98),
        inset 0 0 0 1px rgba(255, 255, 255, 0.56),
        inset 0 -1px 0 rgba(var(--theme-rgb), 0.18),
        inset 0 -7px 14px rgba(34, 40, 50, 0.035) !important;

    transform: none !important;
}

/* блик обычного светлого состояния */
:is(
    html[data-theme="nko"],
    html[data-theme="business"],
    html[data-theme="experts"],
    html[data-theme="future"]
) :is(
    .soul-btn:not(.soul-tab),
    .soul-button:not(.soul-tab),
    a.soul-btn:not(.soul-tab),
    a.soul-button:not(.soul-tab)
)::before {
    opacity: 0.86;

    background:
        radial-gradient(
            circle at 25% 10%,
            rgba(255, 255, 255, 0.58) 0%,
            rgba(255, 255, 255, 0.18) 34%,
            transparent 62%
        ),
        linear-gradient(
            115deg,
            transparent 0%,
            transparent 19%,
            rgba(255, 255, 255, 0.44) 35%,
            rgba(255, 255, 255, 0.12) 48%,
            transparent 66%,
            transparent 100%
        );
}


/* ---------------------------------------------------------
   2. Цветные темы: hover обычных кнопок насыщенный цветной
   --------------------------------------------------------- */

:is(
    html[data-theme="nko"],
    html[data-theme="business"],
    html[data-theme="experts"],
    html[data-theme="future"]
) :is(
    .soul-btn:not(.soul-tab),
    .soul-button:not(.soul-tab),
    a.soul-btn:not(.soul-tab),
    a.soul-button:not(.soul-tab)
):hover {
    color: #ffffff !important;

    background:
        linear-gradient(
            115deg,
            transparent 0%,
            transparent 15%,
            rgba(255, 255, 255, 0.40) 31%,
            rgba(255, 255, 255, 0.12) 43%,
            transparent 60%,
            transparent 100%
        ),
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.17) 0%,
            rgba(255, 255, 255, 0.045) 34%,
            rgba(0, 0, 0, 0.11) 100%
        ),
        linear-gradient(
            145deg,
            rgba(var(--theme-rgb), 1) 0%,
            rgba(var(--theme-rgb), 0.84) 38%,
            rgba(var(--theme-rgb), 0.72) 70%,
            rgba(var(--theme-rgb), 0.96) 100%
        ) !important;

    border-color: rgba(var(--theme-rgb), 0.52) !important;

    box-shadow:
        0 15px 28px rgba(var(--theme-rgb), 0.26),
        0 6px 12px rgba(28, 34, 44, 0.13),
        0 0 22px rgba(var(--theme-rgb), 0.22),

        inset 0 1px 0 rgba(255, 255, 255, 0.42),
        inset 0 0 0 1px rgba(255, 255, 255, 0.20),
        inset 0 -1px 0 rgba(0, 0, 0, 0.16),
        inset 0 -8px 15px rgba(18, 22, 29, 0.10) !important;
}

/* блик насыщенного hover */
:is(
    html[data-theme="nko"],
    html[data-theme="business"],
    html[data-theme="experts"],
    html[data-theme="future"]
) :is(
    .soul-btn:not(.soul-tab),
    .soul-button:not(.soul-tab),
    a.soul-btn:not(.soul-tab),
    a.soul-button:not(.soul-tab)
):hover::before {
    opacity: 0.88;
    transform: translateX(5px);

    background:
        radial-gradient(
            circle at 28% 12%,
            rgba(255, 255, 255, 0.34) 0%,
            rgba(255, 255, 255, 0.12) 30%,
            transparent 58%
        ),
        linear-gradient(
            115deg,
            transparent 0%,
            transparent 22%,
            rgba(255, 255, 255, 0.30) 36%,
            rgba(255, 255, 255, 0.08) 48%,
            transparent 64%,
            transparent 100%
        );
}


/* ---------------------------------------------------------
   3. Инверсия для шапки и формы:
   normal — насыщенная цветная
   hover — светлая стеклянная
   --------------------------------------------------------- */

:is(
    html[data-theme="nko"],
    html[data-theme="business"],
    html[data-theme="experts"],
    html[data-theme="future"]
) :is(
    .soul-header__cta,
    .soul-form button[type="submit"]
) {
    color: #ffffff !important;

    background:
        linear-gradient(
            115deg,
            transparent 0%,
            transparent 15%,
            rgba(255, 255, 255, 0.38) 31%,
            rgba(255, 255, 255, 0.11) 43%,
            transparent 60%,
            transparent 100%
        ),
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.16) 0%,
            rgba(255, 255, 255, 0.045) 34%,
            rgba(0, 0, 0, 0.11) 100%
        ),
        linear-gradient(
            145deg,
            rgba(var(--theme-rgb), 1) 0%,
            rgba(var(--theme-rgb), 0.84) 38%,
            rgba(var(--theme-rgb), 0.72) 70%,
            rgba(var(--theme-rgb), 0.96) 100%
        ) !important;

    border-color: rgba(var(--theme-rgb), 0.52) !important;

    box-shadow:
        0 15px 28px rgba(var(--theme-rgb), 0.26),
        0 6px 12px rgba(28, 34, 44, 0.13),
        0 0 22px rgba(var(--theme-rgb), 0.22),

        inset 0 1px 0 rgba(255, 255, 255, 0.42),
        inset 0 0 0 1px rgba(255, 255, 255, 0.18),
        inset 0 -1px 0 rgba(0, 0, 0, 0.16),
        inset 0 -8px 15px rgba(18, 22, 29, 0.10) !important;
}

:is(
    html[data-theme="nko"],
    html[data-theme="business"],
    html[data-theme="experts"],
    html[data-theme="future"]
) :is(
    .soul-header__cta,
    .soul-form button[type="submit"]
):hover {
    color: rgba(26, 30, 38, 0.96) !important;

    background:
        linear-gradient(
            115deg,
            transparent 0%,
            transparent 15%,
            rgba(255, 255, 255, 0.72) 30%,
            rgba(255, 255, 255, 0.24) 42%,
            transparent 58%,
            transparent 100%
        ),
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.96) 0%,
            rgba(255, 255, 255, 0.86) 34%,
            rgba(var(--theme-rgb), 0.18) 78%,
            rgba(var(--theme-rgb), 0.28) 100%
        ),
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.82) 0%,
            rgba(255, 255, 255, 0.36) 48%,
            rgba(40, 48, 58, 0.035) 100%
        ) !important;

    border-color: rgba(var(--theme-rgb), 0.34) !important;

    box-shadow:
        0 12px 22px rgba(24, 30, 38, 0.10),
        0 4px 8px rgba(24, 30, 38, 0.065),

        0 0 18px rgba(var(--theme-rgb), 0.13),

        inset 0 1px 0 rgba(255, 255, 255, 0.98),
        inset 0 0 0 1px rgba(255, 255, 255, 0.56),
        inset 0 -1px 0 rgba(var(--theme-rgb), 0.18),
        inset 0 -7px 14px rgba(34, 40, 50, 0.035) !important;
}
/* =========================================================
   BUTTON GLARE SOFTEN
   Ослабляем белый блик на кнопках
   ========================================================= */

/* обычное состояние */
.soul-btn:not(.soul-tab)::before,
.soul-button:not(.soul-tab)::before,
a.soul-btn:not(.soul-tab)::before,
a.soul-button:not(.soul-tab)::before,
.soul-header__cta::before,
.soul-form button[type="submit"]::before {
    opacity: 0.48 !important;

    background:
        radial-gradient(
            circle at 25% 10%,
            rgba(255, 255, 255, 0.34) 0%,
            rgba(255, 255, 255, 0.10) 34%,
            transparent 62%
        ),
        linear-gradient(
            115deg,
            transparent 0%,
            transparent 19%,
            rgba(255, 255, 255, 0.28) 35%,
            rgba(255, 255, 255, 0.07) 48%,
            transparent 66%,
            transparent 100%
        ) !important;
}

/* hover */
.soul-btn:not(.soul-tab):hover::before,
.soul-button:not(.soul-tab):hover::before,
a.soul-btn:not(.soul-tab):hover::before,
a.soul-button:not(.soul-tab):hover::before,
.soul-header__cta:hover::before,
.soul-form button[type="submit"]:hover::before {
    opacity: 0.58 !important;

    background:
        radial-gradient(
            circle at 25% 10%,
            rgba(255, 255, 255, 0.42) 0%,
            rgba(255, 255, 255, 0.13) 34%,
            transparent 62%
        ),
        linear-gradient(
            115deg,
            transparent 0%,
            transparent 18%,
            rgba(255, 255, 255, 0.34) 34%,
            rgba(255, 255, 255, 0.09) 48%,
            transparent 66%,
            transparent 100%
        ) !important;
}
/* =========================================================
   CTA NEON FORCE FIX
   Неоновая подсветка CTA-кнопок через filter,
   чтобы не перебивалась другими box-shadow
   ========================================================= */

.soul-btn--primary:not(.soul-tab),
.soul-btn--dark:not(.soul-tab),
.soul-form__submit,
.soul-header__cta {
    --cta-neon-rgb: var(--theme-rgb);

    filter:
        drop-shadow(0 0 7px rgba(var(--cta-neon-rgb), 0.28))
        drop-shadow(0 0 18px rgba(var(--cta-neon-rgb), 0.16))
        drop-shadow(0 10px 14px rgba(24, 30, 38, 0.13)) !important;

    transition:
        filter 260ms ease,
        background 280ms ease,
        border-color 280ms ease,
        color 240ms ease,
        box-shadow 280ms ease !important;
}

.soul-btn--primary:not(.soul-tab):hover,
.soul-btn--dark:not(.soul-tab):hover,
.soul-form__submit:hover,
.soul-header__cta:hover {
    filter:
        drop-shadow(0 0 10px rgba(var(--cta-neon-rgb), 0.42))
        drop-shadow(0 0 26px rgba(var(--cta-neon-rgb), 0.26))
        drop-shadow(0 0 48px rgba(var(--cta-neon-rgb), 0.13))
        drop-shadow(0 12px 16px rgba(24, 30, 38, 0.14)) !important;
}

/* base / sky titanium — холодная подсветка, не кислотно-голубая */
html[data-theme="base"] .soul-btn--primary:not(.soul-tab),
html[data-theme="base"] .soul-btn--dark:not(.soul-tab),
html[data-theme="base"] .soul-form__submit,
html[data-theme="base"] .soul-header__cta {
    --cta-neon-rgb: 142, 190, 218;
}

/* nko */
html[data-theme="nko"] .soul-btn--primary:not(.soul-tab),
html[data-theme="nko"] .soul-btn--dark:not(.soul-tab),
html[data-theme="nko"] .soul-form__submit,
html[data-theme="nko"] .soul-header__cta {
    --cta-neon-rgb: var(--nko-rgb);
}

/* business */
html[data-theme="business"] .soul-btn--primary:not(.soul-tab),
html[data-theme="business"] .soul-btn--dark:not(.soul-tab),
html[data-theme="business"] .soul-form__submit,
html[data-theme="business"] .soul-header__cta {
    --cta-neon-rgb: var(--business-rgb);
}

/* experts */
html[data-theme="experts"] .soul-btn--primary:not(.soul-tab),
html[data-theme="experts"] .soul-btn--dark:not(.soul-tab),
html[data-theme="experts"] .soul-form__submit,
html[data-theme="experts"] .soul-header__cta {
    --cta-neon-rgb: var(--experts-rgb);
}

/* future */
html[data-theme="future"] .soul-btn--primary:not(.soul-tab),
html[data-theme="future"] .soul-btn--dark:not(.soul-tab),
html[data-theme="future"] .soul-form__submit,
html[data-theme="future"] .soul-header__cta {
    --cta-neon-rgb: var(--future-rgb);
}
/* =========================================================
   CTA NEON HOVER OFF
   Неон остаётся только в обычном состоянии.
   При наведении убираем неоновую подсветку.
   ========================================================= */

.soul-btn--primary:not(.soul-tab):hover,
.soul-btn--dark:not(.soul-tab):hover,
.soul-form__submit:hover,
.soul-header__cta:hover {
    filter:
        drop-shadow(0 10px 14px rgba(24, 30, 38, 0.13)) !important;
}

/* убираем цветное неоновое свечение из hover box-shadow */
.soul-btn--primary:not(.soul-tab):hover,
.soul-btn--dark:not(.soul-tab):hover,
.soul-form__submit:hover,
.soul-header__cta:hover {
    box-shadow:
        0 14px 26px rgba(24, 30, 38, 0.12),
        0 5px 10px rgba(24, 30, 38, 0.08),

        inset 0 1px 0 rgba(255, 255, 255, 0.86),
        inset 0 -1px 0 rgba(42, 48, 58, 0.14),
        inset 0 -7px 14px rgba(34, 40, 50, 0.045) !important;
}
/* =========================================================
   BUTTONS GLARE + NEON FINAL FIX
   1) блик слабее во всех темах
   2) неон только в обычном состоянии
   3) при hover неоновую подсветку убираем
   ========================================================= */

/* ---------------------------------------------------------
   1. Общий блик — слабее для всех обычных кнопок
   --------------------------------------------------------- */

.soul-btn:not(.soul-tab)::before,
.soul-button:not(.soul-tab)::before,
a.soul-btn:not(.soul-tab)::before,
a.soul-button:not(.soul-tab)::before,
.soul-header__cta::before,
.soul-form button[type="submit"]::before {
    opacity: 0.38 !important;

    background:
        radial-gradient(
            circle at 25% 10%,
            rgba(255, 255, 255, 0.28) 0%,
            rgba(255, 255, 255, 0.08) 34%,
            transparent 62%
        ),
        linear-gradient(
            115deg,
            transparent 0%,
            transparent 20%,
            rgba(255, 255, 255, 0.24) 35%,
            rgba(255, 255, 255, 0.06) 48%,
            transparent 66%,
            transparent 100%
        ) !important;
}

/* hover-блик тоже слабее */
.soul-btn:not(.soul-tab):hover::before,
.soul-button:not(.soul-tab):hover::before,
a.soul-btn:not(.soul-tab):hover::before,
a.soul-button:not(.soul-tab):hover::before,
.soul-header__cta:hover::before,
.soul-form button[type="submit"]:hover::before {
    opacity: 0.44 !important;

    background:
        radial-gradient(
            circle at 25% 10%,
            rgba(255, 255, 255, 0.32) 0%,
            rgba(255, 255, 255, 0.10) 34%,
            transparent 62%
        ),
        linear-gradient(
            115deg,
            transparent 0%,
            transparent 19%,
            rgba(255, 255, 255, 0.28) 34%,
            rgba(255, 255, 255, 0.07) 48%,
            transparent 66%,
            transparent 100%
        ) !important;
}


/* ---------------------------------------------------------
   2. Базовая тема отдельно: sky / titanium
   Блик чуть холоднее, но тоже слабый
   --------------------------------------------------------- */

html[data-theme="base"] .soul-btn:not(.soul-tab)::before,
html[data-theme="base"] .soul-button:not(.soul-tab)::before,
html[data-theme="base"] a.soul-btn:not(.soul-tab)::before,
html[data-theme="base"] a.soul-button:not(.soul-tab)::before,
html[data-theme="base"] .soul-header__cta::before,
html[data-theme="base"] .soul-form button[type="submit"]::before {
    opacity: 0.34 !important;

    background:
        radial-gradient(
            circle at 25% 10%,
            rgba(255, 255, 255, 0.30) 0%,
            rgba(220, 238, 248, 0.10) 34%,
            transparent 62%
        ),
        linear-gradient(
            115deg,
            transparent 0%,
            transparent 20%,
            rgba(255, 255, 255, 0.24) 35%,
            rgba(220, 238, 248, 0.07) 48%,
            transparent 66%,
            transparent 100%
        ) !important;
}

html[data-theme="base"] .soul-btn:not(.soul-tab):hover::before,
html[data-theme="base"] .soul-button:not(.soul-tab):hover::before,
html[data-theme="base"] a.soul-btn:not(.soul-tab):hover::before,
html[data-theme="base"] a.soul-button:not(.soul-tab):hover::before,
html[data-theme="base"] .soul-header__cta:hover::before,
html[data-theme="base"] .soul-form button[type="submit"]:hover::before {
    opacity: 0.40 !important;

    background:
        radial-gradient(
            circle at 25% 10%,
            rgba(255, 255, 255, 0.34) 0%,
            rgba(220, 238, 248, 0.12) 34%,
            transparent 62%
        ),
        linear-gradient(
            115deg,
            transparent 0%,
            transparent 19%,
            rgba(255, 255, 255, 0.28) 34%,
            rgba(220, 238, 248, 0.08) 48%,
            transparent 66%,
            transparent 100%
        ) !important;
}


/* ---------------------------------------------------------
   3. Неоновая подсветка только в обычном состоянии
   --------------------------------------------------------- */

.soul-btn--primary:not(.soul-tab),
.soul-btn--dark:not(.soul-tab),
.soul-form__submit,
.soul-header__cta {
    --cta-neon-rgb: var(--theme-rgb);

    filter:
        drop-shadow(0 0 7px rgba(var(--cta-neon-rgb), 0.24))
        drop-shadow(0 0 18px rgba(var(--cta-neon-rgb), 0.13))
        drop-shadow(0 10px 14px rgba(24, 30, 38, 0.12)) !important;
}

/* базовая тема — холодный titanium / sky неон */
html[data-theme="base"] .soul-btn--primary:not(.soul-tab),
html[data-theme="base"] .soul-btn--dark:not(.soul-tab),
html[data-theme="base"] .soul-form__submit,
html[data-theme="base"] .soul-header__cta {
    --cta-neon-rgb: 142, 190, 218;

    filter:
        drop-shadow(0 0 7px rgba(142, 190, 218, 0.22))
        drop-shadow(0 0 18px rgba(142, 190, 218, 0.12))
        drop-shadow(0 10px 14px rgba(24, 30, 38, 0.12)) !important;
}


/* ---------------------------------------------------------
   4. При наведении неон убираем полностью
   Остаётся только стиль самой кнопки
   --------------------------------------------------------- */

.soul-btn--primary:not(.soul-tab):hover,
.soul-btn--dark:not(.soul-tab):hover,
.soul-form__submit:hover,
.soul-header__cta:hover {
    filter:
        drop-shadow(0 10px 14px rgba(24, 30, 38, 0.12)) !important;
}
/* =========================================================
   HEADER / FORM CTA — NO NEON
   Убираем неоновую подсветку в шапке и форме
   ========================================================= */

.soul-header__cta,
.soul-form__submit,
.soul-form button[type="submit"] {
    filter: none !important;

    box-shadow:
        0 13px 23px rgba(24, 30, 38, 0.13),
        0 5px 10px rgba(24, 30, 38, 0.08),

        inset 0 1px 0 rgba(255, 255, 255, 0.42),
        inset 0 0 0 1px rgba(255, 255, 255, 0.16),
        inset 0 -1px 0 rgba(0, 0, 0, 0.14),
        inset 0 -7px 14px rgba(18, 22, 29, 0.08) !important;
}

.soul-header__cta:hover,
.soul-form__submit:hover,
.soul-form button[type="submit"]:hover {
    filter: none !important;

    box-shadow:
        0 13px 23px rgba(24, 30, 38, 0.12),
        0 5px 10px rgba(24, 30, 38, 0.08),

        inset 0 1px 0 rgba(255, 255, 255, 0.72),
        inset 0 0 0 1px rgba(255, 255, 255, 0.26),
        inset 0 -1px 0 rgba(42, 48, 58, 0.13),
        inset 0 -7px 14px rgba(34, 40, 50, 0.04) !important;
}

.soul-header__cta:active,
.soul-form__submit:active,
.soul-form button[type="submit"]:active {
    filter: none !important;

    box-shadow:
        0 9px 16px rgba(24, 30, 38, 0.11),
        0 3px 7px rgba(24, 30, 38, 0.08),

        inset 0 1px 0 rgba(255, 255, 255, 0.62),
        inset 0 -1px 0 rgba(42, 48, 58, 0.12) !important;
}
/* =========================================================
   HEADER / FORM BUTTON FONT WEIGHT FIX
   Убираем жирность у кнопки в шапке и у кнопок формы
   ========================================================= */

.soul-header__cta,
.soul-header__cta .soul-btn__text,
.soul-form__submit,
.soul-form__submit .soul-btn__text,
.soul-form button[type="submit"],
.soul-form button[type="submit"] .soul-btn__text {
    font-weight: 600 !important;
}
/* =========================================================
   BASE THEME BUTTONS — LIGHT DEFAULT / DARK HOVER
   Главная базовая тема: кнопки светлые, при наведении тёмные
   ========================================================= */

/* обычное состояние */
html[data-theme="base"] body:not(.soul-page--lab) .soul-btn,
html[data-theme="base"] body:not(.soul-page--lab) .soul-btn--dark,
html[data-theme="base"] body:not(.soul-page--lab) button.soul-btn,
html[data-theme="base"] body:not(.soul-page--lab) a.soul-btn {
    position: relative !important;
    overflow: hidden !important;

    color: rgba(28, 32, 40, 0.92) !important;

    background:
        radial-gradient(
            circle at 20% 0%,
            rgba(255, 255, 255, 0.95) 0%,
            rgba(255, 255, 255, 0.38) 42%,
            rgba(255, 255, 255, 0.00) 72%
        ),
        linear-gradient(
            145deg,
            rgb(255, 255, 255) 0%,
            rgb(246, 250, 253) 46%,
            rgb(226, 237, 246) 100%
        ) !important;

    border: 1px solid rgba(184, 200, 216, 0.70) !important;

    box-shadow:
        0 12px 24px rgba(54, 66, 80, 0.11),
        0 5px 12px rgba(54, 66, 80, 0.07),
        inset 0 1px 0 rgba(255, 255, 255, 0.96),
        inset 0 -1px 0 rgba(98, 116, 136, 0.12) !important;

    text-shadow: none !important;

    transition:
        transform 180ms ease,
        color 180ms ease,
        background 220ms ease,
        border-color 220ms ease,
        box-shadow 220ms ease,
        filter 220ms ease !important;
}

/* текст внутри кнопки */
html[data-theme="base"] body:not(.soul-page--lab) .soul-btn .soul-btn__text,
html[data-theme="base"] body:not(.soul-page--lab) .soul-btn span {
    position: relative !important;
    z-index: 2 !important;

    color: inherit !important;
}

/* мягкий светлый блик */
html[data-theme="base"] body:not(.soul-page--lab) .soul-btn::before,
html[data-theme="base"] body:not(.soul-page--lab) .soul-btn--dark::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;

    pointer-events: none !important;

    background:
        linear-gradient(
            115deg,
            transparent 0%,
            transparent 18%,
            rgba(255, 255, 255, 0.52) 34%,
            rgba(255, 255, 255, 0.16) 48%,
            transparent 66%,
            transparent 100%
        ),
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.30) 0%,
            rgba(255, 255, 255, 0.08) 44%,
            transparent 72%
        ) !important;

    opacity: 0.72 !important;
}

/* hover — тёмная metallic кнопка */
html[data-theme="base"] body:not(.soul-page--lab) .soul-btn:hover,
html[data-theme="base"] body:not(.soul-page--lab) .soul-btn--dark:hover,
html[data-theme="base"] body:not(.soul-page--lab) button.soul-btn:hover,
html[data-theme="base"] body:not(.soul-page--lab) a.soul-btn:hover {
    transform: translateY(-1px) !important;

    color: #ffffff !important;

    background:
        radial-gradient(
            circle at 22% 0%,
            rgba(255, 255, 255, 0.34) 0%,
            rgba(255, 255, 255, 0.12) 34%,
            rgba(255, 255, 255, 0.00) 66%
        ),
        linear-gradient(
            180deg,
            rgba(104, 114, 128, 0.98) 0%,
            rgba(76, 87, 102, 0.99) 46%,
            rgba(42, 51, 64, 1) 100%
        ) !important;

    border-color: rgba(31, 38, 48, 0.72) !important;

    box-shadow:
        0 16px 32px rgba(36, 42, 54, 0.24),
        0 7px 16px rgba(36, 42, 54, 0.16),
        0 0 20px rgba(var(--theme-rgb), 0.14),
        inset 0 1px 0 rgba(255, 255, 255, 0.34),
        inset 0 -1px 0 rgba(0, 0, 0, 0.32) !important;

    filter: brightness(1.02) !important;
}

/* hover-блик темной кнопки */
html[data-theme="base"] body:not(.soul-page--lab) .soul-btn:hover::before,
html[data-theme="base"] body:not(.soul-page--lab) .soul-btn--dark:hover::before {
    background:
        linear-gradient(
            115deg,
            transparent 0%,
            transparent 16%,
            rgba(255, 255, 255, 0.38) 28%,
            rgba(255, 255, 255, 0.16) 38%,
            transparent 52%,
            transparent 100%
        ),
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.18) 0%,
            rgba(255, 255, 255, 0.05) 42%,
            transparent 70%
        ) !important;

    opacity: 0.88 !important;
}
/* =========================================================
   BASE BUTTONS — CLICKABLE SKY TITANIUM GRADIENT
   Светлые кнопки в базовой теме: заметные, кликабельные,
   с градиентом и hover в тёмный металл
   ========================================================= */

html[data-theme="base"] body:not(.soul-page--lab) .soul-btn,
html[data-theme="base"] body:not(.soul-page--lab) a.soul-btn,
html[data-theme="base"] body:not(.soul-page--lab) button.soul-btn {
    position: relative !important;
    overflow: hidden !important;
    isolation: isolate !important;

    color: rgba(28, 32, 42, 0.94) !important;

    background:
        radial-gradient(
            circle at 18% 0%,
            rgba(255, 255, 255, 0.98) 0%,
            rgba(255, 255, 255, 0.42) 36%,
            rgba(255, 255, 255, 0.00) 68%
        ),
        linear-gradient(
            135deg,
            rgb(255, 255, 255) 0%,
            rgb(238, 247, 252) 28%,
            rgb(203, 224, 238) 62%,
            rgb(154, 188, 210) 100%
        ) !important;

    border: 1px solid rgba(130, 164, 188, 0.48) !important;

    box-shadow:
        0 14px 28px rgba(54, 66, 80, 0.14),
        0 6px 14px rgba(54, 66, 80, 0.08),
        0 0 22px rgba(148, 184, 207, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.96),
        inset 0 -1px 0 rgba(84, 108, 130, 0.16) !important;

    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.48) !important;

    cursor: pointer !important;

    transition:
        transform 180ms ease,
        color 180ms ease,
        background 220ms ease,
        border-color 220ms ease,
        box-shadow 220ms ease,
        filter 220ms ease !important;
}

/* красивый диагональный блик */
html[data-theme="base"] body:not(.soul-page--lab) .soul-btn::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;

    pointer-events: none !important;

    background:
        linear-gradient(
            115deg,
            transparent 0%,
            transparent 16%,
            rgba(255, 255, 255, 0.58) 30%,
            rgba(255, 255, 255, 0.22) 42%,
            transparent 58%,
            transparent 100%
        ),
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.34) 0%,
            rgba(255, 255, 255, 0.08) 44%,
            transparent 72%
        ) !important;

    opacity: 0.72 !important;
}


/* текст поверх бликов */
html[data-theme="base"] body:not(.soul-page--lab) .soul-btn .soul-btn__text,
html[data-theme="base"] body:not(.soul-page--lab) .soul-btn span {
    position: relative !important;
    z-index: 2 !important;

    color: inherit !important;
}

/* hover — тёмная металлическая кнопка */
html[data-theme="base"] body:not(.soul-page--lab) .soul-btn:hover,
html[data-theme="base"] body:not(.soul-page--lab) a.soul-btn:hover,
html[data-theme="base"] body:not(.soul-page--lab) button.soul-btn:hover {
    transform: translateY(-1px) !important;

    color: #ffffff !important;

    background:
        radial-gradient(
            circle at 22% 0%,
            rgba(255, 255, 255, 0.34) 0%,
            rgba(255, 255, 255, 0.12) 34%,
            rgba(255, 255, 255, 0.00) 66%
        ),
        linear-gradient(
            180deg,
            rgba(108, 120, 136, 0.98) 0%,
            rgba(76, 88, 104, 0.99) 45%,
            rgba(40, 49, 62, 1) 100%
        ) !important;

    border-color: rgba(31, 38, 48, 0.78) !important;

    box-shadow:
        0 18px 36px rgba(36, 42, 54, 0.26),
        0 8px 18px rgba(36, 42, 54, 0.17),
        0 0 22px rgba(148, 184, 207, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.34),
        inset 0 -1px 0 rgba(0, 0, 0, 0.34) !important;

    text-shadow: none !important;
}

/* hover-блик на тёмной кнопке */
html[data-theme="base"] body:not(.soul-page--lab) .soul-btn:hover::before {
    background:
        linear-gradient(
            115deg,
            transparent 0%,
            transparent 16%,
            rgba(255, 255, 255, 0.38) 28%,
            rgba(255, 255, 255, 0.16) 38%,
            transparent 54%,
            transparent 100%
        ),
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.18) 0%,
            rgba(255, 255, 255, 0.05) 42%,
            transparent 70%
        ) !important;

    opacity: 0.86 !important;
}

/* исключаем маленькие чипы/бейджи, чтобы они не стали кнопками */
html[data-theme="base"] body:not(.soul-page--lab) .soul-chip,
html[data-theme="base"] body:not(.soul-page--lab) .soul-chip *,
html[data-theme="base"] body:not(.soul-page--lab) .soul-section__eyebrow,
html[data-theme="base"] body:not(.soul-page--lab) .soul-section__eyebrow * {
    cursor: default !important;
}