/* ========================================
   INDIGO EXPLORER - CSS CENTRALIZZATO
   Design IndigoLab - Palette Navy / Indigo
   ======================================== */

/* === ROOT VARIABLES - PALETTE INDIGO === */
:root {
  /* Palette Principale - Indigo Navy (da indigolab.ai) */
  --indigo-900: #0a0e1a;      /* Quasi nero navy */
  --indigo-800: #1a1a2e;      /* Dark navy (gradient base) */
  --indigo-700: #16213e;      /* Navy medio scuro */
  --indigo-600: #0f3460;      /* Indigo base */
  --indigo-500: #1a4a80;      /* Indigo medio */
  --indigo-400: #2d6aa8;      /* Indigo chiaro */
  --indigo-300: #4a8fd0;      /* Blu indigo chiaro */
  --indigo-200: #7ab3e8;      /* Blu molto chiaro */
  --indigo-100: #c5dff5;      /* Quasi bianco indigo */
  --indigo-50:  #eef4fc;      /* Sfumatura bianca indigo */

  /* Alias semantici */
  --primary-dark: #0f3460;
  --primary-medium: #1a4a80;
  --primary-light: #4a8fd0;
  --secondary-dark: #16213e;
  --secondary-light: #7ab3e8;

  /* Toni Neutri */
  --neutral-white: #ffffff;
  --neutral-light: #f8f9fa;
  --neutral-medium: #e9ecef;
  --neutral-dark: #343a40;

  /* Background con sfumatura indigo leggera */
  --bg-primary: #f5f8ff;
  --bg-secondary: #e8f0fd;
  --bg-tertiary: #d1e3fa;

  /* Ombre tintate indigo */
  --shadow-light: rgba(15, 52, 96, 0.08);
  --shadow-medium: rgba(15, 52, 96, 0.15);
  --shadow-strong: rgba(15, 52, 96, 0.28);
  --border-color: #c5dff5;

  /* Typography */
  --font-primary: 'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-bold: 600;
}

/* === BASE STYLES === */
html {
  font-size: 14px;
  min-height: 100%;
  scroll-behavior: smooth;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

body {
  margin: 0;
  font-family: var(--font-primary);
  line-height: 1.6;
  color: var(--indigo-800);
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  background-color: var(--neutral-white);
  padding-top: 72px;
  scroll-padding-top: 72px;
  font-weight: var(--font-weight-normal);
}

/* === HERO SECTION === */
.hero-section {
  background: linear-gradient(135deg, var(--indigo-800) 0%, var(--indigo-700) 50%, var(--indigo-600) 100%);
  position: relative;
  overflow: hidden;
  padding: 3.5rem 0;
  color: var(--neutral-white);
}

.hero-section .lead {
  margin-bottom: 2rem;
  opacity: 0.85;
  color: var(--indigo-100);
}

.hero-section h1, .hero-section h2, .hero-section h3,
.hero-section h4, .hero-section h5, .hero-section h6 {
  color: var(--neutral-white);
  font-weight: var(--font-weight-bold);
}

.hero-section p {
  color: var(--indigo-100);
}

.hero-section::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: linear-gradient(45deg, transparent 49%, rgba(255,255,255,0.02) 50%, transparent 51%);
  opacity: 0.6;
}

/* === CARDS === */
.card {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border-radius: 12px;
  border: 1px solid var(--border-color);
  box-shadow: 0 2px 8px var(--shadow-light);
  background: var(--neutral-white);
}

.card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px var(--shadow-medium);
  border-color: var(--indigo-300);
}

.hover-card {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.hover-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 32px var(--shadow-strong);
}

/* === PALETTE INDIGO PER CLASSI BOOTSTRAP === */
.bg-primary {
  background: linear-gradient(135deg, var(--indigo-700) 0%, var(--indigo-600) 100%) !important;
  color: var(--neutral-white) !important;
}

