/* ============================================
   МОБИЛЬНАЯ ВЕРСИЯ САЙТА
   ============================================ */

/* === ОБЩИЕ ПРАВИЛА === */
@media (max-width: 1024px) {
    
    .sic-container {
        padding: 0 20px !important;
        max-width: 100% !important;
    }

    h1 { font-size: 2.2rem !important; line-height: 1.2 !important; }
    h2 { font-size: 1.8rem !important; }
    h3 { font-size: 1.3rem !important; }
    p { font-size: 1rem !important; }

    section {
        padding: 60px 0 !important;
    }

    .sic-btn-primary,
    .sic-btn-secondary,
    button[type="submit"],
    button.sic-btn-primary {
        width: 100% !important;
        padding: 14px 20px !important;
        font-size: 1rem !important;
        justify-content: center !important;
        min-height: 48px !important;
    }

    div[style*="grid-template-columns: 1fr 500px"],
    div[style*="grid-template-columns: 1fr 520px"],
    div[style*="grid-template-columns: 1fr 1fr"] {
        grid-template-columns: 1fr !important;
        gap: 40px !important;
    }

    div[style*="grid-template-columns: repeat(4, 1fr)"],
    div[style*="grid-template-columns: repeat(3, 1fr)"] {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    div[style*="grid-template-columns: repeat(auto-fit"] {
        grid-template-columns: 1fr !important;
    }

    .hero-section .sic-eyebrow,
    .hero-section svg[width="16"] {
        display: none !important;
    }
}

/* === МОБИЛЬНЫЕ УСТРОЙСТВА (до 768px) === */
@media (max-width: 768px) {
    
    .hero-section {
        padding: 40px 0 !important;
        min-height: auto !important;
    }
    
    .hero-section .sic-container {
        grid-template-columns: 1fr !important;
        gap: 40px !important;
    }

    .sic-lux-frame {
        max-width: 100% !important;
        order: -1;
    }

    .hero-section div[style*="display: flex; gap: 12px"] {
        justify-content: center !important;
        flex-wrap: wrap !important;
    }

    .hero-section div[style*="display: flex; gap: 12px"] > a {
        flex: 1 1 auto !important;
        min-width: 120px !important;
        max-width: 200px !important;
    }

    #contact-form .sic-container > div {
        grid-template-columns: 1fr !important;
        gap: 40px !important;
    }

    #contact-form .sic-lux-frame {
        order: -1;
    }

    #viewing-modal > div,
    #mortgage-modal > div,
    #ipc-modal > div,
    #map-viewing-modal > div {
        width: 95% !important;
        max-width: 100% !important;
        padding: 24px !important;
        margin: 10px;
        max-height: 90vh;
        overflow-y: auto;
    }

    #viewing-modal h3,
    #mortgage-modal h3,
    #ipc-modal h3 {
        font-size: 1.4rem !important;
    }

    input[type="range"] {
        height: 8px !important;
        -webkit-appearance: none;
    }

    input[type="range"]::-webkit-slider-thumb {
        width: 24px !important;
        height: 24px !important;
    }

    div[style*="grid-template-columns: repeat(3, 1fr)"] {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
        text-align: center !important;
    }

    .site-footer div[style*="grid-template-columns"] {
        grid-template-columns: 1fr !important;
        gap: 40px !important;
        text-align: center !important;
    }

    .site-footer ul {
        text-align: center !important;
    }

    .site-footer .social-links {
        justify-content: center !important;
    }

    .sic-card {
        padding: 24px !important;
    }

    div[style*="grid-template-columns: repeat(auto-fit, minmax(320px"] {
        grid-template-columns: 1fr !important;
    }

    div[style*="grid-template-columns: repeat(auto-fit, minmax(300px"] {
        grid-template-columns: 1fr !important;
    }
}

/* === ОЧЕНЬ МАЛЕНЬКИЕ ЭКРАНЫ (до 480px) === */
@media (max-width: 480px) {
    
    h1 { font-size: 1.8rem !important; }
    h2 { font-size: 1.5rem !important; }
    
    .sic-container {
        padding: 0 16px !important;
    }

    section {
        padding: 40px 0 !important;
    }

    .sic-card,
    .sic-glass {
        padding: 20px !important;
    }

    #viewing-modal,
    #mortgage-modal,
    #ipc-modal {
        padding: 10px !important;
    }

    #viewing-modal > div,
    #mortgage-modal > div,
    #ipc-modal > div {
        padding: 20px !important;
        border-radius: 16px !important;
    }

    input, textarea, select {
        font-size: 16px !important;
    }

    .site-footer .social-links a {
        width: 100% !important;
        justify-content: center !important;
    }
}

/* === СЕНСОРНЫЕ ЭКРАНЫ === */
@media (hover: none) and (pointer: coarse) {
    
    a, button, input, select, textarea {
        min-height: 44px;
        min-width: 44px;
    }
    
    a, button {
        touch-action: manipulation;
        -webkit-tap-highlight-color: transparent;
    }
}

/* === ПЕЙЗАЖНАЯ ОРИЕНТАЦИЯ НА МОБИЛЬНЫХ === */
@media (max-height: 500px) and (orientation: landscape) {
    
    #viewing-modal > div,
    #mortgage-modal > div,
    #ipc-modal > div {
        max-height: 95vh;
        overflow-y: auto;
        padding: 20px !important;
    }
}