/* MDA Travels & Transport — shared site styles
   Palette taken directly from the official MDA logo + pamphlet artwork:
   deep indigo #2C1C63, gold #C09A69, accent red #D93534 (RGB values sampled from the logo file).
   (Variable names kept from earlier builds for continuity; VALUES now map to the real brand palette.) */

@font-face{
  font-family:'Hind Medium';
  src:url('assets/HindMedium.otf') format('opentype');
  font-weight:500;
  font-style:normal;
  font-display:swap;
}

:root{
  --navy:#2C1C63;          /* brand indigo — logo background, headings, header */
  --navy-deep:#1E1244;     /* deep indigo — footer, gradients */
  --gold:#C09A69;          /* brand gold — headline text, buttons, badges */
  --gold-soft:#EAD9BC;     /* soft light gold — muted text/accents on dark bg */
  --maroon:#D93534;        /* brand accent red — CTA banners (from logo mark) */
  --maroon-deep:#A82523;   /* deeper red — gradients */
  --cream:#FAF7F1;         /* body background — warm cream, matches pamphlet */
  --cream-deep:#F1E9DA;    /* deeper cream/tan — section background */
  --white:#FFFFFF;
  --text-dark:#2A2420;
  --text-muted:#6B6155;
  --border-soft:#E6D9C2;
  --shadow:0 10px 30px rgba(44,28,99,0.14);
  --radius:14px;
  --font-dev:'Hind Medium','Noto Sans Devanagari','Poppins',Arial,sans-serif;
  --font-display:'Playfair Display',Georgia,'Times New Roman',serif;
  --font-body:'Poppins',Arial,sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background-color:var(--cream);
  background-image:radial-gradient(rgba(44,28,99,0.07) 1px, transparent 1.6px);
  background-size:16px 16px;
  color:var(--text-dark);
  font-family:var(--font-dev);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.container{max-width:1140px;margin:0 auto;padding:0 20px;}
section{padding:64px 0;}
h1,h2,h3,h4{font-family:var(--font-dev);margin:0 0 14px;color:var(--navy);line-height:1.3;}
h1{font-size:clamp(28px,4.5vw,44px);}
h2{font-size:clamp(22px,3.2vw,32px);}
h3{font-size:19px;}
p{margin:0 0 12px;color:var(--text-muted);}
.eyebrow{
  display:inline-block;
  font-family:var(--font-display);
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:12px;
  color:var(--navy);
  background:var(--gold-soft);
  padding:5px 14px;
  border-radius:999px;
  margin-bottom:14px;
  font-weight:700;
}
.section-head{text-align:center;max-width:680px;margin:0 auto 40px;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:13px 26px;border-radius:999px;
  font-weight:600;font-size:15px;
  border:2px solid transparent;cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease;
}
.btn:hover{transform:translateY(-2px);}
.btn svg{width:16px;height:16px;flex:none;stroke:currentColor;}
.group-icon{width:19px;height:19px;stroke:var(--gold);vertical-align:-4px;margin-right:6px;}
.h2-icon{width:.85em;height:.85em;stroke:var(--maroon);vertical-align:-.12em;margin-right:10px;}
.btn-gold{background:var(--gold);color:var(--navy-deep);box-shadow:0 8px 20px rgba(192,154,105,.45);}
.btn-maroon{background:var(--maroon);color:var(--white);box-shadow:0 8px 20px rgba(217,53,52,.35);}
.btn-outline{background:transparent;border-color:var(--white);color:var(--white);}
.btn-outline-navy{background:transparent;border-color:var(--navy);color:var(--navy);}

.lang-toggle{
  background:transparent;border:1px solid var(--navy);color:var(--navy);
  font-size:11px;font-weight:600;padding:4px 12px;border-radius:999px;cursor:pointer;
  font-family:var(--font-body);letter-spacing:.03em;white-space:nowrap;
}
.lang-toggle:hover{background:var(--cream-deep);}

/* ---------- Page loader (splash shown while the page loads) ---------- */
.page-loader{
  position:fixed;inset:0;z-index:9999;
  background:var(--cream);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
  transition:opacity .4s ease, visibility .4s ease;
}
.page-loader.hide{opacity:0;visibility:hidden;pointer-events:none;}
.loader-crest{width:84px;height:auto;animation:loaderPulse 1.5s ease-in-out infinite;}
.loader-text{font-family:var(--font-display);font-size:21px;font-weight:700;letter-spacing:.04em;color:var(--navy);}
.loader-wait{font-size:13px;letter-spacing:.06em;color:var(--text-muted);text-transform:uppercase;}
@keyframes loaderPulse{
  0%,100%{transform:scale(1);opacity:1;}
  50%{transform:scale(1.07);opacity:.82;}
}
@media (prefers-reduced-motion: reduce){
  .loader-crest{animation:none;}
}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:var(--white);
  border-bottom:3px solid var(--gold);
}
.header-inner{
  max-width:1140px;margin:0 auto;padding:10px 20px;
  display:flex;align-items:center;gap:18px;
}
.brand{display:flex;align-items:center;gap:10px;margin-right:auto;}
.brand-crest-img{height:58px;width:auto;flex:none;display:block;}
.brand-text{display:flex;flex-direction:column;justify-content:center;color:var(--navy);}
.brand-text strong{font-family:var(--font-display);letter-spacing:.03em;font-size:22px;font-weight:700;line-height:1.15;display:block;}
.brand-text small{color:var(--gold);font-size:10.5px;letter-spacing:.08em;font-weight:600;}
/* Brand name: Playfair Display for English, Hind Medium for Marathi (Devanagari doesn't render in Playfair Display) */
html[lang="mr"] .brand-text strong,
html[lang="mr"] .loader-text{font-family:var(--font-dev);}
.main-nav{display:flex;gap:22px;}
.main-nav a{color:var(--navy);font-size:14.5px;font-weight:500;padding:6px 2px;border-bottom:2px solid transparent;}
.main-nav a:hover,.main-nav a.active{color:var(--gold);border-bottom-color:var(--gold);}
.header-actions{display:flex;align-items:center;gap:14px;flex:none;}
.header-dharm{height:58px;width:auto;flex:none;display:block;}
.nav-toggle{
  display:none;background:transparent;border:1px solid var(--navy);
  color:var(--navy);font-size:20px;border-radius:8px;padding:4px 10px;cursor:pointer;
}

