.cart-overlay {
    position: fixed; inset: 0; background: rgba(0,0,0,0.5);
    opacity: 0; pointer-events: none; transition: opacity 0.3s; z-index: 1001;
}
.cart-overlay.active { opacity: 1; pointer-events: auto; }
.cart-panel {
    position: fixed; top: 0; right: -100%; width: 100%; max-width: 400px; height: 100vh;
    background: var(--c-bg); box-shadow: -2px 0 8px rgba(0,0,0,0.1);
    transition: right 0.3s ease; z-index: 1002; display: flex; flex-direction: column;
}
.cart-panel.active { right: 0; }
.cart-header, .cart-footer { padding: 1.5rem; background: var(--c-white); border-bottom: 1px solid #ddd; }
.cart-header { display: flex; justify-content: space-between; align-items: center; border-bottom: 2px solid var(--c-wood-light); }
.cart-body { flex: 1; overflow-y: auto; padding: 1.5rem; }
.cart-item { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; padding-bottom: 1rem; border-bottom: 1px solid #eee; }
.item-actions { display: flex; align-items: center; gap: 0.5rem; }
.qty-btn { width: 30px; height: 30px; background: var(--c-wood-light); color: white; border-radius: 4px; display: flex; align-items: center; justify-content: center; }
.cart-total { display: flex; justify-content: space-between; font-size: var(--text-h3); font-family: var(--f-vibro); font-weight: bold; margin-bottom: 1rem; }
#checkout-form input { width: 100%; padding: 0.75rem; margin-bottom: 1rem; border: 1px solid #ccc; border-radius: 4px; font-family: var(--f-teen); }
.w-full { width: 100%; background-color: #25D366; } 
.w-full:hover { background-color: #1ebe57; }