/* ─── Principles Sidebar ─── */
.principles-sidebar {
    background: #F8F8F8;
    border-radius: 16px;
    padding: 28px 24px;
    position: sticky;
    top: 113px;
}

.principles-sidebar__title {
    font-family: 'FbMetali', sans-serif;
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 8px;
}

.principles-sidebar__desc {
    font-size: 13px;
    color: var(--hp-text-secondary);
    line-height: 1.6;
    margin-bottom: 20px;
}

.principles-sidebar__list {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.principles-sidebar__item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 10px;
    text-decoration: none;
    color: var(--hp-text);
    font-size: 14px;
    font-weight: 500;
    transition: background 0.15s, color 0.15s;
}

.principles-sidebar__item:hover {
    background: rgba(0, 0, 0, 0.04);
    color: var(--principle-color, var(--hp-text));
}

.principles-sidebar__item--current {
    background: var(--hp-green);
}

.principles-sidebar__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
    background: var(--principle-color);
}

.principles-sidebar__link {
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid var(--hp-border);
}

.principles-sidebar__link a {
    font-size: 13px;
    color: var(--hp-text-secondary);
    text-decoration: none;
}

.principles-sidebar__link a:hover {
    text-decoration: underline;
}

/* Scoped override for design-principle page sidebar */
.dp-sidebar .principles-sidebar__link {
    margin-top: 16px;
    padding-top: 12px;
}

/* ─── Responsive ─── */
@media (max-width: 1024px) {
    .principles-sidebar {
        position: static;
    }

    .dp-sidebar .principles-sidebar {
        max-height: none;
        overflow-y: visible;
    }
}
