/* LPI Investimentos Theme */
:root {
  --lpi-green-dark: #3d5430;
  --lpi-green-light: #7ea668;
  --lpi-accent: #2563eb;
  --lpi-text-dark: #1f2937;
  --lpi-text-light: #6b7280;
  --lpi-bg-light: #f9fafb;
  --lpi-bg-white: #ffffff;
}

/* Brand Colors */
.text-lpi-green-dark { color: var(--lpi-green-dark); }
.text-lpi-green-light { color: var(--lpi-green-light); }
.text-lpi-accent { color: var(--lpi-accent); }

.bg-lpi-green-dark { background-color: var(--lpi-green-dark); }
.bg-lpi-green-light { background-color: var(--lpi-green-light); }
.bg-lpi-accent { background-color: var(--lpi-accent); }

.border-lpi-green-dark { border-color: var(--lpi-green-dark); }
.border-lpi-green-light { border-color: var(--lpi-green-light); }

/* Buttons */
.btn {
  @apply px-6 py-3 font-semibold rounded-lg transition-all duration-300 inline-flex items-center justify-center;
}

.btn-primary {
  background-color: var(--lpi-green-dark);
  color: white;
}

.btn-primary:hover {
  background-color: #2d3f23;
  transform: translateY(-1px);
}

.btn-secondary {
  background-color: var(--lpi-green-light);
  color: white;
}

.btn-secondary:hover {
  background-color: #6b945a;
  transform: translateY(-1px);
}

.btn-outline {
  border: 2px solid var(--lpi-green-dark);
  color: var(--lpi-green-dark);
  background-color: transparent;
}

.btn-outline:hover {
  background-color: var(--lpi-green-dark);
  color: white;
}

/* Cards */
.card {
  @apply bg-white rounded-xl shadow-lg p-6 transition-all duration-300;
}

.card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

/* Hero Sections */
.hero-section {
  background: linear-gradient(135deg, var(--lpi-green-dark) 0%, var(--lpi-green-light) 100%);
  color: white;
}

.hero-overlay {
  background: rgba(61, 84, 48, 0.9);
}

/* Form Elements */
.form-input {
  @apply w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-lpi-green-light focus:border-transparent transition-all duration-300;
}

.form-label {
  @apply block text-sm font-medium text-gray-700 mb-2;
}

/* Sections */
.section-padding {
  @apply py-16 lg:py-24;
}

.container {
  @apply max-w-7xl mx-auto px-4 sm:px-6 lg:px-8;
}

/* Typography */
.heading-primary {
  @apply text-4xl lg:text-5xl font-bold text-lpi-green-dark mb-6;
}

.heading-secondary {
  @apply text-3xl lg:text-4xl font-bold text-lpi-green-dark mb-6;
}

.heading-tertiary {
  @apply text-2xl font-bold text-lpi-green-dark mb-4;
}

.text-body {
  @apply text-lg text-gray-600 leading-relaxed;
}

/* Animations */
.fade-in {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 0.8s ease-out forwards;
}

@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Logo Placeholder */
.logo-placeholder {
  @apply flex items-center justify-center bg-lpi-green-light text-white font-bold text-lg px-4 py-2 rounded-lg;
  min-height: 50px;
  min-width: 200px;
}

/* Profile Assessment Styles */
.question-card {
  @apply bg-white rounded-xl shadow-lg p-8 mb-6 border-l-4 border-lpi-green-light;
}

.answer-option {
  @apply block w-full text-left p-4 border border-gray-300 rounded-lg mb-3 transition-all duration-300 hover:border-lpi-green-light hover:bg-green-50;
}

.answer-option.selected {
  @apply border-lpi-green-dark bg-green-50 text-lpi-green-dark;
}

.progress-bar {
  @apply w-full bg-gray-200 rounded-full h-3 mb-6;
}

.progress-fill {
  @apply bg-lpi-green-light h-3 rounded-full transition-all duration-500;
}

/* Results */
.profile-result {
  @apply bg-gradient-to-r from-lpi-green-dark to-lpi-green-light text-white rounded-xl p-8 text-center;
}

/* FAQ */
.faq-item {
  @apply border-b border-gray-200 py-4;
}

.faq-question {
  @apply flex justify-between items-center w-full text-left font-semibold text-lpi-green-dark py-2 cursor-pointer;
}

.faq-answer {
  @apply text-gray-600 mt-4 leading-relaxed;
}

/* Navigation */
.nav-link {
  @apply text-gray-700 font-medium transition-colors duration-300 hover:text-lpi-green-dark;
}

.nav-link.active {
  @apply text-lpi-green-dark border-b-2 border-lpi-green-dark;
}

/* Mobile Menu */
.mobile-menu {
  @apply fixed inset-0 bg-white z-50 transform transition-transform duration-300;
}

.mobile-menu.closed {
  transform: translateX(100%);
}

/* Responsive Utilities */
@media (max-width: 768px) {
  .heading-primary {
    @apply text-3xl;
  }
  
  .heading-secondary {
    @apply text-2xl;
  }
  
  .section-padding {
    @apply py-12;
  }
}