/*
=== КАСТОМНЫЕ СТИЛИ ТЕМЫ НОВЫЙ ГОРОД 21 ===
*/

/* Стили для header по ТЗ */

/* Фиксация хедера */
/*#masthead {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    background: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

/* Компенсация для контента под хедером 
body {
    padding-top: 100px; 
}*/

/* Для мобильных устройств меньше отступ 
@media (max-width: 767px) {
    body {
        padding-top: 70px; /* На мобилке верхняя панель скрыта 
    }
}*/

/* Фиксация только верхней панели с контактами */
.top-bar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    background: #fff;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

/* Компенсация для навигации, чтобы не скрывалась под контактами */
.navbar {
    margin-top: 56px; /* Высота верхней панели */
}

/* Для мобильных устройств меньше отступ */
@media (max-width: 767px) {
    .navbar {
        margin-top: 0; 
        background: linear-gradient(135deg, #2c5f7c 0%, #1a4a63 100%);
    }
}

/* Компенсация для основного контента */
#content {
    /*padding-top: 48px;  Или больше, в зависимости от высоты */
}

.nav-menu-item {
    color: #0d3c63;
    font-weight: 600 !important;
    font-size: 18px !important;
    font-family: 'PT Serif', serif;
    text-decoration: none !important;
    padding: 8px 16px !important;
}

.nav-menu-item:hover {
    color: #EC6830 !important;
    transition: color 0.3s ease;
}

/* Стили для кнопки "Задать вопрос" по ТЗ - переопределяем Bootstrap */
.btn-question,
.btn-question:link,
.btn-question:visited {
    background-color: #ffffff !important;
    color: #ec6830 !important;
    padding: 8px 20px !important;
    border-radius: 18px !important;
    border: none;
    font-weight: 600 !important;
    font-size: 14px !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    font-family: 'PT Serif', serif !important;
    display: inline-block !important;
}

