/* Even more compact logo for mobile devices */
@media (max-width: 768px) {
    .logo img,
    .custom-logo {
        height: 35px !important; 
        max-height: 35px !important;
    }
    
    /* Компактный заголовок каталога на планшетах */
    .catalog-heading-wrapper {
        margin: 18px auto 18px auto;
        padding: 0 15px;
    }
    
    .catalog-heading-wrapper .catalog-heading {
        font-size: 1.75rem;
        margin-bottom: 8px;
    }
    
    .catalog-price-date {
        font-size: 0.85rem;
        padding: 6px 12px;
        margin: 8px auto 0 auto;
    }
    
    .catalog-heading-wrapper p {
        font-size: 1rem;
        margin: 12px auto 0 auto;
    }
}

@media (max-width: 480px) {
    .logo img,
    .custom-logo {
        height: 30px !important; 
        max-height: 30px !important;
    }
    
    /* Further optimization for very small screens */
    .hero { 
        min-height: 60vh;      
        padding-top: 60px;     
    }
    
    .hero h1 { 
        font-size: 1.8rem; 
        margin-top: 20px; 
    }
    
    .hero-subtitle { 
        font-size: 0.8rem; 
        margin-bottom: 15px; 
    }
    
    .btn-hero { 
        padding: 10px 12px; 
        font-size: 0.8rem; 
    }
    
    /* Further optimization for resort page hero on very small screens */
    .page-hero { 
        min-height: 60vh; 
        padding: 70px 15px 20px 15px; 
        background: -webkit-linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.8)), url('../images/hero.jpg') center/cover no-repeat;
        background: -moz-linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.8)), url('../images/hero.jpg') center/cover no-repeat;
        background: -o-linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.8)), url('../images/hero.jpg') center/cover no-repeat;
        background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.8)), url('../images/hero.jpg') center/cover no-repeat;
    }
    
    .page-hero h1 { 
        font-size: 1.5rem; 
        margin-bottom: 10px; 
    }
    
    .hero-tagline { 
        font-size: 0.9rem; 
        margin-bottom: 20px; 
    }
    
    /* СТРАНИЦА О НАС - очень маленькие экраны */
    .story-section {
        padding: 40px 0;
    }
    
    .story-grid {
        gap: 30px;
    }
    
    .story-text {
        font-size: 0.95rem;
    }
    
    .values-section {
        padding: 40px 0;
    }
    
    .values-section .section-header-centered {
        margin-bottom: 30px;
    }
    
    .values-section .section-header-centered h2 {
        font-size: 1.8rem;
    }
    
    .value-card {
        padding: 25px 15px;
    }
    
    .value-icon {
        width: 60px;
        height: 60px;
        margin-bottom: 15px;
    }
    
    .value-icon i {
        font-size: 1.5rem;
    }
    
    .value-card h4 {
        font-size: 1.1rem;
        margin-bottom: 12px;
    }
    
    .value-card p {
        font-size: 0.9rem;
    }
    
    .about-cta-section {
        padding: 40px 0;
    }
    
    .about-cta-section h2 {
        font-size: 1.6rem;
        margin-bottom: 15px;
    }
    
    .about-cta-section p {
        font-size: 0.9rem;
        margin-bottom: 25px;
    }
    
    .about-cta-section .btn-hero {
        padding: 12px 25px;
        font-size: 0.9rem;
    }
    
    /* СТРАНИЦА КОНТАКТОВ - очень маленькие экраны */
    .contact-section {
        padding: 40px 0;
    }
    
    .contact-info h2 {
        font-size: 1.5rem;
        margin-bottom: 20px;
    }
    
    .contact-info h3 {
        font-size: 1.2rem;
        margin-top: 30px;
    }
    
    .messenger-buttons {
        gap: 12px;
    }
    
    .messenger-buttons .btn-cta {
        padding: 12px 25px;
        font-size: 1rem;
        max-width: 100%;
    }
    
    .contact-details {
        padding: 25px 15px;
    }
    
    .contact-details p {
        font-size: 0.95rem;
        margin-bottom: 12px;
    }
    
    .contact-details strong {
        min-width: auto;
        display: block;
        margin-bottom: 5px;
    }
    
    .map-section {
        margin-top: 30px;
        padding-top: 30px;
    }
    
    .map-section h2 {
        font-size: 1.5rem;
    }
    
    .map-section p {
        font-size: 0.95rem;
    }
    
    .map-section iframe {
        height: 250px;
    }
    
    .hero-buttons { 
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -moz-box-orient: vertical;
        -moz-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column; 
        -webkit-box-align: center;
        -moz-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        align-items: center; 
        gap: 10px; 
        margin-bottom: 25px; 
    }
    
    .btn-hero { 
        padding: 12px 20px; 
        font-size: 0.85rem; 
        width: 100%; 
        max-width: 250px; 
    }
    
    .hero-info-box { 
        padding: 15px; 
        margin-top: 15px; 
    }
    
    .hero-info-box h3 { 
        font-size: 0.9rem; 
        margin-bottom: 8px; 
    }
    
    .payment-list li { 
        margin-bottom: 6px; 
        font-size: 0.75rem; 
    }
    
    .payment-warning { 
        font-size: 0.65rem; 
        padding-left: 15px;
    }
    
    /* Компактный заголовок каталога на мобильных */
    .catalog-heading-wrapper {
        margin: 15px auto 15px auto;
        padding: 0 12px;
    }
    
    .catalog-heading-wrapper .catalog-heading {
        font-size: 1.4rem;
        margin-bottom: 6px;
        line-height: 1.3;
    }
    
    .catalog-price-date {
        font-size: 0.8rem;
        padding: 5px 10px;
        margin: 6px auto 0 auto;
    }
    
    .catalog-heading-wrapper p {
        font-size: 0.9rem;
        margin: 10px auto 0 auto;
    }
}

/* =========================================
   9. МОБИЛЬНЫЕ СТИЛИ
   ========================================= */
