/* curriculum.css — compact accordion styles used in course pages */

/* Layout for curriculum container */
.curriculum-container { background: var(--light); padding: 3rem; border-radius: 20px; margin: 3rem 0; }

/* Tight stacking and very compact module cards */
.curriculum-content { display: grid; gap: 0.6rem; } /* overall gap */

.curriculum-module {
    background: var(--white);
    padding: 0;
    border-radius: 12px;
    border-left: 4px solid var(--primary);
    box-shadow: 0 3px 10px rgba(0,0,0,0.05);
    margin-bottom: 0.55rem;
}

/* header created by JS — compact */
.curriculum-module .module-header {
    display:flex; justify-content:space-between; align-items:center; gap:1rem;
    padding: 0.35rem 0.6rem; cursor:pointer; user-select:none; background:transparent; border-radius:10px;
    min-height:36px;
}

/* title inside header */
.curriculum-module .module-header h3,
.curriculum-module .module-header h4 {
    font-size: 0.95rem; margin:0; line-height:1.05; font-weight:700; color:var(--secondary);
}

/* toggle icon/button small */
.curriculum-module .module-toggle {
    width:26px; height:26px; display:inline-grid; place-items:center; border-radius:6px;
    font-weight:700; font-size:.85rem; transform-origin:center; transition:transform .22s ease; background:transparent; border:none;
}

/* rotate when open */
.curriculum-module.open .module-toggle { transform: rotate(180deg); }

/* content hidden area */
.curriculum-module .module-content {
    padding: 0.35rem 0.9rem 0.3rem 0.9rem;
    max-height: 0; overflow:hidden; transition: max-height .32s ease, padding .2s ease;
}

/* lists compact */
.curriculum-module .module-content ul {
    margin: 0.25rem 0 0 0; padding:0; list-style:none; display:grid; gap:.25rem;
}
.curriculum-module .module-content li {
    padding-left:1.2rem; position:relative; color:var(--text); line-height:1.4;
    padding-top:.18rem; padding-bottom:.18rem; font-size:.95rem;
}
.curriculum-module .module-content li::before {
    content: '✓'; position:absolute; left:0; color:var(--primary); font-weight:bold; font-size:1rem; top:50%; transform:translateY(-50%);
}

/* focus outlines */
.curriculum-module .module-header:focus { outline:3px solid rgba(255,107,53,0.12); outline-offset:3px; }

/* extremely tight stacking */
.curriculum-module + .curriculum-module { margin-top: 0; }

/* modal variant */
.modal .curriculum-module .module-content { padding: 0.6rem 1rem 1rem 1rem; }
