/* Reset default styles */
html {
  scroll-behavior: smooth; /* Enable smooth scrolling */
	scroll-padding-top: 90px;
}

body, html {
  margin: 0;
  padding: 0;
  font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
  line-height: 1.5;
  font-weight: 400;
  color-scheme: light dark; /* Keep basic color scheme handling */
}

/* Add scroll padding to the body or html to account for fixed nav */
body {
  /* scroll-padding-top: 90px; /* Removed padding */
}


#app {
  width: 100%;
  margin: 0;
  padding: 0;
  text-align: center;
}

/* Floating Navbar Styles */
.floating-navbar {
  position: fixed;
  top: 20px; /* Changed from bottom to top */
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(to right, #3D6D5E, #11372A); /* Gradient color */
  border-radius: 30px; /* Rounded corners */
  padding: 0 20px; /* Add some padding inside */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Optional: add shadow for depth */
  z-index: 1000; /* Ensure it stays on top */
}

.floating-navbar ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 30px; /* Space between links */
}

.floating-navbar li {
  position: relative; /* Needed for the pseudo-element bar */
  padding: 10px 0; /* Vertical padding for clickable area */
}

.floating-navbar a {
  text-decoration: none;
  color: white; /* Link color */
  font-weight: 500;
  padding: 5px 0; /* Padding for the text */
  display: block; /* Make the link a block element */
  transition: color 0.3s ease;
}

/* Hover/Click Bar Effect */
.floating-navbar li::after {
  content: '';
  position: absolute;
  bottom: 5px; /* Position the bar below the text */
  left: 50%;
  transform: translateX(-50%);
  width: 0; /* Start with zero width */
  height: 2px; /* Height of the bar - Decreased thickness */
  background-color: #4C7F6F; /* Bar color */
  border-radius: 1px; /* Rounded ends for the bar - Adjusted radius */
  transition: width 0.3s ease; /* Animate width change */
}

.floating-navbar li:hover::after,
.floating-navbar li:active::after {
  width: 100%; /* Expand width on hover/active */
}

.floating-navbar a:hover,
.floating-navbar a:active {
  color: #dddddd; /* Slightly lighter color on hover/active */
}


/* Container Styles */
.container {
  min-height: 60vh; /* Reduced container height */
  display: flex; /* Use flexbox for layout */
  justify-content: center;
  align-items: center; /* Default center alignment */
  padding: 2rem;
  box-sizing: border-box; /* Include padding in height calculation */
  text-align: left; /* Default text alignment to left for content inside */
  flex-direction: column; /* Stack children vertically by default */
}

.container-1 {
  /*background-color: #163D30;*/
  background-image: url('yoga.png'); /* Set background image */
  background-size: cover; /* Make image cover the container */
  background-position: center; /* Center the image */
  background-repeat: no-repeat; /* Prevent image tiling */
  color: white;
  align-items: flex-start; /* Align items to the start (left) */
  padding-top: 0; /* Remove top padding */
  display: flex; /* Ensure flexbox is applied */
  flex-direction: row; /* Arrange children in a row */
  justify-content: space-between; /* Space out text and image */
  align-items: stretch; /* Stretch items to fill container height */
  min-height: 80vh; /* Increase height for better visual */
  padding: 0; /* Remove padding to allow image to touch edges */
}

.container-1 .text-content {
  flex: 1; /* Allow text content to grow */
  padding: 2rem; /* Add padding back inside the text area */
  display: flex;
  flex-direction: column;
  justify-content: center; /* Center text vertically */
  align-items: center; /* Center items horizontally within the flex container */
  text-align: center; /* Center the text itself */
}

.container-1 .image-area {
  flex: 1; /* Allow image area to grow */
  display: flex;
  justify-content: flex-end; /* Align image to the right */
  align-items: center; /* Center image vertically */
  overflow: hidden; /* Hide parts of the image that overflow */
  /* Removed img specific styles as image is now background */
}

/* Removed .container-1 .image-area img rule */


