/* V385 — Zanzibar Water Sports & Leisure catalog/detail split.
   Category pages show compact brochure cards only; full details open in a dedicated activity view.
*/
#leisureTab .leisure-grid,
#leisureWaterSportsTab .leisure-grid,
#leisureBeachExperiencesTab .leisure-grid,
#leisureAdventureTab .leisure-grid{
  align-items:stretch!important;
}
#leisureTab .leisure-card.v385-catalog-card,
#leisureWaterSportsTab .leisure-card.v385-catalog-card,
#leisureBeachExperiencesTab .leisure-card.v385-catalog-card,
#leisureAdventureTab .leisure-card.v385-catalog-card{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
}
.v385-catalog-card .v385-card-hero{
  position:relative!important;
  height:225px!important;
  min-height:225px!important;
  overflow:hidden!important;
  background:#e9f0f3!important;
}
.v385-catalog-card .v385-card-hero img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
.v385-catalog-card .v385-price-badge{
  position:absolute;
  right:14px;
  bottom:14px;
  z-index:5;
  max-width:calc(100% - 28px);
  padding:9px 13px;
  border-radius:999px;
  background:rgba(6,42,71,.94);
  color:#fff;
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 8px 22px rgba(0,0,0,.22);
  font-size:13px;
  line-height:1.1;
  font-weight:900;
  letter-spacing:.01em;
  white-space:nowrap;
}
.v385-catalog-card .leisure-card-copy{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
}
.v385-catalog-card .leisure-card-copy > *:not(.leisure-type):not(h4):not(.v385-card-overview):not(.v385-view-details){
  display:none!important;
}
.v385-catalog-card .v385-card-overview{
  display:-webkit-box!important;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:89px;
  margin-bottom:18px!important;
}
.v385-view-details{
  width:100%;
  margin-top:auto;
  padding:12px 16px;
  border:0;
  border-radius:10px;
  background:#062a47;
  color:#fff;
  font:800 14px/1.2 inherit;
  cursor:pointer;
  transition:transform .18s ease,background .18s ease,box-shadow .18s ease;
  box-shadow:0 7px 18px rgba(6,42,71,.14);
}
.v385-view-details:hover,
.v385-view-details:focus-visible{
  background:#f56b16;
  transform:translateY(-1px);
  outline:2px solid #fff;
  outline-offset:2px;
}

/* Dedicated activity view */
.v385-leisure-detail-modal{
  position:fixed;
  inset:0;
  z-index:12150;
  display:none;
  background:rgba(3,25,43,.86);
  backdrop-filter:blur(5px);
  overflow:auto;
  padding:18px;
}
.v385-leisure-detail-modal.is-open{display:block}
.v385-leisure-detail-panel{
  position:relative;
  width:min(1180px,97vw);
  margin:0 auto;
  min-height:calc(100vh - 36px);
  background:#fff;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 30px 90px rgba(0,0,0,.42);
}
.v385-detail-back{
  position:fixed;
  top:30px;
  left:max(28px,calc((100vw - min(1180px,97vw))/2 + 18px));
  z-index:12170;
  min-width:92px;
  height:42px;
  padding:0 15px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  border:2px solid #f56b16;
  border-radius:999px;
  background:#062a47;
  color:#fff;
  font-size:15px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(0,0,0,.24);
}
.v385-detail-back:hover,.v385-detail-back:focus-visible{background:#f56b16;outline:2px solid #fff;outline-offset:2px}
.v385-detail-hero{
  position:relative;
  min-height:440px;
  display:flex;
  align-items:flex-end;
  padding:68px clamp(22px,6vw,72px) 46px;
  background:#062a47 center/cover no-repeat;
  color:#fff;
  isolation:isolate;
}
.v385-detail-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(180deg,rgba(6,42,71,.08) 12%,rgba(6,42,71,.42) 58%,rgba(6,42,71,.94) 100%);
}
.v385-detail-hero-copy{max-width:840px}
.v385-detail-hero-copy small{display:block;color:#f6a36d;font-weight:900;letter-spacing:.13em;margin-bottom:8px}
.v385-detail-hero-copy h2{margin:0 0 12px;color:#fff;font-size:clamp(38px,6vw,68px);line-height:1.03}
.v385-detail-hero-price{
  display:inline-flex;
  align-items:center;
  padding:10px 14px;
  border-radius:999px;
  background:#f56b16;
  color:#fff;
  font-weight:900;
  box-shadow:0 8px 22px rgba(0,0,0,.22);
}
.v385-detail-body{padding:34px clamp(18px,5vw,60px) 54px}
.v385-detail-section{max-width:1100px;margin:0 auto 30px}
.v385-detail-section > h3{
  margin:0 0 13px;
  color:#062a47;
  font-size:28px;
}
.v385-detail-overview{
  margin:0;
  color:#455863;
  font-size:16px;
  line-height:1.78;
}
.v385-detail-copy{
  padding:0!important;
}
.v385-detail-copy > .leisure-type,
.v385-detail-copy > h4{display:none!important}
.v385-detail-copy h5{color:#062a47;font-size:20px;margin:20px 0 10px}
.v385-detail-copy p{font-size:15px;line-height:1.75;color:#455863}
.v385-detail-copy .v381-public-facts,
.v385-detail-copy .leisure-pending,
.v385-detail-copy .turtle-transfer-note{
  display:block!important;
}
.v385-detail-copy .v381-public-facts{
  margin-top:18px;
  border:1px solid #dce6ea;
  border-left:4px solid #f56b16;
  border-radius:12px;
  background:#f8fbfc;
  padding:18px 20px;
}
.v385-detail-copy .v381-public-facts > div{padding:6px 0;line-height:1.55}
.v385-detail-copy .leisure-pending{width:max-content;max-width:100%;margin-top:10px}
.v385-detail-gallery-wrap .horse-riding-gallery{
  margin-left:auto!important;
  margin-right:auto!important;
}
.v385-detail-gallery-wrap .universal-gallery-carousel{
  max-width:1000px!important;
}
.v385-detail-booking{
  max-width:1100px;
  margin:34px auto 0;
  padding:24px;
  border-radius:16px;
  background:#f5f8fa;
  border:1px solid #dce6ea;
  text-align:center;
}
.v385-detail-booking h3{margin:0 0 8px;color:#062a47;font-size:25px}
.v385-detail-booking p{margin:0 auto 17px;max-width:720px;color:#52616b;line-height:1.65}
.v385-detail-book-btn{
  min-width:min(100%,280px);
  padding:13px 20px;
  border:0;
  border-radius:10px;
  background:#f56b16;
  color:#fff;
  font:900 15px/1.2 inherit;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(245,107,22,.22);
}
.v385-detail-book-btn:hover,.v385-detail-book-btn:focus-visible{background:#062a47;outline:2px solid #f56b16;outline-offset:2px}
body.v385-detail-open{overflow:hidden!important}

@media(max-width:800px){
  .v385-catalog-card .v385-card-hero{height:220px!important;min-height:220px!important}
  .v385-catalog-card .v385-card-overview{min-height:auto;-webkit-line-clamp:5}
  .v385-leisure-detail-modal{padding:0}
  .v385-leisure-detail-panel{width:100%;min-height:100vh;border-radius:0}
  .v385-detail-back{top:10px;left:10px;height:40px;min-width:86px}
  .v385-detail-hero{min-height:360px;padding:70px 20px 34px}
  .v385-detail-body{padding:26px 16px 40px}
  .v385-detail-section > h3{font-size:24px}
  .v385-detail-booking{padding:20px 16px}
}
