/* Hunza Wheels modern tour experience */
:root {
  --hw-tour-ink: #17212b;
  --hw-tour-muted: #65717d;
  --hw-tour-bg: #f5f8f7;
  --hw-tour-card: #ffffff;
  --hw-tour-line: #e4ebe8;
  --hw-tour-accent: #01b97d;
  --hw-tour-accent-dark: #009966;
  --hw-tour-shadow: 0 14px 38px rgba(18, 38, 32, .09);
}

body { background: var(--hw-tour-bg); color: var(--hw-tour-ink); }

.hero-wrap-2,
.hero-wrap-2.js-fullheight {
  min-height: 500px !important;
  height: 64vh !important;
  max-height: 680px;
  background-position: center center !important;
}
.hero-wrap-2 .overlay { opacity: .52 !important; background: linear-gradient(180deg, rgba(9,23,19,.28), rgba(5,18,15,.74)) !important; }
.hero-wrap-2 .slider-text,
.hero-wrap-2 .slider-text.js-fullheight,
.hero-wrap-2 .js-fullheight { min-height: 500px !important; height: 64vh !important; max-height: 680px; }
.hero-wrap-2 .slider-text .pb-5 { padding-bottom: 4.5rem !important; }
.hero-wrap-2 h1.bread { max-width: 980px; margin-bottom: .75rem !important; font-size: clamp(2.15rem,5vw,4.4rem); line-height: 1.08; letter-spacing: -.035em; font-weight: 700; text-shadow: 0 3px 20px rgba(0,0,0,.24); }
.hero-wrap-2 .breadcrumbs { margin-bottom: 14px; font-size: .9rem; letter-spacing: .03em; }

