 :root {
            --primary-color: #1a3c34;
            --accent-color: #d4a373;
            --text-color: #333;
            --light-bg: #f8f9fa;
        }

        body {
            font-family: 'Roboto', sans-serif;
            color: var(--text-color);
            background-color: var(--light-bg);
            margin: 0; /* Ensure no default body margin */
        }

        .navbar {
            transition: all 0.3s ease;
            background-color: rgba(255, 255, 255, 0.95) !important;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        }

        .navbar.sticky {
            position: fixed;
            top: 0;
            width: 100%;
            z-index: 1030;
        }

        .navbar-brand img {
            transition: transform 0.3s ease;
        }

        .navbar-brand img:hover {
            transform: scale(1.1);
        }

        .nav-link {
            font-family: 'Roboto', sans-serif;
            font-weight: 400;
            color: var(--primary-color) !important;
            transition: color 0.3s ease;
        }

        .nav-link:hover {
            color: var(--accent-color) !important;
        }

        .header-section {
            position: relative;
            overflow: hidden;
            min-height: 600px;
            margin-bottom: 3rem; /* Margin below header */
        }

        .header-img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.5s ease;
        }

        .header-section:hover .header-img {
            transform: scale(1.05);
        }

        .header-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(to bottom, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.6));
            z-index: 1;
        }

        .header-content {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            text-align: center;
            color: white;
            z-index: 2;
            animation: fadeInUp 1s ease-out;
        }

        .header-content h1 {
            font-family: 'Playfair Display', serif;
            font-size: 4rem;
            font-weight: 700;
            margin-bottom: 1rem;
            text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
        }

        .header-content .lead {
            font-size: 1.5rem;
            font-weight: 300;
            margin-bottom: 1.5rem;
        }

        .header-content .btn-primary {
            background-color: var(--accent-color);
            border-color: var(--accent-color);
            padding: 0.75rem 2rem;
            font-size: 1.1rem;
            transition: all 0.3s ease;
        }

        .header-content .btn-primary:hover {
            background-color: #b5895a;
            border-color: #b5895a;
            transform: translateY(-2px);
        }

        .card {
            border: none;
            border-radius: 10px;
            overflow: hidden;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            background-color: white;
        }

        .card:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
        }

        .card-img-top {
            height: 200px;
            object-fit: cover;
        }

        .card-body {
            padding: 1.5rem;
        }

        .card-title {
            font-family: 'Playfair Display', serif;
            font-size: 1.5rem;
            color: var(--primary-color);
        }

        .card-text {
            font-size: 0.95rem;
            color: #666;
        }

        .carousel-inner img {
            height: 250px;
            object-fit: cover;
        }

        .carousel-control-prev, .carousel-control-next {
            width: 10%;
            background: rgba(0, 0, 0, 0.3);
        }

        .btn-primary {
            background-color: var(--primary-color);
            border-color: var(--primary-color);
            transition: all 0.3s ease;
        }

        .btn-primary:hover {
            background-color: #0f2a22;
            border-color: #0f2a22;
        }


        h2 {
            font-family: 'Playfair Display', serif;
            color: var(--primary-color);
            font-size: 2.5rem;
            text-align: center;
            margin-bottom: 2rem;
        }

        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translate(-50%, -30%);
            }
            to {
                opacity: 1;
                transform: translate(-50%, -50%);
            }
        }

        .facilities-section {
            background-color: #fff;
            border-radius: 10px;
            padding: 3rem;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
            margin: 3rem auto; /* Top and bottom margin */
        }

        .facility-group {
            background-color: var(--light-bg);
            padding: 1.5rem;
            border-radius: 8px;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }

        .facility-group:hover {
            transform: translateY(-3px);
            box-shadow: 0 6px 12px rgba(0, 0, 0, 0.1);
        }

        .facility-title {
            font-family: 'Playfair Display', serif;
            font-size: 1.5rem;
            color: var(--primary-color);
            margin-bottom: 1rem;
            display: flex;
            align-items: center;
        }

        .facility-title i {
            color: var(--accent-color);
        }

        .facilities-section ul li {
            font-size: 1rem;
            color: #666;
            margin-bottom: 0.5rem;
            transition: color 0.3s ease;
        }

        .facilities-section ul li:hover {
            color: var(--primary-color);
        }

        .facilities-section ul li i {
            color: var(--accent-color);
            font-size: 0.9rem;
        }

        .facilities-section ul li {
    font-size: 1rem;
    color: #666;
    margin-bottom: 0.5rem;
    transition: color 0.3s ease;
}

