/**
 * i18n_lang.css — 언어별 폰트 / 사이즈 미세조정
 *
 * 정책:
 *   - CJK (ja / ko / zh) 글리프는 같은 px 에서도 영문보다 시각적으로 크고 가로 폭을 많이 차지함
 *   - tab / nav / button 같이 폭이 제한된 UI 요소에서 영어→일/한 번역 시 빈번히 오버플로
 *   - 따라서 CJK 에서는 해당 요소만 font-size 를 5-8% 줄이고, 필요한 곳은 ellipsis 처리
 *   - body 전반의 글자크기는 건드리지 않음 (가독성 유지)
 */

/* ─── 일본어 / 한국어 공통 — 사이드바·모바일 탭 라벨 좁히기 ─── */
:lang(ja) .jnl-sidebar-tab,
:lang(ko) .jnl-sidebar-tab {
    font-size: 14px;
    letter-spacing: -0.01em;
}
:lang(ja) .jnl-mode-tab,
:lang(ko) .jnl-mode-tab {
    font-size: 12px;
    letter-spacing: -0.02em;
    min-width: 0;
}
:lang(ja) .jnl-mode-tab span,
:lang(ko) .jnl-mode-tab span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ─── 헤더 메뉴 (Meeting / Connect / Journal / Advice / More …) ─── */
:lang(ja) .shared-header-menu a,
:lang(ko) .shared-header-menu a,
:lang(ja) header.shared-header nav a,
:lang(ko) header.shared-header nav a {
    font-size: 13px;
    letter-spacing: -0.01em;
}

/* ─── More 메뉴 항목 (Personal Info / Settings 등 긴 라벨) ─── */
:lang(ja) .more-menu-label,
:lang(ko) .more-menu-label {
    font-size: 14px;
    letter-spacing: -0.01em;
}

/* ─── 버튼 (Save / Cancel / Sign Up / Submit Application 등) ─── */
:lang(ja) button:not(.swal2-confirm):not(.swal2-cancel),
:lang(ko) button:not(.swal2-confirm):not(.swal2-cancel),
:lang(ja) .btn,
:lang(ko) .btn {
    letter-spacing: -0.01em;
}

/* ─── SweetAlert2 다이얼로그 ─── */
:lang(ja) .swal2-title,
:lang(ko) .swal2-title {
    font-size: 1.4em;
    letter-spacing: -0.01em;
}
:lang(ja) .swal2-html-container,
:lang(ko) .swal2-html-container {
    font-size: 1em;
    letter-spacing: -0.01em;
}

/* ─── 프로필 카드 / 패널 (이름·자기소개) ─── */
:lang(ja) .cnt-profile-display-name,
:lang(ko) .cnt-profile-display-name,
:lang(ja) .sp-display-name,
:lang(ko) .sp-display-name {
    letter-spacing: -0.02em;
}

/* ─── 모바일 가로 스크롤 탭 (jnl-mode-tabs) flex 조정 ─── */
:lang(ja) .jnl-mode-tabs,
:lang(ko) .jnl-mode-tabs {
    gap: 4px;
}

/* ─── 일반적인 long-text 오버플로 방지 (양쪽 언어 + 영어 모두 적용) ─── */
.cnt-profile-display-name,
.sp-display-name,
.more-menu-label,
.jnl-sidebar-tab span,
.jnl-mode-tab span {
    min-width: 0;
}

/* ─── meeting 히어로 타이틀 (긴 문장) ─── */
:lang(ja) .met-hero-title,
:lang(ko) .met-hero-title {
    font-size: 22px;
    letter-spacing: -0.01em;
}

/* ─── 한국어 전용: 받침 있는 글자 때문에 약간 더 줄임 ─── */
:lang(ko) .jnl-mode-tab {
    font-size: 12px;
}

/* ─── form label 좁히기 (긴 한글·일본어 라벨 대응) ─── */
:lang(ja) .form-label,
:lang(ko) .form-label,
:lang(ja) label,
:lang(ko) label {
    letter-spacing: -0.005em;
}