.btn-question:hover,
.btn-question:focus,
.btn-question:active {
    background-color: #ec6830 !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

/* Стили dropdown меню */
.dropdown-menu {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    padding: 0.5rem 0;
    background-color: #ffffff;
}

.dropdown-item {
    color: #0d3c63 !important;
    font-family: 'PT Serif', serif;
    font-size: 18px !important;
    font-weight: 600 !important;
    padding: 8px 20px !important;
}

.dropdown-item:hover {
    background-color: #f8f9fa !important;
    color: #0a2d4a !important;
}

/* Убираем стрелочку dropdown по умолчанию и добавляем свою */
.dropdown-toggle::after {
    content: "▼" !important;
    border: none !important;
    vertical-align: baseline !important;
    margin-left: 8px !important;
    font-size: 10px;
}

/* Верхняя панель стили */
.top-bar {
    background: linear-gradient(135deg, #2c5f7c 0%, #1a4a63 100%);
}

.top-bar span,
.top-bar i {
    color: #ffffff !important;
}

/* Основная навигация */
.navbar {
    --bs-navbar-padding-y: 0;
    background-color: #ffffff;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* Стили для элементов header без инлайн-стилей */
.top-bar-text {
    font-size: 14px;
}

.social-icon {
    width: 24px; 
    height: 24px;
}

.logo-img {
    height: 40px;
}

/* Мобильная адаптация header */
@media (max-width: 991px) {
    .nav-menu-item {
        font-size: 14px !important;
        padding: 10px 0 !important;
        color: #ffffff !important;
    }
    
    .btn-question {
        font-size: 14px;
        padding: 10px 20px;
        margin: 20px 0;
        display: block;
        text-align: center;
    }
    
    .dropdown-menu {
        box-shadow: none;
        border: none;
        margin-left: 20px;
        background-color: #f8f9fa;
    }
    
    .dropdown-item {
        font-size: 13px !important;
        padding: 5px 0 !important;
        border-bottom: 1px solid #e9ecef;
        color: #ffffff !important;
    }
    
    .top-bar {
        display: none !important;
    }
}

/* === СТИЛИ HERO-БЛОКА (ОБНОВЛЕННЫЕ) === */

/* Основная секция */
.hero-block {
    background: linear-gradient(268deg, #79A6CC 0%, rgba(39, 101, 152, 1) 60%, rgba(255, 255, 255, 0.4) 100%);
    min-height: 70vh;
    position: relative;
    overflow: hidden;
    padding: 0;
}

.hero-container {
    height: 100%;
}

.hero-row {
    height: 100%;
    min-height: 70vh;
}

/* === ЛЕВАЯ ЧАСТЬ - СЛАЙДЕР === */
.hero-slider-col {
    padding: 0;
    position: relative;
}

.hero-slider {
    height: 100%;
    position: relative;
}

.heroSwiper {
    height: 100%;
}

.hero-slide-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: drop-shadow(1px 1px 50px rgba(13, 60, 99, 1));
    transform: scale(1.05);
}

/* === ПРАВАЯ ЧАСТЬ - КОНТЕНТ === */
.hero-content-col {
    display: flex;
    align-items: center;
    padding: clamp(2rem, 5vw, 4rem);
}

.hero-content {
    width: 100%;
}

/* === ЗАГОЛОВОК И ЛОГОТИП === */
.hero-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: clamp(1.5rem, 4vw, 2.5rem);
}

.hero-title-block {
    flex: 1;
    padding-right: 1rem;
}

.hero-title {
    font-size: clamp(2rem, 5vw, 3rem);
    font-weight: 700;
    color: #ffffff;
    margin-bottom: clamp(0.5rem, 1vw, 1rem);
    line-height: 1.2;
    font-family: 'PT Serif', serif;
}

.hero-subtitle {
    font-size: clamp(1rem, 2vw, 1.2rem);
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 0;
    font-family: 'PT Serif', serif;
}

/* Логотип - показываем разные версии на разных экранах */
.hero-logo-desktop {
    display: block;
}

.hero-logo-mobile {
    display: none;
}

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

.zhk-logo-img {
    max-height: 80px;
    margin-bottom: 40px;
}

.zhk-name-main {
    font-size: clamp(1.2rem, 2.5vw, 1.5rem);
    font-weight: 700;
    color: #ffffff;
    font-family: 'PT Serif', serif;
}

.zhk-name-sub {
    font-size: clamp(0.8rem, 1.5vw, 0.9rem);
    color: rgba(255, 255, 255, 0.8);
    font-family: 'PT Serif', serif;
}

/* === ТЕГИ ПРЕИМУЩЕСТВ === */
.hero-tags-section {
    margin-bottom: clamp(1.5rem, 3vw, 2rem);
}

.hero-tags {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(0.8rem, 2vw, 1.2rem);
}

.hero-tag {
    background-color: #ffffff;
    color: #0d3c63;
    padding: clamp(0.6rem, 1.5vw, 0.8rem) clamp(1rem, 2vw, 1.2rem);
    border-radius: 18px;
    font-size: clamp(0.8rem, 1.5vw, 0.9rem);
    font-weight: 600;
    font-family: 'PT Serif', serif;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}
.hero-tag:hover {
    transform: translateY(-2px);
    background-color: #ec6830;
    color: #ffffff;
}

.hero-tag i {
    margin-right: clamp(0.3rem, 1vw, 0.5rem);
    color: #ec6830;
}

.hero-tag i:hover {
    color: #ffffff;
}


/* === АКЦЕНТ === */
.hero-accent-section {
    margin-bottom: clamp(1.5rem, 3vw, 2rem);
}

.hero-accent-badge {
    background-color: #ec6830;
    color: #ffffff;
    padding: clamp(0.7rem, 1.8vw, 1rem) clamp(1.5rem, 3vw, 2rem);
    border-radius: 18px;
    font-size: clamp(0.9rem, 1.8vw, 1rem);
    font-weight: 600;
    font-family: 'PT Serif', serif;
    display: inline-block;
}

/* === ОСНОВНОЕ ПРЕДЛОЖЕНИЕ === */
.hero-offer-section {
    margin-bottom: clamp(2rem, 4vw, 2.5rem);
}

.hero-offer-title {
    font-size: clamp(1.5rem, 3.5vw, 2rem);
    font-weight: 600;
    color: #ffffff;
    margin-bottom: clamp(1rem, 2vw, 1.5rem);
    line-height: 1.3;
    font-family: 'PT Serif', serif;
}

.hero-offer-discount {
    color: #ffd700;
    display: block;
}

.hero-offer-description {
    font-size: clamp(0.9rem, 2vw, 1.1rem);
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 0;
    font-family: 'PT Serif', serif;
}

/* === КНОПКА === */
.hero-button-section {
    display: flex;
    gap: 16px;
    margin-bottom: 0;
}

.hero-button {
    background: linear-gradient(135deg, #0d3c63 0%, #2c5f7c 100%);
    color: #ffffff;
    border: none;
    border-radius: 18px;
    font-weight: 600;
    font-size: clamp(1rem, 2vw, 1.1rem);
    padding: 16px 30px;
    text-decoration: none;
    display: inline-block;
    transition: all 0.3s ease;
    font-family: 'PT Serif', serif;
}

.hero-button:hover {
    /*background-color: #e89535;*/
    color: #ffffff;
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(13, 60, 99, 0.4);
}

/* === МОБИЛЬНАЯ АДАПТАЦИЯ === */
@media (max-width: 991px) {
    /* Меняем порядок колонок на мобильных */
    .hero-row {
        flex-direction: column;
    }
    
    /* Слайдер сверху на мобильных */
    .hero-slider-col {
        min-height: 40vh;
        order: 1;
    }
    
    /* Контент снизу на мобильных */
    .hero-content-col {
        order: 2;
        padding: clamp(1.5rem, 4vw, 2rem);
    }
    
    /* Логотип сверху заголовка на мобильных */
    .hero-header {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    
    .hero-logo-desktop {
        display: none;
    }
    
    .hero-logo-mobile {
        display: block;
        margin-bottom: clamp(1rem, 3vw, 1.5rem);
        width: 100%;
    }
    
    .hero-title-block {
        padding-right: 0;
        width: 100%;
    }
    
    /* Центрируем теги на мобильных */
    .hero-tags {
        justify-content: center;
        flex-wrap: wrap;
    }
    
    .hero-tag {
        flex-shrink: 0;
    }
    
    /* Центрируем акцент */
    .hero-accent-section {
        text-align: center;
    }
    
    /* Центрируем предложение */
    .hero-offer-section {
        text-align: center;
    }
    
    /* Центрируем кнопку */
    .hero-button-section {
        text-align: center;
    }
}

@media (max-width: 768px) {
    .hero-block {
        min-height: 60vh;
    }
    
    .hero-row {
        min-height: 60vh;
    }
    
    .hero-slider-col {
        min-height: 35vh;
    }
    
    .hero-content-col {
        padding: clamp(1rem, 3vw, 1.5rem);
    }
}

@media (max-width: 480px) {
    /* Делаем теги в столбик на очень маленьких экранах */
    .hero-tags {
        flex-direction: column;
        align-items: center;
    }
    
    .hero-tag {
        width: 100%;
        max-width: 280px;
        justify-content: center;
    }
}

/* === SWIPER СТИЛИ === */
.heroSwiper .swiper-pagination {
    bottom: 20px;
}

.heroSwiper .swiper-pagination-bullet {
    background-color: rgba(255, 255, 255, 0.7);
    opacity: 1;
    width: 12px;
    height: 12px;
}

.heroSwiper .swiper-pagination-bullet-active {
    background-color: #ffffff;
    transform: scale(1.2);
}


/* === БЛОК "ПОДБОР КВАРТИРЫ" === */

/* Основная секция */
.apartment-filter-section {
    padding: clamp(2rem, 8vw, 4rem) 0;
    background-color: #f8f9fa;
}

.apartment-filter-container {
    max-width: 1400px;
}

/* Заголовок */
.apartment-filter-title {
    /*font-size: clamp(1.5rem, 5vw, 2.5rem);
    font-weight: 700;
    font-family: 'PT Serif', serif;
    line-height: 1.2;
    color: #0d3c63;*/
    margin-bottom: clamp(1.5rem, 4vw, 2.5rem);
    
}

/* Левый блок с фильтрами */
.apartment-filter-left {
    background: linear-gradient(135deg, #c8d8e8 0%, #a8c0d5 100%);
    border-radius: 18px;
    padding: clamp(1.5rem, 4vw, 2.5rem);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Кнопки фильтров */
.apartment-filter-btn {
    background-color: #ffffff;
    color: #0d3c63;
    text-decoration: none;
    padding: clamp(0.7rem, 2vw, 1rem) clamp(0.5rem, 1.5vw, 1rem);
    border-radius: 18px;
    font-weight: 600;
    font-size: clamp(0.8rem, 2vw, 1rem);
    font-family: 'PT Serif', serif;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
    border: none;
    min-height: clamp(50px, 8vw, 70px);
}

.apartment-filter-btn-accent {
    background-color: #ec6830;
    color: #ffffff;
}

/* Главная кнопка "Смотреть все" */
.apartment-filter-btn-main {
    background-color: #ec6830;
    color: #ffffff;
    text-decoration: none;
    padding: clamp(1rem, 2.5vw, 1.3rem) clamp(1rem, 2vw, 1.5rem);
    border-radius: 18px;
    font-weight: 600;
    font-size: clamp(0.9rem, 2.5vw, 1.2rem);
    font-family: 'PT Serif', serif;
    box-shadow: 0 4px 12px rgba(236, 104, 48, 0.3);
    transition: all 0.3s ease;
    border: none;
}

/* Правый блок промо */
.apartment-filter-right {
    background: linear-gradient(135deg, #2c5f7c 0%, #1a4a63 100%);
    border-radius: 18px;
    padding: clamp(1.5rem, 4vw, 2.5rem);
    color: #ffffff;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.apartment-filter-promo-content {
    position: relative;
    z-index: 2;
}

.apartment-filter-promo-title {
    font-size: clamp(1rem, 3vw, 1.4rem);
    color: #ffffff;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: clamp(1rem, 3vw, 1.8rem);
}

.apartment-filter-promo-btn {
    background-color: #ffffff;
    color: #2c5f7c;
    text-decoration: none;
    padding: clamp(0.6rem, 1.8vw, 0.9rem) clamp(1rem, 3vw, 4rem);
    border-radius: 18px;
    font-weight: 600;
    font-size: clamp(0.8rem, 2vw, 1rem);
    font-family: 'PT Serif', serif;
    display: inline-block;
    transition: all 0.3s ease;
    border: none;
}

.apartment-filter-family-img {
    width: clamp(60px, 15vw, 120px);
    height: clamp(60px, 15vw, 120px);
    border-radius: 50%;
    opacity: 0.8;
    object-fit: cover;
    position: relative;
    z-index: 1;
}

/* Мобильная адаптация */
@media (max-width: 991px) {
    .apartment-filter-section .col-lg-6:first-child {
        margin-bottom: clamp(1rem, 4vw, 2rem);
    }
}

@media (max-width: 768px) {
    .apartment-filter-section {
        padding: clamp(1.5rem, 4vw, 2.5rem) 0;
    }
    
    .apartment-filter-title {
        font-size: clamp(1.2rem, 6vw, 1.8rem);
        margin-bottom: clamp(1.2rem, 5vw, 2rem);
    }
    
    .apartment-filter-left,
    .apartment-filter-right {
        padding: clamp(1.2rem, 5vw, 1.8rem);
        border-radius: 18px;
    }
    
    .apartment-filter-btn,
    .apartment-filter-btn-main,
    .apartment-filter-promo-btn {
        padding: clamp(0.7rem, 3vw, 1rem) clamp(0.5rem, 2vw, 0.8rem);
        margin-bottom: clamp(0.5rem, 2vw, 0.8rem);
        min-height: clamp(45px, 7vw, 60px);
    }
    
    /* Правый блок - вертикальное расположение на мобильных */
    .apartment-filter-right .row {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    
    .apartment-filter-right .col-4,
    .apartment-filter-right .col-8 {
        flex: none;
        width: 100%;
        max-width: none;
    }
    
    .apartment-filter-right .col-4 {
        margin-bottom: 1rem;
    }
}

@media (max-width: 480px) {
    .apartment-filter-section {
        padding: clamp(1rem, 3vw, 2rem) 0;
    }
    
    .apartment-filter-title {
        font-size: clamp(1.1rem, 5vw, 1.5rem);
    }
    
    .apartment-filter-left,
    .apartment-filter-right {
        padding: clamp(1rem, 4vw, 1.5rem);
    }
    
    .apartment-filter-btn,
    .apartment-filter-btn-main,
    .apartment-filter-promo-btn {
        font-size: clamp(0.75rem, 3vw, 0.9rem);
    }
}


/* === БЛОК "О ПРОЕКТЕ" === */

/* Основная секция */
.about-project-section {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(13, 60, 99, 0.1) 100%);
    margin-top: 60px
}

.about-project-row {
    min-height: 60vh;
    align-items: flex-start; /* Выравнивание по верху */
}

/* === КОНТЕНТНАЯ ЧАСТЬ === */
.about-content-col {
    padding: clamp(1.5rem, 4vw, 2.5rem);
}

.about-content {
    height: 100%;
}

/* Текстовый контент - убираем дублирующие font-family, color, font-size */
.about-text {
    margin-bottom: clamp(2rem, 5vw, 2.5rem);
}

.about-text p:last-child {
    margin-bottom: clamp(1.5rem, 4vw, 2rem);
}

/* === ВИДЖЕТ ЯНДЕКС.ОТЗЫВЫ === */
.reviews-widget {
    background: linear-gradient(135deg, #ffffff 0%, #f1f3f5 100%);
    border-radius: 18px;
    padding: clamp(1rem, 3vw, 1.5rem);
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    border: 1px solid #e2e8f0;
}

.reviews-content {
    display: flex;
    align-items: center;
    gap: clamp(0.8rem, 2vw, 1rem);
}

.yandex-logo {
    width: clamp(24px, 5vw, 32px);
    height: clamp(24px, 5vw, 32px);
    background-color: #fc3f1d;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    color: white;
    font-size: clamp(10px, 2vw, 12px);
}

.reviews-rating {
    display: flex;
    align-items: center;
    gap: clamp(0.3rem, 1vw, 0.5rem);
    margin-bottom: 2px;
}

.rating-badge {
    background-color: #4bb34b;
    color: white;
    padding: 2px 6px;
    border-radius: 4px;
    font-size: clamp(11px, 2vw, 13px);
    font-weight: 600;
}

.rating-stars {
    color: #ffa500;
    font-size: clamp(12px, 2.5vw, 14px);
}

.reviews-count {
    color: #666;
    font-size: clamp(11px, 2vw, 13px);
}

/* === ВИДЕО ЧАСТЬ === */
.about-video-col {
    padding: clamp(1rem, 3vw, 1.5rem);
}

.video-wrapper {
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}

/* Kinescope контейнер */
.kinescope-container {
    position: relative;
    padding-top: 56.25%; /* 16:9 соотношение */
    width: 100%;
}

.kinescope-container iframe {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    border-radius: 18px;
}

/* === МОБИЛЬНАЯ АДАПТАЦИЯ === */
@media (max-width: 991px) {
    .about-project-row {
        min-height: auto;
    }
    
    .about-content-col {
        margin-bottom: clamp(1rem, 3vw, 2rem);
    }
    
    /* Выравнивание текста по центру на мобильных */
    .about-content {
        text-align: center;
    }
}

@media (max-width: 768px) {
    .about-content-col,
    .about-video-col {
        padding: clamp(1rem, 3vw, 1.5rem);
    }
    
    .reviews-content {
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .reviews-widget {
        margin: 0 auto;
        max-width: 280px;
    }
}

/* === БЛОК "ИНФРАСТРУКТУРА" === */

/* Основная секция */
.infrastructure-section {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(13, 60, 99, 0.1) 100%);
}

/* Заголовок секции */
.infrastructure-title {
    /*text-align: center;*/
    line-height: 1.2;
    margin-bottom: clamp(1rem, 3vw, 1.5rem);
}

.infrastructure-subtitle {
    /*text-align: center;
    font-size: 20px;*/
    margin-bottom: 0;
}

/* Отступы между рядами */
.infrastructure-row-gap {
    gap: clamp(0.75rem, 2vw, 1rem) 0;
}

/* === КАРТОЧКИ ИНФРАСТРУКТУРЫ === */
.infrastructure-card {
    position: relative;
    height: clamp(200px, 25vw, 280px);
    border-radius: 18px;
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.infrastructure-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 35px rgba(0,0,0,0.15);
}

/* Фоновый контейнер с изображением */
.infrastructure-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.infrastructure-bg-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Градиентный оверлей */
.infrastructure-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(0turn, rgba(3,18,31,0) 0%, rgba(13,60,99,0.7) 100%);
}

/* Контент карточки */
.infrastructure-content {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: clamp(1rem, 3vw, 1.5rem);
}

/* Заголовок карточки */
.infrastructure-card-title {
    color: #ffffff;
    font-size: clamp(1.1rem, 2.5vw, 1.3rem);
    font-weight: 600;
    margin: 0;
}

/* Контейнер для кнопки */
.infrastructure-button-container {
    align-self: flex-end;
}

/* Круглая кнопка */
.infrastructure-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(40px, 8vw, 50px);
    height: clamp(40px, 8vw, 50px);
    background-color: rgba(255,255,255,0.9);
    border-radius: 50%;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.infrastructure-button:hover {
    background-color: rgba(255,255,255,1);
    transform: scale(1.1);
    text-decoration: none;
}

/* Иконка стрелки */
.infrastructure-arrow {
    color: #0d3c63;
    font-size: clamp(16px, 3vw, 20px);
    font-weight: bold;
}

/* === МОБИЛЬНАЯ АДАПТАЦИЯ === */
@media (max-width: 991px) {
    .infrastructure-card {
        margin-bottom: clamp(1rem, 3vw, 1.5rem);
    }
}

@media (max-width: 768px) {
    .infrastructure-section {
        padding: clamp(2rem, 6vw, 3rem) 0;
    }
    
    .infrastructure-card {
        height: clamp(180px, 30vw, 220px);
    }
}

@media (max-width: 480px) {
    .infrastructure-card {
        height: clamp(160px, 35vw, 200px);
        margin-bottom: clamp(0.75rem, 2vw, 1rem);
    }
    
    .infrastructure-content {
        padding: clamp(0.75rem, 2.5vw, 1rem);
    }
}

/* === ГАЛЕРЕЯ "КОГДА ВАЖНА КАЖДАЯ ДЕТАЛЬ" === */

/* Модальное окно */
.details-gallery-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10000;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.details-gallery-modal.show {
    display: block;
    opacity: 1;
}

/* Затемнение фона */
.details-gallery-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.9);
}

/* Контейнер галереи */
.details-gallery-container {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    z-index: 10001;
}

/* === HEADER ГАЛЕРЕИ === */
.details-gallery-header {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 10002;
    padding: clamp(1rem, 3vw, 2rem);
}

.details-gallery-title {
    color: #ffffff;
    font-size: clamp(1.2rem, 3vw, 1.8rem);
    font-weight: 700;
    margin: 0;
}

/* Кнопка закрытия */
.details-gallery-close {
    background: transparent;
    border: 2px solid rgba(255, 255, 255, 0.5);
    color: #ffffff;
    width: clamp(40px, 8vw, 50px);
    height: clamp(40px, 8vw, 50px);
    border-radius: 50%;
    font-size: clamp(24px, 5vw, 32px);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    line-height: 1;
    padding: 0;
}

.details-gallery-close:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: #ffffff;
    transform: rotate(90deg);
}

/* === SWIPER ГАЛЕРЕЯ === */
.detailsGallerySwiper {
    flex: 1;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.details-gallery-slide {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: clamp(2rem, 5vw, 4rem);
}

/* Изображение в галерее */
.details-gallery-image {
    max-width: 90%;
    max-height: 75vh;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 18px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.5);
}

/* Подпись к изображению */
.details-gallery-caption {
    color: #ffffff;
    font-size: clamp(0.9rem, 2vw, 1.1rem);
    text-align: center;
    margin-top: clamp(1rem, 3vw, 2rem);
    margin-bottom: 0;
    max-width: 600px;
}

/* === НАВИГАЦИЯ === */
.details-gallery-prev,
.details-gallery-next {
    width: clamp(50px, 10vw, 70px) !important;
    height: clamp(50px, 10vw, 70px) !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    transition: all 0.3s ease;
}

.details-gallery-prev:hover,
.details-gallery-next:hover {
    background-color: rgba(255, 255, 255, 0.2) !important;
    border-color: rgba(255, 255, 255, 0.6);
}

.details-gallery-prev::after,
.details-gallery-next::after {
    font-size: clamp(20px, 4vw, 28px) !important;
    color: #ffffff !important;
    font-weight: bold;
}

/* Позиционирование стрелок */
.details-gallery-prev {
    left: clamp(1rem, 3vw, 2rem) !important;
}

.details-gallery-next {
    right: clamp(1rem, 3vw, 2rem) !important;
}

/* === МОБИЛЬНАЯ АДАПТАЦИЯ === */
@media (max-width: 768px) {
    .details-gallery-header {
        padding: clamp(0.75rem, 2vw, 1rem) clamp(1rem, 3vw, 1.5rem);
    }
    
    .details-gallery-image {
        max-width: 95%;
        max-height: 65vh;
    }
    
    .details-gallery-slide {
        padding: clamp(1rem, 3vw, 2rem);
    }
    
    .details-gallery-prev,
    .details-gallery-next {
        width: clamp(40px, 12vw, 55px) !important;
        height: clamp(40px, 12vw, 55px) !important;
    }
}

@media (max-width: 480px) {
    .details-gallery-title {
        font-size: clamp(1rem, 4vw, 1.3rem);
    }
    
    .details-gallery-close {
        width: clamp(35px, 10vw, 45px);
        height: clamp(35px, 10vw, 45px);
        font-size: clamp(20px, 5vw, 26px);
    }
    
    .details-gallery-image {
        max-height: 60vh;
    }
    
    .details-gallery-caption {
        font-size: clamp(0.85rem, 3vw, 1rem);
    }
    
    .details-gallery-prev {
        left: clamp(0.5rem, 2vw, 1rem) !important;
    }
    
    .details-gallery-next {
        right: clamp(0.5rem, 2vw, 1rem) !important;
    }
}

/* === АНИМАЦИЯ ПОЯВЛЕНИЯ === */
.details-gallery-modal.show .details-gallery-container {
    animation: fadeInScale 0.4s ease-out;
}

@keyframes fadeInScale {
    from {
        opacity: 0;
        transform: scale(0.95);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* === БЛОК "СВЯЖИТЕСЬ С НАМИ" === */

/* Основная секция */
.contact-section {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(13, 60, 99, 0.1) 100%);
}

/* Главный блок с border */
.contact-block {
    border: 3px solid #ec6830;
    border-radius: 18px;
    padding: clamp(2rem, 5vw, 3rem);
    background-color: rgba(255, 255, 255, 0.95);
    box-shadow: 0 8px 25px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
}

.contact-block:hover {
    border-color: #d4561f;
    transform: translateY(-2px);
}

.contact-row {
    align-items: center;
}

/* === КОНТЕНТНАЯ ЧАСТЬ === */
.contact-content-col {
    padding-right: clamp(1rem, 3vw, 2rem);
    margin-bottom: clamp(2rem, 4vw, 0);
}

/* Заголовок */
.contact-title {
    color: #ec6830;
    margin-bottom: clamp(1rem, 3vw, 1.5rem);
    line-height: 1.2;
}

/* Описание */
.contact-description {
    font-size: clamp(1rem, 2.5vw, 1.2rem);
    color: #0d3c63;
    margin-bottom: 0;
    line-height: 1.6;
}

/* === КОНТАКТНАЯ ИНФОРМАЦИЯ === */
.contact-info-col {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(1.5rem, 4vw, 2.5rem);
    flex-wrap: wrap;
}

/* Иконка телефона */
.contact-phone-icon {
    display: flex;
    align-items: center;
    gap: clamp(0.5rem, 2vw, 1rem);
}

.contact-phone-icon img {
    width: clamp(48px, 10vw, 60px);
    height: clamp(48px, 10vw, 60px);
    color: #ec6830;
}

/* Номер телефона */
.contact-phone-number a {
    color: #0d3c63;
    text-decoration: none;
    font-size: clamp(1.2rem, 3vw, 1.6rem);
    font-weight: 700;
    transition: all 0.3s ease;
}

.contact-phone-number a:hover {
    color: #ec6830;
    transform: scale(1.05);
    text-decoration: none;
}

/* Контейнер мессенджеров */
.contact-messengers {
    display: flex;
    align-items: center;
    gap: clamp(0.8rem, 2vw, 1.2rem);
}

/* Кнопки мессенджеров */
.messenger-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(48px, 10vw, 60px);
    height: clamp(48px, 10vw, 60px);
    border-radius: 50%;
    text-decoration: none;
    transition: all 0.3s ease;
}

.messenger-button:hover {
    transform: scale(1.15) translateY(-3px);
    text-decoration: none;
}

.messenger-button img {
    width: clamp(48px, 10vw, 60px);
    height: clamp(48px, 10vw, 60px);
}

/* WhatsApp стили 
.messenger-whatsapp {
    background: linear-gradient(135deg, #25d366 0%, #128c7e 100%);
    box-shadow: 0 4px 12px rgba(37, 211, 102, 0.3);
}

/* Telegram стили 
.messenger-telegram {
    background: linear-gradient(135deg, #0088cc 0%, #0066aa 100%);
    box-shadow: 0 4px 12px rgba(0, 136, 204, 0.3);*/
}

/* === МОБИЛЬНАЯ АДАПТАЦИЯ === */
@media (max-width: 991px) {
    .contact-content-col {
        text-align: center;
        margin-bottom: clamp(2rem, 4vw, 2rem);
        padding-right: clamp(1rem, 3vw, 1rem);
    }
    
    .contact-info-col {
        justify-content: center;
        text-align: center;
    }
}

@media (max-width: 768px) {
    .contact-block {
        padding: clamp(1.5rem, 4vw, 2rem);
    }
    
    .contact-info-col {
        flex-direction: column;
        gap: clamp(1rem, 3vw, 1.5rem);
    }
    
    .contact-messengers {
        margin-top: clamp(0.5rem, 2vw, 1rem);
    }
}

@media (max-width: 480px) {
    .contact-title {
        font-size: clamp(1.5rem, 6vw, 2rem);
    }
    
    .contact-description {
        font-size: clamp(0.9rem, 4vw, 1.1rem);
    }
    
    .contact-phone-number a {
        font-size: clamp(1.1rem, 5vw, 1.3rem);
    }
}

/* === БЛОК "ГЕНПЛАН" === */

/* Основная секция */
.genplan-section {
    background-color: #f8f9fa;
}

.genplan-title {
    text-align: left;
    line-height: 1.2;
    margin-bottom: clamp(1rem, 3vw, 1.5rem);
}

/* === КОНТЕЙНЕР ИЗОБРАЖЕНИЯ === */
.genplan-image-container {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
    transition: all 0.3s ease;
}

.genplan-image-container:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 35px rgba(0,0,0,0.2);
}

/* Изображение генплана */
.genplan-image {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}

.genplan-image-container:hover .genplan-image {
    transform: scale(1.02);
}

/* === ОВЕРЛЕЙ С ИНФОРМАЦИЕЙ === */
.genplan-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(transparent 0%, rgba(13, 60, 99, 0.8) 100%);
    padding: clamp(1.5rem, 4vw, 2.5rem);
    color: #ffffff;
    opacity: 0;
    transition: all 0.3s ease;
}

.genplan-image-container:hover .genplan-overlay {
    opacity: 1;
}

.genplan-overlay-title {
    color: #ffffff;
    font-size: clamp(1.2rem, 3vw, 1.6rem);
    font-weight: 600;
    margin-bottom: clamp(0.5rem, 1.5vw, 1rem);
}

.genplan-overlay-text {
    color: rgba(255, 255, 255, 0.9);
    font-size: clamp(0.9rem, 2vw, 1rem);
    margin: 0;
    line-height: 1.4;
}

/* === ОПИСАНИЕ === */
.genplan-description {
    margin-top: clamp(1.5rem, 4vw, 2rem);
    text-align: center;
}

.genplan-description-text {
    font-size: clamp(0.95rem, 2.2vw, 1.1rem);
    color: #666;
    margin: 0;
    line-height: 1.6;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

/* === МОБИЛЬНАЯ АДАПТАЦИЯ === */
@media (max-width: 768px) {
    .genplan-title {
        text-align: center;
    }
    
    .genplan-image-container {
        margin-bottom: clamp(1rem, 3vw, 1.5rem);
    }
}

@media (max-width: 480px) {
    .genplan-overlay {
        padding: clamp(1rem, 3vw, 1.5rem);
    }
    
    .genplan-overlay-title {
        font-size: clamp(1rem, 4vw, 1.3rem);
    }
    
    .genplan-overlay-text {
        font-size: clamp(0.8rem, 3vw, 0.9rem);
    }
}


/* === БЛОК "ХАРАКТЕРИСТИКИ ДОМА" === */

/* Основная секция */
.house-characteristics-section {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(13, 60, 99, 0.1) 100%);
}

/* === ЛЕВАЯ КОЛОНКА - ХАРАКТЕРИСТИКИ === */

/* Заголовок и подзаголовок на белом фоне */
.house-characteristics-header {
    /*padding: clamp(1.5rem, 4vw, 2rem);*/
    border-radius: 18px;
    margin-bottom: 30px;
}

.house-characteristics-content {
    background-color: rgba(90, 152, 204, 0.2);
    border-radius: 18px;
    padding: clamp(2rem, 5vw, 3rem) clamp(1rem, 5vw, 1.5rem);
    /*height: 100%;*/
    display: flex;
    flex-direction: column;
}

.house-characteristics-title {
    margin-bottom: clamp(0.5rem, 2vw, 1rem);
}

.house-characteristics-subtitle {
    font-size: clamp(1rem, 2.5vw, 1.2rem);
    font-weight: 600;
    margin-bottom: 30px;

}

/* Секции с информацией */
.house-characteristics-timeline,
.house-characteristics-composition {
    margin-bottom: clamp(1.5rem, 4vw, 2rem);
}

.house-characteristics-section-title {
    font-size: clamp(1.1rem, 2.8vw, 1.4rem);
    color: #0d3c63;
    font-family: 'PT Serif', serif;
    font-weight: 600;
    margin-bottom: clamp(1rem, 3vw, 1.5rem);
}

.house-characteristics-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.house-characteristics-list-item {
    margin-bottom: clamp(0.5rem, 1.5vw, 0.5rem);
}

/* === КНОПКИ ХАРАКТЕРИСТИК === */
.house-characteristics-features {
    display: flex;
    flex-wrap: wrap;
    /*gap: clamp(0.5rem, 1.5vw, 0.8rem);*/
}

.house-characteristics-feature-btn {
    background-color: #ffffff;
    color: #0d3c63;
    border: 1px solid rgba(13, 60, 99, 0.2);
    border-radius: 18px;
    padding: 0 10px;
    font-size: 16px;
    transition: all 0.3s ease;
    cursor: pointer;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    margin: 6px;
}

.house-characteristics-feature-btn:hover {
    background-color: #EC6830;
    color: #ffffff;
    border-color: #EC6830;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(236, 104, 48, 0.2);
}

/* === ПРАВАЯ КОЛОНКА - ПЛАН ЭТАЖА === */
.house-characteristics-floorplan {
    display: flex;
    flex-direction: column;
    height: 100%;
    /*padding: clamp(1rem, 3vw, 2rem);*/
}

.house-characteristics-floorplan-title {
    /*font-size: clamp(1.3rem, 3.5vw, 2rem);
    font-weight: 700;
    color: #0d3c63;
    font-family: 'PT Serif', serif;
    line-height: 1.2;*/
    margin-bottom: clamp(1rem, 3vw, 2rem);
}

.house-characteristics-floorplan-container {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    overflow: hidden;
    background-color: #ffffff;
    box-shadow: 0 8px 25px rgba(0,0,0,0.1);
    padding: clamp(1rem, 3vw, 2rem);
}

.house-characteristics-floorplan-image {
    width: 100%;
    height: auto;
    max-height: 500px;
    object-fit: contain;
    transition: transform 0.3s ease;
    cursor: pointer;
}

.house-characteristics-floorplan-image:hover {
    transform: scale(1.02);
}

/* Модальное окно для плана этажа */
#floorplanModal .modal-content {
    border-radius: 18px;
    overflow: hidden;
}

