/**
 * Space Explorer Kids - Custom Theme Stylesheet (Dark Cosmic)
 */

/* 1. Global Custom Property Variables */
:root {
  --color-space-bg: #0b0f19;
  --color-space-alternate: #131929;
  --color-purple: #8b5cf6;
  --color-cyan: #06b6d4;
  --color-pink: #ec4899;
  --color-space-card: rgba(20, 27, 45, 0.7);
  --color-text-light: #f1f5f9;
  --color-text-muted: #94a3b8;
  
  --font-heading: 'Righteous', sans-serif;
  --font-body: 'Space Grotesk', sans-serif;
}

body.space-theme {
  background-color: var(--color-space-bg);
  font-family: var(--font-body);
  color: var(--color-text-light);
  overflow-x: hidden;
}

.font-heading {
  font-family: var(--font-heading) !important;
  letter-spacing: 1px;
}

.font-body {
  font-family: var(--font-body) !important;
}

/* Brand Colors Utilities */
.text-brand { color: var(--color-cyan) !important; }
.bg-brand { background-color: var(--color-purple) !important; }
.bg-brand-light { background-color: rgba(139, 92, 246, 0.15) !important; }
.bg-warning-light { background-color: rgba(6, 182, 212, 0.1) !important; border: 1px solid var(--color-cyan); }
.bg-space-card { background-color: var(--color-space-card) !important; }

.btn-space {
  background: linear-gradient(135deg, var(--color-cyan), var(--color-purple));
  color: white;
  border: none;
  font-family: var(--font-heading);
  text-transform: uppercase;
  font-weight: bold;
  padding: 10px 25px;
  box-shadow: 0 0 15px rgba(6, 182, 212, 0.4);
  transition: all 0.3s ease;
}
.btn-space:hover {
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 0 25px rgba(139, 92, 246, 0.8);
  color: white;
}
.btn-brand {
  background-color: var(--color-cyan);
  color: var(--color-space-bg);
  font-family: var(--font-heading);
  font-weight: bold;
}
.btn-brand:hover {
  background-color: #22d3ee;
  color: var(--color-space-bg);
  box-shadow: 0 0 15px rgba(6, 182, 212, 0.6);
}
.btn-outline-brand {
  border: 2px solid var(--color-purple);
  color: white;
  font-family: var(--font-heading);
}
.btn-outline-brand:hover {
  background-color: var(--color-purple);
  box-shadow: 0 0 15px rgba(139, 92, 246, 0.5);
  color: white;
}

/* Header & Glassmorphic Navigation */
.navbar {
  background: rgba(11, 15, 25, 0.75) !important;
  backdrop-filter: blur(12px);
  border-bottom: 2px solid rgba(6, 182, 212, 0.2);
}

.nav-link {
  font-family: var(--font-heading);
  font-weight: 500;
  transition: all 0.2s;
  color: var(--color-text-light) !important;
}

.nav-link:hover, .nav-link.active {
  color: var(--color-cyan) !important;
  text-shadow: 0 0 8px rgba(6, 182, 212, 0.6);
}

/* 2. Hero Section */
.hero-slider-item {
  height: 520px;
  background-size: cover;
  background-position: center;
  position: relative;
}

.hero-slider-item::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  background: radial-gradient(circle, rgba(139, 92, 246, 0.2) 0%, rgba(11, 15, 25, 0.7) 100%);
}

.hero-content {
  background: rgba(20, 27, 45, 0.85) !important;
  backdrop-filter: blur(15px);
  border: 2px solid var(--color-cyan);
  box-shadow: 0 0 25px rgba(6, 182, 212, 0.3) !important;
}

/* 3. Section Titles */
.section-title {
  color: white !important;
  text-shadow: 0 0 10px rgba(6, 182, 212, 0.4);
}

.section-title::after {
  background-color: var(--color-pink) !important;
  box-shadow: 0 0 8px var(--color-pink);
}

