/* Основные стили */
body {
  margin: 0;
  font-family: 'Involve', sans-serif; /* Убедитесь, что шрифт подключен */
  background-color: #f5f5f5;
  color: #181e12;
}

div.modern-page-navigation{
margin: 0 auto;
text-align: center;
padding-top: 60px;

}
blockquote {
    margin: 0 25px 25px;
    padding: 15px;
    background: rgb(251, 251, 239);
}

.page-title {
  font-size: 32px;
  font-weight: 500;
  color: #303030;
  margin: 0 0 30px 0;
    margin-right: 0px;
    margin-left: 0px;
  max-width: 1240px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 0px;
  font-family: 'Inter Tight', sans-serif;
}

.catalog-header.catalog h1 {margin-top:0px;}
.modern-page-title {display:none;}
div.modern-page-navigation a, span.modern-page-current, div.modern-page-navigation a.modern-page-previous, span.modern-page-dots
{
color:#4F772D !important;
}
/* Контейнер для ограничения ширины контента */
.content-wrapper,
.container /* Для переиспользования в других разделах */
 {
  max-width: 1240px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0px;
  padding-right: 0px;
  box-sizing: border-box;
}

.header-container {
  max-width: 1500px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0px;
  padding-right: 0px;
  box-sizing: border-box;
}

/* Стили кнопок */
.btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 13px 28px;
  text-decoration: none;
  font-size: 15px;
  font-weight: 400;
  cursor: pointer;
  border: 1px solid transparent;
  transition: background-color 0.3s, color 0.3s, border-color 0.3s;
}




.btn-outline-light {
  background-color: rgba(24, 30, 18, 0.1);
  border: 1px solid #ffffff;
  color: #ffffff;
  backdrop-filter: blur(1px);
  padding: 16px 40px;
  font-size: 16px;
}

.btn-outline-light:hover {
  background-color: #7B9962;
  border: 1px solid #7B9962;
}

.btn-outline-dark {
  background-color: transparent;
  border: 1px solid #4f772d;
  color: #7B9962;
}

.btn-outline-dark:hover {
  background-color: #7B9962;
  border: 1px solid #7B9962;
  color: #ffffff;
}

.section-title {
  color: #181e12;
  font-size: 40px;
  font-weight: 600;
  line-height: 1.2;
}

.text-center {
  text-align: center;
}

/* Стили шапки */
.site-header {
    background-color: #ffffff;
    box-shadow: 0px 4px 6px 0px rgba(150, 150, 150, 0.25);
    position: sticky;
    top: 0;
    z-index: 100;
}

/* .header-container уже ограничен 1240px через .content-wrapper */
.header-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    height: 88px;
    /* Убираем padding, т.к. теперь элементы ограничены .header-container */
}

.logo {
    flex-shrink: 0;
}

.search-form {
    flex-grow: 1;
    position: relative;
    max-width: 377px;
}

.search-form input {
    width: 100%;
    height: 48px;
    border-bottom: 1px solid #8b8e88;
    padding-left: 0px;
    font-size: 15px;
    color: #8b8e88;
    box-sizing: border-box;
    border-top: none;
    border-left: none;
    border-right: none;
    background: transparent;
    font-family: 'Involve', sans-serif;
    transition: all 0.3s ease;
}

/* Убираем стандартную рамку при фокусе */
.search-form input:focus {
    outline: none; /* Это убирает черную рамку */
    border-bottom-color: #4F772D; /* Можете оставить или убрать, как вам нужно */
    color: #181E12;
}

/* Дополнительно можно убрать рамку в других браузерах */
.search-form input:focus-visible {
    outline: none;
}

.search-form input::placeholder {
    color: #8b8e88;
    opacity: 0.8;
}

.search-form input.error {
    border-bottom-color: #ff3333;
    animation: shake 0.5s ease;
}

@keyframes shake {
    0%, 100% { transform: translateX(0); }
    10%, 30%, 50%, 70%, 90% { transform: translateX(-5px); }
    20%, 40%, 60%, 80% { transform: translateX(5px); }
}

