/* ============================================
   Camp Page – Custom Styles
   Specific styles for camp.html
   ============================================ */

/* ----------------------------------------
   Font Family Override for Camp Page
---------------------------------------- */

/* Camp page paragraph/text font */
.camp-description,
.camp-right-section .camp-description,
.camp-content-text,
.camp-info-label,
.camp-info-value,
.camp-pricing-label,
.camp-pricing-amount,
.camp-pricing-tax,
.camp-stats-label,
.camp-stats-value,
.camp-table-col,
.camp-date,
.camp-age,
.camp-code,
.faq-question,
.faq-answer {
  font-family: "Manrope", sans-serif !important;
}
h1,h2,h3,h4,h5,h6{
  font-family: "Outfit", sans-serif !important;
}
/* ----------------------------------------
   Hero Image (replaces video in camp page)
---------------------------------------- */

.hero-image {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  object-fit: cover;
}
.camp-content-section p{
  color: #002E4A;
}
/* Camp hero logo — own classes so index `.hero-banner-logo` (custom.css) rules never apply */
.camp-hero-logo-wrap {
  position: absolute;
  top: clamp(0.75rem, 2.5vh, 1.5rem);
  left: 20%;
  transform: translateX(-50%);
  z-index: 5;
  pointer-events: none;
}

.camp-hero-banner-logo {
  display: block;
  width: auto;
  max-width: min(360px, 88vw);
  height: auto;
  margin: 0;
}

/* ----------------------------------------
   Camp Details Section
---------------------------------------- */
.camp-details-section {
  background-color: #ffffff;

  background-origin: padding-box;
  background-clip: padding-box;
  padding: 0rem 0 1.5rem;
  position: relative;
  overflow: visible;
  /* Above .camp-program-slides-wrapper + banner image (Book Now dropdown must stack on top) */
  z-index: 100;
  isolation: isolate;
  padding-top: 32px;
}

.camp-details-section .container {
  position: relative;
  padding-left: 0;
  padding-right: 0;
}

.camp-details-section .camp-details-container {
  position: relative;
  z-index: 2;
}

.camp-details-content {

  /* max-width: 1280px; */
  max-width: 1300px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 30% 70%;
  gap: 1rem;
  align-items: start;
  align-items: start; /* sab top par rahenge by default */
  overflow: visible;

}
.camp-left-section {
  align-self: center;
}
.camp-details-content-2 {
  /* max-width: 1280px; */
  max-width: 1300px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 50% 50%;
  gap: 1rem;
  align-items: start;
  overflow: visible;
}


.video-wrapper {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  border-radius: 30px;
  overflow: hidden;
}

.video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.camp-left-section {
  position: relative;
  padding-right: 1rem;
}

.camp-left-section h2{
  font-family: "Inter", sans-serif;
  font-size:18px;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: 0.2px;
  text-transform: uppercase;
  color: #002E4A;
  margin: 0 0 0.25rem;
}

.camp-left-section h3 {

  font-size: 50px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.02em;
  text-transform: lowercase;
  color: #FFCB5B;
  margin: 0 0 1rem;
}

.camp-right-section {
  position: relative;
  padding-left: 0rem;
  display: flex;
  flex-direction: column;
text-align: center;
  overflow: visible;
}

.camp-right-section .camp-main-heading {

  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 700;
  color: var(--inme-blue);
  text-align: center;
  margin: 0 0 1.5rem;
  line-height: 1.2;
  text-transform: lowercase;
  letter-spacing: -0.02em;
  width: 100%;
}

.camp-right-section .camp-description {
font-family: "Manrope", sans-serif !important;
  font-size: 1rem;
  line-height: 1.7;
  color: #4a4a4a;
  text-align: center;
  margin: 0 0 3rem;
  width: 100%;
}

.camp-main-heading {
  font-size: 36px;
  font-weight: 700;
  color: #002E4A;
  text-align: left;
  margin: 0 0 1.5rem;
  line-height: 1.2;
  text-transform: lowercase;
  letter-spacing: -0.02em;
}

.camp-left-section p {
  font-family: "Manrope", sans-serif !important;
  font-size: 16px;
  font-weight: 400;
  line-height:26px;
  letter-spacing: 0.6px;
 color  : #002E4A;
margin-top:15px !important;
  text-align: justify;
  margin: 0;
}

