/* ==========================================================================
   CHARDHAM TRAVEL - HOMEPAGE MODERN DESIGN v6.0
   EXACT MATCH: User Reference Image (media_1792821225400_c243048e.jpg)
   - White header with logo, nav, phone & Book Now button
   - Hero: Full mountain background, left text + right 4 temple cards
   - About: 2-col with himalayan image left + text right
   - Four Sacred Dhams: 4 image cards
   - Itinerary: Horizontal steps + right CTA card
   - Packages: White cards on navy background
   - Why Choose: 5 icon cards
   - Testimonials: 3 review cards
   - Gallery: Photo strip
   - FAQs: Accordion
   - CTA Banner: Orange gradient
   ========================================================================== */

/* ---------- Variables ---------- */
:root {
  --navy: #0b2545;
  --navy-deep: #071a30;
  --navy-pkg: #0d3b7a;
  --orange: #f37021;
  --orange-dark: #d85c10;
  --gold: #f59e0b;
  --gold-light: #fde68a;
  --white: #ffffff;
  --off-white: #f8f9fa;
  --cream: #fffbf5;
  --sand: #fff8f0;
  --text: #1e293b;
  --muted: #64748b;
  --border: #e2e8f0;
  --serif: 'Playfair Display', Georgia, serif;
  --sans: 'Poppins', sans-serif;
  --script: 'Great Vibes', cursive;
  --radius: 10px;
  --shadow: 0 4px 20px rgba(0,0,0,0.10);
  --shadow-md: 0 8px 30px rgba(0,0,0,0.14);
}

/* ---------- Base Reset for new sections only ---------- */
.cd-page section {
  padding: 70px 0;
}

.cd-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.cd-section-label {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--orange);
  margin-bottom: 6px;
  display: block;
}

.cd-section-title {
  font-family: var(--serif);
  font-size: 2.2rem;
  font-weight: 800;
  color: var(--navy);
  margin: 0 0 10px 0;
  line-height: 1.2;
}

.cd-section-desc {
  font-size: 0.95rem;
  color: var(--muted);
  max-width: 600px;
  margin: 0 auto 40px auto;
  line-height: 1.6;
}

.cd-text-center { text-align: center; }

/* ============================================================
   1. HERO SECTION
   ============================================================ */
.cd-hero {
  position: relative;
  min-height: 590px;
  background:
    linear-gradient(100deg,
      rgba(7, 26, 48, 0.93) 0%,
      rgba(7, 26, 48, 0.82) 42%,
      rgba(7, 26, 48, 0.18) 70%,
      rgba(7, 26, 48, 0.38) 100%),
    url('../images/kedarnath-hero-view.jpg') center right / cover no-repeat;
  display: flex;
  align-items: center;
  color: #fff;
  padding: 60px 0 50px;
  overflow: hidden;
}

.cd-hero-inner {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 40px;
  align-items: center;
  width: 100%;
}

/* Left side */
.cd-hero-kicker {
  font-family: var(--script);
  font-size: 1.9rem;
  color: #ffe082;
  margin-bottom: 6px;
  letter-spacing: 0.03em;
  line-height: 1;
}

.cd-hero-title {
  font-family: var(--serif);
  font-size: 3.4rem;
  font-weight: 800;
  line-height: 1.1;
  margin: 0 0 8px;
  color: #fff;
  text-shadow: 0 2px 12px rgba(0,0,0,0.35);
}

.cd-hero-dhams {
  font-size: 1.05rem;
  font-weight: 600;
  color: #ffd0a0;
  margin: 0 0 14px;
  letter-spacing: 0.02em;
}

.cd-hero-desc {
  font-size: 0.93rem;
  color: #dce8f5;
  line-height: 1.65;
  max-width: 510px;
  margin-bottom: 22px;
}

.cd-hero-badges {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 28px;
}

.cd-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.22);
  backdrop-filter: blur(6px);
  padding: 5px 13px;
  border-radius: 20px;
  font-size: 0.78rem;
  color: #fff;
  font-weight: 500;
}

.cd-hero-badge i {
  color: #ffb74d;
  font-size: 0.9rem;
}

.cd-hero-btns {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}

.cd-btn-orange {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--orange);
  color: #fff !important;
  font-weight: 700;
  font-size: 0.92rem;
  padding: 12px 28px;
  border-radius: 6px;
  text-decoration: none !important;
  transition: all 0.25s;
  box-shadow: 0 4px 14px rgba(243,112,33,0.45);
  border: none;
  cursor: pointer;
}

.cd-btn-orange:hover {
  background: var(--orange-dark);
  transform: translateY(-2px);
  color: #fff !important;
}

.cd-btn-ghost {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #fff !important;
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none !important;
}

.cd-btn-ghost i {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(255,255,255,0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.82rem;
}

/* Right side: Golden badge + 4 temple cards */
.cd-hero-right {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

.cd-gold-badge {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(245,158,11,0.95) 0%, rgba(217,119,6,0.88) 55%, rgba(180,83,9,0.45) 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-shadow: 0 0 32px rgba(245,158,11,0.65);
  border: 2px dashed rgba(255,255,255,0.65);
  animation: cd-glow 3s ease-in-out infinite;
}

@keyframes cd-glow {
  0%, 100% { box-shadow: 0 0 28px rgba(245,158,11,0.5); }
  50% { box-shadow: 0 0 48px rgba(245,158,11,0.85); }
}

.cd-gold-badge-om {
  font-size: 2rem;
  color: #fff;
  line-height: 1;
  margin-bottom: 4px;
}

.cd-gold-badge-text {
  font-size: 0.74rem;
  font-weight: 700;
  color: #fff;
  line-height: 1.4;
  text-shadow: 0 1px 4px rgba(0,0,0,0.3);
}

.cd-temple-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  width: 100%;
}

.cd-temple-card {
  background: #fff;
  border-radius: var(--radius);
  overflow: hidden;
  text-align: center;
  text-decoration: none !important;
  display: block;
  box-shadow: 0 6px 18px rgba(0,0,0,0.28);
  transition: transform 0.25s;
}

.cd-temple-card:hover {
  transform: translateY(-4px);
}

.cd-temple-card img {
  width: 100%;
  height: 90px;
  object-fit: cover;
  display: block;
}

.cd-temple-card span {
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--navy);
  padding: 5px 2px;
}

/* ============================================================
   2. ABOUT SECTION
   ============================================================ */
.cd-about {
  background: var(--white);
  padding: 70px 0;
}

.cd-about-grid {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 50px;
  align-items: center;
}

.cd-about-img-wrap {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: var(--shadow-md);
}

.cd-about-img-wrap img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  display: block;
}

.cd-about-float-badge {
  position: absolute;
  bottom: 24px;
  left: 24px;
  background: rgba(7,26,48,0.82);
  color: #fff;
  font-style: italic;
  font-size: 0.88rem;
  padding: 10px 16px;
  border-radius: 8px;
  backdrop-filter: blur(4px);
  border-left: 3px solid var(--orange);
  line-height: 1.4;
}

.cd-about-kicker {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--orange);
  margin-bottom: 8px;
  display: block;
}

.cd-about-title {
  font-family: var(--serif);
  font-size: 2rem;
  font-weight: 800;
  color: var(--navy);
  margin: 0 0 14px;
  line-height: 1.25;
}