#floorplanModal .modal-header {
    background: linear-gradient(135deg, #0d3c63 0%, #2c5f7c 100%);
    color: #ffffff;
    border-bottom: none;
    padding: clamp(1rem, 3vw, 1.5rem);
}

#floorplanModal .modal-title {
    font-family: 'PT Serif', serif;
    font-weight: 600;
}

#floorplanModal .btn-close {
    filter: invert(1);
}

#floorplanModal .modal-body img {
    max-height: 80vh;
    object-fit: contain;
}

/* === МОБИЛЬНАЯ АДАПТАЦИЯ === */
@media (max-width: 991px) {
    .house-characteristics-content {
        margin-bottom: clamp(2rem, 4vw, 3rem);
    }
    
    .house-characteristics-floorplan-title {
        text-align: center;
    }
}

@media (max-width: 768px) {
    .house-characteristics-content {
        padding: clamp(1.5rem, 4vw, 2rem);
    }
    
    .house-characteristics-floorplan {
        padding: clamp(1rem, 3vw, 1.5rem);
    }
    
    .house-characteristics-floorplan-container {
        padding: clamp(0.75rem, 2vw, 1rem);
    }
}

@media (max-width: 480px) {
    .house-characteristics-features {
        gap: clamp(0.3rem, 1vw, 0.5rem);
    }
    
    .house-characteristics-feature-btn {
        margin: clamp(0.15rem, 0.5vw, 0.25rem);
        font-size: clamp(0.7rem, 1.5vw, 0.75rem);
    }
}

/* === БЛОК "ВИДЕООБЗОРЫ КВАРТИР" === */

/* Основная секция */
.video-reviews-section {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(13, 60, 99, 0.1) 100%);
}

/* Заголовок секции */
.video-reviews-title {
    margin: clamp(1rem, 3vw, 1.5rem);
}

/* === СЕТКА ВИДЕО === */
.video-reviews-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: clamp(1rem, 3vw, 2rem);
    margin: 0 auto;
}

/* === ЭЛЕМЕНТЫ ВИДЕО === */
.video-reviews-item {
    display: flex;
    flex-direction: column;
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.video-reviews-item:hover {
    transform: translateY(-5px);
    /*box-shadow: 0 12px 35px rgba(0,0,0,0.15);*/
}

/* Контейнер превью */
.video-reviews-thumb {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    aspect-ratio: 16/9;
    background-color: #f8f9fa;
}

/* Изображение превью */
.video-reviews-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.video-reviews-item:hover .video-reviews-image {
    transform: scale(1.05);
}

/* Оверлей с кнопкой воспроизведения */
.video-reviews-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.4);
    opacity: 1;
    transition: all 0.3s ease;
}

.video-reviews-item:hover .video-reviews-overlay {
    background: rgba(0, 0, 0, 0.6);
}

/* Кнопка воспроизведения */
.video-reviews-play-btn {
    width: clamp(50px, 10vw, 70px);
    height: clamp(50px, 10vw, 70px);
    background: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: clamp(20px, 4vw, 28px);
    color: #ec6830;
    transition: all 0.3s ease;
    transform: scale(1);
}

.video-reviews-item:hover .video-reviews-play-btn {
    background: #ec6830;
    color: #ffffff;
    transform: scale(1.1);
    box-shadow: 0 6px 20px rgba(236, 104, 48, 0.4);
}

/* Подпись к видео */
.video-reviews-caption {
    font-size: 18px;
    color: #0d3c63;
    /*font-weight: 600;*/
    text-align: left;
    margin-top: 16px;
    margin-bottom: 0;
    line-height: 1.4;
}

/* === МОДАЛЬНОЕ ОКНО === */
.video-reviews-modal {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(5px);
}

.video-reviews-modal.show {
    display: flex;
    align-items: center;
    justify-content: center;
    animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* Контент модального окна */
.video-reviews-modal-content {
    position: relative;
    background-color: #ffffff;
    border-radius: 18px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.3);
    width: 90%;
    max-width: 1000px;
    max-height: 90vh;
    overflow: hidden;
}

/* Кнопка закрытия */
.video-reviews-modal-close {
    position: absolute;
    top: clamp(10px, 2vw, 15px);
    right: clamp(10px, 2vw, 15px);
    z-index: 10;
    background: rgba(0, 0, 0, 0.7);
    color: #ffffff;
    border: none;
    border-radius: 50%;
    width: clamp(35px, 6vw, 45px);
    height: clamp(35px, 6vw, 45px);
    font-size: clamp(18px, 3vw, 24px);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.video-reviews-modal-close:hover {
    background: rgba(236, 104, 48, 0.8);
    transform: scale(1.1);
}

/* Адаптивный контейнер для iframe */
.video-reviews-responsive-iframe {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%; /* 16:9 соотношение */
}

.video-reviews-responsive-iframe iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

/* === МОБИЛЬНАЯ АДАПТАЦИЯ === */
@media (max-width: 991px) {
    .video-reviews-grid {
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
        gap: clamp(0.8rem, 2vw, 1.5rem);
    }
}

@media (max-width: 768px) {
    .video-reviews-section {
        padding: clamp(0.6rem, 2vw, 1rem);
    }
    .video-reviews-grid {
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
        gap: clamp(0.6rem, 2vw, 1rem);
    }
    
    .video-reviews-modal-content {
        width: 95%;
        margin: clamp(1rem, 3vw, 2rem);
    }
    
    .video-reviews-caption {
        font-size: clamp(0.85rem, 2.5vw, 0.95rem);
    }
}

@media (max-width: 480px) {
    .video-reviews-grid {
        grid-template-columns: 1fr;
        gap: clamp(0.8rem, 2vw, 1rem);
    }
    
    .video-reviews-item {
        max-width: 100%;
    }
    
    .video-reviews-modal-content {
        width: 98%;
        margin: clamp(0.5rem, 2vw, 1rem);
    }
    
    .video-reviews-play-btn {
        width: clamp(45px, 12vw, 60px);
        height: clamp(45px, 12vw, 60px);
        font-size: clamp(18px, 5vw, 24px);
    }
}

/* Анимация появления элементов */
.video-reviews-item {
    animation: slideUpFade 0.6s ease-out;
    animation-fill-mode: both;
}

.video-reviews-item:nth-child(1) { animation-delay: 0.1s; }
.video-reviews-item:nth-child(2) { animation-delay: 0.2s; }
.video-reviews-item:nth-child(3) { animation-delay: 0.3s; }
.video-reviews-item:nth-child(4) { animation-delay: 0.4s; }
.video-reviews-item:nth-child(5) { animation-delay: 0.5s; }
.video-reviews-item:nth-child(6) { animation-delay: 0.6s; }
.video-reviews-item:nth-child(7) { animation-delay: 0.7s; }
.video-reviews-item:nth-child(8) { animation-delay: 0.8s; }

@keyframes slideUpFade {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* Дополнительные стили для футера */
.footer-links a:hover {
    color: var(--primary-color) !important;
    transition: color 0.3s ease;
}

.hover-text-primary:hover {
    color: var(--primary-color) !important;
}

.social-links a:hover {
    color: var(--primary-color) !important;
    transition: color 0.3s ease;
}

/* Улучшенные карточки */
.card:hover {
    transform: translateY(-2px);
    transition: all 0.3s ease;
}

/* Стили для статусов квартир в админке */
.apartment-status {
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
}

.apartment-status.available {
    background-color: #d4edda;
    color: #155724;
}

.apartment-status.reserved {
    background-color: #fff3cd;
    color: #856404;
}

.apartment-status.sold {
    background-color: #f8d7da;
    color: #721c24;
}

/* Responsive изображения */
.card-img-top img {
    transition: transform 0.3s ease;
}

.card:hover .card-img-top img {
    transform: scale(1.05);
}

/* Стили для модального окна */
.modal-content {
    border-radius: 18pxpx;
}

.modal-header {
    border-bottom: 1px solid #e9ecef;
}

.modal-footer {
    border-top: 1px solid #e9ecef;
}

/* Стили для форм */
.form-control:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 0.2rem rgba(13, 60, 99, 0.25);
}

.form-select:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 0.2rem rgba(13, 60, 99, 0.25);
}

/* Анимации */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fade-in-up {
    animation: fadeInUp 0.6s ease-out;
}

/* Утилитарные классы */
.text-primary-custom {
    color: var(--primary-color) !important;
}

.bg-primary-custom {
    background-color: var(--primary-color) !important;
}

.border-primary-custom {
    border-color: var(--primary-color) !important;
}

/* Print styles */
@media print {
    .navbar, .footer, .modal, .btn {
        display: none !important;
    }
    
    .card {
        break-inside: avoid;
        border: 1px solid #ddd !important;
        box-shadow: none !important;
    }
}

/* ============================================
   СТРАНИЦА КВАРТИРЫ (single-apartments.php)
   ============================================ */

/* === ОСНОВНОЙ КОНТЕЙНЕР === */
.apartment-single {
    padding: clamp(2rem, 5vw, 4rem) 0;
}

.apartment-container {
    max-width: 1400px;
    width: 100%; /* или просто не указывать width */
    padding: 0 clamp(1rem, 3vw, 2rem);
}

/* H1 название квартиры */
.apartment-main-title {
    margin: clamp(1rem, 2vw, 2rem);
    text-align: left;
}

/* H3 название ЖК */
.apartment-zhk-title {
    color: #666;
    font-weight: 400;
    margin: clamp(1rem, 2vw, 2rem);
    text-align: left;
}

@media (max-width: 768px) {
    .apartment-main-title,
    .apartment-zhk-title {
        text-align: left;
    }
}