.camp-right-section .camp-info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1rem;
  width: 100%;
  padding: 0px 20px 0px 0px;
  max-width: 100%;
  margin: 0 auto;
}

.camp-info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1rem;
  width: 100%;
}

.camp-info-column {
  display: contents;
}

.camp-info-item {
  display: flex;
  align-items:center;
  gap: 1rem;
  text-align: left;
}

.camp-info-icon {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--inme-blue);
  font-size: 1.25rem;
}

.camp-info-icon svg {
  width: 100%;
  height: 100%;
}

.camp-info-text {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  flex: 1;
  align-items: flex-start;
  text-align: left;
}

.camp-info-label {
  font-family: "Outfit", sans-serif !important;
  font-size:12px;
  font-weight: 300;
  color: #002E4A;
  text-transform: capitalize;
  text-align: left;
}
.whatsapp-float-2 {
    position: fixed;
    bottom: 5rem;
    right: 7.5rem;
    padding: 0.35rem 0.5rem;
    background: transparent;
    color: #f1f1f1;

  }
.camp-info-value {
  font-family: "Outfit", sans-serif !important;
  font-size: 14px;
  font-weight:bold;
 color: #002E4A;
  line-height: 1.3;
}

.camp-pricing-bar {
  --camp-pricing-cyan: #00A5E5;
  position: relative;
  z-index: 1;
  background: transparent;
  padding: 24px 24px 24px 0px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0rem;
  margin-top: 2rem;
  margin-bottom: 1rem;
  width: auto;
  overflow: visible;
  border-radius: 0;
  /* Shape is on ::after so dropdown children are not clipped by clip-path */
  transform: none;
  outline: none;
}

.camp-pricing-bar::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: var(--camp-pricing-cyan);
  clip-path: polygon(0 14%, 100% 0, 100% 100%, 0 86%);
  pointer-events: none;
}

.camp-pricing-bar::before {
  content: none;
}

.camp-pricing-info {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  min-width: 170px;
  transform: none;
}

.camp-pricing-label {
font-family: "Outfit", sans-serif !important;
  font-size:14px;
  color:#ffffff;
  font-weight: 700;
}

.camp-pricing-amount {
  font-family: "Outfit", sans-serif !important;
  font-size:22px;
  font-weight: 700;
  color: #ffffff;

  line-height: 1;
}

.camp-pricing-tax {
font-family: "Outfit", sans-serif !important;
  font-size:16px;
  color: #ffffff;
  font-weight: 400;
}

.camp-pricing-buttons {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 1rem;
  transform: none;
}

.btn-download-brochure {
font-family: "Outfit", sans-serif !important;
  font-size: 14px;
  font-weight: 700;
  padding: 0.875rem 2rem;
  background: transparent;
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.9);
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
  min-height: 48px;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
}

.btn-download-brochure svg path {
  fill: #ffffff;
}



.btn-download-brochure:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
}

.btn-book-now {
  font-family: 'Inter', sans-serif !important;
  font-size: 14px;
  font-weight: 700;
  padding: 0.875rem 2rem;
  background: var(--inme-yellow);
  border: 2px solid var(--inme-yellow);
  color: var(--inme-text-dark);
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.2s ease;
  min-height: 48px;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
}



.btn-book-now:hover {
  background: var(--inme-yellow);
}

/* Book Now — dates dropdown */
.camp-book-now-wrap {
  position: relative;
  display: inline-block;
  z-index: 2;
}

.camp-book-dropdown {
  position: absolute;
  top: calc(100% + -30px);
  right: 0;
  z-index: 9999;
  min-width: min(100vw - 2rem, 375px);
  max-width: min(100vw - 2rem, 480px);
  background: #ffffff;
  border-radius: 10px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
  padding: 0;
  padding-bottom: 15px;
  isolation: isolate;
}

.camp-book-dropdown[hidden] {
  display: none !important;
}

.camp-book-dropdown-inner {
padding: 5px 15px;
}

.camp-book-dates-table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--font-primary);
  font-size: 13px;
  color: #1a1a1a;
}

.camp-book-dates-table thead th {
  text-transform: uppercase;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.04em;
  padding: 0.65rem 0.4rem;
  text-align: left;
  border-bottom: 1px dashed #002E4A;
  vertical-align: bottom;
}

.camp-book-dates-table thead th:nth-child(2) {
  text-align: center;
}

.camp-book-dates-table thead th:nth-child(3) {
  text-align: right;
  padding-right: 0.25rem;
}

