/* 외국어 지면(.ce-intl) — 하단 「온라인상담」 줄의 글자가 한국어보다 길어도 동의 문구가 입력칸 밑으로 흘러내리지 않게 */
.ce-intl .btm_counsel form h2 {
  font-size: 18px;
  line-height: 1.2;
}
.ce-intl .btm_counsel form fieldset {
  display: flex;
  align-items: center;
  flex: 1 1 auto;
  min-width: 0;
  margin: 0 12px;
  padding: 0;
  border: 0;
}
.ce-intl .btm_counsel form fieldset label {
  flex: 1 1 0;
  min-width: 0;
  font-size: 12.5px;
  line-height: 1.3;
}
/* 동의 문구 옆 개인정보 처리방침 링크 — 어두운 줄 위에서 보이게 */
.ce-intl .btm_counsel form fieldset label a {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 2px;
  white-space: nowrap;
}
.ce-intl .btm_counsel form button[type="submit"] {
  font-size: 15px;
  line-height: 1.25;
  padding: 0 8px;
  flex: none;
}

/* 외국어 지면 로고 — 병원 영문명 글자(옛 로고 그림은 한글 문구가 든 그림이다) */
.ce-intl-logo {
  display: inline-block;
  font-family: Pretendard, "Pretendard Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: #111;
  white-space: nowrap;
}
.ce-intl-logo--ft {
  color: #fff;
  font-size: 17px;
}
/* 넓은 메뉴(아랍어·베트남어 등)와 나란히 서는 폭 — 두 줄로 접어 메뉴와 겹치지 않게 */
@media (min-width: 769px) and (max-width: 1560px) {
  .ce-intl-logo:not(.ce-intl-logo--ft) {
    white-space: normal;
    max-width: 8.6em;
    font-size: 16px;
    line-height: 1.15;
  }
}
@media (max-width: 768px) {
  .ce-intl-logo { font-size: 15px; }
}

/* 외국어 머리·꼬리·하단 줄 — 한국어용 줄바꿈(keep-all·anywhere)이 영문·태국어 낱말을 글자 중간에서 자르지 않게 */
.ce-intl,
.ce-intl * {
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

/* 영어 홈 진료 센터 카드(모바일) — 영문 제목이 두 줄로 길어져 카드 위아래가 잘리고 글자가 겹치지 않게 */
@media (max-width: 767px) {
  html.ce-intl[lang="en"] .main_center .main_center_cont {
    box-sizing: border-box;
    padding: 0 8px;
  }
  html.ce-intl[lang="en"] .main_center_eng {
    letter-spacing: 0.08em;
    line-height: 1.35;
  }
  html.ce-intl[lang="en"] .main_center_ttl {
    font-size: 16px;
    line-height: 1.2;
    margin-top: 6px;
  }
  /* 원형 버튼 — 두 낱말 문구가 원 안에 들어가게 */
  html.ce-intl[lang="en"] .main_center_link {
    width: 40%;
    padding-top: 40%;
    margin-top: 10px;
  }
  html.ce-intl[lang="en"] .main_center_link_inner p {
    line-height: 1.15;
    margin-bottom: 4px;
  }
}
/* 의료진 첫 화면 제목 — 영문 줄이 길어 엇갈려 밀면 화면 양옆에서 잘리므로 첫째·둘째 줄을 가운데로 */
@media (max-width: 767px) {
  html.ce-intl[lang="en"] #mainVisual .tit h1 .first,
  html.ce-intl[lang="en"] #mainVisual .tit h1 .second {
    margin-left: 0;
    left: 0 !important;
  }
}
/* 영어 홈 진료 센터 카드 — 긴 제목이 카드 양옆에 닿지 않게 · 작은 영문 머리글은 옆 카드와 같은 대문자 표기로 */
html.ce-intl[lang="en"] .main_center .main_center_cont {
  box-sizing: border-box;
  padding: 0 16px;
}
html.ce-intl[lang="en"] .main_center_eng,
html.ce-intl[lang="en"] .main_center .eng_ttl {
  text-transform: uppercase;
}