.cd-about-desc {
  font-size: 0.93rem;
  color: var(--muted);
  line-height: 1.7;
  margin-bottom: 28px;
}

.cd-about-features {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

.cd-feature-box {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.cd-feature-icon {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #fff4e6;
  color: var(--orange);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  flex-shrink: 0;
  border: 1px solid #fed7aa;
}

.cd-feature-text h5 {
  font-size: 0.86rem;
  font-weight: 700;
  color: var(--navy);
  margin: 0 0 2px;
}

.cd-feature-text p {
  font-size: 0.78rem;
  color: var(--muted);
  margin: 0;
}

/* ============================================================
   3. FOUR DHAMS SECTION
   ============================================================ */
.cd-dhams {
  background: var(--off-white);
  padding: 70px 0;
}

.cd-dhams-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}

.cd-dham-card {
  background: var(--white);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: var(--shadow);
  transition: transform 0.28s, box-shadow 0.28s;
  text-decoration: none !important;
}

.cd-dham-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-md);
}

.cd-dham-img {
  width: 100%;
  height: 190px;
  object-fit: cover;
  display: block;
}

.cd-dham-body {
  padding: 18px;
}

.cd-dham-elevation {
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--orange);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 4px;
  display: block;
}

.cd-dham-name {
  font-family: var(--serif);
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--navy);
  margin: 0 0 6px;
}

.cd-dham-desc {
  font-size: 0.8rem;
  color: var(--muted);
  line-height: 1.55;
  margin: 0 0 14px;
}

.cd-dham-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--orange) !important;
  text-decoration: none !important;
  transition: gap 0.2s;
}

.cd-dham-link:hover {
  gap: 10px;
}

/* ============================================================
   4. ITINERARY SECTION
   ============================================================ */
.cd-itinerary {
  background: #f1f5f9;
  padding: 70px 0;
  position: relative;
}

.cd-itinerary-grid {
  display: grid;
  grid-template-columns: 1.4fr 0.6fr;
  gap: 30px;
  align-items: start;
  margin-top: 36px;
}

.cd-itin-days {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.cd-itin-day {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  background: var(--white);
  border-radius: 8px;
  padding: 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.07);
}

.cd-itin-num {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--navy);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.cd-itin-info h6 {
  font-size: 0.76rem;
  font-weight: 700;
  color: var(--navy);
  margin: 0 0 2px;
}

.cd-itin-info p {
  font-size: 0.7rem;
  color: var(--muted);
  margin: 0;
  line-height: 1.4;
}

.cd-itin-btn-wrap {
  text-align: center;
  margin-top: 18px;
}

/* Right CTA card */
.cd-itin-cta-card {
  background: linear-gradient(145deg, #0d3b7a 0%, #0b2545 60%, #071a30 100%);
  border-radius: 14px;
  padding: 30px 24px;
  color: #fff;
  text-align: center;
  box-shadow: 0 8px 28px rgba(7,26,48,0.35);
  position: sticky;
  top: 20px;
}

.cd-itin-cta-om {
  font-size: 2rem;
  margin-bottom: 10px;
  display: block;
}

.cd-itin-cta-title {
  font-family: var(--serif);
  font-size: 1.35rem;
  font-weight: 700;
  margin: 0 0 10px;
  line-height: 1.25;
}

.cd-itin-cta-desc {
  font-size: 0.82rem;
  color: #cbd5e1;
  margin: 0 0 20px;
  line-height: 1.6;
}

.cd-itin-cta-price {
  font-size: 1.65rem;
  font-weight: 800;
  color: var(--gold);
  margin-bottom: 20px;
  display: block;
}

/* ============================================================
   5. PACKAGES SECTION (DEEP NAVY)
   ============================================================ */
.cd-packages {
  background: var(--navy-pkg);
  padding: 70px 0;
}

.cd-packages .cd-section-title {
  color: #fff;
}

.cd-packages .cd-section-desc {
  color: #94a3b8;
}

.cd-pkg-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
  margin-top: 36px;
}

.cd-pkg-card {
  background: var(--white);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: var(--shadow-md);
  transition: transform 0.28s;
  display: flex;
  flex-direction: column;
}

.cd-pkg-card:hover {
  transform: translateY(-6px);
}

.cd-pkg-img {
  width: 100%;
  height: 150px;
  object-fit: cover;
  display: block;
}

.cd-pkg-body {
  padding: 18px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.cd-pkg-tag {
  display: inline-block;
  background: var(--orange);
  color: #fff;
  font-size: 0.68rem;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 20px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 10px;
}

.cd-pkg-name {
  font-family: var(--serif);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--navy);
  margin: 0 0 10px;
}

.cd-pkg-list {
  list-style: none;
  padding: 0;
  margin: 0 0 16px;
  flex: 1;
}

.cd-pkg-list li {
  font-size: 0.78rem;
  color: #475569;
  padding: 3px 0;
  display: flex;
  align-items: flex-start;
  gap: 7px;
}

.cd-pkg-list li i {
  color: #22c55e;
  margin-top: 2px;
  font-size: 0.8rem;
  flex-shrink: 0;
}

.cd-pkg-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid var(--border);
  padding-top: 12px;
  margin-top: auto;
}

.cd-pkg-price {
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--navy);
}

.cd-pkg-price span {
  font-size: 0.72rem;
  font-weight: 500;
  color: var(--muted);
  display: block;
}

.cd-pkg-link {
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--orange) !important;
  text-decoration: none !important;
}

/* ============================================================
   6. WHY CHOOSE US
   ============================================================ */
.cd-why {
  background: var(--white);
  padding: 70px 0;
}

.cd-why-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 18px;
  margin-top: 36px;
}

.cd-why-card {
  background: var(--sand);
  border: 1px solid #fed7aa;
  border-radius: var(--radius);
  padding: 24px 16px;
  text-align: center;
  box-shadow: 0 3px 10px rgba(245,158,11,0.06);
  transition: transform 0.25s, border-color 0.25s;
}

.cd-why-card:hover {
  transform: translateY(-5px);
  border-color: var(--orange);
}

.cd-why-icon {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: #fff4e6;
  color: var(--orange-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  margin: 0 auto 14px;
  border: 1px solid #fde68a;
}

.cd-why-title {
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--navy);
  margin: 0 0 6px;
}

.cd-why-desc {
  font-size: 0.75rem;
  color: var(--muted);
  margin: 0;
  line-height: 1.45;
}

/* ============================================================
   7. TRAVEL SERVICES
   ============================================================ */
.cd-services {
  background: var(--off-white);
  padding: 70px 0;
}

.cd-svc-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
  margin-top: 36px;
}

.cd-svc-card {
  border-radius: 12px;
  overflow: hidden;
  position: relative;
  box-shadow: var(--shadow);
  min-height: 220px;
  display: flex;
  align-items: flex-end;
}

.cd-svc-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cd-svc-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(7,26,48,0.88) 0%, rgba(7,26,48,0.2) 60%, transparent 100%);
}

.cd-svc-body {
  position: relative;
  z-index: 2;
  padding: 18px;
  color: #fff;
}

.cd-svc-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(243,112,33,0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  margin-bottom: 8px;
}

