/* 해외 고도화 1차(10/13): 언어 전환·상담 창·해외 고객 안내 — 원본 톤(닥터스 그린 #006241, Pretendard) 그대로 */
:root { --drm-g: #006241; --drm-ink: #222; --drm-sub: #666; --drm-line: #e5e1d8; --drm-bg: #f7f5f0; }

/* 언어 전환 */
.langSwitch { position: relative; display: flex; align-items: center; }
.drml { position: relative; font-family: Pretendard, sans-serif; }
.drml-btn { display: flex; align-items: center; gap: 4px; padding: 6px 8px; border: 0; background: none; font-size: 14px; font-weight: 600; color: var(--drm-ink); cursor: pointer; }
.drml-btn svg { width: 18px; height: 18px; }
.drml-list { position: absolute; right: 0; top: 100%; min-width: 132px; margin: 6px 0 0; padding: 6px; list-style: none; background: #fff; border: 1px solid var(--drm-line); border-radius: 10px; box-shadow: 0 8px 24px rgba(0,0,0,.08); display: none; z-index: 1000; }
.drml.open .drml-list { display: block; }
.drml-list a { display: block; padding: 8px 10px; border-radius: 6px; font-size: 14px; color: var(--drm-ink); text-decoration: none; white-space: nowrap; }
.drml-list a:hover { background: var(--drm-bg); }
.drml-list a[aria-current] { color: var(--drm-g); font-weight: 700; }
.langSwitch-m { display: flex; gap: 8px; padding: 0 0 16px; }
.langSwitch-m .drml-btn { display: none; }
.langSwitch-m .drml-list { position: static; display: flex; gap: 6px; margin: 0; padding: 0; border: 0; box-shadow: none; background: none; }
.langSwitch-m .drml-list a { border: 1px solid var(--drm-line); border-radius: 20px; padding: 6px 14px; }
.langSwitch-m .drml-list a[aria-current] { border-color: var(--drm-g); }

/* 상담 창 */
.link-consult .iconBox svg { color: var(--drm-g); }
.drmc { position: fixed; inset: 0; z-index: 100001; background: rgba(0,0,0,.45); display: flex; align-items: center; justify-content: center; padding: 16px; }
.drmc[hidden] { display: none; }
.drmc-box { position: relative; width: 100%; max-width: 440px; max-height: calc(100dvh - 32px); overflow-y: auto; background: #fff; border-radius: 16px; padding: 28px 24px 24px; font-family: Pretendard, sans-serif; color: var(--drm-ink); }
.drmc-x { position: absolute; right: 14px; top: 10px; border: 0; background: none; font-size: 28px; line-height: 1; color: var(--drm-sub); cursor: pointer; }
.drmc-eyebrow { margin: 0; font-size: 12px; letter-spacing: .04em; color: var(--drm-g); }
.drmc-title { margin: 4px 0 6px; font-size: 22px; font-weight: 700; }
.drmc-sub { margin: 0 0 16px; font-size: 14px; line-height: 1.6; color: var(--drm-sub); word-break: keep-all; }
.drmc-ch { display: grid; gap: 8px; margin-bottom: 18px; }
.drmc-ch a { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border: 1px solid var(--drm-line); border-radius: 10px; font-size: 15px; font-weight: 600; color: var(--drm-ink); text-decoration: none; }
.drmc-ch a:hover { border-color: var(--drm-g); }
.drmc-ch .dot { width: 10px; height: 10px; border-radius: 50%; flex: none; }
.drmc-ch small { margin-left: auto; font-weight: 400; color: var(--drm-sub); }
.drmc-form { display: grid; gap: 10px; padding-top: 16px; border-top: 1px solid var(--drm-line); }
.drmc-h { margin: 0; font-size: 15px; font-weight: 700; }
.drmc-form label { display: grid; gap: 4px; font-size: 13px; color: var(--drm-sub); }
.drmc-form input, .drmc-form select, .drmc-form textarea { font: inherit; font-size: 15px; color: var(--drm-ink); padding: 10px 12px; border: 1px solid var(--drm-line); border-radius: 8px; background: #fff; }
.drmc-form .drmc-agree { display: flex; gap: 8px; align-items: flex-start; font-size: 12px; line-height: 1.5; }
.drmc-agree input { margin-top: 2px; }
.drmc-send { padding: 13px; border: 0; border-radius: 30px; background: var(--drm-g); color: #fff; font-size: 15px; font-weight: 700; cursor: pointer; }
.drmc-send[disabled] { opacity: .6; }
.drmc-msg { margin: 0; font-size: 13px; color: var(--drm-g); min-height: 1em; }
.drmc-msg.err { color: #b3261e; }

/* 해외 고객 안내 */
.drmv { padding: 40px 0 72px; }
.drmv .Inner { display: grid; gap: 20px; font-family: Pretendard, sans-serif; color: var(--drm-ink); }
.drmv-card { background: var(--drm-bg); border-radius: 16px; padding: 28px; }
.drmv-k { margin: 0 0 10px; font-size: 13px; color: var(--drm-g); font-weight: 600; }
.drmv-addr-ko { margin: 0; font-size: 26px; font-weight: 700; line-height: 1.45; word-break: keep-all; }
.drmv-addr-en { margin: 8px 0 18px; font-size: 15px; color: var(--drm-sub); }
.drmv-maps { display: flex; flex-wrap: wrap; gap: 8px; }
.drmv-btn { display: inline-block; padding: 11px 18px; border-radius: 30px; background: var(--drm-g); color: #fff !important; font-size: 14px; font-weight: 600; text-decoration: none; }
.drmv-btn.ghost { background: #fff; color: var(--drm-g) !important; border: 1px solid var(--drm-g); }
.drmv-routes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.drmv-route { border: 1px solid var(--drm-line); border-radius: 16px; padding: 22px; }
.drmv-from { margin: 0 0 12px; font-size: 17px; font-weight: 700; }
.drmv-route ol { margin: 0; padding-left: 18px; display: grid; gap: 8px; font-size: 14px; line-height: 1.6; color: #333; word-break: keep-all; list-style: decimal; }
.drmv-total { margin: 14px 0 0; font-size: 14px; font-weight: 700; color: var(--drm-g); }
.drmv-note { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; justify-content: space-between; padding: 20px 24px; border-radius: 16px; background: #f1f6f3; font-size: 14px; line-height: 1.6; }
.drmv-note p { margin: 0; flex: 1 1 280px; word-break: keep-all; }
.drmv-jump { max-width: 1440px; margin: 0 auto; padding: 8px 20px 0; }
@media (max-width: 900px) {
  .drmv-routes { grid-template-columns: 1fr; }
  .drmv-addr-ko { font-size: 22px; }
  .drmv-card { padding: 22px 18px; }
}

/* 원본 CSS 의 label·select 여백이 섞여 들쭉날쭉 → 초기화 */
.drmc-form label, .drmc-form input, .drmc-form select, .drmc-form textarea { margin: 0; padding-left: 0; text-indent: 0; box-sizing: border-box; }
.drmc-form input:not([type=checkbox]), .drmc-form select, .drmc-form textarea { width: 100%; padding: 10px 12px; }
.drmc-form input[type=checkbox] { appearance: auto; -webkit-appearance: checkbox; width: 16px; height: 16px; flex: none; accent-color: var(--drm-g); }
.drmv .Inner { max-width: 1400px; margin: 0 auto; padding: 0 20px; box-sizing: border-box; }

/* 번체판 글꼴: 한자는 Noto Sans TC(필요한 글자만, 자체 호스팅) — 10/22 */
@font-face{font-family:"NSTC";src:url(/fonts/NotoSansTC-sub.woff2?v=1022) format("woff2-variations");font-weight:100 900;font-display:swap}
html[lang="zh-Hant-TW"] body,html[lang="zh-Hant-TW"] .ov-text text:not([font-family="BOD"]){font-family:"Pretendard","PT","NSTC",sans-serif!important}

/* 한자·영문 긴 글이 카드 밖으로 넘치지 않게(원본은 한글 기준 keep-all) — 10/22 */
html[lang="zh-Hant-TW"] *{word-break:normal!important;overflow-wrap:anywhere}
html[lang="en"] .eventCard-main *,html[lang="en"] .boardCard *{overflow-wrap:anywhere}