/* 영어 — 폰 하단 고정 바 5칸을 한국어처럼 같은 폭으로 · 긴 첫 칸 글자는 두 줄로 */
@media (max-width: 960px) {
  html.ce-intl[lang="en"] .btm_menu ul.ce-btm5 li {
    flex: 1 1 0;
    min-width: 0;
  }
  html.ce-intl[lang="en"] .btm_menu ul.ce-btm5 a {
    font-size: 12px;
    letter-spacing: -0.035em;
  }
  html.ce-intl[lang="en"] .btm_menu ul.ce-btm5 a em {
    white-space: normal;
    line-height: 1.15;
    min-height: 2.3em;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 6px;
    padding: 0;
  }
}

/* 외국어 PC 머리 — 로고·메뉴 항목을 한 줄로 · 줄을 바꾸는 대신 글자 크기를 화면 폭에 맞춰 줄인다(언어별 보정 --ce-gnb-k) */
html.ce-intl .header_gnb .logo {
  flex-shrink: 0;
  width: auto;
  max-width: none;
}
html.ce-intl .header_gnb .ce-intl-logo {
  white-space: nowrap;
  max-width: none;
  font-size: calc(var(--ce-logo-k, 1) * min(19px, 1.32vw));
  line-height: 1.2;
}
html.ce-intl .header_gnb_main {
  flex-wrap: nowrap;
  padding-left: 16px;
}
html.ce-intl .header_gnb_main li {
  flex-shrink: 0;
  margin-left: 0;
}
html.ce-intl .header_gnb_main a {
  display: inline-block;
  white-space: nowrap !important;
  font-size: calc(var(--ce-gnb-k, 1) * min(16px, 1.27vw));
  padding: 0 min(10px, 0.5vw);
  line-height: 1.25;
}
html.ce-intl .header_gnb .header_links {
  flex-shrink: 0;
}
/* 언어별 보정 — 메뉴 글자 합이 긴 언어는 같은 폭에서 조금 더 작게(가장 좁은 PC 폭에서도 한 줄) */
html.ce-intl[lang="en"] { --ce-gnb-k: 0.9; --ce-logo-k: 0.82; }
html.ce-intl[lang="ru"] { --ce-gnb-k: 0.99; }
html.ce-intl[lang="mn"] { --ce-gnb-k: 0.95; }
html.ce-intl[lang="ms"] { --ce-gnb-k: 0.94; }
html.ce-intl[lang="vi"] { --ce-gnb-k: 0.94; }
html.ce-intl[lang="th"] { --ce-gnb-k: 0.95; --ce-logo-k: 0.9; }
html.ce-intl[lang="kk"] { --ce-gnb-k: 0.93; --ce-logo-k: 0.9; }
/* 오른쪽 링크 아이콘이 함께 서는 폭 — 그만큼 글자를 한 단계 더 줄인다 */
@media screen and (min-width: 1281px) and (max-width: 1412px) {
  html.ce-intl .header_gnb_main a {
    font-size: calc(var(--ce-gnb-k, 1) * min(16px, 1.16vw));
  }
}

/* 영어 오시는 길 — 버스 노선 이름(Village bus · Metropolitan 등)이 고정 폭 배지를 넘지 않게 */
html.ce-intl[lang="en"] .sub1-5 .way .way_bus em {
  width: auto;
  min-width: 68px;
  padding: 0 14px;
  white-space: nowrap;
  box-sizing: border-box;
}
@media (max-width: 960px) {
  html.ce-intl[lang="en"] .sub1-5 .way .way_bus em {
    min-width: 60px;
    padding: 0 10px;
    margin-bottom: 6px;
  }
}

