.bs-app .real-gallery { padding-bottom:25px; }
.bs-app .gallery-track { --shot-width:300px; display:flex; gap:28px; overflow-x:auto; padding:25px calc((100% - var(--shot-width))/2) 20px; scroll-snap-type:x mandatory; scrollbar-width:thin; overscroll-behavior-x:contain; }
.bs-app .gallery-card { flex:0 0 var(--shot-width); min-width:0; scroll-snap-align:center; opacity:.75; }
.bs-app .gallery-card.is-current { opacity:1; }
.bs-app .gallery-image-button { display:block; width:100%; padding:0; border:1px solid #cbdbe8; border-radius:24px; background:#f2f5f9; overflow:hidden; box-shadow:0 12px 25px -16px #26486b55; }
.bs-app .gallery-card.is-current .gallery-image-button { border-color:#8ab8de; box-shadow:0 16px 32px -16px #26486b77; }
.bs-app .gallery-image-button img { width:100%; height:auto; }
.bs-app .gallery-card h3 { margin-top:19px; text-align:center; font-size:17px; letter-spacing:-.3px; }
.bs-app .gallery-card>p { color:var(--muted); text-align:center; font-size:13px; margin-top:5px; }
.bs-app .gallery-controls { display:flex; align-items:center; justify-content:center; gap:18px; margin-top:23px; }
.bs-app .gallery-count { color:var(--muted); font-size:12px; font-variant-numeric:tabular-nums; }
.bs-app .gallery-note { color:var(--muted); font-size:12px; text-align:center; margin:21px auto 0; max-width:640px; }
.bs-app .gallery-modal { width:min(600px,calc(100% - 28px)); max-height:95dvh; padding:18px; border:1px solid #c8d9e8; border-radius:19px; background:#fff; color:var(--ink); }
.bs-app .gallery-modal::backdrop { background:#12283acf; }
.bs-app .gallery-modal-header { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:12px; }
.bs-app .gallery-modal-header h3 { font-size:16px; }
.bs-app [data-gallery-enlargement] img { max-height:80dvh; width:auto; max-width:100%; margin-inline:auto; object-fit:contain; }
@media (max-width:740px) {
 .bs-app .real-gallery { padding-bottom:10px; }
 .bs-app .gallery-track { --shot-width:82%; gap:20px; padding-top:17px; }
 .bs-app .gallery-card { opacity:.85; }
 .bs-app .gallery-card.is-current { opacity:1; }
 .bs-app .gallery-note { font-size:11px; }
 .bs-app .gallery-card h3 { font-size:16px; }
}
@media (prefers-reduced-motion:no-preference) {
 .bs-app .gallery-card { transition:opacity .18s ease; }
}
