/* =========================
   RESET
========================= */

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  scroll-behavior:smooth;
}

body{
  font-family:'Manrope',sans-serif;
  background:#f8f4ed;
  color:#111;
  overflow-x:hidden;
}


img{
  width:100%;
  display:block;
}

a{
  text-decoration:none;
}

ul{
  list-style:none;
}


/* =========================
   WHATSAPP FLOAT (PROFESSIONAL)
========================= */

.whatsapp-float{
  position:fixed;
  right:20px;
  bottom:20px;

  width:60px;
  height:60px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:50%;

  box-shadow:0 8px 20px rgba(0,0,0,0.15);

  z-index:999;
  transition:0.25s ease;
}

/* icon */
.whatsapp-float img{
  width: 45px;
  height:45px;
}


/* subtle pulse ring */
.whatsapp-float::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  background:rgba(37,211,102,0.4);

  animation:waPulse 2s infinite;
  z-index:-1;
}

/* TEXT BUBBLE */
.wa-text{
  position:absolute;
  right:70px;
  background:#fff;
  color:#2A1F1B;

  padding:8px 14px;
  border-radius:20px;
  font-size:13px;
  white-space:nowrap;

  box-shadow:0 10px 25px rgba(0,0,0,0.1);

  opacity:0;
  transform:translateX(10px);
  transition:0.3s ease;
}

/* show text */
.whatsapp-float.show-text .wa-text{
  opacity:1;
  transform:translateX(0);
}

/* small arrow */
.wa-text::after{
  content:"";
  position:absolute;
  right:-6px;
  top:50%;
  transform:translateY(-50%);
  border-width:6px;
  border-style:solid;
  border-color:transparent transparent transparent #fff;
}
@keyframes waPulse{
  0%{
    transform:scale(1);
    opacity:0.6;
  }
  70%{
    transform:scale(1.6);
    opacity:0;
  }
  100%{
    opacity:0;
  }
}
/* hover (subtle only) */
.whatsapp-float:hover{
  transform:scale(1.08);
  box-shadow:0 12px 25px rgba(0,0,0,0.25);
}

/* mobile */
@media(max-width:768px){
  .whatsapp-float{
    position:fixed;
    width:55px;
    height:55px;
    right:15px;
    bottom:22px;
    z-index:99999;
    transform:none;
  }

  .whatsapp-float:hover{
    transform:none;
  }

  .whatsapp-float img{
    width:40px;
    height:40px;
  }

  .wa-text{
    display:none;
  }
}

/* =========================
   CONTAINER
========================= */

.container{
  width:90%;
  max-width:1400px;
  margin:auto;
}

/* =========================
   NAVBAR
========================= */

.navbar{
  height:100px;
  position:fixed;
  top:0;
  left:0;
  width:100%;

  padding:0 6%;   /* 👈 equal top & bottom */

  display:flex;
  justify-content:space-between;
  align-items:center;

  background:rgba(255,255,255,0.88);
  backdrop-filter:blur(16px);

  z-index:999;
  border-bottom:1px solid rgba(193,59,116,0.18);
  box-shadow:0 8px 30px rgba(0,0,0,0.06);
}

.logo img{
  width:150px;
}

nav{
  display:flex;
  gap:34px;
}

.nav-menu{
  display:flex;
  gap:44px;
  align-items:center;
   margin-left:190px;
}

nav a,
.nav-menu a{
  font-family:'Clash Grotesk',sans-serif;
  font-size:14px;
  font-weight:600;
  letter-spacing:1.2px;
  text-transform:uppercase;

  color:#2A1F1B;
  text-decoration:none;

  transition:0.3s ease;
}

nav a::after,
.nav-menu a::after{
  display:none;
}

.nav-menu a:hover{
  color:#C13B74;
  transform:translateY(-2px);
}

.menu-toggle{
  display:none;
  width:48px;
  height:48px;
  border:none;
  background:transparent;
  cursor:pointer;
  padding:0;
  position:relative;
  z-index:1001;
  align-items:center;
  justify-content:center;
  flex-direction:column;
}

.menu-toggle span{
  display:block;
  width:24px;
  height:2px;
  background:#2A1F1B;
  margin:4px 0;
  transition:0.35s ease;
  border-radius:2px;
}


.nav-cta{
  background:#2E7D32;
  color:white !important;

  padding:8px 18px;
  border-radius:30px;

  font-size:13px;
  font-weight:600;
  letter-spacing:1px;

  transition:0.3s ease;
}

.nav-cta:hover{
  background:#256628;
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(46,125,50,0.3);
}

/* MOBILE RESPONSIVE FOR EXPLORE WAYANAD CTA */
@media(max-width:768px){

  /* CENTER THE CTA */
  .nav-cta{
    position:absolute;
    left:65%;
    top:50%;
    transform:translate(-50%, -50%);

    padding:6px 14px;
    font-size:11px;
    border-radius:20px;

    white-space:nowrap;
    z-index:1000;
  }

}
/* =========================
   PREMIUM BUTTONS
========================= */

.primary-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:16px 34px;
  border-radius:50px;
  background:linear-gradient(135deg, #C13B74, #D96A95);
  color:white;
  font-size:15px;
  font-weight:600;
  letter-spacing:0.5px;
  border:none;
  cursor:pointer;
  transition:all 0.35s ease;
  box-shadow:0 10px 25px rgba(193,59,116,0.25);
  position:relative;
  overflow:hidden;
}

.primary-btn:hover{
  transform:translateY(-4px);
  box-shadow:0 15px 35px rgba(193,59,116,0.35);
  background:linear-gradient(135deg, #a92f63, #c85a86);
}

/* OUTLINE BUTTON */
.secondary-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:16px 34px;
  border-radius:50px;
  border:2px solid white;
  color:white;
  font-size:15px;
  font-weight:600;
  letter-spacing:0.5px;
  transition:all 0.3s ease;
}

.secondary-btn:hover{
  background:white;
  color:#2A1F1B;
  transform:translateY(-3px);
}

.book-btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;

  padding:12px 28px;
  border-radius:50px;

  background:linear-gradient(135deg,  #c27b96,#a51f59);
  color:rgb(255, 255, 255);

  font-weight:600;
  font-size:14px;
  letter-spacing:0.5px;

  border:none;
  cursor:pointer;

  transition:all 0.35s ease;
  box-shadow:0 8px 25px rgba(193,59,116,0.25);
  overflow:hidden;
}

/* Hover effect */
.book-btn:hover{
  transform:translateY(-3px) scale(1.03);
  box-shadow:0 15px 35px rgba(193,59,116,0.35);
}

/* Glow pulse effect */
.book-btn::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50px;
  background:linear-gradient(135deg, #D96A95, #C13B74);
  opacity:0;
  transition:0.4s;
}

.book-btn:hover::before{
  opacity:0.2;
}

/* Shine animation */
.book-btn::after{
  content:"";
  position:absolute;
  top:0;
  left:-100%;
  width:50%;
  height:100%;
  background:linear-gradient(
    120deg,
    transparent,
    rgba(255,255,255,0.6),
    transparent
  );
  transform:skewX(-25deg);
}

.book-btn:hover::after{
  left:120%;
  transition:0.6s;
}


@media(max-width:768px){

  /* PRIMARY BUTTON */
  .primary-btn{
    padding:10px 10px;
    font-size:13px;
    border-radius:30px;
  }

  .primary-btn:hover{
    transform:translateY(-2px);
  }

  /* SECONDARY BUTTON */
  .secondary-btn{
    padding:10px 20px;
    font-size:13px;
    border-radius:30px;
  }

  .secondary-btn:hover{
    transform:translateY(-2px);
  }

  /* BOOK BUTTON */
  .book-btn{
    padding:9px 18px;
    font-size:12.5px;
    border-radius:28px;
  }

  .book-btn:hover{
    transform:translateY(-2px) scale(1.01);
  }

  /* Reduce shine effect size */
  .book-btn::after{
    width:40%;
  }
}



/* =========================
   HERO SECTION
========================= */

.hero{
  height:100vh;
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  padding:0 7%;
}

/* SLIDER */

.hero-slider{
  position:absolute;
  inset:0;
}

.slide{
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity 1.5s ease-in-out;
  background-size:cover;
  background-position:center;
}

/* ACTIVE SLIDE */

.slide.active{
  opacity:1;
}

/* BACKGROUND IMAGES */

.slide{
  position:absolute;
  width:100%;
  height:100%;

  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;

  opacity:0;
  transition:1s ease;
}

.slide.active{
  opacity:1;
}


/* =========================
   PREMIUM BLUE OVERLAY
========================= */

.hero-overlay{
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      rgba(0,0,0,0.45),
      rgba(0,0,0,0.55)
    ),

    linear-gradient(
      135deg,
      rgba(24,94,160,0.30),
      rgba(58,123,213,0.16)
    );

  z-index:1;
}

/* CONTENT */

.hero-content{
  position:relative;
  z-index:2;
  max-width:700px;
}

.hero-subtitle{
  color:white;
  letter-spacing:4px;
  margin-bottom:20px;
  font-size:14px;
}

.hero h1{
  font-size:85px;
  line-height:1.1;
  color:white;
   font-family:'Playfair Display', serif;
}

.hero h1 span{
  color:#D96A95;
}

.hero-text{
  margin-top:25px;
  color:#f2f2f2;
  font-size:18px;
  max-width:600px;
}

.hero-buttons{
  margin-top:45px;
  display:flex;
  gap:20px;
}

/* =========================
   SECTION HEADER
========================= */

.section-header{
  margin-bottom:60px;
}

.section-header p{
  color:#C13B74;
  letter-spacing:3px;
  font-size:19px;
  margin-bottom:10px;
  text-transform:uppercase;
}

.section-header h2{
  font-weight: 550;
  font-size:56px;
  font-family:'Clash Grotesk',sans-serif;
  color:#2A1F1B;
}

/* =========================
   ABOUT SECTION
========================= */

.about{
  padding:130px 7%;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:center;
}
.about-mobile-tag{
  display:none;
}

.about-image img{
  border-radius:20px;
  height:600px;
  object-fit:cover;
}

.about-content h2{
  font-weight: 550;
  font-size:58px;
  font-family:'Clash Grotesk',sans-serif;
  margin:20px 0;
  line-height:1.2;
}

.about-content p{
  color:#5F5651;
  margin-bottom:25px;
  font-size:20px;
}


.about-mobile-tag{
  display:none;
}

@media(max-width:768px){
  .section-header p{
  color:#C13B74;
  letter-spacing:3px;
  font-size:13px;
  margin-bottom:10px;
  text-transform:uppercase;
}

  .about{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-bottom: 0px;
  }
    .section-tag{
      margin-left: 40px;
    margin-bottom:-60px;   /* less space under ABOUT US */
  }

  .about-mobile-tag{
    display:block;
  }

  .about-desktop-tag{
    display:none;
  }

  .about-image{
    margin:0;
  }

  .about-content{
    margin:0;
  }

  .about-image img{
    height:260px;
  }

  .about-content h2{
    margin:8px 0 6px;
  }

  .about-content p{
    margin-bottom:260px;
  }
}

/* =========================
   ROOMS SECTION
========================= */

.rooms{
  padding:130px 7%;
  background:white;
}

/* GRID LAYOUT */
.room-grid{
  display:grid;
  grid-template-columns:repeat(6, 1fr);
  gap:35px;
}

/* FIRST ROW (3 CARDS) */
.room-card:nth-child(1){
  grid-column:1 / 3;
}

.room-card:nth-child(2){
  grid-column:3 / 5;
}

