/* Regulation document layout — Master's / Doctoral program pages */
/* serif body for a warm, readable "formal document" feel; sans-serif kept for structural elements (headings, article numbers, labels) */
.reg-doc {
    font-family: Georgia, "Noto Serif TC", "Songti TC", "Times New Roman", serif;
    color: #3a4045;
    font-size: 16.5px;
    line-height: 1.9;
    max-width: 880px;
    margin: 0 auto;
    /* generous left/right breathing room; extra on the right to balance the article accent-bar indent on the left */
    padding: .5rem 2.25rem 1.5rem 1.5rem;
}
/* shared sans stack for structural bits */
.reg-doc .doc-head h2,
.reg-doc .art .no,
.reg-doc .mk,
.reg-doc .cats .cat b {
    font-family: "Roboto", "Helvetica", "Arial", sans-serif;
}

/* ---- document header ---- */
.reg-doc .doc-head {
    text-align: center;
    margin: .5rem 0 2.4rem;
}
.reg-doc .doc-head h2 {
    font-size: 1.4rem;
    font-weight: 700;
    color: #00796b;
    line-height: 1.55;
    margin: 0 auto .8rem;
    max-width: 720px;
}
.reg-doc .doc-head .dates {
    color: #8a949c;
    font-size: .9rem;
    line-height: 1.75;
}
.reg-doc .doc-head .accent {
    width: 60px;
    height: 3px;
    background: #009688;
    border-radius: 2px;
    margin: 1.2rem auto 0;
}

/* ---- article block ---- */
.reg-doc .art {
    margin: 1.55rem 0;
    padding: .15rem 0 .15rem 1.2rem;
    border-left: 3px solid #009688;
}
.reg-doc .art > p {
    margin: .4rem 0;
    text-align: justify;
}
.reg-doc .art .no {
    font-weight: 700;
    color: #009688;
    font-size: 1.02rem;
    letter-spacing: .015em;
}
.reg-doc .art .lead {
    font-weight: 600;
    color: #2b3942;
}
.reg-doc .note {
    margin: .45rem 0 .2rem 1.5rem;
    padding-left: .9rem;
    border-left: 2px solid #e3eceb;
    color: #5c6770;
    font-size: .97rem;
    text-align: justify;
}

/* ---- numbered / lettered items ---- */
.reg-doc ol.items,
.reg-doc ol.sub {
    list-style: none;
    margin: .55rem 0;
    padding: 0;
}
.reg-doc ol.items > li {
    position: relative;
    padding-left: 2.4rem;
    margin: .5rem 0;
    text-align: justify;
}
.reg-doc ol.sub {
    margin: .55rem 0 .55rem .3rem;
}
.reg-doc ol.sub > li {
    position: relative;
    padding-left: 2.6rem;
    margin: .55rem 0;
    text-align: justify;
}
.reg-doc .mk {
    position: absolute;
    left: 0;
    top: 0;
    color: #009688;
    font-weight: 600;
}

/* ---- course categories under (C) ---- */
.reg-doc .cats {
    margin: .6rem 0 .3rem;
}
.reg-doc .cats .cat {
    margin: .4rem 0;
    padding: .45rem .9rem;
    background: #f5fafa;
    border-left: 3px solid #b2dfdb;
    border-radius: 0 6px 6px 0;
}
.reg-doc .cats .cat b {
    display: block;
    color: #00796b;
    font-size: .92rem;
    text-transform: uppercase;
    letter-spacing: .03em;
    margin-bottom: .1rem;
}

/* ---- course title styling (replaces the old <angle brackets>) ---- */
.reg-doc .c {
    font-style: italic;
    color: #2b3942;
    white-space: nowrap;
}

/* ---- responsive ---- */
@media (max-width: 768px) {
    .reg-doc { font-size: 15px; line-height: 1.8; padding: .25rem 1rem 1rem .75rem; }
    .reg-doc .doc-head h2 { font-size: 1.2rem; }
    .reg-doc .c { white-space: normal; }
}
