/* =========================================================
   EcoSapa Homepage SEO & Conversion v2.0.0
   One international type system: ROBOTO
   Homepage primary intent: Hanoi ↔ Sapa limousine
   ========================================================= */

body.home{
  --eco-red:#ed1c24;
  --eco-red-dark:#c9141b;
  --eco-blue:#075fbd;
  --eco-heading:#465967;
  --eco-strong:#536675;
  --eco-copy:#5c6d7b;
  --eco-muted:#87929a;
  --eco-border:#e1e6e9;
  --eco-soft:#f7f8f8;
  --eco-font:Roboto,"Helvetica Neue",Arial,sans-serif;
  font-family:var(--eco-font)!important;
  color:var(--eco-copy)!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* ONE font across header, page, forms, menus and footer.
   Explicitly override old serif/sans variables and inline family declarations. */
body.home h1,body.home h2,body.home h3,body.home h4,body.home h5,body.home h6,
body.home p,body.home a,body.home span,body.home div,body.home li,body.home button,
body.home input,body.home select,body.home textarea,body.home label,body.home small,
body.home strong,body.home em,body.home table,body.home th,body.home td,body.home summary{
  font-family:var(--eco-font)!important;
}

body.home .hero-h1,
body.home .sec-title,
body.home .cta-banner h2,
body.home .footer-logo strong,
body.home .ta-score,
body.home .cta-stat strong{
  font-family:var(--eco-font)!important;
}

/* ---------- Shared hierarchy ---------- */
body.home .sec-title{
  color:var(--eco-heading)!important;
  font-size:29px!important;
  line-height:1.22!important;
  font-weight:700!important;
  letter-spacing:-.02em!important;
}
body.home .sec-sub,
body.home .schedule-intro p{
  color:var(--eco-copy)!important;
  font-size:16px!important;
  line-height:1.62!important;
  font-weight:400!important;
}
body.home .eco-home-kicker{
  display:block;
  margin:0 0 7px;
  color:var(--eco-muted)!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.075em!important;
  text-transform:uppercase;
}
body.home .eco-home-center{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:22px;
}

/* ---------- Hero ---------- */
body.home .hero-h1{
  font-size:clamp(38px,4.25vw,58px)!important;
  line-height:1.02!important;
  font-weight:800!important;
  letter-spacing:-.035em!important;
}
body.home .hero-sub{
  font-family:var(--eco-font)!important;
  font-size:17px!important;
  line-height:1.58!important;
  font-weight:400!important;
}
body.home .hero-feat,
body.home .hero-badge{
  font-family:var(--eco-font)!important;
}
body.home .eco-home-hero-actions{gap:10px!important}
body.home .eco-home-hero-book{
  background:var(--eco-red)!important;
  border-color:var(--eco-red)!important;
  box-shadow:0 5px 18px rgba(237,28,36,.24)!important;
}
body.home .eco-home-hero-book:hover{
  background:var(--eco-red-dark)!important;
  border-color:var(--eco-red-dark)!important;
}
body.home .eco-home-hero-schedule{
  font-weight:700!important;
}

/* ---------- Trust strip ---------- */
body.home .eco-home-trust .trust-inner{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
body.home .eco-home-trust .trust-icon{
  min-width:30px;
  color:var(--eco-red)!important;
  font-family:var(--eco-font)!important;
  font-size:13px!important;
  font-weight:800!important;
}
body.home .eco-home-trust .trust-text strong{
  color:var(--eco-strong)!important;
  font-weight:700!important;
}
body.home .eco-home-trust .trust-text span{
  color:var(--eco-muted)!important;
}

/* ---------- Keep core schedule + vehicle layouts; sync type/colors only ---------- */
body.home .schedule-section,
body.home .vehicle-section{
  font-family:var(--eco-font)!important;
}
body.home .schedule-section .trip-route,
body.home .schedule-section .trip-city{
  color:var(--eco-strong)!important;
  font-weight:650!important;
}
body.home .schedule-section .trip-label{
  color:var(--eco-muted)!important;
  font-weight:600!important;
}
body.home .schedule-section .trip-val{
  color:var(--eco-strong)!important;
  font-weight:500!important;
}
body.home .schedule-section .vip-price-main strong{
  color:var(--eco-red)!important;
  font-weight:800!important;
}
body.home .schedule-section .vip-price-main span{
  color:#73808b!important;
  font-weight:400!important;
}
body.home .schedule-section .btn-book,
body.home .vehicle-section button[onclick*="bookModal"],
body.home .btn-form-submit,
body.home .pro-book-cta,
body.home .eco-mobile-book{
  background:var(--eco-red)!important;
  border-color:var(--eco-red)!important;
  color:#fff!important;
}
body.home .schedule-section .btn-book:hover,
body.home .vehicle-section button[onclick*="bookModal"]:hover,
body.home .btn-form-submit:hover,
body.home .pro-book-cta:hover{
  background:var(--eco-red-dark)!important;
  border-color:var(--eco-red-dark)!important;
}
body.home .vehicle-section .vf-title{
  color:var(--eco-strong)!important;
  font-weight:650!important;
}
body.home .vehicle-section .vf-desc{
  color:var(--eco-copy)!important;
  font-weight:400!important;
}
body.home .vehicle-section .vg-caption,
body.home .vehicle-section .vg-caption strong{
  color:#fff!important;
}

/* ---------- Sapa tour cross-sell ---------- */
body.home .eco-home-tours{
  background:#fff!important;
  padding-top:58px!important;
  padding-bottom:58px!important;
}
body.home .eco-home-sec-head{max-width:760px}
body.home .eco-home-tour-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:24px;
}
body.home .eco-home-tour-card{
  min-width:0;
  overflow:hidden;
  border:1px solid var(--eco-border);
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 28px rgba(20,34,45,.06);
  transition:transform .18s ease,box-shadow .18s ease;
}
body.home .eco-home-tour-card:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 32px rgba(20,34,45,.10);
}
body.home .eco-home-tour-img{
  display:block;
  height:205px;
  overflow:hidden;
  background:#eef2f4;
}
body.home .eco-home-tour-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .28s ease;
}
body.home .eco-home-tour-card:hover .eco-home-tour-img img{transform:scale(1.025)}
body.home .eco-home-tour-placeholder{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  color:#fff!important;
  background:linear-gradient(135deg,#607d8b,#90a4ae);
  font-weight:800!important;
}
body.home .eco-home-tour-body{padding:16px 17px 17px}
body.home .eco-home-tour-meta{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  min-height:20px;
  margin-bottom:7px;
}
body.home .eco-home-tour-meta span{
  color:var(--eco-muted)!important;
  font-size:12px!important;
  font-weight:500!important;
}
body.home .eco-home-tour-card h3{
  margin:0 0 14px!important;
  font-size:20px!important;
  line-height:1.28!important;
  font-weight:650!important;
  letter-spacing:-.015em!important;
}
body.home .eco-home-tour-card h3 a{
  color:var(--eco-strong)!important;
  text-decoration:none!important;
}
body.home .eco-home-tour-card h3 a:hover{color:var(--eco-blue)!important}
body.home .eco-home-tour-bottom{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  padding-top:12px;
  border-top:1px solid #edf0f2;
}
body.home .eco-home-tour-price small{
  display:block;
  color:var(--eco-muted)!important;
  font-size:11px!important;
}
body.home .eco-home-tour-price strong{
  display:block;
  color:var(--eco-red)!important;
  font-size:22px!important;
  line-height:1.05!important;
  font-weight:800!important;
}
body.home .eco-home-tour-link,
body.home .eco-home-secondary{
  color:var(--eco-blue)!important;
  font-size:14px!important;
  font-weight:600!important;
  text-decoration:none!important;
}
body.home .eco-home-tour-link:hover,
body.home .eco-home-secondary:hover{text-decoration:underline!important;text-underline-offset:3px}
body.home .eco-home-tour-empty{
  margin-top:20px;
  padding:18px;
  border:1px solid var(--eco-border);
  border-radius:12px;
  color:var(--eco-copy)!important;
  background:var(--eco-soft);
}

/* ---------- Why: 4 concise cards ---------- */
body.home .eco-home-why{background:var(--eco-soft)!important}
body.home .eco-home-why-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-top:22px;
}
body.home .eco-home-why-grid article{
  padding:20px 18px;
  border:1px solid var(--eco-border);
  border-radius:13px;
  background:#fff;
}
body.home .eco-home-why-grid article>span{font-size:22px!important}
body.home .eco-home-why-grid h3{
  margin:10px 0 7px!important;
  color:var(--eco-strong)!important;
  font-size:17px!important;
  line-height:1.3!important;
  font-weight:650!important;
}
body.home .eco-home-why-grid p{
  margin:0!important;
  color:var(--eco-copy)!important;
  font-size:14px!important;
  line-height:1.6!important;
}

