/* === RH · Travel Stories (Homepage Refined) === */
:root{
  --rh-navy-900:#0B3A68;
  --rh-navy-700:#0B3A68;
  --rh-ink-dim:#c9d0d7;
  --rh-gold:#e5c466;
}

/* Section */
.rh-stories{
  position:relative;
  overflow:hidden;
  padding:72px 0;
  color:#fff;
  background: linear-gradient(180deg, var(--rh-navy-700) 0%, var(--rh-navy-900) 100%);
}
.rh-stories__wrap{
  width:min(1200px,92vw);
  margin:0 auto;
  position:relative;
  z-index:2;
}
.rh-stories__head{
  text-align:center;
  margin-bottom:28px;
}

/* Title → pure white + soft shadow */
.rh-stories .rh-stories__title{
  color:#fff !important;
  font-family: ui-serif,"Playfair Display",Georgia,serif;
  font-weight:800;
  font-size:clamp(28px,3.4vw,44px);
  letter-spacing:.2px;
  text-shadow: 0 4px 14px rgba(0,0,0,.35);
}
.rh-stories .rh-stories__sub{
  color:var(--rh-ink-dim);
  margin-top:6px;
  font-size:clamp(13px,1.3vw,16px);
}

/* Swiper layout */
.rh-stories__swiper{ padding:10px 44px 52px; overflow:hidden; }
.rh-stories .swiper-wrapper{ align-items:stretch; }
.rh-stories .swiper-slide{ height:auto; }

/* Hide unwanted scrollbar */
.rh-stories .swiper-scrollbar,
.rh-stories .swiper-scrollbar-drag{ display:none !important; }

/* Card – clean image look */
.rh-card{
  height:100%;
  border-radius:20px;
  background:#0d1520;
  overflow:hidden;
  box-shadow:0 16px 34px rgba(0,0,0,.3);
  transition: transform .3s ease, box-shadow .3s ease;
}
.rh-card:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 40px rgba(0,0,0,.35);
}
.rh-card__fig{ position:relative; aspect-ratio:19/24; }
.rh-card__img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  filter: contrast(1.05) saturate(1.05) brightness(0.99);
  transition: transform .8s ease, filter .8s ease;
}
.rh-card__overlay{
  position:absolute;
  left:0; right:0; bottom:0;
  display:grid; gap:6px;
  padding:20px 22px 18px;
  background: linear-gradient(180deg,
              rgba(0,0,0,0) 0%,
              rgba(0,0,0,.6) 70%,
              rgba(0,0,0,.85) 100%);
}
.rh-card__teaser{
  color:#e6ecf2;
  opacity:.95;
  font-size:14px;
  line-height:1.45;
  max-height:3em;
  overflow:hidden;
}
.rh-card__cta{
  display:inline-block;
  margin-top:4px;
  font-weight:600;
  font-size:14px;
  letter-spacing:.1px;
  color:var(--rh-gold);
}
.rh-card:hover .rh-card__img{
  transform:scale(1.06);
  filter:contrast(1.08) saturate(1.08) brightness(1.02);
}

/* Arrows + Dots */
.rh-stories__prev,.rh-stories__next{
  color:#fff;
  width:42px; height:42px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  top:50%;
  transform:translateY(-50%);
  box-shadow:0 4px 12px rgba(0,0,0,.25);
}
.rh-stories__prev:hover,.rh-stories__next:hover{ background:rgba(255,255,255,.18); }
.rh-stories__prev::after,.rh-stories__next::after{ font-size:16px; font-weight:700; }

.rh-stories__pagi .swiper-pagination-bullet{
  background:rgba(255,255,255,.4);
  opacity:1;
}
.rh-stories__pagi .swiper-pagination-bullet-active{
  background:var(--rh-gold);
}

@media (max-width:1024px){
  .rh-stories__swiper{ padding:10px 22px 46px; }
}
@media (max-width:640px){
  .rh-stories{ padding:54px 0; }
  .rh-stories__prev, .rh-stories__next{ display:none; }
}
.rh-stories, .rh-stories__swiper { overflow:hidden !important; }
