.floating-cart-widget {
                position: fixed;
                top: 50%;
                right: 0;
                transform: translateY(-50%);
                width: 52px;
                height: 70px;
                background: var(--pb-primary, #0D5C3A);
                color: #fff;
                display: flex;
                align-items: center;
                justify-content: center;
                border-radius: 12px 0 0 12px;
                box-shadow: -3px 0 15px rgba(13, 92, 58, 0.4);
                z-index: 9998;
                text-decoration: none;
                transition: all 0.3s ease;
            }
            .floating-cart-widget:hover {
                color: #fff;
                width: 56px;
                box-shadow: -4px 0 20px rgba(13, 92, 58, 0.5);
            }
            .floating-cart-widget, #floatingCartBtn {
                transform-origin: center center;
            }
            .floating-cart-widget i {
                font-size: 24px;
            }
            .floating-cart-badge {
                position: absolute;
                top: -6px;
                left: 50%;
                transform: translateX(-50%);
                min-width: 22px;
                height: 22px;
                background: #fff;
                color: var(--pb-primary, #0D5C3A);
                font-size: 11px;
                font-weight: bold;
                border-radius: 50%;
                border: 2px solid var(--pb-primary, #0D5C3A);
                display: flex;
                align-items: center;
                justify-content: center;
                padding: 0 4px;
            }
            @media (max-width: 768px) {
                .floating-cart-widget {
                    top: 35%;
                    width: 48px;
                    height: 60px;
                    z-index: 9999;
                }
                .floating-cart-widget i { font-size: 20px; }
                .floating-cart-badge { min-width: 20px; height: 20px; font-size: 10px; }
            }
            /* Sidebar Cart Styles */
            .sidebar-cart-overlay {
                position: fixed;
                inset: 0;
                background: rgba(0,0,0,0.4);
                z-index: 10010;
                opacity: 0;
                visibility: hidden;
                transition: opacity 0.3s, visibility 0.3s;
            }
            .sidebar-cart-overlay.active {
                opacity: 1;
                visibility: visible;
            }
            .sidebar-cart-drawer {
                position: fixed;
                top: 0;
                right: 0;
                width: 380px;
                max-width: 95vw;
                height: 100%;
                height: 100dvh;
                background: #fff;
                z-index: 10011;
                transform: translateX(100%);
                visibility: hidden;
                transition: transform 0.35s ease, visibility 0.35s ease;
                box-shadow: -5px 0 25px rgba(0,0,0,0.15);
                display: flex;
                flex-direction: column;
                overflow: hidden;
            }
            .sidebar-cart-drawer.active {
                transform: translateX(0);
                visibility: visible;
            }
            #sidebarCartContent {
                flex: 1;
                min-height: 0;
                display: flex;
                flex-direction: column;
                overflow: hidden;
            }
            .sidebar-cart-header {
                background: var(--pb-primary, #0D5C3A);
                color: #fff;
                padding: 16px 20px;
                display: flex;
                align-items: center;
                gap: 12px;
                flex-shrink: 0;
            }
            .sidebar-cart-close {
                background: transparent;
                border: none;
                color: #fff;
                font-size: 22px;
                cursor: pointer;
                padding: 4px;
                line-height: 1;
            }
            .sidebar-cart-close:hover { opacity: 0.9; }
            .sidebar-cart-title {
                font-size: 20px;
                font-weight: 700;
                margin: 0;
                flex: 1;
            }
            .sidebar-cart-body {
                flex: 0 1 auto;
                min-height: 0;
                overflow-y: auto;
                padding: 16px;
                background: #f8f9fa;
            }
            .sidebar-cart-item {
                display: flex;
                gap: 12px;
                padding: 12px;
                background: #fff;
                border-radius: 8px;
                margin-bottom: 10px;
                box-shadow: 0 1px 3px rgba(0,0,0,0.06);
            }
            .sidebar-cart-item-img {
                width: 70px;
                height: 85px;
                flex-shrink: 0;
                border-radius: 6px;
                overflow: hidden;
            }
            .sidebar-cart-item-img img {
                width: 100%;
                height: 100%;
                object-fit: cover;
            }
            .sidebar-cart-item-details {
                flex: 1;
                min-width: 0;
                position: relative;
            }
            .sidebar-cart-item-title {
                font-weight: 600;
                color: #222;
                text-decoration: none;
                display: block;
                margin-bottom: 4px;
                font-size: 14px;
                line-height: 1.3;
            }
            .sidebar-cart-item-title:hover { color: var(--pb-primary, #0D5C3A); }
            .sidebar-cart-item-price {
                font-size: 13px;
                color: #444;
                margin: 0 0 4px 0;
            }
            .sidebar-cart-item-savings {
                font-size: 12px;
                color: #28a745;
                font-weight: 500;
                margin: 0 0 8px 0;
            }
            .sidebar-cart-item-remove {
                position: absolute;
                bottom: 0;
                right: 0;
                background: none;
                border: none;
                color: var(--pb-primary, #0D5C3A);
                cursor: pointer;
                padding: 4px;
                font-size: 14px;
            }
            .sidebar-cart-item-remove:hover { color: var(--pb-primary, #0D5C3A); opacity: 0.85; }
            .sidebar-cart-qty {
                display: flex;
                align-items: center;
                gap: 0;
                margin: 8px 0 6px 0;
                width: fit-content;
                border: 1px solid #ddd;
                border-radius: 6px;
                overflow: hidden;
            }
            .sidebar-qty-btn {
                width: 28px;
                height: 28px;
                border: none;
                background: #f0f0f0;
                color: #333;
                font-size: 18px;
                font-weight: bold;
                cursor: pointer;
                display: flex;
                align-items: center;
                justify-content: center;
                transition: background 0.2s;
            }
            .sidebar-qty-btn:hover {
                background: var(--pb-primary, #0D5C3A);
                color: #fff;
            }
            .sidebar-qty-num {
                min-width: 28px;
                height: 28px;
                display: flex;
                align-items: center;
                justify-content: center;
                font-weight: 600;
                font-size: 14px;
                background: #fff;
            }
            .sidebar-cart-empty {
                text-align: center;
                padding: 40px 20px;
                color: #888;
            }
            .sidebar-cart-empty i {
                font-size: 48px;
                margin-bottom: 12px;
                opacity: 0.5;
            }
            .sidebar-cart-footer {
                padding: 16px 20px;
                border-top: 1px solid #eee;
                background: #fff;
                flex-shrink: 0;
            }
            .sidebar-cart-total {
                display: flex;
                justify-content: space-between;
                align-items: baseline;
                margin-bottom: 12px;
            }
            .sidebar-cart-total-label {
                font-size: 14px;
                color: #666;
            }
            .sidebar-cart-total-amount {
                font-size: 20px;
                font-weight: 700;
                color: #222;
            }
            .sidebar-cart-checkout-btn {
                display: block;
                width: 100%;
                padding: 14px 24px;
                background: var(--pb-primary, #0D5C3A);
                color: #fff !important;
                text-align: center;
                font-weight: 600;
                font-size: 16px;
                border-radius: 6px;
                text-decoration: none;
                transition: background 0.2s, opacity 0.2s;
            }
            .sidebar-cart-checkout-btn:hover {
                background: var(--pb-primary, #0D5C3A);
                opacity: 0.9;
                color: #fff !important;
            }
            @media (max-width: 768px) {
                .sidebar-cart-drawer {
                    width: 100%;
                    max-width: 100%;
                }
                .sidebar-cart-header { padding: 14px 16px; }
                .sidebar-cart-body { padding: 12px; }
                .sidebar-cart-item { padding: 10px; }
                .sidebar-cart-item-img { width: 60px; height: 72px; }
                .sidebar-qty-btn { width: 36px; height: 36px; }
                .sidebar-qty-num { min-width: 36px; height: 36px; }
            }
            /* Fly to cart animation - Fabrilife style */
            .fly-to-cart-img {
                position: fixed;
                z-index: 99999;
                pointer-events: none;
                border-radius: 8px;
                box-shadow: 0 8px 30px rgba(0,0,0,0.35);
                object-fit: cover;
                border: 2px solid #fff;
            }
            @keyframes cartBump {
                0% { transform: scale(1); }
                40% { transform: scale(1.25); }
                70% { transform: scale(0.95); }
                100% { transform: scale(1); }
            }
            .cart-bump-animate {
                animation: cartBump 0.45s ease-out;
            }
            .menu-bag a, .mobile_bottom_nav .nav_item .icon_box {
                transform-origin: center center;
            }
