/* ==========================================================================
   Shahaz Cart Page — ported 1:1 from the Lovable design system
   (src/styles.css of shahaz-style-bangladesh). Colors, gradients, shadows
   and radii are UNCHANGED from that source.
   ZIP-325 layout: phones/tablets stack items → summary → suggestions →
   trust; desktop (≥1024px) is a centred container with two columns (see
   the ZIP-325 block at the end).
   ========================================================================== */

:root{
  --sh-primary:#F40097;
  --sh-primary-foreground:#FDF7FB;
  --sh-brand-dark:#560238;
  --sh-secondary:#9F2C75;
  --sh-brand-accent:#D281B5;
  --sh-accent-foreground:#560238;

  --sh-background:#FAEEFA;
  --sh-surface:#FFFFFF;
  --sh-foreground:#1F2937;
  --sh-muted:#F6E9F4;
  --sh-muted-foreground:#6B7280;

  --sh-destructive:#DC2626;
  --sh-success:#16A34A;
  --sh-warning:#F59E0B;

  --sh-border:#F0DCEF;
  --sh-input:#F3DFF1;
  --sh-ring:#F40097;

  --sh-gradient-brand: linear-gradient(135deg,#F40097 0%,#9F2C75 50%,#560238 100%);
  --sh-gradient-soft: linear-gradient(135deg,#FAEEFA 0%,#F3DFF0 100%);
  --sh-gradient-gold: linear-gradient(135deg,#F59E0B 0%,#F40097 100%);
  /* CTA gradient actually used on the cart pill / checkout / add-to-cart
     buttons in the reference screenshots — amber → hot pink, verified by
     sampling pixels straight off the provided screenshot (not the plain
     pink→maroon --sh-gradient-brand token). */
  --sh-gradient-cta: linear-gradient(100deg,#D98A46 0%,#F0116A 55%,#EE1F86 100%);

  --sh-shadow-soft: 0 1px 2px rgba(86,2,56,.04), 0 4px 16px rgba(86,2,56,.06);
  --sh-shadow-card: 0 2px 4px rgba(86,2,56,.04), 0 12px 32px rgba(86,2,56,.08);
  --sh-shadow-glow: 0 8px 32px rgba(244,0,151,.28);

  --sh-radius-lg:.9rem;
  --sh-radius-xl:1.15rem;
  --sh-radius-2xl:1.4rem;
  --sh-radius-3xl:1.65rem;

  --sh-font-display:"Fraunces","Playfair Display",ui-serif,Georgia,serif;
  --sh-font-bangla:"Hind Siliguri","Noto Sans Bengali","Plus Jakarta Sans",ui-sans-serif,system-ui,sans-serif;
}

/* Section rhythm — this is the "compress top-to-bottom" control point.
   One variable, used consistently, instead of ad-hoc margins per block. */
.shahaz-cart-page{ --sh-section-gap: 14px; }

.shahaz-cart-page{
  padding:18px 14px 40px;
  background:#fff; /* ZIP-427: clean white page */
  font-family:var(--sh-font-bangla);
  color:var(--sh-foreground);
}
.shahaz-cart-page *{ box-sizing:border-box; }
.shahaz-cart-page h1,
.shahaz-cart-page h2,
.shahaz-cart-page h3{ font-family:var(--sh-font-display); letter-spacing:-.01em; margin:0; }

.shahaz-text-gradient{
  background:var(--sh-gradient-cta);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.shahaz-text-primary{ color:var(--sh-primary); }




/* ---- Page flow (phones/tablets) ---------------------------------------
   ZIP-278 order, kept by ZIP-325: items → order summary (total + checkout)
   → suggestions → trust strip. The main/side wrappers only take part in
   the desktop grid; below 1024px they are transparent (display:contents). */
.shahaz-cart-page .woocommerce-cart-form{ display:flex; flex-direction:column; gap:var(--sh-section-gap); }
.shahaz-cart-page .shahaz-cart-main,
.shahaz-cart-page .shahaz-cart-side{ display:contents; }
.shahaz-cart-page .shz-ct-vc{ order:0; }
.shahaz-cart-page .shz-ct-list{ order:1; }
.shahaz-cart-page .shahaz-order-summary{ order:2; }
.shahaz-cart-page .shahaz-suggest-card{ order:3; }
.shahaz-cart-page .shahaz-trust-badges{ order:4; }

.shahaz-suggest-card{
  background:var(--sh-surface);
  border:1px solid var(--sh-border);
  border-radius:var(--sh-radius-2xl);
  box-shadow:none;
  padding:18px;
}

/* ---------------------------------------------------------------------
   Cart action feedback — compact glass capsule, anchored above the
   exact action button that was touched.  This is deliberately scoped to
   the native cart so no other wishlist/remove UI on the site is changed.
   --------------------------------------------------------------------- */
.shahaz-cart-action-toast{
  position:fixed;
  z-index:999999;
  max-width:min(82vw,280px);
  padding:7px 12px;
  border:1px solid rgba(212,175,55,.55);
  border-radius:999px;
  background:rgba(255,255,255,.78);
  color:var(--sh-brand-dark);
  box-shadow:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  font-family:var(--sh-font-bangla);
  font-size:.74rem;
  font-weight:700;
  line-height:1.25;
  text-align:center;
  white-space:nowrap;
  pointer-events:none;
  opacity:0;
  transform:translate(-50%,4px) scale(.96);
  transition:opacity .18s ease,transform .18s ease;
}
.shahaz-cart-action-toast.is-visible{
  opacity:1;
  transform:translate(-50%,0) scale(1);
}
.shahaz-cart-action-toast.is-success{
  border-color:rgba(244,0,151,.42);
}
.shahaz-cart-action-toast.is-remove{
  border-color:rgba(220,38,38,.34);
}
.shahaz-cart-action-toast.is-error{
  border-color:rgba(220,38,38,.5);
  color:#8b1022;
}

/* ---- Suggestions ----------------------------------------------------*/
.shahaz-suggest-heading{ font-size:1.05rem; font-weight:700; margin-bottom:12px; }
/* Always 3-across, exactly like both reference screenshots — never
   collapses to 1 or 2 columns at any breakpoint. */
.shahaz-suggest-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:10px;
}
/* ⚠️ Cart Page বাগ-ফিক্স (STEP 01) — আগে কোনো mobile breakpoint ছাড়াই
   সবসময় ৩ কলাম ছিল, ফলে ৩৬০-৩৯০px স্ক্রিনে প্রতিটা কার্ড খুব সরু হয়ে
   যেত এবং "+ কার্টে যোগ" বাটনের টেক্সট কেটে/গাদাগাদি হয়ে যেত (স্ক্রিনশটে
   স্পষ্ট)। এখন সংকীর্ণ স্ক্রিনে ২ কলাম — একই কার্ড ডিজাইন/রং, শুধু
   প্রতিটা কার্ডের জন্য বেশি জায়গা। */
@media (max-width:420px){
  .shahaz-suggest-grid{ grid-template-columns:repeat(2,1fr); }
}
.shahaz-suggest-item{
  border:1px solid var(--sh-border); border-radius:var(--sh-radius-xl);
  padding:10px; text-align:center; background:var(--sh-surface);
  box-shadow:none;
}
.shahaz-suggest-thumb img{
  width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:var(--sh-radius-lg);
  background:var(--sh-muted); display:block;
}
.shahaz-suggest-name{
  font-size:.72rem; font-weight:600; margin-top:8px; line-height:1.3;
  display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden;
}
.shahaz-suggest-vendor{ font-size:.65rem; color:var(--sh-muted-foreground); margin-top:1px; }
.shahaz-suggest-price{ font-size:.8rem; font-weight:700; color:var(--sh-primary); margin-top:4px; }
.shahaz-add-btn{
  margin-top:8px; width:100%; border:0; border-radius:999px; padding:7px 8px;
  font-size:.68rem; font-weight:700; color:var(--sh-primary-foreground);
  background:var(--sh-gradient-cta); cursor:pointer; display:flex; align-items:center; justify-content:center; gap:4px;
  box-shadow:none;
  transition: transform .1s ease, box-shadow .15s ease, opacity .15s ease;
}
/* ⚠️ STEP 03 — আগে শুধু :hover-এ সামান্য box-shadow বদলাত, যেটা
   মোবাইলে (touch, কোনো real hover নেই) কার্যত অদৃশ্য ছিল — এটাই
   "hover animation নেই" রিপোর্টের কারণ। এখন desktop hover (lift +
   উজ্জ্বল shadow) এবং mobile/touch :active (press-down feedback)
   দুটোই আছে — একই রং/গ্র্যাডিয়েন্ট, শুধু interaction feedback যোগ। */
.shahaz-add-btn:disabled{ opacity:.6; cursor:default; transform:none; }

/* ---- Order summary ----------------------------------------------------*/
.shahaz-order-summary{
  background:var(--sh-surface); border:1px solid var(--sh-border);
  border-radius:var(--sh-radius-2xl); box-shadow:none;
  padding:20px;
}
.shahaz-order-summary h3{ font-size:1.05rem; font-weight:700; margin-bottom:14px; }

.shahaz-coupon-row{
  display:flex; align-items:center; gap:8px; min-height:46px;
  background:#fff; border:1px solid #f2c6dc; border-radius:999px; padding:4px 4px 4px 14px; margin-bottom:6px; /* ZIP-427: same pill as checkout */
}
.shahaz-coupon-row:focus-within{ border-color:var(--sh-primary); }
.shahaz-coupon-icon{ color:var(--sh-primary); display:flex; }
/* ZIP-325: min-width:0 — in the narrow desktop summary column the field used to push the Apply button out of the pill. */
.shahaz-coupon-row input{
  flex:1 1 auto; min-width:0; height:36px; padding:0; border:0 !important; border-radius:0 !important; background:none !important; outline:none; box-shadow:none !important; font-size:.85rem;
  font-family:inherit; color:var(--sh-foreground);
}
.shahaz-coupon-row button{
  border:0; border-radius:999px; height:36px; padding:0 18px; font-size:.85rem; font-weight:700;
  color:#fff; background:#e6007e; cursor:pointer; white-space:nowrap;
  box-shadow:none;
}
.shahaz-coupon-message{ font-size:.72rem; margin:0 0 10px 4px; color:var(--sh-destructive); }
.shahaz-coupon-message.is-success{ color:var(--sh-success); }
/* ZIP-278: applied coupons, each removable. */
.shahaz-coupon-applied{ display:flex; flex-wrap:wrap; gap:6px; margin:0 0 8px; }
.shahaz-coupon-applied[hidden],
.shahaz-summary-row[hidden],
.shahaz-savings-note[hidden],
.shahaz-coupon-message[hidden]{ display:none; }
.shahaz-coupon-chip{ display:inline-flex; align-items:center; gap:4px; padding:3px 4px 3px 10px; border:1px solid rgba(24,160,88,.30); border-radius:999px; background:linear-gradient(180deg,rgba(236,255,244,.96),rgba(214,247,228,.9)); color:var(--sh-brand-dark); font-size:.72rem; font-weight:700; letter-spacing:.02em; }
.shahaz-coupon-chip .shahaz-coupon-remove{ display:grid; place-items:center; width:20px; height:20px; padding:0; border:0; border-radius:50%; background:transparent; color:var(--sh-destructive); font-size:.95rem; line-height:1; cursor:pointer; -webkit-tap-highlight-color:transparent; }
.shahaz-coupon-chip .shahaz-coupon-remove:disabled{ opacity:.4; }

.shahaz-summary-lines{ display:flex; flex-direction:column; gap:8px; margin-top:12px; font-size:.85rem; }
.shahaz-summary-row{ display:flex; justify-content:space-between; color:var(--sh-foreground); }
.shahaz-discount-row span:last-child{ color:var(--sh-success); }
.shahaz-summary-total{
  display:flex; justify-content:space-between; align-items:center;
  border-top:1px dashed var(--sh-border); margin-top:6px; padding-top:10px;
  font-size:1.05rem; font-weight:700;
}

.shahaz-savings-note{
  margin:12px 0 0; font-size:.75rem; color:var(--sh-secondary);
  background:#EEF1FA; border-radius:var(--sh-radius-lg); padding:8px 12px;
}

.shahaz-btn-gradient{
  position:relative;
  display:flex; align-items:center; justify-content:center; gap:8px;
  width:100%; margin-top:14px; padding:10px 14px; border:1px solid rgba(255,255,255,.55); border-bottom:4px solid #a3004f; border-radius:999px;
  /* ZIP-427: the same shadow-free 3D pill as the checkout "অর্ডার কনফার্ম করুন" — gloss on top, a crisp darker lip below */
  background:linear-gradient(180deg,rgba(255,255,255,.16) 0%,rgba(255,255,255,0) 55%,rgba(0,0,0,.08) 100%),var(--sh-gradient-cta); color:var(--sh-primary-foreground);
  font-size:.9rem; font-weight:700; line-height:1.2; text-decoration:none; box-shadow:none;
  cursor:pointer; transition:transform .1s ease, border-bottom-width .1s ease;
}
.shahaz-btn-gradient::before{ content:""; position:absolute; left:6%; right:6%; top:2px; height:44%; border-radius:999px 999px 40% 40% / 999px 999px 100% 100%; background:linear-gradient(180deg,rgba(255,255,255,.30),rgba(255,255,255,0)); pointer-events:none; }
.shahaz-btn-gradient:active{ transform:translateY(3px); border-bottom-width:1px; }
.shahaz-btn-gradient .shahaz-arrow{ font-size:1rem; }
.shahaz-btn-outline{
  display:block; width:100%; margin-top:8px; padding:9px 14px; border-radius:999px; line-height:1.2;
  border:1px solid var(--sh-primary); background:var(--sh-surface); color:var(--sh-primary);
  font-size:.85rem; font-weight:600; text-align:center; text-decoration:none;
  box-shadow:none;
}

/* ---- Trust badges -----------------------------------------------------*/
/* Screenshot 2 shows this staying a stacked column even inside a wide
   desktop browser frame — so no row-flip at wider breakpoints. */
.shahaz-trust-badges{
  list-style:none; margin:0; padding:16px 18px; display:flex; flex-direction:column; gap:10px;
  background:var(--sh-surface); border:1px solid var(--sh-border);
  border-radius:var(--sh-radius-2xl); box-shadow:none;
  font-size:.78rem; color:var(--sh-foreground);
}
.shahaz-trust-badges li{ display:flex; align-items:center; gap:8px; }
.shahaz-trust-icon{ flex:0 0 auto; display:flex; }
.shahaz-trust-icon.is-pink{ color:var(--sh-primary); }
.shahaz-trust-icon.is-amber{ color:var(--sh-warning); }

.shahaz-cart-footer{ text-align:center; font-size:.72rem; color:var(--sh-muted-foreground); padding-top:6px; }

.shahaz-cart-empty{ text-align:center; padding:60px 20px; }
.shahaz-empty-title{ font-size:1.1rem; font-weight:700; margin-bottom:16px; }

/* Loading state while an AJAX call is in flight */
.shahaz-cart-item.is-updating,
.shahaz-order-summary.is-updating{ opacity:.55; pointer-events:none; transition:opacity .15s; }


/* ZIP-439 — Cart touch/focus hardening: suppress the browser's blue tap/focus treatment on touch interactions without removing keyboard-visible focus. */
.shahaz-cart-page a,
.shahaz-cart-page button,
.shahaz-cart-page input,
.shahaz-cart-page select,
.shahaz-cart-page textarea,
.shahaz-cart-page [role="button"],
.shahaz-cart-page [tabindex]{
  -webkit-tap-highlight-color:transparent !important;
  tap-highlight-color:transparent !important;
  -webkit-focus-ring-color:transparent !important;
}
.shahaz-cart-page a:focus:not(:focus-visible),
.shahaz-cart-page button:focus:not(:focus-visible),
.shahaz-cart-page input:focus:not(:focus-visible),
.shahaz-cart-page select:focus:not(:focus-visible),
.shahaz-cart-page textarea:focus:not(:focus-visible),
.shahaz-cart-page [role="button"]:focus:not(:focus-visible),
.shahaz-cart-page [tabindex]:focus:not(:focus-visible){
  outline:none !important;
}


/* ZIP-325: tablet + desktop (≥768px) — suggestions 6 across. */
@media (min-width:768px){
  .shahaz-suggest-grid{ grid-template-columns:repeat(6,minmax(0,1fr)); }
  /* Empty cart: a normal-size button instead of a screen-wide bar. */
  .shahaz-cart-empty .shahaz-btn-gradient{ display:inline-flex; width:auto; padding:10px 32px; }
}

/* ZIP-325: desktop (≥1024px) — the page used to fill the screen from the left edge with a 3-column band
   (one vendor card + suggestions, the rest empty) and a full-width summary. Now: a centred 1320px container
   with 24px gutters; LEFT = vendor groups then the suggestions row, RIGHT = sticky order summary + trust strip. */
@media (min-width:1024px){
  .shahaz-cart-page-wrap{ background:var(--sh-gradient-soft); }
  .shahaz-cart-page{ --sh-section-gap:16px; box-sizing:border-box; max-width:1368px; margin:0 auto; padding:20px 24px 24px; background:none; }
  .shahaz-cart-page .woocommerce-cart-form{
    display:grid; grid-template-columns:minmax(0,1fr) clamp(320px,28vw,380px);
    column-gap:20px; align-items:start;
  }
  .shahaz-cart-page .shahaz-cart-main,
  .shahaz-cart-page .shahaz-cart-side{ display:flex; flex-direction:column; gap:var(--sh-section-gap); min-width:0; }
  /* Below the fixed 64px global header. */
  .shahaz-cart-page .shahaz-cart-side{ position:sticky; top:80px; }
  .shahaz-suggest-card{ padding:16px 20px; }
  .shahaz-order-summary{ padding:18px; }
  .shahaz-suggest-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
  .shahaz-cart-footer{ padding-top:14px; }
  .shahaz-cart-page.shahaz-cart-empty{ padding:60px 24px; }
}
@media (min-width:1280px){
  .shahaz-suggest-grid{ grid-template-columns:repeat(6,minmax(0,1fr)); }
}

/* =====================================================================
   ZIP-586 (owner's reference) — cart page redesign
   1. Glossy green "My Cart" banner: the master cart (hot magenta on green, like every green button) with the
      item count, the big SHAHAZ logo bag on the right, the owner's gift box (SVG file) in front of it.
   2. Voucher strip: the best live SHAHAZ voucher — Claim Now puts it in the customer's wallet and applies it here.
   3. Numbered item cards: serial ribbon (1 gold, 2 blue, 3 orange, then magenta), Free shipping chip, price,
      a slim Buy now (checks out only that item) and one delete button. The order summary (coupon, totals,
      "checkout everything") stays below. No shadows, no blur — light from gradients only.
   ===================================================================== */
.shz-ct-hero{position:relative;overflow:hidden;isolation:isolate;margin:0 0 var(--sh-section-gap);border-radius:22px;min-height:132px;padding:18px 16px 22px;display:flex;align-items:center;gap:12px;
  background:radial-gradient(120% 90% at 18% 0%,rgba(255,255,255,.34) 0,rgba(255,255,255,0) 46%),linear-gradient(135deg,#37c76d 0%,#16924a 52%,#0a6a36 100%)}
.shz-ct-hero::after{content:"";position:absolute;left:-4%;right:-4%;bottom:-2px;height:34px;z-index:-1;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 34' preserveAspectRatio='none'%3E%3Cpath d='M0 22C90 4 170 34 260 18S360 8 400 14V34H0Z' fill='%230a6a36' fill-opacity='.55'/%3E%3Cpath d='M0 22C90 4 170 34 260 18S360 8 400 14' fill='none' stroke='%23f3c14d' stroke-width='2.2'/%3E%3Cpath d='M0 26C90 9 170 38 260 22S360 12 400 18' fill='none' stroke='%23fff3c4' stroke-opacity='.7' stroke-width='1'/%3E%3C/svg%3E") center bottom/100% 100% no-repeat}
.shz-ct-hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(circle 1.6px at 46% 18%,#fff 0 98%,transparent),radial-gradient(circle 1.2px at 62% 30%,#ffe9a8 0 98%,transparent),radial-gradient(circle 1.8px at 74% 12%,#fff 0 98%,transparent),radial-gradient(circle 1.2px at 56% 70%,#ffe9a8 0 98%,transparent),radial-gradient(circle 1.4px at 9% 78%,#fff 0 98%,transparent),radial-gradient(circle 1px at 30% 12%,#ffe9a8 0 98%,transparent),radial-gradient(circle 1.3px at 92% 60%,#fff 0 98%,transparent)}
.shz-ct-hero__cart{position:relative;flex:0 0 auto;width:64px;height:64px}
.shz-ct-hero__cart img{display:block;width:100%;height:100%}
.shz-ct-hero__count{position:absolute;top:-4px;right:-5px;z-index:1;min-width:20px;height:20px;padding:0 5px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(255,255,255,.95);
  background:radial-gradient(circle at 34% 26%,#fff 0,#fff 14%,rgba(255,255,255,.92) 30%,#eef0f5 62%,#d5d8e2 86%,#c4c8d4 100%);color:#e0157a;font:800 13px/1 Poppins,"Hind Siliguri",sans-serif}
.shz-ct-hero__count::after{content:"";position:absolute;left:20%;right:20%;top:6%;height:38%;border-radius:50% 50% 45% 45%;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,0));pointer-events:none}
.shz-ct-hero__txt{position:relative;z-index:1;min-width:0;flex:1 1 auto;color:#fff}
.shz-ct-hero__txt h1{margin:0;font:800 clamp(26px,8vw,34px)/1.05 Poppins,"Hind Siliguri",sans-serif !important;letter-spacing:-.01em;color:#fff}
.shz-ct-hero__txt p{margin:4px 0 0;font:600 12.5px/1.3 Poppins,"Hind Siliguri",sans-serif;color:rgba(255,255,255,.92)}
.shz-ct-hero__art{position:relative;flex:0 0 auto;width:clamp(92px,27vw,132px);align-self:stretch;margin:-10px -4px -14px 0}
.shz-ct-hero__bag{position:absolute;right:0;bottom:6px;width:100%;height:auto}

.shz-ct-vc{min-width:0;padding:3px;border-radius:14px;background:linear-gradient(180deg,#4fcf7a 0%,#23a052 55%,#16843f 100%)}
.shz-ct-vc__in{box-sizing:border-box;width:100%;display:flex;align-items:center;gap:clamp(5px,1.6vw,8px);min-width:0;overflow:hidden;min-height:62px;padding:7px 8px;border-radius:11px;
  background:linear-gradient(180deg,rgba(255,255,255,.85) 0,rgba(255,255,255,0) 45%),linear-gradient(135deg,#f3fff6 0%,#d6f6df 55%,#bdeecb 100%)}
.shz-ct-vc__ticket{position:relative;flex:0 0 auto;display:flex;align-items:center;gap:4px;width:29%;max-width:220px;min-width:0;min-height:46px;padding:5px 7px 5px 8px;border-radius:7px;color:#fff;
  background:linear-gradient(180deg,#f0398d 0%,#d4126f 60%,#b30a5d 100%);
  -webkit-mask:radial-gradient(circle 5px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 5px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat;
  mask:radial-gradient(circle 5px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 5px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat}
.shz-ct-vc__ticket svg{flex:0 0 auto;width:clamp(20px,6vw,26px);height:clamp(20px,6vw,26px)}
.shz-ct-vc__ticket b{min-width:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font:700 clamp(10.5px,3vw,12px)/1.2 Poppins,"Hind Siliguri",sans-serif}
.shz-ct-vc__val{flex:0 0 auto;padding-left:clamp(5px,1.6vw,8px);border-left:1.5px dashed #d4126f;text-align:left}
.shz-ct-vc__val strong{display:block;white-space:nowrap;font:800 clamp(16px,4.9vw,24px)/1 Poppins,"Hind Siliguri",sans-serif;color:#e0263f}
.shz-ct-vc__val em{font-style:normal;margin-left:2px;font-size:.52em;font-weight:800}
.shz-ct-vc__val small{display:block;margin-top:2px;font:500 11px/1.1 Poppins,"Hind Siliguri",sans-serif;color:#6b7280}
.shz-ct-vc__lbl{flex:1 1 auto;min-width:0;overflow:hidden;text-align:left;font:700 clamp(10px,2.9vw,12px)/1.2 Poppins,"Hind Siliguri",sans-serif;color:#111827}
.shz-ct-vc__btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:3px;height:32px;padding:0 clamp(8px,2.6vw,11px);border-radius:7px;border:1.5px solid #f3cf72;position:relative;
  background:linear-gradient(180deg,#ff4aa8 0%,#f0168a 46%,#c4006c 54%,#e0007e 100%);color:#fff;font:700 clamp(11px,3.2vw,12.5px)/1 Poppins,"Hind Siliguri",sans-serif;cursor:pointer;white-space:nowrap}
.shz-ct-vc__btn:disabled{cursor:default}


.shz-ct-list{display:flex;flex-direction:column;gap:10px}
.shz-ct-item.shahaz-cart-item{position:relative;display:grid;grid-template-columns:clamp(98px,29vw,132px) minmax(0,1fr);gap:12px;padding:11px;border-radius:18px;border:1px solid #1a1a1a;background:#fff}
.shz-ct-item__img{position:relative;display:block;aspect-ratio:1;border-radius:14px;overflow:hidden;border:1px solid #1a1a1a;background:#fff}
.shz-ct-item__img img{display:block;width:100%;height:100%;object-fit:cover}
.shz-ct-item__no{position:absolute;top:6px;left:6px;z-index:1;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid rgba(26,26,26,.55);
  font:800 14px/1 Poppins,sans-serif;color:#e0157a;background:radial-gradient(circle at 34% 26%,#fff 0,#fff 14%,rgba(255,255,255,.92) 30%,#eef0f5 62%,#d5d8e2 86%,#c4c8d4 100%)}
.shz-ct-item__no::after{content:"";position:absolute;left:16%;right:16%;top:5%;height:40%;border-radius:50% 50% 45% 45%;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,0));pointer-events:none}
.shz-ct-item:nth-child(1) .shz-ct-item__no{color:#c98806}
.shz-ct-item:nth-child(2) .shz-ct-item__no{color:#2f4fd8}
.shz-ct-item:nth-child(3) .shz-ct-item__no{color:#e2650c}
.shz-ct-item__body{display:flex;flex-direction:column;min-width:0}
.shz-ct-item__name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:2px 0 0;font:700 14.5px/1.35 "Hind Siliguri",Poppins,sans-serif;color:#4a0630;text-decoration:none}
.shz-ct-item__free{display:inline-flex;align-items:center;gap:3px;margin:0 5px 2px 0;padding:1px 7px 1px 5px;border-radius:999px;border:1px solid #1a1a1a;background:#fff;color:#0b6b37;font:700 10.5px/1.6 Poppins,sans-serif;vertical-align:1px}
.shz-ct-item__free svg{width:13px;height:13px}
.shz-ct-item__save{order:4;display:inline-block;padding:1px 8px;border-radius:999px;border:1px solid #1a1a1a;background:#fff;color:#0b6b37;font:700 11px/1.35 "Hind Siliguri",Poppins,sans-serif}
.shz-ct-item__var{margin-top:2px;font-size:11.5px;color:var(--sh-muted-foreground)}
.shz-ct-item__foot{display:flex;flex-direction:column;align-items:stretch;gap:7px;margin-top:auto;padding-top:6px}
.shz-ct-item__price{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;min-width:0}
.shz-ct-item__price s{order:2;font:500 12px/1.2 Poppins,"Hind Siliguri",sans-serif;color:#8b8b95}
.shz-ct-item__price b{order:1;font:800 18px/1.15 Poppins,"Hind Siliguri",sans-serif;color:#d4006e}
.shz-ct-item__price i{order:3;display:inline-block;padding:1px 8px;border-radius:999px;border:1px solid #1a1a1a;background:#fff;font-style:normal;font:700 11px/1.35 Poppins,"Hind Siliguri",sans-serif;color:#4a0630}
.shz-ct-item__acts{display:flex;align-items:center;gap:8px}
.shz-ct-item__buy{position:relative;flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;gap:7px;height:40px;padding:0 12px 0 4px;border:1.5px solid #f3cf72;border-radius:7px;background:linear-gradient(180deg,#ff4aa8 0%,#f0168a 46%,#c4006c 54%,#e0007e 100%);color:#fff;font:800 clamp(14px,4.2vw,16px)/1 Poppins,"Hind Siliguri",sans-serif;cursor:pointer;white-space:nowrap}
.shz-ct-item__buy::before{content:"";position:absolute;z-index:0;left:3px;right:3px;top:2px;height:44%;border-radius:5px 5px 12px 12px;background:linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,.06));pointer-events:none}
.shz-ct-item__buy:active{transform:translateY(2px);background:linear-gradient(180deg,#f43d9c 0%,#e0107f 46%,#b30062 54%,#cf0073 100%)}
.shz-ct-item__buy>*{position:relative;z-index:1}
.shz-ct-item__bolt{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border:3px solid transparent;border-radius:50%;background:radial-gradient(circle at 32% 24%,#ffe4f2 0%,#ff6bb8 20%,#f0067e 55%,#93004e 100%) padding-box,linear-gradient(160deg,#f7c948 0%,#d99a10 45%,#a86e04 70%,#f0bb34 100%) border-box}
.shz-ct-item__bolt::after{content:"";position:absolute;left:18%;right:18%;top:6%;height:36%;border-radius:50%;background:linear-gradient(180deg,rgba(255,255,255,.75),rgba(255,255,255,0));pointer-events:none}
.shz-ct-item__bolt svg{position:relative;z-index:1;width:18px;height:18px}
.shz-ct-item__bolt svg path{fill:#ffe234;stroke:#e6a100;stroke-width:.6;stroke-linejoin:round}
.shz-ct-item__del.shahaz-remove{position:relative;display:inline-grid;place-items:center;flex:0 0 40px;width:40px;height:40px;padding:0;border-radius:12px;border:1px solid #7d0014;border-bottom-width:4px;background:linear-gradient(180deg,#ff6f86 0%,#ef2848 46%,#c8102e 54%,#e2203f 100%);cursor:pointer;transition:transform .08s ease,border-bottom-width .08s ease}
.shz-ct-item__del.shahaz-remove::before{content:"";position:absolute;z-index:0;left:3px;right:3px;top:2px;height:44%;border-radius:9px 9px 14px 14px;background:linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,.06));pointer-events:none}
.shz-ct-item__del.shahaz-remove:active{transform:translateY(3px);border-bottom-width:1px}
.shz-ct-item__del svg{position:relative;z-index:1;width:20px;height:20px}
.shz-ct-item.is-updating{opacity:.55;pointer-events:none}
.shz-ct-item__buy:focus-visible,.shz-ct-item__del:focus-visible,.shz-ct-vc__btn:focus-visible{outline:2px solid #560238;outline-offset:2px}
@media (max-width:399px){.shz-ct-item__price b{font-size:16.5px}}
@media (max-width:359px){.shz-ct-hero__txt h1{font-size:23px !important}.shz-ct-hero__art{width:76px}.shz-ct-hero__cart{width:52px;height:52px}.shz-ct-vc__lbl{display:none}.shz-ct-vc__val{flex:1 1 auto}.shz-ct-hero__txt p{font-size:11.5px}}
@media (min-width:768px){.shz-ct-hero{min-height:150px;padding:22px 26px 26px}.shz-ct-hero__cart{width:76px;height:76px}.shz-ct-hero__art{width:150px}}
/* ZIP-589 (owner): the coupon "অ্যাপ্লাই" button — the product page dock's Buy Now glass (same as Claim Now / Buy now). */
.shahaz-cart-page #shahaz-apply-coupon{border:1.5px solid #f3cf72 !important;border-radius:7px !important;background:linear-gradient(180deg,#ff4aa8 0%,#f0168a 46%,#c4006c 54%,#e0007e 100%) !important;box-shadow:none !important;color:#fff !important}

/* ZIP-589 (owner): order summary + trust strip — clear white, thin black borders; checkout button = the product page dock's Buy Now glass. */
.shahaz-cart-page .shahaz-order-summary,.shahaz-cart-page .shahaz-trust-badges{border:1px solid #1a1a1a;border-radius:18px;background:#fff}
.shahaz-cart-page .shahaz-order-summary h3{display:flex;align-items:center;gap:8px;font-size:1.12rem;color:#4a0630}
.shahaz-cart-page .shahaz-order-summary h3::before{content:"";width:5px;height:22px;border-radius:3px;background:#e0157a}
.shahaz-cart-page .shahaz-summary-total{border-top:1px dashed #1a1a1a;font-size:1.15rem}
.shahaz-cart-page .shahaz-summary-total span:last-child{font-family:Poppins,"Hind Siliguri",sans-serif;font-weight:800;font-size:1.3rem;color:#d4006e}
.shahaz-cart-page .shahaz-savings-note{border:1px solid #1a1a1a;background:#fff;color:#0b6b37;font-weight:700}
.shahaz-cart-page .shahaz-order-summary .shahaz-btn-gradient{position:relative;height:50px;padding:0 18px;border:1.5px solid #f3cf72;border-radius:9px;background:linear-gradient(180deg,#ff4aa8 0%,#f0168a 46%,#c4006c 54%,#e0007e 100%);color:#fff;font:800 16px/1 Poppins,"Hind Siliguri",sans-serif}
.shahaz-cart-page .shahaz-order-summary .shahaz-btn-gradient::before{content:"";position:absolute;z-index:0;left:3px;right:3px;top:2px;height:44%;border-radius:5px 5px 12px 12px;background:linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,.06));pointer-events:none}
.shahaz-cart-page .shahaz-order-summary .shahaz-btn-gradient:active{transform:translateY(1px);border-bottom-width:1px}
.shahaz-cart-page .shahaz-order-summary .shahaz-btn-outline{border:1px solid #1a1a1a;border-radius:9px;color:#1a1a1a;background:#fff;font-weight:700}
.shahaz-cart-page .shahaz-coupon-row{border-color:#1a1a1a}
.shahaz-cart-page .shahaz-trust-badges{font:600 13.5px/1.5 "Hind Siliguri","Noto Sans Bengali",sans-serif;color:#1f1f29}
.shahaz-cart-page .shahaz-trust-badges li{gap:12px}
.shahaz-cart-page .shahaz-trust-icon{position:relative;width:38px;height:38px;flex:0 0 38px;align-items:center;justify-content:center;border-radius:50%;border:1px solid rgba(26,26,26,.55);background:radial-gradient(circle at 34% 26%,#fff 0,#fff 14%,rgba(255,255,255,.92) 30%,#eef0f5 62%,#d5d8e2 86%,#c4c8d4 100%)}
.shahaz-cart-page .shahaz-trust-icon::after{content:"";position:absolute;left:16%;right:16%;top:5%;height:40%;border-radius:50% 50% 45% 45%;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,0));pointer-events:none}
.shahaz-cart-page .shahaz-trust-icon svg{position:relative;z-index:1;width:19px;height:19px}
.shahaz-cart-page .shahaz-trust-icon.is-pink{color:#e0157a}
.shahaz-cart-page .shahaz-trust-icon.is-amber{color:#c98806}
.shahaz-cart-page .shahaz-suggest-card{border:1px solid #1a1a1a;border-radius:18px;background:#fff}
/* ZIP-590 (owner): trust lines were cut on some phones — Bangla needs room for vowel signs above / below; never clip. */
.shahaz-cart-page .shahaz-trust-badges li{min-height:40px;padding:2px 0;overflow:visible;white-space:normal;word-break:normal;text-rendering:optimizeLegibility}
.shahaz-cart-page .shahaz-trust-badges li>*:not(.shahaz-trust-icon){overflow:visible}
/* ZIP-591/592 (owner): every section under the green banner is bright glossy yellow with a hard-edged glass shine on the
 * top half — still, no moving light (the gliding streak hurt the eyes, removed in ZIP-592), no blur. Voucher stays green. */
.shahaz-cart-page .shz-ct-item.shahaz-cart-item,.shahaz-cart-page .shahaz-order-summary,.shahaz-cart-page .shahaz-trust-badges,.shahaz-cart-page .shahaz-suggest-card{
  background:
    linear-gradient(180deg,rgba(255,255,255,.7) 0,rgba(255,255,255,.25) 48%,rgba(255,255,255,0) 48.5%),
    linear-gradient(135deg,#fff7b8 0%,#ffe866 40%,#ffd93a 70%,#fff09a 100%)}
/* ZIP-592 (owner): the My Cart banner — full screen width on phones / tablets (no side gaps, square corners), crisp clear
 * green glass: a sharp white gloss on the top half with a bright 1px top line, deeper green below. Nothing moves, no blur. */
.shahaz-cart-page .shz-ct-hero{
  background:
    linear-gradient(180deg,rgba(255,255,255,.9) 0,rgba(255,255,255,.9) 1px,rgba(255,255,255,.34) 1px,rgba(255,255,255,.16) 47%,rgba(255,255,255,0) 47.3%),
    linear-gradient(180deg,#46d683 0%,#2bbd64 50%,#17a24e 51%,#0f8c42 100%)}
@media (max-width:1023px){
  .shahaz-cart-page .shz-ct-hero{margin-left:-14px;margin-right:-14px;margin-top:-18px;border-radius:0;padding-left:30px;padding-right:20px}
}

/* ZIP-593 (owner) -------------------------------------------------------------------------------------------------
 * 1. Banner cart count: small glass pill that hugs the number (rule merged into the base .shz-ct-hero__count).
 * 2. Coupon bar: a box with softly rounded corners like its Apply button (not a capsule), hot-magenta border.
 * 3. Pictures: puffed in the middle, gently curved at all edges — like a phone screen (bigger radius + convex light).
 * 4. Every button sinks a little when pressed. Touch / hover colour: magenta buttons on the yellow cards turn glossy
 *    green; the suggestion cards' "কার্টে যোগ" (white cards) turns glossy yellow. No blur. */
.shahaz-cart-page .shahaz-coupon-row{border:1.5px solid #e0157a;border-radius:10px;padding:4px 4px 4px 12px}
.shahaz-cart-page #shahaz-apply-coupon{border-radius:7px !important}
.shz-ct-item__img,.shahaz-cart-page .shahaz-suggest-thumb{position:relative;display:block;border-radius:24% / 20%;overflow:hidden}
.shahaz-cart-page .shahaz-suggest-thumb img{border-radius:0}
.shz-ct-item__img::after,.shahaz-cart-page .shahaz-suggest-thumb::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:inherit;
  background:radial-gradient(ellipse 72% 62% at 50% 42%,rgba(255,255,255,.16) 0,rgba(255,255,255,0) 58%,rgba(0,0,0,.08) 88%,rgba(0,0,0,.16) 100%)}
.shahaz-cart-page button,.shahaz-cart-page .shahaz-btn-gradient,.shahaz-cart-page .shahaz-btn-outline{transition:transform .08s ease,background .12s ease}
.shahaz-cart-page button:not(:disabled):active,.shahaz-cart-page .shahaz-btn-gradient:active,.shahaz-cart-page .shahaz-btn-outline:active{transform:translateY(2px)}
.shz-ct-item__buy:active,.shahaz-cart-page .shahaz-order-summary .shahaz-btn-gradient:active,.shahaz-cart-page #shahaz-apply-coupon:active{background:linear-gradient(180deg,#6fe7a0 0%,#34c873 46%,#15a050 54%,#25b862 100%) !important;border-color:#f3cf72 !important}
.shahaz-cart-page .shahaz-add-btn:not(:disabled):active{background:linear-gradient(180deg,rgba(255,255,255,.7) 0,rgba(255,255,255,.25) 48%,rgba(255,255,255,0) 48.5%),linear-gradient(135deg,#fff7b8 0%,#ffe866 40%,#ffd93a 70%,#fff09a 100%);color:#4a0630;transform:translateY(2px)}
@media (hover:hover){
  .shz-ct-item__buy:hover,.shahaz-cart-page .shahaz-order-summary .shahaz-btn-gradient:hover,.shahaz-cart-page #shahaz-apply-coupon:hover{background:linear-gradient(180deg,#6fe7a0 0%,#34c873 46%,#15a050 54%,#25b862 100%) !important;border-color:#f3cf72 !important}
  .shahaz-cart-page .shahaz-add-btn:not(:disabled):hover{background:linear-gradient(180deg,rgba(255,255,255,.7) 0,rgba(255,255,255,.25) 48%,rgba(255,255,255,0) 48.5%),linear-gradient(135deg,#fff7b8 0%,#ffe866 40%,#ffd93a 70%,#fff09a 100%);color:#4a0630}
}
