/* RDA Carousel - single-slide gallery viewer, counter, lightbox */

.entry-content .wp-block-gallery.rda-carousel figure.wp-block-image a { display: block; line-height: 0; height: 100%; }
.wp-block-gallery.rda-carousel { display: flex; flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; gap: 12px; padding-bottom: 12px; margin-bottom: 32px; align-items: center; -webkit-overflow-scrolling: touch; }
.entry-content .wp-block-gallery.rda-carousel figure.wp-block-image { flex: 0 0 auto !important; width: auto !important; height: 420px !important; margin: 0; scroll-snap-align: center; }
.entry-content .wp-block-gallery.rda-carousel figure.wp-block-image img { width: auto !important; height: 100% !important; max-width: none !important; object-fit: contain; display: block; }
@media (max-width: 921px) { .entry-content .wp-block-gallery.rda-carousel figure.wp-block-image { height: 260px !important; } }
.wp-block-gallery.rda-carousel::-webkit-scrollbar { height: 12px; }
.wp-block-gallery.rda-carousel::-webkit-scrollbar-thumb { background: rgba(26,108,122,.35); border-radius: 6px; }

/* single-slide mode */
.rda-carousel--single { scroll-snap-type: x mandatory; scrollbar-width: none; }
.rda-carousel--single::-webkit-scrollbar { height: 0; }
.entry-content .wp-block-gallery.rda-carousel--single > figure.wp-block-image { flex: 0 0 100% !important; flex-basis: 100% !important; width: 100% !important; scroll-snap-align: center; display: flex; justify-content: center; }
.entry-content .wp-block-gallery.rda-carousel--single > figure.wp-block-image > a { display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; }
.entry-content .wp-block-gallery.rda-carousel--single > figure.wp-block-image img { max-width: 100% !important; object-fit: contain; }

/* control bar */
.rda-carousel-bar { display: flex; align-items: center; justify-content: center; gap: 14px; margin: 4px 0 28px; }
.rda-carousel-bar button { background: #1a6c7a; color: #fff; border: 0; width: 44px; height: 44px; border-radius: 50%; cursor: pointer; font-size: 18px; line-height: 1; padding: 0; }
.rda-carousel-bar button:hover { background: #145a65; }
.rda-carousel-bar button:disabled { opacity: .35; cursor: default; }
.rda-carousel-bar .rda-count { font-size: 14px; letter-spacing: .04em; color: #3a3a3a; min-width: 76px; text-align: center; }

/* lightbox */
.rda-lightbox { position: fixed; inset: 0; background: rgba(0,0,0,.93); display: none; align-items: center; justify-content: center; z-index: 100000; padding: 24px; }
.rda-lightbox.is-open { display: flex; }
.rda-lightbox img { max-width: 94vw; max-height: 90vh; width: auto; height: auto; box-shadow: 0 12px 48px rgba(0,0,0,.55); }
.rda-lightbox-close { position: absolute; top: 10px; right: 18px; background: transparent; border: 0; color: #fff; font-size: 42px; line-height: 1; cursor: pointer; padding: 0; }

/* lightbox navigation */
.rda-lightbox img { max-height: 80vh; }
.rda-lightbox-bar { position: absolute; left: 0; right: 0; bottom: 14px; display: flex; align-items: center; justify-content: center; gap: 14px; }
.rda-lightbox-bar button { background: rgba(255,255,255,.14); color: #fff; border: 0; width: 44px; height: 44px; border-radius: 50%; cursor: pointer; font-size: 18px; line-height: 1; padding: 0; }
.rda-lightbox-bar button:hover { background: rgba(255,255,255,.28); }
.rda-lightbox-bar .rda-count { color: #fff; font-size: 14px; letter-spacing: .04em; min-width: 76px; text-align: center; }
@media (max-width: 600px) { .rda-lightbox-bar { bottom: 8px; } }
