/* ===========================================================
   LUIZ FRASSON — Design System (WordPress build)
   Tokens compartilhados com a configuração do Tailwind CDN.
   =========================================================== */

:root {
    --background: 0 0% 6%;
    --foreground: 40 30% 96%;

    --surface: 0 0% 9%;
    --surface-elevated: 0 0% 12%;
    --graphite: 0 0% 16%;
    --graphite-light: 0 0% 22%;

    --muted: 0 0% 12%;
    --muted-foreground: 0 0% 60%;

    --accent: 38 92% 52%;
    --accent-foreground: 0 0% 6%;
    --accent-glow: 38 100% 62%;

    --border: 0 0% 16%;

    --whatsapp: 142 70% 45%;

    --gradient-hero: linear-gradient(180deg, hsl(0 0% 0% / 0.4) 0%, hsl(0 0% 6% / 0.85) 60%, hsl(0 0% 6%) 100%);
    --gradient-accent: linear-gradient(135deg, hsl(var(--accent)) 0%, hsl(var(--accent-glow)) 100%);
    --gradient-surface: linear-gradient(160deg, hsl(0 0% 10%) 0%, hsl(0 0% 6%) 100%);

    --shadow-elevated: 0 30px 80px -20px hsl(0 0% 0% / 0.7);
    --shadow-accent: 0 10px 40px -10px hsl(var(--accent) / 0.35);

    --transition-smooth: cubic-bezier(0.22, 1, 0.36, 1);
}

html { scroll-behavior: smooth; }

body {
    background: hsl(var(--background));
    color: hsl(var(--foreground));
    font-family: 'Inter', system-ui, sans-serif;
    font-feature-settings: "ss01", "cv11";
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4 {
    font-family: 'Anton', 'Bebas Neue', 'Inter', sans-serif;
    letter-spacing: -0.01em;
    text-transform: uppercase;
}

::selection { background: hsl(var(--accent) / 0.4); color: hsl(var(--foreground)); }

/* Componentes */
.container-x { margin-left: auto; margin-right: auto; width: 100%; max-width: 80rem; padding-left: 1.5rem; padding-right: 1.5rem; }
@media (min-width: 768px) { .container-x { padding-left: 2.5rem; padding-right: 2.5rem; } }

.eyebrow {
    display: inline-flex; align-items: center; gap: 0.75rem;
    font-size: 0.75rem; line-height: 1rem;
    text-transform: uppercase; letter-spacing: 0.3em;
    color: hsl(var(--accent)); font-weight: 500;
}
.eyebrow::before {
    content: ""; display: inline-block; width: 32px; height: 1px;
    background: hsl(var(--accent));
}
.eyebrow.lf-no-bar::before { display: none; }

.display { font-family: 'Anton', 'Bebas Neue', sans-serif; line-height: 0.9; letter-spacing: -0.02em; }
.text-stroke { -webkit-text-stroke: 1px hsl(var(--foreground) / 0.4); color: transparent; }

/* Utilitários */
.bg-noise {
    background-image: radial-gradient(hsl(0 0% 100% / 0.025) 1px, transparent 1px);
    background-size: 3px 3px;
}

/* Animações */
@keyframes lf-fade-up { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
@keyframes lf-fade-in { from { opacity: 0; } to { opacity: 1; } }
.animate-fade-up { animation: lf-fade-up .8s var(--transition-smooth) both; }
.animate-fade-in { animation: lf-fade-in 1s var(--transition-smooth) both; }

/* Nav state quando rolado */
.lf-nav.is-scrolled {
    background-color: hsl(var(--background) / 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid hsl(var(--border) / 0.6);
}

/* Accordion (FAQ) */
.lf-accordion-item[data-open="true"] .lf-accordion-chevron { transform: rotate(180deg); }
.lf-accordion-content { overflow: hidden; }
