/* Global Theme - Unified styles for the whole site */

:root {
  --brand-primary: #4f46e5; /* indigo-600 */
  --brand-secondary: #5b21b6; /* violet-800 for stronger contrast */
  --brand-accent: #16a34a; /* green-600 (better contrast on light bg) */
  --brand-muted: #6b7280; /* gray-500 */
  --bg-soft: #f8fafc; /* slate-50 */
  --text-strong: #111827; /* gray-900 */
  --text-soft: #374151; /* gray-700 */
  --card-bg: #ffffff;
  --card-border: rgba(17, 24, 39, 0.06);
  --shadow-sm: 0 6px 16px rgba(0,0,0,.08);
  --shadow-md: 0 12px 28px rgba(0,0,0,.12);
  --radius-lg: 16px;
  --white: #ffffff;
}

/* Base */
html, body {
  background: var(--bg-soft);
  color: var(--text-soft);
}

h1, h2, h3, h4, h5 {
  color: var(--text-strong);
}

a { color: var(--brand-primary); }
a:hover { color: var(--brand-secondary); }

/* Navbar */
.navbar.navbar-dark.bg-primary {
  background: linear-gradient(135deg, var(--brand-primary), var(--brand-secondary)) !important;
}

/* Cards */
.card, .login-card, .register-card {
  background: var(--card-bg);
  border: 1px solid var(--card-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
}
.card:hover, .login-card:hover, .register-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
}

/* Buttons */
.btn-primary, .btn-login, .btn-register {
  background: linear-gradient(135deg, var(--brand-primary), var(--brand-secondary));
  border: none;
}
.btn-primary:hover, .btn-login:hover, .btn-register:hover {
  filter: brightness(1.05);
  box-shadow: 0 10px 24px rgba(79, 70, 229, .35);
}

/* Forms */
.form-control {
  border-radius: 12px;
  border-width: 2px;
  border-color: #e5e7eb;
}
.form-control:focus {
  border-color: var(--brand-primary);
  box-shadow: 0 0 0 .2rem rgba(79, 70, 229, .2);
}
.form-label { font-weight: 600; color: var(--text-soft); }

/* Paginator */
.page-link { color: var(--brand-primary); }
.page-link:hover { color: var(--brand-secondary); }
.active > .page-link { background: var(--brand-primary); border-color: var(--brand-primary); }

/* Alerts */
.alert { border-radius: 12px; border: none; }
.alert-danger { background: rgba(220,53,69,.1); color: #7f1d1d; }
.alert-success { background: rgba(22,163,74,.1); color: #065f46; }

/* Footer */
.footer { background: #ffffff; border-top: 1px solid var(--card-border); }

/* Utilities */
.shadow-soft { box-shadow: var(--shadow-sm); }
.rounded-lg { border-radius: var(--radius-lg); }

/* Feature areas */
.gradient-section {
  background: linear-gradient(135deg, var(--brand-primary), var(--brand-secondary));
  color: var(--white);
}

/* Accessibility: Ensure high contrast within gradient sections */
.gradient-section h1,
.gradient-section h2,
.gradient-section h3,
.gradient-section h4,
.gradient-section h5,
.gradient-section p,
.gradient-section .lead,
.gradient-section .stats-number,
.gradient-section .platform-badge,
.gradient-section .download-btn,
.gradient-section .text-muted {
  color: var(--white) !important;
}

/* Avoid green-on-purple low contrast: make success info white in gradient sections */
.gradient-section .text-success,
.gradient-section .btn-link,
.gradient-section a { color: var(--white) !important; }

/* Buttons inside gradient section already white; keep good contrast */
.gradient-section .download-btn {
  background: var(--white);
  color: var(--brand-primary) !important;
  border: none;
}
.gradient-section .download-btn:hover {
  filter: brightness(0.98);
  box-shadow: 0 10px 20px rgba(0,0,0,0.25);
}

/* Alerts: provide readable styles on gradient backgrounds */
.gradient-section .alert {
  background: rgba(255,255,255,0.16) !important;
  color: var(--white) !important;
  border: 1px solid rgba(255,255,255,0.25) !important;
}
.gradient-section .alert-success { box-shadow: none; }

/* Software cards */
.software-card {
  transition: transform 0.3s ease;
  height: 100%;
}
.software-card:hover {
  transform: translateY(-5px);
}

/* Benefit cards */
.benefit-card {
  transition: transform 0.3s ease;
  height: 100%;
}
.benefit-card:hover {
  transform: translateY(-10px);
}

/* Platform badges */
.platform-badge {
  font-size: 0.8em;
}

/* Navigation brand */
.navbar-brand {
  font-weight: bold;
}

/* Body layout */
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
.main-content {
  flex: 1;
}

/* Pricing label override */
.price-tag { color: var(--brand-accent); }

/* Icons and accent on light backgrounds only */
.feature-icon { color: var(--brand-accent); }
.use-case-icon { color: var(--brand-secondary); }

/* Badges readability on gradient */
.gradient-section .platform-badge {
  background-color: rgba(255, 255, 255, 0.25) !important;
  color: var(--white) !important;
}

/* Language dropdown */
.dropdown-menu .dropdown-item.active,
.dropdown-menu .dropdown-item:active {
  background: linear-gradient(135deg, var(--brand-primary), var(--brand-secondary));
}
