/* Global Responsive Sizing - جهش پرداز آینده */
/* Standard breakpoints and container sizing */

/* Base container sizing */
.container, .auto-container {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Standard font sizes */
h1 { font-size: clamp(28px, 4vw, 48px); }
h2 { font-size: clamp(24px, 3.5vw, 36px); }
h3 { font-size: clamp(20px, 3vw, 28px); }
h4 { font-size: clamp(18px, 2.5vw, 24px); }
h5 { font-size: clamp(16px, 2vw, 20px); }
h6 { font-size: clamp(14px, 1.8vw, 18px); }

/* Base body and text sizing */
body {
    font-size: clamp(14px, 1.2vw, 16px);
    line-height: 1.6;
}

/* Section padding standardization */
section {
    padding: clamp(40px, 6vw, 80px) 0;
}

/* Header sizing */
.modern-header {
    height: auto;
    min-height: 70px;
}

.header-container {
    max-width: 1440px;
    padding: 0 clamp(15px, 3vw, 40px);
}

/* Hero section responsive */
.hero-section {
    padding: clamp(20px, 4vw, 40px) clamp(15px, 3vw, 20px);
}

.hero-container {
    max-width: 1200px;
    height: clamp(300px, 40vw, 510px);
}

/* Services boxes standardization */
.services-boxes {
    padding: clamp(40px, 6vw, 60px) clamp(15px, 3vw, 20px) 0;
}

.services-container {
    max-width: 1440px;
    gap: clamp(15px, 2vw, 20px);
}

/* Cards section */
.cards-section {
    padding: clamp(30px, 5vw, 40px) clamp(15px, 3vw, 20px);
}

.cards-main-box {
    max-width: 1440px;
    height: auto;
    min-height: clamp(400px, 50vw, 556px);
}

/* About section */
.about-section {
    padding: clamp(60px, 8vw, 100px) 0;
}

/* Footer */
.main-footer {
    padding: clamp(40px, 6vw, 60px) 0 clamp(20px, 3vw, 30px);
}

/* Responsive breakpoints */
@media (max-width: 1440px) {
    .container, .auto-container {
        max-width: 95%;
    }
}

@media (max-width: 1200px) {
    .container, .auto-container {
        max-width: 90%;
        padding: 0 15px;
    }
    
    /* Header adjustments */
    .header-container {
        padding: 0 20px;
    }
    
    /* Navigation spacing */
    .nav-menu {
        gap: clamp(20px, 3vw, 32px);
    }
    
    .nav-link {
        font-size: clamp(13px, 1.5vw, 15px);
    }
}

@media (max-width: 1024px) {
    .container, .auto-container {
        max-width: 95%;
        padding: 0 15px;
    }
    
    /* Services grid adjustment */
    .services-container {
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    }
    
    .service-item {
        height: auto;
        min-height: 400px;
    }
    
    /* Cards responsive */
    .cards-main-box {
        grid-template-columns: 1fr;
        height: auto;
    }
}

@media (max-width: 768px) {
    .container, .auto-container {
        max-width: 100%;
        padding: 0 15px;
    }
    
    /* Hide desktop navigation */
    .download-buttons,
    .main-navigation {
        display: none !important;
    }
    
    .xs-menu-cont {
        display: block !important;
    }
    
    /* Services mobile */
    .services-container {
        grid-template-columns: 1fr;
    }
    
    .service-item {
        height: auto;
        min-height: 300px;
        padding: 30px 20px;
    }
    
    /* About section mobile */
    .about-section .row {
        flex-direction: column-reverse;
    }
    
    .about-section .content-column {
        order: 1;
    }
    
    .about-section .image-column {
        order: 2;
        margin-bottom: 30px;
    }
}

@media (max-width: 480px) {
    .container, .auto-container {
        padding: 0 10px;
    }
    
    /* Header mobile */
    .header-container {
        padding: 0 15px;
        height: 60px;
    }
    
    .logo-img {
        height: 35px;
    }
    
    /* Hero mobile */
    .hero-container {
        height: clamp(250px, 60vw, 300px);
    }
    
    /* Services mobile */
    .service-item {
        min-height: 250px;
        padding: 25px 15px;
    }
    
    .service-icon {
        width: 80px;
        height: 80px;
    }
    
    .service-title {
        font-size: 18px;
    }
    
    .service-desc {
        font-size: 14px;
    }
    
    /* Cards mobile */
    .cards-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 10px;
    }
    
    .card-item {
        height: auto;
        aspect-ratio: 3/4;
    }
}

/* Utility classes */
.text-center { text-align: center; }
.text-right { text-align: right; }
.text-left { text-align: left; }

.mb-0 { margin-bottom: 0; }
.mb-1 { margin-bottom: 0.5rem; }
.mb-2 { margin-bottom: 1rem; }
.mb-3 { margin-bottom: 1.5rem; }
.mb-4 { margin-bottom: 2rem; }
.mb-5 { margin-bottom: 3rem; }

.mt-0 { margin-top: 0; }
.mt-1 { margin-top: 0.5rem; }
.mt-2 { margin-top: 1rem; }
.mt-3 { margin-top: 1.5rem; }
.mt-4 { margin-top: 2rem; }
.mt-5 { margin-top: 3rem; }

.p-0 { padding: 0; }
.p-1 { padding: 0.5rem; }
.p-2 { padding: 1rem; }
.p-3 { padding: 1.5rem; }
.p-4 { padding: 2rem; }
.p-5 { padding: 3rem; }

/* Smooth transitions */
* {
    transition: all 0.3s ease;
}

/* Prevent horizontal scroll */
html, body {
    overflow-x: hidden;
    max-width: 100%;
}

/* Image responsive */
img {
    max-width: 100%;
    height: auto;
}

/* Button standardization */
.btn, .theme-btn, .cards-btn, .hero-btn {
    padding: clamp(8px, 1.5vw, 12px) clamp(16px, 3vw, 24px);
    font-size: clamp(12px, 1.5vw, 14px);
    border-radius: 6px;
    transition: all 0.3s ease;
}

.btn:hover, .theme-btn:hover, .cards-btn:hover, .hero-btn:hover {
    transform: translateY(-2px);
} 