/* 영어 스마트노바 — 폰에서 긴 영문 제목·비교 칸 글자가 화면 밖으로 잘리지 않게 */
@media (max-width: 767px) {
  html.ce-intl[lang="en"] .hero-title .line-1 {
    white-space: normal;
    line-height: 1.3;
  }
  html.ce-intl[lang="en"] .hero-tagline {
    letter-spacing: 2px;
    padding: 0 20px;
  }
  html.ce-intl[lang="en"] .benefit-grid > div {
    min-width: 0;
  }
  html.ce-intl[lang="en"] .benefit-grid p {
    white-space: normal !important;
    flex-wrap: wrap;
  }
  html.ce-intl[lang="en"] div[style*="color:#ffb3b3"][style*="font-size:15px"] {
    font-size: 12px !important;
    white-space: nowrap;
  }
}

/* 영어 홈 진료 센터 카드(PC) — 긴 영문 머리글이 한 줄에 들어가게 자간만 좁힌다 */
@media (min-width: 768px) {
  html.ce-intl[lang="en"] .main_center_box .main_center_eng {
    letter-spacing: 0.2em;
  }
}

/* 영어 스마트노바 비교표(폰) — 영문 항목 이름이 길어 행이 어긋나지 않게 칸 높이를 맞추고 넷째 열이 화면 안에 들게 */
@media screen and (max-width: 640px) {
  html.ce-intl[lang="en"] .hud-compare-grid { grid-template-columns: 84px minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.15fr) !important; }
  html.ce-intl[lang="en"] .hud-compare-grid .hud-col-head { height: 120px !important; box-sizing: border-box; }
  html.ce-intl[lang="en"] .hud-compare-grid .hud-cell { height: 70px !important; min-height: 70px !important; box-sizing: border-box; }
  html.ce-intl[lang="en"] .hud-label-col .hud-cell span { line-height: 1.15; }
  html.ce-intl[lang="en"] .hud-data-col .hud-col-head h3 { font-size: 13px; }
  html.ce-intl[lang="en"] .hud-col-featured .hud-col-head h3 { font-size: 15px !important; }
}

/* 영어 스마트노바 3단계 비교(PC) — 셋째 칸 영문 설명이 길어 옆 칸 글자 위로 넘치지 않게 칸 안에서 줄을 바꾼다 */
@media (min-width: 768px) {
  html.ce-intl[lang="en"] .evo-step .evo-desc {
    white-space: normal;
  }
  html.ce-intl[lang="en"] .evo-step .active-desc {
    font-size: 18px;
  }
  html.ce-intl[lang="en"] .evo-step .active-desc span {
    display: inline !important;
  }
}
/* 같은 3단계 비교(폰) — 첫 칸 영문이 화면 왼쪽 밖으로 밀리지 않게 세 칸을 같은 폭으로 두고 칸 안에서 줄을 바꾼다 */
@media (max-width: 767px) {
  html.ce-intl[lang="en"] .evo-step {
    flex: 1 1 0;
    min-width: 0;
  }
  html.ce-intl[lang="en"] .evo-step .evo-label,
  html.ce-intl[lang="en"] .evo-step .evo-desc {
    white-space: normal;
    line-height: 1.25;
  }
}

/* 영어 진료시간(sub1-4) — 한글용 좁은 자간·양끝 맞춤·80px 고정 폭이 영문 라벨(Saturday·Lunch Break)을 짓누르지 않게 · 한 줄에 한 요일 */
html.ce-intl[lang="en"] .sub1-4 .time ul li em {
  width: auto;
  min-width: 118px;
  text-align-last: auto;
  letter-spacing: normal;
  white-space: nowrap;
}
@media (min-width: 427px) {
  html.ce-intl[lang="en"] .sub1-4 .time ul li {
    width: 100%;
  }
}

/* 영어 망막 질환 지면 — 제목 아래 영문 부제가 제목과 같은 질환명을 되풀이해 숨긴다 */
html.ce-intl[lang="en"] .eng_subject {
  display: none;
}

