  html {
  	overflow-x: hidden;
  	scrollbar-gutter: stable;
  }

  body {
  	overflow-x: clip;

  }



/* ===== RESPONSIVE HEADER CSS ===== */

  .navbar-nav .nav-link:hover {
  	background: #ffc107;
  }

  @media (min-width: 992px) {
  	.navbar-nav.mx-lg-auto {
  		flex-wrap: nowrap !important;
  		justify-content: center !important;
  		gap: 5px !important;
  	}

  	.navbar-nav.mx-lg-auto .nav-link,
  	.navbar-nav.mx-lg-auto .dropdown-toggle {
  		white-space: nowrap !important;
  	}
  }

  /* Desktop dropdown hover behavior */
  @media (min-width: 992px) {
  	.dropdown:hover .dropdown-menu {
  		display: block;
  		opacity: 1;
  		visibility: visible;
  		transform: translateY(0);
  	}

  	.dropdown-menu {
  		position: absolute;
  		top: 100%;
  		left: -250px;
  		width: 1000px;
  		opacity: 0;
  		visibility: hidden;
  		display: block;
  		transform: translateY(20px);
  		transition: .35s ease;
  		max-height: 500px;
  		overflow-y: auto;
  	}
  }

  /* Mobile/Tablet: dropdown becomes normal accordion inside collapsed menu */
  @media (max-width: 991px) {
  	.dropdown-menu.mega-menu {
  		position: static;
  		width: 100%;
  		max-height: 60vh;
  		overflow-y: auto;
  		box-shadow: none !important;
  		border: 1px solid #eee;
  		display: none;
  	}

  	.dropdown-menu.mega-menu.show {
  		display: block;
  	}

  	.navbar-collapse {
  		max-height: 85vh;
  		overflow-y: auto;
  	}

  	/* Domestic / International accordion toggle */
  	.mega-toggle {
  		cursor: pointer;
  		display: flex !important;
  		align-items: center;
  		justify-content: space-between;
  	}

  	.mega-caret {
  		transition: .25s ease;
  	}

  	.mega-toggle.open .mega-caret {
  		transform: rotate(180deg);
  	}

  	.mega-list {
  		display: none;
  		max-height: 45vh;
  		overflow-y: auto;
  	}

  	.mega-list.show {
  		display: block;
  	}
  }

  /* ===== Mega menu link styling (parent class, no repeated classes needed) ===== */
  .mega-menu a {
  	display: block;
  	font-weight: bold;
  	color: #212529;
  	text-decoration: none;
  	padding: 4px 0;
  	transition: .25s ease;
  	border-radius: 6px;
  }

  .mega-menu a:hover {
  	color: orange !important;
  	transform: translateX(8px);
  }

  .mega-menu h3 {
  	color: #ffb300;
  	border-bottom: 2px solid #eee;
  	padding-bottom: 10px;
  }

  .dropdown-menu::-webkit-scrollbar {
  	width: 6px;
  }

  .dropdown-menu::-webkit-scrollbar-thumb {
  	background: #ffc107;
  	border-radius: 20px;
  }

  /* Logo size adjust for mobile */
  @media (max-width: 991px) {
  	.logo-img {
  		width: 140px !important;
  	}
  }




/* STARTING OF HOME PAGE */

.nh-hero-video__bg {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  transform: translate(-50%, -50%);
  object-fit: cover;
  z-index: 1;
}
.nh-hero-video__scroll {
  cursor: pointer !important;
}
.nh-hero-video__scroll-line {
  width: 1px;
  height: 60px;
  background: rgba(255, 255, 255, 0.4);
  position: relative;
  overflow: hidden;
}
.nh-hero-video__scroll-line::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 30%;
  background: #fff;
  animation: nh-scroll-line-move 1.8s ease-in-out infinite;
}
@keyframes nh-scroll-line-move {
  0% { top: -30%; }
  50% { top: 100%; }
  100% { top: -30%; }
}
@media (max-width: 767px) {
  .nh-hero-video__title {
    font-size: 3rem !important;
    line-height: 1.3em !important;
    letter-spacing: 1.5px !important;
  }
}


/* FLIGHT */

.prs-scroll-wrap {
  max-width: 1100px;
  padding-left: 60px;
  padding-right: 60px;
}
.prs-scroll-track {
  scroll-behavior: smooth;
  scrollbar-width: none;
  justify-content: flex-start;
}
.prs-scroll-track::-webkit-scrollbar { display: none; }
.prs-logo {
  height: 40px;
  width: 140px;
}
.prs-logo img {
  max-height: 100%;
  width: auto;
  filter: grayscale(100%);
  opacity: 0.85;
  transition: opacity 0.3s ease;
}
.prs-logo img:hover {
  opacity: 1;
}
.prs-nav-btn {
  width: 36px;
  height: 36px;
  color: #111;
  font-size: 1.3rem;
  z-index: 3;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0;
}
.prs-nav-btn:hover {
  color: #555;
  background: transparent !important;
}
.prs-nav-btn:active {
  background: transparent !important;
  box-shadow: none !important;
}
.prs-nav-btn:disabled {
  opacity: 0.3;
  pointer-events: none;
}
.prs-nav-prev {
  left: -50px !important;
}
.prs-nav-next {
  right: -50px !important;
}
.prs-scroll-hr {
  max-width: 1100px;
  margin-top: 2.5rem;
  border-color: #ddd;
  opacity: 1;
}
@media (max-width: 767px) {
  .prs-logo { height: 30px; width: 100px; }
  .prs-scroll-wrap {
    padding-left: 30px;
    padding-right: 30px;
  }
  .prs-nav-prev { left: -20px !important; }
  .prs-nav-next { right: -20px !important; }
}


/* FAMILY,GROUP,COUPLE */

.pel-card {
  height: 550px;
  cursor: pointer;
}
.pel-card__img {
  transition: transform 0.6s ease;
}
.pel-card:hover .pel-card__img {
  transform: scale(1.1);
}
.pel-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0) 45%);
  pointer-events: none;
}
.pel-card__title {
    color: #fff;
    font-family: AlternateGotNo1D, 'League Gothic', sans-serif;
    font-size: 3.75rem;
    font-weight: 300;
    letter-spacing: 7px;
    line-height: .9em;
    text-transform: uppercase;
    position: relative;
    z-index: 2;
    transition: transform 0.4s ease;
    display: inline-block;
    transform: scaleX(0.9);
}
.pel-card:hover .pel-card__title {
  transform: translateY(-8px);
}
.pel-card__line {
  display: block;
  width: 0;
  height: 3px;
  background: #e8912d;
  margin: 12px auto 0;
  transition: width 0.4s ease;
}
.pel-card:hover .pel-card__line {
  width: 60px;
}
@media (max-width: 767px) {
  .pel-card {
    height: 400px;
  }
  .pel-card__title {
    font-size: 3rem;
  }
}


/* WHY */

.why-pel {
  background: #fff;
}
.why-pel__title {
  font-family: AlternateGotNo1D, 'League Gothic', sans-serif;
  font-size: 3.4rem;
  letter-spacing: 2.5px;
  color: #111;
}
.why-pel__col {
  position: relative;
}
.why-pel__col::before {
  content: "";
  position: absolute;
  top: 55px;
  left: -50%;
  width: 100%;
  height: 1px;
  background: #ccc;
  z-index: 0;
}
.why-pel__col:first-child::before {
  display: none;
}
.why-pel__circle {
  position: relative;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  overflow: hidden;
  z-index: 2;
}
.why-pel__circle img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.why-pel__icon {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.8rem;
  background: rgba(0,0,0,0.15);
}
.why-pel__text {
  font-family: 'EB Garamond', serif;
  font-size: 1.15rem;
  color: #000;
  line-height: 1.6;
  max-width: 220px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .why-pel__circle {
    width: 90px;
    height: 90px;
  }
  .why-pel__title {
    font-size: 2 rem;
  }
  .why-pel__col::before {
    display: none;
  }
}


/* INTERNATIONAL */

 .india-dest { height: 100vh; }
#indiaDest .india-dest__left {
  padding-left: 30px !important;
}
.india-dest__mosaic {
   display: grid;
  grid-template-columns: 460px 230px;
  grid-template-rows: repeat(3, 150px);
  gap: 5px !important;
  width: 700px;
}
.india-dest__tile {
  overflow: hidden;
  width: 100%;
  height: 100%;
}
.india-dest__tile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity .3s ease;
}
.india-dest__tile--big {
  grid-column: 1 / 2;
  grid-row: 1 / 3;
}
.india-dest__tile--sm:nth-of-type(2) { grid-column: 2 / 3; grid-row: 1 / 2; }
.india-dest__tile--sm:nth-of-type(3) { grid-column: 2 / 3; grid-row: 2 / 3; }
.india-dest__tile--sm:nth-of-type(4) { grid-column: 1 / 2; grid-row: 3 / 4; }
.india-dest__tile--sm:nth-of-type(5) { grid-column: 2 / 3; grid-row: 3 / 4; }
.india-dest__row {
  display: flex;
  align-items: center;
  gap: 20px;
}
.india-dest__title {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.6rem;
  color: #111;
  letter-spacing: 2px;
  white-space: nowrap;
  transition: opacity .3s ease;
  margin: 0;
}
.india-dest__right {
  padding-left: 60px !important;
}
.india-dest__heading {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.8rem;
  color: #6b4e29;
}
.india-dest__item {
  font-size: 1.4rem;
  color: #999;
  padding: 6px 0;
  cursor: pointer;
  transition: color .3s ease;
}
.india-dest__item.active {
  color: #111;
}
/* ===================== MOBILE GRID (below lg) — unchanged ===================== */
.india-mgrid__card { aspect-ratio: 1 / 1; }
.india-mgrid__card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.55) 0%, rgba(0,0,0,0) 55%);
}
.india-mgrid__label { z-index: 2; font-size: 0.95rem; letter-spacing: .3px; }
.india-mgrid__cta {
  aspect-ratio: 1 / 1;
  background: linear-gradient(rgba(120,90,140,.55), rgba(90,70,120,.75)),
              url('https://images.unsplash.com/photo-1477587458883-47145ed94245?w=600') center/cover;
}


/* DOMESTIC */

.cc-story-section{
    margin-top: 70px;
  background: #f2ede6;
  padding:70px 0 40px;
}
.cc-story-title{
  font-family: Georgia, 'Times New Roman', serif;
  font-size:2.8rem;
  font-weight:400;
  margin-bottom:1.2rem;
}
.cc-story-title em{
  font-style:italic;
}
.cc-story-text{
  font-family: 'EB Garamond', serif;
  max-width:600px;
  margin:0 auto;
  font-size:1.2rem;
      color: #000;
  line-height:1.6;
}
.cc-scroll-wrap{
  padding-top:60px;
  width:100%;
}
.cc-scroll-track{
  scroll-behavior:smooth;
  scrollbar-width:none;
  align-items:flex-start;
  width:100vw;
  position:relative;
  left:50%;
  right:50%;
  margin-left:-50vw;
  margin-right:-50vw;
  padding:0 16px;
}
.cc-scroll-track::-webkit-scrollbar{ display:none; }
.cc-scroll-card{
  width:420px;
  height:320px;
  cursor:pointer;
  transition:transform .3s ease;
}
.cc-scroll-track > a:nth-child(even){
  margin-top:60px;
}
@media (max-width:991px){
  .cc-scroll-card{ width:320px; height:380px; }
  .cc-scroll-track > a:nth-child(even){ margin-top:40px; }
}
@media (max-width:767px){
  .cc-scroll-card{ width:250px; height:300px; }
  .cc-scroll-track > a:nth-child(even){ margin-top:25px; }
}
.cc-scroll-caption{
  background:linear-gradient(transparent, rgba(0,0,0,.65));
  font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
  font-size:1.1rem;
  font-weight:500;
}
.cc-scroll-viewtrip{
  font-size:.9rem;
  color:#c9a875;
   font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
  max-height:0;
  overflow:hidden;
  opacity:0;
  transition:max-height .3s ease, opacity .3s ease;
}
.cc-scroll-card:hover .cc-scroll-viewtrip{
  max-height:24px;
  opacity:1;
}
.cc-scroll-card:hover img{
  transform:scale(1.05);
}
.cc-scroll-card img{ transition:transform .4s ease; }
.cc-scroll-btn{
  width:48px;
  height:48px;
  z-index:2;
}
.cc-scroll-btn:disabled{
  opacity:.3;
  pointer-events:none;
}
.cc-scroll-btn-prev{ left:16px !important; }
.cc-scroll-btn-next{ right:16px !important; }


