/*
* СуставПлюс - Основные стили сайта
* Монохроматическая цветовая схема на основе #99e635
*/

/* Основные переменные */
:root {
    --base-color: #99e635;
    --base-color-dark: #78b327;
    --base-color-darker: #5c8c1e;
    --base-color-light: #b1eb64;
    --base-color-lighter: #c9f290;
    --bg-color: #f9fdf4;
    --text-color: #333333;
    --text-light: #666666;
    --heading-color: #2c4411;
    --border-color: #e0e0e0;
    --spacing-unit: 1rem;
    --container-max: 1200px;
    --section-spacing: 5rem;
    --heading-font: 'Playfair Display', serif;
    --body-font: 'Source Sans Pro', sans-serif;
}

/* Сброс стилей */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* Основные стили */
html {
    font-size: 16px;
    scroll-behavior: smooth;
}

body {
    background-color: var(--bg-color);
    color: var(--text-color);
    font-family: var(--body-font);
    font-size: 1rem;
    line-height: 1.6;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--heading-color);
    font-family: var(--heading-font);
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: var(--spacing-unit);
}

h1 {
    font-size: 2.5rem;
}

h2 {
    font-size: 2rem;
}

h3 {
    font-size: 1.75rem;
}

h4 {
    font-size: 1.5rem;
}

h5 {
    font-size: 1.25rem;
}

p {
    margin-bottom: var(--spacing-unit);
}

a {
    color: var(--base-color-darker);
    text-decoration: none;
    transition: color 0.3s ease;
}

a:hover,
a:focus {
    color: var(--base-color-dark);
    outline: none;
    text-decoration: underline;
}

a:focus {
    box-shadow: 0 0 0 3px var(--base-color-light);
    outline: none;
}

img {
    display: block;
    height: auto;
    max-width: 100%;
    border-radius: 15px;
}

/* Контейнеры */
.containerMain {
    margin-left: auto;
    margin-right: auto;
    max-width: var(--container-max);
    padding-left: var(--spacing-unit);
    padding-right: var(--spacing-unit);
    width: 100%;
}

/* Заголовки секций */
.sectionHeading {
    margin-bottom: calc(var(--spacing-unit) * 2);
    text-align: center;
}

.sectionTitle {
    margin-bottom: calc(var(--spacing-unit) / 2);
}

.accentBar {
    background-color: var(--base-color);
    height: 4px;
    margin: 0 auto;
    width: 80px;
}

/* Колонки контента */
.contentColumns {
    display: flex;
    flex-wrap: wrap;
    gap: calc(var(--spacing-unit) * 2);
}

.mainColumn {
    flex: 3;
}

.secondaryColumn {
    flex: 2;
}

/* Хедер */
#mainHeader {
    background-color: rgba(255, 255, 255, 0.95);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    padding: var(--spacing-unit) 0;
    position: sticky;
    top: 0;
    transition: all 0.3s ease;
    z-index: 1000;
}

#mainHeader.scrolled {
    background-color: rgba(249, 253, 244, 0.98);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    padding: calc(var(--spacing-unit) / 2) 0;
}

.logoContainer {
    display: flex;
    justify-content: center;
    margin-bottom: var(--spacing-unit);
}

.logoLink {
    color: var(--base-color-darker);
    font-family: var(--heading-font);
    font-size: 1.8rem;
    font-weight: 700;
    text-decoration: none;
}

.mainNav {
    display: flex;
    justify-content: center;
}

.navList {
    display: flex;
    justify-content: center;
    list-style: none;
}

.navItem {
    margin: 0 calc(var(--spacing-unit) / 2);
}

.navLink {
    border-bottom: 2px solid transparent;
    color: var(--text-color);
    display: block;
    font-weight: 600;
    padding: 0.5rem;
    text-decoration: none;
    transition: all 0.3s ease;
}

.navLink:hover,
.navLink:focus {
    border-bottom-color: var(--base-color);
    color: var(--base-color-darker);
    text-decoration: none;
}

/* Мобильное меню */
.navbarToggler {
    background-color: transparent;
    border: none;
    cursor: pointer;
    display: none;
    outline: none;
    padding: 0.5rem;
}

.togglerIcon {
    background-color: var(--text-color);
    display: block;
    height: 2px;
    margin: 5px 0;
    transition: all 0.3s ease;
    width: 25px;
}