.room-card:nth-child(3){
  grid-column:5 / 7;
}

/* SECOND ROW (CENTERED 2 CARDS) */
.room-card:nth-child(4){
  grid-column:2 / 4;
}

.room-card:nth-child(5){
  grid-column:4 / 6;
}

/* CARD STYLE */
.room-card{
  background:white;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 10px 30px rgba(0,0,0,0.06);
  transition:0.4s;

  display:flex;
  flex-direction:column;
  height:100%;
}

.room-card:hover{
  transform:translateY(-10px);
}

/* IMAGE */
.room-card img{
  width:100%;
  height:260px;
  object-fit:cover;
  transition:0.4s;
}

.room-card:hover img{
  transform:scale(1.05);
}

/* CONTENT */
.room-info{
  padding:28px;

  display:flex;
  flex-direction:column;
  flex:1;
}

.room-info h3{
  font-size:28px;
  margin-bottom:12px;
  font-family:'Clash Grotesk',sans-serif;
}

.room-info p{
  color:#6d625d;
  margin-bottom:18px;
  min-height:60px;   /* equal text height */
}

/* PRICE ALIGN BOTTOM */
.room-price{
  color:#C13B74;
  font-weight:600;
  margin-top:auto;
}


/* =========================
   AMENITIES (PREMIUM ICON CARDS)
========================= */

.amenities{
  padding:130px 7%;
  background:
    radial-gradient(circle at top left, rgba(193,59,116,0.10), transparent 35%),
    linear-gradient(180deg, #FFF9F7 0%, #F8F5F1 100%);
}

.amenities-header{
  text-align:center;
  margin-bottom:70px;
}

.amenity-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:30px;
}

.amenity-card{
  margin-bottom: 20px;
  margin-top: 20px;
  background:rgba(255,255,255,0.85);
  border:1px solid rgba(193,59,116,0.10);
  border-radius:89px;
  padding:36px 26px;
  text-align:center;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;

  box-shadow:0 16px 45px rgba(0,0,0,0.07);
  transition:0.35s ease;
}

.amenity-card i{
  width:72px;
  height:72px;

  display:flex;
  align-items:center;
  justify-content:center;

  font-size:30px;
  color:#C13B74;

  background:linear-gradient(135deg, rgba(193,59,116,0.12), rgba(217,106,149,0.08));
  border-radius:50%;
  margin-bottom:18px;

  box-shadow:inset 0 0 0 1px rgba(193,59,116,0.14);
  transition:0.35s ease;
}

.amenity-card h3{
  font-weight: 500;
  font-size:24px;
  font-family:'Clash Grotesk',sans-serif;
  color:#2A1F1B;
  margin:0 0 10px;
  text-align:center;
}

.amenity-card p{
  color:#6d625d;
  font-size:14px;
  line-height:1.7;
  max-width:260px;
  margin:0 auto;
}

.amenity-card:hover{
  transform:translateY(-10px);
  box-shadow:0 28px 70px rgba(0,0,0,0.14);
  border-color:rgba(193,59,116,0.25);
}

.amenity-card:hover i{
  background:linear-gradient(135deg, #C13B74, #D96A95);
  color:white;
  transform:scale(1.08) rotate(4deg);
}

/* remove old image wrapper if still in HTML */
.amenity-img-wrap{
  display:none;
}

/* =========================
   AMENITIES MOBILE
========================= */

@media(max-width:768px){

  .amenities{
    padding:55px 5%;
  }

  .amenities-header{
    margin-bottom:35px;
  }

  .amenity-grid{
    grid-template-columns:repeat(2, 1fr) !important;
    gap:14px !important;
    margin-bottom: 10px;
    margin-top: 10px;
  }

  .amenity-card{
    padding:24px 12px;
    border-radius:60px;
  }

  .amenity-card i{
    width:40px;
    height:4px;
    font-size:25px;
    margin-bottom:12px;
  }

  .amenity-card h3{
    font-size:16px;
    line-height:1.2;
    margin-bottom:0;
  }

  .amenity-card p{
    display:none;
  }
}

/* =========================
   GALLERY
========================= */

.gallery{
  padding:65px 7%;
  background:white;
}

.gallery-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
}

.gallery-grid img{
  height:280px;
  object-fit:cover;
  border-radius:16px;
  transition:0.4s;
}

.gallery-grid img:hover{
  transform:scale(1.03);
}




/* =========================
   FINAL PREMIUM TESTIMONIAL SLIDER
========================= */
.guest-stories-header{
  text-align:center;
}

.guest-stories-header p,
.guest-stories-header h2{
  text-align:center;
}
@media(max-width:768px){

  .guest-stories-header{
    margin-bottom:28px;
  }

}

