@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400&display=swap');

        .font-main { font-family: 'Open Sans', sans-serif; }
        .font-serif-title { font-family: 'Playfair Display', serif; }

        /* Валидация форм (попап и калькулятор) */
        .app-field-invalid {
            border-color: #ef4444 !important;
        }
        .app-field-error {
            color: #ef4444;
            font-size: 12px;
            margin-top: 4px;
        }

        /* --- ЖЕСТКАЯ БЛОКИРОВКА СТИЛЕЙ ТИЛЬДЫ (!important) --- */
        
        /* Фиксированный темный фон как у футера */
        .popup-dark-bg {
            background-color: #13161c !important;
            background: #13161c !important;
        }

        .popup-input-style {
            background-color: transparent !important;
            background: transparent !important;
            color: #ffffff !important;
            border: none !important;
            border-bottom: 1px solid rgba(191, 149, 63, 0.4) !important;
            outline: none !important;
            box-shadow: none !important;
            border-radius: 0px !important;
        }

        .popup-input-style:focus {
            border-bottom: 1px solid #FBF5B7 !important;
        }

        /* Защита от автозаполнения Chrome (когда инпуты становятся желтыми/синими) */
        .popup-input-style:-webkit-autofill,
        .popup-input-style:-webkit-autofill:hover, 
        .popup-input-style:-webkit-autofill:focus {
            -webkit-text-fill-color: #ffffff !important;
            -webkit-box-shadow: 0 0 0px 1000px #13161c inset !important;
            transition: background-color 5000s ease-in-out 0s;
        }

        /* Текстовые стили */
        .popup-text-gold {
            color: #BF953F !important;
        }
        .popup-text-light {
            color: #d1d5db !important;
        }
        .popup-text-muted {
            color: #9ca3af !important;
        }

        /* Золотой градиент заголовка */
        .popup-shine-title {
            background-image: linear-gradient(
                -75deg,
                #BF953F 0%,
                #BF953F 35%,
                #FBF5B7 47%,
                #FFFFFF 50%,
                #FBF5B7 53%,
                #BF953F 65%,
                #BF953F 100%
            ) !important;
            background-size: 300% auto !important;
            background-position: 100% center !important;
            -webkit-background-clip: text !important;
            -webkit-text-fill-color: transparent !important;
            background-clip: text !important;
            color: transparent !important;
            will-change: background-position;
        }

        /* Премиальная золотая кнопка */
        .popup-submit-btn {
            background-image: linear-gradient(
                -75deg,
                #BF953F 0%,
                #BF953F 35%,
                #FBF5B7 47%,
                #FFFFFF 50%,
                #FBF5B7 53%,
                #BF953F 65%,
                #BF953F 100%
            ) !important;
            background-size: 300% auto !important;
            background-position: 100% center !important;
            color: #ffffff !important;
            font-weight: 800 !important;
            text-transform: uppercase !important;
            letter-spacing: 0.1em !important;
            transition: opacity 0.3s ease !important;
        }
        .popup-submit-btn:hover {
            opacity: 0.9 !important;
        }

        @keyframes sweep {
            0% { background-position: 100% center; }
            25% { background-position: 0% center; } 
            100% { background-position: 0% center; } 
        }

        .animate-sweep {
            animation: sweep 6s linear infinite;
        }

        /* Анимированная золотая рамка-контур вокруг поп-апа */
        .gold-border-animated {
            position: relative;
            border-radius: 24px;
            padding: 2px; 
            overflow: hidden;
            z-index: 1;
        }
        
        .gold-border-animated::before {
            content: '';
            position: absolute;
            top: -50%;
            left: -50%;
            width: 200%;
            height: 200%;
            background: conic-gradient(
                from 0deg,
                #BF953F 0%,
                #BF953F 60%,
                #FBF5B7 80%,
                #FFFFFF 90%,
                #FBF5B7 95%,
                #BF953F 100%
            );
            animation: rotateBorder 4s linear infinite;
            z-index: -1;
        }

        .gold-border-inner {
            border-radius: 22px;
            height: 100%;
            overflow: hidden;
        }
        
        @keyframes rotateBorder {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }

        .text-shadow-gold {
            text-shadow: 0px 1px 3px rgba(0, 0, 0, 0.35);
        }

        /* Анимация плавного появления */
        .popup-overlay {
            transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.4s;
        }
        .popup-content {
            transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s;
        }

/* ---- */


.footer-policy-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px 16px;
}

@media (min-width: 768px) {
    .footer-policy-links {
        justify-content: flex-end;
    }
}