.navbarCollapse {
    display: none;
}

.mobileNavList {
    list-style: none;
    text-align: center;
}

.mobileNavItem {
    border-bottom: 1px solid var(--border-color);
    padding: 0.5rem 0;
}

.mobileNavLink {
    color: var(--text-color);
    display: block;
    font-weight: 600;
    padding: 0.5rem;
    text-decoration: none;
}

/* Кнопки */
.primaryButton {
    background: linear-gradient(to right, var(--base-color), var(--base-color-dark));
    border: none;
    color: white;
    cursor: pointer;
    display: inline-block;
    font-size: 1rem;
    font-weight: 600;
    padding: 0.75rem 1.5rem;
    text-align: center;
    text-decoration: none;
    transition: all 0.3s ease;
}

.primaryButton:hover,
.primaryButton:focus {
    background: linear-gradient(to right, var(--base-color-dark), var(--base-color-darker));
    color: white;
    text-decoration: none;
    transform: translateY(-2px);
}

.secondaryButton {
    background-color: transparent;
    border: 2px solid var(--base-color);
    color: var(--base-color-darker);
    cursor: pointer;
    display: inline-block;
    font-size: 1rem;
    font-weight: 600;
    padding: 0.75rem 1.5rem;
    text-align: center;
    text-decoration: none;
    transition: all 0.3s ease;
}

.secondaryButton:hover,
.secondaryButton:focus {
    background-color: var(--base-color-light);
    color: var(--base-color-darker);
    text-decoration: none;
}

/* Hero секция */
.heroSection {
    background-color: var(--bg-color);
    height: 60vh;
    padding: calc(var(--spacing-unit) * 2) 0;
}

.heroContainer {
    display: flex;
    justify-content: space-between;
    height: 100%;
    margin-left: auto;
    margin-right: auto;
    max-width: var(--container-max);
    padding-left: var(--spacing-unit);
    padding-right: var(--spacing-unit);
}

.heroContent,
.heroImage {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 47%;
}

.heroTitle {
    font-size: 2.5rem;
    margin-bottom: calc(var(--spacing-unit) * 1.5);
}

.heroDescription {
    font-size: 1.25rem;
    margin-bottom: calc(var(--spacing-unit) * 2);
}