.camp-book-dates-table thead th:last-child {
  width: 1%;
  white-space: nowrap;
  text-align: right;
  border-bottom: 1px dashed #002E4A;
}

.camp-book-dates-table tbody td {
  padding: 0.7rem 0.4rem;
  vertical-align: middle;
  border-bottom: 1px dashed #002E4A;
}

.camp-book-dates-table tbody td:nth-child(2) {
  text-align: center;
}

.camp-book-dep-cell {
  text-align: right;
  font-size: 12px;
  line-height: 1.35;
}

.camp-book-dates-stack {
  display: inline-block;
  text-align: right;
}

.camp-book-signup {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.4rem 0.65rem;
    font-family: 'Inter', sans-serif !important;
  min-height: 32px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  color: #ffffff !important;
  background: #002e4a;
  border-radius: 4px;
  transition: background 0.2s ease;
  white-space: nowrap;
}

.camp-book-signup:hover {
  background: #0d2137;
  color: #ffffff !important;
}

.camp-book-show-more {
  display: block;
  margin: 0.6rem auto 0;
  padding: 0.55rem 1rem;
    font-family: 'Inter', sans-serif !important;
  font-size: 13px;
  font-weight: 700;
  color: #004D65;
  background: #ffffff;
  border: 1px solid #004D65;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.camp-book-show-more:hover {
  background: rgba(94, 200, 220, 0.12);
}

/* ----------------------------------------
   Camp Banner Section
---------------------------------------- */
.camp-banner-section {
  width: 100%;
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.camp-banner-image {
  width: 100%;
  position: relative;
  overflow: hidden;
}

.camp-banner-img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  min-height: 500px;
}

/* ----------------------------------------
   Camp Stats Bar
---------------------------------------- */
.camp-stats-bar {
  background: #00A5E5;
  padding: 8px 2rem;
  position: relative;
  overflow: hidden;
}

.camp-stats-row {
  display: flex;
align-items: center;
justify-content: space-between;
/* max-width: 1200px; */
margin: 0 auto;
position: relative;
z-index: 2;
gap: 1rem;
}

.camp-stats-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.5rem;
}

.camp-stats-label {
font-family: "Outfit", sans-serif !important;
  font-size: 12px;
  font-weight: 700;
  color: #ffff;
  text-transform: lowercase;
  line-height: 1.3;
  letter-spacing: 0.4px;
}

.camp-stats-value {
  font-family: "Outfit", sans-serif !important;
  font-size:22px;
  font-weight: 700;
  color: #fff;
  text-transform: lowercase;
   letter-spacing: 0px;
  line-height: 1.2;
}

.camp-stats-divider {
  width: 1px;
  height: 60px;
  background: transparent;
  border-left: 2px dashed #fff;
  flex-shrink: 0;
}

.camp-stats-icon {
  position: absolute;
    top: 201px;
    left: -90px;
    transform: translateY(-67%);
    width: 131px;
    height: 283px;
    opacity: 0.6;
    z-index: 1;
    pointer-events: none;
}

.camp-stats-icon svg {
  width: 100%;
  height: 100%;
}

.camp-program-slides-wrapper {
  position: relative;
  z-index: 0;
}

/* ----------------------------------------
   Camp Slides Wrapper
---------------------------------------- */
.camp-slides-wrapper {
  position: relative;
  background: transparent;
  overflow: visible;
}

.camp-program-slides-wrapper .camp-program-section,
.camp-program-slides-wrapper .camp-stats-bar,
.camp-program-slides-wrapper .camp-slides-wrapper {
  position: relative;
  z-index: 2;
}

/* Banner stays below camp-details (z-index:100); avoids competing layer over pricing dropdown */
.camp-program-slides-wrapper .camp-banner-section {
  position: relative;
  z-index: 0;
}

.camp-program-slides-wrapper .camp-image-slider {
  position: relative;
  z-index: 3;
}

.camp-program-slides-wrapper .camp-content-right,
.camp-program-slides-wrapper .camp-program-header,
.camp-program-slides-wrapper .camp-program-table {
  position: relative;
  z-index: 4;
}

/* ----------------------------------------
   Camp Content Section
---------------------------------------- */
.camp-content-section {
  padding: 3rem 0 2rem 0;
  background: transparent;
  position: relative;
  z-index: 2;
}

.camp-content-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
  margin: 0 auto;
  padding: 0 0rem;
}