/* ─── 어드바이저 페이지 (advisor.* 영역) — tab / button 좁히기 ─── */
:lang(ja) .consult-sidebar-item span,
:lang(ko) .consult-sidebar-item span {
    font-size: 13px;
    letter-spacing: -0.01em;
}

/* ════════════════════════════════════════════════════════════════
   media query 별 lang 오버라이드
   - 기존 CSS 의 @media 내 font-size 가 lang 무관하게 적용되는 문제
   - 각 breakpoint 마다 :lang(ja)/:lang(ko) 추가 규칙으로 한번 더 줄임
   ════════════════════════════════════════════════════════════════ */

/* shared_header.css 의 mobile menu 대응 */
@media (max-width: 900px) {
    :lang(ja) .shared-section-nav a,
    :lang(ko) .shared-section-nav a {
        font-size: 12px !important;
        letter-spacing: -0.02em;
    }
    :lang(ja) .shared-section-nav,
    :lang(ko) .shared-section-nav {
        gap: 10px;
    }
}

@media (max-width: 750px) {
    :lang(ja) .shared-section-nav a,
    :lang(ko) .shared-section-nav a {
        font-size: 12px !important;
    }
}

@media (max-width: 600px) {
    :lang(ja) .shared-section-nav a,
    :lang(ko) .shared-section-nav a {
        font-size: 11px !important;
        letter-spacing: -0.03em;
    }
    :lang(ja) .shared-section-nav,
    :lang(ko) .shared-section-nav {
        gap: 6px;
    }
    :lang(ja) .shared-search-form input,
    :lang(ko) .shared-search-form input {
        font-size: 11px;
    }
    :lang(ja) .shared-login-link,
    :lang(ko) .shared-login-link {
        font-size: 13px;
    }
}

/* jnl_unified.css 의 600px breakpoint — feed / journal layout */
@media (max-width: 600px) {
    :lang(ja) .jnl-sidebar-tab,
    :lang(ko) .jnl-sidebar-tab {
        font-size: 12px;
    }
    :lang(ja) .jnl-mode-tab,
    :lang(ko) .jnl-mode-tab {
        font-size: 11px;
        letter-spacing: -0.03em;
    }
    :lang(ja) .lesson-header-text h2,
    :lang(ko) .lesson-header-text h2 {
        font-size: 16px;
    }
    :lang(ja) .lesson-header-text .lesson-description,
    :lang(ko) .lesson-header-text .lesson-description {
        font-size: 12px;
    }
    :lang(ja) .met-hero-title,
    :lang(ko) .met-hero-title {
        font-size: 19px;
    }
    /* 페이지 타이틀 (h1 / .page-title 류) */
    :lang(ja) h1,
    :lang(ko) h1,
    :lang(ja) .profile-page-title,
    :lang(ko) .profile-page-title,
    :lang(ja) .page-title,
    :lang(ko) .page-title {
        letter-spacing: -0.02em;
    }
    /* More 메뉴 항목 (긴 라벨) */
    :lang(ja) .more-menu-label,
    :lang(ko) .more-menu-label {
        font-size: 13px;
    }
}

/* style5.css 의 min-width:600px breakpoint — 데스크탑 본문 */
@media (min-width: 600px) {
    :lang(ja) header.shared-header nav a,
    :lang(ko) header.shared-header nav a {
        font-size: 13px;
    }
}

/* AdvisorWeb 도 동일 패턴 (header.php 의 .gnb 메뉴) */
@media (max-width: 900px) {
    :lang(ja) .gnb > li > a,
    :lang(ko) .gnb > li > a {
        font-size: 13px;
        letter-spacing: -0.02em;
    }
}