.heroImg {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

/* Секция О специалисте */
.aboutSection {
    background-color: white;
    padding: var(--section-spacing) 0;
}

.aboutText {
    margin-bottom: calc(var(--spacing-unit) * 1.5);
}

.specialistCard {
    background-color: var(--bg-color);
    border-radius: 4px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.specialistImage {
    height: auto;
    width: 100%;
}

.specialistInfo {
    padding: calc(var(--spacing-unit) * 1.5);
}

.specialistName {
    margin-bottom: calc(var(--spacing-unit) / 2);
}

.specialistTitle {
    color: var(--text-light);
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
}

.specialistCredentials {
    color: var(--base-color-darker);
    font-size: 0.875rem;
    font-weight: 600;
}

/* Секция Рекомендации */
.tipsSection {
    background-color: var(--bg-color);
    padding: var(--section-spacing) 0;
}

.tipsGrid {
    display: grid;
    gap: calc(var(--spacing-unit) * 2);
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}

.tipCard {
    background-color: white;
    border-radius: 4px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    display: flex;
    flex-direction: column;
    padding: calc(var(--spacing-unit) * 1.5);
    transform: translateY(20px);
    transition: all 0.5s ease;
}

.tipCard.visible {
    opacity: 1;
    transform: translateY(0);
}

.tipIcon {
    align-items: center;
    background-color: var(--base-color-lighter);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    margin: 0 auto calc(var(--spacing-unit) * 1.5);
}


.tipTitle {
    margin-bottom: calc(var(--spacing-unit));
    text-align: center;
}

.tipDescription {
    color: var(--text-light);
    text-align: center;
}

/* Секция Услуги */
.servicesSection {
    background-color: white;
    padding: var(--section-spacing) 0;
}

.servicesGrid {
    display: grid;
    gap: calc(var(--spacing-unit) * 2);
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}

.serviceCard {
    background-color: var(--bg-color);
    border-radius: 4px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    display: flex;
    flex-direction: column;
    padding: calc(var(--spacing-unit) * 1.5);
    text-align: center;
    transform: translateY(20px);
    transition: all 0.5s ease;
}

.serviceCard.visible {
    opacity: 1;
    transform: translateY(0);
}

.serviceIcon {
    align-items: center;
    background-color: var(--base-color-lighter);
    border-radius: 50%;
    display: flex;
    height: 80px;
    justify-content: center;
    margin: 0 auto calc(var(--spacing-unit) * 1.5);
    width: 80px;
}

.serviceTitle {
    margin-bottom: calc(var(--spacing-unit));
}

.serviceDescription {
    color: var(--text-light);
    flex-grow: 1;
    margin-bottom: calc(var(--spacing-unit) * 1.5);
}

.servicePrice {
    color: var(--base-color-darker);
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: calc(var(--spacing-unit));
}

/* Секция Отзывы */
.reviewsSection {
    background-color: var(--bg-color);
    padding: var(--section-spacing) 0;
}

.reviewsSlider {
    display: flex;
    flex-wrap: wrap;
    gap: calc(var(--spacing-unit) * 2);
    justify-content: center;
}

.reviewCard {
    background-color: white;
    border-left: 4px solid var(--base-color);
    border-radius: 4px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    max-width: 500px;
    padding: calc(var(--spacing-unit) * 1.5);
    transform: translateY(20px);
    transition: all 0.5s ease;
    width: 100%;
}

.reviewCard.visible {
    opacity: 1;
    transform: translateY(0);
}

.reviewText {
    color: var(--text-light);
    font-style: italic;
    margin-bottom: calc(var(--spacing-unit) * 1.5);
}

.reviewAuthor {
    align-items: center;
    display: flex;
    flex-direction: column;
}

.authorName {
    color: var(--heading-color);
    font-size: 1.1rem;
    font-weight: 600;
}

.authorInfo {
    color: var(--text-light);
    font-size: 0.875rem;
}

/* Секция Контакты */
.contactSection {
    background-color: white;
    padding: var(--section-spacing) 0;
}

.contactForm {
    margin-bottom: calc(var(--spacing-unit) * 2);
}

.formGroup {
    margin-bottom: calc(var(--spacing-unit) * 1.5);
}

.formLabel {
    color: var(--heading-color);
    display: block;
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.requiredField {
    color: #e74c3c;
    margin-left: 0.25rem;
}

.formInput,
.formTextarea {
    background-color: var(--bg-color);
    border: 2px solid var(--border-color);
    border-radius: 4px;
    color: var(--text-color);
    font-family: var(--body-font);
    font-size: 1rem;
    padding: 0.75rem;
    transition: all 0.3s ease;
    width: 100%;
}

.formInput:focus,
.formTextarea:focus {
    border-color: var(--base-color);
    box-shadow: 0 0 0 3px var(--base-color-light);
    outline: none;
}

.formTextarea {
    min-height: 150px;
    resize: vertical;
}

.contactInfo {
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing-unit) * 1.5);
}

.contactItem {
    align-items: flex-start;
    display: flex;
    gap: calc(var(--spacing-unit));
}

.contactIcon {
    align-items: center;
    background-color: var(--base-color-lighter);
    border-radius: 50%;
    display: flex;
    flex-shrink: 0;
    height: 50px;
    justify-content: center;
    width: 50px;
}

.contactTitle {
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
}

.contactDetail {
    color: var(--text-light);
    margin: 0;
}

/* Footer */
.mainFooter {
    background-color: var(--base-color-darker);
    color: white;
}

.footerMain {
    padding: calc(var(--section-spacing) / 1.5) 0;
    position: relative;
}

.footerMain::before {
    background-color: rgba(92, 140, 30, 0.9);
    bottom: 0;
    content: '';
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}

.footerColumns {
    display: flex;
    flex-wrap: wrap;
    gap: calc(var(--spacing-unit) * 2);
    position: relative;
    z-index: 1;
}

.footerColumn {
    flex: 1;
    min-width: 250px;
}

.footerLogo {
    color: white;
    font-family: var(--heading-font);
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: calc(var(--spacing-unit));
}

.footerDescription {
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: calc(var(--spacing-unit));
}

.footerHeading {
    color: white;
    font-size: 1.25rem;
    margin-bottom: calc(var(--spacing-unit));
    position: relative;
}

.footerHeading::after {
    background-color: var(--base-color);
    bottom: -10px;
    content: '';
    height: 3px;
    left: 0;
    position: absolute;
    width: 50px;
}

.footerNavList {
    list-style: none;
}

.footerNavItem {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding: 0.5rem 0;
}

.footerNavLink {
    color: rgba(255, 255, 255, 0.8);
    transition: all 0.3s ease;
}

.footerNavLink:hover,
.footerNavLink:focus {
    color: white;
    padding-left: 5px;
    text-decoration: none;
}

.footerAddress {
    color: rgba(255, 255, 255, 0.8);
    font-style: normal;
}

.addressItem {
    margin-bottom: 0.5rem;
}

.addressItem:last-child {
    margin-bottom: 0;
}

.footerBottom {
    background-color: var(--base-color-darker);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding: calc(var(--spacing-unit)) 0;
}

.copyrightText {
    color: rgba(255, 255, 255, 0.8);
    margin: 0;
    text-align: center;
}

/* Cookie Banner */
.cookieBanner {
    background-color: rgba(51, 51, 51, 0.95);
    bottom: -100%;
    box-shadow: 0 -4px 15px rgba(0, 0, 0, 0.1);
    color: white;
    display: flex;
    flex-wrap: wrap;
    gap: calc(var(--spacing-unit));
    justify-content: space-between;
    left: 0;
    padding: calc(var(--spacing-unit) * 1.5);
    position: fixed;
    right: 0;
    transition: bottom 0.5s ease;
    z-index: 1050;
}

.cookieBanner.show {
    bottom: 0;
}

.cookieContent {
    flex: 1;
    min-width: 300px;
}

.cookieText {
    margin: 0;
}

.textWhite {
    color: white;
    text-decoration: underline;
}

.btnDark {
    background-color: white;
    border: none;
    color: var(--base-color-darker);
    cursor: pointer;
    font-size: 1rem;
    font-weight: 600;
    padding: 0.75rem 1.5rem;
    transition: all 0.3s ease;
}

.btnDark:hover,
.btnDark:focus {
    background-color: var(--base-color-light);
}

/* Адаптивный дизайн */
@media (max-width: 1024px) {
    :root {
        --section-spacing: 4rem;
    }

    .heroTitle {
        font-size: 2rem;
    }
}

@media (max-width: 768px) {
    :root {
        --section-spacing: 3rem;
    }

    .navList {
        display: none;
    }

    .navbarToggler {
        display: block;
        position: absolute;
        right: var(--spacing-unit);
        top: var(--spacing-unit);
    }

    .navbarCollapse.show {
        display: block;
    }

    .heroContainer {
        flex-direction: column;
    }

    .heroContent,
    .heroImage {
        text-align: center;
        width: 100%;
    }

    .heroContent {
        order: 1;
        padding: calc(var(--spacing-unit) * 2) 0;
    }

    .heroImage {
        order: 0;
    }

    .contentColumns {
        flex-direction: column;
    }

    .mainColumn,
    .secondaryColumn {
        width: 100%;
    }
}

@media (max-width: 576px) {
    :root {
        --section-spacing: 2.5rem;
    }

    h1 {
        font-size: 2rem;
    }

    h2 {
        font-size: 1.75rem;
    }

    .tipsGrid,
    .servicesGrid {
        grid-template-columns: 1fr;
    }
}

/* Анимации */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animated {
    animation: fadeIn 0.5s ease forwards;
}

/* Индивидуальные стили сайта */
.SPjs-focusVisible {
    outline: none;
    box-shadow: 0 0 0 3px var(--base-color);
}

::-webkit-scrollbar {
    height: 8px;
    width: 8px;
}

::-webkit-scrollbar-track {
    background: var(--bg-color);
}

::-webkit-scrollbar-thumb {
    background: var(--base-color-light);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--base-color);
}