/* === ЛЕВАЯ КОЛОНКА: ПЛАНИРОВКИ === */
.apartment-left-column {
    padding-right: clamp(1rem, 3vw, 2rem);
}

/* Блок планировок с табами */
.apartment-plans-section {
    background-color: #ffffff;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    margin-bottom: clamp(2rem, 4vw, 3rem);
}

/* Табы навигации */
.apartment-plans-tabs {
    border-bottom: 2px solid #e9ecef;
    display: flex;
    margin-bottom: 0;
}

.apartment-plans-tabs .nav-link {
    color: #6c757d;
    font-size: clamp(0.9rem, 2vw, 1.1rem);
    font-weight: 600;
    padding: clamp(0.8rem, 2vw, 1.2rem) clamp(1.5rem, 3vw, 2rem);
    border: none;
    border-bottom: 3px solid transparent;
    transition: all 0.3s ease;
    font-family: 'PT Serif', serif;
}

.apartment-plans-tabs .nav-link:hover {
    color: #0d3c63;
    border-bottom-color: rgba(13, 60, 99, 0.3);
}

.apartment-plans-tabs .nav-link.active {
    color: #0d3c63;
    border-bottom-color: #0d3c63;
    background-color: transparent;
}

/* Контент табов */
.apartment-plans-content {
    padding: clamp(1.5rem, 3vw, 2.5rem);
}

.plan-image-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    /*min-height: 400px;*/
}

.apartment-plan-img {
    max-width: 100%;
    height: auto;
    max-height: 600px;
    object-fit: contain;
    border-radius: 18px;
}

.plan-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 400px;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border-radius: 18px;
    color: #6c757d;
    font-size: clamp(1rem, 2vw, 1.2rem);
}

/* === КНОПКИ ИНФРАСТРУКТУРЫ === */
.apartment-infrastructure-buttons {
    margin-bottom: clamp(2rem, 4vw, 3rem);
    background: linear-gradient(135deg, #c8d8e8 0%, #a8c0d5 100%);
    border-radius: 18pxpx;
    padding: 20px;
}

/*.infrastructure-buttons-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: clamp(0.8rem, 2vw, 1.2rem);
}

.infra-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(0.5rem, 1vw, 0.8rem);
    padding: clamp(0.8rem, 2vw, 1.2rem);
    background-color: #ffffff;
    border: 2px solid #0d3c63;
    border-radius: clamp(8px, 2vw, 12px);
    color: #0d3c63;
    font-size: clamp(0.9rem, 2vw, 1rem);
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    font-family: 'PT Serif', serif;
}

.infra-btn svg {
    width: clamp(20px, 4vw, 24px);
    height: clamp(20px, 4vw, 24px);
    transition: transform 0.3s ease;
}

.infra-btn:hover {
    background-color: #D32F2F;
    border-color: #D32F2F;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(211, 47, 47, 0.3);
}

.infra-btn:hover svg {
    transform: scale(1.1);
}*/

/* === ПРАВАЯ КОЛОНКА === */
.apartment-right-column {
    padding-left: clamp(1rem, 3vw, 2rem);
}

/* Верхний блок действий */
.apartment-actions-block {
    background-color: #ffffff;
    border-radius: 18px;
    padding: clamp(1.5rem, 3vw, 2rem);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    margin-bottom: clamp(1.5rem, 3vw, 2rem);
    /*position: sticky;*/
    top: 100px;
}

.actions-header {
    display: flex;
    flex-direction: column;
    gap: clamp(0.75rem, 2vw, 1rem);
    margin-bottom: clamp(1rem, 2vw, 1.5rem);
}

.apartment-price-badge {
    font-family: 'PT Serif', serif;
    font-size: clamp(1.125rem, 2.5vw, 1.5rem);
    font-weight: 700;
    text-align: center;
    padding: clamp(0.5rem, 1vw, 0.75rem);
    background: linear-gradient(135deg, #c8d8e8 0%, #a8c0d5 100%);
    border-radius: 18px;
}
.actions-buttons {
    display: flex;
    gap: clamp(0.5rem, 1vw, 0.75rem);
}
.actions-buttons .btn-booking {
    flex: 1;
}

.actions-buttons .btn-favorite {
    flex-shrink: 0;
}

/* Кнопка избранное */
.btn-favorite {
    background: transparent;
    border: 2px solid #e9ecef;
    border-radius: 50%;
    width: clamp(45px, 8vw, 55px);
    height: clamp(45px, 8vw, 55px);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    color: #6c757d;
}

.btn-favorite:hover,
.btn-favorite.active {
    background-color: #D32F2F;
    border-color: #D32F2F;
    color: #ffffff;
    transform: scale(1.05);
}

.btn-favorite svg {
    width: clamp(22px, 4vw, 26px);
    height: clamp(22px, 4vw, 26px);
}

.btn-favorite.active svg path {
    fill: #ffffff;
}

/* Кнопка бронирования */
.btn-booking {
    flex: 1;
    background: linear-gradient(135deg, #0d3c63 0%, #2c5f7c 100%);
    border: none;
    color: #ffffff;
    font-size: clamp(1rem, 2vw, 1.1rem);
    font-weight: 600;
    padding: clamp(0.8rem, 2vw, 1rem);
    border-radius: 18px;
    transition: all 0.3s ease;
    font-family: 'PT Serif', serif;
}

.btn-booking:hover {
    background: linear-gradient(135deg, #2c5f7c 0%, #0d3c63 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(13, 60, 99, 0.3);
}

/* ============================================
   Блок "Условия покупки" - кнопки с иконками
   ============================================ */

.payment-conditions-block {
    margin-bottom: clamp(1.5rem, 2vw, 2rem);
    padding: clamp(1rem, 2vw, 1.5rem);
    background: #F9FAFB;
    border-radius: 18px;
}

.payment-conditions-block h4 {
    font-size: clamp(1rem, 1.5vw, 1.125rem);
    font-weight: 600;
    margin-bottom: 1rem;
    color: #1F2937;
}

.payment-options-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.payment-option-btn {
    display: flex;
    align-items: center;
    padding: 0.875rem 1rem;
    background: #fff;
    border: 1px solid #E5E7EB;
    border-radius: 18px;
    text-decoration: none;
    color: #6B7280;
    font-size: 0.9375rem;
    transition: all 0.2s ease;
    position: relative;
}

.payment-option-btn:hover {
    border-color: #0d3c63;
    background: #EFF6FF;
    color: #0d3c63;
    transform: translateX(2px);
    box-shadow: 0 2px 8px rgba(59, 130, 246, 0.1);
}

.payment-option-icon {
    width: 24px;
    height: 24px;
    margin-right: 0.75rem;
    color: #3B82F6;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.payment-option-icon svg {
    width: 100%;
    height: 100%;
}

.payment-option-btn:hover .payment-option-icon {
    color: #2563EB;
}

.payment-option-text {
    flex-grow: 1;
    font-weight: 500;
}

/* Бейдж "ВЫГОДНО" */
.payment-badge {
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    color: #fff;
    background: #EF4444;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    margin-left: 0.5rem;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

/* Мобильная адаптация */
@media (max-width: 768px) {
    .payment-conditions-block {
        padding: 1rem;
        border-radius: 18px;
    }
    
    .payment-option-btn {
        padding: 0.75rem 0.875rem;
        font-size: 0.875rem;
    }
    
    .payment-option-icon {
        width: 20px;
        height: 20px;
        margin-right: 0.625rem;
    }
    
    .payment-badge {
        font-size: 0.625rem;
        padding: 0.1875rem 0.375rem;
        margin-left: 0.375rem;
    }
}

/* Адаптация для очень маленьких экранов */
@media (max-width: 480px) {
    .payment-option-btn {
        font-size: 0.8125rem;
        padding: 0.625rem 0.75rem;
    }
    
    .payment-option-text {
        font-size: 0.8125rem;
    }
}


/* Условия покупки */
/*.payment-conditions {
    margin-bottom: clamp(1.2rem, 3vw, 1.5rem);
}

.payment-title {
    font-size: clamp(1rem, 2vw, 1.2rem);
    font-weight: 700;
    color: #0d3c63;
    margin-bottom: clamp(0.8rem, 2vw, 1rem);
    font-family: 'PT Serif', serif;
}

.payment-options-list {
    display: flex;
    flex-direction: column;
    gap: clamp(0.6rem, 1.5vw, 0.8rem);
}

.payment-option-item {
    display: flex;
    align-items: center;
    gap: clamp(0.6rem, 1.5vw, 0.8rem);
    padding: clamp(0.6rem, 1.5vw, 0.8rem);
    background-color: #f8f9fa;
    border-radius: clamp(6px, 1.5vw, 8px);
    transition: all 0.3s ease;
}

.payment-option-item:hover {
    background-color: #e9ecef;
}

.payment-icon {
    width: clamp(28px, 5vw, 36px);
    height: clamp(28px, 5vw, 36px);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #0d3c63;
    flex-shrink: 0;
}

.payment-icon svg {
    width: 100%;
    height: 100%;
}

.payment-label {
    font-size: clamp(0.85rem, 1.8vw, 0.95rem);
    color: #495057;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: clamp(0.4rem, 1vw, 0.6rem);
}

.mortgage-rate-badge {
    background-color: #D32F2F;
    color: #ffffff;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: clamp(0.75rem, 1.5vw, 0.85rem);
    font-weight: 600;
}*/

/* Кнопка "Узнать цену" */
.btn-price {
    width: 100%;
    background-color: #ec6830;
    border: none;
    color: #ffffff;
    font-size: clamp(0.95rem, 2vw, 1.05rem);
    font-weight: 600;
    padding: clamp(0.9rem, 2vw, 1.1rem);
    border-radius: 18px;
    transition: all 0.3s ease;
    font-family: 'PT Serif', serif;
}

.btn-price:hover {
    background-color: #d95a28;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(236, 104, 48, 0.3);
}

/* === БЛОК ХАРАКТЕРИСТИК === */
.apartment-characteristics {
    background-color: #ffffff;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}
.characteristics-title {
    padding: 20px 0 0 40px;
}

/* Табы характеристик */
.characteristics-tabs {
    border-bottom: 2px solid #e9ecef;
    display: flex;
    margin-bottom: 0;
}

.characteristics-tabs .nav-link {
    color: #6c757d;
    font-size: clamp(0.9rem, 2vw, 1rem);
    font-weight: 600;
    padding: clamp(0.8rem, 2vw, 1rem) clamp(1.5rem, 3vw, 2rem);
    border: none;
    border-bottom: 3px solid transparent;
    transition: all 0.3s ease;
    font-family: 'PT Serif', serif;
}

.characteristics-tabs .nav-link:hover {
    color: #0d3c63;
    border-bottom-color: rgba(13, 60, 99, 0.3);
}

.characteristics-tabs .nav-link.active {
    color: #0d3c63;
    border-bottom-color: #0d3c63;
    background-color: transparent;
}

/* Контент характеристик */
.characteristics-content {
    padding: clamp(1.5rem, 3vw, 2rem);
}

.characteristics-list {
    display: flex;
    flex-direction: column;
    gap: clamp(0.8rem, 2vw, 1rem);
    margin-bottom: clamp(1.5rem, 3vw, 2rem);
}

.characteristic-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: clamp(0.6rem, 1.5vw, 0.8rem) 0;
    border-bottom: 1px solid #e9ecef;
}

.characteristic-item:last-child {
    border-bottom: none;
}

.char-label {
    font-size: clamp(0.9rem, 2vw, 1rem);
    color: #6c757d;
    font-weight: 500;
}

.char-value {
    font-size: clamp(0.95rem, 2vw, 1.05rem);
    color: #212529;
    font-weight: 600;
    font-family: 'PT Serif', serif;
}

/* Экспликация помещений */
.rooms-explication {
    margin-top: clamp(1.5rem, 3vw, 2rem);
    padding-top: clamp(1.5rem, 3vw, 2rem);
    border-top: 2px solid #e9ecef;
}

.explication-title {
    font-size: clamp(1rem, 2vw, 1.2rem);
    font-weight: 700;
    color: #0d3c63;
    margin-bottom: clamp(1rem, 2vw, 1.2rem);
    font-family: 'PT Serif', serif;
}

.rooms-list {
    display: flex;
    flex-direction: column;
    gap: clamp(0.6rem, 1.5vw, 0.8rem);
}

.room-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: clamp(0.5rem, 1.5vw, 0.7rem);
    background-color: #f8f9fa;
    border-radius: 18px;
}

.room-name {
    font-size: clamp(0.85rem, 1.8vw, 0.95rem);
    color: #495057;
}

.room-area {
    font-size: clamp(0.85rem, 1.8vw, 0.95rem);
    color: #212529;
    font-weight: 600;
}

/* Кнопка бронирования под табами */
.btn-booking-bottom {
    display: block;
    width: 90%;
    margin: 20px auto;
    background: linear-gradient(135deg, #0d3c63 0%, #2c5f7c 100%);
    border: none;
    color: #ffffff;
    font-size: clamp(0.95rem, 2vw, 1.05rem);
    font-weight: 600;
    padding: 1rem 1.5rem;
    border-radius: 18px;
    transition: all 0.3s ease;
    font-family: 'PT Serif', serif;
}

.btn-booking-bottom i {
    font-size: 1.2rem;
}

.btn-booking-bottom:hover {
    background: linear-gradient(135deg, #2c5f7c 0%, #0d3c63 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(13, 60, 99, 0.3);
}

/* ==============================================
   БЛОК "ПОХОЖИЕ ПЛАНИРОВКИ"
   ============================================== */

.similar-apartments-section {
    margin-top: clamp(3rem, 5vw, 5rem);
    margin-bottom: clamp(3rem, 5vw, 5rem);
    padding: 0 clamp(1rem, 3vw, 2rem);
}

.similar-apartments-section .section-title {
    /*font-family: 'PT Serif', serif;
    font-size: clamp(1.75rem, 3vw, 2.5rem);
    font-weight: 700;
    color: #1a1a1a;*/
    margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

.similar-apartments-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: clamp(1rem, 2vw, 1.5rem);
}

.similar-apartment-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 18px;
    overflow: hidden;
    text-decoration: none;
    transition: all 0.3s ease;
}

.similar-apartment-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    border-color: #DC2626;
}

.similar-apartment-image {
    position: relative;
    width: 100%;
    padding-top: 90%; /* 4:3 aspect ratio */
    background: #f5f5f5;
    overflow: hidden;
}

.similar-apartment-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    padding: clamp(0.5rem, 1.5vw, 0.75rem);
}

.similar-apartment-image.no-image {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f0f0f0;
}

.similar-apartment-image.no-image span {
    position: absolute;
    color: #999;
    font-size: 0.875rem;
}

.similar-apartment-info {
    padding: clamp(0.75rem, 2vw, 1.25rem);
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.similar-apartment-title {
    /*font-family: 'PT Serif', serif;*/
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    font-weight: 600;
    /*color: #1a1a1a;*/
    margin: 0;
    line-height: 1.3;
}

.similar-apartment-subtitle {
    font-size: clamp(0.813rem, 1.2vw, 0.875rem);
    color: #666;
    margin: 0.25rem 0 0.5rem 0;
}

.similar-apartment-area {
    font-size: clamp(0.813rem, 1.2vw, 0.875rem);
    color: #666;
    margin: 0;
}

.similar-apartment-price {
    /*font-family: 'PT Serif', serif;
    font-size: clamp(1rem, 1.5vw, 1.125rem);
    font-weight: 700;
    color: #DC2626;*/
    margin: 0;
}

/* Адаптив */
@media (max-width: 768px) {
    .similar-apartments-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }
}

@media (max-width: 480px) {
    .similar-apartments-grid {
        grid-template-columns: 1fr;
    }
}

/* === БЛОК "ПОХОЖИЕ ПЛАНИРОВКИ" === 
.similar-apartments-section {
    padding: clamp(3rem, 6vw, 5rem) 0;
    background: linear-gradient(to bottom, rgba(13, 60, 99, 0.03) 0%, rgba(255, 255, 255, 1) 100%);
}

.similar-apartments-title {
    font-size: clamp(1.8rem, 4vw, 2.5rem);
    font-weight: 700;
    color: #0d3c63;
    text-align: center;
    margin-bottom: clamp(2rem, 4vw, 3rem);
    font-family: 'PT Serif', serif;
}

.similar-apartment-card {
    background-color: #ffffff;
    border-radius: clamp(12px, 3vw, 18px);
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.similar-apartment-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
}

.similar-apt-image {
    position: relative;
    padding-top: 75%;
    overflow: hidden;
    background-color: #f8f9fa;
}

.similar-apt-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: clamp(0.5rem, 1vw, 1rem);
    transition: transform 0.3s ease;
}

.similar-apartment-card:hover .similar-apt-image img {
    transform: scale(1.05);
}

.similar-apt-placeholder {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    color: #6c757d;
    font-size: clamp(0.9rem, 2vw, 1rem);
}

.similar-apt-content {
    padding: clamp(1rem, 2vw, 1.5rem);
    flex: 1;
    display: flex;
    flex-direction: column;
}

.similar-apt-title {
    font-size: clamp(1rem, 2vw, 1.2rem);
    font-weight: 700;
    color: #0d3c63;
    margin-bottom: clamp(0.3rem, 1vw, 0.5rem);
    font-family: 'PT Serif', serif;
}

.similar-apt-floor {
    font-size: clamp(0.85rem, 1.8vw, 0.95rem);
    color: #6c757d;
    margin-bottom: clamp(1rem, 2vw, 1.2rem);
}

.btn-similar-booking {
    width: 100%;
    background: linear-gradient(135deg, #0d3c63 0%, #2c5f7c 100%);
    border: none;
    color: #ffffff;
    font-size: clamp(0.9rem, 2vw, 1rem);
    font-weight: 600;
    padding: clamp(0.7rem, 1.5vw, 0.9rem);
    border-radius: clamp(6px, 1.5vw, 8px);
    transition: all 0.3s ease;
    margin-top: auto;
}

.btn-similar-booking:hover {
    background: linear-gradient(135deg, #2c5f7c 0%, #0d3c63 100%);
    transform: translateY(-2px);
}*/

/* Кастомная сетка для 5 колонок */
.col-xl-2-4 {
    flex: 0 0 auto;
    width: 20%;
}

/* === МОБИЛЬНАЯ АДАПТАЦИЯ === */
@media (max-width: 991px) {
    .apartment-left-column,
    .apartment-right-column {
        padding-left: 0;
        padding-right: 0;
    }
    
    .apartment-left-column {
        margin-bottom: clamp(2rem, 4vw, 3rem);
    }
    
    .apartment-actions-block {
        position: static;
    }
    
    .col-xl-2-4 {
        width: 33.333333%;
    }
}

@media (max-width: 768px) {
    .apartment-plans-tabs,
    .characteristics-tabs {
        flex-wrap: wrap;
    }
    
    .apartment-plans-tabs .nav-link,
    .characteristics-tabs .nav-link {
        flex: 1;
        text-align: center;
        min-width: 100px;
    }
    
    .infrastructure-buttons-grid {
        grid-template-columns: 1fr;
    }
    
    .actions-header {
        flex-wrap: wrap;
        padding: 0 20px;
    }
    
    .btn-favorite {
        order: 2;
    }
    
    .btn-booking {
        order: 1;
        flex: 1 0 60%;
        /*margin-bottom: clamp(0.8rem, 2vw, 1rem);*/
    }
    
    .col-xl-2-4 {
        width: 50%;
    }
}

@media (max-width: 576px) {
    .apartment-single {
        padding: clamp(1rem, 3vw, 2rem) 0;
    }
    
    .col-xl-2-4 {
        width: 100%;
    }
    
    .similar-apt-content {
        padding: clamp(0.8rem, 2vw, 1rem);
    }
}

/**
 * ========================================
 * УНИВЕРСАЛЬНЫЙ КАТАЛОГ КВАРТИР
 * ========================================
 */

/* Сайдбар фильтров */
.apartments-sidebar {
    position: sticky;
    top: 20px;
}

.filters-wrapper {
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 18px;
    padding: 1.5rem;
}

.filter-group {
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid #dee2e6;
}

.filter-group:last-of-type {
    border-bottom: none;
}

.filter-group h4 {
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 1rem;
    color: #212529;
}

/* Иерархические фильтры */
.filter-group-hierarchical .filter-parent {
    margin-bottom: 1rem;
}

.filter-parent-label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 600;
    cursor: pointer;
    transition: color 0.2s;
}

.filter-parent-label:hover {
    color: var(--bs-primary);
}

.filter-parent-label input[type="checkbox"] {
    margin-right: 0.5rem;
}

.filter-children {
    padding-left: 1.5rem;
    margin-top: 0.5rem;
    border-left: 2px solid #dee2e6;
}

.filter-child-label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: normal;
    cursor: pointer;
    transition: color 0.2s;
}

.filter-child-label:hover {
    color: var(--bs-primary);
}

.filter-child-label input[type="checkbox"] {
    margin-right: 0.5rem;
}

/* Обычные фильтры (комнаты) */
.filter-options label {
    display: block;
    margin-bottom: 0.5rem;
    cursor: pointer;
    transition: color 0.2s;
}

.filter-options label:hover {
    color: var(--bs-primary);
}

.filter-options input[type="checkbox"] {
    margin-right: 0.5rem;
}

/* Цена */
.price-range {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.price-range input {
    flex: 1;
}

.range-separator {
    color: #6c757d;
}

/* Счётчик */
.results-counter {
    padding: 1rem;
    background: #f8f9fa;
    border-radius: 18px;
    text-align: center;
    font-size: 0.95rem;
}

.results-counter strong {
    color: var(--bs-primary);
    font-size: 1.25rem;
}

/* Кнопки быстрого доступа */
.catalog-quick-links .btn-group {
    gap: 0.5rem;
}

.catalog-quick-links .btn {
    white-space: nowrap;
}

/* Состояние загрузки */
#apartments-container.loading {
    position: relative;
    pointer-events: none;
}

/* Адаптивность */
@media (max-width: 991px) {
    .apartments-sidebar {
        position: static;
        margin-bottom: 2rem;
    }
}

/* Карточка квартиры */
.apartment-card {
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 18px;
    overflow: hidden;
    transition: transform 0.2s, box-shadow 0.2s;
}

.apartment-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.apartment-card-link {
    text-decoration: none;
    color: inherit;
    display: block;
}

.apartment-card-image {
    width: 100%;
    height: 200px;
    overflow: hidden;
}

.apartment-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.apartment-card-no-image {
    background: #f8f9fa;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6c757d;
}

.apartment-card-body {
    padding: 1rem;
}

.apartment-card-title {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 16px;
    color: #212529;
}

.apartment-card-zhk {
    font-size: 18px;
    color: #6c757d;
    margin-bottom: 12px;
}

.apartment-card-specs {
    display: flex;
    flex-direction: column;
    gap: 10px;
    font-size: 18px;
    margin-bottom: 12px;
}

/* Футер карточки с кнопкой */
.apartment-card-footer {
    padding: 0 1rem 1rem 1rem;
}

.btn-mortgage-calc {
    font-size: 16px;
    width: 90%;
    padding: 8px 16px !important;
    white-space: nowrap;
    background: linear-gradient(135deg, #0d3c63 0%, #2c5f7c 100%) !important;
    border: none;
    border-radius: 18px;
    color: #fff;
    transition: transform 0.2s, box-shadow 0.2s;
    margin: 10px 0;
}

.btn-mortgage-calc:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(13, 60, 99, 0.4);
    background: #d95a28;
}

.btn-mortgage-calc:active {
    transform: translateY(0);
    box-shadow: 0 2px 6px rgba(13, 60, 99, 0.3);
}

.spec-item {
    color: #495057;
}

.apartment-card-price {
    font-size: 18px;
    font-weight: 700;
    margin-top: 12px;
}

/* Каталог через шорткод */
.shortcode-apartments-catalog {
    margin: 2rem 0;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(13, 60, 99, 0.1) 100%);
}

