/* ============================================================
   Ghumega India — 2026 Design System
   Layered on top of the existing Bootstrap 3 grid.
   Loaded AFTER css/base.css / css/style.css so it can override
   legacy rules without touching the 300+ pages still on them.
   ============================================================ */

:root{
  --gi-navy:        #0B2545;
  --gi-navy-light:  #13315C;
  --gi-coral:       #FF6B35;
  --gi-coral-dark:  #E4552A;
  --gi-teal:        #2A9D8F;
  --gi-bg:          #F7F9FB;
  --gi-white:       #FFFFFF;
  --gi-text:        #1F2937;
  --gi-text-muted:  #5B6472;
  --gi-border:      #E5E9EF;
  --gi-radius:      8px;
  --gi-radius-lg:   14px;
  --gi-shadow:      0 4px 18px rgba(11,37,69,0.08);
  --gi-shadow-lg:   0 12px 32px rgba(11,37,69,0.14);
  --gi-font:        -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.gi{ font-family: var(--gi-font); color: var(--gi-text); }
.gi *{ box-sizing: border-box; }
.gi a{ text-decoration:none; }
.gi img{ max-width:100%; }
.gi .container{ max-width:1200px; }

/* ---------- Section rhythm ---------- */
.gi-section{ padding: 56px 0; }
.gi-section-tight{ padding: 40px 0; }
.gi-section-header{ margin-bottom: 28px; }
.gi-section-header h2{
  font-size: 28px; font-weight: 700; color: var(--gi-navy); margin: 0 0 6px;
}
.gi-section-header p{ color: var(--gi-text-muted); margin:0; font-size:15px; }
.gi-section-header .gi-view-all{
  float:right; color: var(--gi-coral); font-weight:600; font-size:14px; margin-top:8px;
}
.gi-bg-alt{ background: var(--gi-bg); }

/* ---------- Top utility bar ---------- */
.gi-topbar{
  background: var(--gi-navy); color:#CBD5E1; font-size:13px; padding:6px 0;
}
.gi-topbar .container{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; }
.gi-topbar a{ color:#CBD5E1; }
.gi-topbar a:hover{ color:#fff; }
.gi-topbar .gi-topbar-contact span{ margin-right:18px; white-space:nowrap; }
.gi-topbar .gi-topbar-contact i{ margin-right:5px; }
.gi-topbar-search{ position:relative; display:inline-block; margin-left:18px; }
.gi-topbar-search-toggle{
  border:0; background:none; color:#CBD5E1; font-size:13px; cursor:pointer; padding:0; display:inline-flex; align-items:center; gap:6px;
}
.gi-topbar-search-toggle:hover{ color:#fff; }
.gi-topbar-search.open .gi-topbar-search-toggle{ color:#fff; }
.gi-topbar-search-panel{
  display:none; position:absolute; top:calc(100% + 8px); right:0; z-index:1000;
  align-items:center; width:270px; background:#fff; border:1px solid var(--gi-border);
  border-radius:999px; overflow:hidden; box-shadow: var(--gi-shadow-lg);
}
.gi-topbar-search.open .gi-topbar-search-panel{ display:flex; }
.gi-topbar-search-panel input{
  border:0; background:transparent; padding:0 4px 0 18px; font-size:13.5px; color: var(--gi-text);
  flex:1; height:40px; outline:none;
}
.gi-topbar-search-panel input::placeholder{ color: var(--gi-text-muted); }
.gi-topbar-search-panel button{
  border:0; background:transparent; color: var(--gi-navy); width:40px; height:40px; cursor:pointer; flex-shrink:0;
}
.gi-topbar-search-panel button:hover{ color: var(--gi-coral); }

/* ---------- Header / nav ---------- */
.gi-header{
  background: var(--gi-white); border-bottom:1px solid var(--gi-border);
  position: sticky; top:0; z-index: 999; box-shadow: 0 1px 0 rgba(11,37,69,0.03);
}
.gi-header .container{ display:flex; align-items:center; justify-content:space-between; padding-top:12px; padding-bottom:12px; }
.gi-logo img{ height:38px; }
.gi-nav{ display:flex; align-items:center; gap:26px; }
.gi-nav > ul{ list-style:none; display:flex; gap:26px; margin:0; padding:0; }
.gi-nav > ul > li{ position:relative; }
.gi-nav > ul > li > a{
  color: var(--gi-navy); font-weight:600; font-size:14.5px; padding:10px 0; display:inline-block;
}
.gi-nav > ul > li > a:hover{ color: var(--gi-coral); }
.gi-mega{
  display:none; position:absolute; left:0; top:100%; background:#fff; border:1px solid var(--gi-border);
  border-radius: var(--gi-radius); box-shadow: var(--gi-shadow-lg); padding:18px; min-width:520px;
  grid-template-columns: repeat(3,1fr); gap:6px 24px;
}
.gi-nav > ul > li:hover .gi-mega{ display:grid; }
.gi-mega a{ display:block; padding:5px 0; color: var(--gi-text); font-size:13.5px; }
.gi-mega a:hover{ color: var(--gi-coral); }
.gi-mega-heading{ font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--gi-text-muted); margin:10px 0 4px; }

.gi-header-actions{ display:flex; align-items:center; gap:12px; }
.gi-btn-call, .gi-btn-whatsapp{
  display:inline-flex; align-items:center; gap:7px; font-weight:600; font-size:13.5px;
  padding:9px 16px; border-radius: var(--gi-radius); white-space:nowrap;
}
.gi-btn-call{ background: var(--gi-navy); color:#fff; }
.gi-btn-call:hover{ background: var(--gi-navy-light); color:#fff; }
.gi-btn-whatsapp{ background:#25D366; color:#fff; }
.gi-btn-whatsapp:hover{ background:#1DA851; color:#fff; }
.gi-hamburger{ display:none; background:none; border:0; font-size:24px; color:var(--gi-navy); }

/* ---------- Hero ---------- */
.gi-hero{
  position:relative; color:#fff; padding:90px 0 70px; background-size:cover; background-position:center;
}
.gi-hero:before{
  content:""; position:absolute; inset:0; background: linear-gradient(180deg, rgba(11,37,69,.75), rgba(11,37,69,.55));
}
.gi-hero .container{ position:relative; z-index:1; }
.gi-hero-eyebrow{ color:#FFB199; font-weight:600; letter-spacing:.04em; font-size:14px; margin-bottom:8px; }
.gi-hero h1{ font-size:44px; font-weight:800; margin:0 0 12px; line-height:1.15; }
.gi-hero h1 span{ color: var(--gi-coral); }
.gi-hero p.gi-hero-sub{ font-size:17px; max-width:640px; color:#E3E8EF; margin-bottom:32px; }

.gi-search{
  background:#fff; border-radius: var(--gi-radius-lg); padding:8px; display:flex; gap:8px;
  max-width:640px; box-shadow: var(--gi-shadow-lg);
}
.gi-search input{
  flex:1; border:0; outline:0; padding:14px 16px; font-size:15px; border-radius: var(--gi-radius); color: var(--gi-text);
}
.gi-search button{
  border:0; background: var(--gi-coral); color:#fff; font-weight:700; padding:0 26px; border-radius: var(--gi-radius);
  font-size:15px; cursor:pointer;
}
.gi-search button:hover{ background: var(--gi-coral-dark); }

.gi-trust-strip{ display:flex; gap:34px; flex-wrap:wrap; margin-top:38px; }
.gi-trust-item{ display:flex; align-items:center; gap:9px; font-size:14px; color:#EDF1F6; }
.gi-trust-item i{ color: var(--gi-coral); font-size:17px; }

/* ---------- Category chips ---------- */
.gi-categories{ display:flex; gap:22px; overflow-x:auto; padding-bottom:6px; }
.gi-category{ text-align:center; flex:0 0 auto; width:104px; }
.gi-category .gi-cat-circle{
  width:78px; height:78px; border-radius:50%; overflow:hidden; margin:0 auto 8px; border:2px solid var(--gi-border);
}
.gi-category .gi-cat-circle img{ width:100%; height:100%; object-fit:cover; }
.gi-category span{ font-size:12.5px; font-weight:600; color: var(--gi-navy); }
.gi-category:hover .gi-cat-circle{ border-color: var(--gi-coral); }

/* ---------- Destination / package cards ---------- */
.gi-card-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap:22px; }
.gi-card{
  background:#fff; border-radius: var(--gi-radius-lg); overflow:hidden; box-shadow: var(--gi-shadow);
  transition: transform .18s ease, box-shadow .18s ease; display:flex; flex-direction:column;
}
.gi-card:hover{ transform: translateY(-4px); box-shadow: var(--gi-shadow-lg); }
.gi-card-img{ position:relative; height:190px; overflow:hidden; }
.gi-card-img img{ width:100%; height:100%; object-fit:cover; transition: transform .3s ease; }
.gi-card:hover .gi-card-img img{ transform: scale(1.06); }
.gi-card-badge{
  position:absolute; top:12px; left:12px; background: var(--gi-coral); color:#fff; font-size:11px;
  font-weight:700; padding:4px 10px; border-radius:20px; text-transform:uppercase; letter-spacing:.03em;
}
.gi-card-body{ padding:16px 18px 18px; flex:1; display:flex; flex-direction:column; }
.gi-card-body h3{ font-size:17px; font-weight:700; color: var(--gi-navy); margin:0 0 4px; }
.gi-card-body .gi-card-meta{ font-size:12.5px; color: var(--gi-text-muted); margin-bottom:10px; }
.gi-card-body p{ font-size:13.5px; color: var(--gi-text-muted); margin:0 0 14px; flex:1; }
.gi-card-price{ font-size:13px; color: var(--gi-text-muted); }
.gi-card-price strong{ font-size:18px; color: var(--gi-navy); }
.gi-card-footer{ display:flex; align-items:center; justify-content:space-between; margin-top:12px; }
.gi-card-cta{ font-size:13.5px; font-weight:700; color: var(--gi-coral); }
.gi-card-wa{
  display:inline-flex; align-items:center; gap:5px; font-size:12.5px; font-weight:600; color:#1DA851;
  border:1px solid #BFE9CE; padding:5px 10px; border-radius:20px; background:#F1FBF4;
}
.gi-card-wa:hover{ background:#E4F7EA; }

@media (max-width: 900px){ .gi-card-grid{ grid-template-columns: repeat(2,1fr); } }
@media (max-width: 560px){ .gi-card-grid{ grid-template-columns: 1fr; } }

/* ---------- Split promo band ---------- */
.gi-promo{
  background: var(--gi-navy); color:#fff; border-radius: var(--gi-radius-lg); padding:44px;
  display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap;
}
.gi-promo h3{ font-size:26px; margin:0 0 8px; }
.gi-promo p{ color:#C9D4E3; margin:0 0 18px; max-width:420px; }
.gi-promo-services{ display:grid; grid-template-columns: repeat(3,1fr); gap:18px; }
.gi-promo-services div{ text-align:center; font-size:12.5px; color:#DCE4EE; }
.gi-promo-services i{ display:block; font-size:22px; color: var(--gi-coral); margin-bottom:6px; }

/* ---------- Buttons ---------- */
.gi-btn{
  display:inline-block; padding:12px 24px; border-radius: var(--gi-radius); font-weight:700; font-size:14.5px;
}
.gi-btn-primary{ background: var(--gi-coral); color:#fff; }
.gi-btn-primary:hover{ background: var(--gi-coral-dark); color:#fff; }
.gi-btn-outline{ border:1.5px solid #fff; color:#fff; }
.gi-btn-outline:hover{ background:#fff; color: var(--gi-navy); }
.gi-btn-outline-dark{ border:1.5px solid var(--gi-navy); color: var(--gi-navy); background:transparent; }
.gi-btn-outline-dark:hover{ background: var(--gi-navy); color:#fff; }

/* ---------- Why choose / trust panel ---------- */
.gi-why-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap:20px; }
.gi-why-item{ background:#fff; border:1px solid var(--gi-border); border-radius: var(--gi-radius); padding:20px; display:flex; gap:14px; }
.gi-why-item i{ font-size:22px; color: var(--gi-coral); }
.gi-why-item h4{ margin:0 0 4px; font-size:15px; color:var(--gi-navy); }
.gi-why-item p{ margin:0; font-size:13.5px; color:var(--gi-text-muted); }
@media (max-width:900px){ .gi-why-grid{ grid-template-columns: repeat(2,1fr);} }
@media (max-width:560px){ .gi-why-grid{ grid-template-columns: 1fr;} }

/* ---------- Testimonials ---------- */
.gi-testimonial{ background:#fff; border:1px solid var(--gi-border); border-radius: var(--gi-radius-lg); padding:22px; }
.gi-testimonial .gi-stars{ color:#F5A623; font-size:13px; margin-bottom:8px; }
.gi-testimonial p{ font-size:14px; color: var(--gi-text); margin-bottom:14px; }
.gi-testimonial-author{ display:flex; align-items:center; gap:10px; font-size:13px; color: var(--gi-text-muted); }
.gi-testimonial-author strong{ color:var(--gi-navy); }

/* ---------- FAQ ---------- */
.gi-faq-item{ border-bottom:1px solid var(--gi-border); }
.gi-faq-q{
  display:flex; justify-content:space-between; align-items:center; padding:16px 4px; cursor:pointer;
  font-weight:600; color:var(--gi-navy); font-size:15px;
}
.gi-faq-a{ display:none; padding:0 4px 16px; color: var(--gi-text-muted); font-size:14px; line-height:1.6; }
.gi-faq-item.open .gi-faq-a{ display:block; }
.gi-faq-item.open .gi-faq-q i{ transform: rotate(180deg); }
.gi-faq-q i{ transition: transform .18s ease; color: var(--gi-coral); }

/* ---------- Final CTA ---------- */
.gi-final-cta{ text-align:center; padding:60px 0; }
.gi-final-cta h2{ font-size:30px; color:var(--gi-navy); margin:0 0 10px; }
.gi-final-cta p{ color:var(--gi-text-muted); max-width:520px; margin:0 auto 26px; }
.gi-final-cta .gi-btn{ margin:0 6px; }

/* ---------- Footer ---------- */
.gi-footer{ background: var(--gi-navy); color:#B7C3D4; padding:50px 0 0; }
.gi-footer h5{ color:#fff; font-size:14px; margin:0 0 14px; text-transform:uppercase; letter-spacing:.04em; }
.gi-footer ul{ list-style:none; padding:0; margin:0; }
.gi-footer li{ margin-bottom:9px; font-size:13.5px; }
.gi-footer a{ color:#B7C3D4; }
.gi-footer a:hover{ color:#fff; }
.gi-footer-grid{ display:grid; grid-template-columns: 1.4fr 1fr 1fr 1fr 1.2fr; gap:26px; }
.gi-footer-brand p{ font-size:13.5px; color:#9FADC2; line-height:1.6; }
.gi-footer-social a{
  display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:50%;
  background: rgba(255,255,255,.08); margin-right:8px;
}
.gi-footer-bottom{
  border-top:1px solid rgba(255,255,255,.1); margin-top:36px; padding:18px 0; font-size:12.5px;
  display:flex; justify-content:space-between; color:#8194AC; flex-wrap:wrap; gap:8px;
}
@media (max-width:900px){ .gi-footer-grid{ grid-template-columns: repeat(2,1fr);} }

/* ---------- WhatsApp float ---------- */
.gi-wa-float{
  position:fixed; right:20px; bottom:20px; z-index:1000; background:#25D366; color:#fff; width:56px; height:56px;
  border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:26px; box-shadow: var(--gi-shadow-lg);
}
.gi-wa-float:hover{ background:#1DA851; color:#fff; }

/* ---------- Legacy content tables (fixed-departure schedules etc.) ---------- */
.gi-table-scroll{ overflow-x:auto; -webkit-overflow-scrolling:touch; margin:0 0 16px; }
.gi-table-scroll table{ margin:0 auto; }

/* ---------- Breadcrumb ---------- */
.gi-breadcrumb{ font-size:12.5px; color: var(--gi-text-muted); padding:14px 0; }
.gi-breadcrumb a{ color: var(--gi-text-muted); }
.gi-breadcrumb a:hover{ color: var(--gi-coral); }
.gi-breadcrumb span{ margin:0 6px; }

/* ---------- Mobile ---------- */
@media (max-width: 991px){
  .gi-nav{ display:none; }
  .gi-hamburger{ display:inline-block; }
  .gi-hero h1{ font-size:30px; }
  .gi-search{ flex-direction:column; }
  .gi-search button{ padding:14px; }
  .gi-promo{ flex-direction:column; align-items:flex-start; }
  .gi-footer-grid{ grid-template-columns: 1fr 1fr; }
}
.gi-mobile-nav{
  display:none; position:fixed; inset:0; z-index:1001; background:var(--gi-navy); color:#fff; padding:20px; overflow-y:auto;
}
.gi-mobile-nav.open{ display:block; }
.gi-mobile-nav ul{ list-style:none; padding:0; }
.gi-mobile-nav a{ color:#fff; display:block; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.1); font-weight:600; }
.gi-mobile-close{ background:none; border:0; color:#fff; font-size:24px; float:right; }
.gi-mobile-search-item{ margin-top:44px; padding-bottom:6px; border-bottom:1px solid rgba(255,255,255,.1); }
.gi-mobile-search{
  display:flex; align-items:center; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.25);
  border-radius:999px; overflow:hidden; height:42px;
}
.gi-mobile-search input{
  border:0; background:transparent; padding:0 4px 0 16px; font-size:14px; color:#fff; width:100%; height:100%; outline:none;
}
.gi-mobile-search input::placeholder{ color:rgba(255,255,255,.6); }
.gi-mobile-search button{ border:0; background:transparent; color:#fff; width:42px; height:100%; cursor:pointer; flex-shrink:0; }

/* ---------- Hero "Get a Callback" overlay form ---------- */
.gi-hero-grid{ display:flex; align-items:flex-start; justify-content:space-between; gap:40px; flex-wrap:wrap; }
.gi-hero-content{ flex:1 1 480px; max-width:640px; }
.gi-hero-form{
  flex:0 0 340px; width:340px; max-width:100%; background:#fff; color:var(--gi-text);
  border-radius:var(--gi-radius-lg); box-shadow:var(--gi-shadow-lg); padding:26px;
}
.gi-hero-form h4{ margin:0 0 6px; font-size:18px; color:var(--gi-navy); font-weight:700; }
.gi-hero-form > p{ margin:0 0 18px; font-size:13px; color:var(--gi-text-muted); line-height:1.5; }
.gi-hero-form input[type="text"]{
  width:100%; border:1px solid var(--gi-border); border-radius:6px; padding:12px 14px; font-size:14px;
  margin-bottom:12px; font-family:var(--gi-font); color:var(--gi-text);
}
.gi-hero-form label{
  display:flex; align-items:flex-start; gap:8px; font-size:11.5px; color:var(--gi-text-muted);
  margin-bottom:16px; line-height:1.45;
}
.gi-hero-form label input{ margin-top:2px; flex-shrink:0; }
.gi-hero-form button[type="submit"]{
  width:100%; background:var(--gi-coral); color:#fff; border:0; border-radius:var(--gi-radius); padding:13px;
  font-weight:700; font-size:14.5px; cursor:pointer;
}
.gi-hero-form button[type="submit"]:hover{ background:var(--gi-coral-dark); }
.gi-hero-form-note{ margin:12px 0 0; font-size:10.5px; color:var(--gi-text-muted); text-align:center; }
.gi-hero-form-note a{ color:var(--gi-coral); text-decoration:underline; }
@media (max-width:900px){
  .gi-hero-form{ flex-basis:100%; width:100%; }
}
