
/* 소개 템플릿 안의 기존 로컬 CSS를 공통 파일로 이동. */
@media (min-width: 641px) {

    .wbs-program-intro .program-image {
        max-width: 664px;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    .wbs-program-intro .program-image img {
        display: block;
        width: 100%;
        max-width: 664px;
        height: auto;
        margin: 0 auto !important;
    }
    .wbs-program-intro .program-image + .program-image {
        margin-top: 12px;
    }
    .wbs-program-intro .intro_box,
.wbs-program-intro .intro_box * {
        font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    }
    .wbs-program-intro .prog_info .intro_tit {
        margin: 12px 0 0;
    }
    .wbs-program-intro .intro_box p {
        margin: 0 0 12px 0;
        line-height: 1.6;
        text-align: left;
    }
    .wbs-program-intro .holiday-program-heading {
        margin: 25px 0 18px;
        font-size: 22px;
        line-height: 1.4;
        font-weight: 700;
        text-align: center;
    }
    .wbs-program-intro .holiday-program-table-wrap {
        width: 100%;
        overflow-x: auto;
    }
    .wbs-program-intro .holiday-program-table {
        width: 100%;
        border-collapse: collapse;
    }
    .wbs-program-intro .holiday-program-table th,
.wbs-program-intro .holiday-program-table td {
        text-align: center;
        vertical-align: middle;
    }
    .wbs-program-intro .holiday-program-table .holiday-highlight {
        background: #f9eae8;
    }
    .wbs-program-intro .holiday-program-stack span {
        display: block;
    }
    .wbs-program-intro .holiday-program .holiday-program-notice {
        text-align: center;
    }
        .wbs-program-intro .program-intro-copy p {
        margin: 0 0 14px;
    }
    .wbs-program-intro .program-intro-copy p:last-child {
        margin-bottom: 0;
    }
    .wbs-program-intro .program-inline-image {
        margin: 18px auto !important;
        text-align: center !important;
    }
    .wbs-program-intro .program-inline-image img,
.wbs-program-intro .intro_box img {
        max-width: 100%;
        height: auto;
    }

}

.main_movie.wbs-program-intro{width:auto !important;margin-inline:20px !important;box-sizing:border-box}
.main_movie.wbs-program-intro *{box-sizing:border-box}
.main_movie.wbs-program-intro .program-images .program-image + .program-image{margin-top:10px}

/* 일반 본문과 표: PC·모바일 소개에서만 적용, 후원 영역은 제외. */

.wbs-program-intro .wbs-intro-content { font-family:inherit; color:#30383c; line-height:1.8; text-align:justify; }
.wbs-program-intro .wbs-intro-content :is(p,div,span,font,li) { font-family:inherit; font-size:inherit; line-height:inherit; color:inherit; }
.wbs-program-intro .wbs-intro-content p { margin:0 0 12px; }
.wbs-program-intro .wbs-intro-content p:last-child { margin-bottom:0; }
.wbs-program-intro .wbs-intro-content :is(ul,ol) { margin:12px 0; padding-left:1.5em; }
.wbs-program-intro .wbs-intro-content li + li { margin-top:6px; }
.wbs-program-intro .wbs-intro-content :is(h1,h2,h3,h4,h5,h6,.table_tit,.holiday-program-heading) { margin:24px 0 14px; color:var(--program-ink); font-size:1.2em; font-weight:700; line-height:1.5; text-align:left; }
.wbs-program-intro .wbs-intro-content img { max-width:100%; height:auto; }
.wbs-program-intro .wbs-intro-content a { color:var(--program-ink); text-decoration:none; }
.wbs-program-intro .wbs-intro-content a:hover { color:#587568; text-decoration:none; }
.wbs-program-intro .wbs-intro-content table { width:100%; border-collapse:collapse; font-size:inherit; line-height:1.65; }
.wbs-program-intro .wbs-intro-content :is(th,td) { padding:12px 10px; border:0; border-bottom:1px solid var(--program-rule); text-align:center; vertical-align:middle; overflow-wrap:break-word; }
.wbs-program-intro .wbs-intro-content th { background:#f3f6f4; color:var(--program-ink); font-weight:600; }
.wbs-program-intro .wbs-intro-content .wbs-intro-highlight { background:#edf3ef; }
.wbs-program-intro .wbs-intro-content .holiday-program-table-wrap { max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.wbs-program-intro .wbs-intro-content .holiday-program-table { min-width:600px; }
.wbs-program-intro .wbs-intro-content .holiday-program-stack span { display:block; }
.wbs-program-intro .wbs-intro-content .holiday-program-notice { text-align:center; }
@media (max-width:640px) {
    .wbs-program-intro .wbs-intro-content :is(th,td) { padding:10px 5px; font-size:14px; }
}

/* Shared program introduction. Scoped to the introduction templates only. */
.wbs-program-intro {
    --program-ink: #294b54;
    --program-muted: #66747a;
    --program-rule: #e1e8e6;
    font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    color: #30383c;
}
.prog_info.wbs-program-intro { padding-top: 32px; }
.wbs-program-intro .program-image {
    max-width: 664px;
    margin-inline: auto;
}
.wbs-program-intro .program-image img,
.wbs-program-intro img.program-image {
    display: block;
    width: 100%;
    height: auto;
}
.prog_info.wbs-program-intro .subject {
    margin: 28px 0 10px;
    color: var(--program-ink);
    font-size: clamp(26px, 3vw, 34px);
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: -.04em;
    text-align: center;
}
.prog_info.wbs-program-intro .subtitle {
    margin: 0 0 26px;
    color: var(--program-muted);
    font-size: 18px;
    font-weight: 400;
    line-height: 1.6;
    text-align: center;
}
.prog_info.wbs-program-intro .time {
    padding: 20px 24px;
    border: 0;
    border-block: 1px solid var(--program-rule);
    background: #f3f6f4;
}
.prog_info.wbs-program-intro .time p {
    margin: 0;
    color: #46565c;
    font-size: 16px;
    line-height: 1.75;
}
.prog_info.wbs-program-intro .time p + p { margin-top: 6px; }
.prog_info.wbs-program-intro .time span { color: var(--program-ink); font-weight: 600; }
.prog_info.wbs-program-intro .intro_tit:empty { display: none; }
.prog_info.wbs-program-intro .intro_box {
    padding: 30px 24px 0;
    background: transparent;
    color: #30383c;
    font-size: 17px;
    line-height: 1.8;
    word-break: normal;
    overflow-wrap: break-word;
}
.prog_info.wbs-program-intro .intro_box p:not(.wbs-ars-buttons-lead) {
    margin: 0 0 16px;
    font-size: 17px;
    line-height: 1.8;
    text-align: justify;
}
.prog_info.wbs-program-intro .intro_box p:not(.wbs-ars-buttons-lead):last-child { margin-bottom: 0; }
.prog_info.wbs-program-intro .time2 {
    margin: 32px 24px 0;
    padding-top: 18px;
    border-top: 1px solid var(--program-rule);
}
.prog_info.wbs-program-intro .time2 p {
    color: var(--program-muted);
    font-size: 15px;
    line-height: 1.8;
    text-align: left;
}
.prog_info.wbs-program-intro .time2 span {
    display: inline;
    margin-right: 12px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--program-ink);
    font-weight: 600;
}
.main_movie.wbs-program-intro .pro_info { width: 100%; }
.main_movie.wbs-program-intro .pro_info > li { margin-inline: 0; }
.main_movie.wbs-program-intro .program-summary {
    margin: 0 0 20px;
    padding: 20px 4px 18px;
    background: transparent;
    border-bottom: 1px solid var(--program-rule);
}
.main_movie.wbs-program-intro .program-summary .tit {
    padding: 0;
    color: var(--program-ink);
    font-size: 22px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: -.04em;
}
.main_movie.wbs-program-intro .program-summary .txt {
    padding: 10px 0 0;
    color: var(--program-muted);
    font-size: 16px;
    line-height: 1.65;
}
.main_movie.wbs-program-intro .program-images {
    margin: 0 0 22px;
    padding: 0;
    border: 0;
    float: none;
}
.main_movie.wbs-program-intro .program-details .info {
    padding: 18px 16px;
    border: 0;
    border-block: 1px solid var(--program-rule);
    background: #f3f6f4;
    color: #46565c;
    font-size: 15px;
    line-height: 1.75;
    font-weight: 400;
}
.main_movie.wbs-program-intro .program-details .info p { margin: 0; }
.main_movie.wbs-program-intro .program-details .info p + p { margin-top: 6px; }
.main_movie.wbs-program-intro .program-details > .txt {
    padding: 24px 4px 0;
    color: #30383c;
    font-size: 16px;
    line-height: 1.8;
    word-break: normal;
    overflow-wrap: break-word;
    text-align: justify;
}
.main_movie.wbs-program-intro .program-intro-copy p { margin-bottom: 16px; }
@media (max-width: 640px) {
    .prog_info.wbs-program-intro { padding-top: 22px; }
    .prog_info.wbs-program-intro .subject { margin-top: 22px; }
    .prog_info.wbs-program-intro .subtitle { font-size: 16px; margin-bottom: 22px; }
    .prog_info.wbs-program-intro .time { padding: 18px 16px; }
    .prog_info.wbs-program-intro .intro_box { padding: 24px 4px 0; font-size: 16px; }
    .prog_info.wbs-program-intro .intro_box p:not(.wbs-ars-buttons-lead) { font-size: 16px; }
    .prog_info.wbs-program-intro .time2 { margin-inline: 4px; }
}

/* Structured introduction copy and speaker profile. */
.wbs-program-intro .program-editorial { margin: 0; }
.wbs-program-intro :is(.intro_box, .program-details) .program-editorial > p.program-editorial-lead {
    margin: 0 0 14px;
    color: #294b54;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: -.035em;
    text-align: left;
}
.wbs-program-intro :is(.intro_box, .program-details) .program-editorial > p.program-editorial-description {
    margin: 0;
    color: #46565c;
    font-size: 17px;
    line-height: 1.8;
    text-align: justify;
}
.wbs-program-intro .program-profile {
    margin-top: 30px;
    padding-top: 24px;
    border-top: 1px solid #e1e8e6;
}
.wbs-program-intro .program-profile h3 {
    margin: 0 0 20px;
    color: #294b54;
    font-size: 21px;
    line-height: 1.45;
    font-weight: 700;
    letter-spacing: -.025em;
}
.wbs-program-intro .program-profile-layout {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 28px;
    align-items: start;
}
.wbs-program-intro .program-profile-portrait { margin: 0; }
.wbs-program-intro .program-editorial .program-profile-portrait img {
    display: block;
    width: 120px;
    max-width: 100%;
    height: auto;
}
.wbs-program-intro .program-profile-history { margin: 0; min-width: 0; }
.wbs-program-intro .program-profile-history > div {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid #edf0f2;
}
.wbs-program-intro .program-profile-history > div:first-child { padding-top: 0; }
.wbs-program-intro .program-profile-history > div:last-child { border-bottom: 0; padding-bottom: 0; }
.wbs-program-intro .program-profile-history dt {
    color: #66747a;
    font-size: 15px;
    line-height: 1.75;
    font-weight: 600;
    text-align: left;
}
.wbs-program-intro .program-profile-history dd {
    margin: 0;
    color: #30383c;
    font-size: 16px;
    line-height: 1.75;
    word-break: normal;
    overflow-wrap: break-word;
    text-align: left;
}
@media (max-width: 640px) {
    .wbs-program-intro :is(.intro_box, .program-details) .program-editorial > p.program-editorial-lead { font-size: 22px; }
    .wbs-program-intro :is(.intro_box, .program-details) .program-editorial > p.program-editorial-description { font-size: 16px; }
    .wbs-program-intro .program-profile { margin-top: 26px; padding-top: 22px; }
    .wbs-program-intro .program-profile h3 { font-size: 20px; margin-bottom: 18px; }
    .wbs-program-intro .program-profile-layout { grid-template-columns: minmax(0,1fr); gap: 20px; }
    .wbs-program-intro .program-profile-history > div { grid-template-columns: 66px minmax(0,1fr); gap: 12px; }
}
/* Introduction and broadcast information share the available desktop width. */
.prog_info.wbs-program-intro .program-overview {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, .48fr);
    gap: 28px;
    align-items: start;
    padding-top: 8px;
}
.prog_info.wbs-program-intro .program-overview > .intro_box {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
    padding: 0;
}
.prog_info.wbs-program-intro .program-overview > .time {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
    padding: 22px;
}
.prog_info.wbs-program-intro .program-overview-heading {
    margin: 0 0 16px;
    font-size: 18px;
    line-height: 1.4;
    color: #294b54;
    font-weight: 700;
}
.prog_info.wbs-program-intro .program-overview .time p { font-size: 15px; }
.prog_info.wbs-program-intro .program-overview .time p + p { margin-top: 14px; }
.prog_info.wbs-program-intro .program-overview .time p span { display: block; margin-bottom: 4px; }
@media (max-width: 900px) {
    .prog_info.wbs-program-intro .program-overview { grid-template-columns: minmax(0,1fr); gap: 24px; }
    .prog_info.wbs-program-intro .program-overview > .time { grid-column: 1; grid-row: 1; }
    .prog_info.wbs-program-intro .program-overview > .intro_box { grid-column: 1; grid-row: 2; }
}
.prog_info.wbs-program-intro .program-overview .time .program-credit-line { display:block; margin:0; color:#46565c; font-weight:400; }

/* Information has first claim on width; the remaining space controls the slogan. */
.prog_info.wbs-program-intro > .time {
    position: relative;
    overflow: hidden;
    padding-left: 40px;
}
.prog_info.wbs-program-intro > .time > .program-info-art { display: none; }
@media (min-width: 901px) {
    .prog_info.wbs-program-intro > .time {
        display: flex;
        align-items: center;
        padding-right: 40px;
    }
    .prog_info.wbs-program-intro > .time > .program-info-copy {
        flex: 0 1 max-content;
        min-width: 0;
        max-width: 100%;
    }
    .prog_info.wbs-program-intro > .time > .program-info-copy > p {
        color: #294b54;
        font-size: 19px;
        font-weight: 600;
        line-height: 1.65;
        overflow-wrap: break-word;
    }
    .prog_info.wbs-program-intro > .time > .program-info-art {
        display: block;
        flex: 1 1 0;
        min-width: 0;
        max-width: 416px;
        margin-left: auto;
        align-self: flex-start;
        overflow: visible;
        container-type: inline-size;
        container-name: program-info-art;
        pointer-events: none;
    }
    .prog_info.wbs-program-intro .program-info-decoration {
        position: relative;
        isolation: isolate;
        overflow: visible;
        height: 94px;
        margin-left: 28px;
    }
    .prog_info.wbs-program-intro .program-info-decoration::after {
        display: none;
        content: "";
        position: absolute;
        z-index: -1;
        box-sizing: border-box;
        width: 190px;
        height: 190px;
        top: -117px;
        right: -98px;
        border: 30px solid rgba(41, 75, 84, .065);
        border-radius: 50%;
    }
    .prog_info.wbs-program-intro .program-info-decoration::before {
        content: "";
        display: none;
        position: absolute;
        z-index: -1;
        top: 12px;
        left: 0;
        width: 80px;
        height: 60px;
        background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20128%2096%22%3E%3Cg%20fill%3D%22%23294b54%22%20fill-opacity%3D%22.075%22%3E%3Cpath%20d%3D%22M52%2010C28%2012%2012%2029%2012%2052C12%2070%2023%2082%2038%2082C50%2082%2059%2073%2059%2061C59%2049%2052%2042%2041%2042H31C32%2032%2038%2024%2052%2020Z%22%2F%3E%3Cpath%20transform%3D%22translate%2864%200%29%22%20d%3D%22M52%2010C28%2012%2012%2029%2012%2052C12%2070%2023%2082%2038%2082C50%2082%2059%2073%2059%2061C59%2049%2052%2042%2041%2042H31C32%2032%2038%2024%2052%2020Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") center / contain no-repeat;
    }
    @container program-info-art (min-width: 120px) {
        .prog_info.wbs-program-intro .program-info-decoration::after { display: block; }
    }
    @container program-info-art (min-width: 210px) {
        .prog_info.wbs-program-intro .program-info-decoration::before { display: block; }
    }
    .prog_info.wbs-program-intro .program-info-slogan { display: none; }
    .prog_info.wbs-program-intro .program-info-slogan span {
        display: block;
        margin-top: 2px;
        color: #667e84;
        font-size: 21px;
        font-weight: 600;
    }
    @container program-info-art (min-width: 416px) {
        .prog_info.wbs-program-intro .program-info-slogan {
            display: block;
            position: relative;
            padding-top: 16px;
            width: 224px;
            color: #7b8d91;
            font-size: 18px;
            font-weight: 400;
            line-height: 1.5;
            letter-spacing: -.035em;
            text-align: left;
            white-space: nowrap;
        }
        .prog_info.wbs-program-intro .program-info-decoration::before {
            top: 4px;
            left: 0;
            width: 110px;
            height: 82px;
        }
    }
}
@media (max-width: 900px) {
    .prog_info.wbs-program-intro > .time { padding-left: 28px; }
}
@media (max-width: 640px) {
    .prog_info.wbs-program-intro > .time { padding-left: 20px; }
}

/* Mobile TV introduction: generous outer gutters and consistent copy spacing. */
.main_movie.wbs-program-intro.wbs-tv-program-intro{margin-inline:32px !important}
.main_movie.wbs-tv-program-intro .program-summary{padding-inline:0}
.main_movie.wbs-tv-program-intro .program-details .info{padding:18px 16px;overflow-wrap:break-word}
.main_movie.wbs-tv-program-intro .program-details .info p{line-height:1.8}
.main_movie.wbs-tv-program-intro .program-details>.txt{padding:24px 0 0;line-height:1.8;letter-spacing:-.02em}
.main_movie.wbs-tv-program-intro .program-details>.txt img{max-width:100%;height:auto}
.main_movie.wbs-tv-program-intro .program-details>.txt .wbs-ars-buttons{width:100%;margin-inline:0}

/* 共通 semantic classes must follow text defaults. */
.wbs-program-intro .wbs-intro-content .wbs-intro-center{ text-align:center; }
.wbs-program-intro .wbs-intro-content .wbs-intro-bold{font-weight:700}
.wbs-program-intro .wbs-intro-content .wbs-intro-italic{font-style:italic}
