﻿@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');

/* Reset & Base Layout */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: 'Montserrat', Arial, sans-serif;
 background-color: #1F3E24;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25' viewBox='0 0 1600 800'%3E%3Cg %3E%3Cpath fill='%232f5929' d='M486 705.8c-109.3-21.8-223.4-32.2-335.3-19.4C99.5 692.1 49 703 0 719.8V800h843.8c-115.9-33.2-230.8-68.1-347.6-92.2C492.8 707.1 489.4 706.5 486 705.8z'/%3E%3Cpath fill='%234e7631' d='M1600 0H0v719.8c49-16.8 99.5-27.8 150.7-33.5c111.9-12.7 226-2.4 335.3 19.4c3.4 0.7 6.8 1.4 10.2 2c116.8 24 231.7 59 347.6 92.2H1600V0z'/%3E%3Cpath fill='%237a9438' d='M478.4 581c3.2 0.8 6.4 1.7 9.5 2.5c196.2 52.5 388.7 133.5 593.5 176.6c174.2 36.6 349.5 29.2 518.6-10.2V0H0v574.9c52.3-17.6 106.5-27.7 161.1-30.9C268.4 537.4 375.7 554.2 478.4 581z'/%3E%3Cpath fill='%23b4b33d' d='M0 0v429.4c55.6-18.4 113.5-27.3 171.4-27.7c102.8-0.8 203.2 22.7 299.3 54.5c3 1 5.9 2 8.9 3c183.6 62 365.7 146.1 562.4 192.1c186.7 43.7 376.3 34.4 557.9-12.6V0H0z'/%3E%3Cpath fill='%23C9A44D' d='M181.8 259.4c98.2 6 191.9 35.2 281.3 72.1c2.8 1.1 5.5 2.3 8.3 3.4c171 71.6 342.7 158.5 531.3 207.7c198.8 51.8 403.4 40.8 597.3-14.8V0H0v283.2C59 263.6 120.6 255.7 181.8 259.4z'/%3E%3Cpath fill='%23dcbb66' d='M1600 0H0v136.3c62.3-20.9 127.7-27.5 192.2-19.2c93.6 12.1 180.5 47.7 263.3 89.6c2.6 1.3 5.1 2.6 7.7 3.9c158.4 81.1 319.7 170.9 500.3 223.2c210.5 61 430.8 49 636.6-16.6V0z'/%3E%3Cpath fill='%23ebcf84' d='M454.9 86.3C600.7 177 751.6 269.3 924.1 325c208.6 67.4 431.3 60.8 637.9-5.3c12.8-4.1 25.4-8.4 38.1-12.9V0H288.1c56 21.3 108.7 50.6 159.7 82C450.2 83.4 452.5 84.9 454.9 86.3z'/%3E%3Cpath fill='%23f6e2a6' d='M1600 0H498c118.1 85.8 243.5 164.5 386.8 216.2c191.8 69.2 400 74.7 595 21.1c40.8-11.2 81.1-25.2 120.3-41.7V0z'/%3E%3Cpath fill='%23fdf1cc' d='M1397.5 154.8c47.2-10.6 93.6-25.3 138.6-43.8c21.7-8.9 43-18.8 63.9-29.5V0H643.4c62.9 41.7 129.7 78.2 202.1 107.4C1020.4 178.1 1214.2 196.1 1397.5 154.8z'/%3E%3Cpath fill='%23FFFDF6' d='M1315.3 72.4c75.3-12.6 148.9-37.1 216.8-72.4h-723C966.8 71 1144.7 101 1315.3 72.4z'/%3E%3C/g%3E%3C/svg%3E");
background-attachment: fixed;
background-size: cover;
  color: #2c2c2c;
}

h1, h2, h3, h4 {
  font-family: 'Montserrat', sans-serif;
}

/* ===== MAIN HEADER WRAPPER ===== */
.main-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 50;
  background: linear-gradient(to bottom, #ffffff, #FBF7EF);
  backdrop-filter: blur(10px);
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}

/* ===== TOPBAR ===== */
.topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0;
  background: linear-gradient(to right, #FBF7EF, #FFFFFF);
  border-top: 3px solid #1C3B28; /* Pine Green Border */
  border-bottom: 1px solid #E0DED8;
}

.topbar-left,
.topbar-center,
.topbar-right {
  display: flex;
  align-items: center;
  flex: 1;
  justify-content: center;
  gap: 15px;
}

.bordered-section {
  border-left: 1px solid #EAEAEA;
  border-right: 1px solid #EAEAEA;
}

.topbar-left { border-left: none; }
.topbar-right { border-right: none; }

.blank-col { width: 50px; }

.address {
  color: #2C2C2C;
  font-size: 16px;
  font-weight: 400;
}

/* ===== LOGO ===== */
.logo {
  height: 150px;
  object-fit: contain;
  padding: 5px 0;
  transition: transform 0.3s ease-in-out;
}
.logo:hover {
  transform: scale(1.04);
}

/* ===== SOCIAL ICONS ===== */
.social-icons a {
  color: #1C3B28;
  font-size: 20px;
  margin-left: 10px;
  border: 1px solid transparent;
  padding: 6px;
  border-radius: 50%;
  transition: all 0.3s ease;
}
.social-icons a:hover {
  color: #C9A44D;
  border-color: #C9A44D;
  background: rgba(201, 164, 77, 0.1);
  transform: scale(1.15);
}

/* ===== HAMBURGER ICON ===== */
.hamburger {
  display: none;
  font-size: 28px;
  color: #1C3B28;
  cursor: pointer;
  padding: 10px;
  border-radius: 50%;
  background-color: rgba(201, 164, 77, 0.15);
  transition: all 0.3s ease;
}
.hamburger:hover {
  background-color: rgba(201, 164, 77, 0.25);
  transform: scale(1.1);
}

/* ===== MENU BAR ===== */
.menu-bar {
  background: linear-gradient(to right, #ffffff, #FBF7EF);
  border-top: 1px solid #E6E3DC;
  border-bottom: 3px solid #C9A44D;
  box-shadow: inset 0 0 8px rgba(201, 164, 77, 0.08);
}

.menu-bar ul {
  display: flex;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
}

.menu-bar ul li {
  border-left: 1px solid #EDE8DF;
  border-right: 1px solid #EDE8DF;
}
.menu-bar ul li:first-child { border-left: none; }
.menu-bar ul li:last-child { border-right: none; }

.menu-bar ul li a {
  display: block;
  padding: 14px 35px;
  color: #1C3B28;
  text-decoration: none;
  font-weight: 400;
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0.3px;
  transition: all 0.3s ease;
  font-size: 18px;
}

.menu-bar ul li a:hover {
  background: #1C3B28;
  color: #FBF7EF;
  box-shadow: inset 0 -3px 0 #C9A44D;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
}

/* ===== DROPDOWN MENU ===== */
.menu-bar ul li.dropdown {
  position: relative;
}

.menu-bar ul li .dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  background: #ffffff;
  min-width: 340px;
  border-radius: 6px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.1);
  border: 1px solid #E8E6E0;
  display: none;
  flex-direction: column;
  overflow: hidden;
  animation: dropdownFade 0.3s ease;
}

@keyframes dropdownFade {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: translateY(0); }
}

.menu-bar ul li.dropdown:hover .dropdown-menu {
  display: flex;
}

.menu-bar ul li .dropdown-menu li a {
  padding: 12px 20px;
  color: #1C3B28;
  font-weight: 500;
  transition: all 0.3s ease;
}
.menu-bar ul li .dropdown-menu li a:hover {
  background: #C9A44D;
  color: #fff;
}

/* Dropdown icon rotation */
.dropdown-icon {
  font-size: 0.75rem;
  margin-left: 6px;
  transition: transform 0.3s ease;
}
.menu-bar ul li.dropdown:hover .dropdown-icon {
  transform: rotate(180deg);
}

/* ===== RESPONSIVE ===== */
@media (max-width: 992px) {
  .menu-bar { display: none; }
  .hamburger { display: block; }
}

/* ===== HAMBURGER ICON ===== */
.hamburger {
  display: none;
  font-size: 28px;
  color: #1F3E24;
  cursor: pointer;
  padding: 10px;
  border-radius: 10%;
  background-color: rgba(197, 166, 84, 0.6);
  transition: all 0.3s ease;
}
.hamburger:hover {
  background-color: rgba(197, 166, 84, 0.25);
  transform: scale(1.1);
}

/* ===== DARK OVERLAY ===== */
.menu-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(31, 62, 36, 0.4);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease;
  z-index: 1500;
}
.menu-overlay.open {
  opacity: 1;
  visibility: visible;
}

/* ===== MOBILE MENU ===== */
.mobile-menu {
  position: fixed;
  top: 0;
  right: -340px;
  width: 320px;
  height: 100vh;
  background: #FFFDF6;
  color: #1F3E24;
  box-shadow: -5px 0 15px rgba(0, 0, 0, 0.15);
  transition: right 0.4s cubic-bezier(0.25, 1, 0.3, 1);
  z-index: 2000;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-top: 20px;
  border-radius: 8px 0 0 8px;
}
.mobile-menu.open { right: 0; }

.mobile-menu-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 20px;
  border-bottom: 1px solid #E8E6E0;
}
.mobile-logo { height: 50px; }

.close-btn {
  font-size: 30px;
  cursor: pointer;
  color: #1F3E24;
  transition: transform 0.3s ease;
}
.close-btn:hover { transform: rotate(90deg); }

/* ===== MOBILE LINKS ===== */
.mobile-menu ul {
  list-style: none;
  padding: 0;
  margin-top: 20px;
}
.mobile-menu ul li a {
  display: block;
  padding: 14px 20px;
  background: #FAFAFA;
  color: #1F3E24;
  font-weight: 600;
  font-size: 16px;
  text-decoration: none;
  margin: 8px 20px;
  border-radius: 6px;
  border: 1px solid #EAEAEA;
  transition: all 0.3s ease;
}
.mobile-menu ul li a:hover {
  background: #1F3E24;
  color: #fff;
  border: 1px solid #1F3E24;
}