/* Дополнительные стили для страницы услуг */

/* Основной контейнер услуг */
.servicesDetailedSection {
    background-color: white;
    padding: var(--section-spacing) 0;
}

/* Элементы услуг */
.serviceDetailedItem {
    border-bottom: 1px solid var(--border-color);
    margin-bottom: calc(var(--spacing-unit) * 3);
    padding-bottom: calc(var(--spacing-unit) * 3);
}

.serviceDetailedItem:last-child {
    border-bottom: none;
}

/* Заголовки услуг */
.serviceDetailedTitle {
    color: var(--base-color-darker);
    margin-bottom: calc(var(--spacing-unit));
}

/* Описание услуги */
.serviceDetailedDescription {
    color: var(--text-light);
    font-size: 1.1rem;
    margin-bottom: calc(var(--spacing-unit) * 1.5);
}

/* Контейнер для возможностей услуги */
.serviceDetailedFeatures {
    background-color: var(--bg-color);
    border-left: 4px solid var(--base-color);
    margin-bottom: calc(var(--spacing-unit) * 2);
    padding: calc(var(--spacing-unit) * 1.5);
}

/* Заголовок списка возможностей */
.featureListTitle {
    color: var(--base-color-darker);
    font-size: 1.25rem;
    margin-bottom: calc(var(--spacing-unit));
}

