/* Core Styles */
body { font-family: 'Inter', sans-serif; scroll-behavior: smooth; }
h1, h2, h3, .font-serif { font-family: 'Playfair Display', serif; }

/* --- CALENDAR STYLING --- */
.flatpickr-day {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1.1 !important;
    height: 48px !important;
    padding-top: 4px;
}

.price-tag {
    display: block;
    font-size: 9px;
    font-weight: 700;
    color: #0284C7;
    margin-top: 2px;
}

/* Ensure price is visible and white when a date is selected */
.flatpickr-day.selected .price-tag,
.flatpickr-day.startRange .price-tag,
.flatpickr-day.endRange .price-tag,
.flatpickr-day.inRange .price-tag {
    color: #FFFFFF !important;
}

/* --- TESTIMONIAL CAROUSEL --- */
#testimonialTrack {
    display: flex;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    width: 100%;
}

.testimonial-item {
    flex: 0 0 100%;
    width: 100%;
}

/* --- GALLERY & BUTTONS --- */
@media (min-width: 1024px) {
    .gallery-img:hover { 
        transform: scale(1.03); 
        transition: transform 0.5s ease; 
        z-index: 10;
    }
}

/* Make sure the floating buttons don't flicker on hover */
.fixed a {
    backface-visibility: hidden;
    -webkit-font-smoothing: subpixel-antialiased;
}

/* Smooth fade for the "Show More" text */
#moreText:not(.hidden) {
    animation: fadeIn 0.4s ease-out;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: translateY(0); }
}


    .flatpickr-calendar {
        z-index: 999999 !important;
        background: white !important;
        box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1) !important;
    }
.fp-day {
    display:block;
    font-size:12px;
}

.fp-price {
    display:block;
    font-size:10px;
    color:#0284C7;
    font-weight:600;
    margin-top:2px;
}