.tour-photo-album{max-width:1180px;margin:54px auto;padding:0 28px;color:#0c293d}
.tour-photo-album .album-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}
.tour-photo-album .album-heading p{margin:0;font:13px/1.4 Arial,Helvetica,sans-serif;letter-spacing:1.8px;text-transform:uppercase}
.tour-photo-album .album-heading small{display:block;font:13px/1.5 Arial,Helvetica,sans-serif;letter-spacing:0;text-transform:none;color:#536764;margin-top:5px}
.tour-photo-album .album-controls{display:flex;gap:9px;flex-shrink:0}
.tour-photo-album button,.tour-photo-lightbox button{cursor:pointer;font:22px/1 Arial,Helvetica,sans-serif}
.tour-photo-album .album-controls button{width:40px;height:40px;border:1px solid #bcc8cb;border-radius:50%;background:transparent;color:#0c293d}
.tour-photo-album .album-controls button:hover{background:#0c293d;color:white}
.tour-photo-album button:disabled{opacity:.3;cursor:default}
.tour-photo-album a:focus-visible,.tour-photo-album button:focus-visible,.tour-photo-lightbox button:focus-visible{outline:3px solid #fbb800;outline-offset:4px}
.tour-photo-album .album-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#a5b5bc #edf3f5;padding:0 0 13px;overscroll-behavior-x:contain}
.tour-photo-album .album-card{flex:0 0 calc((100% - 36px)/3);min-width:0;margin:0;scroll-snap-align:start}
.tour-photo-album .album-card a{display:block;position:relative;border-radius:10px 10px 0 0;overflow:hidden;background:#edf3f5}
.tour-photo-album .album-card img{display:block;width:100%;height:238px;object-fit:cover;transition:transform .25s}
.tour-photo-album .album-card a:hover img{transform:scale(1.025)}
.tour-photo-album .album-card a:after{content:'↗';position:absolute;right:10px;bottom:10px;width:28px;height:28px;border-radius:50%;background:#ffffffeb;color:#0c293d;text-align:center;font:19px/28px Arial,sans-serif;pointer-events:none}
.tour-photo-album .album-card figcaption{padding:10px 2px 0;font:13px/1.4 Arial,Helvetica,sans-serif;color:#3e5364}
.tour-photo-lightbox{box-sizing:border-box;border:0;padding:56px 64px 22px;background:#081f2c;color:#fff;width:min(1200px,96vw);max-width:96vw;max-height:94vh;border-radius:8px}
.tour-photo-lightbox::backdrop{background:#04121bee}
.tour-photo-lightbox figure{margin:0;text-align:center}
.tour-photo-lightbox img{display:block;width:100%;height:min(68vh,820px);object-fit:contain}
.tour-photo-lightbox figcaption{font:14px/1.5 Arial,Helvetica,sans-serif;margin-top:15px}
.tour-photo-lightbox .lightbox-count{font:12px/1.4 Arial,sans-serif;margin:8px 0 0;text-align:center;color:#c4d2d9}
.tour-photo-lightbox button{position:absolute;border:1px solid #ffffff50;background:#0c293d;color:white;border-radius:50%;width:38px;height:38px}
.tour-photo-lightbox .lightbox-close{top:12px;right:14px}
.tour-photo-lightbox .lightbox-prev{left:13px;top:46%}
.tour-photo-lightbox .lightbox-next{right:13px;top:46%}
@media(max-width:760px){.tour-photo-album{margin:36px auto;padding:0 22px}.tour-photo-album .album-card{flex-basis:78%}.tour-photo-album .album-card img{height:225px}.tour-photo-lightbox{padding:54px 42px 18px}.tour-photo-lightbox img{height:60vh}.tour-photo-lightbox .lightbox-prev{left:3px}.tour-photo-lightbox .lightbox-next{right:3px}.tour-photo-lightbox button{width:34px;height:34px}}
@media(prefers-reduced-motion:reduce){.tour-photo-album .album-card img{transition:none}}