/* ===== MOBILE DROPDOWN ===== */
.mobile-dropdown {
  position: relative;
}
.mobile-dropdown:hover .mobile-submenu,
.mobile-dropdown:focus-within .mobile-submenu {
  display: flex;
  flex-direction: column;
  animation: slideDown 0.3s ease;
}
.mobile-submenu {
  display: none;
  flex-direction: column;
  padding-left: 15px;
  margin-top: 5px;
  border-left: 2px solid rgba(31, 62, 36, 0.15);
  background: #fff;
}
@keyframes slideDown {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: translateY(0); }
}
.mobile-submenu li a {
  background: #ffffff;
  border: none;
  padding: 10px 20px;
  font-weight: 500;
  font-size: 15px;
  color: #1F3E24;
  margin: 0;
  border-radius: 0;
  transition: all 0.3s ease;
}
.mobile-submenu li a:hover {
  color: #C5A654;
  background: rgba(197,166,84,0.08);
}
.dropdown-arrow {
  font-size: 12px;
  margin-left: 6px;
  transition: transform 0.3s ease;
}
.mobile-dropdown:hover .dropdown-arrow {
  transform: rotate(180deg);
}

/* ===== CALL NOW BOX ===== */
.call-now-box {
  background: #1F3E24;
  margin: 20px;
  padding: 12px;
  border-radius: 8px;
  text-align: center;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
}
.call-now-box p {
  margin: 5px 0;
  color: #C5A654;
  font-weight: bold;
}
.call-now-box a {
  color: #fff;
  font-size: 18px;
  text-decoration: none;
}

/* ===== MOBILE SOCIAL ICONS ===== */
.mobile-social {
  display: flex;
  justify-content: center;
  gap: 15px;
  margin-bottom: 20px;
}
.mobile-social a {
  font-size: 20px;
  color: #1F3E24;
  transition: color 0.3s ease;
}
.mobile-social a:hover { color: #C5A654; }

/* ===== RESPONSIVE ===== */
@media (max-width: 992px) {
  .hamburger { display: block; }
}

/* ===== STICKY HEADER ===== */
.sticky-header {
  position: fixed;
  top: -120px;
  left: 0;
  width: 100%;
 background: linear-gradient(to left, #ffffff, #FBF7EF);
  border-bottom: 2px solid #C5A654;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.08);
  transition: top 0.4s ease-in-out;
  z-index: 9999;
  padding: 6px 0;
}
.sticky-header.visible { top: 0; }

.sticky-container {
  width: 90%;
  max-width: 1200px;
  margin: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.sticky-logo img {
  height: 100px;
  max-height: 105px;
  object-fit: contain;
}

.sticky-nav ul {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
}
.sticky-nav ul li { margin-left: 20px; }
.sticky-nav ul li a {
  text-decoration: none;
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  color: #1F3E24;
  padding: 8px 14px;
  transition: all 0.3s ease;
  border-radius: 4px;
}
.sticky-nav ul li a:hover {
  background: #C5A654;
  color: #fff;
}

/* Mobile Hamburger */
.sticky-hamburger {
  display: none;
  font-size: 26px;
  color: #1F3E24;
  cursor: pointer;
  padding: 8px;
  border-radius: 50%;
  background-color: rgba(197, 166, 84, 0.15);
  transition: background 0.3s ease;
}
.sticky-hamburger:hover {
  background-color: rgba(197, 166, 84, 0.25);
}

/* Dropdown for Desktop Sticky Nav */
.sticky-nav .dropdown {
  position: relative;
}
.sticky-nav .dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  background-color: #ffffff;
  border: 1px solid #EAEAEA;
  display: none;
  min-width: 260px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}
.sticky-nav .dropdown:hover .dropdown-menu { display: block; }
.sticky-nav .dropdown-menu li a {
  color: #1F3E24;
  display: block;
  font-size: 16px;
  font-weight: 500;
  padding: 10px 20px;
  transition: all 0.3s ease;
}
.sticky-nav .dropdown-menu li a:hover {
  background-color: #C5A654;
  color: #fff;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 992px) {
  .menu-bar { display: none; }
  .hamburger { display: block; }
  .sticky-nav { display: none; }
  .sticky-hamburger { display: none; }
  .sticky-header {
 display: none;
}
}
/* ===== HERO SECTION ===== */
.hero {
  position: relative;
  width: 100%;
  height: 120vh;
  overflow: hidden;
  z-index: 1;
  margin-top: 140px; /* ensures header spacing */
  background: #FBF7EF;
}

/* ===== SLIDES ===== */
.hero-slide {
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transform: scale(1.08);
  filter: brightness(0.95);
  transition: opacity 1.4s ease-in-out, transform 7s ease;
}

.hero-slide.active {
  opacity: 1;
  transform: scale(1);
  z-index: 5;
}

/* ===== OVERLAYS ===== */
.hero-overlay {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at center, rgba(0,0,0,0.3) 10%, rgba(20,40,25,0.7) 100%);
  z-index: 6;
  mix-blend-mode: multiply;
}

/* ===== LIGHT GRADIENT LAYERS ===== */
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0.35) 0%, transparent 60%, rgba(0,0,0,0.3) 100%);
  z-index: 7;
}

/* ===== SLIDE CAPTION ===== */
.slide-caption {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: #fff;
  z-index: 10;
  width: 90%;
  max-width: 900px;
  opacity: 0;
  transition: opacity 1s ease, transform 1s ease;
}

.hero-slide.active .slide-caption {
  opacity: 1;
  transform: translate(-50%, -50%);
}

/* ===== CLEAN CAPTION BACKGROUND (REMOVED DARK BOX) ===== */
.caption-bg {
  background: none;
  border: none;
  box-shadow: none;
  padding: 0;
}

/* ===== HEADLINE ===== */
.slide-caption h2 {
  font-size: 62px;
  font-family: "Playfair Display", serif;
  font-weight: 400;
  color: #ffffff;
  margin-bottom: 15px;
  letter-spacing: 1px;
  text-shadow: 0 6px 16px rgba(0, 0, 0, 0.65);
  position: relative;
  animation: titleFloat 1.6s ease;
}