.search-form button {
    position: absolute;
    right: 0px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Также убираем рамку при фокусе на кнопке */
.search-form button:focus {
    outline: none;
}

/* Для мобильных устройств можно добавить */
@media (max-width: 768px) {
    .search-form input:focus {
        /* На мобильных иногда лучше оставить визуальную подсказку */
        border-bottom-color: #4F772D;
    }
}

.header-info {
    display: flex;
    align-items: center;
    gap: 32px;
    font-size: 15px;
    color: #8b8e88;
}

.location {
    display: flex;
    align-items: center;
    gap: 4px;
}

.phone {
    text-decoration: none;
    color: inherit;
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}










/* Основное меню - фон на всю ширину */
.main-nav {
    background-color: #8b8e88;
    width: 100%; /* Растягиваем на всю ширину экрана */
}

.main-nav ul {
    display: flex; /* Используем flexbox для равномерного распределения li */
    justify-content: center; /* Центрируем li внутри ul (опционально, если нужно центрировать) */
    list-style: none; /* Убираем маркеры списка */
    margin: 0;
    padding: 0;
    height: 48px;
    /* Ограничиваем ширину ul до 1240px, чтобы меню было внутри контентной области */
    max-width: 1240px;
    margin-left: auto; /* Центрируем ul внутри .main-nav */
    margin-right: auto;
    box-sizing: border-box;
}

.main-nav li {
   flex: 1; /* Каждый li занимает равную часть доступной ширины */
    /* Убираем padding с li, он будет на a */
    border-left: 1px solid #f0f0f2; /* Граница слева от каждого li */
    box-sizing: border-box; /* Включаем border в расчёт ширины */
}



.main-nav li a {
   display: flex; /* Делаем a flex-элементом для центрирования текста */
    align-items: center; /* Центрируем текст по вертикали */
    justify-content: center; /* Центрируем текст по горизонтали */
    height: 100%; /* Растягиваем a на всю высоту li */
    text-decoration: none; /* Убираем подчеркивание ссылки */
    color: #ffffff; /* Цвет текста */
    font-size: 15px; /* Размер шрифта */
    box-sizing: border-box; /* Включаем padding и border в расчёт ширины (хотя padding нет) */
}

.main-nav li a:hover {
    background-color: #181E12;
}

.main-nav li:last-child a {
    border-right: 1px solid #f0f0f2;
}

/* Сброс padding для ul и li в шаблоне меню */
.main-nav ul,
.main-nav li {
    margin: 0 auto;
    padding: 0;
}

/* Адаптивность (можно вынести в style-mobile.css) */
@media (max-width: 1200px) {
    .header-top {
        flex-wrap: wrap;
        height: auto;
        padding: 10px 20px;
    }

    .search-form {
        order: 3;
        width: 100%;
        max-width: 100%;
        margin-top: 10px;
    }

    .header-info, .header-actions {
        flex-grow: 1;
        justify-content: flex-end;
    }

    .main-nav li a {
        padding: 0 30px; /* Уменьшаем padding */
    }
}

@media (max-width: 768px) {
    .header-info, .header-actions {
        font-size: 12px;
        gap: 10px;
    }

    .header-actions .btn {
        padding: 8px 12px;
        font-size: 12px;
    }

    .main-nav {
        overflow-x: auto;
    }

    .main-nav ul {
        justify-content: flex-start;
    }

    .main-nav li a {
        padding: 0 20px;
        white-space: nowrap;
    }
}


.grey-content-wrapper {padding-top:0px;}
.client-form .faq-section {padding:0 0 80px 0;}
.grey-content-wrapper .partners-section {padding: 0 0 60px 0;}





.btn-catalog-main {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    height: 64px;
    padding: 10px 24px; 
    background-color: #1481DB;
    color: white;
    font-family: 'Bebas Neue Cyrillic', sans-serif;
    font-size: 24px;
    font-weight: 400;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    border: none; /* убираем рамку */
    border-radius: 0; /* если браузер добавляет скругление */
    line-height: 1.2; /* чтобы текст не "вылезал" */
    box-sizing: border-box;
}

/* Если нужно — hover-эффект (опционально) */
.btn-catalog-main:hover {
    background-color: #8AC0ED; /* немного темнее */
    color: white;
}



/* --- Остальные стили --- */

/* ... (все остальные стили как есть) ... */

/* --- Адаптивность (можно в style-mobile.css) --- */
@media (max-width: 768px) {
    .hero-section {
        height: 500px; /* Уменьшаем высоту для мобильных */
    }

    .hero-content-wrapper {
        padding: 0 40px; /* Уменьшаем отступы */
    }

    .hero-title {
        font-size: 36px; /* Уменьшаем размер шрифта */
        margin-bottom: 24px;
    }

    .hero-subtitle {
        font-size: 18px; /* Уменьшаем размер шрифта */
        margin-bottom: 48px;
    }
}

@media (max-width: 480px) {
    .hero-content-wrapper {
        padding: 0 20px; /* Еще меньше отступов */
    }

    .hero-title {
        font-size: 28px; /* Еще меньше шрифт */
    }

    .hero-subtitle {
        font-size: 16px; /* Еще меньше шрифт */
    }
}

/* --- Остальные стили --- */

/* ... (все остальные стили как есть) ... */

.services-section {

        padding: 48px 0;

    }

.btn-all {
	padding:17px 42px !important;

}
.btn-all:hover {
background-color: #7B9962;
border: 1px solid #7B9962;
}
    .services-section .container {
        padding-left: 0px;
        padding-right: 0px;
    }

    .services-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 0px;
    }
    .services-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
    }

    .service-card {
        position: relative;
        width: 400px;
        height: 300px;
        overflow: hidden;
    }