/* VIDEO */

.off-video{
  height:80vh; 
}
.off-video__media{
  object-fit:cover;
  object-position:center;
}
@media (max-width:767px){
  .off-video{ height:45vh; }
}


/* OFFER */

.trend {
  font-family: AlternateGotNo1D, 'League Gothic', sans-serif;
  font-size: 40px;
  letter-spacing: 2.2px;
  font-weight: 100;
}
.trend-track {
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}
.trend-track::-webkit-scrollbar {
  display: none;
}
.trend-track-wrapper {
  max-width: 1180px;
  margin: 0 auto;
}
.trend-item {
  width: 162px;
  display: flex;
  flex-direction: column;
  align-items: center;
  scroll-snap-align: start;
}
.trend-card {
  width: 162px;
  height: 260px;
  border-radius: 120px;
  overflow: hidden;
  display: block;
  flex-shrink: 0;
}
.trend-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease, filter 0.35s ease;
}
.trend-card:hover img {
  transform: scale(1.08);
  filter: brightness(0.55);
}
.trend-card:hover .trend-hover {
  opacity: 1;
  transform: translateY(0);
}
.trend-hover {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.35s ease, transform 0.35s ease;
}
/* Destination name styles - FIXED ALIGNMENT */
.trend-name {
  display: block;
  text-align: center;
  line-height: 1.3;
  margin-top: 10px;
  height: 36px; /* Fixed height for all names */
  display: flex;
  align-items: center;
  justify-content: center;
}
/* Individual destination name styles */
.trend-name-bali {
  font-family: 'Shojumaru', cursive;
  font-size: 28px;
  color: #e53935;
  letter-spacing: 2px;
}
.trend-name-singapore {
  font-family: 'Abril Fatface', serif;
  font-size: 22px;
  font-style: italic;
  color: #1a1a2e;
}
.trend-name-canada {
  font-family: 'Pirata One', cursive;
  font-size: 25px;
  color: #6B8E5A;
  font-weight: bold;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}
.trend-name-china {
  font-family: 'Rye', cursive;
  font-size: 22px;
  color: #ff3b30;
  text-transform: uppercase;
}
.trend-name-dubai {
  font-family: 'Black Ops One', cursive;
  font-size: 28px;
  color: #1a1a2e;
  letter-spacing: 2px;
}
.trend-name-qatar {
  font-family: 'Marcellus SC', serif;
  font-size: 26px;
  color: #8d153a;
  font-weight: bolder;
}
.trend-name-saudi {
  font-family: 'Amatic SC', cursive;
  font-size: 24px;
  font-weight: bolder;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #0f5132;
}
/* Navigation buttons */
.trend-nav-btn {
  width: 42px;
  height: 42px;
  z-index: 5;
  background: #fff !important;
  border-color: #fff !important;
  color: #1a1a2e !important;
}
.trend-nav-btn:hover {
  background: #f2f2f2 !important;
  border-color: #f2f2f2 !important;
}
.trend-nav-btn:active {
  background: #fff !important;
}
.trend-nav-btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
  pointer-events: none;
}
.trend-nav-prev {
  left: 10px !important;
}
.trend-nav-next {
  right: 10px !important;
}
@media (max-width: 767px) {
  .trend {
    font-size: 45px !important;
    letter-spacing: 1px !important;
    text-align: center !important;
  }
}


/* POPULAR */

.home-journey-title{
  font-family: AlternateGotNo1D, 'League Gothic', sans-serif;
  font-size: 50px;
  letter-spacing:2.5px;
  font-weight:200;
}
.home-journey-tabs{
  border-bottom:0;
  gap:2rem;
}
.home-journey-tabs .nav-link{
  font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
  border:0;
  border-bottom:2px solid transparent;
  border-radius:0;
  color:#6c6c6c;
  font-size:.85rem;
  font-weight:600;
  letter-spacing:1px;
  padding:.5rem 0;
}
.home-journey-tabs .nav-link.active,
.home-journey-tabs .nav-link:hover{
  color:#000;
  border-bottom-color:#c0126b;
  background:transparent;
}
.home-card{
  position:relative;
  display:block;
  overflow:hidden;
  aspect-ratio:5/7;
  text-decoration:none;
}
.home-card--sm{
  aspect-ratio:5/6;
}
.home-card-img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .4s ease;
}
.home-card:hover .home-card-img{
  transform:scale(1.06);
}
.home-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.45),rgba(0,0,0,0) 45%);
}

.home-card-label {
    position: absolute;
    display: block;
    bottom: 1rem;
    left: 0;
    right: 0;
    width: 100%;
    text-align: center;
    color: #fff;
    font-weight: 800;
    font-size: .9rem;
    letter-spacing: 1px;
    z-index: 2;
}

.home-card--sm .home-card-label {
    font-size: .7rem;
    bottom: .6rem;
}

.n-pop-panel-row{
  display:flex;
  height:420px;
  gap:5px;
  overflow:hidden;
}
.n-pop-panel{
  position:relative;
  flex:1;
  /*border-radius:0px;*/
  background-size:cover;
  background-position:center;
  overflow:hidden;
  cursor:pointer;
  transition:flex .5s ease;
}
.n-pop-panel::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.65),rgba(0,0,0,0) 60%);
}
.n-pop-panel.n-pop-active,
.n-pop-panel.n-pop-default-active{
  flex:3;
}
.n-pop-label-collapsed{
  position:absolute;
  bottom:1rem;
  left:1rem;
  right:1rem;
  text-align:center;
  color:#fff;
  font-weight:700;
  font-size:.9rem;
  letter-spacing:1px;
  z-index:2;
}
.n-pop-panel:not(.n-pop-active):not(.n-pop-default-active) .n-pop-label-collapsed{
  writing-mode:vertical-rl;
  text-orientation:mixed;
  left:0;
  right:0;
  top:0;
  bottom:0;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  overflow:hidden;
  line-height:1;
  padding:.5rem 0;
  box-sizing:border-box;
  font-size:clamp(.55rem,4vw,.8rem);
  letter-spacing:.5px;
}
.n-pop-content-expanded{
  position:absolute;
  inset:0;
  display:flex;
  align-items:flex-end;
  padding:.8rem;
  opacity:0;
  transition:opacity .3s ease;
  z-index:2;
  overflow:hidden;
  box-sizing:border-box;
}
.n-pop-panel.n-pop-active .n-pop-content-expanded,
.n-pop-panel.n-pop-default-active .n-pop-content-expanded{
  opacity:1;
}
.n-pop-panel.n-pop-active .n-pop-label-collapsed,
.n-pop-panel.n-pop-default-active .n-pop-label-collapsed{
  display:none;
}
.n-pop-title{
  font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
  color:#fff;
  font-weight:700;
  font-size:clamp(.85rem,4.5vw,1.4rem);
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  width:100%;
}
@media(max-width:768px){
  .n-pop-panel-row{ height:340px; gap:4px; }
}


/* MEANINGFUL*/

.cw-hero {
  background: #f2ede6;
  margin-top: 30px;
  padding: 40px 0 40px;
  overflow: hidden;
  text-align: center;
}
.cw-hero__tagline {
  font-family: 'Alex Brush', cursive;
  font-size: 2.8rem;
  color: #1a1a1a;
  margin-bottom: 20px;
}
.cw-hero__row {
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  line-height: 1;
}
.cw-hero__word {
  font-family: 'Playfair Display', serif;
  font-size: 5.5rem;
  letter-spacing: 2px;
  flex-shrink: 0;
}
.cw-hero__word--main {
  color: #111;
  padding: 0 40px;
}
.cw-hero__word--faded {
  color: #ddd6cc;
}
@media (max-width: 767px) {
  .cw-hero {
    padding: 40px 0 50px;
  }
  .cw-hero__tagline {
    font-size: 1.3rem;
  }
  .cw-hero__word {
    font-size: 1.8rem;
    letter-spacing: 1px;
  }
  .cw-hero__word--main {
    padding: 0 14px;
  }
}
.cw-hero__row {
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  line-height: 1;
  opacity: 0;
  transform: translateX(-60px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.cw-hero__row.cw-in-view {
  opacity: 1;
  transform: translateX(0);
}
.cw-hero__row:nth-child(2).cw-in-view { transition-delay: 0.2s; }
.cw-hero__row:nth-child(3).cw-in-view { transition-delay: 0.4s; }
.cw-hero__row:nth-child(4).cw-in-view { transition-delay: 0.6s; }
@media (max-width: 767px) {
  .cw-hero__row {
    transform: translateX(-30px);
  }
}

/* END OF HOMEPAGE */













  /* STARTING OF INTERNATIONAL PAGE */

 .sail-icon {
    width: 60px;
    height: 60px;
    color: #b08d57;
    transition: transform 0.35s ease;
  }
  .sail-icon svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: black;
    stroke-width: 1.4;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  .sail-reveal:hover .sail-icon {
    transform: scale(1.12) translateY(-4px);
  }
  /* scroll-reveal: starts hidden/shifted, animates in when .is-visible is added */
  .sail-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.6s ease, transform 0.6s ease;
  }
  .sail-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
  }
  .sail-intro__text {
    font-family: 'Playfair Display', serif;
    font-size: 1.15rem;
    line-height: 1.7;
    color: #1a2b4c;
    max-width: 680px;
  }


 /* INTERNATIONAL CARD */

.inter-group-trips__title {
  font-family: "Bebas Neue", "Anton", sans-serif;
  font-size: clamp(1.8rem, 2.6vw, 2.4rem);
  line-height: 1.1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #1a1a1a;
}
.inter-group-trips__desc {
      font-family: 'Playfair Display', serif;
  color: #000000;
  font-size: 1rem;
  line-height: 1.6;
}
.inter-group-trips__link {
  color: #1a1a1a;
  text-decoration: underline;
  font-weight: 600;
}
.inter-group-trips__cta {
  display: inline-block;
  background: #1a1a1a;
  color: #fff;
  text-decoration: none;
  padding: 0.75rem 1.75rem;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.inter-group-trips__cta:hover {
  background: #000;
  color: #fff;
}
/* ===== card, now laid out 4-per-row in a grid instead of a scroll track ===== */
.inter-group-trips__card {
  position: relative;
  height: 540px;
  border-radius: 4px;
  overflow: hidden;
}
.inter-group-trips__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.inter-group-trips__overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 1.25rem;
  background: linear-gradient(to top, rgba(0,0,0,0.85) 20%, rgba(0,0,0,0) 100%);
  color: #fff;
}
.inter-group-trips__card,
.inter-group-trips__overlay {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif !important;
}

.inter-group-trips__country {
  display: inline-block !important;
  width: fit-content !important;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  margin-bottom: 6px !important;
  padding: 4px 8px !important;
  background: #ffc107 !important;
  color: #000000 !important;
  opacity: 1 !important;
  border-radius: 2px !important;
  line-height: 1.2 !important;
}

.inter-group-trips__cardtitle {
  display: inline-block !important;
  width: fit-content !important;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  margin-bottom: 6px !important;
  padding: 4px 8px !important;
  background: #ffc107 !important;
  color: #000000 !important;
  opacity: 1 !important;
  border-radius: 2px !important;
  line-height: 1.2 !important;
}

#interGtGrid .inter-group-trips__cardtitle {
  display: block !important;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  margin: 0 0 8px 0 !important;
  color: #ffffff !important;
  background: transparent !important;
  padding: 0 !important;
  width: auto !important;
  border-radius: 0 !important;
}