@keyframes titleFloat {
  0% { opacity: 0; transform: translateY(20px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* 🌟 Elegant gold underline */
.slide-caption h2::after {
  content: "";
  position: absolute;
  bottom: -12px;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 3px;
  background: linear-gradient(90deg, transparent, #C9A44D, transparent);
  border-radius: 2px;
  opacity: 0.85;
}

/* ===== SUBTEXT ===== */
.slide-caption p {
  font-size: 22px;
  color: #fff;
  font-weight: 400;
  line-height: 1.6;
  margin-top: 30px;
  text-shadow: 0 4px 12px rgba(0, 0, 0, 0.55);
  animation: fadeInText 1.8s ease forwards;
}

@keyframes fadeInText {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ===== SOFT GRADIENT BEHIND TEXT ===== */
.slide-caption::before {
  content: "";
  position: absolute;
  inset: -40px 0 0 0;
  background: radial-gradient(circle at center, rgba(0,0,0,0.35) 15%, transparent 100%);
  z-index: -1;
  opacity: 0.6;
  pointer-events: none;
}

/* ===== CONTROLS ===== */
.hero-controls {
  position: absolute;
  top: 50%;
  width: 100%;
  display: flex;
  justify-content: space-between;
  padding: 0 40px;
  z-index: 15;
}

.hero-controls .prev,
.hero-controls .next {
  font-size: 34px;
  color: #fff;
  cursor: pointer;
  width: 64px;
  height: 64px;
  background: rgba(28,59,40,0.65);
  border: 2px solid rgba(201,164,77,0.4);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.4s ease;
  box-shadow: 0 4px 12px rgba(0,0,0,0.5);
}

.hero-controls .prev:hover,
.hero-controls .next:hover {
  background: #c9a44d;
  color: #1c3b28;
  transform: scale(1.1);
  box-shadow: 0 0 18px rgba(201,164,77,0.8);
}

/* ===== DOTS ===== */
.hero-dots {
  position: absolute;
  bottom: 35px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 14px;
  z-index: 20;
}

.hero-dots .dot {
  width: 14px;
  height: 14px;
  background: rgba(255,255,255,0.4);
  border-radius: 50%;
  cursor: pointer;
  border: 1px solid rgba(201,164,77,0.5);
  transition: all 0.3s ease;
}

.hero-dots .dot.active,
.hero-dots .dot:hover {
  background: #c9a44d;
  box-shadow: 0 0 10px rgba(201,164,77,0.9);
  transform: scale(1.2);
}

/* ===== SCROLL DOWN ICON ===== */
.scroll-down {
  position: absolute;
  bottom: 80px;
  left: 50%;
  transform: translateX(-50%);
  width: 34px;
  height: 54px;
  border: 2px solid #c9a44d;
  border-radius: 25px;
  cursor: pointer;
  z-index: 25;
  box-shadow: 0 0 15px rgba(201,164,77,0.3);
}

.scroll-down span {
  display: block;
  width: 8px;
  height: 8px;
  background: #c9a44d;
  margin: 10px auto;
  border-radius: 50%;
  animation: scrollAnim 1.5s infinite;
}

@keyframes scrollAnim {
  0% { opacity: 1; transform: translateY(0); }
  50% { opacity: 0.5; transform: translateY(10px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
  .hero { height: 50vh; margin-top: 130px; }
  .slide-caption h2 { font-size: 36px; }
  .slide-caption p { font-size: 16px; }
  .hero-controls .prev, .hero-controls .next {
	background:transparent;
	
    width: 45px; height: 45px; font-size: 22px;
  }
  .hero-dots .dot { width: 5px; height: 5px; }
  .hero-controls {
  top: 80%;
}
.scroll-down {
  bottom: 50px;
  width: 14px;
  height: 34px;
}
}
/* ===== RESERVATION BOX SECTION ===== */
.below-section {
  padding: 20px 0;
  text-align: center;
}

.below-section h2 {
  font-size: 32px;
  margin-bottom: 10px;
  color: #1C3B28;
  letter-spacing: 0.5px;
}

.below-section p {
  color: #555;
  font-size: 18px;
  margin-bottom: 40px;
}

/* ===== WELCOME SECTION ===== */
.welcome-section {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 90px 8%;
  background: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.8),
    rgba(251, 247, 239, 0.8)
  );
  backdrop-filter: blur(5px);
  gap: 80px;
  font-family: 'Montserrat', Arial, sans-serif;
  position: relative;
  
  overflow: hidden;
}

/* Soft gold sheen overlay */
.welcome-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    120deg,
    rgba(201, 164, 77, 0.15) 0%,
    rgba(255, 255, 255, 0.1) 50%,
    rgba(201, 164, 77, 0.15) 100%
  );
  z-index: 0;
  pointer-events: none;
}

/* ===== LEFT TEXT ===== */
.welcome-content {
  flex: 1;
  max-width: 48%;
  text-align: left;
  animation: fadeInLeft 1s ease-out;
  position: relative;
  z-index: 2;
}

.tagline {
  font-size: 17px;
  color: #C9A44D;
  text-transform: uppercase;
  letter-spacing: 3px;
  margin-bottom: 14px;
  font-weight: 500;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.welcome-content h2 {
	font-family: "Playfair Display", serif;
  font-size: 52px;
  margin-bottom: 20px;
  color: #1C3B28;
  line-height: 1.2;
  font-weight: 400;
  position: relative;
  padding-bottom: 12px;
  text-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  margin-top:-30px;
  
}

.welcome-content h2::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 90px;
  height: 3px;
  background: linear-gradient(to right, #C9A44D, #E8C97D);
  border-radius: 2px;
}

.welcome-content p {
  font-size: 18px;
  color: #000;
  line-height: 1.9;
  margin-top: 10px;
  margin-bottom: 40px;
  text-shadow: 0 1px 3px rgba(255, 255, 255, 0.5);
}

.read-more-btn {
  background: linear-gradient(135deg, #C9A44D, #AF8B3A);
  color: #fff;
  padding: 15px 44px;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  border: none;
  cursor: pointer;
  transition: all 0.3s ease;
  border-radius: 4px;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.25);
}
.read-more-btn:hover {
  background: linear-gradient(135deg, #E2C064, #C9A44D);
  transform: translateY(-4px);
  box-shadow: 0 10px 22px rgba(201, 164, 77, 0.5);
}

/* ===== RIGHT IMAGE AREA ===== */
/* ===== RIGHT IMAGE AREA ===== */
.welcome-images {
  flex: 1;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: fadeInRight 1s ease-out;
  z-index: 2;
  perspective: 1000px; /* Adds slight 3D effect */
}

/* 🖼️ BIG IMAGE (main background photo) */
.big-image-wrapper {
  position: relative;
  max-width: 580px;
  width: 100%;
  overflow: hidden;
  border-radius: 18px;
  transform: rotate(-4deg);
  transition: all 0.5s ease;
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.3);
  z-index: 1;
  
}

/* Glow/Light Overlay for depth */
.big-image-wrapper::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top right, rgba(0,0,0,0.25), rgba(255,255,255,0.05));
  mix-blend-mode: soft-light;
  border-radius: 18px;
  z-index: 1;
  transition: opacity 0.3s ease;
}

.big-image {
  width: 100%;
  border-radius: 18px;
  display: block;
  object-fit: cover;
  transition: transform 0.5s ease;
}

/* Hover Animation */
.big-image-wrapper:hover {
  transform: rotate(0deg) scale(1.03);
}
.big-image-wrapper:hover .big-image {
  transform: scale(1.05);
}

/* 🖼️ SMALL FLOATING IMAGE */
.small-image-wrapper {
  position: absolute;
  bottom: -200px;
  right: -40px;
  width: 400px;
  border-radius: 14px;
  overflow: hidden;
  border: 6px solid #f4ead3;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.35);
  transform: rotate(6deg);
  background: #fff;
  transition: all 0.4s ease;
  z-index: 3;
}

.small-image {
  width: 100%;
  border-radius: 14px;
  display: block;
  object-fit: cover;
  transition: transform 0.4s ease;
}

/* Hover Effect */
.small-image-wrapper:hover {
  transform: rotate(0deg) scale(1.05);
}
.small-image-wrapper:hover .small-image {
  transform: scale(1.05);
}

/* ✨ Optional Decorative Shadow Layer (gold hue reflection) */
.welcome-images::after {
  content: "";
  position: absolute;
  bottom: -25px;
  left: 0;
  width: 100px;
  height: 4px;
  background: linear-gradient(to right, #d8b84c, #c9a44d);
  border-radius: 2px;
  opacity: 0.8;
  box-shadow: 0 0 15px rgba(201, 164, 77, 0.6);
}

/* 📱 RESPONSIVE IMAGE STYLING */
@media (max-width: 1024px) {
  .welcome-images {
    flex-direction: column;
  }

  .big-image-wrapper {
    max-width: 90%;
    transform: none;
  }

  .small-image-wrapper {
    position: relative;
    bottom: 0;
    right: 0;
    margin-top: 25px;
    transform: none;
    width: 80%;
  }
}


/* ===== RESPONSIVE FIXES ===== */
@media (max-width: 1024px) {
  .welcome-section {
    flex-direction: column-reverse;
    align-items: left;
    justify-content: left;
    text-align: left;
    gap: 50px;
    padding: 60px 6%;
  }

  /* ✅ TEXT ALIGNMENT FIX */
  .welcome-content {
    max-width: 100%;
    text-align: left;
    width: 100%;
  }

  .welcome-content h2 {
    font-size: 38px;
    line-height: 1.3;
  }

  .welcome-content p {
    font-size: 16px;
    line-height: 1.8;
  }

  .read-more-btn {
    display: inline-block;
    margin-top: 25px;
  }

  /* ✅ IMAGE ALIGNMENT FIX */
  .welcome-images {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 25px;
    perspective: none;
  }

  .big-image-wrapper {
    max-width: 100%;
    width: 100%;
    transform: none;
    border-radius: 14px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
  }

  .big-image {
    width: 100%;
    border-radius: 14px;
    object-fit: cover;
  }

  /* ✅ SMALL IMAGE BELOW MAIN ONE */
  .small-image-wrapper {
    position: relative;
    bottom: auto;
    right: auto;
    margin-top: 25px;
    transform: none;
    width: 85%;
    max-width: 400px;
    border: 5px solid #fff;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.25);
  }

  .small-image {
    border-radius: 10px;
  }

  /* ✅ REMOVE EXTRA GOLD LINE */
  .welcome-images::after {
    display: none;
  }
}

/* ===== SMALL MOBILE (up to 600px) ===== */
@media (max-width: 600px) {
  .welcome-section {
    padding: 50px 5%;
    gap: 40px;
  }

  .welcome-content h2 {
    font-size: 32px;
    text-align: left;
  }

  .welcome-content p {
    text-align: left;
  }

  .tagline {
    text-align: left;
  }

  .read-more-btn {
    display: block;
    margin: 25px auto 0;
  }

  .welcome-images {
    gap: 20px;
  }

  .big-image-wrapper {
    border-radius: 10px;
  }

  .small-image-wrapper {
    width: 90%;
    margin-top: 15px;
  }
}


/* ===== FULLSCREEN INFO BLOCK ===== */
.fullscreen-info {
  display: none;
  text-align: left;
  max-width: 1200px;
  width: 100%;
  animation: fadeIn 0.5s ease;
}

.fullscreen-info h2 {
	font-family: "Playfair Display", serif;
  font-size: 50px;
  margin-bottom: 30px;
  color: #1C3B28;
  font-weight: 400;
  text-align: center;
}

.fullscreen-info p {
  font-size: 20px;
  line-height: 1.8;
  color: #333;
  margin-bottom: 25px;
}

.fullscreen-info p strong {
  color: #C9A44D;
  font-size: 21px;
}

/* Read Less Button */
.read-less-btn {
  background: linear-gradient(135deg, #C9A44D, #AF8B3A);
  color: #fff;
  padding: 15px 42px;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  border: none;
  cursor: pointer;
  transition: all 0.3s ease;
  border-radius: 4px;
  margin-top: 20px;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.read-less-btn:hover {
  background: linear-gradient(135deg, #E2C064, #C9A44D);
  transform: translateY(-4px);
  box-shadow: 0 10px 22px rgba(201, 164, 77, 0.4);
}

/* ===== FULLSCREEN MODE ===== */
.welcome-section.fullscreen-mode {
  position: fixed;
  top: 0; left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(10px);
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  gap: 0;
  padding: 50px 10% 60px;
  z-index: 9999;
  overflow-y: auto;
  box-sizing: border-box;
}

.welcome-section.fullscreen-mode .welcome-images,
.welcome-section.fullscreen-mode .welcome-content {
  display: none;
}

.welcome-section.fullscreen-mode .fullscreen-info {
  display: block;
}

.welcome-section.fullscreen-mode::-webkit-scrollbar {
  width: 8px;
}
.welcome-section.fullscreen-mode::-webkit-scrollbar-thumb {
  background: #C9A44D;
  border-radius: 4px;
}
.welcome-section.fullscreen-mode::-webkit-scrollbar-track {
  background: #f1f1f1;
}

/* 🌿 Popular Amenities Section */
.popular-amenities {
   background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(8px);
  padding: 90px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(5px);
  position: relative;
  overflow: hidden;
}

/* Soft gold highlight overlay */
.popular-amenities::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    120deg,
    rgba(201, 164, 77, 0.15) 0%,
    rgba(255, 255, 255, 0.1) 50%,
    rgba(201, 164, 77, 0.15) 100%
  );
  pointer-events: none;
}

/* 📍 Container */
.amenities-container {
  max-width: 1280px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 60px;
  width: 90%;
  z-index: 2;
}

/* 📝 Left Text Section */
.amenities-text {
  flex: 1;
  max-width: 450px;
  text-align: left;
}

.section-highlight {
  color: #fff;
  font-size: 17px;
  text-transform: uppercase;
  letter-spacing: 3px;
  font-weight: 400;
}

.amenities-title {
	font-family: "Playfair Display", serif;
  font-size: 52px;
  font-weight: 400;
  margin: 10px 0;
  color: #1C3B28; /* Pine green */
}

.amenities-description {
  font-size: 20px;
  color: #333;
  margin-bottom: 30px;
  line-height: 1.9;
}

/* 🌟 Button Styling */
.amenities-button {
  display: inline-block;
  background: linear-gradient(135deg, #C9A44D, #AF8B3A);
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 600;
  padding: 14px 32px;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.15);
}

.amenities-button:hover {
  background: linear-gradient(135deg, #E2C064, #C9A44D);
  transform: translateY(-4px);
}

/* 📌 Amenities Grid */
.amenities-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
  flex: 1;
  width: 100%;
}

/* 🏨 Amenity Box */
.amenity-box {
  position: relative;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 14px;
  padding: 35px 25px;
  text-align: center;
  cursor: pointer;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  backdrop-filter: blur(3px);
  border-top: 3px solid rgba(201, 164, 77, 0.6);
}

/* Icon Styling */
.amenity-box i {
  font-size: 42px;
  color: #C9A44D;
  margin-bottom: 12px;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

/* Name Below Icon */
.amenity-box span {
  font-size: 18px;
  font-weight: 600;
  color: #1C3B28;
  margin-bottom: 10px;
  display: block;
  transition: opacity 0.3s ease;
}

/* Hidden Info */
.amenity-info {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  padding: 15px;
  font-size: 15px;
  color: #fff;
  opacity: 0;
  transition: top 0.3s ease, opacity 0.3s ease;
}

/* Hover Effect */
.amenity-box:hover {
  background: #1C3B28;
  border-top-color: #C9A44D;
  transform: translateY(-5px);
}

.amenity-box:hover i,
.amenity-box:hover span {
  opacity: 0;
}

.amenity-box:hover .amenity-info {
  top: 50%;
  opacity: 1;
  transform: translateY(-50%);
}

/* 📱 Responsive */
@media (max-width: 992px) {
  .amenities-container {
    flex-direction: column;
    text-align: center;
    align-items: center;
  }

  .amenities-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .amenity-box {
    padding: 25px;
  }
}

@media (max-width: 600px) {
  .amenities-grid {
    grid-template-columns: 1fr;
  }

  .amenities-title {
    font-size: 36px;
  }
}
/* ===== ROOMS SECTION ===== */
.rooms-section {
  background: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.85),
    rgba(251, 247, 239, 0.85)
  );
  padding: 90px 0;
  color: #1C3B28; /* Pine Green */
  backdrop-filter: blur(5px);
  position: relative;
  overflow: hidden;
}

/* soft gold overlay shimmer */
.rooms-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    120deg,
    rgba(201, 164, 77, 0.12) 0%,
    rgba(255, 255, 255, 0.1) 50%,
    rgba(201, 164, 77, 0.12) 100%
  );
  pointer-events: none;
}

/* ===== CONTAINER ===== */
.rooms-container {
  max-width: 1400px;
  margin: auto;
  padding: 0 40px;
  z-index: 2;
  position: relative;
}

/* ===== HEADER ===== */
.rooms-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 30px;
  margin-bottom: 50px;
}

