/* ── CART BADGE ─────────────────────────────────────────────────── */
.cart-badge{position:absolute;top:2px;right:2px;width:16px;height:16px;background:var(--accent);border-radius:50%;font-size:11px;font-weight:700;color:var(--black);display:none;align-items:center;justify-content:center;}
.cart-badge.visible{display:flex;}

/* ── FLOATING CART ──────────────────────────────────────────────── */
.cart-float{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);width:calc(390px - 40px);max-width:calc(100vw - 40px);background:var(--accent);color:var(--black);border-radius:var(--radius-pill);height:54px;display:none;align-items:center;justify-content:space-between;padding:0 6px 0 20px;z-index:200;cursor:pointer;box-shadow:0 8px 24px rgba(91,200,197,0.4);}
.cart-float.visible{display:flex;}
.cart-float-left{display:flex;align-items:center;gap:10px;}
.cart-float-icon{position:relative;width:36px;height:36px;background:rgba(0,0,0,0.12);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.cart-float-icon svg{width:18px;height:18px;stroke:var(--black);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.cart-float-count{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;background:var(--black);color:var(--white);border-radius:9px;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.cart-float-label{font-size:17px;font-weight:600;}
.cart-float-total{font-size:18px;font-weight:700;margin-right:4px;}

/* ── OVERLAY ────────────────────────────────────────────────────── */
.overlay{position:fixed;inset:0;background:rgba(12,12,13,0.6);z-index:300;opacity:0;pointer-events:none;transition:opacity .25s;}
.overlay.open{opacity:1;pointer-events:all;}

/* ── CART MODAL ─────────────────────────────────────────────────── */
.cart-modal{position:fixed;bottom:0;left:50%;transform:translateX(-50%) translateY(100%);width:390px;max-width:100vw;background:var(--white);border-radius:24px 24px 0 0;z-index:400;transition:transform .3s cubic-bezier(.32,0,.67,0);max-height:92vh;display:flex;flex-direction:column;overflow:hidden;}
.cart-modal.open{transform:translateX(-50%) translateY(0);}
.cart-header{background:var(--black);color:var(--white);display:flex;align-items:center;justify-content:space-between;padding:16px 20px;flex-shrink:0;}
.cart-header h2{font-size:23px;font-weight:700;letter-spacing:-0.2px;}
.cart-close{width:32px;height:32px;border:none;background:rgba(255,255,255,0.15);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.cart-close svg{width:16px;height:16px;stroke:var(--white);fill:none;stroke-width:2;stroke-linecap:round;}
.cart-body{overflow-y:auto;flex:1;}
.cart-items{padding:0 20px;}
.cart-item{display:flex;align-items:flex-start;gap:14px;padding:16px 0;border-bottom:1px solid rgba(12,12,13,0.08);}
.cart-item:last-child{border-bottom:none;}
.ci-img{width:64px;height:64px;background:var(--white);border-radius:12px;flex-shrink:0;overflow:hidden;position:relative;}
.ci-img img{width:100%;height:100%;object-fit:cover;border-radius:12px;}
.ci-info{flex:1;min-width:0;}
.ci-name{font-size:17px;font-weight:700;line-height:1.3;margin-bottom:3px;}
.ci-portion{font-size:15px;color:var(--muted);margin-bottom:10px;}
.ci-row{display:flex;align-items:center;gap:12px;}
.qty-ctrl{display:flex;align-items:center;gap:0;border:1.5px solid rgba(12,12,13,0.15);border-radius:var(--radius-pill);overflow:hidden;}
.qty-btn{width:28px;height:28px;border:none;background:transparent;cursor:pointer;font-size:23px;font-weight:400;color:var(--black);display:flex;align-items:center;justify-content:center;line-height:1;}
.qty-btn:active{background:var(--cream);}
.qty-val{font-size:16px;font-weight:700;min-width:22px;text-align:center;}
.ci-price{font-size:17px;font-weight:700;}
.ci-del{width:34px;height:34px;border:none;background:rgba(220,53,69,0.08);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;}
.ci-del svg{width:16px;height:16px;stroke:#dc3545;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.cart-empty{text-align:center;padding:48px 20px;color:var(--muted);}
.cart-empty svg{width:48px;height:48px;stroke:currentColor;fill:none;stroke-width:1.5;margin-bottom:12px;}
.cart-summary{padding:16px 20px 0;}
.summary-row{margin-bottom:6px;}
.summary-min{font-size:15px;color:var(--muted);}
.summary-total{font-size:21px;font-weight:700;margin-top:8px;}
.order-form{padding:16px 20px 0;}
.form-field{margin-bottom:16px;}
.form-label{display:block;font-size:15px;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:var(--muted);margin-bottom:7px;}
.form-input{width:100%;height:46px;padding:0 14px;border:1.5px solid rgba(12,12,13,0.15);border-radius:12px;font-family:var(--font);font-size:17px;background:var(--white);color:var(--black);outline:none;box-sizing:border-box;}
.form-input:focus{border-color:var(--black);}
.phone-wrap{display:flex;align-items:center;border:1.5px solid rgba(12,12,13,0.15);border-radius:12px;overflow:hidden;}
.phone-prefix{display:flex;align-items:center;gap:4px;padding:0 12px;height:46px;font-size:17px;font-weight:600;border-right:1.5px solid rgba(12,12,13,0.12);flex-shrink:0;background:rgba(12,12,13,0.03);}
.phone-input{flex:1;height:46px;padding:0 12px;border:none;font-family:var(--font);font-size:17px;background:transparent;color:var(--black);outline:none;}
.messenger-opts{display:flex;gap:10px;}
.mess-opt{display:flex;align-items:center;gap:0;cursor:pointer;}
.mess-opt input{display:none;}
.mess-opt-label{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1.5px solid rgba(12,12,13,0.15);border-radius:var(--radius-pill);font-size:16px;font-weight:600;color:var(--muted);transition:all .15s;cursor:pointer;}
.mess-opt input:checked+.mess-opt-label{background:var(--black);color:var(--white);border-color:var(--black);}
.promo-input{width:100%;height:46px;padding:0 14px;border:1.5px dashed rgba(12,12,13,0.2);border-radius:12px;font-family:var(--font);font-size:17px;background:transparent;color:var(--black);outline:none;letter-spacing:0.05em;box-sizing:border-box;}
.comment-input{width:100%;padding:12px 14px;border:1.5px solid rgba(12,12,13,0.15);border-radius:12px;font-family:var(--font);font-size:15px;background:transparent;color:var(--black);outline:none;resize:none;line-height:1.5;box-sizing:border-box;}
.comment-input::placeholder{color:var(--muted);}
.comment-input:focus{border-color:var(--accent);}
.cart-pay-block{margin-top:20px;padding:14px 16px;background:rgba(12,12,13,0.04);border-radius:14px;}
.cart-pay-text{font-size:13px;color:rgba(12,12,13,0.55);line-height:1.5;margin-bottom:10px;}
.cart-pay-icons{display:flex;gap:6px;flex-wrap:wrap;}
.cart-pay-icon{height:26px;padding:0 9px;border-radius:6px;background:rgba(12,12,13,0.08);display:flex;align-items:center;justify-content:center;}
.form-divider{height:1px;background:rgba(12,12,13,0.07);margin:16px 0;}
.cart-footer-fixed{padding:16px 20px 24px;border-top:1px solid rgba(12,12,13,0.07);flex-shrink:0;background:var(--white);}
.summary-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.s-min{font-size:14px;color:var(--muted);}
.s-total{font-size:17px;font-weight:700;}
.btn-order{width:100%;height:52px;border-radius:var(--radius-pill);background:var(--black);color:var(--white);font-family:var(--font);font-size:18px;font-weight:700;letter-spacing:0.04em;border:none;cursor:pointer;}
.btn-order:disabled{opacity:.35;cursor:not-allowed;}
.success-screen{display:none!important;}

/* ── ORDER SUCCESS OVERLAY ──────────────────────────────────────── */
.order-success-overlay{position:fixed;inset:0;background:rgba(12,12,13,0.72);backdrop-filter:blur(4px);z-index:600;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .3s;}
.order-success-overlay.open{opacity:1;pointer-events:all;}
.order-success-card{background:var(--white);border-radius:24px;padding:36px 24px 28px;width:100%;max-width:360px;text-align:center;}
.os-icon{width:64px;height:64px;background:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;}
.order-success-card h3{font-size:26px;font-weight:700;margin-bottom:6px;line-height:1.2;}
.order-success-card .os-sub{font-size:14px;color:var(--muted);margin-bottom:20px;}
.os-steps{list-style:none;text-align:left;background:var(--cream);border-radius:14px;padding:14px 18px;margin-bottom:20px;}
.os-steps li{font-size:14px;line-height:1.5;color:var(--black);padding:6px 0;display:flex;gap:10px;align-items:flex-start;}
.os-steps li:not(:last-child){border-bottom:1px solid rgba(12,12,13,0.08);}
.os-steps li .si{font-size:15px;flex-shrink:0;width:20px;}
.os-msg-btns{display:flex;gap:10px;margin-bottom:16px;}
.os-msg-btns a{flex:1;height:48px;border-radius:9999px;display:flex;align-items:center;justify-content:center;gap:7px;font-family:var(--font);font-size:14px;font-weight:600;text-decoration:none;}
.os-msg-btns a:active{opacity:.75;}
.os-btn-tg{background:#2AABEE;color:white;}
.os-btn-vb{background:#7360F2;color:white;}
.os-close{font-family:var(--font);font-size:14px;color:var(--muted);background:none;border:none;cursor:pointer;text-decoration:underline;text-underline-offset:3px;}