@media (max-width:860px){
  .main-nav{
    position:absolute;top:100%;left:0;right:0;
    background:var(--white);
    flex-direction:column;gap:0;
    max-height:0;overflow:hidden;
    transition:max-height .25s ease;
    border-bottom:3px solid var(--gold);
    box-shadow:var(--shadow);
  }
  .main-nav.open{max-height:360px;}
  .main-nav a{padding:14px 20px;border-bottom:1px solid var(--border-soft);}
  .nav-toggle{display:inline-block;}
  .header-dharm{height:42px;}
}
@media (max-width:480px){
  .brand-text small{display:none;}
  .brand-text strong{font-size:18px;}
  /* Two-row header: logos only on row 1 (brand left, dharm right); language + menu on row 2 */
  .header-inner{
    display:grid;
    grid-template-columns:1fr auto;
    grid-template-areas:
      "brand     dharm"
      "navtoggle lang";
    align-items:center;
    row-gap:10px;
    column-gap:12px;
  }
  .brand{grid-area:brand;margin-right:0;}
  .header-actions{display:contents;}
  .header-dharm{display:block;grid-area:dharm;height:58px;justify-self:end;}
  .lang-toggle{grid-area:lang;justify-self:end;}
  .nav-toggle{grid-area:navtoggle;justify-self:start;}
}

/* ---------- Hero ---------- */
.hero{
  position:relative;
  background:
    radial-gradient(circle at 15% 20%, rgba(30,111,217,.10), transparent 40%),
    radial-gradient(circle at 85% 80%, rgba(18,76,140,.10), transparent 45%),
    var(--cream-deep);
  color:var(--text-dark);
  padding:60px 0 0;
  border-bottom:3px solid var(--gold);
}
.hero-inner{padding-bottom:50px;}
.hero h1{color:var(--navy);}
.hero p.lead{color:var(--text-muted);font-size:17px;max-width:640px;}
.hero-welcome{max-width:640px;margin:14px 0 4px;}
.hero-welcome p.hero-welcome-hello{margin-bottom:2px;font-size:14px;}
.hero-welcome h2{font-size:23px;margin:2px 0 12px;color:var(--navy);}
.hero-welcome p{font-size:17px;margin-bottom:10px;}
.hero-welcome-tagline{margin-top:14px;padding-top:14px;border-top:1px solid var(--border-soft);font-weight:700;color:var(--navy);margin-bottom:0;}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:22px;}
.hero-badge{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--maroon);color:var(--white);
  padding:8px 18px;border-radius:999px;font-size:13.5px;font-weight:700;
  margin-bottom:18px;border:1px solid var(--gold-soft);
}
.hero-badge svg{width:16px;height:16px;flex:none;stroke:var(--white);}
.hero-panel{
  background:var(--white);border-radius:var(--radius);
  padding:26px;box-shadow:var(--shadow);border:1px solid var(--border-soft);
  color:var(--text-dark);
}
.hero-panel h3{color:var(--navy);}
.hero-panel ul{list-style:none;padding:0;margin:0;}
.hero-panel li{
  display:flex;gap:10px;align-items:flex-start;
  padding:9px 0;border-bottom:1px dashed var(--border-soft);font-size:14.5px;
}
.hero-panel li:last-child{border-bottom:none;}
.hero-panel li svg{width:18px;height:18px;flex:none;margin-top:1px;stroke:var(--maroon);}