.container-2 {
  background-color: #ffffff;
  color: #213547; /* Dark text for light background */
  align-items: flex-start; /* Align items to the start (left) */
  /* Added styles for centering content */
  justify-content: flex-start; /* Align content to the top */
  align-items: center; /* Center content horizontally */
  text-align: center; /* Center text within the container */
}

/* Style for the title within container-2 */
.container-2 h2 {
  color: #264A47; /* Set the specified color */
  margin-top: 0.5rem; /* Add space above the title */
  margin-bottom: 2rem; /* Add space below the title */
  width: 100%; /* Ensure the h2 takes full width for centering */
  text-align: center; /* Explicitly center the text */
  font-size: 2.2em; /* Slightly increased font size */
}

/* Removed style for the new users icon in container-2 */
/* .container-2 .users-icon {
  font-size: 3em;
  color: #264A47;
  margin-bottom: 1rem;
} */


/* Cards Container Styles */
.cards-container {
  display: flex; /* Enable flexbox */
  flex-wrap: wrap; /* Allow cards to wrap to the next line */
  justify-content: center; /* Center cards horizontally */
  gap: 15px; /* Space between cards - Decreased gap */
  width: 100%; /* Take full width of the parent */
  max-width: 1200px; /* Optional: limit max width */
  padding: 0 20px; /* Add horizontal padding */
  box-sizing: border-box; /* Include padding in width */
}

/* Individual Card Styles */
.card {
  background-color: #163D30; /* Specified background color */
  color: white; /* Text color for cards */
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  flex: 1 1 200px; /* Flex properties: grow, shrink, base width - Decreased base width */
  max-width: 250px; /* Max width for cards - Decreased max width */
  text-align: center; /* Centralize text inside cards */
  opacity: 0; /* Start hidden for animation */
  transform: translateX(-100px); /* Start off-screen to the left */
  animation: slideInFromLeft 0.6s ease-out forwards; /* Apply animation */
  min-height: 100px; /* Add a minimum height so cards are visible */
  display: flex; /* Use flexbox for content inside card */
  flex-direction: column; /* Stack title and paragraph vertically */
  align-items: center; /* Center content horizontally within the card */
}

/* Style for card titles (h3) */
.card h3 {
  color: #67A353; /* Set the specified color */
  margin-top: 0.5rem; /* Add space above the title */
  margin-bottom: 0.5rem; /* Add space below the title */
  font-size: 1.1em; /* Adjust font size for card titles */
}

/* Style for text within cards (p) */
.card p {
  font-size: 1em; /* Decreased font size for card text */
  margin: 0; /* Remove default paragraph margin */
}

/* Style for icons directly inside cards */
.card i {
  font-size: 1em; /* Match the paragraph font size */
  color: white; /* Ensure icon color is white */
  margin-bottom: 0.5rem; /* Add space below the icon */
}

/* Increase the size of the icon in the first card */
.cards-container .card:first-child i {
  font-size: calc(1em + 10px); /* Increase font size by 5px + 5px = 10px */
}

/* Make the icon in the second card the same size as the first */
.cards-container .card:nth-child(2) i {
  font-size: calc(1em + 10px);
}

/* Make the icon in the third card the same size as the others */
.cards-container .card:nth-child(3) i {
  font-size: calc(1em + 10px);
}

/* Make the icon in the fourth card the same size as the others */
.cards-container .card:nth-child(4) i {
  font-size: calc(1em + 10px);
}


/* Animation delay for staggered effect */
.card:nth-child(1) { animation-delay: 0.1s; }
.card:nth-child(2) { animation-delay: 0.3s; }
.card:nth-child(3) { animation-delay: 0.5s; }
.card:nth-child(4) { animation-delay: 0.7s; }


/* Keyframes for slide-in animation */
@keyframes slideInFromLeft {
  to {
    opacity: 1;
    transform: translateX(0);
  }
}


.container-3 {
  background-color: #163D30;
  color: white;
  align-items: flex-start; /* Align items to the start (left) */
  justify-content: flex-start; /* Align content to the top */
  align-items: center; /* Center content horizontally */
  text-align: center; /* Center text within the container */
  padding-top: 2rem; /* Add padding to the top */
  padding-bottom: 2rem; /* Add padding to the bottom */
  flex-direction: column; /* Stack children vertically */
}

