/* Tablet Styles */
@media (min-width: 769px) and (max-width: 1024px) {
    .container {
        max-width: 960px;
    }
    
    .grid-4 {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .hero-content h1 {
        font-size: 2.5rem !important;
    }
}

/* Mobile Styles */
@media (max-width: 768px) {
    .container {
        padding: 0 1rem;
    }
    
    /* Header */
    .header-top {
        display: none;
    }
    
    .logo img {
        max-height: 40px !important;
    }
    
    /* Hero Section */
    .hero-section {
        padding-bottom: 75% !important; /* Different aspect ratio for mobile */
    }
    
    .hero-content h1 {
        font-size: 1.75rem !important;
        padding: 0 1rem;
    }
    
    .hero-content p {
        font-size: 0.875rem !important;
        padding: 0 1rem;
    }
    
    /* Services Grid */
    .services-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .service-card {
        margin: 0 1rem;
    }
    
    /* Partners Carousel */
    .partners-carousel .swiper-slide {
        padding: 1rem;
    }
    
    .partner-item img {
        max-height: 60px;
    }
    
    /* Gallery */
    .gallery-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    
    .gallery-item img {
        height: 250px;
    }
    
    /* Testimonials */
    .testimonials-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    
    .testimonial-card {
        margin: 0 1rem;
    }
    
    /* Contact */
    .contact-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .contact-info,
    .contact-form {
        padding: 0 1rem;
    }
    
    .branches {
        grid-template-columns: 1fr;
    }
    
    .map-container {
        height: 300px;
        margin: 0 1rem;
    }
    
    /* Shop */
    .products-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    
    .product-card {
        margin: 0 1rem;
    }
    
    .shop-filters {
        flex-direction: column;
        align-items: stretch;
    }
    
    .search-bar {
        max-width: none;
    }
    
    /* Cart Sidebar */
    .cart-sidebar {
        width: 100%;
        right: -100%;
    }
    
    /* Checkout */
    .checkout-container {
        grid-template-columns: 1fr;
        padding: 1rem;
    }
    
    .checkout-form,
    .order-summary {
        padding: 1.5rem;
    }
    
    /* Typography */
    .section-title {
        font-size: 1.75rem;
        padding: 0 1rem;
    }
    
    .section-subtitle {
        font-size: 1rem;
        padding: 0 1rem;
    }
    
    h1 {
        font-size: 1.875rem;
    }
    
    h2 {
        font-size: 1.5rem;
    }
    
    h3 {
        font-size: 1.25rem;
    }
    
    /* Forms */
    .form-group input,
    .form-group textarea,
    .form-group select {
        font-size: 16px; /* Prevent zoom on mobile */
    }
    
    /* Buttons */
    .btn {
        width: 100%;
        text-align: center;
    }
    
    .product-actions {
        flex-direction: column;
    }
    
    .quantity-input {
        width: 100%;
    }
    
    /* Tables */
    .table-responsive {
        overflow-x: auto;
    }
    
    table {
        min-width: 600px;
    }
}

/* Small Mobile Devices */
@media (max-width: 480px) {
    .hero-content h1 {
        font-size: 1.5rem !important;
    }
    
    .service-card .service-image img {
        height: 200px;
    }
    
    .gallery-item .gallery-overlay {
        padding: 1rem;
    }
    
    .gallery-item .gallery-overlay h3 {
        font-size: 1rem;
    }
    
    .testimonial-card {
        padding: 1rem;
    }
    
    .branch-item {
        padding: 1rem;
    }
    
    .modal-content {
        width: 95%;
        margin: 1rem auto;
        padding: 1rem;
    }
}

/* Landscape Mode */
@media (max-width: 768px) and (orientation: landscape) {
    .hero-section {
        padding-bottom: 50% !important;
    }
    
    .mobile-menu {
        overflow-y: auto;
        max-height: 100vh;
    }
}

/* Touch Device Optimizations */
@media (hover: none) {
    .service-card:hover,
    .product-card:hover,
    .gallery-item:hover {
        transform: none;
    }
    
    .btn:hover {
        transform: none;
    }
}

/* Print Styles */
@media print {
    .site-header,
    .mobile-menu-toggle,
    .cart-icon,
    .btn,
    .contact-form,
    .write-review {
        display: none;
    }
    
    body {
        background: white;
        color: black;
    }
    
    .container {
        max-width: none;
        padding: 0;
    }
}