/* ---------- Carousel (mirrors MDA Group's division carousel) ---------- */
.carousel{
  position:relative;background:var(--cream-deep);overflow:hidden;
  border-bottom:3px solid var(--gold);
}
.carousel-track{display:flex;transition:transform .5s ease;}
.carousel-slide{
  min-width:100%;padding:54px 0;
  display:flex;align-items:center;
}
.carousel-slide .container{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center;}
@media (max-width:640px){.carousel-slide .container{grid-template-columns:1fr;text-align:center;}}
.carousel-icon{
  width:84px;height:84px;border-radius:18px;background:linear-gradient(160deg,var(--gold-soft),var(--gold));
  display:flex;align-items:center;justify-content:center;font-size:40px;flex:none;
}
.carousel-icon svg{width:42px;height:42px;stroke:var(--navy);}
@media (max-width:640px){.carousel-icon{margin:0 auto;}}
.carousel-slide h3{color:var(--navy);margin-bottom:6px;font-size:22px;}
.carousel-slide p{color:var(--text-muted);margin-bottom:0;max-width:640px;}
.carousel-dots{display:flex;justify-content:center;gap:8px;padding:16px 0;background:var(--cream-deep);}
.carousel-dots button{
  width:9px;height:9px;border-radius:50%;border:none;background:rgba(11,61,119,.22);cursor:pointer;padding:0;
}
.carousel-dots button.active{background:var(--gold);}

/* ---------- Feature / info cards ---------- */
.grid{display:grid;gap:22px;}
.grid > *{min-width:0;}
.grid-2{grid-template-columns:repeat(2,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
@media (max-width:860px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr;}}

.card{
  background:var(--white);border:1px solid var(--border-soft);
  border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);
  height:100%;
}
.card .icon{
  width:52px;height:52px;border-radius:12px;
  background:linear-gradient(160deg,var(--gold-soft),var(--gold));
  display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:14px;
}
.card .icon svg{width:26px;height:26px;stroke:var(--navy);}
.card h3{margin-bottom:8px;}
.card p{margin-bottom:0;font-size:14.5px;}

.section-cream{background:var(--cream-deep);}
.section-navy{background:var(--cream-deep);color:var(--text-dark);}
.section-navy h2,.section-navy h3{color:var(--navy);}
.section-navy p{color:var(--text-muted);}

/* ---------- CTA banner ---------- */
.cta-banner{
  background:linear-gradient(120deg,var(--navy),var(--navy-deep));
  color:var(--white);border-radius:var(--radius);
  padding:34px 30px;display:flex;flex-wrap:wrap;gap:20px;
  align-items:center;justify-content:space-between;
}
.cta-banner h3{color:var(--white);margin-bottom:6px;}
.cta-banner p{color:rgba(255,255,255,.85);margin-bottom:0;font-size:15.5px;}

/* ---------- Testimonials / trust strip ---------- */
.trust-strip{
  display:flex;flex-wrap:wrap;gap:14px;justify-content:center;
  background:var(--white);border-top:1px solid var(--border-soft);
  border-bottom:1px solid var(--border-soft);padding:22px 0;
}
.trust-strip .item{
  display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--navy);
  padding:6px 16px;
}
.trust-strip .item svg{width:18px;height:18px;flex:none;stroke:var(--navy);}

/* ---------- Page banner (inner pages) ---------- */
.page-banner{
  background:var(--cream-deep);
  color:var(--text-dark);padding:46px 0;text-align:center;border-bottom:3px solid var(--gold);
}
.page-banner h1{color:var(--navy);margin-bottom:6px;}
.page-banner p{color:var(--text-muted);margin:0;}
.breadcrumb{font-size:13px;color:var(--text-muted);}
.breadcrumb a{color:var(--gold);}

