/* =========================================================
   V27 — Cleaner floating home captions
   - Move caption upward to avoid the booking teaser
   - Reduce headline size and weight
   - Remove the small Hide tab above the booking button
   - Keep captions directly on the slide without card or blur panel
   ========================================================= */

/* The caption remains floating on the image, not inside a card. */
.hero-caption,
.hero-slide.caption-right .hero-caption{
  top:42%!important;
  transform:translateY(-50%)!important;
  width:min(540px,calc(100% - 110px))!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  outline:0!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

.hero-slide.caption-left .hero-caption{
  left:max(6vw,72px)!important;
  right:auto!important;
}

.hero-slide.caption-right .hero-caption{
  left:auto!important;
  right:max(6vw,72px)!important;
}

/* No caption card, no local rectangular glow. */
.hero-caption::before,
.hero-caption::after{
  content:none!important;
  display:none!important;
}

/* Keep only a very soft full-slide readability layer. */
.hero-slide.caption-left::after,
.hero-slide.caption-right::after{
  background:
    linear-gradient(0deg,rgba(5,8,24,.26) 0%,rgba(5,8,24,.08) 42%,transparent 72%),
    linear-gradient(90deg,rgba(6,9,25,.26) 0%,rgba(6,9,25,.10) 28%,transparent 68%)!important;
}

.hero-slide.caption-right::after{
  background:
    linear-gradient(0deg,rgba(5,8,24,.26) 0%,rgba(5,8,24,.08) 42%,transparent 72%),
    linear-gradient(270deg,rgba(6,9,25,.26) 0%,rgba(6,9,25,.10) 28%,transparent 68%)!important;
}

.hero-slide.caption-theme-light.caption-left::after,
.hero-slide.caption-theme-light.caption-right::after{
  background:
    linear-gradient(0deg,rgba(255,255,255,.18) 0%,rgba(255,255,255,.06) 42%,transparent 74%),
    linear-gradient(90deg,rgba(255,255,255,.24) 0%,rgba(255,255,255,.08) 30%,transparent 70%)!important;
}

.hero-slide.caption-theme-light.caption-right::after{
  background:
    linear-gradient(0deg,rgba(255,255,255,.18) 0%,rgba(255,255,255,.06) 42%,transparent 74%),
    linear-gradient(270deg,rgba(255,255,255,.24) 0%,rgba(255,255,255,.08) 30%,transparent 70%)!important;
}

.hero-location,
.hero-caption .eyebrow{
  font-size:.60rem!important;
  line-height:1.45!important;
  letter-spacing:.17em!important;
  font-weight:600!important;
  margin-bottom:8px!important;
  text-shadow:
    0 1px 1px rgba(0,0,0,.72),
    0 2px 8px rgba(0,0,0,.48),
    0 10px 26px rgba(0,0,0,.30)!important;
}

.hero-slide.caption-theme-light .hero-location,
.hero-slide.caption-theme-light .hero-caption .eyebrow{
  text-shadow:
    0 1px 0 rgba(255,255,255,.94),
    0 2px 5px rgba(255,255,255,.86),
    0 8px 18px rgba(255,255,255,.50)!important;
}

.hero-caption h1,
.hero-caption h2{
  max-width:560px!important;
  margin-bottom:12px!important;
  font-size:clamp(2.15rem,3.30vw,3.72rem)!important;
  line-height:1.07!important;
  font-weight:400!important;
  letter-spacing:-.01em!important;
  text-shadow:
    0 1px 0 rgba(0,0,0,.98),
    0 2px 4px rgba(0,0,0,.82),
    0 7px 18px rgba(0,0,0,.62),
    0 18px 44px rgba(0,0,0,.42)!important;
  -webkit-text-stroke:.38px rgba(0,0,0,.62)!important;
  paint-order:stroke fill!important;
}

html[lang="th"] .hero-caption h1,
html[lang="th"] .hero-caption h2{
  font-size:clamp(2.05rem,3.05vw,3.36rem)!important;
  line-height:1.15!important;
  font-weight:400!important;
  letter-spacing:-.012em!important;
}

.hero-slide.caption-theme-light .hero-caption h1,
.hero-slide.caption-theme-light .hero-caption h2{
  text-shadow:
    0 1px 0 rgba(255,255,255,.98),
    0 2px 4px rgba(255,255,255,.90),
    0 8px 18px rgba(255,255,255,.62),
    0 18px 42px rgba(20,24,74,.16)!important;
  -webkit-text-stroke:.34px rgba(255,255,255,.92)!important;
}

.hero-caption p{
  max-width:48ch!important;
  font-size:.88rem!important;
  line-height:1.70!important;
  font-weight:500!important;
  margin-bottom:0!important;
  text-shadow:
    0 1px 0 rgba(0,0,0,.95),
    0 2px 5px rgba(0,0,0,.72),
    0 10px 24px rgba(0,0,0,.38)!important;
  -webkit-text-stroke:.12px rgba(0,0,0,.54)!important;
}

.hero-slide.caption-theme-light .hero-caption p{
  text-shadow:
    0 1px 0 rgba(255,255,255,.98),
    0 2px 4px rgba(255,255,255,.88),
    0 8px 18px rgba(255,255,255,.50)!important;
  -webkit-text-stroke:.12px rgba(255,255,255,.82)!important;
}

.hero-actions{
  margin-top:16px!important;
  gap:9px!important;
}

.hero-caption .btn{
  min-height:40px!important;
  padding:9px 17px!important;
  border-radius:12px!important;
  font-size:.78rem!important;
  font-weight:700!important;
}

/* Remove the unwanted small Hide/ซ่อน tab above the compact booking button. */
.booking-collapse{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

.booking-dock.collapsed{
  bottom:max(18px,env(safe-area-inset-bottom))!important;
}

.booking-expand.booking-expand-classic{
  min-height:54px!important;
  min-width:210px!important;
  padding:8px 18px 8px 14px!important;
}

.booking-expand-simple-copy b{
  font-size:.86rem!important;
}

.booking-expand-simple-copy small{
  font-size:.60rem!important;
}

@media(max-width:1100px){
  .hero-caption,
  .hero-slide.caption-right .hero-caption{
    top:40%!important;
    width:min(520px,calc(100% - 56px))!important;
  }

  .hero-slide.caption-left .hero-caption,
  .hero-slide.caption-right .hero-caption{
    left:28px!important;
    right:auto!important;
  }
}

@media(max-width:640px){
  .hero-caption,
  .hero-slide.caption-right .hero-caption{
    top:auto!important;
    bottom:132px!important;
    left:18px!important;
    right:18px!important;
    width:auto!important;
    transform:none!important;
  }

  .hero-caption h1,
  .hero-caption h2,
  html[lang="th"] .hero-caption h1,
  html[lang="th"] .hero-caption h2{
    font-size:clamp(1.82rem,8.2vw,2.45rem)!important;
    line-height:1.13!important;
  }

  .hero-caption p{
    font-size:.82rem!important;
    line-height:1.56!important;
    max-width:100%!important;
  }

  .hero-actions{
    margin-top:13px!important;
  }

  .hero-caption .btn{
    min-height:38px!important;
    padding:8px 12px!important;
    font-size:.74rem!important;
  }
}