@media (max-width: 600px) {
    :lang(ja) .gnb > li > a,
    :lang(ko) .gnb > li > a {
        font-size: 12px;
    }
    :lang(ja) .mob-item,
    :lang(ko) .mob-item {
        font-size: 13px;
    }
}

/* ────────────────────────────────────────────────────────────────
   범용 — long 한 라벨이 가로폭을 넘는 곳 강제 ellipsis
   (영어 포함 모든 언어에 적용 — 안전망)
   ──────────────────────────────────────────────────────────────── */
.shared-section-nav a,
.gnb > li > a,
.jnl-sidebar-tab span,
.jnl-mode-tab span,
.more-menu-label,
.consult-sidebar-item span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

/* flex container 안의 child 가 줄어들 수 있도록 */
.shared-section-nav,
.jnl-mode-tabs,
.gnb {
    min-width: 0;
}

/* ════════════════════════════════════════════════════════════════
   shared_profile.css 의 .sp-tabs / .sp-tab 오버플로 대응
   - 기존 CSS 가 padding: 12px 24px / flex: none 으로 모바일에서 넘침
   - 모바일은 가로 스크롤 + 패딩 축소, CJK 는 폰트 더 줄임
   ════════════════════════════════════════════════════════════════ */

/* 데스크탑부터 모바일까지: 컨테이너 가로 스크롤 허용 */
.sp-tabs {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;     /* Firefox */
}
.sp-tabs::-webkit-scrollbar { display: none; }  /* Chrome/Safari */

@media (max-width: 600px) {
    .sp-tab,
    .sp-profile-v605 .sp-tab {
        padding: 10px 14px;
        font-size: 14px;
        white-space: nowrap;
        flex-shrink: 0;
    }
}

@media (max-width: 480px) {
    .sp-tab,
    .sp-profile-v605 .sp-tab {
        padding: 9px 12px;
        font-size: 13px;
    }
}

/* CJK: 더 좁히기 */
:lang(ja) .sp-tab,
:lang(ko) .sp-tab,
:lang(ja) .sp-profile-v605 .sp-tab,
:lang(ko) .sp-profile-v605 .sp-tab {
    letter-spacing: -0.02em;
}

@media (max-width: 600px) {
    :lang(ja) .sp-tab,
    :lang(ko) .sp-tab,
    :lang(ja) .sp-profile-v605 .sp-tab,
    :lang(ko) .sp-profile-v605 .sp-tab {
        padding: 10px 12px;
        font-size: 13px;
    }
}

@media (max-width: 480px) {
    :lang(ja) .sp-tab,
    :lang(ko) .sp-tab,
    :lang(ja) .sp-profile-v605 .sp-tab,
    :lang(ko) .sp-profile-v605 .sp-tab {
        padding: 9px 10px;
        font-size: 12px;
    }
}

/* ════════════════════════════════════════════════════════════════
   Meeting (MET) — hero / card / tab / button / modal 라벨 CJK 축소
   ════════════════════════════════════════════════════════════════ */

/* meeting_main.css */
:lang(ja) .met-hero-sub,
:lang(ko) .met-hero-sub {
    font-size: 16px;
    letter-spacing: -0.01em;
}
:lang(ja) .met-card-name,
:lang(ko) .met-card-name {
    font-size: 18px;
    letter-spacing: -0.02em;
}
:lang(ja) .met-card-cta,
:lang(ko) .met-card-cta {
    font-size: 13px;
    letter-spacing: -0.01em;
}
:lang(ja) .met-history-btn,
:lang(ko) .met-history-btn {
    font-size: 14px;
    letter-spacing: -0.01em;
}

/* meeting_history.css */
:lang(ja) .meth-title,
:lang(ko) .meth-title {
    letter-spacing: -0.02em;
}
:lang(ja) .meth-tab,
:lang(ko) .meth-tab {
    letter-spacing: -0.02em;
}
:lang(ja) .meth-card-name,
:lang(ko) .meth-card-name {
    letter-spacing: -0.02em;
}