.inter-group-trips__duration {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif !important;
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  background: #ffc107 !important;
  color: #000000 !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  padding: 4px 8px !important;
  border-radius: 2px !important;
  text-shadow: none !important;
  line-height: 1.2 !important;
  z-index: 2 !important;
  display: inline-block !important;
}

.inter-group-trips__explore {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif !important;
  display: inline-block !important;
  border: 1.5px solid #ffffff !important;
  color: #ffffff !important;
  text-decoration: none !important;
  padding: 0.55rem 1.25rem !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  transition: background 0.2s ease, color 0.2s ease !important;
}
.inter-group-trips__price {
  font-size: 0.85rem;
  font-weight: 600;
  opacity: 0.9;
  margin-bottom: 1rem;
}

.inter-group-trips__explore {
    display: inline-block;
    border: 1.5px solid #fff;
    color: #fff;
    text-decoration: none;
    padding: 0.55rem 1.25rem;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transition: background 0.2s ease, color 0.2s ease;
   
}

.inter-group-trips__explore:hover {
  background: #fff;
  color: #1a1a1a;
}
/* duration badge, top-right corner of every card (like the reference "15 NIGHTS") */
.inter-group-trips__duration {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif !important;
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  background: #ffc107 !important;
  color: #000000 !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  padding: 4px 8px !important;
  border-radius: 2px !important;
  text-shadow: none !important;
  line-height: 1.2 !important;
  z-index: 2 !important;
  display: inline-block !important;
}
@media (max-width: 991px) {
  .inter-group-trips__card { height: 460px; }
}
/* ===== filter pills above the grid ===== */
.inter-group-trips__filter.btn {
  border: 1px solid #1a1a1a !important;
  color: #1a1a1a !important;
  background: #fff !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  font-size: 0.8rem !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}
.inter-group-trips__filter.btn:hover,
.inter-group-trips__filter.btn:focus,
.inter-group-trips__filter.btn:active,
.inter-group-trips__filter.btn.show {
  color: #1a1a1a !important;
  background: #fff !important;
  border-color: #1a1a1a !important;
  box-shadow: none !important;
}
/* anchor point for the menu below - lock position so a site reset can't break it */
.nh-filter { position: relative !important; display: inline-block; }
.nh-filter__btn { box-shadow: none !important; }
/* small caret svg is our only arrow - no Bootstrap ::after needed since we dropped .dropdown-toggle */
.nh-filter__menu {
  display: none;
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  margin: 0.25rem 0 0 !important;
  padding: 0.5rem 0 !important;
  list-style: none !important;
  width: auto !important;
  min-width: 220px !important;
  max-width: 280px !important;
  background: #fff !important;
  border: 1px solid rgba(0,0,0,.15) !important;
  border-radius: 4px !important;
  box-shadow: 0 6px 16px rgba(0,0,0,.1) !important;
  z-index: 1000 !important;
}
.nh-filter__menu.is-open { display: block !important; }
.nh-filter__item {
  display: block;
  padding: 0.4rem 1rem;
  color: #1a1a1a;
  text-decoration: none;
  font-size: 0.9rem;
}
.nh-filter__item:hover,
.nh-filter__item.is-active {
  background: #f5f5f5;
  color: #1a1a1a;
}
.inter-group-trips__card.is-hidden { display: none; }


 /* POPULAR INTERNATIONAL */

 .dg-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:.9rem;
    margin-bottom:1.5rem;
  }
  .dg-title-group{
    display:flex;
    flex-direction:column;
  }
  .dg-eyebrow{
    font-size:.75rem;
    font-weight:600;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:#C6762B;
    margin-bottom:.35rem;
  }
  .dg-title{
    font-family: "Bebas Neue", "Anton", sans-serif;
    font-size:2.2rem;
    font-weight:400;
    color:#1B2430;
    letter-spacing: 1.5px;
    margin:0;
    position:relative;
    padding-left:14px;
  }
  .dg-title::before{
    content:"";
    position:absolute;
    left:0;
    top:4px;
    bottom:4px;
    width:4px;
    background:#C6762B;
    border-radius:2px;
  }
  .dg-controls{
    display:flex;
    align-items:center;
    gap:.9rem;
  }
  .dg-progress{
    width:120px;
    height:3px;
    background:#e5e5e5;
    border-radius:3px;
    overflow:hidden;
    margin-right:.25rem;
  }
  .dg-progress__fill{
    height:100%;
    width:20%;
    background:#1B2430;
    border-radius:3px;
    transition:width .3s ease;
  }
  .dg-nav-btn{
    width:44px;
    height:44px;
    border-radius:50%;
    border:1px solid #e0e0e0;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.15rem;
    color:#1B2430;
    box-shadow:0 2px 6px rgba(0,0,0,0.06);
    transition:background .25s ease, color .25s ease, box-shadow .25s ease, transform .15s ease;
  }
  .dg-nav-btn:hover:not(:disabled){
    background:#1B2430;
    color:#fff;
    box-shadow:0 4px 12px rgba(0,0,0,0.18);
  }
  .dg-nav-btn:active:not(:disabled){
    transform:scale(0.93);
  }
  .dg-nav-btn:disabled{
    opacity:.35;
    box-shadow:none;
    cursor:default;
  }
  .dg-track{
    display:flex;
    gap: 10px;
    overflow-x:auto;
    scroll-behavior:smooth;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
  }
  .dg-track::-webkit-scrollbar{ display:none; }
  .dg-card{
    position:relative;
    flex:0 0 auto;
    width:350px;
    height:300px;
    scroll-snap-align:start;

    overflow:hidden;
    cursor:pointer;
  }
  .dg-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .5s ease;
  }
  .dg-card:hover img{ transform:scale(1.05); }
  .dg-card__pin{
    position:absolute;
    left:16px;
    bottom:16px;
    background:#fff;
    color:#1B2430;
    font-size:.85rem;
    font-weight:600;
    padding:.4rem .8rem;
    border-radius:30px;
    display:flex;
    align-items:center;
    gap:.4rem;
    opacity:0;
    transform:translateY(8px);
    transition:opacity .3s ease, transform .3s ease;
  }
  .dg-card:hover .dg-card__pin{
    opacity:1;
    transform:translateY(0);
  }
  @media (max-width:576px){
    .dg-card{ width:280px; height:340px; }
    .dg-header{ flex-direction:column; align-items:flex-start; gap:1rem; }
    .dg-controls{ align-self:flex-end; }
  }


   /* CUSTOMER REVIEW */

 :root{
    --nh-ink:#1B2430;
    --nh-gold:#C6762B;
  }
  .cust-rev{
    position:relative;
     min-height: 500px;
  }
  .cust-rev__bg{
    position:absolute;
    inset:0;
    width:100%;
    height: 450px;
    object-fit:cover;
    z-index:0;
  }
  .cust-rev__bg-overlay{
    position:absolute;
    height: 450px;
    inset:0;
    background:rgba(245,242,236,0.25);
    z-index:0;
  }
  .cust-rev > .container{
    position:relative;
    z-index:1;
  }
  .cust-rev__heading{
    font-family:'Fraunces', serif;
    font-weight: 800 !important;
    font-size: 40px !important;
    text-shadow:0 4px 14px rgba(255,255,255,0.6);
  }
  .cust-rev__rule{
   width:56px !important;
    height:2px !important;
    background:var(--nh-gold) !important;
    display:block;
  }
  /* horizontal scroll track */
  .cust-rev__track{
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    padding-bottom:1rem;
  }
  .cust-rev__track::-webkit-scrollbar{ height:6px; }
  .cust-rev__track::-webkit-scrollbar-thumb{ background:rgba(0,0,0,0.15); border-radius:3px; }
  /* plain white card, no image */
  .cust-rev__card{
    flex:0 0 auto;
    width:300px;
    height:380px;
    scroll-snap-align:start;
    background:#fff;
    box-shadow:0 12px 24px rgba(20,33,58,0.1);
    padding:1.6rem 1.4rem;
    display:flex;
    flex-direction:column;
  }
  .cust-rev__eyebrow{
    margin-left: 40px;
    font-size: 14px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:#000;
    font-weight:600;
    margin-bottom:1rem;
  }
  .cust-rev__quote-text{
    margin-top: 10px;
    font-family:'Fraunces', serif;
    font-style:italic;
    font-weight:500;
    color:var(--nh-ink);
    font-size:1rem;
    line-height:1.6;
    margin-bottom:0;
  }
  .cust-rev__name{
    color:var(--nh-gold) !important;
    font-weight:600 !important;
    font-size: 1rem;
    margin-top:auto;
    padding-top:1rem;
  }


   /* NEED HELP */

.cc-needhelp-title {
  font-family: 'Oswald', sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 2rem;
  color: #1a1a1a;
}
.cc-needhelp-highlight {
  color: #e8912d;
}
.cc-needhelp-text {
      font-family: 'EB Garamond', serif !important;
  max-width: 650px;
  font-size: 1.25rem;
  line-height: 1.7;
  color: #000;
}
.cc-needhelp-btn {
  background-color: #e8912d !important;
  color: #fff !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  font-size: 0.85rem !important;
  padding: 0.9rem 2.5rem !important;
  border-radius: 0 !important;
}
.cc-needhelp-btn:hover {
  background-color: #cf7e1f;
  color: #fff;
}

 /* ENDING OF INTERNATIONAL PAGE */

















/* STARTING OF DOMESTIC PAGE */
  
/* POPULAR DOMESTIC */

  .pa-gallery-row {
    display: flex;
    width: 100%;
    margin-bottom: 3px;
    gap: 4px; /* consistent small gap between all cards, every row */
  }
  .pa-gallery-item {
    position: relative;
    height: 400px;
    overflow: hidden;
    display: block;
    text-decoration: none;
  }
  /* row 1: first card small, second card long */
  .pa-gallery-row--1 .pa-gallery-item:nth-child(1) { width: 35%; }
  .pa-gallery-row--1 .pa-gallery-item:nth-child(2) { width: 65%; }
  /* row 2: first card long, second card small - alternates */
  .pa-gallery-row--2 .pa-gallery-item:nth-child(1) { width: 65%; }
  .pa-gallery-row--2 .pa-gallery-item:nth-child(2) { width: 35%; }
  /* row 3: single full-width card */
  .pa-gallery-row--3 .pa-gallery-item:nth-child(1) { width: 100%; }
  .pa-gallery-item__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s ease;
  }
  .pa-gallery-item:hover .pa-gallery-item__img {
    transform: scale(1.06);
  }
  /* dark gradient so text is always readable */
  .pa-gallery-item::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,0.55) 100%);
    z-index: 1;
    pointer-events: none;
  }
  .pa-gallery-item__content {
    position: absolute;
    left: 40px;
    bottom: 50px;
    right: 40px;
    z-index: 2;
    color: #fff;
  }
  .pa-gallery-item__title {
    
    font-size: 1.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    line-height: 1.15;
    margin: 0 0 6px 0;
    transition: transform 0.4s ease;
  }
  .pa-gallery-item__discover {
    display: block;
    font-style: italic;
    font-weight: 300;
    font-size: 1rem;
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transition: opacity 0.4s ease 0.1s, max-height 0.4s ease;
  }
  .pa-gallery-item:hover .pa-gallery-item__discover {
    opacity: 1;
    max-height: 40px;
  }
  /* orange underline that grows in on hover */
  .pa-gallery-item__line {
    position: absolute;
    left: 0;
    bottom: 0;
    height: 4px;
    width: 100%;
    background: #d97b29;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.5s ease;
    z-index: 2;
  }
  .pa-gallery-item:hover .pa-gallery-item__line {
    transform: scaleX(1);
  }
  .pa-gallery-heading {
    text-align: center;
    padding: 50px 20px 35px;
    text-transform: uppercase;
    color: #1a1a1a;
    font-family: "Bebas Neue", "Anton", sans-serif;
    font-size: 2.7rem;
    font-weight: 400;
    letter-spacing: 1.5px;
  }
  @media (max-width: 768px) {
    .pa-gallery-row { flex-direction: column; }
    .pa-gallery-item,
    .pa-gallery-row--1 .pa-gallery-item:nth-child(1),
    .pa-gallery-row--1 .pa-gallery-item:nth-child(2),
    .pa-gallery-row--2 .pa-gallery-item:nth-child(1),
    .pa-gallery-row--2 .pa-gallery-item:nth-child(2),
    .pa-gallery-row--3 .pa-gallery-item:nth-child(1) {
      width: 100%;
      height: 380px;
    }
  }
  .pa-da{
    margin-bottom: 80px;
  }


