/* ===== SHOPPING CART ===== */

/* Floating cart button */
.cart-float{position:fixed;bottom:24px;right:24px;z-index:999;background:var(--chrome);color:#000;border:none;border-radius:50%;width:60px;height:60px;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(0,0,0,.5);transition:transform .2s}
.cart-float:hover{transform:scale(1.1)}
.cart-float .cart-count{position:absolute;top:-4px;right:-4px;background:#e74c3c;color:#fff;font-size:.75rem;font-weight:700;border-radius:50%;min-width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-family:var(--font-body)}
.cart-float .cart-count:empty{display:none}

/* Cart drawer */
.cart-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:1000;opacity:0;pointer-events:none;transition:opacity .3s}
.cart-overlay.open{opacity:1;pointer-events:all}
.cart-drawer{position:fixed;top:0;right:-420px;width:min(400px,90vw);height:100vh;background:#111;border-left:1px solid #333;z-index:1001;transition:right .3s;display:flex;flex-direction:column;overflow-y:auto}
.cart-drawer.open{right:0}
.cart-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #222}
.cart-header h2{font-family:var(--font-head);font-size:1.6rem;color:var(--silver);letter-spacing:2px;margin:0}
.cart-close{background:none;border:none;color:#999;font-size:1.8rem;cursor:pointer;padding:0;line-height:1}
.cart-close:hover{color:#fff}

/* Cart items */
.cart-items{flex:1;overflow-y:auto;padding:16px}
.cart-empty{text-align:center;color:#666;padding:40px 20px;font-size:1.1rem}
.cart-item{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid #1a1a1a;gap:12px}
.cart-item-info{flex:1}
.cart-item-name{color:#fff;font-weight:600;font-size:.95rem}
.cart-item-size{color:#888;font-size:.8rem;text-transform:capitalize}
.cart-item-price{color:var(--silver);font-family:var(--font-head);font-size:1rem;letter-spacing:1px}
.cart-item-controls{display:flex;align-items:center;gap:8px}
.cart-item-controls button{background:#222;border:1px solid #333;color:#fff;width:28px;height:28px;border-radius:4px;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:background .2s}
.cart-item-controls button:hover{background:#333}
.cart-item-qty{color:#fff;font-weight:600;min-width:20px;text-align:center}
.cart-item-remove{background:none!important;border:none!important;color:#666!important;cursor:pointer;font-size:.8rem;padding:2px 4px}
.cart-item-remove:hover{color:#e74c3c!important}

/* Cart footer / totals */
.cart-footer{padding:20px;border-top:1px solid #222;background:#0d0d0d}
.cart-line{display:flex;justify-content:space-between;padding:6px 0;color:#aaa;font-size:.95rem}
.cart-line.total{color:#fff;font-weight:700;font-size:1.2rem;padding-top:12px;margin-top:8px;border-top:1px solid #333}
.cart-line .label{color:inherit}
.cart-line .value{font-family:var(--font-head);letter-spacing:1px}

/* Checkout button */
.btn-checkout{width:100%;padding:14px;background:var(--chrome);color:#000;border:none;border-radius:8px;font-family:var(--font-head);font-size:1.3rem;letter-spacing:2px;cursor:pointer;margin-top:16px;transition:opacity .2s}
.btn-checkout:hover{opacity:.9}
.btn-checkout:disabled{opacity:.5;cursor:not-allowed}

/* Checkout form */
.checkout-form{padding:20px}
.checkout-form h3{font-family:var(--font-head);font-size:1.3rem;color:var(--silver);margin-bottom:16px;letter-spacing:1px}
.checkout-form .form-group{margin-bottom:14px}
.checkout-form label{display:block;color:#aaa;font-size:.85rem;margin-bottom:4px}
.checkout-form input,.checkout-form textarea{width:100%;padding:10px 12px;background:#1a1a1a;border:1px solid #333;border-radius:6px;color:#fff;font-family:var(--font-body);font-size:.95rem}
.checkout-form input:focus,.checkout-form textarea:focus{outline:none;border-color:var(--silver)}
.checkout-form textarea{resize:vertical;min-height:60px}
.checkout-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-error{color:#e74c3c;font-size:.8rem;margin-top:4px}

/* Add to cart buttons on menu */
.menu-item-actions{margin-top:12px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.size-select{background:#1a1a1a;border:1px solid #333;color:#fff;padding:6px 10px;border-radius:6px;font-family:var(--font-body);font-size:.85rem;cursor:pointer}
.size-select:focus{outline:none;border-color:var(--silver)}
.btn-add-cart{background:var(--chrome);color:#000;border:none;padding:8px 16px;border-radius:6px;font-family:var(--font-head);font-size:1rem;letter-spacing:1px;cursor:pointer;transition:opacity .2s}
.btn-add-cart:hover{opacity:.85}

/* Order confirmation */
.order-confirmation{text-align:center;padding:40px 20px}
.order-confirmation .check{font-size:3rem;margin-bottom:16px}
.order-confirmation h3{font-family:var(--font-head);font-size:1.5rem;color:var(--silver);margin-bottom:12px}
.order-confirmation p{color:#aaa;line-height:1.6}

/* Back to cart link */
.back-to-cart{background:none;border:none;color:var(--silver);cursor:pointer;font-family:var(--font-head);font-size:1rem;letter-spacing:1px;padding:0;margin-bottom:16px;display:flex;align-items:center;gap:6px}
.back-to-cart:hover{color:#fff}

/* Responsive */
@media(max-width:600px){
  .cart-drawer{width:100vw;right:-100vw}
  .checkout-form .form-row{grid-template-columns:1fr}
}
