/* ERA Property - Мобильная верстка и адаптивные стили (mobile.css) */

/* 1. Десктопные стили, вынесенные из инлайнов base.html */
#logo img.header-logo-img {
    width: 105px;
    height: auto;
    margin-top: -25px;
    display: block;
}
.header-right-side {
    margin-right: 32px;
}
.header-lang-menu {
    margin-right: 32px;
}

/* 2. Общий мобильный адаптив (планшеты и смартфоны) */
@media (max-width: 991px) {
    /* Шапка сайта */
    #logo img.header-logo-img {
        width: 85px !important;
        margin-top: -15px !important;
    }
    
    .mmenu-trigger {
        margin-right: 15px !important;
    }

    /* Избранное и переключатель языков на планшетах */
    .header-lang-menu {
        margin-right: 15px !important;
    }

    /* Вкладки типа сделки (Продажа, Аренда, Инвестиции) */
    .rld-banner-tab {
        display: flex !important;
        width: 100% !important;
        justify-content: space-between !important;
        margin: 0 0 15px 0 !important;
        padding: 0 !important;
        gap: 8px !important;
    }

    .rld-banner-tab .nav-item {
        flex: 1 1 0% !important;
        text-align: center !important;
        margin: 0 !important;
    }

    .rld-banner-tab .nav-link {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        height: 48px !important;
        line-height: 1.2 !important;
        padding: 0 5px !important;
        font-size: 14px !important;
        text-align: center !important;
        border-radius: 6px !important;
        white-space: nowrap !important;
        box-sizing: border-box !important;
    }

    .rld-banner-tab .nav-item a.active:before {
        display: none !important;
    }

    /* Форма поиска в Hero */
    .banner-search-wrap {
        padding: 15px !important;
        border-radius: 8px !important;
        background: rgba(27, 40, 63, 0.95) !important;
        box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3) !important;
    }

    .homepage-5 .rld-main-search,
    .the-search .rld-main-search {
        margin-right: 0 !important;
        height: auto !important; /* Убираем жесткую высоту темы */
        background: rgba(27, 40, 63, 0.95) !important;
    }

    .homepage-5 .rld-main-search .row,
    .the-search .rld-main-search .row {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        margin: 0 !important;
    }

    .homepage-5 .rld-main-search .rld-single-input,
    .the-search .rld-main-search .rld-single-input,
    .homepage-5 .rld-main-search .rld-single-select,
    .the-search .rld-main-search .rld-single-select,
    .homepage-5 .rld-main-search .dropdown-filter,
    .the-search .rld-main-search .dropdown-filter,
    .homepage-5 .rld-main-search .btn-yellow,
    .the-search .rld-main-search .btn-yellow,
    .homepage-5 .rld-main-search .col-xl-2,
    .the-search .rld-main-search .col-xl-2,
    .homepage-5 .rld-main-search .col-lg-2,
    .the-search .rld-main-search .col-lg-2,
    .homepage-5 .rld-main-search .col-md-4,
    .the-search .rld-main-search .col-md-4 {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        float: none !important;
    }

    .homepage-5 .rld-main-search .rld-single-input input,
    .the-search .rld-single-input input {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
        box-sizing: border-box !important;
    }

    .homepage-5 .rld-main-search .nice-select,
    .the-search .rld-main-search .nice-select {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding-left: 20px !important;
        padding-right: 40px !important;
        box-sizing: border-box !important;
        float: none !important;
    }

    .homepage-5 .rld-main-search .col-xl-2,
    .the-search .rld-main-search .col-xl-2,
    .homepage-5 .rld-main-search .col-lg-2,
    .the-search .rld-main-search .col-lg-2,
    .homepage-5 .rld-main-search .col-md-4,
    .the-search .rld-main-search .col-md-4 {
        flex: 0 0 100% !important;
    }

    .homepage-5 .rld-main-search .rld-single-input input,
    .the-search .rld-single-input input,
    .homepage-5 .rld-main-search .rld-single-select select,
    .the-search .rld-single-select select,
    .homepage-5 .rld-main-search .btn-yellow,
    .the-search .rld-main-search .btn-yellow {
        height: 48px !important;
        line-height: 48px !important;
        border-radius: 6px !important;
        font-size: 15px !important;
    }

    .homepage-5 .rld-main-search .dropdown-filter,
    .the-search .rld-main-search .dropdown-filter {
        display: block !important;
        border: none !important;
        background: transparent !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .homepage-5 .rld-main-search .dropdown-filter span,
    .the-search .rld-main-search .dropdown-filter span {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 15px !important;
        height: 48px !important;
        line-height: 48px !important;
        border: 1px solid rgba(207, 168, 112, 0.3) !important;
        background: rgba(18, 29, 49, 0.5) !important;
        color: #fff !important;
        border-radius: 6px !important;
        box-sizing: border-box !important;
    }

    .homepage-5 .rld-main-search .dropdown-filter span:after,
    .the-search .rld-main-search .dropdown-filter span:after {
        margin-left: 10px !important;
        line-height: 48px !important;
    }

    .homepage-5 .rld-main-search .btn-yellow,
    .the-search .rld-main-search .btn-yellow {
        background: #c9942a !important;
        color: #fff !important;
        font-weight: 600 !important;
        border: none !important;
    }

    /* Раскрывающийся блок расширенного поиска */
    .explore__form-checkbox-list.full-filter {
        display: none !important;
        position: static !important;
        width: 100% !important;
        padding: 15px 0 0 0 !important;
        box-shadow: none !important;
        border: none !important;
        background: transparent !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transition: none !important;
    }

    .explore__form-checkbox-list.full-filter.filter-block {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    .explore__form-checkbox-list.full-filter .row {
        gap: 10px !important;
    }

    .explore__form-checkbox-list.full-filter .col-lg-4 {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }
}

/* 3. Мобильный адаптив для смартфонов (экраны <= 767px) */
@media (max-width: 767px) {
    /* Предотвращение горизонтального скролла */
    html, body {
        max-width: 100% !important;
        overflow-x: hidden !important;
    }
    
    #wrapper {
        overflow: hidden !important;
    }

    /* Шапка на телефонах */
    #logo img.header-logo-img {
        width: 78px !important;
        margin-top: -10px !important;
    }

    #header-container {
        padding: 5px 0 !important;
    }

    /* Убираем лишние отступы, которые могут вызывать скролл */
    .container {
        padding-left: 15px !important;
        padding-right: 15px !important;
        max-width: 100% !important;
    }

    .row {
        margin-left: -15px !important;
        margin-right: -15px !important;
    }
    
    .col-12, .col-md-6, .col-lg-4, .col-lg-3, .col-lg-8 {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    /* Главная страница: Баннер Hero */
    #hero-area {
        padding: 100px 0 60px 0 !important;
        min-height: auto !important;
    }

    #hero-area .hero-main {
        padding: 0 !important;
    }

    #hero-area .title {
        font-size: 28px !important;
        line-height: 1.3 !important;
        margin-bottom: 10px !important;
    }

    #hero-area .sub-title {
        font-size: 15px !important;
        line-height: 1.4 !important;
        margin-bottom: 25px !important;
    }

    /* Карточки объектов (слайдеры на главной) */
    .prop-inner-box {
        padding: 0 5px !important;
    }

    .recent-16 {
        border-radius: 8px !important;
    }

    .recent-details {
        padding: 12px !important;
    }

    .recent-title {
        font-size: 15px !important;
    }

    .recent-price {
        font-size: 16px !important;
    }

    /* Раздел результатов поиска */
    .properties-list {
        padding: 40px 0 !important;
    }

    #propertiesGrid .item {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        margin-bottom: 25px !important;
    }

    .project-single {
        border-radius: 8px !important;
        overflow: hidden;
    }

    .homes-content {
        padding: 15px !important;
    }

    /* Детальная страница объекта */
    .property-gallery {
        padding: 0 !important;
    }



    .property-gallery .swiper-wrapper {
        margin-left: 0 !important;
    }

    .single-proper {
        padding: 30px 0 !important;
    }

    .headings-2 .pro-wrapper {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 15px !important;
    }

    .headings-2 .detail-wrapper {
        width: 100% !important;
        justify-content: space-between !important;
    }

    /* Блок характеристик на детальной странице */
    .homes-list li {
        width: 100% !important;
        float: none !important;
        border-bottom: 1px solid var(--border-quiet) !important;
    }

    /* Агентский виджет и контакты */
    .author-box {
        text-align: center !important;
    }

    .author__img {
        float: none !important;
        margin: 0 auto 15px auto !important;
    }

    .author__contact li {
        font-size: 16px !important;
        padding: 12px 15px !important;
        background: rgba(18, 29, 49, 0.3) !important;
        border: 1px solid var(--border-soft) !important;
        border-radius: 6px !important;
        margin-bottom: 12px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 12px !important;
    }
    
    .author__contact li span {
        margin: 0 !important;
        width: 36px !important;
        height: 36px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: rgba(207, 168, 112, 0.15) !important;
        border-radius: 50% !important;
        color: var(--accent-gold) !important;
    }

    .author__contact li a {
        flex: 1 !important;
        text-align: left !important;
    }

    /* Футер */
    .first-footer {
        padding: 40px 0 20px 0 !important;
    }

    .first-footer .col-lg-3 {
        margin-bottom: 30px !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    .first-footer .col-lg-3:last-child {
        margin-bottom: 0 !important;
    }

    .netabout, .contactus, .navigation, .newsletters {
        text-align: left !important;
    }

    .contactus ul li .info {
        justify-content: flex-start !important;
    }

    .nav-footer {
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        gap: 0 !important;
    }

    .nav-footer ul {
        margin: 0 !important;
        padding: 0 !important;
    }

    .nav-footer ul li {
        padding: 6px 0 !important;
    }

    .homepage-5 .bloq-email .email,
    .the-search .bloq-email .email {
        display: flex !important;
        flex-direction: column !important;
        position: static !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #subscribeEmail {
        width: 100% !important;
        height: 48px !important;
        line-height: 48px !important;
        border: 1px solid rgba(207, 168, 112, 0.3) !important;
        background: rgba(18, 29, 49, 0.5) !important;
        color: #fff !important;
        border-radius: 6px !important;
        padding: 0 15px !important;
        box-sizing: border-box !important;
        text-align: left !important;
        margin: 0 !important;
    }

    .homepage-5 .bloq-email input[type="submit"],
    .the-search .bloq-email input[type="submit"] {
        position: static !important;
        width: 100% !important;
        height: 48px !important;
        line-height: 48px !important;
        padding: 0 !important;
        margin: 10px 0 0 0 !important;
        background: #c9942a !important;
        color: #fff !important;
        border: none !important;
        border-radius: 6px !important;
        cursor: pointer !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        box-sizing: border-box !important;
        text-align: center !important;
    }

    /* Модальные окна (Feedback и Agent) */
    .era-agent-modal, .modal-card {
        width: 92% !important;
        max-width: 380px !important;
        max-height: 85vh !important;
        overflow-y: auto !important;
        padding: 20px !important;
    }

    /* Сайдбар-форма: Кнопки мессенджеров */
    .era-lead__messengers {
        flex-direction: column !important;
        gap: 8px !important;
        width: 100% !important;
    }
    .era-lead__wa, .era-lead__tg, .era-lead__phone {
        width: 100% !important;
        flex: none !important;
        height: 46px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
        font-size: 14px !important;
    }
    .era-lead__wa { background: rgba(37, 211, 102, 0.1) !important; border-color: rgba(37, 211, 102, 0.4) !important; color: #25D366 !important; }
    .era-lead__wa:hover { background: #25D366 !important; color: #fff !important; }
    .era-lead__tg { background: rgba(0, 136, 204, 0.1) !important; border-color: rgba(0, 136, 204, 0.4) !important; color: #0088cc !important; }
    .era-lead__tg:hover { background: #0088cc !important; color: #fff !important; }
    .era-lead__phone { background: rgba(201, 148, 42, 0.1) !important; border-color: rgba(201, 148, 42, 0.4) !important; color: #c9942a !important; }
    .era-lead__phone:hover { background: #c9942a !important; color: #fff !important; }

    /* Липкая мобильная панель действий (Sticky Bottom Bar) */
    .era-lead-bar {
        display: flex !important;
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        align-items: center !important;
        gap: 6px !important;
        padding: 8px 10px !important;
        height: 62px !important;
        box-sizing: border-box !important;
        z-index: 9998 !important;
        background: #121d31 !important;
        border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
        box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.25) !important;
    }
    .era-lead-bar .era-lead-bar__icon {
        flex: 0 0 44px !important;
        width: 44px !important;
        height: 44px !important;
        border-radius: 8px !important;
        box-sizing: border-box !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-decoration: none !important;
        transition: all 0.2s ease !important;
    }
    .era-lead-bar .era-lead-bar__wa {
        border: 1px solid rgba(37, 211, 102, 0.4) !important;
        background: rgba(37, 211, 102, 0.08) !important;
    }
    .era-lead-bar .era-lead-bar__wa i {
        color: #25D366 !important;
    }
    .era-lead-bar .era-lead-bar__wa:active {
        background: #25D366 !important;
        border-color: #25D366 !important;
    }
    .era-lead-bar .era-lead-bar__wa:active i {
        color: #fff !important;
    }

    .era-lead-bar .era-lead-bar__tg {
        border: 1px solid rgba(0, 136, 204, 0.4) !important;
        background: rgba(0, 136, 204, 0.08) !important;
    }
    .era-lead-bar .era-lead-bar__tg i {
        color: #0088cc !important;
    }
    .era-lead-bar .era-lead-bar__tg:active {
        background: #0088cc !important;
        border-color: #0088cc !important;
    }
    .era-lead-bar .era-lead-bar__tg:active i {
        color: #fff !important;
    }

    .era-lead-bar .era-lead-bar__phone {
        border: 1px solid rgba(201, 148, 42, 0.4) !important;
        background: rgba(201, 148, 42, 0.08) !important;
    }
    .era-lead-bar .era-lead-bar__phone i {
        color: #c9942a !important;
    }
    .era-lead-bar .era-lead-bar__phone:active {
        background: #c9942a !important;
        border-color: #c9942a !important;
        color: #fff !important;
    }
    .era-lead-bar .era-lead-bar__phone:active i {
        color: #fff !important;
    }

    .era-lead-bar .era-lead-bar__cta {
        flex: 1 !important;
        height: 44px !important;
        font-size: 13px !important;
        white-space: nowrap !important;
        box-sizing: border-box !important;
        border-radius: 8px !important;
    }
    .era-lead-bar a i { font-size: 18px !important; }

    /* Смещение кнопки "Вверх" и кнопки "Связаться с нами" выше липкой панели */
    .go-up {
        bottom: 76px !important;
    }
    .feedback-btn {
        bottom: 136px !important;
    }
}

/* 4. Специфический адаптив для маленьких экранов (экраны <= 375px) */
@media (max-width: 375px) {
    #hero-area .title {
        font-size: 24px !important;
    }

    .recent-title {
        font-size: 14px !important;
    }

    .headings-2 .listing-title-bar h3 {
        font-size: 20px !important;
    }
}

/* Новая изолированная кнопка выбора языка на мобильных */
@media (max-width: 1024px) {
    /* Прозрачная кнопка мобильного меню */
    .mmenu-trigger {
        background-color: transparent !important;
        box-shadow: none !important;
        margin-right: 10px !important;
    }
    
    /* Белые полоски гамбургера на темном фоне шапки */
    .mmenu-trigger .hamburger-inner,
    .mmenu-trigger .hamburger-inner::before,
    .mmenu-trigger .hamburger-inner::after {
        background-color: #fff !important;
    }

    .mobile-lang-header-btn {
        display: inline-block !important;
        vertical-align: top;
        position: relative;
        margin: 0 0 23px 0 !important;
        z-index: 999;
        float: none !important;
    }
    
    .mobile-lang-btn {
        height: 50px;
        width: auto !important;
        background: transparent !important;
        border: none !important;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff !important;
        font-size: 13px;
        font-weight: 600;
        padding: 0 8px !important;
    }
    
    .mobile-lang-btn i.fa-globe-americas {
        font-size: 14px;
        color: #fff !important;
        margin-right: 5px;
        display: inline-block !important;
    }

    .mobile-lang-btn i.fa-caret-down {
        font-size: 11px;
        color: #fff !important;
        margin-left: 5px;
        display: inline-block !important;
    }
    
    .mobile-lang-btn strong {
        font-size: 13px;
        font-weight: 600;
        color: #fff !important;
    }
    
    /* Выпадающий список */
    .mobile-lang-dropdown {
        position: absolute;
        top: 50px;
        left: 0;
        background: #fff;
        border: 1px solid #ddd;
        box-shadow: 0 4px 12px rgba(0,0,0,0.15);
        border-radius: 4px;
        width: 120px;
        padding: 5px 0;
        margin: 0;
        list-style: none;
        display: none;
    }
    
    .mobile-lang-header-btn.active .mobile-lang-dropdown {
        display: block;
    }
    
    .mobile-lang-dropdown li {
        width: 100% !important;
        padding: 0 !important;
        float: none !important;
    }
    
    .mobile-lang-dropdown li a {
        font-size: 14px !important;
        padding: 10px 15px !important;
        color: #333 !important;
        display: block !important;
        text-decoration: none !important;
        text-align: left !important;
        float: none !important;
        text-transform: none !important;
    }
    
    .mobile-lang-dropdown li a:hover {
        background-color: #f5f5f5 !important;
        color: #c9942a !important;
    }
}

/* Оптимизация на узких экранах для исключения наложения на логотип */
@media (max-width: 420px) {
    .mobile-lang-header-btn {
        margin-left: -5px !important;
    }
    .mmenu-trigger {
        margin-right: 5px !important;
    }
    #logo {
        max-width: 110px !important;
    }
}


