/* ===================================================
   SIDEBAR LAYOUT
   Shared by index.html and about.html
   =================================================== */

/* ===== SIDEBAR ===== */
.sidebar {
    position: fixed;
    left: 0;
    top: 0;
    width: 164px;
    height: 100vh;
    background: var(--color-bg-page);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding-top: var(--space-4xl);
    padding-bottom: var(--space-4xl);
    padding-left: var(--space-2xl);
    padding-right: var(--space-4xl);
    z-index: 100;
}

.logo {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    margin-bottom: 28px;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    pointer-events: none;
}

.nav-links {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    align-items: flex-start;
}

.nav-links a {
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-regular);
    line-height: 18px;
    letter-spacing: 0.4px;
    color: var(--color-text-primary);
    text-decoration: none;
    transition: color 0.2s ease;
}

.nav-links a:hover {
    color: var(--color-text-tertiary);
}

.nav-links a:active,
.nav-links a.active {
    color: var(--color-text-tertiary);
}

/* ===== MAIN CONTENT ===== */
.main-content {
    margin-left: 164px;
    padding: var(--space-4xl);
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1199px) {
    .sidebar {
        padding-right: var(--space-2xl);
    }

    .main-content {
        margin-left: 96px;
    }
}

@media (max-width: 767px) {
    .sidebar {
        width: 128px;
        padding: var(--space-2xl);
    }

    .main-content {
        margin-left: 130px;
        padding: var(--space-2xl) var(--space-2xl) var(--space-2xl) 0;
    }
}

@media (max-width: 479px) {
    .sidebar {
        position: fixed;
        left: 0;
        right: 0;
        top: auto;
        bottom: 0;
        width: 100%;
        height: auto;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        padding: 18px;
        background: var(--color-bg-page);
        border-top: 1px solid var(--color-border);
    }

    .logo {
        margin-bottom: 0;
    }

    .nav-links {
        flex-direction: row;
        gap: 18px;
    }

    .main-content {
        margin-left: 0;
        padding: 18px;
        padding-bottom: 109px;
    }
}
