/* Variáveis de Design */
:root {
  /* Cores */
  --design-primary: #8b5cf6;
  --design-secondary: #0f0f1a;
  --design-accent: #25d366;
  --design-text: #1e1e2e;
  --design-bg: #0f0f1a;
  --design-bg-alt: #f9fafb;
  
  /* Tipografia */
  --design-font-heading: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --design-font-body: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  
  /* Botões */
  --design-btn-bg: #ffbb00;
  --design-btn-text: #ffffff;
  --design-btn-border: #f0b000;
  --design-btn-hover-bg: #0d0d0d;
  --design-btn-hover-text: #ffbb00;
  --design-btn-hover-border: #f0b000;
  
  /* Header */
  --design-header-bg: #0d0d0d;
  --design-header-text: #ffbb00;
  --design-header-hover: #ffffff;
  
  /* Footer */
  --design-footer-bg: #0d0d0d;
  --design-footer-text: #ffffff;
  --design-footer-hover: #ffbb00;
  
  /* Hero */
  --design-hero-bg-url: url('');
  --design-hero-title: '';
  --design-hero-subtitle: '';
}

/* ==================== DEPARTMENTS BAR ==================== */

.departments-bar {
  background: #1e1e2e;
  padding: 0;
}

.departments-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

.departments-content {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.departments-main {
  display: none;
  align-items: center;
  gap: 1.5rem;
  flex: 1;
}

@media (min-width: 768px) {
  .departments-main {
    display: flex;
  }
}

.department-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #fff;
  font-family: var(--design-font-body, 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);
  transition: color 0.2s;
  white-space: nowrap;
  text-decoration: none;
}

.department-item:hover {
  color: #8b5cf6;
}

.department-icon {
  font-size: 1.125rem;
}

.departments-all {
  position: relative;
}

.departments-trigger {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  background: var(--design-primary, #f8fafc);
  border: 0;
  font-size: 0.875rem;
  font-weight: 500;
  color: #fff;
  transition: all 0.2s;
  cursor: pointer;
}

.departments-trigger:hover {
  color: #fff;
  border-color: #cbd5e1;
}

.departments-trigger svg:last-child {
  transition: transform 0.2s;
}

.departments-trigger:hover svg:last-child,
.departments-trigger.active svg:last-child {
  transform: rotate(180deg);
}

.departments-dropdown {
  position: absolute;
  top: calc(100% + 0);
  left: 0;
  min-width: 280px;
  max-width: 400px;
  max-height: 400px;
  overflow-y: auto;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 0 5px 5px 5px;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: all 0.2s ease;
  z-index: 50;
}

.departments-dropdown.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.category-group {
  border-bottom: 1px solid #f1f5f9;
  padding: 0.5rem 0;
}

.category-group:last-child {
  border-bottom: none;
}

.category-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.1rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #334155;
  transition: all 0.15s;
  text-decoration: none;
}

.category-item:hover {
  color: #8b5cf6;
  padding: 0.1rem 1rem;
}

.category-icon {
  font-size: 1.125rem;
}

.subcategories {
  display: flex;
  flex-direction: column;
  padding-left: 1rem;
}

.subcategory-item {
  padding: 0.5rem 1rem;
  font-size: 0.8125rem;
  color: #64748b;
  border-left: 2px solid #e2e8f0;
  transition: all 0.15s;
  text-decoration: none;
}

.subcategory-item:hover {
  color: #0f172a;
  border-left-color: #94a3b8;
  background: var(--design-primary, #f8fafc);
}

/* Scrollbar personalizada */
.departments-dropdown::-webkit-scrollbar {
  width: 6px;
}

.departments-dropdown::-webkit-scrollbar-track {
  background: var(--design-primary, #f1f5f9);
  border-radius: 3px;
}

.departments-dropdown::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 3px;
}

.departments-dropdown::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}

/* Mobile responsivo */
@media (max-width: 767px) {
  .departments-trigger {
    width: 100%;
    justify-content: center;
  }
  
  .departments-dropdown {
    left: 0;
    right: 0;
    min-width: auto;
    max-width: none;
  }
}