.rooms-subtitle {
  color: #C9A44D;
  font-size: 17px;
  text-transform: uppercase;
  letter-spacing: 3px;
  font-weight: 400;
}

.rooms-title {
  font-family: "Playfair Display", serif;
  font-size: 52px;
  font-weight: 400;
  color: #1C3B28;
}

.rooms-description {
  color: #333;
  max-width: 520px;
  font-size: 18px;
  line-height: 1.9;
}

/* ===== ROOMS SLIDER ===== */
.rooms-slider {
  display: flex;
  gap: 25px;
  overflow-x: auto;
  scroll-behavior: smooth;
  padding-bottom: 10px;
}

/* ===== ROOM CARD ===== */
.room-item {
  background: rgba(255, 255, 255, 0.9);
  border-radius: 14px;
  overflow: hidden;
  min-width: 290px;
  max-width: 310px;
  flex: 0 0 auto;
  text-align: left;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
  border-top: 4px solid rgba(201, 164, 77, 0.7);
}

.room-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(201, 164, 77, 0.3);
}

/* ===== ROOM IMAGE ===== */
.room-img img {
  width: 100%;
  display: block;
  border-radius: 12px 12px 0 0;
  object-fit: cover;
  height: 200px;
}

/* ===== ROOM CONTENT ===== */
.room-content {
  padding: 20px;
}

.room-name {
  font-size: 22px;
  font-family: "Playfair Display", serif;
  font-weight: 400;
  color: #1C3B28;
  margin-bottom: 10px;
}

.room-info span {
  display: block;
  font-size: 17px;
  color: #444;
  margin-bottom: 6px;
}

.room-info i {
  color: #C9A44D;
  margin-right: 6px;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 992px) {
  .rooms-header {
    flex-direction: column;
    text-align: center;
  }

  .rooms-description {
    max-width: 100%;
  }

  .rooms-slider {
    gap: 20px;
  }
}

@media (max-width: 600px) {
  .rooms-title {
    font-size: 36px;
  }

  .room-item {
    min-width: 100%;
  }
}

/* 🌲 Attractions Section – Transparent Theme */
.attractions-section {
  padding: 80px 8%;
  font-family: 'Montserrat', sans-serif;
  background: rgba(255, 255, 255, 0.2); /* ✅ More transparent background */
  backdrop-filter: blur(8px); /* subtle glassy blur */
  border-radius: 18px;
  box-shadow: 0 8px 35px rgba(0, 0, 0, 0.08);
  position: relative;
  overflow: hidden;
  
}

/* ✨ Soft Gold Overlay Shimmer */
.attractions-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    120deg,
    rgba(201, 164, 77, 0.12) 0%,
    rgba(255, 255, 255, 0.1) 50%,
    rgba(201, 164, 77, 0.12) 100%
  );
  pointer-events: none;
  z-index: 0;
}

/* ===== HEADER ===== */
.attractions-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
  z-index: 2;
  position: relative;
}

.attractions-text .subtitle {
  color: #fff; /* soft gold accent */
  font-size: 17px;
  text-transform: uppercase;
  letter-spacing: 3px;
  margin: 0;
  font-weight: 400;
}

.attractions-text .title {
  font-family: "Playfair Display", serif;
  font-size: 52px;
  color: #1C3B28; /* pine green */
  margin: 8px 0 0;
  font-weight: 400;
  border-bottom: 2px solid rgba(201, 164, 77, 0.5);
  display: inline-block;
  padding-bottom: 6px;
}

/* ===== BUTTON ===== */
.action-btn {
  background: rgba(201, 164, 77, 0.85);
  color: #fff;
  border: none;
  padding: 12px 32px;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
  box-shadow: 0 5px 15px rgba(201, 164, 77, 0.25);
  transition: all 0.3s ease;
  backdrop-filter: blur(4px);
}

.action-btn:hover {
  background: rgba(201, 164, 77, 1);
  transform: translateY(-3px);
}

/* ===== MOSAIC GRID ===== */
.mt-attractions-mosaic {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: 220px;
  gap: 18px;
  margin-top: 40px;
  z-index: 1;
  position: relative;
}

.mosaic-item {
  position: relative;
  background-size: cover;
  background-position: center;
  overflow: hidden;
  border-radius: 14px;
  cursor: pointer;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
  background-color: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.mosaic-item:hover {
  transform: scale(1.03);
  box-shadow: 0 10px 35px rgba(201, 164, 77, 0.3);
}

/* grid spans */
.mosaic-item.large { grid-column: 1 / span 2; }
.mosaic-item.tall { grid-row: span 2; }

/* ===== OVERLAY INFO ===== */
.overlay {
  position: absolute;
  inset: 0;
  background: rgba(28, 59, 40, 0.65); /* translucent pine overlay */
  opacity: 0;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 25px;
  transition: all 0.4s ease;
  border-radius: 14px;
}

.mosaic-item:hover .overlay {
  opacity: 1;
}

.overlay h3 {
	font-family: "Playfair Display", serif;
  font-size: 22px;
  margin-bottom: 8px;
  color: #fff;
  font-weight: 500;
}

.overlay p {
  font-size: 18px;
  line-height: 1.5;
  color: #f7f5ef;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 992px) {
  .attractions-text .title {
    font-size: 36px;
  }

  .mt-attractions-mosaic {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .attractions-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .mt-attractions-mosaic {
    grid-template-columns: 1fr;
    grid-auto-rows: 200px;
  }

  .mosaic-item.large,
  .mosaic-item.tall {
    grid-column: auto;
    grid-row: auto;
  }

  .mosaic-item {
    height: 200px;
  }
}

/* 🌿 MEDIA GALLERY SECTION */
.media-gallery-section {
  padding: 70px 8%;
  font-family: 'Montserrat', sans-serif;
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(8px);
  
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
  position: relative;
  overflow: hidden;

  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 50px;
  flex-wrap: nowrap;
}

/* ✨ Soft Gold Overlay */
.media-gallery-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    120deg,
    rgba(201, 164, 77, 0.12) 0%,
    rgba(255, 255, 255, 0.1) 50%,
    rgba(201, 164, 77, 0.12) 100%
  );
  pointer-events: none;
}

/* 🎞 Each Column */
.media-box {
  flex: 1 1 48%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  z-index: 2;
  position: relative;
}

/* ===== TITLES ===== */
.subtitle {
  color: #C9A44D;
  font-size: 17px;
  text-transform: uppercase;
  letter-spacing: 3px;
  font-weight: 400;
  margin-bottom: 10px;
}

.section-title {
font-family: "Playfair Display", serif;
  font-size: 52px;
  font-weight: 400;
  color: #1C3B28;
  border-bottom: 2px solid rgba(201, 164, 77, 0.5);
  display: inline-block;
  padding-bottom: 8px;
  margin-bottom: 25px;
  text-decoration:none;
}