.catalog-header h2 {
    font-size: clamp(24px, 4vw, 42px);
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.catalog-pagination {
    display: flex;
    justify-content: center;
}

.catalog-pagination ul {
    display: flex;
    list-style: none;
    gap: 0.5rem;
    padding: 0;
}

.catalog-pagination li a,
.catalog-pagination li span {
    display: block;
    padding: 0.5rem 1rem;
    border: 1px solid #dee2e6;
    border-radius: 0.375rem;
    text-decoration: none;
    color: #212529;
    transition: all 0.2s;
}

.catalog-pagination li a:hover {
    background: var(--bs-primary, #2c5282);
    color: #fff;
    border-color: var(--bs-primary, #2c5282);
}

.catalog-pagination li.current span {
    background: var(--bs-primary, #2c5282);
    color: #fff;
    border-color: var(--bs-primary, #2c5282);
}

/* Фильтр по комнатам */
.catalog-rooms-filter {
    display: flex;
    justify-content: start;
}

.catalog-rooms-filter .btn-group {
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    border-radius: 0.375rem;
    overflow: hidden;
}

.rooms-filter-btn {
    font-size: 16px;
    border-radius: 8px;
    border-color: #6B7280;
    transition: all 0.2s;
}

.rooms-filter-btn:hover {
    background: #F9FAF;
}

.rooms-filter-btn.active {
    background: #2c5282;
    color: #fff;
    border-color: #2c5282;
}

/* Кнопка "Загрузить ещё" */
.btn-load-more {
    width: 400px;
    background: linear-gradient(135deg, #0d3c63 0%, #2c5f7c 100%);
    border: none;
    border-radius: 18px;
    padding: 0.75rem 2rem;
    font-weight: 600;
}

.btn-load-more:hover {
    background: linear-gradient(135deg, #0a2f4f 0%, #1f4a62 100%);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(13, 60, 99, 0.4);
}

.btn-load-more:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}


@media (max-width: 767px) {
    .btn-load-more {
        width: 90%;
        font-size: 16px;
    }
}


/* ========================================
   VK NEWS BLOCK
   ======================================== */

.vk-news-section {
    padding: 60px 0;
    background: #f8f9fa;
}

.vk-news-title {
    font-family: 'PT Serif', serif;
    /*font-size: clamp(28px, 4vw, 36px);*/
    font-weight: 700;
    margin-bottom: 40px;
    text-align: left;
}

/* Сетка для десктопа */
.vk-news-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin-bottom: 40px;
}

/* Карточка новости */
.vk-news-card {
    display: block;
    background: #fff;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    transition: all 0.3s ease;
    text-decoration: none;
    color: inherit;
}

.vk-news-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 16px rgba(0,0,0,0.12);
}

.vk-news-card__image {
    width: 100%;
    height: 400px;
    overflow: hidden;
    background: #e9ecef;
}

.vk-news-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.vk-news-card:hover .vk-news-card__image img {
    transform: scale(1.05);
}

.vk-news-card__content {
    padding: 20px;
}

.vk-news-card__date {
    font-size: 13px;
    color: #6c757d;
    margin-bottom: 10px;
    font-weight: 500;
}

.vk-news-card__text {
    /*font-size: 16px;*/
    line-height: 1.5;
    color: #343a40;
}

/* Кнопка подписки VK */
.vk-subscribe-btn-wrapper {
    text-align: center;
    margin-top: 40px;
}

.vk-subscribe-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 14px 32px;
    background: linear-gradient(135deg, #0a2f4f 0%, #1f4a62 100%);
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    border-radius: 18px;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 119, 255, 0.2);
}

.vk-subscribe-btn svg {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}

.vk-subscribe-btn:hover {
    /*background: #0066DD;*/
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 119, 255, 0.3);
    color: #fff;
    text-decoration: none;
}

.vk-subscribe-btn:active {
    transform: translateY(0);
}

/* Адаптив для мобильных */
@media (max-width: 767px) {
    .vk-subscribe-btn-wrapper {
        margin-top: 30px;
    }
    
    .vk-subscribe-btn {
        padding: 12px 24px;
        font-size: 15px;
    }
}

/* Заглушка при отсутствии новостей */
.vk-news-empty {
    text-align: center;
    padding: 40px 20px;
    color: #6c757d;
    font-size: 16px;
}

/* Мобильная версия */
@media (max-width: 767px) {
    .vk-news-section {
        padding: 40px 0;
    }
    
    .vk-news-slider {
        margin-bottom: 30px;
        padding-bottom: 40px; /* для пагинации */
    }
    
    .vk-news-card__image {
        height: 180px;
    }
    
    .swiper-pagination {
        bottom: 0 !important;
    }
    
    .swiper-pagination-bullet {
        background: #3f729b;
        opacity: 0.3;
    }
    
    .swiper-pagination-bullet-active {
        opacity: 1;
    }
}

/* Планшеты */
@media (min-width: 768px) and (max-width: 991px) {
    .vk-news-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

/* ========================================
   Паттерн Способы покупки
   ======================================== */

.payment-methods-section {
    padding: 60px 0;
    background: #ffffff;
}

.payment-methods-container {
    max-width: 1400px;
    margin: 0 auto;
}

.payment-methods-title {
    font-family: 'PT Serif', serif;
    font-size: clamp(28px, 4vw, 36px);
    font-weight: 700;
    margin-bottom: 30px;
    color: #0d3c63;
}

/* Левая часть - фон и отступы */
.payment-methods-left {
    background: #dbe9f5;
    padding: 40px;
    border-radius: 18px;
}

/* Кнопки способов оплаты */
.payment-method-btn {
    background: #ffffff;
    color: #0d3c63;
    border: none;
    border-radius: 18px;
    padding: 24px 16px;
    font-size: 18px;
    font-weight: 600;
    min-height: 80px;
    transition: all 0.3s ease;
    box-shadow: none;
}

.payment-method-btn:hover {
    box-shadow: 0 4px 12px rgba(90, 152, 204, 0.3);
}

.payment-method-icon {
    color: #5a98cc;
    transition: color 0.3s ease;
}

.payment-method-btn:hover .payment-method-icon {
    color: #ffffff;
}

/* Кнопка "Смотреть все условия" */
.payment-all-conditions-btn {
    background: #ec6830;
    color: #ffffff;
    border: none;
    border-radius: 18px;
    padding: 18px 24px;
    font-size: 18px;
    font-weight: 600;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(236, 104, 48, 0.3);
}
.payment-all-conditions-btn:hover {
    color: #ffffff;
}

/* Правая часть - темный фон */
.payment-methods-right {
    background: #ffffff;
    padding: 40px;
    border-radius: 18px;
    border: 3px solid #ec6830;
    /*color: #ffffff;*/
}

.payment-form-content {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.payment-form-title {
    /*font-family: 'PT Serif', serif;*/
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 12px;
    /*color: #ffffff;*/
}

.payment-form-description {
    font-size: 18px;
    /*color: rgba(255, 255, 255, 0.9);*/
    margin-bottom: 24px;
    line-height: 1.5;
}

.bitrix24-form-container {
    margin-bottom: 16px;
    flex-grow: 1;
}

.payment-form-note {
    font-size: 13px;
    /*color: rgba(255, 255, 255, 0.7);*/
    margin: 0;
    line-height: 1.5;
}

.payment-form-note a {
    /*color: #ffffff;*/
    text-decoration: underline;
}

.payment-form-note a:hover {
    color: rgba(255, 255, 255, 0.9);
}

/* Адаптив для планшетов */
@media (max-width: 991px) {
    .payment-methods-section {
        padding: 40px 0;
    }
    
    .payment-methods-left,
    .payment-methods-right {
        padding: 30px;
    }
    
    .payment-methods-right {
        margin-top: 20px;
    }
}

/* Адаптив для мобильных */
@media (max-width: 767px) {
    .payment-methods-left {
        padding: 24px;
    }
    
    .payment-method-btn {
        min-height: 120px;
        padding: 20px 12px;
        font-size: 14px;
    }
    
    .payment-method-icon svg {
        width: 32px;
        height: 32px;
    }
    
    .payment-all-conditions-btn {
        padding: 16px 20px;
        font-size: 16px;
    }
    
    .payment-methods-right {
        padding: 24px;
    }
    
    .payment-form-title {
        font-size: 20px;
    }
    
    .payment-form-description {
        font-size: 14px;
    }
}

/* ========================================
   Карта Позиции
   ======================================== */

.map-section {
    padding: 60px 0;
    background: #ffffff;
}

.map-section-title {
    font-family: 'PT Serif', serif;
    font-size: clamp(28px, 4vw, 36px);
    font-weight: 700;
    margin-bottom: 30px;
    color: #0d3c63;
    text-align: left;
}

.map-wrapper {
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0,0,0,0.1);
    background: #f8f9fa;
}

.map-wrapper iframe {
    display: block;
    width: 100%;
    height: 450px;
    border: none;
}

/* Адаптив для планшетов */
@media (max-width: 991px) {
    .map-section {
        padding: 50px 0;
    }
    
    .map-wrapper iframe {
        height: 400px;
    }
}

/* Адаптив для мобильных */
@media (max-width: 767px) {
    .map-section {
        padding: 40px 0;
    }
    
    .map-section-title {
        margin-bottom: 20px;
    }
    
    .map-wrapper iframe {
        height: 300px;
    }
}

/* Стили для SEO блока, созданного в Гутенберге */
.seo-text-section {
    padding: 60px 0;
    background: #f8f9fa;
}

.seo-text-section h2 {
    font-family: 'PT Serif', serif;
    font-size: clamp(24px, 4vw, 42px);
    font-weight: 700;
    margin: 30px auto;
    color: #0d3c63;
    /*text-align: center;*/
    max-width: 1400px;
}

.seo-text-section p {
    /*font-size: 18px;*/
    line-height: 1.7;
    margin-bottom: 20px;
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 767px) {
    .seo-text-section {
        padding: 40px 0;
    }
    
    .seo-text-section h2 {
        margin: 20px;
    }
    
    .seo-text-section p {
        /*font-size: 15px;*/
        margin: 20px 16px;
    }
}

/* ========================================
   Документы
   ======================================== */
.documents-section {
    padding: 60px 0;
    background: #f8f9fa;
}

.documents-title {
    font-family: 'PT Serif', serif;
    font-size: clamp(28px, 4vw, 36px);
    font-weight: 700;
    margin-bottom: 30px;
    color: #0d3c63;
    text-align: left;
}

/* Сетка документов */
.documents-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 40px;
}

/* Для главной страницы (3 колонки) */
.documents-grid.documents-grid-wide {
    grid-template-columns: repeat(3, 1fr);
}

/* Карточка документа */
.document-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px;
    background: #ffffff;
    border-radius: 18px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    text-decoration: none;
    transition: all 0.3s ease;
}

.document-item:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.12);
    transform: translateY(-2px);
    text-decoration: none;
}

