body {
    font-family: 'Inter', sans-serif;
    background-color: #FFF8F0; /* Creamy background */
    color: #4A4A4A; /* Dark gray text */
}
h1, h2, h3, h4, h5, h6, .font-lora {
    font-family: 'Lora', serif;
}
.nav-link {
    @apply px-4 py-2 text-stone-700 hover:text-rose-500 transition-colors duration-300 rounded-lg;
}
.nav-link.active {
    @apply text-rose-600 font-semibold;
}
.hero-section {
    /* Replaced placeholder URL with a local path */
    background-image: url('./images/hero_image.jpg');
    background-size: cover;
    background-position: center;
}
.btn-primary {
    @apply bg-rose-500 hover:bg-rose-600 text-white font-semibold py-3 px-8 rounded-lg shadow-md hover:shadow-lg transition-all duration-300 ease-in-out transform hover:-translate-y-0.5 disabled:bg-rose-300 disabled:cursor-not-allowed;
}
.btn-secondary {
    @apply bg-stone-200 hover:bg-stone-300 text-stone-700 font-semibold py-3 px-8 rounded-lg shadow-md hover:shadow-lg transition-all duration-300 ease-in-out;
}
.section-title {
    @apply text-4xl font-lora text-rose-700 mb-8 text-center;
}
.card {
    @apply bg-white p-6 rounded-xl shadow-lg hover:shadow-2xl transition-shadow duration-300;
}
/* Custom modal styles */
.modal {
    @apply fixed inset-0 bg-black bg-opacity-75 flex items-center justify-center z-50 transition-opacity duration-300 opacity-0 pointer-events-none;
}
.modal.active {
    @apply opacity-100 pointer-events-auto;
}
.modal-content {
    @apply bg-white p-6 rounded-lg shadow-xl max-w-md w-full m-4 text-center;
}
.gallery-img {
    @apply w-full h-64 object-cover rounded-lg cursor-pointer transition-transform duration-300 hover:scale-105;
}
/* Responsive iframe for map */
.map-container {
    position: relative;
    overflow: hidden;
    padding-top: 56.25%; /* 16:9 Aspect Ratio */
}
.map-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}
/* Input validation error styling */
.input-error {
    @apply border-red-500 ring-1 ring-red-500;
}
.error-message {
    @apply text-red-600 text-sm mt-1;
}


.book-now-btn {
  font-weight: bold; 
  text-shadow: 2px 2px 6px rgba(0,0,0,0.5);     /* Bold text with shadow */
  padding: 12px 24px;
  display: inline-block;
  text-decoration: none;
  border-radius: 8px;                           /* Rounded corners */
  box-shadow: 0 0 12px rgba(125, 211, 252, 0.7); /* Soft glow by default */
  transition: all 0.3s ease;                    /* Smooth animation */
}

.book-now-btn:hover {
  box-shadow: 0 0 20px rgba(125, 211, 252, 1);   /* Stronger glow on hover */
  transform: scale(1.05);                        /* Slight zoom effect */
}