@import url("booking-dialog.css?v=booking-dialog-20261028");

.activity-detail-page .detail-hero{
  grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr)!important;
  gap:clamp(18px,2.4vw,38px)!important;
  align-items:stretch!important;
  grid-auto-rows:auto!important;
}

.activity-detail-page .detail-hero-image{
  position:relative;
  order:1;
  height:clamp(430px,38vw,560px)!important;
  min-height:0!important;
  max-height:560px!important;
  margin:0!important;
  border-radius:28px!important;
}

.activity-detail-page .detail-gallery-thumbnails{
  position:absolute;
  left:14px;
  right:14px;
  bottom:14px;
  z-index:3;
  display:flex;
  gap:8px;
  justify-content:center;
  pointer-events:none;
}

.activity-detail-page .detail-gallery-thumbnails button{
  width:64px;
  height:48px;
  padding:0;
  overflow:hidden;
  border:2px solid #fff;
  border-radius:8px;
  background:#071d3b;
  box-shadow:0 5px 18px #0008;
  opacity:.72;
  cursor:pointer;
  pointer-events:auto;
}

.activity-detail-page .detail-gallery-thumbnails button.active{
  border-color:#ff5b1a;
  opacity:1;
  transform:translateY(-2px);
}

.activity-detail-page .detail-gallery-thumbnails img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block;
}

.activity-detail-page .detail-gallery-thumbnails .video-thumbnail{
  display:grid;
  place-items:center;
  color:#fff;
  background:#071d3b;
}

.activity-detail-page .detail-gallery-thumbnails .video-thumbnail span{
  display:grid;
  place-items:center;
  gap:1px;
}

.activity-detail-page .detail-gallery-thumbnails .video-thumbnail b{
  color:#ff5b1a;
  font-size:15px;
  line-height:1;
}

.activity-detail-page .detail-gallery-thumbnails .video-thumbnail small{
  color:#fff;
  font-size:7px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.activity-detail-page .detail-gallery-video{
  position:absolute;
  inset:0;
  z-index:2;
  background:#070a0c;
}

.activity-detail-page .detail-gallery-video iframe,
.activity-detail-page .detail-gallery-video video{
  width:100%;
  height:100%;
  border:0;
  display:block;
  object-fit:contain;
}

.activity-detail-page .detail-hero-side{
  order:2;
  display:grid;
  grid-template-rows:minmax(0,1fr) minmax(0,1fr);
  height:clamp(430px,38vw,560px);
  max-height:560px;
  min-width:0;
  overflow:hidden;
  border-radius:28px;
  box-shadow:0 28px 70px #00000022;
  background:#070a0c;
}

.activity-detail-page .detail-hero-copy{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:var(--hero-copy-pad,clamp(18px,1.8vw,28px))!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
}

.activity-detail-page .detail-hero-copy .eyebrow{
  margin-bottom:clamp(7px,.7vw,11px)!important;
  font-size:9px!important;
}

.activity-detail-page .detail-hero-copy h1{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  font-size:clamp(22px,2.15vw,36px)!important;
  line-height:1!important;
  max-height:none!important;
  margin-bottom:clamp(6px,.6vw,9px)!important;
  -webkit-line-clamp:unset!important;
  -webkit-box-orient:initial!important;
  display:block!important;
  overflow:visible!important;
}

.activity-detail-page .detail-hero-copy .detail-lead{
  margin:0 0 8px!important;
  font-size:clamp(10.5px,.78vw,12.5px)!important;
  line-height:1.3!important;
  display:block;
  overflow:visible;
}

.activity-detail-page .detail-hero-copy .detail-meta{
  gap:5px!important;
  margin-bottom:8px!important;
}

.activity-detail-page .detail-hero-copy .detail-meta span{
  padding:5px 8px!important;
  font-size:7px!important;
}

.activity-detail-page .detail-hero-copy .detail-actions{
  gap:8px!important;
}

.activity-detail-page .detail-hero-copy .detail-actions .search-button,
.activity-detail-page .detail-hero-copy .detail-actions .ghost-button{
  min-height:32px!important;
  padding:8px 12px!important;
  font-size:7.5px!important;
}

.activity-detail-page .detail-location-map{
  position:relative;
  min-height:0;
  overflow:hidden;
  background:#d9d8cf;
  border:4px solid #ff5b1a;
  box-sizing:border-box;
}

.activity-detail-page .detail-location-map iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
  filter:saturate(.72) contrast(1.02);
}