/* Иконка */
.document-icon {
    width: 48px;
    height: 48px;
    flex-shrink: 0;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}
.document-icon svg {
    width: 100%;
}
/* Метка расширения файла */
.document-ext-label {
    position: absolute;
    bottom: 4px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 8px;
    font-weight: 700;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Цвета по типам файлов */
.document-icon-pdf {
    color: #ec6830; /* Оранжевый для PDF */
}

.document-icon-doc {
    color: #2b579a; /* Синий для Word */
}

.document-icon-xls {
    color: #217346; /* Зеленый для Excel */
}

.document-icon-zip {
    color: #7c7c7c; /* Серый для архивов */
}

.document-icon-default {
    color: #6c757d; /* Серый по умолчанию */
}

/* Информация */
.document-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.document-name {
    font-size: 16px;
    font-weight: 600;
    color: #ec6830;
    line-height: 1.3;
}

.document-item:hover .document-name {
    color: #d55a29;
}

.document-meta {
    font-size: 13px;
    color: #6c757d;
}

/* Группировка по категориям */
.documents-section-grouped {
    padding: 60px 0;
}

.documents-category-group {
    margin-bottom: 50px;
}

.documents-category-group:last-child {
    margin-bottom: 0;
}

.documents-category-title {
    font-family: 'PT Serif', serif;
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 24px;
    color: #0d3c63;
    text-align: center;
}

/* Адаптив */
@media (max-width: 991px) {
    .documents-grid,
    .documents-grid.documents-grid-wide {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    .documents-grid,
    .documents-grid.documents-grid-wide {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    
    .document-item {
        padding: 16px;
    }
    
    .documents-category-title {
        font-size: 24px;
        margin-bottom: 20px;
    }
}

/* ========================================
   HERO SECTION
   ======================================== */

.hero-section {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: #0d3c63;
}

/* Видео фон */
.hero-video-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

/* Kinescope iframe как видео фон */
.hero-video-kinescope {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100vw;
    height: 100vh;
    transform: translate(-50%, -50%);
    pointer-events: none; /* Отключаем клики по видео */
    border: none;
    
    /* Масштабирование для заполнения всей области */
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
}

/* Для широких экранов */
@media (min-aspect-ratio: 16/9) {
    .hero-video-kinescope {
        width: 100vw;
        height: 56.25vw; /* 16:9 aspect ratio */
    }
}

/* Для узких экранов */
@media (max-aspect-ratio: 16/9) {
    .hero-video-kinescope {
        width: 177.78vh; /* 16:9 aspect ratio */
        height: 100vh;
    }
}

/* Отключение на мобильных (опционально, если тормозит) */
@media (max-width: 767px) {
    .hero-video-kinescope {
        display: block; /* Можно оставить только фон-картинку */
    }
    
    /* Добавить фоновое изображение для мобильных */
    .hero-section {
        background-image: url('/wp-content/uploads/hero-mobile-bg.jpg');
        background-size: cover;
        background-position: center;
    }
}

/* Затемнение поверх видео */
.hero-video-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        135deg,
        rgba(13, 60, 99, 0.5) 0%,
        rgba(13, 60, 99, 0.4) 50%,
        rgba(13, 60, 99, 0.5) 100%
    );
}

/* Контент Hero */
.hero-content {
    position: relative;
    z-index: 2;
    padding: 100px 0;
}

/* Заголовок */
.hero-title {
    font-family: 'PT Serif', serif;
    font-size: clamp(30px, 6vw, 54px);
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 20px;
    line-height: 1.2;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

/* Подзаголовок */
.hero-subtitle {
    font-size: clamp(18px, 2.5vw, 24px);
    color: rgba(255, 255, 255, 0.95);
    margin-bottom: 40px;
    font-weight: 400;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
}

/* Кнопки CTA */
.hero-buttons {
    display: flex;
    gap: 16px;
    justify-content: center;
    margin-bottom: 60px;
    flex-wrap: wrap;
}

.hero-btn-primary,
.hero-btn-secondary {
    padding: 16px 32px;
    font-size: 18px;
    font-weight: 600;
    border-radius: 18px;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    border: none;
    cursor: pointer;
}

.hero-btn-primary {
    background: #ec6830;
    color: #ffffff;
    box-shadow: 0 4px 16px rgba(236, 104, 48, 0.4);
}

.hero-btn-primary:hover {
    background: #d55a29;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(236, 104, 48, 0.5);
    color: #ffffff;
    text-decoration: none;
}

.hero-btn-secondary {
    background: rgba(255, 255, 255, 0.15);
    color: #ffffff;
    backdrop-filter: blur(10px);
    border: 2px solid rgba(255, 255, 255, 0.3);
}

.hero-btn-secondary:hover {
    background: rgba(255, 255, 255, 0.25);
    border-color: rgba(255, 255, 255, 0.5);
    transform: translateY(-2px);
    color: #ffffff;
}

/* Статистика */
.hero-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
    max-width: 900px;
    margin: 0 auto;
}

.hero-stat-item {
    text-align: center;
}

.hero-stat-value {
    font-family: 'PT Serif', serif;
    font-size: clamp(24px, 3vw, 36px);
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 8px;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.hero-stat-label {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.8);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Кнопка прокрутки вниз */
.hero-scroll-down {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    color: rgba(255, 255, 255, 0.7);
    animation: bounce 2s infinite;
    cursor: pointer;
    transition: color 0.3s ease;
}

.hero-scroll-down:hover {
    color: #ffffff;
}

@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        transform: translateX(-50%) translateY(0);
    }
    40% {
        transform: translateX(-50%) translateY(-10px);
    }
    60% {
        transform: translateX(-50%) translateY(-5px);
    }
}

/* Модальное окно калькулятора */
#mortgageModal .modal-content {
    border-radius: 18px;
    overflow: hidden;
}

#mortgageModal .modal-header {
    background: #0d3c63;
    color: #ffffff;
    border-bottom: none;
    padding: 20px 24px;
}

#mortgageModal .modal-title {
    font-family: 'PT Serif', serif;
    font-size: 24px;
    font-weight: 700;
}

#mortgageModal .btn-close {
    filter: invert(1);
}

/* Адаптив для планшетов */
@media (max-width: 991px) {
    .hero-content {
        padding: 80px 0;
    }
    
    .hero-stats {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }
    
    .hero-buttons {
        flex-direction: column;
        align-items: stretch;
    }
    
    .hero-btn-primary,
    .hero-btn-secondary {
        width: 100%;
        justify-content: center;
    }
}

/* Адаптив для мобильных */
@media (max-width: 767px) {
    .hero-section {
        min-height: 80vh;
    }
    
    .hero-content {
        padding: 60px 0;
    }
    
    .hero-title {
        margin-bottom: 16px;
    }
    
    .hero-subtitle {
        margin-bottom: 32px;
    }
    
    .hero-buttons {
        margin-bottom: 40px;
    }
    
    .hero-btn-primary,
    .hero-btn-secondary {
        padding: 14px 24px;
        font-size: 16px;
    }
    
    .hero-stats {
        gap: 20px;
    }
    
    .hero-stat-label {
        font-size: 12px;
    }
    
    .hero-scroll-down {
        bottom: 20px;
    }
}

/* Отключение видео на медленных соединениях */
@media (prefers-reduced-motion: reduce) {
    .hero-video {
        display: none;
    }
}

/* Для очень маленьких экранов */
@media (max-width: 380px) {
    .hero-stats {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}

/* ========================================
   ADVANTAGES SECTION
   ======================================== */

.advantages-section {
    padding: 80px 0;
    background: #f8f9fa;
}

.advantages-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

/* Карточка преимущества */
.advantage-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 32px 24px;
    background: #ffffff;
    border-radius: 18px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    transition: all 0.3s ease;
}

.advantage-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.12);
}

/* Иконка */
.advantage-icon {
    width: 48px;
    height: 48px;
    flex-shrink: 0;
    color: #5a98cc;
}

/* Контент */
.advantage-content {
    flex: 1;
}

.advantage-title {
    font-family: 'PT Serif', serif;
    font-size: 18px;
    font-weight: 700;
    color: #0d3c63;
    margin-bottom: 4px;
    line-height: 1.3;
}

.advantage-description {
    font-size: 14px;
    color: #6c757d;
    margin: 0;
    line-height: 1.4;
}

/* Адаптив для планшетов */
@media (max-width: 991px) {
    .advantages-section {
        padding: 60px 0;
    }
    
    .advantages-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

/* Адаптив для мобильных */
@media (max-width: 767px) {
    .advantages-section {
        padding: 40px 0;
    }
    
    .advantages-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    
    .advantage-item {
        padding: 24px 20px;
    }
    
    .advantage-icon {
        width: 40px;
        height: 40px;
    }
    
    .advantage-title {
        font-size: 16px;
    }
    
    .advantage-description {
        font-size: 13px;
    }
}

/* ========================================
   RESIDENTIAL COMPLEXES SECTION
   ======================================== */

.residential-complexes-section {
    padding: 80px 0;
    background: #ffffff;
}

/* Заголовок секции */
.section-header {
    margin-bottom: 48px;
}

.section-title {
    font-family: 'PT Serif', serif;
    font-size: clamp(24px, 4vw, 42px);
    font-weight: 700;
    color: #0d3c63;
    margin: 40px 16px 20px;
    /*text-align: center;*/
}

.section-subtitle {
    /*font-size: 20px;*/
    margin: 0;
}

/* Сетка карточек */
.rc-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}

/* Карточка ЖК */
.rc-card {
    background: #ffffff;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
}

.rc-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15);
}

/* 1 ряд: Заголовок с логотипом */
.rc-card-header {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px 5px;
    min-height: 120px;
}

/* Логотип центрирован */
.rc-logo {
    max-width: 240px;
    max-height: 80px;
    width: auto;
    height: auto;
    object-fit: contain;
}

.rc-logo-placeholder {
    width: 80px;
    height: 80px;
    background: rgba(255, 255, 255, 0.3);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.8);
}

/* Название ЖК теперь в футере */
.rc-name {
    font-family: 'PT Serif', serif;
    font-size: clamp(18px, 2vw, 22px);
    font-weight: 700;
    color: #0d3c63;
    margin: 0 0 8px 0;
    line-height: 1.3;
}

/* 2 ряд: Фото ЖК */
.rc-card-photo {
    position: relative;
    width: 100%;
    height: 280px;
    overflow: hidden;
}

.rc-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.rc-card:hover .rc-photo {
    transform: scale(1.05);
}

.rc-photo-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #e9ecef;
    color: #6c757d;
    font-size: 16px;
}

/* 3 ряд: Название + Цена + Кнопка */
.rc-card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 24px;
    background: #ffffff;
    border-top: 1px solid #e9ecef;
}

.rc-info {
    flex: 1;
}

/* Цена под названием */
.rc-price {
    font-size: clamp(15px, 1.4vw, 17px);
    font-weight: 600;
    color: #ec6830;
    margin: 0;
}

.rc-link-btn {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ec6830;
    color: #ffffff;
    border-radius: 50%;
    transition: all 0.3s ease;
    text-decoration: none;
    flex-shrink: 0;
}

.rc-link-btn:hover {
    background: #d55a29;
    transform: translateX(4px);
    color: #ffffff;
}

.rc-link-btn svg {
    width: 20px;
    height: 20px;
}

/* Адаптив для планшетов */
@media (max-width: 991px) {
    .residential-complexes-section {
        padding: 60px 0;
    }
    
    .rc-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }
    
    .rc-card-header {
        min-height: 90px;
        padding: 20px;
    }
    
    .rc-logo {
        width: 240px;
        /*height: 50px;*/
    }
    
    .rc-name {
        font-size: 20px;
    }
    
    .rc-card-photo {
        height: 240px;
    }
}

