/* One compact card anatomy for archives, product rails and filter results. */
body.viratel-rtl #viratel-main ul.products { padding:0; list-style:none; }
body.viratel-rtl #viratel-main .viratel-product-card {
  --viratel-loop-title-size:var(--viratel-panel-loopTitleFont,13px);
  --viratel-loop-price-size:var(--viratel-panel-loopPriceFont,14px);
  --viratel-loop-image-ratio:1;
  position:relative;
  display:flex;
  flex-direction:column;
  align-self:stretch;
  min-width:0;
  height:100%;
  margin:0;
  padding:0;
  overflow:hidden;
  border:1px solid var(--v3-line,#e5edf6);
  border-radius:var(--viratel-radius,8px);
  background:var(--viratel-panel-surface,#fff);
  box-shadow:0 2px 10px rgb(24 63 109 / 4%);
  text-align:right;
  transform:none;
  transition:border-color var(--viratel-panel-motion,160ms) ease,box-shadow var(--viratel-panel-motion,160ms) ease,transform var(--viratel-panel-motion,160ms) ease;
}
body.viratel-image-portrait #viratel-main .viratel-product-card { --viratel-loop-image-ratio:3/4; }
body.viratel-image-landscape #viratel-main .viratel-product-card { --viratel-loop-image-ratio:4/3; }
body.viratel-rtl #viratel-main .viratel-product-card__media { position:relative; flex-shrink:0; min-width:0; }
body.viratel-rtl #viratel-main .viratel-product-card__image {
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:var(--viratel-loop-image-ratio);
  min-height:0;
  margin:0;
  padding:0;
  overflow:hidden;
  background:var(--viratel-panel-surface,#fff);
}
/* Absolute placement prevents natural photo dimensions from stretching a grid cell. */
body.viratel-rtl #viratel-main .viratel-product-card__image > img {
  position:absolute;
  inset:5%;
  display:block;
  width:90%;
  height:90%;
  max-width:none;
  max-height:none;
  margin:0;
  padding:0;
  object-fit:contain;
  background:transparent;
  border-radius:var(--viratel-radius,8px);
}
body.viratel-rtl #viratel-main .viratel-product-card__quality {
  position:absolute;
  inset:auto 8px 6px auto;
  max-width:calc(100% - 16px);
  margin:0;
  padding:2px 6px;
  overflow:hidden;
  border-radius:var(--viratel-radius,8px);
  background:#eef5ff;
  color:#376da8;
  font-size:9px;
  line-height:1.6;
  text-overflow:ellipsis;
  white-space:nowrap;
  pointer-events:none;
}
body.viratel-rtl #viratel-main .viratel-product-card__favorite {
  position:relative;
  z-index:3; inset:auto;
  display:grid;
  flex:0 0 32px;
  width:32px;
  height:32px;
  min-height:32px;
  margin:0;
  padding:0;
  place-items:center;
  border:0;
  border-radius:var(--viratel-radius,8px);
  background:transparent;
  box-shadow:none;
  color:#55789f;
  cursor:pointer;
  touch-action:manipulation;
}
body.viratel-rtl #viratel-main .viratel-product-card__favorite[aria-pressed="true"] { color:#c92c55; background:#fff0f4; }
body.viratel-rtl #viratel-main .viratel-product-card__body {
  display:flex;
  flex:1;
  flex-direction:column;
  gap:2px;
  min-width:0;
  min-height:0;
  padding:var(--viratel-panel-loopCardPadding,10px);
  color:var(--v3-ink,#172b4d);
  line-height:1.6;
}
body.viratel-rtl #viratel-main .viratel-product-card__title {
  display:-webkit-box;
  min-height:calc(var(--viratel-loop-title-size) * 3.2);
  margin:0;
  padding:0;
  overflow:hidden;
  color:var(--v3-ink,#172b4d);
  font-size:var(--viratel-loop-title-size);
  font-weight:var(--viratel-panel-titleWeight,600);
  line-height:1.6;
  overflow-wrap:anywhere;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
body.viratel-rtl #viratel-main .viratel-product-card__title a { color:inherit; }
body.viratel-rtl #viratel-main .viratel-product-card__eyebrow { margin:0; padding:0; color:var(--v3-muted,#9aaabd); font-size:9px; line-height:1.45; }
body.viratel-rtl #viratel-main .viratel-product-card__meta {
  max-width:100%;
  min-width:0;
  margin:0;
  padding:0;
  overflow:hidden;
  color:var(--v3-muted,#64738a);
  font-size:9px;
  line-height:1.55;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.viratel-rtl #viratel-main .viratel-product-card__cashback { color:var(--v3-teal,#087e6e); font-size:10px; line-height:1.6; }
body.viratel-rtl #viratel-main .viratel-product-card__commerce { display:flex; align-items:center; justify-content:space-between; gap:6px; min-width:0; margin:4px 0 0; margin-top:auto; padding:4px 0 5px; }
body.viratel-rtl #viratel-main .viratel-product-card__price {
  display:flex;
  flex-direction:row-reverse;
  flex-wrap:wrap;
  align-items:baseline;
  gap:2px 6px;
  justify-content:flex-end;
  min-width:0;
  flex:1;
  min-height:24px;
  margin:0;
  padding:0;
  color:var(--v3-primary,#2563eb);
  font-size:var(--viratel-loop-price-size);
  font-weight:700;
  font-variant-numeric:tabular-nums;
  line-height:1.6;
  white-space:normal;
  overflow-wrap:anywhere;
}
body.viratel-rtl #viratel-main .viratel-product-card__price :is(del,.viratel-product-card__price-empty) { color:var(--v3-muted,#64738a); font-size:10px; font-weight:400; line-height:1.6; }
body.viratel-rtl #viratel-main .viratel-product-card__price ins { background:none; color:inherit; text-decoration:none; }
body.viratel-rtl #viratel-main .viratel-product-card__price bdi { white-space:normal; }
body.viratel-rtl #viratel-main .viratel-product-card__actions { display:block; margin:0; padding:0; }
body.viratel-rtl #viratel-main .viratel-product-card :is(.viratel-product-card__quick-add,.viratel-product-card__select) {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  width:100%;
  min-height:var(--viratel-panel-loopButtonHeight,44px);
  margin:0;
  padding:7px 5px;
  border:1px solid transparent;
  border-radius:var(--viratel-radius,8px);
  background:var(--v3-primary,#2563eb);
  color:#fff!important;
  font-family:inherit;
  font-size:10px;
  font-weight:600;
  line-height:1.5;
  white-space:normal;
  text-align:center;
  cursor:pointer;
  touch-action:manipulation;
}
body.viratel-rtl #viratel-main .viratel-product-card :is(.viratel-product-card__quick-add,.viratel-product-card__select) svg { width:16px; height:16px; flex-shrink:0; }
body.viratel-rtl #viratel-main .viratel-product-card :is(a,button):focus-visible { outline:2px solid var(--v3-primary,#2563eb); outline-offset:-3px; }
body.viratel-rtl #viratel-main .viratel-product-card:focus-within { box-shadow:inset 0 0 0 2px var(--v3-primary,#2563eb); }
@media (max-width:767px) {
  body.viratel-rtl #viratel-main .viratel-product-grid.viratel-product-carousel__track { grid-auto-columns:calc((100% - 8px) / 2); gap:8px; }
  body.viratel-rtl #viratel-main .viratel-product-card {
    --viratel-loop-title-size:max(11px,calc(var(--viratel-panel-loopTitleFont,13px) - 1px));
    --viratel-loop-price-size:max(12px,calc(var(--viratel-panel-loopPriceFont,14px) - 1px));
  }
}
@media (hover:hover) and (pointer:fine) {
  body.viratel-rtl:not(.viratel-hide-hoverLift) #viratel-main .viratel-product-card:hover { transform:translateY(-2px); border-color:var(--v3-primary,#2563eb); box-shadow:0 6px 18px rgb(24 63 109 / 8%); }
  body.viratel-rtl #viratel-main .viratel-product-card :is(.viratel-product-card__quick-add,.viratel-product-card__select):hover { background:color-mix(in srgb,var(--v3-primary,#2563eb) 90%,black); }
  body.viratel-rtl #viratel-main .viratel-product-card__favorite:hover { color:var(--v3-primary,#2563eb); }
}
@media (prefers-reduced-motion:reduce) {
  body.viratel-rtl #viratel-main .viratel-product-card { transition:none; }
}

/* Keep section labels intact; narrow headers wrap groups instead of their words. */
body.viratel-rtl #viratel-main .viratel-section__header { flex-wrap:wrap; column-gap:10px; row-gap:8px; }
body.viratel-rtl #viratel-main .viratel-section__header :is(h1,h2) { flex:1 1 170px; min-width:0; margin:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
body.viratel-rtl #viratel-main .viratel-section__link { flex-shrink:0; white-space:nowrap; }
body.viratel-rtl #viratel-main .viratel-product-section__nav { flex:0 0 auto; margin-inline-start:auto; white-space:nowrap; }
@media (max-width:767px) {
  body.viratel-rtl #viratel-main .viratel-product-section { padding:10px; }
  body.viratel-rtl #viratel-main .viratel-section__header :is(h1,h2) { font-size:14px; line-height:1.5; }
}

@media (max-width:359px) {
  body.viratel-rtl #viratel-main .viratel-product-card__quick-add { gap:4px; padding-inline:4px; }
  body.viratel-rtl #viratel-main .viratel-product-card__purchase-word { display:none; }
}

/* Reference card: prices and wishlist above a full-width labelled action. */
body.viratel-rtl #viratel-main .viratel-product-card__purchase { display:flex; flex-direction:column; gap:8px; min-width:0; margin-top:auto; padding-top:8px; }
body.viratel-rtl #viratel-main .viratel-product-card__commerce { display:grid; direction:ltr; grid-template-columns:minmax(0,1fr) 32px; align-items:end; gap:6px; margin:0; padding:0; min-width:0; }
body.viratel-rtl #viratel-main .viratel-product-card__price { grid-column:1; display:grid; direction:rtl; grid-template-columns:minmax(0,1fr); gap:2px; width:100%; min-width:0; min-height:32px; margin:0; padding:0; color:var(--viratel-panel-primary,var(--v3-primary,#2563eb)); text-align:left; }
body.viratel-rtl #viratel-main .viratel-product-card__price > del { grid-column:1; grid-row:1; color:#98a1ad; font-size:9px; }
body.viratel-rtl #viratel-main .viratel-product-card__price > :is(ins,bdi,.viratel-product-card__price-range,.viratel-product-card__price-empty) { grid-column:1; grid-row:2; }
body.viratel-rtl #viratel-main .viratel-product-card__favorite { position:relative; inset:auto; grid-column:2; grid-row:1; align-self:end; background:transparent; box-shadow:none; }
body.viratel-rtl #viratel-main .viratel-product-card__actions,
body.viratel-rtl #viratel-main .viratel-product-card__purchase > .viratel-product-card__select { width:100%; margin:0; }
body.viratel-rtl #viratel-main .viratel-product-card :is(.viratel-product-card__quick-add,.viratel-product-card__select) { width:100%; height:auto; min-height:max(44px,var(--viratel-panel-loopButtonHeight,44px)); padding:8px 4px; gap:5px; font-size:11px; direction:rtl; }
body.viratel-rtl #viratel-main .viratel-product-card :is(.viratel-product-card__quick-add,.viratel-product-card__select) svg { width:16px; height:16px; }
body.viratel-rtl #viratel-main .viratel-product-card__purchase-word { display:inline; }
body.viratel-rtl #viratel-main .viratel-product-card__sale-ticket { position:absolute; z-index:2; top:0; right:10px; display:grid; place-items:center; width:24px; height:50px; border-radius:0 0 10px 10px; background:var(--viratel-panel-primary,var(--v3-primary,#2563eb)); color:#fff; pointer-events:none; }
body.viratel-rtl #viratel-main .viratel-product-card__sale-ticket-amount { display:block; white-space:nowrap; transform:rotate(-90deg); font-size:11px; font-weight:700; line-height:1; }
@media(max-width:767px) { body.viratel-rtl #viratel-main .viratel-product-card :is(.viratel-product-card__quick-add,.viratel-product-card__select) { font-size:10px; gap:4px; } }
.viratel-product-section__controls { display:flex; align-items:center; gap:4px; flex-shrink:0; }

/* Touch scrolling remains native; mouse/pen dragging is added by the shared helper. */
.viratel-drag-scroll { touch-action:pan-x pan-y pinch-zoom; }
.viratel-drag-scroll.is-dragging { scroll-behavior:auto!important; scroll-snap-type:none!important; cursor:grabbing; user-select:none; }
.viratel-drag-scroll.is-dragging * { cursor:grabbing!important; user-select:none; }
@media(hover:hover) and (pointer:fine) { .viratel-drag-scroll { cursor:grab; } }

.viratel-product-card__loading { display:flex; align-items:center; justify-content:center; gap:3px; }
.viratel-product-card__loading i { display:block; width:4px; height:4px; border-radius:50%; background:currentColor; animation:viratel-card-dot .9s ease-in-out infinite; }
.viratel-product-card__loading i:nth-child(2) { animation-delay:.15s; }
.viratel-product-card__loading i:nth-child(3) { animation-delay:.3s; }
@keyframes viratel-card-dot { 0%,80%,100% { opacity:.35; } 40% { opacity:1; } }
@media(prefers-reduced-motion:reduce) { .viratel-product-card__loading i { animation:none; opacity:.75; } }

/* Only the photo is muted; the availability label stays crisp. */
body.viratel-rtl #viratel-main .viratel-product-card__favorite::before { content:""; position:absolute; inset:-6px; }
body.viratel-rtl #viratel-main .viratel-product-card__media--unavailable .viratel-product-card__image > img { filter:grayscale(1) blur(1.5px); opacity:.55; }
body.viratel-rtl #viratel-main .viratel-product-card__unavailable-overlay { position:absolute; inset:0; display:grid; place-items:center; background:rgb(100 116 139 / 8%); pointer-events:none; }
body.viratel-rtl #viratel-main .viratel-product-card__unavailable-overlay > span { padding:5px 12px; border:1px solid #dbe2ea; border-radius:var(--viratel-radius,8px); background:rgb(255 255 255 / 94%); color:#526174; font-size:12px; font-weight:600; line-height:1.8; box-shadow:0 2px 8px rgb(23 43 77 / 5%); }

/* Two price rows: readable original plus palette badge, then the payable amount. */
body.viratel-rtl #viratel-main .viratel-product-card__commerce { container-type:inline-size; }
body.viratel-rtl #viratel-main .viratel-product-card__price:has(.viratel-product-card__discount-percent) { direction:ltr; grid-template-columns:max-content minmax(0,1fr); align-items:center; column-gap:5px; row-gap:3px; min-height:40px; }
body.viratel-rtl #viratel-main .viratel-product-card__discount-percent { grid-column:1; grid-row:1; display:inline-flex; align-items:center; justify-content:center; padding:2px 5px; border-radius:var(--viratel-radius,8px); background:var(--viratel-panel-primary,var(--v3-primary,#2563eb)); color:#fff; font-size:10px; font-weight:700; line-height:1.4; white-space:nowrap; }
body.viratel-rtl #viratel-main .viratel-product-card__price > del { font-size:11px; color:#7b8796; line-height:1.6; }
body.viratel-rtl #viratel-main .viratel-product-card__price:has(.viratel-product-card__discount-percent) > del { grid-column:2; grid-row:1; direction:rtl; justify-self:start; white-space:nowrap; font-size:11px; color:#7b8796; }
body.viratel-rtl #viratel-main .viratel-product-card__price:has(.viratel-product-card__discount-percent) > :is(ins,bdi,.viratel-product-card__price-range) { grid-column:1 / -1; grid-row:2; direction:rtl; font-size:13px; line-height:1.6; }
/* Prices are one two-row group; the wishlist is centered beside the whole group. */
body.viratel-rtl #viratel-main .viratel-product-card__commerce { grid-template-columns:minmax(0,1fr) 20px; align-items:center; gap:4px; }
body.viratel-rtl #viratel-main .viratel-product-card__commerce .viratel-product-card__price { grid-column:1; grid-row:1; text-align:left; }
body.viratel-rtl #viratel-main .viratel-product-card__commerce .viratel-product-card__price > del { white-space:normal; }
body.viratel-rtl #viratel-main .viratel-product-card__commerce .viratel-product-card__favorite { grid-column:2; grid-row:1; align-self:center; width:20px; height:28px; min-height:28px; }
body.viratel-rtl #viratel-main .viratel-product-card__price .viratel-product-card__currency { font-size:.8em; font-weight:500; }
body.viratel-rtl #viratel-main .viratel-product-card__price ins > bdi { display:inline-flex; flex-wrap:wrap; align-items:baseline; gap:0; max-width:100%; }
body.viratel-rtl #viratel-main .viratel-product-card__price ins { display:flex; align-items:baseline; justify-content:flex-end; }

@container (max-width:140px) {
  body.viratel-rtl #viratel-main .viratel-product-card__price:has(.viratel-product-card__discount-percent) { column-gap:1px; }
  body.viratel-rtl #viratel-main .viratel-product-card__discount-percent { padding-inline:2px; font-size:9px; }
  body.viratel-rtl #viratel-main .viratel-product-card__commerce .viratel-product-card__price > del { font-size:10.5px; }
}
body.viratel-rtl #viratel-main .viratel-product-card__favorite::before { inset:-12px; }

/* Mobile cards need readable money, including variable products with a maximum discount. */
body.viratel-rtl #viratel-main .viratel-product-card__discount-percent { gap:1px; }
body.viratel-rtl #viratel-main .viratel-product-card__discount-prefix { font-size:.78em; }
@media(max-width:767px) {
  body.viratel-rtl #viratel-main .viratel-product-card__body { padding:8px; }
  body.viratel-rtl #viratel-main .viratel-product-card :is(.viratel-product-card__quick-add,.viratel-product-card__select) { font-size:11px; }
}
@media(max-width:359px) {
  body.viratel-rtl #viratel-main .viratel-product-card__body { padding:6px; }
}

/* One payable font for regular, sale and variable-range prices. */
body.viratel-rtl #viratel-main .viratel-product-card { --viratel-loop-payable-size:var(--viratel-panel-loopPriceFont,13px); }
body.viratel-rtl #viratel-main .viratel-product-card__commerce .viratel-product-card__price > :is(ins,bdi,.viratel-product-card__price-range) { font-size:var(--viratel-loop-payable-size); line-height:1.5; }
@media(max-width:767px) {
  body.viratel-rtl #viratel-main .viratel-product-card { --viratel-loop-payable-size:clamp(11px,calc(var(--viratel-panel-loopPriceFont,14px) - 2px),16px); }
  body.viratel-rtl #viratel-main .viratel-product-card__title { min-height:0; }
  body.viratel-rtl #viratel-main .viratel-product-card__meta { line-height:1.4; }
  body.viratel-rtl #viratel-main .viratel-product-card__purchase { padding-top:4px; gap:6px; }
  body.viratel-rtl #viratel-main .viratel-product-card__commerce .viratel-product-card__price { min-height:36px; align-items:center; row-gap:2px; }
  body.viratel-rtl #viratel-main .viratel-product-card__price:not(:has(.viratel-product-card__discount-percent)) > :is(bdi,.viratel-product-card__price-range) { grid-row:1; }
}
@media(max-width:359px) {
  body.viratel-rtl #viratel-main .viratel-product-card { --viratel-loop-payable-size:clamp(11px,calc(var(--viratel-panel-loopPriceFont,14px) - 3px),15px); }
}
