/* CSS Base e Variáveis do Tailwind migrado do Lovable */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');

:root {
  /* Core Colors - Sophisticated Legal Palette */
  --background: 30 10% 8%;
  --foreground: 40 30% 90%;

  --card: 30 10% 12%;
  --card-foreground: 40 30% 90%;

  --popover: 30 10% 12%;
  --popover-foreground: 40 30% 90%;

  /* Brand Colors - Wine/Burgundy */
  --primary: 350 40% 25%;
  --primary-foreground: 40 30% 95%;

  /* Secondary - Dark Blue */
  --secondary: 220 50% 15%;
  --secondary-foreground: 40 30% 90%;

  /* Accent - Gold/Dourado */
  --accent: 42 70% 55%;
  --accent-foreground: 30 10% 8%;

  /* Panel/Card Background - Dark Brown */
  --panel: 30 20% 15%;
  --panel-foreground: 40 30% 90%;

  --muted: 30 15% 20%;
  --muted-foreground: 40 20% 60%;

  --destructive: 0 84.2% 60.2%;
  --destructive-foreground: 0 0% 100%;

  --border: 42 30% 25%;
  --input: 30 15% 20%;
  --ring: 42 70% 55%;

  --radius: 0.75rem;

  /* Gradients */
  --gradient-gold: linear-gradient(135deg, hsl(42 70% 55%), hsl(35 60% 45%));
  --gradient-dark: linear-gradient(180deg, hsl(30 10% 8%), hsl(30 15% 12%));

  /* Transitions */
  --transition-smooth: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

*, *::before, *::after {
  box-sizing: border-box;
  border-color: hsl(var(--border));
}

/* CRÍTICO: Estilos base que funcionam mesmo sem Tailwind CDN */
html, body {
  min-height: 100%;
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
  font-family: 'Montserrat', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: bold;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Fallbacks de Cor e Layout quando Tailwind não carrega */
main { display: block; }
section { display: block; width: 100%; position: relative; }

/* Animations */
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
.animate-fade-in {
  animation: fadeIn 0.8s ease-in-out;
}

/* FAQ Accordion Active State */
.faq-item[data-state="open"] {
  background-color: hsl(var(--card)) !important;
  border-color: hsl(var(--accent)) !important;
  box-shadow: 0 10px 30px -10px hsla(var(--accent), 0.2);
}

.faq-item[data-state="open"] .accordion-trigger {
  color: hsl(var(--accent));
}

.faq-item .accordion-trigger:hover {
  background-color: hsla(var(--accent), 0.05);
}

.faq-item .accordion-content {
  transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