.guest-stories{
  padding:4px 7%;
  background:linear-gradient(180deg, #F8F5F1, #FFF9F7);
  position:relative;
  overflow:hidden;
}

/* center container */
.guest-stories-grid{
  position:relative;
  height:460px;   /* bigger */
  max-width:800px;
  margin:auto;
  perspective:1200px;
}

/* cards stacked */
.guest-card{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  cursor:default;

  padding:46px 40px;
  border-radius:30px;

  background:linear-gradient(
    145deg,
    rgba(255,255,255,0.95),
    rgba(255,255,255,0.80)
  );

  backdrop-filter:blur(18px);

  border:1px solid rgba(193,59,116,0.08);

  box-shadow:
    0 25px 70px rgba(0,0,0,0.10),
    0 10px 30px rgba(0,0,0,0.05);

  display:flex;
  flex-direction:column;
  gap:24px;

  opacity:0;
  transform:rotateY(90deg) scale(0.96);
  transition:0.7s ease;
}

/* active card */
.guest-card.active{
  opacity:1;
  transform:rotateY(0deg) scale(1);
  z-index:2;
}

/* exit animation */
.guest-card.exit{
  opacity:0;
  transform:rotateY(-90deg) scale(0.95);
}

/* profile */
.guest-top{
  display:flex;
  align-items:center;
  gap:18px;
}

.guest-top img{
  width:72px;
  height:72px;
  border-radius:50%;
  object-fit:cover;

  border:3px solid rgba(193,59,116,0.25);

  box-shadow:0 8px 20px rgba(0,0,0,0.12);
}

.guest-top h4{
  font-size:20px;
  font-weight:600;
  letter-spacing:0.5px;
}

.guest-top span{
  font-size:13px;
  color:#C13B74;
  letter-spacing:1px;
}

/* text */
.guest-card p{
  font-size:17px;
  line-height:1.9;
  color:#4A403C;

  font-style:italic;
  position:relative;
  padding-left:10px;
}

/* quote icon */
.guest-card p::before{
  content:"“";
  font-size:40px;
  color:#C13B74;
  opacity:0.12;

  position:absolute;
  left:-10px;
  top:-20px;
}

/* link */
.guest-link{
  margin-top:auto;

  display:inline-flex;
  align-items:center;
  gap:6px;
  width: 180px;
  cursor:pointer;
  padding:10px 12px;   /* 👈 smaller */
  border-radius:20px;

  background:rgba(193,59,116,0.08);
  color:#C13B74;

  font-size:12px;
  font-weight:600;

  border:1px solid rgba(193,59,116,0.15);

  transition:0.3s ease;
}
.guest-link:hover{
  background:#C13B74;
  color:#fff;
  transform:scale(1.08);
  box-shadow:0 12px 30px rgba(193,59,116,0.35);
}

/* icon */
.guest-link i{
  font-size:13px;
}

.guest-link::after{
  content:"→";
  transition:0.3s;
}

.guest-card:hover{
  transform:rotateY(0) scale(1.03);

  box-shadow:
    0 40px 100px rgba(0,0,0,0.18),
    0 15px 40px rgba(0,0,0,0.08);
}

.guest-card::after{
  content:"";
  margin-left: 38px;
  position:absolute;
  align-self: center;
  top:0;
  left:0;
  width:90%;
  height:5px;

  background:linear-gradient(
    90deg,
    #C13B74,
    #E6A96D
  );

  border-top-left-radius:30px;
  border-top-right-radius:30px;
}

/* =========================
   STARS STYLE
========================= */

.guest-stars{
  display:flex;
  gap:5px;
  margin-top:6px;
}

.guest-stars i{
  font-size:14px;
  color:#f4b400;
  text-shadow:0 2px 6px rgba(244,180,0,0.4);
}

/* subtle hover */
.guest-card:hover .guest-stars i{
  transform:scale(1.1);
  transition:0.3s;
}





/* =========================
   GUEST STORIES MOBILE
========================= */

@media(max-width:768px){

  .guest-stories{
    padding:21px 5% 20px; /* reduced bottom space */
  }

  .guest-stories-grid{
    height:560px; /* taller card area */
    max-width:100%;
    perspective:900px;
  }

  .guest-card{
    min-height:400px; /* taller card */
    padding:34px 22px;
    border-radius:24px;
    gap:18px;
  }

  .guest-card::after{
    width:82%;
    height:4px;
    margin-left:9%;
    border-top-left-radius:24px;
    border-top-right-radius:24px;
  }

  .guest-top{
    gap:14px;
  }

  .guest-top img{
    width:60px;
    height:60px;
  }

  .guest-top h4{
    font-size:18px;
  }

  .guest-top span{
    font-size:12px;
  }

  .guest-stars{
    margin-top:2px;
  }

  .guest-stars i{
    font-size:13px;
  }

  .guest-card p{
    font-size:14px;
    line-height:1.8;
    padding-left:6px;
  }

  .guest-card p::before{
    font-size:36px;
    left:-6px;
    top:-18px;
  }

  .guest-link{
    width:auto;
    align-self:flex-start;
    padding:7px 12px;
    font-size:11px;
    border-radius:18px;
  }

  .guest-link i{
    font-size:12px;
  }

  .guest-card:hover{
    transform:rotateY(0) scale(1.01);
  }
}
/* =========================
   GLASS CTA
========================= */

.cta{
  padding:140px 7%;
  display:flex;
  justify-content:center;
  align-items:center;

  background:linear-gradient(
    135deg,
    #FFF9F7,
    #EFE7DF
  );
}

/* =========================
   REAL GLASS CTA
========================= */

.cta{
  position:relative;
  padding:140px 7%;
  display:flex;
  justify-content:center;
  align-items:center;
  overflow:hidden;

  background:
    radial-gradient(circle at 20% 20%, rgba(193,59,116,0.22), transparent 35%),
    radial-gradient(circle at 80% 70%, rgba(217,106,149,0.26), transparent 35%),
    linear-gradient(135deg, #FFF9F7, #EFE7DF);
}



.cta-glass{
  position:relative;
  overflow:hidden;
  max-width:760px;
  width:100%;
  padding:65px 55px;
  border-radius:30px;

  background:rgba(255,255,255,0.35);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);

  border:1px solid rgba(255,255,255,0.6);

  box-shadow:
    0 25px 60px rgba(42,31,27,0.12),
    inset 0 1px 0 rgba(255,255,255,0.7);

  text-align:center;

  transition:all 0.4s ease;
}
.cta-glow{
  position:absolute;
  width:200px;
  height:200px;
  background:radial-gradient(
    circle,
     rgba(255,255,255,0.6),
    transparent 70%
  );
  pointer-events:none;
  transform:translate(-50%, -50%);
  opacity:0;
  transition:opacity 0.3s ease;
}
.cta-glass:hover .cta-glow{
  opacity:1;
}
.cta-glass:hover{
  transform:translateY(-10px) scale(1.02);

  box-shadow:
    0 35px 80px rgba(42,31,27,0.18),
    0 0 40px rgba(193,59,116,0.15),   /* glow */
    inset 0 1px 0 rgba(255,255,255,0.9);
}

.cta-tag{
  color:#C13B74;
  letter-spacing:3px;
  font-size:13px;
  margin-bottom:15px;
  font-weight:700;
}

.cta-glass h2{
  font-weight: 550;
  font-size:56px;
  font-family:'Clash Grotesk',sans-serif;
  margin-bottom:20px;
  color:#2A1F1B;
}

.cta-text{
  color:#6d625d;
  font-size:16px;
  margin-bottom:35px;
  line-height:1.7;
}

.cta-glass::before{
  content:"";
  position:absolute;
  top:-50%;
  left:-50%;
  width:200%;
  height:200%;

  background:linear-gradient(
    120deg,
    transparent,
    rgba(255,255,255,0.4),
    transparent
  );

  transform:rotate(25deg);
  opacity:0;
  transition:0.6s;
}

.cta-glass:hover::before{
  opacity:1;
  transform:rotate(25deg) translateX(50%);
}

@media(max-width:768px){

  .cta{
    padding:23px 5%;
    min-height:55vh;
    align-items:flex-end;
    background:
      linear-gradient(135deg, #FFF9F7, #EFE7DF);
  }

  .cta-glass{
    max-width:100%;
    padding:28px 20px;
    border-radius:22px;
    background:rgba(255,255,255,0.45);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    transform:none;
  }

  .cta-glass:hover{
    transform:translateY(-4px) scale(1.01);
  }

  .cta-tag{
    font-size:10px;
    letter-spacing:2px;
    margin-bottom:8px;
  }

  .cta-glass h2{
    font-size:28px;
    line-height:1.15;
    margin-bottom:12px;
  }

  .cta-text{
    font-size:13px;
    line-height:1.6;
    margin-bottom:20px;
  }

.cta .primary-btn {
        padding: 9px 6px;
        font-size: 11px;
    }

  .cta-glow{
    width:130px;
    height:130px;
  }

  .cta-glass::before{
    display:none;
  }
}
.footer{
  background:linear-gradient(135deg, #2A1F1B, #3A2B26);
  color:white;
  padding:90px 7% 30px;
}

.footer-grid{
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr 1fr;
  gap:45px;
  margin-bottom:50px;
}

.footer h3{
  font-weight: 500;
  font-size:32px;
  font-family:'Clash Grotesk',sans-serif;
  margin-bottom:18px;
}

.footer h4{
  font-size:18px;
  margin-bottom:18px;
  color:#ffffff;
}

.footer p,
.footer a{
  color:rgba(255, 255, 255, 0.75);
  font-size:15px;
  line-height:1.8;
}

.footer a{
  display:block;
  margin-bottom:10px;
  transition:0.3s;
}

.footer a:hover{
  color:#D96A95;
  transform:translateX(5px);
}

.footer-btn{
  display:inline-block !important;
  margin-top:12px;
  padding:12px 24px;
  border-radius:30px;
  background:linear-gradient(135deg, #C13B74, #D96A95);
  color:white !important;
  font-weight:600;
}

.footer-bottom{
  text-align:center;
  padding-top:28px;
  border-top:1px solid rgba(255,255,255,0.12);
}

.footer-bottom p{
  color:rgb(255, 255, 255);
}

.footer-contact p{
  margin:6px 0;
  font-size:14px;
  color:#ffffff;
}

.footer-link{
  text-decoration:none;
  color:#2A1F1B;
  transition:0.3s ease;
  font-weight:500;
}

.footer-link:hover{
  color:#C13B74;
}

@media(max-width:768px){

  .footer {
    background: linear-gradient(135deg, #2A1F1B, #3A2B26);
    color: white;
    padding: 20px 3% 3px;
}

  .footer-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:15px;               /* tighter spacing */
  }

  /* Brand (top full width) */
  .footer-brand{
    grid-column:1 / 3;
  }

  /* Booking (bottom full width) */
  .footer-booking{
    grid-column:1 / 3;
    margin-top:5px;
  }

  /* Reduce heading size */
  .footer h3{
    font-size:20px;
    margin-bottom:6px;
  }

  .footer h4{
    font-size:13px;
    margin-bottom:6px;
  }

  /* Reduce text spacing */
  .footer p,
  .footer a{
    font-size:12px;
    margin-bottom:4px;
    line-height:1.5;
  }

  /* Reduce button size */
  .footer-btn{
    padding:8px 14px;
    font-size:12px;
    border-radius:20px;
    margin-top:6px;
  }

  /* Bottom */
  .footer-bottom{
    padding-top:10px;
  }

  .footer-bottom p{
    font-size:11px;
  }
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:1100px){

  .hero h1{
    font-size:65px;
  }

  .about{
    grid-template-columns:1fr;
  }

  .room-grid{
    grid-template-columns:1fr 1fr;
  }

  .gallery-grid{
    grid-template-columns:1fr 1fr;
  }

  .footer-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:768px){

  .navbar{
    position:fixed;
    padding:18px 5%;
  }

  .logo img{
    width:110px;
  }

  .desktop-book-btn{
    display:none;
  }

  .menu-toggle{
    display:flex;
    margin-left:auto;
  }

 .nav-menu{
  position:absolute;
  top:100%;
  right:0%;
  left:auto;
  width:220px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:0;
  background:rgba(255,255,255,0.98);
  backdrop-filter:blur(12px);
  border:1px solid rgba(0,0,0,0.06);
  box-shadow:0 14px 30px rgba(0,0,0,0.08);
  max-height:0;
  overflow:hidden;
  opacity:0;
  visibility:hidden;
  transition:all 0.35s ease;
  padding:0 20px;
  border-radius:18px;
}

 .nav-menu.active{
  max-height:420px;
  opacity:1;
  visibility:visible;
  padding:16px 20px 24px;
}

  .nav-menu a{
    width:100%;
    padding:9px 0;
    border-bottom:1px solid rgba(0,0,0,0.06);
    font-size:16px;
  }

  .nav-menu a:last-child{
    border-bottom:none;
  }

  .hero h1{
    font-size:48px;
  }

  .hero-text{
    font-size:16px;
  }

  .hero-buttons{
    flex-direction:column;
    align-items:flex-start;
  }

  .about,
  .rooms,
  .amenities,
  .gallery,
  .testimonials{
    padding:20px 5%;
  }

  .section-header h2{
    font-size:40px;
  }

  .room-grid,
  .amenity-grid,
  .gallery-grid,
  .footer-grid{
    grid-template-columns:2fr;
  }

  .cta{
    margin:2px 2%;
    padding:100px 5%;
  }

  .cta h2{
    font-size:42px;
  }
}

/* =========================
   PAGE HERO
========================= */

.page-hero{
  height:25vh;
  background: #D4AF37;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  margin-top:79px;
}



.page-content{
  position:relative;
  z-index:2;
  color:white;
}

.page-content h1{
  font-weight: 500;
  font-size:72px;
 font-family:'Clash Grotesk', sans-serif !important;  margin-bottom:20px;
}

.page-content p{
  font-size:21px;
}

/* =========================
   ABOUT PAGE
========================= */

.about{
  padding:120px 7%;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:center;
  background:#F8F5F1;
}

.about-image img{
  width:100%;
  height:650px;
  object-fit:cover;
  border-radius:24px;
}

.about-content h2{
  font-size:58px;
  font-family:'Clash Grotesk',sans-serif;
  margin:20px 0;
  line-height:1.2;
  color:#2A1F1B;
}

.about-content p{
  margin-top: -5px;
  color:#141213;
  margin-bottom:28px;
  font-size:20px;
  line-height:1.9;
}

.section-tag{
  color:#C13B74;
  letter-spacing:3px;
  font-size:16px;
  text-transform:uppercase;
}


/* =========================
   ABOUT PAGE HERO ONLY
========================= */

.about-page-hero{
  height:25vh;
  background: #2E5E4E;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  margin-top:79px;
}

.about-page-hero .page-content{
  position:relative;
  z-index:2;
  color:white;
}

.about-page-hero .page-content h1{
  font-size:72px;
  font-family:'Clash Grotesk',sans-serif;
  margin-bottom:20px;
}

.about-page-hero .page-content p{
  font-size:21px;
}

/* MOBILE */

@media(max-width:768px){

  .about-page-hero{
    height:30vh;
  }

  .about-page-hero .page-content h1{
    font-size:42px;
    margin-bottom:10px;
  }

  .about-page-hero .page-content p{
    font-size:13px;
  }

}

/* =========================
   GALLERY PAGE HERO ONLY
========================= */

.gallery-page-hero{
  height:25vh;
  background: #d8397e;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  margin-top:79px;
}

.gallery-page-hero .page-content{
  position:relative;
  z-index:2;
  color:white;
}

.gallery-page-hero .page-content h1{
  font-size:72px;
  font-family:'Clash Grotesk',sans-serif;
  margin-bottom:20px;
}

.gallery-page-hero .page-content p{
  font-size:21px;
}

/* MOBILE */

@media(max-width:768px){

  .gallery-page-hero{
    height:30vh;
  }

  .gallery-page-hero .page-content h1{
    font-size:42px;
    margin-bottom:10px;
  }

  .gallery-page-hero .page-content p{
    font-size:13px;
  }

}


/* =========================
   CONTACT PAGE HERO ONLY
========================= */

.contact-page-hero{
  height:25vh;
  background: #1E3A5F;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  margin-top:79px;
}

.contact-page-hero .page-content h1{
  font-size:72px;
  font-family:'Clash Grotesk',sans-serif;
  margin-bottom:20px;
}

.contact-page-hero .page-content p{
  font-size:21px;
}

/* MOBILE */

@media(max-width:768px){

  .contact-page-hero{
    height:30vh;
  }

  .contact-page-hero .page-content h1{
    font-size:42px;
    margin-bottom:10px;
  }

  .contact-page-hero .page-content p{
    font-size:13px;
  }

}

/* =========================
   ROOMS PAGE
========================= */

.rooms{
  padding:120px 7%;
  background:white;
}

.room-grid{
  display:grid;
  grid-template-columns:repeat(6, 1fr);
  gap:35px;
}

.room-card:nth-child(1){
  grid-column:1 / 3;
}

.room-card:nth-child(2){
  grid-column:3 / 5;
}

.room-card:nth-child(3){
  grid-column:5 / 7;
}

.room-card:nth-child(4){
  grid-column:2 / 4;
}

.room-card:nth-child(5){
  grid-column:4 / 6;
}

.room-card{
  background:white;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 10px 35px rgba(0,0,0,0.07);
  transition:0.4s;
  display:flex;
  flex-direction:column;
  height:100%;
}

.room-card:hover{
  transform:translateY(-10px);
}

.room-card img{
  width:100%;
  height:320px;
  object-fit:cover;
  transition:0.4s;
}

.room-card:hover img{
  transform:scale(1.05);
}

.room-info{
  padding:30px;
  display:flex;
  flex-direction:column;
  flex:1;
}

.room-info h3{
  font-size:30px;
  margin-bottom:15px;
  font-family:'Clash Grotesk',sans-serif;
  color:#2A1F1B;
}

.room-info p{
  color:#6B625C;
  margin-bottom:20px;
  line-height:1.8;
  min-height:70px;
}

.room-price{
  color:#C13B74;
  font-weight:600;
  font-size:16px;
  margin-top:auto;
}

@media(max-width:1100px){
  .room-grid{
    grid-template-columns:1fr 1fr;
  }

  .room-card{
    grid-column:auto !important;
  }
}

@media(max-width:768px){
  .room-grid{
    grid-template-columns:1fr;
  }
  .page-content p{
  font-size:15px;
}
}

/* =========================
   GALLERY PAGE
========================= */

.gallery{
  padding:120px 7%;
  background:#F8F5F1;
}

.gallery-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
}

.gallery-grid img{
  width:100%;
  height:300px;
  object-fit:cover;
  border-radius:18px;
  transition:0.4s;
  cursor:pointer;
}

.gallery-grid img:hover{
  transform:scale(1.03);
}

/* =========================
   CONTACT PAGE
========================= */

.contact{
  padding:120px 7%;
  background:white;
}

.contact-wrapper{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:start;
}

.contact-info h2{
  font-weight: 550;
  font-size:56px;
  margin:20px 0;
  line-height:1.2;
  font-family:'Clash Grotesk',sans-serif;
  color:#2A1F1B;
}

.contact-info p{
  color:#5F5651;
  margin-bottom:10px;
  line-height:1.8;
}

.contact-item{
  margin-bottom:30px;
}

.contact-item h4{
  margin-bottom:10px;
  color:#C13B74;
  font-size:18px;
}

.contact-form{
  background:#F8F5F1;
  padding:50px;
  border-radius:24px;
}

.contact-form form{
  display:flex;
  flex-direction:column;
  gap:20px;
}

.contact-form input,
.contact-form textarea{
  width:100%;
  padding:18px;
  border:1px solid #ddd;
  border-radius:10px;
  font-size:15px;
  font-family:'Manrope',sans-serif;
  background:white;
}

.contact-form textarea{
  height:180px;
  resize:none;
}

.contact-form input:focus,
.contact-form textarea:focus{
  outline:none;
  border-color:#C13B74;
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:1100px){

  .room-grid{
    grid-template-columns:1fr 1fr;
  }

  .gallery-grid{
    grid-template-columns:1fr 1fr;
  }

  .page-content h1{
  font-size:48px;
 font-family:'Clash Grotesk', sans-serif !important;  margin-bottom:20px;
}

  .about,
  .contact-wrapper{
    grid-template-columns:1fr;
  }
}



/* =========================
   CONTACT MOBILE PARALLEL
========================= */

@media(max-width:768px){


    .contact {
    padding: 29px 5%;
    background: white;
}

}

/* =========================
   GALLERY MOBILE 2 COLUMN
========================= */

@media(max-width:768px){


  .gallery{
    padding:30px 4% !important;
  }

  .gallery-grid{
    display:grid !important;

    grid-template-columns:repeat(2,1fr) !important;

    gap:16px !important;
  }

  .gallery-grid img{
    width:100%;
    height:170px !important;

    object-fit:cover;

    border-radius:12px;
  }

}



/* =========================
   GALLERY LIGHTBOX
========================= */

.gallery-grid img{
  cursor:pointer;
}

/* LIGHTBOX */

.gallery-lightbox{
  position:fixed;
  inset:0;

  background:rgba(0,0,0,0.92);

  display:flex;
  align-items:center;
  justify-content:center;

  opacity:0;
  visibility:hidden;

  transition:0.35s ease;

  z-index:99999;
}

/* ACTIVE */

.gallery-lightbox.active{
  opacity:1;
  visibility:visible;
}

/* IMAGE */

.gallery-lightbox img{
  max-width:90%;
  max-height:88vh;

  object-fit:contain;

  border-radius:18px;

  box-shadow:0 20px 60px rgba(0,0,0,0.45);

  animation:zoomIn 0.35s ease;
}

/* CLOSE BUTTON */

.lightbox-close{
  position:absolute;
  top:25px;
  right:35px;

  color:white;

  font-size:42px;
  cursor:pointer;

  transition:0.3s ease;
}

.lightbox-close:hover{
  transform:scale(1.1);
}

/* ANIMATION */

@keyframes zoomIn{
  from{
    transform:scale(0.85);
    opacity:0;
  }

  to{
    transform:scale(1);
    opacity:1;
  }
}

/* MOBILE */

@media(max-width:768px){

  .gallery-lightbox img{
    max-width:94%;
    max-height:82vh;

    border-radius:12px;
  }

  .lightbox-close{
    top:18px;
    right:22px;

    font-size:34px;
  }

}

/* =========================
   PREMIUM CENTER ACTIVE PLACES SLIDER
========================= */

.places-slider-section{
  padding:110px 0;
  background:
    radial-gradient(circle at top left, rgba(193,59,116,0.12), transparent 40%),
    linear-gradient(180deg, #fff, #fff6f1);
  overflow:hidden;
}

/* HEADER */
.places-header{
  text-align:center;
  margin-bottom:55px;
}

.places-header p{
  color:#C13B74;
  letter-spacing:4px;
  font-size:13px;
  font-weight:600;
  margin-bottom:10px;
}

.places-header h2{
  font-weight: 550;
  font-size:60px;
  font-family:'Clash Grotesk',sans-serif;
  color:#2A1F1B;
}

/* SLIDER */
.places-slider{
  overflow:hidden;
  position:relative;
  padding:50px 0 80px;
}

/* FADE SIDES */
.places-slider::before,
.places-slider::after{
  content:"";
  position:absolute;
  top:0;
  width:150px;
  height:320px;
  z-index:10;
  pointer-events:none;
}

.places-slider::before{
  left:0;
  background:linear-gradient(to right, #fff6f1, transparent);
}

.places-slider::after{
  right:0;
  background:linear-gradient(to left, #fff6f1, transparent);
}

/* TRACK */
.places-track{
  display:flex;
  align-items:center;
  gap:30px;

  width:max-content;

  transition:transform 0.9s ease;
}

/* SLIDE */
.place-slide{
  width:300px;
  height:350px;

  border-radius:3px;
  overflow:hidden;

  position:relative;
  flex-shrink:0;

  cursor:pointer;

  opacity:0.35;
  transform:scale(0.78);

  transition:
    transform 0.9s ease,
    opacity 0.9s ease,
    box-shadow 0.9s ease;

  box-shadow:0 18px 40px rgba(0,0,0,0.12);
}

/* ACTIVE CENTER CARD */
.place-slide.active-place{
  opacity:1;
  transform:scale(1.16);

  z-index:5;
}

/* IMAGE */
.place-slide img{
  width:100%;
  height:100%;
  object-fit:cover;

  transition:1s ease;
}

.place-slide.active-place img{
  transform:scale(1.08);
}

/* OVERLAY */
.place-slide::after{
  content:"";
  position:absolute;
  inset:0;

  background:linear-gradient(
    to top,
    rgba(0,0,0,0.88),
    rgba(0,0,0,0.25),
    transparent
  );
}

/* CONTENT */
.place-content{
  position:absolute;
  bottom:28px;
  left:28px;

  color:white;
  z-index:2;

  transition:0.5s ease;
}

.place-content h3{
  margin-left: -3px;
  font-weight: 300;
  font-size:25px;
  font-family:'Clash Grotesk',sans-serif;
  line-height:1.1;
}

.place-content p{
  font-size:14px;
  margin-top:8px;
  letter-spacing:1px;
}

/* OPEN MAP TEXT */
.place-content::after{
  content:"Open in Maps →";

  display:block;

  margin-top:12px;

  font-size:13px;
  font-weight:300;

  opacity:0;
  transform:translateY(10px);

  transition:0.4s ease;
}

.place-slide.active-place .place-content::after{
  opacity:1;
  transform:translateY(0);
}

/* REMOVE OLD HOVER EFFECTS */
.place-slide:hover{
  transform:none;
}
.place-slide.active-place{
  opacity:1;
  transform:scale(1.28);

  z-index:5;
}

.place-slide:hover img{
  transform:none;
}

/* MOBILE */
@media(max-width:768px){

  .places-slider-section{
    padding:65px 0;
  }

  .places-header{
    margin-bottom:30px;
  }

  .places-header h2{
    font-size:34px;
  }

  .places-header p{
    font-size:10px;
    letter-spacing:2px;
  }

  .places-slider{
    padding:25px 0 55px;
  }

  .places-track{
    gap:16px;
  }

  .place-slide{
    width:250px;
    height: 400px;

    border-radius:0px;

    transform:scale(0.82);
  }

  .place-slide.active-place{
    transform:scale(1.06);
  }

  .place-slide.active-place:hover{
    transform:scale(1.06);
  }

  .place-content{
    left:16px;
    bottom:16px;
  }

  .place-content h3{
    font-size:18px;
  }

  .place-content p{
    font-size:12px;
    margin-top:5px;
  }

  .place-content::after{
    display:none;
  }

  .places-slider::before,
  .places-slider::after{
    width:40px;
  }
}

.places-view-all{
  text-align:center;
  margin-top:-60px;
  position:relative;
  z-index:20;
}

.places-view-all .small-btn{
  margin:0 auto;
  display:inline-flex;
  width:auto;
  padding:12px 26px;
}
/* =========================
   VIEW ALL BUTTON MOBILE
========================= */

@media(max-width:768px){

  .places-view-all{
    text-align:center;
    margin-top:-40px;
    padding:0 5%;
  }

  .places-view-all .small-btn{
           display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 9px 12px;
        font-size: 8px;
        border-radius: 16px;
        margin: 0 auto;
    }

}
.small-btn{
  margin-right: 1050px;
  padding:10px 22px;      /* smaller size */
  font-size:13px;
  border-radius:40px;

  box-shadow:0 6px 18px rgba(193,59,116,0.2);
}

/* hover (keep consistent but subtle) */
.small-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 25px rgba(193,59,116,0.3);
}
@media(max-width:768px){

  .small-btn{
    display:block;          /* makes it full width */
    width:32%;              /* 👈 increase width */
    margin:0 auto;          /* center it */

    padding:10px 0;
    font-size:13px;
  }

}



.glass-btn{
  padding:16px 34px;
  border-radius:50px;
  background:rgba(255,255,255,0.15);
  backdrop-filter:blur(10px);
  color:white;
  border:1px solid rgba(255,255,255,0.3);
  font-weight:600;
  transition:0.3s;
}

.glass-btn:hover{
  background:white;
  color:#2A1F1B;
}

.primary-btn::after{
  content:"";
  position:absolute;
  width:0;
  height:0;
  background:rgba(255,255,255,0.3);
  border-radius:50%;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%);
  transition:0.4s;
}

.primary-btn:hover::after{
  width:200%;
  height:500%;
}
@media(max-width:768px){

  .glass-btn{
    padding:10px 20px;        /* smaller size */
    font-size:13px;           /* smaller text */
    border-radius:28px;

    background:rgba(255,255,255,0.18);  /* slightly clearer */
    backdrop-filter:blur(8px);          /* lighter blur */

    border:1px solid rgba(255,255,255,0.35);
  }

  .glass-btn:hover{
    transform:translateY(-2px);
    background:rgba(255,255,255,0.25);
  }
}









/* =========================
   EXPLORE HERO
========================= */

.explore-hero{
  height:45vh;
  margin-top:90px;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  overflow:hidden;
}

/* OVERLAY */
.explore-hero::before{
  content:"";
  position:absolute;
  inset:0;

  background:linear-gradient(
    rgba(0,0,0,0.45)
  );

  z-index:1;
}

/* CONTENT ABOVE OVERLAY */
.explore-hero .hero-content{
  position:relative;
  z-index:2;
}

.explore-hero::after{
  content:"";
  position:absolute;
  inset:0;

}

.explore-hero-content{
  position:relative;
  z-index:2;
  color:#fff;
}

.explore-hero h1{
  font-weight: 550;
  font-size:70px;
  font-family:'Clash Grotesk',sans-serif;
}

.explore-hero p{
  margin-top:10px;
  font-size:16px;
}

@media(max-width:768px){

  .explore-hero{
    height:30vh;
    margin-top:90px;
    padding:0 5%;
  }

  .explore-hero h1{
    font-weight: 450;
    font-size:32px;
    line-height:1.1;
  }

  .explore-hero p{
    font-size:16px;
    line-height:1.6;
    max-width:90%;
    margin:10px auto 0;
  }

}
/* =========================
   FOLDER SECTION
========================= */

.explore-folder-section{
   
  padding:100px 7%;
  background:#F8F5F1;
}

.explore-folder-intro{
  text-align:center;
  margin-bottom:50px;
}

.explore-folder-intro h2{
  font-size:52px;
  font-family:'Clash Grotesk',sans-serif;
}

.explore-folder-intro p{
  color:#666;
  margin-top:10px;
}

/* GRID */

.explore-folder-grid{
   margin-top:40px;
   margin-left: 20px;
   margin-right: 20px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:25px;
}

/* CARD WITH IMAGE */

.explore-folder-card{
  background:white;
  border-radius:20px;
  overflow:hidden;
  cursor:pointer;
  transition:0.35s ease;
  box-shadow:0 12px 35px rgba(0,0,0,0.08);
}

/* IMAGE */
.explore-folder-card img{
  width:100%;
  height:200px;
  object-fit:cover;
  transition:0.5s ease;
}

/* CONTENT */
.card-content{
  align-items: center;
  padding:20px;
}

.card-content h3{
  font-weight: 400;
  text-align: center;
  font-size:22px;
  font-family:'Clash Grotesk',sans-serif;
  margin-bottom:8px;
  color:#2A1F1B;
}

.card-content p{
  text-align: center;
  font-size:14px;
  color:#6d625d;
}

/* HOVER */
.explore-folder-card:hover{
  transform:translateY(-8px);
  box-shadow:0 20px 60px rgba(0,0,0,0.15);
}

.explore-folder-card:hover img{
  transform:scale(1.08);
}

/* REMOVE OLD TEXT */
.explore-folder-card::after{
  display:none;
}


@media(max-width:768px){

  .explore-folder-grid{

    display:grid !important;

    grid-template-columns:1fr 1fr !important;

    gap:20px !important;

    margin:25px 0 0 0 !important;
  }

  .explore-folder-card{
    height: 160px;
    width:100% !important;
    max-width:100% !important;
  }

  .explore-folder-card img{
    height:100px !important;
  }

  .card-content h3{
    font-size:15px !important;
  }

  .card-content p{
    font-size:12px !important;
  }
  .card-content {
    align-items: center;
    padding: 10px  10px 10px;
}

}

/* =========================
   GUIDE BLOCKS (HIDDEN FIRST)
========================= */

.guide-block{
  display:none;
  padding:100px 7%;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center;
  background:white;
}

.guide-block.active{
  display:grid;
}

/* ALTERNATE BACKGROUND */

.guide-block:nth-of-type(even){
  background:#FFF8F5;
}

/* IMAGE */

.guide-image img{
  width:100%;
  height:420px;
  object-fit:cover;
  border-radius:20px;
  transition:0.4s;
}

.guide-image:hover img{
  transform:scale(1.05);
}

/* TEXT */

.guide-text h2{
  font-size:42px;
  font-family:'Clash Grotesk',sans-serif;
  margin-bottom:15px;
  color:#2A1F1B;
}

.guide-text p{
  margin-bottom:18px;
  color:#5F5651;
  line-height:1.8;
}

.guide-text ul{
  list-style:none;
}

.guide-text ul li{
  margin-bottom:10px;
  padding-left:20px;
  position:relative;
  color:#5F5651;
}

.guide-text ul li::before{
  content:"";
  width:7px;
  height:7px;
  background:#C13B74;
  border-radius:50%;
  position:absolute;
  left:0;
  top:8px;
}

/* =========================
   MOBILE
========================= */

@media(max-width:1000px){
  .explore-folder-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:768px){

  .explore-folder-grid{
    grid-template-columns:1fr;
  }

  .guide-block{
    grid-template-columns:1fr;
  }

  .explore-hero h1{
    font-size:40px;
  }

  .explore-folder-intro h2{
    font-size:32px;
  }

  .guide-text h2{
    font-size:30px;
  }

  .guide-image img{
    height:260px;
  }

}







/* =========================
   EXPLORE DETAIL HERO
========================= */

.explore-detail-hero{
  height:50vh;
  margin-top:90px;
  position:relative;
  overflow:hidden;
}

.explore-detail-hero img{
  width:100%;
  height:100%;
  object-fit:fill;
}

.explore-detail-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(
    to bottom,
    rgba(0,0,0,0.3),
    rgba(0,0,0,0.65)
  );
}

.explore-detail-content{
  height: 50vh;
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#fff;
  padding:0 20px;
}

.explore-detail-content h1{
  font-weight: 500;
  font-size:53px;
  font-family:'Clash Grotesk',sans-serif;
  line-height:1.1;
}

.explore-detail-content p{
   margin-top:26px;
  font-size:20px;
  color:#e9dddd;
}

/* =========================
   CONTENT SECTION
========================= */

.explore-detail-page{
  padding:100px 7%;
  background:#F8F5F1;
}

/* TITLE */

.explore-detail-page h2{
  font-weight: 500;
  font-size:46px;
 font-family:'Clash Grotesk',sans-serif;
  color:#2A1F1B;
  margin-bottom:35px;
}

/* GRID */

.detail-list{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:25px ;
  margin-bottom:40px;
}

/* CARD */

.detail-list div{
  margin-left: 10px;
  background:#ffffff;
  padding:18px ;
  border-radius:20px;
  box-shadow:0 10px 30px rgba(0,0,0,0.06);
  transition:0.3s;
}

.detail-list div:hover{
  transform:translateY(-5px);
  box-shadow:0 18px 50px rgba(0,0,0,0.12);
}

/* TEXT */

.detail-list h3{
  font-size:24px;
  font-family:'Clash Grotesk',sans-serif;
  color:#2A1F1B;
  margin-bottom:8px;
}

.detail-list p{
  color:#5F5651;
  font-size:18px;
  line-height:1.7;
}


/* =========================
   EXPLORE DETAIL MOBILE
========================= */

@media(max-width:768px){

  .explore-detail-hero{
    height:35vh !important;
    margin-top:90px;
  }

  .explore-detail-hero img{
    object-fit:cover;
  }

  .explore-detail-content{
    height:39vh !important;
    padding:0 18px;
  }

  .explore-detail-content h1{
    font-size:26px !important;
    line-height:1.1;
  }

  .explore-detail-content p{
    margin-top:22px;
    font-size:12px !important;
    line-height:1.5;
  }

  .explore-detail-page{
    padding:0px 6% !important;
  }

  .explore-detail-page h2{
    margin-top: -30px;
    font-size:22px !important;
    margin-bottom:24px;
  }

  .detail-list{
    grid-template-columns:1fr !important;
    gap:16px !important;
    margin-bottom:28px;
  }

  .detail-list div{
    min-height:auto;
    margin-left:0 !important;
    padding:10px 18px !important;
    border-radius:16px;
  }

  .detail-list h3{
    font-size:20px;
  }

  .detail-list p{
    font-size:14px !important;
    line-height:1.6;
  }


}
@media(max-width:768px){

  .place-meta{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    flex-wrap:nowrap;
  }
  .place-meta .cta {
    height: 50px;
    color: var(--theme);
}

  .place-meta span{
    display:inline-flex;
    align-items:center;
    margin:0;
    white-space:nowrap;
    font-size:12px;
  }

}







/* PLACE CARD FULL DESIGN */

.place-card{
  display:flex;
  flex-direction:column;
  height:100%;
   min-height:460px;
  background:white;
  border-radius:22px;
  overflow:hidden;
  text-decoration:none;
  color:inherit;
  box-shadow:0 10px 30px rgba(0,0,0,0.08);
  transition:0.35s;
}

.place-card:hover{
  transform:translateY(-8px);
  box-shadow:0 25px 70px rgba(0,0,0,0.15);
}

/* IMAGE */
.place-card img{
  width:100%;
  height:320px;   /* 👈 increased */
  object-fit:cover;
  transition:0.4s;
}

.place-card:hover img{
  transform:scale(1.05);
}

/* CONTENT */
.place-info{
  padding:22px;
  display:flex;
  flex-direction:column;
  flex:1;
}

/* TITLE */
.place-info h3{
  font-weight: 450;
  font-size:26px;
  font-family:'Clash Grotesk',sans-serif;
  margin-bottom:8px;
}

/* SHORT TEXT */
.short{
  font-size:14px;
  color:#777;
  margin-bottom:10px;
}

/* LONG TEXT */
.long{
  font-size:14px;
  color:#5F5651;
  line-height:1.6;
  margin-bottom:12px;
}

/* META */
.place-meta{
  margin-top:auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:13px;
}

/* CTA TEXT */
.place-meta .cta{
  margin-left: 10px;
  color:#C13B74;
  font-weight:600;
}

.place-meta .cta{
  display:inline-flex;
  align-items:center;
  gap:6px;
}

.place-meta .cta img{
  width:18px;
  height:18px;
  object-fit:contain;
}


/* =========================
   PLACE CARD MOBILE
========================= */

@media(max-width:768px){

  .place-card{
    min-height:auto !important;
    border-radius:16px;
  }

  .place-card img{
    height:200px !important;
    object-fit:cover;
  }

  .place-info{
    padding:16px;
  }

  .place-info h3{
    font-size:20px !important;
    line-height:1.2;
  }

  .short{
    font-size:12px !important;
    margin-bottom:8px;
  }

  .long{
    font-size:13px !important;
    line-height:1.5;
    margin-bottom:10px;
  }

  /* META SAME ROW */
  .place-meta{
    margin-top:auto;

    display:flex !important;
    flex-direction:row !important;

  justify-content: center;
    align-items:center !important;

    gap:1px !important;
    flex-wrap:nowrap !important;

    width:100%;
  }

  .place-meta span,
  .place-meta .cta{
    width:auto !important;
    margin:0 !important;

    white-space:nowrap !important;

    font-size:11px !important;
  }

}



/* =========================
   EXPLORE DETAIL THEMES
========================= */

.heritage-theme{ --theme:#9B5A2E; --soft:#FFF4EA; }
.trekking-theme{ --theme:#2E7D32; --soft:#EFFAF0; }
.waterfalls-theme{ --theme:#0088A9; --soft:#EAF9FC; }
.lakes-theme{ --theme:#2F6ECB; --soft:#EEF4FF; }
.parks-theme{ --theme:#6A9F3A; --soft:#F2FAEA; }
.wildlife-theme{ --theme:#6B4A2B; --soft:#F7EFE7; }
.hidden-theme{ --theme:#7B4AB8; --soft:#F5EEFF; }
.adventure-theme{ --theme:#D96B1F; --soft:#FFF1E6; }
.food-theme{ --theme:#B23A48; --soft:#FFF0F2; }

.explore-detail-page{
  background:var(--soft);
}

.place-card{
  border-top:5px solid var(--theme);
}

.place-info .short{
  color:var(--theme);
  font-weight:300;
}

.place-meta span{
  background:var(--soft);
  color:#2A1F1B;
  padding:6px 12px;
  border-radius:30px;
}

.place-meta .cta{
  color:var(--theme);
}

/* HERO BACK BUTTON */
.hero-back-btn{
  position:absolute;
  top:35px;
  left:7%;
  z-index:3;
  padding:10px 22px;
  border-radius:40px;
  background:rgba(255,255,255,0.18);
  color:white;
  font-size:13px;
  font-weight:600;
  backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,0.25);
  transition:0.3s;
}

.hero-back-btn:hover{
  background:var(--theme);
  color:white;
  transform:translateY(-2px);
}




@media(max-width:768px){

  .hero-back-btn{
        top: 6px;
        left: 5%;
        width: 37px;
        height: 37px;

    padding:0;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:0;   /* hide text */

    background:rgba(255,255,255,0.18);
    backdrop-filter:blur(10px);

    border:1px solid rgba(255,255,255,0.25);
  }

  /* ICON */
  .hero-back-btn i{
    font-size:16px;
    color:#fff;
  }

  /* HIDE TEXT */
  .hero-back-btn span{
    display:none;
  }

}


/* FIX DETAIL CARD INNER DIV ISSUE */
.detail-list .place-info{
  background:transparent;
  padding:22px;
  border-radius:0;
  box-shadow:none;
}

.detail-list .place-info:hover{
  transform:none;
  box-shadow:none;
}






.contact-item a{
  color:#5F5651;
  text-decoration:none;
  transition:0.3s ease;
}

.contact-item a:hover{
  color:#C13B74;
}


/* =========================
   PREMIUM CONTACT LINKS
========================= */

.contact-link{
  display:inline-flex;
  align-items:center;
  gap:10px;

  padding:12px 18px;
  margin-top:10px;

  border-radius:18px;

  background:rgba(193,59,116,0.07);

  color:#5F5651;
  text-decoration:none;

  font-size:14px;
  font-weight:600;

  border:1px solid rgba(193,59,116,0.12);

  transition:0.35s ease;
}

/* icons */
.contact-link i{
  font-size:15px;
}

/* hover */
.contact-link:hover{
  background:#C13B74;
  color:#fff;

  transform:translateY(-3px);

  box-shadow:0 15px 35px rgba(193,59,116,0.25);
}

/* whatsapp */
.whatsapp-link{
  background:rgba(37,211,102,0.08);
  border:1px solid rgba(37,211,102,0.15);
}

.whatsapp-link:hover{
  background:#25D366;
}

/* small note */
.contact-note{
  display:block;
  margin-top:10px;

  font-size:12px;
  color:#8A817C;
}
.contact-link:hover{
  background:#C13B74;
  color:#fff;

  transform:translateY(-3px);

  box-shadow:0 15px 35px rgba(193,59,116,0.25);
}

.contact-link:hover span,
.contact-link:hover i{
  color:#fff;
}

/* =========================
   CONTACT ROW DESKTOP
========================= */

@media(min-width:769px){

  .contact-row{
    display:flex;
    gap:24px;
    width:100%;
  }

  .contact-row .contact-item{
    flex:1;
  }

}

/* MOBILE */
@media(max-width:768px){
  .contact-info p{
  color:#5F5651;
  margin-bottom:10px;
  line-height:1.8;
}

  .contact-link{
    width:41%;
    justify-content:center;

    padding:12px;
    font-size:13px;
  }

}



/* =========================
   ALL PLACES PREMIUM GRID
========================= */

/* =========================
   ALL PLACES PREMIUM GRID
========================= */

.all-places{
  padding:130px 7%;
  background:
    radial-gradient(circle at top left, rgba(193,59,116,0.08), transparent 35%),
    linear-gradient(180deg,#fff,#fff7f2);
}

/* HEADER */
.all-places-header{
  text-align:center;
  margin-bottom:60px;
}

.all-places-header p{
  color:#C13B74;
  letter-spacing:4px;
  font-size:13px;
  font-weight:600;
  margin-bottom:10px;
}

.all-places-header h2{
  font-size:58px;
  color:#2A1F1B;
  font-family:'Clash Grotesk',sans-serif;
}

/* GRID */
.all-places-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px;
  margin-top:115px;
}

/* CARD */
.all-place-card{
  position:relative;
  height:320px;
  border-radius:30px;
  overflow:hidden;
  cursor:default;
  transition:0.5s ease;
  box-shadow:
    0 20px 50px rgba(0,0,0,0.10),
    0 8px 20px rgba(0,0,0,0.05);
}

/* IMAGE */
.all-place-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:0.7s ease;
}

/* OVERLAY */
.all-place-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    to top,
    rgba(0,0,0,0.85),
    rgba(0,0,0,0.20),
    transparent
  );
}

/* CONTENT */
.all-place-info{
  position:absolute;
  left:24px;
  bottom:24px;
  z-index:2;
  color:white;
  transition:0.4s ease;
}

.all-place-info h3{
  font-size:28px;
  font-family:'Clash Grotesk',sans-serif;
  line-height:1.1;
}

.all-place-info p{
  margin-top:8px;
  font-size:14px;
  letter-spacing:1px;
}

/* BUTTON WRAP */
.place-buttons{
  display:flex;
  gap:12px;
  margin-top:16px;
  flex-wrap:wrap;
}

/* COMMON BUTTON */
.place-buttons a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 16px;
  border-radius:18px;
  font-size:12px;
  font-weight:600;
  text-decoration:none;
  transition:0.35s ease;
}

/* MAP BUTTON */
.map-btn{
  background:#C13B74;
  color:#fff;
  box-shadow:0 10px 25px rgba(193,59,116,0.25);
}

.map-btn:hover{
  background:#a92f63;
  transform:translateY(-3px);
  box-shadow:0 18px 40px rgba(193,59,116,0.35);
}

/* LEARN MORE */
.learn-btn{
  background:rgba(255,255,255,0.14);
  backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,0.18);
  color:#fff;
}

.learn-btn:hover{
  background:#fff;
  color:#2A1F1B;
  transform:translateY(-3px);
}

/* HOVER */
.all-place-card:hover{
  transform:translateY(-12px);
  box-shadow:
    0 35px 90px rgba(0,0,0,0.20),
    0 12px 30px rgba(0,0,0,0.08);
}

.all-place-card:hover img{
  transform:scale(1.10);
}

.all-place-card:hover .all-place-info{
  transform:translateY(-6px);
}

/* =========================
   TABLET
========================= */

@media(max-width:992px){

  .all-places-grid{
    grid-template-columns:1fr 1fr;
  }

}

/* =========================
   MOBILE
========================= */

@media(max-width:768px){

  .all-places{
    padding:75px 5%;
  }

  .all-places-header{
    margin-bottom:32px;
  }

  .all-places-header h2{
    font-size:34px;
  }

  .all-places-header p{
    font-size:10px;
    letter-spacing:2px;
  }

  .all-places-grid{
    grid-template-columns:1fr;
    gap:20px;
  }

  .all-place-card{
    height:250px;
    border-radius:20px;
  }

  .all-place-info{
    left:18px;
    bottom:18px;
  }

  .all-place-info h3{
    font-size:22px;
  }

  .all-place-info p{
    font-size:12px;
    margin-top:5px;
  }

  .place-buttons{
    gap:10px;
    margin-top:12px;
  }

  .place-buttons a{
    padding:8px 12px;
    font-size:11px;
    border-radius:14px;
  }

  .all-place-card:hover{
    transform:none;
  }

  .all-place-card:hover img{
    transform:none;
  }

  .all-place-card:hover .all-place-info{
    transform:none;
  }

}




/* =========================
   PREMIUM ROOMS SHOWCASE
========================= */

.rooms{
  padding:90px 0 80px;
  background:
    linear-gradient(rgba(0,0,0,0.88), rgba(0,0,0,0.92)),
    url("images/camera images/B16.jpg") center/cover no-repeat;
  overflow:hidden;
  position:relative;
}

.rooms-header{
  text-align:center;
  margin-bottom:55px;
}

.rooms-header p{
  color:#d9bd8c;
}

.rooms-header h2{
  color:#fff;
  font-weight:400;
}

/* WRAPPER */
.room-slider-wrap{
  position:relative;
  width:100%;
}

/* SCROLL AREA */
.room-scroll{
  display:flex;
  gap:36px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  padding:0 10% 28px;
  scrollbar-width:none;
}

.room-scroll::-webkit-scrollbar{
  display:none;
}

/* LANDSCAPE CARD */
.room-card{
  min-width:560px;
  height:360px;
  position:relative;
  overflow:hidden;
  border-radius:0;

  display:block;
  scroll-snap-align:center;

  background:#111;
  border:1px solid rgba(255,255,255,0.12);

  box-shadow:0 25px 70px rgba(0,0,0,0.35);
  transition:0.45s ease;
}

/* IMAGE */
.room-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:0.7s ease;
}

/* DARK OVERLAY */
.room-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    to top,
    rgba(0,0,0,0.75),
    rgba(0,0,0,0.15),
    transparent
  );
  z-index:1;
}

/* REMOVE OLD SIDE LINE */
.room-card::before{
  display:none;
}

/* CONTENT ON IMAGE */
.room-info{
  position:absolute;
  left:28px;
  right:28px;
  bottom:26px;
  z-index:2;

  padding:0;
  background:transparent;
  color:#fff;
}

.room-info h3{
  color:#fff;
  font-size:23px;
  letter-spacing:4px;
  text-transform:uppercase;
  font-family:'Clash Grotesk',sans-serif;
  margin-bottom:8px;
}

.room-info p{
  color:rgba(255,255,255,0.78);
  font-size:13px;
  line-height:1.6;
  margin-bottom:14px;
}

.room-info a{
  display:inline-flex;
  width:max-content;
  padding:9px 15px;
  border-radius:0;
  background:rgba(255,255,255,0.12);
  backdrop-filter:blur(10px);
  color:#fff;
  font-size:12px;
  font-weight:500;
  border:1px solid rgba(255,255,255,0.30);
  transition:0.35s ease;
}

.room-info a:hover{
  background:#d9bd8c;
  color:#111;
  border-color:#d9bd8c;
}

/* HOVER */
.room-card:hover{
  transform:translateY(-8px);
}

.room-card:hover img{
  transform:scale(1.08);
}

/* SIDE BUTTONS */
.room-scroll-buttons{
  position:absolute;
  top:50%;
  left:0;
  width:100%;
  transform:translateY(-50%);
  z-index:20;

  display:flex;
  justify-content:space-between;
  pointer-events:none;
  padding:0 34px;
}

.room-btn{
  width:48px;
  height:48px;
  border:none;
  border-radius:50%;
  cursor:pointer;
  pointer-events:auto;
  font-size:32px;
  color:#111;
  background:rgba(255,255,255,0.75);
  transition:0.35s ease;
}

.room-btn:hover{
  background:#d9bd8c;
  color:#111;
  transform:scale(1.08);
}

/* MOBILE */
@media(max-width:768px){

  .rooms{
    padding:70px 0;
  }

  .room-scroll{
    gap:18px;
    padding:0 5% 25px;
  }

  .room-card{
    min-width:86%;
    height:280px;
  }

  .room-info{
    left:18px;
    right:18px;
    bottom:18px;
  }

  .room-info h3{
    font-size:17px;
    letter-spacing:2px;
  }

  .room-info p{
    font-size:12px;
  }

  .room-btn{
    width:40px;
    height:40px;
    font-size:26px;
  }

  .room-scroll-buttons{
    padding:0 8px;
  }
}


/* ===================================
   NEW PREMIUM ROOM SHOWCASE
=================================== */

.rooms-showcase{
  min-height:765px;
  padding:25px 0;

  background:url("images/camera images/B16.jpg") center/cover no-repeat;

  overflow:hidden;
  position:relative;
}

/* FULL BACKGROUND OVERLAY */
.rooms-showcase::before{
  content:"";
  position:absolute;
  inset:0;

  background:linear-gradient(
    to bottom,
    rgba(28,27,27,0.88) 0%,
    rgba(28,27,27,0.86) 35%,
    rgba(80,35,58,0.88) 65%,
    rgba(150,48,93,0.92) 85%,
    #C13B74 100%
  );

  z-index:1;
}
@media(max-width:768px){

  .rooms-showcase::before{
    height:78%;
  }

}

/* keep content above overlay */
.rooms-showcase .section-header,
.rooms-showcase .showcase-wrapper{
  position:relative;
  z-index:2;
}
.showcase-wrapper{
  position:relative;
  z-index:2;
}

/* HEADER */

.showcase-header{
  text-align:center;
  margin-bottom:50px;
}

.showcase-header p{
  color:#d9bd8c;
}

.showcase-header h2{
  color:#fff;
  font-weight:400;
}

/* WRAPPER */

.showcase-wrapper{
  position:relative;
}

/* SCROLL */

.showcase-scroll{
  display:flex;
  gap:35px;

  overflow-x:auto;
  scroll-behavior:smooth;

  padding: 0% 20px 0px;

  scrollbar-width:none;
}

.showcase-scroll::-webkit-scrollbar{
  display:none;
}


.showcase-overlay{
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      to top,
      rgba(28,27,27,0.92) 0%,
      rgba(28,27,27,0.45) 45%,
      rgba(0,0,0,0.08) 100%
    ),

    linear-gradient(
      to bottom,
      transparent 40%,
      rgba(193,59,116,0.22) 100%
    );
}
/* CARD */

.showcase-card{
  min-width:560px;
  height:460px;

  position:relative;
  overflow:hidden;

  flex-shrink:0;

  box-shadow:
    0 25px 70px rgba(0,0,0,0.35);

  transition:0.5s ease;
}


/* IMAGE */

.showcase-card img{
  width:100%;
  height:100%;
  object-fit:cover;

  transition:0.7s ease;
}

/* CONTENT */

.showcase-info{
  position:absolute;
  left:30px;
  bottom:28px;
  z-index:2;
}

.showcase-info p{
  color:rgba(255,255,255,0.8);
  font-size:12px;
  margin-bottom:8px;
}

.showcase-info h3{
  color:#fff;

  font-size:24px;
  letter-spacing:4px;
  font-weight: 500;

  text-transform:uppercase;

  font-family:'Clash Grotesk',sans-serif;

  margin-bottom:14px;
}

.showcase-info a{
  display:inline-flex;

  padding:10px 18px;

  background:rgba(255,255,255,0.14);

  border:1px solid rgba(255,255,255,0.25);

  backdrop-filter:blur(10px);

  color:#fff;

  font-size:12px;
  font-weight:600;

  transition:0.35s ease;
}

.showcase-info a:hover{
  background:#d9bd8c;
  color:#111;
}

/* HOVER */

.showcase-card:hover{
  transform:translateY(-8px);
}

.showcase-card:hover img{
  transform:scale(1.08);
}

/* BUTTONS */

.showcase-btn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);

  width:52px;
  height:52px;

  border:none;
  border-radius:50%;

  background:rgba(255,255,255,0.75);

  font-size:28px;

  cursor:pointer;

  z-index:10;

  transition:0.35s ease;
}