.floating-phone {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 99980;
    width: 58px;
    height: 58px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, #BF953F, #FBF5B7, #B38728);
    color: #13161c;
    box-shadow: 0 14px 32px rgba(19, 22, 28, 0.28);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.floating-phone:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 38px rgba(19, 22, 28, 0.34);
}

.floating-phone svg {
    width: 28px;
    height: 28px;
    fill: currentColor;
}

.cookie-consent {
    position: fixed;
    left: 16px;
    right: auto;
    bottom: 16px;
    z-index: 99970;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    width: min(720px, calc(100% - 32px));
    margin: 0;
    padding: 16px;
    border: 1px solid rgba(191, 149, 63, 0.28);
    border-radius: 16px;
    background: rgba(19, 22, 28, 0.96);
    color: #f8fafc;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.32);
}

.cookie-consent[hidden] {
    display: none;
}

.cookie-consent__text {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    line-height: 1.5;
}

.cookie-consent__text strong {
    font-size: 14px;
    color: #FBF5B7;
}

.cookie-consent__text a {
    color: #FBF5B7;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.cookie-consent__button {
    flex: 0 0 auto;
    border: 0;
    border-radius: 999px;
    padding: 10px 18px;
    background: #FBF5B7;
    color: #13161c;
    font-weight: 800;
    cursor: pointer;
}

.policy-page {
    margin: 0;
    min-height: 100vh;
    background: #f8fafc;
    color: #1f2937;
    font-family: 'Open Sans', Arial, sans-serif;
}

.policy-shell {
    width: min(920px, calc(100% - 32px));
    margin: 0 auto;
    padding: 32px 0 56px;
}

.policy-back {
    display: inline-flex;
    margin-bottom: 18px;
    color: #8a6a22;
    font-weight: 700;
    text-decoration: none;
}

.policy-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 18px;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
    padding: clamp(24px, 5vw, 48px);
}

.policy-eyebrow {
    margin: 0 0 10px;
    color: #B38728;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.policy-card h1 {
    margin: 0 0 16px;
    color: #111827;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(32px, 5vw, 48px);
    line-height: 1.1;
}

.policy-lead {
    margin: 0 0 28px;
    color: #4b5563;
    font-size: 17px;
    line-height: 1.65;
}

.policy-card h2 {
    margin: 26px 0 10px;
    color: #111827;
    font-size: 20px;
    line-height: 1.3;
}

.policy-card p {
    margin: 0 0 14px;
    line-height: 1.7;
}

.policy-card a {
    color: #8a6a22;
    font-weight: 700;
}

.policy-updated {
    margin-top: 30px !important;
    color: #6b7280;
    font-size: 14px;
}

@media (max-width: 640px) {
    .floating-phone {
        right: 16px;
        bottom: 16px;
        width: 54px;
        height: 54px;
    }

    body.cookie-consent-visible .floating-phone {
        display: none;
    }

    .cookie-consent {
        flex-direction: column;
        align-items: stretch;
        left: 12px;
        right: 12px;
        bottom: 12px;
        width: auto;
        max-width: none;
        border-radius: 14px;
    }

    .cookie-consent__button {
        width: 100%;
    }
}
/* Базовые настройки для шрифтов */
        @import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap');
        .font-main { font-family: 'Open Sans', sans-serif; }

        /* ЕДИНЫЙ ГРАДИЕНТ ДЛЯ ВСЕХ ЭЛЕМЕНТОВ */
        .theme-gradient {
            background-image: linear-gradient(
                -75deg,
                #BF953F 0%,
                #BF953F 35%,    /* Базовый золотой фон */
                #FBF5B7 47%,    /* Начало блика */
                #FFFFFF 50%,    /* Пик света */
                #FBF5B7 53%,    /* Конец блика */
                #BF953F 65%,    /* Базовый золотой фон */
                #BF953F 100%
            );
            background-size: 300% auto;
            background-position: 100% center;
        }

        /* Применение градиента только к тексту */
        .shine-text {
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            color: transparent;
        }

        /* ГЛОБАЛЬНАЯ АНИМАЦИЯ: Пролет луча слева направо */
        @keyframes sweep {
            0% { background-position: 100% center; }
            25% { background-position: 0% center; } 
            100% { background-position: 0% center; } 
        }

        .animate-sweep {
            animation: sweep 6s linear infinite;
        }

        /* КАСКАДНЫЕ ЗАДЕРЖКИ */
        .sweep-1 { animation-delay: 0s; }     
        .sweep-2 { animation-delay: 0.8s; }   
        .sweep-3 { animation-delay: 1.6s; }   

        /* Тень для белого текста на кнопке */
        .text-shadow-gold {
            text-shadow: 0px 1px 3px rgba(0, 0, 0, 0.35);
        }

