.guide-card-photo img{object-position:center 43%}
.guide-carousel{min-width:0}
.guide-carousel .guide-slide img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
/* Keep the portrait frame within the visible screen on short viewports. */
.guide-carousel{width:100%;max-width:min(100%,calc(64svh - 64px));justify-self:center}
.guide-controls:not([hidden]){position:absolute;inset:0;display:flex;justify-content:space-between;align-items:center;padding:0 10px;pointer-events:none}
.guide-controls button{pointer-events:auto;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:transparent;color:#fff}
.guide-controls button svg{width:32px;height:32px;stroke-width:3;filter:drop-shadow(0 1px 2px #0009)}
@media(prefers-reduced-motion:no-preference){
  .guide-controls .guide-arrow-hint svg{animation:guide-arrow-nudge 650ms ease-in-out}
}
@keyframes guide-arrow-nudge{50%{transform:translateX(4px)}}
.guide-controls span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

.walking-tour-layout .mobile-booking-summary {
  display: none;
}
@media (max-width: 800px) {
  .walking-tour-layout > .booking-summary {
    display: none;
  }
  .walking-tour-layout .mobile-booking-summary {
    display: block;
    margin-top: 24px;
  }
  .walking-tour-layout .mobile-booking-summary h2 {
    font-size: 42px;
    margin: 15px 0 0;
  }
}

.tour-gallery {
  position: relative;
  max-width: 580px;
  justify-self: start;
}
.tour-gallery-frame {
  position: relative;
}
.tour-gallery .guide-slide img {
  height: clamp(190px, 61vw, 340px);
  object-position: center;
  border-radius: 8px;
}
.tour-gallery .guide-controls button {
  border-radius: 50%;
  background: #17130e70;
}
.tour-gallery-range:not([hidden]) {
  display: block;
  width: 100%;
  margin: 10px 0 0;
  accent-color: #f56624;
}

.tour-gallery .guide-slide[hidden] {
  display: none;
}