/* STAY INSPIRED */

    .si-hero{
    position:relative;
    min-height:500px;
  }
  .si-hero__img{
    display:block;
    width:100%;
    height:500px;
    object-fit:cover;
  }
  .si-card{
    position:absolute;
    right:5%;
    bottom:-80px;
    width:480px;
    max-width:90%;
    min-height:340px;
    background:#fff;
    color:#111;
    padding:2.5rem 2.5rem 2rem;
    box-shadow:0 20px 50px rgba(0,0,0,0.18);
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  .si-card__title{
    font-weight:800;
    font-size:2.5rem;
    letter-spacing:.02em;
    color:#111;
    margin-bottom:1rem;
    line-height:1;
  }
  .si-card__desc{
        font-family: "Playfair Display", serif;
    font-size:1rem;
    color:#312f2f;
    margin-bottom:1.5rem;
    line-height:1.6;
  }
  .si-btn{
    display:inline-block;
    width:100%;
    border:1px solid #000;
    padding:.9rem 1.25rem;
    background:#111;
    color:#fff;
    font-weight:600;
    font-size:.95rem;
    text-align:center;
    text-decoration:none;
    transition:background .25s ease;
    cursor:pointer;
  }
  .si-btn:hover{ background:#000; }
  @media (max-width:768px){
    .si-hero{
      min-height:auto;   /* FIXED: was inheriting desktop's 500px, causing the gap */
    }
    .si-hero__img{ height:420px; }
    .si-card{
      right:50%;
      transform:translateX(50%);
      bottom:-40px;
      width:92%;
      min-height:300px;
      padding:2rem 1.5rem 1.5rem;
    }
    .si-card__title{ font-size:2rem; }
  }


/* ENDING OF DOMESTIC PAGE */












 




/* STARING OF FAMILY PAGE */

 .family-hero {
  height: 90vh;
  overflow: hidden;
}
.family-hero__img {
  object-fit: cover;
}
/* subtle gradient so text pops without killing the sunset */
.family-hero__overlay {
  background: linear-gradient(to top, rgba(0,0,0,0.45) 0%, rgba(0,0,0,0) 45%);
  pointer-events: none;
}
.family-hero__title {
  font-family: AlternateGotNo1D, 'League Gothic', sans-serif;
  font-size: clamp(2.5rem, 6vw, 5.5rem);
  letter-spacing: 0.25em;
  text-transform: uppercase;
  text-indent: 0.35em; /* compensates for the last letter's trailing space */
  text-shadow: 0 2px 12px rgba(0,0,0,0.5);
}


  /* WHY */

.family-why__mainimg {
  width: 100%;
  max-height: 480px;
  object-fit: cover;
}
.family-why__subimg {
  width: 45%;
  bottom: -20px;
  right: -20px;
  border: 5px solid #fff;
  box-shadow: 0 8px 24px rgba(0,0,0,0.15);
}
.family-why__title {
  font-family: AlternateGotNo1D, 'League Gothic', sans-serif;
    font-size: 3.2rem;
    letter-spacing: 1px;
    color: #111; 
}
.family-why__text {
  font-family: 'EB Garamond', serif;
    font-size: 17px;
    line-height: 1.75;
    font-weight: 400;
    letter-spacing: .2px;
    color: #000;
}
.family-why__link {
  color: #c17a3d;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}
@media (max-width: 991px) {
  .family-why__subimg {
    width: 50%;
    bottom: -30px;
    right: -15px;
  }
  .family-why__badge {
    width: 100px;
    height: 100px;
  }
}


/* STATIC PHOTO */

.letter-box {
  width: 100%;
  height: 90vh;
  overflow: hidden;
}
.letter-box__img {
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 48.5%;
}
@media (max-width: 767px) {
  .letter-box {
    height: 55vh;
  }
  .letter-box__img {
    background-position: 50% 40%;
  }
}


/* MAKE AN ENQUIRY */

.family-cta {
  background: #fff;
}
.family-cta__wrapper {
  max-width: 1300px;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,0.06);
}
.family-cta__text {
  min-height: 320px;
  background: #f7f5f2;
}
.family-cta__content {
  position: relative;
  z-index: 2;
  max-width: 400px;
}
.family-cta__title {
  font-family: AlternateGotNo1D, 'League Gothic', sans-serif !important;
  letter-spacing: 0.02em;
  color: #1a1a1a;
  line-height: 1.15;
  text-transform: uppercase;
}
.family-cta__desc {
  font-family: 'EB Garamond', serif;
  color: #000000;
  font-size: 1.1rem;
  line-height: 1.55;
  max-width: 340px;
}
.family-cta__btn {
  display: inline-block;
  padding: 0.65rem 1.5rem;
  border: 1.5px solid #1a1a1a;
  color: #1a1a1a;
  text-decoration: none;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  transition: background 0.25s ease, color 0.25s ease;
}
.family-cta__btn:hover {
  background: #1a1a1a;
  color: #fff;
}
.family-cta__img {
  object-fit: cover;
  display: block;
  max-height: 320px;
}
.family-cta__arcs {
  position: absolute;
  bottom: -50px;
  left: -50px;
  width: 200px;
  height: 200px;
  z-index: 1;
  pointer-events: none;
}
.family-cta__arcs::before,
.family-cta__arcs::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 50%;
}
.family-cta__arcs::before { width: 200px; height: 200px; bottom: 0; left: 0; }
.family-cta__arcs::after  { width: 140px; height: 140px; bottom: 15px; left: 15px; }
@media (max-width: 991px) {
  .family-cta__text {
    min-height: auto;
    padding: 2rem 1.25rem;
  }
  .family-cta__content {
    max-width: 100%;
  }
  .family-cta__img {
    min-height: 220px;
    max-height: 220px;
  }
  .family-cta__title {
    font-size: 1.5rem;
  }
  .family-cta__btn {
    padding: 0.55rem 1.25rem;
    font-size: 0.72rem;
  }
}


/* FAMILY CARD */

.family-trips-intro__title {
      font-family: AlternateGotNo1D, 'League Gothic', sans-serif !important;
  font-size: 3rem;
  font-weight: 300;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #1a1a1a;
}
.family-trips-intro__desc {
  font-family: 'EB Garamond', serif;
  color: #000000;
  font-size: 1.2rem;
  line-height: 1.6;
}

/* Reference family.php card layout:
   full-width 3-column grid with Bootstrap-style gutter,
   keeping the existing dynamic PHP/JS card structure unchanged. */
.family-trips > .container-fluid {
  width: 100% !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.family-trips > .container-fluid > #tripsGrid {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 1.5rem;
}

.family-trips > .container-fluid > #tripsGrid > .col-lg-4 {
  width: 33.33333333% !important;
}

.family-trips__card {
  position: relative;
  width: 100% !important;
  overflow: hidden;
  border-radius: 0 !important;
}

.family-trips__img {
  width: 100% !important;
  height: 420px !important;
  object-fit: cover;
  display: block;
}

.family-trips__title {
  position: absolute;
  bottom: 55px;
  left: 20px;
  right: 20px;
  font-family: AlternateGotNo1D, 'League Gothic', sans-serif !important;
  font-size: 1.9rem;
  letter-spacing: 0.03em;
  line-height: 1.15;
  text-transform: uppercase;
  text-shadow: 0 2px 8px rgba(0,0,0,0.5);
}
.family-trips__meta {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(20,20,20,0.85);
  font-size: 0.85rem;
  letter-spacing: 0.04em;
}
.family-trips__nav {
  background: none;
  border: none;
  padding: 0;
  font-size: 1.6rem;
  color: #1a1a1a;
  line-height: 1;
  cursor: pointer;
}
.family-trips__nav:hover:not(:disabled) {
  color: #555;
}
.family-trips__nav:disabled {
  opacity: 0.3;
  pointer-events: none;
  cursor: default;
}
.family-trips__count {
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.08em;
}


/* ── ENDING OF FAMILY PAGE ── */



















  /* STARING OF GROUP PAGE */


.group-hero {
  height: 90vh;
  overflow: hidden;
}
.group-hero__img {
  object-fit: cover;
}
.group-hero__overlay {
  background: linear-gradient(to top, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0) 45%);
  pointer-events: none;
}
.group-hero__title {
   font-family: AlternateGotNo1D, 'League Gothic', sans-serif;
    font-size: clamp(2.5rem, 6vw, 5.5rem);
    letter-spacing: 0.25em;
    text-transform: uppercase;
    text-indent: 0.35em;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.5);
}
@media (max-width: 767px) {
  .group-hero__title {
    letter-spacing: 0.15em;
    text-indent: 0.15em;
    font-size: 38px !important;
  }
}


  /* CELEBRITY EXPERIENCE */

.cc-celebratory-img {
  padding-left: 30px;
  width: 100%;
  height: 500px !important;
  object-fit: cover;
}
.cc-celebratory-title {
  font-family: 'Oswald', sans-serif;
  font-size: 1.8rem;
  letter-spacing: 2px;
  font-weight: 500 !important;
}
.cc-celebratory-list li {
	font-family: 'EB Garamond', serif !important;
  position: relative;
  padding-left: 1.6rem;
  margin-bottom: 1.3rem;
  max-width: 530px;
  font-size: 1.1rem;
  line-height: 1.5;
  color: #212529;
}
.cc-celebratory-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 8px;
  height: 8px;
  background-color: #d99a3f;
  border-radius: 50%;
}
@media (max-width: 991.98px) {
  .cc-celebratory-img {
    padding-left: 0;
    height: 220px !important;
  }
  .cc-celebratory-title {
    font-size: 1.1rem;
    letter-spacing: 2px;
  }
  .cc-celebratory-list.ms-5 {
    margin-left: 1rem !important;
    margin-right: 1rem !important;
  }
  .cc-celebratory-list li {
    max-width: 100%;
    font-size: 0.9rem;
    padding-left: 1.3rem;
    margin-bottom: 1rem;
  }
  .cc-celebratory-list li::before {
    width: 6px;
    height: 6px;
  }
}


  /* CELEBRITY QUOTE */

