/* ========================================
   RESPONSIVE ACCUEIL & BOUTIQUE - 3 NIVEAUX
   >1000px (Desktop) | 700-1000px (Tablette) | <700px (Mobile)
   ======================================== */

/* ========================================
   NIVEAU 3: MOBILE (<700px)
   ======================================== */
@media (max-width: 699px) {
    /* Hero Section */
    .hero {
        min-height: 500px;
        padding: 4rem 0 3rem;
    }
    
    .hero__content {
        text-align: center;
    }
    
    .hero__content h1 {
        font-size: 1.75rem;
        line-height: 1.3;
        margin-bottom: 1rem;
    }
    
    .hero__content p {
        font-size: 0.95rem;
        margin-bottom: 1.5rem;
    }
    
    .hero__buttons {
        flex-direction: column;
        gap: 0.75rem;
        width: 100%;
    }
    
    .hero__buttons .btn {
        width: 100%;
        justify-content: center;
    }
    
    /* Services Grid */
    .services__grid {
        grid-template-columns: 1fr !important;
        gap: 1rem;
    }
    
    .service-card {
        padding: 1.5rem;
    }
    
    .service-card__icon {
        font-size: 2rem;
        margin-bottom: 1rem;
    }
    
    .service-card__title {
        font-size: 1.1rem;
    }
    
    /* Pricing Grid */
    .pricing__grid {
        grid-template-columns: 1fr !important;
        gap: 1rem;
    }
    
    .pricing-card {
        padding: 1.5rem;
    }
    
    /* Calendar Widget */
    .home-calendar-widget {
        padding: 20px !important;
    }
    
    .calendar-grid {
        gap: 3px !important;
    }
    
    .calendar-header h3 {
        font-size: 1rem !important;
    }
    
    .calendar-nav-btn {
        font-size: 1.2rem !important;
    }
    
    .calendar-legend {
        flex-direction: column !important;
        gap: 10px !important;
        font-size: 0.8rem !important;
    }
    
    /* Products Grid */
    .products-grid {
        grid-template-columns: 1fr !important;
        gap: 1.25rem;
    }
    
    .product-card {
        max-width: 100%;
    }
    
    .product-card__image {
        height: 250px;
    }
    
    .product-card__content {
        padding: 1.25rem;
    }
    
    .product-card__title {
        font-size: 1.1rem;
    }
    
    .product-card__price {
        font-size: 1.3rem;
    }
    
    /* Shop Filters */
    .shop-filters {
        flex-direction: column !important;
        gap: 1rem;
    }
    
    .filter-group {
        flex-direction: column;
        width: 100%;
    }
    
    .filter-btn {
        width: 100%;
        justify-content: center;
    }
    
    .search-box {
        width: 100%;
    }
    
    /* Shop Hero */
    .shop-hero {
        padding: 4rem 0 3rem;
    }
    
    .shop-hero__title {
        font-size: 1.75rem;
        margin-bottom: 0.75rem;
    }
    
    .shop-hero__description {
        font-size: 0.95rem;
    }
    
    /* Gallery Grid */
    .gallery__grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 0.75rem;
    }
    
    /* Testimonials */
    .testimonial-card {
        padding: 1.25rem;
    }
    
    /* Stats */
    .stats__grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 1rem;
    }
    
    .stat-card {
        padding: 1.25rem;
    }
    
    .stat-card__number {
        font-size: 2rem;
    }
    
    /* Footer */
    .footer__grid {
        grid-template-columns: 1fr !important;
        gap: 1.5rem;
    }
    
    .footer__column {
        text-align: center;
    }
    
    /* Contact Section */
    .contact__details {
        grid-template-columns: 1fr !important;
        gap: 1rem;
    }
    
    /* Join Section */
    .join__content {
        padding: 2rem 1.5rem;
    }
    
    .join__title {
        font-size: 1.5rem;
    }
    
    /* Modal Order */
    .modal-content {
        width: 95%;
        max-width: 95%;
        padding: 1.5rem;
    }
    
    .order-summary {
        padding: 1rem;
    }
    
    /* Buttons */
    .btn-large {
        padding: 0.75rem 1.5rem;
        font-size: 0.95rem;
    }
    
    /* Section Titles */
    .section__title {
        font-size: 1.75rem;
    }
    
    .section__description {
        font-size: 0.95rem;
    }
}

/* ========================================
   NIVEAU 2: TABLETTE (700-1000px)
   ======================================== */
