/* RD Pro Deals Grid 1.5.6 */
.rdpg-wrap{ --rd-cols:4; --rd-gap:14px; --rd-card-pad:12px; display:block; }
.rdpg-grid{ display:grid; grid-template-columns: repeat(var(--rd-cols), minmax(0,1fr)); gap: var(--rd-gap); }
@media (max-width: 1200px){ .rdpg-grid{ grid-template-columns: repeat(var(--rd-cols_md, var(--rd-cols)), minmax(0,1fr)); } }
@media (max-width: 768px){ .rdpg-grid{ grid-template-columns: repeat(var(--rd-cols_sm, var(--rd-cols_md, var(--rd-cols))), minmax(0,1fr)); } }
@media (max-width: 480px){ .rdpg-grid{ grid-template-columns: repeat(var(--rd-cols_xs, 2), minmax(0,1fr)); } }

.rdpg-card{ background: var(--rd-card-bg, #fff); border-radius:18px; box-shadow:0 2px 10px rgba(0,0,0,.06); padding: var(--rd-card-pad, 12px); display:flex; flex-direction:column;
  border: var(--rd-card-outline-w, 0) solid var(--rd-card-outline-c, transparent); transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease, background .18s ease;
}
.rdpg-card.rdpg-alt{ background: var(--rd-card-alt-bg, #f6faff); }
.rdpg-wrap{ --rd-card-alt-bg: #f6faff; }

.rdpg-media{ position:relative; aspect-ratio: var(--rd-aspect, 1 / 1); overflow:hidden; border-radius:12px; }
.rdpg-media .rdpg-img{ width:100%; height:100%; object-fit:cover; display:block; }

/* Sticker-style badge */
.rdpg-badge{
  position:absolute; top: var(--rd-badge-y, 10px); left: var(--rd-badge-left, 14px); right: var(--rd-badge-right, auto);
  rotate: var(--rd-badge-rotate, -17deg);
  background: var(--rd-badge-bg, #22c55e); color: var(--rd-badge-text, #fff);
  padding: var(--rd-badge-pad, 6px 12px);
  border-radius: var(--rd-badge-radius, 6px);
  border: var(--rd-badge-border-w, 0) solid var(--rd-badge-border-c, transparent);
  box-shadow: var(--rd-badge-shadow, none);
  font-weight:900; font-size: var(--rd-badge-font, 22px);
}

.rdpg-title{ margin:10px 6px 6px; font-size: var(--rd-title-font, 18px); line-height:1.25; display:-webkit-box; -webkit-line-clamp: var(--rd-title-lines, 2); -webkit-box-orient:vertical; overflow:hidden; min-height: calc(var(--rd-title-font, 18px) * 1.25 * var(--rd-title-lines, 2)); }
.rdpg-title a{ text-decoration:none; }
.rdpg-meta{ padding: 0 6px; }

/* Price row — single line, auto-fit */
.rdpg-pricebox{ display:flex; align-items:center; gap: var(--rd-price-gap, 8px); background: var(--rd-price-bg, #eaf2ff); border-radius: var(--rd-price-radius, 12px); padding: var(--rd-price-pad, 8px 12px); 
  white-space:nowrap; overflow:hidden; min-width:0;
}
.rdpg-only.rdpg-only--chip{ border:1px solid var(--rd-only-border, #93c5fd); background:var(--rd-only-bg, #fff); color:var(--rd-only-text, #93c5fd); font-size: var(--rd-only-font, 12px); border-radius:999px; padding:.15rem .5rem; flex:0 0 auto; }
.rdpg-only.rdpg-only--text{ color:var(--rd-only-text, #93c5fd); font-size: var(--rd-only-font, 12px); flex:0 0 auto; }
.rdpg-price-num{ font-size: var(--rd-price-font, 22px); font-weight:800; color: var(--rd-price-color, #16a34a); flex:0 0 auto; }
.rdpg-price-num--check{ font-size: var(--rd-check-font, 18px); font-weight:700; color: var(--rd-price-color, #16a34a); }
.rdpg-reg{ font-size: var(--rd-reg-font, 14px); color: var(--rd-reg-color, #4b5563); opacity:.85; flex:0 0 auto; }

.rdpg-retailerline{ display:flex; align-items:center; justify-content: var(--rd-logo-justify, flex-start); margin: var(--rd-logo-row-gap, 2px) 0; }
.rdpg-retailer-logo{ height: var(--rd-logo, 32px); width:auto; padding: var(--rd-logo-pad, 4px 0); }

.rdpg-disclaimer{ margin: var(--rd-disc-mt, 8px) 0 var(--rd-disc-mb, 0px); font-size: var(--rd-disc-font, 12px); opacity:.85; }

.rdpg-bottom{ display:flex; justify-content:center; margin-top: var(--rd-cta-wrap-top, 12px); margin-bottom: var(--rd-cta-wrap-bottom, 14px); padding: 0 var(--rd-cta-wrap-side, 14px); }
.rdpg-bottom.rdpg-bleed{ margin-left: calc(-1 * var(--rd-card-pad, 12px)); margin-right: calc(-1 * var(--rd-card-pad, 12px)); padding-left: 0; padding-right: 0; }
.rdpg-cta, .rdpg-cta:visited{ background: var(--rd-cta-bg, #3b82f6); color: var(--rd-cta-text, #fff) !important; border-radius: var(--rd-cta-radius, 10px); padding: var(--rd-cta-pad, 10px 18px); font-size: var(--rd-cta-font, 20px); text-decoration: var(--rd-cta-underline, none); text-align:center; display:inline-block; width:100%; }

/* Hover highlight */
.rdpg-card:hover{
  cursor:pointer;
  box-shadow: var(--rd-card-hover-shadow, 0 10px 26px rgba(0,0,0,.16));
  border-color: var(--rd-card-hover-outline-c, #93c5fd);
  transform: scale(var(--rd-card-hover-scale, 1.01));
}

.rdpg-more-wrap{ text-align:center; margin: 24px 0; }
.rdpg-more{ background: var(--rd-more-bg, #111827); color: var(--rd-more-text, #fff); border-radius: var(--rd-more-radius, 12px); padding: var(--rd-more-pad, 14px 22px); font-size: var(--rd-more-font, 20px); border:0; cursor:pointer; }
.rdpg-more.is-loading{ opacity: .8; cursor: progress; position: relative; }
.rdpg-more.is-loading::after{
  content: ""; position: absolute; right: 12px; top: 50%; transform: translateY(-50%);
  width: 1em; height: 1em; border-radius: 999px;
  border: 2px solid rgba(255,255,255,.5); border-top-color: rgba(255,255,255,1);
  animation: rdpgspin 1s linear infinite;
}
@keyframes rdpgspin{ to { transform: translateY(-50%) rotate(360deg); } }
