:root {
    --block-margin: 80px;
    --register-btn-color: #FF4E26;
    --register-btn-hover-color: #f36241;
    --register-btn-active-color: #f36241;
    --register-btn-border: 1px solid #FF7E61;
}

body {
    font-family: "Unbounded", sans-serif;
    position: relative;
    color: #fff;
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
}

body::before {
    content: "";
    position: absolute;
    z-index: -10;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
}

.block-title {
    font-weight: 800;
    font-size: 48px;
    line-height: 130%;
    letter-spacing: 0%;
    color: #2A2A37;
}

.page-block,
.cta-with-socials__outer,
.program__outer {
    padding-top: var(--block-margin);
    padding-bottom: var(--block-margin);
}

.header {
    --header-bg: #222121;
    --header-border: 0.5px solid #373737;
    --button-bg: #2B2B2B;
    --button-border: 1px solid #373737;
    --text-color: #8E8E8E;
    --text-hover-color: #fff;
    --hover-bg: #FF4E26;
    --mobile-bg: #ff5833c4;
    --mobile-icon-color: #FF4E26;
    --font: 14px;
    --font-m: 14px;
}

.header .header__btn {
    font-weight: 500;
    text-align: center;
}

.header .header__menu {
    box-shadow: none;
}

.footer {
    background-color: #2a2a2a;
    color: #fff; 
    border-top: 1px solid #464646;
}

.block-title,
.cta-block .cta-block__title,
.cta-with-socials .cta-with-socials__title,
.gradient-text {
    background: linear-gradient(89.72deg, rgba(255, 255, 255, 0.7) 0.7%, rgba(255, 255, 255, 0.7) 18.99%, rgba(255, 255, 255, 0.7) 37.25%, #FFFFFF 53.98%, rgba(255, 255, 255, 0.4) 97.48%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.block-title {
    font-weight: 800;
    font-size: 42px;
    line-height: 130%;
    letter-spacing: 0%;
    text-align: center;
    text-transform: uppercase;
}

.cta-with-socials .callbackform__message,
.cta-block .callbackform__message {
    --form-bg: transparent;
    --form-padding: 0;
    box-shadow: none;
}

.form-block .form-block__label {
    background-color: #424242;
    border: 1px solid #4E4E4E;
    opacity: 0.7;
    transition: border-color 0.1s, margin 0.2s, color 0.3s, opacity 0.2s;
}

.form-block .form-block__input {
    color: #fff;
}

.form-block .form-block__label:has(.form-block__input:focus){
    opacity: 1;
}

@media screen and (hover: hover){
    .form-block .form-block__label:hover {
        opacity: 1;
    }
}

.callbackform__flag-container {
    background-color: #424242;
}

.callbackform__message .register-btn, .register-btn {
    font-weight: 600;
}

.bg-grid-img {
    height: 2880px;
    width: auto;
    position: absolute;
    z-index: -8;
    left: 50%;
    transform: translate(-50%);
    max-width: unset;
}

.callbackform__legal-notice a {
    color: #fff;
}

.callbackform__message .callbackform__checkbox-box {
    box-shadow: 0px 0px 2px 0px #FFFFFF7A inset, 0px 1px 2px 0px #FFF3 inset;
    border: 0.5px solid #fff;
}

.callbackform__message {
    --form-bg: #1F1F1F;
    --form-title-color: #fff; 
    --form-text-color: #fff;
    --form-icon-color: #fff;
}

.callbackform__message .callbackform__arrow-back path,
.popup .popup__close path {
    stroke: #fff; 
}

.callbackform__message .register-btn::after {
    content: none;
}

@media screen and (max-width: 1200px) {
    .callbackform__message .register-btn, .register-btn {
        font-size: 20px;
        padding: 18px 36px;
    }

    .main {
        overflow: hidden;
    }
}

@media screen and (max-width: 1100px) {
    :root {
        --block-margin: 50px;
    }

    .block-title {
        font-size: 32px;
    }
}

@media screen and (max-width: 670px) {
    .block-title {
        font-size: 26px;
        text-align: left;
        width: fit-content;
    }

    .header .header__mobile {
        top: 20px;
    }

    .callbackform__message .register-btn, .register-btn {
        border-radius: 10px;
    }
}