.showcase-btn:hover{
  background:#d9bd8c;
}

.showcase-prev{
  left:30px;
}

.showcase-next{
  right:30px;
}


/* =========================
   ROOMS SHOWCASE MOBILE FIX
========================= */

@media(max-width:768px){

  .rooms-showcase{
    min-height:400px !important;
    padding:32px 0 38px !important;
  }

  .rooms-showcase::before{
    height:100% !important;
  }

  .showcase-header{
    margin-bottom:22px !important;
  }

  .showcase-header p{
    font-size:10px;
    letter-spacing:2px;
    margin-bottom:6px;
  }

  .showcase-header h2{
    font-size:32px !important;
    line-height:1.1;
  }

  .showcase-scroll{
    gap:0 !important;
    padding:0 !important;
  }

  .showcase-card{
    min-width:86% !important;
    width:86% !important;
    height:235px !important;
    margin:0 7% !important;
    border-radius:18px;
  }

  .showcase-info{
    left:16px !important;
    bottom:16px !important;
  }

  .showcase-info h3{
    font-size:17px !important;
    letter-spacing:1.5px;
    margin-bottom:9px;
  }

  .showcase-info a{
    padding:7px 13px !important;
    font-size:10px !important;
  }

  .showcase-btn{
    width:34px !important;
    height:34px !important;
    font-size:18px !important;
  }

  .showcase-prev{
    left:6px !important;
  }

  .showcase-next{
    right:6px !important;
  }
}
/* =========================
   ULTRA SMOOTH SCROLL
========================= */

