.shahaz-related-grid--vertical {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  align-items:start;
}

/* More From Store: deliberately one horizontal row, never a second row. */
.shahaz-related-grid--horizontal {
  display:flex;
  flex-wrap:nowrap;
  gap:16px;
  overflow-x:auto;
  overflow-y:hidden;
  align-items:flex-start;
  scroll-snap-type:x proximity;
  overscroll-behavior-x:contain;
  scrollbar-width:none;
}
.shahaz-related-grid--horizontal::-webkit-scrollbar { display:none; }
.shahaz-related-grid--horizontal .shahaz-related-card {
  flex:0 0 calc((100% - 32px) / 3);
  scroll-snap-align:start;
}

.shahaz-related-card {
  --src-border:#fff;
  --src-accent:#ed0a7c;
  --src-soft:#fff8fc;
  --src-maroon:#6d245f;
  --src-yellow:#fff1ad;
  position:relative;
  min-width:0;
  align-self:start;
  height:auto;
  max-height:430px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:2px solid var(--src-border);
  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); }
.shahaz-related-card--white { --src-border:#fff; --src-accent:#ed0a7c; --src-soft:#fff8fc; }
.shahaz-related-card--gold { --src-border:#d4af37; --src-accent:#ed0a7c; --src-soft:#fffaf0; }
.shahaz-related-card--magenta-gold { --src-border:#ed0a7c; --src-accent:#ed0a7c; --src-soft:#fff5fa; }
.shahaz-related-card--plum-gold { --src-border:#6d245f; --src-accent:#ed0a7c; --src-soft:#fff7fc; }

.shahaz-related-card--magenta-gold::before,
.shahaz-related-card--plum-gold::before {
  content:"";position:absolute;inset:-2px;border-radius:22px;padding:2px;
  background:linear-gradient(135deg,#ed0a7c,#d4af37,#ed0a7c);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:5;
}
.shahaz-related-card--plum-gold::before { background:linear-gradient(135deg,#6d245f,#d4af37,#ed0a7c); }

.shahaz-related-card__media {
  position:relative;
  display:block;
  aspect-ratio:1/1;
  flex:0 0 auto;
  overflow:hidden;
  background:var(--src-soft);
  text-decoration:none;
}
.shahaz-related-card__media img {
  width:100%;height:100%;display:block;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; }

@media (max-width:600px) {.shahaz-related-grid--vertical { gap:12px; }
  .shahaz-related-grid--horizontal { gap:12px; }
  .shahaz-related-grid--horizontal .shahaz-related-card { flex-basis:calc((100% - 12px) / 2); }

  .shahaz-related-card { max-height:410px;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--vertical,
  .shahaz-related-grid--horizontal { gap:10px; }
  .shahaz-related-grid--horizontal .shahaz-related-card { flex-basis:calc((100% - 10px) / 2); }
  .shahaz-related-card { max-height:395px; }
  .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 22 — Recommendations responsive grid contract
 * Desktop/tablet: exactly 4 columns.
 * Mobile: exactly 2 columns (existing mobile behavior preserved).
 * More From Store remains a single horizontal-scroll row and is not turned
 * into an additional grid.
 * ======================================================================== */
@media (min-width:601px){
  .shahaz-related-grid--vertical{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    align-items:start!important;
  }

  /* The card body is part of the customer-facing card contract on desktop
   * too: title, price, rating and real-data chips must remain visible. */
  .shahaz-related-grid--vertical .shahaz-related-card__body,
  .shahaz-related-grid--horizontal .shahaz-related-card__body{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
  }
  .shahaz-related-grid--vertical .shahaz-related-card__title,
  .shahaz-related-grid--vertical .shahaz-related-card__price,
  .shahaz-related-grid--vertical .shahaz-related-card__rating,
  .shahaz-related-grid--vertical .shahaz-related-card__chips,
  .shahaz-related-grid--horizontal .shahaz-related-card__title,
  .shahaz-related-grid--horizontal .shahaz-related-card__price,
  .shahaz-related-grid--horizontal .shahaz-related-card__rating,
  .shahaz-related-grid--horizontal .shahaz-related-card__chips{
    visibility:visible!important;
    opacity:1!important;
  }
}

@media (max-width:600px){
  .shahaz-related-grid--vertical{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
