#tour-dialog:has(.tour-gallery) { padding-top: 0; }
.tour-gallery { position: relative; left: 50%; transform: translateX(-50%); width: var(--gallery-width, 100%); height: clamp(400px, 70dvh, 760px); margin-bottom: 40px; background: #2D2A29; color: white; overflow: hidden; }
.tour-gallery .swiper, .tour-gallery .swiper-wrapper, .tour-gallery .swiper-slide { height: 100%; }
.tour-gallery .swiper-slide { background: #2D2A29; }
.tour-gallery img, .tour-gallery svg, .tour-gallery video { display: block; width: 100%; height: 100%; object-fit: cover; }
.tour-gallery video { object-fit: contain; padding-bottom: 125px; }
.tour-gallery-bar { position: absolute; z-index: 2; bottom: 0; left: 0; right: 0; padding: 65px max(24px, calc((100% - 880px)/2)) 28px; background: linear-gradient(transparent, #10201de8); display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; pointer-events: none; }
.tour-gallery-bar small { display: block; font-size: 10px; letter-spacing: 1.5px; margin-bottom: 10px; }
.tour-gallery-bar strong { display: block; font: 700 clamp(23px, 3vw, 36px)/1.2 var(--serif); }
.tour-gallery-controls { display: flex; align-items: center; gap: 10px; flex-shrink: 0; pointer-events: auto; }
.tour-gallery-controls button { min-width: 44px; min-height: 44px; border: 1px solid #ffffff80; background: #182b2b; color: white; padding: 8px 12px; }
.tour-gallery-controls button:hover { background: #3A5A5C; }
.tour-gallery-controls span { font-size: 12px; white-space: nowrap; }
@media(max-width:650px) { .tour-gallery { height: 65dvh; min-height: 430px; } .tour-gallery-bar { flex-direction: column; align-items: flex-start; gap: 18px; padding: 55px 24px 24px; } .tour-gallery video { padding-bottom: 180px; } }
