/* Anchor link color variable for dashboard customization */
:root {
    --wc-anchor-color: #0073aa;
}

.woo-catering-menu a,
.woo-catering-menu .cart-contents a,
.woo-catering-menu .product-list a {
    color: var(--wc-anchor-color, #0073aa) !important;
    transition: color 0.2s;
}
.woo-catering-menu a:hover,
.woo-catering-menu .cart-contents a:hover,
.woo-catering-menu .product-list a:hover {
    color: #005177 !important;
}

/* Responsive columns for cart/checkout product images on mobile only */
@media (max-width: 600px) {
    .woocommerce-cart .product-list.columns-1,
    .woocommerce-checkout .product-list.columns-1 {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px;
    }
    .woocommerce-cart .product-list.columns-2,
    .woocommerce-checkout .product-list.columns-2 {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 12px;
    }
    .woocommerce-cart .product-list.columns-3,
    .woocommerce-checkout .product-list.columns-3 {
        display: grid !important;
        grid-template-columns: 1fr 1fr 1fr !important;
        gap: 12px;
    }
    /* Ensure images fit grid */
    .woocommerce-cart .product-list .product-thumbnail img,
    .woocommerce-checkout .product-list .product-thumbnail img {
        width: 100% !important;
        height: auto !important;
        max-width: 100px;
        margin: 0 auto;
        display: block;
    }
}

/* Cart/checkout image shape fix: force set shape (circle, square, rectangle) */
.woocommerce-cart .product-thumbnail img.shape-circle,
.woocommerce-checkout .product-thumbnail img.shape-circle {
    width: 80px !important;
    height: 80px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    aspect-ratio: 1 / 1 !important;
    display: block;
    margin: 0 auto;
}
.woocommerce-cart .product-thumbnail img.shape-square,
.woocommerce-checkout .product-thumbnail img.shape-square {
    width: 80px !important;
    height: 80px !important;
    border-radius: 0 !important;
    object-fit: cover !important;
    aspect-ratio: 1 / 1 !important;
    display: block;
    margin: 0 auto;
}
.woocommerce-cart .product-thumbnail img.shape-rectangle,
.woocommerce-checkout .product-thumbnail img.shape-rectangle {
    width: 120px !important;
    height: 90px !important;
    border-radius: 8px !important;
    object-fit: cover !important;
    aspect-ratio: 4 / 3 !important;
    display: block;
    margin: 0 auto;
}
/* (Reverted chatmenu columns and anchor color changes. File restored to original state.) */
/**
 * WooMeny Plugin - OceanWP + Elementor Compatibility CSS
 * 
 * Ovaj fajl re�ava konflikte izme?u WooMeny plugina i:
 * - OceanWP teme
 * - Elementor page builder-a
 * - Elementor Pro
 * - WooCommerce styling
 */

/* ========================================
   OCEANWP OVERRIDES
   ======================================== */

/* Resetuj OceanWP default flex behavior */
.oceanwp-theme .menu-nav,
.site-header .menu-nav,
.site-content .menu-nav {
    flex-wrap: wrap !important;
    display: flex !important;
}

/* OceanWP sticky header fix */
.oceanwp-sticky-header .menu-nav {
    position: sticky !important;
    top: 0 !important;
    z-index: 999 !important;
}

/* ========================================
   ELEMENTOR OVERRIDES
   ======================================== */

/* Elementor widget container fix */
.elementor-widget-container .woo-catering-menu,
.elementor-widget-shortcode .woo-catering-menu {
    max-width: 100% !important;
    overflow-x: visible !important;
}

/* Elementor column fix */
.elementor-column .menu-nav {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Elementor section padding override */
.elementor-section .woo-catering-menu {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* ========================================
   MOBILE + TABLET SPECIFIC (do 1024px)
   ======================================== */

@media (max-width: 1024px) {
    /* OceanWP mobile + tablet menu compatibility */
    .oceanwp-mobile-menu-icon ~ .menu-nav,
    #mobile-menu .menu-nav,
    .oceanwp-theme .menu-nav {
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }
    
    /* Elementor mobile + tablet columns */
    .elementor-column-gap-default > .elementor-column > .elementor-widget-wrap .menu-nav {
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
    }
    
    /* Resetuj OceanWP mobile + tablet defaults */
    .oceanwp-theme .menu-nav-link {
        float: none !important;
        display: inline-block !important;
        width: auto !important;
    }
    
    /* Elementor responsive controls override */
    .elementor-widget-container .menu-nav {
        display: flex !important;
        flex-wrap: nowrap !important;
    }

    /* ✅ FORCE 2 COLUMNS ON MOBILE/TABLET */
    .woo-catering-menu .menu-grid {
        display: grid !important;
        gap: 12px !important;
    }

    .woo-catering-menu .menu-grid.columns-1,
    .woo-catering-menu .menu-grid.columns-2,
    .woo-catering-menu .menu-grid.columns-3,
    .woo-catering-menu .menu-grid.columns-4 {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    /* ✅ ELEMENTOR GRID FIX */
    .elementor-column .woo-catering-menu .menu-grid {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
    }

    /* ✅ OCEAN WP GRID FIX */
    .oceanwp-theme .woo-catering-menu .menu-grid {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
    }
}

/* ========================================
   WOOCOMMERCE CART/CHECKOUT COMPATIBILITY
   ======================================== */

/* Cart page - product images in addons */
.woocommerce-cart .product-thumbnail img.shape-circle,
.woocommerce-checkout .product-thumbnail img.shape-circle {
    width: 80px !important;
    height: 80px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    aspect-ratio: 1 / 1 !important;
    display: block;
    margin: 0 auto;
}

/* Cart item addons display */
.woocommerce-cart-form .cart_item .woo-catering-addons {
    font-size: 12px;
    color: #666;
    margin-top: 5px;
}

/* Checkout order review addons */
.woocommerce-checkout-review-order .product-name .woo-catering-addons {
    display: block;
    font-size: 11px;
    color: #999;
}

/* ========================================
   DESKTOP ONLY (1025px+)
   ======================================== */

@media (min-width: 1025px) {
    /* OceanWP desktop navigation - allow wrap */
    .oceanwp-theme .menu-nav {
        flex-wrap: wrap !important;
        justify-content: center !important;
        overflow-x: visible !important;
    }
    
    /* Elementor desktop columns - allow wrap */
    .elementor-widget-container .menu-nav {
        flex-wrap: wrap !important;
        gap: 12px !important;
        padding: 16px !important;
    }
}

/* ========================================
   ELEMENTOR POPUP COMPATIBILITY
   ======================================== */

/* Elementor Popup Builder */
.elementor-popup-modal .woo-catering-menu {
    max-height: 80vh;
    overflow-y: auto;
}

.elementor-popup-modal .menu-nav {
    position: static !important; /* Don't stick in popups */
}

/* ========================================
   RTL (RIGHT-TO-LEFT) SUPPORT
   ======================================== */

[dir="rtl"] .menu-nav {
    direction: rtl;
}

[dir="rtl"] .menu-nav::after {
    right: auto !important;
    left: 0 !important;
    background: linear-gradient(270deg, transparent, rgba(255,255,255,0.95)) !important;
}

/* ========================================
   ACCESSIBILITY IMPROVEMENTS
   ======================================== */

/* Focus states for keyboard navigation */
.menu-nav-link:focus {
    outline: 2px solid #d40000 !important;
    outline-offset: 2px !important;
}

.add-to-cart-btn:focus {
    outline: 2px solid #d40000 !important;
    outline-offset: 2px !important;
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .menu-nav-link {
        border: 2px solid currentColor !important;
    }
    
    .menu-nav-link.active {
        background: #000 !important;
        color: #fff !important;
    }
}

/* ========================================
   DARK MODE SUPPORT (OceanWP Dark Mode)
   ======================================== */

.oceanwp-dark-mode .menu-nav {
    background: #1a1a1a !important;
    border-bottom: 1px solid #333 !important;
}

.oceanwp-dark-mode .menu-nav-link {
    background: #2a2a2a !important;
    color: #ff6b6b !important;
}

.oceanwp-dark-mode .menu-nav-link:hover {
    background: #3a3a3a !important;
}

.oceanwp-dark-mode .menu-item {
    background: #1a1a1a !important;
    border-color: #333 !important;
}

/* ========================================
   PRINT STYLES
   ======================================== */

@media print {
    .menu-nav {
        display: none !important;
    }
    
    .menu-item {
        page-break-inside: avoid;
    }
    
    .add-to-cart-btn,
    .qty-input {
        display: none !important;
    }
}

/* ========================================
   LOADING STATE
   ======================================== */

.woo-catering-menu.loading {
    opacity: 0.6;
    pointer-events: none;
}

.woo-catering-menu.loading::after {
    content: 'U?itavanje...';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(255, 255, 255, 0.95);
    padding: 20px 40px;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    font-weight: bold;
    z-index: 9999;
}