/* Адаптив для мобильных */
@media (max-width: 767px) {
    .residential-complexes-section {
        padding: 40px 0;
    }
    
    .section-header {
        margin-bottom: 32px;
    }
    
    .rc-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .rc-card-header {
        min-height: 100px;
        padding: 24px 16px;
    }
    
    .rc-logo {
        max-width: 240px;
        max-height: 60px;
    }
    
    .rc-name {
        font-size: 16px;
    }
    
    .rc-card-photo {
        height: 200px;
    }
    
    .rc-card-footer {
        padding: 20px;
        flex-wrap: wrap;
        gap: 12px;
    }
    
     .rc-price {
        font-size: 14px;
    }
    
    .rc-link-btn {
        width: 40px;
        height: 40px;
    }
}

/* Для очень маленьких экранов */
@media (max-width: 380px) {
    .rc-card-header {
        flex-direction: column;
        text-align: center;
        gap: 8px;
    }
    
    .rc-name {
        font-size: 16px;
    }
}

/* ========================================
   БЛОК: ЛУЧШИЕ ПРЕДЛОЖЕНИЯ
   ======================================== */

.popular-apartments-section {
    padding: 80px 0;
    background: #f8f9fa;
}

/* Карточка квартиры */
.popular-apartment-card {
    background: #ffffff;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.popular-apartment-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.popular-card-link {
    display: flex;
    flex-direction: column;
    height: 100%;
    text-decoration: none;
    color: inherit;
}

/* Изображение */
.popular-card-image {
    position: relative;
    width: 100%;
    height: 300px;
    overflow: hidden;
    background: #e9ecef;
    flex-shrink: 0;
}

.popular-card-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 0.3s ease;
}

.popular-apartment-card:hover .popular-card-image img {
    transform: scale(1.05);
}

/* Бейдж с названием ЖК */
.popular-card-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    background: #ec6830;
    color: #ffffff;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    backdrop-filter: blur(4px);
    z-index: 2;
}

/* Контент карточки */
.popular-card-content {
    padding: 20px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.popular-card-title {
    font-family: 'PT Serif', serif;
    font-size: 18px;
    font-weight: 700;
    color: #0d3c63;
    margin: 0 0 8px 0;
    line-height: 1.3;
}

.popular-card-price {
    font-size: 16px;
    font-weight: 600;
    color: #ec6830;
    margin: 0;
    margin-top: auto;
}

/* Pagination (скрыта на десктопе) */
.popular-pagination {
    display: none;
    margin-top: 24px;
}

.popular-apartments-swiper {
    display: none;
}

/* ========================================
   АДАПТИВ: ПЛАНШЕТ
   ======================================== */
@media (max-width: 991px) {
    .popular-apartments-section {
        padding: 60px 0;
    }
}

/* ========================================
   АДАПТИВ: МОБАЙЛ (Swiper)
   ======================================== */
@media (max-width: 767px) {
    /* Скрываем Bootstrap grid */
    .popular-apartments-grid {
        display: none !important;
    }
    
    /* Показываем Swiper */
    .popular-apartments-swiper {
        display: block !important;
    }
    
    .swiper-slide {
        width: 280px;
    }
    
    .popular-pagination {
        display: block;
        text-align: center;
    }
    
    .popular-pagination .swiper-pagination-bullet {
        width: 8px;
        height: 8px;
        background: #0d3c63;
        opacity: 0.3;
        margin: 0 4px;
    }
    
    .popular-pagination .swiper-pagination-bullet-active {
        opacity: 1;
        background: #ec6830;
    }
    
    .popular-apartments-section {
        padding: 40px 0;
    }
    
    .popular-card-image {
        height: 180px;
    }
}

/* ========================================
   ФУТЕР - КОНТАКТЫ
   ======================================== */

#site-footer {
    background: #fff;
}

.footer-contacts-section {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(13, 60, 99, 0.1) 100%);
}

/* Заголовок "Контакты" */
.footer-title {
    font-family: 'PT Serif', serif;
    font-size: 42px;
    font-weight: 700;
    color: #2C5282;
    margin-bottom: 30px;
    /*text-align: center;*/
}

/* Карточка офиса */
.office-card {
    border: 1px solid #2C5282;
    border-radius: 18px;
    padding: 25px;
    background: #fff;
}

/* Элемент информации (адрес, телефоны, часы) */
.office-info-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    flex-wrap: wrap;
}

/* Иконка */
.office-icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
}

.office-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: invert(48%) sepia(75%) saturate(2527%) hue-rotate(8deg) brightness(97%) contrast(96%);
    /* Это делает иконку оранжевой #F47920 */
}

/* Текст рядом с иконкой */
.office-text {
    flex: 1;
    line-height: 1.6;
    color: #333;
}

.office-text strong {
    font-weight: 600;
    color: #2C5282;
}

/* Телефоны в правой части */
.office-phones {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-left: auto;
}

/* Ссылки на телефоны */
.phone-link {
    color: #333;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s ease;
}

.phone-link:hover {
    color: #F47920;
    text-decoration: none;
}

/* ========================================
   БЛОК С ФОРМОЙ
   ======================================== */

.footer-form-block {
    background: #B8C5D0;
    border-radius: 18px;
    padding: 35px 30px;
    height: 100%;
}

.form-title {
    font-family: 'PT Serif', serif;
    font-size: 24px;
    font-weight: 600;
    color: #2C5282;
    margin-bottom: 15px;
}

.form-subtitle {
    font-size: 16px;
    line-height: 1.5;
    color: #2C5282;
    margin-bottom: 25px;
}

/* ========================================
   АДАПТИВНОСТЬ
   ======================================== */

@media (max-width: 991px) {
    .footer-title {
        font-size: 36px;
    }
    
    .office-card {
        padding: 20px;
    }
    
    /* На планшете телефоны под адресом */
    .office-phones {
        margin-left: 0;
        margin-top: 15px;
        width: 100%;
    }
}

@media (max-width: 767px) {
    .footer-title {
        font-size: 28px;
        text-align: center;
    }
    
    .office-card {
        padding: 20px;
        margin-bottom: 20px;
    }
    
    .office-info-item {
        /*flex-direction: column;*/
        gap: 10px;
    }
    
    .office-phones {
        margin-top: 10px;
    }
    
    .form-title {
        font-size: 20px;
        text-align: center;
    }
    
    .form-subtitle {
        font-size: 14px;
        text-align: center;
    }
    
    .footer-form-block {
        padding: 25px 20px;
        margin-top: 30px;
    }
}

@media (max-width: 480px) {
    .footer-title {
        font-size: 24px;
    }
    
    .office-card {
        padding: 15px;
    }
    
    .office-text {
        font-size: 14px;
    }
    
    .office-icon {
        width: 28px;
        height: 28px;
    }
}

/* ========================================
   ФУТЕР - НИЖНЯЯ ЧАСТЬ
   ======================================== */

.footer-bottom {
    background: linear-gradient(135deg, #2c5f7c 0%, #1a4a63 100%);
    padding: 50px 0 30px;
    color: #fff;
}

/* Логотип в футере */
.footer-logo img {
    max-width: 80px;
    height: auto;
    /*filter: brightness(0) invert(1); /* Делаем логотип белым */
}

/* Слоган */
.footer-tagline {
    font-size: 16px;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 20px;
}

/* Заголовки колонок */
.footer-menu-title {
    font-family: 'PT Serif', serif;
    font-size: 22px;
    font-weight: 600;
    color: #fff;
    margin-bottom: 20px;
}

/* Меню футера */
.footer-menu {
    margin-bottom: 20px;
}

.footer-menu-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-menu-list li {
    margin-bottom: 12px;
}

.footer-menu-list a {
    color: rgba(255, 255, 255, 0.85);
    text-decoration: none;
    font-size: 18px;
    transition: color 0.3s ease;
}

.footer-menu-list a:hover {
    color: #F47920;
    text-decoration: none;
}

/* Социальные сети */
.footer-social-title {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 10px;
}

.footer-social-link {
    display: inline-block;
    transition: opacity 0.3s ease;
}

.footer-social-link:hover {
    opacity: 0.7;
}

.footer-social-icon {
    width: 40px;
    height: 40px;
    /*filter: brightness(0) invert(1); /* Делаем иконку белой */
}

/* Дисклеймер */
.footer-disclaimer {
    font-size: 13px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.7);
}

.footer-disclaimer p {
    margin-bottom: 15px;
    font-size: 14px;
    line-height: 1.5;
    color: #ffffff;
}

.footer-policy-link {
    color: rgba(255, 255, 255, 0.85);
    text-decoration: underline;
    font-size: 13px;
    transition: color 0.3s ease;
}

.footer-policy-link:hover {
    color: #F47920;
    text-decoration: none;
}

/* ========================================
   АДАПТИВНОСТЬ НИЖНЕЙ ЧАСТИ
   ======================================== */

@media (max-width: 991px) {
    .footer-bottom {
        padding: 40px 0 25px;
    }
    
    .footer-menu-title {
        font-size: 16px;
        margin-bottom: 15px;
    }
}

@media (max-width: 767px) {
    .footer-bottom {
        padding: 30px 0 20px;
        text-align: center;
    }
    
    .footer-logo {
        text-align: center;
    }
    
    .footer-logo img {
        max-width: 150px;
    }
    
    .footer-tagline {
        text-align: center;
    }
    
    .footer-menu-list {
        text-align: center;
    }
    
    .footer-social {
        text-align: center;
    }
    
    .footer-disclaimer {
        text-align: center;
        margin-top: 20px;
    }
}

@media (max-width: 480px) {
    .footer-bottom {
        padding: 25px 0 15px;
    }
    
    .footer-menu-list li {
        margin-bottom: 10px;
    }
    
    .footer-menu-list a {
        font-size: 14px;
    }
    
    .footer-disclaimer {
        font-size: 12px;
    }
}

/* ========================================
   СТИЛИ ДЛЯ СЕТКИ ПОЗИЦИЙ ЖК
   ======================================== */

.pozicii-grid-section {
    background: #f8f9fa;
}

.pozicii-grid-section .section-title {
    font-family: 'PT Serif', serif;
    font-size: clamp(24px, 4vw, 42px);
    font-weight: 700;
    color: #0d3c63;
    margin-bottom: 1rem;
}

.pozicii-grid-section .section-subtitle {
    font-size: 1.1rem;
    color: #6c757d;
    margin-bottom: 0;
}

/* Карточка позиции */
.poziciya-card {
    background: #fff;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.poziciya-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

/* Изображение позиции */
.poziciya-card-image {
    position: relative;
    height: 340px;
    overflow: hidden;
    background: #f0f0f0;
}

.poziciya-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.poziciya-card:hover .poziciya-card-image img {
    transform: scale(1.05);
}

/* Заглушка изображения */
.poziciya-card-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #e9ecef;
}

/* Тело карточки */
.poziciya-card-body {
    padding: 1.5rem;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.poziciya-card-title {
    font-family: 'PT Serif', serif;
    font-size: 1.4rem;
    font-weight: 700;
    color: #0d3c63;
    margin-bottom: 1rem;
}

/* Характеристики */
.poziciya-characteristics {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
    flex: 1;
}

.poziciya-char-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.95rem;
    color: #495057;
}

.poziciya-icon {
    flex-shrink: 0;
    color: #EC6830;
    width: 18px;
    height: 18px;
}

.poziciya-char-text {
    line-height: 1.4;
}

/* Футер карточки */
.poziciya-card-footer {
    padding-top: 1rem;
    border-top: 1px solid #e9ecef;
}

.poziciya-link-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    background: #0d3c63;
    color: #fff !important;
    border-radius: 18px;
    text-decoration: none !important;
    font-weight: 600;
    font-size: 0.95rem;
    transition: all 0.3s ease;
}

.poziciya-link-btn:hover {
    background: #EC6830;
    transform: translateX(3px);
}

.poziciya-link-btn svg {
    width: 18px;
    height: 18px;
    transition: transform 0.3s ease;
}

.poziciya-link-btn:hover svg {
    transform: translateX(3px);
}

/* Адаптивность */
@media (max-width: 768px) {
    /*.pozicii-grid-section .section-title {
        font-size: 2rem;
    }*/
    
    .poziciya-card-title {
        font-size: 1.25rem;
    }
    
    .poziciya-card-image {
        height: 180px;
    }
}

/* ========================================
   ПОЗИЦИИ — плашка "Дом сдан"
   ======================================== */
.poziciya-card-image {
    position: relative;
    overflow: hidden;
}

.poziciya-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 2;
    padding: 6px 14px;
    border-radius: 18px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
    pointer-events: none;
}

.poziciya-badge--delivered {
    background-color: #ec6830;
    color: #fff;
}

/* Стили ЖК Флагман перенесены в assets/css/flagman.css */

.flagman-description-section {
    padding: clamp(3rem, 6vw, 5rem) 0;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(13, 60, 99, 0.05) 100%);
}

/* Обертка текстовых табов */
.flagman-tabs-wrapper {
    display: flex;
    flex-direction: column;
    gap: 16px;
    /*padding-right: clamp(1rem, 3vw, 2rem);*/
}