/* meeting_profile.css */
:lang(ja) .metp-name,
:lang(ko) .metp-name {
    letter-spacing: -0.02em;
}
:lang(ja) .metp-request-btn,
:lang(ko) .metp-request-btn {
    letter-spacing: -0.01em;
}
:lang(ja) .metp-tab,
:lang(ko) .metp-tab {
    letter-spacing: -0.02em;
}
:lang(ja) .metp-modal-title,
:lang(ko) .metp-modal-title {
    letter-spacing: -0.02em;
}
:lang(ja) .metp-modal-sub,
:lang(ko) .metp-modal-sub {
    font-size: 14px;
    letter-spacing: -0.01em;
}
:lang(ja) .metp-field-label,
:lang(ko) .metp-field-label,
:lang(ja) .metp-follow-label,
:lang(ko) .metp-follow-label {
    letter-spacing: -0.01em;
}

/* meeting_request_modal.css */
:lang(ja) .mrm-title,
:lang(ko) .mrm-title {
    letter-spacing: -0.02em;
}
:lang(ja) .mrm-subtitle,
:lang(ko) .mrm-subtitle {
    font-size: 14px;
    letter-spacing: -0.01em;
}

/* @media (max-width: 600px) — 모바일에서 더 줄임 */
@media (max-width: 600px) {
    :lang(ja) .met-hero-sub,
    :lang(ko) .met-hero-sub {
        font-size: 14px;
    }
    :lang(ja) .met-card-name,
    :lang(ko) .met-card-name {
        font-size: 16px;
    }
    :lang(ja) .meth-title,
    :lang(ko) .meth-title,
    :lang(ja) .metp-name,
    :lang(ko) .metp-name {
        font-size: 18px;
    }
}

/* ════════════════════════════════════════════════════════════════
   Connect (CNT) — author / tab / button / modal 라벨 CJK 축소
   ════════════════════════════════════════════════════════════════ */

:lang(ja) .cnt-author-name,
:lang(ko) .cnt-author-name {
    letter-spacing: -0.02em;
}
:lang(ja) .cnt-cta-btn,
:lang(ko) .cnt-cta-btn,
:lang(ja) .cnt-comment-btn,
:lang(ko) .cnt-comment-btn,
:lang(ja) .cnt-write-cat-btn,
:lang(ko) .cnt-write-cat-btn,
:lang(ja) .cnt-login-btn,
:lang(ko) .cnt-login-btn,
:lang(ja) .cnt-google-login-btn,
:lang(ko) .cnt-google-login-btn,
:lang(ja) .cnt-profile-meeting-btn,
:lang(ko) .cnt-profile-meeting-btn,
:lang(ja) .cnt-profile-consult-btn,
:lang(ko) .cnt-profile-consult-btn,
:lang(ja) .cnt-profile-follow-btn,
:lang(ko) .cnt-profile-follow-btn,
:lang(ja) .cnt-profile-followers-btn,
:lang(ko) .cnt-profile-followers-btn,
:lang(ja) .cnt-profile-logout-btn,
:lang(ko) .cnt-profile-logout-btn {
    letter-spacing: -0.01em;
}
:lang(ja) .cnt-cat-tab,
:lang(ko) .cnt-cat-tab,
:lang(ja) .cnt-nav-tab,
:lang(ko) .cnt-nav-tab,
:lang(ja) .cnt-profile-tab,
:lang(ko) .cnt-profile-tab {
    letter-spacing: -0.02em;
}
:lang(ja) .cnt-modal-title,
:lang(ko) .cnt-modal-title,
:lang(ja) .cnt-write-modal-card .cnt-modal-title,
:lang(ko) .cnt-write-modal-card .cnt-modal-title,
:lang(ja) .cnt-search-result-title,
:lang(ko) .cnt-search-result-title {
    letter-spacing: -0.02em;
}
:lang(ja) .cnt-profile-name,
:lang(ko) .cnt-profile-name,
:lang(ja) .cnt-company-name,
:lang(ko) .cnt-company-name {
    letter-spacing: -0.02em;
}
:lang(ja) .cnt-attach-label,
:lang(ko) .cnt-attach-label {
    letter-spacing: -0.01em;
}