/* ---------- Comparison table ---------- */
body.home .eco-home-compare{background:#fff!important}
body.home .eco-home-table-wrap{
  margin-top:20px;
  overflow-x:auto;
  border:1px solid var(--eco-border);
  border-radius:13px;
  background:#fff;
}
body.home .eco-home-compare-table{
  width:100%;
  min-width:690px;
  border-collapse:collapse;
}
body.home .eco-home-compare-table th,
body.home .eco-home-compare-table td{
  padding:14px 15px;
  border-bottom:1px solid #edf0f2;
  text-align:left;
  vertical-align:top;
  color:var(--eco-copy)!important;
  font-size:14px!important;
  line-height:1.45!important;
}
body.home .eco-home-compare-table thead th{
  color:var(--eco-strong)!important;
  background:#f7f9fa;
  font-weight:700!important;
}
body.home .eco-home-compare-table tbody th{
  color:var(--eco-strong)!important;
  font-weight:600!important;
}
body.home .eco-home-compare-table td strong{
  color:#435766!important;
  font-weight:700!important;
}
body.home .eco-home-compare-table tr:last-child th,
body.home .eco-home-compare-table tr:last-child td{border-bottom:0}

/* ---------- Compact booking strip ---------- */
body.home .eco-home-how{background:var(--eco-soft)!important}
body.home .eco-home-steps{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin:22px 0 0;
}
body.home .eco-home-steps>div{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  padding:13px 15px;
  border:1px solid var(--eco-border);
  border-radius:12px;
  background:#fff;
}
body.home .eco-home-steps b{
  display:grid;
  place-items:center;
  flex:0 0 32px;
  width:32px;
  height:32px;
  border-radius:50%;
  background:var(--eco-red);
  color:#fff!important;
  font-size:13px!important;
}
body.home .eco-home-steps span{
  color:var(--eco-copy)!important;
  font-size:13px!important;
  line-height:1.4!important;
}
body.home .eco-home-steps span strong{
  display:block;
  color:var(--eco-strong)!important;
  font-size:14px!important;
}
body.home .eco-home-steps>i{
  color:#aab3ba!important;
  font-style:normal!important;
  font-size:18px!important;
}
body.home .eco-home-primary,
body.home .eco-home-whatsapp{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 19px;
  border-radius:9px;
  font-size:14px!important;
  font-weight:700!important;
  text-decoration:none!important;
  cursor:pointer;
}
body.home .eco-home-primary{
  border:1px solid var(--eco-red);
  background:var(--eco-red);
  color:#fff!important;
}
body.home .eco-home-primary:hover{background:var(--eco-red-dark)}
body.home .eco-home-whatsapp{
  border:1px solid #25d366;
  background:#25d366;
  color:#fff!important;
}

/* ---------- Dynamic reviews ---------- */
body.home .eco-home-reviews{background:#fff!important}
body.home .eco-home-review-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:22px;
}
body.home .eco-home-review-card{
  padding:19px;
  border:1px solid var(--eco-border);
  border-radius:13px;
  background:#fff;
}
body.home .eco-home-stars{
  color:#f59e0b!important;
  font-size:15px!important;
  letter-spacing:1.5px!important;
}
body.home .eco-home-review-card h3{
  margin:8px 0 7px!important;
  color:var(--eco-strong)!important;
  font-size:16px!important;
  line-height:1.35!important;
  font-weight:650!important;
}
body.home .eco-home-review-card p{
  margin:0 0 14px!important;
  color:var(--eco-copy)!important;
  font-size:14px!important;
  line-height:1.62!important;
}
body.home .eco-home-review-author strong{
  display:block;
  color:var(--eco-strong)!important;
  font-size:13px!important;
  font-weight:650!important;
}
body.home .eco-home-review-author span{
  color:var(--eco-muted)!important;
  font-size:11.5px!important;
}
body.home .eco-home-ta-strip,
body.home .eco-home-review-fallback{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:16px;
  padding:15px 17px;
  border:1px solid var(--eco-border);
  border-radius:12px;
  background:var(--eco-soft);
}
body.home .eco-home-ta-strip div,
body.home .eco-home-review-fallback div{
  display:flex;
  align-items:baseline;
  gap:8px;
  flex-wrap:wrap;
}
body.home .eco-home-ta-strip strong{
  color:var(--eco-strong)!important;
  font-size:20px!important;
  font-weight:750!important;
}
body.home .eco-home-ta-strip span,
body.home .eco-home-review-fallback span{
  color:var(--eco-copy)!important;
  font-size:13px!important;
}
body.home .eco-home-ta-strip a,
body.home .eco-home-review-fallback a{
  color:var(--eco-blue)!important;
  font-size:13px!important;
  font-weight:650!important;
  text-decoration:none!important;
}
body.home .eco-home-admin-note{
  color:#946200!important;
  font-size:12px!important;
}

/* ---------- FAQ ---------- */
body.home .eco-home-faq{background:var(--eco-soft)!important}
body.home .eco-home-faq .faq-q{
  color:var(--eco-strong)!important;
  font-size:16px!important;
  line-height:1.45!important;
  font-weight:600!important;
}
body.home .eco-home-faq .faq-q:hover{color:var(--eco-blue)!important}
body.home .eco-home-faq .faq-a-inner{
  color:var(--eco-copy)!important;
  font-size:15px!important;
  line-height:1.7!important;
}
body.home .eco-home-faq-extra{display:none}
body.home .eco-home-faq.is-expanded .eco-home-faq-extra{display:block}
body.home .eco-home-faq-more{
  display:block;
  margin:18px auto 0;
  padding:9px 13px;
  border:1px solid #ccd5db;
  border-radius:8px;
  background:#fff;
  color:var(--eco-blue)!important;
  font-size:13px!important;
  font-weight:650!important;
  cursor:pointer;
}

/* ---------- Header/nav/footer coherence ---------- */
body.home .sitenav,
body.home .topbar,
body.home footer,
body.home .mob-menu,
body.home .modal-box{
  font-family:var(--eco-font)!important;
}
body.home footer h4,
body.home footer strong{
  font-family:var(--eco-font)!important;
}

/* Tour review shortcode, ready for Tour pages without forced insertion */
.eco-tour-live-reviews{
  margin:30px 0;
  font-family:Roboto,"Helvetica Neue",Arial,sans-serif;
}
.eco-tour-live-reviews h2{font-size:26px;line-height:1.25;color:#465967}
.eco-tour-live-reviews__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.eco-tour-live-reviews__grid article{padding:17px;border:1px solid #e1e6e9;border-radius:12px;background:#fff}
.eco-tour-live-reviews__grid p{font-size:14px;line-height:1.6;color:#5c6d7b}
.eco-tour-live-reviews__grid strong{display:block;color:#536675;font-size:13px}
.eco-tour-live-reviews__grid span{display:block;color:#87929a;font-size:11.5px;margin-top:3px}

@media(max-width:900px){
  body.home .eco-home-why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.home .eco-home-tour-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.home .eco-home-review-grid{grid-template-columns:1fr}
  body.home .eco-home-steps{flex-wrap:wrap}
  body.home .eco-home-steps>i{display:none}
  body.home .eco-home-steps>div{flex:1 1 220px}
}

@media(max-width:680px){
  body.home .sec-title{font-size:25px!important}
  body.home .sec-sub,
  body.home .schedule-intro p{font-size:15px!important}
  body.home .hero-h1{font-size:34px!important}
  body.home .hero-sub{font-size:15.5px!important}
  body.home .eco-home-trust .trust-inner{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.home .eco-home-tour-grid{grid-template-columns:1fr}
  body.home .eco-home-tour-img{height:215px}
  body.home .eco-home-why-grid{grid-template-columns:1fr}
  body.home .eco-home-steps{display:grid;grid-template-columns:1fr}
  body.home .eco-home-steps>div{width:100%}
  body.home .eco-home-ta-strip,
  body.home .eco-home-review-fallback{
    align-items:flex-start;
    flex-direction:column;
  }
  .eco-tour-live-reviews__grid{grid-template-columns:1fr}
}

/* v2.0.2 SAFE MODE: payload is never visible if JS is disabled/fails. */
#eco-home-v2-safe-payload{display:none!important}


/* =========================================================
   v2.0.3 — Lower Homepage Typography + Width Normalization
   From Sapa Tours / Why through FAQ, use the exact same
   readable desktop rhythm instead of legacy tiny text.
   ========================================================= */

body.home .eco-home-tours,
body.home .eco-home-why,
body.home .eco-home-compare,
body.home .eco-home-how,
body.home .eco-home-reviews,
body.home .eco-home-faq{
  width:100%!important;
  max-width:none!important;
  padding:56px 0!important;
  font-family:var(--eco-font)!important;
}

body.home .eco-home-tours>.page-wrap,
body.home .eco-home-why>.page-wrap,
body.home .eco-home-compare>.page-wrap,
body.home .eco-home-how>.page-wrap,
body.home .eco-home-reviews>.page-wrap,
body.home .eco-home-faq>.page-wrap{
  width:100%!important;
  max-width:1180px!important;
  margin:0 auto!important;
  padding-left:22px!important;
  padding-right:22px!important;
  box-sizing:border-box!important;
}

body.home .eco-home-tours .sec-head,
body.home .eco-home-why .sec-head,
body.home .eco-home-compare .sec-head,
body.home .eco-home-how .sec-head,
body.home .eco-home-reviews .sec-head,
body.home .eco-home-faq .sec-head{
  width:100%!important;
  max-width:760px!important;
  margin:0 0 26px!important;
}

body.home .eco-home-tours .eco-home-kicker,
body.home .eco-home-why .eco-home-kicker,
body.home .eco-home-compare .eco-home-kicker,
body.home .eco-home-how .eco-home-kicker,
body.home .eco-home-reviews .eco-home-kicker,
body.home .eco-home-faq .eco-home-kicker{
  margin:0 0 7px!important;
  color:#7e8a94!important;
  font-size:12px!important;
  line-height:1.25!important;
  font-weight:700!important;
  letter-spacing:.065em!important;
}

body.home .eco-home-tours .sec-title,
body.home .eco-home-why .sec-title,
body.home .eco-home-compare .sec-title,
body.home .eco-home-how .sec-title,
body.home .eco-home-reviews .sec-title,
body.home .eco-home-faq .sec-title{
  margin:0 0 10px!important;
  color:#465967!important;
  font-size:30px!important;
  line-height:1.22!important;
  font-weight:700!important;
  letter-spacing:-.02em!important;
}

body.home .eco-home-tours .sec-sub,
body.home .eco-home-why .sec-sub,
body.home .eco-home-compare .sec-sub,
body.home .eco-home-how .sec-sub,
body.home .eco-home-reviews .sec-sub,
body.home .eco-home-faq .sec-sub{
  max-width:760px!important;
  margin:0!important;
  color:#5c6d7b!important;
  font-size:16px!important;
  line-height:1.65!important;
  font-weight:400!important;
}

/* Cards must read like the rest of the homepage, not micro UI. */
body.home .eco-home-why-grid h3,
body.home .eco-home-tour-card h3,
body.home .eco-home-review-card h3{
  color:#536675!important;
  font-size:18px!important;
  line-height:1.35!important;
  font-weight:650!important;
}

body.home .eco-home-why-grid p,
body.home .eco-home-tour-card,
body.home .eco-home-review-card p,
body.home .eco-home-review-fallback,
body.home .eco-home-ta-strip{
  font-size:15px!important;
  line-height:1.62!important;
}

body.home .eco-home-why-grid{
  gap:16px!important;
  margin-top:0!important;
}

body.home .eco-home-why-grid article{
  min-height:172px!important;
  padding:22px 20px!important;
}

body.home .eco-home-table-wrap{
  margin-top:0!important;
}
body.home .eco-home-compare-table th,
body.home .eco-home-compare-table td{
  padding:15px 16px!important;
  font-size:15px!important;
  line-height:1.5!important;
}

body.home .eco-home-steps{
  margin-top:0!important;
  gap:14px!important;
}
body.home .eco-home-steps>div{
  min-height:72px!important;
  padding:15px 17px!important;
}
body.home .eco-home-steps span{
  font-size:14px!important;
  line-height:1.45!important;
}
body.home .eco-home-steps span strong{
  font-size:15px!important;
}

body.home .eco-home-review-grid{
  gap:16px!important;
  margin-top:0!important;
}
body.home .eco-home-review-card{
  min-height:210px!important;
  padding:21px!important;
}
body.home .eco-home-review-card p{
  font-size:15px!important;
}
body.home .eco-home-review-fallback{
  margin-top:0!important;
  padding:18px 20px!important;
}
body.home .eco-home-review-fallback strong{
  color:#536675!important;
  font-size:16px!important;
  font-weight:650!important;
}
body.home .eco-home-review-fallback span{
  margin-top:3px!important;
  color:#6b7b87!important;
  font-size:14px!important;
}
body.home .eco-home-review-fallback a{
  font-size:14px!important;
}

body.home .eco-home-faq .faq-list{
  width:100%!important;
  max-width:none!important;
}
body.home .eco-home-faq .faq-q{
  min-height:58px!important;
  padding:17px 4px!important;
  color:#536675!important;
  font-size:16px!important;
  line-height:1.45!important;
  font-weight:600!important;
}
body.home .eco-home-faq .faq-a-inner{
  padding:0 4px 19px!important;
  color:#5c6d7b!important;
  font-size:15px!important;
  line-height:1.72!important;
}

/* Featured Sapa tours: always visibly separated from the vehicle section. */
body.home .eco-home-tours{
  display:block!important;
  background:#fff!important;
  border-top:1px solid #edf0f2!important;
}
body.home .eco-home-tour-grid{
  margin-top:0!important;
}
body.home .eco-home-tour-card{
  display:block!important;
  min-height:390px!important;
}
body.home .eco-home-tour-img{
  height:215px!important;
}
body.home .eco-home-tour-meta span{
  font-size:13px!important;
}
body.home .eco-home-tour-price small{
  font-size:12px!important;
}
body.home .eco-home-tour-price strong{
  font-size:23px!important;
}

/* Consistent vertical alternation and no giant dead space. */
body.home .eco-home-why,
body.home .eco-home-how,
body.home .eco-home-faq{
  background:#f7f8f8!important;
}
body.home .eco-home-compare,
body.home .eco-home-reviews,
body.home .eco-home-tours{
  background:#fff!important;
}

@media(max-width:767px){
  body.home .eco-home-tours,
  body.home .eco-home-why,
  body.home .eco-home-compare,
  body.home .eco-home-how,
  body.home .eco-home-reviews,
  body.home .eco-home-faq{
    padding:42px 0!important;
  }

  body.home .eco-home-tours>.page-wrap,
  body.home .eco-home-why>.page-wrap,
  body.home .eco-home-compare>.page-wrap,
  body.home .eco-home-how>.page-wrap,
  body.home .eco-home-reviews>.page-wrap,
  body.home .eco-home-faq>.page-wrap{
    padding-left:15px!important;
    padding-right:15px!important;
  }

  body.home .eco-home-tours .sec-title,
  body.home .eco-home-why .sec-title,
  body.home .eco-home-compare .sec-title,
  body.home .eco-home-how .sec-title,
  body.home .eco-home-reviews .sec-title,
  body.home .eco-home-faq .sec-title{
    font-size:25px!important;
  }

  body.home .eco-home-tours .sec-sub,
  body.home .eco-home-why .sec-sub,
  body.home .eco-home-compare .sec-sub,
  body.home .eco-home-how .sec-sub,
  body.home .eco-home-reviews .sec-sub,
  body.home .eco-home-faq .sec-sub{
    font-size:15px!important;
  }

  body.home .eco-home-tour-card{min-height:0!important}
  body.home .eco-home-tour-img{height:205px!important}
}


/* =========================================================
   v2.0.4 — PROFESSIONAL LOWER-HOMEPAGE REDESIGN
   Remove dashboard-looking cards and duplicated feature blocks.
   Keep the page editorial, premium, and conversion-first.
   ========================================================= */

body.home .eco-home-tours,
body.home .eco-home-decision,
body.home .eco-home-booking-band,
body.home .eco-home-reviews,
body.home .eco-home-faq{
  font-family:var(--eco-font)!important;
}

body.home .eco-home-tours>.page-wrap,
body.home .eco-home-decision>.page-wrap,
body.home .eco-home-booking-band>.page-wrap,
body.home .eco-home-reviews>.page-wrap,
body.home .eco-home-faq>.page-wrap{
  max-width:1180px!important;
  width:calc(100% - 44px)!important;
  margin:0 auto!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* ---------- Shared professional heading treatment ---------- */
body.home .eco-home-section-head,
body.home .eco-home-reviews .sec-head,
body.home .eco-home-faq .sec-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:28px!important;
  max-width:none!important;
  width:100%!important;
  margin:0 0 28px!important;
}
body.home .eco-home-section-head>div,
body.home .eco-home-reviews .sec-head,
body.home .eco-home-faq .sec-head{
  min-width:0;
}
body.home .eco-home-section-head h2,
body.home .eco-home-decision h2,
body.home .eco-home-booking-band h2,
body.home .eco-home-reviews .sec-title,
body.home .eco-home-faq .sec-title{
  margin:0 0 8px!important;
  color:#3f5261!important;
  font-size:30px!important;
  line-height:1.2!important;
  font-weight:700!important;
  letter-spacing:-.02em!important;
}
body.home .eco-home-section-head p,
body.home .eco-home-decision p,
body.home .eco-home-booking-band p,
body.home .eco-home-reviews .sec-sub,
body.home .eco-home-faq .sec-sub{
  margin:0!important;
  color:#62727f!important;
  font-size:15.5px!important;
  line-height:1.65!important;
  font-weight:400!important;
}
body.home .eco-home-section-head p{max-width:720px!important}
body.home .eco-home-kicker{
  margin:0 0 7px!important;
  color:#87939c!important;
  font-size:11px!important;
  line-height:1.25!important;
  font-weight:700!important;
  letter-spacing:.075em!important;
  text-transform:uppercase!important;
}
body.home .eco-home-head-link{
  flex:0 0 auto;
  margin-bottom:6px;
  color:#075fbd!important;
  font-size:14px!important;
  font-weight:600!important;
  text-decoration:none!important;
}
body.home .eco-home-head-link:hover{text-decoration:underline!important;text-underline-offset:3px!important}

/* ---------- Featured Sapa Tours: premium product cards ---------- */
body.home .eco-home-tours{
  padding:64px 0!important;
  background:#fff!important;
  border-top:1px solid #edf0f2!important;
}
body.home .eco-home-tour-grid--premium{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:20px!important;
  margin:0!important;
}
body.home .eco-home-tour-card--premium{
  min-height:0!important;
  overflow:hidden!important;
  border:1px solid #dfe5e9!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(32,48,60,.055)!important;
  transition:transform .18s ease,box-shadow .18s ease!important;
}
body.home .eco-home-tour-card--premium:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 14px 34px rgba(32,48,60,.10)!important;
}
body.home .eco-home-tour-card--premium .eco-home-tour-img{
  position:relative!important;
  display:block!important;
  height:220px!important;
  overflow:hidden!important;
  background:#eef2f4!important;
}
body.home .eco-home-tour-card--premium .eco-home-tour-img img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
body.home .eco-home-tour-badge{
  position:absolute!important;
  left:14px!important;
  top:14px!important;
  z-index:2!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:28px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.94)!important;
  color:#405563!important;
  font-size:11.5px!important;
  font-weight:700!important;
  box-shadow:0 2px 9px rgba(0,0,0,.10)!important;
}
body.home .eco-home-tour-card--premium .eco-home-tour-body{
  padding:18px 18px 17px!important;
}
body.home .eco-home-tour-eyebrow{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  flex-wrap:wrap!important;
  margin-bottom:9px!important;
}
body.home .eco-home-tour-eyebrow span{
  color:#7a8791!important;
  font-size:12px!important;
  line-height:1.35!important;
  font-weight:500!important;
}
body.home .eco-home-tour-eyebrow span+span::before{
  content:"·";
  margin-right:7px;
  color:#b3bcc3!important;
}
body.home .eco-home-tour-card--premium h3{
  min-height:52px!important;
  margin:0 0 16px!important;
  color:#405563!important;
  font-size:19px!important;
  line-height:1.36!important;
  font-weight:650!important;
  letter-spacing:-.012em!important;
}
body.home .eco-home-tour-card--premium h3 a{
  color:inherit!important;
  text-decoration:none!important;
}
body.home .eco-home-tour-card--premium h3 a:hover{color:#075fbd!important}
body.home .eco-home-tour-card--premium .eco-home-tour-bottom{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  min-height:54px!important;
  padding-top:15px!important;
  border-top:1px solid #edf0f2!important;
}
body.home .eco-home-tour-price{
  display:flex!important;
  align-items:baseline!important;
  gap:3px!important;
  flex-wrap:wrap!important;
}
body.home .eco-home-tour-price small{
  width:100%!important;
  color:#87939c!important;
  font-size:11px!important;
  font-weight:500!important;
}
body.home .eco-home-tour-price strong{
  color:#ed1c24!important;
  font-size:24px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
}
body.home .eco-home-tour-price span{
  color:#7b8790!important;
  font-size:11px!important;
  font-weight:400!important;
}
body.home .eco-home-tour-cta{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:40px!important;
  padding:0 14px!important;
  border:1px solid #ed1c24!important;
  border-radius:8px!important;
  background:#ed1c24!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:700!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
body.home .eco-home-tour-cta:hover{
  background:#c9141b!important;
  border-color:#c9141b!important;
}

/* Concierge = useful conversion, not another feature grid. */
body.home .eco-home-concierge{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
  margin-top:22px!important;
  padding:20px 22px!important;
  border:1px solid #dde4e8!important;
  border-radius:12px!important;
  background:#f7f9fa!important;
}
body.home .eco-home-concierge>div:first-child{
  min-width:0!important;
}
body.home .eco-home-concierge strong{
  display:block!important;
  margin-bottom:3px!important;
  color:#465967!important;
  font-size:16px!important;
  line-height:1.35!important;
  font-weight:650!important;
}
body.home .eco-home-concierge span{
  display:block!important;
  color:#697985!important;
  font-size:13.5px!important;
  line-height:1.55!important;
}
body.home .eco-home-concierge-actions{
  display:flex!important;
  gap:9px!important;
  flex:0 0 auto!important;
}
body.home .eco-home-wa,
body.home .eco-home-outline{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:0 15px!important;
  border-radius:8px!important;
  font-size:13px!important;
  font-weight:700!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
body.home .eco-home-wa{
  border:1px solid #25d366!important;
  background:#25d366!important;
  color:#fff!important;
}
body.home .eco-home-outline{
  border:1px solid #cfd8de!important;
  background:#fff!important;
  color:#4c6070!important;
}

/* ---------- Remove the old Why-card section entirely ---------- */
body.home .eco-home-why{display:none!important}

/* ---------- SEO comparison, editorial instead of dashboard table ---------- */
body.home .eco-home-decision{
  padding:54px 0!important;
  background:#f7f8f8!important;
  border-top:1px solid #edf0f2!important;
  border-bottom:1px solid #edf0f2!important;
}
body.home .eco-home-decision>.page-wrap{
  display:grid!important;
  grid-template-columns:minmax(0,1.35fr) minmax(360px,.85fr)!important;
  align-items:center!important;
  gap:54px!important;
}
body.home .eco-home-decision__copy p{
  max-width:690px!important;
}
body.home .eco-home-decision__copy a{
  display:inline-block!important;
  margin-top:14px!important;
  color:#075fbd!important;
  font-size:14px!important;
  font-weight:600!important;
  text-decoration:none!important;
}
body.home .eco-home-decision__copy a:hover{text-decoration:underline!important;text-underline-offset:3px!important}
body.home .eco-home-decision__facts{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
  border-top:1px solid #dbe2e6!important;
  border-bottom:1px solid #dbe2e6!important;
}
body.home .eco-home-decision__facts>div{
  display:grid!important;
  grid-template-columns:120px minmax(0,1fr)!important;
  gap:18px!important;
  align-items:center!important;
  min-height:58px!important;
  padding:11px 0!important;
  border-bottom:1px solid #e2e7ea!important;
}
body.home .eco-home-decision__facts>div:last-child{border-bottom:0!important}
body.home .eco-home-decision__facts strong{
  color:#465967!important;
  font-size:15px!important;
  font-weight:700!important;
}
body.home .eco-home-decision__facts span{
  color:#6d7c87!important;
  font-size:13.5px!important;
  line-height:1.45!important;
}

/* ---------- Booking band: serious, compact, high-conversion ---------- */
body.home .eco-home-booking-band{
  padding:34px 0!important;
  background:#172a35!important;
}
body.home .eco-home-booking-band>.page-wrap{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:28px!important;
}
body.home .eco-home-booking-band .eco-home-kicker{
  color:rgba(255,255,255,.58)!important;
}
body.home .eco-home-booking-band h2{
  margin:0 0 6px!important;
  color:#fff!important;
  font-size:27px!important;
  line-height:1.2!important;
  font-weight:700!important;
}
body.home .eco-home-booking-band p{
  color:rgba(255,255,255,.72)!important;
  font-size:14px!important;
}
body.home .eco-home-booking-band p strong{
  color:#fff!important;
  font-weight:650!important;
}
body.home .eco-home-booking-band__actions{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  flex:0 0 auto!important;
}
body.home .eco-home-booking-band .eco-home-primary,
body.home .eco-home-booking-band .eco-home-wa{
  min-height:44px!important;
  padding:0 17px!important;
  border-radius:8px!important;
  font-size:13.5px!important;
  font-weight:700!important;
}

/* ---------- Reviews / FAQ typography stays premium ---------- */
body.home .eco-home-reviews{
  padding:58px 0!important;
  background:#fff!important;
}
body.home .eco-home-faq{
  padding:58px 0 64px!important;
  background:#f7f8f8!important;
}
body.home .eco-home-reviews .sec-head,
body.home .eco-home-faq .sec-head{
  display:block!important;
  max-width:760px!important;
  margin:0 0 24px!important;
}
body.home .eco-home-review-card{
  border-radius:12px!important;
  box-shadow:none!important;
}
body.home .eco-home-review-fallback{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
  min-height:74px!important;
  padding:17px 20px!important;
  border:1px solid #dde4e8!important;
  border-radius:10px!important;
  background:#f8fafb!important;
}
body.home .eco-home-faq .faq-q{
  min-height:60px!important;
  padding:17px 2px!important;
  border:0!important;
}
body.home .eco-home-faq .faq-icon{
  background:#fff!important;
}

@media(max-width:900px){
  body.home .eco-home-tour-grid--premium{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.home .eco-home-decision>.page-wrap{
    grid-template-columns:1fr!important;
    gap:28px!important;
  }
  body.home .eco-home-concierge{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  body.home .eco-home-concierge-actions{flex-wrap:wrap!important}
}

@media(max-width:680px){
  body.home .eco-home-tours>.page-wrap,
  body.home .eco-home-decision>.page-wrap,
  body.home .eco-home-booking-band>.page-wrap,
  body.home .eco-home-reviews>.page-wrap,
  body.home .eco-home-faq>.page-wrap{
    width:calc(100% - 30px)!important;
  }
  body.home .eco-home-section-head{
    display:block!important;
  }
  body.home .eco-home-section-head h2,
  body.home .eco-home-decision h2,
  body.home .eco-home-reviews .sec-title,
  body.home .eco-home-faq .sec-title{
    font-size:25px!important;
  }
  body.home .eco-home-head-link{
    display:inline-block!important;
    margin-top:12px!important;
  }
  body.home .eco-home-tour-grid--premium{
    grid-template-columns:1fr!important;
  }
  body.home .eco-home-tour-card--premium .eco-home-tour-img{
    height:220px!important;
  }
  body.home .eco-home-tour-card--premium h3{
    min-height:0!important;
  }
  body.home .eco-home-concierge-actions{
    width:100%!important;
  }
  body.home .eco-home-wa,
  body.home .eco-home-outline{
    flex:1 1 140px!important;
  }
  body.home .eco-home-booking-band>.page-wrap{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  body.home .eco-home-booking-band__actions{
    width:100%!important;
  }
  body.home .eco-home-booking-band .eco-home-primary,
  body.home .eco-home-booking-band .eco-home-wa{
    flex:1 1 0!important;
  }
}


/* =========================================================
   v2.1.0 — CLEAN LOWER HOMEPAGE
   Complete redesign from the end of Vehicle onward.
   No dashboard cards, no repeated Why/Comparison modules.
   ========================================================= */

body.home{
  --eco-v21-red:#ed1c24;
  --eco-v21-red-dark:#c9141b;
  --eco-v21-blue:#075fbd;
  --eco-v21-ink:#3f5261;
  --eco-v21-copy:#637480;
  --eco-v21-muted:#87939c;
  --eco-v21-border:#dfe5e9;
  --eco-v21-soft:#f7f9fa;
  --eco-v21-dark:#152934;
}

body.home .eco-v21-wrap{
  width:calc(100% - 44px)!important;
  max-width:1180px!important;
  margin:0 auto!important;
  padding:0!important;
  box-sizing:border-box!important;
}

body.home .eco-v21-heading{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:28px!important;
  margin:0 0 26px!important;
}
body.home .eco-v21-heading>div{max-width:760px!important}
body.home .eco-v21-overline{
  display:block!important;
  margin:0 0 7px!important;
  color:var(--eco-v21-muted)!important;
  font-family:Roboto,"Helvetica Neue",Arial,sans-serif!important;
  font-size:11px!important;
  line-height:1.25!important;
  font-weight:700!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
body.home .eco-v21-heading h2,
body.home .eco-v21-cta h2,
body.home .eco-v21-faq h2{
  margin:0 0 8px!important;
  color:var(--eco-v21-ink)!important;
  font-family:Roboto,"Helvetica Neue",Arial,sans-serif!important;
  font-size:30px!important;
  line-height:1.2!important;
  font-weight:700!important;
  letter-spacing:-.02em!important;
}
body.home .eco-v21-heading p{
  margin:0!important;
  color:var(--eco-v21-copy)!important;
  font-size:15.5px!important;
  line-height:1.62!important;
  font-weight:400!important;
}
body.home .eco-v21-all{
  flex:0 0 auto!important;
  margin-bottom:5px!important;
  color:var(--eco-v21-blue)!important;
  font-size:14px!important;
  font-weight:600!important;
  text-decoration:none!important;
}
body.home .eco-v21-all:hover{text-decoration:underline!important;text-underline-offset:3px!important}

/* --- Sapa Tours --- */
body.home .eco-v21-tours{
  width:100%!important;
  padding:64px 0 58px!important;
  border-top:1px solid #edf0f2!important;
  background:#fff!important;
}
body.home .eco-v21-tour-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:20px!important;
}
body.home .eco-v21-tour-card{
  min-width:0!important;
  overflow:hidden!important;
  border:1px solid var(--eco-v21-border)!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 7px 20px rgba(25,42,54,.055)!important;
  transition:transform .18s ease,box-shadow .18s ease!important;
}
body.home .eco-v21-tour-card:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 12px 28px rgba(25,42,54,.10)!important;
}
body.home .eco-v21-tour-media{
  display:block!important;
  height:220px!important;
  overflow:hidden!important;
  background:#eef2f4!important;
}
body.home .eco-v21-tour-media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  transition:transform .25s ease!important;
}
body.home .eco-v21-tour-card:hover .eco-v21-tour-media img{transform:scale(1.025)!important}
body.home .eco-v21-tour-content{padding:18px!important}
body.home .eco-v21-tour-eyebrow{
  display:block!important;
  margin:0 0 8px!important;
  color:var(--eco-v21-muted)!important;
  font-size:11.5px!important;
  line-height:1.3!important;
  font-weight:650!important;
  letter-spacing:.055em!important;
}
body.home .eco-v21-tour-card h3{
  min-height:50px!important;
  margin:0 0 8px!important;
  font-size:19px!important;
  line-height:1.34!important;
  font-weight:650!important;
  letter-spacing:-.01em!important;
}
body.home .eco-v21-tour-card h3 a{
  color:var(--eco-v21-ink)!important;
  text-decoration:none!important;
}
body.home .eco-v21-tour-card h3 a:hover{color:var(--eco-v21-blue)!important}
body.home .eco-v21-tour-card p{
  min-height:66px!important;
  margin:0 0 16px!important;
  color:var(--eco-v21-copy)!important;
  font-size:14px!important;
  line-height:1.56!important;
  font-weight:400!important;
}
body.home .eco-v21-tour-footer{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding-top:14px!important;
  border-top:1px solid #edf0f2!important;
}
body.home .eco-v21-price small{
  display:block!important;
  color:var(--eco-v21-muted)!important;
  font-size:10.5px!important;
  line-height:1.2!important;
}
body.home .eco-v21-price strong{
  color:var(--eco-v21-red)!important;
  font-size:23px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
}
body.home .eco-v21-price span{
  color:#7d8992!important;
  font-size:10.5px!important;
}
body.home .eco-v21-tour-link{
  color:var(--eco-v21-blue)!important;
  font-size:13px!important;
  font-weight:650!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
body.home .eco-v21-tour-link:hover{text-decoration:underline!important;text-underline-offset:3px!important}

/* One useful cross-sell action, not another card grid. */
body.home .eco-v21-planner{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
  margin-top:24px!important;
  padding:19px 20px!important;
  border:1px solid var(--eco-v21-border)!important;
  border-radius:10px!important;
  background:var(--eco-v21-soft)!important;
}
body.home .eco-v21-planner-copy{min-width:0!important}
body.home .eco-v21-planner-copy strong{
  display:block!important;
  margin-bottom:3px!important;
  color:var(--eco-v21-ink)!important;
  font-size:15.5px!important;
  line-height:1.35!important;
  font-weight:650!important;
}
body.home .eco-v21-planner-copy span{
  color:#6d7d88!important;
  font-size:13.5px!important;
  line-height:1.5!important;
}
body.home .eco-v21-planner-actions{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  flex:0 0 auto!important;
}

/* Shared compact actions */
body.home .eco-v21-wa,
body.home .eco-v21-outline,
body.home .eco-v21-primary{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:0 15px!important;
  border-radius:8px!important;
  font-family:Roboto,"Helvetica Neue",Arial,sans-serif!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:700!important;
  text-decoration:none!important;
  cursor:pointer!important;
}
body.home .eco-v21-wa{
  border:1px solid #25d366!important;
  background:#25d366!important;
  color:#fff!important;
}
body.home .eco-v21-outline{
  border:1px solid #ccd6dc!important;
  background:#fff!important;
  color:#4b6070!important;
}
body.home .eco-v21-primary{
  border:1px solid var(--eco-v21-red)!important;
  background:var(--eco-v21-red)!important;
  color:#fff!important;
}
body.home .eco-v21-primary:hover{
  background:var(--eco-v21-red-dark)!important;
  border-color:var(--eco-v21-red-dark)!important;
}

/* --- Clean conversion bar --- */
body.home .eco-v21-cta{
  width:100%!important;
  padding:34px 0!important;
  background:var(--eco-v21-dark)!important;
}
body.home .eco-v21-cta-inner{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:28px!important;
}
body.home .eco-v21-cta .eco-v21-overline{color:rgba(255,255,255,.55)!important}
body.home .eco-v21-cta h2{
  color:#fff!important;
  font-size:27px!important;
}
body.home .eco-v21-cta p{
  margin:0!important;
  color:rgba(255,255,255,.72)!important;
  font-size:14px!important;
  line-height:1.5!important;
}
body.home .eco-v21-cta p strong{color:#fff!important;font-weight:650!important}
body.home .eco-v21-cta-actions{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  flex:0 0 auto!important;
}

/* --- Real reviews only --- */
body.home .eco-v21-reviews{
  width:100%!important;
  padding:58px 0!important;
  background:#fff!important;
}
body.home .eco-v21-review-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
}
body.home .eco-v21-review{
  padding:20px!important;
  border:1px solid var(--eco-v21-border)!important;
  border-radius:11px!important;
  background:#fff!important;
}
body.home .eco-v21-stars{
  margin-bottom:10px!important;
  color:#f59e0b!important;
  font-size:14px!important;
  letter-spacing:1.5px!important;
}
body.home .eco-v21-review p{
  margin:0 0 14px!important;
  color:var(--eco-v21-copy)!important;
  font-size:14px!important;
  line-height:1.62!important;
}
body.home .eco-v21-review-author strong{
  display:block!important;
  color:var(--eco-v21-ink)!important;
  font-size:13px!important;
  font-weight:650!important;
}
body.home .eco-v21-review-author span{
  color:var(--eco-v21-muted)!important;
  font-size:11.5px!important;
}
body.home .eco-v21-review-summary{
  display:flex!important;
  align-items:baseline!important;
  gap:8px!important;
  margin-top:15px!important;
  color:var(--eco-v21-copy)!important;
}
body.home .eco-v21-review-summary strong{
  color:var(--eco-v21-ink)!important;
  font-size:18px!important;
  font-weight:700!important;
}
body.home .eco-v21-review-summary span{font-size:13px!important}

/* --- FAQ: clean editorial list --- */
body.home .eco-home-faq{
  width:100%!important;
  padding:58px 0 66px!important;
  background:var(--eco-v21-soft)!important;
}
body.home .eco-home-faq>.page-wrap{
  width:calc(100% - 44px)!important;
  max-width:960px!important;
  margin:0 auto!important;
  padding:0!important;
}
body.home .eco-home-faq .sec-head{
  max-width:720px!important;
  margin:0 0 22px!important;
}
body.home .eco-home-faq .sec-title{
  margin:0 0 8px!important;
  color:var(--eco-v21-ink)!important;
  font-size:29px!important;
  line-height:1.2!important;
  font-weight:700!important;
  letter-spacing:-.02em!important;
}
body.home .eco-home-faq .sec-sub{
  margin:0!important;
  color:var(--eco-v21-copy)!important;
  font-size:15px!important;
  line-height:1.6!important;
}
body.home .eco-home-faq .faq-list{
  border-top:1px solid #dce3e7!important;
}
body.home .eco-home-faq .faq-item{
  border-bottom:1px solid #dce3e7!important;
}
body.home .eco-home-faq .faq-q{
  min-height:58px!important;
  padding:16px 0!important;
  color:#4b5f6e!important;
  font-size:15.5px!important;
  line-height:1.45!important;
  font-weight:600!important;
}
body.home .eco-home-faq .faq-a-inner{
  padding:0 0 18px!important;
  color:#657582!important;
  font-size:14.5px!important;
  line-height:1.7!important;
}
body.home .eco-home-faq .faq-icon{
  width:25px!important;
  height:25px!important;
  background:#fff!important;
  border:1px solid #d4dde2!important;
  color:#607482!important;
  font-size:13px!important;
}
body.home .eco-home-faq-more{
  margin-top:17px!important;
  border:0!important;
  background:transparent!important;
  color:var(--eco-v21-blue)!important;
  font-size:13px!important;
  font-weight:600!important;
  padding:0!important;
}

/* Hide all obsolete v2.0.x custom lower-home blocks if stale cache leaves them behind. */
body.home .eco-home-why,
body.home .eco-home-decision,
body.home .eco-home-booking-band,
body.home .eco-home-compare,
body.home .eco-home-how{
  display:none!important;
}

@media(max-width:900px){
  body.home .eco-v21-tour-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.home .eco-v21-planner{align-items:flex-start!important;flex-direction:column!important}
  body.home .eco-v21-planner-actions{flex-wrap:wrap!important}
  body.home .eco-v21-review-grid{grid-template-columns:1fr!important}
}

@media(max-width:680px){
  body.home .eco-v21-wrap,
  body.home .eco-home-faq>.page-wrap{
    width:calc(100% - 30px)!important;
  }
  body.home .eco-v21-tours{padding:46px 0!important}
  body.home .eco-v21-heading{display:block!important}
  body.home .eco-v21-heading h2,
  body.home .eco-home-faq .sec-title{font-size:25px!important}
  body.home .eco-v21-all{display:inline-block!important;margin-top:11px!important}
  body.home .eco-v21-tour-grid{grid-template-columns:1fr!important}
  body.home .eco-v21-tour-media{height:220px!important}
  body.home .eco-v21-tour-card h3,
  body.home .eco-v21-tour-card p{min-height:0!important}
  body.home .eco-v21-planner-actions{width:100%!important}
  body.home .eco-v21-wa,
  body.home .eco-v21-outline{flex:1 1 140px!important}
  body.home .eco-v21-cta-inner{align-items:flex-start!important;flex-direction:column!important}
  body.home .eco-v21-cta-actions{width:100%!important}
  body.home .eco-v21-cta .eco-v21-primary,
  body.home .eco-v21-cta .eco-v21-wa{flex:1 1 0!important}
  body.home .eco-v21-reviews{padding:46px 0!important}
  body.home .eco-home-faq{padding:46px 0 54px!important}
}


/* =========================================================
   v2.1.3 — Schedule Pickup / Drop-off Alignment
   Put Pickup and Drop-off on the SAME horizontal row.
   Departure / Arrival / Duration stay on the row above.
   ========================================================= */

body.home .schedule-section .trip-card-body{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  column-gap:28px!important;
  row-gap:12px!important;
}

/* Departure / Arrival / Duration keeps full card width. */
body.home .schedule-section .trip-card-body>.trip-row:first-child{
  grid-column:1 / -1!important;
  width:100%!important;
}

/* Pickup + Drop-off are now two equal columns on one line. */
body.home .schedule-section .trip-card-body>.trip-row:nth-child(2),
body.home .schedule-section .trip-card-body>.trip-row:nth-child(3){
  grid-column:auto!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  display:block!important;
}

/* Remove old vertical gap from all rows because grid now controls spacing. */
body.home .schedule-section .trip-card-body>.trip-row{
  margin-bottom:0!important;
}

body.home .schedule-section .trip-card-body>.trip-row:nth-child(2){
  padding-right:18px!important;
  border-right:1px solid #edf0f2!important;
}

body.home .schedule-section .trip-card-body>.trip-row:nth-child(3){
  padding-left:2px!important;
}

body.home .schedule-section .trip-card-body>.trip-row:nth-child(2) .trip-label,
body.home .schedule-section .trip-card-body>.trip-row:nth-child(3) .trip-label{
  margin-bottom:4px!important;
}

body.home .schedule-section .trip-card-body>.trip-row:nth-child(2) .trip-val,
body.home .schedule-section .trip-card-body>.trip-row:nth-child(3) .trip-val{
  color:#536675!important;
  font-size:15px!important;
  line-height:1.4!important;
  font-weight:600!important;
}

/* On narrow phones keep them aligned when practical, then stack only
   when the card becomes too narrow to remain readable. */
@media(max-width:430px){
  body.home .schedule-section .trip-card-body{
    grid-template-columns:1fr!important;
  }

  body.home .schedule-section .trip-card-body>.trip-row:first-child{
    grid-column:auto!important;
  }

  body.home .schedule-section .trip-card-body>.trip-row:nth-child(2){
    padding-right:0!important;
    padding-bottom:10px!important;
    border-right:0!important;
    border-bottom:1px solid #edf0f2!important;
  }

  body.home .schedule-section .trip-card-body>.trip-row:nth-child(3){
    padding-left:0!important;
  }
}


/* =========================================================
   v2.1.4 — REAL TRIPADVISOR REVIEWS + PREMIUM FAQ
   ========================================================= */

/* Remove the dark booking CTA completely, including stale cached markup. */
body.home .eco-v21-cta,
body.home .eco-home-booking-band,
body.home #how-to-book{
  display:none!important;
}

/* ---------- Tripadvisor reviews ---------- */
body.home .eco-v214-reviews{
  width:100%!important;
  padding:64px 0!important;
  border-top:1px solid #edf0f2!important;
  background:#f8faf9!important;
  font-family:Roboto,"Helvetica Neue",Arial,sans-serif!important;
}
body.home .eco-v214-review-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:28px!important;
  margin-bottom:26px!important;
}
body.home .eco-v214-review-head>div{max-width:760px!important}
body.home .eco-v214-review-head h2{
  margin:0 0 8px!important;
  color:#3f5261!important;
  font-size:30px!important;
  line-height:1.2!important;
  font-weight:700!important;
  letter-spacing:-.02em!important;
}
body.home .eco-v214-review-head p{
  margin:0!important;
  color:#667783!important;
  font-size:15.5px!important;
  line-height:1.62!important;
  font-weight:400!important;
}
body.home .eco-v214-trip-link{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  flex:0 0 auto!important;
  margin-bottom:4px!important;
  color:#075fbd!important;
  font-size:13.5px!important;
  font-weight:650!important;
  text-decoration:none!important;
}
body.home .eco-v214-trip-link svg{
  width:16px!important;
  height:16px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
body.home .eco-v214-review-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
}
body.home .eco-v214-review-card{
  display:flex!important;
  flex-direction:column!important;
  min-height:265px!important;
  padding:22px!important;
  border:1px solid #dce4e1!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(25,42,54,.055)!important;
}
body.home .eco-v214-review-card[hidden]{
  display:none!important;
}
body.home .eco-v214-review-top{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-bottom:18px!important;
}
body.home .eco-v214-source{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  color:#526570!important;
  font-size:12.5px!important;
  font-weight:650!important;
}
body.home .eco-v214-source-mark{
  display:grid!important;
  place-items:center!important;
  width:27px!important;
  height:27px!important;
  border-radius:50%!important;
  background:#00aa6c!important;
  color:#fff!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:800!important;
}
body.home .eco-v214-review-stars{
  color:#00aa6c!important;
  font-size:13px!important;
  letter-spacing:1.5px!important;
}
body.home .eco-v214-review-text{
  flex:1 1 auto!important;
  margin:0 0 20px!important;
  color:#52636f!important;
  font-size:15px!important;
  line-height:1.7!important;
  font-weight:400!important;
}
body.home .eco-v214-review-author{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  padding-top:15px!important;
  border-top:1px solid #edf1ef!important;
}
body.home .eco-v214-avatar{
  display:grid!important;
  place-items:center!important;
  flex:0 0 36px!important;
  width:36px!important;
  height:36px!important;
  border-radius:50%!important;
  background:#eef4f1!important;
  color:#3d5a4d!important;
  font-size:13px!important;
  font-weight:750!important;
}
body.home .eco-v214-review-author strong{
  display:block!important;
  color:#405461!important;
  font-size:13.5px!important;
  line-height:1.3!important;
  font-weight:650!important;
}
body.home .eco-v214-review-author span{
  display:block!important;
  margin-top:2px!important;
  color:#89959c!important;
  font-size:11.5px!important;
  line-height:1.35!important;
}
body.home .eco-v214-review-foot{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin-top:17px!important;
  color:#76858e!important;
  font-size:12px!important;
}
body.home .eco-v214-review-foot>div{
  display:flex!important;
  align-items:baseline!important;
  gap:7px!important;
}
body.home .eco-v214-review-foot strong{
  color:#405461!important;
  font-size:16px!important;
  font-weight:700!important;
}
body.home .eco-v214-rotation-note{
  color:#8b979e!important;
  font-size:11.5px!important;
}

/* ---------- FAQ: premium 2-column accordion ---------- */
body.home .eco-v214-faq{
  width:100%!important;
  padding:66px 0 74px!important;
  background:#fff!important;
  font-family:Roboto,"Helvetica Neue",Arial,sans-serif!important;
}
body.home .eco-v214-faq-wrap{
  width:calc(100% - 44px)!important;
  max-width:1120px!important;
  margin:0 auto!important;
}
body.home .eco-v214-faq-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:30px!important;
  margin-bottom:28px!important;
}
body.home .eco-v214-faq-head>div{max-width:720px!important}
body.home .eco-v214-faq-head h2{
  margin:0 0 8px!important;
  color:#3f5261!important;
  font-size:30px!important;
  line-height:1.2!important;
  font-weight:700!important;
  letter-spacing:-.02em!important;
}
body.home .eco-v214-faq-head p{
  margin:0!important;
  color:#667783!important;
  font-size:15.5px!important;
  line-height:1.62!important;
}
body.home .eco-v214-faq-contact{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  flex:0 0 auto!important;
  color:#075fbd!important;
  font-size:13.5px!important;
  line-height:1.35!important;
  font-weight:650!important;
  text-decoration:none!important;
}
body.home .eco-v214-faq-contact span{
  margin-bottom:2px!important;
  color:#8b969e!important;
  font-size:11px!important;
  font-weight:500!important;
}
body.home .eco-v214-faq-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:start!important;
  gap:14px!important;
}
body.home .eco-v214-faq-item{
  overflow:hidden!important;
  border:1px solid #dde5e9!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 3px 12px rgba(28,45,56,.035)!important;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
body.home .eco-v214-faq-item:hover{
  border-color:#cbd7dd!important;
  box-shadow:0 8px 20px rgba(28,45,56,.06)!important;
}
body.home .eco-v214-faq-item.open{
  border-color:rgba(237,28,36,.28)!important;
  box-shadow:0 8px 22px rgba(35,50,60,.07)!important;
}
body.home .eco-v214-faq-q{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) 30px!important;
  align-items:center!important;
  gap:13px!important;
  width:100%!important;
  min-height:78px!important;
  padding:14px 15px!important;
  border:0!important;
  background:#fff!important;
  text-align:left!important;
  cursor:pointer!important;
}
body.home .eco-v214-faq-topic{
  display:grid!important;
  place-items:center!important;
  width:42px!important;
  height:42px!important;
  border-radius:10px!important;
  background:#f3f6f8!important;
  color:#597080!important;
  transition:background .18s ease,color .18s ease!important;
}
body.home .eco-v214-faq-item.open .eco-v214-faq-topic{
  background:rgba(237,28,36,.07)!important;
  color:#d91a22!important;
}
body.home .eco-v214-faq-topic svg{
  width:20px!important;
  height:20px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
body.home .eco-v214-faq-question{
  color:#485d6c!important;
  font-size:15px!important;
  line-height:1.43!important;
  font-weight:600!important;
}
body.home .eco-v214-faq-toggle{
  display:grid!important;
  place-items:center!important;
  width:30px!important;
  height:30px!important;
  border:1px solid #d8e1e6!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#73848f!important;
}
body.home .eco-v214-faq-toggle svg{
  width:16px!important;
  height:16px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  transition:transform .18s ease!important;
}
body.home .eco-v214-faq-item.open .eco-v214-faq-toggle{
  border-color:rgba(237,28,36,.24)!important;
  color:#d91a22!important;
}
body.home .eco-v214-faq-item.open .eco-v214-faq-toggle svg{
  transform:rotate(180deg)!important;
}
body.home .eco-v214-faq-a{
  background:#fff!important;
}
body.home .eco-v214-faq-answer{
  margin:0 15px 0 70px!important;
  padding:0 0 18px!important;
  color:#657681!important;
  font-size:14px!important;
  line-height:1.68!important;
}
body.home .eco-v214-faq-answer strong{
  color:#435865!important;
  font-weight:650!important;
}
body.home .eco-v214-faq-bottom{
  display:flex!important;
  justify-content:center!important;
  margin-top:20px!important;
}
body.home .eco-v214-faq-more{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  min-height:40px!important;
  margin:0!important;
  padding:0 13px!important;
  border:1px solid #d5dfe4!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#075fbd!important;
  font-size:13px!important;
  font-weight:650!important;
  cursor:pointer!important;
}
body.home .eco-v214-faq-more svg{
  width:15px!important;
  height:15px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
body.home .eco-v214-faq.is-expanded .eco-v214-faq-more svg{
  transform:rotate(180deg)!important;
}

/* Override old raw FAQ visual rules. */
body.home .eco-v214-faq .faq-list{
  border:0!important;
}
body.home .eco-v214-faq .faq-item{
  border-bottom:0!important;
}
body.home .eco-v214-faq .faq-q{
  font-family:Roboto,"Helvetica Neue",Arial,sans-serif!important;
}

/* Mobile */
@media(max-width:900px){
  body.home .eco-v214-review-grid{
    grid-template-columns:1fr!important;
  }
  body.home .eco-v214-review-card{
    min-height:0!important;
  }
  body.home .eco-v214-faq-grid{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:680px){
  body.home .eco-v214-reviews{
    padding:48px 0!important;
  }
  body.home .eco-v214-review-head,
  body.home .eco-v214-faq-head{
    display:block!important;
  }
  body.home .eco-v214-review-head h2,
  body.home .eco-v214-faq-head h2{
    font-size:25px!important;
  }
  body.home .eco-v214-trip-link,
  body.home .eco-v214-faq-contact{
    display:inline-flex!important;
    margin-top:13px!important;
    align-items:flex-start!important;
  }
  body.home .eco-v214-faq{
    padding:50px 0 58px!important;
  }
  body.home .eco-v214-faq-wrap{
    width:calc(100% - 30px)!important;
  }
  body.home .eco-v214-faq-q{
    grid-template-columns:38px minmax(0,1fr) 28px!important;
    gap:11px!important;
    min-height:72px!important;
    padding:12px!important;
  }
  body.home .eco-v214-faq-topic{
    width:38px!important;
    height:38px!important;
  }
  body.home .eco-v214-faq-question{
    font-size:14.5px!important;
  }
  body.home .eco-v214-faq-answer{
    margin-left:61px!important;
    margin-right:12px!important;
    font-size:13.8px!important;
  }
  body.home .eco-v214-review-foot{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
}


/* =========================================================
   v2.1.5 — PREMIUM REVIEWS + EDITORIAL FAQ
   Final visual polish for the two lower-homepage sections.
   ========================================================= */

/* ---------- REVIEWS: premium editorial cards ---------- */
body.home .eco-v214-reviews{
  position:relative!important;
  padding:72px 0 68px!important;
  background:
    radial-gradient(circle at 10% 0%,rgba(0,170,108,.045),transparent 28%),
    #f7f9f8!important;
  border-top:1px solid #e9efec!important;
}

body.home .eco-v214-reviews .eco-v21-wrap{
  width:calc(100% - 48px)!important;
  max-width:1180px!important;
}

body.home .eco-v214-review-head{
  align-items:flex-start!important;
  margin-bottom:30px!important;
}

body.home .eco-v214-review-head>div{
  max-width:720px!important;
}

body.home .eco-v214-review-head .eco-v21-overline{
  margin-bottom:8px!important;
  color:#7d8c87!important;
  font-size:11px!important;
  font-weight:750!important;
  letter-spacing:.10em!important;
}

body.home .eco-v214-review-head h2{
  margin-bottom:9px!important;
  color:#344955!important;
  font-size:32px!important;
  line-height:1.18!important;
  font-weight:700!important;
  letter-spacing:-.026em!important;
}

body.home .eco-v214-review-head p{
  max-width:690px!important;
  color:#657680!important;
  font-size:15.5px!important;
  line-height:1.68!important;
}

body.home .eco-v214-trip-link{
  margin-top:20px!important;
  margin-bottom:0!important;
  padding:9px 0!important;
  color:#075fbd!important;
  font-size:13.5px!important;
  font-weight:650!important;
}

body.home .eco-v214-review-grid{
  gap:20px!important;
}

body.home .eco-v214-review-card{
  position:relative!important;
  min-height:305px!important;
  padding:24px 24px 22px!important;
  border:1px solid #dfe7e3!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 10px 28px rgba(25,44,38,.055)!important;
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease!important;
}

body.home .eco-v214-review-card::before{
  content:"“"!important;
  position:absolute!important;
  right:22px!important;
  top:11px!important;
  color:#d9e8e1!important;
  font-family:Georgia,serif!important;
  font-size:58px!important;
  line-height:1!important;
  font-weight:700!important;
  pointer-events:none!important;
}

body.home .eco-v214-review-card:hover{
  transform:translateY(-3px)!important;
  border-color:#ccdcd4!important;
  box-shadow:0 16px 36px rgba(25,44,38,.085)!important;
}

body.home .eco-v214-review-top{
  position:relative!important;
  z-index:1!important;
  margin-bottom:20px!important;
}

body.home .eco-v214-source{
  gap:9px!important;
  color:#50636d!important;
  font-size:12.5px!important;
  font-weight:650!important;
}

body.home .eco-v214-source-mark{
  position:relative!important;
  display:block!important;
  width:30px!important;
  height:30px!important;
  border-radius:50%!important;
  background:#00aa6c!important;
  box-shadow:0 3px 8px rgba(0,170,108,.18)!important;
}

body.home .eco-v214-source-mark>span{
  position:absolute!important;
  top:9px!important;
  width:7px!important;
  height:7px!important;
  border:2px solid #fff!important;
  border-radius:50%!important;
  box-sizing:border-box!important;
}

body.home .eco-v214-source-mark>span:first-child{left:6px!important}
body.home .eco-v214-source-mark>span:last-child{right:6px!important}

body.home .eco-v214-source-mark::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  bottom:5px!important;
  width:8px!important;
  height:3px!important;
  border-bottom:2px solid #fff!important;
  border-radius:50%!important;
  transform:translateX(-50%)!important;
}

body.home .eco-v214-review-stars{
  padding-right:42px!important;
  color:#00aa6c!important;
  font-size:13px!important;
  letter-spacing:1.8px!important;
}

body.home .eco-v214-review-text{
  position:relative!important;
  z-index:1!important;
  margin-bottom:24px!important;
  color:#455a66!important;
  font-size:15.5px!important;
  line-height:1.76!important;
}

body.home .eco-v214-review-author{
  margin-top:auto!important;
  padding-top:17px!important;
  border-top:1px solid #edf2ef!important;
}

body.home .eco-v214-avatar{
  flex-basis:40px!important;
  width:40px!important;
  height:40px!important;
  border:1px solid #dce7e1!important;
  background:#f1f6f3!important;
  color:#496359!important;
  font-size:13.5px!important;
}

body.home .eco-v214-review-author strong{
  color:#394f5c!important;
  font-size:13.5px!important;
  font-weight:700!important;
}

body.home .eco-v214-review-author span{
  margin-top:3px!important;
  color:#8a969e!important;
  font-size:11.5px!important;
}

body.home .eco-v214-review-foot{
  margin-top:20px!important;
  padding-top:15px!important;
  border-top:1px solid #e8eeeb!important;
}

body.home .eco-v214-review-foot strong{
  color:#344955!important;
}

body.home .eco-v214-review-foot span{
  color:#84918f!important;
}


/* ---------- FAQ: editorial accordion, not dashboard cards ---------- */
body.home .eco-v214-faq{
  padding:72px 0 78px!important;
  background:#fff!important;
}

body.home .eco-v214-faq-wrap{
  width:calc(100% - 48px)!important;
  max-width:1040px!important;
}

body.home .eco-v214-faq-head{
  align-items:flex-start!important;
  margin-bottom:30px!important;
  padding-bottom:26px!important;
  border-bottom:1px solid #e7ecef!important;
}

body.home .eco-v214-faq-head>div{
  max-width:690px!important;
}

body.home .eco-v214-faq-head .eco-v21-overline{
  margin-bottom:8px!important;
  color:#849198!important;
  font-size:11px!important;
  font-weight:750!important;
  letter-spacing:.10em!important;
}

body.home .eco-v214-faq-head h2{
  margin-bottom:9px!important;
  color:#344955!important;
  font-size:32px!important;
  line-height:1.18!important;
  font-weight:700!important;
  letter-spacing:-.026em!important;
}

body.home .eco-v214-faq-head p{
  color:#657680!important;
  font-size:15.5px!important;
  line-height:1.68!important;
}

body.home .eco-v214-faq-contact{
  align-items:flex-start!important;
  margin-top:18px!important;
  padding:11px 14px!important;
  border:1px solid #dce5ea!important;
  border-radius:10px!important;
  background:#f8fafb!important;
  color:#075fbd!important;
  font-size:13px!important;
  transition:background .18s ease,border-color .18s ease!important;
}

body.home .eco-v214-faq-contact:hover{
  border-color:#cbd9e1!important;
  background:#f3f7f9!important;
}

body.home .eco-v214-faq-contact span{
  color:#87939b!important;
  font-size:10.5px!important;
}

body.home .eco-v214-faq-grid{
  display:block!important;
}

body.home .eco-v214-faq-item{
  position:relative!important;
  overflow:hidden!important;
  margin:0!important;
  border:0!important;
  border-bottom:1px solid #e5eaed!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
  transition:background .18s ease!important;
}

body.home .eco-v214-faq-item:first-child{
  border-top:1px solid #e5eaed!important;
}

body.home .eco-v214-faq-item:hover{
  background:#fafcfd!important;
  box-shadow:none!important;
}

body.home .eco-v214-faq-item.open{
  background:#fbfcfd!important;
  border-color:#e3e9ec!important;
  box-shadow:none!important;
}

body.home .eco-v214-faq-item.open::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  width:3px!important;
  background:#ed1c24!important;
}

body.home .eco-v214-faq-q{
  grid-template-columns:46px minmax(0,1fr) 34px!important;
  gap:14px!important;
  min-height:76px!important;
  padding:14px 10px 14px 14px!important;
  background:transparent!important;
}

body.home .eco-v214-faq-topic{
  width:42px!important;
  height:42px!important;
  border-radius:50%!important;
  background:#f3f6f8!important;
  color:#607785!important;
}

body.home .eco-v214-faq-item.open .eco-v214-faq-topic{
  background:#fff1f2!important;
  color:#d91a22!important;
}

body.home .eco-v214-faq-topic svg{
  width:19px!important;
  height:19px!important;
}

body.home .eco-v214-faq-question{
  color:#425764!important;
  font-size:15.5px!important;
  line-height:1.48!important;
  font-weight:600!important;
}

body.home .eco-v214-faq-toggle{
  width:32px!important;
  height:32px!important;
  border:0!important;
  background:#f5f8f9!important;
  color:#788892!important;
}

body.home .eco-v214-faq-item.open .eco-v214-faq-toggle{
  background:#fff1f2!important;
  color:#d91a22!important;
}

body.home .eco-v214-faq-answer{
  margin:0 48px 0 74px!important;
  padding:0 0 22px!important;
  color:#62747f!important;
  font-size:14.5px!important;
  line-height:1.76!important;
}

body.home .eco-v214-faq-bottom{
  justify-content:flex-start!important;
  margin-top:20px!important;
}

body.home .eco-v214-faq-more{
  min-height:42px!important;
  padding:0 14px!important;
  border:1px solid #d7e0e5!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#075fbd!important;
  box-shadow:0 3px 10px rgba(34,49,59,.035)!important;
}

body.home .eco-v214-faq-more:hover{
  background:#f8fafb!important;
  border-color:#c9d7df!important;
}

/* kill obsolete raw FAQ inheritance */
body.home .eco-v214-faq .faq-list,
body.home .eco-v214-faq .faq-item,
body.home .eco-v214-faq .faq-q{
  max-width:none!important;
}

/* ---------- tablet/mobile ---------- */
@media(max-width:900px){
  body.home .eco-v214-reviews .eco-v21-wrap,
  body.home .eco-v214-faq-wrap{
    width:calc(100% - 36px)!important;
  }

  body.home .eco-v214-review-card{
    min-height:0!important;
  }

  body.home .eco-v214-review-head,
  body.home .eco-v214-faq-head{
    display:block!important;
  }

  body.home .eco-v214-trip-link,
  body.home .eco-v214-faq-contact{
    display:inline-flex!important;
    margin-top:14px!important;
  }
}

@media(max-width:680px){
  body.home .eco-v214-reviews{
    padding:50px 0 54px!important;
  }

  body.home .eco-v214-review-head h2,
  body.home .eco-v214-faq-head h2{
    font-size:26px!important;
  }

  body.home .eco-v214-review-card{
    padding:20px!important;
    border-radius:14px!important;
  }

  body.home .eco-v214-review-text{
    font-size:14.7px!important;
    line-height:1.7!important;
  }

  body.home .eco-v214-faq{
    padding:52px 0 60px!important;
  }

  body.home .eco-v214-faq-wrap{
    width:calc(100% - 30px)!important;
  }

  body.home .eco-v214-faq-head{
    padding-bottom:22px!important;
  }

  body.home .eco-v214-faq-q{
    grid-template-columns:40px minmax(0,1fr) 30px!important;
    gap:11px!important;
    min-height:70px!important;
    padding:12px 4px 12px 8px!important;
  }

  body.home .eco-v214-faq-topic{
    width:38px!important;
    height:38px!important;
  }

  body.home .eco-v214-faq-question{
    font-size:14.5px!important;
  }

  body.home .eco-v214-faq-answer{
    margin-left:58px!important;
    margin-right:8px!important;
    padding-bottom:18px!important;
    font-size:13.8px!important;
  }
}


/* =========================================================
   v2.1.6 — Tripadvisor rating stars + FAQ interaction fix
   ========================================================= */

body.home .eco-v216-trip-actions{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  gap:8px!important;
  flex:0 0 auto!important;
  margin-top:10px!important;
}

body.home .eco-v216-trip-rating{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  padding:8px 10px!important;
  border:1px solid #d8e6df!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:0 3px 12px rgba(24,50,40,.045)!important;
  white-space:nowrap!important;
}

body.home .eco-v216-stars{
  display:inline-flex!important;
  align-items:center!important;
  gap:2px!important;
  color:#00aa6c!important;
}

body.home .eco-v216-stars svg{
  width:15px!important;
  height:15px!important;
  fill:currentColor!important;
  stroke:currentColor!important;
  stroke-width:1!important;
}

body.home .eco-v216-stars .eco-v216-star-partial{
  fill:url(#eco-v216-star-fill)!important;
}

body.home .eco-v216-trip-rating strong{
  color:#344955!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:750!important;
}

body.home .eco-v216-trip-rating>span:last-child{
  color:#83908f!important;
  font-size:11.5px!important;
  line-height:1!important;
  font-weight:500!important;
}

/* FAQ: old homepage CSS uses max-height:0 and its own listener.
   Explicit open state here guarantees the answer becomes visible. */
body.home .eco-v214-faq-item .eco-v214-faq-a{
  display:block!important;
  max-height:0!important;
  overflow:hidden!important;
  opacity:0!important;
  transition:max-height .28s ease,opacity .2s ease!important;
}

body.home .eco-v214-faq-item.open .eco-v214-faq-a{
  display:block!important;
  max-height:560px!important;
  overflow:visible!important;
  opacity:1!important;
}

body.home .eco-v214-faq-item.open .eco-v214-faq-a[hidden]{
  display:block!important;
}

@media(max-width:680px){
  body.home .eco-v216-trip-actions{
    align-items:flex-start!important;
    margin-top:14px!important;
  }

  body.home .eco-v216-trip-rating{
    padding:8px 9px!important;
  }
}


/* =========================================================
   v2.1.7 — Review flags/slider + stronger FAQ presentation
   ========================================================= */
body.home .eco-v217-review-toolbar{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:18px!important;
  margin:8px 0 18px!important;
}
body.home .eco-v217-review-toolbar-text{
  color:#72808f!important;
  font-size:13px!important;
  line-height:1.6!important;
}
body.home .eco-v217-review-nav{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
}
body.home .eco-v217-review-arrow{
  width:42px!important;
  height:42px!important;
  border-radius:999px!important;
  border:1px solid #d7e2db!important;
  background:#fff!important;
  color:#294858!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:0 6px 16px rgba(28,49,40,.06)!important;
  transition:all .2s ease!important;
}
body.home .eco-v217-review-arrow:hover{
  border-color:#9fb8a8!important;
  transform:translateY(-1px)!important;
}
body.home .eco-v217-review-arrow:disabled{
  opacity:.45!important;
  cursor:default!important;
  transform:none!important;
}
body.home .eco-v217-review-arrow svg{
  width:18px!important;
  height:18px!important;
  stroke:currentColor!important;
  stroke-width:2!important;
  fill:none!important;
}
body.home .eco-v217-review-pages{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
}
body.home .eco-v217-review-dot{
  width:9px!important;
  height:9px!important;
  border-radius:999px!important;
  border:0!important;
  background:#c6d5cc!important;
  padding:0!important;
  transition:all .2s ease!important;
}
body.home .eco-v217-review-dot.is-active{
  width:26px!important;
  background:#00aa6c!important;
}
body.home .eco-v214-review-grid{
  min-height:276px!important;
}
body.home .eco-v214-review-card[hidden]{
  display:none!important;
}
body.home .eco-v214-review-card{
  min-height:100%!important;
}
body.home .eco-v217-flag{
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:20px!important;
  line-height:1!important;
  background:linear-gradient(180deg,#ffffff 0%,#f0f5f2 100%)!important;
  border:1px solid #d8e6df!important;
  box-shadow:0 3px 10px rgba(36,61,49,.05)!important;
}
body.home .eco-v214-review-author strong{
  display:block!important;
}
body.home .eco-v214-review-author span{
  display:block!important;
}
body.home .eco-v214-review-card::after{
  content:''!important;
  position:absolute!important;
  inset:auto 24px 0!important;
  height:3px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#00aa6c 0%,#89d7b8 100%)!important;
  opacity:.16!important;
}

body.home .eco-v214-faq-wrap{
  background:#fff!important;
  border:1px solid #dfe8e2!important;
  border-radius:28px!important;
  box-shadow:0 24px 54px rgba(17,37,28,.05)!important;
  padding:40px 44px!important;
}
body.home .eco-v214-faq-head{
  align-items:flex-end!important;
  gap:22px!important;
  padding-bottom:24px!important;
  border-bottom:1px solid #e4ece7!important;
}
body.home .eco-v214-faq-head h2{
  font-size:46px!important;
  line-height:1.08!important;
  letter-spacing:-.03em!important;
}
body.home .eco-v214-faq-head p{
  font-size:17px!important;
  color:#6e7d89!important;
  max-width:720px!important;
}
body.home .eco-v214-faq-contact{
  align-self:flex-start!important;
  min-width:160px!important;
  padding:16px 18px!important;
  border-radius:18px!important;
  border:1px solid #d6e2dc!important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbf9 100%)!important;
  box-shadow:0 10px 22px rgba(35,58,46,.04)!important;
}
body.home .eco-v214-faq-contact span{
  font-size:12px!important;
  color:#8694a0!important;
  margin-bottom:4px!important;
}
body.home .eco-v214-faq-grid{
  gap:16px!important;
  margin-top:24px!important;
}
body.home .eco-v214-faq-item{
  border:1px solid #dde8e2!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfcfb 100%)!important;
  box-shadow:0 10px 24px rgba(30,53,41,.04)!important;
  overflow:hidden!important;
}
body.home .eco-v214-faq-item:hover{
  transform:translateY(-2px)!important;
  border-color:#c8d9cf!important;
}
body.home .eco-v214-faq-item.open{
  border-color:#b7d0c1!important;
  box-shadow:0 18px 36px rgba(27,50,38,.08)!important;
}
body.home .eco-v214-faq-q{
  align-items:center!important;
  padding:22px 24px!important;
  gap:16px!important;
}
body.home .eco-v214-faq-topic{
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  border-radius:16px!important;
  background:#f0f5f7!important;
  border:1px solid #e0e7eb!important;
  color:#64798b!important;
}
body.home .eco-v214-faq-item.open .eco-v214-faq-topic{
  background:linear-gradient(135deg,#f4fbf8 0%,#e6f5ee 100%)!important;
  border-color:#cfe6d9!important;
  color:#0c8f65!important;
}
body.home .eco-v214-faq-topic svg{
  width:20px!important;
  height:20px!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
}
body.home .eco-v214-faq-question{
  font-size:20px!important;
  line-height:1.45!important;
  color:#2e4556!important;
  font-weight:650!important;
  letter-spacing:-.015em!important;
}
body.home .eco-v214-faq-toggle{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  margin-left:auto!important;
  border:1px solid #d4dfe7!important;
  background:#fff!important;
  color:#6e8291!important;
  box-shadow:0 3px 10px rgba(26,46,36,.04)!important;
}
body.home .eco-v214-faq-item.open .eco-v214-faq-toggle{
  background:#0fa36b!important;
  border-color:#0fa36b!important;
  color:#fff!important;
}
body.home .eco-v214-faq-answer{
  padding:0 24px 24px 88px!important;
  font-size:16px!important;
  line-height:1.8!important;
  color:#61727f!important;
}
body.home .eco-v214-faq-answer strong{
  color:#2f4556!important;
}
body.home .eco-v214-faq-bottom{
  margin-top:22px!important;
}
body.home .eco-v214-faq-more{
  padding:14px 20px!important;
  border-radius:14px!important;
  font-size:14px!important;
  font-weight:700!important;
}

@media(max-width: 991px){
  body.home .eco-v217-review-toolbar,
  body.home .eco-v214-faq-head{
    flex-direction:column!important;
    align-items:flex-start!important;
  }
  body.home .eco-v214-faq-wrap{
    padding:32px 22px!important;
    border-radius:22px!important;
  }
  body.home .eco-v214-faq-head h2{
    font-size:36px!important;
  }
}
@media(max-width: 767px){
  body.home .eco-v214-review-grid{
    min-height:auto!important;
  }
  body.home .eco-v217-review-toolbar{
    margin:2px 0 14px!important;
  }
  body.home .eco-v214-faq-head h2{
    font-size:30px!important;
  }
  body.home .eco-v214-faq-question{
    font-size:18px!important;
  }
  body.home .eco-v214-faq-q{
    padding:18px 16px!important;
  }
  body.home .eco-v214-faq-answer{
    padding:0 16px 18px 16px!important;
    font-size:15px!important;
  }
  body.home .eco-v214-faq-topic{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    border-radius:14px!important;
  }
}