/* ---- */

/* Базовые настройки для шрифтов */
        @import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700;800&display=swap');
        .font-main { font-family: 'Open Sans', sans-serif; }

        /* ЕДИНЫЙ ГРАДИЕНТ ДЛЯ ВСЕХ ЭЛЕМЕНТОВ (Исправлено и изолировано) */
        .theme-gradient {
            background-image: linear-gradient(
                -75deg,
                #BF953F 0%,
                #BF953F 35%,
                #FBF5B7 47%,
                #FFFFFF 50%,
                #FBF5B7 53%,
                #BF953F 65%,
                #BF953F 100%
            );
            background-size: 300% auto;
            background-position: 100% center;
        }

        .shine-text {
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            color: transparent;
        }

        @keyframes sweep {
            0% { background-position: 100% center; }
            25% { background-position: 0% center; } 
            100% { background-position: 0% center; } 
        }

        .animate-sweep {
            animation: sweep 6s linear infinite;
        }

        /* Тень для белого текста на кнопке */
        .text-shadow-gold {
            text-shadow: 0px 1px 3px rgba(0, 0, 0, 0.35);
        }

/* ---- */

/* Подключаем базовый шрифт и изящный шрифт с засечками для заголовка */
        
        .font-main { font-family: 'Open Sans', sans-serif; }
        .font-serif-title { font-family: 'Playfair Display', serif; }

        /* Стили золотого перелива для элементов */
        .theme-gradient {
            background-image: linear-gradient(
                -75deg,
                #BF953F 0%,
                #BF953F 35%,
                #FBF5B7 47%,
                #FFFFFF 50%,
                #FBF5B7 53%,
                #BF953F 65%,
                #BF953F 100%
            );
            background-size: 300% auto;
            background-position: 100% center;
        }

        @keyframes sweep {
            0% { background-position: 100% center; }
            25% { background-position: 0% center; } 
            100% { background-position: 0% center; } 
        }

        .animate-sweep {
            animation: sweep 6s linear infinite;
        }

        /* Тень для белого текста */
        .text-shadow-gold {
            text-shadow: 0px 1px 3px rgba(0, 0, 0, 0.35);
        }

        /* Анимированная золотая рамка вокруг карточек */
        .gold-border-animated {
            position: relative;
            border-radius: 20px;
            padding: 2px; /* Толщина рамки */
            overflow: hidden;
            z-index: 1;
        }
        
        .gold-border-animated::before {
            content: '';
            position: absolute;
            top: -50%;
            left: -50%;
            width: 200%;
            height: 200%;
            /* Создаем вращающийся луч света */
            background: conic-gradient(
                from 0deg,
                #BF953F 0%,
                #BF953F 60%,
                #FBF5B7 80%,
                #FFFFFF 90%,
                #FBF5B7 95%,
                #BF953F 100%
            );
            animation: rotateBorder 4s linear infinite;
            z-index: -1;
        }
        
        .gold-border-inner {
            background: #fff;
            border-radius: 18px; /* Внутреннее скругление, чтобы рамка была ровной */
            height: 100%;
            display: flex;
            flex-direction: column;
            overflow: hidden;
        }

        @keyframes rotateBorder {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }

/* ---- */

        
        .font-main { font-family: 'Open Sans', sans-serif; }
        .font-serif-title { font-family: 'Playfair Display', serif; }

        /* Уникальные классы для квиза с префиксом quiz- */
        .quiz-gradient {
            background-image: linear-gradient(-75deg, #BF953F 0%, #BF953F 35%, #FBF5B7 47%, #FFFFFF 50%, #FBF5B7 53%, #BF953F 65%, #BF953F 100%);
            background-size: 300% auto;
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

        @keyframes quiz-sweep {
            0% { background-position: 100% center; }
            100% { background-position: -100% center; } 
        }

        .quiz-animate-sweep {
            animation: quiz-sweep 6s linear infinite;
        }

/* ---- */

        
        .font-main { font-family: 'Open Sans', sans-serif; }
        .font-serif-title { font-family: 'Playfair Display', serif; }

        /* Убираем стандартный скроллбар для эстетики */
        .hide-scrollbar::-webkit-scrollbar {
            display: none;
        }
        .hide-scrollbar {
            -ms-overflow-style: none;
            scrollbar-width: none;
        }

        /* Плавная прокрутка и прилипание (Snap) */
        .snap-container {
            scroll-snap-type: x mandatory;
            scroll-behavior: smooth;
            -webkit-overflow-scrolling: touch;
        }
        .snap-item {
            scroll-snap-align: center;
        }

        /* ── Фикс: запрет выделения текста/картинок при drag в слайдере ── */
        #portfolio-slider {
            -webkit-user-select: none;
            -moz-user-select: none;
            user-select: none;
        }
        #portfolio-slider img {
            -webkit-user-drag: none;
            user-drag: none;
            pointer-events: none;
        }
        /* Курсор grabbing на весь документ во время drag */
        body.is-dragging,
        body.is-dragging * {
            cursor: grabbing !important;
            -webkit-user-select: none !important;
            -moz-user-select: none !important;
            user-select: none !important;
        }


        /* Анимированный золотой градиент для заголовка */
        .portfolio-gradient {
            background-image: linear-gradient(
                -75deg,
                #BF953F 0%,
                #BF953F 35%,
                #FBF5B7 47%,
                #FFFFFF 50%,
                #FBF5B7 53%,
                #BF953F 65%,
                #BF953F 100%
            );
            background-size: 300% auto;
            background-position: 100% center;
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            color: transparent;
        }

        @keyframes portf-sweep {
            0% { background-position: 100% center; }
            25% { background-position: 0% center; } 
            100% { background-position: 0% center; } 
        }

        .portfolio-animate-sweep {
            animation: portf-sweep 6s linear infinite;
        }

