/* General Navbar Styling */
nav ul li a {
  position: relative;
  transition: color 0.3s ease;
  z-index: 10; /* Ensure links are above other content */
}

nav ul li a::after {
  content: '';
  position: absolute;
  width: 0;
  height: 2px;
  background-color: #FF69B4;
  left: 50%;
  bottom: -5px;
  transition: all 0.3s ease;
}

nav ul li a:hover::after {
  width: 100%;
  left: 0;
}

/* Ensure the nested dropdowns are hidden by default */
nav ul li ul li .group ul {
  display: none;
  opacity: 0;
  visibility: hidden;
}

/* Show the nested dropdowns only when hovered */
nav ul li ul li.group:hover > ul {
  display: block;
  opacity: 1;
  visibility: visible;
}

/* Adjust the parent dropdown to ensure it doesn't automatically open all nested dropdowns */
nav ul li ul {
  display: none;
  opacity: 0;
  visibility: hidden;
}

nav ul li.group:hover > ul {
  display: block;
  opacity: 1;
  visibility: visible;
}

/* Dropdown Styling */
/* Adjust dropdown width */
nav ul li .group ul {
  z-index: 9999; /* Ensure it's on top */
  position: absolute;
  width: 200px; /* Adjust width to ensure menu text sits on one line */
  background-color: black; /* Ensure background color is consistent */
  padding: 0.5rem 0; /* Add padding for spacing */
}

nav ul li .group ul li a:hover {
  background-color: #ff5c8d;
}

nav ul li .group ul li a {
  width: 100%; /* Ensure the anchor tag fills the dropdown item */
  padding: 0.5rem 1rem; /* Adjust padding for better spacing */
  white-space: nowrap; /* Prevent text wrapping */
}

nav ul li .group ul li {
  width: 100%; /* Make sure each dropdown item takes full width */
}

/* Hero Section Styling */
.custom-hero-height {
  height: 800px; /* Set the desired height */
  position: relative; /* Allow z-index control within this section */
  z-index: 1; /* Ensure it's behind the navbar and dropdown */
}

.custom-hero-height .container {
  height: 100%; /* Ensure the container takes up the full height */
  display: flex;
  flex-direction: column;
  justify-content: center; /* Center content vertically */
}

.custom-hero-height .bg-opacity-50 {
  background-color: rgba(0, 0, 0, 0.5); /* Semi-transparent black background */
}

.custom-hero-height h2 {
  font-size: 2.5rem; /* Larger text */
  font-weight: 800; /* Extra bold */
  line-height: 1.2; /* Line height for better readability */
}

.custom-hero-height p {
  color: #e5e7eb; /* Light gray text for contrast */
}

.custom-hero-height a {
  padding: 1rem 2rem; /* Larger button */
  font-size: 1.125rem; /* Slightly larger text */
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.3); /* Add a shadow for depth */
}

/* Navbar Container z-index */
header {
  position: relative;
  z-index: 10000; /* High z-index to keep it above everything else */
}

/* Adjust Dropdown Links Hover */
.nav-link + ul li a:hover {
  background-color: #ff5c8d;
}

/* Ensure slider images stay behind the navbar and dropdown */
.custom-hero-height .slider-container {
  z-index: 0; /* Lower z-index for slider images */
}

/* Keyframe Animations */
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes slideInLeft {
  from { transform: translateX(-100%); opacity: 0; }
  to { transform: translateX(0); opacity: 1; }
}

@keyframes slideInRight {
  from { transform: translateX(100%); opacity: 0; }
  to { transform: translateX(0); opacity: 1; }
}

