/* Mobile Product Listing Styles - Bafalılar E-Commerce */
/* Primary Color: #2563eb, Hover: #1d4ed8 */

/* ============================================
   Desktop Grid Fix - Ensure Bootstrap Works
   ============================================ */
@media (min-width: 992px) {
    /* Ensure Bootstrap row-cols works on desktop */
    .products.row.row-cols-xl-4,
    .products.row.row-cols-md-3 {
        display: flex !important;
        flex-wrap: wrap !important;
    }
    
    .products.row.row-cols-xl-4 > .product.col {
        flex: 0 0 25% !important;
        max-width: 25% !important;
        width: 25% !important;
    }
    
    .products.row.row-cols-md-3 > .product.col {
        flex: 0 0 33.333333% !important;
        max-width: 33.333333% !important;
        width: 33.333333% !important;
    }
    
    .products.row.row-cols-2 > .product.col {
        flex: 0 0 50% !important;
        max-width: 50% !important;
        width: 50% !important;
    }
}

/* ============================================
   Product Listing Page Layout - Mobile
   ============================================ */
@media (max-width: 767.98px) {
    .shop-layout,
    .product-listing-layout {
        display: flex !important;
        flex-direction: column !important;
    }
    
    .shop-content-area,
    .product-listing-content {
        width: 100% !important;
        order: 2 !important;
        padding: 0 15px !important;
    }
    
    .shop-sidebar,
    .product-listing-sidebar {
        width: 100% !important;
        order: 1 !important;
        padding: 0 15px !important;
        margin-bottom: 20px !important;
    }
}

/* ============================================
   Breadcrumb - Mobile
   ============================================ */
@media (max-width: 767.98px) {
    .woocommerce-breadcrumb,
    .breadcrumb {
        font-size: 13px !important;
        padding: 12px 15px !important;
        background: #f8f9fa !important;
        margin-bottom: 15px !important;
        overflow-x: auto !important;
        white-space: nowrap !important;
    }
    
    .woocommerce-breadcrumb a,
    .breadcrumb-item a {
        color: #666 !important;
        text-decoration: none !important;
    }
    
    .woocommerce-breadcrumb a:hover,
    .breadcrumb-item a:hover {
        color: #2563eb !important;
    }
}

/* ============================================
   Shop Control Bar - Mobile
   ============================================ */
@media (max-width: 767.98px) {
    .shop-control-bar {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        padding: 15px !important;
        background: #fff !important;
        border-radius: 8px !important;
        margin-bottom: 20px !important;
        box-shadow: 0 2px 4px rgba(0,0,0,0.05) !important;
    }
    
    .shop-control-bar-top {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        flex-wrap: wrap !important;
        gap: 10px !important;
    }
    
    .woocommerce-result-count {
        font-size: 13px !important;
        color: #666 !important;
        order: 1 !important;
    }
    
    /* Mobile Filter Toggle Button */
    .mobile-filter-toggle {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 10px 16px !important;
        background: #2563eb !important;
        color: #fff !important;
        border: none !important;
        border-radius: 6px !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        min-height: 44px !important;
        cursor: pointer !important;
        order: 2 !important;
    }
    
    .mobile-filter-toggle i {
        margin-right: 8px !important;
    }
    
    /* Sort Dropdown */
    .woocommerce-ordering {
        width: 100% !important;
        order: 3 !important;
    }
    
    .woocommerce-ordering select,
    .orderby {
        width: 100% !important;
        padding: 12px 16px !important;
        font-size: 14px !important;
        border: 1px solid #ddd !important;
        border-radius: 6px !important;
        background: #fff !important;
        min-height: 44px !important;
        appearance: none !important;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E") !important;
        background-repeat: no-repeat !important;
        background-position: right 12px center !important;
        background-size: 12px !important;
        padding-right: 36px !important;
    }
    
    /* View Switcher - Hide on mobile */
    .shop-view-switcher,
    .gridlist-toggle {
        display: none !important;
    }
}

/* ============================================
   Products Grid - Mobile (2 Columns)
   ============================================ */