/* ===== VIDEO WRAPPER ===== */
.video-wrapper {
  position: relative;
  width: 100%;
  height: 360px;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.video-wrapper.coming-soon {
  display: flex;
  justify-content: center;
  align-items: center;
  background: rgba(28, 59, 40, 0.75);
  border: 2px solid rgba(201, 164, 77, 0.4);
  color: #fff;
}

.video-placeholder {
  text-align: center;
}

.video-placeholder i {
  font-size: 64px;
  color: #C9A44D;
  margin-bottom: 10px;
}

.coming-text {
  display: block;
  font-size: 20px;
  font-weight: 600;
  color: #fff;
  background: rgba(255, 255, 255, 0.15);
  padding: 10px 24px;
  border-radius: 6px;
  letter-spacing: 1px;
  text-transform: uppercase;
}

/* ===== GALLERY SECTION ===== */
.gallery-tabs {
  display: flex;
  gap: 18px;
  margin-bottom: 14px;
  border-bottom: 1px solid rgba(201, 164, 77, 0.3);
}

.gallery-tabs .tab {
  background: none;
  border: none;
  font-size: 1.1rem;
  padding: 10px 0;
  cursor: pointer;
  color: #000;
  font-weight: 500;
  transition: all 0.3s ease;
}

.gallery-tabs .tab.active {
  color: #C9A44D;
  border-bottom: 2px solid #C9A44D;
}

.gallery-slider {
  position: relative;
  height: 320px;
  overflow: hidden;
  border-radius: 12px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
  margin-bottom: 18px;
}

.gallery-slider img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.5s ease;
  border-radius: 12px;
}

.gallery-slider img.active {
  opacity: 1;
}

.gallery-controls {
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
}

.gallery-controls button {
  background: transparent;
  border: 1px solid #C9A44D;
  color: #C9A44D;
  padding: 8px 18px;
  font-size: 1rem;
  border-radius: 4px;
  cursor: pointer;
  font-weight: 600;
  transition: 0.3s ease;
}

.gallery-controls button:hover:not(:disabled) {
  background-color: #C9A44D;
  color: #fff;
}

.gallery-controls button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.gallery-desc {
  font-size: 18px;
  color: #000;
  line-height: 1.6;
  padding-top: 10px;
  border-top: 1px solid rgba(201, 164, 77, 0.2);
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px) {
  .media-gallery-section {
    flex-wrap: wrap;
  }
  .media-box {
    flex: 1 1 100%;
  }
  .video-wrapper,
  .gallery-slider {
    height: 260px;
  }
}


/* 🌲 FOOTER WRAPPER */
.aligned-footer {
  background: rgba(255, 255, 255, 0.3); /* ✅ Transparent white with subtle tint */
  backdrop-filter: blur(1px); /* ✅ Smooth glass effect */
  -webkit-backdrop-filter: blur(8px);
  color: #1C3B28; /* Pine green text */
  padding: 70px 6% 30px;
 
  border-top: 2px solid rgba(201, 164, 77, 0.4); /* Soft gold line */
  box-shadow: 0 0 25px rgba(0, 0, 0, 0.15);
  position: relative;
  overflow: hidden;
}

/* ✨ Slight gold glow overlay */
.aligned-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    120deg,
    rgba(201, 164, 77, 0.08),
    rgba(255, 255, 255, 0.1),
    rgba(201, 164, 77, 0.08)
  );
  pointer-events: none;
}

/* 🌲 Top Logo */
.footer-top {
  text-align: center;
  margin-bottom: 40px;
}

.footer-top img {
  max-width: 200px;
  height: auto;
  filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.2));
}

/* 🌿 Footer Columns Grid */
.footer-columns {
  display: grid;
  grid-template-columns: 1.4fr 1.2fr 0.8fr;
  gap: 60px;
  align-items: flex-start;
  margin-bottom: 40px;
  max-width: 1300px;
  margin-inline: auto;
}

/* 🏨 Info Column */
.footer-col h3 {
  color: #0c2b13;
  font-family: 'Playfair Display', serif;
  text-transform: uppercase;
  font-weight: 400;
  font-size: 25px;
  border-bottom: 2px solid rgba(201, 164, 77, 0.5);
  padding-bottom: 8px;
  margin-bottom: 15px;
}

.footer-col.info p {
  font-size: 18px;
  line-height: 1.7;
  margin-bottom: 10px;
  color: #0c2b13;
  font-weight: 400;
}

.footer-col.info a {
  color: #0c2b13; /* Muted gold links */
  text-decoration: none;
  font-weight: 400;
  transition: color 0.3s ease;
}

.footer-col.info a:hover {
  color: #2A5A3E;
}

/* 🔗 Quick Links Column */
.links-grid {
  display: flex;
  gap: 50px;
}

.footer-col.links ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-col.links li {
  margin-bottom: 8px;
}

.footer-col.links a {
  color: #0c2b13;
  font-size: 20px;
  text-decoration: none;
  transition: color 0.3s ease;
  font-weight: 400;
}

.footer-col.links a:hover {
  color: #2A5A3E;
}

/* 📱 Follow Us Column */
.footer-col.follow {
  text-align: left;
}

.footer-social {
  display: flex;
  gap: 15px;
  margin-top: 15px;
}

.footer-social a {
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(5px);
  border-radius: 50%;
  color: #0c2b13;
  font-size: 1.2rem;
  transition: all 0.3s ease;
  text-decoration: none;
  border: 1px solid rgba(176, 138, 64, 0.4);
}