.cc-quote-box {
  background-color: #e9e7e2;
  max-width: 1100px;
}
.cc-quote-text {
  font-family: 'EB Garamond', serif !important;
  font-style: italic;
  font-size: 1.15rem;
  line-height: 1.9;
  color: #000;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
.cc-quote-role {
  font-family: 'Brandon Grotesque', Cabin, 'Josefin Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-weight: 700;
  font-style: italic;
  letter-spacing: .5px;
  color: #212529;
  font-size: 1.25rem;
}


  /* 3 BIG IMAGE */

.cc-strip-img {
  width: 100%;
  height: 550px;
  object-fit: cover;
  display: block;
}

@media (max-width: 767.98px) {
  .cc-strip-img {
    height: 260px;
  }
}


  /* GROUP CARD */

.group-trips__title {
  font-family: "Bebas Neue", "Anton", sans-serif;
  font-size: 50px;
  line-height: 1.1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #1a1a1a;
}
.group-trips__desc {
      font-family: 'EB Garamond', serif !important;
  color: #000;
  font-size: 1.13rem;
  line-height: 1.6;
}
.group-trips__link {
  color: #1a1a1a;
  text-decoration: underline;
  font-weight: 600;
}
.group-trips__cta {
  display: inline-block;
  background: #1a1a1a;
  color: #fff;
  text-decoration: none;
  padding: 0.75rem 1.75rem;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.group-trips__cta:hover {
  background: #000;
  color: #fff;
}
.group-trips__track {
  display: flex;
  gap: 1.25rem;
  overflow-x: auto;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  padding-bottom: 4px;
  scrollbar-width: none;
}
.group-trips__track::-webkit-scrollbar {
  display: none;
}
.group-trips__card {
  position: relative;
  flex: 0 0 290px;
  height: 540px;
  border-radius: 4px;
  overflow: hidden;
  scroll-snap-align: start;
}
.group-trips__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.group-trips__overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 1.25rem;
  background: linear-gradient(to top, rgba(0,0,0,0.85) 20%, rgba(0,0,0,0) 100%);
  color: #fff;
}
.group-trips__country {
  display: inline-block !important;
  width: fit-content !important;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  margin-bottom: 6px !important;
  padding: 4px 8px !important;
  background: #ffc107 !important;
  color: #000000 !important;
  opacity: 1 !important;
  border-radius: 2px !important;
  line-height: 1.2 !important;
}
.group-trips__card,
.group-trips__overlay {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif !important;
}

.group-trips__country {
  display: inline-block !important;
  width: fit-content !important;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  margin-bottom: 6px !important;
  padding: 4px 8px !important;
  background: #ffc107 !important;
  color: #000000 !important;
  opacity: 1 !important;
  border-radius: 2px !important;
  line-height: 1.2 !important;
}

.group-trips__cardtitle {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif !important;
  font-size: 1.05rem;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1.3;
  margin-bottom: 1rem;
}

.group-trips__explore {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif !important;
  display: inline-block;
  border: 1.5px solid #fff;
  color: #fff;
  text-decoration: none;
  padding: 0.55rem 1.25rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: background 0.2s ease, color 0.2s ease;
}
.group-trips__explore {
  display: inline-block;
  border: 1.5px solid #fff;
  color: #fff;
  text-decoration: none;
  padding: 0.55rem 1.25rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: background 0.2s ease, color 0.2s ease;
}
.group-trips__explore:hover {
  background: #fff;
  color: #1a1a1a;
}
.group-trips__card--custom .group-trips__overlay {
  background: linear-gradient(to top, rgba(10,40,60,0.7) 30%, rgba(10,40,60,0.15) 100%);
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.group-trips__card--custom .group-trips__cardtitle {
  font-size: 1.4rem;
}
.group-trips__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: none;
  background: rgba(60,60,60,0.75);
  color: #fff;
  font-size: 1.6rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  cursor: pointer;
}
.group-trips__nav--prev { left: 8px; }
.group-trips__nav--next { right: 8px; }
.group-trips__nav:hover:not(:disabled) {
  background: rgba(30,30,30,0.9);
}
.group-trips__nav:disabled {
  opacity: 0;
  pointer-events: none;
}
@media (max-width: 991px) {
  .group-trips__card {
    flex: 0 0 220px;
    height: 460px;
  }
}

  /* ENDING OF GROUP PAGE */















  
  /* STARTING OF COUPLE PAGE*/

   .cc-family-video {
    position: relative;
    width: 100%;
    height: 420px;
    overflow: hidden;
  }
  .cc-family-video-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .cc-family-title {
        font-family: AlternateGotNo1D, 'League Gothic', sans-serif;
    font-weight: 550;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 2.8rem;
    color: #1a1a1a;
  }
  .cc-family-subtitle {
    font-family: 'Oswald', sans-serif;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 1rem;
    color: #1a1a1a;
  }
  .cc-family-content {
    height: 100%;
    padding: 3rem 3rem 3rem 3.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .cc-family-quote {
    font-family: 'Oswald', sans-serif;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 1.4rem;
    color: #1a1a1a;
  }
  .cc-family-text {
    font-family: 'EB Garamond', serif;
    font-size: 17px;
    line-height: 1.75;
    font-weight: 400;
    letter-spacing: .2px;
    color: #000;
  }
  @media (max-width: 991.98px) {
    .cc-family-video {
      height: 300px;
    }
    .cc-family-content {
      padding: 2.5rem 1.5rem;
    }
  }


  /* FRQUENT ASKED QUESTION */

.nholiday-faq__heading {
  font-family: 'Oswald', sans-serif;
    font-weight: 600;
    letter-spacing: 1px;
    font-size: 2.2rem;
}
.nholiday-faq__accordion {
  max-width: 900px;
}
.nholiday-faq__item {
  border: none !important;
  border-bottom: 1px solid #e5e5e5 !important;
  background: transparent;
}
.nholiday-faq__btn {
  font-weight: 700;
  font-size: 14px;
  letter-spacing: .5px;
  color: #222 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 20px 0 !important;
}
.nholiday-faq__btn::after {
  filter: invert(20%) sepia(90%) saturate(3000%) hue-rotate(300deg) brightness(90%);
}
.nholiday-faq__body {
  padding: 0 0 20px 0;
  color: #302f2f;
  font-family: 'EB Garamond', serif;
  font-size: 18px;
  line-height: 1.7;
}

  /* ENDING OF COUPLE PAGE */


















  /* STARTING OF MONTH PAGE*/

.desti-banner{
  height:50vh;
  min-height:380px;
}
.desti-banner__bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
  filter:grayscale(100%);
}
.desti-banner__overlay{
  background:rgba(0,0,0,0.4);
  z-index:1;
}
.desti-banner__content{
  z-index:2;
}
.desti-banner__title{
  font-family:AlternateGotNo1D, 'League Gothic', sans-serif !important;
  font-size:60px;
  letter-spacing:0.25em;
  text-transform:uppercase;
  text-shadow:0 2px 20px rgba(0,0,0,0.8), 0 2px 8px rgba(0,0,0,0.9) !important;
}
.desti-banner__scroll{
  z-index:2;
  font-size:0.75rem;
  letter-spacing:2px;
}
.desti-banner__scroll-line{
  width:1px;
  height:40px;
  background:rgba(255,255,255,0.4);
  position:relative;
  overflow:hidden;
}
.desti-banner__scroll-line::after{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:30%;
  background:#fff;
  animation:desti-scroll-line-move 1.8s ease-in-out infinite;
}
@keyframes desti-scroll-line-move{
  0%{ top:-30%; }
  50%{ top:100%; }
  100%{ top:-30%; }
}
/* Mobile layout */
@media (max-width:767px){
  .desti-banner{
    height:40vh;
    min-height:300px;
  }
  .desti-banner__title{
    font-size:3rem !important;
    line-height:1.3em !important;
    letter-spacing:1.5px !important;
  }
  .desti-banner__scroll{
    font-size:0.65rem;
  }
  .desti-banner__scroll-line{
    height:32px;
  }
}
@media (max-width:575px){
  .desti-banner__title{
    font-size:2rem !important;
    letter-spacing:1px !important;
  }
  .desti-banner__scroll-line{
    height:28px;
  }
}


  /* 2 LINES */

.may-honeymoon__title {
  text-transform: uppercase;
  font-family: "Bebas Neue", "Anton", sans-serif;
    font-size: 2.5rem;
    font-weight: 500;
    color: #1B2430;
    letter-spacing: 1.5px;
}
.may-honeymoon__desc {
      font-family: 'EB Garamond', serif;
  color: #000;
  font-size: 1.2rem;
}


  /* MONTH CARD*/

.nholiday-destcard__img {
  height: 420px;
  object-fit: cover;
}
.nholiday-destcard__link {
  color: #000;
  border-bottom: 1px solid #000;
}
.nholiday-destcard__link:hover {
  opacity: 0.6;
}
.nholiday-destcard__text {
  font-family: 'EB Garamond', serif !important;
  font-size: 18px;
  line-height: 1.75;
  font-weight: 400;
  letter-spacing: .2px;
  color: #000 !important;
}

section.couple-section .couple-img {
  width: 640px;   /* 900px -> 640px, kammi pannirukken */
  height: 600px;
  object-fit: cover;
}
section.couple-section .pd-content-col {
  padding-top: 160px !important;
}
.pd-link { color: #000; border-bottom: 1px solid #000; }
.pd-link:hover { opacity: 0.6; }
.text-muted {
  max-width: 500px;   /* width fixed-a maathi max-width kuduthen, so content column expand aagum */
  font-family: 'EB Garamond', serif !important;
  font-size: 18px;
  line-height: 1.75;
  font-weight: 400;
  letter-spacing: .2px;
  --bs-text-opacity: 1 !important;
  color:#000 !important;
}
@media (max-width: 991.98px) {
  section.couple-section .couple-img {
    width: 100% !important;
    height: 250px !important;
    margin-left: 0 !important;
  }
  section.couple-section .pd-content-col {
    width: 100% !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
  }
  section.couple-section .pd-content-col.py-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .text-muted { max-width: 100% !important; }
}

.jan-card {
  position: relative;
  display: block;
  overflow: hidden;
  text-decoration: none;
}
.jan-card--sm {
  aspect-ratio: 5 / 6;
}
.jan-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.jan-card-label {
  position: absolute;
  bottom: 10px;
  left: 10px;
  color: #fff;
  font-weight: 700;
  font-size: 0.85rem;
  letter-spacing: 1px;
  text-shadow: 0 2px 6px rgba(0,0,0,0.6);
}



  /* ENDING OF MONTH PAGE */

















  /* STARTING OF OFFER PAGE */

    .best_offer-page-whole
  {
    background: #ebebeb !important;
  }
.best_offer-page__title {
      font-family: "Bebas Neue", "Anton", sans-serif !important;
    font-size: 50px !important;
    line-height: 1.1 !important;
    letter-spacing: 0.02em !important;
    text-transform: uppercase !important;
    color: #1a1a1a !important;
}
.best_offer-page__desc {
  color: #555 !important;
}
.best_offer-page__tabs .nav-link {
  border: 1px solid #000 !important;
  border-radius: 0 !important;
  margin: 0 6px !important;
  color: #000 !important;
  font-weight: 600 !important;
  font-size: 0.85rem !important;
  letter-spacing: 1px !important;
}
.best_offer-page__tabs .nav-link.active {
  background: #000 !important;
  color: #fff !important;
}
.best_offer-page__filters {
  flex-wrap: wrap !important;
}
.best_offer-page__dropdown {
  position: relative !important;
}
.best_offer-page__filterbtn {
  border: 1px solid #000 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #000 !important;
  font-weight: 700 !important;
  font-size: 0.8rem !important;
  letter-spacing: 1px !important;
  padding: 9px 18px !important;
  min-width: 150px !important;
  text-align: left !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
}
.best_offer-page__filterbtn:hover {
  background: #f7f7f7 !important;
}
.best_offer-page__filterbtn--active {
  background: #000 !important;
  color: #fff !important;
}
.best_offer-page__filterbtn.dropdown-toggle::after {
  margin-left: 0 !important;
}
.best_offer-page__dropdown {
  position: relative !important;
}
.best_offer-page__menu {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  right: auto !important;
  inset: auto auto auto 0 !important;
  transform: none !important;
  border: 1px solid #000 !important;
  border-radius: 0 !important;
  padding: 6px 0 !important;
  width: max-content !important;
  min-width: 220px !important;
  max-width: 260px !important;
  box-shadow: 0 8px 20px rgba(0,0,0,0.1) !important;
}
.best_offer-page__item {
  width: 100% !important;
  text-align: left !important;
  background: none !important;
  border: none !important;
  padding: 8px 18px !important;
  font-size: 0.85rem !important;
  color: #000 !important;
}
.best_offer-page__item:hover,
.best_offer-page__item:focus {
  background: #000 !important;
  color: #fff !important;
}
.best_offer-page__empty {
  text-align: center !important;
  color: #888 !important;
  font-weight: 600 !important;
  padding: 40px 0 !important;
}
.best_offer-page__card {
  border: 1px solid #eee !important;
  border-radius: 1px !important;
  overflow: hidden !important;
  background: #fff !important;
  transition: box-shadow .2s ease !important;
}
.best_offer-page__card:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
}
.best_offer-page__imgwrap {
  position: relative !important;
  aspect-ratio: 4 / 3 !important;
  overflow: hidden !important;
}
.best_offer-page__img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.best_offer-page__body {
  padding: 14px 16px 18px !important;
}
.best_offer-page__country {
  display: block !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  color: #181717 !important;
  text-transform: uppercase !important;
  margin-bottom: 4px !important;
}
.best_offer-page__cardtitle {
  font-size: 1rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    line-height: 1.3 !important;
    margin-bottom: 1rem !important;
}
.best_offer-page__duration {
  display: block !important;
  font-size: 0.75rem !important;
  color: #0a0a0a !important;
  font-weight: 600 !important;
  margin-bottom: 10px !important;
}
.best_offer-page__price {
  display: flex !important;
  align-items: baseline !important;
  gap: 8px !important;
  margin-bottom: 12px !important;
}
.best_offer-page__old {
  text-decoration: line-through !important;
  color: #292828 !important;
  font-size: 0.85rem !important;
}
.best_offer-page__new {
  color: #000 !important;
  font-weight: 700 !important;
  font-size: 1.15rem !important;
}
.best_offer-page__explore {
  display: inline-block !important;
  border: 1px solid #000 !important;
  color: #000 !important;
  text-decoration: none !important;
  padding: 6px 16px !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
}
.best_offer-page__explore:hover {
  background: #000 !important;
  color: #fff !important;
}


  /* SAFARI */

  .safari-section{
    background-color: white;
    padding:50px 0;
  }
  @media (min-width:768px){
    .safari-section{ padding:50px 0; }
  }
  .safari-section__title{
    font-family: "Bebas Neue", "Anton", sans-serif;
    font-size: clamp(1.8rem, 2.6vw, 2.4rem);
    line-height: 1.1;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #1a1a1a;
  }
  @media (min-width:768px){
    .safari-section__title{ font-size:2.6rem; }
  }
  .safari-section__subtitle{
    font-family: 'EB Garamond', serif !important;
    font-size: 1.1rem;
    line-height: 1.7;
    color: #000;
    max-width:820px;
  }
  /* card only needs custom CSS for the fixed aspect-ratio image + overlay,
     everything else (grid, spacing, radius, font) is Bootstrap utilities */
  .safari-card{
    aspect-ratio:4/3;
    background-size:cover;
    background-position:center;
    background-color:#d9d9d9; /* placeholder grey if an image URL ever fails */
  }
  .safari-card__label{
    background:linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,0) 60%);
  }
  .safari-card__name{
    font-family:'Oswald',sans-serif;
    letter-spacing:1px;
    font-size:.78rem;
  }
  @media (min-width:768px){
    .safari-card__name{ font-size:.95rem; }
  }


    /* MAP */

    .nh-map__title{
    font-family: "Bebas Neue", "Anton", sans-serif;
    font-size: clamp(1.8rem, 2.6vw, 2.4rem);
    line-height: 1.1;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #1a1a1a;
  }
  .nh-map{
    background-image:url('https://images.unsplash.com/photo-1524661135-423995f22d0b?w=1600');
    background-size:cover;
    background-position:center;
    min-height:520px;
  }
  .nh-map__pin{
    width:14px;
    height:14px;
    background:#fff;
    border:3px solid #c0522d;
  }
  .nh-map__pin::after{
    content:"";
    position:absolute;
    top:-6px; left:-6px; right:-6px; bottom:-6px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.6);
  }
  .nh-map__label{
    font-family:'Oswald',sans-serif;
    letter-spacing:.5px;
    white-space:nowrap;
  }


      /* FAQ */

    .saf-faq-section{
    background-color:#ffffff;
    padding:80px 0;
  }
  .saf-faq__heading{
    font-family:'Oswald',sans-serif;
    font-weight:600;
    letter-spacing:1px;
    font-size:2.2rem;
  }
  .saf-faq__accordion{
    max-width:900px;
    background-color:#ffffff;
  }
  .saf-faq__item{
    background-color:#ffffff;
    border:none !important;
    border-bottom:1px solid #e5e5e5;
  }
  .saf-faq__btn{
    background-color:#ffffff !important;
    color:#1a1a1a;
    font-weight:700;
    letter-spacing:.5px;
    text-transform:uppercase;
    font-size:1rem;
    box-shadow:none !important;
    padding:1.25rem 0;
  }
  .saf-faq__btn:not(.collapsed){
    background-color:#ffffff !important;
    color:#1a1a1a;
  }
  .saf-faq__btn:focus{
    box-shadow:none;
  }
  .saf-faq__btn::after{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23c0175a'%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");
  }
  .saf-faq__btn:not(.collapsed)::after{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23c0175a'%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");
    transform:rotate(180deg);
  }
  .saf-faq__body{
    font-family: 'EB Garamond', serif !important;
    background-color:#ffffff;
    color:#555;
    padding:0 0 1.25rem 0;
    font-size:1rem;
    line-height:1.6;
  }

    /* ENDING OF OFFER PAGE */





















    /* STARTING OF VARIATION PAGE */

