/* ===== Reset & basic styles ===== */
*,
*::before,
*::after {
    box-sizing: border-box;
}

body,
h1,
h2,
p,
ul,
li,
figure {
    margin: 0;
    padding: 0;
}

ul {
    list-style: none;
}

/* ===== Layout ===== */
body {
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.5;
    background: #f8f9fa;
    color: #212529;
}

.site-header {
    text-align: center;
    padding: 1rem 0;
    background: #343a40;
    color: #fff;
}

.logo {
    font-size: 1.8rem;
}

.separator {
    width: 80%;
    margin: 0.5rem auto 0;
    border: 0;
    border-top: 1px solid #6c757d;
}

.content {
    display: flex;
    height: calc(100vh - 140px);
    /* Adjust based on header height */
}

/* ===== Sidebar ===== */
.sidebar {
    width: 20%;
    background: #e9ecef;
    padding: 1rem;
    overflow-y: auto;
}

.sidebar ul li {
    margin-bottom: 0.5rem;
}

.sidebar a {
    text-decoration: none;
    color: #212529;
    display: block;
    padding: 0.4rem 0.6rem;
    border-radius: 4px;
}

.sidebar a:hover,
.sidebar a:focus,
.sidebar li.active a {
    background: #adb5bd;
    color: #fff;
}

/* ===== Main panel ===== */
.panel {
    flex: 1;
    padding: 1rem;
    overflow-y: auto;
    background: #fff;
}

.program {
    display: none;
    /* Hide all by default */
}

.program.active {
    display: block;
    /* Show the active one */
}

.program h2 {
    margin-bottom: 0.5rem;
}

.program img {
    max-width: 100%;
    height: auto;
    margin-bottom: 1rem;
    border: 1px solid #ced4da;
    border-radius: 4px;
}

/* ===== Responsive tweak ===== */
@media (max-width: 768px) {
    .content {
        flex-direction: column;
    }

    .sidebar {
        width: 100%;
    }
}