/* =========================================================
   언어 전환 위젯 (lang-switch) — DDA 헤더용
   원본 DDA 디자인에 없는 CMS 추가 위젯이라 전용 스타일 정의.
   기본 닫힘(드롭다운), .open 시 메뉴 노출. 헤더 텍스트색을 상속.
   ========================================================= */
/* 로그인/로그아웃 링크 — 다국어 위젯과 동일 톤(헤더색 상속) */
.header-auth .header-auth-form { margin: 0; }
.header-auth .header-auth-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 10px;
  border-radius: 20px;
  font-size: 14px;
  line-height: 1;
  color: #000;
  text-decoration: none;
  /* button reset (a/button 공용) */
  background: transparent;
  border: 0;
  cursor: pointer;
  font-family: inherit;
  transition: background-color .15s ease, opacity .15s ease;
}
.header-auth .header-auth-link:hover { opacity: .7; }
.header-auth .header-auth-link .material-symbols-outlined { font-size: 19px; }
.header-auth .header-auth-text { font-weight: 500; white-space: nowrap; }

.lang-switch { position: relative; }

.lang-switch .lang-toggle {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: transparent;
  border: 1px solid rgba(127, 127, 127, .2);
  border-radius: 20px;
  padding: 5px 12px;
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
  color: #000;
  transition: border-color .15s ease, background-color .15s ease;
}
.lang-switch .lang-toggle:hover { border-color: rgba(127, 127, 127, .6); }
.lang-switch .lang-toggle .lang-icon { font-size: 19px; }
.lang-switch .lang-toggle .lang-current { font-weight: 500; white-space: nowrap; }
.lang-switch .lang-toggle::after {
  content: "";
  width: 6px; height: 6px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  margin-left: 2px;
  opacity: .65;
  transition: transform .2s ease;
}
.lang-switch.open .lang-toggle::after { transform: rotate(-135deg); }

.lang-switch .lang-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 150px;
  margin: 0;
  padding: 6px 0;
  list-style: none;
  background: #fff;
  border: 1px solid #e9e9e9;
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .14);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s;
  z-index: 1200;
}
.lang-switch.open .lang-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.lang-switch .lang-menu li { margin: 0; }
.lang-switch .lang-menu a {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 9px 16px;
  color: #333;
  text-decoration: none;
  font-size: 14px;
  white-space: nowrap;
}
.lang-switch .lang-menu a:hover { background: #f6f6f6; }
.lang-switch .lang-menu a.active { color: #ff5a00; font-weight: 600; }

.lang-switch .lang-menu .lang-code {
  display: inline-block;
  min-width: 22px;
  text-align: center;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
  border: 1px solid currentColor;
  border-radius: 4px;
  padding: 1px 4px;
  opacity: .7;
}
.lang-switch .lang-menu a.active .lang-code { opacity: 1; }
.lang-switch .lang-menu .lang-name { color: inherit; }