/* Style for the title within container-3 */
.container-3 h2 { /* Changed from h1 to h2 for consistency */
  color: white; /* Set the specified color to white */
  margin-top: 0.5rem; /* Add space above the title */
  margin-bottom: 2rem; /* Add space below the title */
  width: 100%; /* Ensure the h2 takes full width for centering */
  text-align: center; /* Explicitly center the text */
  font-size: 2.2em; /* Slightly increased font size */
}

/* Projects Grid Container */
.projects-grid {
  display: flex;
  flex-wrap: wrap; /* Allow squares to wrap */
  justify-content: center; /* Center squares horizontally */
  gap: 20px; /* Space between squares */
  width: 100%;
  max-width: 900px; /* Limit max width of the grid */
  padding: 0 20px;
  box-sizing: border-box;
  margin-bottom: 20px; /* Add space below the grid */
}

/* Individual Project Square Styles */
.project-square {
  width: 250px; /* Fixed width */
  height: 250px; /* Fixed height */
  background-color: rgba(255, 255, 255, 0.1); /* Semi-transparent white background */
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden; /* Hide overflowing image parts */
  position: relative; /* Needed for backdrop-filter */
  /* Apply blur effect */
  backdrop-filter: blur(5px); /* Blur effect */
  -webkit-backdrop-filter: blur(5px); /* Safari support */
}

/* Style for the image inside the square */
.project-square img {
  display: block; /* Remove extra space below image */
  width: 100%; /* Make image fill the square */
  height: 100%; /* Make image fill the square */
  object-fit: cover; /* Cover the area without distorting aspect ratio */
}

/* Style for the alt text when image is not available */
.project-square img::before {
  content: attr(alt); /* Display alt text */
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5); /* Dark overlay for readability */
  color: white;
  font-family: serif; /* Serif font for alt text */
  font-size: 1.2em;
  text-align: center;
  padding: 10px;
  box-sizing: border-box;
  z-index: 2; /* Ensure it's above the blurred background */
}

/* Remove the problematic rule for CTA inside projects-grid */
/* .projects-grid .cta-button { ... } */


/* Basic typography */
h1 {
  font-size: 3.2em;
  line-height: 1.1;
  margin-top: 0; /* Remove default top margin */
  margin-bottom: 0.5rem; /* Add some space below h1 */
}

h2 {
  font-size: 2em;
  margin-bottom: 1rem;
  margin-top: 0; /* Also remove top margin for consistency */
}

/* Style for the smaller h2 text */
h2.smaller-text {
  font-size: 1.5em; /* Reduced font size */
}


p {
  font-size: 1.1em;
}

/* Remove cta-container styles as it's no longer needed */
/* .cta-container {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-top: 2rem;
} */


/* CTA Button Styles */
.cta-button {
  display: inline-flex; /* Use inline-flex to align text and icon */
  align-items: center; /* Vertically center text and icon */
  gap: 8px; /* Add space between text and icon */
  /* Removed margin-top: 2rem; */ /* Default margin-top */
  padding: 15px 30px; /* Padding inside the button */
  border-radius: 30px; /* Rounded corners */
  background: linear-gradient(to right, #54AF93, #67D0B2, #54AF93); /* Gradient background */
  color: white; /* Text color */
  text-decoration: none; /* Remove underline */
  font-size: 1.1em; /* Decreased Font size */
  font-weight: bold; /* Bold text */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); /* Optional: add shadow */
  position: relative; /* Needed for pseudo-element positioning */
  overflow: hidden; /* Hide pseudo-element overflow during animation */
  z-index: 1; /* Ensure button content is above pseudo-element */
  /* Remove all hover transitions from the button itself */
  transition: none;
  /* Remove neon-like text shadow */
  text-shadow: none;
  /* Removed centering styles */
  /* margin-left: auto; */
  /* margin-right: auto; */
  /* display: flex; */ /* Use flex to center content */
  /* justify-content: center; */ /* Center content horizontally */
  /* width: fit-content; */ /* Make button width fit content */
  /* Removed margin-bottom: 20px; */ /* Add space below the first CTA */
}

