/* Prevent horizontal scroll on mobile */
html, body {
    overflow-x: hidden;
    max-width: 100%;
    width: 100%;
}

/* Smooth scroll behavior */
html {
    scroll-behavior: smooth;
}

* {
    box-sizing: border-box;
}

img, video {
    max-width: 100%;
    height: auto;
}

.btn-hover-animation {
    position: relative;
    overflow: hidden;
    transition: background-color 1s ease, transform 0.2s ease;
}

.btn-hover-animation:active {
    transform: scale(0.95);
}

.btn-hover-animation::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%) translateY(100%);
    width: 0;
    height: 0;
    background-color: #B27045;
    border-radius: 50%;
    transition: all 0.5s ease;
    z-index: 0;
}

.btn-hover-animation:hover::before {
    width: 300%;
    height: 300%;
    transform: translateX(-50%) translateY(0);
}

.btn-hover-animation:hover {
    background-color: #B27045;
}

.btn-hover-animation span {
    position: relative;
    z-index: 1;
}

/* FAQ Accordion Styles */
.faq-item {
    transition: background-color 0.3s ease, color 0.3s ease;
}

.faq-content {
    transition: max-height 0.3s ease, opacity 0.3s ease;
}

.faq-icon {
    transition: transform 0.3s ease;
}

/* Testimonials Scroll Animation */
#testimonials-track {
    animation: scroll-right-to-left 30s linear infinite;
}

#testimonials-scroll:hover #testimonials-track {
    animation-play-state: paused;
}

@keyframes scroll-right-to-left {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}

/* Testimonial Card Styles */
.testimonial-card {
    flex-shrink: 0;
    padding: 1.5rem;
    background-color: #191919;
    border: 1px solid #353535;
    width: 20rem;
    border-radius: 0.75rem;
}

@media (min-width: 768px) {
    .testimonial-card {
        width: 24rem;
        padding: 2rem;
    }
}
