/* --- Testimonials Section (Responsive) --- */

#testimonials-section {
    background-color: #f8f9fa; 
    /* 🔑 Ensure consistent top/bottom padding for the section content */
    padding: 3rem 1.25rem; 
}

.testimonials-container {
    /* 🔑 Constrain content width */
    max-width: 900px; 
    margin: 0 auto;
    text-align: center;
}

/* 🔑 FLUID SECTION TITLE */
.section-title.text-center {
    /* clamp(MIN: 1.5rem/24px, FLUID: 4vw, MAX: 1.75rem/28px) */
    font-size: clamp(1.5rem, 4vw, 1.75rem);
    font-weight: bold;
    color: #000;
}

.reviews-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.review-tile {
    max-width: 600px;
    /* 🔑 FLUID PADDING: 20px 0 -> 1.25rem 0 */
    padding: 1.25rem 0;
}

.star-rating {
    display: flex;
    justify-content: center;
    color: #ffc107; 
}

.star-icon, .star-icon-border {
    /* 🔑 FLUID FONT SIZE: 16px -> 1rem */
    font-size: 1rem;
    /* 🔑 FLUID MARGIN: 0 1px -> 0 0.0625rem */
    margin: 0 0.0625rem;
}

.review-quote {
    /* 🔑 FLUID FONT SIZE: 18px -> 1.125rem */
    font-size: 1.125rem;
    font-style: italic;
    color: #343a40; 
    /* 🔑 FLUID MARGIN: 5px -> 0.3125rem */
    margin-bottom: 0.3125rem;
}

.review-author {
    /* 🔑 FLUID FONT SIZE: 14px -> 0.875rem */
    font-size: 0.875rem;
    font-weight: 300;
    color: #6c757d; 
}

.review-divider {
    width: 60%;
    height: 1px;
    background-color: #ced4da; 
    /* 🔑 FLUID MARGIN: 10px 0 20px 0 -> 0.625rem 0 1.25rem 0 */
    margin: 0.625rem 0 1.25rem 0;
}

/* --- CTA Buttons (Responsive) --- */

.cta-buttons-wrapper {
    display: flex;
    justify-content: center;
    /* 🔑 FLUID GAP: 20px -> 1.25rem */
    gap: 1.25rem; 
    /* 🔑 FLUID PADDING: 0 20px -> 0 1.25rem */
    padding: 0 1.25rem; 
    /* 🔑 Add margin to separate from testimonials content */
    margin-top: 2rem; 
}

.cta-book-now, .cta-read-more {
    /* 🔑 FLUID PADDING: 15px 25px -> 0.9375rem 1.5625rem */
    padding: 0.9375rem 1.5625rem; 
    /* 🔑 FLUID FONT SIZE: 15px -> 0.9375rem */
    font-size: 0.9375rem;
    text-transform: uppercase;
    font-weight: bold;
    border-radius: 4px;
    text-decoration: none;
    transition: background-color 0.3s, color 0.3s;
}

.cta-book-now {
    background-color: #000;
    color: #fff;
}

.cta-read-more {
    border: 2px solid #000;
    color: #000;
    background-color: transparent;
}

/* Hover effects (Unchanged) */
.cta-book-now:hover {
    background-color: #343a40;
}

.cta-read-more:hover {
    background-color: #000;
    color: #fff;
}


/* Responsive adjustment for narrow screens (Stacking) */
@media (max-width: 600px) {
    .cta-buttons-wrapper {
        flex-direction: column; 
        width: 100%;
        /* 🔑 FLUID MAX-WIDTH: 300px -> 18.75rem */
        max-width: 18.75rem; 
        margin: 0 auto;
    }
    .cta-buttons-wrapper a {
        width: 100%; 
        text-align: center;
        /* 🔑 ADDED MARGIN: Add vertical spacing between stacked buttons */
        margin-bottom: 0.625rem; /* 10px */
    }
    .cta-buttons-wrapper a:last-child {
        margin-bottom: 0;
    }
}

/* 🚀 MOBILE LANDSCAPE FIX: Reduce vertical section padding */
@media (max-width: 900px) and (orientation: landscape) {
    #testimonials-section {
        /* Reduce the top/bottom padding significantly to save vertical space. 
           (e.g., from 3rem to 1.5rem) */
        padding: 1.5rem 1.25rem; 
    }
    
    .cta-buttons-wrapper {
        /* Reduce margin between testimonials and CTAs */
        margin-top: 1rem; 
    }
}