/* Псевдоэлемент для градиента, покрывающего всё изображение */
.service-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* Начальный фон: прозрачный */
    background: transparent;
    /* Добавляем transition для плавного появления градиента */
    transition: background 1.3s ease;
    /* Убедимся, что градиент под изображением и оверлеем */
    z-index: 1; /* Ниже чем .service-card-overlay и .service-card-arrow */
    pointer-events: none; /* Чтобы не мешал кликам */
}

    .service-card-img {

        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.9s ease;

    }

    .service-card:hover .service-card-img {

        transform: scale(1.1);

    }

 .service-card-overlay {
    position: absolute;
    bottom: 0; /* Прижимаем к низу .service-card */
    left: 0;
    width: 100%;
    padding: 20px;
    box-sizing: border-box;
    /* --- ИЗМЕНЕНО: Убрана transition для background, так как она теперь у псевдоэлемента --- */
    /* transition: background 0.3s ease; - УБРАНО */
    /* -------------------------------------------------------------- */
    /* --- ИЗМЕНЕНО: background всегда прозрачный --- */
    background: transparent; /* Всегда прозрачный фон */
    /* -------------------------------------------------------------- */
    display: flex;
    justify-content: space-between; /* Распределяем заголовок и стрелку */
    align-items: flex-end; /* Выравниваем по низу */
    /* Увеличиваем z-index, чтобы оверлей был поверх градиента */
    z-index: 2; /* Выше чем .service-card::before */
}

    .service-card-title {
        color: #ffffff;
        font-size: 18px;
        font-weight: 500;
        margin: 0;
    }

/* Стили для стрелки */
.service-card-arrow {
    position: absolute;
    /* Позиционируем в правом верхнем углу */
    top: 20px; /* Отступ от верха */
    right: 20px; /* Отступ от правого края */
    width: 79px; /* Ширина области стрелки */
    height: 79px; /* Высота области стрелки */
    display: flex; /* Используем flex для центрирования изображения внутри */
    align-items: center; /* Центрируем по вертикали */
    justify-content: center; /* Центрируем по горизонтали */
    /* Добавляем transition для плавной анимации трансформации */
    transition: transform 0.9s ease, opacity 0.3s ease;
    overflow: hidden;
	opacity: 0;
	  
}

.service-card-arrow-img {
    /* Убедимся, что изображение не выходит за границы контейнера */
    max-width: 100%;
    max-height: 100%;
    /* Убираем стандартные отступы и т.д. */
    display: block;
    /* Убираем pointer-events, чтобы клики проходили через изображение к ссылке */
    pointer-events: none;
	 /* transition: opacity 0.3s ease; */
	 transform: rotate(-90deg);
}

.service-card-link:hover .service-card-arrow {
    /* Поворачиваем стрелку на 90 градусов по часовой стрелке */
    transform: rotate(90deg);
	 opacity: 1;
}

.service-card-link:hover .service-card::before {
    /* Показываем градиент на ВСЁЙ карточке */
    background: linear-gradient(180deg, rgba(24, 30, 18, 0) 0%, rgba(24, 30, 18, 0.7) 100%);
}

.service-card-link:hover .service-card-overlay {
    /* Показываем градиент */
    background: linear-gradient(180deg, rgba(24, 30, 18, 0) 0%, rgba(24, 30, 18, 0.7) 100%);
}



    .service-card:hover .service-card-arrow div {

        opacity: 1 !important;

    }

    @media (max-width: 1400px) {

        .services-section .container {

            padding-left: 20px;

            padding-right: 20px;

        }

        .services-grid {

            grid-template-columns: repeat(2, 1fr);

            justify-items: center;

        }

        .service-card {

            width: 100%;

        }

    }

    @media (max-width: 768px) {

        .services-header {

            flex-direction: column;

            align-items: flex-start;

            gap: 20px;

        }

        .services-grid {

            grid-template-columns: 1fr;

        }
		
		 .service-card-arrow {
        top: 10px; /* Меньше отступ сверху */
        right: 10px; /* Меньше отступ справа */
        width: 50px; /* Меньше размер области */
        height: 50px; /* Меньше размер области */
    }

    }







