/* -----------------------------
   Acenium Assessment Platform
   Custom Styles
------------------------------*/

/* -----------------------------
   Global Enhancements
------------------------------*/

/* Set Poppins as the default font */
body {
  font-family: 'Poppins', sans-serif;
  font-weight: 300; /* Normal */
}

/* Make all headings semi-bold */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Poppins', sans-serif;
  font-weight: 600; /* Semi-bold */
}

html {
  font-size: 16px; /* Base size */
}

body {
  font-size: 1rem; /* Scales from root */
}

.text-primary {
  color: #2B7BF5 !important;
}

.feather-primary {
  color: #775dfeff !important;
}

.navbar-brand {
  font-weight: 600;
}

.navbar-brand i {
  margin-right: 8px;
}

.card-title svg.feather {
  vertical-align: middle;
  position: relative;
  top: -1px;
  margin-right: 0.5rem; /* replicate me-2 */
  height: 1em;
  width: 1em;
}

a {
  color: #2B7BF5;
  text-decoration: none;
}

a:hover {
  color: #2566E9;
  text-decoration: none;
}

/* Navbar link styling */
.navbar-nav .nav-link {
  color: #cbd5e1; /* Light slate */
  transition: color 0.2s ease;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus {
  color: #2B7BF5; /* Acenium blue */
  text-decoration: none;
}

.navbar-nav .nav-link.active {
  color: #2B7BF5;
  font-weight: 500;
}


/* -----------------------------
   Landing Page – Tooling Theme
------------------------------*/

.tooling-feather {
  color: #2B7BF5 !important;
}

.tooling-border {
  border-color: ##565d70 !important;
  border-width: 1px !important;
  padding: 5px;
}

.tooling-btn {
  background-color: rgba(43, 123, 245, 0.2);
  border-color: #2B7BF5;
  color: #fff;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.tooling-btn:hover,
.tooling-btn:focus {
  background-color: rgba(43, 123, 245, 0.1);
  border-color: #2B7BF5;
  color: #fff;
}

.tooling-btn:active {
  background-color: rgba(43, 123, 245, 0.2) !important;
  border-color: #2B7BF5 !important;
  color: #fff !important;
  box-shadow: none !important;
  outline: none !important;
}

/* -----------------------------
   Landing Page – Team Theme
------------------------------*/

.team-feather {
  color: #2B7BF5 !important;
}

.team-border {
  border-color: ##565d70 !important;
  border-width: 1px !important;
  padding: 5px;
}

.team-btn {
  background-color: rgba(43, 123, 245, 0.2);
  border-color: #2B7BF5;
  color: #fff;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.team-btn:hover,
.team-btn:focus {
  background-color: rgba(43, 123, 245, 0.1);
  border-color: #2B7BF5;
  color: #fff;
}

.team-btn:active {
  background-color: rgba(43, 123, 245, 0.2) !important;
  border-color: #2B7BF5 !important;
  color: #fff !important;
  box-shadow: none !important;
  outline: none !important;
}

/* -----------------------------
   Landing Page – Product Theme
------------------------------*/

.product-feather {
  color: #2B7BF5 !important;
}

.product-border {
  border-color: ##565d70 !important;
  border-width: 1px !important;
  padding: 5px;
}

.product-btn {
  background-color: rgba(43, 123, 245, 0.2);
  border-color: #2B7BF5;
  color: #fff;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.product-btn:hover,
.product-btn:focus {
  background-color: rgba(43, 123, 245, 0.1);
  border-color: #2B7BF5;
  color: #fff;
}

.product-btn:active {
  background-color: rgba(43, 123, 245, 0.2) !important;
  border-color: #2B7BF5 !important;
  color: #fff !important;
  box-shadow: none !important;
  outline: none !important;
}

/* -----------------------------
   All Buttons
------------------------------*/

.all-btn {
  background-color: rgba(43, 123, 245, 0.2);
  border-color: #2B7BF5;
  color: #fff;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.all-btn:hover,
.all-btn:focus {
  background-color: rgba(43, 123, 245, 0.1);
  border-color: #2B7BF5;
  color: #fff;
}

.all-btn:active {
  background-color: rgba(43, 123, 245, 0.2) !important;
  border-color: #2B7BF5 !important;
  color: #fff !important;
  box-shadow: none !important;
  outline: none !important;
}


/* -----------------------------
Social Icons in Footer
------------------------------*/
.social-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  margin-right: -7px;
  color: #fff;
  background-color: transparent;
  border-radius: 50%;
  font-size: 1rem;
  transition: color 0.2s ease, transform 0.2s ease;
}

.social-icon:hover {
  color: #2566E9;
  transform: scale(1.1);
}

.social-icon svg {
  width: 15px;
  height: 15px;
  fill: currentColor;
}


/* -----------------------------
   Tooling Page – Colours & Focus
------------------------------*/

body[data-section="tooling"] [data-feather],
body[data-section="tooling"] .text-info {
  color: #2B7BF5 !important;
  stroke: #2B7BF5 !important;
}

body[data-section="tooling"] .form-control:focus,
body[data-section="tooling"] .form-select:focus {
  border-color: #2B7BF5 !important;
  box-shadow: 0 0 0 0.2rem rgba(43, 123, 245, 0.25) !important;
  outline: none !important;
}

body[data-section="tooling"] .btn-info,
body[data-section="tooling"] .btn-info:hover,
body[data-section="tooling"] .btn-info:focus,
body[data-section="tooling"] .btn-info:active,
body[data-section="tooling"] .btn-info:focus:active,
body[data-section="tooling"] .btn-info:focus-visible {
  background-color: rgba(43, 123, 245, 0.2);
  border-color: #2B7BF5 !important;
  color: #fff !important;
  box-shadow: none !important;
  outline: none !important;
}


/* -----------------------------
   Team Page – Colours & Focus
------------------------------*/

body[data-section="team"] [data-feather],
body[data-section="team"] .text-info {
  color: #2B7BF5 !important;
  stroke: #2B7BF5 !important;
}

body[data-section="team"] .form-control:focus,
body[data-section="team"] .form-select:focus {
  border-color: #2B7BF5 !important;
  box-shadow: 0 0 0 0.2rem rgba(43, 123, 245, 0.25) !important;
  outline: none !important;
}

body[data-section="team"] .btn-info,
body[data-section="team"] .btn-info:hover,
body[data-section="team"] .btn-info:focus,
body[data-section="team"] .btn-info:active,
body[data-section="team"] .btn-info:focus:active,
body[data-section="team"] .btn-info:focus-visible {
  background-color: rgba(43, 123, 245, 0.2);
  border-color: #2B7BF5 !important;
  color: #fff !important;
  box-shadow: none !important;
  outline: none !important;
}


/* -----------------------------
   Product Page – Colours & Focus
------------------------------*/

body[data-section="product"] [data-feather],
body[data-section="product"] .text-info {
  color: #2B7BF5 !important;
  stroke: #2B7BF5 !important;
}

body[data-section="product"] .form-control:focus,
body[data-section="product"] .form-select:focus {
  border-color: #2B7BF5 !important;
  box-shadow: 0 0 0 0.2rem rgba(43, 123, 245, 0.25) !important;
  outline: none !important;
}

body[data-section="product"] .btn-info,
body[data-section="product"] .btn-info:hover,
body[data-section="product"] .btn-info:focus,
body[data-section="product"] .btn-info:active,
body[data-section="product"] .btn-info:focus:active,
body[data-section="product"] .btn-info:focus-visible {
  background-color: rgba(43, 123, 245, 0.2);
  border-color: #2B7BF5 !important;
  color: #fff !important;
  box-shadow: none !important;
  outline: none !important;
}

/* -----------------------------
   Cards
------------------------------*/

.card {
  transition: box-shadow 0.3s ease;
}

.card:hover {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.card.border-primary,
.card.border-success,
.card.border-info {
  border-width: 2px;
}

/* -----------------------------
   Forms
------------------------------*/

.form-control:focus,
.form-select:focus {
  border-color: #2B7BF5 !important;
  box-shadow: 0 0 0 0.2rem rgba(43, 123, 245, 0.25) !important;
  outline: none !important;
}

.form-check-input:checked {
  background-color: #2B7BF5;
  border-color: #2B7BF5;
}

/* -----------------------------
   Progress Bars
------------------------------*/

.progress {
  background-color: rgba(108, 117, 125, 0.2); /* Bootstrap secondary fallback */
}

.progress-bar {
  background: linear-gradient(90deg, #2B7BF5, #17C1E8); /* Blue → info blend */
}

/* -----------------------------
   Assessment Cards
------------------------------*/

.assessment-card {
  min-height: 400px;
}

.score-display {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1;
}

/* -----------------------------
   Icons
------------------------------*/

.feather {
  width: 20px;
  height: 20px;
  vertical-align: text-bottom;
}

.feather-large {
  width: 48px;
  height: 48px;
}

/* -----------------------------
   Loading State
------------------------------*/

.btn-loading {
  position: relative;
  pointer-events: none;
}

.btn-loading::after {
  content: "";
  position: absolute;
  width: 16px;
  height: 16px;
  top: 50%;
  left: 50%;
  margin-left: -8px;
  margin-top: -8px;
  border: 2px solid transparent;
  border-top-color: #fff;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* -----------------------------
   Responsive
------------------------------*/

@media (max-width: 768px) {
  .display-4 {
    font-size: 2rem;
  }

  .display-5 {
    font-size: 1.75rem;
  }

  .score-display {
    font-size: 2rem;
  }

  .feather-large {
    width: 32px;
    height: 32px;
  }
}

/* -----------------------------
   Print Styles
------------------------------*/

@media print {
  .navbar,
  .btn,
  .alert,
  .footer {
    display: none !important;
  }

  .container {
    max-width: none !important;
    padding: 0 !important;
  }

  .card {
    border: 1px solid #dee2e6 !important;
    box-shadow: none !important;
  }
}

/* -----------------------------
   Dark Mode
------------------------------*/

[data-bs-theme="dark"] .card {
  background-color: var(--bs-dark);
  border-color: var(--bs-secondary);
}

[data-bs-theme="dark"] .text-muted {
  color: var(--bs-secondary) !important;
}

[data-bs-theme="dark"] .bg-light {
  background-color: var(--bs-dark) !important;
  color: var(--bs-light);
}

/* -----------------------------
   Utility & Accessibility
------------------------------*/

.text-muted-gap {
  margin-right: 6px;
  display: inline-block;
}

.form-submitting {
  opacity: 0.7;
  pointer-events: none;
}

.form-submitting .form-control {
  background-color: var(--bs-light);
}

.alert-custom {
  border-left: 4px solid var(--bs-primary);
  border-radius: 0.375rem;
}

.tooltip {
  font-size: 0.875rem;
}

.skip-link {
  position: absolute;
  top: -40px;
  left: 6px;
  background: var(--bs-primary);
  color: white;
  padding: 8px;
  text-decoration: none;
  z-index: 1000;
}

.skip-link:focus {
  top: 6px;
}

/* Ensure table text is white in dark mode */
[data-bs-theme="dark"] .table {
  color: #f8f9fa; /* Bootstrap light text */
}

[data-bs-theme="dark"] .table th,
[data-bs-theme="dark"] .table td {
  color: #f8f9fa;
}

/* -----------------------------
   Mobile Footer Left
------------------------------*/
.left-mobile {
  padding-bottom: 5px
}


/* Restore tooltip to light background with dark text */
.tooltip-inner {
  background-color: #fff !important;
  color: #1F2937 !important; /* dark text from your brand neutrals */
  border: 1px solid #D1D5DB;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

.tooltip.bs-tooltip-top .tooltip-arrow::before,
.tooltip.bs-tooltip-bottom .tooltip-arrow::before,
.tooltip.bs-tooltip-start .tooltip-arrow::before,
.tooltip.bs-tooltip-end .tooltip-arrow::before {
  border-color: #fff !important;
}