/* ---------- Fleet cards ---------- */
.fleet-card{
  border:1px solid var(--border-soft);border-radius:var(--radius);
  overflow:hidden;background:var(--white);box-shadow:var(--shadow);
}
.fleet-card .fleet-top{
  background:linear-gradient(135deg,var(--navy),var(--navy-deep));
  color:var(--white);padding:20px;display:flex;justify-content:space-between;align-items:center;
}
.tag{display:inline-block;background:var(--gold);color:var(--white);padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;}
.fleet-card .fleet-top .tag{padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;}
.fleet-card .fleet-top .tag-btn{border:none;cursor:pointer;font-family:inherit;transition:filter .15s ease,transform .15s ease;}
.fleet-card .fleet-top .tag-btn:hover{filter:brightness(1.08);transform:translateY(-1px);}
.fleet-card .fleet-top .tag-btn:focus-visible{outline:2px solid var(--white);outline-offset:2px;}
.fleet-card .fleet-body{padding:20px;}
.fleet-card ul{margin:0;padding-left:18px;color:var(--text-muted);font-size:14px;}

/* ---------- Gallery ---------- */
.gallery-item{
  aspect-ratio:4/3;border-radius:var(--radius);
  border:2px dashed var(--gold);
  background:var(--cream-deep);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;gap:8px;color:var(--navy);padding:16px;
}
.gallery-item .g-icon{font-size:34px;display:flex;}
.gallery-item .g-icon svg{width:34px;height:34px;stroke:var(--navy);}
.gallery-item small{color:var(--text-muted);font-size:12px;}

/* ---------- Forms ---------- */
.form-card{
  background:var(--white);border:1px solid var(--border-soft);
  border-radius:var(--radius);box-shadow:var(--shadow);padding:28px;
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;}
@media (max-width:560px){.form-row{grid-template-columns:1fr;}.form-row-3{grid-template-columns:1fr;}}
label{display:block;font-size:13.5px;font-weight:600;color:var(--navy);margin-bottom:6px;}
input,select,textarea{
  width:100%;padding:11px 13px;border-radius:9px;border:1px solid var(--border-soft);
  font-family:var(--font-dev);font-size:14.5px;margin-bottom:16px;background:var(--cream-deep);
}
textarea{min-height:110px;resize:vertical;}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);border-color:var(--gold);}

/* ---------- Modal (Admission / Booking forms) ---------- */
.modal-overlay{
  position:fixed;inset:0;background:rgba(30,18,68,.55);
  display:flex;align-items:center;justify-content:center;
  padding:20px;z-index:1000;
}
.modal-overlay[hidden]{display:none;}
.modal-box{
  background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);
  padding:30px;max-width:620px;width:100%;max-height:88vh;overflow-y:auto;position:relative;
}
.modal-box h3{margin-bottom:18px;padding-right:30px;}
.modal-close{
  position:absolute;top:16px;right:16px;background:none;border:none;
  font-size:22px;line-height:1;color:var(--text-muted);cursor:pointer;padding:4px 8px;
}
.modal-close:hover{color:var(--navy);}
.form-fieldset-label{font-size:13.5px;font-weight:600;color:var(--navy);margin-bottom:6px;}
.form-note{font-size:13px;color:var(--text-muted);margin:-6px 0 16px;}
.req-star{color:var(--maroon);font-weight:700;margin-left:2px;}
.modal-box .btn{width:100%;text-align:center;border:none;cursor:pointer;font-size:15px;}