.footer-social a:hover {
  transform: scale(1.1);
  background: linear-gradient(135deg, #B08A40, #E8D892);
  color: #fff;
  box-shadow: 0 4px 10px rgba(176, 138, 64, 0.3);
}

/* ⚖️ Footer Bottom */
.footer-bottom {
  background: rgba(255, 255, 255, 0.25);
  backdrop-filter: blur(6px);
  text-align: center;
  padding: 20px 10px;
  border-top: 1px solid rgba(176, 138, 64, 0.4);
  color: #0c2b13;
  font-size: 17px;
  line-height: 1.6;
  font-weight: 400;
}

.footer-bottom a {
  color: #B08A40;
  text-decoration: none;
  font-weight: 600;
  transition: color 0.3s;
}

.footer-bottom a:hover {
  color: #2A5A3E;
  text-decoration: underline;
}

/* 📱 Responsive */
@media (max-width: 992px) {
  .footer-columns {
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }

  .footer-col.follow {
    text-align: center;
  }

  .footer-social {
    justify-content: center;
  }
}

@media (max-width: 768px) {
  .footer-columns {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .links-grid {
    justify-content: center;
  }

  .footer-top {
    text-align: center;
  }
}
/* 🌲 Back to Top Button */
.back-to-top {
  position: fixed;
  bottom: 30px;
  right: 30px;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  cursor: pointer;
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(6px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25);
  transition: transform 0.3s ease, opacity 0.3s ease;
  opacity: 0;
  pointer-events: none;
}

.back-to-top.show {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.back-to-top:hover {
  transform: scale(1.1);
}

/* 🌲 Inner Circle Container */
.back-to-top .circle {
  position: relative;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 🌲 Logo Icon */
.back-to-top img {
  width: 48px;
  height: 48px;
  z-index: 2;
  position: relative;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,0.3));
}

/* 🌀 Circular Progress Border */
.progress-ring {
  position: absolute;
  top: 0;
  left: 0;
  transform: rotate(-90deg);
  z-index: 1;
}

.progress-ring__circle {
  stroke-dasharray: 163;
  stroke-dashoffset: 163;
  transition: stroke-dashoffset 0.3s linear;
}

/* 🌟 Hover effect */
.back-to-top:hover .progress-ring__circle {
  stroke: #2A5A3E;
}

/* ===== INNER HERO SECTION ===== */
.inner-hero {
  position: relative;
  width: 100%;
  height: 70vh; /* Height adjusted for better proportion */
  overflow: hidden;
  margin-top: 180px; /* Adjust spacing */
}

/* Hero image background and styling */
.hero-image {
  background-size: cover;
  background-position: center;
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Caption Styling for Hero (Clean background) */
.hero-caption {
  position: absolute;
  text-align: center;
  color: #fff;
  z-index: 2;
  padding: 20px;
  
}

/* ===== CLEAN CAPTION BACKGROUND (REMOVED DARK BOX) ===== */
.caption-bg {
  background: none;
  border: none;
  box-shadow: none;
  padding: 0;
}

/* ===== HEADLINE ===== */
.hero-caption h2 {
  font-size: 62px;
  font-family: "Playfair Display", serif;
  font-weight: 400;
  color: #ffffff;
  margin-bottom: 15px;
  letter-spacing: 1px;
  text-shadow: 0 6px 16px rgba(0, 0, 0, 0.65); /* Subtle text shadow */
  position: relative;
  animation: titleFloat 1.6s ease;
}

@keyframes titleFloat {
  0% { opacity: 0; transform: translateY(20px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* 🌟 Elegant gold underline */
.hero-caption h2::after {
  content: "";
  position: absolute;
  bottom: -12px;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 3px;
  background: linear-gradient(90deg, transparent, #C9A44D, transparent); /* Gold gradient underline */
  border-radius: 2px;
  opacity: 0.85;
}

/* ===== SUBTEXT ===== */
.hero-caption p {
  font-size: 22px;
  color: #fff;
  font-weight: 400;
  line-height: 1.6;
  margin-top: 30px;
  text-shadow: 0 4px 12px rgba(0, 0, 0, 0.55); /* Soft shadow for readability */
  animation: fadeInText 1.8s ease forwards;
}

@keyframes fadeInText {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ===== SOFT GRADIENT BEHIND TEXT ===== */
.hero-caption::before {
  content: "";
  position: absolute;
  inset: -40px 0 0 0;
  background: radial-gradient(circle at center, rgba(0,0,0,0.35) 15%, transparent 100%);
  z-index: -1;
  opacity: 0.6;
  pointer-events: none;
}

/* ===== MOBILE RESPONSIVENESS ===== */
@media (max-width: 768px) {
  .hero-caption h2 { font-size: 36px; }
  .hero-caption p { font-size: 16px; }
  .inner-hero {
    height: 60vh; /* Reduced height for mobile */
  }
}

@media (max-width: 480px) {
  .hero-caption h2 {
    font-size: 30px;
  }

  .hero-caption p {
    font-size: 14px;
  }
}
/* ===== Popular Facilities Section ===== */
.popular-facilities-section {
  background: #ffffff;
  padding: 60px 20px;
  background: rgba(255, 255, 255, 0.2); /* More subtle transparency */
  backdrop-filter: blur(8px); /* Subtle glassy blur */
  
  box-shadow: 0 8px 35px rgba(0, 0, 0, 0.08);
  position: relative;
  overflow: hidden;
}

.popular-facilities-container {
  max-width: 1200px;
  margin: 0 auto;
}

/* Heading Style */
.popular-facilities-header {
  text-align: center;
  margin-bottom: 50px;
  
}

.facilities-intro-label {
  font-size: 20px;
  font-weight: 500;
  color: #1C3B28; /* Soft gold accent to match your branding */
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

.facilities-main-heading {
  font-size: 50px;
  color: #1C3B28; /* Deep Pine Green to match the natural theme */
  font-weight: 700;
  margin-top: 10px;
  font-family: 'Playfair Display', serif;
}

.facilities-heading-underline {
  height: 2px;
  width: 80px;
  background-color: #C9A44D; /* Soft gold accent */
  margin: 16px auto 0;
}

/* Grid Layout */
.popular-facilities-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 30px;
  justify-items: center;
}

/* Facility Card */
.facility-card {
  background: #ffffff;
  padding: 30px 20px;
  border-radius: 12px;
  text-align: center;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.05);
  transition: transform 0.3s ease;
  position: relative;
  overflow: hidden;
}

.facility-card:hover {
  transform: translateY(-5px);
}

.facility-card img {
  width: 70px;
  height: 70px;
  margin-bottom: 15px;
}

.facility-card h3 {
  font-size: 18px;
  color: #1C3B28; /* Deep Pine Green for headings */
  font-weight: 600;
  margin-bottom: 10px;
  
}

.facility-card p {
  font-size: 17px;
  color: #444;
  line-height: 1.6;
}

.facility-card em {
  font-size: 50px;
  color: #C9A44D; /* Soft gold accent to match icon color */
  margin-bottom: 15px;
}

/* Hover Effect - Facility Card */
.facility-card:hover {
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.1); /* Enhanced hover effect */
}

/* Facility Card Background on Hover */
.facility-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(45deg, rgba(201,164,77, 0.3), rgba(28,59,40, 0.1)); /* Soft gold-green gradient */
  z-index: -1;
  transition: background 0.3s ease-in-out;
}

.facility-card:hover::before {
  background: linear-gradient(45deg, rgba(201,164,77, 0.5), rgba(28,59,40, 0.3)); /* Stronger gradient for hover effect */
}

/* Responsive Adjustments */
@media (max-width: 768px) {
  .popular-facilities-section {
    padding: 60px 4%;
  }

  .facility-card {
    padding: 35px 25px;
  }

  .facilities-main-heading {
    font-size: 36px;
  }

  .facility-card em {
    font-size: 42px;
  }

  .facility-card h3 {
    font-size: 18px;
  }

  .facility-card p {
    font-size: 14px;
  }
}

@media (max-width: 480px) {
  .popular-facilities-grid {
    grid-template-columns: 1fr; /* Single column for mobile */
  }
  .facility-card {
    padding: 30px 20px;
  }
  .facility-card em {
    font-size: 38px;
  }
}
.facilities-subheading {
  font-size: 19px;
  color: #000;
  margin-top: 10px;
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto;
 line-height: 1.5;
}

/* ===== Full Facilities Section ===== */
.full-facilities-section {
  padding: 80px 8%;
  font-family: 'Montserrat', sans-serif;
  background: rgba(255, 255, 255, 0.9); /* Light opaque background */
  backdrop-filter: blur(10px); /* Glassy blur */
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1); /* Subtle shadow */
  position: relative;
  overflow: hidden;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 50px;
  flex-wrap: wrap; /* Responsive layout */
  
  background-color: #fafafa; /* Very light background color for clarity */
}

/* Container for the content */
.full-facilities-container {
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
}

/* Heading Style */
.full-facilities-heading {
  text-align: center;
  font-size: 36px; /* Larger, impactful heading */
  font-weight: 700;
  color: #003d29; /* Deep Forest Green */
  font-family: 'Montserrat', sans-serif;
  margin-bottom: 20px;
}

/* Divider Style */
.facilities-divider {
  width: 100px; /* Wider divider */
  height: 4px;
  background-color: #C9A44D; /* Warm gold accent */
  margin: 16px auto 40px;
}

/* 🟩 Grid Layout */
.facility-grid-wrapper {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); /* Responsive columns */
  gap: 30px;
  width: 100%;
  align-items: stretch; /* Stretch cards */
}

/* ⬛ Facility Cards */
.facility-category {
  background: #ffffff; /* White background for clean look */
  padding: 30px 25px;
  border-radius: 12px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1); /* Soft shadow */
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  text-align: left;
  position: relative;
  z-index: 1;
}

.facility-category:hover {
  transform: translateY(-5px); /* Slight lift effect on hover */
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15); /* Stronger shadow on hover */
}

/* Card Icon Style */
.facility-category em {
  font-size: 45px; /* Slightly larger icons */
  color: #C9A44D; /* Soft gold accent */
  margin-bottom: 15px;
  transition: color 0.3s ease;
}

.facility-category:hover em {
  color: #003d29; /* Dark green on hover */
}

/* Card Heading Style */
.facility-category h3 {
  font-size: 22px; /* Slightly larger heading */
  color: #003d29; /* Dark green */
  margin-bottom: 14px;
  font-weight: 600;
  border-left: 4px solid #C9A44D; /* Gold accent border on the left */
  padding-left: 15px;
  text-transform: capitalize; /* Capitalize the text */
  font-family: 'Playfair Display', serif;
}

/* Card List Items */
.facility-category ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.facility-category ul li {
  font-size: 16px; /* Clean, readable text size */
  color: #555; /* Dark gray color for text */
  padding-left: 18px;
  position: relative;
  margin-bottom: 8px;
  line-height: 1.6; /* Adjust line-height for better readability */
}

.facility-category ul li::before {
  content: "•";
  color: #C9A44D; /* Gold bullet point */
  font-size: 16px;
  font-weight: bold;
  position: absolute;
  left: 0;
  top: 5px;
}



/* Responsive Design */
@media (max-width: 768px) {
  .full-facilities-section {
    padding: 60px 5%;
  }

  .full-facilities-heading {
    font-size: 30px; /* Slightly smaller heading on mobile */
  }

  .facility-grid-wrapper {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); /* Stack more easily on smaller screens */
  }

  .facility-category em {
    font-size: 40px; /* Adjust icon size for mobile */
  }
}






.things-grid-section {
  background: rgba(255, 255, 255, 0.1); /* Semi-transparent white background */
  padding: 60px 20px;
  backdrop-filter: blur(8px); /* Subtle glassy blur */
  border-radius: 18px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1); /* Soft shadow */
}

.things-grid-wrap {
  max-width: 1400px;
  margin: 0 auto;
  text-align: center;
}

/* Header Label */
.things-grid-header .things-label {
  font-size: 20px;
  font-weight: 500;
  color: #1C3B28; /* Soft gold for accent */
  text-transform: uppercase;
}

/* Main Title */
.things-title {
  font-size: 50px;
  color: #1C3B28; /* Pine Green for a professional look */
  margin: 8px 0;
  font-family: 'Playfair Display', serif;
}

/* Underline */
.things-underline {
  width: 80px;
  height: 3px;
  background: #C9A44D; /* Soft gold underline */
  margin: 16px auto 40px;
}

/* Grid Layout */
.things-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); /* Adjust columns for balance */
  gap: 25px;
}

/* Item Card */
.things-item {
  padding: 20px;
  border: 1px solid rgba(0, 0, 0, 0.1); /* Subtle border for the cards */
  border-radius: 12px;
  transition: background 0.2s ease, transform 0.2s ease;
  background: rgba(255, 255, 255, 0.9); /* Light background with slight transparency */
}

/* Hover effect */
.things-item:hover {
  background: rgba(255, 255, 255, 1); /* Solid background on hover */
  transform: translateY(-4px); /* Slight lift effect */
}

/* Title inside item */
.things-item h3 {
  font-size: 20px;
  color: #1C3B28; /* Dark green color for text */
  margin-bottom: 8px;
  font-weight: 600;
  text-transform: capitalize;
  
}

/* Description text */
.things-item p {
  font-size: 16px;
  color: #666; /* Soft dark gray */
  line-height: 1.6;
}

/* Image style */
.things-img {
  height: 200px;
  margin-bottom: 12px;
  overflow: hidden;
  border-radius: 8px;
  transition: transform 0.4s ease;
}

.things-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

/* Hover effect on image */
.things-item:hover .things-img img {
  transform: scale(1.05); /* Slight zoom effect on hover */
}

/* Responsive Adjustments */
@media (max-width: 768px) {
  .things-title {
    font-size: 30px; /* Smaller heading on mobile */
  }
  .things-grid {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); /* Stacking items on smaller screens */
  }
  .things-item h3 {
    font-size: 18px; /* Slightly smaller heading */
  }
  .things-img {
    height: 160px; /* Adjust image height for mobile */
  }
}

/* ===== Nearby Highlights Section ===== */
.nearby-highlights-section {
 background: rgba(255, 255, 255, 0.9); /* Light opaque background */
  backdrop-filter: blur(10px); /* Glassy blur */
  padding: 40px 20px;
}

.nearby-highlights-container {
  max-width: 1300px;
  margin: 0 auto;
  text-align: center;
}

