
.rad-shell{ max-width: 1200px; margin: 0 auto; padding: 0 16px; }
.rad-gallery-notice{ padding:14px 16px; border:1px solid rgba(0,0,0,.08); border-radius:14px; background:rgba(0,0,0,.02); }

.rad-album-grid{ display:grid; gap:16px; }
.rad-album-grid[data-cols="2"]{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.rad-album-grid[data-cols="3"]{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.rad-album-grid[data-cols="4"]{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.rad-album-grid[data-cols="5"]{ grid-template-columns:repeat(5,minmax(0,1fr)); }
.rad-album-grid[data-cols="6"]{ grid-template-columns:repeat(6,minmax(0,1fr)); }
@media (max-width:1024px){ .rad-album-grid{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; } }
@media (max-width:767px){ .rad-album-grid{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; } }

.rad-album-card{
  display:block; text-decoration:none !important;
  border-radius:20px; overflow:hidden;
  border:1px solid rgba(0,0,0,.07);
  background:#fff;
  box-shadow:0 8px 28px rgba(0,0,0,.08);
  transition:transform .18s ease, box-shadow .18s ease;
}
.rad-album-card:hover{ transform:translateY(-3px); box-shadow:0 14px 44px rgba(0,0,0,.12); }
.rad-album-cover{ aspect-ratio:4/3; background-size:cover; background-position:center; position:relative; }
.rad-album-cover:after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(to top, rgba(0,0,0,.40), rgba(0,0,0,0) 55%);
}
.rad-album-meta{ padding:12px 12px 14px; }
.rad-album-title{ font-weight:900; font-size:16px; line-height:1.2; color:#111; }
.rad-album-count{ margin-top:6px; font-size:13px; color:rgba(0,0,0,.62); }

.rad-album-topbar{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; margin: 22px 0 14px; }
.rad-back{ text-decoration:none !important; font-weight:800; font-size:14px; }
.rad-album-heading{ margin:0; font-size:24px; letter-spacing:-.3px; }

.rad-photo-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:12px; }
.rad-photo img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  display:block;
  border-radius:16px;
  border:1px solid rgba(0,0,0,.06);
  box-shadow:0 10px 30px rgba(0,0,0,.06);
  transition:transform .18s ease, box-shadow .18s ease;
}
.rad-photo:hover img{ transform:translateY(-2px) scale(1.01); box-shadow:0 16px 48px rgba(0,0,0,.10); }

.rad-lb-noscroll{ overflow:hidden; }
.rad-lightbox{ position:fixed; inset:0; display:none; align-items:center; justify-content:center; background:rgba(0,0,0,.84); z-index:99999; }
.rad-lightbox.is-open{ display:flex; }
.rad-lb-inner{ position:relative; max-width:min(1200px, 92vw); max-height:86vh; }
.rad-lb-counter{ position:absolute; top:-44px; left:0; color:rgba(255,255,255,.9); font-weight:800; font-size:14px; }
.rad-lb-img{ max-width:100%; max-height:86vh; display:block; border-radius:18px; box-shadow:0 24px 90px rgba(0,0,0,.45); }
.rad-lb-close,.rad-lb-prev,.rad-lb-next{
  position:absolute; border:none;
  background:rgba(255,255,255,.14);
  color:#fff;
  width:46px; height:46px;
  border-radius:999px;
  cursor:pointer;
  font-size:30px; line-height:46px; text-align:center;
}
.rad-lb-close{ top:18px; right:18px; font-size:32px; }
.rad-lb-prev{ left:18px; top:50%; transform:translateY(-50%); }
.rad-lb-next{ right:18px; top:50%; transform:translateY(-50%); }
.rad-lb-close:hover,.rad-lb-prev:hover,.rad-lb-next:hover{ background:rgba(255,255,255,.24); }