/* Текстовый блок-таб */
.flagman-text-tab {
    padding: 22px;
    background: rgba(255, 255, 255, 0.8);
    border: 2px solid #e9ecef;
    border-radius: 18px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.flagman-text-tab p {
    /*font-size: clamp(0.95rem, 2vw, 1.05rem);*/
    color: #495057;
    line-height: 1.6;
    margin: 0;
}

/* Активный таб */
.flagman-text-tab.active {
    border-color: #ec6830;
    background: #ffffff;
    box-shadow: 0 4px 16px rgba(236, 104, 48, 0.15);
}

.flagman-text-tab.active p {
    color: #212529;
    font-weight: 500;
}

/* Ховер эффект */
.flagman-text-tab:hover {
    border-color: rgba(236, 104, 48, 0.5);
    transform: translateX(5px);
}

/* Правая колонка - изображения */
.flagman-image-wrapper {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
    min-height: 400px;
    background: #f8f9fa;
}

.flagman-tab-image {
    width: 100%;
    height: auto;
    display: none;
    border-radius: 18px;
    transition: opacity 0.4s ease;
}

.flagman-tab-image.active {
    display: block;
    animation: fadeInImage 0.4s ease;
}

@keyframes fadeInImage {
    from {
        opacity: 0;
        transform: scale(0.98);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Адаптив */
@media (max-width: 991px) {
    .flagman-tabs-wrapper {
        padding-right: 0;
        margin-bottom: clamp(2rem, 4vw, 3rem);
    }
    
    .flagman-image-wrapper {
        min-height: 300px;
    }
}

@media (max-width: 768px) {
    .flagman-description-section {
        padding: clamp(2rem, 5vw, 3rem) 0;
    }
    
    .flagman-text-tab {
        padding: clamp(1rem, 2vw, 1.2rem);
    }
    
    .flagman-text-tab p {
        /*font-size: clamp(0.9rem, 2vw, 1rem);*/
    }
    
    .flagman-image-wrapper {
        min-height: 250px;
    }
}

@media (max-width: 480px) {
    .flagman-tabs-wrapper {
        gap: 0.8rem;
    }
    
    .flagman-text-tab {
        padding: 1rem;
    }
    
    .flagman-text-tab p {
        /*font-size: 0.9rem;*/
    }
}

/* ========================================
   БЛОК: Отличительные качества ЖК Флагман
   ======================================== */

.flagman-features-section {
    padding: clamp(3rem, 6vw, 5rem) 0;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(13, 60, 99, 0.1) 100%);
}

.flagman-features-section .col-md-6 {
    margin-bottom: 32px;
}

/* Элемент качества */
.flagman-feature-item {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    padding: 24px 24px 40px 24px;
    background: #ffffff;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    border-radius: 18px;
    transition: all 0.3s ease;
    height: 100%;
}

.flagman-feature-item:hover {
    background: #f8f9fa;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    transform: translateX(5px);
}

/* Иконка */
.flagman-feature-icon {
    flex-shrink: 0;
    width: 30px;
    height: 30px;
}

.flagman-feature-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Контент */
.flagman-feature-content {
    flex: 1;
}

.flagman-feature-title {
    font-weight: 700;
    color: #0d3c63;
    margin-bottom: clamp(0.3rem, 1vw, 0.5rem);
    font-family: 'PT Serif', serif;
    line-height: 1.3;
}

.flagman-feature-text {
    /*font-size: clamp(0.85rem, 1.8vw, 0.95rem);
    color: #6c757d;*/
    margin: 0;
    line-height: 1.5;
}

/* Адаптив */
@media (max-width: 768px) {
    .flagman-features-section {
        padding: clamp(2rem, 5vw, 3rem) 0;
    }
    
    .flagman-feature-item {
        margin-bottom: clamp(1rem, 2vw, 1.5rem);
        padding: clamp(0.8rem, 2vw, 1rem);
    }
    
    .flagman-feature-icon {
        width: 40px;
        height: 40px;
    }
}

@media (max-width: 480px) {
    .flagman-feature-title {
        font-size: 0.95rem;
    }
    
    .flagman-feature-text {
        /*font-size: 0.85rem;*/
    }
}

/* ========================================
   БЛОК: 2D и 3D планировки квартир
   ======================================== */

.flagman-tours-section {
    padding: clamp(3rem, 6vw, 5rem) 0;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(13, 60, 99, 0.05) 100%);
}

/* Карточка тура */
.flagman-tour-card {
    background: #ffffff;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
}

.flagman-tour-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

/* Обертка изображения */
.flagman-tour-image-wrapper {
    position: relative;
    width: 100%;
    height: 600px;
    overflow: hidden;
    background: #f8f9fa;
}

/* Изображения (default и hover) */
.flagman-tour-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity 0.4s ease;
}

.flagman-tour-image.default {
    opacity: 1;
}

.flagman-tour-image.hover {
    opacity: 0;
}

/* При наведении меняем картинку */
.flagman-tour-card:hover .flagman-tour-image.default {
    opacity: 0;
}

.flagman-tour-card:hover .flagman-tour-image.hover {
    opacity: 1;
}

/* Контент карточки */
.flagman-tour-content {
    padding: clamp(1.5rem, 3vw, 2rem);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

.flagman-tour-title {
    font-size: clamp(1rem, 2vw, 1.1rem);
    font-weight: 600;
    color: #0d3c63;
    margin: 0;
    font-family: 'PT Serif', serif;
    line-height: 1.3;
    flex: 1;
}

/* Кнопка теперь button вместо ссылки */
.flagman-tour-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #ec6830;
    color: #ffffff;
    padding: clamp(0.6rem, 1.5vw, 0.8rem) clamp(1rem, 2vw, 1.2rem);
    border-radius: 18px;
    border: none;
    font-weight: 600;
    font-size: clamp(0.85rem, 1.8vw, 0.95rem);
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
    font-family: 'PT Serif', serif;
}

.flagman-tour-btn:hover {
    background: #d55a29;
    transform: translateX(3px);
    color: #ffffff;
}

/* Адаптив */
@media (max-width: 768px) {
    .flagman-tours-section {
        padding: clamp(2rem, 5vw, 3rem) 0;
    }
    
    .flagman-tour-image-wrapper {
        height: 250px;
    }
    
    .flagman-tour-content {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
    }
    
    .flagman-tour-btn {
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .flagman-tour-image-wrapper {
        height: 200px;
    }
}

/* ========================================
   МОДАЛЬНОЕ ОКНО 3D ТУРА
   ======================================== */

.tour-3d-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 99999;
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.tour-3d-modal.active {
    display: block;
    opacity: 1;
}

/* Затемнение фона */
.tour-3d-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    z-index: 1;
}

/* Контент модалки */
.tour-3d-modal-content {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(1rem, 2vw, 2rem);
}

/* Кнопка закрытия */
.tour-3d-modal-close {
    position: absolute;
    top: clamp(1rem, 2vw, 2rem);
    right: clamp(1rem, 2vw, 2rem);
    z-index: 10;
    width: clamp(40px, 6vw, 50px);
    height: clamp(40px, 6vw, 50px);
    background: rgba(255, 255, 255, 0.1);
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    color: #ffffff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.tour-3d-modal-close:hover {
    background: rgba(236, 104, 48, 0.9);
    border-color: #ec6830;
    transform: rotate(90deg);
}

.tour-3d-modal-close svg {
    width: clamp(20px, 4vw, 24px);
    height: clamp(20px, 4vw, 24px);
}

/* Обертка iframe */
.tour-3d-iframe-wrapper {
    position: relative;
    width: 100%;
    max-width: 1400px;
    height: 90vh;
    background: #000;
    border-radius: 12px;
    overflow: hidden;
}

/* Iframe */
.tour-3d-iframe-wrapper iframe {
    width: 100%;
    height: 100%;
    border: none;
}

/* Overlay для активации iframe */
.tour-3d-iframe-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 5;
    transition: opacity 0.3s ease;
}

.tour-3d-iframe-overlay:hover {
    background: rgba(0, 0, 0, 0.7);
}

.tour-3d-iframe-overlay p {
    color: #ffffff;
    font-size: clamp(1rem, 2vw, 1.2rem);
    font-weight: 600;
    margin: 0;
    padding: clamp(1rem, 2vw, 1.5rem) clamp(1.5rem, 3vw, 2rem);
    background: rgba(236, 104, 48, 0.9);
    border-radius: 8px;
    pointer-events: none;
}

/* Анимация появления */
.tour-3d-modal.active .tour-3d-modal-content {
    animation: modalFadeIn 0.4s ease;
}

@keyframes modalFadeIn {
    from {
        opacity: 0;
        transform: scale(0.95);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Адаптив */
@media (max-width: 768px) {
    .tour-3d-modal-content {
        padding: 1rem;
    }
    
    .tour-3d-iframe-wrapper {
        height: 85vh;
    }
    
    .tour-3d-modal-close {
        top: 1rem;
        right: 1rem;
    }
}

@media (max-width: 480px) {
    .tour-3d-iframe-wrapper {
        height: 80vh;
        border-radius: 8px;
    }
    
    .tour-3d-iframe-overlay p {
        font-size: 0.9rem;
        padding: 0.8rem 1.2rem;
    }
}

/* ========================================
   БЛОК: Отделка подъездов
   ======================================== */

.flagman-entrance-section {
    padding: 80px 0;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(13, 60, 99, 0.1) 100%);
}

/* Элемент отделки */
.flagman-entrance-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: clamp(1.5rem, 3vw, 2rem);
    background: #ffffff;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    border-radius: 18px;
    min-height: 200px;
    transition: all 0.3s ease;
}

.flagman-entrance-item:hover {
    background: #ffffff;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    transform: translateY(-5px);
}

/* Иконка */
.flagman-entrance-icon {
    width: 60px;
    height: 60px;
    margin-bottom: 16px;
    flex-shrink: 0;
}

.flagman-entrance-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Текст */
.flagman-entrance-text {
    margin: 0;
    line-height: 1.5;
    font-weight: 500;
}

/* Адаптив */
@media (max-width: 768px) {
    .flagman-entrance-section {
        padding: clamp(2rem, 5vw, 3rem) 0;
    }
    
    .flagman-entrance-item {
        min-height: 160px;
        padding: clamp(1rem, 2vw, 1.5rem);
    }
}

@media (max-width: 480px) {
    .flagman-entrance-icon {
        width: 30px;
        height: 30px;
        margin-bottom: 12px;
    }
    
    .flagman-entrance-text {
        font-size: 0.85rem;
    }
}

/* ========================================
   БЛОК: Дворовое пространство
   ======================================== */

.flagman-yard-section {
    padding: clamp(3rem, 6vw, 5rem) 0;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(13, 60, 99, 0.1) 100%);
}

.flagman-yard-section .section-subtitle {
    max-width: 1100px;
    margin: 0 auto clamp(2rem, 4vw, 3rem) auto;
    line-height: 1.6;
}

/* Элемент дворового пространства */
.flagman-yard-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: clamp(1.5rem, 3vw, 2rem);
    background: #ffffff;
    border-radius: 18px;
    min-height: 200px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    transition: all 0.3s ease;
}

.flagman-yard-item:hover {
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
    transform: translateY(-5px);
}

/* Иконка */
.flagman-yard-icon {
    width: 60px;
    height: 60px;
    margin-bottom: 16px;
    flex-shrink: 0;
}

.flagman-yard-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Текст */
.flagman-yard-text {
    margin: 0;
    line-height: 1.5;
    font-weight: 500;
}

/* Адаптив */
@media (max-width: 768px) {
    .flagman-yard-section {
        padding: clamp(2rem, 5vw, 3rem) 0;
    }
    
    .flagman-yard-item {
        min-height: 160px;
        padding: clamp(1rem, 2vw, 1.5rem);
    }
}

@media (max-width: 480px) {
    .flagman-yard-icon {
        width: 30px;
        height: 30px;
        margin-bottom: 12px;
    }
    
    .flagman-yard-text {
        font-size: 0.85rem;
    }
}

/* ========================================
   БЛОК: Расположение ЖК Флагман
   ======================================== */

.flagman-location-section {
    padding: clamp(3rem, 6vw, 5rem) 0;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(13, 60, 99, 0.1) 100%);
}

.flagman-location-section .section-subtitle {
    max-width: 1100px;
    margin: 0 auto clamp(2rem, 4vw, 3rem) auto;
    line-height: 1.6;
}

/* Элемент расположения */
.flagman-location-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: clamp(1.5rem, 3vw, 2rem);
    background: #ffffff;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    border-radius: 18px;
    min-height: 200px;
    transition: all 0.3s ease;
}

.flagman-location-item:hover {
    background: #f8f9fa;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    transform: translateY(-5px);
}

/* Иконка */
.flagman-location-icon {
    width: 60px;
    height: 60px;
    margin-bottom: 16px;
    flex-shrink: 0;
}

.flagman-location-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Текст */
.flagman-location-text {
    margin: 0;
    line-height: 1.5;
    font-weight: 500;
}

/* Адаптив */
@media (max-width: 768px) {
    .flagman-location-section {
        padding: clamp(2rem, 5vw, 3rem) 0;
    }
    
    .flagman-location-item {
        min-height: 160px;
        padding: clamp(1rem, 2vw, 1.5rem);
    }
}

@media (max-width: 480px) {
    .flagman-location-icon {
        width: 30px;
        height: 30px;
        margin-bottom: 12px;
    }
    
    .flagman-location-text {
        font-size: 0.85rem;
    }
}

.rent-cta-messengers {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin: 40px 0;
}

.rent-cta-messengers a {
    transition: transform 0.3s ease;
}

.rent-cta-messengers a:hover {
    transform: scale(1.1);
}

.rent-cta-messengers img {
    width: 60px;
    height: 60px;
}

.rent-cta-btn {
    margin: 60px 0 20px 0;
    width: 100%;
}

.rent-cta-phone {
    font-size: 24px;
    font-weight: 500;
    margin: 20px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.rent-cta-phone a {
    color: inherit;
    text-decoration: none;
    transition: color 0.3s ease;
}

.rent-cta-phone a:hover {
    color: #039bdc;
}

.rent-cta-phone-icon {
    width: 40px;
    height: 40px;
    vertical-align: middle;
}

/* ===== КНОПКА «ВЕРНУТЬСЯ НАВЕРХ» ===== */
.scroll-to-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 9999;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: linear-gradient(135deg, #0d3c63 0%, #2c5f7c 100%);
    color: #fff;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    box-shadow: 0 4px 16px rgba(13, 60, 99, 0.35);
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
}

.scroll-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.scroll-to-top:hover {
    background: #ec6830;
    box-shadow: 0 6px 20px rgba(13, 60, 99, 0.5);
}

@media (max-width: 576px) {
    .scroll-to-top {
        bottom: 20px;
        right: 20px;
        width: 42px;
        height: 42px;
        font-size: 1.2rem;
    }
}


/* ─── Мобильное меню: улучшения ─────────────────────────────────────────── */

/* 1. Белый бургер-тоглер */
.navbar-toggler {
    background: rgba(255, 255, 255, 0.15);
    border-radius: 6px;
    padding: 6px 10px;
}
.navbar-toggler-icon {
    filter: brightness(0) invert(1);
}

/* 2. Скролл мобильного меню */
@media (max-width: 991px) {
    .navbar-collapse {
        max-height: calc(100dvh - 70px);
        overflow-y: auto;
        overflow-x: hidden;
    }

    /* 3. Подразделы открыты по умолчанию */
    .navbar-collapse .dropdown-menu {
        display: block !important;
        position: static !important;
        float: none;
        box-shadow: none !important;
        border: none !important;
        background: rgba(0, 0, 0, 0.12);
        border-radius: 0 !important;
        margin: 0 !important;
        padding: 0 0 0.25rem 1rem;
    }

    /* 4. Убрать стрелку dropdown на мобиле */
    .navbar-collapse .dropdown-toggle::after {
        display: none;
    }
}

/* 5. Контакты в мобильном меню */
.mobile-menu-contacts {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.875rem 0;
    margin-bottom: 0.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.mobile-menu-phone {
    color: #fff;
    font-weight: 600;
    font-size: 1rem;
    text-decoration: none;
}
.mobile-menu-phone:hover {
    color: var(--accent-color, #e8b84b);
}
.mobile-menu-messengers {
    display: flex;
    gap: 0.75rem;
    align-items: center;
    flex-shrink: 0;
}

/* 6. Телефон в top-bar как ссылка */
.top-bar-phone {
    color: #ffffff;
    text-decoration: none;
}
.top-bar-phone:hover {
    opacity: 0.85;
}
/* ─────────────────────────────────────────────────────────────────────────── */

/* Похожие планировки: пагинация свайпера */
.similar-pagination {
    position: relative !important;
    margin-top: 12px;
    text-align: center;
}

/* ─── Зум планировок ─────────────────────────────────────────────────────── */
.plan-image-wrapper {
    position: relative;
    display: inline-block;
    width: 100%;
}
.plan-zoom-btn {
    position: absolute;
    bottom: 12px;
    right: 12px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.9);
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    transition: background 0.2s ease, transform 0.2s ease;
    z-index: 2;
}
.plan-zoom-btn:hover {
    background: #fff;
    transform: scale(1.1);
}
.plan-zoom-btn .bi {
    font-size: 1.2rem;
    color: #0d3c63;
}

/* Модалка зума: тёмный непрозрачный фон */
#planZoomModal .modal-dialog {
    max-width: 90vw;
}
#planZoomModal .modal-content {
    background: #111 !important;
    border: none;
}
/* ─────────────────────────────────────────────────────────────────────────── */

.apartment-videos-section {
    padding: clamp(0.6rem, 2vw, 1rem);
}