/* Добавьте в style.css, если нет */
.service-card-link {
    text-decoration: none; /* Убираем подчеркивание ссылки */
    color: inherit; /* Наследуем цвет текста от родителя */
    display: block; /* Делаем ссылку блочным элементом */
}

/* Убедитесь, что :hover на .service-card работает корректно при наведении на ссылку */
.service-card-link:hover .service-card-img {
    transform: scale(1.1);
}

.service-card-link:hover .service-card-arrow {
    /* opacity: 1; или visibility: visible; */
    /* Покажите стрелку при наведении на карточку-ссылку */
}



/* --- Стили для CTA Form Section --- */

/*.cta-form-section {
    position: relative;
    background-color: #181e12;
    background-image: url('img/cta_bg.png');
    background-size: cover;
    background-position: left center;
    min-height: 530px;
    display: flex;
    align-items: center;
    justify-content: flex-end;

}

*/

.cta-form-section.partners {
 background-image: url('img/cta_bgp.png');
}

.cta-form-section.design {
 background-image: url('img/cta_bgd.png');
}


.cta-form-section.part, .cta-form-section.raspil {
 background-image: 
        linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
        url(img/cta_bgpp.png);
}

.cta-form-section-bottom {
    position: relative;
    background-color: #181e12;
    background-image: url('img/bg_form_bottom.png');
    background-size: cover;
    background-position: left c.enter;
    min-height: 530px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    max-width: 1240px;
    margin: 0 auto;
}

.cta-form-section-partner {
    position: relative;
    background-color: #181e12;
    background-image: url('img/bg_form_partner.png');
    background-size: cover;
    background-position: left c.enter;
    min-height: 530px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    max-width: 1240px;
    margin: 0 auto;
}


/*.cta-form-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
   
}

.cta-form-container {
    position: relative;
    z-index: 2; 
    width: 100%;
    max-width: 1520px;
    margin: 0 auto;
    padding: 60px 140px;
    box-sizing: border-box;
    display: flex;
    justify-content: flex-end;
}

.cta-form-container-bottom{
    position: relative;
    z-index: 2; 
    width: 100%;
    margin: 0 auto;
    padding: 60px 140px;
    box-sizing: border-box;
    display: flex;
    justify-content: flex-end;
}



.cta-form-content {
    width: 400px; 
    text-align: center;
}

.cta-form-title {
    color: #ffffff;
    font-size: 32px;
    font-weight: 500;
    margin: 0 0 32px 0;
}

.cta-form-subtitle {
    color: #ffffff;
    font-size: 16px;
    line-height: 1.33;
    margin: 0 0 32px 0;
}

.cta-form {
    display: flex;
    flex-direction: column;
    gap: 8px; 
}*/

.cta-form input[type="text"],
.cta-form input[type="tele"] {
    height: 48px;
    padding: 0 20px;
    border: none;
    background-color: #ffffff;
    font-size: 15px;
    color: #c5c6c3; /* Цвет текста в поле */
    box-sizing: border-box; /* Учитываем padding в ширине */
    width:400px !important;
}

/* Стили для кнопки "Отправить" (уже определены в .btn) */
/* .cta-form .btn { ... } */

.checkbox-container {
    display: flex;
    align-items: flex-start; /* Выравнивание по верхнему краю */
    gap: 10px; /* Отступ между чекбоксом и текстом */
    text-align: left; /* Выравнивание текста слева */
    margin: 16px 0; /* Отступ сверху и снизу */
	padding:0 32px;
}

.checkbox-container input[type="checkbox"] {
    margin-top: 2px; /* Маленький отступ сверху для выравнивания */
    width: 31px;
    height: 17px;
    border: 1px solid #c5c6c3;
    appearance: none; /* Сбрасываем стандартный стиль */
    background-color: transparent !important;
    cursor: pointer;
	border-radius: 4px;
}

.checkbox-container input[type="checkbox"]:checked { /* Стиль для отмеченного чекбокса */
    background-color: #4f772d; /* Цвет фона при выборе */
    border-color: #4f772d;
}

.checkbox-container input[type="checkbox"]:checked::after { /* Псевдоэлемент для галочки */
    content: '';
    position: relative;
    left: 4px;
    top: 1px;
    width: 4px;
    height: 8px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    display: block;
}
.bform {padding:16px 40px;}

.checkbox-container label {
    color: #c5c6c3;
    font-size: 12px;
    line-height: 1.33;
    font-weight: 500;
    cursor: pointer; /* Курсор указывает, что это кликабельно */
    flex-grow: 1; /* Позволяет тексту занимать доступное пространство */
}