@media (max-width: 900px) {
    /* HERO ФИКС */
    .hero { 
        height: auto;           
        min-height: 70vh;      
        padding-top: 80px;     
        -webkit-box-pack: start;
        -moz-box-pack: start;
        -ms-flex-pack: start;
        -webkit-justify-content: flex-start;
        justify-content: flex-start; 
    }
    
    .hero h1 { 
        font-size: 2.2rem; 
        margin-top: 30px; 
    }
    
    .hero-subtitle { 
        font-size: 0.9rem; 
        margin-bottom: 20px; 
    }
    
    .btn-hero { 
        padding: 12px 15px; 
        width: 100%; 
        font-size: 0.85rem; 
    }
    
    /* HERO СТРАНИЦЫ КУРОРТА */
    .page-hero { 
        min-height: 70vh; 
        padding: 80px 20px 30px 20px; 
        background: -webkit-linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.8)), url('../images/hero.jpg') center/cover no-repeat;
        background: -moz-linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.8)), url('../images/hero.jpg') center/cover no-repeat;
        background: -o-linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.8)), url('../images/hero.jpg') center/cover no-repeat;
        background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.8)), url('../images/hero.jpg') center/cover no-repeat;
    }
    
    .page-hero h1 { 
        font-size: 1.8rem; 
        margin-bottom: 15px;
    }
    
    .hero-tagline { 
        font-size: 1rem; 
        margin-bottom: 25px; 
    }
    
    .hero-buttons { 
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -moz-box-orient: vertical;
        -moz-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column; 
        -webkit-box-align: center;
        -moz-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        align-items: center; 
        gap: 15px; 
        margin-bottom: 30px; 
    }
    
    .btn-hero { 
        width: 100%; 
        max-width: 300px; 
    }
    
    .hero-info-box { 
        padding: 20px; 
        margin-top: 20px; 
    }
    
    .hero-info-box h3 { 
        font-size: 1rem; 
        margin-bottom: 10px; 
    }
    
    .payment-list li { 
        margin-bottom: 8px; 
        font-size: 0.8rem; 
    }
    
    .payment-warning { 
        font-size: 0.7rem; 
        padding-left: 20px;
    }
    
    /* КАРУСЕЛЬ ОТЗЫВОВ */
    .carousel-nav-btn { 
        display: none; 
    }
    
    .reviews-container { 
        padding: 0 20px; 
    }
    
    /* ФИЛЬТРЫ */
    .filters-list { 
        -webkit-box-pack: center;
        -moz-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        justify-content: center; 
        overflow-x: auto; 
        padding-bottom: 10px; 
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap; 
    }
    
    .filter-btn { 
        white-space: nowrap; 
        -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
        flex-shrink: 0; 
    }
    
    /* БЛОК ПРЕИМУЩЕСТВ ФИКС */
    .hero-benefits { 
        position: relative;     
        margin-top: 50px;       
        bottom: auto;
        background: rgba(14, 77, 86, 0.95);
    }
    
    .benefits-grid {
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: 1fr 1fr;
        grid-template-columns: 1fr 1fr; 
        gap: 20px;
        padding: 10px;
    }
    
    .benefit-item {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -moz-box-orient: vertical;
        -moz-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column; 
        text-align: center;
        gap: 10px;
    }
    
    .benefit-text { 
        text-align: center; 
    }

    /* ОСТАЛЬНОЕ */
    .nav-links { 
        display: none; 
        position: absolute; 
        top: 100%; 
        left: 0; 
        width: 100%; 
        background: var(--c-white); 
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -moz-box-orient: vertical;
        -moz-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column; 
        padding: 20px; 
        -webkit-box-shadow: 0 10px 20px rgba(0,0,0,0.1); 
        -moz-box-shadow: 0 10px 20px rgba(0,0,0,0.1); 
        box-shadow: 0 10px 20px rgba(0,0,0,0.1); 
        border-top: 1px solid #eee; 
        gap: 20px; 
        text-align: center; 
    }
    
    .nav-links.active { 
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex; 
    }
    
    .mobile-toggle { 
        display: block; 
    }
    
    .catalog-grid { 
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr; 
        gap: 30px; 
    }
    
    /* Промо-блок подписки на соцсети - мобильные стили */
    .social-promo-block {
        padding: 14px 16px !important;
        margin: 12px 0 !important;
        border-radius: 10px !important;
    }
    
    .social-promo-content {
        flex-direction: column !important;
        text-align: center !important;
        gap: 12px !important;
    }
    
    .social-promo-icon {
        width: 38px !important;
        height: 38px !important;
        font-size: 1.1rem !important;
    }
    
    .social-promo-title {
        font-size: 1.05rem !important;
        margin-bottom: 3px !important;
    }
    
    .social-promo-description {
        font-size: 0.8rem !important;
    }
    
    .social-promo-buttons {
        justify-content: center !important;
        width: 100% !important;
        gap: 6px !important;
    }
    
    .social-promo-btn {
        flex: 1 1 auto !important;
        min-width: 90px !important;
        max-width: 120px !important;
        justify-content: center !important;
        padding: 7px 10px !important;
        font-size: 0.75rem !important;
    }
    
    .social-promo-btn span {
        display: none;
    }
    
    .social-promo-btn i {
        font-size: 1.1rem !important;
    }
    
    /* FAQ и SEO секции на мобильных - увеличиваем отступы */
    .faq-section .container,
    .seo-section .container.seo-content,
    .seo-content-section .container {
        padding: 0 20px !important;
    }
    
    .faq-grid {
        padding: 0;
    }
    
    .faq-question {
        padding: 18px 0 !important;
        font-size: 1rem !important;
    }
    
    .faq-answer {
        padding-right: 0 !important;
    }
    
    /* SEO секция - дополнительные отступы для контента */
    .seo-section {
        padding: 30px 0 !important;
    }
    
    .seo-section .container.seo-content {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    
    .seo-content p,
    .seo-content ul,
    .seo-content ol {
        margin-bottom: 15px;
    }
    
    .seo-content h2 {
        font-size: 1.5rem !important;
        margin-top: 25px !important;
        margin-bottom: 15px !important;
    }
    
    .seo-content h3 {
        font-size: 1.3rem !important;
        margin-top: 20px !important;
        margin-bottom: 12px !important;
    }
    
    .reviews-grid { 
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr; 
    }
    
    .mobile-cta:not(.hide-on-mobile) { 
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex; 
    }
    
    .mobile-cta.hide-on-mobile {
        display: none !important;
    }
    
    .mobile-cta-buttons {
        gap: 8px;
    }
    
    .mobile-cta-btn {
        width: 40px;
        height: 40px;
        font-size: 1.2rem;
    }
    
    .reviews-compact-section {
        padding: 12px 0;
    }
    
    .reviews-compact-box {
        gap: 15px;
    }
    
    .reviews-compact-text {
        font-size: 0.9rem;
    }
    
    .btn-reviews-compact {
        padding: 8px 16px;
        font-size: 0.85rem;
    }
    
    body { 
        padding-bottom: 70px; 
    }
    
    .footer-content { 
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -moz-box-orient: vertical;
        -moz-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column; 
        gap: 30px; 
    }
    
    /* СТИЛИ СТРАНИЦЫ ТУРА ДЛЯ МОБИЛЬНЫХ */
    .gallery-grid { 
        grid-template-columns: 1fr; 
        grid-template-rows: 240px; 
        gap: 12px;
    }
    
    .gallery-item {
        border-radius: var(--radius);
    }
    
    .item-sub { 
        display: none; 
    }
    
    .tour-layout { 
        grid-template-columns: 1fr; 
        gap: 20px;
    }
    
    /* Адаптивные стили для трансферов */
    .transfer-header-section .tour-title {
        font-size: 1.8rem;
        margin-bottom: 20px;
    }
    
    .transfer-route-large {
        flex-direction: column;
        gap: 20px;
        padding: 20px;
        margin: 20px 0;
    }
    
    .route-arrow-large {
        transform: rotate(90deg);
        font-size: 1.5rem;
        padding: 10px 0;
    }
    
    .route-from,
    .route-to {
        width: 100%;
        gap: 12px;
    }
    
    .route-icon-wrapper {
        width: 50px;
        height: 50px;
    }
    
    .route-icon-wrapper i {
        font-size: 1.1rem;
    }
    
    .route-label {
        font-size: 0.8rem;
        margin-bottom: 6px;
    }
    
    .route-value {
        font-size: 1rem;
    }
    
    /* Transfer Card - Mobile Styles */
    .transfer-card-routes {
        gap: 6px;
    }
    
    .transfer-card-route-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        padding: 8px;
    }
    
    .transfer-card-route-content {
        width: 100%;
        font-size: 0.8rem;
        flex-wrap: wrap;
    }
    
    .transfer-card-route-from,
    .transfer-card-route-to {
        font-size: 0.8rem;
    }
    
    .transfer-card-route-arrow {
        transform: rotate(90deg);
        padding: 4px 0;
    }
    
    .transfer-card-route-price {
        font-size: 0.8rem;
        align-self: flex-end;
    }
    
    .transfer-card-info {
        flex-direction: column;
        gap: 8px;
        padding: 8px 0;
    }
    
    .transfer-info-item {
        font-size: 0.8rem;
    }
    
    .transfer-price-amount {
        font-size: 1.3rem;
    }
    
    .price-value {
        font-size: 1.3rem;
    }
    
    .transfer-price-old {
        font-size: 0.9rem;
    }
    
    /* Стили для множественных направлений - мобильная версия */
    .transfer-routes-list {
        margin: 20px 0;
    }
    
    .transfer-routes-title {
        font-size: 1.3rem;
        margin-bottom: 15px;
    }
    
    .transfer-routes-grid {
        gap: 12px;
    }
    
    .transfer-route-card {
        padding: 15px;
    }
    
    .transfer-route-card-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
    
    .transfer-route-card-route {
        width: 100%;
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
    
    .transfer-route-card .route-point {
        width: 100%;
        flex: 1 1 100%;
    }
    
    .transfer-route-card .route-point span {
        font-size: 0.95rem;
    }
    
    .transfer-route-card .route-arrow-small {
        transform: rotate(90deg);
        padding: 5px 0;
        align-self: center;
    }
    
    .transfer-route-card-price {
        flex-direction: column;
        align-items: center;
        gap: 8px;
    }
    
    .transfer-route-price-wrapper {
        justify-content: center;
    }
    
    .transfer-route-price-value {
        font-size: 1.2rem;
    }
    
    .transfer-routes-selector-label {
        font-size: 0.8rem;
    }
    
    .transfer-routes-select {
        padding: 8px 10px;
        font-size: 0.85rem;
    }
    
    .transfer-routes-count {
        font-size: 0.7rem;
    }
    
    /* Transfer Details Grid - мобильная версия */
    .transfer-details-grid {
        grid-template-columns: 1fr;
        gap: 15px;
        margin-top: 20px;
    }
    
    .transfer-detail-item {
        padding: 15px;
        gap: 12px;
    }
    
    .transfer-detail-icon {
        width: 45px;
        height: 45px;
        font-size: 1.1rem;
    }
    
    .transfer-detail-label {
        font-size: 0.8rem;
    }
    
    .transfer-detail-value {
        font-size: 1rem;
    }
    
    /* Transfer Description Section - мобильная версия */
    .transfer-description-section {
        margin: 30px 0;
        padding: 20px 0;
    }
    
    .section-title {
        font-size: 1.5rem;
        margin-bottom: 20px;
    }
    
    .transfer-description-content {
        font-size: 1rem;
    }
    
    /* Transfer Included Section - мобильная версия */
    .transfer-included-compact {
        margin-top: 20px;
        padding: 20px;
    }
    
    .transfer-included-title {
        font-size: 1.1rem;
        margin-bottom: 15px;
        padding-bottom: 12px;
    }
    
    .transfer-included-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    
    .transfer-included-badge {
        padding: 10px 12px;
        font-size: 0.9rem;
    }
    
    .transfer-included-badge i {
        font-size: 0.85rem;
        width: 16px;
    }
    
    /* Компактный маршрут в блоке бронирования - мобильная версия */
    .transfer-booking-route {
        flex-direction: column;
        gap: 8px;
        padding: 10px;
    }
    
    .booking-route-arrow {
        transform: rotate(90deg);
        font-size: 0.9rem;
        padding: 4px 0;
    }
    
    .booking-route-item {
        width: 100%;
    }
    
    .booking-route-label {
        font-size: 0.65rem;
    }
    
    .booking-route-value {
        font-size: 0.8rem;
    }
    
    /* Тип транспорта в блоке бронирования - мобильная версия */
    .transfer-booking-transport {
        padding: 8px 10px;
        gap: 8px;
    }
    
    .booking-transport-icon {
        width: 32px;
        height: 32px;
        font-size: 0.9rem;
    }
    
    .booking-transport-label {
        font-size: 0.65rem;
    }
    
    .booking-transport-value {
        font-size: 0.8rem;
    }
    
    /* Адаптивные стили для блока бронирования */
    .transfer-booking-card {
        gap: 10px;
    }
    
    .transfer-booking-card .booking-title {
        font-size: 1.1rem;
    }
    
    .transfer-discount-banner {
        padding: 3px 10px;
        font-size: 0.75rem;
    }
    
    .transfer-price-amount {
        font-size: 1.5rem;
    }
    
    .transfer-price-rub {
        font-size: 0.8rem;
    }
    
    .transfer-info-badge {
        padding: 8px 10px;
        font-size: 0.8rem;
    }
    
    .transfer-booking-checkbox {
        font-size: 0.7rem;
        padding: 6px 0;
    }
    
    .transfer-booking-buttons {
        gap: 6px;
    }
    
    /* Что включено в блоке бронирования - мобильная версия */
    .transfer-booking-included {
        padding: 8px 0;
    }
    
    .transfer-booking-included-title {
        font-size: 0.85rem;
        margin-bottom: 8px;
        padding-bottom: 6px;
    }
    
    .transfer-booking-included-list {
        gap: 5px;
    }
    
    .transfer-booking-included-item {
        padding: 5px 0;
        font-size: 0.75rem;
    }
    
    .transfer-booking-included-item i {
        font-size: 0.7rem;
        width: 12px;
    }
    
    /* Уменьшаем padding контента на мобильных */
    .tour-content {
        padding: 10px 5px !important;
    }
    
    /* Уменьшаем отступы tour-header на мобильных */
    .tour-header {
        margin-bottom: 5px !important;
    }
    
    .tour-meta {
        margin-bottom: 10px !important;
        padding-bottom: 10px !important;
    }
    
    /* Показываем мобильный блок бронирования */
    .booking-card-mobile {
        display: block !important;
        position: static !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
        border: 1px solid #e5e5e5 !important;
        border-radius: 12px !important;
        margin-top: 5px !important;
        margin-bottom: 20px !important;
        background: var(--c-white) !important;
    }
    
    /* Скрываем десктопный sidebar с бронированием на мобильных */
    .sidebar {
        display: none !important;
    }
    
    /* Показываем мобильную версию блока бронирования в начале контента */
    .transfer-booking-card-mobile {
        display: block !important;
        margin: 20px 0;
    }
    
    .transfer-booking-card-mobile .transfer-booking-card {
        display: flex !important;
        position: relative !important;
        top: auto !important;
        margin: 0;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    }
    
    #mobile-booking-placeholder { 
        display: none;
    }
    
    .mobile-bottom-bar { 
        display: flex; 
    }
    
    /* Адаптивные стили для блоков с иконками */
    .tour-meta {
        gap: 12px;
    }
    
    .tour-meta-item {
        min-width: 150px;
    }
    
    .tour-meta-icon {
        width: 35px;
        height: 35px;
        font-size: 1rem;
    }
    
    .tour-meta-label {
        font-size: 0.7rem;
    }
    
    .tour-meta-value {
        font-size: 0.9rem;
    }
    
    .highlights {
        padding: 15px 10px !important;
    }
    
    .booking-card {
        padding: 15px 10px !important;
    }
    
    /* Улучшенные отступы для мобильного блока бронирования */
    .booking-card-mobile {
        padding: 18px 16px !important;
    }
    
    .booking-card-mobile .booking-header {
        margin-bottom: 16px !important;
        padding-bottom: 14px !important;
        border-bottom: 1px solid #f0f0f0 !important;
    }
    
    .booking-card-mobile .booking-price-section {
        margin-bottom: 16px !important;
        padding-bottom: 16px !important;
        border-bottom: 1px solid #f0f0f0 !important;
    }
    
    .booking-card-mobile .booking-prices-list {
        margin-bottom: 16px !important;
        padding: 14px 12px !important;
        background: #f8f9fa !important;
        border: 1px solid #f0f0f0 !important;
        border-radius: 10px !important;
        gap: 12px !important;
    }
    
    .booking-card-mobile .booking-price-item {
        padding: 0 !important;
    }
    
    .booking-card-mobile .booking-schedule {
        margin-bottom: 16px !important;
        padding: 14px 12px !important;
        background: #f8f9fa !important;
        border: 1px solid #f0f0f0 !important;
        border-radius: 10px !important;
    }
    
    .booking-card-mobile .booking-form {
        margin-bottom: 16px !important;
        gap: 14px !important;
    }
    
    .booking-card-mobile .booking-info-box {
        padding: 12px 14px !important;
        border-radius: 8px !important;
        margin-bottom: 0 !important;
    }
    
    .booking-card-mobile .booking-checkbox {
        padding: 10px 0 !important;
        margin: 0 !important;
    }
    
    .booking-card-mobile .booking-buttons {
        gap: 12px !important;
    }
    
    .booking-card-mobile .booking-btn {
        padding: 14px 18px !important;
        border-radius: 10px !important;
        font-size: 0.95rem !important;
    }
    
    .booking-card-mobile .booking-note {
        margin-top: 8px !important;
        font-size: 0.75rem !important;
    }
    
    .booking-card-mobile .booking-security {
        margin-top: 16px !important;
        padding: 12px 14px !important;
        background: #f8f9fa !important;
        border: 1px solid #f0f0f0 !important;
        border-radius: 10px !important;
    }
    
    /* Улучшаем визуальную иерархию заголовков */
    .booking-card-mobile .booking-title {
        font-size: 1.25rem !important;
        margin-bottom: 0 !important;
    }
    
    /* Улучшаем отступы для price section */
    .booking-card-mobile .booking-price-block {
        margin: 0 !important;
    }
    
    /* Улучшаем отступы для price row */
    .booking-card-mobile .booking-price-row {
        gap: 6px !important;
    }
    
    /* Улучшаем отступы для price rub */
    .booking-card-mobile .booking-price-rub {
        margin-top: 4px !important;
        font-size: 0.82rem !important;
    }
    
    /* Убираем sticky на мобильных */
    #booking-card-element {
        position: relative !important;
        top: auto !important;
        max-height: none !important;
        overflow-y: visible !important;
    }
    
    /* Размещаем цену и бейдж на одной линии на мобильных */
    .booking-price-section {
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
        gap: 10px !important;
        margin-bottom: 20px !important;
    }
    
    .booking-price-block {
        flex: 1;
        min-width: 0;
    }
    
    .booking-price-amount {
        font-size: 1.6rem !important;
    }
    
    .booking-card-mobile .booking-badge {
        flex-shrink: 0;
        padding: 7px 12px !important;
        font-size: 0.8rem !important;
        border-radius: 20px !important;
    }
    
    .booking-card-mobile .booking-badge-icon {
        font-size: 0.85rem !important;
    }
    
    .booking-card-mobile .booking-badge-text {
        white-space: nowrap;
    }
    
    .booking-card-mobile .booking-price-item-icon {
        width: 30px !important;
        height: 30px !important;
        font-size: 0.85rem !important;
    }
    
    .booking-card-mobile .booking-price-item-label {
        font-size: 0.83rem !important;
    }
    
    .booking-card-mobile .booking-price-item-value {
        font-size: 0.88rem !important;
    }
    
    .booking-card-mobile .booking-schedule-icon {
        width: 30px !important;
        height: 30px !important;
        font-size: 0.85rem !important;
    }
    
    .booking-card-mobile .booking-schedule-label {
        font-size: 0.83rem !important;
    }
    
    .booking-card-mobile .booking-schedule-value {
        font-size: 0.88rem !important;
    }
    
    .booking-card-mobile .booking-info-icon {
        font-size: 0.95rem !important;
    }
    
    .booking-card-mobile .booking-info-text {
        font-size: 0.82rem !important;
        line-height: 1.5 !important;
    }
    
    .booking-card-mobile .booking-security {
        justify-content: center !important;
        align-items: center !important;
    }
    
    .booking-card-mobile .booking-security-icon {
        font-size: 0.95rem !important;
        margin-top: 0 !important;
    }
    
    .booking-card-mobile .booking-security-text {
        font-size: 0.78rem !important;
        line-height: 1.5 !important;
        text-align: center !important;
        flex: 0 1 auto !important;
    }
    
    .booking-title-wrapper {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
    }
    
    .booking-title {
        flex: 1;
        margin: 0;
    }
    
    .booking-discount-sticker {
        font-size: 0.75rem;
        padding: 5px 12px;
        flex-shrink: 0;
    }
    
    .what-to-bring-section {
        padding: 20px 15px !important;
    }
    
    .what-to-bring-section .block-title {
        font-size: 1.1rem;
        margin-bottom: 18px;
    }
    
    .what-to-bring-list {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    
    .inc-exc-icon,
    .what-to-bring-icon {
        width: 28px;
        height: 28px;
        font-size: 0.85rem;
    }
    
    .inc-exc-text,
    .what-to-bring-text {
        font-size: 0.9rem;
    }
    
    .timeline-icon {
        width: 35px;
        height: 35px;
        font-size: 1rem;
    }
    
    .timeline-time,
    .timeline-desc {
        font-size: 0.9rem;
    }
    
    .booking-card {
        padding: 20px 10px !important;
        gap: 15px;
    }
    
    .booking-title {
        font-size: 1.2rem;
    }
    
    .booking-price-amount {
        font-size: 1.8rem;
    }
    
    .booking-price-item-icon,
    .booking-schedule-icon {
        width: 28px;
        height: 28px;
        font-size: 0.85rem;
    }
    
    .booking-btn {
        padding: 10px 14px;
        font-size: 0.85rem;
    }
    
    .booking-btn-icon {
        font-size: 1rem;
    }
    
    .footer-grid { 
        grid-template-columns: 1fr; 
        gap: 40px; 
    }
    
    .footer-bottom { 
        flex-direction: column; 
        text-align: center; 
    }
    
    .review-card-mini { 
        -webkit-flex: 0 0 280px; 
        -ms-flex: 0 0 280px; 
        flex: 0 0 280px; 
    }
    
    /* СТРАНИЦА О НАС */
    .story-section {
        padding: 60px 0;
    }
    
    .story-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .story-content .section-header-centered {
        text-align: center;
        align-items: center;
    }
    
    .story-content .section-header-centered h2 {
        text-align: center;
    }
    
    .story-content .section-header-centered span {
        margin-left: auto;
        margin-right: auto;
    }
    
    .story-text {
        font-size: 1rem;
    }
    
    .values-section {
        padding: 60px 0;
    }
    
    .values-section .section-header-centered {
        margin-bottom: 40px;
    }
    
    .values-grid {
        grid-template-columns: 1fr;
        gap: 25px;
    }
    
    .value-card {
        padding: 30px 20px;
    }
    
    .value-icon {
        width: 70px;
        height: 70px;
        margin-bottom: 20px;
    }
    
    .value-icon i {
        font-size: 1.8rem;
    }
    
    .value-card h4 {
        font-size: 1.2rem;
    }
    
    .about-cta-section {
        padding: 60px 0;
    }
    
    .about-cta-section h2 {
        font-size: 2rem;
        margin-bottom: 20px;
    }
    
    .about-cta-section p {
        font-size: 1rem;
        margin-bottom: 30px;
    }
    
    .about-cta-section .btn-hero {
        padding: 14px 35px;
        font-size: 1rem;
    }
    
    .team-section {
        padding: 60px 0;
    }
    
    .team-section h2 {
        font-size: 2rem;
    }
    
    /* СТРАНИЦА КОНТАКТОВ */
    .page-hero-contact {
        padding: 80px 0 50px;
    }
    
    .page-hero-contact h1 {
        font-size: 2rem;
    }
    
    .page-hero-contact p {
        font-size: 1rem;
    }
    
    .messenger-block, .details-section, .map-section, .contact-section {
        padding: 50px 0;
    }
    
    .contact-info h2 {
        font-size: 1.8rem;
        margin-bottom: 25px;
    }
    
    .contact-info h3 {
        font-size: 1.4rem;
        margin-top: 40px;
    }
    
    .messenger-buttons {
        flex-direction: column;
        align-items: center;
        gap: 15px;
    }
    
    .messenger-buttons .btn-cta {
        width: 100%;
        max-width: 300px;
        justify-content: center;
    }
    
    .contact-details {
        padding: 30px 20px;
    }
    
    .contact-details p {
        font-size: 1rem;
    }
    
    .contact-details strong {
        min-width: 80px;
        display: block;
        margin-bottom: 5px;
    }
    
    .map-section {
        margin-top: 40px;
        padding-top: 40px;
    }
    
    .map-section h2 {
        font-size: 1.8rem;
    }
    
    .map-section iframe {
        height: 300px;
    }
    
    .messenger-grid {
        flex-direction: column;
        align-items: center;
    }
    
    .btn-messenger {
        width: 100%;
        max-width: 300px;
    }
    
    .contact-info-grid {
        grid-template-columns: 1fr;
    }
    
    .map-container {
        height: 300px;
    }
}

