/* =============================================
   MOBILE CATEGORY LAYOUT FIX - FINAL VERSION
   Shows 8 main categories and 6 subcategories on home page
   ============================================= */

/* Reset any conflicting styles and create clean mobile layout */
@media (max-width: 767px) {
    /* ===== CONTAINER FIXES ===== */
    .flat-spacing-2 .container,
    .bg-gradient-light .container {
        padding-left: 0 !important;
        padding-right: 0 !important;
        max-width: 100% !important;
        width: 100% !important;
        margin: 0 !important;
    }
    
    /* ===== GRID SYSTEM RESET ===== */
    .mobile-category-grid,
    .mobile-subcategory-grid {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
        margin: 0 !important;
        padding: 0 8px !important;
        width: 100% !important;
        /* Override Bootstrap */
        --bs-gutter-x: 0px !important;
        --bs-gutter-y: 0px !important;
    }
    
    /* ===== COLUMN FIXES ===== */
    .mobile-category-item,
    .mobile-subcategory-item,
    .col-xl-2.col-lg-3.col-md-4.col-6 {
        width: 100% !important;
        max-width: 100% !important;
        flex: none !important;
        padding: 0 !important;
        margin: 0 !important;
        /* Reset Bootstrap flex properties */
        -webkit-box-flex: 0 !important;
        -ms-flex: none !important;
    }
    
    /* ===== CARD LAYOUT ===== */
    .mobile-category-card,
    .mobile-subcategory-card,
    .category-card-modern {
        background: white;
        border-radius: 12px !important;
        overflow: hidden;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
        border: 1px solid #e5e7eb !important;
        height: 100%;
        width: 100%;
        /* Remove all animations and transitions */
        transition: none !important;
        transform: none !important;
        position: relative;
        display: block;
    }
    
    /* Remove hover effects on mobile */
    .mobile-category-card:hover,
    .mobile-subcategory-card:hover,
    .category-card-modern:hover {
        transform: none !important;
        box-shadow: none !important;
        background: white !important;
    }
    
    /* ===== IMAGE STYLING ===== */
    .mobile-category-image,
    .mobile-subcategory-image,
    .category-image {
        width: 100% !important;
        height: 140px !important;
        object-fit: cover !important;
        display: block !important;
        transition: none !important;
        transform: none !important;
        position: relative !important;
    }
    
    .category-image-wrapper {
        width: 100% !important;
        height: 140px !important;
        overflow: hidden !important;
        border-radius: 12px 12px 0 0 !important;
        background: #f8f9fa;
        position: relative;
        display: block;
    }
    
    /* Remove image hover effects */
    .mobile-category-card:hover .mobile-category-image,
    .mobile-subcategory-card:hover .mobile-subcategory-image,
    .category-card-modern:hover .category-image {
        transform: none !important;
        scale: none !important;
    }
    
    /* ===== TEXT CONTENT ===== */
    .mobile-category-info,
    .mobile-subcategory-info,
    .category-info {
        padding: 12px 8px !important;
        text-align: center;
        background: white;
        border-top: none;
        position: relative;
    }
    
    .mobile-category-name,
    .mobile-subcategory-name,
    .category-name {
        font-size: 13px !important;
        font-weight: 600;
        margin-bottom: 3px !important;
        color: #1a202c !important;
        line-height: 1.2 !important;
        height: auto !important;
        overflow: visible !important;
        text-overflow: clip !important;
        -webkit-line-clamp: unset !important;
        white-space: normal !important;
        transition: none !important;
    }
    
    .mobile-category-parent,
    .mobile-subcategory-parent,
    .category-parent {
        font-size: 10px !important;
        color: #64748b !important;
        text-transform: uppercase;
        margin: 0 !important;
        letter-spacing: 0.5px;
        font-weight: 500;
    }
    
    /* ===== OVERLAY REMOVAL ===== */
    .category-overlay {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
    }
    
    .category-overlay-content {
        display: none !important;
    }
    
    .category-underline {
        display: none !important;
        width: 0 !important;
    }
    
    /* ===== SECTION SPACING ===== */
    .flat-spacing-2,
    .bg-gradient-light {
        padding: 40px 0 !important;
    }
    
    .sect-title {
        margin-bottom: 2rem !important;
        padding: 0 16px;
    }
    
    .sect-title .s-title {
        font-size: 24px !important;
        margin-bottom: 8px !important;
    }
    
    .sect-title .sub-title {
        font-size: 14px !important;
        margin-bottom: 0;
    }
    
    /* Hide desktop view all button */
    .btn-view-all-categories {
        display: none !important;
    }
    
    /* Mobile view all button styling */
    .text-center.mt-4.d-md-none {
        margin-top: 1.5rem !important;
        padding: 0 16px;
    }
    
    .btn-outline-primary.btn-lg {
        padding: 12px 24px;
        font-size: 14px;
        font-weight: 600;
        border-radius: 8px;
        border-width: 2px;
    }
}

