/* style.css - base styles plus footer behaviour */

/* --- existing general styles (kept/merged) --- */
body { font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial; margin:0; }

/* Cover column */
.cover-col > img{
  width: 90%;
  min-height: 220px;
  position: relative;
  top:3%;
  border-radius: 10px;
  border: 2px solid rgb(177, 172, 172);
}

.cover-col {
  text-align: center;
}

.btn-custom-color-student
{
  background-color: #c09411 !important;
}

.student-dash .fa-solid, .student-theme
{
  color: #c09411;
}

.inline-block
{
  display: inline-block !important;
}

.disabled
{
  opacity: .4;
  pointer-events: none !important;
}

.btn-outline-custom{
  --bs-btn-color: #c09411;
    --bs-btn-border-color: #c09411;
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: #c09411;
    --bs-btn-hover-border-color: #c09411;
    --bs-btn-focus-shadow-rgb: 255, 193, 7;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: #c09411;
    --bs-btn-active-border-color: #c09411;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #c09411;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #c09411;
    --bs-gradient: none;
}

.teacher-dash .fa-solid, .teacher-theme
{
  color: #157347;
}
/* feature list icons */
.feature-list li { margin: 8px 0; }

/* Small stats box */
.stat { background: #fafafa; border-radius: 8px; }

/* Make login card float on small screens */
@media (max-width: 767px) {
  .cover-col { display: none; }
}

/* subtle shadow and rounded */
.card { border-radius: 12px; }

.text-right
{
  text-align: right !important;
}

.float-right
{
  float:right !important;
}

.ques_icons
{
  text-decoration: none !important;
  font-size: 1em;
  color: black;
}

.btn-success > a,
.btn-danger > a
{
  color: white !important;
  text-decoration: none !important;
}

.green-color
{
  color:rgb(25,135,84);
}

.red-color
{
  color:rgb(220, 53, 69);
}
/* position fix for password toggle */
#togglePass { z-index: 5; }

/* small improvements */
.btn-lg { border-radius: 10px; }

/* --- content-wrap helper so footer won't overlap when absolute --- */
.content-wrap {
  /* ensure the space at the bottom adapts via JS */
  padding-bottom: 0;
  transition: padding-bottom 180ms ease;
}

/* --- FOOTER STYLES --- */
.site-footer {
  background: linear-gradient(180deg, #ffffff 0%, #f8f9fa 100%);
  border-top: 1px solid rgba(16,24,40,.06);
  color: #495057;
  font-size: 0.92rem;
  line-height: 1.4;
  box-shadow: 0 -6px 24px rgba(16,24,40,0.02);
}

/* layout inside footer */
.site-footer .footer-inner {
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 1.25rem 0;
}

/* left column */
.site-footer .brand {
  display: flex;
  gap: .75rem;
  align-items: center;
}
.site-footer .brand img { max-height: 44px; border-radius: 6px; }

/* links */
.site-footer .footer-links a {
  color: #495057;
  text-decoration: none;
  margin-right: 1rem;
}
.site-footer .footer-links a:hover {
  text-decoration: underline;
}

/* social icons */
.site-footer .social a { margin-left: 0.5rem; color: #495057; text-decoration: none; }
.site-footer .social a:hover { color: #0d6efd; }

/* small print */
.site-footer .small-print { color: #6c757d; font-size: .85rem; }

/* absolute/relative helper classes toggled by JS */
.footer-absolute {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 20;
}
.footer-relative {
  position: relative;
}

/* responsive tweaks */
@media (max-width: 576px) {
  .site-footer .footer-inner { padding: .85rem 0; }
  .site-footer .footer-inner { flex-direction: column; gap: .5rem; align-items: center; text-align:center; }
  .site-footer .footer-links { order: 3; width: 100%; }
}

.paper-tiles
{
  font-size: 1.1em;
}

.paper-cards
{
  background: #f0efed !important;
}
.sidebar {
      min-height: 70vh;
      border-right: 1px solid rgba(16,24,40,.04);
      padding: 0;
      padding-top: 1rem;
    }
    .nav-link { color: #495057; }
    .nav-link .fa-fw { width: 1.25rem; text-align: center; }
    .nav-link.active, .nav-link:hover, .nav-link:focus {
      background: rgb(0 0 0);
      color: #ffffff !important;
    }

    .nav-link {
        color: #e3e3e3;
        padding: .75em .5em;
    }
    /* ensure content-wrap spacing on small screens */
    .main-content { padding-top: 1.25rem; padding-bottom: 2rem; }
    @media (max-width: 991px) {
      .sidebar { border-right: none; }
    }