/* Alternate rows: image left, text right (DOM stays text-left / image-right; swap visually) */
.camp-content-wrapper--reverse .camp-content-left {
  order: 2;
}
.camp-content-wrapper--reverse .camp-content-right {
  order: 1;
}

.camp-content-left {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.camp-content-heading {
  font-size: 44px;
  font-weight: 700;
  color:#002E4A;
  line-height: 1.2;
  margin: 0;
  letter-spacing: -0.02em;
}

.camp-content-text {
  font-family: var(--font-primary);
  font-size:18px;
  font-weight: 400;
  line-height: 1.7;
  color: #002E4A;
  margin: 0;
}

.camp-content-right {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

/* Slide image only: top-left + bottom-right rounded — arrows/dots stay square (not inside rounded box) */
.camp-image-slider {
  --camp-slide-corner: 30px;
  position: relative;
  width: 100%;
  overflow: visible;
}

.camp-slider-container {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: var(--camp-slide-corner) 0 var(--camp-slide-corner) 0;
  overflow: hidden;
}

.camp-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.5s ease;
  border-radius: var(--camp-slide-corner) 0 var(--camp-slide-corner) 0;
  overflow: hidden;
}

.camp-slide.active {
  opacity: 1;
  z-index: 1;
}

.camp-slide-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 30px 0px 30px 0px;
}

.camp-slide-badge {
  display: none; /* shown on phone only */
}

.camp-slider-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 0 0;
  margin-top: 0.5rem;
}

.camp-slider-dots {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}

.camp-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #b0b8c4;
  cursor: pointer;
  transition: all 0.3s ease;
  border: none;
  padding: 0;
}

.camp-dot:hover {
  background: #9ca5b3;
}

.camp-dot.active {
  background: #e6a23c;
  width: 24px;
  height: 6px;
  border-radius: 3px;
}

.camp-slider-arrows {
  display: flex;
  gap: 0.5rem;
}

.camp-arrow-btn {
  width: 40px;
  height: 40px;
  background: #0d2137;
  border: none;
  border-radius: 0;
  color: #d4a84b;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  font-size: 1.125rem;
  padding: 0;
  box-shadow: none;
}

.camp-arrow-btn:hover {
  background: #0f2842;
  color: #e6b84c;
}

.camp-arrow-btn:active {
  transform: scale(0.98);
}

.camp-arrow-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
  background: #0d2137;
  color: rgba(212, 168, 75, 0.5);
}

/* ----------------------------------------
   Camp Program Table Section
---------------------------------------- */
.camp-program-section {
  padding: 4rem 0;
  background: #ffffff;
  position: relative;
  overflow: hidden;
}

.camp-program-logo {
  text-align: left;
  margin-bottom: 2.5rem;
  position: relative;
  z-index: 2;
  max-width: 1125px;
  margin-left: auto;
}

.camp-logo-img {
  width: 456px;
  height:194px;
  display: inline-block;
}

.camp-program-header {
  text-align: left;
  margin-bottom: 2.5rem;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 2rem;
  position: relative;
  z-index: 2;
}

.camp-program-label {
  font-family: var(--font-primary);
  font-size: 0.875rem;
  font-weight: 400;
  color: #999999;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  display: block;
  margin-bottom: 0.5rem;
}

.camp-program-title {
  font-family: var(--font-primary);
  font-size: 2rem;
  font-weight: 700;
  color: #4a4a4a;
  text-transform: lowercase;
  margin: 0 0 0.5rem;
  letter-spacing: -0.02em;
}

.camp-program-location {
  font-family: var(--font-primary);
  font-size: 0.9375rem;
  font-weight: 400;
  color: #999999;
  margin: 0;
}

.camp-program-table {
  max-width: 1000px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
  padding: 0 2rem;
}

.camp-table-header {
  display: grid;
  grid-template-columns: 100px 80px 120px 120px 180px 140px;
  gap: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px dashed #002E4A;
  margin-bottom: 1rem;
  justify-content: center;
}

.camp-table-row {
  display: grid;
  grid-template-columns: 100px 80px 120px 120px 180px 140px;
  gap: 1.5rem;
  padding:10px 0px 20px 0;

  border-bottom: 1px dashed #002E4A;
  align-items: center;
  justify-content: center;
}

.camp-table-col {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  text-align: left;
}

/* Desktop: combined DEP/ARR column hidden */
.camp-col-dep-arr {
  display: none;
}