.variation-quote-hero {
  height: 70vh;
}
.variation-quote-hero-video {
  height: 80%;
  top: 10%;
}
.bg-variation-beige {
  background-color: #ede4d3;
}
.variation-philanthropy-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(2rem, 4vw, 3rem);
  letter-spacing: 1px;
}
.travel-up
{
    max-width: 700px;
    font-family: 'EB Garamond', serif !important;
    font-size: 1.1rem;
    line-height: 1.7;
    color: #000;
}
.variation-philanthropy-media {
  height: 600px; /* fixed, content ku match aaguthu image 3 mathiri */
}
@media (max-width: 991px) {
  .variation-philanthropy-media {
    height: 350px;
  }
}

    /* ENDING OF VARIATION PAGE */





















    /* STARTING OF BOOKING PAGE */

    .booking-mld-body{
    --ink: #1a1a2e !important;
    --rust: #c0522d !important;
    --cream: #f7f5f2 !important;
    --line: #eee !important;
  }
  .booking-mld-body{ background: var(--cream) !important; margin: 0 !important; }
  .booking-serif{ font-family: 'Playfair Display',booking-serif !important; }
  .booking-body-font{ font-family: 'EB Garamond',booking-serif !important; }
  .booking-tracking{ letter-spacing: 2px !important; }
  .booking-bt-hero{ height: 70vh !important; min-height: 420px !important; position: relative !important; overflow: hidden !important; }
  .booking-bt-hero img{ width: 100% !important; height: 100% !important; object-fit: cover !important; }
  .booking-bt-hero .booking-overlay{ position: absolute !important; inset: 0 !important; background: linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,0) 55%) !important; }
  .booking-bt-hero .booking-hero-tag{
    position: absolute !important; bottom: 20px !important; left: 20px !important; background: rgba(0,0,0,.55) !important; color: #fff !important;
    padding: 6px 16px !important; font-size: .75rem !important; letter-spacing: 2px !important; text-transform: uppercase !important;
  }
  .booking-pkg-header{ padding: 20px 0 10px !important; }
  .booking-pkg-name{ font-size: 1.9rem !important; font-weight: 700 !important; color: var(--ink) !important; }
  .booking-pkg-price{ font-size: 1.6rem !important; font-weight: 700 !important; color: var(--rust) !important; }
  .booking-pkg-price small{ font-size: .9rem !important; color: #888 !important; font-weight: 400 !important; }
  .booking-pkg-badge{
    background: var(--ink) !important; color: #fff !important; font-size: .7rem !important; letter-spacing: 2px !important;
    text-transform: uppercase !important; padding: 6px 14px !important; display: inline-block !important;
  }
  .booking-bt-tabs{ border-bottom: 1px solid #ddd !important; margin-top: 20px !important; }
  .booking-bt-tabs .nav-link{
    border: none !important; border-radius: 0 !important; color: #000 !important; text-transform: uppercase !important;
    letter-spacing: 1px !important; font-size: .85rem !important; padding: 14px 0 !important; margin-right: 34px !important;
    font-family: 'EB Garamond',booking-serif !important; font-weight: 500 !important;
  }
  .booking-bt-tabs .nav-link.active{
    color: var(--ink) !important; background: none !important; border-bottom: 2px solid var(--rust) !important; font-weight: 700 !important;
  }
  .booking-section-title{
    text-transform: uppercase !important; letter-spacing: 3px !important; font-size: 1rem !important; color: var(--ink) !important;
    border-bottom: 1px solid #ddd !important; padding-bottom: 12px !important; margin-bottom: 20px !important;
  }
  .booking-section-title span.booking-strong{ font-weight: 700 !important; }
  .booking-highlight-item{
    display: flex !important; align-items: center !important; gap: 14px !important; padding: 14px 0 !important; border-bottom: 1px solid var(--line) !important;
  }
  .booking-highlight-item .booking-star{ color: var(--rust) !important; font-size: 1.3rem !important; }
  .booking-why-item{ display: flex !important; gap: 10px !important; align-items: flex-start !important; padding: 8px 0 !important; }
  .booking-why-item .booking-chk{ color: #28a745 !important; }
  .accordion-item{ border: 1px solid var(--line) !important; margin-bottom: 12px !important; border-radius: 0 !important; }
  .accordion-button{
    border-radius:0!important; background: #fff !important; font-family: 'Playfair Display',booking-serif !important;
    font-weight: 700 !important; color: var(--ink) !important; box-shadow:none!important;
  }
  .accordion-button:not(.collapsed){ background: #fff !important; color: var(--rust) !important; }
  .accordion-button::after{ filter: none !important; }
  .booking-day-badge{
    background: var(--rust) !important; color: #fff !important; width: 44px !important; height: 44px !important; border-radius: 50% !important;
    display: flex !important; align-items: center !important; justify-content: center !important; font-size: .8rem !important;
    font-weight: 700 !important; margin-right: 14px !important; flex-shrink: 0 !important;
  }
  .accordion-body{ font-family: 'EB Garamond',booking-serif !important; font-size: 1rem !important; color: #555 !important; line-height: 1.8 !important; }
  .accordion-collapse.hide{ display: none !important; }
  .booking-box{ background: #fff !important; border: 1px solid var(--line) !important; padding: 24px !important; }
  .booking-box ul{ font-family: 'EB Garamond',booking-serif !important; font-size: .98rem !important; }
  .booking-box li{ margin-bottom: 8px !important; }
  .booking-cancel-col{ text-align: center !important; padding: 10px !important; border-right: 1px solid var(--line) !important; }
  .booking-cancel-col:last-child{ border-right: none !important; }
  .booking-policy-table{ width: 100% !important; border-collapse: collapse !important; font-family: 'EB Garamond',booking-serif !important; }
  .booking-policy-table thead th{
    background: var(--rust) !important; color: #fff !important; text-transform: uppercase !important; letter-spacing: 1px !important;
    font-size: .8rem !important; padding: 14px 20px !important; text-align: left !important; font-weight: 700 !important;
  }
  .booking-policy-table tbody td{ padding: 14px 20px !important; font-size: 1rem !important; color: #333 !important; }
  .booking-policy-table tbody tr:nth-child(even){ background: var(--cream) !important; }
  .booking-policy-notes{ margin-top: 24px !important; }
  .booking-policy-notes h6{ font-weight: 700 !important; color: var(--ink) !important; }
  .booking-policy-notes ul{ font-family: 'EB Garamond',booking-serif !important; font-size: .98rem !important; color: #444 !important; }
  .booking-policy-notes li{ margin-bottom: 6px !important; }
  .booking-policy-notes li::marker{ color: var(--rust) !important; }
  .booking-sticky-form-wrap{ position: sticky !important; top: 20px !important; z-index: 10 !important; }
  .booking-bt-form-card{ background: #fff !important; border: 1px solid var(--line) !important; box-shadow: 0 8px 32px rgba(0,0,0,.04) !important; padding: 26px !important; }
  .booking-bt-form-card label{
    text-transform: uppercase !important; letter-spacing: 2px !important; color: #000 !important; font-size: .7rem !important; font-weight: 500 !important;
  }
  .booking-bt-form-card .form-control,.booking-bt-form-card .form-select{
    border: 1px solid #ddd !important; border-radius: 0 !important; font-family: 'EB Garamond',booking-serif !important; font-size: 1rem !important;
  }
  .booking-bt-form-card .form-control:focus,.booking-bt-form-card .form-select:focus{
    border-color: var(--rust) !important; box-shadow: none !important;
  }
  .booking-price-box{ background: var(--cream) !important; padding: 16px !important; }
  .booking-price-row{ display: flex !important; justify-content: space-between !important; padding: 4px 0 !important; font-family: 'EB Garamond',booking-serif !important; color: #666 !important; }
  .booking-price-total{ font-family: 'Playfair Display',booking-serif !important; font-size: 1.3rem !important; font-weight: 700 !important; color: var(--ink) !important; }
  .booking-price-total-val{ font-size: 1.4rem !important; font-weight: 700 !important; color: var(--rust) !important; }
  .booking-btn-book{
    background: var(--ink) !important; color: #fff !important; text-transform: uppercase !important; letter-spacing: 3px !important;
    font-size: .85rem !important; border-radius: 0 !important; padding: 14px !important; width: 100% !important; border: none !important; transition: .3s !important;
  }
  .booking-btn-book:hover{ background: var(--rust) !important; color: #fff !important; }
  .booking-guest-dropdown{ position: relative !important; }
  .booking-guest-toggle{
    border: 1px solid #ddd !important; padding: 10px 14px !important; display: flex !important; justify-content: space-between !important;
    align-items: center !important; cursor: pointer !important; font-family: 'EB Garamond',booking-serif !important;
  }
  .booking-guest-panel{
    display: none !important; position: absolute !important; top: 100% !important; left: 0 !important; right: 0 !important; background: #fff !important;
    border: 1px solid #ddd !important; z-index: 20 !important; padding: 16px !important; box-shadow: 0 8px 20px rgba(0,0,0,.08) !important;
  }
  .booking-guest-panel.show{ display: block !important; }
  .booking-guest-row{ display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 8px 0 !important; }
  .booking-guest-row small{ display: block !important; color: #000 !important; }
  .booking-counter-btn{
    width: 30px !important; height: 30px !important; border: 1px solid #ddd !important; background: #fff !important; border-radius: 50% !important;
    display: inline-flex !important; align-items: center !important; justify-content: center !important; cursor: pointer !important;
  }

  /* MOBILE FIXES */
  @media (max-width: 767px){
    .booking-pkg-header{ padding: 14px 0 4px !important; }
    .booking-pkg-header .text-end{
      display: flex !important; align-items: center !important; gap: 10px !important; text-align: left !important;
    }
    .booking-pkg-price{ font-size: 1.3rem !important; }
    .booking-pkg-badge{ padding: 5px 10px !important; font-size: .65rem !important; }
    .booking-bt-tabs{ margin-top: 8px !important; }
  }

  .booking-inter-hero {
    height: 70vh !important;
    overflow: hidden !important;
    position: relative !important;
  }
  .booking-inter-hero__img {
    object-fit: cover !important;
  }
  .booking-inter-hero__overlay {
    background: linear-gradient(to top, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.05) 55%, rgba(0,0,0,0) 75%) !important;
    pointer-events: none !important;
  }
  .booking-inter-hero__content {
    text-align: left !important;
  }
  .booking-inter-hero__title {
    font-family: AlternateGotNo1D, 'League Gothic', sans-serif !important;
    font-size: 46px !important;
    line-height: 1.05 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
    text-shadow: 0 2px 12px rgba(0,0,0,0.5) !important;
  }
  .booking-inter-hero__subtitle {
    font-family: 'EB Garamond', booking-serif !important;
    max-width: 600px !important;
    font-size: 18px !important;
    line-height: 1.6 !important;
    letter-spacing: 2px !important;
    opacity: 0.95 !important;
    text-shadow: 0 1px 6px rgba(0,0,0,0.4) !important;
  }
  .booking-inter-hero__btn {
    background: #fff !important;
    color: #060108 !important;
    font-weight: 600 !important;
    padding: 14px 28px !important;
    text-decoration: none !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
  }
  .booking-inter-hero__btn:hover {
    color: #000000 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 18px rgba(0,0,0,0.25) !important;
  }
  .booking-inter-hero__btn-arrow {
    font-size: 18px !important;
  }
  @media (max-width: 991.98px) {
    .booking-inter-hero { height: 60vh !important; }
    .booking-inter-hero__title { font-size: 42px !important; }
  }
  @media (max-width: 767.98px) {
    .booking-inter-hero { height: 55vh !important; }
    .booking-inter-hero__title { font-size: 30px !important; }
    .booking-inter-hero__subtitle { font-size: 14px !important; }
    .booking-inter-hero__btn { padding: 12px 22px !important; font-size: 14px !important; }
  }

/* =========================================================
   FAMILY DESTINATION CARD - REFERENCE SIZE FIX
   IMPORTANT: The /family landing page uses
   .family-destination-card, NOT .family-trips__card.
   ========================================================= */

.family-destinations {
    width: 100% !important;
}

.family-destinations > .container-fluid {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.family-destinations > .container-fluid > .row {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 26px !important;
    width: 100% !important;
    margin: 0 !important;
}

.family-destinations > .container-fluid > .row > .col-lg-4,
.family-destinations > .container-fluid > .row > .col-md-6 {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 !important;
}

.family-destination-card {
    width: 100% !important;
    height: auto !important;
    overflow: hidden !important;
    background: #111 !important;
}

.family-destination-card__image-wrap {
    position: relative !important;
    width: 100% !important;
    height: 414px !important;
    min-height: 414px !important;
    overflow: hidden !important;
}

.family-destination-card__img {
    display: block !important;
    width: 100% !important;
    height: 414px !important;
    min-height: 414px !important;
    object-fit: cover !important;
}

.family-destination-card__overlay {
    position: absolute !important;
    inset: 0 !important;
}

.family-destination-card__content {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
}

/* Desktop/reference: 3 equal cards.
   Tablet: 2 cards.
   Mobile: 1 card. */
@media (max-width: 991.98px) {
    .family-destinations > .container-fluid > .row {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 18px !important;
    }
}

@media (max-width: 767.98px) {
    .family-destinations > .container-fluid > .row {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    .family-destination-card__image-wrap,
    .family-destination-card__img {
        height: 340px !important;
        min-height: 340px !important;
    }
}

/* ===== FAMILY DESTINATION CARD SIZE / ALIGNMENT FIX =====
   Reference card layout only. Existing PHP/JS/dynamic flow untouched. */

#tripsGrid {
    width: 100vw !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 13px !important;
    padding-right: 13px !important;

    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    column-gap: 26px !important;
    row-gap: 26px !important;
    box-sizing: border-box !important;
}

#tripsGrid > .col-lg-4,
#tripsGrid > .col-md-6 {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 !important;
}

.family-destination-card {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

.family-destination-card__image-wrap {
    width: 100% !important;
    height: 450px !important;
    overflow: hidden !important;
}

.family-destination-card__img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

@media (max-width: 991.98px) {
    #tripsGrid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767.98px) {
    #tripsGrid {
        grid-template-columns: 1fr !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    .family-destination-card__image-wrap {
        height: 380px !important;
    }
}








/* ============================================================
   N-HOLIDAYS FAMILY DESTINATION CARDS
   Reference-style card layout.
   This stylesheet intentionally uses NEW fh-* class names so
   old .family-destination-card / Bootstrap card CSS cannot
   override the new design.
   ============================================================ */

.family-destinations {
  width: 100%;
  margin: 0;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.fh-destination-grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 26px;
  row-gap: 26px;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.fh-destination-link {
  display: block;
  width: 100%;
  min-width: 0;
  color: inherit;
  text-decoration: none;
}

.fh-destination-card {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: #111;
  border: 0;
  border-radius: 0;
  box-sizing: border-box;
}

.fh-destination-media {
  position: relative;
  width: 100%;
  height: 414px;
  min-height: 414px;
  overflow: hidden;
  background: #111;
}

.fh-destination-image {
  display: block;
  width: 100%;
  height: 414px;
  min-height: 414px;
  margin: 0;
  padding: 0;
  object-fit: cover;
  object-position: center;
  border: 0;
  border-radius: 0;
  transition: transform .35s ease;
}

.fh-destination-gradient {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(
      to top,
      rgba(0,0,0,.72) 0%,
      rgba(0,0,0,.18) 42%,
      rgba(0,0,0,0) 72%
    );
}

.fh-destination-name {
  position: absolute;
  left: 22px;
  right: 22px;
  bottom: 20px;
  z-index: 2;

  color: #fff;
  font-family: AlternateGotNo1D, 'League Gothic', sans-serif;
  font-size: 30px;
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: 1px;
  text-transform: uppercase;
  text-shadow: 0 2px 8px rgba(0,0,0,.55);
}

.fh-destination-meta {
  width: 100%;
  height: 38px;
  min-height: 38px;

  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;

  padding: 0 12px;
  box-sizing: border-box;

  background: #111;
  color: #fff;

  font-family: 'EB Garamond', serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1;
  white-space: nowrap;
  text-align: center;
}

.fh-destination-link:hover {
  color: inherit;
  text-decoration: none;
}

.fh-destination-link:hover .fh-destination-image {
  transform: scale(1.025);
}

.fh-destination-empty {
  grid-column: 1 / -1;
  width: 100%;
  padding: 70px 20px;
  text-align: center;
}

.fh-destination-empty h3 {
  margin-bottom: 10px;
}

.fh-destination-empty p {
  margin: 0;
  color: #666;
}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 991.98px) {
  .fh-destination-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }

  .fh-destination-media,
  .fh-destination-image {
    height: 400px;
    min-height: 400px;
  }

  .fh-destination-name {
    font-size: 27px;
    left: 20px;
    right: 20px;
  }
}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 767.98px) {
  .fh-destination-grid {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 0 15px;
  }

  .fh-destination-media,
  .fh-destination-image {
    height: 360px;
    min-height: 360px;
  }

  .fh-destination-name {
    left: 18px;
    right: 18px;
    bottom: 17px;
    font-size: 25px;
  }

  .fh-destination-meta {
    height: 40px;
    min-height: 40px;
    font-size: 14px;
  }
}









/* =========================================================
   GROUP PAGE + REFERENCE STYLE HORIZONTAL DESTINATION CARDS
   ========================================================= */


/* =========================================================
   HERO
   ========================================================= */

.group-hero {
    height: 90vh;
    min-height: 620px;
    overflow: hidden;
}

.group-hero__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.group-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.58),
        rgba(0, 0, 0, 0) 55%
    );
}

.group-hero__content {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 0 20px 55px;
    text-align: center;
}

.group-hero__content h1 {
    margin: 0;
    color: #fff;
    font-family: AlternateGotNo1D, 'League Gothic', sans-serif;
    font-size: clamp(42px, 6vw, 86px);
    font-weight: 400;
    line-height: 1.02;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}


/* =========================================================
   GROUP INTRO
   ========================================================= */

.group-intro {
    padding: 70px 20px 55px;
    background: #fff;
}

.group-intro__inner {
    width: min(820px, 100%);
    margin: auto;
    text-align: center;
}

.group-intro p {
    margin: 0 auto 18px;
    color: #333;
    font-family: 'EB Garamond', serif;
    font-size: 17px;
    line-height: 1.75;
}

.group-intro__button,
.group-trips__quote-btn,
.cc-needhelp__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    background: #202020;
    color: #fff;

    text-decoration: none;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.group-intro__button {
    min-height: 46px;
    padding: 0 28px;
    margin-top: 10px;
    font-size: 13px;
}

.group-intro__button:hover,
.group-trips__quote-btn:hover,
.cc-needhelp__button:hover {
    color: #fff;
    background: #000;
}


/* =========================================================
   CELEBRATORY SECTION
   ========================================================= */

.cc-celebratory {
    padding: 55px 0;
    background: #fff;
}

.cc-celebratory > h2 {
    margin: 0 20px 45px;
    color: #1a1a1a;
    font-family: AlternateGotNo1D, 'League Gothic', sans-serif;
    font-size: clamp(32px, 4vw, 52px);
    font-weight: 400;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
}

.cc-celebratory__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 45px;
}

.cc-celebratory__grid > div:first-child img {
    display: block;
    width: 100%;
    height: 560px;
    object-fit: cover;
}

.cc-celebratory__content {
    padding: 20px 55px 20px 10px;
}

.cc-celebratory__content ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.cc-celebratory__content li {
    position: relative;
    margin-bottom: 24px;
    padding-left: 25px;

    color: #222;
    font-family: 'EB Garamond', serif;
    font-size: 17px;
    line-height: 1.65;
}

.cc-celebratory__content li::before {
    content: '';

    position: absolute;
    left: 0;
    top: 0.7em;

    width: 7px;
    height: 7px;

    border-radius: 50%;
    background: #222;
}


/* =========================================================
   QUOTE
   ========================================================= */

.cc-quote {
    padding: 70px 20px;
}

.cc-quote__box {
    width: min(1100px, 100%);
    margin: auto;
    padding: 55px 60px;

    background: #e9e7e2;
    text-align: center;
}

.cc-quote__box p {
    margin: 0 auto 12px;
    color: #000;
    font-family: 'EB Garamond', serif;
    font-size: 19px;
    font-style: italic;
    line-height: 1.85;
}

.cc-quote__box span {
    color: #212529;
    font-family: 'Brandon Grotesque', Cabin, sans-serif;
    font-size: 18px;
    font-weight: 700;
    font-style: italic;
}


/* =========================================================
   IMAGE STRIP
   ========================================================= */

.cc-strip {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4px;
}

.cc-strip img {
    display: block;
    width: 100%;
    height: 550px;
    object-fit: cover;
}


/* =========================================================
   GROUP TRIPS SECTION
   ========================================================= */

.group-trips {
    width: 100%;
    padding: 70px 0 80px;
    overflow: hidden;
    background: #fff;
}

.group-trips__inner {
    width: 100%;
    padding: 0 26px;
    box-sizing: border-box;
}


/* =========================================================
   INTERNATIONAL / DOMESTIC SWITCH
   ========================================================= */

.group-type-switch {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    margin: 0 auto 48px;
}

.group-type-switch__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 184px;
    height: 56px;

    border: 1px solid #222;
    border-radius: 0;

    background: #fff;
    color: #222;

    font-size: 15px;
    font-weight: 500;
    text-decoration: none;

    box-sizing: border-box;
}

.group-type-switch__btn + .group-type-switch__btn {
    border-left: 0;
}

.group-type-switch__btn:hover {
    color: #222;
    background: #f7f7f7;
}

.group-type-switch__btn.is-active {
    background: #202020;
    color: #fff;
    border-color: #202020;
}


/* =========================================================
   GROUP TRIPS LAYOUT
   ========================================================= */

.group-trips__layout {
    display: grid;
    grid-template-columns: 350px minmax(0, 1fr);
    gap: 42px;
    align-items: center;
}

.group-trips__intro {
    padding-right: 8px;
}

.group-trips__intro h2 {
    margin: 0 0 25px;

    color: #1a1a1a;

    font-family: AlternateGotNo1D, 'League Gothic', sans-serif;
    font-size: clamp(42px, 4vw, 58px);
    font-weight: 400;
    line-height: 1.02;
    letter-spacing: 0.02em;

    text-transform: uppercase;
}

.group-trips__intro p {
    max-width: 350px;
    margin: 0 0 30px;

    color: #000;

    font-family: 'EB Garamond', serif;
    font-size: 17px;
    line-height: 1.7;
}

.group-trips__quote-btn {
    min-width: 158px;
    height: 47px;
    padding: 0 22px;
    font-size: 12px;
}


/* =========================================================
   HORIZONTAL CARD TRACK
   ========================================================= */

.group-trips__cards-wrap {
    position: relative;
    min-width: 0;
}

.group-trips__track {
    display: flex;
    gap: 20px;

    width: 100%;
    padding: 0 2px 8px;

    overflow-x: auto;
    overflow-y: hidden;

    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;

    scrollbar-width: none;
}

.group-trips__track::-webkit-scrollbar {
    display: none;
}


/* =========================================================
   GROUP DESTINATION CARD
   ========================================================= */

.group-card {
    position: relative;

    flex: 0 0 312px;
    width: 312px;
    height: 580px;
    min-width: 312px;

    overflow: hidden;
    border-radius: 4px;

    background: #222;

    scroll-snap-align: start;
}

.group-card__image {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.group-card__overlay {
    position: absolute;
    inset: 0;

    display: flex;
    flex-direction: column;
    justify-content: flex-end;

    padding: 22px;

    color: #fff;

    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.88),
        rgba(0, 0, 0, 0.55) 30%,
        rgba(0, 0, 0, 0.08) 70%,
        rgba(0, 0, 0, 0)
    );
}

.group-card__country {
    display: block;

    margin-bottom: 10px;

    color: #fff;

    font-family: Arial, sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;

    text-transform: uppercase;
}

.group-card__title {
    margin: 0 0 18px;

    color: #fff;

    font-family: Arial, sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;

    text-transform: uppercase;
}

.group-card__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 140px;
    height: 42px;

    border: 1px solid rgba(255, 255, 255, 0.9);

    background: transparent;
    color: #fff;

    text-decoration: none;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;

    text-transform: uppercase;
}

.group-card__button:hover {
    color: #222;
    background: #fff;
}

.group-card__empty {
    width: 100%;
    padding: 80px 20px;

    color: #666;

    font-family: 'EB Garamond', serif;
    text-align: center;
}


/* =========================================================
   CARD NAVIGATION ARROWS
   ========================================================= */

.group-trips__arrow {
    position: absolute;
    top: 50%;
    z-index: 5;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 46px;
    height: 46px;

    border: 0;
    border-radius: 50%;

    background: rgba(25, 25, 25, 0.72);
    color: #fff;

    font-size: 32px;
    line-height: 1;

    cursor: pointer;

    transform: translateY(-50%);
}

.group-trips__arrow--prev {
    left: -23px;
}

.group-trips__arrow--next {
    right: -23px;
}

.group-trips__arrow:hover {
    background: #111;
}

.group-trips__arrow:disabled {
    opacity: 0;
    pointer-events: none;
}


/* =========================================================
   NEED HELP
   ========================================================= */

.cc-needhelp {
    padding: 75px 20px;
    background: #fff;
}

.cc-needhelp__inner {
    width: min(850px, 100%);
    margin: auto;
    text-align: center;
}

.cc-needhelp__inner h2 {
    margin: 0 0 20px;

    color: #1a1a1a;

    font-family: AlternateGotNo1D, 'League Gothic', sans-serif;
    font-size: clamp(32px, 4vw, 50px);
    line-height: 1.05;

    text-transform: uppercase;
}

.cc-needhelp__inner p {
    margin: 0 auto 25px;

    color: #333;

    font-family: 'EB Garamond', serif;
    font-size: 17px;
    line-height: 1.7;
}

.cc-needhelp__button {
    min-width: 155px;
    height: 46px;
    font-size: 12px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    .group-trips__layout {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .group-trips__intro {
        padding-right: 0;
        text-align: center;
    }

    .group-trips__intro p {
        margin-left: auto;
        margin-right: auto;
    }

    .group-card {
        flex-basis: 300px;
        width: 300px;
        min-width: 300px;
        height: 540px;
    }

    .cc-celebratory__grid {
        grid-template-columns: 1fr;
    }

    .cc-celebratory__content {
        padding: 0 30px;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767.98px) {

    .group-hero {
        height: 70vh;
        min-height: 480px;
    }

    .group-hero__content {
        padding-bottom: 35px;
    }

    .group-intro {
        padding-top: 50px;
    }

    .cc-strip {
        grid-template-columns: 1fr;
    }

    .cc-strip img {
        height: 260px;
    }

    .cc-celebratory__grid > div:first-child img {
        height: 350px;
    }

    .cc-quote__box {
        padding: 35px 25px;
    }

    .group-trips {
        padding-top: 50px;
    }

    .group-trips__inner {
        padding: 0 15px;
    }

    .group-type-switch {
        margin-bottom: 35px;
    }

    .group-type-switch__btn {
        width: 50%;
        max-width: 180px;
        height: 50px;
        font-size: 14px;
    }

    .group-card {
        flex-basis: 82vw;
        width: 82vw;
        min-width: 82vw;
        height: 500px;
    }

    .group-trips__arrow {
        display: none;
    }
}

/* Group card arrow alignment fix */
.group-trips__cards-wrap {
    position: relative;
    min-width: 0;
    padding: 0 34px;
    box-sizing: border-box;
}

.group-trips__arrow {
    position: absolute;
    top: 50%;
    z-index: 10;
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: rgba(25, 25, 25, 0.72);
    color: #fff;
    font-size: 32px;
    line-height: 1;
    transform: translateY(-50%);
    cursor: pointer;
}

.group-trips__arrow--prev {
    left: 0;
}

.group-trips__arrow--next {
    right: 0;
}

.group-trips__arrow:hover {
    background: #111;
}

.group-trips__arrow:disabled {
    opacity: 0;
    pointer-events: none;
}

@media (max-width: 767.98px) {
    .group-trips__cards-wrap {
        padding: 0;
    }

    .group-trips__arrow {
        display: none;
    }
}


/* =========================================================
   BOOKING PAGE FINAL UI SAFETY OVERRIDES
   Reference UI only. Backend/booking functionality untouched.
   Scoped to .booking-mld-root so other pages are not affected.
   ========================================================= */
.booking-mld-root {
  --ink: #1a1a2e !important;
  --rust: #c0522d !important;
  --cream: #f7f5f2 !important;
  --line: #eee !important;
  background: var(--cream) !important;
  width: 100% !important;
}

.booking-mld-root,
.booking-mld-root .booking-serif {
  font-family: 'Playfair Display', serif;
}

.booking-mld-root .booking-body-font,
.booking-mld-root .booking-bt-tabs .nav-link,
.booking-mld-root .booking-bt-form-card .form-control,
.booking-mld-root .booking-bt-form-card .form-select,
.booking-mld-root .booking-guest-toggle,
.booking-mld-root .booking-price-row,
.booking-mld-root .booking-policy-table,
.booking-mld-root .booking-policy-notes ul,
.booking-mld-root .accordion-body {
  font-family: 'EB Garamond', serif !important;
}

.booking-mld-root .booking-inter-hero,
.booking-mld-root .booking-bt-hero {
  overflow: hidden !important;
}

.booking-mld-root .booking-inter-hero__img,
.booking-mld-root .booking-bt-hero img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.booking-mld-root .booking-inter-hero__title {
  max-width: 950px !important;
  overflow-wrap: anywhere !important;
}

.booking-mld-root .booking-bt-tabs {
  display: flex !important;
  flex-wrap: wrap !important;
}

.booking-mld-root .booking-bt-form-card {
  overflow: visible !important;
}

@media (max-width: 991.98px) {
  .booking-mld-root .booking-sticky-form-wrap {
    position: static !important;
  }

  .booking-mld-root .booking-bt-tabs {
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    scrollbar-width: none !important;
    padding-bottom: 1px !important;
  }

  .booking-mld-root .booking-bt-tabs::-webkit-scrollbar {
    display: none !important;
  }

  .booking-mld-root .booking-bt-tabs .nav-item {
    flex: 0 0 auto !important;
  }

  .booking-mld-root .booking-bt-tabs .nav-link {
    margin-right: 24px !important;
  }
}

@media (max-width: 767.98px) {
  .booking-mld-root .mld-package-section {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .booking-mld-root .booking-inter-hero__content {
    padding-bottom: 28px !important;
  }

  .booking-mld-root .booking-inter-hero__title {
    font-size: 30px !important;
    line-height: 1.08 !important;
  }

  .booking-mld-root .booking-inter-hero__subtitle {
    max-width: 100% !important;
    letter-spacing: 1px !important;
  }

  .booking-mld-root .booking-bt-hero {
    height: 52vh !important;
    min-height: 300px !important;
  }

  .booking-mld-root .booking-pkg-name {
    font-size: 1.45rem !important;
    line-height: 1.25 !important;
  }

  .booking-mld-root .booking-pkg-price {
    font-size: 1.3rem !important;
  }

  .booking-mld-root .booking-bt-form-card {
    padding: 20px !important;
  }

  .booking-mld-root .booking-price-row {
    gap: 12px !important;
  }

  .booking-mld-root .booking-price-total-val {
    white-space: nowrap !important;
  }
}