/* @media (max-width: 600px) */
@media (max-width: 600px) {
    :lang(ja) .cnt-nav-tab,
    :lang(ko) .cnt-nav-tab,
    :lang(ja) .cnt-cat-tab,
    :lang(ko) .cnt-cat-tab,
    :lang(ja) .cnt-profile-tab,
    :lang(ko) .cnt-profile-tab {
        font-size: 12px;
        letter-spacing: -0.03em;
    }
    :lang(ja) .cnt-author-name,
    :lang(ko) .cnt-author-name {
        font-size: 14px;
    }
}

/* ════════════════════════════════════════════════════════════════
   Journal (JNL) — feed card / lesson cover / write modal 등 CJK 축소
   ════════════════════════════════════════════════════════════════ */

:lang(ja) .feed-card-name,
:lang(ko) .feed-card-name {
    letter-spacing: -0.02em;
}
:lang(ja) .lesson-header h2,
:lang(ko) .lesson-header h2 {
    font-size: 20px;
    letter-spacing: -0.02em;
}
:lang(ja) .lesson-edit-title-btn,
:lang(ko) .lesson-edit-title-btn {
    font-size: 13px;
    letter-spacing: -0.01em;
}
:lang(ja) .write-post-modal h3,
:lang(ko) .write-post-modal h3,
:lang(ja) .title-edit-modal h3,
:lang(ko) .title-edit-modal h3 {
    font-size: 16px;
    letter-spacing: -0.02em;
}
:lang(ja) .write-post-modal .btn-post,
:lang(ko) .write-post-modal .btn-post,
:lang(ja) .title-edit-modal .btn-post,
:lang(ko) .title-edit-modal .btn-post,
:lang(ja) .form-container button[type="submit"],
:lang(ko) .form-container button[type="submit"] {
    letter-spacing: -0.01em;
}
:lang(ja) .lesson-cover-title,
:lang(ko) .lesson-cover-title,
:lang(ja) .lesson-cover-title-v2,
:lang(ko) .lesson-cover-title-v2,
:lang(ja) .title-edit-banner-title,
:lang(ko) .title-edit-banner-title {
    letter-spacing: -0.02em;
}
:lang(ja) .lesson-cover-desc,
:lang(ko) .lesson-cover-desc,
:lang(ja) .lesson-cover-desc-v2,
:lang(ko) .lesson-cover-desc-v2,
:lang(ja) .title-edit-banner-desc,
:lang(ko) .title-edit-banner-desc {
    letter-spacing: -0.01em;
}
:lang(ja) .post-meta .author-name,
:lang(ko) .post-meta .author-name,
:lang(ja) .modal-post-header .post-author-link .author-name,
:lang(ko) .modal-post-header .post-author-link .author-name {
    letter-spacing: -0.02em;
}

/* @media (max-width: 600px) — 모바일에서 더 줄임 */
@media (max-width: 600px) {
    :lang(ja) .feed-card-name,
    :lang(ko) .feed-card-name {
        font-size: 14px;
    }
    :lang(ja) .lesson-cover-title,
    :lang(ko) .lesson-cover-title,
    :lang(ja) .lesson-cover-title-v2,
    :lang(ko) .lesson-cover-title-v2,
    :lang(ja) .title-edit-banner-title,
    :lang(ko) .title-edit-banner-title {
        font-size: 18px;
    }
    :lang(ja) .lesson-header h2,
    :lang(ko) .lesson-header h2 {
        font-size: 16px;
    }
}

/* ════════════════════════════════════════════════════════════════
   profile.css — 좁은 dropdown 카드 안의 이름·섹션 헤더
   ════════════════════════════════════════════════════════════════ */

