/* Ratin Special — storefront layer on #buy. Design + cart UI only; checkout/IDs/API untouched. */
#buy .store-bar { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; max-width:1240px; margin:0 auto 26px; padding:14px 18px; border-radius:22px; background:#121214; border:1px solid rgba(255,255,255,.09); }
#buy .store-id { display:flex; align-items:center; gap:14px; }
#buy .store-id img { width:46px; height:46px; border-radius:14px; object-fit:cover; }
#buy .store-id b { display:block; font-size:17px; letter-spacing:-.02em; color:#f5f5f7; }
#buy .store-id span { font-size:13px; color:#86868b; }
#buy .store-id span::before { content:""; display:inline-block; width:7px; height:7px; margin-right:7px; border-radius:50%; background:#30d158; }
#buy .store-cart { display:inline-flex; align-items:center; gap:10px; height:44px; padding:0 18px; border-radius:980px; border:1px solid rgba(255,202,10,.45); background:rgba(255,202,10,.1); color:#ffd60a; font:600 15px/1 inherit; cursor:pointer; }
#buy .store-cart i { min-width:22px; height:22px; padding:0 6px; border-radius:11px; background:#ffca0a; color:#111100; font:700 13px/22px inherit; text-align:center; font-style:normal; }

/* shelf tile media */
#buy .buy .shop-media { order:0; position:relative; z-index:1; height:150px; margin:0 0 24px; border-radius:20px; overflow:hidden; background:#000; }
#buy .buy .shop-media img { width:100%; height:100%; object-fit:cover; display:block; opacity:.85; }
#buy .buy--pr .shop-media img { filter:hue-rotate(75deg) saturate(1.1); }
#buy .buy .shop-media::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,.6)), linear-gradient(135deg, rgba(var(--a),.35), rgba(var(--a),0) 60%); }
#buy .buy .shop-media em { position:absolute; z-index:2; left:12px; top:12px; padding:4px 11px; border-radius:980px; background:rgba(0,0,0,.55); backdrop-filter:blur(6px); color:#fff; font:600 12px/1.4 inherit; font-style:normal; }
#buy .buy--combo .prod-head { margin-top:0; }
#buy .buy .buy-actions .add-cart { order:0; height:52px; border-radius:18px; border:1.5px solid rgba(var(--a),.7); color:rgb(var(--a)); font-weight:700; font-size:16px; background:transparent; }
#buy .buy .buy-actions .add-cart:hover:not(:disabled) { background:rgba(var(--a),.12); }
#buy .buy .buy-actions .add-cart.on { background:rgba(var(--a),.18); }
#buy .buy .buy-actions .add-cart:disabled { opacity:.4; cursor:not-allowed; }
#buy .buy .buy-actions .btn-primary { order:1; }
#buy .buy .buy-actions { gap:10px; }

/* cart bar */
.cart-bar { position:fixed; left:50%; bottom:18px; z-index:60; width:min(560px, calc(100% - 24px)); transform:translateX(-50%); display:none; flex-direction:column; border-radius:24px; background:rgba(24,24,26,.96); backdrop-filter:blur(18px); border:1px solid rgba(255,202,10,.4); color:#f5f5f7; box-shadow:0 24px 60px -20px #000; }
.cart-bar.show { display:flex; }
.cart-list { display:none; padding:8px 18px 0; max-height:40vh; overflow:auto; }
.cart-bar.open .cart-list { display:block; }
.cart-row { display:flex; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.08); font-size:14.5px; }
.cart-row b { flex:1; font-weight:600; } .cart-row span { color:#ffd60a; font-weight:600; }
.cart-row button { width:28px; height:28px; border-radius:50%; border:0; background:rgba(255,255,255,.1); color:#f5f5f7; cursor:pointer; font-size:16px; }
.cart-save { margin:12px 18px 0; padding:10px 14px; border-radius:14px; background:rgba(48,209,88,.14); color:#30d158; font-size:13.5px; font-weight:600; display:none; align-items:center; justify-content:space-between; gap:10px; }
.cart-save button { border:0; border-radius:980px; padding:6px 12px; background:#30d158; color:#04210d; font-weight:700; cursor:pointer; }
.cart-note { margin:10px 18px 0; font-size:12.5px; color:#86868b; display:none; }
.cart-foot { display:flex; align-items:center; gap:14px; padding:14px 14px 14px 18px; }
.cart-sum { flex:1; cursor:pointer; line-height:1.25; } .cart-sum small { display:block; font-size:12.5px; color:#86868b; } .cart-sum b { font-size:20px; letter-spacing:-.02em; }
.cart-go { height:48px; padding:0 24px; border:0; border-radius:16px; background:linear-gradient(135deg,#ffe14d,#ffca0a 55%,#f0b400); color:#111100; font:700 16px/1 inherit; cursor:pointer; }
.cart-go:disabled { opacity:.5; cursor:not-allowed; filter:grayscale(.35); }

/* Combo tile removed from the shelf: AE + PR in the cart merge into the bundle automatically (store.js).
   The card stays in the DOM (hidden) because the checkout and price logic still use it. */
#buy #comboCard { display: none !important; }

/* cart checkout steps inside the payment modal */
.co-cart{margin:0 0 14px;padding:11px 14px;border-radius:14px;background:rgba(255,205,0,.1);border:1px solid rgba(255,205,0,.35);display:flex;flex-direction:column;gap:3px;font-size:12.5px;color:#cfd2cc}
.co-cart b{color:#ffd60a;font-size:13px}
.co-next{margin:0 0 12px;display:none;align-items:center;justify-content:center}

.cart-row .cart-qty { display:inline-flex; align-items:center; gap:6px; color:inherit; } .cart-row .cart-qty em { font-style:normal; min-width:18px; text-align:center; font-weight:700; } .cart-row .cart-qty button:disabled { opacity:.35; cursor:default; }
