/* General Styles */
body {
  font-family: 'Poppins', sans-serif;
  color: #6A5B6E; /* Muted purple for body text */
  background-color: #FFF5F2; /* Light peach/pink background */
}

/* Homepage-specific adjustment */
body.homepage {
  padding-top: 0; /* Removes padding for index.html */
}

/* Navbar */
.navbar {
  background-color: #FFF5F2; /* Light peach/pink (your change) */
  transition: background-color 0.3s, box-shadow 0.3s;
}
.navbar.navbar-transparent {
  background-color: transparent; /* Ensure transparency on homepage */
}
.navbar.scrolled {
  background-color: #FFF5F2; /* Light peach/pink on scroll (your change) */
  box-shadow: 0 2px 5px rgba(106, 91, 110, 0.2);
}
.navbar-logo {
  height: 70px; 
  width: auto;
}
.nav-link {
  color: #6A5B6E; /* Muted purple for nav links */
}
.navbar-transparent .nav-link {
  color: #FFF; /* White nav links on transparent background */
}
.navbar.scrolled .nav-link {
  color: #6A5B6E; /* Ensure muted purple when scrolled */
}
.nav-link:hover,
.nav-link.active {
  color: #C19A6B; /* Light brown for hover/active */
}
.navbar-transparent .nav-link:hover,
.navbar-transparent .nav-link.active {
  color: #C19A6B; /* Maintain hover/active color when transparent */
}
.navbar.scrolled .nav-link:hover,
.navbar.scrolled .nav-link.active {
  color: #C19A6B; /* Maintain hover/active color when scrolled */
}

/* Hero Section */
.hero {
  position: relative;
  min-height: 100vh; /* Full viewport height */
  height: 100dvh; /* Dynamic viewport height for modern browsers */
  color: #fff;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
  background-color: #FFF5F2;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.5) 0%,
    rgba(255, 200, 200, 0.4) 100%
  );
  z-index: 1;
}
.hero .container {
  position: relative;
  z-index: 2;
  padding-top: 70px;
}
.hero h1,
.hero p {
  color: #fff;
}
.hero h1 {
  font-weight: 600;
}

/* Services Section */
.services-section {
  background-color: #FFF5F2;
  padding-top: 100px !important; /* Ensure content is below navbar */
}
.services-section h1 {
  color: #6A5B6E;
}
.services-section h2 {
  color: #6A5B6E;
}
.services-section p.lead {
  color: #6A5B6E;
}
.services-section .card {
  border: none;
  box-shadow: 0 2px 5px rgba(106, 91, 110, 0.1);
  transition: transform 0.3s;
  background-color: #FFF; /* Your change (white cards) */
}
.services-section .card:hover {
  transform: translateY(-5px);
}
.services-section .card-img-top {
  height: 200px;
  object-fit: cover;
}
.services-section .card-title {
  font-weight: 500;
  color: #6A5B6E;
}
.services-section .card-text {
  color: #6A5B6E;
}

/* Contact Section */
.contact-section {
  background-color: #FFF5F2;
  padding-top: 100px !important; /* Ensure content is below navbar */
}
.contact-section h1 {
  color: #6A5B6E;
}
.contact-section .card {
  background-color: #FFF5F2;
}
.contact-section .card-title {
  color: #6A5B6E;
}
.contact-section .card-text {
  color: #6A5B6E;
}

/* About Section */
.about-section {
  background-color: #FFF5F2;
  padding-top: 100px !important; /* Ensure consistency */
}
.about-section h1 {
  color: #6A5B6E;
}

/* Take a Moment Section */
.moment-section {
  position: relative;
  padding: 100px 0;
  color: #fff;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}
.moment-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.5) 0%,
    rgba(255, 200, 200, 0.4) 100%
  );
  z-index: 1;
}
.moment-section .container {
  position: relative;
  z-index: 2;
}
.moment-section h2 {
  color: #fff;
}

/* Testimonials Section */
.testimonials-section {
  background-color: #FFF5F2;
}
.testimonials-section h2 {
  color: #6A5B6E;
}
.testimonials-section .card {
  border: none;
  box-shadow: 0 2px 5px rgba(106, 91, 110, 0.1);
  background-color: #FFF5F2;
}
.testimonials-section .card-body {
  padding: 2rem;
}
.testimonials-section .card-text {
  font-style: italic;
  color: #6A5B6E;
}
.testimonials-section .card-subtitle {
  color: #C19A6B; /* Light brown for client names */
}

/* Booking Section */
.booking-section {
  background-color: #FFE6E6; /* Soft pink, slightly different from default */
}
.booking-section h2 {
  color: #6A5B6E;
}

/* Footer */
footer {
  background-color: #FFF5F2;
  color: #6A5B6E;
}

/* Custom Button Styling */
.btn-primary {
  background-color: #C19A6B;
  border-color: #C19A6B;
}
.btn-primary:hover {
  background-color: #A87E4F;
  border-color: #A87E4F;
}
.btn-outline-primary {
  color: #C19A6B;
  border-color: #C19A6B;
}
.btn-outline-primary:hover {
  background-color: #C19A6B;
  color: #FFF5F2;
}

/* Bootstrap form validation feedback */
.invalid-feedback {
  display: none;
  color: #6A5B6E;
}
.is-invalid ~ .invalid-feedback {
  display: block;
}
.is-valid ~ .invalid-feedback {
  display: none;
}