
.rad-gallery-notice{ padding:14px 16px; border:1px solid rgba(0,0,0,.08); border-radius:12px; background:rgba(0,0,0,.02); }

/* Album grid */
.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:18px; overflow:hidden; border:1px solid rgba(0,0,0,.08); background:#fff; box-shadow:0 6px 22px rgba(0,0,0,.06); transition:transform .15s ease, box-shadow .15s ease; }
.rad-album-card:hover{ transform:translateY(-2px); box-shadow:0 10px 30px rgba(0,0,0,.10); }
.rad-album-cover{ aspect-ratio:4/3; background-size:cover; background-position:center; }
.rad-album-meta{ padding:12px 12px 14px; }
.rad-album-title{ font-weight:800; font-size:16px; line-height:1.2; color:#111; }
.rad-album-count{ margin-top:6px; font-size:13px; color:rgba(0,0,0,.62); }

/* Album view */
.rad-album-topbar{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; margin-bottom:14px; }
.rad-back{ text-decoration:none !important; font-weight:700; font-size:14px; }
.rad-album-heading{ margin:0; font-size:22px; }

.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; height:auto; object-fit:cover; display:block; border-radius:14px; border:1px solid rgba(0,0,0,.06); box-shadow:0 10px 30px rgba(0,0,0,.06); transition:transform .15s ease, box-shadow .15s ease; }
.rad-photo:hover img{ transform:translateY(-2px); box-shadow:0 14px 40px rgba(0,0,0,.10); }

/* Lightbox */
.rad-lb-noscroll{ overflow:hidden; }
.rad-lightbox{ position:fixed; inset:0; display:none; align-items:center; justify-content:center; background:rgba(0,0,0,.82); z-index:99999; }
.rad-lightbox.is-open{ display:flex; }
.rad-lb-inner{ position:relative; max-width:min(1100px, 92vw); max-height:86vh; }
.rad-lb-counter{ position:absolute; top:-44px; left:0; color:rgba(255,255,255,.9); font-weight:700; font-size:14px; }
.rad-lb-img{ max-width:100%; max-height:86vh; display:block; border-radius:16px; box-shadow:0 24px 80px rgba(0,0,0,.40); }

.rad-lb-caption{ margin-top:10px; color:rgba(255,255,255,.92); font-size:14px; line-height:1.4; text-align:center; max-width:100%; }
.rad-lb-caption:empty{ display:none; }
.rad-lb-download{ display:inline-block; margin-top:10px; color:rgba(255,255,255,.9); font-size:13px; font-weight:700; text-decoration:none !important; border:1px solid rgba(255,255,255,.35); border-radius:999px; padding:6px 14px; }
.rad-lb-download:hover{ background:rgba(255,255,255,.15); color:#fff; }

.rad-lb-close,.rad-lb-prev,.rad-lb-next{ position:absolute; border:none; background:rgba(255,255,255,.12); color:#fff; width:46px; height:46px; border-radius:999px; cursor:pointer; font-size:30px; line-height:46px; text-align:center; user-select:none; }
.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,.22); }
