/* Additional styles for navigation buttons */

/* Hide section indicator and progress bar */
#section-indicator,
#section-progress {
    display: none !important;
}

/* Custom nav button sizing - responsive */
.nav-button {
    width: 50px !important;
    height: 50px !important;
    transition: all 0.3s ease !important;
}

/* Medium screens and up */
@media (min-width: 768px) {
    .nav-button {
        width: 75px !important;
        height: 75px !important;
    }
}

/* Large screens */
@media (min-width: 1024px) {
    .nav-button {
        width: 85px !important;
        height: 85px !important;
    }
}

/* Ensure proper positioning */
.fixed.bottom-4.right-4,
.fixed.bottom-8.right-8 {
    position: fixed !important;
    right: 1rem !important;
    bottom: 1rem !important;
}

@media (min-width: 768px) {
    .fixed.bottom-8.right-8 {
        right: 2rem !important;
        bottom: 2rem !important;
    }
}

/* Backdrop blur support */
.backdrop-blur-sm {
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

/* Background colors with alpha */
.bg-black\/30 {
    background-color: rgba(0, 0, 0, 0.3);
}

.bg-black\/50 {
    background-color: rgba(0, 0, 0, 0.5);
}

/* Border colors with alpha */
.border-white\/20 {
    border-color: rgba(255, 255, 255, 0.2);
}

.border-white\/40 {
    border-color: rgba(255, 255, 255, 0.4);
}

/* Text colors with alpha */
.text-white\/60 {
    color: rgba(255, 255, 255, 0.6);
}

/* Background colors with alpha */
.bg-white\/20 {
    background-color: rgba(255, 255, 255, 0.2);
}

.bg-white\/60 {
    background-color: rgba(255, 255, 255, 0.6);
}

/* Section navigation specific styles */
#nav-up,
#nav-down {
    transition: all 0.3s ease;
}

#nav-up:hover,
#nav-down:hover {
    transform: scale(1.05);
}

#nav-up:disabled,
#nav-down:disabled {
    opacity: 0.3;
    pointer-events: none;
}

#section-progress {
    transform-origin: left;
    transition: width 0.5s ease-out;
}

/* Gap utilities */
.gap-4 {
    gap: 1rem;
}

/* Flex gap for older browsers */
@supports not (gap: 1rem) {
    .gap-4 > * + * {
        margin-top: 1rem;
    }
}

/* Hide default waitlist form */
.cl-rootBox.cl-waitlist-root {
    display: none !important;
}

/* Modal styles */
#waitlist-modal {
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

#waitlist-modal .bg-black\/50 {
    background-color: rgba(0, 0, 0, 0.5);
}

/* Make sure modal is above everything */
#waitlist-modal {
    z-index: 9999;
}

/* Waitlist section replacement content */
.waitlist-section-content {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    justify-content: center;
    align-items: center;
    padding: 2rem 0;
}

/* FAQ Wrapper - Sets all text sizing */
.faq-wrapper {
    font-size: 1rem; /* 16px base size */
}

.faq-wrapper .faq-question {
    font-size: 1.125rem; /* 18px - slightly bigger for questions */
    font-weight: 500;
    color: white;
    padding-right: 1rem;
}

.faq-wrapper p,
.faq-wrapper ul,
.faq-wrapper li {
    font-size: 1rem !important; /* 16px - standard size for all answer content */
    color: rgb(209, 213, 219); /* gray-300 equivalent */
}

.faq-wrapper p {
    padding: 0.75rem 0;
}

/* List styling within FAQ answers */
.faq-wrapper ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.faq-wrapper li {
    margin-bottom: 0.5rem;
    padding-left: 1.5rem;
    position: relative;
}

.faq-wrapper li:before {
    content: "•";
    color: rgb(209, 213, 219);
    position: absolute;
    left: 0.5rem;
    top: 0;
}

/* Mobile FAQ Styles - Match all sizes */
@media (max-width: 768px) {
    .faq-wrapper .faq-question,
    .faq-wrapper p,
    .faq-wrapper ul,
    .faq-wrapper li {
        font-size: 1rem !important; /* 16px - same size for everything on mobile */
    }
}