[data-course-theme] {
    --sub: #56637f;
    --card: #fff;
    --border: #c7dbff;
    --radius: 18px;
    width: min(80vw, 1120px);
    margin: 28px auto;
    padding: 32px 24px 48px;
    box-sizing: border-box;
}
[data-course-theme] .sub {
    text-align: center !important;
    color: var(--sub);
    margin: 0 0 28px;
    font-size: 1.05rem;
}
[data-course-theme] h1[id$="-title"] {
    display: block;
    text-align: center !important;
    margin: 6px auto 18px;
    font-size: clamp(28px, 4vw, 42px);
    font-weight: 900;
    color: #ff9900;
    line-height: 1.25;
}
[data-course-theme] h2 {
    margin: 10px 0 12px;
    padding: 10px 12px 10px 14px;
    font-weight: 800;
    color: #ff9900;
    border-left: 6px solid #ff9900;
    border-radius: 10px;
    background: linear-gradient(180deg, rgba(255,247,235,0.85), rgba(255,243,224,0.7));
}
[data-course-theme] .card {
    background: var(--card);
    border: 2px dashed var(--border);
    border-radius: var(--radius);
    padding: 22px;
    margin: 16px 0 28px;
    box-shadow: 0 10px 30px rgba(47,131,255,.12);
}
[data-course-theme] .grid {
    display: grid;
    gap: 20px;
}
@media (min-width: 820px) {
    [data-course-theme] .grid.cols-2 { grid-template-columns: 1fr 1fr; }
}
[data-course-theme] .learn-badges {
    list-style: none;
    margin: 12px 0 0;
    padding: 0;
}
[data-course-theme] .learn-badges li {
    margin: 8px 0;
    padding: 8px 14px;
    border-radius: 999px;
    border: 1px dashed #c7dbff;
    background: #eaf2ff;
    color: #0b3a82;
    font-weight: 700;
}
[data-course-theme] .badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 12px;
}
[data-course-theme] .badge {
    display: inline-flex;
    padding: 6px 12px;
    border-radius: 999px;
    border: 1px dashed #c7dbff;
    background: #eaf2ff;
    color: #0b3a82;
    font-weight: 700;
    font-size: 0.92rem;
}
[data-course-theme] section[id] { scroll-margin-top: 140px; }
.welfare-cta {
    text-align: center;
    padding: 36px 20px 56px;
}
.welfare-cta h2 { color: #2b3648; margin: 0 0 10px; }
.welfare-cta p { color: #56637f; margin: 0 0 18px; }
.welfare-cta a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0.55rem 1.4rem;
    border-radius: 999px;
    background: #ff9900;
    color: #fff;
    font-weight: 700;
    text-decoration: none;
}
.welfare-cta a:hover { background: #e08600; }