/* 4. Dark/Glass Cards */
.card {
  background-color: var(--color-space-card) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  color: var(--color-text-light);
  backdrop-filter: blur(10px);
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.card:hover {
  transform: translateY(-5px);
  border-color: var(--color-cyan) !important;
  box-shadow: 0 0 20px rgba(6, 182, 212, 0.3) !important;
}

/* Specific Card Adjustments */
.hw-card, .event-card, .facility-card, .achievement-card {
  background-color: var(--color-space-card) !important;
}

.birthday-item {
  background-color: rgba(20, 27, 45, 0.8) !important;
  border: 1.5px solid var(--color-pink) !important;
  box-shadow: 0 0 8px rgba(236, 72, 153, 0.2);
}

/* Overriding Standard Shared View Light styles to match Space Dark Theme */
.bg-light {
  background-color: var(--color-space-alternate) !important;
}

.text-muted, .text-secondary {
  color: var(--color-text-muted) !important;
}

.lead {
  color: var(--color-text-light) !important;
}

/* Inputs & Forms inside space theme */
.form-control, .form-select {
  background-color: rgba(11, 15, 25, 0.9) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  color: white !important;
}
.form-control:focus, .form-select:focus {
  border-color: var(--color-cyan) !important;
  box-shadow: 0 0 10px rgba(6, 182, 212, 0.4) !important;
}

/* Dropdowns space mode */
.dropdown-menu {
  background-color: #131929 !important;
  border: 1.5px solid var(--color-cyan) !important;
  box-shadow: 0 0 15px rgba(6, 182, 212, 0.3) !important;
}
.dropdown-item {
  color: var(--color-text-light) !important;
}
.dropdown-item:hover {
  background-color: var(--color-cyan) !important;
  color: var(--color-space-bg) !important;
}

/* Starfield canvas overlay */
#starfield-canvas {
  opacity: 0.9;
}

/* Social icons custom style */
.social-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1.5px solid var(--color-cyan);
  transition: all 0.2s;
}
.social-icon:hover {
  background-color: var(--color-cyan);
  color: var(--color-space-bg) !important;
  box-shadow: 0 0 10px var(--color-cyan);
}

.principal-img-frame {
  border: 4px solid var(--color-cyan);
  box-shadow: 0 0 15px rgba(6, 182, 212, 0.3);
}

.breadcrumb-item a {
  color: var(--color-cyan) !important;
}

/* Form background adjustment */
#admission-enquiry-form, #contact-form {
  background-color: transparent !important;
}

.badge.bg-secondary-subtle {
  background-color: rgba(255,255,255,0.08) !important;
  color: var(--color-cyan) !important;
}
.badge.bg-primary-subtle {
  background-color: rgba(6, 182, 212, 0.1) !important;
  color: var(--color-cyan) !important;
}
.badge.bg-success-subtle {
  background-color: rgba(139, 92, 246, 0.1) !important;
  color: var(--color-purple) !important;
}
.badge.bg-warning-subtle {
  background-color: rgba(236, 72, 153, 0.1) !important;
  color: var(--color-pink) !important;
}

.offline-banner {
  background-color: #ef4444 !important;
  color: white !important;
}
.rank-badge {
  border-color: var(--color-cyan) !important;
}
.birthday-card-bg {
  border: 2px solid var(--color-pink);
  box-shadow: 0 0 10px rgba(236,72,153,0.3) !important;
}
.accordion-item {
  background-color: var(--color-space-card) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.1) !important;
  color: white !important;
}
.accordion-button {
  background-color: var(--color-space-card) !important;
  color: white !important;
}
.accordion-button:not(.collapsed) {
  color: var(--color-cyan) !important;
  box-shadow: none !important;
}
.modal-content {
  background-color: #131929 !important;
  border: 2px solid var(--color-cyan) !important;
  box-shadow: 0 0 25px rgba(6, 182, 212, 0.4) !important;
}
.bg-brand-light {
  background-color: rgba(6, 182, 212, 0.1) !important;
}
.marquee {
  color: var(--color-cyan) !important;
}
.announcements-ticker {
  background-color: var(--color-space-alternate) !important;
  border-bottom: 2px solid rgba(6,182,212,0.15) !important;
}
.announcements-ticker marquee {
  color: var(--color-cyan) !important;
}
.stat-item {
  background-color: var(--color-space-card) !important;
}
.skeleton-card {
  background-color: var(--color-space-card) !important;
}
.placeholder {
  background-color: #1e293b !important;
}


/* 5. Custom Themed Cursor */
body.space-theme, body.space-theme a, body.space-theme button { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Ctext y='24' font-size='24'%3E🚀%3C/text%3E%3C/svg%3E") 16 16, auto !important; }