.showcase-scroll{
  scroll-behavior:smooth;

  -webkit-overflow-scrolling:touch;
}

/* smoother animation feel */
.showcase-card{
  transition:
    transform 0.6s ease,
    box-shadow 0.6s ease;
}

.showcase-card img{
  transition:transform 0.9s ease;
}
.showcase-scroll{
  scroll-snap-type:x mandatory;
}

.showcase-card{
  scroll-snap-align:center;
}


/* =========================
   ROOMS PAGE PREMIUM STYLE
========================= */

.rooms-page{
  padding:130px 7%;

  background:
    radial-gradient(circle at top right,
    rgba(193,59,116,0.10),
    transparent 35%),

    linear-gradient(180deg,#fff,#FFF7F2);
}

/* =========================
   GRID LAYOUT
========================= */

.rooms-page-grid{
  display:grid;

  grid-template-columns:repeat(6,1fr);

  gap:34px;
}

/* FIRST ROW */
.rooms-page-card:nth-child(1),
.rooms-page-card:nth-child(2),
.rooms-page-card:nth-child(3){
  grid-column:span 2;
}

/* SECOND ROW CENTERED */
.rooms-page-card:nth-child(4){
  grid-column:2 / span 2;
}

.rooms-page-card:nth-child(5){
  grid-column:4 / span 2;
}

/* =========================
   CARD
========================= */

.rooms-page-card{
  background:white;

  border-radius:28px;

  overflow:hidden;

  position:relative;

  border:1px solid rgba(193,59,116,0.10);

  box-shadow:
    0 20px 55px rgba(0,0,0,0.08),
    0 6px 18px rgba(0,0,0,0.04);

  transition:0.45s ease;
}

/* TOP PREMIUM BORDER */
.rooms-page-card::before{
  content:"";

  position:absolute;

  top:0;
  left:50%;

  transform:translateX(-50%);

  width:82%;
  height:5px;

  background:linear-gradient(
    90deg,
    #C13B74,
    #E6A96D
  );

  border-radius:0 0 20px 20px;

  z-index:2;
}

/* IMAGE */
.rooms-page-card img{
  width:100%;
  height:310px;

  object-fit:cover;

  transition:0.6s ease;
}

/* CONTENT */
.rooms-page-info{
  padding:30px;
}

.rooms-page-info h3{
  font-weight: 500;
  font-size:30px;

  font-family:'Clash Grotesk',sans-serif;

  color:#2A1F1B;

  margin-bottom:12px;
}

.rooms-page-info p{
  font-size:15px;
  line-height:1.8;

  color:#6B625C;

  margin-bottom:20px;
}

/* PRICE */
.rooms-page-price{
  display:inline-flex;

  padding:9px 16px;

  border-radius:30px;

  background:rgba(193,59,116,0.08);

  color:#C13B74;

  font-size:14px;
  font-weight:600;
}

/* HOVER */
.rooms-page-card:hover{
  transform:translateY(-12px);

  box-shadow:
    0 35px 90px rgba(0,0,0,0.15),
    0 12px 30px rgba(0,0,0,0.06);
}

.rooms-page-card:hover img{
  transform:scale(1.07);
}

/* =========================
   TABLET
========================= */

@media(max-width:992px){

  .rooms-page-grid{
    grid-template-columns:1fr 1fr;
  }

  .rooms-page-card:nth-child(1),
  .rooms-page-card:nth-child(2),
  .rooms-page-card:nth-child(3),
  .rooms-page-card:nth-child(4),
  .rooms-page-card:nth-child(5){
    grid-column:auto;
  }

}

/* =========================
   MOBILE
========================= */

@media(max-width:768px){

  .rooms-page{
    padding:70px 5%;
  }

  .rooms-page-grid{
    grid-template-columns:1fr;
    gap:22px;
  }

  .rooms-page-card{
    border-radius:22px;
  }

  .rooms-page-card img{
    height:240px;
  }

  .rooms-page-info{
    padding:22px;
  }

  .rooms-page-info h3{
    font-size:26px;
  }

  .rooms-page-info p{
    font-size:14px;
  }

  .rooms-page-price{
    font-size:13px;
    padding:8px 14px;
  }

}

/* SAME HERO IMAGE POSITION IN MOBILE */

@media(max-width:768px){

  .hero{
    background-position:center center !important;
    background-size:cover;
  }

}




/* additional responsive codes  */

/* =========================
   FINAL RESPONSIVE FIX
   Paste at bottom
========================= */

@media (max-width: 768px){

  body{
    overflow-x:hidden;
  }

  /* NAVBAR */
  .navbar{
    height:82px;
    padding:12px 5%;
  }

  .logo img{
    width:105px;
  }

  .nav-cta{
    left:58%;
    font-size:10px;
    padding:6px 12px;
  }

  .menu-toggle{
    display:flex;
  }

  .nav-menu{
    top:82px;
    right:5%;
    width:220px;
    margin-left:0;
  }

  /* HERO */
  .hero{
    height:80vh;
    padding:0 5%;
    align-items:center;
  }

  .slide{
    background-position:center center;
  }

  .hero-content{
    max-width:100%;
  }

  .hero-subtitle{
    padding-bottom: 130px;
    font-size:10px;
    letter-spacing:2px;
    margin-bottom: -88px;
  }

  .hero h1{
    
    font-size:42px;
    line-height:1.12;
  }

  .hero-text{
    font-size:14px;
    max-width:95%;
  }

  .hero-buttons{
    margin-top:28px;
    gap:12px;
  }

  /* ABOUT */
  .about{
    display:flex !important;
    flex-direction:column;
    padding:55px 5% !important;
    gap:18px;
  }

  .about-mobile-tag{
    display:block;
    margin: -19px 0 8px 0 !important;
  }

  .about-desktop-tag{
    display:none;
  }

  .about-image img{
    height:260px !important;
    border-radius:18px;
  }

  .about-content h2{
    font-size:36px !important;
    margin:10px 0 8px !important;
  }

  .about-content p{
    
    text-align:justify;
    line-height: 1.9;
   text-indent:40px;
    font-size:16px;
    margin-bottom:18px !important;
  }

  /* ROOMS SHOWCASE */
  .rooms-showcase{
    padding:15px 0 !important;
  
  }

  .showcase-header{
    margin-bottom:30px;
  }

  .showcase-scroll{
    gap:18px;
    padding:0 6% 25px;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
  }

  .showcase-card{
    min-width:86%;
    height:280px;
    scroll-snap-align:center;
    border-radius:22px;
  }

  .showcase-info{
    left:20px !important;
    bottom:20px;
  }

  .showcase-info h3{
    font-size:18px;
    letter-spacing:1.5px;
  }

  .showcase-btn{
    width:38px;
    height:38px;
    font-size:20px;
  }

  .showcase-prev{
    left:6px;
  }

  .showcase-next{
    right:6px;
  }

  /* AMENITIES */
  .amenities{
    padding:55px 5% !important;
  }

  .amenity-grid{
    grid-template-columns:repeat(2, 1fr) !important;
    gap:14px !important;
  }

  .amenity-card{
    padding:22px 10px;
    border-radius:28px;
    margin:0;
  }

  .amenity-card i{
    width:46px !important;
    height:46px !important;
    font-size:22px;
    margin-bottom:10px;
  }

  .amenity-card h3{
    font-size:15px;
  }

  /* GUEST STORIES */
  .guest-stories{
    padding:21px 5% 25px;
  }

  .guest-stories-grid{
    height:400px;
  }

  .guest-card{
    padding:45px 20px;
    min-height:380px;
  }

  /* PLACES */
  .places-slider-section{
    padding:60px 0;
  }

  .place-slide{
    width:230px;
    height:280px;
  }

  .places-view-all{
    margin-top:-75px;
  }

  .places-view-all .small-btn{
    width:auto;
    font-size:11px;
    padding:9px 16px;
  }

  /* CTA */
  .cta{
    padding:23px 5% !important;
    margin:0 !important;
    min-height:auto;
  }

  .cta-glass{
    padding:50px 20px;
  }

  .cta-glass h2{
    font-size:30px !important;
  }

  /* FOOTER */
  .footer{
    padding:28px 5% 10px;
  }

  .footer-grid{
    grid-template-columns:1fr 1fr !important;
    gap:14px;
  }

  .footer-brand,
  .footer-booking{
    grid-column:1 / 3;
  }

  .footer h3{
    font-size:22px;
  }

  .footer h4{
    font-size:14px;
  }

  .footer p,
  .footer a{
    font-size:12px;
  }

  .footer-bottom{
    padding-top:12px;
  }

  .footer-bottom p{
    font-size:11px;
  }

  /* WHATSAPP */
  .whatsapp-float{
    width:58px;
    height:58px;
    right:15px;
    bottom:40px;
  }

  .whatsapp-float img{
    width:42px;
    height:42px;
  }
}


/* =========================
   FINAL MOBILE ROOM FIX
========================= */

@media(max-width:768px){

  .rooms{
    overflow:hidden;
    padding:65px 0 !important;
  }

  .room-scroll{
    display:flex;
    flex-wrap:nowrap;

    gap:0 !important;

    overflow-x:auto;
    overflow-y:hidden;

    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    -webkit-overflow-scrolling:touch;

    padding:0 !important;
    margin:0 !important;

    scrollbar-width:none;
  }

  .room-scroll::-webkit-scrollbar{
    display:none;
  }

  .room-card{
    flex:0 0 100% !important;

    width:90% !important;
    min-width:90% !important;
    max-width:100% !important;

    margin:0 !important;
    border-radius:0 !important;

    scroll-snap-align:start;
    scroll-snap-stop:always;
  }

  .room-card img{
    width:90%;
    height:250px;
    object-fit:cover;
  }

  .room-info{
    padding:22px 20px;
  }
}
@media(max-width:768px){
  .page-hero {
    height: 21vh;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin-top: 52px;
}
}



/* =========================
   REVIEW PLATFORM LOGOS
========================= */

.review-platforms{
  width:100%;

  margin-top:10px;
  margin-bottom: 13px;

  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;

  gap:36px;

  position:relative;
  z-index:5;
}

/* LOGOS */

.review-platforms img{
  width:auto;
  height:26px;

  object-fit:contain;

  opacity:0.95;

  transition:
    transform 0.35s ease,
    opacity 0.35s ease;
}

/* HOVER */

.review-platforms img:hover{
  opacity:1;

  transform:
    translateY(-3px)
    scale(1.04);
}

/* INDIVIDUAL LOGO SIZES */

.review-platforms img[alt="Google"]{
  height:28px;
}

.review-platforms img[alt="Airbnb"]{
  height:30px;
}

.review-platforms img[alt="Booking"]{
  height:22px;
}

.review-platforms img[alt="Goibibo"]{
  height:24px;
}

.review-platforms img[alt="MakeMyTrip"]{
  height:25px;
}

.review-platforms img[alt="Agoda"]{
  height:20px;
}

/* =========================
   MOBILE
========================= */

@media(max-width:768px){

  .review-platforms{
    margin-top:28px;

    gap:18px;

    padding:0 5%;
  }

  .review-platforms img{
    max-width:80px;
    height:auto;
  }

  .review-platforms img[alt="Google"]{
    height:18px;
  }

  .review-platforms img[alt="Airbnb"]{
    height:20px;
  }

  .review-platforms img[alt="Booking"]{
    height:15px;
  }

  .review-platforms img[alt="Goibibo"]{
    height:16px;
  }

  .review-platforms img[alt="MakeMyTrip"]{
    height:17px;
  }

  .review-platforms img[alt="Agoda"]{
    height:14px;
  }

}











/* ANIMATION */



/* =========================
   HERO PREMIUM ANIMATION
========================= */

/* background zoom */
.hero .slide.active{
  animation:heroZoom 6s ease forwards;
}

/* subtitle */
.hero-subtitle{
  opacity:0;
  animation:heroFromTop 0.9s ease forwards;
  animation-delay:0.2s;
}

/* whole h1 from left */
.hero h1{
  opacity:0;
  animation:heroFromLeft 1s ease forwards;
  animation-delay:0.5s;
}

/* Bougain Dreams separate right reveal */
.hero h1 span{
  display:inline-block;
  opacity:0;
  animation:heroFromRight 1s ease forwards;
  animation-delay:0.8s;
}

/* paragraph */
.hero-text{
  opacity:0;
  animation:heroFadeUp 0.9s ease forwards;
  animation-delay:1s;
}

/* buttons */
.hero-buttons{
  opacity:0;
  animation:heroFadeUp 0.9s ease forwards;
  animation-delay:1.25s;
}

/* KEYFRAMES */



@keyframes heroFromTop{
  from{
    opacity:0;
    transform:translateY(-25px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@keyframes heroFromLeft{
  from{
    opacity:0;
    transform:translateX(-70px);
  }
  to{
    opacity:1;
    transform:translateX(0);
  }
}

@keyframes heroFromRight{
  from{
    opacity:0;
    transform:translateX(70px);
  }
  to{
    opacity:1;
    transform:translateX(0);
  }
}

@keyframes heroFadeUp{
  from{
    opacity:0;
    transform:translateY(30px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}




/* =========================
   ABOUT SECTION ANIMATION
========================= */

.about-image{
  opacity:0;
  animation:aboutImageReveal 1s ease forwards;
  animation-delay:0.3s;
}

.about-content .section-tag{
  opacity:0;
  animation:aboutFadeUp 0.8s ease forwards;
  animation-delay:0.55s;
}

.about-content h2{
  opacity:0;
  animation:aboutSlideRight 0.9s ease forwards;
  animation-delay:0.75s;
}

.about-content p{
  opacity:0;
  animation:aboutFadeUp 0.9s ease forwards;
  animation-delay:0.95s;
}

.about-content .primary-btn{
  opacity:0;
  animation:aboutFadeUp 0.9s ease forwards;
  animation-delay:1.15s;
}

@keyframes aboutImageReveal{
  from{
    opacity:0;
    transform:translateX(-60px) scale(1.04);
  }
  to{
    opacity:1;
    transform:translateX(0) scale(1);
  }
}

@keyframes aboutSlideRight{
  from{
    opacity:0;
    transform:translateX(55px);
  }
  to{
    opacity:1;
    transform:translateX(0);
  }
}

@keyframes aboutFadeUp{
  from{
    opacity:0;
    transform:translateY(28px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}



/* =========================
   ROOMS SHOWCASE ANIMATION
========================= */

.rooms-showcase .showcase-header p{
  opacity:0;
  animation:fadeUpSoft 0.8s ease forwards;
  animation-delay:0.2s;
}

.rooms-showcase .showcase-header h2{
  opacity:0;
  animation:fadeUpSoft 0.9s ease forwards;
  animation-delay:0.4s;
}

.showcase-card{
  opacity:0;
  animation:roomCardReveal 0.9s ease forwards;
}

.showcase-card:nth-child(1){ animation-delay:0.3s; }
.showcase-card:nth-child(2){ animation-delay:0.45s; }
.showcase-card:nth-child(3){ animation-delay:0.6s; }
.showcase-card:nth-child(4){ animation-delay:0.75s; }
.showcase-card:nth-child(5){ animation-delay:0.9s; }

.showcase-card img{
  animation:roomImageZoom 1.5s ease forwards;
}

.showcase-prev{
  opacity:0;
  animation:slideArrowLeft 0.8s ease forwards;
  animation-delay:1s;
}

.showcase-next{
  opacity:0;
  animation:slideArrowRight 0.8s ease forwards;
  animation-delay:1s;
}

/* =========================
   AMENITIES ANIMATION
========================= */

.amenities-header p{
  opacity:0;
  animation:fadeUpSoft 0.8s ease forwards;
  animation-delay:0.2s;
}

.amenities-header h2{
  opacity:0;
  animation:fadeUpSoft 0.9s ease forwards;
  animation-delay:0.4s;
}

.amenity-card{
  opacity:0;
  animation:amenityPop 0.75s ease forwards;
}

.amenity-card:nth-child(1){ animation-delay:0.2s; }
.amenity-card:nth-child(2){ animation-delay:0.35s; }
.amenity-card:nth-child(3){ animation-delay:0.5s; }
.amenity-card:nth-child(4){ animation-delay:0.65s; }
.amenity-card:nth-child(5){ animation-delay:0.8s; }
.amenity-card:nth-child(6){ animation-delay:0.95s; }

.amenity-card i{
  animation:iconGlow 2.5s ease-in-out infinite;
}

/* =========================
   KEYFRAMES
========================= */

@keyframes fadeUpSoft{
  from{
    opacity:0;
    transform:translateY(25px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@keyframes roomCardReveal{
  from{
    opacity:0;
    transform:translateY(45px) scale(0.96);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

@keyframes roomImageZoom{
  from{
    transform:scale(1.08);
  }
  to{
    transform:scale(1);
  }
}

@keyframes slideArrowLeft{
  from{
    opacity:0;
    transform:translate(-25px, -50%);
  }
  to{
    opacity:1;
    transform:translate(0, -50%);
  }
}

@keyframes slideArrowRight{
  from{
    opacity:0;
    transform:translate(25px, -50%);
  }
  to{
    opacity:1;
    transform:translate(0, -50%);
  }
}

@keyframes amenityPop{
  from{
    opacity:0;
    transform:translateY(35px) scale(0.88);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

@keyframes iconGlow{
  0%,100%{
    box-shadow:inset 0 0 0 1px rgba(193,59,116,0.14);
  }
  50%{
    box-shadow:
      inset 0 0 0 1px rgba(193,59,116,0.22),
      0 0 22px rgba(193,59,116,0.18);
  }
}

/* SCROLL ANIMATION BASE */
.scroll-animate{
  opacity:0;
  transform:translateY(45px);
  transition:opacity 0.9s ease, transform 0.9s ease;
}

.scroll-animate.show{
  opacity:1;
  transform:translateY(0);
}

/* SIDE ANIMATIONS */
.scroll-left{
  transform:translateX(-60px);
}

.scroll-right{
  transform:translateX(60px);
}

.scroll-pop{
  transform:translateY(35px) scale(0.9);
}

.scroll-left.show,
.scroll-right.show,
.scroll-pop.show{
  transform:translateX(0) scale(1);
}