/* Tablet Styles (768px - 1024px) */
@media (max-width: 1024px) and (min-width: 769px) {
    .gallery-grid.tour-page-gallery {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 280px 280px;
        gap: 15px;
    }
    
    .item-main {
        grid-row: 1 / 3;
        border-radius: var(--radius) 0 0 var(--radius);
    }
    
    .gallery-grid.tour-page-gallery .item-sub {
        display: block;
    }
    
    .item-sub:first-of-type {
        border-radius: 0 var(--radius) 0 0;
    }
    
    .item-sub:last-of-type {
        border-radius: 0 0 var(--radius) 0;
    }
    
    .view-all-photos {
        bottom: 20px;
        right: 20px;
        padding: 10px 20px;
        font-size: 0.85rem;
    }
    
    .what-to-bring-list {
        grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
        gap: 12px;
    }
    
    .what-to-bring-section {
        padding: 25px 20px;
    }
    
    .related-tours-section {
        margin-top: 50px;
        margin-bottom: 50px;
        padding: 40px 0;
    }
    
    .related-tours-title {
        font-size: 1.8rem;
    }
    
    .related-tours-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 25px;
    }
    
    .tour-description-section {
        margin: 50px auto 50px auto;
        padding: 40px 20px;
    }
    
    .tour-description-section .block-title {
        font-size: 1.8rem;
        margin-bottom: 25px;
        padding-bottom: 15px;
    }
}