.bg-secondary {
  background: linear-gradient(135deg, var(--indigo-600) 0%, var(--indigo-500) 100%) !important;
  color: var(--neutral-white) !important;
}

.bg-success {
  background-color: #1a6b45 !important;
  color: var(--neutral-white) !important;
}

.bg-warning {
  background-color: #b87400 !important;
  color: var(--neutral-white) !important;
}

.bg-info {
  background-color: var(--indigo-400) !important;
  color: var(--neutral-white) !important;
}

.bg-danger {
  background-color: #9b2c2c !important;
  color: var(--neutral-white) !important;
}

.bg-dark {
  background: linear-gradient(135deg, var(--indigo-900) 0%, var(--indigo-800) 100%) !important;
  color: var(--neutral-white) !important;
}

.bg-light {
  background-color: var(--bg-primary) !important;
  color: var(--indigo-800) !important;
}

/* === SISTEMA BOTTONI === */
.btn {
  border-radius: 8px;
  padding: 10px 22px;
  font-weight: var(--font-weight-medium);
  transition: all 0.2s ease;
  text-decoration: none;
  font-size: 0.95rem;
  border: 2px solid transparent;
}

.btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 14px var(--shadow-medium);
}

.btn-lg {
  padding: 14px 30px;
  font-size: 1.05rem;
  border-radius: 10px;
}

.btn-sm {
  padding: 6px 14px;
  font-size: 0.875rem;
  border-radius: 6px;
}

/* Bottoni Primary */
.btn-primary {
  background: linear-gradient(135deg, var(--indigo-600) 0%, var(--indigo-500) 100%);
  border-color: var(--indigo-600);
  color: var(--neutral-white);
  font-weight: var(--font-weight-bold);
}
.btn-primary:hover, .btn-primary:focus {
  background: linear-gradient(135deg, var(--indigo-700) 0%, var(--indigo-600) 100%);
  border-color: var(--indigo-700);
  color: var(--neutral-white);
}

.btn-outline-primary {
  color: var(--indigo-600);
  border-color: var(--indigo-600);
  background-color: transparent;
}
.btn-outline-primary:hover {
  background: linear-gradient(135deg, var(--indigo-600) 0%, var(--indigo-500) 100%);
  color: var(--neutral-white);
  border-color: var(--indigo-600);
}

/* Bottoni Secondary */
.btn-secondary {
  background: linear-gradient(135deg, var(--indigo-500) 0%, var(--indigo-400) 100%);
  border-color: var(--indigo-500);
  color: var(--neutral-white);
  font-weight: var(--font-weight-bold);
}
.btn-secondary:hover {
  background: linear-gradient(135deg, var(--indigo-600) 0%, var(--indigo-500) 100%);
  border-color: var(--indigo-600);
  color: var(--neutral-white);
}

.btn-outline-secondary {
  color: var(--indigo-500);
  border-color: var(--indigo-400);
}
.btn-outline-secondary:hover {
  background: linear-gradient(135deg, var(--indigo-500) 0%, var(--indigo-400) 100%);
  color: var(--neutral-white);
}