.ftco-section.bg-light { background: var(--hw-tour-bg) !important; padding-top: 74px; padding-bottom: 78px; }
.car-wrap { height: calc(100% - 30px); margin-bottom: 30px; overflow: hidden; border: 1px solid var(--hw-tour-line); border-radius: 18px !important; background: var(--hw-tour-card); box-shadow: 0 10px 28px rgba(18,38,32,.07); transition: transform .25s ease, box-shadow .25s ease; }
.car-wrap:hover { transform: translateY(-5px); box-shadow: var(--hw-tour-shadow); }
.car-wrap .img { height: 255px; border-radius: 0 !important; background-position: center !important; background-size: cover !important; }
.car-wrap .text { display:flex; min-height:205px; flex-direction:column; padding:24px 24px 22px !important; text-align:left !important; }
.car-wrap .text h2 { margin-bottom:12px !important; font-size:1.28rem; line-height:1.35; font-weight:650; }
.car-wrap .text h2 a { color:var(--hw-tour-ink) !important; }
.car-wrap .text h2 a:hover { color:var(--hw-tour-accent-dark) !important; }
.car-wrap .cat { display:inline-flex; width:fit-content; align-items:center; padding:7px 11px; border-radius:999px; background:#eaf8f3; color:#087553 !important; font-size:.74rem; font-weight:600; letter-spacing:.03em; }
.car-wrap .btn { flex:1 1 0; border-radius:10px; padding:.68rem .85rem !important; font-size:.9rem; font-weight:600; }

/* Individual tour pages */
.ftco-section.ftco-about.tour-content,
.tour-content { padding:72px 0 !important; background:var(--hw-tour-bg) !important; }
.tour-content,
.tour-content p,
.tour-content h2,
.tour-content h3,
.tour-content span { color:var(--hw-tour-ink) !important; }
.tour-content > .container { max-width:1180px; }
.itinerary-title { display:block !important; margin:0 0 38px !important; padding:0 !important; border-radius:0 !important; background:transparent !important; }
.itinerary-title .subheading { display:inline-flex; margin-bottom:9px; padding:7px 12px; border-radius:999px; background:#e7f7f1; color:#087553 !important; font-size:.78rem; font-weight:600; letter-spacing:.045em; }
.itinerary-title h2 { margin:0; font-size:clamp(2rem,4vw,3rem); line-height:1.15; font-weight:700; letter-spacing:-.025em; }

/* Clean two-column itinerary card: gallery left, content right. */
.day-box {
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  grid-template-rows:auto 1fr;
  column-gap:0;
  row-gap:0;
  align-items:stretch;
  margin-bottom:30px !important;
  padding:0 !important;
  overflow:hidden;
  border:1px solid var(--hw-tour-line);
  border-radius:20px !important;
  background:var(--hw-tour-card) !important;
  box-shadow:0 8px 26px rgba(18,38,32,.06);
}

.day-image {
  position:relative;
  grid-column:1;
  grid-row:1 / span 2;
  width:100%;
  min-height:350px;
  height:100% !important;
  margin:0 !important;
  overflow:hidden;
  border-radius:0 !important;
  background-repeat:no-repeat !important;
  background-position:center center !important;
  background-color:#dce5e1;
  cursor:default;
  transition:filter .2s ease, opacity .16s ease;
}

/* Remove the old text overlay completely. */
.day-image::before,
.day-image::after { content:none !important; display:none !important; }
.day-image:hover { filter:saturate(1.04) contrast(1.02); }
.day-image:focus { outline:3px solid rgba(1,185,125,.24); outline-offset:-3px; }
.day-image.hw-gallery-changing { opacity:.78; }

.day-box h3 {
  grid-column:2;
  grid-row:1;
  align-self:end;
  margin:0;
  padding:42px 44px 12px;
  color:var(--hw-tour-ink) !important;
  font-size:1.48rem;
  line-height:1.34;
  font-weight:700;
}
.day-box p {
  grid-column:2;
  grid-row:2;
  margin:0;
  padding:0 44px 42px;
  color:var(--hw-tour-muted) !important;
  font-size:1rem;
  line-height:1.78;
}

.hw-gallery-arrow {
  position:absolute;
  top:50%;
  z-index:4;
  width:46px;
  height:46px;
  margin:0;
  padding:0 0 4px;
  transform:translateY(-50%);
  border:1px solid rgba(255,255,255,.72);
  border-radius:50%;
  background:rgba(10,24,20,.58);
  color:#fff;
  font-family:Arial,sans-serif;
  font-size:36px;
  line-height:40px;
  text-align:center;
  cursor:pointer;
  opacity:0;
  transition:opacity .18s ease, background .18s ease, transform .18s ease;
  box-shadow:0 5px 14px rgba(0,0,0,.16);
}
.hw-gallery-prev { left:18px; }
.hw-gallery-next { right:18px; }
.day-image:hover .hw-gallery-arrow,
.day-image:focus-within .hw-gallery-arrow { opacity:1; }
.hw-gallery-arrow:hover { background:rgba(10,24,20,.78); transform:translateY(-50%) scale(1.05); }
.hw-gallery-arrow:focus { outline:2px solid #fff; outline-offset:2px; opacity:1; }

.hw-gallery-dots {
  position:absolute;
  z-index:4;
  left:50%;
  bottom:18px;
  display:flex;
  gap:7px;
  transform:translateX(-50%);
}
.hw-gallery-dot {
  width:8px;
  height:8px;
  border-radius:50%;
  background:rgba(255,255,255,.48);
  box-shadow:0 1px 4px rgba(0,0,0,.2);
  transition:background .18s ease, transform .18s ease;
}
.hw-gallery-dot.active { background:#fff; transform:scale(1.18); }

.tour-content .btn-primary { border:0 !important; border-radius:11px; background:var(--hw-tour-accent) !important; font-weight:600; box-shadow:0 8px 18px rgba(1,185,125,.2); }
.tour-content .btn-primary:hover { background:var(--hw-tour-accent-dark) !important; }
.tour-transport,
.tour-faq { padding:0 0 70px; background:var(--hw-tour-bg); }
.tour-transport .container,
.tour-faq .container { max-width:1120px; padding:34px 38px; border:1px solid var(--hw-tour-line); border-radius:20px; background:var(--hw-tour-card); box-shadow:0 8px 24px rgba(18,38,32,.05); }
.tour-transport h2,
.tour-faq h2 { color:var(--hw-tour-ink); font-size:1.65rem; font-weight:650; }
.tour-transport p,
.tour-faq p { color:var(--hw-tour-muted); line-height:1.78; }
.faq-main-button { width:100%; padding:18px 21px; border:0; border-radius:13px; background:#eaf8f3; color:#076b4d; text-align:left; font-size:1.05rem; font-weight:650; cursor:pointer; }
.faq-main-button::after { content:'+'; float:right; font-size:1.35rem; line-height:1; }
.faq-main-button.active::after { content:'−'; }
.faq-wrapper { padding-top:8px; }
.faq-item { padding:22px 4px 20px; border-bottom:1px solid var(--hw-tour-line); }
.faq-item:last-child { border-bottom:0; }
.faq-item h3 { margin-bottom:8px; color:var(--hw-tour-ink); font-size:1.05rem; font-weight:650; }
.faq-item p { margin-bottom:0; }

@media (max-width:991.98px) {
  .hero-wrap-2,.hero-wrap-2.js-fullheight,.hero-wrap-2 .slider-text,.hero-wrap-2 .slider-text.js-fullheight,.hero-wrap-2 .js-fullheight { min-height:440px !important; height:56vh !important; }
  .day-box { grid-template-columns:1fr; grid-template-rows:auto auto auto; }
  .day-image { grid-column:1; grid-row:1; height:320px !important; min-height:320px; }
  .day-box h3 { grid-column:1; grid-row:2; padding:28px 28px 10px; }
  .day-box p { grid-column:1; grid-row:3; padding:0 28px 30px; }
  .hw-gallery-arrow { opacity:.9; }
}

@media (max-width:767.98px) {
  .hero-wrap-2,.hero-wrap-2.js-fullheight,.hero-wrap-2 .slider-text,.hero-wrap-2 .slider-text.js-fullheight,.hero-wrap-2 .js-fullheight { min-height:390px !important; height:52vh !important; }
  .hero-wrap-2 .slider-text .pb-5 { padding-bottom:2.7rem !important; }
  .hero-wrap-2 h1.bread { font-size:2.25rem; }
  .ftco-section.bg-light,.ftco-section.ftco-about.tour-content,.tour-content { padding-top:52px !important; padding-bottom:52px !important; }
  .day-box { border-radius:16px !important; }
  .day-image { height:245px !important; min-height:245px; }
  .day-box h3 { padding:24px 22px 8px; font-size:1.28rem; }
  .day-box p { padding:0 22px 26px; }
  .hw-gallery-arrow { width:40px; height:40px; font-size:31px; line-height:34px; }
  .hw-gallery-prev { left:12px; }
  .hw-gallery-next { right:12px; }
  .tour-transport,.tour-faq { padding:0 15px 48px; }
  .tour-transport .container,.tour-faq .container { padding:26px 22px; border-radius:16px; }
}