@keyframes zoomIn {
  from { transform: scale(0.8); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}

/* Fade-in Effect */
.fade-in {
  animation: fadeIn 1s ease-in-out forwards;
}

/* Slide-in Effects */
.slide-in-left {
  animation: slideInLeft 1s ease-in-out forwards;
}

.slide-in-right {
  animation: slideInRight 1s ease-in-out forwards;
}

/* Zoom-in Effect */
.zoom-in {
  animation: zoomIn 1s ease-in-out forwards;
}

/* Button Hover Effects */
button:hover, a:hover {
  transform: scale(1.05);
  transition: transform 0.3s ease, background-color 0.3s ease;
}

/* Scroll Reveal Animation */
.reveal {
  opacity: 0;
  transform: translateY(100px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.reveal.active {
  opacity: 1;
  transform: translateY(0);
}

/* Navbar Hover Effects */
.nav-link {
  position: relative;
  color: white;
  font-weight: normal;
  transition: color 0.3s;
}

.nav-link:hover {
  color: #f0f0f0;
}

.nav-link::after {
  content: '';
  position: absolute;
  width: 0;
  height: 2px;
  background-color: #ff5c8d; /* Pink color for the underline */
  left: 0;
  bottom: -4px;
  transition: width 0.3s ease-in-out;
}

.nav-link:hover::after {
  width: 100%;
}

/* Modal Styles */
#reviewModal {
  display: none; /* Hidden by default */
}

#reviewModal.open {
  display: flex; /* Show the modal when open */
}

/* FAQ Section Styling */
.faq-item {
  border-bottom: 1px solid #e5e7eb;
}

.faq-question {
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.faq-question:hover {
  background-color: #f3f4f6;
}

.faq-answer {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-bottom: 1rem;
}

/* Call to Action Section Styling */
.bg-gradient-to-r {
  background-image: linear-gradient(to right, #FF69B4, #FF1493);
}

section .text-white {
  color: #ffffff;
}

section .text-pink-500 {
  color: #ff69b4;
}

section .bg-white {
  background-color: #ffffff;
}

section .shadow-lg {
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.3);
}

section .hover\:bg-pink-500:hover {
  background-color: #ff69b4;
}

section .hover\:text-white:hover {
  color: #ffffff;
}

section .rounded-full {
  border-radius: 9999px;
}

section .transition {
  transition: all 0.3s ease-in-out;
}

section .transform {
  transform: scale(1);
}

section .hover\:scale-105:hover {
  transform: scale(1.05);
}


.gallery-image {
  height: 200px;
  object-fit: cover;
  width: 100%;
  transition: transform 0.3s ease;
  cursor: pointer;
}

/* Gallery Image Styling */
.gallery-image {
  height: 300px; /* Set a consistent height for all images */
  object-fit: cover; /* Ensure images cover the set area while maintaining aspect ratio */
  transition: transform 0.3s ease, filter 0.3s ease; /* Smooth transition for hover effects */
  cursor: pointer; /* Indicate that the image is interactive */
  filter: grayscale(0.3); /* Add slight grayscale for a subtle effect */
}

/* Hover Effect */
.group:hover .gallery-image {
  transform: scale(1.05); /* Slightly enlarge the image on hover */
  filter: grayscale(0); /* Remove grayscale on hover */
}

/* Optional: Add a shadow and border-radius for a more polished look */
.gallery-image {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
}

/* Gallery Container */
.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.masonry-grid {
  display: flex;
  flex-wrap: wrap;
  margin-left: -10px; /* Adjust for spacing */
  margin-right: -10px; /* Adjust for spacing */
}

.masonry-item {
  width: calc(33.333% - 20px); /* 3 items per row with spacing */
  margin: 10px; /* Spacing between items */
}

.gallery-image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
  transition: transform 0.3s ease;
}

.gallery-image:hover {
  transform: scale(1.05); /* Slight zoom on hover */
}

.filter-btn {
  cursor: pointer;
}

.load-more-btn {
  cursor: pointer;
}


/* Lightbox Overlay */
.fullscreen-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.fullscreen-overlay.show {
  opacity: 1;
  pointer-events: auto;
}

.fullscreen-image {
  max-width: 90%;
  max-height: 90%;
  border-radius: 10px;
}

/* Responsive Columns */
@media (max-width: 768px) {
  .masonry-grid {
      column-count: 2;
  }
}

@media (max-width: 480px) {
  .masonry-grid {
      column-count: 1;
  }
}