:root{
  --bg:#f4f5f7;
  --card:#1f1f21;
  --text:#f8f9fa;
  --muted:#a0a0a5;
  --accent:#d4af37;
  --accent-soft:#f4e3a3;
  --border:#333338;
}
body.bg-body{
  background:var(--bg);
  color:#222;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial;
}
.premium-nav{
  background:linear-gradient(90deg,#1f1f21,#2b2b2f);
}
.navbar-brand{
  color:#f8f9fa !important;
  letter-spacing:0.5px;
}
.brand-mark{
  width:22px;
  height:22px;
  border-radius:50%;
  border:2px solid var(--accent);
  box-shadow:0 0 0 2px rgba(212,175,55,0.2);
}
.nav-link{
  color:#e5e5e7 !important;
  font-size:0.92rem;
  margin-left:0.6rem;
}
.nav-link.active{
  color:var(--accent-soft) !important;
}
.btn-gold{
  background:var(--accent);
  border:none;
  color:#1f1f21;
  font-weight:600;
}
.btn-gold:hover{
  background:#c59b2f;
  color:#111;
}
.hero-wrapper{margin-top:18px;}
.hero-card{
  background:radial-gradient(circle at top left,#3b3b3f,#151517);
  border-radius:16px;
  padding:32px 26px;
  color:var(--text);
  box-shadow:0 28px 60px rgba(0,0,0,0.4);
}
.hero-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:0.78rem;
  padding:4px 10px;
  border-radius:999px;
  background:rgba(0,0,0,0.4);
  border:1px solid rgba(244,227,163,0.3);
  margin-bottom:10px;
}
.hero-title{font-size:1.9rem;font-weight:650;}
.hero-subtitle{font-size:0.98rem;color:#d5d5da;}
.hero-metrics{margin-top:14px;}
.hero-metrics .item{font-size:0.85rem;}
.hero-metrics .label{color:var(--muted);}
.hero-metrics .value{color:var(--accent-soft);font-weight:600;}
.section-title{
  font-size:1.25rem;
  font-weight:600;
  color:#111;
  margin:22px 0 10px;
}
.subtext{
  font-size:0.9rem;
  color:#666a70;
}
.premium-card{
  background:#ffffff;
  border-radius:14px;
  padding:18px 18px;
  box-shadow:0 12px 30px rgba(15,15,16,0.08);
  border:1px solid #e0e0e5;
}
.float-btns{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:9999;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.float-btn{
  width:56px;
  height:56px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 6px 18px rgba(0,0,0,0.4);
  color:#fff;
  text-decoration:none;
}
.float-whatsapp{background:#25D366;}
.float-call{background:#0b84ff;}
.premium-footer{
  background:linear-gradient(180deg, #1a1a1d 0%, #111114 100%);
  color:#d3d3d7;
  border-top:2px solid var(--accent);
  margin-top:60px;
}
.footer-brand h5{
  font-size:1.1rem;
  font-weight:600;
  margin:0;
}
.footer-heading{
  color:#f8f9fa;
  font-size:0.95rem;
  font-weight:600;
  margin-bottom:1rem;
  text-transform:uppercase;
  letter-spacing:0.5px;
}
.footer-links{
  list-style:none;
  padding:0;
  margin:0;
}
.footer-links li{
  margin-bottom:0.6rem;
}
.footer-links a{
  color:#b0b0b5;
  text-decoration:none;
  font-size:0.875rem;
  transition:color 0.3s ease, padding-left 0.3s ease;
  display:inline-block;
}
.footer-links a:hover{
  color:var(--accent);
  padding-left:5px;
}
.footer-social{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.social-link{
  width:36px;
  height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(212,175,55,0.1);
  border:1px solid rgba(212,175,55,0.3);
  border-radius:50%;
  color:var(--accent);
  text-decoration:none;
  font-size:1.1rem;
  transition:all 0.3s ease;
}
.social-link:hover{
  background:var(--accent);
  color:#1f1f21;
  transform:translateY(-2px);
  box-shadow:0 4px 12px rgba(212,175,55,0.3);
}
.footer-contact .contact-item{
  padding:8px 0;
}
.footer-contact a{
  color:#b0b0b5;
  text-decoration:none;
  transition:color 0.3s ease;
}
.footer-contact a:hover{
  color:var(--accent);
}
.footer-trust{
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,0.1);
}
.footer-bottom{
  border-top-color:rgba(255,255,255,0.1) !important;
}
.footer-legal a{
  color:#b0b0b5;
  text-decoration:none;
  font-size:0.85rem;
  transition:color 0.3s ease;
}
.footer-legal a:hover{
  color:var(--accent);
}
.text-gold{color:var(--accent);}
.hero-card-with-bg{
  background:linear-gradient(135deg,rgba(21,21,23,0.9),rgba(21,21,23,0.9)),
             url('../img/hero-chardham.jpg') center/cover no-repeat;
}

.hero-side-card{
  display:flex;
  flex-direction:column;
}

.hero-side-img img{
  object-fit:cover;
  max-height:190px;
  width:100%;
}

/* Card hover effect */
.card-hover{
  transition:transform 0.2s ease, box-shadow 0.2s ease;
}
.card-hover:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 30px rgba(15,15,16,0.18);
}

/* Simple fade-in for sections */
.section-fade{
  animation:fadeInUp 0.5s ease both;
}
@keyframes fadeInUp{
  from{
    opacity:0;
    transform:translateY(12px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

/* Badge styles */
.bg-gold{
  background-color:var(--accent);
  color:#1f1f21;
  font-weight:600;
  padding:4px 10px;
  border-radius:4px;
  font-size:0.85rem;
  min-width:50px;
  text-align:center;
}

/* Itinerary styles */
.itinerary-list{
  margin:0;
  padding:0;
}
.itinerary-item{
  border-left:2px solid var(--accent-soft);
  padding-left:12px;
  margin-left:8px;
}

/* Form styles */
.form-control-sm, .form-select-sm{
  font-size:0.875rem;
  padding:0.375rem 0.75rem;
}

/* Alert styles */
.alert{
  padding:0.75rem 1rem;
  border-radius:8px;
  border:1px solid transparent;
}
.alert-success{
  background-color:#d4edda;
  border-color:#c3e6cb;
  color:#155724;
}
.alert-danger{
  background-color:#f8d7da;
  border-color:#f5c6cb;
  color:#721c24;
}
.alert-info{
  background-color:#e7f3ff;
  border-color:#b3d9ff;
  color:#004085;
}

/* Enquiry Form Styles */
.enquiry-form .form-label{
  color:#333;
  margin-bottom:0.5rem;
}
.enquiry-form .form-control,
.enquiry-form .form-select{
  border:1px solid #ddd;
  border-radius:6px;
  padding:0.6rem 0.75rem;
  font-size:0.9rem;
  transition:border-color 0.3s ease, box-shadow 0.3s ease;
}
.enquiry-form .form-control:focus,
.enquiry-form .form-select:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 0.2rem rgba(212,175,55,0.25);
  outline:none;
}
.enquiry-form textarea.form-control{
  resize:vertical;
  min-height:120px;
}

/* About Page Styles */
.about-stats{
  padding:20px 0;
}
.stat-item{
  padding:15px;
  background:rgba(212,175,55,0.1);
  border-radius:12px;
}
.stat-value{
  font-size:2.5rem;
  font-weight:700;
  line-height:1;
  margin-bottom:8px;
}
.stat-label{
  font-size:0.85rem;
  color:#666;
  font-weight:500;
}
.feature-icon{
  font-size:3rem;
  line-height:1;
}
.check-icon{
  color:var(--accent);
  font-size:1.5rem;
  font-weight:bold;
  flex-shrink:0;
  margin-top:2px;
}
.lead{
  font-size:1.1rem;
  font-weight:400;
  line-height:1.6;
  color:#333;
}

/* Blog Styles */
.blog-itinerary{
  background:#f8f9fa;
  padding:20px;
  border-radius:8px;
  border-left:4px solid var(--accent);
}
.itinerary-day{
  padding:8px 0;
  border-bottom:1px solid #e0e0e0;
}
.itinerary-day:last-child{
  border-bottom:none;
}
article h2,
article h3,
article h4{
  color:#111;
  margin-top:1.5rem;
  margin-bottom:1rem;
}
article h2.h4{
  font-size:1.25rem;
  font-weight:600;
}
article h3.h6{
  font-size:1rem;
  font-weight:600;
}
article ul,
article ol{
  padding-left:1.5rem;
  margin-bottom:1rem;
}
article ul li,
article ol li{
  margin-bottom:0.5rem;
  line-height:1.6;
}
article p{
  margin-bottom:1rem;
  line-height:1.7;
}
article img{
  border-radius:8px;
}

/* Sitemap Styles */
.sitemap-list{
  list-style:none;
  padding:0;
  margin:0;
  column-count:2;
  column-gap:30px;
}
.sitemap-list li{
  margin-bottom:0.8rem;
  break-inside:avoid;
}
.sitemap-list a{
  color:#333;
  text-decoration:none;
  transition:color 0.3s ease, padding-left 0.3s ease;
  display:inline-block;
}
.sitemap-list a:hover{
  color:var(--accent);
  padding-left:5px;
}
@media (max-width: 767.98px) {
  .sitemap-list{
    column-count:1;
  }
}

/* Container adjustments for better mobile experience */
.container{
  padding-left:15px;
  padding-right:15px;
}

/* Responsive Design - Mobile First Approach */
@media (max-width: 991.98px) {
  .container{
    padding-left:12px;
    padding-right:12px;
  }
  .hero-wrapper{
    margin-top:12px;
  }
  .hero-card{
    padding:24px 20px;
  }
  .hero-title{
    font-size:1.5rem;
  }
  .hero-subtitle{
    font-size:0.9rem;
  }
  .section-title{
    font-size:1.1rem;
    margin:18px 0 8px;
  }
  .premium-card{
    padding:16px 14px;
    border-radius:12px;
  }
  .float-btns{
    right:12px;
    bottom:12px;
  }
  .float-btn{
    width:50px;
    height:50px;
    font-size:1.2rem;
  }
  .itinerary-item{
    margin-left:4px;
    padding-left:10px;
  }
  .badge.bg-gold{
    min-width:45px;
    font-size:0.8rem;
    padding:3px 8px;
  }
}

@media (max-width: 767.98px) {
  .container{
    padding-left:10px;
    padding-right:10px;
  }
  .hero-title{
    font-size:1.3rem;
  }
  .hero-subtitle{
    font-size:0.85rem;
  }
  .hero-metrics .item{
    font-size:0.8rem;
    margin-bottom:8px;
  }
  .hero-metrics .col-4{
    flex:0 0 100%;
    max-width:100%;
    margin-bottom:12px;
  }
  .section-title{
    font-size:1rem;
  }
  .premium-card{
    padding:14px 12px;
  }
  .btn-gold{
    font-size:0.875rem;
    padding:0.5rem 1rem;
  }
  .navbar-brand{
    font-size:0.95rem;
  }
  .nav-link{
    font-size:0.85rem;
    margin-left:0.4rem;
  }
  .itinerary-item .d-flex{
    flex-direction:column;
  }
  .itinerary-item .badge{
    margin-bottom:8px;
    margin-right:0 !important;
    align-self:flex-start;
  }
  .hero-side-img img{
    max-height:150px;
  }
  .card-hover:hover{
    transform:none;
  }
  .d-flex.justify-content-between{
    flex-direction:column;
    align-items:flex-start !important;
  }
  .d-flex.justify-content-between a{
    margin-top:8px;
  }
  .hero-cta{
    display:flex;
    flex-direction:column;
    gap:8px;
  }
  .hero-cta .btn{
    width:100%;
  }
}

@media (max-width: 575.98px) {
  .container{
    padding-left:8px;
    padding-right:8px;
  }
  .package-image-wrapper img{
    height:160px;
  }
  .package-badge{
    font-size:0.7rem;
    padding:3px 10px;
    top:8px;
    right:8px;
  }
  .package-content h4{
    font-size:0.95rem;
  }
  .package-meta{
    flex-direction:column;
    align-items:flex-start;
  }
  .package-price{
    margin-left:0;
    font-size:1.1rem;
  }
  .enquiry-form .form-control,
  .enquiry-form .form-select{
    font-size:0.85rem;
    padding:0.5rem 0.65rem;
  }
  .enquiry-form .btn-lg{
    font-size:0.95rem;
    padding:0.7rem 1rem;
  }
  .stat-value{
    font-size:2rem;
  }
  .stat-label{
    font-size:0.8rem;
  }
  .feature-icon{
    font-size:2.5rem;
  }
  .lead{
    font-size:1rem;
  }
  .blog-itinerary{
    padding:15px;
  }
  article h2.h4{
    font-size:1.1rem;
  }
  article h3.h6{
    font-size:0.95rem;
  }
  .hero-card{
    padding:20px 16px;
  }
  .hero-title{
    font-size:1.15rem;
    line-height:1.4;
  }
  .hero-subtitle{
    font-size:0.8rem;
  }
  .hero-metrics{
    margin-top:12px;
  }
  .hero-metrics .col-4{
    margin-bottom:10px;
    flex:0 0 100%;
    max-width:100%;
  }
  .premium-card{
    padding:12px 10px;
    border-radius:10px;
  }
  .section-title{
    font-size:0.95rem;
    margin:16px 0 6px;
  }
  .subtext{
    font-size:0.85rem;
  }
  .float-btns{
    right:10px;
    bottom:10px;
    gap:8px;
  }
  .float-btn{
    width:46px;
    height:46px;
    font-size:1.1rem;
  }
  .btn-sm{
    font-size:0.8rem;
    padding:0.4rem 0.8rem;
  }
  .btn-lg{
    font-size:0.9rem;
    padding:0.6rem 1.2rem;
  }
  .itinerary-item h6{
    font-size:0.9rem;
  }
  .itinerary-item .small{
    font-size:0.8rem;
  }
  .badge.bg-gold{
    min-width:40px;
    font-size:0.75rem;
    padding:2px 6px;
  }
  .form-control-sm, .form-select-sm{
    font-size:0.8rem;
    padding:0.3rem 0.6rem;
  }
  .premium-footer{
    padding:1rem 0;
  }
  .premium-footer{
    margin-top:40px;
    padding:30px 0 !important;
  }
  .premium-footer .small{
    font-size:0.75rem;
  }
  .footer-heading{
    font-size:0.85rem;
    margin-bottom:0.8rem;
  }
  .footer-links{
    margin-bottom:20px;
  }
  .footer-links li{
    margin-bottom:0.5rem;
  }
  .footer-social{
    gap:10px;
  }
  .social-link{
    width:32px;
    height:32px;
    font-size:1rem;
  }
  .footer-contact .contact-item{
    margin-bottom:15px !important;
  }
  .footer-bottom{
    margin-top:30px !important;
    padding-top:20px !important;
  }
  .footer-legal{
    display:flex;
    flex-direction:column;
    gap:8px;
    align-items:center;
  }
  .footer-legal a{
    font-size:0.8rem;
  }
  .navbar-collapse{
    margin-top:12px;
  }
  .nav-item.ms-lg-3{
    margin-left:0 !important;
    margin-top:8px;
  }
  .nav-item.ms-lg-3 .btn{
    width:100%;
  }
}

/* Tablet and Medium Devices */
@media (min-width: 576px) and (max-width: 991.98px) {
  .hero-card{
    padding:28px 22px;
  }
  .hero-title{
    font-size:1.6rem;
  }
  .premium-card{
    padding:16px 15px;
  }
  .premium-footer{
    padding:40px 0 !important;
  }
  .footer-links{
    margin-bottom:25px;
  }
}

/* Package Card Styles */
.package-card{
  display:flex;
  flex-direction:column;
  transition:transform 0.3s ease, box-shadow 0.3s ease;
}
.package-card:hover{
  transform:translateY(-6px);
  box-shadow:0 16px 40px rgba(15,15,16,0.15);
}
.package-image-wrapper{
  position:relative;
  overflow:hidden;
  border-radius:12px;
}
.package-image-wrapper img{
  width:100%;
  height:200px;
  object-fit:cover;
  transition:transform 0.3s ease;
}
.package-card:hover .package-image-wrapper img{
  transform:scale(1.05);
}
.package-badge{
  position:absolute;
  top:12px;
  right:12px;
  background:var(--accent);
  color:#1f1f21;
  padding:4px 12px;
  border-radius:20px;
  font-size:0.75rem;
  font-weight:600;
  box-shadow:0 2px 8px rgba(0,0,0,0.2);
  z-index:1;
}
.package-badge-secondary{
  background:#0b84ff;
  color:#fff;
}
.package-badge-economy{
  background:#28a745;
  color:#fff;
}
.package-badge-special{
  background:#6f42c1;
  color:#fff;
}
.package-content{
  flex:1;
  display:flex;
  flex-direction:column;
}
.package-content h4{
  font-size:1.1rem;
  font-weight:600;
  color:#111;
  margin:0;
}
.package-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}
.package-meta .badge{
  font-size:0.8rem;
  padding:4px 10px;
  font-weight:500;
}
.package-price{
  font-size:1.2rem;
  margin-left:auto;
}
.package-features ul{
  list-style:none;
  padding-left:0;
}
.package-features li{
  position:relative;
  padding-left:20px;
  margin-bottom:6px;
  color:#555;
}
.package-features li:before{
  content:"✓";
  position:absolute;
  left:0;
  color:var(--accent);
  font-weight:bold;
}
.table-hover tbody tr:hover{
  background-color:#f8f9fa;
}
.table-light{
  background-color:#f8f9fa;
  color:#111;
}

/* Table responsive improvements */
.table-responsive{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
@media (max-width: 767.98px) {
  .table{
    font-size:0.85rem;
  }
  .table th,
  .table td{
    padding:0.5rem 0.4rem;
    white-space:nowrap;
  }
  .table th:last-child,
  .table td:last-child{
    position:sticky;
    right:0;
    background:#fff;
    box-shadow:-2px 0 4px rgba(0,0,0,0.1);
  }
  .package-image-wrapper img{
    height:180px;
  }
  .package-content h4{
    font-size:1rem;
  }
  .package-price{
    font-size:1rem;
  }
  .d-flex.gap-2{
    flex-direction:column;
  }
  .d-flex.gap-2 .btn{
    width:100%;
  }
}

/* Print Styles */
@media print {
  .float-btns,
  .navbar,
  .premium-footer,
  .btn{
    display:none;
  }
  .premium-card{
    box-shadow:none;
    border:1px solid #ddd;
    page-break-inside:avoid;
  }
}

