/* ==========================
   UNIVERSAL RESPONSIVE MEDIA QUERIES
========================== */

/* ---------- Large Desktop (≤1200px) ---------- */
@media (max-width: 1200px) {

    header { 
        padding: 25px 10px; 
    }

    h2 { 
        font-size: 2rem; 
    }

    .services-grid .card h3 { 
        font-size: 14px; 
    }

    .tech-img { 
        max-width: 90%; 
        margin: 15px auto; 
    }

    .contact-wrapper { 
        gap: 20px; 
    }

    button { 
        font-size: 14px; 
        padding: 10px; 
    }

}


/* ---------- Tablets Landscape (≤992px) ---------- */
@media (max-width: 992px) {

    header { 
        padding: 20px 10px; 
    }

    h2 { 
        font-size: 1.8rem; 
    }

    .services-grid { 
        gap: 12px; 
    }

    .services-grid .card h3 { 
        font-size: 13px; 
    }

    .tech-img { 
        max-width: 100%; 
        margin: 15px auto; 
    }

    .contact-wrapper { 
        flex-direction: column; 
        gap: 20px; 
    }

    button { 
        font-size: 13px; 
        padding: 9px; 
    }

}

/* ---------- Tablets Portrait (≤768px) ---------- */
@media (max-width: 768px) {

    header { 
        padding: 15px 8px; 
    }

    h2 { 
        font-size: 1.6rem; 
    }

    .services-grid { 
        grid-template-columns: 1fr; 
        gap: 10px; 
    }

    .services-grid .card h3 { 
        font-size: 12px; 
    }

    .tech-img { 
        margin: 15px 0; 
    }

    .contact-left, 
    .contact-right { 
        width: 100%; 
    }

    button { 
        font-size: 12px; 
        padding: 8px; 
    }

}


/* ---------- Large Phones (≤576px) ---------- */
@media (max-width: 576px) {

    header { 
        padding: 12px 6px; 
    }

    h2 { 
        font-size: 1.4rem; 
    }

    p, 
    li { 
        font-size: 0.9rem; 
    }

    .services-grid .card { 
        padding: 15px; 
    }

    .tech-img { 
        width: 100%; 
    }

    button, 
    input, 
    select, 
    textarea { 
        font-size: 14px; 
        padding: 10px; 
    }

}


/* ---------- Normal Phones (≤480px) ---------- */
@media (max-width: 480px) {

    header { 
        padding: 10px 5px; 
    }

    h2 { 
        font-size: 1.3rem; 
    }

    p, 
    li { 
        font-size: 0.85rem; 
    }

    .services-grid .card h3 { 
        font-size: 12px; 
    }

    .contact-wrapper { 
        gap: 15px; 
    }

}

/* ---------- Small Phones (≤360px) ---------- */
@media (max-width: 360px) {

    header { 
        padding: 8px 4px; 
    }

    h2 { 
        font-size: 1.2rem; 
    }

    p, 
    li { 
        font-size: 0.8rem; 
    }

    .services-grid .card h3 { 
        font-size: 11px; 
    }

    button, 
    input, 
    select, 
    textarea { 
        font-size: 13px; 
        padding: 8px; 
    }

}


/* ---------- Ultra-Small Screens (≤240px) ---------- */
@media (max-width: 240px) {

    html, 
    body { 
        font-size: 10px; 
        overflow-x: hidden; 
    }

    header { 
        padding: 6px 3px; 
        text-align: center; 
    }

    h2 { 
        font-size: 11px !important; 
    }

    p, 
    li { 
        font-size: 9px !important; 
    }

    .services-grid { 
        gap: 3px; 
    }

    .services-grid .card { 
        font-size: 9px !important; 
        padding: 3px 5px; 
        line-height: 1.1em; 
        width: 100%; 
    }

    .services-grid .card h3 { 
        font-size: 9px !important; 
    }

    .contact-wrapper { 
        display: flex !important; 
        flex-direction: column !important; 
        gap: 4px !important; 
        width: 100% !important; 
        padding: 0 !important; 
        margin: 0 !important; 
    }

    .contact-left, 
    .contact-right { 
        width: 100% !important; 
        padding: 0 !important; 
        margin: 0 !important; 
    }

    .contact-right form { 
        display: flex !important; 
        flex-direction: column !important; 
        gap: 2px !important; 
        width: 100% !important; 
        margin: 0 !important; 
    }

    .contact-right form input,
    .contact-right form select,
    .contact-right form textarea,
    .contact-right form button { 
        width: 100% !important; 
        max-width: 100% !important; 
        padding: 4px 6px !important; 
        font-size: 9px !important; 
        margin: 0 !important; 
        box-sizing: border-box !important; 
    }

    .contact-right form textarea { 
        height: 60px !important; 
    }

    .contact-right form button { 
        padding: 4px !important; 
        font-size: 9px !important; 
    }

    .float-btn { 
        width: 32px; 
        height: 32px; 
        font-size: 16px; 
        bottom: 3px; 
    }

}


/* ==========================
   UTILITY CLASSES
========================== */

.hidden { 
    display: none !important; 
}

.text-center { 
    text-align: center !important; 
}

.mt-10 { 
    margin-top: 10px !important; 
}

.mb-10 { 
    margin-bottom: 10px !important; 
}

.p-10 { 
    padding: 10px !important; 
}