/* ===== VERY SMALL MOBILE DEVICES ===== */
@media (max-width: 480px) {
    .mobile-category-image,
    .mobile-subcategory-image,
    .category-image {
        height: 120px !important;
    }
    
    .category-image-wrapper {
        height: 120px !important;
    }
    
    .mobile-category-name,
    .mobile-subcategory-name,
    .category-name {
        font-size: 12px !important;
    }
    
    .mobile-category-parent,
    .mobile-subcategory-parent,
    .category-parent {
        font-size: 9px !important;
    }
    
    .mobile-category-info,
    .mobile-subcategory-info,
    .category-info {
        padding: 10px 6px !important;
    }
}

/* ===== OPTIMIZATION FOR 8 CATEGORIES ===== */
@media (max-width: 767px) {
    /* Ensure proper spacing for 8 main categories (4 rows × 2 columns) */
    .mobile-category-grid {
        min-height: auto !important;
    }
    
    /* Slightly reduce spacing for more categories if needed */
    @media (max-height: 600px) {
        .mobile-category-image,
        .category-image {
            height: 110px !important;
        }
        
        .category-image-wrapper {
            height: 110px !important;
        }
        
        .mobile-category-info,
        .category-info {
            padding: 8px 6px !important;
        }
    }
}

/* ===== TABLET AND DESKTOP - PRESERVE EXISTING ===== */
@media (min-width: 768px) {
    /* Reset mobile-specific classes on larger screens */
    .mobile-category-grid {
        display: flex !important;
    }
    
    .mobile-category-item {
        flex: initial !important;
        max-width: initial !important;
        width: auto !important;
    }
    
    .mobile-category-card {
        border-radius: 15px !important;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08) !important;
        border: none !important;
        transition: all 0.3s ease !important;
    }
    
    .mobile-category-image {
        height: 200px !important;
        transition: transform 0.3s ease !important;
    }
    
    .mobile-category-info {
        padding: 20px !important;
    }
    
    .mobile-category-name {
        font-size: 18px !important;
    }
}

/* ===== FORCE VISIBILITY FOR ALL IMAGES ===== */
.category-image,
.mobile-category-image,
.mobile-subcategory-image {
    opacity: 1 !important;
    display: block !important;
    visibility: visible !important;
}

/* ===== PERFORMANCE OPTIMIZATIONS ===== */
.category-card-modern,
.mobile-category-card,
.mobile-subcategory-card {
    contain: layout style paint;
    will-change: auto;
}

/* ===== EMERGENCY OVERRIDE FOR CONFLICTING STYLES ===== */
@media (max-width: 767px) {
    /* Override any existing grid systems */
    .row.g-4 {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
        margin: 0 !important;
        padding: 0 8px !important;
    }
    
    .row.g-4 > * {
        padding: 0 !important;
        margin: 0 !important;
        width: auto !important;
        max-width: none !important;
        flex: none !important;
    }
    
    /* Force disable animations on mobile for performance */
    .category-card-modern *,
    .mobile-category-card *,
    .mobile-subcategory-card * {
        animation: none !important;
        transition: none !important;
    }
}

/* ===== LOADING STATE ===== */
.category-image.lazyload:not(.lazyloaded) {
    background: #f5f5f5;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #999;
    font-size: 12px;
}

.category-image.lazyload:not(.lazyloaded)::before {
    content: 'Loading...';
}
