/**
 * WCC Mini-Cart Protection CSS
 * Ensures mini-cart is always visible and functional across all themes
 * Production-ready with maximum compatibility
 */

/* Core mini-cart container - highest z-index to ensure visibility */
.wcc-header-cart {
    position: fixed !important;
    top: 20px !important;
    right: 20px !important;
    z-index: 5000 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
    background: #ffffff !important;
    border: 2px solid #0073aa !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2) !important;
    transition: all 0.3s ease !important;
    max-width: 300px !important;
    min-width: 150px !important;
    box-sizing: border-box !important;
}

/* Ensure cart is never hidden by theme styles */
.wcc-header-cart,
.wcc-header-cart * {
    visibility: visible !important;
    opacity: 1 !important;
    display: block !important;
    transform: none !important;
    clip: none !important;
    clip-path: none !important;
}

/* Cart toggle button */
.wcc-header-cart .cart-contents {
    display: block !important;
    padding: 12px 16px !important;
    color: #0073aa !important;
    text-decoration: none !important;
    font-weight: bold !important;
    position: relative !important;
    cursor: pointer !important;
    background: none !important;
    border: none !important;
    text-align: left !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.wcc-header-cart .cart-contents:hover {
    background: #f5f5f5 !important;
}

/* Cart count badge */
.cart-contents-count {
    background: #ff4444 !important;
    color: #ffffff !important;
    border-radius: 50% !important;
    padding: 2px 8px !important;
    font-size: 12px !important;
    margin-left: 5px !important;
    display: inline-block !important;
    min-width: 20px !important;
    text-align: center !important;
    line-height: 16px !important;
    font-weight: bold !important;
    vertical-align: baseline !important;
}

/* Dropdown content */
.widget_shopping_cart_content {
    position: absolute !important;
    top: 100% !important;
    right: 0 !important;
    min-width: 320px !important;
    max-width: 400px !important;
    background: #ffffff !important;
    border: 1px solid #ddd !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 25px rgba(0,0,0,0.15) !important;
    display: none !important;
    z-index: 5500 !important;
    max-height: 500px !important;
    overflow-y: auto !important;
    margin-top: 2px !important;
    box-sizing: border-box !important;
}

.widget_shopping_cart_content.show,
.widget_shopping_cart_content:hover {
    display: block !important;
}

/* Header styling */
.wcc-mini-cart-header {
    padding: 15px !important;
    border-bottom: 1px solid #eee !important;
    background: #f9f9f9 !important;
    font-weight: bold !important;
    color: #333 !important;
    border-radius: 8px 8px 0 0 !important;
    margin: 0 !important;
    font-size: 14px !important;
}

/* Content area */
.woocommerce-mini-cart-content {
    padding: 0 !important;
    margin: 0 !important;
    background: #ffffff !important;
}

/* Cart items */
.woocommerce-mini-cart-item {
    padding: 12px 15px !important;
    border-bottom: 1px solid #eee !important;
    position: relative !important;
    background: #ffffff !important;
    margin: 0 !important;
    display: block !important;
}

.woocommerce-mini-cart-item:last-child {
    border-bottom: none !important;
}

/* Edit links */
.wcc-mini-cart-edit-link {
    color: #0073aa !important;
    text-decoration: none !important;
    font-size: 12px !important;
    float: right !important;
    background: #f0f8ff !important;
    padding: 2px 6px !important;
    border-radius: 3px !important;
    border: 1px solid #0073aa !important;
    margin-top: 2px !important;
}

.wcc-mini-cart-edit-link:hover {
    background: #0073aa !important;
    color: #ffffff !important;
}

/* Footer with buttons */
.wcc-mini-cart-footer {
    padding: 15px !important;
    border-top: 1px solid #eee !important;
    background: #f9f9f9 !important;
    border-radius: 0 0 8px 8px !important;
    margin: 0 !important;
}

.wcc-cart-total {
    font-weight: bold !important;
    margin-bottom: 12px !important;
    color: #333 !important;
    font-size: 16px !important;
    text-align: center !important;
}

.wcc-cart-buttons {
    display: flex !important;
    gap: 8px !important;
    margin: 0 !important;
}

.wcc-cart-buttons .button {
    flex: 1 !important;
    background: #0073aa !important;
    color: #ffffff !important;
    padding: 10px 15px !important;
    text-decoration: none !important;
    border-radius: 4px !important;
    text-align: center !important;
    font-size: 14px !important;
    border: none !important;
    cursor: pointer !important;
    transition: background-color 0.3s !important;
    display: block !important;
}

.wcc-cart-buttons .button.checkout {
    background: #ff4444 !important;
}

.wcc-cart-buttons .button:hover {
    opacity: 0.9 !important;
    transform: translateY(-1px) !important;
}

/* Empty cart message */
.woocommerce-mini-cart__empty-message {
    padding: 20px !important;
    text-align: center !important;
    color: #666 !important;
    font-style: italic !important;
    margin: 0 !important;
    background: #ffffff !important;
}

/* Responsive design */
@media (max-width: 768px) {
    .wcc-header-cart {
        top: 10px !important;
        right: 10px !important;
        max-width: 250px !important;
    }
    
    .widget_shopping_cart_content {
        min-width: 280px !important;
        max-width: 320px !important;
    }
    
    .wcc-cart-buttons {
        flex-direction: column !important;
    }
    
    .wcc-cart-buttons .button {
        margin-bottom: 5px !important;
    }
}

@media (max-width: 480px) {
    .wcc-header-cart {
        right: 5px !important;
        top: 5px !important;
        max-width: 200px !important;
    }
    
    .widget_shopping_cart_content {
        min-width: 250px !important;
        max-width: 280px !important;
        right: -50px !important;
    }
}

/* Animation classes for updates */
.wcc-cart-updating .cart-contents-count {
    background: #ffa500 !important;
    animation: wcc-pulse 1s infinite !important;
}

.wcc-cart-updated .cart-contents-count {
    background: #00ff00 !important;
    animation: wcc-flash 0.5s !important;
}

@keyframes wcc-pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.1); }
    100% { transform: scale(1); }
}

