:root {
    --background: #fafafa;
    --foreground: #216FED;
    --card: #ffffff;
    --card-foreground: #09090b;
    --popover: #ffffff;
    --popover-foreground: #09090b;
    --primary: oklch(0.5705 0.2044 260.0778);
    --primary-foreground: oklch(0.9882 0.0069 88.6415);
    --secondary: #f4f4f5;
    --secondary-foreground: #18181b;
    --muted: #f4f4f5;
    --muted-foreground: #71717a;
    --accent: #f4f4f5;
    --accent-foreground: #18181b;
    --destructive: oklch(0.7136 0.0981 29.9827);
    --destructive-foreground: oklch(0.979 0.0082 91.4818);
    --border: #e4e4e7;
    --input: #e4e4e7;
    --ring: oklch(0.5705 0.2044 260.0778);

    --radius: 0.5rem;
    --font-sans: 'Merriweather', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    --font-serif: 'Source Serif 4', Georgia, Cambria, 'Times New Roman', serif;
    --font-mono: 'JetBrains Mono', ui-monospace, Menlo, Consolas, monospace;
}

body {
    background-color: var(--background);
    color: var(--foreground);
    font-family: var(--font-sans);
    margin: 0;
    padding: 0;
}

.font-sans {
    font-family: var(--font-sans);
}

.font-serif {
    font-family: var(--font-serif);
}

.glass-nav {
    background-color: color-mix(in oklch, var(--background), transparent 20%);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--border);
}

@keyframes scroll {
    0% {
        transform: translate3d(0, 0, 0);
    }

    100% {
        transform: translate3d(-50%, 0, 0);
    }
}

.animate-scroll {
    animation: scroll 45s linear infinite;
    display: flex;
    gap: 1.75rem !important; /* 28px spacing between larger cards */
    width: max-content;
    will-change: transform;
}

@media (min-width: 640px) {
    .animate-scroll {
        gap: 2.25rem !important; /* 36px on larger screens */
    }
}

.animate-scroll:hover,
.animate-scroll:active {
    animation-play-state: paused;
}

.testimonial-card {
    width: 340px !important;
    max-width: 85vw;
    flex-shrink: 0;
    min-height: 235px;
}

@media (min-width: 640px) {
    .testimonial-card {
        width: 400px !important;
        min-height: 240px;
    }
}

.testimonial-stars {
    display: flex;
    gap: 0.375rem;
    margin-bottom: 0.5rem !important;
    color: #f59e0b;
}

.testimonial-name {
    margin-bottom: 0.5rem !important; /* Pequeno espaçamento padronizado (8px) entre o nome e o comentário */
    line-height: 1.25;
}

.testimonial-text {
    margin-top: 0 !important;
    line-height: 1.6;
}

/* Ensure details animation works if Tailwind group-open misses */
details[open] summary svg[data-lucide="chevron-down"],
details[open] summary .lucide-chevron-down {
    transform: rotate(180deg);
}