.cd-svc-name {
  font-family: var(--serif);
  font-size: 1.05rem;
  font-weight: 700;
  margin: 0 0 4px;
}

.cd-svc-desc {
  font-size: 0.75rem;
  color: #cbd5e1;
  margin: 0;
  line-height: 1.45;
}

/* ============================================================
   8. TESTIMONIALS
   ============================================================ */
.cd-testimonials {
  background: var(--white);
  padding: 70px 0;
}

.cd-testi-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 36px;
}

.cd-testi-card {
  background: var(--off-white);
  border-radius: 12px;
  padding: 24px;
  box-shadow: var(--shadow);
  border: 1px solid var(--border);
  position: relative;
}

.cd-testi-stars {
  color: #f59e0b;
  font-size: 1rem;
  margin-bottom: 12px;
}

.cd-testi-quote {
  font-size: 0.88rem;
  color: var(--text);
  line-height: 1.65;
  margin: 0 0 18px;
  font-style: italic;
}

.cd-testi-author {
  display: flex;
  align-items: center;
  gap: 12px;
}

.cd-testi-avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--orange) 0%, var(--gold) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  color: #fff;
  font-size: 1rem;
  flex-shrink: 0;
}

.cd-testi-name {
  font-weight: 700;
  font-size: 0.88rem;
  color: var(--navy);
  margin: 0;
}

.cd-testi-loc {
  font-size: 0.75rem;
  color: var(--muted);
  margin: 0;
}

/* ============================================================
   9. GALLERY
   ============================================================ */
.cd-gallery {
  background: var(--off-white);
  padding: 70px 0;
}

.cd-gallery-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 10px;
  margin-top: 36px;
}

.cd-gallery-thumb {
  border-radius: 8px;
  overflow: hidden;
  aspect-ratio: 1;
  box-shadow: var(--shadow);
  transition: transform 0.25s;
}

.cd-gallery-thumb:hover {
  transform: scale(1.04);
}

.cd-gallery-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ============================================================
   10. FAQ SECTION
   ============================================================ */
.cd-faq {
  background: var(--white);
  padding: 70px 0;
}

.cd-faq-list {
  max-width: 820px;
  margin: 36px auto 0;
  list-style: none;
  padding: 0;
}

.cd-faq-item {
  border: 1px solid var(--border);
  border-radius: 8px;
  margin-bottom: 10px;
  overflow: hidden;
}

.cd-faq-btn {
  width: 100%;
  background: var(--white);
  border: none;
  text-align: left;
  padding: 16px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--navy);
  font-family: var(--sans);
  transition: background 0.2s;
}

.cd-faq-btn:hover {
  background: #f8fafc;
}

.cd-faq-btn span:last-child {
  font-size: 1.3rem;
  color: var(--orange);
  line-height: 1;
  font-weight: 400;
  flex-shrink: 0;
}

.cd-faq-pane {
  display: none;
  padding: 0 20px 16px;
  font-size: 0.87rem;
  color: var(--muted);
  line-height: 1.65;
  background: var(--white);
}

.cd-faq-item.is-open .cd-faq-pane {
  display: block;
}

.cd-faq-item.is-open .cd-faq-btn {
  background: #fff8f2;
}

.cd-faq-item.is-open .cd-faq-btn span:last-child {
  transform: rotate(45deg);
  display: inline-block;
}

/* ============================================================
   11. CTA BANNER
   ============================================================ */
.cd-cta {
  background: linear-gradient(135deg, #d45f10 0%, #f37021 40%, #fbbf24 100%);
  padding: 70px 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.cd-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url('../images/adbg.jpg') center / cover no-repeat;
  opacity: 0.2;
}

.cd-cta-inner {
  position: relative;
  z-index: 2;
}

.cd-cta-title {
  font-family: var(--serif);
  font-size: 2.5rem;
  font-weight: 800;
  color: #fff;
  margin: 0 0 14px;
  text-shadow: 0 2px 8px rgba(0,0,0,0.2);
}

.cd-cta-desc {
  font-size: 1rem;
  color: rgba(255,255,255,0.92);
  max-width: 600px;
  margin: 0 auto 28px;
  line-height: 1.65;
}

.cd-cta-btns {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}

.cd-cta-btn-white {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  color: var(--orange) !important;
  font-weight: 700;
  font-size: 0.95rem;
  padding: 14px 30px;
  border-radius: 8px;
  text-decoration: none !important;
  transition: all 0.25s;
  box-shadow: 0 4px 14px rgba(0,0,0,0.15);
}

.cd-cta-btn-white:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.2);
}

.cd-cta-btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  color: #fff !important;
  font-weight: 700;
  font-size: 0.95rem;
  padding: 14px 30px;
  border-radius: 8px;
  text-decoration: none !important;
  border: 2px solid rgba(255,255,255,0.75);
  transition: all 0.25s;
}

.cd-cta-btn-outline:hover {
  background: rgba(255,255,255,0.15);
  border-color: #fff;
}

/* ============================================================
   12. SEO CONTENT SECTION
   ============================================================ */
.cd-seo {
  background: var(--off-white);
  padding: 70px 0;
}

.cd-seo-inner {
  background: var(--white);
  border-radius: 14px;
  padding: 40px;
  box-shadow: var(--shadow);
}

.cd-seo-inner h2 {
  font-family: var(--serif);
  font-size: 1.9rem;
  color: var(--navy);
  margin: 0 0 16px;
}

.cd-seo-inner h3 {
  font-family: var(--serif);
  font-size: 1.35rem;
  color: var(--navy);
  margin: 28px 0 10px;
}

.cd-seo-inner h4 {
  font-size: 1rem;
  color: #0d3b7a;
  margin: 20px 0 8px;
}

.cd-seo-inner p {
  font-size: 0.92rem;
  color: #334155;
  line-height: 1.75;
  margin-bottom: 14px;
}

.cd-seo-inner strong {
  color: var(--navy);
}

.cd-seo-table {
  width: 100%;
  border-collapse: collapse;
  margin: 16px 0 24px;
  font-size: 0.85rem;
}

.cd-seo-table th {
  background: var(--navy);
  color: #fff;
  padding: 10px 12px;
  text-align: left;
  font-weight: 600;
}

.cd-seo-table td {
  padding: 9px 12px;
  border-bottom: 1px solid var(--border);
  color: #334155;
}

.cd-seo-table tr:nth-child(even) td {
  background: var(--off-white);
}

