/* ============================================================
   i18n: 多言語対応スタイル
   ============================================================ */

/* data-i18n-text: 装飾SVG画像の代替テキスト表示 */
.i18n-text[data-i18n-text] {
  display: inline-block;
  writing-mode: vertical-rl;
  font-family: var(--font-mincho);
  font-size: 1.1rem;
  font-weight: 500;
  letter-spacing: 0.15em;
  line-height: 2;
  color: var(--color-white);
}

/* 横書きデコ画像の代替（セクション見出し等） */
.sub-block__deco-img.i18n-text[data-i18n-text] {
  writing-mode: horizontal-tb;
  font-size: 1.3rem;
  letter-spacing: 0.08em;
  line-height: 1.6;
}

/* ============================================================
   Language Dropdown (PC Header)
   ============================================================ */
.header__lang-wrap {
  position: relative;
}

.header__lang {
  background: none;
  border: 1px solid var(--color-white);
  border-radius: 80px;
  color: var(--color-white);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: var(--font-goudy);
  font-size: 10px;
  letter-spacing: 3px;
  width: 170px;
  height: 32px;
  padding: 0;
}

.header__lang-triangle {
  transition: transform 0.3s;
}

.header__lang[aria-expanded="true"] .header__lang-triangle {
  transform: rotate(180deg);
}

.header__lang-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  background: rgba(31, 31, 31, 0.95);
  border: 1px solid rgba(211, 205, 182, 0.2);
  border-radius: 4px;
  list-style: none;
  min-width: 170px;
  padding: 8px 0;
  z-index: 1000;
}

.header__lang-dropdown.is-open {
  display: block;
}

.header__lang-option {
  display: block;
  padding: 10px 20px;
  font-family: var(--font-goudy);
  font-size: 13px;
  letter-spacing: 0.1em;
  color: var(--color-white);
  text-decoration: none;
  text-align: center;
  transition: background 0.2s;
}

.header__lang-option:hover {
  background: rgba(211, 205, 182, 0.1);
}

.header__lang-option.is-active {
  color: var(--color-gold);
}

/* ============================================================
   Language Switcher (SP Global Menu)
   ============================================================ */
.global-menu__lang-btn {
  background: none;
  border: 1px solid var(--color-white);
  border-radius: 80px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: var(--font-goudy);
  font-size: 10px;
  letter-spacing: 3px;
  color: var(--color-white);
  width: 170px;
  height: 32px;
  padding: 0;
}

.global-menu__lang-btn img {
  transition: transform 0.3s;
}

.global-menu__lang-btn[aria-expanded="true"] img {
  transform: rotate(180deg);
}

.global-menu__lang-list {
  display: none;
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  list-style: none;
  background: rgba(31, 31, 31, 0.95);
  border: 1px solid rgba(211, 205, 182, 0.2);
  border-radius: 4px;
  padding: 8px 0;
  min-width: 170px;
  z-index: 10;
}

.global-menu__lang-list.is-open {
  display: block;
}

.global-menu__lang-option {
  display: block;
  padding: 10px 20px;
  font-family: var(--font-goudy);
  font-size: 13px;
  letter-spacing: 0.1em;
  color: var(--color-white);
  text-decoration: none;
  text-align: center;
  transition: background 0.2s;
}

.global-menu__lang-option:hover {
  background: rgba(211, 205, 182, 0.1);
}

.global-menu__lang-option.is-active {
  color: var(--color-gold);
}

@media (max-width: 768px) {
  .i18n-text[data-i18n-text] {
    font-size: 0.95rem;
  }

  .sub-block__deco-img.i18n-text[data-i18n-text] {
    font-size: 1.1rem;
  }
}