/* ---- */

        
        .font-main { font-family: 'Open Sans', sans-serif; }
        .font-serif-title { font-family: 'Playfair Display', serif; }

        /* Фирменный золотой градиент */
        .materials-gold-text {
            background: linear-gradient(to right, #BF953F, #FCF6BA, #B38728, #FBF5B7, #AA771C);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            color: transparent;
        }

        /* АНИМАЦИЯ БЕГУЩЕЙ СТРОКИ */
        @keyframes infiniteScroll {
            0% { transform: translateX(0); }
            100% { transform: translateX(-50%); } /* Сдвигаем ровно на половину дублированного списка */
        }

        .ticker-track {
            display: flex;
            width: max-content;
            animation: infiniteScroll 25s linear infinite;
            will-change: transform;
        }

        /* Остановка при наведении */
        .ticker-container:hover .ticker-track {
            animation-play-state: paused;
        }

        /* Стилизация и мягкое окрашивание векторных логотипов */
        .brand-logo-svg {
            height: 30px;
            width: auto;
            fill: #9ca3af; /* Базовый нейтральный серый */
            transition: all 0.4s ease;
        }

        /* Индивидуальные оригинальные цвета брендов при наведении */
        .logo-blum:hover { fill: #e30613; }
        .logo-egger:hover { fill: #004d43; }
        .logo-hettich:hover { fill: #002f6c; }
        .logo-rehau:hover { fill: #ff5000; }
        .logo-agt:hover { fill: #00a4e4; }
        .logo-alvic:hover { fill: #111111; }

/* ---- */

        
        .font-main { font-family: 'Open Sans', sans-serif; }
        .font-serif-title { font-family: 'Playfair Display', serif; }

        /* Золотой акцент */
        .conf-gold-text {
            background: linear-gradient(to right, #BF953F, #B38728);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            color: transparent;
        }

        /* Плавные переходы для радио-кнопок */
        .radio-card { transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); }

/* ---- */

        
        .font-main { font-family: 'Open Sans', sans-serif; }

        /* Изолированный фирменный градиент для логотипа в футере с оптимизацией */
        .ftr-gradient {
            background-image: linear-gradient(
                -75deg,
                #BF953F 0%,
                #BF953F 35%,
                #FBF5B7 47%,
                #FFFFFF 50%,
                #FBF5B7 53%,
                #BF953F 65%,
                #BF953F 100%
            );
            background-size: 300% auto;
            background-position: 100% center;
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            color: transparent;
            will-change: background-position; /* Аппаратное ускорение видеокарты */
        }

        @keyframes ftr-sweep {
            0% { background-position: 100% center; }
            25% { background-position: 0% center; } 
            100% { background-position: 0% center; } 
        }

        .ftr-animate-sweep {
            animation: ftr-sweep 6s linear infinite;
            animation-delay: 2s; /* Мягкий запуск через 2 секунды после полной загрузки */
            animation-fill-mode: backwards;
        }

        /* ПРИНУДИТЕЛЬНОЕ ПЕРЕОПРЕДЕЛЕНИЕ СТИЛЕЙ ССЫЛОК ТИЛЬДЫ */
        .ftr-link-gray {
            color: #9ca3af !important;
            text-decoration: none !important;
            transition: color 0.3s ease !important;
        }
        .ftr-link-gray:hover {
            color: #ffffff !important;
        }

/* ---- */