/* Bottoni Success */
.btn-success {
  background-color: #1a6b45;
  border-color: #1a6b45;
  color: var(--neutral-white);
}
.btn-success:hover { background-color: #145538; border-color: #145538; color: var(--neutral-white); }
.btn-outline-success { color: #1a6b45; border-color: #1a6b45; }
.btn-outline-success:hover { background-color: #1a6b45; color: var(--neutral-white); }

/* Bottoni Warning */
.btn-warning {
  background-color: #e08c00;
  border-color: #e08c00;
  color: var(--neutral-white);
}
.btn-warning:hover { background-color: #b87400; border-color: #b87400; color: var(--neutral-white); }
.btn-outline-warning { color: #b87400; border-color: #e08c00; }
.btn-outline-warning:hover { background-color: #e08c00; color: var(--neutral-white); }

/* Bottoni Info */
.btn-info {
  background: linear-gradient(135deg, var(--indigo-400) 0%, var(--indigo-300) 100%);
  border-color: var(--indigo-400);
  color: var(--neutral-white);
}
.btn-info:hover { background: linear-gradient(135deg, var(--indigo-500) 0%, var(--indigo-400) 100%); color: var(--neutral-white); }
.btn-outline-info { color: var(--indigo-400); border-color: var(--indigo-300); }
.btn-outline-info:hover { background: var(--indigo-400); color: var(--neutral-white); }

/* Bottoni Danger */
.btn-danger { background-color: #c53030; border-color: #c53030; color: var(--neutral-white); }
.btn-danger:hover { background-color: #9b2c2c; color: var(--neutral-white); }
.btn-outline-danger { color: #c53030; border-color: #c53030; }
.btn-outline-danger:hover { background-color: #c53030; color: var(--neutral-white); }

/* Bottoni Dark */
.btn-dark {
  background: linear-gradient(135deg, var(--indigo-800) 0%, var(--indigo-700) 100%);
  border-color: var(--indigo-800);
  color: var(--neutral-white);
  font-weight: var(--font-weight-bold);
}
.btn-dark:hover {
  background: linear-gradient(135deg, var(--indigo-900) 0%, var(--indigo-800) 100%);
  border-color: var(--indigo-900);
  color: var(--neutral-white);
}

.btn-outline-dark {
  color: var(--indigo-800);
  border-color: var(--indigo-700);
}
.btn-outline-dark:hover {
  background: linear-gradient(135deg, var(--indigo-800) 0%, var(--indigo-700) 100%);
  color: var(--neutral-white);
}

/* Bottoni Light */
.btn-light { background-color: var(--bg-primary); border-color: var(--border-color); color: var(--indigo-800); }
.btn-light:hover { background-color: var(--bg-secondary); border-color: var(--indigo-200); color: var(--indigo-800); }
.btn-outline-light { color: var(--indigo-200); border-color: var(--indigo-200); }
.btn-outline-light:hover { background-color: var(--bg-primary); color: var(--indigo-800); }

/* === NAVBAR (Tabler style) === */
.navbar-ie {
  background: #ffffff;
  border-bottom: 1px solid #e6e7e9;
  padding: 0;
  min-height: 56px;
}

.navbar-brand-ie {
  display: flex;
  align-items: center;
  font-family: var(--font-primary);
  font-size: 0.8125rem;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.12em;
  color: var(--indigo-800);
  text-decoration: none;
  padding: 0 1rem 0 0;
  margin-right: 1.5rem;
}
.navbar-brand-ie:hover { color: var(--indigo-600); }

.nav-link-ie {
  display: block;
  padding: 1rem 0.75rem;
  font-size: 0.8125rem;
  font-weight: var(--font-weight-medium);
  color: #626976;
  text-decoration: none;
  transition: color 0.15s ease;
  line-height: 1;
}
.nav-link-ie:hover,
.nav-link-ie:focus { color: var(--indigo-700); }
.nav-link-ie.dropdown-toggle::after {
  margin-left: 0.3em;
  vertical-align: middle;
  opacity: 0.5;
}

.nav-link-admin { color: #c53030; }
.nav-link-admin:hover { color: #9b2222; }

/* === DROPDOWN (Tabler style) === */
.dropdown-menu-ie {
  border-radius: 6px;
  border: 1px solid #e6e7e9;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  background: #ffffff;
  padding: 0.25rem 0;
  min-width: 180px;
  margin-top: 0 !important;
}

.dropdown-item-ie {
  display: block;
  padding: 0.5rem 1rem;
  font-size: 0.8125rem;
  color: #3d4148;
  text-decoration: none;
  transition: background 0.12s ease, color 0.12s ease;
  white-space: nowrap;
}
.dropdown-item-ie:hover {
  background-color: #f4f6fb;
  color: var(--indigo-700);
}

.dropdown-header-ie {
  display: block;
  padding: 0.5rem 1rem 0.25rem;
  font-size: 0.6875rem;
  font-weight: var(--font-weight-bold);
  color: #9aa0ac;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.dropdown-divider-ie {
  height: 0;
  margin: 0.25rem 0;
  border-top: 1px solid #e6e7e9;
}

/* === NAVBAR USER / LOGOUT === */
.navbar-user-ie {
  font-size: 0.8125rem;
  font-weight: var(--font-weight-medium);
  color: #626976;
}

.btn-logout-ie {
  display: inline-block;
  padding: 0.3125rem 0.75rem;
  font-size: 0.8125rem;
  font-weight: var(--font-weight-medium);
  color: #626976;
  border: 1px solid #d0d3d8;
  border-radius: 4px;
  text-decoration: none;
  transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}
.btn-logout-ie:hover {
  color: var(--indigo-700);
  border-color: var(--indigo-300);
  background: #f4f6fb;
}

/* === BADGES === */
.badge.bg-primary { background: linear-gradient(135deg, var(--indigo-600), var(--indigo-500)) !important; color: var(--neutral-white) !important; }
.badge.bg-secondary { background-color: var(--indigo-500) !important; color: var(--neutral-white) !important; }
.badge.bg-success { background-color: #1a6b45 !important; color: var(--neutral-white) !important; }
.badge.bg-warning { background-color: #b87400 !important; color: var(--neutral-white) !important; }
.badge.bg-info { background-color: var(--indigo-400) !important; color: var(--neutral-white) !important; }
.badge.bg-danger { background-color: #c53030 !important; color: var(--neutral-white) !important; }
.badge.bg-dark { background: linear-gradient(135deg, var(--indigo-800), var(--indigo-700)) !important; color: var(--neutral-white) !important; }
.badge.bg-light { background-color: var(--bg-primary) !important; color: var(--indigo-700) !important; }
.badge.bg-top-pick { background-color: #e67e22 !important; color: #ffffff !important; font-weight: 600 !important; }

/* === TEXT COLORS === */
.text-primary { color: var(--indigo-600) !important; }
.text-secondary { color: var(--indigo-500) !important; }
.text-success { color: #1a6b45 !important; }
.text-warning { color: #b87400 !important; }
.text-info { color: var(--indigo-400) !important; }
.text-danger { color: #c53030 !important; }
.text-dark { color: var(--indigo-800) !important; }
.text-muted { color: var(--indigo-400) !important; }

/* === CARD HEADERS === */
.card-header.bg-primary {
  background: linear-gradient(135deg, var(--indigo-700) 0%, var(--indigo-600) 100%) !important;
  color: var(--neutral-white) !important;
  border-bottom: none;
  font-weight: var(--font-weight-bold);
}
.card-header.bg-secondary {
  background: linear-gradient(135deg, var(--indigo-600) 0%, var(--indigo-500) 100%) !important;
  color: var(--neutral-white) !important;
  font-weight: var(--font-weight-bold);
}
.card-header.bg-dark {
  background: linear-gradient(135deg, var(--indigo-900) 0%, var(--indigo-800) 100%) !important;
  color: var(--neutral-white) !important;
  font-weight: var(--font-weight-bold);
}
.card-header.bg-success { background-color: #1a6b45 !important; color: var(--neutral-white) !important; font-weight: var(--font-weight-bold); }
.card-header.bg-warning { background-color: #b87400 !important; color: var(--neutral-white) !important; font-weight: var(--font-weight-bold); }
.card-header.bg-info { background-color: var(--indigo-400) !important; color: var(--neutral-white) !important; font-weight: var(--font-weight-bold); }
.card-header.bg-danger { background-color: #c53030 !important; color: var(--neutral-white) !important; font-weight: var(--font-weight-bold); }
.card-header.bg-light { background-color: var(--bg-secondary) !important; color: var(--indigo-800) !important; font-weight: var(--font-weight-bold); border-bottom: 1px solid var(--border-color); }

/* Badge bg-light semi-trasparente solo dentro card-header SCURI (non trasparenti) */
.card-header.bg-primary .badge.bg-light,
.card-header.bg-secondary .badge.bg-light,
.card-header.bg-dark .badge.bg-light,
.card-header.bg-success .badge.bg-light,
.card-header.bg-warning .badge.bg-light,
.card-header.bg-info .badge.bg-light,
.card-header.bg-danger .badge.bg-light {
  background-color: rgba(255,255,255,0.2) !important;
  color: var(--neutral-white) !important;
}

/* === LAYOUT SECTIONS === */
section { padding: 4rem 0; }

.bg-light { background-color: var(--bg-primary) !important; }

/* === TYPOGRAPHY === */
.display-3, .display-4, .display-5, .display-6 {
  font-weight: var(--font-weight-bold);
  line-height: 1.2;
  color: var(--indigo-800);
}

.lead {
  font-size: 1.15rem;
  font-weight: var(--font-weight-normal);
  color: var(--indigo-600);
  line-height: 1.6;
}

h1, h2, h3, h4, h5, h6 { color: var(--indigo-800); }

/* === HEADING COLOR INHERITANCE FIX ===
   La regola h1-h6 sopra rompe l'ereditarietà nei container scuri.
   Questi override (specificità più alta) ripristinano il colore corretto
   per tutti gli heading dentro container con testo bianco o card-header colorati. */
.text-white h1, .text-white h2, .text-white h3,
.text-white h4, .text-white h5, .text-white h6,
.text-white .display-3, .text-white .display-4,
.text-white .display-5, .text-white .display-6,
.card-header h1, .card-header h2, .card-header h3,
.card-header h4, .card-header h5, .card-header h6 {
  color: inherit;
}

/* Lead paragraphs dentro container scuri ereditano il colore bianco */
.text-white .lead { color: inherit; }

/* Stat cards con bg-* colorato: heading e lead ereditano bianco */
.card.bg-primary h1, .card.bg-primary h2, .card.bg-primary h3,
.card.bg-primary h4, .card.bg-primary h5, .card.bg-primary h6,
.card.bg-secondary h1, .card.bg-secondary h2, .card.bg-secondary h3,
.card.bg-secondary h4, .card.bg-secondary h5, .card.bg-secondary h6,
.card.bg-success h1, .card.bg-success h2, .card.bg-success h3,
.card.bg-success h4, .card.bg-success h5, .card.bg-success h6,
.card.bg-info h1, .card.bg-info h2, .card.bg-info h3,
.card.bg-info h4, .card.bg-info h5, .card.bg-info h6,
.card.bg-danger h1, .card.bg-danger h2, .card.bg-danger h3,
.card.bg-danger h4, .card.bg-danger h5, .card.bg-danger h6,
.card.bg-dark h1, .card.bg-dark h2, .card.bg-dark h3,
.card.bg-dark h4, .card.bg-dark h5, .card.bg-dark h6 {
  color: inherit;
}

/* === ANIMATIONS === */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}
.card, .feature-icon { animation: fadeInUp 0.6s ease-out; }

/* === TABLES === */
.table thead {
  background: linear-gradient(135deg, var(--indigo-700) 0%, var(--indigo-600) 100%);
  color: var(--neutral-white);
}
.table-striped > tbody > tr:nth-of-type(odd) > td { background-color: var(--bg-primary); }

/* === RESPONSIVE === */
@media (max-width: 768px) {
  .display-3, .display-4 { font-size: 2.5rem; }
  .hero-section { padding: 2rem 0; }
  .btn-lg { padding: 12px 26px; font-size: 1rem; }
  body { padding-top: 56px; }
  .navbar-ie.fixed-top { min-height: 56px; }
}

/* === FOCUS STATES === */
.btn:focus, .btn:active:focus, .btn-link.nav-link:focus,
.form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 3px rgba(15, 52, 96, 0.2);
  outline: none;
}

.form-control:focus {
  border-color: var(--indigo-400);
}

/* === FOOTER === */
footer {
  background: linear-gradient(135deg, var(--indigo-900) 0%, var(--indigo-800) 100%);
  color: var(--indigo-100);
  padding: 2rem 0;
}
footer a { color: var(--indigo-200); text-decoration: none; }
footer a:hover { color: var(--neutral-white); text-decoration: underline; }
footer .text-muted { color: var(--indigo-300) !important; }

/* === SCROLLBAR === */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--bg-primary); }
::-webkit-scrollbar-thumb { background: var(--indigo-300); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--indigo-400); }

/* === FORM STYLES === */
.form-floating > .form-control::placeholder { color: var(--indigo-300); }
.form-floating > .form-control:focus::placeholder { color: var(--indigo-400); }

/* === AI PAGE HEADERS === */
.ai-header-turquoise {
  background: linear-gradient(135deg, var(--indigo-700) 0%, var(--indigo-600) 60%, var(--indigo-500) 100%) !important;
  padding: 3rem 0;
  position: relative;
  overflow: hidden;
}

.ai-title-dark {
  color: var(--neutral-white) !important;
  font-weight: 700;
  margin-bottom: 1rem;
}

.ai-subtitle-gray {
  color: var(--indigo-100) !important;
  font-weight: 400;
  opacity: 0.9;
}

.ai-section-title { color: var(--indigo-800) !important; font-weight: 600; }
.ai-text-readable { color: var(--indigo-700) !important; }

/* === KEYWORD STYLES === */
.keyword {
  background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-tertiary) 100%);
  color: var(--indigo-700);
  padding: 6px 14px;
  border-radius: 20px;
  margin: 4px;
  display: inline-block;
  transition: all 0.3s ease;
  border: 1px solid var(--border-color);
  font-weight: var(--font-weight-medium);
}
.keyword:hover {
  background: linear-gradient(135deg, var(--indigo-600) 0%, var(--indigo-500) 100%);
  color: var(--neutral-white);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px var(--shadow-medium);
}

/* === GRADIENTS PERSONALIZZATI === */
.bg-gradient {
  background: linear-gradient(135deg, var(--indigo-800) 0%, var(--indigo-600) 100%) !important;
  color: var(--neutral-white);
}
.bg-gradient-light {
  background: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%) !important;
  color: var(--indigo-800);
}

/* === MODERN CARD VARIANTS === */
.card-modern {
  border: none;
  border-radius: 16px;
  background: var(--neutral-white);
  box-shadow: 0 4px 16px var(--shadow-light);
}
.card-glass {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(74, 143, 208, 0.2);
  box-shadow: 0 8px 32px var(--shadow-light);
}

/* === SPECIAL ELEMENTS === */
.text-white .bg-white.bg-opacity-10 {
  background: linear-gradient(135deg, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0.05) 100%) !important;
  backdrop-filter: blur(10px);
  border-radius: 12px;
  padding: 2rem;
  border: 1px solid rgba(255,255,255,0.1);
}
.text-white .bg-white.bg-opacity-10 h1,
.text-white .bg-white.bg-opacity-10 h2,
.text-white .bg-white.bg-opacity-10 h3,
.text-white .bg-white.bg-opacity-10 h4,
.text-white .bg-white.bg-opacity-10 h5,
.text-white .bg-white.bg-opacity-10 h6 { color: var(--neutral-white) !important; }
.text-white .bg-white.bg-opacity-10 p { color: var(--indigo-100) !important; }

/* === ICON SIZES === */
.icon-size-60 { font-size: 60px; color: var(--indigo-400); }
.icon-size-80 { font-size: 80px; color: var(--indigo-500); }
.icon-size-120 { font-size: 120px; color: var(--indigo-600); margin-bottom: 1rem; }
.large-icon { font-size: 3rem; color: var(--indigo-400); margin-bottom: 1rem; }

/* === UTILITIES === */
.style-reference-border { border: 2px solid var(--border-color); border-radius: 8px; padding: 1rem; }
.col-width-25 { width: 25%; }
.col-width-37-5 { width: 37.5%; }
.max-height-120-scroll { max-height: 120px; overflow-y: auto; scrollbar-width: thin; }
.gold-text-shadow { text-shadow: 2px 2px 4px var(--shadow-medium); color: var(--indigo-300); }

/* === NAVBAR FIXED === */
.navbar.fixed-top { position: fixed; top: 0; left: 0; right: 0; z-index: 1030; }
.navbar-ie.fixed-top { box-shadow: none; }

/* === ARROW CONTAINERS === */
.arrow-container { background-color: var(--bg-primary); transition: all 0.3s ease; border-radius: 8px; }
.arrow-container:hover { background-color: var(--bg-secondary); transform: translateX(4px); }
.arrow-right::after { content: "→"; font-size: 1.2em; color: var(--indigo-500); margin-left: 8px; transition: all 0.3s ease; }
.arrow-left::after { content: "←"; font-size: 1.2em; color: var(--indigo-500); margin-right: 8px; transition: all 0.3s ease; }
@media (max-width: 767px) { .arrow-right::after, .arrow-left::after { display: none; } }

/* === BOOTSTRAP ICONS === */
.icon-ai::before { content: "\f526"; font-family: "bootstrap-icons"; }
.icon-project::before { content: "\f4f2"; font-family: "bootstrap-icons"; }
.icon-growth::before { content: "\f679"; font-family: "bootstrap-icons"; }
.icon-brain::before { content: "\f228"; font-family: "bootstrap-icons"; }
.icon-people::before { content: "\f4da"; font-family: "bootstrap-icons"; }
.icon-target::before { content: "\f26c"; font-family: "bootstrap-icons"; }
.icon-book::before { content: "\f1ea"; font-family: "bootstrap-icons"; }
.icon-link::before { content: "\f455"; font-family: "bootstrap-icons"; }
.icon-rocket::before { content: "\f67c"; font-family: "bootstrap-icons"; }
.icon-palette::before { content: "\f4d1"; font-family: "bootstrap-icons"; }
.icon-email::before { content: "\f32f"; font-family: "bootstrap-icons"; }
.icon-storage::before { content: "\f3ec"; font-family: "bootstrap-icons"; }
.icon-chat::before { content: "\f27a"; font-family: "bootstrap-icons"; }
.icon-settings::before { content: "\f3da"; font-family: "bootstrap-icons"; }
.icon-check::before { content: "\f26a"; font-family: "bootstrap-icons"; }
.icon-search::before { content: "\f52d"; font-family: "bootstrap-icons"; }
.icon-stats::before { content: "\f1e6"; font-family: "bootstrap-icons"; }
.icon-time::before { content: "\f292"; font-family: "bootstrap-icons"; }
.icon-sync::before { content: "\f68a"; font-family: "bootstrap-icons"; }
.icon-upload::before { content: "\f74c"; font-family: "bootstrap-icons"; }
.icon-download::before { content: "\f2f1"; font-family: "bootstrap-icons"; }
.icon-file::before { content: "\f377"; font-family: "bootstrap-icons"; }
.icon-folder::before { content: "\f3a6"; font-family: "bootstrap-icons"; }
.icon-star::before { content: "\f586"; font-family: "bootstrap-icons"; }
.icon-heart::before { content: "\f414"; font-family: "bootstrap-icons"; }
.icon-info::before { content: "\f431"; font-family: "bootstrap-icons"; }
.icon-warning::before { content: "\f33a"; font-family: "bootstrap-icons"; }
.icon-success::before { content: "\f26a"; font-family: "bootstrap-icons"; }
.icon-error::before { content: "\f659"; font-family: "bootstrap-icons"; }

/* === FINE CSS CENTRALIZZATO === */
