:root {
  /* Core Theme Palette */
  --primary: #030b1f;
  --primary-foreground: #FFFFFF;
  --secondary: #A2D2FF;
  --secondary-foreground: #2C3E50;
  
  /* Backgrounds & Surfaces */
  --background: #F7FEFF;
  --foreground: #2C3E50;
  --card: #FFFFFF;
  --card-foreground: #2C3E50;
  --popover: #FFFFFF;
  --popover-foreground: #2C3E50;
  
  /* States & Utilities */
  --muted: #F8F9FA;
  --muted-foreground: #6C757D;
  --border: #E9ECEF;
  --input: #E9ECEF;
  --ring: #FF8B71;
  --radius: 1rem;

  /* Accent Baby Colors */
  --baby-pink: #FFC8DD;
  --baby-yellow: #FFEF9F;
  --baby-purple: #CDB4DB;
  --mint: #B2E2D2;
  --warm-yellow: #b99b02;

  /* Section Background Tints */
  --bg-muted-soft: rgba(248, 249, 250, 0.4);
  --bg-secondary-soft: rgba(162, 210, 255, 0.15);
  --bg-primary-soft: rgba(3, 47, 104, 0.05);
  
  /* Section Specific Backgrounds */
  --footer-bg: #1A1A1A;
  --primary-light: rgba(3, 47, 104, 0.1);
}

body {
  font-family: "Quicksand", sans-serif;
  background-color: var(--background);
  color: var(--foreground);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Baloo 2", sans-serif;
}

/* Hierarchical Category Indicators - High Visibility */
.accordion-content {
  border-left: 1px solid rgba(0, 0, 0, 0.05);
  margin-left: 1rem;
  padding-left: 0.5rem;
  background: rgba(0, 0, 0, 0.01);
  border-radius: 0 0 0 12px;
}

.category-item-container {
  position: relative;
}

/* Branch lines with rounded corners */
.accordion-content > .category-item-container::before {
  content: "";
  position: absolute;
  left: -0.5rem;
  top: 0;
  width: 0.5rem;
  height: 1.25rem;
  border-left: 1px solid rgba(0, 0, 0, 0.08);
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  border-bottom-left-radius: 6px;
  z-index: 0;
}

/* Refined spacing for sub-items */
.accordion-content a, 
.accordion-content button {
  padding-left: 0.5rem !important;
}

/* Fix for the last item branch line */
.accordion-content > .category-item-container:last-child::after {
  content: "";
  position: absolute;
  left: -0.5rem;
  top: 1.25rem;
  width: 2px;
  height: 100%;
  background: white; /* Perfectly cuts the vertical stem at the last item */
  z-index: 1;
}

/* Modern Segmented Tabs */
.tab-container {
  background: #EEF1F4; /* Slightly more defined but clean neutral */
  border-radius: 16px;
  padding: 5px;
  display: flex;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.03);
}

.tab-btn {
  flex: 1;
  padding: 12px 0;
  text-align: center;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #7A869A;
  border-radius: 12px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  z-index: 2;
}

.tab-btn.active {
  color: white;
  background: var(--primary);
  box-shadow: 0 4px 15px rgba(255, 139, 113, 0.3);
}

.tab-btn:not(.active):hover {
  background: rgba(0, 0, 0, 0.02);
}

.no-scrollbar::-webkit-scrollbar {
  display: none;
}
.no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