.camp-program-table-actions {
  display: flex;
  justify-content: center;
  margin-top: 0.5rem;
  margin-bottom: 0.25rem;
}

.camp-table-show-more {
  font-family: var(--font-primary);
  font-size: 14px;
  font-weight: 700;
  padding: 0.65rem 1.75rem;
  background: transparent;
  color: #002E4A;
  border: 1px solid #002E4A;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
}

.camp-table-show-more:hover {
  background: rgba(0, 46, 74, 0.06);
}

.camp-table-show-more:focus-visible {
  outline: 2px solid rgba(0, 46, 74, 0.35);
  outline-offset: 2px;
}

.camp-table-extra-rows[hidden] {
  display: none !important;
}

.camp-table-extra-rows:not([hidden]) {
  display: block;
}

.camp-table-header .camp-table-col {
  font-family: var(--font-primary);
  font-size:12px;
  font-weight: 400;
  color:#002E4A;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  text-align: left;
}

.camp-code {
  font-family: var(--font-primary);
  font-size:16px;
  font-weight: 700;
  color: #002E4A;
}

.camp-age,
.camp-date {
  font-family: var(--font-primary);
  font-size:14px;
  font-weight: 400;
  color:#002E4A;
}

.camp-price {
  font-family: var(--font-primary);
  font-size: 0.9375rem;
  font-weight: 700;
  color: #333333;
  display: block;
  margin-bottom: 0.25rem;
}

.camp-price-note {
  font-family: var(--font-primary);
  font-size: 0.75rem;
  font-weight: 400;
  color: #999999;
  display: block;
  line-height: 1.3;
}

.camp-signup-btn {
  font-family: var(--font-primary);
  font-size:14px;
  font-weight: 700;
  background: var(--inme-blue);
  color: #ffffff;
  border: none;
  padding: 0.75rem 1.5rem;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  cursor: pointer;
  transition: background 0.3s ease;
  white-space: nowrap;
  width: 100%;
}

.camp-signup-btn:hover {
  background: var(--inme-blue-light);
  color: #ffffff;
}