/* Add new CSS here */
.facility-group .see-more-link {
    display: block;
    font-size: 0.95rem;
}

        .reviews-section {
            background-color: #fff;
            border-radius: 10px;
            padding: 3rem;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
            margin: 3rem auto; /* Top and bottom margin */
        }

        .review-card {
            background-color: var(--light-bg);
            padding: 1.5rem;
            border-radius: 8px;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            min-height: 200px;
        }

        .review-card:hover {
            transform: translateY(-3px);
            box-shadow: 0 6px 12px rgba(0, 0, 0, 0.1);
        }

        .review-card.invisible {
            background-color: transparent;
            box-shadow: none;
        }

        .reviewer-name {
            font-family: 'Playfair Display', serif;
            font-size: 1.25rem;
            color: var(--primary-color);
            margin: 0;
        }

        .review-rating {
            font-size: 1rem;
            color: var(--accent-color);
            margin: 0;
        }

        .review-rating i {
            color: var(--accent-color);
        }

        .review-card img {
            width: 50px;
            height: 50px;
            object-fit: cover;
        }

        .review-card p {
            font-size: 0.95rem;
            color: #666;
            margin-bottom: 0.5rem;
        }

        .review-card p strong {
            color: var(--primary-color);
        }

        .carousel-control-prev,
        .carousel-control-next {
            width: 10%;
            background: none;
        }

        .footer {
            background-color: var(--primary-color);
            color: #fff;
            padding: 3rem 0;
            font-family: 'Roboto', sans-serif;
            margin-top: 3rem; /* Margin above footer */
        }

        .footer a {
            color: #fff;
            transition: color 0.3s ease;
        }

        .footer a:hover {
            color: var(--accent-color);
            text-decoration: none;
        }

        .footer-logo img {
            width: 80px;
            margin-bottom: 1rem;
            transition: transform 0.3s ease;
        }

        .footer-logo img:hover {
            transform: scale(1.1);
        }

        .footer h5 {
            font-family: 'Playfair Display', serif;
            font-size: 1.5rem;
            color: var(--accent-color);
            margin-bottom: 1.5rem;
        }

        .footer ul {
            list-style: none;
            padding: 0;
        }

        .footer ul li {
            margin-bottom: 0.75rem;
        }

        .footer .social-icons a {
            font-size: 1.5rem;
            margin-right: 1rem;
            transition: transform 0.3s ease;
        }

        .footer .social-icons a:hover {
            transform: translateY(-3px);
        }

        .footer .contact-info i {
            margin-right: 0.5rem;
            color: var(--accent-color);
        }

        .footer .contact-info p {
            margin-bottom: 0.5rem;
        }

        /* Section-specific container margin for Rooms */
        .rooms-section {
            margin: 3rem auto; /* Top and bottom margin */
        }

        @media (max-width: 768px) {
            .header-content h1 {
                font-size: 2.5rem;
            }

            .header-content .lead {
                font-size: 1.2rem;
            }

            .header-section {
                min-height: 400px;
                margin-bottom: 2rem; /* Reduced margin for mobile */
            }

            .facilities-section {
                padding: 2rem;
                margin: 2rem auto; /* Reduced margin for mobile */
            }

            .facility-title {
                font-size: 1.3rem;
            }

            .facilities-section ul li {
                font-size: 0.95rem;
            }

            .reviews-section {
                padding: 2rem;
                margin: 2rem auto; /* Reduced margin for mobile */
            }

            .review-card {
                padding: 1rem;
            }

            .reviewer-name {
                font-size: 1.1rem;
            }

            .review-card p {
                font-size: 0.9rem;
            }

            .carousel-item .col-md-6 {
                flex: 0 0 100%;
                max-width: 100%;
            }

            .footer {
                text-align: center;
                margin-top: 2rem; /* Reduced margin for mobile */
            }

            .footer .col-md-4 {
                margin-bottom: 2rem;
            }

            .rooms-section {
                margin: 2rem auto; /* Reduced margin for mobile */
            }
        }
        /* Truncated Description */
.truncated-description {
    display: -webkit-box;
    -webkit-line-clamp: 5; /* Limit to 5 lines */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 0.95rem;
    color: #666;
    margin-bottom: 1rem;
}

/* See More Button */
.see-more-btn {
    padding: 0;
    font-size: 0.9rem;
    color: var(--accent-color);
    text-decoration: none;
    transition: color 0.3s ease;
}

.see-more-btn:hover {
    color: #b5895a;
    text-decoration: underline;
}