/* Mobile Styles (up to 768px) */
@media (max-width: 768px) {
    .photo-gallery {
        margin-bottom: 35px;
    }
    
    .gallery-grid.tour-page-gallery {
        grid-template-columns: 1fr;
        grid-template-rows: 240px;
        gap: 12px;
        margin-bottom: 0;
        border-radius: var(--radius);
        padding: 0;
    }
    
    .item-main {
        grid-row: 1;
        border-radius: var(--radius);
    }
    
    .gallery-item {
        flex: none;
        scroll-snap-align: unset;
        margin-right: 0;
        border-radius: var(--radius);
        min-width: unset;
    }
    
    .view-all-photos {
        bottom: 15px;
        right: 15px;
        padding: 10px 18px;
        font-size: 0.8rem;
        border-radius: 50px;
        display: flex;
        align-items: center;
        gap: 6px;
    }
    
    .view-all-photos i {
        font-size: 0.9rem;
    }
    
    /* Keep the original behavior - hide sub items and show view all button */
    .item-sub {
        display: none;
    }
    
    .inc-exc-grid { 
        grid-template-columns: 1fr; 
        gap: 25px; 
    }
    
    .what-to-bring-list {
        grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
        gap: 12px;
    }
    
    .inc-exc-icon,
    .what-to-bring-icon {
        width: 28px;
        height: 28px;
        font-size: 0.85rem;
    }
    
    .inc-exc-text,
    .what-to-bring-text {
        font-size: 0.9rem;
    }
    
    .timeline-icon {
        width: 35px;
        height: 35px;
        font-size: 1rem;
    }
    
    .timeline-time,
    .timeline-desc {
        font-size: 0.9rem;
    }
    
    .related-tours-section {
        margin-top: 40px;
        margin-bottom: 40px;
        padding: 35px 0;
    }
    
    .related-tours-container {
        padding: 0 15px;
    }
    
    .related-tours-title {
        font-size: 1.6rem;
        margin-bottom: 15px;
    }
    
    .related-tours-divider {
        width: 60px;
        height: 3px;
    }
    
    .related-tours-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    
    .related-tour-card .tour-image {
        height: 200px;
    }
    
    .tour-description-section {
        margin: 40px auto 40px auto;
        padding: 35px 15px;
    }
    
    .tour-description-section .block-title {
        font-size: 1.6rem;
        margin-bottom: 20px;
        padding-bottom: 12px;
    }
    
    .related-tour-card .tour-content {
        padding: 18px;
    }
    
    .related-tour-card .tour-content h4 {
        font-size: 1.1rem;
        min-height: 3em;
    }
    
    .price-main-related {
        font-size: 1.3rem;
    }
    
    .tours-grid { 
        grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); 
        gap: 20px;
    }
    
    .tour-image {
        height: 160px;
    }
    
    .tour-content {
        padding: 15px;
    }
    
    .tour-content h4 {
        font-size: 1rem;
        min-height: 2.6em;
    }
}

