/* =====================================================================
   KASI USER - 콘텐츠 게시판 싱글페이지 퍼블 마크업 본문(.jm-publish) 보정
   templates/user/board/single.html 에서만 로드 (association.css 다음)
   - 퍼블 HTML 을 관리자 에디터에 붙여 넣으면 JmEditor·EditorHtmlUtil 이 태그를 바꿈 (b → strong, i → em)
     → 퍼블 CSS 가 태그 이름으로 잡는 곳만 바뀐 태그로 다시 맞춤 (퍼블 association.css 는 원본 그대로 둠)
   ===================================================================== */

/* association.css .donation-step-box-txt b */
.jm-publish .donation-step-box-txt strong {
    font-weight: var(--font-weight-bold);
    color: var(--color-font-neutral-strong);
}

/* 소개 본문 (퍼블 없음 - 행복학교 연수원 소개) : 제목 → 글 왼쪽 + 사진 오른쪽 아래 → 서명 오른쪽
   - 글은 협회 소개 본문(.assoc-txt) 모양, 줄 간격만 넓힘 / 태블릿 이하는 사진을 글 아래로 */
.jm-publish .intro-section {
    display: flex;
    flex-direction: column;
    gap: var(--gap-9);
}
.jm-publish .intro-tit {
    font-family: var(--font-family-title);
    font-size: var(--font-size-heading-lg);
    color: var(--color-font-neutral-strong);
    font-weight: var(--font-weight-bold);
    line-height: 140%;
    letter-spacing: -0.05rem;
    word-break: keep-all;
}
.jm-publish .intro-body {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: var(--gap-9);
}
.jm-publish .intro-txt {
    flex: 1 1 auto;
    min-width: 0;
}
.jm-publish .intro-txt .assoc-txt {
    line-height: 180%;
}
.jm-publish .intro-photo {
    flex: 0 0 30%;
    max-width: 27.5rem;
}
.jm-publish .intro-img {
    display: block;
    width: 100%;
    height: auto;
}
.jm-publish .intro-sign {
    align-self: flex-end;
    font-family: var(--font-family-title);
    font-size: var(--font-size-heading-md);
    color: var(--color-font-neutral-strong);
    font-weight: var(--font-weight-bold);
    line-height: 140%;
    letter-spacing: -0.0375rem;
}
@media (max-width: 1023px) {
    .jm-publish .intro-body {
        flex-direction: column;
        align-items: flex-end;
    }
    .jm-publish .intro-txt {
        align-self: stretch;
    }
    .jm-publish .intro-photo {
        flex: none;
        width: 50%;
        max-width: 20rem;
    }
}
@media (max-width: 767px) {
    .jm-publish .intro-tit {
        font-size: var(--font-size-heading-md);
    }
    .jm-publish .intro-photo {
        width: 70%;
    }
}

/* 아이콘 <i class="ph …"> → <em class="ph …"> : 기울임 없이 (reset 이 font 를 물려받게 하지만 아이콘 글꼴 쪽에서 덮일 때 대비) */
.jm-publish em.ph,
.jm-publish em[class*='ph-'] {
    font-style: normal;
}