.nearby-highlights-header {
  margin-bottom: 40px;
}

.nearby-highlights-title {
  font-size: 32px;
  color: #1C3B28; /* Dark green for a sophisticated, natural vibe */
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
}

.nearby-highlights-underline {
  width: 80px;
  height: 3px;
  background-color: #C9A44D; /* Soft gold accent to match the hotel theme */
  margin: 10px auto 0;
}

.nearby-highlights-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(360px, 1fr)); /* Responsive grid */
  gap: 30px;
  margin-top: 40px;
}

.nearby-highlight-card {
  background: #fff;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.08); /* Light shadow for a subtle depth */
  text-align: left;
  transition: box-shadow 0.3s ease;
}

.nearby-highlight-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1); /* Slightly stronger shadow on hover */
}

.highlight-card-title {
  font-size: 20px;
  color: #1C3B28; /* Dark green for titles */
  margin-bottom: 12px;
  border-left: 4px solid #C9A44D; /* Gold accent on the left */
  padding-left: 10px;
  font-weight: 600;
}

.highlight-card-list {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.highlight-card-list li {
  font-size: 18px;
  color: #666; /* Soft gray text for better readability */
  padding: 6px 0;
  border-bottom: 1px solid #eee; /* Light border for separation */
}

/* Responsive Design */
@media (max-width: 768px) {
  .nearby-highlights-title {
    font-size: 28px; /* Smaller title for mobile */
  }

  .highlight-card-list li {
    font-size: 16px; /* Adjust font size for mobile */
  }
}
/* ===== Location Section Hero ===== */
.location-section-hero {
  background: #fafafa; /* Light gray background for a soft and clean look */
  padding: 10px 20px;
}

.location-wrapper-hero {
  max-width: 1280px;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  align-items: stretch;
  background: #ffffff;
 
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}

.location-info-box {
  flex: 1;
  padding: 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.location-info-box h2 {
  font-size: 2.6rem;
  color: #006341; /* Deep green for headings */
  margin-bottom: 15px;
  
}

.location-info-box p {
  font-size: 1.2rem;
  color: #444; /* Darker text for better readability */
  margin-bottom: 30px;
  line-height: 1.6;
}

.coordinates-area,
.directions-area {
  background: #f1f8f1; /* Soft light green background for sections */
  padding: 20px;
  border-left: 5px solid #a9a126; /* Gold accent color for emphasis */
  margin-bottom: 25px;
  border-radius: 10px;
}

.coordinates-area h4,
.directions-area h4 {
  color: #0b2812; /* Dark green for headings */
  font-size: 1.2rem;
  margin-bottom: 10px;
}

.coordinates-area ul {
  list-style: none;
  padding-left: 0;
  color: #333;
}

.coordinates-area ul li {
  margin-bottom: 8px;
  font-size: 1rem;
}

.directions-area form input {
  width: 100%;
  padding: 12px;
  margin-bottom: 12px;
  border-radius: 8px;
  border: 1px solid #ccc;
  font-size: 1rem;
}

.directions-area form button {
  width: 100%;
  padding: 12px;
  background: #0b2812; /* Green for button */
  color: #fff;
  border: none;
  font-size: 1rem;
  border-radius: 8px;
  transition: background 0.3s;
}

.directions-area form button:hover {
  background: #004d3d; /* Darker green on hover */
}

/* Right Side Map */
.location-map-box {
  flex: 1;
  background: #f1f8f1; /* Lighter green background for map */
  display: flex;
  align-items: center;
  justify-content: center;
}

.map-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Responsive Design */
@media (max-width: 992px) {
  .location-wrapper-hero {
    flex-direction: column;
  }

  .location-map-box {
    height: 300px;
  }
}

.custom-location-header {
  text-align: center;
 background: rgba(255, 255, 255, 0.1); /* Semi-transparent white background */
  padding: 60px 20px;
  backdrop-filter: blur(8px);  /* White background for consistency */
}

.custom-location-title {
  font-size: 2.5rem;
  font-weight: 700;
  color: #006341; /* Deep green for title */
  margin-bottom: 20px;
  position: relative;
  
}

.custom-location-title::after {
  content: '';
  width: 60px;
  height: 4px;
  background-color: #f7cc3c; /* Gold accent color for underline */
  display: block;
  margin: 20px auto 0;
  border-radius: 2px;
}

.custom-location-description {
  font-size: 1.2rem;
  line-height: 1.8;
  color: #000;
  max-width: 1200px;
  margin: 0 auto;
}
/* 1. Contact Header Section */
.custom-contact-header {
  text-align: center;
  padding: 30px 20px;
  background-color: #f1f8f1; /* Soft light green background to complement your theme */
}

.custom-contact-title {
  font-size: 2.5rem;
  font-weight: 700;
  color: #006747; /* Deep green for the title */
  margin-bottom: 20px;
  position: relative;
  font-family: 'Playfair Display', serif;
}

.custom-contact-title::after {
  content: '';
  width: 60px;
  height: 4px;
  background-color: #C9A44D; /* Gold accent */
  display: block;
  margin: 20px auto 0;
  border-radius: 2px;
}

.custom-contact-description {
  font-size: 1.2rem;
  line-height: 1.8;
  color: #333;
  max-width: 1200px;
  margin: 0 auto;
}

/* 2. Main Contact Info Section */
.contact-section-hero {
  background: #ffffff; /* Clean white background */
  padding: 30px 20px;
}

.contact-wrapper-hero {
  max-width: 1280px;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  align-items: stretch;
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}

.contact-info-box {
  flex: 1;
  padding: 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.contact-info-box p {
  font-size: 1.2rem;
  color: #444;
  margin-bottom: 30px;
  line-height: 1.6;
}

.contact-details-area {
  background: #e6f7f1; /* Soft light green for a fresh, welcoming feel */
  padding: 20px;
  border-left: 5px solid #C9A44D; /* Gold accent color */
  margin-bottom: 25px;
  border-radius: 10px;
}

.contact-details-area h4 {
  color: #006747; /* Deep green for section titles */
  font-size: 1.2rem;
  margin-bottom: 10px;
}

.contact-details-area ul {
  list-style: none;
  padding-left: 0;
  color: #333;
}

.contact-details-area ul li {
  margin-bottom: 12px;
  font-size: 1rem;
}

.contact-details-area a {
  color: #006747; /* Green for links */
  font-weight: 600;
  text-decoration: none;
}

.contact-details-area a:hover {
  color: #004d3b; /* Darker green on hover */
  text-decoration: underline;
}

/* 3. Right Side Image */
.contact-image-box {
  flex: 1;
  background: #f4f8f4; /* Light green background for the right side */
  display: flex;
  align-items: center;
  justify-content: center;
}

.contact-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
}

/* 4. Responsive Design */
@media (max-width: 992px) {
  .contact-wrapper-hero {
    flex-direction: column;
  }

  .contact-image-box {
    height: 300px;
  }

  .custom-contact-title {
    font-size: 2rem;
  }

  .custom-contact-description {
    font-size: 1rem;
  }
}
/* 📍 Hotel Piney Woods Huntsville Sitemap Section */
.sitemap-section {
    padding: 80px 20px;
    background: linear-gradient(to bottom, #ffffff, #f3f3f3, #ffffff); /* Subtle light fade for a clean look */
    text-align: center;
}

.sitemap-container {
    max-width: 1200px;
    margin: 0 auto;
}

.sitemap-title {
    font-size: 3rem;
    color: #264653; /* Deep Navy for header */
    margin-bottom: 20px;
    font-weight: 700;
    text-transform: uppercase;
	font-family: 'Playfair Display', serif;
}

.sitemap-subtitle {
    font-size: 1.2rem;
    color: #444; /* Dark gray for better readability */
    margin-bottom: 50px;
    font-weight: 400;
    line-height: 1.5;
}

.sitemap-links {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.sitemap-block {
    background-color: #ffffff;
    padding: 40px;
    border-radius: 15px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 4px 20px rgba(38, 70, 83, 0.08); /* Deep Navy shadow */
    border: 1px solid #e0e0e0; /* Soft gray border */
}

.sitemap-block:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(38, 70, 83, 0.15); /* Stronger shadow on hover */
}

.sitemap-block h2 {
    font-size: 1.8rem;
    color: #e9c46a; /* Golden accent */
    margin-bottom: 15px;
    font-weight: 600;
}

.sitemap-block ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.sitemap-block ul li {
    margin-bottom: 15px;
}

.sitemap-block ul li a {
    font-size: 19px;
    color: #264653; /* Deep Navy for text */
    text-decoration: none;
    display: flex;
    align-items: center;
    transition: color 0.3s ease;
    font-weight: 500;
}

.sitemap-block ul li a em {
    margin-right: 10px;
    font-size: 1.2rem;
    color: #e9c46a; /* Golden accent */
}

.sitemap-block ul li a:hover {
    color: #2a9d8f; /* Light teal for hover effect */
}

/* 📱 Responsive Design */
@media (max-width: 1024px) {
    .sitemap-links {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 768px) {
    .sitemap-links {
        grid-template-columns: 1fr;
    }
}
/* 🎯 FAQ Section - Hotel Piney Woods Huntsville Green & Gold Theme */
.faq-section {
    padding: 40px 20px;
    background: #f4f8f4; /* Light background with a hint of green */
    color: #1a1a1a;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.faq-container {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.faq-title a {
    font-size: 3rem;
    font-weight: 700;
    color: #0d2913; /* Deep Forest Green for the title */
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    text-decoration: none;
	font-family: 'Playfair Display', serif;
}

.faq-subtitle {
    font-size: 1.3rem;
    color: #555;
    margin-bottom: 50px;
}

.faq-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    text-align: left;
}

.faq-item {
    background: #ffffff;
    padding: 30px;
    border-radius: 12px;
    border: 1px solid #e0f0e5; /* Light green border */
    box-shadow: 0 8px 20px rgba(0, 103, 71, 0.06); /* Green shadow */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.faq-item:hover {
    transform: translateY(-6px);
    box-shadow: 0 15px 30px rgba(0, 103, 71, 0.12); /* Darker green shadow on hover */
}

.faq-item h2 {
    font-size: 1.8rem;
    color: #0d2913; /* Deep Forest Green for FAQ headers */
    margin-bottom: 15px;
    padding-bottom: 8px;
    border-bottom: 2px dashed #C9A44D; /* Comfort Gold dashed underline */
}

.faq-item p {
    font-size: 1.1rem;
    color: #333;
    line-height: 1.75;
    margin-bottom: 10px;
}

.faq-item a {
    color: #0d2913; /* Deep Forest Green */
    font-weight: bold;
    text-decoration: none;
    transition: color 0.3s ease;
    position: relative;
}

.faq-item a::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 2px;
    background: #C9A44D; /* Gold underline */
    transition: width 0.3s ease;
}

.faq-item a:hover {
    color: #C9A44D; /* Gold color on hover */
}

.faq-item a:hover::after {
    width: 100%;
}

/* Responsive Design */
@media (max-width: 1024px) {
    .faq-title {
        font-size: 2.5rem;
    }

    .faq-item h2 {
        font-size: 1.5rem;
    }

    .faq-item p {
        font-size: 1rem;
    }
}
/* 🎨 Gallery Section */
.luxury-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); /* Flexible grid with minimum width of 280px */
    gap: 20px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 30px;
    
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); /* Soft shadow for depth */
	
}