/* 영어 예약 신청서(폰) — 긴 안내 문구가 칸 밖으로 잘리지 않게 이름표를 칸 위로 올린다 */
@media (max-width: 767px) {
  html.ce-intl[lang="en"] #quickqa.reserv_form ul li {
    height: auto;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
  }
  html.ce-intl[lang="en"] #quickqa.reserv_form ul li .reserv_label {
    width: 100%;
    margin-bottom: 10px;
  }
  html.ce-intl[lang="en"] #quickqa.reserv_form ul li .reserv_ipt:not(.half) {
    width: 100%;
  }
  html.ce-intl[lang="en"] #quickqa.reserv_form ul li.reserv_content #wr_content {
    margin-top: 0;
  }
  html.ce-intl[lang="en"] #quickqa.reserv_form .reserv_ipt::placeholder {
    font-size: 15px;
  }
}

/* 영어 예약 신청서 — 문의 칸 글꼴을 다른 칸과 같게(기본 고정폭 글꼴로 보이지 않게) */
html.ce-intl[lang="en"] #quickqa.reserv_form #wr_content {
  font-family: inherit;
}

/* ── 외국어 전체 복제(영어 밖 언어 — html[data-ce-fc]) ───────────────────────── */

/* 글꼴 대체 목록 — 한국어 웹폰트에 없는 글자(태국어·아랍어·키릴 확장·베트남어 성조)와 한자 자형을 그 언어 글꼴로 */
html[data-ce-fc][lang="ja"] body { font-family: "Noto Sans KR", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, "Noto Sans JP", sans-serif; }
html[data-ce-fc][lang="zh-Hans"] body { font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", "Noto Sans KR", sans-serif; }
html[data-ce-fc][lang="zh-TW"] body { font-family: "PingFang TC", "Microsoft JhengHei", "Noto Sans TC", "Noto Sans KR", sans-serif; }
html[data-ce-fc][lang="zh-HK"] body { font-family: "PingFang HK", "Microsoft JhengHei", "Noto Sans HK", "Noto Sans TC", "Noto Sans KR", sans-serif; }
html[data-ce-fc][lang="th"] body { font-family: "Noto Sans KR", "Noto Sans Thai", "Leelawadee UI", Thonburi, Tahoma, sans-serif; line-height: 1.6; }
html[data-ce-fc][lang="ar"] body { font-family: "Noto Sans Arabic", "Geeza Pro", "Segoe UI", Tahoma, "Noto Sans KR", sans-serif; }
html[data-ce-fc]:is([lang="ru"], [lang="mn"], [lang="kk"]) body { font-family: "Noto Sans KR", "Noto Sans", "Segoe UI", "Helvetica Neue", Arial, sans-serif; }
html[data-ce-fc]:is([lang="vi"], [lang="ms"], [lang="id"]) body { font-family: "Noto Sans KR", "Noto Sans", "Segoe UI", "Helvetica Neue", Arial, sans-serif; }

/* 오른쪽에서 쓰는 언어 — 레이아웃(칸 배치·메뉴 순서·사진 자리)은 한국어와 같게 두고 «글 단락»만 오른쪽에서 */
html[data-ce-dir="rtl"] :is(p, li, dt, dd, h1, h2, h3, h4, h5, h6, td, th, blockquote, summary, label, figcaption, .ce-imgcap),
html[data-ce-dir="rtl"] :is(input[type="text"], input[type="tel"], input[type="email"], input:not([type]), textarea) {
  direction: rtl;
}
/* 숫자 예시 입력칸(전화·생년월일 — 생성기가 dir="ltr" 을 단다)은 숫자 순서가 뒤집히지 않게 왼쪽에서 쓰되 자리는 다른 칸처럼 오른쪽 */
html[data-ce-dir="rtl"] form input[dir="ltr"] {
  direction: ltr;
  text-align: right;
}

/* 오른쪽에서 쓰는 언어 — 머리 오른쪽 아이콘 줄은 한국어와 같은 방향(아이콘이 서로 붙고 구분선이 엇나가지 않게) */
html[data-ce-dir="rtl"] .header_links li {
  direction: ltr;
}

/* 그림 아래 번역 캡션 — 그림 테두리 바깥 바로 아래 · PC/모바일 전용 그림의 캡션은 그 클래스(pc_view·mo_view)를 함께 달아 사이트 규칙대로 숨는다 */
.ce-imgcap:not(.pc_view):not(.mo_view) {
  display: block;
}
/* 캡션을 담은 가로 줄(flex)은 캡션이 그림 아래 새 줄로 내려가게 */
.flex-sb:has(> .ce-imgcap),
.flex:has(> .ce-imgcap) {
  flex-wrap: wrap;
}
.ce-imgcap {
  grid-column: 1 / -1;
  flex: 0 0 auto;
  width: 100%;
  margin: 8px 0 0;
  font-size: 13px;
  line-height: 1.5;
  color: inherit;
  opacity: 0.8;
  text-align: center;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

/* 오시는 길 버스 노선 배지 — 번역 이름이 길면 배지 안에서 줄을 바꾸고 옆 배지·노선 번호와 겹치지 않게(영어는 위 규칙) */
html.ce-intl:not([lang="en"]) .sub1-5 .way .way_bus .flex-start {
  flex-wrap: wrap;
}
html.ce-intl:not([lang="en"]) .sub1-5 .way .way_bus em {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 68px;
  max-width: 100%;
  height: auto;
  min-height: 45px;
  margin-bottom: 6px;
  padding: 8px 14px;
  line-height: 1.3;
  white-space: normal;
  overflow-wrap: anywhere;
  box-sizing: border-box;
}
html.ce-intl:not([lang="en"]) .sub1-5 .way .way_bus .normal-txt {
  flex: 1 1 12em;
  min-width: 0;
  overflow-wrap: anywhere;
}
@media (max-width: 960px) {
  html.ce-intl:not([lang="en"]) .sub1-5 .way .way_bus em {
    min-width: 60px;
    min-height: 38px;
    padding: 6px 10px;
  }
}

/* 제증명 수수료 표 — 머리글이 두 줄이 돼도 칸 높이가 따라 늘어 첫 줄과 겹치지 않게 */
html.ce-intl .sub7-2 .certificate-thead {
  align-items: center;
  height: auto;
  min-height: 8.4rem;
  padding: 1.6rem 0;
  line-height: 1.3;
}
html.ce-intl .sub7-2 .certificate [class^="col-"] {
  overflow-wrap: anywhere;
}
html.ce-intl .sub7-2 .certificate-thead [class^="col-"] {
  hyphens: auto;
}

/* 라섹·라식 비교표(폰) — 번역 문장이 길어 고정 높이 칸을 넘치지 않게 칸을 높이고 글자를 한 단계 줄인다(세 열이 같은 높이를 써야 줄이 맞는다) */
@media (max-width: 960px) {
  html.ce-intl:not([lang="en"]) :is(.comparebox, .comparebox2) .comparelist .compare-tit {
    height: 12rem;
    font-size: 2.6rem;
    line-height: 1.2;
    overflow-wrap: anywhere;
    hyphens: auto;
  }
  html.ce-intl:not([lang="en"]) :is(.comparebox, .comparebox2) .comparelist div div > ul.inner-list li,
  html.ce-intl:not([lang="en"]) :is(.comparebox, .comparebox2) .comparelist .title > ul > li {
    height: 12rem;
    padding: 4px;
    line-height: 1.2;
    overflow-wrap: anywhere;
    hyphens: auto;
  }
  html.ce-intl:not([lang="en"]) :is(.comparebox, .comparebox2) .comparelist div div > ul.inner-list li {
    font-size: 2.1rem;
  }
  html.ce-intl:not([lang="en"]) :is(.comparebox, .comparebox2) .comparelist .title > ul > li {
    font-size: 1.35rem;
    line-height: 1.15;
  }
  html.ce-intl:not([lang="en"]) .comparebox .comparelist div div > ul.inner-list li:first-child,
  html.ce-intl:not([lang="en"]) .comparebox .comparelist .title > ul > li:first-child,
  html.ce-intl:not([lang="en"]) .comparebox2 .comparelist div div > ul.inner-list li:is(:nth-child(3), :nth-child(4)),
  html.ce-intl:not([lang="en"]) .comparebox2 .comparelist .title > ul > li:is(:nth-child(3), :nth-child(4)) {
    height: 21rem;
  }
}