/* Small Mobile Devices (up to 480px) */
@media (max-width: 480px) {
    /* FAQ и SEO секции на маленьких мобильных - увеличиваем отступы */
    .faq-section .container,
    .seo-section .container.seo-content,
    .seo-content-section .container {
        padding: 0 20px !important;
    }
    
    .seo-section {
        padding: 25px 0 !important;
    }
    
    .photo-gallery {
        margin-bottom: 30px;
    }
    
    .gallery-grid.tour-page-gallery {
        grid-template-rows: 220px;
        gap: 10px;
    }
    
    .view-all-photos {
        bottom: 12px;
        right: 12px;
        padding: 8px 16px;
        font-size: 0.75rem;
        gap: 5px;
    }
    
    .view-all-photos i {
        font-size: 0.85rem;
    }
    
    .related-tours-section {
        margin-top: 30px;
        margin-bottom: 30px;
        padding: 30px 0;
    }
    
    .related-tours-container {
        padding: 0 20px;
    }
    
    .related-tours-title {
        font-size: 1.4rem;
        margin-bottom: 12px;
    }
    
    .related-tours-divider {
        width: 50px;
        height: 3px;
    }
    
    .related-tours-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .related-tour-card .tour-image {
        height: 180px;
    }
    
    .tour-description-section {
        margin: 30px auto 30px auto;
        padding: 30px 15px;
    }
    
    .tour-description-section .block-title {
        font-size: 1.4rem;
        margin-bottom: 18px;
        padding-bottom: 10px;
    }
    
    .tour-description-section .block-title::after {
        width: 60px;
        height: 3px;
    }
    
    .related-tour-card .tour-content {
        padding: 15px;
    }
    
    .related-tour-card .tour-content h4 {
        font-size: 1.05rem;
        min-height: auto;
    }
    
    .price-main-related {
        font-size: 1.2rem;
    }
    
    .tour-card-button {
        padding: 10px 20px;
        font-size: 0.9rem;
    }
    
    .tours-grid { 
        grid-template-columns: 1fr; 
        gap: 20px;
    }
    
    .tour-image {
        height: 200px;
    }
    
    .tour-content {
        padding: 18px;
    }
    
    .tour-content h4 {
        font-size: 1.05rem;
        min-height: auto;
    }
    
    .tour-price-small .price-main {
        font-size: 1.2rem;
    }
    
    /* Еще больше уменьшаем отступы на маленьких экранах */
    .tour-meta {
        flex-direction: column;
        gap: 10px;
    }
    
    .tour-meta-item {
        min-width: 100%;
        width: 100%;
    }
    
    .tour-meta-icon {
        width: 32px;
        height: 32px;
        font-size: 0.9rem;
    }
    
    .tour-meta-label {
        font-size: 0.65rem;
    }
    
    .tour-meta-value {
        font-size: 0.85rem;
    }
    
    .highlights {
        padding: 18px 8px !important;
    }
    
    .booking-card {
        padding: 18px 8px !important;
    }
    
    .highlights-list {
        gap: 10px;
    }
    
    .highlight-item {
        gap: 10px;
    }
    
    .highlight-icon {
        width: 32px;
        height: 32px;
        font-size: 0.9rem;
    }
    
    .highlight-title {
        font-size: 0.9rem;
    }
    
    .highlight-desc {
        font-size: 0.85rem;
    }
    
    .what-to-bring-section {
        padding: 18px 15px !important;
    }
    
    .what-to-bring-section .block-title {
        font-size: 1.05rem;
        margin-bottom: 15px;
    }
    
    .what-to-bring-list {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    
    .inc-exc-icon,
    .what-to-bring-icon {
        width: 26px;
        height: 26px;
        font-size: 0.8rem;
    }
    
    .inc-exc-text,
    .what-to-bring-text {
        font-size: 0.85rem;
    }
    
    .timeline-icon {
        width: 32px;
        height: 32px;
        font-size: 0.9rem;
    }
    
    .timeline-time,
    .timeline-desc {
        font-size: 0.85rem;
    }
    
    .timeline-list {
        gap: 15px;
    }
    
    .booking-card {
        padding: 18px 8px !important;
        gap: 12px;
    }
    
    .booking-title {
        font-size: 1.1rem;
    }
    
    .booking-price-amount {
        font-size: 1.6rem;
    }
    
    .booking-price-item-icon,
    .booking-schedule-icon {
        width: 26px;
        height: 26px;
        font-size: 0.8rem;
    }
    
    .booking-price-item-label,
    .booking-schedule-label {
        font-size: 0.8rem;
    }
    
    .booking-price-item-value {
        font-size: 0.85rem;
    }
    
    .booking-schedule {
        margin-bottom: 20px !important;
    }
    
    .booking-schedule-value {
        font-size: 0.85rem;
    }
    
    .booking-btn {
        padding: 10px 12px;
        font-size: 0.8rem;
    }
    
    .booking-btn-icon {
        font-size: 0.95rem;
    }
    
    .booking-info-text,
    .booking-checkbox,
    .booking-security-text {
        font-size: 0.7rem;
    }
    
    /* Убеждаемся, что текст не выходит за края */
    .highlights ul li,
    .what-to-bring-section ul.check-list li,
    .check-list li {
        min-width: 0;
        max-width: 100%;
    }
    
    .highlights ul li > *:not(i) {
        flex: 1;
        min-width: 0;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }
    
    .what-to-bring-section ul.check-list li > *:not(i),
    .check-list li > *:not(i) {
        flex: 1;
        min-width: 0;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }
}

/* Lightbox adjustments for mobile */
@media (max-width: 768px) {
    .lightbox-swiper .lightbox-image {
        max-width: 95%;
        max-height: 85vh;
    }
    
    .lightbox-swiper .swiper-button-next,
    .lightbox-swiper .swiper-button-prev {
        width: 40px;
        height: 40px;
    }
    
    .lightbox-swiper .swiper-button-next::after,
    .lightbox-swiper .swiper-button-prev::after {
        font-size: 16px;
    }
    
    .close-lightbox {
        font-size: 30px;
        top: 10px;
        right: 20px;
    }
    
    .lightbox-counter {
        font-size: 14px;
        top: 15px;
        padding: 6px 12px;
    }
}

/* Mobile Bottom Bar */
.mobile-bottom-bar { 
    display: none; 
    position: fixed; 
    bottom: 0; 
    left: 0; 
    width: 100%; 
    background: var(--c-white); 
    padding: 15px 20px; 
    box-shadow: 0 -5px 20px rgba(0,0,0,0.1); 
    z-index: 999; 
    justify-content: space-between; 
    align-items: center;
}

.mob-info {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.mob-price {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--c-deep-blue);
    font-family: var(--f-heading);
}

.mob-price span {
    font-size: 0.85rem;
    font-weight: 400;
    color: var(--c-text-light);
}

.btn-mob-book { 
    background: var(--c-gold); 
    color: white; 
    padding: 12px 30px; 
    border-radius: 50px; 
    font-weight: 600; 
    border: none; 
    cursor: pointer;
    transition: all 0.3s ease;
}

.btn-mob-book:hover {
    background: var(--c-deep-blue);
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}

/* Адаптивные стили для заголовков на странице экскурсии */
@media (max-width: 768px) {
    .tour-title {
        font-size: 1.8rem;
    }
    
    .block-title {
        font-size: 1.3rem;
        margin-top: 30px;
    }
    
    h4.block-title {
        font-size: 1.1rem;
    }
    
    .booking-title {
        font-size: 1.2rem;
    }
    
    .tour-content h4 {
        font-size: 1rem;
    }
}

@media (max-width: 480px) {
    .tour-title {
        font-size: 1.5rem;
    }
    
    .block-title {
        font-size: 1.2rem;
        margin-top: 25px;
    }
    
    h4.block-title {
        font-size: 1rem;
    }
    
    .booking-title {
        font-size: 1.1rem;
    }
    
    /* Хлебные крошки на мобильных устройствах */
    .breadcrumbs {
        margin-top: 75px;
        padding: 12px 0 8px;
    }
}

/* Хлебные крошки на планшетах */
@media (max-width: 768px) {
    .breadcrumbs {
        margin-top: 70px;
        padding: 12px 0 8px;
    }
    
    /* Конверсионный блок CTA */
    .conversion-cta-block {
        padding: 20px;
    }
    
    .conversion-cta-content {
        flex-direction: column;
        text-align: center;
        gap: 20px;
    }
    
    .conversion-cta-icon {
        width: 50px;
        height: 50px;
        font-size: 1.5rem;
        margin: 0 auto;
    }
    
    .conversion-cta-text {
        min-width: unset;
        width: 100%;
    }
    
    .conversion-cta-title {
        font-size: 1.3rem;
    }
    
    .conversion-cta-description {
        font-size: 0.9rem;
    }
    
    .conversion-cta-checkbox {
        font-size: 0.8rem;
        margin-top: 12px;
    }
    
    .conversion-cta-buttons {
        width: 100%;
        gap: 10px;
        justify-content: center;
        margin-top: 12px;
    }
    
    .conversion-btn {
        flex: 1 1 calc(50% - 5px);
        min-width: 140px;
        max-width: calc(50% - 5px);
        padding: 12px 16px;
        font-size: 0.9rem;
    }
}

@media (max-width: 480px) {
    .conversion-cta-block {
        padding: 15px;
    }
    
    .conversion-cta-icon {
        width: 45px;
        height: 45px;
        font-size: 1.3rem;
    }
    
    .conversion-cta-title {
        font-size: 1.2rem;
    }
    
    .conversion-cta-description {
        font-size: 0.85rem;
    }
    
    .conversion-cta-checkbox {
        font-size: 0.75rem;
        margin-top: 10px;
    }
    
    .conversion-cta-buttons {
        gap: 8px;
        margin-top: 10px;
    }
    
    .conversion-btn {
        flex: 1 1 100%;
        max-width: 100%;
        padding: 10px 14px;
        font-size: 0.85rem;
    }
    
    .conversion-btn span {
        overflow: hidden;
        text-overflow: ellipsis;
    }
    
    .mobile-cta-btn {
        width: 38px;
        height: 38px;
        font-size: 1.1rem;
    }
    
    .mobile-cta-buttons {
        gap: 6px;
        margin-left: 10px;
    }
    
    .reviews-compact-box {
        flex-direction: column;
        align-items: stretch;
        gap: 15px;
    }
    
    .reviews-compact-content {
        justify-content: center;
        text-align: center;
    }
    
    .btn-reviews-compact {
        width: 100%;
        justify-content: center;
    }
    
    /* Страницы юридических документов */
    .legal-page-content {
        padding: 20px 15px !important;
        margin: 20px 0 40px !important;
    }
    
    .legal-page-title {
        font-size: 1.8rem !important;
        margin-bottom: 20px !important;
        padding-bottom: 15px !important;
    }
    
    .legal-page-text {
        font-size: 0.95rem !important;
    }
    
    .legal-page-text h2 {
        font-size: 1.4rem !important;
        margin-top: 25px !important;
    }
    
    .legal-page-text h3 {
        font-size: 1.2rem !important;
        margin-top: 20px !important;
    }
    
    /* Toast уведомления на мобильных */
    .toast-notification {
        top: 10px;
        right: 10px;
        left: 10px;
        min-width: auto;
        max-width: none;
        transform: translateY(-100px);
    }
    
    .toast-notification.show {
        transform: translateY(0);
    }
    
    .toast-notification-content {
        padding: 14px 16px;
        border-radius: 10px;
    }
    
    .toast-notification-icon {
        font-size: 18px;
    }
    
    .toast-notification-message {
        font-size: 13px;
    }
    
    .toast-notification-close {
        font-size: 14px;
        width: 20px;
        height: 20px;
    }
    
    /* Модальное окно с инструкцией на мобильных */
    .messenger-instruction-content {
        padding: 20px 15px;
        max-width: 95%;
        border-radius: 12px;
        gap: 12px;
    }
    
    .messenger-instruction-icon {
        font-size: 35px;
    }
    
    .messenger-instruction-title {
        font-size: 18px;
    }
    
    .messenger-instruction-manual {
        padding: 12px;
    }
    
    .messenger-instruction-manual-title {
        font-size: 13px;
        margin-bottom: 8px;
    }
    
    .messenger-instruction-manual-info {
        font-size: 13px;
    }
    
    .manual-contact-item strong {
        font-size: 12px;
    }
    
    .manual-contact-value {
        font-size: 14px;
    }
    
    .messenger-instruction-qr {
        padding: 10px;
    }
    
    .messenger-instruction-qr-title {
        font-size: 12px;
        margin-bottom: 8px;
    }
    
    .messenger-instruction-qr img {
        max-width: 120px;
    }
    
    .messenger-instruction-btn {
        padding: 9px 18px;
        font-size: 13px;
    }
    
    .messenger-instruction-btn i {
        font-size: 16px;
    }
    
    .messenger-instruction-close {
        top: 12px;
        right: 12px;
        font-size: 18px;
    }
}