    .cart-sidebar {
        position: fixed;
        top: 0;
        right: 0;
        width: 340px;
        height: 100%;
        background-color: #fff;
        box-shadow: -2px 0 8px rgba(0, 0, 0, 0.15);
        z-index: 1050;
        transform: translateX(100%);
        /* oculto */
        transition: transform 0.3s ease-in-out;
        display: flex;
        flex-direction: column;
    }

    .cart-sidebar.show {
        transform: translateX(0);
        /* visible */
    }

    .cart-sidebar-header {
        border-bottom: 1px solid #ddd;
    }

    .cart-sidebar-body {
        flex: 1;
        overflow-y: auto;
    }

    .cart-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background: rgba(0, 0, 0, 0.4);
        z-index: 1040;
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s ease-in-out;
    }

    .cart-overlay.show {
        opacity: 1;
        visibility: visible;
    }

    @media (max-width: 340px) {
        .cart-sidebar {
            width: 100%;
            height: 100vh;
            top: 0;
            right: 0;
        }

        .table td,
        .table th {
            font-size: 0.85rem;
            white-space: nowrap;
        }

        .card-title {
            font-size: 1rem;
        }

        .btn {
            font-size: 0.85rem;
            padding: 0.375rem 0.5rem;
        }

        .table a {
            word-break: break-word;
            display: inline-block;
            max-width: 100px;
        }
    

    }