@media (max-width: 767.98px) {
    .products,
    ul.products {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 6px !important;
        padding: 6px !important;
        margin: 0 !important;
        list-style: none !important;
        background: #f8f8f8 !important;
    }
    
    .products li.product,
    ul.products li.product {
        width: 100% !important;
        float: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* Product card */
    .product-outer {
        height: 100% !important;
    }
    
    .product-inner {
        display: flex !important;
        flex-direction: column !important;
        height: 100% !important;
        background: #fff !important;
        border-radius: 8px !important;
        overflow: hidden !important;
        box-shadow: 0 2px 4px rgba(0,0,0,0.06) !important;
        padding: 8px !important;
    }
    
    /* Product image */
    .product-thumbnail {
        position: relative !important;
        width: 100% !important;
        padding-bottom: 100% !important;
        overflow: hidden !important;
        background: #f5f5f5 !important;
        border-radius: 6px !important;
        margin-bottom: 8px !important;
    }
    
    .product-thumbnail a {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
    .product-thumbnail img {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
    }
    
    /* Discount badge */
    .onsale {
        position: absolute !important;
        top: 6px !important;
        left: 6px !important;
        z-index: 2 !important;
        background: #ef4444 !important;
        color: #fff !important;
        font-size: 10px !important;
        font-weight: 700 !important;
        padding: 3px 6px !important;
        border-radius: 4px !important;
        line-height: 1 !important;
    }
    
    /* Product info - Make categories horizontal scroll on mobile */
    .loop-product-categories {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        width: 100% !important;
        margin-bottom: 8px !important;
        padding: 4px 0 !important;
        gap: 8px !important;
        /* Hide scrollbar but keep functionality */
        scrollbar-width: none !important;
        -ms-overflow-style: none !important;
    }
    
    .loop-product-categories::-webkit-scrollbar {
        display: none !important;
    }
    
    .loop-product-categories a {
        display: inline-flex !important;
        align-items: center !important;
        padding: 4px 12px !important;
        background-color: #f5f5f5 !important;
        border-radius: 12px !important;
        font-size: 11px !important;
        color: #666 !important;
        text-decoration: none !important;
        white-space: nowrap !important;
        flex-shrink: 0 !important;
        transition: background-color 0.2s ease, color 0.2s ease !important;
    }
    
    .loop-product-categories a:hover,
    .loop-product-categories a:active {
        background-color: #e0e0e0 !important;
        color: #2563eb !important;
    }
    
    .woocommerce-loop-product__title {
        font-size: 11px !important;
        line-height: 1.3 !important;
        margin: 0 0 8px 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        min-height: 28px !important;
        max-height: 28px !important;
        color: #333 !important;
    }
    
    .product-rating {
        margin: 4px 0 !important;
    }
    
    .star-rating {
        font-size: 11px !important;
    }
    
    /* Price and cart */
    .price-add-to-cart {
        margin-top: auto !important;
    }
    
    .price {
        display: flex !important;
        flex-direction: column-reverse !important;
        align-items: flex-start !important;
        margin-bottom: 8px !important;
    }
    
    .price del {
        display: block !important;
        font-size: 10px !important;
        color: #999 !important;
        margin-bottom: 0 !important;
        margin-top: 2px !important;
        font-weight: 400 !important;
    }
    
    .price del .amount {
        font-size: 10px !important;
    }
    
    .price ins {
        font-size: 18px !important;
        font-weight: 700 !important;
        color: #2563eb !important;
        text-decoration: none !important;
        display: block !important;
    }
    
    .price ins .amount {
        font-size: 18px !important;
        font-weight: 700 !important;
        color: #2563eb !important;
    }
    
    .add-to-cart-wrap {
        width: 100% !important;
    }
    
    .add_to_cart_button {
        width: 100% !important;
        min-height: 32px !important;
        height: 32px !important;
        padding: 8px !important;
        font-size: 11px !important;
        border-radius: 6px !important;
        background: #2563eb !important;
        color: #fff !important;
        border: none !important;
        font-weight: 600 !important;
        text-align: center !important;
    }
    
    .add_to_cart_button:active {
        background: #1d4ed8 !important;
    }
    
    /* Hide hover area on mobile (Trendyol style - cleaner) */
    .hover-area {
        display: none !important;
    }
}

/* ============================================
   Mobile Filter Sidebar (Drawer)
   ============================================ */
@media (max-width: 767.98px) {
    /* Filter overlay */
    .filter-overlay {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        background: rgba(0,0,0,0.5) !important;
        z-index: 9998 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transition: opacity 0.3s, visibility 0.3s !important;
    }
    
    .filter-overlay.active {
        opacity: 1 !important;
        visibility: visible !important;
    }
    
    /* Filter drawer */
    .shop-sidebar {
        position: fixed !important;
        top: 0 !important;
        left: -100% !important;
        width: 85% !important;
        max-width: 320px !important;
        height: 100% !important;
        background: #fff !important;
        z-index: 9999 !important;
        overflow-y: auto !important;
        transition: left 0.3s ease !important;
        box-shadow: 2px 0 8px rgba(0,0,0,0.15) !important;
        padding: 0 !important;
    }
    
    .shop-sidebar.active {
        left: 0 !important;
    }
    
    /* Filter header */
    .filter-header {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 20px !important;
        background: #2563eb !important;
        color: #fff !important;
        position: sticky !important;
        top: 0 !important;
        z-index: 10 !important;
    }
    
    .filter-header h3 {
        margin: 0 !important;
        font-size: 18px !important;
        font-weight: 600 !important;
        color: #fff !important;
    }
    
    .filter-close {
        background: none !important;
        border: none !important;
        color: #fff !important;
        font-size: 24px !important;
        cursor: pointer !important;
        padding: 0 !important;
        width: 32px !important;
        height: 32px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
    /* Filter content */
    .filter-content {
        padding: 20px !important;
    }
    
    /* Widget styles */
    .widget {
        margin-bottom: 25px !important;
        padding-bottom: 20px !important;
        border-bottom: 1px solid #eaeaea !important;
    }
    
    .widget:last-child {
        border-bottom: none !important;
    }
    
    .widget-title {
        font-size: 16px !important;
        font-weight: 600 !important;
        margin-bottom: 15px !important;
        color: #333 !important;
    }
    
    .widget ul {
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    
    .widget ul li {
        margin-bottom: 10px !important;
    }
    
    .widget ul li a {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 8px 0 !important;
        color: #666 !important;
        text-decoration: none !important;
        font-size: 14px !important;
    }
    
    .widget ul li a:active {
        color: #2563eb !important;
    }
    
    .widget ul li.chosen a,
    .widget ul li.current-cat a {
        color: #2563eb !important;
        font-weight: 600 !important;
    }
    
    /* Price filter */
    .price-filter-widget {
        padding: 15px 0 !important;
    }
    
    .price-slider {
        margin: 20px 0 !important;
    }
    
    .price-inputs {
        display: flex !important;
        gap: 10px !important;
        margin-top: 15px !important;
    }
    
    .price-inputs input {
        flex: 1 !important;
        padding: 10px !important;
        border: 1px solid #ddd !important;
        border-radius: 6px !important;
        font-size: 14px !important;
    }
    
    /* Filter buttons */
    .filter-actions {
        display: flex !important;
        gap: 10px !important;
        padding: 15px 20px !important;
        background: #fff !important;
        border-top: 1px solid #eaeaea !important;
        position: sticky !important;
        bottom: 0 !important;
    }
    
    .filter-actions button {
        flex: 1 !important;
        padding: 12px !important;
        min-height: 44px !important;
        border-radius: 6px !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        border: none !important;
        cursor: pointer !important;
    }
    
    .filter-reset {
        background: #f8f9fa !important;
        color: #666 !important;
    }
    
    .filter-apply {
        background: #2563eb !important;
        color: #fff !important;
    }
}

/* ============================================
   Pagination - Mobile
   ============================================ */
@media (max-width: 767.98px) {
    .woocommerce-pagination,
    .pagination {
        margin: 30px 0 20px !important;
        text-align: center !important;
    }
    
    .page-numbers {
        display: inline-flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 6px !important;
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    
    .page-numbers li {
        margin: 0 !important;
    }
    
    .page-numbers a,
    .page-numbers span {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 40px !important;
        min-height: 40px !important;
        padding: 8px 12px !important;
        border: 1px solid #ddd !important;
        border-radius: 6px !important;
        background: #fff !important;
        color: #666 !important;
        font-size: 14px !important;
        text-decoration: none !important;
    }
    
    .page-numbers a:active {
        background: #f8f9fa !important;
    }
    
    .page-numbers .current {
        background: #2563eb !important;
        color: #fff !important;
        border-color: #2563eb !important;
    }
    
    .page-numbers .prev,
    .page-numbers .next {
        font-weight: 600 !important;
    }
}

/* ============================================
   No Products Found - Mobile
   ============================================ */
@media (max-width: 767.98px) {
    .woocommerce-info,
    .no-products-found {
        padding: 40px 20px !important;
        text-align: center !important;
        background: #f8f9fa !important;
        border-radius: 8px !important;
        margin: 20px 0 !important;
    }
    
    .woocommerce-info i {
        font-size: 48px !important;
        color: #ddd !important;
        margin-bottom: 15px !important;
        display: block !important;
    }
    
    .woocommerce-info p {
        font-size: 14px !important;
        color: #666 !important;
        margin: 0 !important;
    }
}

/* ============================================
   Loading State - Mobile
   ============================================ */
@media (max-width: 767.98px) {
    .loading-overlay {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        background: rgba(255,255,255,0.9) !important;
        z-index: 9999 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
    .loading-spinner {
        width: 40px !important;
        height: 40px !important;
        border: 4px solid #f0f0f0 !important;
        border-top-color: #2563eb !important;
        border-radius: 50% !important;
        animation: spin 1s linear infinite !important;
    }
    
    @keyframes spin {
        to { transform: rotate(360deg); }
    }
}

/* ============================================
   Single Column on Small Mobile
   ============================================ */
@media (max-width: 374.98px) {
    .products,
    ul.products {
        grid-template-columns: 1fr !important;
    }
    
    .woocommerce-loop-product__title {
        -webkit-line-clamp: 3 !important;
    }
}

/* ============================================
   Tablet Adjustments (768px - 991px)
   ============================================ */
@media (min-width: 768px) and (max-width: 991.98px) {
    .products,
    ul.products {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 15px !important;
    }
    
    .woocommerce-loop-product__title {
        font-size: 14px !important;
    }
    
    .price ins,
    .price .amount {
        font-size: 16px !important;
    }
}