/* ---------- Fraud/scam caution popup ---------- */
.caution-box{padding:0;overflow:hidden;}
.caution-banner{background:#FFD400;padding:20px;text-align:center;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;}
.caution-banner svg{width:34px;height:34px;flex-shrink:0;color:#1a1a1a;}
.caution-banner h3{margin:0;font-size:clamp(18px,5vw,24px);letter-spacing:0.5px;color:#1a1a1a;}
.caution-box .modal-close{color:#1a1a1a;}
.caution-box .modal-close:hover{color:var(--maroon);}
.caution-body{padding:18px 18px 22px;}
.caution-body-inner{padding:18px 20px 20px;border:1.5px solid var(--maroon);border-radius:12px;background:rgba(217,53,52,0.05);}
.caution-body h4{color:var(--navy);font-size:19px;margin-bottom:14px;display:flex;flex-direction:column;gap:3px;}
.caution-body h4 .caution-en{font-size:13px;font-weight:500;font-style:italic;color:var(--text-muted);}
.caution-body p{color:var(--navy);font-size:14.5px;line-height:1.6;margin-bottom:3px;}
.caution-body p.caution-en{color:var(--text-muted);font-size:12.5px;font-style:italic;line-height:1.5;margin-bottom:14px;}
.caution-body strong{color:inherit;font-weight:700;}
.caution-contact{margin-top:12px;padding-top:14px;border-top:1px solid rgba(217,53,52,0.3);}
.caution-contact p{font-size:14px;color:var(--text-muted) !important;line-height:1.6;margin-bottom:2px;}
.caution-contact p.caution-en{font-size:12.5px;font-style:italic;margin-bottom:0;}
.caution-contact p.caution-contact-info{color:var(--maroon) !important;font-size:15.5px;font-weight:700;margin-top:8px;letter-spacing:0.2px;}
.caution-contact strong{color:var(--maroon);}

.info-card{background:var(--navy);color:var(--cream);border-radius:var(--radius);padding:26px;}
.info-card h3{color:var(--white);}
.info-card a{color:var(--gold-soft);}
.info-list{list-style:none;padding:0;margin:0;}
.info-list li{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:14.5px;}
.info-list li:last-child{border-bottom:none;}
.info-list .ic{flex:none;width:17px;height:17px;margin-top:2px;color:var(--gold-soft);}
.map-wrap{border-radius:var(--radius);overflow:hidden;border:1px solid var(--border-soft);box-shadow:var(--shadow);}
.map-wrap iframe{width:100%;max-width:100%;height:280px;border:0;display:block;}

/* ---------- Footer ---------- */
.site-footer{background:var(--cream-deep);color:var(--text-muted);padding:50px 0 0;border-top:3px solid var(--gold);}
.footer-inner{
  max-width:1140px;margin:0 auto;padding:0 20px 30px;
  display:grid;grid-template-columns:1fr 1.5fr;gap:30px;
}
@media (max-width:760px){.footer-inner{grid-template-columns:1fr;}}
.footer-inner h4{color:var(--navy);font-size:14px;letter-spacing:.05em;margin-bottom:14px;}
.footer-links{display:flex;flex-direction:column;gap:8px;}
.footer-links a{color:var(--text-dark);font-size:14px;display:block;}
.footer-links a:hover,.footer-contact a:hover{color:var(--maroon);}
.footer-contact{display:flex;flex-direction:column;gap:12px;}
.footer-contact a,.footer-contact .footer-contact-item{
  display:flex;align-items:flex-start;gap:10px;color:var(--text-dark);font-size:14px;
}
.footer-contact a{align-items:center;}
.footer-contact .ic{flex:none;width:16px;height:16px;margin-top:2px;color:var(--maroon);}
.footer-contact a .ic{margin-top:0;}
.footer-social-block{display:flex;align-items:center;gap:12px;margin-top:6px;}
.footer-social-block span:first-child{font-size:13px;color:var(--text-dark);}
.footer-social{display:flex;gap:10px;}
.footer-social span{
  width:34px;height:34px;border-radius:50%;border:1px solid var(--border-soft);
  display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--navy);
}
.footer-social span svg{width:16px;height:16px;}
.footer-group-strip{
  border-top:1px solid var(--border-soft);
  display:flex;justify-content:flex-end;align-items:center;
  padding:18px 20px;
}
.footer-sponsor-img{height:46px;width:auto;display:block;}
@media (max-width:480px){.footer-sponsor-img{height:36px;}}
.footer-bottom{
  border-top:1px solid var(--border-soft);
  display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;
  padding:16px 20px;font-size:12.5px;color:var(--text-muted);
}

/* ---------- Visitor counter ---------- */
.visitor-counter{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--white);border:1px solid var(--border-soft);
  padding:5px 14px;border-radius:999px;font-size:12px;color:var(--text-muted);
}
.visitor-counter .vc-icon{font-size:14px;display:flex;}
.visitor-counter .vc-icon svg{width:14px;height:14px;stroke:var(--navy);}
.visitor-counter .vc-num{font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums;letter-spacing:.02em;}
.visitor-counter .vc-label{opacity:.85;}

/* Utility */
.mt-0{margin-top:0;}
.text-center{text-align:center;}
.small-note{font-size:12.5px;color:var(--text-muted);}
