/* ===========================================
   ICELABSOFT - Global Responsive Utilities
   =========================================== */

/* Hide on Mobile */
@media (max-width: 768px) {
    .hidden-mobile {
        display: none !important;
    }
}

/* Hide on Desktop */
@media (min-width: 769px) {
    .hidden-desktop {
        display: none !important;
    }
}

/* Hide on Tablet */
@media (min-width: 641px) and (max-width: 1024px) {
    .hidden-tablet {
        display: none !important;
    }
}

/* Typography Scaling */
@media (max-width: 1024px) {
    h1 {
        font-size: var(--font-size-5xl);
    }

    h2 {
        font-size: var(--font-size-4xl);
    }
}

@media (max-width: 768px) {
    h1 {
        font-size: var(--font-size-4xl);
    }

    h2 {
        font-size: var(--font-size-3xl);
    }

    h3 {
        font-size: var(--font-size-2xl);
    }

    .section {
        padding: var(--spacing-12) 0;
    }
    
    .section-title {
        font-size: var(--font-size-3xl);
    }
    
    .section-subtitle {
        font-size: var(--font-size-base);
        padding: 0 var(--spacing-2);
    }
}

/* Container padding adjustment */
@media (max-width: 640px) {
    .container {
        padding: 0 var(--spacing-4);
    }
    
    .section {
        padding: var(--spacing-10) 0;
    }
}

/* ===========================================
   GRILLES RESPONSIVES GLOBALES
   =========================================== */

/* Utilitaire pour centrer les cartes orphelines */
.grid-center-last {
    justify-items: center;
}

/* Grille 2 colonnes responsive */
.grid-2-cols {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--spacing-6);
    justify-content: center;
}

@media (min-width: 768px) {
    .grid-2-cols {
        grid-template-columns: repeat(2, minmax(280px, 400px));
    }
}

/* Grille 3 colonnes responsive */
.grid-3-cols {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--spacing-6);
    justify-content: center;
}

@media (min-width: 1024px) {
    .grid-3-cols {
        grid-template-columns: repeat(3, minmax(250px, 350px));
    }
}

/* Grille 4 colonnes responsive */
.grid-4-cols {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: var(--spacing-6);
    justify-content: center;
}

@media (min-width: 1280px) {
    .grid-4-cols {
        grid-template-columns: repeat(4, minmax(220px, 280px));
    }
}

/* ===========================================
   CARTES RESPONSIVES
   =========================================== */

/* Assurer que les cartes ne se compressent jamais trop */
.card {
    min-width: 0; /* Permet le shrink dans flexbox/grid */
}

@media (max-width: 640px) {
    .card {
        padding: var(--spacing-4);
    }
    
    .card-hover:hover {
        transform: translateY(-6px) scale(1.01);
    }
}

/* ===========================================
   UTILITAIRES TEXTE RESPONSIVE
   =========================================== */

@media (max-width: 640px) {
    .text-center-mobile {
        text-align: center;
    }
    
    .text-sm-mobile {
        font-size: var(--font-size-sm);
    }
}