.cd-map-wrap {
  border-radius: 10px;
  overflow: hidden;
  margin: 20px 0;
  box-shadow: var(--shadow);
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1024px) {
  .cd-hero-inner { grid-template-columns: 1fr 1fr; gap: 24px; }
  .cd-hero-title { font-size: 2.6rem; }
  .cd-about-grid { grid-template-columns: 1fr; gap: 30px; }
  .cd-dhams-grid { grid-template-columns: repeat(2, 1fr); }
  .cd-pkg-grid { grid-template-columns: repeat(2, 1fr); }
  .cd-why-grid { grid-template-columns: repeat(3, 1fr); }
  .cd-svc-grid { grid-template-columns: repeat(2, 1fr); }
  .cd-testi-grid { grid-template-columns: repeat(2, 1fr); }
  .cd-gallery-grid { grid-template-columns: repeat(3, 1fr); }
  .cd-itinerary-grid { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .cd-hero { min-height: auto; padding: 45px 0 35px; }
  .cd-hero-inner { grid-template-columns: 1fr; gap: 28px; }
  .cd-hero-title { font-size: 2rem; }
  .cd-hero-kicker { font-size: 1.5rem; }
  .cd-hero-right { display: none; }

  .cd-section-title { font-size: 1.75rem; }
  .cd-dhams-grid { grid-template-columns: 1fr 1fr; }
  .cd-pkg-grid { grid-template-columns: 1fr 1fr; }
  .cd-why-grid { grid-template-columns: 1fr 1fr; }
  .cd-svc-grid { grid-template-columns: 1fr 1fr; }
  .cd-testi-grid { grid-template-columns: 1fr; }
  .cd-gallery-grid { grid-template-columns: repeat(3, 1fr); }
  .cd-itin-days { grid-template-columns: 1fr 1fr; }
  .cd-about-features { grid-template-columns: 1fr; }
  .cd-about-grid { gap: 24px; }
  .cd-cta-title { font-size: 1.9rem; }
  .cd-seo-inner { padding: 24px; }
}

@media (max-width: 480px) {
  .cd-hero-title { font-size: 1.75rem; }
  .cd-dhams-grid { grid-template-columns: 1fr; }
  .cd-pkg-grid { grid-template-columns: 1fr; }
  .cd-why-grid { grid-template-columns: 1fr 1fr; }
  .cd-svc-grid { grid-template-columns: 1fr; }
  .cd-gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .cd-itin-days { grid-template-columns: 1fr; }
  .cd-cta-title { font-size: 1.6rem; }
  .cd-hero-badges { display: none; }
}

/* ======================================================================
   CHARDHAM TRAVEL — REFERENCE-MATCH FINISHING LAYER
   Keep this block at the VERY END of css/chardham-modern.css.
   Scoped to this homepage so inner pages keep their original theme.
====================================================================== */
.cd-page {
  --navy: #092b50;
  --navy-deep: #061d36;
  --navy-pkg: #0b3971;
  --orange: #f47721;
  --orange-dark: #df6415;
  --text: #1d2b3d;
  --muted: #596b80;
  color: var(--text);
  font-family: 'Poppins', Arial, sans-serif;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.cd-page *, .cd-page *::before, .cd-page *::after { box-sizing: border-box; }
.cd-page p { font-size: 15px; line-height: 1.75; }
.cd-page section { padding: 64px 0; }
.cd-page .cd-wrap { width: min(1240px, calc(100% - 48px)); max-width: 1240px; padding: 0; }
.cd-page .cd-section-title { font-size: clamp(26px, 2.4vw, 34px); line-height: 1.2; letter-spacing: -.025em; }
.cd-page .cd-section-desc { font-size: 15px; line-height: 1.75; color: #5e6e82; }
.cd-page .cd-section-label, .cd-page .cd-about-kicker { font-size: 12px; letter-spacing: .12em; }

/* Header: slim blue information bar + clean white navigation */
.cd-page header { display:block; background:#0b3a68; color:#fff; }
.cd-page .upper-head { background:#0b3a68; min-height:30px; padding:3px 0; }
.cd-page .upper-head .container { display:flex; justify-content:space-between; align-items:center; }
.cd-page .upper-head p, .cd-page .upper-head .login-btn { color:#fff; font-size:11px; line-height:1.5; margin:0; }
.cd-page .upper-head .contact-info { display:flex; gap:18px; }
.cd-page .navigation { position:relative; z-index:100; background:#fff; box-shadow:0 3px 16px rgba(6,29,54,.08); }
.cd-page .navigation > .container { width:min(1240px, calc(100% - 48px)); }
.cd-page .navigation-content, .cd-page .header_menu, .cd-page .navbar { min-height:76px; }
.cd-page .navbar.navbar-default { display:flex; align-items:center; justify-content:space-between; gap:22px; background:#fff; }
.cd-page .logo { float:none !important; flex:0 0 160px; padding:7px 0; }
.cd-page .logo img { width:100%; max-width:155px; max-height:150px; object-fit:contain; }
.cd-page .navbar-nav-wrapper { float:none; flex:1 1 auto; display:flex; justify-content:center; min-width:0; }
.cd-page .nav.navbar-nav { float:none; display:flex; align-items:center; justify-content:center; gap:clamp(8px,1.1vw,18px); margin:0; }
.cd-page .nav.navbar-nav > li { float:none; margin:0; display:block; }
.cd-page .nav.navbar-nav > li > a { color:#17314e; font-size:12px; font-weight:600; letter-spacing:0; line-height:1.3; padding:27px 0; white-space:nowrap; }
.cd-page .nav.navbar-nav > li > a:hover, .cd-page .nav.navbar-nav > li.active > a { color:#f47721; }
.cd-page .nav.navbar-nav li ul { top:100%; border-top:3px solid #f47721; border-radius:0 0 8px 8px; }
.cd-page .nav.navbar-nav li ul li a { color:#24364b; font-size:13px; line-height:1.5; letter-spacing:0; padding:11px 15px; }
.cd-page .cd-header-booking { flex:0 0 auto; display:inline-flex; align-items:center; gap:9px; background:#f47721; color:#fff!important; border-radius:7px; padding:12px 17px; font-size:12px; font-weight:700; text-decoration:none; box-shadow:0 5px 13px rgba(244,119,33,.22); }
.cd-page .cd-header-booking:hover { background:#df6415; transform:translateY(-1px); }

/* Hero */
.cd-page .cd-hero { min-height:510px; padding:54px 0 42px; background-position:center center; }
.cd-page .cd-hero-inner { grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); gap:34px; }
.cd-page .cd-hero-kicker { font-size:clamp(22px,2.2vw,30px); }
.cd-page .cd-hero-title { font-size:clamp(42px,4.2vw,60px); line-height:1.04; letter-spacing:-.035em; }
.cd-page .cd-hero-dhams { font-size:16px; line-height:1.5; }
.cd-page .cd-hero-desc { font-size:15px; line-height:1.75; max-width:510px; }
.cd-page .cd-hero-badges { gap:8px; }
.cd-page .cd-hero-badge { font-size:12px; padding:8px 11px; }
.cd-page .cd-btn-orange, .cd-page .cd-btn-ghost { font-size:14px; }
.cd-page .cd-gold-badge { width:132px; height:132px; }
.cd-page .cd-gold-badge-text { font-size:12px; }
.cd-page .cd-temple-strip { gap:9px; }
.cd-page .cd-temple-card { border-radius:9px; }
.cd-page .cd-temple-card img { height:95px; }
.cd-page .cd-temple-card span { font-size:12px; padding:8px 3px; }

/* About and dham cards */
.cd-page .cd-about { padding:68px 0; }
.cd-page .cd-about-grid { gap:48px; }
.cd-page .cd-about-img-wrap img { height:390px; }
.cd-page .cd-about-title { font-size:clamp(27px,2.5vw,35px); line-height:1.2; }
.cd-page .cd-about-desc { font-size:15px; line-height:1.8; }
.cd-page .cd-feature-text h5 { font-size:14px; line-height:1.45; }
.cd-page .cd-feature-text p { font-size:13px; line-height:1.6; }
.cd-page .cd-dhams-grid { gap:20px; }
.cd-page .cd-dham-img { height:190px; }
.cd-page .cd-dham-body { padding:18px 18px 20px; }
.cd-page .cd-dham-elevation { font-size:11px; }
.cd-page .cd-dham-name { font-size:20px; line-height:1.3; }
.cd-page .cd-dham-desc { font-size:14px; line-height:1.65; }
.cd-page .cd-dham-link { font-size:13px; }

/* Itinerary, package cards, service cards */
.cd-page .cd-itinerary { padding:62px 0; }
.cd-page .cd-itin-day { padding:13px 12px; gap:10px; }
.cd-page .cd-itin-num { width:32px; height:32px; font-size:13px; }
.cd-page .cd-itin-info h6 { font-size:14px; line-height:1.4; }
.cd-page .cd-itin-info p { font-size:12px; line-height:1.55; }
.cd-page .cd-itin-cta-title { font-size:25px; }
.cd-page .cd-itin-cta-desc { font-size:14px; }
.cd-page .cd-packages { padding:62px 0; }
.cd-page .cd-packages .cd-section-title { color:#fff; }
.cd-page .cd-packages .cd-section-desc { color:#dce8f6; }
.cd-page .cd-pkg-grid { gap:18px; }
.cd-page .cd-pkg-card { border-radius:12px; overflow:hidden; }
.cd-page .cd-pkg-body { padding:17px; }
.cd-page .cd-pkg-title { font-size:18px; line-height:1.35; }
.cd-page .cd-pkg-desc, .cd-page .cd-pkg-features li { font-size:13px; line-height:1.6; }
.cd-page .cd-pkg-price { font-size:20px; }
.cd-page .cd-why-title { font-size:15px; line-height:1.4; }
.cd-page .cd-why-desc { font-size:13px; line-height:1.6; }
.cd-page .cd-svc-title { font-size:17px; line-height:1.4; }
.cd-page .cd-svc-desc { font-size:13px; line-height:1.65; }
.cd-page .cd-svc-link { font-size:13px; }

/* Reviews, gallery and FAQ */
.cd-page .cd-testi-card { padding:22px; }
.cd-page .cd-testi-card p, .cd-page .cd-review-card p { font-size:14px; line-height:1.75; }
.cd-page .cd-testi-name, .cd-page .cd-review-name { font-size:15px; }
.cd-page .cd-faq-item button, .cd-page .cd-faq-question { font-size:15px; line-height:1.55; }
.cd-page .cd-faq-answer, .cd-page .cd-faq-item p { font-size:14px; line-height:1.75; }
.cd-page .cd-cta { padding:58px 0; }
.cd-page .cd-cta-title { font-size:clamp(28px,3vw,40px); line-height:1.2; }
.cd-page .cd-cta-desc { font-size:15px; line-height:1.75; }

/* SEO block should remain readable without overpowering the visual homepage */
.cd-page .cd-seo { padding:38px 0; background:#f5f8fc; }
.cd-page .cd-seo-inner { padding:34px; border:1px solid #e8edf4; }
.cd-page .cd-seo-inner h2 { font-size:28px; line-height:1.35; }
.cd-page .cd-seo-inner h3 { font-size:22px; line-height:1.4; }
.cd-page .cd-seo-inner h4 { font-size:17px; line-height:1.45; }
.cd-page .cd-seo-inner p { font-size:14px; line-height:1.8; }
.cd-page .cd-seo-table { font-size:13px; }
.cd-page .cd-seo-table th, .cd-page .cd-seo-table td { padding:11px 13px; }

/* Prevent legacy theme defaults from making homepage cards tiny */
.cd-page .cd-hero p, .cd-page .cd-about p, .cd-page .cd-dhams p,
.cd-page .cd-itinerary p, .cd-page .cd-packages p, .cd-page .cd-why p,
.cd-page .cd-services p, .cd-page .cd-testimonials p, .cd-page .cd-gallery p,
.cd-page .cd-faq p, .cd-page .cd-cta p, .cd-page .cd-seo p { font-weight:400; }
.cd-page .cd-hero a, .cd-page .cd-about a, .cd-page .cd-dhams a,
.cd-page .cd-itinerary a, .cd-page .cd-packages a, .cd-page .cd-services a,
.cd-page .cd-gallery a, .cd-page .cd-cta a { text-decoration:none; }

@media (max-width:1100px) {
  .cd-page .navbar-nav-wrapper { justify-content:flex-end; }
  .cd-page .nav.navbar-nav { gap:10px; }
  .cd-page .nav.navbar-nav > li > a { font-size:11px; }
  .cd-page .logo { flex-basis:125px; }
  .cd-page .logo img { max-width:125px; }
  .cd-page .cd-header-booking { padding:10px 12px; font-size:11px; }
}
@media (max-width:900px) {
  .cd-page .upper-head .container { width:calc(100% - 32px); }
  .cd-page .navigation > .container { width:calc(100% - 32px); }
  .cd-page .navigation-content, .cd-page .header_menu, .cd-page .navbar { min-height:68px; }
  .cd-page .navbar.navbar-default { flex-wrap:wrap; }
  .cd-page .navbar-nav-wrapper { display:none; }
  .cd-page .cd-header-booking { margin-left:auto; }
  .cd-page .cd-hero { min-height:0; }
  .cd-page .cd-hero-inner { grid-template-columns:1fr; }
  .cd-page .cd-hero-right { display:flex; }
  .cd-page .cd-hero-right .cd-gold-badge { display:none; }
  .cd-page .cd-temple-card img { height:100px; }
  .cd-page .cd-about-grid { grid-template-columns:1fr 1fr; gap:28px; }
}
@media (max-width:767px) {
  .cd-page section { padding:46px 0; }
  .cd-page .cd-wrap { width:calc(100% - 32px); }
  .cd-page .upper-head .contact-info { gap:8px; flex-wrap:wrap; }
  .cd-page .upper-head p, .cd-page .upper-head .login-btn { font-size:10px; }
  .cd-page .upper-head .login-btn { display:none; }
  .cd-page .logo { flex-basis:120px; }
  .cd-page .logo img { max-width:118px; max-height:50px; }
  .cd-page .cd-header-booking { padding:10px 12px; font-size:11px; }
  .cd-page .cd-hero { padding:44px 0 34px; }
  .cd-page .cd-hero-title { font-size:clamp(38px,10vw,50px); }
  .cd-page .cd-hero-dhams { font-size:13px; }
  .cd-page .cd-hero-desc { font-size:14px; }
  .cd-page .cd-hero-badges { display:flex; }
  .cd-page .cd-hero-badge { font-size:11px; padding:7px 9px; }
  .cd-page .cd-hero-right { display:block; }
  .cd-page .cd-temple-strip { grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
  .cd-page .cd-temple-card img { height:68px; }
  .cd-page .cd-temple-card span { font-size:10px; }
  .cd-page .cd-about-grid { grid-template-columns:1fr; }
  .cd-page .cd-about-img-wrap img { height:280px; }
  .cd-page .cd-dhams-grid, .cd-page .cd-pkg-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .cd-page .cd-dham-img { height:130px; }
  .cd-page .cd-dham-body, .cd-page .cd-pkg-body { padding:12px; }
  .cd-page .cd-dham-name { font-size:16px; }
  .cd-page .cd-dham-desc { font-size:12px; }
  .cd-page .cd-itin-days { grid-template-columns:1fr 1fr; }
  .cd-page .cd-why-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cd-page .cd-svc-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cd-page .cd-gallery-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .cd-page .cd-seo-inner { padding:20px; }
  .cd-page .cd-seo-inner h2 { font-size:23px; }
  .cd-page .cd-seo-inner h3 { font-size:19px; }
  .cd-page .cd-seo-inner p { font-size:14px; }
}
@media (max-width:480px) {
  .cd-page .cd-hero-title { font-size:36px; }
  .cd-page .cd-hero-btns { gap:12px; }
  .cd-page .cd-btn-orange { padding:11px 15px; font-size:12px; }
  .cd-page .cd-btn-ghost { font-size:12px; }
  .cd-page .cd-dham-desc { display:none; }
  .cd-page .cd-dham-img { height:115px; }
  .cd-page .cd-itin-days { grid-template-columns:1fr; }
  .cd-page .cd-svc-grid { grid-template-columns:1fr; }
  .cd-page .cd-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cd-page .cd-seo-table { display:block; overflow-x:auto; white-space:nowrap; }
}



/* =====================================================================
   v7 RESPONSIVE POLISH — desktop, tablet and mobile
   Scoped to the redesigned homepage to protect legacy inner pages.
===================================================================== */
.cd-page { width:100%; overflow-x:clip; background:#fff; }
.cd-page img { max-width:100%; }
.cd-page .cd-wrap { width:min(1240px, calc(100% - 56px)); margin-inline:auto; }
.cd-page .cd-section-title { font-size:clamp(26px, 2.2vw, 34px); }
.cd-page .cd-section-desc { font-size:15px; }
.cd-page .cd-section-label, .cd-page .cd-about-kicker { font-size:12px; }
.cd-page .cd-dham-desc, .cd-page .cd-pkg-desc, .cd-page .cd-pkg-features li,
.cd-page .cd-why-desc, .cd-page .cd-svc-desc, .cd-page .cd-faq-pane,
.cd-page .cd-seo-inner p { font-size:14px; line-height:1.7; }
.cd-page .cd-dham-name { font-size:19px; }
.cd-page .cd-itin-info h6 { font-size:14px; }
.cd-page .cd-itin-info p { font-size:13px; }
.cd-page .cd-pkg-title { font-size:18px; }
.cd-page .cd-why-title { font-size:15px; }
.cd-page .cd-svc-title { font-size:17px; }
.cd-page .cd-header-booking { white-space:nowrap; }
.cd-page .cd-mobile-toggle { display:none; }
.cd-page .cd-seo-inner { overflow-wrap:anywhere; }
.cd-page .cd-seo-table { width:100%; border-collapse:collapse; }
.cd-page .cd-seo-table th, .cd-page .cd-seo-table td { font-size:13px; line-height:1.55; }
.cd-page .cd-seo-inner h2 { font-size:clamp(24px, 2vw, 30px); }
.cd-page .cd-seo-inner h3 { font-size:clamp(19px, 1.7vw, 23px); }
.cd-page footer { font-size:14px; line-height:1.7; }
.cd-page footer p, .cd-page footer li, .cd-page footer a { font-size:13px; line-height:1.7; }

/* Tablet landscape / small laptops */
@media (max-width:1100px) {
  .cd-page .cd-wrap { width:calc(100% - 40px); }
  .cd-page .navigation > .container { width:calc(100% - 32px); }
  .cd-page .logo { flex-basis:130px; }
  .cd-page .logo img { max-width:128px; }
  .cd-page .nav.navbar-nav { gap:10px; }
  .cd-page .nav.navbar-nav > li > a { font-size:11px; }
  .cd-page .cd-hero { min-height:470px; }
  .cd-page .cd-hero-inner { gap:24px; }
  .cd-page .cd-hero-title { font-size:clamp(40px, 4.2vw, 54px); }
  .cd-page .cd-about-grid { gap:30px; }
  .cd-page .cd-dhams-grid, .cd-page .cd-pkg-grid { gap:14px; }
  .cd-page .cd-dham-body, .cd-page .cd-pkg-body { padding:14px; }
}

/* Tablet portrait and mobile navigation */
@media (max-width:900px) {
  .cd-page .upper-head .container { width:calc(100% - 32px); }
  .cd-page .upper-head .contact-info { gap:12px; flex-wrap:wrap; }
  .cd-page .navigation { position:relative; }
  .cd-page .navigation > .container { width:calc(100% - 28px); }
  .cd-page .navigation-content, .cd-page .header_menu, .cd-page .navbar { min-height:66px; }
  .cd-page .navbar.navbar-default { position:relative; display:flex; flex-wrap:nowrap; justify-content:space-between; gap:12px; }
  .cd-page .logo { flex:0 1 145px; padding:6px 0; }
  .cd-page .logo img { max-width:140px; max-height:52px; }
  .cd-page .cd-mobile-toggle { display:flex; flex:0 0 42px; width:42px; height:42px; padding:10px; margin-left:auto; flex-direction:column; justify-content:center; gap:5px; border:1px solid #d9e2ec; border-radius:8px; background:#fff; cursor:pointer; }
  .cd-page .cd-mobile-toggle span { display:block; width:20px; height:2px; background:#0b2f57; border-radius:2px; }
  .cd-page .navbar-nav-wrapper { display:none !important; position:absolute; top:calc(100% + 8px); left:0; right:0; width:100%; max-height:calc(100vh - 100px); overflow:auto; padding:10px 14px; background:#fff; border:1px solid #e2e8f0; border-radius:12px; box-shadow:0 16px 35px rgba(7,26,48,.18); z-index:9999; }
  .cd-page .navbar-nav-wrapper.is-open { display:block !important; }
  .cd-page .nav.navbar-nav { display:block; width:100%; margin:0; padding:0; }
  .cd-page .nav.navbar-nav > li { display:block; width:100%; border-bottom:1px solid #edf1f5; }
  .cd-page .nav.navbar-nav > li:last-child { border-bottom:0; }
  .cd-page .nav.navbar-nav > li > a { display:block; padding:12px 8px; white-space:normal; font-size:14px; line-height:1.45; }
  .cd-page .nav.navbar-nav li ul { position:static; display:block; width:100%; padding:0 0 6px 12px; border:0; box-shadow:none; background:#f8fafc; }
  .cd-page .nav.navbar-nav li ul li a { display:block; padding:9px 10px; white-space:normal; font-size:13px; }
  .cd-page .cd-header-booking { padding:11px 13px; font-size:12px; }
  .cd-page .cd-hero { min-height:0; padding:48px 0 38px; }
  .cd-page .cd-hero-inner { grid-template-columns:1fr; gap:28px; }
  .cd-page .cd-hero-right { display:block; }
  .cd-page .cd-hero-right .cd-gold-badge { display:none; }
  .cd-page .cd-temple-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
  .cd-page .cd-temple-card img { width:100%; height:clamp(70px, 12vw, 112px); object-fit:cover; }
  .cd-page .cd-temple-card span { font-size:12px; }
  .cd-page .cd-about-grid { grid-template-columns:1fr 1fr; gap:24px; }
  .cd-page .cd-about-img-wrap img { height:320px; }
  .cd-page .cd-itinerary-grid { grid-template-columns:1fr; }
  .cd-page .cd-itin-days { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .cd-page .cd-why-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .cd-page .cd-svc-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cd-page .cd-testi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cd-page .cd-gallery-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}

@media (max-width:767px) {
  .cd-page section, .cd-page .cd-about, .cd-page .cd-packages, .cd-page .cd-cta { padding:44px 0; }
  .cd-page .cd-wrap { width:calc(100% - 32px); }
  .cd-page .upper-head { min-height:0; padding:5px 0; }
  .cd-page .upper-head .container { width:calc(100% - 28px); }
  .cd-page .upper-head .contact-info { gap:4px 12px; }
  .cd-page .upper-head p { margin:0; font-size:11px; line-height:1.5; }
  .cd-page .upper-head p:nth-child(2) { display:none; }
  .cd-page .navigation > .container { width:calc(100% - 24px); }
  .cd-page .logo { flex-basis:118px; }
  .cd-page .logo img { max-width:116px; max-height:46px; }
  .cd-page .cd-header-booking { padding:10px 11px; font-size:11px; gap:5px; }
  .cd-page .cd-hero { padding:38px 0 30px; background-position:58% center; }
  .cd-page .cd-hero-inner { gap:22px; }
  .cd-page .cd-hero-kicker { font-size:24px; }
  .cd-page .cd-hero-title { font-size:clamp(36px, 9vw, 48px); line-height:1.05; }
  .cd-page .cd-hero-dhams { font-size:13px; line-height:1.7; }
  .cd-page .cd-hero-desc { font-size:14px; line-height:1.7; }
  .cd-page .cd-hero-badges { gap:7px; margin-bottom:20px; }
  .cd-page .cd-hero-badge { padding:7px 9px; font-size:11px; }
  .cd-page .cd-hero-btns { gap:10px; }
  .cd-page .cd-btn-orange, .cd-page .cd-btn-ghost { font-size:13px; }
  .cd-page .cd-temple-strip { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .cd-page .cd-temple-card img { height:112px; }
  .cd-page .cd-temple-card span { font-size:12px; padding:9px 5px; }
  .cd-page .cd-about-grid { grid-template-columns:1fr; gap:24px; }
  .cd-page .cd-about-img-wrap img { height:auto; max-height:340px; aspect-ratio:1.35/1; object-fit:cover; }
  .cd-page .cd-about-title { font-size:clamp(25px, 6vw, 31px); }
  .cd-page .cd-about-desc { font-size:14px; }
  .cd-page .cd-about-features { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .cd-page .cd-feature-text h5 { font-size:13px; }
  .cd-page .cd-feature-text p { font-size:12px; }
  .cd-page .cd-section-title { font-size:clamp(24px, 6vw, 30px); }
  .cd-page .cd-section-desc { margin-bottom:24px; font-size:14px; }
  .cd-page .cd-dhams-grid, .cd-page .cd-pkg-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .cd-page .cd-dham-img { height:clamp(105px, 30vw, 160px); }
  .cd-page .cd-dham-body, .cd-page .cd-pkg-body { padding:12px; }
  .cd-page .cd-dham-name { font-size:16px; line-height:1.35; }
  .cd-page .cd-dham-desc { display:block; font-size:12px; line-height:1.6; }
  .cd-page .cd-dham-elevation { font-size:10px; }
  .cd-page .cd-dham-link { font-size:12px; }
  .cd-page .cd-itin-days { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .cd-page .cd-itin-day { padding:11px 9px; gap:8px; }
  .cd-page .cd-itin-info h6 { font-size:13px; }
  .cd-page .cd-itin-info p { font-size:12px; }
  .cd-page .cd-itin-cta-card { max-width:100%; }
  .cd-page .cd-why-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .cd-page .cd-why-card { padding:16px 12px; }
  .cd-page .cd-why-title { font-size:14px; }
  .cd-page .cd-why-desc { font-size:12px; }
  .cd-page .cd-svc-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .cd-page .cd-svc-title { font-size:15px; }
  .cd-page .cd-svc-desc { font-size:12px; }
  .cd-page .cd-testi-grid { grid-template-columns:1fr; gap:14px; }
  .cd-page .cd-gallery-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
  .cd-page .cd-faq-list { margin-top:24px; }
  .cd-page .cd-faq-btn { padding:14px 13px; gap:12px; font-size:14px; }
  .cd-page .cd-faq-pane { padding:0 13px 14px; font-size:13px; }
  .cd-page .cd-cta-title { font-size:clamp(25px, 7vw, 32px); }
  .cd-page .cd-cta-desc { font-size:14px; }
  .cd-page .cd-seo { padding:28px 0; }
  .cd-page .cd-seo-inner { padding:18px; }
  .cd-page .cd-seo-inner h2 { font-size:23px; }
  .cd-page .cd-seo-inner h3 { font-size:19px; }
  .cd-page .cd-seo-inner p { font-size:14px; }
  .cd-page .cd-seo-table { display:block; overflow-x:auto; white-space:nowrap; }
  .cd-page footer .container { width:calc(100% - 32px); }
}

@media (max-width:420px) {
  .cd-page .cd-wrap { width:calc(100% - 26px); }
  .cd-page .cd-header-booking { font-size:10px; padding:9px 8px; }
  .cd-page .cd-mobile-toggle { flex-basis:38px; width:38px; height:38px; padding:8px; }
  .cd-page .cd-hero-title { font-size:35px; }
  .cd-page .cd-hero-badge { font-size:10px; }
  .cd-page .cd-dhams-grid, .cd-page .cd-pkg-grid { gap:9px; }
  .cd-page .cd-dham-body, .cd-page .cd-pkg-body { padding:10px; }
  .cd-page .cd-dham-name { font-size:15px; }
  .cd-page .cd-dham-desc { font-size:12px; }
  .cd-page .cd-itin-days { grid-template-columns:1fr; }
  .cd-page .cd-svc-grid { grid-template-columns:1fr; }
  .cd-page .cd-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cd-page .cd-about-features { grid-template-columns:1fr 1fr; }
}

/* Respect accessibility preferences */
@media (prefers-reduced-motion: reduce) {
  .cd-page *, .cd-page *::before, .cd-page *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; transition-duration:.01ms !important; }
}


/* ============================================================
   QUALITY FIXES v9: contained badge, legible service cards,
   accurate office map and responsive homepage enquiry form
   ============================================================ */
.cd-page .cd-gold-badge {
  box-sizing: border-box;
  width: clamp(148px, 12vw, 176px);
  height: clamp(148px, 12vw, 176px);
  min-width: 0;
  flex: 0 0 auto;
  padding: 15px;
  overflow: hidden;
  gap: 5px;
  animation: none;
  box-shadow: 0 10px 30px rgba(245,158,11,.28), inset 0 0 0 4px rgba(255,255,255,.13);
  border: 2px dashed rgba(255,255,255,.78);
  background: radial-gradient(circle at 35% 25%, #ffbd55 0%, #f28a13 48%, #bd5b09 100%);
}
.cd-page .cd-gold-badge-om {
  display: block;
  flex: 0 0 auto;
  font-size: clamp(24px, 2vw, 31px);
  line-height: 1;
  margin: 0;
}
.cd-page .cd-gold-badge-text {
  display: block;
  width: 100%;
  max-width: 100%;
  font-size: clamp(12px, 1vw, 15px);
  font-weight: 700;
  line-height: 1.35;
  overflow-wrap: normal;
  word-break: normal;
  text-wrap: balance;
  text-shadow: 0 1px 3px rgba(70,30,0,.45);
}

/* Service card text must stay readable over any source image. */
.cd-page .cd-svc-card { isolation: isolate; min-height: 300px; background: var(--navy); }
.cd-page .cd-svc-card::after {
  z-index: 1;
  background: linear-gradient(180deg, rgba(7,26,48,.03) 10%, rgba(7,26,48,.34) 42%, rgba(4,18,35,.96) 100%);
}
.cd-page .cd-svc-body { z-index: 2; width: 100%; padding: 22px 20px 20px; color: #fff; }
.cd-page .cd-svc-icon {
  box-sizing: border-box; width: 42px; height: 42px; padding: 0; margin: 0 0 13px;
  flex: 0 0 42px; color: #fff; background: var(--orange); border: 2px solid rgba(255,255,255,.65);
  box-shadow: 0 4px 12px rgba(0,0,0,.22);
}
.cd-page .cd-svc-name { color: #fff !important; font-size: clamp(17px, 1.3vw, 21px); line-height: 1.3; text-shadow: 0 2px 8px rgba(0,0,0,.55); margin-bottom: 9px; }
.cd-page .cd-svc-desc { color: #f8fafc !important; font-size: 14px; line-height: 1.65; text-shadow: 0 1px 5px rgba(0,0,0,.7); }

.cd-page .cd-map-wrap iframe { display:block; width:100%; min-height:320px; }
.cd-page .cd-home-contact { padding: 72px 0; background: linear-gradient(135deg,#f4f8fc 0%,#fff 55%,#fff7ef 100%); }
.cd-page .cd-home-contact-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:44px; align-items:center; }
.cd-page .cd-home-contact-copy .cd-section-title { margin-bottom:16px; }
.cd-page .cd-home-contact-copy > p { color:var(--muted); font-size:16px; line-height:1.8; margin-bottom:22px; }
.cd-page .cd-contact-direct { display:flex; align-items:center; gap:12px; color:var(--navy); font-weight:600; margin:13px 0; text-decoration:none; overflow-wrap:anywhere; }
.cd-page .cd-contact-direct i { display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; flex:0 0 38px; border-radius:50%; color:var(--orange); background:#fff0e4; }
.cd-page .cd-home-contact-form { min-width:0; padding:30px; background:#fff; border:1px solid #e7edf4; border-radius:18px; box-shadow:0 14px 38px rgba(11,37,69,.10); }
.cd-page .cd-form-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.cd-page .cd-home-contact-form label { display:block; min-width:0; margin:0 0 16px; color:#193454; font-size:13px; font-weight:600; }
.cd-page .cd-home-contact-form input:not([type=checkbox]), .cd-page .cd-home-contact-form select, .cd-page .cd-home-contact-form textarea {
  display:block; box-sizing:border-box; width:100%; max-width:100%; margin-top:7px; padding:12px 13px;
  border:1px solid #d7e0eb; border-radius:8px; background:#fbfdff; color:#1e293b; font:400 14px/1.5 var(--sans); outline:none;
}
.cd-page .cd-home-contact-form input:focus, .cd-page .cd-home-contact-form select:focus, .cd-page .cd-home-contact-form textarea:focus { border-color:var(--orange); box-shadow:0 0 0 3px rgba(243,112,33,.12); }
.cd-page .cd-home-contact-form textarea { resize:vertical; min-height:112px; }
.cd-page .cd-home-contact-form .cd-btn-orange { border:0; cursor:pointer; min-height:48px; }
.cd-page .cd-form-note { margin:13px 0 0; color:#64748b; font-size:12px; line-height:1.5; }
.cd-page .cd-form-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }

@media (max-width: 900px) {
  .cd-page .cd-home-contact-grid { grid-template-columns:1fr; gap:24px; }
  .cd-page .cd-home-contact-copy { text-align:center; }
  .cd-page .cd-contact-direct { justify-content:center; }
  .cd-page .cd-svc-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cd-page .cd-svc-card { min-height:280px; }
}
@media (max-width: 600px) {
  .cd-page .cd-gold-badge { width:136px; height:136px; padding:12px; }
  .cd-page .cd-gold-badge-om { font-size:24px; }
  .cd-page .cd-gold-badge-text { font-size:12px; line-height:1.32; }
  .cd-page .cd-svc-grid { grid-template-columns:1fr; gap:18px; }
  .cd-page .cd-svc-card { min-height:280px; }
  .cd-page .cd-svc-name { font-size:20px; }
  .cd-page .cd-svc-desc { font-size:14px; }
  .cd-page .cd-home-contact { padding:48px 0; }
  .cd-page .cd-home-contact-form { padding:20px 16px; border-radius:13px; }
  .cd-page .cd-form-row { grid-template-columns:1fr; gap:0; }
  .cd-page .cd-home-contact-copy .cd-section-title { font-size:28px; }
  .cd-page .cd-map-wrap iframe { min-height:280px; }
}


/* FINAL HEADER COLOR OVERRIDE: match the deep Himalayan-blue hero banner */
.cd-page header,
.cd-page .upper-head,
.cd-page .navigation,
.cd-page .navigation-content,
.cd-page .header_menu,
.cd-page .navbar.navbar-default {
  background: linear-gradient(110deg, #061b33 0%, #0b3765 58%, #124b7c 100%) !important;
}
.cd-page header { color:#fff; border-bottom:3px solid #f47721; }
.cd-page .upper-head { border-bottom:1px solid rgba(255,255,255,.13); }
.cd-page .upper-head p,
.cd-page .upper-head .login-btn { color:#f4f8ff !important; }
.cd-page .navigation { box-shadow:0 8px 24px rgba(4,22,43,.22); }
.cd-page .nav.navbar-nav > li > a { color:#f5f8fc !important; }
.cd-page .nav.navbar-nav > li > a:hover,
.cd-page .nav.navbar-nav > li.active > a { color:#ff9a4d !important; }
.cd-page .cd-mobile-toggle { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.25); border-radius:8px; }
.cd-page .cd-mobile-toggle span { background:#fff !important; }
.cd-page .cd-header-booking { background:#f47721 !important; color:#fff !important; border:1px solid rgba(255,255,255,.2); }
.cd-page .cd-header-booking:hover { background:#ff8a32 !important; }
.cd-page .nav.navbar-nav li ul { background:#fff; }
.cd-page .nav.navbar-nav li ul li a { color:#24364b !important; }
@media (max-width:767px) {
  .cd-page .upper-head .container { gap:4px; }
  .cd-page .upper-head .contact-info { row-gap:2px; }
  .cd-page .navigation { background:#08294c !important; }
}