@keyframes wcc-flash {
    0% { background: #00ff00 !important; }
    100% { background: #ff4444 !important; }
}

/* Debugging styles - only visible when debug enabled */
.wcc-debug-info {
    position: absolute !important;
    top: -30px !important;
    right: 0 !important;
    background: #000 !important;
    color: #fff !important;
    padding: 5px 10px !important;
    border-radius: 4px !important;
    font-size: 11px !important;
    z-index: 4500 !important;
    display: none !important;
}

.wcc-header-cart.debug .wcc-debug-info {
    display: block !important;
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .wcc-header-cart {
        border-width: 3px !important;
        box-shadow: 0 0 0 2px #000 !important;
    }
    
    .cart-contents-count {
        border: 2px solid #000 !important;
    }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    .wcc-header-cart,
    .cart-contents-count,
    .wcc-total-amount,
    .button {
        transition: none !important;
        animation: none !important;
    }
}

/* Print styles - hide mini-cart when printing */
@media print {
    .wcc-header-cart {
        display: none !important;
    }
}

/* =================================================================
   FORCE DISABLE MINI-CART SIDEBAR/DRAWER - User requested redirect
   ================================================================= */

/* Block all mini-cart sidebar/drawer elements from displaying */
/* ULTRA-HIGH SPECIFICITY: Target all possible WooCommerce Blocks selectors */
/* ONLY ON NON-CART PAGES: Allow mini-cart on actual cart/checkout pages */
body:not(.woocommerce-cart):not(.woocommerce-checkout) .widget_shopping_cart_content,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .wc-block-mini-cart__drawer,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .wc-block-components-drawer,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .wp-block-woocommerce-mini-cart-contents,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .mini-cart-dropdown,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .mini-cart-sidebar,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .cart-sidebar,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .offcanvas-cart,
body:not(.woocommerce-cart):not(.woocommerce-checkout) div.widget_shopping_cart_content,
body:not(.woocommerce-cart):not(.woocommerce-checkout) aside.wc-block-mini-cart__drawer,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce-mini-cart-dropdown,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .wc-block-mini-cart__template-part,
html body:not(.woocommerce-cart):not(.woocommerce-checkout) .wc-block-mini-cart__drawer,
body:not(.woocommerce-cart):not(.woocommerce-checkout).wp-site-blocks .wc-block-mini-cart__drawer {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    left: -9999px !important;
    top: -9999px !important;
}

/* Override all show/active/open states with MAXIMUM specificity */
/* ONLY ON NON-CART PAGES: Allow mini-cart on actual cart/checkout pages */
body:not(.woocommerce-cart):not(.woocommerce-checkout) .widget_shopping_cart_content.show,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .widget_shopping_cart_content.active,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .widget_shopping_cart_content.open,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .widget_shopping_cart_content:hover,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .wc-block-mini-cart__drawer.is-open,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .wc-block-mini-cart__drawer.open,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .wc-block-mini-cart__drawer[data-block-name],
body:not(.woocommerce-cart):not(.woocommerce-checkout) .wc-block-components-drawer.is-open,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .mini-cart-dropdown.show,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .mini-cart-dropdown.active,
html body:not(.woocommerce-cart):not(.woocommerce-checkout) .wc-block-mini-cart__drawer.is-open,
body:not(.woocommerce-cart):not(.woocommerce-checkout).wp-site-blocks .wc-block-mini-cart__drawer.is-open,
body:not(.woocommerce-cart):not(.woocommerce-checkout).woocommerce .wc-block-mini-cart__drawer {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    left: -9999px !important;
    top: -9999px !important;
}

/* Prevent any animation or transition */
/* ONLY ON NON-CART PAGES: Allow mini-cart on actual cart/checkout pages */
body:not(.woocommerce-cart):not(.woocommerce-checkout) .widget_shopping_cart_content,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .wc-block-mini-cart__drawer,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .wc-block-components-drawer,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .mini-cart-dropdown {
    transition: none !important;
    animation: none !important;
    transform: none !important;
}

/* Remove backdrop/overlay for mini-cart with MAXIMUM specificity */
/* ONLY ON NON-CART PAGES: Allow mini-cart on actual cart/checkout pages */
body:not(.woocommerce-cart):not(.woocommerce-checkout) .wc-block-mini-cart__overlay,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .wc-block-components-drawer__overlay,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .mini-cart-overlay,
body:not(.woocommerce-cart):not(.woocommerce-checkout) .cart-overlay,
html body:not(.woocommerce-cart):not(.woocommerce-checkout) .wc-block-mini-cart__overlay,
body:not(.woocommerce-cart):not(.woocommerce-checkout).wp-site-blocks .wc-block-mini-cart__overlay {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
}

/* NUCLEAR OPTION: Hide all drawer/modal variations */
/* ONLY ON NON-CART PAGES: Allow mini-cart on actual cart/checkout pages */
body:not(.woocommerce-cart):not(.woocommerce-checkout) [class*="mini-cart"][class*="drawer"],
body:not(.woocommerce-cart):not(.woocommerce-checkout) [class*="wc-block"][class*="drawer"],
body:not(.woocommerce-cart):not(.woocommerce-checkout) [class*="cart"][class*="sidebar"],
body:not(.woocommerce-cart):not(.woocommerce-checkout) [class*="offcanvas"][class*="cart"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}