/* =========================================================
   V29 — Home slide caption readability without white outline
   - No card, no blur panel, no white stroke around letters
   - Use contrast-aware text color, heavier ink for dark text,
     layered natural shadows and soft full-slide gradients only
   ========================================================= */

.hero-caption,
.hero-slide.caption-right .hero-caption{
  top:41%!important;
  width:min(560px,calc(100% - 118px))!important;
}

/* Keep captions floating directly on the slide. */
.hero-caption,
.hero-caption::before,
.hero-caption::after{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  outline:0!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

.hero-caption::before,
.hero-caption::after{
  content:none!important;
  display:none!important;
}

/* Remove the visible white/black outline from all caption text. */
.hero-location,
.hero-caption .eyebrow,
.hero-caption h1,
.hero-caption h2,
.hero-caption p,
.hero-caption .btn{
  -webkit-text-stroke:0!important;
  paint-order:normal!important;
}

/* A full-slide readability layer, not a box behind the text. */
.hero-slide.caption-left::after,
.hero-slide.caption-right::after{
  background:
    linear-gradient(0deg,rgba(4,7,18,.34) 0%,rgba(4,7,18,.08) 45%,rgba(4,7,18,.06) 100%),
    linear-gradient(90deg,rgba(5,8,18,.42) 0%,rgba(5,8,18,.18) 34%,rgba(5,8,18,.02) 76%)!important;
}

.hero-slide.caption-right::after{
  background:
    linear-gradient(0deg,rgba(4,7,18,.34) 0%,rgba(4,7,18,.08) 45%,rgba(4,7,18,.06) 100%),
    linear-gradient(270deg,rgba(5,8,18,.42) 0%,rgba(5,8,18,.18) 34%,rgba(5,8,18,.02) 76%)!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,.22) 0%,rgba(255,255,255,.06) 46%,rgba(255,255,255,.03) 100%),
    linear-gradient(90deg,rgba(255,255,255,.44) 0%,rgba(255,255,255,.18) 36%,rgba(255,255,255,.02) 76%)!important;
}

.hero-slide.caption-theme-light.caption-right::after{
  background:
    linear-gradient(0deg,rgba(255,255,255,.22) 0%,rgba(255,255,255,.06) 46%,rgba(255,255,255,.03) 100%),
    linear-gradient(270deg,rgba(255,255,255,.44) 0%,rgba(255,255,255,.18) 36%,rgba(255,255,255,.02) 76%)!important;
}

/* White caption set: no border, only deep natural shadow. */
.hero-slide.caption-theme-dark .hero-location,
.hero-slide.caption-theme-dark .hero-caption .eyebrow{
  color:rgba(255,255,255,.92)!important;
  font-weight:700!important;
  text-shadow:
    0 2px 4px rgba(0,0,0,.80),
    0 8px 24px rgba(0,0,0,.46)!important;
}

.hero-slide.caption-theme-dark .hero-caption h1,
.hero-slide.caption-theme-dark .hero-caption h2{
  color:#fffdf5!important;
  font-weight:520!important;
  text-shadow:
    0 2px 3px rgba(0,0,0,.82),
    0 7px 18px rgba(0,0,0,.58),
    0 18px 44px rgba(0,0,0,.40)!important;
}

.hero-slide.caption-theme-dark .hero-caption p{
  color:rgba(255,255,255,.95)!important;
  font-weight:600!important;
  text-shadow:
    0 1px 2px rgba(0,0,0,.86),
    0 7px 20px rgba(0,0,0,.48)!important;
}

/* Dark caption set: stronger ink, not white outline. */
.hero-slide.caption-theme-light .hero-location,
.hero-slide.caption-theme-light .hero-caption .eyebrow{
  color:#141a3d!important;
  font-weight:800!important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.55),
    0 8px 22px rgba(255,255,255,.46),
    0 16px 32px rgba(12,19,45,.16)!important;
}

.hero-slide.caption-theme-light .hero-caption h1,
.hero-slide.caption-theme-light .hero-caption h2{
  color:#111734!important;
  font-weight:640!important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.44),
    0 4px 14px rgba(255,255,255,.36),
    0 12px 30px rgba(11,18,42,.22)!important;
}

.hero-slide.caption-theme-light .hero-caption p{
  color:#151b37!important;
  font-weight:650!important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.48),
    0 6px 18px rgba(255,255,255,.34),
    0 10px 26px rgba(12,19,45,.16)!important;
}

/* Slightly larger menu text requested in V28, preserved and refined. */
.main-nav a{
  font-size:.92rem!important;
  font-weight:760!important;
}

.header-actions .lang-switch,
.header-actions .header-book{
  font-size:.88rem!important;
  font-weight:760!important;
}

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

@media(max-width:640px){
  .hero-caption,
  .hero-slide.caption-right .hero-caption{
    bottom:130px!important;
    width:auto!important;
  }

  .hero-slide.caption-theme-light .hero-caption h1,
  .hero-slide.caption-theme-light .hero-caption h2{
    font-weight:680!important;
  }
}
