/* RD Stores Grid public styles */
.rdsg-grid{
  display:grid;
  grid-template-columns: repeat(var(--rdsg-columns,4), minmax(0,1fr));
  gap: var(--rdsg-gap,16px);
  align-items: stretch;
}
.rdsg-card{ 
  display:block;
  position:relative;
  border-radius:16px;
  overflow:hidden;
  background:#f7f7f7;
  box-shadow: 0 1px 3px rgba(0,0,0,.06);
  transition: transform .2s ease;
}
.rdsg-card:focus{ outline:2px solid #4e8cff; outline-offset:2px; }

.rdsg-media{
  display:block;
  position:relative;
  width:100%;
  /* Use modern aspect ratio for perfectly even rows; fallback padding for older themes */
  aspect-ratio: calc(1 / var(--rdsg-aspect, .22));
}
@supports not (aspect-ratio: 2 / 1) {
  .rdsg-media{ padding: calc(var(--rdsg-aspect, .22) * 100%) 0 0 0; }
}
.rdsg-media img{
  position:absolute; inset:0; margin:auto;
  max-width:var(--rdsg-logo-max,70%); max-height:var(--rdsg-logo-max,70%);
  width:auto; height:auto;
  filter:none; opacity:1;
  transition: opacity .25s ease, transform .25s ease, filter .25s ease;
}
.rdsg-overlay{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-weight:700;
  font-size: var(--rdsg-text-size,1rem);
  color:#111;
  background: rgba(255,255,255,.65);
  opacity:0;
  transition: opacity .25s ease;
  padding:12px;
}

/* Hover effects */
.rdsg-grid[data-hover="fade"] .rdsg-card:hover img{ opacity:.35; }
.rdsg-grid[data-hover="fade"] .rdsg-card:hover .rdsg-overlay{ opacity:1; }

.rdsg-grid[data-hover="zoom"] .rdsg-card:hover img{ transform:scale(1.06); filter: contrast(1.1) brightness(.9); }
.rdsg-grid[data-hover="zoom"] .rdsg-card:hover .rdsg-overlay{ opacity:1; background: rgba(255,255,255,.55); }

.rdsg-grid[data-hover="none"] .rdsg-card:hover .rdsg-overlay{ opacity:0; }

@media (max-width: 1024px){
  .rdsg-grid{ grid-template-columns: repeat( min( var(--rdsg-columns,4), 3), minmax(0,1fr)); }
}
@media (max-width: 640px){
  .rdsg-grid{ grid-template-columns: repeat( min( var(--rdsg-columns,4), 2), minmax(0,1fr)); }
}
