/* Centered grid */
.lr-sg-grid{
  --gap:24px;
  --lr-panel-alpha: .75;
  --lr-grad-alpha: .65;
  --lr-tint-alpha: 0;
  --lr-aspect: 1/1;
  display:grid;
  gap:var(--gap);
  justify-content:center;
  align-content:start;
  max-width:1280px;
  margin:0 auto;
}
.lr-sg-grid.lr-cols-2{ grid-template-columns: repeat(2, minmax(280px, 1fr)); }
.lr-sg-grid.lr-cols-3{ grid-template-columns: repeat(3, minmax(280px, 1fr)); }
.lr-sg-grid.lr-cols-4{ grid-template-columns: repeat(4, minmax(260px, 1fr)); }
.lr-sg-grid.lr-cols-5{ grid-template-columns: repeat(5, minmax(220px, 1fr)); }
.lr-sg-grid.lr-cols-6{ grid-template-columns: repeat(6, minmax(200px, 1fr)); }
.lr-sg-grid.lr-cols-7{ grid-template-columns: repeat(7, minmax(180px, 1fr)); }
.lr-sg-grid.lr-cols-8{ grid-template-columns: repeat(8, minmax(160px, 1fr)); }

@media (max-width: 1023.98px){
  .lr-sg-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 767.98px){
  .lr-sg-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); gap:12px; }
}

/* Card */
.lr-card{
  position:relative;
  display:block;
  border-radius:24px;
  overflow:hidden;
  text-decoration:none;
  background:#0b0f19;
  box-shadow:0 10px 24px rgba(0,0,0,.10);
}
.lr-card[aria-disabled="true"]{ pointer-events:none; opacity:.8; }

.lr-card-media{
  position:relative;
  width:100%;
  aspect-ratio: var(--lr-aspect);
  background-size:cover;
  background-position:center;
}
.lr-card-media::after{
  content:"";
  position:absolute; inset:0;
  background: rgba(0,0,0, var(--lr-tint-alpha));
  mix-blend-mode: multiply;
  pointer-events:none;
}

/* Bottom strip + panel */
.lr-card-bottom{
  position:absolute;
  left:0; right:0; bottom:0;
  padding:18px 20px;
  background: none; /* overlay gradient removed per v1.2.4 */
}
.lr-card-panel{
  background: rgba(17,24,39, var(--lr-panel-alpha));
  border-radius:16px;
  padding:16px 18px;
  text-align:center;
}
.lr-title{
  margin:0 0 8px;
  font-size:28px;
  line-height:1.2;
  font-weight:800;
  text-shadow:0 2px 12px rgba(0,0,0,.35);
}
.lr-blurb{
  margin:0;
  font-size:16px;
  line-height:1.45;
  opacity:.98;
}



/* === v1.2.3 global fixes: enforce consistent rounding/clip === */
.lr-sg-grid .lr-card {
  border-radius: 18px !important;
  overflow: hidden !important; /* ensures shadow & overlays clip cleanly */
}

.lr-sg-grid .lr-card-media,
.lr-sg-grid .lr-card-media::after {
  border-radius: inherit !important; /* match card corners */
}

/* prevent any inner drop-shadows from causing weird spill */
.lr-sg-grid .lr-card-media,
.lr-sg-grid .lr-card-panel {
  filter: none !important;
  box-shadow: none !important;
}



/* === v1.2.3 mobile layout + aspect_mobile === */
@media (max-width: 767.98px) {

  .lr-sg-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  /* If exactly 3 cards, switch to 1 column */
  .lr-sg-grid:has(> .lr-card:nth-child(3):last-child) {
    grid-template-columns: 1fr !important;
  }

  .lr-card-media {
    aspect-ratio: var(--lr-aspect-mobile, var(--lr-aspect)) !important;
  }

  .lr-blurb {
    display: none !important;
  }

  .lr-card-panel,
  .lr-card-bottom {
    padding: 6px 8px !important;
  }

  .lr-title {
    font-size: 13px !important;
    line-height: 1.25 !important;
    margin: 0 !important;
    text-align: center !important;
  }

  .lr-sg-grid .lr-card {
    border-radius: 14px !important;
  }
}
