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

/* Floating cart button */
.cart-float{position:fixed;bottom:24px;right:24px;z-index:999;background:var(--red,#BF0A30);color:#fff;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:#002868;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 rgba(255,255,255,0.1)}
.cart-header h2{font-family:var(--font-head,'Jockey One',sans-serif);font-size:1.6rem;color:var(--white);letter-spacing:2px;margin:0}
.cart-close{background:none;border:none;color:rgba(255,255,255,0.6);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 rgba(255,255,255,0.07);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(--white);font-family:var(--font-head,'Jockey One',sans-serif);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 rgba(255,255,255,0.12);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 rgba(255,255,255,0.1);background:#001540}
.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 rgba(255,215,0,0.3)}
.cart-line .label{color:inherit}
.cart-line .value{font-family:var(--font-head,'Jockey One',sans-serif);letter-spacing:1px}

/* Checkout button */
.btn-checkout{width:100%;padding:14px;background:var(--red,#BF0A30);color:#fff;border:none;border-radius:8px;font-family:var(--font-head,'Jockey One',sans-serif);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,'Jockey One',sans-serif);font-size:1.3rem;color:var(--white);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:#001e52;border:1px solid rgba(255,255,255,0.12);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(--white)}
.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:#001e52;border:1px solid rgba(255,255,255,0.12);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(--white)}
.btn-add-cart{background:var(--red,#BF0A30);color:#000;border:none;padding:8px 16px;border-radius:6px;font-family:var(--font-head,'Jockey One',sans-serif);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,'Jockey One',sans-serif);font-size:1.5rem;color:var(--white);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(--white);cursor:pointer;font-family:var(--font-head,'Jockey One',sans-serif);font-size:1rem;letter-spacing:1px;padding:0;margin-bottom:16px;display:flex;align-items:center;gap:6px}
.back-to-cart:hover{color:#fff}

/* ===== CUSTOMIZER MODAL ===== */

/* Overlay */
.cust-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:1100;opacity:0;transition:opacity .3s;pointer-events:none}
.cust-overlay.open{opacity:1;pointer-events:all}

/* Modal */
.cust-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.95);width:min(520px,94vw);max-height:90vh;background:#002868;border:1px solid rgba(255,255,255,0.12);border-radius:16px;z-index:1101;display:flex;flex-direction:column;opacity:0;transition:opacity .3s,transform .3s;overflow:hidden}
.cust-modal.open{opacity:1;transform:translate(-50%,-50%) scale(1)}

/* Header */
.cust-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px 16px;border-bottom:1px solid rgba(255,255,255,0.1);gap:12px}
.cust-title{font-family:var(--font-head,'Jockey One',sans-serif);font-size:1.8rem;color:var(--red,#BF0A30);letter-spacing:2px;margin:0}
.cust-desc{color:#888;font-size:.9rem;margin:4px 0 0;line-height:1.4}
.cust-close{background:none;border:none;color:#666;font-size:1.8rem;cursor:pointer;padding:0;line-height:1;flex-shrink:0}
.cust-close:hover{color:#fff}

/* Body (scrollable) */
.cust-body{flex:1;overflow-y:auto;padding:0 24px 16px;-webkit-overflow-scrolling:touch}

/* Sections */
.cust-section{padding:16px 0;border-bottom:1px solid rgba(255,255,255,0.07)}
.cust-section:last-child{border-bottom:none}
.cust-section h3{font-family:var(--font-head,'Jockey One',sans-serif);font-size:1.1rem;color:#fff;letter-spacing:1px;margin:0 0 10px;display:flex;align-items:center;gap:8px}
.cust-hint{font-size:.7rem;color:#666;font-family:var(--font-body);letter-spacing:0;text-transform:uppercase}

/* Size picker */
.cust-size-row{display:flex;gap:10px}
.cust-bread-row{display:flex;flex-wrap:wrap;gap:10px}
.cust-bread-row .cust-size-opt{flex:0 0 auto;padding:10px 16px}
.cust-bread-error{font-size:0.85rem;margin-top:4px}
.cust-size-opt{display:flex;align-items:center;justify-content:space-between;flex:1;padding:12px 16px;background:#001e52;border:2px solid #333;border-radius:10px;cursor:pointer;transition:border-color .2s,background .2s}
.cust-size-opt input{display:none}
.cust-size-opt.selected{border-color:var(--red,#BF0A30);background:#1a1a0a}
.cust-size-label{color:#fff;font-weight:600;font-size:.9rem}
.cust-size-price{font-family:var(--font-head,'Jockey One',sans-serif);color:var(--red,#BF0A30);font-size:1.1rem;letter-spacing:1px}

/* Locked tags */
.cust-locked{display:flex;flex-wrap:wrap;gap:6px}
.cust-locked-tag{background:#2a1a00;color:var(--red,#BF0A30);padding:6px 12px;border-radius:20px;font-size:.8rem;font-weight:600;border:1px solid #4a3a00}

/* Checkbox grid */
.cust-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}
.cust-check{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#001e52;border:1px solid #222;border-radius:8px;cursor:pointer;transition:background .15s,border-color .15s;font-size:.85rem;color:#ccc;user-select:none}
.cust-check:hover{background:#222;border-color:#444}
.cust-check input{accent-color:var(--red,#BF0A30);width:16px;height:16px;cursor:pointer;flex-shrink:0}
.cust-check input:checked + span{color:#fff;font-weight:600}
.cust-check.is-default{border-color:#333;background:#1a1a0a}
.cust-check.is-default span::after{content:' ★';color:var(--red,#BF0A30);font-size:.65rem}

/* Premium add-ons */
.cust-premium em{color:var(--red,#BF0A30);font-style:normal;font-size:.75rem;margin-left:2px}

/* Combo upsell */
.cust-combo-section h3{color:#E06B44;font-size:1.1rem}
.cust-combo-row{display:flex;gap:8px;flex-wrap:wrap}
.cust-combo-opt{flex:1;min-width:100px;background:#001e52;border:2px solid #333;border-radius:10px;padding:12px 10px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s}
.cust-combo-opt.selected{border-color:#E06B44;background:rgba(224,107,68,.1)}
.cust-combo-opt input{display:none}
.cust-combo-label{display:block;color:#fff;font-family:var(--font-head,'Jockey One',sans-serif);font-size:.95rem;letter-spacing:1px;margin-bottom:2px}
.cust-combo-label small{font-size:.7rem;color:#999;font-family:var(--font-body);letter-spacing:0}
.cust-combo-price{display:block;color:#E06B44;font-family:var(--font-head,'Jockey One',sans-serif);font-size:1rem;letter-spacing:1px}
.cust-combo-note{color:#666;font-size:.75rem;margin-top:6px}

/* Special instructions */
.cust-notes{width:100%;padding:10px 12px;background:#001e52;border:1px solid rgba(255,255,255,0.12);border-radius:8px;color:#fff;font-family:var(--font-body);font-size:.9rem;resize:vertical;min-height:50px}
.cust-notes:focus{outline:none;border-color:var(--red,#BF0A30)}
.cust-notes::placeholder{color:#555}

/* Footer with total + button */
.cust-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-top:1px solid rgba(255,215,0,0.3);background:#001540;gap:12px}
.cust-total{font-family:var(--font-head,'Jockey One',sans-serif);font-size:1.5rem;color:var(--red,#BF0A30);letter-spacing:2px}
.cust-add-btn{background:var(--red,#BF0A30);color:#000;border:none;padding:14px 28px;border-radius:10px;font-family:var(--font-head,'Jockey One',sans-serif);font-size:1.1rem;letter-spacing:2px;cursor:pointer;transition:opacity .2s;white-space:nowrap}
.cust-add-btn:hover{opacity:.85}

/* Toast notification */
.gg-toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--red,#BF0A30);color:#000;padding:12px 24px;border-radius:10px;font-family:var(--font-head,'Jockey One',sans-serif);font-size:1rem;letter-spacing:1px;z-index:1200;opacity:0;transition:opacity .3s,transform .3s;pointer-events:none}
.gg-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* Cart item customizations */
.cart-item-mods{color:#888;font-size:.75rem;margin-top:4px;line-height:1.4;max-width:220px}

/* Responsive */
@media(max-width:600px){
  .cart-drawer{width:100vw;right:-100vw}
  .checkout-form .form-row{grid-template-columns:1fr}
  .cust-modal{width:100vw;height:100vh;max-height:100vh;border-radius:0;top:0;left:0;transform:translateY(100%);transition:opacity .3s,transform .3s}
  .cust-modal.open{transform:translateY(0)}
  .cust-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
  .cust-size-row{flex-direction:column}
  .cust-footer{flex-direction:column}
  .cust-add-btn{width:100%}
}

/* ── Order Type Toggle ── */
.order-type-toggle { display:flex; gap:8px; margin-bottom:16px; }
.order-type-btn { flex:1; padding:12px; border:2px solid #333; border-radius:8px; background:transparent; color:#fff; font-size:1rem; font-weight:600; cursor:pointer; transition:all 0.2s; text-align:center; }
.order-type-btn.active { background:#D63638; color:#000; border-color:#D63638; }
.order-type-btn:hover:not(.active) { border-color:#D63638; color:#D63638; }
.form-select { width:100%; padding:10px 12px; border:1px solid #444; border-radius:6px; background:#f5f5f5; color:#fff; font-size:0.95rem; }
#ck-breakdown { margin-bottom:16px; padding:12px 0; border-bottom:1px solid #333; }
#ck-breakdown .cart-line { display:flex; justify-content:space-between; padding:4px 0; font-size:0.9rem; color:#aaa; }
#ck-breakdown .cart-line.total { font-size:1.1rem; font-weight:700; color:#D63638; padding-top:8px; margin-top:4px; border-top:1px solid #444; }
.order-type-badge { text-align:center; padding:10px; margin-bottom:16px; background:rgba(255,215,0,0.1); border:1px solid #D63638; border-radius:8px; color:#D63638; font-weight:600; font-size:0.95rem; }

/* ── Checkout location confirm ── */
.ck-location-confirm{background:#002868;border:1px solid rgba(255,255,255,0.12);border-radius:10px;padding:12px 16px;margin-bottom:1rem;font-size:0.95rem;color:#ccc}
.ck-location-confirm strong{color:#fff}
.ck-change-link{color:#D63638;font-size:0.85rem;margin-left:8px;text-decoration:underline}
