/* ==========================================================
   Student Navigation Bar - Shared Styles
   Used by all student-facing pages (dashboard, lessons, tasks, submissions)
   ========================================================== */

/* ===== NAV WRAPPER ===== */
.forest-nav-wrap {
    position: sticky;
    top: 0;
    z-index: 50;
}

/* ===== NAV CONTAINER ===== */
.forest-nav {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    container-type: inline-size;
}

/* Background image (image-based themes only) */
.forest-nav-bg {
    display: block;
    width: 100%;
    height: auto;
    pointer-events: none;
}

/* Inner layout: 3-column flex */
.forest-nav-inner {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 0;
    padding-bottom: 0;
    padding-right: var(--t-nav-padding-right, 0);
    padding-left: var(--t-nav-padding-left, 0);
}

/* ===== NAV SECTIONS ===== */
.forest-nav-section {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: var(--t-nav-section-justify, flex-start);
    padding-right: var(--t-nav-section-padding);
}

/* Center: logo - true center, no translate hack */
.forest-nav-section.nav-center {
    justify-content: center;
    flex: 0 0 auto;
    padding: var(--t-nav-center-padding);
}

/* End (left side in RTL) */
.forest-nav-section.nav-end {
    justify-content: var(--t-nav-section-justify, flex-end);
    gap: 8px;
    padding-left: var(--t-nav-section-padding);
    padding-right: 0;
}

/* ===== LOGO ===== */
.forest-nav-logo {
    height: min(4.5cqw, 52px);
    width: auto;
    object-fit: contain;
    filter: drop-shadow(0 2px 8px rgba(0,0,0,0.4));
}

/* ===== NAV INFO TEXT ===== */
.forest-nav-info {
    font-size: min(1.1cqw, 1rem);
    color: var(--t-text-primary);
    font-weight: 800;
    text-shadow: 0 2px 6px rgba(0,0,0,0.8);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ===== NAV BUTTONS ===== */
.forest-nav-btn {
    display: inline-flex;
    align-items: center;
    gap: min(0.5cqw, 6px);
    padding: min(0.7cqw, 8px) min(1.5cqw, 18px);
    border-radius: 8px;
    font-size: min(0.85cqw, 0.8rem);
    font-weight: 700;
    color: var(--t-text-primary);
    background: var(--t-nav-btn-bg);
    border: 1.5px solid rgba(var(--t-accent-rgb), 0.45);
    cursor: pointer;
    text-decoration: none;
    transition: all 0.25s;
    font-family: inherit;
    white-space: nowrap;
}

.forest-nav-btn:hover {
    background: rgba(var(--t-accent-rgb), 0.25);
    border-color: rgba(var(--t-accent-rgb), 0.8);
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(var(--t-accent-rgb), 0.2);
    color: var(--t-text-primary);
}

.forest-nav-btn svg {
    width: min(1.2cqw, 14px);
    height: min(1.2cqw, 14px);
    opacity: 0.8;
}

/* Logout form inline reset */
.forest-nav-logout-form {
    display: flex;
    align-items: center;
    margin: 0;
}