/* Список возможностей */
.featureList {
    margin-left: calc(var(--spacing-unit) * 1.5);
}

.featureItem {
    color: var(--text-color);
    margin-bottom: calc(var(--spacing-unit) / 2);
}

.featureItem:last-child {
    margin-bottom: 0;
}

/* Контейнер для CTA блока */
.serviceDetailedCta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: calc(var(--spacing-unit));
}

/* Тег цены */
.servicePriceTag {
    color: var(--text-color);
    font-size: 1.1rem;
    margin: 0;
}

/* Выделение цены */
.priceHighlight {
    color: var(--base-color-darker);
    font-size: 1.25rem;
    font-weight: 700;
}

/* Контейнер для изображения услуги */
.serviceImageContainer {
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

/* Изображение услуги */
.serviceDetailedImage {
    display: block;
    height: auto;
    transition: transform 0.3s ease;
    width: 100%;
}

.serviceImageContainer:hover .serviceDetailedImage {
    transform: scale(1.05);
}

/* Обратный порядок колонок */
.contentReverse {
    flex-direction: row-reverse;
}

/* Дополнительные услуги */
.additionalServicesSection {
    margin-top: calc(var(--spacing-unit) * 4);
}

/* Секция FAQ */
.faqSection {
    background-color: var(--bg-color);
    padding: var(--section-spacing) 0;
}

/* Контейнер FAQ */
.faqContainer {
    margin: 0 auto;
    max-width: 800px;
}

/* Элемент FAQ */
.faqItem {
    background-color: white;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    margin-bottom: calc(var(--spacing-unit));
    overflow: hidden;
}

/* Вопрос FAQ */
.faqQuestion {
    align-items: center;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    padding: calc(var(--spacing-unit) * 1.25);
    transition: background-color 0.3s ease;
}

.faqQuestion:hover {
    background-color: var(--bg-color);
}

/* Текст вопроса */
.questionText {
    color: var(--heading-color);
    font-size: 1.2rem;
    margin: 0;
}

/* Переключатель */
.questionToggle {
    background-color: var(--base-color-light);
    border-radius: 50%;
    color: var(--base-color-darker);
    font-size: 1.5rem;
    font-weight: 700;
    height: 30px;
    line-height: 26px;
    text-align: center;
    width: 30px;
}

/* Ответ FAQ */
.faqAnswer {
    background-color: var(--bg-color);
    max-height: 0;
    overflow: hidden;
    padding: 0 calc(var(--spacing-unit) * 1.25);
    transition: max-height 0.3s ease, padding 0.3s ease;
}

.faqItem.active .faqAnswer {
    padding: calc(var(--spacing-unit) * 1.25);
}

/* Секция CTA */
.ctaSection {
    background: linear-gradient(to right, var(--base-color-darker), var(--base-color-dark));
    color: white;
    padding: calc(var(--section-spacing) / 1.5) 0;
}

.ctaContainer {
    text-align: center;
}

.ctaTitle {
    color: white;
    font-size: 2rem;
    margin-bottom: calc(var(--spacing-unit));
}

.ctaDescription {
    color: rgba(255, 255, 255, 0.9);
    font-size: 1.2rem;
    margin: 0 auto calc(var(--spacing-unit) * 2);
    max-width: 800px;
}

.ctaButtons {
    display: flex;
    gap: calc(var(--spacing-unit));
    justify-content: center;
}

.ctaButtons .secondaryButton {
    background-color: transparent;
    border-color: white;
    color: white;
}

.ctaButtons .secondaryButton:hover {
    background-color: rgba(255, 255, 255, 0.2);
}

/* Адаптивный дизайн */
@media (max-width: 1024px) {
    .ctaTitle {
        font-size: 1.8rem;
    }

    .ctaDescription {
        font-size: 1.1rem;
    }
}

@media (max-width: 768px) {
    .contentReverse {
        flex-direction: column;
    }

    .serviceDetailedCta {
        flex-direction: column;
        align-items: flex-start;
    }

    .serviceImageContainer {
        margin-bottom: calc(var(--spacing-unit) * 2);
    }

    .ctaButtons {
        flex-direction: column;
        width: 100%;
    }

    .ctaButtons .primaryButton,
    .ctaButtons .secondaryButton {
        width: 100%;
    }
}

@media (max-width: 576px) {
    .serviceDetailedTitle {
        font-size: 1.5rem;
    }

    .serviceDetailedDescription {
        font-size: 1rem;
    }

    .questionText {
        font-size: 1rem;
    }

    .ctaTitle {
        font-size: 1.5rem;
    }

    .ctaDescription {
        font-size: 1rem;
    }
}

/* Анимации появления */
.servicesHero {
    opacity: 0;
    animation: fadeIn 0.8s ease forwards;
}

.serviceDetailedItem {
    opacity: 0;
    animation: fadeIn 0.8s ease forwards;
    animation-delay: 0.2s;
}

.serviceDetailedItem:nth-child(2) {
    animation-delay: 0.4s;
}

.serviceDetailedItem:nth-child(3) {
    animation-delay: 0.6s;
}

.additionalServicesSection {
    opacity: 0;
    animation: fadeIn 0.8s ease forwards;
    animation-delay: 0.8s;
}

.faqContainer {
    opacity: 0;
    animation: fadeIn 0.8s ease forwards;
    animation-delay: 1s;
}

.ctaContainer {
    opacity: 0;
    animation: fadeIn 0.8s ease forwards;
    animation-delay: 1.2s;
}

/* Стили для страницы политики конфиденциальности */

/* Основная секция политики */
.privacySection {
    background-color: white;
    padding: calc(var(--section-spacing) / 1.5) 0 var(--section-spacing);
}

/* Контент политики */
.privacyContent {
    margin: 0 auto;
    max-width: 900px;
}

/* Блок последнего обновления */
.lastUpdated {
    border-bottom: 1px solid var(--border-color);
    color: var(--text-light);
    font-style: italic;
    margin-bottom: calc(var(--spacing-unit) * 2);
    padding-bottom: var(--spacing-unit);
    text-align: right;
}

/* Блок политики */
.privacyBlock {
    margin-bottom: calc(var(--spacing-unit) * 3);
}

/* Заголовок раздела политики */
.privacyHeading {
    border-bottom: 2px solid var(--base-color-light);
    color: var(--base-color-darker);
    font-size: 1.5rem;
    margin-bottom: calc(var(--spacing-unit) * 1.5);
    padding-bottom: calc(var(--spacing-unit) / 2);
}

/* Списки в политике */
.privacyList,
.contactList {
    margin: var(--spacing-unit) 0 var(--spacing-unit) calc(var(--spacing-unit) * 2);
}

.privacyList li,
.contactList li {
    margin-bottom: calc(var(--spacing-unit) / 2);
}

/* Ссылки в политике */
.privacyLink {
    border-bottom: 1px dashed var(--base-color);
    color: var(--base-color-darker);
    text-decoration: none;
    transition: all 0.3s ease;
}

.privacyLink:hover {
    border-bottom-style: solid;
}

/* Адаптивный дизайн */
@media (max-width: 768px) {
    .privacyHeading {
        font-size: 1.3rem;
    }

    .privacyList,
    .contactList {
        margin-left: var(--spacing-unit);
    }
}

@media (max-width: 576px) {
    .privacyHeading {
        font-size: 1.2rem;
    }

    .lastUpdated {
        text-align: left;
    }
}

/* Анимации появления */
.privacySection {
    animation: fadeIn 0.8s ease forwards;
}

.privacyBlock {
    opacity: 0;
    animation: fadeIn 0.5s ease forwards;
}

.privacyBlock:nth-child(2) {
    animation-delay: 0.1s;
}

.privacyBlock:nth-child(3) {
    animation-delay: 0.2s;
}

.privacyBlock:nth-child(4) {
    animation-delay: 0.3s;
}

.privacyBlock:nth-child(5) {
    animation-delay: 0.4s;
}

.privacyBlock:nth-child(6) {
    animation-delay: 0.5s;
}

.privacyBlock:nth-child(7) {
    animation-delay: 0.6s;
}

.privacyBlock:nth-child(8) {
    animation-delay: 0.7s;
}

.privacyBlock:nth-child(9) {
    animation-delay: 0.8s;
}

.privacyBlock:nth-child(10) {
    animation-delay: 0.9s;
}

.privacyBlock:nth-child(11) {
    animation-delay: 1s;
}

/* Стили для страницы политики использования файлов cookie */

/* Основная секция политики cookie */
.cookiesPolicySection {
    background-color: white;
    padding: calc(var(--section-spacing) / 1.5) 0 var(--section-spacing);
}

/* Контент политики cookie */
.cookiesPolicyContent {
    margin: 0 auto;
    max-width: 900px;
}

/* Блок последнего обновления */
.lastUpdated {
    border-bottom: 1px solid var(--border-color);
    color: var(--text-light);
    font-style: italic;
    margin-bottom: calc(var(--spacing-unit) * 2);
    padding-bottom: var(--spacing-unit);
    text-align: right;
}

/* Блок информации о cookie */
.cookiesBlock {
    margin-bottom: calc(var(--spacing-unit) * 3);
}

/* Заголовок раздела политики cookie */
.cookiesHeading {
    border-bottom: 2px solid var(--base-color-light);
    color: var(--base-color-darker);
    font-size: 1.5rem;
    margin-bottom: calc(var(--spacing-unit) * 1.5);
    padding-bottom: calc(var(--spacing-unit) / 2);
}

/* Подзаголовок раздела политики cookie */
.cookiesSubheading {
    color: var(--heading-color);
    font-size: 1.25rem;
    margin: calc(var(--spacing-unit) * 1.5) 0 var(--spacing-unit);
}

/* Списки в политике cookie */
.cookiesList,
.contactList {
    margin: var(--spacing-unit) 0 var(--spacing-unit) calc(var(--spacing-unit) * 2);
}

.cookiesList li,
.contactList li {
    margin-bottom: calc(var(--spacing-unit) / 2);
}

/* Адаптивный дизайн */
@media (max-width: 768px) {
    .cookiesHeading {
        font-size: 1.3rem;
    }

    .cookiesSubheading {
        font-size: 1.15rem;
    }

    .cookiesList,
    .contactList {
        margin-left: var(--spacing-unit);
    }
}

@media (max-width: 576px) {
    .cookiesHeading {
        font-size: 1.2rem;
    }

    .cookiesSubheading {
        font-size: 1.1rem;
    }

    .lastUpdated {
        text-align: left;
    }
}

/* Анимации появления */
.cookiesPolicySection {
    animation: fadeIn 0.8s ease forwards;
}

.cookiesBlock {
    opacity: 0;
    animation: fadeIn 0.5s ease forwards;
}

.cookiesBlock:nth-child(2) {
    animation-delay: 0.1s;
}

.cookiesBlock:nth-child(3) {
    animation-delay: 0.2s;
}

.cookiesBlock:nth-child(4) {
    animation-delay: 0.3s;
}

.cookiesBlock:nth-child(5) {
    animation-delay: 0.4s;
}

.cookiesBlock:nth-child(6) {
    animation-delay: 0.5s;
}

.cookiesBlock:nth-child(7) {
    animation-delay: 0.6s;
}

.cookiesBlock:nth-child(8) {
    animation-delay: 0.7s;
}

/* Стили для страницы благодарности */

/* Основная секция благодарности */
.thankYouSection {
    background-color: var(--bg-color);
    min-height: 70vh;
    padding: calc(var(--section-spacing) / 1.5) 0;
}

/* Контейнер благодарности */
.thankYouContainer {
    background-color: white;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    margin: 0 auto;
    max-width: 800px;
    padding: calc(var(--spacing-unit) * 3);
    text-align: center;
}

/* Иконка успеха */
.thankYouIcon {
    animation: scaleIn 0.5s ease-out;
    margin: 0 auto calc(var(--spacing-unit) * 2);
    width: 80px;
}

.iconSuccess {
    width: 100%;
}

/* Заголовок благодарности */
.thankYouTitle {
    animation: fadeIn 0.5s ease-out 0.2s both;
    color: var(--base-color-darker);
    font-size: 2.2rem;
    margin-bottom: calc(var(--spacing-unit) * 1.5);
}

/* Сообщение благодарности */
.thankYouMessage {
    animation: fadeIn 0.5s ease-out 0.3s both;
    color: var(--text-light);
    font-size: 1.1rem;
    margin: 0 auto calc(var(--spacing-unit) * 3);
    max-width: 600px;
}

/* Дополнительная информация */
.additionalInfo {
    animation: fadeIn 0.5s ease-out 0.4s both;
    background-color: var(--bg-color);
    border-radius: 6px;
    margin-bottom: calc(var(--spacing-unit) * 3);
    padding: calc(var(--spacing-unit) * 2);
    text-align: left;
}

/* Заголовок дополнительной информации */
.additionalTitle {
    color: var(--heading-color);
    font-size: 1.5rem;
    margin-bottom: calc(var(--spacing-unit) * 1.5);
    text-align: center;
}

/* Список следующих шагов */
.nextStepsList {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Элемент следующего шага */
.nextStep {
    animation: fadeIn 0.5s ease-out;
    border-bottom: 1px solid var(--border-color);
    display: flex;
    gap: calc(var(--spacing-unit) * 1.5);
    margin-bottom: calc(var(--spacing-unit) * 1.5);
    padding-bottom: calc(var(--spacing-unit) * 1.5);
}

.nextStep:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.nextStep:nth-child(1) {
    animation-delay: 0.5s;
}

.nextStep:nth-child(2) {
    animation-delay: 0.6s;
}

.nextStep:nth-child(3) {
    animation-delay: 0.7s;
}

/* Иконка шага */
.stepIcon {
    align-items: center;
    background-color: var(--base-color-light);
    border-radius: 50%;
    display: flex;
    flex-shrink: 0;
    height: 50px;
    justify-content: center;
    width: 50px;
}

.stepIconImg {
    height: 25px;
    width: 25px;
}

/* Содержание шага */
.stepContent {
    flex-grow: 1;
}

/* Заголовок шага */
.stepTitle {
    color: var(--heading-color);
    font-size: 1.2rem;
    margin-bottom: calc(var(--spacing-unit) / 2);
}

/* Текст шага */
.stepText {
    color: var(--text-light);
    margin: 0;
}

/* Встроенная ссылка */
.inlineLink {
    border-bottom: 1px dashed var(--base-color);
    color: var(--base-color-darker);
    text-decoration: none;
    transition: all 0.3s ease;
}

.inlineLink:hover {
    border-bottom-style: solid;
}

/* Кнопки CTA */
.ctaButtons {
    animation: fadeIn 0.5s ease-out 0.8s both;
    display: flex;
    gap: calc(var(--spacing-unit));
    justify-content: center;
}

/* Анимации */
@keyframes scaleIn {
    0% {
        opacity: 0;
        transform: scale(0);
    }
    70% {
        transform: scale(1.1);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

/* Адаптивный дизайн */
@media (max-width: 768px) {
    .thankYouContainer {
        padding: calc(var(--spacing-unit) * 2);
    }

    .thankYouTitle {
        font-size: 1.8rem;
    }

    .thankYouMessage {
        font-size: 1rem;
    }

    .nextStep {
        flex-direction: column;
        gap: var(--spacing-unit);
    }

    .stepIcon {
        margin: 0 auto;
    }

    .stepTitle {
        text-align: center;
    }

    .ctaButtons {
        flex-direction: column;
    }
}

@media (max-width: 576px) {
    .thankYouContainer {
        padding: var(--spacing-unit);
    }

    .thankYouTitle {
        font-size: 1.5rem;
    }

    .additionalTitle {
        font-size: 1.3rem;
    }
}