/* ============================================================================
 * ZIP 326 (superseded in part by ZIP 400 below) — HORIZONTAL-SCROLL ROW
 * Applies to "More from Store" on the SHAHAZ Global Single Product page:
 * a horizontal, swipeable, single-line layout —
 *   Mobile  (<=800px):    2 full cards visible + a partial peek of the next
 *   Tablet  (801-1024px): 3 full cards visible, horizontal overflow for more
 *   Desktop (>=1025px):   5 full cards visible, horizontal overflow for more
 * Card-to-card gap and section left/right edge spacing are both a fixed 4px
 * at every breakpoint.
 *
 * ZIP 400 update: "You May Also Like" no longer uses this class. Per an
 * explicit later spec it now uses the separate --vertical-grid class
 * defined further down this file (plain 2/3/4-column CSS grid, no
 * horizontal scroll at all). "More from Store" keeps this --horizontal
 * layout unchanged. Shared card-design rules (the 20-colour border cycle,
 * the content-visibility guarantee) below apply to both classes via
 * :is(...) so the two rows still look like the same card family.
 * ============================================================================ */
.shahaz-related-grid--horizontal {
  display:flex;
  flex-wrap:nowrap;
  gap:4px;
  padding:0 4px;
  overflow-x:auto;
  overflow-y:hidden;
  align-items:flex-start;
  scroll-snap-type:x proximity;
  overscroll-behavior-x:contain;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.shahaz-related-grid--horizontal::-webkit-scrollbar { display:none; }

/* ============================================================================
 * ZIP 400 — "You May Also Like" VERTICAL RESPONSIVE GRID
 * A second, independent layout contract for the same shared card. Only
 * "You May Also Like" uses this class now (see the single-product
 * template); "More from Store" keeps --horizontal above, unchanged. This is
 * a normal CSS grid, not a scroll track: no overflow-x, no scroll-snap, no
 * flex-basis peek. Exactly 2 / 3 / 4 columns at mobile / tablet / desktop,
 * vertical page scroll only.
 * ============================================================================ */
.shahaz-related-grid--vertical-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:4px;
  padding:0 4px;
}
@media (min-width:801px) and (max-width:1024px) {
  .shahaz-related-grid--vertical-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (min-width:1025px) {
  .shahaz-related-grid--vertical-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
/* A grid track already sizes the card to its column; the shared card's own
 * width:auto default from flex contexts elsewhere must not leave a card
 * narrower than its track. */
.shahaz-related-grid--vertical-grid .shahaz-related-card { width:100%; }

/* Mobile default: 2 full cards + a clear peek of the next one. */
.shahaz-related-grid--horizontal .shahaz-related-card {
  flex:0 0 44%;
  scroll-snap-align:start;
}
/* Tablet: exactly 3 full cards, overflow scroll for the rest. */
@media (min-width:801px) and (max-width:1024px) {
  .shahaz-related-grid--horizontal .shahaz-related-card {
    flex-basis:calc((100% - (2 * 4px)) / 3);
  }
}
/* Desktop: exactly 5 full cards, overflow scroll for the rest. */
@media (min-width:1025px) {
  .shahaz-related-grid--horizontal .shahaz-related-card {
    flex-basis:calc((100% - (4 * 4px)) / 5);
  }
}

.shahaz-related-card {
  --src-accent:#ed0a7c;
  --src-soft:#fff8fc;
  --src-maroon:#6d245f;
  --src-yellow:#fff1ad;
  /* 0.7px thin border by default; the coordinated 20-colour cycle below
   * (scoped to the two horizontal-scroll rows) overrides border-color only —
   * the width/style/radius contract here is shared and never doubled by a
   * second overlay border. */
  position:relative;
  min-width:0;
  align-self:start;
  height:auto;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:0.7px solid #eee2ea;
  border-radius:20px;
  background:#fff;
  box-shadow:0 7px 20px rgba(80,20,60,.10);
  transition:transform .22s ease,box-shadow .22s ease;
}
.shahaz-related-card:hover { transform:translateY(-2px); box-shadow:0 11px 26px rgba(80,20,60,.15); }
/* Skins now only set the internal accent/tint — the heavy 2px solid/gradient
 * ring previously drawn by --magenta-gold/--plum-gold's ::before overlay is
 * removed per spec ("border thick/heavy... visually thin থাকবে"); the real
 * visible border is the single 0.7px rule above, coloured per-card by the
 * 20-variation cycle further down. */
.shahaz-related-card--white { --src-accent:#ed0a7c; --src-soft:#fff8fc; }
.shahaz-related-card--gold { --src-accent:#ed0a7c; --src-soft:#fffaf0; }
.shahaz-related-card--magenta-gold { --src-accent:#ed0a7c; --src-soft:#fff5fa; }
.shahaz-related-card--plum-gold { --src-accent:#ed0a7c; --src-soft:#fff7fc; }

/* ---- 20 coordinated, vibrant, luxury-marketplace border colours -------
 * Cycled per card position within each horizontal row independently (each
 * section restarts its own 1-20 cycle). Rich jewel-tone palette only — no
 * muddy/faded/pastel-washed colours. */
:is(.shahaz-related-grid--horizontal,.shahaz-related-grid--vertical-grid) .shahaz-related-card:nth-child(20n+1)  { border-color:#ed0a7c; }
:is(.shahaz-related-grid--horizontal,.shahaz-related-grid--vertical-grid) .shahaz-related-card:nth-child(20n+2)  { border-color:#d4af37; }
:is(.shahaz-related-grid--horizontal,.shahaz-related-grid--vertical-grid) .shahaz-related-card:nth-child(20n+3)  { border-color:#6d245f; }
:is(.shahaz-related-grid--horizontal,.shahaz-related-grid--vertical-grid) .shahaz-related-card:nth-child(20n+4)  { border-color:#0f9d8c; }
:is(.shahaz-related-grid--horizontal,.shahaz-related-grid--vertical-grid) .shahaz-related-card:nth-child(20n+5)  { border-color:#7a2cff; }
:is(.shahaz-related-grid--horizontal,.shahaz-related-grid--vertical-grid) .shahaz-related-card:nth-child(20n+6)  { border-color:#e0521f; }
:is(.shahaz-related-grid--horizontal,.shahaz-related-grid--vertical-grid) .shahaz-related-card:nth-child(20n+7)  { border-color:#1868d6; }
:is(.shahaz-related-grid--horizontal,.shahaz-related-grid--vertical-grid) .shahaz-related-card:nth-child(20n+8)  { border-color:#c0106b; }
:is(.shahaz-related-grid--horizontal,.shahaz-related-grid--vertical-grid) .shahaz-related-card:nth-child(20n+9)  { border-color:#1c9e4a; }
:is(.shahaz-related-grid--horizontal,.shahaz-related-grid--vertical-grid) .shahaz-related-card:nth-child(20n+10) { border-color:#b8860b; }
:is(.shahaz-related-grid--horizontal,.shahaz-related-grid--vertical-grid) .shahaz-related-card:nth-child(20n+11) { border-color:#e0117a; }
:is(.shahaz-related-grid--horizontal,.shahaz-related-grid--vertical-grid) .shahaz-related-card:nth-child(20n+12) { border-color:#178a8a; }
:is(.shahaz-related-grid--horizontal,.shahaz-related-grid--vertical-grid) .shahaz-related-card:nth-child(20n+13) { border-color:#8a2be2; }
:is(.shahaz-related-grid--horizontal,.shahaz-related-grid--vertical-grid) .shahaz-related-card:nth-child(20n+14) { border-color:#d3211f; }
:is(.shahaz-related-grid--horizontal,.shahaz-related-grid--vertical-grid) .shahaz-related-card:nth-child(20n+15) { border-color:#146b3a; }
:is(.shahaz-related-grid--horizontal,.shahaz-related-grid--vertical-grid) .shahaz-related-card:nth-child(20n+16) { border-color:#c77b13; }
:is(.shahaz-related-grid--horizontal,.shahaz-related-grid--vertical-grid) .shahaz-related-card:nth-child(20n+17) { border-color:#a8175e; }
:is(.shahaz-related-grid--horizontal,.shahaz-related-grid--vertical-grid) .shahaz-related-card:nth-child(20n+18) { border-color:#2452b8; }
:is(.shahaz-related-grid--horizontal,.shahaz-related-grid--vertical-grid) .shahaz-related-card:nth-child(20n+19) { border-color:#9c7f1a; }
:is(.shahaz-related-grid--horizontal,.shahaz-related-grid--vertical-grid) .shahaz-related-card:nth-child(20n+20) { border-color:#7c1d8f; }

/* Compact face for "More from Store" — same column width contract as
 * default (the flex-basis rules above apply to every card regardless of
 * size), only the internal density shrinks. */
.shahaz-related-card--size-compact .shahaz-related-card__body { padding:7px 9px 8px; }
.shahaz-related-card--size-compact .shahaz-related-card__title { font-size:12.5px; }
.shahaz-related-card--size-compact .shahaz-related-card__price { margin-top:5px; }
.shahaz-related-card--size-compact .shahaz-related-card__price strong { font-size:15px; }
.shahaz-related-card--size-compact .shahaz-related-card__rating { margin-top:4px; }
.shahaz-related-card--size-compact .shahaz-related-card__chips { margin-top:5px; }
.shahaz-related-card--size-compact .shahaz-related-card__chip { padding:2px 6px;font-size:8px; }

/* ---- Natural image aspect ratio ("masonry-style" height variation) ----
 * No fixed square box and no card max-height cap: each card's visual height
 * now follows its own product image's real proportions. Because both rows
 * are a single non-wrapping horizontal line (flex-wrap:nowrap, align-items:
 * flex-start), a shorter neighbour never leaves a blank gap above the next
 * row's content — there is no next row in this axis, so no masonry engine
 * is needed to avoid the "giant blank gap" failure mode the spec warns
 * about; a plain flex row already satisfies it. Images are never cropped:
 * object-fit:contain is kept, just without forcing a 1:1 container. */
.shahaz-related-card__media {
  position:relative;
  display:block;
  flex:0 0 auto;
  overflow:hidden;
  background:var(--src-soft);
  text-decoration:none;
}
.shahaz-related-card__media img {
  display:block;width:100%;height:auto;object-fit:contain;
  transition:transform .35s ease;
}
.shahaz-related-card:hover .shahaz-related-card__media img { transform:scale(1.025); }
.shahaz-related-card__media-shine {
  position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.62) 48%,transparent 64%);
  transform:translateX(-120%);transition:transform .65s ease;
}
.shahaz-related-card:hover .shahaz-related-card__media-shine { transform:translateX(120%); }

.shahaz-related-card__sale,
.shahaz-related-card__badge {
  position:absolute;z-index:2;top:10px;left:10px;
  border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800;line-height:1;
  color:#fff;background:#ed0a7c;box-shadow:0 3px 10px rgba(0,0,0,.12);
}
.shahaz-related-card__badge { top:auto;bottom:10px;background:rgba(30,15,30,.78);backdrop-filter:blur(5px); }
.shahaz-related-card__badge--best { background:#d4af37;color:#2b1b00; }
.shahaz-related-card .shahaz-p-wishlist {
  position:absolute;z-index:6;top:10px;right:10px;width:34px;height:34px;margin:0;
  border:1px solid rgba(255,255,255,.9);border-radius:50%;background:rgba(255,255,255,.92);
  color:#ed0a7c;display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 12px rgba(0,0,0,.12);
}
.shahaz-related-card .shahaz-p-wishlist svg { width:18px;height:18px; }
.shahaz-related-card .shahaz-p-wishlist.shahaz-p-wishlist-active { background:#ed0a7c;color:#fff;border-color:#ed0a7c; }

/* The lower content is itself the click target: no redundant "দেখুন" button. */
.shahaz-related-card__body-link {
  display:block;
  min-width:0;
  color:inherit;
  text-decoration:none;
}
.shahaz-related-card__body {
  display:flex;
  flex:0 0 auto;
  flex-direction:column;
  min-width:0;
  padding:10px 12px 11px;
  background:#fff;
  overflow:hidden;
}
.shahaz-related-card__title {
  display:-webkit-box;
  overflow:hidden;
  color:#17121a;
  text-decoration:none;
  font-size:15px;font-weight:800;line-height:1.28;
  -webkit-line-clamp:2;-webkit-box-orient:vertical;
}
.shahaz-related-card__price {
  display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;
  margin-top:7px;
}
.shahaz-related-card__price strong {
  color:#ed0a7c;font-size:19px;line-height:1.05;font-weight:900;
}
.shahaz-related-card__price strong .woocommerce-Price-currencySymbol { color:#ed0a7c; }
.shahaz-related-card__price del { color:#999;font-size:11px; }

/* Rating sits immediately under price: five-star visual + divider + real score. */
.shahaz-related-card__rating {
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
  margin-top:6px;
  color:#6d245f;
  white-space:nowrap;
}
.shahaz-related-card__stars {
  letter-spacing:1px;
  font-size:12px;
  line-height:1;
  color:#e7ad19;
}
.shahaz-related-card__rating-separator {
  width:1px;
  height:13px;
  flex:0 0 1px;
  background:#d9c3cf;
}
.shahaz-related-card__rating strong {
  font-size:11px;
  line-height:1;
  color:#6d245f;
}
.shahaz-related-card__rating small {
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:9px;
  line-height:1;
  color:#8b7283;
}

/* Compact marketplace chips: real data only, deliberately thin and decorative. */
.shahaz-related-card__chips {
  display:flex;align-items:center;flex-wrap:nowrap;overflow:hidden;
  gap:5px;margin-top:7px;min-width:0;
}
.shahaz-related-card__chip {
  display:inline-flex;align-items:center;min-width:0;max-width:100%;
  padding:3px 7px;border-radius:999px;border:1px solid #e0b92f;
  background:var(--src-yellow);color:var(--src-maroon);
  font-size:9px;font-weight:800;line-height:1.15;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.shahaz-related-card__chip--sold { background:#f8dbe9;color:#6d245f;border-color:#e6a6c4; }
.shahaz-related-card__chip--category { background:#f3e4ef;color:#6d245f;border-color:#d8b4cf; }
.shahaz-related-card__chip--shipping { background:#e8f8df;color:#376b25;border-color:#a8d28f; }
.shahaz-related-card__chip--delivery { background:#ffe3b0;color:#7b3e16;border-color:#e1aa56; }

/* Gap/edge-spacing stay the required 4px at every breakpoint (set once on
 * .shahaz-related-grid--horizontal above) — only card face density and the
 * mobile partial-peek flex-basis are adjusted here. No max-height cap: card
 * height keeps following each product image's real proportions. */
@media (max-width:600px) {
  .shahaz-related-grid--horizontal .shahaz-related-card { flex-basis:44%; }
  .shahaz-related-card { border-radius:17px; }
  .shahaz-related-card__body { padding:9px 10px 10px; }
  .shahaz-related-card__title { font-size:13px;line-height:1.27; }
  .shahaz-related-card__price { margin-top:6px; }
  .shahaz-related-card__price strong { font-size:17px; }
  .shahaz-related-card__rating { margin-top:6px;gap:5px; }
  .shahaz-related-card__stars { font-size:11px;letter-spacing:.7px; }
  .shahaz-related-card__rating-separator { height:12px; }
  .shahaz-related-card__rating strong { font-size:10px; }
  .shahaz-related-card__rating small { font-size:8px; }
  .shahaz-related-card__chips { gap:4px;margin-top:6px; }
  .shahaz-related-card__chip { padding:3px 6px;font-size:8px; }
}

@media (max-width:380px) {
  .shahaz-related-grid--horizontal .shahaz-related-card { flex-basis:46%; }
  .shahaz-related-card__body { padding:8px 9px 9px; }
  .shahaz-related-card__title { font-size:12px; }
  .shahaz-related-card__price strong { font-size:16px; }
  .shahaz-related-card__rating { gap:4px; }
  .shahaz-related-card__stars { font-size:10px; }
  .shahaz-related-card__rating small { display:none; }
  .shahaz-related-card__chip { font-size:7.5px;padding:2px 5px; }
}/* Animated multi-color perimeter, same principle/palette as the toggle
 * button below (reused deliberately — one authoritative technique for
 * "premium rotating border" in this component, not a second one). Uses
 * the padding-box/border-box double-background trick: the border width
 * itself never changes (still 1px, same as before), so this cannot shift
 * layout, cause overflow, or move any sibling content — only the color
 * traveling around that fixed 1px line is animated. No blur, no glow,
 * no extra pseudo-element. */
.shz-product-description-box{
  position:relative;
  margin:18px 22px 28px;
  padding:18px 18px 22px;
  border:2px solid transparent;
  border-radius:20px;
  background:
    linear-gradient(#fff,#fff) padding-box,
    conic-gradient(from 0deg,#ed0a7c,#7a2cff,#d4af37,#ed0a7c) border-box;
  overflow:visible;
  overflow-anchor:none;
  isolation:isolate;
  animation:shzDescriptionBorderTravel 7s linear infinite;
}
@keyframes shzDescriptionBorderTravel{
  0%{background:linear-gradient(#fff,#fff) padding-box,conic-gradient(from 0deg,#ed0a7c,#7a2cff,#d4af37,#ed0a7c) border-box;}
  25%{background:linear-gradient(#fff,#fff) padding-box,conic-gradient(from 90deg,#ed0a7c,#7a2cff,#d4af37,#ed0a7c) border-box;}
  50%{background:linear-gradient(#fff,#fff) padding-box,conic-gradient(from 180deg,#ed0a7c,#7a2cff,#d4af37,#ed0a7c) border-box;}
  75%{background:linear-gradient(#fff,#fff) padding-box,conic-gradient(from 270deg,#ed0a7c,#7a2cff,#d4af37,#ed0a7c) border-box;}
  100%{background:linear-gradient(#fff,#fff) padding-box,conic-gradient(from 360deg,#ed0a7c,#7a2cff,#d4af37,#ed0a7c) border-box;}
}
.shz-product-description-box__title{
  margin:0 0 10px;
  color:#241a27;
  font-size:18px;
  font-weight:900;
  line-height:1.25;
}
.shz-product-description-box__body{
  --shz-desc-collapsed-lines:9.5;
  position:relative;
  overflow:hidden;
  color:#332c36;
  font-size:15px;
  line-height:1.55;
  transition:max-height .34s cubic-bezier(.22,.7,.22,1);
  overflow-anchor:none;
}
.shz-product-description-box__body.is-collapsed{max-height:none;}
.shz-product-description-box__body.is-expanded{max-height:3000px;overflow:hidden;}
.shz-product-description-box__text>p:first-child{margin-top:0;}
.shz-product-description-box__text>p:last-child{margin-bottom:0;}
.shz-product-description-box__text p{margin:0 0 10px;}
.shz-product-description-box__text ul,
.shz-product-description-box__text ol{margin:0 0 10px;padding-left:20px;}
.shz-product-description-box__text li{margin:0 0 5px;}

/* Soft white veil: the last lines remain readable while clearly indicating
 * that more content is available. It never introduces the reference site's
 * pink/blue tint. */
.shz-product-description-box__fade{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:5em;
  pointer-events:none;
  background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,.78) 52%,rgba(255,255,255,.98) 82%,#fff 100%);
  filter:blur(.15px);
}
.shz-product-description-box__fade[hidden]{display:none;}

/* Flat hot-magenta control with a slim animated 3-color perimeter.
 * The button face itself stays flat; only the thin border perimeter
 * animates — no blur/glow pseudo-element (removed: it was bleeding a
 * soft colored blob above/around the button, visible even though the
 * card itself has overflow:visible for this absolutely-positioned CTA). */
.shz-product-description-box__toggle{
  -webkit-tap-highlight-color:transparent;
  -webkit-appearance:none;
  appearance:none;
  outline:none!important;
  position:absolute;
  left:50%;
  bottom:-13px;
  transform:translateX(-50%);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-width:128px;
  padding:2px 16px;
  border:2px solid transparent;
  border-radius:999px;
  background:
    linear-gradient(#ed0a7c,#ed0a7c) padding-box,
    conic-gradient(from 0deg,#ed0a7c,#d4af37,#7a2cff,#ed0a7c) border-box;
  color:#fff;
  font:inherit;
  font-size:13px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  z-index:6;
  isolation:isolate;
  animation:shzDescriptionBorderFocus 3.6s linear infinite;
  transition:filter .2s ease,transform .2s ease;
}
.shz-product-description-box__toggle:hover{filter:brightness(1.06);}
.shz-product-description-box__toggle:active{transform:translateX(-50%) scale(.98);}
.shz-product-description-box__toggle:focus,
.shz-product-description-box__toggle:focus-visible{
  outline:none!important;
  box-shadow:none!important;
}
.shz-product-description-box__label{
  color:#fff;
  text-shadow:0 1px 0 rgba(112,0,53,.55),0 2px 0 rgba(112,0,53,.30),0 3px 6px rgba(66,0,36,.22);
}
.shz-product-description-box__icon{
  width:16px;
  height:16px;
  flex:0 0 16px;
  display:grid;
  place-items:center;
  color:#fff;
}
.shz-product-description-box__icon svg{width:13px;height:13px;display:block;filter:drop-shadow(0 1px 1px rgba(70,0,35,.35));}
.shz-product-description-box__icon svg[hidden]{display:none;}
.shz-product-description-box__toggle[hidden]{display:none;}

@keyframes shzDescriptionBorderFocus{
  0%{background:linear-gradient(#ed0a7c,#ed0a7c) padding-box,conic-gradient(from 0deg,#ed0a7c,#d4af37,#7a2cff,#ed0a7c) border-box;}
  33%{background:linear-gradient(#ed0a7c,#ed0a7c) padding-box,conic-gradient(from 120deg,#d4af37,#7a2cff,#ed0a7c,#d4af37) border-box;}
  66%{background:linear-gradient(#ed0a7c,#ed0a7c) padding-box,conic-gradient(from 240deg,#7a2cff,#ed0a7c,#d4af37,#7a2cff) border-box;}
  100%{background:linear-gradient(#ed0a7c,#ed0a7c) padding-box,conic-gradient(from 360deg,#ed0a7c,#d4af37,#7a2cff,#ed0a7c) border-box;}
}
@media (prefers-reduced-motion:reduce){
  .shz-product-description-box,
  .shz-product-description-box__toggle{animation:none;}
  .shz-product-description-box__body{transition:none;}
}
@media(max-width:800px){
  .shz-product-description-box{margin-left:14px;margin-right:14px;}
}
@media(max-width:520px){
  .shz-product-description-box{margin-top:14px;margin-bottom:22px;padding:15px 14px 20px;border-radius:18px;}
  .shz-product-description-box__title{font-size:17px;margin-bottom:8px;}
  .shz-product-description-box__body{--shz-desc-collapsed-lines:8.5;font-size:14px;line-height:1.52;}
  .shz-product-description-box__body.is-collapsed{max-height:none;}
  .shz-product-description-box__toggle{bottom:-12px;min-width:120px;padding:2px 15px;font-size:12.5px;gap:6px;}
  .shz-product-description-box__icon{width:15px;height:15px;flex-basis:15px;}
  .shz-product-description-box__icon svg{width:12px;height:12px;}
}


/* ========================================================================
 * ZIP 326 — Card-content visibility guarantee.
 * Both secondary rows are now the same --horizontal architecture (see the
 * top of this file); the old --vertical 4/2-column grid contract this block
 * enforced no longer applies to anything (that class/layout is retired —
 * confirmed via a full codebase grep that nothing renders it any more).
 * The one still-real requirement — title/price/rating/chips must never be
 * hidden by some other rule — is kept for --horizontal only.
 * ======================================================================== */
@media (min-width:601px){
  :is(.shahaz-related-grid--horizontal,.shahaz-related-grid--vertical-grid) .shahaz-related-card__body{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
  }
  :is(.shahaz-related-grid--horizontal,.shahaz-related-grid--vertical-grid) .shahaz-related-card__title,
  :is(.shahaz-related-grid--horizontal,.shahaz-related-grid--vertical-grid) .shahaz-related-card__price,
  :is(.shahaz-related-grid--horizontal,.shahaz-related-grid--vertical-grid) .shahaz-related-card__rating,
  :is(.shahaz-related-grid--horizontal,.shahaz-related-grid--vertical-grid) .shahaz-related-card__chips{
    visibility:visible!important;
    opacity:1!important;
  }
}

/* ZIP-467 — Single-product related-card commerce controls. Wishlist remains an image overlay;
 * the cart is a compact icon in the title/info area and owns a media-anchored toast. */
.shahaz-related-card__body-shell{position:relative;min-width:0;}
.shahaz-related-card__body-shell .shahaz-related-card__body-link{padding-right:42px;}
.shahaz-related-card__cart{position:absolute;right:8px;top:9px;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none!important;background:rgba(255,255,255,.96);border:1px solid rgba(237,10,124,.35);color:#ed0a7c;box-shadow:0 4px 12px rgba(0,0,0,.10);z-index:5;transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease;}
.shahaz-related-card__cart svg{width:17px;height:17px;display:block;}
.shahaz-related-card__cart:hover,.shahaz-related-card__cart:focus-visible{transform:scale(1.06);outline:none;box-shadow:0 6px 15px rgba(0,0,0,.14);}
.shahaz-related-card__cart.is-in-cart{background:#18b86a;color:#fff;border-color:#18b86a;}
.shahaz-related-card__cart.is-processing{opacity:.58;pointer-events:none;transform:scale(.94);}
.shahaz-related-card__commerce-toast{position:absolute;left:50%;bottom:8px;z-index:20;width:calc(100% - 14px);box-sizing:border-box;padding:7px 10px;border:1px solid rgba(240,0,131,.25);border-radius:999px;background:rgba(255,255,255,.76);backdrop-filter:blur(10px) saturate(125%);-webkit-backdrop-filter:blur(10px) saturate(125%);color:#c90070;font:800 11px/1.2 system-ui,-apple-system,"Noto Sans Bengali",sans-serif;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;opacity:0;visibility:hidden;transform:translate(-50%,120%);transition:opacity .22s ease,transform .28s ease,visibility 0s linear .28s;}
.shahaz-related-card__commerce-toast.is-visible{opacity:1;visibility:visible;transform:translate(-50%,0);}
.shahaz-related-card__commerce-toast.is-error{border-color:rgba(190,0,60,.3);color:#b40046;}
@media(max-width:520px){.shahaz-related-card__cart{right:7px;top:8px;width:28px;height:28px;}.shahaz-related-card__cart svg{width:16px;height:16px;}.shahaz-related-card__body-shell .shahaz-related-card__body-link{padding-right:40px;}.shahaz-related-card__commerce-toast{bottom:6px;font-size:10px;padding:6px 8px;}}
@media(prefers-reduced-motion:reduce){.shahaz-related-card__cart,.shahaz-related-card__commerce-toast{transition:none!important;}}