/* Style for the icon inside the button */
.cta-button i {
  font-size: 1em; /* Match the parent font size */
  color: white; /* Ensure icon color is white */
}


/* Remove the old ::before border effect */
.cta-button::before {
  display: none;
}

/* Add the new ::after bar effect */
.cta-button::after {
  content: '';
  position: absolute;
  bottom: 3px; /* Position closer below the text */
  left: 20px; /* Start from the left edge (matching padding) */
  width: 0; /* Start with zero width */
  height: 2px; /* Thinner bar */
  background-color: white; /* Bar color */
  border-radius: 1px; /* Rounded ends */
  /* Transition only the width for left-to-right growth and shrink */
  transition: width 0.3s ease-out;
  z-index: -1; /* Place behind button content */
}

/* Grow the bar on hover */
.cta-button:hover::after {
  width: calc(100% - 40px); /* Grow to almost full width, leaving padding space */
  /* left remains 20px */
}

/* Remove whatsapp-icon-link styles as it's no longer a separate element */
/* .whatsapp-icon-link {
  color: #25D366;
  font-size: 2.5em;
  text-decoration: none;
  transition: color 0.3s ease;
}

.whatsapp-icon-link:hover {
  color: #128C7E;
} */


/* Remove default Vite styles if they conflict */
.logo, .card, .read-the-docs, button {
  /* display: none; /* Hide default Vite elements */
  /* Re-enable .card as we are using it */
}

/* Styles for the gray CTA buttons */
.cta-button.gray-cta {
  background: #6c757d; /* Gray background color */
  color: white; /* White text color */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Slightly less prominent shadow */
  /* Removed margin-top: 0; */ /* Remove top margin to place them closer to the first CTA */
}

/* Remove the animation effect from gray CTAs */
.cta-button.gray-cta::after {
  display: none; /* Hide the pseudo-element */
}

/* Removed .gray-ctas-container styles */
/* Container for the two gray CTAs side-by-side */
/* .gray-ctas-container {
  display: flex;
  justify-content: center;
  gap: 20px;
  width: 100%;
  flex-wrap: wrap;
} */

/* Removed margin adjustment for gray CTAs within their container */
/* .gray-ctas-container .cta-button.gray-cta {
    margin-top: 0;
    margin-bottom: 0;
} */

/* New container for all three project CTAs */
.project-ctas-row {
  display: flex; /* Use flexbox */
  flex-direction: row; /* Arrange items in a row */
  justify-content: center; /* Center items horizontally */
  gap: 40px; /* Increased space between the buttons */
  width: 100%;
  max-width: 900px; /* Match max-width of projects-grid */
  flex-wrap: wrap; /* Allow buttons to wrap on smaller screens */
  margin-top: 20px; /* Add space above the row of buttons */
  padding: 0 20px; /* Add horizontal padding to match grid */
  box-sizing: border-box; /* Include padding in width */
}

/* Contact Info Styles (now inside footer) */
.contact-info {
  display: flex;
  flex-direction: column; /* Stack contact items vertically */
  align-items: center; /* Center items horizontally */
  gap: 15px; /* Space between contact items */
  /* Removed margin-top as it's now in footer */
  /* margin-top: 1rem; /* Space below the title */
  color: white; /* Text color for black footer */
}

.contact-info p {
  font-size: 1.2em; /* Slightly larger font for contact details */
  margin: 0; /* Remove default paragraph margin */
  display: flex; /* Use flexbox to align icon and text */
  align-items: center; /* Vertically center icon and text */
  gap: 10px; /* Space between icon and text */
}

.contact-info i {
  font-size: 1.5em; /* Larger icon size */
  color: white; /* Icon color for black footer */
}

/* Footer Styles */
footer {
  background-color: #000; /* Black background */
  color: white; /* White text color */
  padding: 2rem 1rem; /* Padding top/bottom and sides */
  text-align: center; /* Center content horizontally */
  width: 100%; /* Full width */
  box-sizing: border-box; /* Include padding in width */
  margin-top: 2rem; /* Add space above the footer */
}
