/*
 * Fragrant Travel — Shared Travel Components
 * Reusable across destination, package and itinerary listing pages.
 */
:root{
  --ft-primary:#28659e; --ft-primary-dark:#1e527f; --ft-accent:#c49a58;
  --ft-ink:#17231f; --ft-muted:#69756f; --ft-surface:#f6f4ee; --ft-line:#e7e8e2;
  --ft-white:#fff; --ft-container:1200px; --ft-radius:7px;
  --ft-shadow:0 8px 28px rgba(24,46,38,.08);
  --ft-ink:var(--ft-ink); --ft-muted:var(--ft-muted); --ft-primary:var(--ft-primary);
  --ft-primary:var(--ft-primary); --ft-accent:var(--ft-accent); --ft-surface:var(--ft-surface); --ft-line:var(--ft-line);
}
*{box-sizing:border-box}
.ft-page{width:100%;overflow:hidden}
.ft-container,.ft-wrap{width:min(var(--ft-container),calc(100% - 40px));margin-inline:auto}
.ft-section{padding:88px 0}
.ft-section--compact{padding:56px 0}
.ft-section-head{max-width:760px;margin:0 auto 42px;text-align:center}
.ft-kicker{display:block;color:#a27b42;text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:800}
.ft-section-head h2{margin:12px 0 10px;color:var(--ft-ink);font:500 clamp(32px,4vw,48px)/1.12 Georgia,serif;letter-spacing:-.025em}
.ft-section-head p{margin:0;color:var(--ft-muted);font-size:15px;line-height:1.9}
.ft-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border-radius:3px;border:1px solid transparent;text-decoration:none!important;font-size:13px;font-weight:750;letter-spacing:.03em;transition:.25s ease;cursor:pointer}
.ft-btn--accent{background:var(--ft-accent);color:var(--ft-ink)!important}
.ft-btn--accent:hover{background:#d8b477}
.ft-btn--outline{border-color:rgba(255,255,255,.65);color:#fff!important;background:rgba(255,255,255,.08)}
.ft-btn--primary{background:var(--ft-primary);color:#fff!important}
.ft-btn--primary:hover{background:var(--ft-primary-dark)}
.ft-btn-gold{background:var(--ft-accent);color:var(--ft-ink)!important}
.ft-btn-glass{border:1px solid rgba(255,255,255,.65);color:#fff!important;background:rgba(255,255,255,.08)}
/*
 * Fragrant Travel - Common Package Card Styles
 * Reusable across North India, Rajasthan, Kashmir, Himachal,
 * Golden Triangle and other package listing pages.
 *
 * Theme color: #28659e
 */

:root{--ft-ink:#17231f;--ft-muted:#69756f;--ft-primary:#28659e;--ft-primary:#28659e;--ft-accent:#c49a58;--ft-surface:#f6f4ee;--ft-line:#e7e8e2}
*{box-sizing:border-box}
body{color:var(--ft-ink);background:#fff;font-family:Inter,"Segoe UI",Arial,sans-serif}
.ft-wrap{width:min(1200px,calc(100% - 40px));margin-inline:auto}
.ft-hero{position:relative;min-height:590px;display:flex;align-items:flex-end;overflow:hidden;background:#1b3029}
.ft-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%}
.ft-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,25,21,.82),rgba(9,25,21,.40) 58%,rgba(9,25,21,.08)),linear-gradient(0deg,rgba(9,25,21,.36),transparent 55%)}
.ft-hero-inner{position:relative;z-index:1;width:min(1200px,calc(100% - 40px));margin:0 auto;padding:100px 0 82px;color:#fff}
.ft-eyebrow{display:inline-flex;align-items:center;gap:10px;color:#f1d8ae;text-transform:uppercase;letter-spacing:.19em;font-size:11px;font-weight:800}
.ft-eyebrow:before{content:"";width:34px;height:1px;background:var(--ft-accent)}
.ft-hero h1{max-width:760px;margin:22px 0 18px;color:#fff;font:500 clamp(42px,6vw,76px)/1.02 Georgia,serif;letter-spacing:-.035em}
.ft-hero p{max-width:590px;margin:0;color:rgba(255,255,255,.86);font-size:17px;line-height:1.8}
.ft-hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:32px}
.ft-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border-radius:3px;text-decoration:none!important;font-size:13px;font-weight:750;letter-spacing:.03em;transition:.25s}
.ft-btn-gold{background:var(--ft-accent);color:#17231f!important}.ft-btn-gold:hover{background:#d8b477}
.ft-btn-glass{border:1px solid rgba(255,255,255,.65);color:#fff!important;background:rgba(255,255,255,.08)}
.ft-intro{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;padding:100px 0 84px}
.ft-kicker{color:#a27b42;text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:800}
.ft-intro h2,.ft-section-head h2,.ft-story h2{font:500 clamp(32px,4vw,48px)/1.12 Georgia,serif;letter-spacing:-.025em;color:var(--ft-ink);margin:15px 0 18px}
.ft-intro p,.ft-section-head p,.ft-story p{color:var(--ft-muted);font-size:15px;line-height:1.9}
.ft-intro-aside{border-left:1px solid var(--ft-line);padding:12px 0 12px 34px}
.ft-intro-aside strong{display:block;font:500 27px Georgia,serif;margin-bottom:8px;color:var(--ft-primary)}
.ft-intro-aside span{display:block;color:var(--ft-muted);line-height:1.7;font-size:14px}
.ft-highlights{background:var(--ft-surface);padding:70px 0 76px}
.ft-section-head{max-width:700px;margin:0 auto 42px;text-align:center}
.ft-section-head h2{margin:12px 0}
.ft-experience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ft-experience{position:relative;min-height:260px;padding:27px 24px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:var(--ft-primary);color:#fff}
.ft-experience:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,25,20,.86),rgba(8,25,20,.06) 80%)}
.ft-experience:nth-child(1){background:linear-gradient(135deg,#5c4936,#b68c5c)}
.ft-experience:nth-child(2){background:linear-gradient(135deg,#294c48,#8ca79b)}
.ft-experience:nth-child(3){background:linear-gradient(135deg,#344d67,#9aafba)}
.ft-experience:nth-child(4){background:linear-gradient(135deg,#745a3f,#c5a16d)}
.ft-experience>*{position:relative;z-index:1}
.ft-experience small{color:#e6c995;text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:800}
.ft-experience h3{margin:9px 0 7px;color:#fff;font:500 25px Georgia,serif}
.ft-experience p{margin:0;color:rgba(255,255,255,.78);font-size:12px;line-height:1.6}
.ft-packages{padding:100px 0 105px}
.ft-package-top{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:38px}
.ft-package-top .ft-section-head{margin:0;text-align:left}
.ft-package-top .ft-section-head h2{margin:12px 0 8px}
.ft-package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.ft-tour-card{background:#fff;border:1px solid var(--ft-line);min-width:0;transition:transform .3s,box-shadow .3s}
.ft-tour-card:hover{transform:translateY(-7px);box-shadow:0 20px 45px rgba(24,46,38,.12)}
.ft-tour-image{height:235px;position:relative;overflow:hidden;background:#e8e8e2}
.ft-tour-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.ft-tour-card:hover .ft-tour-image img{transform:scale(1.06)}
.ft-tour-index{position:absolute;left:18px;top:18px;background:#fff;color:var(--ft-primary);padding:8px 11px;font-size:10px;letter-spacing:.1em;font-weight:800}
.ft-tour-body{padding:23px 22px 22px}
.ft-tour-body h3{font:500 24px/1.18 Georgia,serif;margin:0 0 13px;color:var(--ft-ink)}
.ft-route{min-height:42px;color:var(--ft-muted);font-size:12px;line-height:1.65;margin-bottom:15px}
.ft-tour-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 0;border-top:1px solid var(--ft-line);border-bottom:1px solid var(--ft-line);font-size:12px;color:var(--ft-muted)}
.ft-tour-meta strong{color:var(--ft-primary);font-size:13px}
.ft-tour-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}
.ft-tour-actions a{font-size:12px;font-weight:800;text-decoration:none!important;color:var(--ft-primary)}
.ft-tour-actions button{border:0;background:var(--ft-primary);color:#fff;padding:12px 15px;font-size:11px;font-weight:800;cursor:pointer}
.ft-tour-actions button:hover{background:var(--ft-accent);color:#17231f}
.ft-itinerary{padding:15px 0 0;margin-top:12px;border-top:1px dashed var(--ft-line);font-size:12px;color:var(--ft-muted)}\n.itinerary-content{max-height:92px;overflow:hidden;transition:max-height .35s ease}
.ft-itinerary ul{padding-left:17px;margin:0}.ft-itinerary li{margin:0 0 7px;line-height:1.55}
.ft-itinerary .read-more{display:inline-block;margin-top:8px;color:var(--ft-primary);font-weight:800;cursor:pointer}
.ft-trust{background:var(--ft-primary);color:#fff;padding:52px 0}
.ft-trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}
.ft-trust-item{border-right:1px solid rgba(255,255,255,.2);padding-right:20px}
.ft-trust-item:last-child{border:0}
.ft-trust-item strong{display:block;color:#e7c58e;font:500 24px Georgia,serif;margin-bottom:7px}
.ft-trust-item span{font-size:12px;color:rgba(255,255,255,.75)}
.seo-content-section{background:#f7f6f1!important;padding:85px 0!important}
.seo-content-section h2,.seo-content-section h3{color:var(--ft-primary)!important;font-family:Georgia,serif}
.seo-content-section p,.seo-content-section li{color:#65716b;line-height:1.85}
@media(max-width:991px){.ft-intro{gap:30px;padding:75px 0}.ft-experience-grid{grid-template-columns:repeat(2,1fr)}.ft-package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ft-tour-image{height:215px}}
@media(max-width:640px){.ft-wrap{width:calc(100% - 30px)}.ft-hero{min-height:540px}.ft-hero-inner{width:calc(100% - 34px);padding:85px 0 58px}.ft-hero h1{font-size:44px}.ft-hero p{font-size:15px}.ft-intro{grid-template-columns:1fr;gap:22px;padding:65px 0}.ft-intro-aside{padding-left:20px}.ft-highlights,.ft-packages{padding:65px 0}.ft-experience-grid{gap:10px}.ft-experience{min-height:205px;padding:18px 15px}.ft-experience h3{font-size:21px}.ft-package-top{display:block}.ft-package-top>.ft-btn{margin-top:18px}.ft-package-grid{grid-template-columns:1fr;gap:18px}.ft-tour-image{height:235px}.ft-tour-body{padding:20px}.ft-trust-grid{grid-template-columns:repeat(2,1fr);gap:25px 16px}.ft-trust-item:nth-child(2){border:0}.ft-trust-item strong{font-size:21px}}

/* Premium itinerary timeline */
.ft-itinerary{margin-top:19px;padding-top:16px;border-top:1px solid var(--ft-line)}
.ft-itinerary-title{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}
.ft-itinerary-title span{font-size:10px;letter-spacing:.15em;font-weight:850;color:var(--ft-primary)}
.ft-itinerary-title small{font-size:10px;color:#8b948e}
.itinerary-content{max-height:0;overflow:hidden;transition:max-height .45s ease}
.itinerary-content ul{list-style:none!important;margin:0!important;padding:0 0 0 5px!important}
.itinerary-content li{position:relative;margin:0!important;padding:0 0 16px 23px!important;border-left:1px solid #d9e1d9;line-height:1.65!important;color:#64716a;font-size:12px}
.itinerary-content li:last-child{border-left-color:transparent;padding-bottom:2px!important}
.itinerary-content li:before{content:"";position:absolute;left:-4px;top:4px;width:7px;height:7px;border-radius:50%;background:var(--ft-accent);box-shadow:0 0 0 3px #f7f1e7}
.itinerary-content li strong{display:block;margin:0 0 4px;color:var(--ft-primary);font-size:11px;letter-spacing:.02em}
.ft-itinerary.is-open .itinerary-content{max-height:2200px}
.ft-itinerary .read-more{display:inline-flex;align-items:center;gap:7px;margin-top:11px;padding:9px 0;color:var(--ft-primary);font-size:11px;font-weight:850;cursor:pointer}
.ft-itinerary .read-more:after{content:"+";font-size:16px;line-height:1}
.ft-itinerary.is-open .read-more:after{content:"−"}
.ft-full-itinerary{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:8px;padding:12px 13px;background:#f5f6f1;color:var(--ft-primary)!important;text-decoration:none!important;font-size:11px;font-weight:850;border-left:2px solid var(--ft-accent);transition:background .2s}
.ft-full-itinerary:hover{background:#ecefe7;color:var(--ft-primary)!important}
.ft-tour-card{display:flex;flex-direction:column}
.ft-tour-body{display:flex;flex:1;flex-direction:column}
.ft-tour-body>.ft-itinerary{margin-top:auto}
@media(max-width:640px){.ft-itinerary-title{margin-bottom:10px}.ft-full-itinerary{padding:13px}}


/* ===== Package cards: screenshot-inspired premium layout ===== */
.ft-package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.ft-tour-card{display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid #e1e4e1;border-radius:7px;box-shadow:0 2px 10px rgba(24,46,38,.06);transition:transform .25s ease,box-shadow .25s ease}
.ft-tour-card:hover{transform:translateY(-4px);box-shadow:0 16px 35px rgba(24,46,38,.12)}
.ft-tour-image{height:235px;position:relative;overflow:hidden;background:#e9ebe7}
.ft-tour-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.ft-tour-card:hover .ft-tour-image img{transform:scale(1.035)}
.ft-card-body{display:flex;flex-direction:column;flex:1;min-width:0}
.ft-package-strip{min-height:22px;display:flex;align-items:center;gap:8px;padding:5px 10px;background:#28659e;color:#fff;font-size:9px;line-height:1;font-weight:800;letter-spacing:.025em;text-transform:uppercase}
.ft-best-badge{color:#d7b97d}
.ft-card-body>h3{margin:15px 15px 5px!important;color:#1b2521!important;font:600 18px/1.3 "Segoe UI",Arial,sans-serif!important;letter-spacing:0}
.ft-card-body>.ft-route{margin:0 15px!important;min-height:0!important;color:#68736e!important;font-size:11px!important;line-height:1.45!important}
.ft-card-info{display:flex;justify-content:space-between;align-items:center;margin:12px 15px 0;padding:11px 0;border-bottom:1px solid #e8e9e7;color:#444c48;font-size:10.5px}
.ft-card-info i{margin-right:5px;color:#666}
.ft-price{color:#099447;font-weight:700;white-space:nowrap}
.ft-amenities{display:grid;grid-template-columns:1fr 1fr;margin:0 15px;padding:8px 0 10px;border-bottom:1px solid #e8e9e7}
.ft-amenity{display:flex;align-items:center;gap:6px;padding:7px 0;color:#525b57;font-size:10px;white-space:nowrap}
.ft-amenity i{width:12px;text-align:center;color:#656d69;font-size:10px}
.ft-full-itinerary-wrap{margin:0 15px;border-bottom:1px solid #e8e9e7}
.ft-itinerary-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;background:#fff;padding:14px 0 13px;text-align:left;color:#1d2723;cursor:pointer}
.ft-itinerary-trigger>span{display:flex;flex-direction:column;gap:5px}
.ft-itinerary-trigger strong{font-size:11px;font-weight:600}
.ft-itinerary-trigger small{font-size:8.5px;color:#818985;line-height:1.35}
.ft-itinerary-trigger>i{font-size:11px;color:#1c2924;transition:transform .25s ease}
.ft-full-itinerary-wrap.is-open .ft-itinerary-trigger>i{transform:rotate(180deg)}
.ft-itinerary-panel{display:grid;grid-template-rows:0fr;overflow:hidden;transition:grid-template-rows .3s ease}
.ft-full-itinerary-wrap.is-open .ft-itinerary-panel{grid-template-rows:1fr;padding-bottom:12px}
.ft-itinerary-content{min-height:0;overflow:hidden}
.ft-itinerary-content ul{list-style:none!important;padding:0!important;margin:0!important}
.ft-itinerary-content li{position:relative;padding:0 0 9px 18px!important;margin:0!important;color:#65706b;font-size:10px;line-height:1.55;border-left:1px solid #d8ded9}
.ft-itinerary-content li:before{content:"";position:absolute;left:-3px;top:5px;width:5px;height:5px;border-radius:50%;background:#c49a58}
.ft-itinerary-content li strong{display:inline!important;color:#28659e;font-size:10px}
.ft-complete-link{display:inline-block;margin-top:5px;color:#28659e!important;font-size:10px;font-weight:700;text-decoration:none!important}
.ft-complete-link:hover{color:#a27b42!important}
.ft-card-cta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 15px;padding:13px 0 14px}
.ft-card-cta>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.ft-card-cta strong{font-size:11px;color:#202925;font-weight:600}
.ft-card-cta small{font-size:8.5px;color:#8a918d}
.ft-quote-btn{border:0;border-radius:4px;background:#28659e;color:#fff;padding:9px 12px;font-size:10px;font-weight:700;white-space:nowrap;cursor:pointer}
.ft-quote-btn:hover{background:#c49a58;color:#17231f}
@media(max-width:991px){.ft-package-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}
@media(max-width:640px){.ft-package-grid{grid-template-columns:1fr;gap:16px}.ft-tour-image{height:230px}.ft-card-body>h3{font-size:17px!important}.ft-amenities{padding-top:7px}.ft-card-cta{padding-bottom:15px}}

/* Travel website typography baseline: 16px readable body copy */
.ft-packages,
.ft-packages p,
.ft-packages li,
.ft-packages a,
.ft-packages button,
.ft-packages .ft-route,
.ft-packages .ft-tour-meta,
.ft-packages .ft-tour-actions a,
.ft-packages .ft-itinerary .read-more,
.ft-packages .ft-full-itinerary {
  font-size: 16px;
}
.ft-packages .ft-tour-meta strong { font-size: 16px; }
.ft-packages .itinerary-content li { font-size: 16px; line-height: 1.7 !important; }
.ft-packages .itinerary-content li strong { font-size: 15px; }
.ft-packages .ft-itinerary-title span { font-size: 12px; }
.ft-packages .ft-itinerary-title small { font-size: 13px; }
.ft-packages .ft-tour-index { font-size: 12px; }


/* Final package-card typography: comfortable 14–18px reading hierarchy */
.ft-packages .ft-tour-body h3 {
  font-size: 22px !important;
  line-height: 1.3 !important;
}
.ft-packages .ft-route {
  font-size: 16px !important;
  line-height: 1.55 !important;
}
.ft-packages .ft-tour-meta,
.ft-packages .ft-tour-meta strong {
  font-size: 16px !important;
}
.ft-packages .ft-tour-meta strong {
  font-weight: 700 !important;
}
.ft-packages .ft-tour-features,
.ft-packages .ft-tour-features li {
  font-size: 15px !important;
  line-height: 1.5 !important;
}
.ft-packages .ft-itinerary-title span {
  font-size: 14px !important;
  letter-spacing: .08em !important;
}
.ft-packages .ft-itinerary-title small {
  font-size: 14px !important;
}
.ft-packages .ft-itinerary .read-more {
  font-size: 16px !important;
  line-height: 1.5 !important;
}
.ft-packages .itinerary-content li {
  font-size: 15px !important;
  line-height: 1.7 !important;
}
.ft-packages .itinerary-content li strong {
  font-size: 15px !important;
}
.ft-packages .ft-full-itinerary {
  font-size: 18px !important;
  line-height: 1.4 !important;
}
.ft-packages .ft-customise-title {
  font-size: 16px !important;
  line-height: 1.4 !important;
}
.ft-packages .ft-customise-subtitle {
  font-size: 14px !important;
  line-height: 1.5 !important;
}
.ft-packages .ft-tour-actions button,
.ft-packages .ft-quote-btn {
  font-size: 16px !important;
  line-height: 1.3 !important;
}


/* Robust fallbacks for the visible package-card labels */
.ft-packages .ft-tour-body .features,
.ft-packages .ft-tour-body .features li,
.ft-packages .ft-tour-body .tour-features,
.ft-packages .ft-tour-body .tour-features li {
  font-size: 15px !important;
}
.ft-packages .ft-tour-body .customise-title,
.ft-packages .ft-tour-body .customize-title {
  font-size: 16px !important;
}
.ft-packages .ft-tour-body .customise-subtitle,
.ft-packages .ft-tour-body .customize-subtitle {
  font-size: 14px !important;
}


/* Highlight package duration */
.ft-packages .ft-tour-meta .duration,
.ft-packages .ft-tour-meta .tour-duration,
.ft-packages .ft-tour-meta .days-nights {
  font-size: 17px !important;
  font-weight: 750 !important;
  color: #28659e !important;
}
.ft-packages .ft-tour-meta .duration strong,
.ft-packages .ft-tour-meta .tour-duration strong,
.ft-packages .ft-tour-meta .days-nights strong {
  font-size: 17px !important;
  font-weight: 800 !important;
  color: #28659e !important;
}


/* Duration emphasis: Days / Nights */
.ft-packages .ft-card-info .duration {
  font-size: 17px !important;
  font-weight: 800 !important;
  color: #28659e !important;
  letter-spacing: .01em;
}
.ft-packages .ft-card-info .duration i {
  font-size: 14px !important;
  margin-right: 4px;
  color: #69756f !important;
}


/* Click anywhere on the package card to open its itinerary */
.ft-packages .ft-tour-card {
  cursor: pointer;
}
.ft-packages .ft-tour-card .ft-card-cta,
.ft-packages .ft-tour-card .ft-itinerary-trigger,
.ft-packages .ft-tour-card a,
.ft-packages .ft-tour-card button {
  cursor: pointer;
}
.ft-packages .ft-tour-card.is-itinerary-open {
  border-color: rgba(40,101,158,.35);
  box-shadow: 0 18px 42px rgba(40,101,158,.15);
}

/* =========================================================
   NORTH INDIA — DISCOVER / REVIEWS / DESTINATIONS
   ========================================================= */
.ft-discover-section{padding:88px 0 94px;background:#f7f8fa}
.ft-discover-head{max-width:850px;margin-bottom:46px}
.ft-discover-head h2{font-size:clamp(34px,4.2vw,50px);margin-bottom:16px}
.ft-discover-head p{max-width:780px;margin-inline:auto;font-size:16px;line-height:1.85}
.ft-discover-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.ft-discover-card{position:relative;display:grid;grid-template-columns:58px 1fr;gap:18px;min-height:205px;padding:28px 30px;background:#fff;border:1px solid #e5e8eb;border-radius:10px;box-shadow:0 8px 28px rgba(27,52,72,.05);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.ft-discover-card:hover{transform:translateY(-4px);border-color:rgba(40,101,158,.35);box-shadow:0 16px 34px rgba(27,52,72,.10)}
.ft-discover-number{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eef5fa;color:#28659e;font-size:13px;font-weight:800}
.ft-discover-card span{display:block;color:#28659e;font-size:11px;line-height:1.2;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.ft-discover-card h3{margin:8px 0 9px;color:#202a31;font-size:21px;line-height:1.3;font-weight:700}
.ft-discover-card p{margin:0;color:#68747c;font-size:14px;line-height:1.75}

.ft-review-strip{background:#20242c;color:#fff;padding:28px 0}
.ft-review-grid{display:grid;grid-template-columns:1.15fr 1fr 1.25fr;align-items:center;gap:0}
.ft-review-intro,.ft-review-stat{min-height:62px;padding:4px 30px;border-right:1px solid rgba(255,255,255,.13)}
.ft-review-intro{padding-left:0}
.ft-review-stat-right{border-right:0;padding-right:0}
.ft-review-intro span,.ft-review-stat small{display:block;margin-bottom:7px;color:#aebbd0;font-size:11px;line-height:1.2;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.ft-review-intro strong{display:block;color:#fff;font-size:21px;line-height:1.3;font-weight:650}
.ft-review-rating{display:flex;align-items:center;gap:14px;margin-bottom:5px}
.ft-stars{color:#ffb21a;font-size:20px;letter-spacing:2px;white-space:nowrap}
.ft-review-stat strong{color:#fff;font-size:17px;line-height:1.35;font-weight:700}
.ft-review-stat>span{display:block;color:#aeb4bd;font-size:12px;line-height:1.5}

.ft-destinations-section{padding:94px 0 100px;background:#fff}
.ft-destination-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}
.ft-destination-head h2{margin:11px 0 10px;color:#202a31;font:500 clamp(34px,4vw,48px)/1.12 Georgia,serif;letter-spacing:-.025em}
.ft-destination-head p{max-width:700px;margin:0;color:#69757d;font-size:15px;line-height:1.8}
.ft-destination-all{display:inline-flex;align-items:center;gap:9px;flex:0 0 auto;color:#28659e!important;font-size:14px;font-weight:700;text-decoration:none!important;white-space:nowrap}
.ft-destination-all span{font-size:18px;transition:transform .2s ease}
.ft-destination-all:hover span{transform:translate(3px,-3px)}
.ft-destination-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.ft-destination-card{position:relative;display:block;min-height:335px;overflow:hidden;border-radius:10px;background:#17232f;text-decoration:none!important;box-shadow:0 8px 28px rgba(27,52,72,.09)}
.ft-destination-card:nth-child(1),.ft-destination-card:nth-child(2){grid-column:span 2;min-height:390px}
.ft-destination-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .65s ease}
.ft-destination-card:hover img{transform:scale(1.06)}
.ft-destination-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,21,31,.02) 25%,rgba(9,21,31,.82) 100%)}
.ft-destination-copy{position:absolute;left:25px;right:25px;bottom:23px;color:#fff;z-index:2}
.ft-destination-copy span{display:block;margin-bottom:7px;color:#f0cf91;font-size:10px;line-height:1.2;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.ft-destination-copy h3{margin:0 0 7px;color:#fff;font:500 27px/1.15 Georgia,serif}
.ft-destination-copy small{display:block;color:rgba(255,255,255,.83);font-size:12px;line-height:1.5}
.ft-destination-card-small{min-height:300px}

.ft-discover-cta{padding:72px 0;background:#f4f7fa;border-top:1px solid #e4e9ee}
.ft-discover-cta .ft-wrap{display:flex;align-items:center;justify-content:space-between;gap:35px}
.ft-discover-cta h2{margin:10px 0 10px;color:#202a31;font:500 clamp(31px,3.5vw,44px)/1.15 Georgia,serif}
.ft-discover-cta p{max-width:700px;margin:0;color:#69757d;font-size:15px;line-height:1.8}
.ft-discover-cta .ft-btn{flex:0 0 auto;min-height:52px;font-size:14px}

@media(max-width:991px){
  .ft-review-grid{grid-template-columns:1fr 1fr}
  .ft-review-intro{grid-column:1/-1;border-right:0;border-bottom:1px solid rgba(255,255,255,.13);padding:0 0 18px;margin-bottom:18px}
  .ft-review-stat{padding-left:0}
  .ft-review-stat-right{padding-left:25px}
  .ft-destination-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ft-destination-card:nth-child(1),.ft-destination-card:nth-child(2){grid-column:span 1;min-height:335px}
  .ft-destination-card-small{min-height:280px}
  .ft-destination-head{align-items:flex-start;flex-direction:column}
}

@media(max-width:767px){
  .ft-discover-section{padding:65px 0 70px}
  .ft-discover-grid{grid-template-columns:1fr}
  .ft-discover-card{min-height:0;padding:24px 22px;grid-template-columns:48px 1fr;gap:14px}
  .ft-discover-card h3{font-size:19px}
  .ft-discover-card p{font-size:14px}
  .ft-review-grid{grid-template-columns:1fr}
  .ft-review-intro{grid-column:auto}
  .ft-review-stat,.ft-review-stat-right{padding:0 0 18px;border-right:0;border-bottom:1px solid rgba(255,255,255,.13)}
  .ft-review-stat-right{padding-top:18px;padding-bottom:0;border-bottom:0}
  .ft-destinations-section{padding:68px 0 74px}
  .ft-destination-grid{grid-template-columns:1fr}
  .ft-destination-card,.ft-destination-card:nth-child(1),.ft-destination-card:nth-child(2),.ft-destination-card-small{grid-column:auto;min-height:310px}
  .ft-destination-head h2{font-size:35px}
  .ft-destination-all{font-size:13px}
  .ft-discover-cta{padding:58px 0}
  .ft-discover-cta .ft-wrap{align-items:flex-start;flex-direction:column}
}

/* =========================================================
   Dynamic Traveller Testimonials
   ========================================================= */
.ft-testimonials-section{padding:94px 0 100px;background:#f7f8fa;border-top:1px solid #e7ebef}
.ft-testimonials-head{max-width:820px;margin:0 auto 28px;text-align:center}
.ft-testimonials-head h2{font-size:clamp(34px,4.2vw,50px);margin:10px 0 14px;color:#202a31;font:500 clamp(34px,4.2vw,50px)/1.15 Georgia,serif}
.ft-testimonials-head p{max-width:720px;margin:0 auto;color:#69757d;font-size:15px;line-height:1.8}
.ft-testimonial-summary{display:flex;align-items:center;justify-content:center;gap:22px;margin:0 auto 34px;color:#69757d;font-size:13px}
.ft-testimonial-summary>div{display:flex;align-items:center;gap:12px}
.ft-testimonial-summary strong{font-size:18px;color:#202a31}
.ft-testimonial-stars,.ft-testimonial-card-stars{color:#f5aa16;letter-spacing:2px;font-size:18px;white-space:nowrap}
.ft-testimonial-live{padding-left:22px;border-left:1px solid #d9dfe4}
.ft-testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;min-height:275px}
.ft-testimonial-card{display:flex;flex-direction:column;min-height:275px;padding:27px 27px 24px;background:#fff;border:1px solid #e2e7eb;border-radius:14px;box-shadow:0 12px 35px rgba(24,45,61,.06);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.ft-testimonial-card:hover{transform:translateY(-4px);border-color:rgba(40,101,158,.28);box-shadow:0 18px 42px rgba(24,45,61,.10)}
.ft-testimonial-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}
.ft-testimonial-card-stars{font-size:16px;letter-spacing:1px}
.ft-verified{display:inline-flex;align-items:center;gap:5px;color:#28659e;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.ft-verified:before{content:'✓';display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border-radius:50%;background:#eaf3f9;font-size:10px}
.ft-testimonial-card p{flex:1;margin:0 0 22px;color:#4e5b64;font-size:15px;line-height:1.8}
.ft-testimonial-person{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;margin-bottom:5px}
.ft-testimonial-person strong{color:#202a31;font-size:15px}
.ft-testimonial-person span{color:#8a949b;font-size:12px}
.ft-testimonial-card>small{color:#28659e;font-size:12px;font-weight:700}
.ft-testimonial-loading,.ft-testimonial-empty{grid-column:1/-1;display:flex;align-items:center;justify-content:center;min-height:220px;padding:25px;text-align:center;color:#69757d;background:#fff;border:1px dashed #d8e0e6;border-radius:14px;font-size:14px;line-height:1.7}
.ft-testimonial-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:28px}
.ft-testimonial-prev,.ft-testimonial-next{width:42px;height:42px;border:1px solid #d5dde3;border-radius:50%;background:#fff;color:#28659e;font-size:19px;line-height:1;cursor:pointer;transition:.2s ease}
.ft-testimonial-prev:hover,.ft-testimonial-next:hover{background:#28659e;color:#fff;border-color:#28659e}
.ft-testimonial-prev:disabled,.ft-testimonial-next:disabled{opacity:.45;cursor:not-allowed}
.ft-testimonial-dots{display:flex;align-items:center;justify-content:center;gap:6px}
.ft-testimonial-dot{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:#cbd4db;cursor:pointer;transition:.2s ease}
.ft-testimonial-dot.is-active{width:22px;border-radius:10px;background:#28659e}

@media(max-width:991px){
  .ft-testimonial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
  .ft-testimonials-section{padding:68px 0 74px}
  .ft-testimonial-summary{flex-wrap:wrap;gap:10px 18px;text-align:center}
  .ft-testimonial-live{width:100%;padding:0;border-left:0}
  .ft-testimonial-grid{grid-template-columns:1fr;gap:14px}
  .ft-testimonial-card{min-height:245px;padding:23px 21px}
  .ft-testimonial-card p{font-size:14px}
}

/* Traveller testimonials - final review/date treatment */
.ft-review-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;background:#eef5fa;color:#28659e;font-size:11px;line-height:1;font-weight:700;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}
.ft-testimonial-date{margin-top:8px;color:#7c8891;font-size:12px;line-height:1.4;font-weight:600}
.ft-testimonial-card small{display:block;color:#28659e;font-size:12px;line-height:1.45;font-weight:700}
@media (max-width:600px){.ft-testimonial-card-top{align-items:flex-start}.ft-review-badge{font-size:10px;padding:5px 7px}.ft-testimonial-date{font-size:11px}}


/* =========================================================
   TOP EXPERIENCES — Package Card
   Dynamic data comes from each package JSON:
   "top_experiences": ["...", "...", "...", "..."]
   ========================================================= */
.ft-tour-image-link{
  display:block;
  position:relative;
  color:inherit!important;
  text-decoration:none!important;
}
.ft-tour-image-link:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(12,27,38,.02) 50%,rgba(12,27,38,.38));
  pointer-events:none;
}
.ft-image-itinerary-badge{
  position:absolute;
  right:12px;
  bottom:12px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:4px;
  background:rgba(255,255,255,.94);
  color:#28659e;
  font-size:11px;
  font-weight:750;
  line-height:1;
  box-shadow:0 3px 12px rgba(0,0,0,.12);
  opacity:0;
  transform:translateY(4px);
  transition:opacity .2s ease,transform .2s ease;
}
.ft-tour-card:hover .ft-image-itinerary-badge,
.ft-tour-image-link:focus-visible .ft-image-itinerary-badge{
  opacity:1;
  transform:translateY(0);
}
.ft-tour-title-link{
  color:inherit!important;
  text-decoration:none!important;
}
.ft-tour-title-link:hover{
  color:#28659e!important;
}
.ft-top-experiences{
  margin:0 15px;
  padding:13px 0 14px;
  border-bottom:1px solid #e8e9e7;
}
.ft-top-experiences-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.ft-top-experiences-head span{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.ft-top-experiences-head b{
  color:#202925;
  font-size:13px;
  line-height:1.3;
  font-weight:750;
}
.ft-top-experiences-head small{
  color:#89918d;
  font-size:10px;
  line-height:1.4;
}
.ft-experience-list{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.ft-experience-item{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  padding:6px 8px;
  border:1px solid #e1e8ed;
  border-radius:4px;
  background:#f7fafc;
  color:#4d5a63;
  font-size:10.5px;
  line-height:1.35;
}
.ft-experience-item:before{
  content:"•";
  margin-right:5px;
  color:#c49a58;
  font-size:13px;
  line-height:1;
}
.ft-view-itinerary{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:10px;
  color:#28659e!important;
  font-size:12px;
  line-height:1.4;
  font-weight:750;
  text-decoration:none!important;
}
.ft-view-itinerary span{
  transition:transform .2s ease;
}
.ft-view-itinerary:hover span{
  transform:translate(3px,-2px);
}
@media(max-width:640px){
  .ft-image-itinerary-badge{
    opacity:1;
    transform:none;
    font-size:10px;
    padding:7px 9px;
  }
  .ft-top-experiences{
    padding:12px 0 13px;
  }
  .ft-experience-item{
    font-size:10px;
  }
}
