/* Layout */
.main-container { max-width: 860px; margin: auto; }

/* Quest card states */
.quest-card { border-left: 4px solid transparent; transition: transform .12s; }
.quest-card:hover:not(.quest-locked) { transform: translateY(-2px); }
.quest-done   { border-left-color: #adb5bd; }
.quest-active { border-left-color: #198754; }
.quest-hc     { border-left-color: #fd7e14; }
.quest-locked { opacity: .38; pointer-events: none; }

/* Thin progress bar */
.progress-xs { height: 6px; }

/* Body padding for fixed navbar — JS keeps this in sync with actual height */
body { padding-top: 60px; padding-bottom: 48px; }

/* Page-level h1 headings: clean, light-weight, consistent across all pages */
.main-container h1 {
    font-size: 1.75rem;
    font-weight: 300;
    letter-spacing: -0.01em;
    margin-bottom: 0.75rem;
}

/* Main nav links (Cursus Honorum, Vokabeln, Lehrerbereich): pill hover + bigger icons */
.navbar-nav > .nav-item > .nav-link {
    display: flex;
    align-items: center;
    gap: .4rem;
    border-radius: .5rem;
    transition: background-color .15s ease;
}
.navbar-nav > .nav-item > .nav-link:hover,
.navbar-nav > .nav-item > .nav-link:focus {
    background-color: var(--bs-tertiary-bg);
}
.navbar-nav .nav-icon { font-size: 1.2em; line-height: 1; }

/* Tight-but-not-collapsed widths (tablet/small laptop window): icon only, tooltip via title= */
@media (min-width: 768px) and (max-width: 991.98px) {
    .navbar-nav .nav-text { display: none; }
    .navbar-nav .nav-icon { font-size: 1.4rem; }
}
