/* Responsive CSS pour Michel Taxis */

/* Tablettes (768px et moins) */
@media (max-width: 768px) {
    /* Navigation */
    .nav-link {
        font-size: 0.9rem;
        padding: 0.4rem 0.6rem;
    }
    
    /* Hero Section */
    .hero-title {
        font-size: 1.75rem !important;
        line-height: 1.3;
    }
    
    .hero-desc {
        font-size: 1rem !important;
        line-height: 1.5;
    }
    
    .hero-overlay {
        margin: 1rem auto 0 auto !important;
        max-width: 95% !important;
        padding: 1.5rem 1rem !important;
    }
    
    .hero-btns {
        flex-direction: column !important;
        gap: 0.75rem !important;
    }
    
    .btn-main, .btn-white {
        width: 100% !important;
        justify-content: center !important;
        padding: 0.875rem 1.25rem !important;
        font-size: 0.95rem !important;
    }
    
    /* Sections */
    .section-title {
        font-size: 1.75rem !important;
        margin-bottom: 1.5rem !important;
    }
    
    .section-subtitle {
        font-size: 1.1rem !important;
        margin-bottom: 2rem !important;
    }
    
    /* Cards */
    .card {
        padding: 1.5rem 1rem !important;
        min-height: 180px !important;
    }
    
    .icon-large {
        font-size: 2rem !important;
        margin-bottom: 0.75rem !important;
    }
    
    /* Container */
    .container {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
    
    /* Formulaires */
    .form-input {
        padding: 0.875rem !important;
        font-size: 16px !important; /* Évite le zoom sur iOS */
    }
    
    .btn {
        padding: 0.875rem 1.25rem !important;
        font-size: 0.95rem !important;
    }
    
    /* Espacement */
    .py-16 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }
    
    .mb-12 {
        margin-bottom: 2rem !important;
    }
    
    .mb-8 {
        margin-bottom: 1.5rem !important;
    }
    
    .mb-16 {
        margin-bottom: 2rem !important;
    }
    
    .mb-20 {
        margin-bottom: 2.5rem !important;
    }
    
    .space-y-6 > * + * {
        margin-top: 1rem !important;
    }
    
    .space-y-8 > * + * {
        margin-top: 1.5rem !important;
    }
    
    .space-y-12 > * + * {
        margin-top: 2rem !important;
    }
    
    /* Grilles */
    .grid-cols-1.md\\:grid-cols-2 {
        grid-template-columns: 1fr !important;
    }
    
    /* Textes */
    .text-4xl {
        font-size: 1.875rem !important;
    }
    
    .text-2xl {
        font-size: 1.5rem !important;
    }
    
    .text-xl {
        font-size: 1.125rem !important;
    }
    
    /* Padding */
    .p-8 {
        padding: 1.5rem !important;
    }
    
    .p-6 {
        padding: 1.25rem !important;
    }
    
    /* Estimation card */
    .estimate-card {
        padding: 1.25rem 1rem !important;
        margin-top: 0.75rem !important;
    }
    
    /* Tables */
    .overflow-x-auto {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }
    
    table {
        font-size: 0.875rem !important;
    }
    
    .px-4 {
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
    }
    
    .py-3 {
        padding-top: 0.75rem !important;
        padding-bottom: 0.75rem !important;
    }
}

/* Mobiles (480px et moins) */
@media (max-width: 480px) {
    /* Hero Section */
    .hero-title {
        font-size: 1.5rem !important;
    }
    
    .hero-desc {
        font-size: 0.95rem !important;
    }
    
    .hero-overlay {
        padding: 1.25rem 0.75rem !important;
    }
    
    .btn-main, .btn-white {
        padding: 0.75rem 1rem !important;
        font-size: 0.9rem !important;
    }
    
    /* Sections */
    .section-title {
        font-size: 1.5rem !important;
    }
    
    .section-subtitle {
        font-size: 1rem !important;
    }
    
    /* Cards */
    .card {
        padding: 1.25rem 0.75rem !important;
    }
    
    /* Container */
    .container {
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important;
    }
    
    /* Formulaires */
    .form-input {
        padding: 0.75rem !important;
    }
    
    .btn {
        padding: 0.75rem 1rem !important;
        font-size: 0.9rem !important;
    }
    
    /* Espacement */
    .py-16 {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }
    
    .mb-12 {
        margin-bottom: 1.5rem !important;
    }
    
    .mb-16 {
        margin-bottom: 1.5rem !important;
    }
    
    .mb-20 {
        margin-bottom: 2rem !important;
    }
    
    .space-y-6 > * + * {
        margin-top: 0.75rem !important;
    }
    
    .space-y-8 > * + * {
        margin-top: 1.25rem !important;
    }
    
    .space-y-12 > * + * {
        margin-top: 1.5rem !important;
    }
    
    /* Textes */
    .text-4xl {
        font-size: 1.5rem !important;
    }
    
    .text-2xl {
        font-size: 1.25rem !important;
    }
    
    /* Padding */
    .p-8 {
        padding: 1rem !important;
    }
    
    .p-6 {
        padding: 1rem !important;
    }
    
    /* Estimation card */
    .estimate-card {
        padding: 1rem 0.75rem !important;
    }
    
    /* Tables */
    table {
        font-size: 0.8rem !important;
    }
    
    .px-4 {
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important;
    }
    
    .py-3 {
        padding-top: 0.5rem !important;
        padding-bottom: 0.5rem !important;
    }
}

/* Améliorations spécifiques pour les petits écrans */
@media (max-width: 360px) {
    .hero-title {
        font-size: 1.25rem !important;
    }
    
    .hero-desc {
        font-size: 0.875rem !important;
    }
    
    .section-title {
        font-size: 1.25rem !important;
    }
    
    .btn-main, .btn-white {
        padding: 0.625rem 0.875rem !important;
        font-size: 0.85rem !important;
    }
    
    .container {
        padding-left: 0.375rem !important;
        padding-right: 0.375rem !important;
    }
}

/* Améliorations pour les écrans tactiles */
@media (hover: none) and (pointer: coarse) {
    .btn-main:hover, .btn-white:hover {
        transform: none !important;
    }
    
    .card:hover {
        transform: none !important;
    }
    
    .nav-link:hover {
        transform: none !important;
    }
    
    /* Augmenter la taille des zones tactiles */
    .btn-main, .btn-white {
        min-height: 44px !important;
    }
    
    .nav-link {
        min-height: 44px !important;
        display: flex !important;
        align-items: center !important;
    }
    
    .mobile-nav-link {
        min-height: 44px !important;
    }
} 