/* --- Адаптивность для CTA Form Section --- */
@media (max-width: 992px) {
    .cta-form-section {
        background-position: center; /* Центрируем фон */
        justify-content: center; /* Центрируем контейнер */
    }

    /* .cta-form-section::before { /* При необходимости изменить градиент */
    /*     background: rgba(24, 30, 18, 0.8); */
    /* } */

    .cta-form-container {
        padding: 40px 20px; /* Уменьшаем отступы */
        justify-content: center; /* Центрируем контейнер */
    }

    .cta-form-content {
        width: 100%; /* Растягиваем форму на всю ширину */
        max-width: 400px; /* Ограничиваем максимальную ширину */
        text-align: center; /* Центрируем текст */
    }
}

:root{
    --icon-w : 43px;
    --icon-h : 44px;
    --green  : 77px;
    --gray   : 85px;
    --gray-h : 99px;
    --duration : .6s;
}

/* --- Стили для секции Спецпредложения (с горизонтальной анимацией смены слайдов) --- */

.promotions-section {
    position: relative;
    height: 530px;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    overflow: hidden;
}

/* Градиентный оверлей для всех слайдов */
.promotions-slide::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(270deg, rgba(24, 30, 18, 0) 0%, rgba(24, 30, 18, 0.8) 100%);
    z-index: 1;
}

.promotions-slides-container {
    width: 100%;
    height: 100%;
    position: relative;
}

.promotions-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    background-size: cover;
    background-position: center;
    align-items: center;
    justify-content: flex-start;
    /* Анимация смены слайдов */
    transition: transform 0.8s ease-in-out, opacity 0.8s ease-in-out;
    opacity: 0;
    transform: translateX(100%);
}

.promotions-slide.active {
    opacity: 1;
    transform: translateX(0);
    z-index: 2;
}

/* Слайд, который уходит влево */
.promotions-slide.leaving {
    opacity: 0;
    transform: translateX(-100%);
    z-index: 1;
}

.promotions-slide-content-wrapper {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1520px;
    margin: 0 auto;
    padding: 60px 105px;
    box-sizing: border-box;
}

.promotions-content {
    max-width: 658px;
    color: #ffffff;
}

.promotions-title {
    font-size: 32px;
    font-weight: 500;
    line-height: 1.24;
    margin: 0 0 32px 0;
}

.promotions-text {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.33;
    margin: 0 0 32px 0;
}

