/* ISA-95 Index Loader Styles - Cream & Purple Theme */
* { margin: 0; padding: 0; box-sizing: border-box; }

body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  background: linear-gradient(135deg, #2a1a3a 0%, #1a0f26 100%);
  color: #f5f2e8;
  min-height: 100vh;
}

.loader {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  flex-direction: column;
  gap: 20px;
}

.spinner {
  width: 50px;
  height: 50px;
  border: 5px solid #9b7eb8;
  border-top-color: #8b5cf6;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

.container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 40px;
}

/* Breadcrumb Navigation */
.breadcrumb {
  background: #3d2a52;
  border: 2px solid #9b7eb8;
  border-radius: 8px;
  padding: 15px 25px;
  margin-bottom: 30px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.breadcrumb a {
  color: #b794f4;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 5px;
  transition: color 0.3s;
}

.breadcrumb a:hover { color: #8b5cf6; }
.breadcrumb-separator { color: #9b7eb8; margin: 0 5px; }
.breadcrumb-current { color: #f5f2e8; font-weight: 600; }

header { text-align: center; margin-bottom: 40px; }
.icon { font-size: 4em; margin-bottom: 20px; }

h1 {
  font-size: 3em;
  margin-bottom: 15px;
  text-shadow: 0 0 30px rgba(139, 92, 246, 0.6);
  color: #f5f2e8;
}

.description { color: #e8e0c8; font-size: 1.3em; }

.badge {
  display: inline-block;
  padding: 8px 16px;
  background: rgba(245, 242, 232, 0.1);
  border: 2px solid #b794f4;
  border-radius: 20px;
  font-size: 0.9em;
  font-weight: 600;
  color: #b794f4;
  margin: 10px 5px;
}

.grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 30px;
  margin-bottom: 40px;
}

.card {
  background: linear-gradient(135deg, #3d2a52, #2a1a3a);
  border: 2px solid #9b7eb8;
  border-left: 5px solid #b794f4;
  border-radius: 12px;
  padding: 30px;
  transition: all 0.3s;
  position: relative;
  box-shadow: 0 4px 12px rgba(139, 92, 246, 0.3);
}

.card:hover {
  border-color: #b794f4;
  box-shadow: 0 10px 40px rgba(139, 92, 246, 0.5);
  transform: translateY(-3px);
}

.card-icon { font-size: 2.5em; margin-bottom: 15px; }
.card h2 { color: #f5f2e8; font-size: 1.6em; margin-bottom: 15px; }
.card p { color: #e8e0c8; line-height: 1.6; }
.card a { color: #b794f4; text-decoration: none; }
.card a:hover { text-decoration: underline; color: #8b5cf6; }

.card-badge {
  position: absolute;
  top: 15px;
  right: 15px;
  background: rgba(245, 242, 232, 0.1);
  border: 1px solid #b794f4;
  border-radius: 12px;
  padding: 4px 10px;
  font-size: 0.75em;
  color: #b794f4;
}

.section {
  background: #3d2a52;
  border: 2px solid #9b7eb8;
  border-radius: 12px;
  padding: 40px;
  margin-bottom: 40px;
  box-shadow: 0 4px 12px rgba(139, 92, 246, 0.2);
}

.section h2 {
  color: #f5f2e8;
  font-size: 2em;
  margin-bottom: 25px;
  text-shadow: 0 0 15px rgba(139, 92, 246, 0.4);
}

.btn {
  display: inline-block;
  padding: 12px 24px;
  border-radius: 8px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s;
  margin: 5px;
}

.btn-primary {
  background: linear-gradient(135deg, #b794f4, #8b5cf6);
  color: #f5f2e8;
}

.btn-secondary {
  background: rgba(245, 242, 232, 0.05);
  color: #b794f4;
  border: 2px solid #b794f4;
}

.btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 5px 20px rgba(139, 92, 246, 0.6);
}

.page-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 15px;
}

.page-item {
  background: rgba(245, 242, 232, 0.05);
  border: 1px solid #9b7eb8;
  border-radius: 8px;
  padding: 15px;
  transition: all 0.3s;
}

.page-item:hover {
  border-color: #b794f4;
  background: rgba(245, 242, 232, 0.1);
  box-shadow: 0 4px 12px rgba(139, 92, 246, 0.3);
}

.page-item a {
  color: #b794f4;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 10px;
}

.page-item-icon { font-size: 1.5em; }
.page-item-size { font-size: 0.8em; color: #e8e0c8; margin-top: 5px; }

footer {
  text-align: center;
  padding: 30px;
  color: #e8e0c8;
  border-top: 2px solid #9b7eb8;
  margin-top: 60px;
}

/* Color Scheme Variants */
.color-green h1, .color-green .card { border-left-color: #90ee90; }
.color-blue h1, .color-blue .card { border-left-color: #b794f4; }
.color-purple h1, .color-purple .card { border-left-color: #8b5cf6; }
.color-orange h1, .color-orange .card { border-left-color: #f59e0b; }
.color-red h1, .color-red .card { border-left-color: #ff6b6b; }
.color-cyan h1, .color-cyan .card { border-left-color: #00bfff; }

/* Sidebar Navigation */
.sidebar {
  position: fixed;
  right: 20px;
  top: 20px;
  background: #3d2a52;
  border: 2px solid #9b7eb8;
  border-radius: 12px;
  padding: 20px;
  max-width: 250px;
  max-height: 80vh;
  overflow-y: auto;
  z-index: 1000;
  box-shadow: 0 6px 20px rgba(139, 92, 246, 0.4);
}

.sidebar h3 {
  color: #f5f2e8;
  font-size: 1.2em;
  margin-bottom: 15px;
  text-shadow: 0 0 10px rgba(139, 92, 246, 0.4);
}

.sidebar ul { list-style: none; }
.sidebar li { margin-bottom: 10px; }

.sidebar a {
  color: #b794f4;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.9em;
  transition: color 0.3s;
}

.sidebar a:hover { color: #8b5cf6; }

@media (max-width: 1200px) {
  .sidebar { display: none; }
}