.activity-detail-page .detail-location-map>a{
  position:absolute;
  left:14px;
  right:14px;
  bottom:14px;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 13px;
  border-radius:8px;
  background:#071d3be8;
  color:#fff;
  box-shadow:0 8px 24px #0004;
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  letter-spacing:.04em;
}

.activity-detail-page .detail-location-map>a span{
  color:#ff7a1a;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  white-space:nowrap;
}

@media(max-width:980px){
  .activity-detail-page .detail-hero{grid-template-columns:1fr!important;}
  .activity-detail-page .detail-hero-image{
    height:clamp(250px,58vw,400px)!important;
    max-height:400px!important;
  }
  .activity-detail-page .detail-hero-side{
    height:auto;
    max-height:none;
    grid-template-rows:auto 250px;
  }
  .activity-detail-page .detail-hero-copy{overflow:visible!important;}
  .activity-detail-page .detail-hero-copy h1{
    font-size:clamp(34px,8vw,58px)!important;
    max-height:none!important;
    -webkit-line-clamp:unset!important;
  }
}

@media(max-width:620px){
  .activity-detail-page .detail-hero-image{
    height:220px!important;
    max-height:220px!important;
    border-radius:18px!important;
  }
  .activity-detail-page .detail-hero-side{
    grid-template-rows:auto 220px;
    border-radius:18px;
  }
  .activity-detail-page .detail-hero-copy{padding:22px 18px!important;}
  .activity-detail-page .detail-hero-copy h1{font-size:clamp(30px,10vw,44px)!important;}
  .activity-detail-page .detail-location-map>a{left:10px;right:10px;bottom:10px;}
  .activity-detail-page .detail-gallery-thumbnails{left:8px;right:8px;bottom:8px;gap:5px;}
  .activity-detail-page .detail-gallery-thumbnails button{width:48px;height:38px;border-radius:6px;}
}

/* Booking policy occupies the complete form row. */
.activity-detail-page #booking-form .checkbox-label{
  grid-column:1/-1!important;
  width:100%!important;
  min-width:0!important;
  flex-direction:row!important;
  align-items:flex-start!important;
  gap:12px!important;
}

.activity-detail-page #booking-form .checkbox-label input{
  width:18px!important;
  height:18px!important;
  flex:0 0 18px!important;
  margin:1px 0 0!important;
}

.activity-detail-page #booking-form .checkbox-label span{
  flex:1 1 auto!important;
  min-width:0!important;
  margin:0!important;
  line-height:1.45!important;
}

.activity-detail-page .booking-dialog{max-height:calc(100vh - 24px);overflow:auto}
.activity-detail-page .booking-participants{margin:2px 0;padding:14px;border:1px solid #deded8;background:#fff}
.activity-detail-page .booking-participants>legend{padding:0 7px;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.activity-detail-page .booking-participants>p{margin:0 0 12px;color:#616b76;font-size:11px;line-height:1.45}
.activity-detail-page #booking-participant-rows{display:grid;gap:10px}
.activity-detail-page .booking-participant{padding:12px;border:1px solid #e7e7e2;background:#f7f7f4}
.activity-detail-page .booking-participant h3{margin:0 0 10px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.activity-detail-page .booking-participant>div{display:grid;grid-template-columns:1.2fr .8fr .5fr 1.5fr;gap:8px}
.activity-detail-page .booking-participant label{padding:10px!important;border:1px solid #e2e2dc}
.activity-detail-page #booking-availability.capacity-warning{padding:10px;border:1px solid #f2b4a5;border-radius:5px;background:#fff0eb;color:#a42f19;font-weight:800;line-height:1.45}

@media(max-width:620px){
  .activity-detail-page .booking-participant>div{grid-template-columns:1fr 1fr}
  .activity-detail-page .booking-participant label:last-child{grid-column:1/-1}
}