/* Responsive */
@media (max-width: 991.98px) {
  .camp-details-section .container,
  .camp-details-section .camp-details-container {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
  .camp-content-left {

    gap: 10px;
}
.camp-content-section {
    padding: 2rem 0 2rem 0;

}
  .camp-hero-logo-wrap {
  left: 31%;
}
.camp-float{
          bottom: 10rem;
}

  .camp-details-content,.camp-details-content-2 {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  .grid-right {
    grid-row: 1;
  }

  .grid-left {
    grid-row: 2;
  }
  .camp-left-section {
    padding-right: 0;

  }

  .camp-right-section {
    padding-left: 0;
  }

  .camp-main-heading {
    text-align: center;
  }

  .camp-description {
    text-align: center;
  }

  /* Tablet/phone: info grid ek ke niche ek (single column) */
  .camp-right-section .camp-info-grid,
  .camp-info-grid {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    max-width: 100%;
  }

  .camp-info-column:first-child .camp-info-item:nth-child(1) { order: 1; }
  .camp-info-column:first-child .camp-info-item:nth-child(2) { order: 2; }
  .camp-info-column:first-child .camp-info-item:nth-child(3) { order: 4; }
  .camp-info-column:last-child .camp-info-item:nth-child(1) { order: 3; }
  .camp-info-column:last-child .camp-info-item:nth-child(2) { order: 5; }
  .camp-info-column:last-child .camp-info-item:nth-child(3) { order: 6; }

  .camp-info-item {
    padding: 0.75rem 0;
  }

  .camp-info-grid .camp-info-column:last-child .camp-info-item:last-child,
  .camp-right-section .camp-info-grid .camp-info-column:last-child .camp-info-item:last-child {
    border-bottom: none;
  }

  .camp-info-column {
    gap: 0;
  }

  .camp-pricing-bar {
    flex-direction: column;
    align-items: flex-start;
    padding: 2rem 1.25rem;
    max-width: 100%;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 1rem;
    border-radius: 0;
    transform: none;
    box-sizing: border-box;
  }

  .camp-pricing-bar::after {
    clip-path: polygon(0 12%, 100% 0, 100% 100%, 0 88%);
  }

  .camp-pricing-buttons {
    width: 100%;
    display: flex;
    gap: 1rem;
  }

  .btn-download-brochure,
  .btn-book-now {
    flex: 1;
    min-width: 150px;
  }

  .camp-stats-row {
    gap: 1rem;
  }

  .camp-stats-item {
    flex: 1;
    min-width: 0;
  }

  .camp-stats-icon {
    display: block;

  }
  .camp-stats-icon {
    position: absolute;
  top: 146%;
  left: 94% !important;
  }

  .camp-content-wrapper {
    grid-template-columns: 1fr;
    gap: 0rem;
  }

  .camp-content-heading {
    text-align: center;
  }

  .camp-content-text {
    text-align: center;
  }

  .camp-program-table {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .camp-hero-logo-wrap {
    top: 0.75rem;
  }

  .camp-hero-banner-logo {
    max-width: min(200px, 50vw);
  }
}

@media (max-width: 767.98px) {
  .camp-details-section {
    padding: 0rem 0 1.25rem;
    background-size: 100% auto;
    background-position: center top;
  }
  .camp-slider-controls {
    display: none;
  }
  .discover-heading {

    font-size:24px;
  }

  .camp-banner-img{
    min-height: 100%;
  }

  .camp-details-section .container,
  .camp-details-section .camp-details-container {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .camp-right-section {
    text-align: left;
    align-items: stretch;
    margin-top: 0px;
  }

  .camp-logo-img {
    width: 259px;
    height: auto;
    display: inline-block;
}

  .camp-main-heading {
    font-size:35px;
    font-weight: 700;
    text-align: left;
  }

  .camp-description {
    font-size:12px;
    font-weight: 400;
    margin-bottom: 0rem;
    text-align: left;
  }

  /* Phone: text upar, slide niche – sabhi image slide sections mein same order */
  .camp-content-section .camp-content-wrapper {
    display: flex;
    flex-direction: column;
            padding: 0px 10px;
  }
  .camp-content-section .camp-content-left:has(.camp-content-heading),
  .camp-content-section .camp-content-right:has(.camp-content-heading) {
    order: 1;
  }
  .camp-content-section .camp-content-left:has(.camp-image-slider),
  .camp-content-section .camp-content-right:has(.camp-image-slider) {
    order: 2;
  }

  .camp-content-section .camp-content-heading {
    text-align: left;
    font-size:32px;
    font-weight: 700;
    line-height: 1.2;
  }

  .camp-content-section .camp-content-text {
    text-align: left;
    font-size:12px;
    font-weight: 400;
    line-height: 1.6;
  }

  .camp-content-section .camp-image-slider {
    overflow: visible;
    /* Horizontal carousel: radius on each card, not the track */
    border-radius: 0;
    --camp-slide-corner: 30px;
  }

  .camp-content-section .camp-slider-container {
    display: flex;
    flex-direction: row;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 1rem;
    padding: 0 0 0.5rem;
    aspect-ratio: unset;
    position: relative;
    width: 100%;
  }

  .camp-content-section .camp-slide {
    position: relative;
    flex: 0 0 85%;
    min-width: 85%;
    width: 85%;
    height: auto;
    aspect-ratio: 4 / 3;
    border-radius: var(--camp-slide-corner, 30px) 0
      var(--camp-slide-corner, 30px) 0;
    overflow: hidden;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    opacity: 1;
    top: auto;
    left: auto;
  }

  .camp-content-section .camp-slide-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--camp-slide-corner, 30px) 0
      var(--camp-slide-corner, 30px) 0;
  }

  .camp-content-section .camp-slide-badge {
    display: block;
    position: absolute;
    top: 1rem;
    left: 1rem;
    z-index: 2;
    background: #ffffff;
    color: #002E4A;
    font-family: var(--font-primary);
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.35rem 0.875rem;
    border-radius: 20px;
    text-transform: lowercase;
    white-space: nowrap;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
  }

  /* Phone: camp-stats-bar – image jaisa: ek ke niche ek, label upar value neeche, sab centered */
  .camp-stats-bar {
    padding: 1rem 1.25rem;
  }

  .camp-stats-row {
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 0;
    align-items: center;
  }

  .camp-stats-item {
    flex: none;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 7px 0;
    border-bottom: none;
    gap:0rem;
    width: 100%;
    max-width: 320px;
    margin: 0 auto;
  }

  /* Short centered dotted line between blocks (not full-bleed) */
  .camp-stats-item:not(:last-of-type)::after {
    content: "";
    display: block;
    width: min(72px, 18vw);
    margin-top: 1rem;
    border-bottom: 2px dashed rgba(255, 255, 255, 0.95);
  }

  .camp-stats-item:last-of-type {
    border-bottom: none;
  }

  .camp-stats-divider {
    display: none;
  }

  .camp-stats-label {
    font-size: 12px;
    font-weight: 700;

    text-transform: lowercase;
    margin: 0;
    line-height: 1.3;
  }

  .camp-stats-value {
    font-size:24px;
    font-weight: 700;

    text-transform: lowercase;
    margin: 0;
    line-height: 1.2;
    text-align: center;
  }

  /* Phone: table – DEP/ARR ek line mein (combined), scroll agar chhoti screen */
  .camp-program-table {
    padding: 0 1rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .camp-program-table .camp-table-header,
  .camp-program-table .camp-table-row {
    grid-template-columns: 80px 60px 1fr 1fr;
    gap:3px;
    min-width: 320px;
  }

  .camp-program-table .camp-col-departure,
  .camp-program-table .camp-col-arrival {
    display: none !important;
  }

  .camp-program-table .camp-col-dep-arr {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
  }

  .camp-program-table .camp-table-col::before {
    content: none;
    display: none;
  }

  .camp-program-table .camp-table-col {
    padding: 0;
    border-bottom: none;
  }

  /* Phone: info section ek ek vertical stack (Eligibility, Accommodation, Season, Duration, Location, Travel) */
  .camp-right-section .camp-info-grid,
  .camp-info-grid {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    max-width: 100%;
  }

  .camp-info-column:first-child .camp-info-item:nth-child(1) { order: 1; }
  .camp-info-column:first-child .camp-info-item:nth-child(2) { order: 2; }
  .camp-info-column:first-child .camp-info-item:nth-child(3) { order: 4; }
  .camp-info-column:last-child .camp-info-item:nth-child(1) { order: 3; }
  .camp-info-column:last-child .camp-info-item:nth-child(2) { order: 5; }
  .camp-info-column:last-child .camp-info-item:nth-child(3) { order: 6; }

  .camp-info-item {
    padding: 10px 0;

  }

  .camp-info-grid .camp-info-column:last-child .camp-info-item:last-child,
  .camp-right-section .camp-info-grid .camp-info-column:last-child .camp-info-item:last-child {
    border-bottom: none;
  }

  /* Phone: camp-pricing-bar – image jaisa: text upar left, buttons neeche side-by-side */
  .camp-pricing-bar {
    flex-direction: row;
    align-items: stretch;
    padding: 19px;
    max-width: 100%;
    margin-top: 0rem;
    margin-bottom: 1rem;
    gap: 1.25rem;
    border-radius: 0;
    transform: none;
  }

  .camp-pricing-bar::after {
    clip-path: content-box;
  }

  .camp-pricing-info {
    text-align: left;
    min-width: 0;
  }

  .camp-pricing-label {
    font-size: 0.875rem;
    font-weight: 700;
    color: #ffffff;
  }

  .camp-pricing-amount {
    font-size: 1.75rem;
    font-weight: 700;
    color: #ffffff;
  }

  .camp-pricing-tax {
    font-size: 0.7rem;
    color: #ffffff;
  }

  .camp-pricing-buttons {
    flex-direction: column;
    gap: 0.75rem;
    width: 100%;
  }
  .camp-pricing-buttons {
    position: relative;
    z-index: 1;
    display: flex;
    gap: 1rem;
    transform: none;
    max-width: 151px;
}

  .btn-download-brochure,
  .btn-book-now {
    flex: 1;
    width: auto;
    min-width: 0;
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
  }

  .btn-download-brochure {
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.9);
    color: #ffffff;
  }

  .btn-book-now {
    background: #ffcc66;
    border: 1px solid #ffcc66;
    color: #002E4A;
  }

  .camp-book-now-wrap {
    flex: 1;
    min-width: 0;
  }

  .camp-book-now-wrap .btn-book-now {
    width: 100%;
  }

  .camp-book-dropdown {

          /* right: auto;
          width:360px;
          min-width: 0;
          margin: auto; */
          min-width:100%;
          max-width: min(100vw - 2rem, 480px);
          transform: translate(0%, -58%);
          top: calc(100% + 149px);
  }
}

/* ----------------------------------------
   FAQ Section
---------------------------------------- */
.faq-section {
  padding: 2rem 0;
  background: var(--body-bg);
  position: relative;
}
.faq-heading {

  font-size: 36px;
  font-weight: 700;
  color:#002E4A;
  margin-bottom: 1rem;
}
.faq-subtitle {
  font-family: var(--font-primary);
  font-size: 1.1rem;
  color: #6c757d;
  font-weight: 400;
  margin: 0;
}
.faq-section .accordion {
  --bs-accordion-border-color: rgba(13, 33, 55, 0.1);
  --bs-accordion-border-radius: 0.5rem;
  --bs-accordion-inner-border-radius: 0.5rem;
  --bs-accordion-btn-padding-x: 1.5rem;
  --bs-accordion-btn-padding-y: 1.25rem;
  --bs-accordion-body-padding-x: 1.5rem;
  --bs-accordion-body-padding-y: 1.5rem;
  --bs-accordion-active-color: var(--inme-blue);
  --bs-accordion-active-bg: rgba(13, 33, 55, 0.03);
  border: none;
}
.faq-section .accordion-item {
  background: transparent;
  border: none;
  border-radius: 0;
  margin-bottom: 0;
  box-shadow: none;
  transition: none;
  overflow: hidden;
  border-bottom: 1px dashed #002E4A;
}
.faq-section .accordion-item:hover {
  box-shadow: none;
  border-color: transparent;
}
.faq-section .accordion-item:last-child {
  border-bottom: none;
}
.faq-section .accordion-button {
  font-family: var(--font-primary);
  font-size:20px;
  font-weight: 700;
  color: #002E4A;
  background: transparent;
  border: none;
  border-bottom: 0px dashed #002E4A;
  box-shadow: none;
  padding: 1.25rem 0rem;
  position: relative;
}
.faq-section .accordion-item:last-child .accordion-button {
  border-bottom: none;
}
.faq-section .accordion-button:not(.collapsed) {
  background: transparent;
  color:#002E4A;
  box-shadow: none;
      border-bottom-color: rgb(13 33 55 / 0%);
}
.faq-section .accordion-button:focus {
  border-color: transparent;
  box-shadow: none;
  outline: 2px solid rgba(13, 33, 55, 0.2);
  outline-offset: 2px;
}
.faq-section .accordion-button::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%230d2137' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
  width: 1.25rem;
  height: 1.25rem;
  background-size: 1.25rem;
  transition: transform 0.3s ease;
  flex-shrink: 0;
  margin-left: auto;
}
.faq-section .accordion-button:not(.collapsed)::after {
  transform: rotate(180deg);
}
.faq-section .accordion-body {
  font-family: var(--font-primary);
  font-size:14px;
  font-weight: 400;
  line-height: 1.7;
  color: #002E4A;
  padding: 0 0rem 1.5rem;
}

@media (max-width: 767.98px) {
  .faq-section {
    padding: 0rem 0;
  }
  .camp-info-value {
    font-size: 14px;
    font-weight: bold;

}
.camp-left-section p {
    font-family: "Manrope", sans-serif !important;
    font-size: 12px;
    font-weight: 400;
    line-height: 16px;
    letter-spacing: 0.4px;

}
.camp-left-section h3 {
    font-size: 40px;
    font-weight: 800;

}
.camp-left-section h2 {
    font-size: 16px;
    font-weight: 700;

}
.camp-content-section p {
  font-size: 12px;

}
  .whatsapp-float-2 {
    position: fixed;
    bottom: 5rem;
    right: 1.5rem;
    padding: 0.35rem 0.5rem;
    background: transparent;
    color: #f1f1f1;
}
  .faq-heading {
    font-family: var(--font-primary);
    font-size: 24px;
    margin-left: 13px;
    font-weight: 700;
    color: #002E4A;
    max-width:100%;
    margin-bottom: 1rem;
    letter-spacing: -0.02em;
}
  .faq-header {
    margin-bottom: 0rem;
  }
  .faq-section .accordion-button {
    font-size: 18px;
    font-weight: 800;
    padding: 1rem 1.25rem;
  }
  .faq-section .accordion-body {
    font-size:12px;
    font-weight: 500;
    padding: 0 1.25rem 1.25rem;
  }
}

/* Camp page only: hero call button lower on phone (override custom.css bottom: 9rem) */
@media (max-width: 767.98px) {
  body.page-camp .whatsapp-float {
    bottom: calc(1.5rem + env(safe-area-inset-bottom, 0px));
  }
}