/* Modal Styling */
.modal-content {
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.modal-header {
    border-bottom: none;
    padding: 1.5rem;
}

.modal-title {
    font-family: 'Playfair Display', serif;
    font-size: 1.5rem;
    color: var(--primary-color);
}

.modal-body {
    padding: 1.5rem;
}

.modal-body img {
    max-height: 300px;
    object-fit: cover;
    border-radius: 8px;
    width: 100%;
}

.modal-body p {
    font-size: 1rem;
    color: #666;
    line-height: 1.6;
}

.modal-footer {
    border-top: none;
    padding: 1rem 1.5rem;
}

.modal-footer .btn-secondary {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    transition: all 0.3s ease;
}

.modal-footer .btn-secondary:hover {
    background-color: #0f2a22;
    border-color: #0f2a22;
}

@media (max-width: 768px) {
    .truncated-description {
        font-size: 0.9rem;
        -webkit-line-clamp: 4; /* Slightly fewer lines on mobile for compactness */
    }

    .see-more-btn {
        font-size: 0.85rem;
    }

    .modal-body img {
        max-height: 200px;
    }

    .modal-title {
        font-size: 1.3rem;
    }

    .modal-body p {
        font-size: 0.95rem;
    }
}


/* Description Wrapper */
.description-wrapper {
    position: relative;
    margin-bottom: 1rem;
}

/* Truncated Description */
.truncated-description {
    display: -webkit-box;
    -webkit-line-clamp: 5; /* Limit to 5 lines */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 0.95rem;
    color: #666;
    margin-bottom: 0;
}

/* See More Link */
.see-more-link {
    display: none; /* Hidden by default, shown via JS if truncated */
    font-size: 0.95rem;
    color: var(--accent-color);
    text-decoration: none;
    transition: color 0.3s ease;
}

.see-more-link:hover {
    color: #b5895a;
    text-decoration: underline;
}

/* Modal Styling */
.modal-content {
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.modal-header {
    border-bottom: none;
    padding: 1.5rem;
}

.modal-title {
    font-family: 'Playfair Display', serif;
    font-size: 1.5rem;
    color: var(--primary-color);
}

.modal-body {
    padding: 1.5rem;
}

.modal-body img {
    max-height: 300px;
    object-fit: cover;
    border-radius: 8px;
    width: 100%;
}

.modal-body p {
    font-size: 1rem;
    color: #666;
    line-height: 1.6;
}

.modal-footer {
    border-top: none;
    padding: 1rem 1.5rem;
}

.modal-footer .btn-secondary {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    transition: all 0.3s ease;
}

.modal-footer .btn-secondary:hover {
    background-color: #0f2a22;
    border-color: #0f2a22;
}

@media (max-width: 768px) {
    .truncated-description {
        font-size: 0.9rem;
        -webkit-line-clamp: 4; /* Slightly fewer lines on mobile */
    }

    .see-more-link {
        font-size: 0.9rem;
    }

    .modal-body img {
        max-height: 200px;
    }

    .modal-title {
        font-size: 1.3rem;
    }

    .modal-body p {
        font-size: 0.95rem;
    }
}

/* Review Text Wrapper */
.review-text-wrapper {
    position: relative;
    margin-bottom: 1rem;
}

/* Truncated Review Text */
.truncated-review {
    display: -webkit-box;
    -webkit-line-clamp: 5; /* Limit to 5 lines */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 0.95rem;
    color: #666;
    margin-bottom: 0;
}

/* See More Link */
.see-more-link {
    display: none; /* Hidden by default, shown via JS if truncated */
    font-size: 0.95rem;
    color: var(--accent-color);
    text-decoration: none;
    transition: color 0.3s ease;
}

.see-more-link:hover {
    color: #b5895a;
    text-decoration: underline;
}

/* Modal Styling */
.modal-content {
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.modal-header {
    border-bottom: none;
    padding: 1.5rem;
}

.modal-title {
    font-family: 'Playfair Display', serif;
    font-size: 1.5rem;
    color: var(--primary-color);
}

.modal-body {
    padding: 1.5rem;
}

.modal-body p {
    font-size: 1rem;
    color: #666;
    line-height: 1.6;
}

.modal-footer {
    border-top: none;
    padding: 1rem 1.5rem;
}

.modal-footer .btn-secondary {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    transition: all 0.3s ease;
}

.modal-footer .btn-secondary:hover {
    background-color: #0f2a22;
    border-color: #0f2a22;
}

@media (max-width: 768px) {
    .truncated-review {
        font-size: 0.9rem;
        -webkit-line-clamp: 4; /* Slightly fewer lines on mobile */
    }

    .see-more-link {
        font-size: 0.9rem;
    }

    .modal-title {
        font-size: 1.3rem;
    }

    .modal-body p {
        font-size: 0.95rem;
    }
}