.promotions-slider-controls {
    position: absolute;
    right: 140px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.promotions-slider-nav-buttons {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.slider-nav-btn {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.3s ease;
}

.slider-nav-btn:hover {
    opacity: 0.7;
}

.slider-arrow-circle {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background-color: rgba(24, 30, 18, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s ease;
}

.slider-nav-btn:hover .slider-arrow-circle {
    background-color: #4f772d;
}

.slider-arrow-icon {
    width: 24px;
    height: 24px;
}

.slider-dots-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.slider-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: none;
    background-color: rgba(255, 255, 255, 0.25);
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.slider-dot.active {
    background-color: rgba(255, 255, 255, 0.5);
}

.slider-dot:hover {
    background-color: rgba(255, 255, 255, 0.5);
}


/* --- Адаптивность для секции Спецпредложения --- */
@media (max-width: 992px) {
    .promotions-slide-content-wrapper {
        padding: 40px;
    }

    .promotions-slider-controls {
        display: none;
    }

    .promotions-slide {
        justify-content: center;
        text-align: center;
    }

    .promotions-content {
        max-width: 100%;
        padding: 0 20px;
    }
}

@media (max-width: 768px) {
    .promotions-section {
        min-height: 400px;
        text-align: center;
    }

    .promotions-section::before {
        background: rgba(24, 30, 18, 0.8);
    }

    .promotions-slide-content-wrapper {
        padding: 20px;
    }

    .promotions-content {
        margin: 0 auto;
    }

    .promotions-title {
        font-size: 24px;
        margin-bottom: 16px;
    }

    .promotions-text {
        font-size: 14px;
        margin-bottom: 24px;
    }
}


/* ======  COMMON  ====== */


.reviews-section .section-title{
    margin-bottom: 40px;
	margin-top: 0px;
}

.reviews-footer{
    text-align: center;
}

/* ======  CARD  ====== */




/* header */

.review-card__avatar{
    width: 48px;
    height: 48px;
    min-width: 48px;
    border-radius: 50%;
    overflow: hidden;
    background: #f2e9eb;                 /* цвет-заглушка */
}
.review-card__avatar img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.review-card__avatar--stub{
    display: block;
    width: 100%;
    height: 100%;
}
.review-card__meta{
    flex: 1 1 auto;
    overflow: hidden;
}
/* rating row */
.review-card__rating{
    display: flex;
    align-items: center;
    gap: 4px;
    margin-bottom: 4px;
}
.review-card__rating svg{
    display: block;
}




.review-card__text-wrapper{
    position: relative;
    flex: 1 1 auto;
    font-size: 15px;
    line-height: 22px; 
}

.review-card__more{
    position: absolute;
    bottom: 0;
    right: 0;
    background: #fff;
    border: none;
    padding: 0 0 0 8px;
    font-size: 14px;
    color: #005bff;
    cursor: pointer;

}

/* если текст обрезан – показываем кнопку */
.review-card__text.is-clamped + .review-card__more{
    display: inline-block;
}



/* source link */
.review-card__source{
    margin-top: auto;
    color: rgba(43, 43, 43, 0.6);
    text-decoration: underline;
    font-size: 12px;
    transition: color 0.15s ease 0s;
}

/* ======  ADAPTIVE  ====== */
@media (max-width: 1200px){
    .reviews-grid{ flex-wrap: wrap; }
}
@media (max-width: 768px){
    .reviews-section .container{
        padding-left: 20px;
        padding-right: 20px;
    }
    .review-card{
        width: calc(50% - 10px);
    }
}
@media (max-width: 480px){
    .review-card{
        width: 100%;
    }
}

.breadcrumb {
    margin: 24px 0 40px;
    font-family: 'Involve', sans-serif;
    font-size: 14px;
    color: #8B8E88;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.breadcrumb-link,
.breadcrumb-current,
.breadcrumb-separator {
    font-family: 'Involve', sans-serif;
    font-size: 14px;
    color: #8B8E88;
    text-decoration: none;
}

.breadcrumb-link:hover {
    text-decoration: underline;
}




.payment-content {
    display: flex;
    gap: 20px;
    margin-top: 20px;
	padding-bottom: 80px;
}

.payment-left {
    width: 620px; /* 50% от 1240px */
}

.payment-right {
    width: 620px; /* 50% от 1240px */
}

.payment-right img {
    width: 620px; /* Фиксированная ширина */
    height: 376px; /* Фиксированная высота */
    object-fit: cover;
}

/* Адаптив: на экранах меньше 1280px */
@media (max-width: 1280px) {
    .payment-content {
        flex-direction: column; /* Блоки друг под другом */
        gap: 15px;
    }

    .payment-left,
    .payment-right {
        width: 100%; /* Занимают всю ширину */
    }

    .payment-right img {
        width: 100%;
        height: auto; /* Адаптивная высота */
        max-height: 376px;
    }
}
.payment-left h1 {
font-size: 40px;
margin-top: 0px;
	
}

/* Дополнительно: на маленьких экранах */
@media (max-width: 480px) {

    .payment-content {
        gap: 10px;
        margin-top: 15px;
    }

    .payment-right img {
        max-height: 250px;
    }
}

.delivery-title {
    text-align: center;
    font-size: 40px;
    margin: 20px 0;
}
.tabs-wrapper {
    display: flex;
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
	gap: 10px;
}
.tab {
    padding: 15px 30px;
    cursor: pointer;
    color: #BDBFBD;
    border-bottom: 1px solid #BDBFBD;
    transition: color 0.3s, border-bottom-color 0.3s;
    text-align: center;
    flex: 1;
}


/* Hover только для неактивных табов */
.tab:not(.active):hover {
    color: #A6BA95;
    border-bottom-color: #A6BA95;
}

.tab.active {
    color: #181E12;
    border-bottom-color: #181E12;
}
.delivery-content {
    display: flex;
    gap: 20px;
    margin-top: 20px;
}

.delivery-content h2 {font-size:40px; margin-top:0px;}
.delivery-left {
    width: 620px; /* 50% от 1240px */
}
.delivery-right {
    width: 620px; /* 50% от 1240px */
}
.delivery-right img {
    width: 620px; /* Фиксированная ширина */
    height: 376px; /* Фиксированная высота */
    object-fit: cover;
}
.hidden {
    display: none;
}

/* Адаптив */
@media (max-width: 1280px) {
    .delivery-content {
        flex-direction: column;
        gap: 15px;
    }

    .delivery-left,
    .delivery-right {
        width: 100%;
    }

    .delivery-right img {
        width: 100%;
        height: auto;
        max-height: 376px;
    }

    .tabs-wrapper {
        flex-direction: column;
    }

    .tab {
        border-bottom: none;
        border-left: 1px solid #BDBFBD;
    }

    .tab.active {
        border-left-color: #000000;
    }
	
	    .tab:not(.active):hover {
        border-left-color: #A6BA95;
    }
}

@media (max-width: 480px) {

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

    .tab {
        padding: 12px 20px;
    }

    .delivery-right img {
        max-height: 250px;
    }
}



/* === Стили для выезжающего меню === */
/* Затемнение фона */
.mobile-menu-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.2); /* 20% затемнение */
  z-index: 9998; /* Ниже меню, но выше остального контента */
  display: none; /* Скрыто по умолчанию */
}

/* Стили для выезжающей области */
.mobile-menu {
  position: fixed;
  top: 0;
  right: -645px; /* Начальное положение - за пределами экрана справа */
  width: 645px;
  height: 86vh; /* 100% высоты вьюпорта */
  background-color: #ffffff;
  z-index: 9999; /* Выше затемнения */
  transition: right 0.3s ease-in-out; /* Плавное появление */
  display: flex;
  flex-direction: column;
}

.mobile-menu.open {
  right: 0; /* Позиция при открытии */
}

/* Заголовок меню (поиск и крестик) */
.mobile-menu-header {
  display: flex;
  align-items: center;
  padding: 72px 20px 10px 105px; /* Отступ справа 20px */
  position: relative; /* Для позиционирования крестика */
}

/* Обертка для поиска, ограничивающая ширину */
.mobile-menu-search-wrapper {
  width: 400px; /* Ширина 400px */
  flex-shrink: 0; /* Не сжимается */
  margin-right: 15px; /* Отступ между поиском и крестиком */
}

.mobile-menu-header .search-form {
  width: 100%; /* Занимает всю ширину обертки */
}

.mobile-menu-header .search-form input {
  width: 100%;
  height: 48px;
  border-bottom: 1px solid #8b8e88;
  padding-left: 0px;
  font-size: 15px;
  color: #8b8e88;
  box-sizing: border-box;
  border-top: none;
  border-left: none;
  border-right: none;
}

.mobile-menu-header .search-form button {
  position: absolute;
  right: 0px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
}

.close-menu-btn {
  cursor: pointer;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute; /* Абсолютное позиционирование */
  right: 30px; /* Прижимаем к правому краю с отступом 20px */
  top: 84px; /* Выравнивание по вертикали с полем поиска */
}



.close-menu-btn:hover {
  opacity: 0.7;
}

/* Основное содержимое меню */
.mobile-menu-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 32px 20px 10px 105px; /* Отступ справа 20px */
  overflow-y: auto; /* Прокрутка, если контент не помещается */
}

/* Стили для меню в мобильном окне */
.mobile-main-nav ul {
  list-style: none;
  padding: 0;
  margin: 0 0 20px 0; /* Отступ снизу */
  width: 400px; /* Ширина 400px */
  flex-shrink: 0; /* Не сжимается */
}

.mobile-main-nav li {
}

.mobile-main-nav li:last-child {
  border-bottom: none;
}

.mobile-main-nav li a {
  display: block;
  padding: 10px 0;
  text-decoration: none;
  color: #181e12;
  font-weight: 600;
  font-size: 32px; /* или другой размер по вашему усмотрению */
  font-family: 'Involve', sans-serif;
}

.mobile-main-nav li a:hover {
  color: #C5C6C3;
}

/* Блок социальных сетей */
.mobile-social-links {
  margin: 48px 0 36px 0; /* Отступы сверху и снизу */
  text-align: center; /* Центрируем иконки */
  display:flex;
  gap:10px;
  width: 400px; /* Ширина 400px */
  flex-shrink: 0; /* Не сжимается */
  justify-content: left; /* Центрируем внутри 400px */
}

.mobile-social-links .social-link {margin:0;}

/* Блок кнопок */
.mobile-header-actions {
  display: flex;
  gap: 10px; /* Отступ между кнопками */
  width: 400px; /* Ширина 400px */
  flex-shrink: 0; /* Не сжимается */
}

/* Стили для кнопок внутри блока */
.mobile-header-actions .btn {
  flex: 1; /* Занимают всю ширину */
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.mobile-header-actions .btn:last-child {
  margin-bottom: 0; /* Убираем отступ у последней кнопки */
}

/* === Конец стилей для выезжающего меню === */

/*
.sticky-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 88px;
    background: #F0F0F2;
    box-shadow: 0px 4px 6px rgba(149.81, 149.81, 149.81, 0.25);
    z-index: 1000;
    display: none; 
    align-items: center;
    transform: translateY(-100%); 
    transition: transform 0.3s ease-in-out;
}

.sticky-header.visible {
    display: flex;
    transform: translateY(0); 
}

.sticky-header-container {
    max-width: 1520px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between; 
    align-items: center;
    padding: 0 140px;
    box-sizing: border-box;
    height: 100%;
}

.sticky-logo {
    flex-shrink: 0;
    width: 98px;
    height: 50px;
    display: flex;
    align-items: center;
}

.sticky-right {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 32px;
    flex: 1; 
}

.sticky-info {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 32px;
    font-size: 15px;
    color: #8B8E88;
    font-family: 'Involve', sans-serif;
    font-weight: 400;
}

.sticky-action {
    flex-shrink: 0;
}

.sticky-action .btn-outline-dark {
    padding: 13px 28px;
    border: 1px solid #4F772D;
    color: #7B9962;
    background-color: transparent;
    font-size: 15px;
    font-family: 'Involve', sans-serif;
    font-weight: 400;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.3s ease;
}

.sticky-action .btn-outline-dark:hover {
    background-color: #7B9962;
    color: #ffffff;
    border: 1px solid #7B9962;
}

*/

.location {
    display: flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}

.location img {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.phone {
    text-decoration: none;
    color: inherit;
    white-space: nowrap;
    width: 112px; /* Фиксированная ширина как в Figma */
}



.hamburger-menu {
    flex-shrink: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hamburger-menu svg {
    width: 48px;
    height: 20px;
}

/* Изменяем стили основной шапки */
.site-header {
    background-color: #ffffff;
    box-shadow: 0px 4px 6px 0px rgba(150, 150, 150, 0.25);
    position: relative; /* Изменено с sticky на relative */
    z-index: 999; /* Ниже фиксированной шапки */
    transition: transform 0.3s ease-in-out;
}

/* Класс для скрытия основной шапки */
.site-header.hidden {
    transform: translateY(-100%); /* Сдвигаем вверх за пределы экрана */
}

/* Добавляем отступ для основного контента */
.main-content {
    transition: padding-top 0.3s ease-in-out;
}

/* Адаптивность для новой шапки */
@media (max-width: 1520px) {
    .sticky-header-container {
        padding: 0 20px;
    }
}

@media (max-width: 1200px) {
    .sticky-right {
        gap: 20px;
    }
    
    .sticky-info {
        gap: 20px;
    }
}

@media (max-width: 992px) {
    .phone {
        display: none; /* Скрываем телефон на планшетах */
    }
    
    .sticky-info {
        gap: 15px;
    }
}

@media (max-width: 768px) {
    .sticky-header {
        height: 70px;
    }
    
    .sticky-header-container {
        padding: 0 15px;
    }
    
    .sticky-logo {
        width: 70px;
        height: 35px;
    }
    
    .sticky-logo img {
        width: 70px;
        height: 35px;
    }
    
    .sticky-action .btn-outline-dark {
        width: auto;
        padding: 8px 16px;
        font-size: 14px;
        height: 40px;
    }
    
    .location span {
        display: none; /* Скрываем текст города, оставляем только иконку */
    }
    
    .sticky-right {
        gap: 10px;
    }
}

@media (max-width: 576px) {
    .sticky-action {
        display: none; /* Скрываем кнопку на мобильных */
    }
    
    .hamburger-menu {
        margin-left: auto;
    }
}


.partner-form {
    max-width: 1240px;
    margin: 0 auto;
}



/* Счетчик корзины */
.cart-link {
    position: relative;
    display: inline-block;
}


.cart-count-badge:hover {
  background: #1481DB;
  color: white;
}
.cart-count-badge {
  position: absolute;
  top: -12px;
  right: -10px;
  min-width: 12px;
  height: 14px;
  background: #1481DB;
  border: 1px solid #1481DB;
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  font-family: 'Inter Tight', sans-serif;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 3px;
  box-sizing: content-box;
  line-height: 1;
  z-index: 10;
  transition: all 0.2s ease;
}


@keyframes slideIn {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes slideOut {
    from {
        transform: translateX(0);
        opacity: 1;
    }
    to {
        transform: translateX(100%);
        opacity: 0;
    }
}

@keyframes cartPulse {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.1);
    }
    100% {
        transform: scale(1);
    }
}

.cart-count-badge.updated {
    animation: cartPulse 0.3s ease;
}

.main-news-all-text {
    color: #303030;
    font-size: 16px;
    font-family: 'Inter Tight', sans-serif;
    font-style: italic;
    font-weight: 600;
    text-transform: uppercase;
}

.main-news-all-arrow {
    display: block;
}
.main-news-all-link {
    display: flex;
    align-items: center;
    gap: 16px;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.main-news-all-link:hover {
    opacity: 0.8;
}

.manufacturer-info-text {
    font-family: 'Inter Tight', 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 400;
}