/* =========================================================
   FINAL GROUP TOUR DETAIL
   Built to visually match /assets/css/itinerary.css
   Important: no tiny body copy.
   ========================================================= */

.group-tour-page{
  --gt-ink:#10251f;
  --gt-muted:#5f6d66;
  --gt-border:#dfe2dc;
  --gt-soft:#f7f5f0;
  --gt-accent:#e6654d;
  --gt-green:#148552;
}

.group-tour-page p,
.group-tour-page li,
.group-tour-page dd,
.group-tour-page td,
.group-tour-page a{
  font-size:inherit;
}

/* hero meta */
.gt-hero-meta{
  margin-top:18px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.gt-hero-meta strong{
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.38);
  border-radius:999px;
  background:rgba(255,255,255,.10);
  color:#fff;
  font-size:14px;
  line-height:1.2;
}

/* overview commercial card */
.gt-overview .tt-trip-overview__layout{
  align-items:start;
}
.gt-booking-card{
  padding:28px;
  border:1px solid var(--gt-border);
  border-radius:18px;
  background:#f6f3ed;
  box-shadow:0 16px 35px rgba(14,35,30,.06);
}
.gt-booking-card > span{
  display:block;
  margin-bottom:8px;
  color:var(--gt-accent);
  font-size:14px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.gt-booking-card h3{
  margin:0 0 20px;
  color:var(--gt-ink);
  font-size:26px;
  line-height:1.16;
}
.gt-booking-card dl{
  margin:0;
}
.gt-booking-card dl > div{
  padding:12px 0;
  border-top:1px solid #dddeda;
  display:grid;
  grid-template-columns:100px minmax(0,1fr);
  gap:15px;
}
.gt-booking-card dt{
  color:#78837d;
  font-size:14px;
  font-weight:700;
}
.gt-booking-card dd{
  margin:0;
  color:var(--gt-ink);
  font-size:15px;
  font-weight:700;
  text-align:right;
}
.gt-booking-card__price{
  margin-top:18px;
  padding:18px 0 14px;
  border-top:1px solid #d7d9d4;
}
.gt-booking-card__price small,
.gt-booking-card__price strong,
.gt-booking-card__price span,
.gt-booking-card__single small,
.gt-booking-card__single strong{
  display:block;
}
.gt-booking-card__price small,
.gt-booking-card__single small{
  color:#78837d;
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.gt-booking-card__price strong{
  margin:4px 0;
  color:var(--gt-ink);
  font-size:27px;
  line-height:1.15;
}
.gt-booking-card__price span{
  color:var(--gt-muted);
  font-size:14px;
}
.gt-booking-card__single{
  margin-bottom:18px;
  padding:13px 15px;
  border-radius:12px;
  background:#fff;
}
.gt-booking-card__single strong{
  margin-top:4px;
  font-size:18px;
}
.gt-booking-card .tt-button{width:100%}

.gt-whatsapp-button{
  min-height:48px;
  margin-top:9px;
  padding:10px 17px;
  border:1px solid #cbe7d6;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  background:#eef9f3;
  color:#126b43;
  font-size:15px;
  font-weight:800;
  text-decoration:none;
}
.gt-whatsapp-button img{
  width:24px;
  height:24px;
  display:block;
}

/* facts */
.gt-facts{
  margin-top:42px;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  border-top:1px solid var(--gt-border);
  border-bottom:1px solid var(--gt-border);
}
.gt-facts article{
  min-height:116px;
  padding:20px 16px;
  border-right:1px solid var(--gt-border);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.gt-facts article:first-child{border-left:1px solid var(--gt-border)}
.gt-facts small,
.gt-facts strong,
.gt-facts span{display:block}
.gt-facts small{
  margin-bottom:6px;
  color:#7c8781;
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
}
.gt-facts strong{
  font-size:16px;
}
.gt-facts span{
  margin-top:4px;
  color:var(--gt-muted);
  font-size:14px;
  line-height:1.4;
}

/* highlights */
.gt-highlights{
  padding:70px 0 74px;
  background:#fff;
}
.gt-highlight-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}
.gt-highlight-grid article{
  min-height:180px;
  padding:24px;
  border:1px solid var(--gt-border);
  border-radius:16px;
  display:flex;
  gap:12px;
}
.gt-highlight-grid article > span{
  flex:0 0 28px;
  width:28px;height:28px;
  border-radius:50%;
  display:grid;place-items:center;
  background:#eaf5ef;
  color:var(--gt-green);
  font-size:15px;
  font-weight:900;
}
.gt-highlight-grid h3{
  margin:0 0 8px;
  font-size:19px;
  line-height:1.25;
}
.gt-highlight-grid p{
  margin:0;
  color:var(--gt-muted);
  font-size:15px;
  line-height:1.6;
}

/* Holi experience */
.gt-festival{
  padding:0 0 76px;
}
.gt-festival__layout{
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  border-radius:20px;
  background:#102f2b;
}
.gt-festival__image img{
  width:100%;height:100%;min-height:480px;
  object-fit:cover;display:block;
}
.gt-festival article{
  padding:44px 42px;
  align-self:center;
}
.gt-festival article > span{
  color:#efb48f;
  font-size:14px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.gt-festival h2{
  margin:8px 0 16px;
  color:#fff;
  font-size:38px;
  line-height:1.08;
  letter-spacing:-.035em;
}
.gt-festival p,
.gt-festival li,
.gt-festival small{
  color:rgba(255,255,255,.78);
  font-size:16px;
  line-height:1.65;
}
.gt-festival ul{
  margin:18px 0;
  padding-left:20px;
}
.gt-festival li{margin-bottom:8px}
.gt-festival small{
  display:block;
  padding-top:15px;
  border-top:1px solid rgba(255,255,255,.18);
  font-size:14px;
}

/* itinerary plan */
.gt-trip-plan h2{
  font-size:27px;
}
.gt-trip-plan p,
.gt-trip-plan li,
.gt-trip-plan small{
  font-size:15px;
  line-height:1.6;
}

/* hotels */
.gt-hotels{
  padding:76px 0;
  background:#fff;
}
.gt-hotel-table{
  overflow:hidden;
  border:1px solid var(--gt-border);
  border-radius:16px;
}
.gt-hotel-table__head,
.gt-hotel-row{
  display:grid;
  grid-template-columns:1fr .55fr 2fr 1.1fr;
  gap:0;
}
.gt-hotel-table__head{
  background:#102f2b;
  color:#fff;
}
.gt-hotel-table__head span{
  padding:15px 18px;
  font-size:14px;
  font-weight:800;
}
.gt-hotel-row{
  border-top:1px solid var(--gt-border);
  align-items:center;
}
.gt-hotel-row:first-of-type{border-top:0}
.gt-hotel-row > *{
  padding:18px;
  font-size:15px;
  line-height:1.45;
}
.gt-hotel-row > span > strong,
.gt-hotel-row > span > small{
  display:block;
}
.gt-hotel-row > span > small{
  margin-top:3px;
  color:var(--gt-muted);
  font-size:14px;
}
.gt-hotel-note{
  max-width:900px;
  margin:14px 0 0;
  color:var(--gt-muted);
  font-size:14px;
  line-height:1.6;
}

/* pricing */
.gt-pricing{
  padding:76px 0;
  background:#f7f5f0;
}
.gt-departure-card{
  padding:30px;
  border-radius:18px;
  display:grid;
  grid-template-columns:1.1fr 1.5fr 190px;
  gap:28px;
  align-items:center;
  background:#fff;
  border:1px solid var(--gt-border);
}
.gt-departure-card__intro > span{
  color:var(--gt-accent);
  font-size:14px;
  font-weight:800;
  text-transform:uppercase;
}
.gt-departure-card__intro h3{
  margin:6px 0 8px;
  font-size:27px;
  line-height:1.15;
}
.gt-departure-card__intro > strong{
  font-size:17px;
}
.gt-departure-card__intro p{
  margin:6px 0 0;
  color:var(--gt-muted);
  font-size:14px;
  line-height:1.5;
}
.gt-room-prices{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
}
.gt-room-prices article{
  min-height:135px;
  padding:18px;
  border:1px solid var(--gt-border);
  border-radius:13px;
  background:#faf9f6;
}
.gt-room-prices article.is-featured{
  border-color:#e2c7bd;
  background:#fff7f2;
}
.gt-room-prices small,
.gt-room-prices strong,
.gt-room-prices span{display:block}
.gt-room-prices small{
  color:#76817b;
  font-size:13px;
  font-weight:800;
}
.gt-room-prices strong{
  margin:8px 0 5px;
  font-size:22px;
  line-height:1.15;
}
.gt-room-prices span{
  color:var(--gt-muted);
  font-size:13px;
  line-height:1.4;
}
.gt-departure-card__actions .tt-button{width:100%}
.gt-group-status{
  margin-top:12px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--gt-border);
  border-bottom:1px solid var(--gt-border);
}
.gt-group-status article{
  padding:18px;
  border-right:1px solid var(--gt-border);
}
.gt-group-status article:first-child{border-left:1px solid var(--gt-border)}
.gt-group-status small,
.gt-group-status strong{display:block}
.gt-group-status small{
  margin-bottom:4px;
  color:#7c8781;
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
}
.gt-group-status strong{font-size:16px}

/* practical */
.gt-practical{
  padding:76px 0;
}
.gt-practical-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.gt-practical-grid article{
  min-height:190px;
  padding:24px;
  border:1px solid var(--gt-border);
  border-radius:15px;
}
.gt-practical-grid article > span{
  color:var(--gt-accent);
  font-size:14px;
  font-weight:800;
}
.gt-practical-grid h3{
  margin:18px 0 8px;
  font-size:19px;
}
.gt-practical-grid p{
  margin:0;
  color:var(--gt-muted);
  font-size:15px;
  line-height:1.6;
}
.gt-terms-note{
  margin-top:14px;
  padding:25px 28px;
  border-radius:15px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  background:#102f2b;
}
.gt-terms-note span{
  color:#efb48f;
  font-size:14px;
  font-weight:800;
  text-transform:uppercase;
}
.gt-terms-note h3{
  margin:5px 0;
  color:#fff;
  font-size:24px;
}
.gt-terms-note p{
  max-width:730px;
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:15px;
  line-height:1.55;
}
.gt-terms-note a{
  flex:0 0 auto;
  color:#fff;
  font-size:15px;
  font-weight:800;
  text-decoration:none;
}

/* gallery */
.gt-gallery{
  padding:76px 0;
  background:#f7f5f0;
}
.gt-gallery-grid{
  display:grid;
  grid-template-columns:1.35fr 1fr 1fr;
  grid-template-rows:240px 240px;
  gap:8px;
}
.gt-gallery-grid img{
  width:100%;height:100%;
  border-radius:14px;
  object-fit:cover;
  display:block;
}
.gt-gallery-grid img:first-child{
  grid-row:1/3;
}
.gt-gallery-grid img:nth-child(4){
  grid-column:2/4;
}

/* final */
.gt-final-contact__actions{
  min-width:210px;
}

/* tablet */
@media(max-width:991.98px){
  .gt-facts{grid-template-columns:repeat(3,1fr)}
  .gt-facts article:nth-child(n+4){border-top:1px solid var(--gt-border)}
  .gt-highlight-grid{grid-template-columns:repeat(2,1fr)}
  .gt-festival__layout{grid-template-columns:1fr}
  .gt-festival__image img{min-height:360px}
  .gt-departure-card{grid-template-columns:1fr}
  .gt-departure-card__actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .gt-departure-card__actions .gt-whatsapp-button{margin-top:0}
}

/* mobile */
@media(max-width:767.98px){
  .gt-hero-meta strong{font-size:13px}

  .gt-booking-card{
    padding:22px;
  }
  .gt-booking-card h3{font-size:23px}

  .gt-facts{grid-template-columns:repeat(2,1fr)}
  .gt-facts article{
    min-height:100px;
    padding:16px 13px;
  }
  .gt-facts article:nth-child(n+3){border-top:1px solid var(--gt-border)}

  .gt-highlights{padding:54px 0}
  .gt-highlight-grid{grid-template-columns:1fr}
  .gt-highlight-grid article{min-height:0}

  .gt-festival{padding-bottom:54px}
  .gt-festival article{padding:28px 22px}
  .gt-festival h2{font-size:30px}
  .gt-festival p,.gt-festival li{font-size:15px}

  .gt-hotels{padding:54px 0}
  .gt-hotel-table{
    border:0;
    border-radius:0;
    display:grid;
    gap:10px;
  }
  .gt-hotel-table__head{display:none}
  .gt-hotel-row{
    padding:18px;
    border:1px solid var(--gt-border);
    border-radius:14px;
    display:grid;
    grid-template-columns:1fr auto;
    gap:10px 18px;
  }
  .gt-hotel-row > *{padding:0;font-size:15px}
  .gt-hotel-row > span:nth-child(3){
    grid-column:1/-1;
  }

  .gt-pricing{padding:54px 0}
  .gt-departure-card{padding:22px}
  .gt-room-prices{grid-template-columns:1fr}
  .gt-room-prices article{min-height:0}
  .gt-group-status{grid-template-columns:repeat(2,1fr)}
  .gt-group-status article:nth-child(n+3){border-top:1px solid var(--gt-border)}

  .gt-practical{padding:54px 0}
  .gt-practical-grid{grid-template-columns:1fr}
  .gt-practical-grid article{min-height:0}
  .gt-terms-note{
    align-items:flex-start;
    flex-direction:column;
  }

  .gt-gallery{padding:54px 0}
  .gt-gallery-grid{
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto;
  }
  .gt-gallery-grid img{
    aspect-ratio:1/1;
    height:auto;
  }
  .gt-gallery-grid img:first-child,
  .gt-gallery-grid img:nth-child(4){
    grid-row:auto;
    grid-column:auto;
  }

  .gt-final-contact__actions{width:100%}
}

@media(max-width:420px){
  .gt-facts{grid-template-columns:1fr 1fr}
  .gt-group-status{grid-template-columns:1fr 1fr}
}


/* ===== Extension ===== */
.gt-extension{padding:76px 0;background:#fff}
.gt-extension__card{overflow:hidden;display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);border:1px solid var(--gt-border);border-radius:20px;background:#f7f5f0}
.gt-extension__image img{width:100%;height:100%;min-height:430px;display:block;object-fit:cover}
.gt-extension__content{padding:42px;align-self:center}
.gt-extension__content>span{color:var(--gt-accent);font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.gt-extension__content h2{margin:8px 0 7px;font-size:38px;line-height:1.08;letter-spacing:-.035em}
.gt-extension__route{margin:0 0 17px!important;color:var(--gt-ink)!important;font-weight:800}
.gt-extension__content p{max-width:650px;margin:0;color:var(--gt-muted);font-size:16px;line-height:1.7}
.gt-extension__meta{margin-top:20px;display:flex;flex-wrap:wrap;gap:8px}
.gt-extension__meta strong{padding:8px 11px;border-radius:999px;background:#fff;font-size:14px}
.gt-extension__actions{margin-top:22px;display:flex;align-items:center;flex-wrap:wrap;gap:16px}
.gt-secondary-link{color:var(--gt-ink);font-size:15px;font-weight:800;text-decoration:none}
.gt-secondary-link:hover{color:var(--gt-accent)}

/* ===== Real guest proof ===== */
.gt-proof{padding:0 0 76px;background:#fff}
.gt-proof__panel{overflow:hidden;display:grid;grid-template-columns:minmax(0,.82fr) minmax(560px,1.18fr);border-radius:20px;background:#f6f2eb}
.gt-proof__copy{padding:44px 42px;align-self:center}
.gt-proof__copy>span{color:var(--gt-accent);font-size:14px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.gt-proof__copy h2{max-width:520px;margin:10px 0 16px;font-size:42px;line-height:1.04;letter-spacing:-.04em}
.gt-proof__copy p{max-width:560px;margin:0 0 20px;color:var(--gt-muted);font-size:16px;line-height:1.7}
.gt-proof__copy a{color:var(--gt-ink);font-size:15px;font-weight:800;text-decoration:none}
.gt-proof__photos{display:grid;grid-template-columns:repeat(3,1fr);min-height:430px}
.gt-proof__photos img{width:100%;height:100%;display:block;object-fit:cover}

/* ===== Reviews ===== */
.gt-reviews{padding:76px 0;background:#f7f5f0}
.gt-reviews__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.gt-review-card{min-height:300px;padding:28px;border:1px solid var(--gt-border);border-radius:18px;display:flex;flex-direction:column;background:#fff}
.gt-review-card__top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.gt-review-stars{color:#d28a20;font-size:17px;letter-spacing:.05em}
.gt-review-card__top>span:last-child{color:#78837d;font-size:14px}
.gt-review-card h3{margin:18px 0 10px;font-size:23px;line-height:1.2}
.gt-review-card>p{margin:0;color:var(--gt-muted);font-size:16px;line-height:1.7}
.gt-review-card footer{margin-top:auto;padding-top:22px;display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.gt-review-card footer strong,.gt-review-card footer span{display:block}
.gt-review-card footer strong{font-size:15px}
.gt-review-card footer div span{margin-top:3px;color:#78837d;font-size:14px}
.gt-review-source{color:#148552;font-size:13px!important;font-weight:800}
.gt-all-reviews{display:inline-flex;margin-top:20px;color:var(--gt-ink);font-size:15px;font-weight:800;text-decoration:none}

/* ===== Similar tours ===== */
.gt-similar{padding:76px 0;background:#fff}
.gt-similar__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.gt-similar-card{overflow:hidden;display:grid;grid-template-columns:220px minmax(0,1fr);border:1px solid var(--gt-border);border-radius:18px;background:#fff}
.gt-similar-card__image{min-height:250px}
.gt-similar-card__image img{width:100%;height:100%;display:block;object-fit:cover}
.gt-similar-card__body{padding:25px}
.gt-similar-card__body>span{color:var(--gt-accent);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.gt-similar-card h3{margin:8px 0 7px;font-size:23px;line-height:1.16}
.gt-similar-card h3 a{color:var(--gt-ink);text-decoration:none}
.gt-similar-card p{margin:0;color:var(--gt-muted);font-size:14px;line-height:1.5}
.gt-similar-card__meta{margin:18px 0;display:flex;flex-wrap:wrap;gap:7px}
.gt-similar-card__meta strong{padding:7px 9px;border-radius:999px;background:#f5f3ee;font-size:13px}

@media(max-width:991.98px){
  .gt-proof__panel{grid-template-columns:1fr}
  .gt-proof__photos{min-height:320px}
  .gt-similar-card{grid-template-columns:180px minmax(0,1fr)}
}
@media(max-width:767.98px){
  .gt-extension,.gt-reviews,.gt-similar{padding:54px 0}
  .gt-extension__card{grid-template-columns:1fr}
  .gt-extension__image img{min-height:0;aspect-ratio:16/10}
  .gt-extension__content{padding:25px 20px}
  .gt-extension__content h2{font-size:30px}
  .gt-proof{padding-bottom:54px}
  .gt-proof__copy{padding:28px 22px}
  .gt-proof__copy h2{font-size:32px}
  .gt-proof__photos{min-height:0;aspect-ratio:2.4/1}
  .gt-reviews__grid,.gt-similar__grid{grid-template-columns:1fr}
  .gt-review-card{min-height:0;padding:22px}
  .gt-similar-card{grid-template-columns:130px minmax(0,1fr)}
  .gt-similar-card__image{min-height:220px}
  .gt-similar-card__body{padding:20px}
  .gt-similar-card h3{font-size:20px}
}
@media(max-width:480px){
  .gt-proof__photos{aspect-ratio:1.9/1}
  .gt-similar-card{grid-template-columns:1fr}
  .gt-similar-card__image{min-height:0;aspect-ratio:16/9}
}


/* =========================================================
   MULTIPLE DEPARTURES
   ========================================================= */
.gt-departure-dates{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
}
.gt-departure-dates article{
  min-height:122px;
  padding:16px;
  border:1px solid var(--gt-border);
  border-radius:13px;
  background:#faf9f6;
}
.gt-departure-dates small,
.gt-departure-dates strong,
.gt-departure-dates span,
.gt-departure-dates em{
  display:block;
}
.gt-departure-dates small{
  color:#7c8781;
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
}
.gt-departure-dates strong{
  margin-top:5px;
  font-size:17px;
  line-height:1.25;
}
.gt-departure-dates span{
  margin-top:3px;
  color:var(--gt-muted);
  font-size:13px;
}
.gt-departure-status{
  width:max-content;
  margin-top:11px;
  padding:5px 8px;
  border-radius:999px;
  background:#eef1ed;
  color:#56625c;
  font-size:12px;
  font-style:normal;
  font-weight:800;
}
.gt-departure-status--guaranteed{background:#e7f4ec;color:#13754a}
.gt-departure-status--open{background:#edf6f0;color:#21704d}
.gt-departure-status--few{background:#fff3da;color:#94630f}
.gt-departure-status--full{background:#f5e9e7;color:#97453b}

@media(max-width:991.98px){
  .gt-departure-dates{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:767.98px){
  .gt-departure-dates{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:420px){
  .gt-departure-dates{
    grid-template-columns:1fr;
  }
}