:lang(ja) .profile-card .profile-name,
:lang(ko) .profile-card .profile-name {
    font-size: 22px;
    letter-spacing: -0.02em;
}
:lang(ja) .profile-card .profile-section h3,
:lang(ko) .profile-card .profile-section h3 {
    font-size: 15px;
    letter-spacing: -0.02em;
}
:lang(ja) .profile-card .profile-tabs a,
:lang(ko) .profile-card .profile-tabs a,
:lang(ja) .follow-tabs a,
:lang(ko) .follow-tabs a {
    font-size: 13px;
    letter-spacing: -0.02em;
}
:lang(ja) .profile-card .btn-follow,
:lang(ko) .profile-card .btn-follow,
:lang(ja) .profile-card .btn-meeting,
:lang(ko) .profile-card .btn-meeting,
:lang(ja) .btn-follow-sm,
:lang(ko) .btn-follow-sm {
    letter-spacing: -0.01em;
}
:lang(ja) .profile-card .profile-logout a,
:lang(ko) .profile-card .profile-logout a {
    font-size: 14px;
    letter-spacing: -0.01em;
}
:lang(ja) .follow-row .follow-name,
:lang(ko) .follow-row .follow-name {
    letter-spacing: -0.02em;
}

/* ════════════════════════════════════════════════════════════════
   shared_profile.css — sp-* 헤더 / 섹션 / 버튼
   (이미 .sp-display-name / .sp-tab 는 위에서 처리됨)
   ════════════════════════════════════════════════════════════════ */

:lang(ja) .sp-profile-name,
:lang(ko) .sp-profile-name {
    letter-spacing: -0.02em;
}
:lang(ja) .sp-section h4,
:lang(ko) .sp-section h4 {
    font-size: 18px;
    letter-spacing: -0.02em;
}
:lang(ja) .sp-follow-title,
:lang(ko) .sp-follow-title {
    font-size: 14px;
    letter-spacing: -0.02em;
}
:lang(ja) .sp-follow-tab,
:lang(ko) .sp-follow-tab {
    letter-spacing: -0.02em;
}
:lang(ja) .sp-follow-pill,
:lang(ko) .sp-follow-pill,
:lang(ja) .sp-meeting-pill,
:lang(ko) .sp-meeting-pill,
:lang(ja) .sp-edit-profile-btn,
:lang(ko) .sp-edit-profile-btn,
:lang(ja) .sp-user-follow-btn,
:lang(ko) .sp-user-follow-btn {
    letter-spacing: -0.01em;
}
:lang(ja) .sp-logout-link,
:lang(ko) .sp-logout-link {
    font-size: 16px;
    letter-spacing: -0.01em;
}
:lang(ja) .sp-bottom-links a,
:lang(ko) .sp-bottom-links a,
:lang(ja) .sp-edit-notice,
:lang(ko) .sp-edit-notice {
    letter-spacing: -0.01em;
}
:lang(ja) .sp-user-name,
:lang(ko) .sp-user-name {
    letter-spacing: -0.02em;
}

/* ════════════════════════════════════════════════════════════════
   shared_header.css — notification dropdown 헤더 / footer
   ════════════════════════════════════════════════════════════════ */

:lang(ja) .cnt-notification-header,
:lang(ko) .cnt-notification-header {
    font-size: 14px;
    letter-spacing: -0.02em;
}
:lang(ja) .cnt-notf-action,
:lang(ko) .cnt-notf-action,
:lang(ja) .cnt-notf-empty,
:lang(ko) .cnt-notf-empty,
:lang(ja) .cnt-notf-showmore,
:lang(ko) .cnt-notf-showmore {
    letter-spacing: -0.01em;
}
:lang(ja) .shared-overflow-more,
:lang(ko) .shared-overflow-more,
:lang(ja) .shared-footer-nav a,
:lang(ko) .shared-footer-nav a {
    letter-spacing: -0.01em;
}