/* Gallery Item Styling */
.luxury-item {
    position: relative;
    overflow: hidden;
    border-radius: 15px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    padding: 10px;
    background: #ebcf8491; /* White background for each item */
    border-radius: 15px;
	
}

/* Hover Effect for Gallery Item */
.luxury-item:hover {
    transform: scale(1.05);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15); /* Enhanced shadow on hover */
}

/* Image Styling */
.luxury-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 15px;
    transition: transform 0.3s ease;
}

/* Hover Image Zoom */
.luxury-item:hover img {
    transform: scale(1.1); /* Image zoom on hover */
}

/* Caption Overlay Styling */
.luxury-caption {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 20px;
    background: rgba(0, 0, 0, 0.6); /* Darker overlay for better contrast */
    color: white;
    opacity: 0; /* Hidden initially */
    transition: opacity 0.3s ease;
    border-radius: 0 0 15px 15px;
    text-align: center;
}

.luxury-item:hover .luxury-caption {
    opacity: 1; /* Show caption on hover */
}

/* Caption Title Styling */
.luxury-caption h3 {
    margin: 0;
    font-size: 20px;
    font-weight: bold;
    color: #c9a44d; /* Gold for caption title */
    margin-bottom: 10px;
    font-family: 'Playfair Display', serif; /* Elegant font for the title */
}

/* Caption Button Styling */
.luxury-btn {
    background-color: #006341; /* Pine Green for the button */
    color: #fff;
    padding: 10px 20px;
    border: none;
    border-radius: 6px;
    text-transform: uppercase;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.luxury-btn:hover {
    background-color: #004e36; /* Darker shade on hover */
}

/* Responsive Design for Tablet */
@media (max-width: 1024px) {
    .luxury-gallery {
        grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); /* Smaller grid items for tablet */
    }

    .luxury-item img {
        height: 250px; /* Adjust image height */
    }
}

/* Mobile View Adjustments */
@media (max-width: 600px) {
    .luxury-gallery {
        grid-template-columns: 1fr; /* Stack items for mobile view */
    }

    .luxury-item img {
        height: 200px; /* Fixed height for mobile view */
    }

    .luxury-caption h3 {
        font-size: 16px; /* Adjust caption text size for mobile */
    }

    .luxury-btn {
        font-size: 12px; /* Smaller button on mobile */
    }
}

/* Header for Gallery */
.custom-gallery-header {
    text-align: center;
    margin-bottom: 40px;
    margin-top: 220px;
    padding: 40px 20px;
   background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); /* Soft shadow */
}

.custom-gallery-label {
    font-size: 18px;
    font-weight: 600;
    color: #b08a40; /* Golden accent color */
    text-transform: uppercase;
}

.custom-gallery-title {
    font-size: 50px;
    color: #006341; /* Dark Pine Green */
    margin: 8px 0;
    font-family: 'Playfair Display', serif; /* Elegant serif font */
}

.custom-gallery-underline {
    width: 60px;
    height: 2px;
    background: #b08a40; /* Golden color for the underline */
    margin: 12px auto 40px;
}

/* Attraction Section */
.attraction-section {
  padding: 80px 20px; /* Adjusted padding for better spacing */
  background-color: #f4f8f4; /* Soft light green background */
  background-size: cover;
  color: #333; /* Dark text for readability */
}

/* Flex container */
.attraction-container {
  display: flex;
  flex-wrap: wrap;
  max-width: 1200px;
  margin: 0 auto;
  align-items: center;
  gap: 50px; /* Increased gap for better spacing */
}

/* Image styles */
.attraction-image {
  flex: 1 1 400px;
}

.attraction-image img {
  width: 100%;
  height: auto;
  border-radius: 15px;
  box-shadow: 0 4px 25px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
}

/* Hover effect for image */
.attraction-image:hover img {
  transform: scale(1.05); /* Slight zoom effect on hover */
}

/* Content area */
.attraction-content {
  flex: 1 1 600px;
}

/* Title styling */
.attraction-heading {
  font-size: 3rem; /* Larger font for emphasis */
  font-weight: 300;
  color: #006341; /* Dark pine green */
  margin-bottom: 20px;
  text-transform: uppercase;
   font-family: 'Playfair Display', serif; /* Elegant serif font */
}

/* Paragraph text */
.attraction-content p {
  font-size: 18px;
  color: #444; /* Darker gray text for contrast */
  line-height: 1.8;
  margin-bottom: 20px;
}

/* Button styling */
.book-now-btn {
  display: inline-block;
  margin-top: 20px;
  padding: 14px 30px;
  background: linear-gradient(90deg, #b08a40 0%, #f5b335 100%); /* Gold gradient */
  color: #fff;
  text-transform: uppercase;
  font-weight: 600;
  font-size: 1rem;
  border-radius: 30px;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* Hover and active states */
.book-now-btn:hover {
  background: linear-gradient(90deg, #f5b335 0%, #ff9e00 100%); /* Slightly lighter gold on hover */
  color: #00332d; /* Darker green for contrast */
}

.book-now-btn:active {
  background: linear-gradient(90deg, #ff9e00 0%, #f5b335 100%); /* Darker gold when clicked */
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2);
}

/* Responsive Design */
@media (max-width: 992px) {
  .attraction-section {
    margin-top: 0;
  }

  .attraction-container {
    flex-direction: column;
  }

  .attraction-image {
    order: 2;
  }

  .attraction-content {
    order: 1;
    text-align: center;
  }

  .attraction-heading {
    font-size: 2.4rem; /* Adjust font size for mobile */
  }
}
.hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4); /* Adjust the RGBA value for desired fade effect */
  z-index: 1;
}

.well{
	color:#000;
	text-decoration:none;
}


.title5 {
	    color: #0c2b13;
    font-family: 'Playfair Display', serif;
    text-transform: uppercase;
    font-weight: 400;
    font-size: 25px;
    border-bottom: 2px solid rgba(201, 164, 77, 0.5);
    padding-bottom: 8px;
    margin-bottom: 15px;
}

/* === COOKIE CONSENT BANNER === */
.cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(90deg, #1a1f1c, #2c4631);
  color: #fff;
  padding: 20px 30px;
  display: none;
  z-index: 9999;
  box-shadow: 0 -3px 10px rgba(0, 0, 0, 0.25);
  font-family: "Poppins", sans-serif;
}

.cookie-content {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
}

.cookie-content p {
  flex: 1;
  margin: 0;
  font-size: 15px;
  line-height: 1.5;
  color: #f2f2f2;
}

.cookie-content a {
  color: #c5a44a;
  font-weight: 500;
  text-decoration: underline;
  transition: color 0.3s ease;
}

.cookie-content a:hover {
  color: #ffd15c;
}

/* === BUTTONS === */
.cookie-buttons {
  display: flex;
  gap: 12px;
}

.cookie-btn {
  padding: 10px 22px;
  border: none;
  border-radius: 5px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  font-size: 14px;
}

/* Accept Button */
.cookie-btn.accept {
  background-color: #c5a44a;
  color: #1b2b1b;
}

.cookie-btn.accept:hover {
  background-color: #ffd15c;
}

/* Decline Button */
.cookie-btn.decline {
  background-color: transparent;
  color: #c5a44a;
  border: 1px solid #c5a44a;
}

.cookie-btn.decline:hover {
  background-color: #c5a44a;
  color: #1b2b1b;
}

/* === RESPONSIVE DESIGN === */
@media (max-width: 768px) {
  .cookie-content {
    flex-direction: column;
    align-items: flex-start;
  }

  .cookie-buttons {
    width: 100%;
    justify-content: flex-start;
  }

  .cookie-btn {
    flex: 1;
  }
}

/* === Assistance Bar === */
.dl-assistance-bar {
  background: linear-gradient(135deg, #394e1a8a, #918c26ad); /* Forest green to mossy green gradient */
  color: #ffffff; /* White text for contrast */
  text-align: center;
  padding: 12px 20px;
  font-size: 18px;
  font-weight: 500;
  position: relative;
  border: 4px solid; /* border width */
  border-image: linear-gradient(to right, #4d5a4b, #006341) 1 ; /* Gold to green gradient border */
}

.dl-assistance-bar p {
  margin: 0;
}

.dl-assistance-bar a {
  color: #ffffff; /* White link color */
  font-weight: 700;
  text-decoration: none;
  margin-left: 5px;
  transition: color 0.3s ease, text-decoration 0.3s ease;
}

.dl-assistance-bar a:hover {
  color: #4d5a4b; /* Gold accent color on hover */
  text-decoration: none;
}

.dl-assistance-bar i {
  margin-right: 5px;
}