@media (min-width: 700px) and (max-width: 1000px) {
    /* Container */
    .container {
        padding: 0 2rem;
    }
    
    /* Hero Section */
    .hero {
        min-height: 600px;
        padding: 6rem 0 4rem;
    }
    
    .hero__content h1 {
        font-size: 2.25rem;
        line-height: 1.3;
    }
    
    .hero__content p {
        font-size: 1.05rem;
    }
    
    .hero__buttons {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 1rem;
        justify-content: center;
    }
    
    .hero__buttons .btn {
        min-width: 180px;
    }
    
    /* Services Grid */
    .services__grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 1.5rem;
    }
    
    /* Pricing Grid */
    .pricing__grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 1.5rem;
    }
    
    /* Calendar Widget */
    .home-calendar-widget {
        padding: 25px !important;
    }
    
    .calendar-grid {
        gap: 4px !important;
    }
    
    .calendar-header h3 {
        font-size: 1.2rem !important;
    }
    
    .calendar-legend {
        gap: 15px !important;
        font-size: 0.85rem !important;
    }
    
    /* Products Grid */
    .products-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 1.5rem;
    }
    
    .product-card__image {
        height: 280px;
    }
    
    /* Shop Filters */
    .shop-filters {
        flex-direction: row !important;
        flex-wrap: wrap;
        gap: 1.25rem;
        justify-content: space-between;
    }
    
    .filter-group {
        flex: 1;
        min-width: 300px;
    }
    
    .search-box {
        flex: 1;
        min-width: 250px;
    }
    
    /* Shop Hero */
    .shop-hero {
        padding: 5rem 0 4rem;
    }
    
    .shop-hero__title {
        font-size: 2.25rem;
    }
    
    /* Gallery Grid */
    .gallery__grid {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 1rem;
    }
    
    /* Stats */
    .stats__grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 1.25rem;
    }
    
    /* Footer */
    .footer__grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 2rem;
    }
    
    /* Contact Section */
    .contact__details {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 1.5rem;
    }
    
    /* Join Section */
    .join__content {
        padding: 2.5rem 2rem;
    }
    
    /* Modal Order */
    .modal-content {
        width: 85%;
        max-width: 600px;
    }
}

/* ========================================
   NIVEAU 1: DESKTOP (>1000px)
   ======================================== */
@media (min-width: 1001px) {
    /* Container */
    .container {
        padding: 0 3rem;
        max-width: 1200px;
        margin: 0 auto;
    }
    
    /* Hero Section */
    .hero {
        min-height: 700px;
        padding: 10rem 0 6rem;
    }
    
    .hero__content h1 {
        font-size: 3.5rem;
        line-height: 1.2;
    }
    
    .hero__content p {
        font-size: 1.25rem;
    }
    
    .hero__buttons {
        flex-direction: row;
        gap: 2rem;
        justify-content: center;
    }
    
    /* Services Grid */
    .services__grid {
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 2rem;
    }
    
    /* Pricing Grid */
    .pricing__grid {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 2.5rem;
    }
    
    /* Calendar Widget */
    .home-calendar-widget {
        padding: 30px !important;
    }
    
    .calendar-grid {
        gap: 5px !important;
    }
    
    /* Products Grid */
    .products-grid {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 2rem;
    }
    
    .product-card__image {
        height: 320px;
    }
    
    /* Shop Filters */
    .shop-filters {
        flex-direction: row !important;
        justify-content: space-between;
        align-items: center;
        gap: 2rem;
    }
    
    .filter-group {
        flex: 1;
    }
    
    .search-box {
        flex: 0 0 350px;
    }
    
    /* Shop Hero */
    .shop-hero {
        padding: 6rem 0 5rem;
    }
    
    .shop-hero__title {
        font-size: 3rem;
    }
    
    /* Gallery Grid */
    .gallery__grid {
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 1.5rem;
    }
    
    /* Stats */
    .stats__grid {
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 2rem;
    }
    
    /* Footer */
    .footer__grid {
        grid-template-columns: 2fr repeat(3, 1fr) !important;
        gap: 3rem;
    }
    
    /* Contact Section */
    .contact__details {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 2rem;
    }
    
    /* Join Section */
    .join__content {
        padding: 3rem 4rem;
    }
    
    .join__title {
        font-size: 2.5rem;
    }
    
    /* Modal Order */
    .modal-content {
        width: 70%;
        max-width: 700px;
    }
    
    /* Hover Effects */
    .service-card:hover,
    .pricing-card:hover,
    .product-card:hover {
        transform: translateY(-8px);
        box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
    }
    
    .btn:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
    }
}

/* ========================================
   UTILITAIRES
   ======================================== */

/* Touch optimization pour tablettes */
@media (hover: none) and (pointer: coarse) {
    .btn,
    .nav__link,
    .filter-btn,
    button {
        min-height: 44px;
        min-width: 44px;
    }
}

/* Print */
@media print {
    .nav,
    .hero__buttons,
    .btn,
    .shop-filters {
        display: none !important;
    }
    
    .products-grid,
    .services__grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
