@charset "utf-8";
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCs16Ew-.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtZ6Ew-.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCuM70w-.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCvC70w-.ttf) format('truetype');
}
html {
  height: 100%;
}
img {
  /*position: absolute;
	top: 50%;
	right: 50%;
	transform: translate(-50%, -50%);*/
  vertical-align: middle;
}
*,
*:after,
*:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}
body,
td,
th,
p {
  font-family: 'Montserrat', sans-serif;
  font-weight: normal;
  font-weight: 500;
  font-size: 16px;
  color: #111316;
  height: 100%;
  line-height: 130%;
}
body {
  background: white;
  overflow: hidden;
}
a {
  text-decoration: none;
  /* Убираем подчеркивание у ссылок */
}
        #wrap {
            width: 100vw;
            height: 100vh;
            max-width: 1920px;
            background-color: white;
            position: relative;
            left: 0;
            top: 0;
            margin: 0 auto;
            -webkit-transition: all 0.3s ease-in-out;
            -o-transition: all 0.3s ease-in-out;
            transition: all 0.3s ease-in-out;
            overflow-y: auto;
            /* прокрутка  */
            z-index: 0;

            background-image: url('back.jpg');
            background-size: cover;
            background-position: center;   /* Центрирует изображение */
            background-repeat: repeat-y;
            
        }

        .page-container {
            display: flex;
            flex-direction: column;
            align-items: center;

            margin: 20px auto;

            width: fit-content;
            max-width: 100%;
            padding: 20px;

            
             background: linear-gradient(
                135deg,
                blue 0%,
                #764ba2 100%
            );

            border: white 1px solid;
            border-radius: 26px;

            box-shadow:
                0 20px 60px rgba(0, 0, 0, 0.25);

            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
        }

        h1 {
            width: 100%;
            max-width: 500px;

            margin-bottom: 30px;
            padding: 0 10px;

            color: white;
            text-align: center;
            font-size: clamp(22px, 5vw, 28px);
            line-height: 1.25;

            text-shadow:
                0 2px 10px rgba(0, 0, 0, 0.3);
        }

        .captcha-container {
            width: 400px;
            max-width: 100%;

            padding: 40px;

            background: white;
            border-radius: 20px;
            text-align: center;

            box-shadow:
                0 20px 60px rgba(0, 0, 0, 0.3);
        }

        .captcha-title {
            margin-bottom: 30px;

            color: #333;
            font-size: 18px;
            line-height: 1.4;
            font-weight: 500;
        }

        .slider-track {
            position: relative;

            width: 100%;
            height: 50px;

            overflow: hidden;

            background:
                linear-gradient(
                    90deg,
                    #e0e5ec 0%,
                    #c9d1db 100%
                );

            border-radius: 25px;

            box-shadow:
                inset 0 2px 5px rgba(0, 0, 0, 0.1);
        }

        .slider-progress {
            position: absolute;
            top: 0;
            left: 0;

            width: 0;
            height: 100%;

            background:
                linear-gradient(
                    90deg,
                    #4facfe 0%,
                    #00f2fe 100%
                );

            border-radius: 25px;

            transition: background 0.3s;
        }

        .slider-progress.success {
            background:
                linear-gradient(
                    90deg,
                    #43e97b 0%,
                    #38f9d7 100%
                );
        }

        .slider-progress.error {
            background:
                linear-gradient(
                    90deg,
                    #f5576c 0%,
                    #f093fb 100%
                );
        }

        .slider-arrows {
            position: absolute;
            top: 50%;
            left: 50%;

            transform: translate(-50%, -50%);

            color: #a0aec0;
            font-size: 20px;
            letter-spacing: 5px;

            user-select: none;
            pointer-events: none;

            transition: opacity 0.3s;
        }

        .slider-handle {
            position: absolute;
            top: 0;
            left: 0;
            z-index: 10;

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

            width: 50px;
            height: 50px;

            background:
                linear-gradient(
                    135deg,
                    #667eea 0%,
                    #764ba2 100%
                );

            border-radius: 50%;
            cursor: grab;
            touch-action: none;

            box-shadow:
                0 4px 15px rgba(102, 126, 234, 0.4);

            transition:
                transform 0.2s,
                box-shadow 0.2s;
        }

        .slider-handle:hover {
            transform: scale(1.05);

            box-shadow:
                0 6px 20px rgba(102, 126, 234, 0.5);
        }

        .slider-handle:active {
            cursor: grabbing;
            transform: scale(0.98);
        }

        .slider-handle.success {
            background:
                linear-gradient(
                    135deg,
                    #43e97b 0%,
                    #38f9d7 100%
                );

            box-shadow:
                0 4px 15px rgba(67, 233, 123, 0.4);
        }

        .slider-handle.error {
            background:
                linear-gradient(
                    135deg,
                    #f5576c 0%,
                    #f093fb 100%
                );

            box-shadow:
                0 4px 15px rgba(245, 87, 108, 0.4);
        }

        .slider-handle svg {
            width: 24px;
            height: 24px;
            fill: white;
        }

        .status-message {
            min-height: 20px;
            margin-top: 20px;

            color: #718096;
            font-size: 14px;

            transition: all 0.3s;
        }

        .status-message.success {
            color: #38a169;
            font-weight: 600;
        }

        .status-message.error {
            color: #e53e3e;
        }

        .loader {
            display: none;
            margin-top: 20px;
        }

        .loader.active {
            display: block;
        }

        .loader-spinner {
            width: 30px;
            height: 30px;
            margin: 0 auto;

            border: 3px solid #e2e8f0;
            border-top-color: #667eea;
            border-radius: 50%;

            animation: spin 1s linear infinite;
        }

        @keyframes spin {
            to {
                transform: rotate(360deg);
            }
        }

        .shield-icon {
            width: 60px;
            height: 60px;
            margin-bottom: 20px;
            fill: #667eea;
        }

        .hp-field {
            position: absolute;
            top: -9999px;
            left: -9999px;
            z-index: -1;

            width: 0;
            height: 0;

            opacity: 0;
            pointer-events: none;
        }

        .security-info {
            margin-top: 25px;
            padding-top: 20px;

            border-top: 1px solid #e2e8f0;

            color: #a0aec0;
            font-size: 11px;
        }

        .attempt-counter {
            margin-top: 10px;

            color: #a0aec0;
            font-size: 12px;
        }

        @media (max-width: 520px) {
            body {
                align-items: flex-start;
                padding: 10px;
            }

            .page-container {
                width: 100%;
                padding: 20px;
                border-radius: 20px;
            }

            h1 {
                margin-bottom: 20px;
                padding: 0;
            }

            .captcha-container {
                width: 100%;
                padding: 30px 20px;
                border-radius: 16px;
            }
        }

        @media (max-width: 360px) {
            body {
                padding: 6px;
            }

            .page-container {
                padding: 20px;
            }

            .captcha-container {
                padding: 25px 15px;
            }

            .captcha-title {
                font-size: 16px;
            }
        }


        /* КУКИ-БАННЕР*/

        .cookie-banner-overlay,
    .cookie-banner-overlay * {
        box-sizing: border-box;
    }

    .cookie-banner-overlay {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 99999;

        display: flex;
        justify-content: center;

        padding: 12px 16px;

        pointer-events: none;

        animation:
            cookieSlideUp
            0.45s
            cubic-bezier(0.22, 1, 0.36, 1)
            forwards;
    }

    @keyframes cookieSlideUp {
        from {
            opacity: 0;
            transform: translateY(30px);
        }

        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    @keyframes cookieFadeOut {
        from {
            opacity: 1;
            transform: translateY(0);
        }

        to {
            opacity: 0;
            transform: translateY(20px);
        }
    }

    .cookie-banner-wrapper {
        position: relative;

        width: 100%;
        max-width: 560px;

        pointer-events: auto;
    }

    .cookie-banner {
        display: flex;
        align-items: center;
        gap: 14px;

        width: 100%;
        padding: 14px 20px;

        background: #ffffff;
        border: 1px solid #e6e6e6;
        border-radius: 16px;

        box-shadow:
            0 4px 24px rgba(0, 0, 0, 0.08),
            0 1px 4px rgba(0, 0, 0, 0.04);

        font-family:
            -apple-system,
            BlinkMacSystemFont,
            "Segoe UI",
            Roboto,
            Helvetica,
            Arial,
            sans-serif;

        cursor: default;
        outline: none;

        transition:
            box-shadow 0.2s ease,
            transform 0.15s ease;
    }

    .cookie-banner:hover {
        box-shadow:
            0 6px 28px rgba(0, 0, 0, 0.1),
            0 2px 6px rgba(0, 0, 0, 0.05);

        transform: translateY(-1px);
    }

    .cookie-banner:focus-visible {
        outline: 3px solid rgba(255, 171, 0, 0.4);
        outline-offset: 3px;
    }

    .cookie-banner-icon {
        flex-shrink: 0;

        width: 38px;
        height: 38px;
    }

    .cookie-banner-text {
        flex: 1;

        margin: 0;

        color: #333333;
        font-size: 13px;
        line-height: 1.45;
    }

    .cookie-banner-text a {
        color: #d88f00;
        text-decoration: underline;
        text-underline-offset: 2px;
    }

    .cookie-banner-btn {
        flex-shrink: 0;

        padding: 9px 18px;

        background: #ffdd2d;
        color: #333333;

        border: none;
        border-radius: 10px;

        font-family: inherit;
        font-size: 13px;
        font-weight: 600;
        white-space: nowrap;

        cursor: pointer;

        transition:
            background 0.15s ease,
            transform 0.15s ease;
    }

    .cookie-banner-btn:hover {
        background: #ffd319;
    }

    .cookie-banner-btn:active {
        transform: scale(0.97);
    }

    .cookie-banner-btn:focus-visible,
    .cookie-banner-close:focus-visible {
        outline: 3px solid rgba(255, 171, 0, 0.45);
        outline-offset: 2px;
    }

    .cookie-banner-close {
        position: absolute;
        top: -6px;
        right: -6px;
        z-index: 2;

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

        width: 22px;
        height: 22px;
        padding: 0;

        background: #f0f0f0;
        border: none;
        border-radius: 50%;

        line-height: 1;
        cursor: pointer;

        box-shadow: 0 1px 5px rgba(0, 0, 0, 0.12);

        transition:
            background 0.15s ease,
            transform 0.15s ease;
    }

    .cookie-banner-close:hover {
        background: #e0e0e0;
        transform: scale(1.06);
    }

    .cookie-banner-close svg {
        width: 10px;
        height: 10px;
    }

    /* Мобильная адаптация */
    @media (max-width: 600px) {
        .cookie-banner-overlay {
            max-height: 20vh;
            padding: 8px 10px;
        }

        .cookie-banner {
            flex-wrap: wrap;
            gap: 10px;

            max-height: 20vh;
            padding: 10px 14px;

            overflow: hidden;

            border-radius: 12px;
        }

        .cookie-banner-icon {
            width: 28px;
            height: 28px;
        }

        .cookie-banner-text {
            flex-basis: calc(100% - 42px);

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

        .cookie-banner-btn {
            width: auto;
            margin: 0 auto;
            padding: 8px 24px;

            border-radius: 8px;

            font-size: 12.5px;
        }
    }

    /* Совсем маленькие экраны */
    @media (max-width: 380px) {
        .cookie-banner-text {
            font-size: 11px;
        }

        .cookie-banner-btn {
            padding: 7px 12px;
            font-size: 12px;
        }
    }

    /* Отключение анимации для пользователей,
       предпочитающих уменьшенное движение */
    @media (prefers-reduced-motion: reduce) {
        .cookie-banner-overlay,
        .cookie-banner,
        .cookie-banner-btn,
        .cookie-banner-close {
            animation: none;
            transition: none;
        }
    }