/* ══════════════════════════════════════════════════════════════
   LANGUAGE SWITCHER  —  lang-switcher.css
   Loaded on EVERY page (the switcher lives in the global header).
   Also carries site-wide RTL rules.
   ══════════════════════════════════════════════════════════════ */
.mct-lang-switch { position: relative; }
.mct-lang-current {
  display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 12px;
  border-radius: 50px; background: var(--bg3); border: 1px solid var(--border);
  color: var(--text2); font-size: 13px; font-weight: 700; font-family: var(--body);
  cursor: pointer; transition: all var(--ease);
}
.mct-lang-current:hover { background: var(--accent); color: #fff; border-color: var(--accent); }
.mct-lang-code { font-family: var(--mono); letter-spacing: .04em; }
.mct-lang-caret { transition: transform var(--ease); }
.mct-lang-switch.open .mct-lang-caret { transform: rotate(180deg); }

/* Panel — fixed-positioned so the sticky header never clips it */
.mct-lang-menu {
  position: absolute; top: calc(100% + 10px); right: 0; z-index: 100002;
  width: 340px;
  background: var(--bg2); border: 1px solid var(--border); border-radius: var(--r);
  box-shadow: var(--shadow-lg); padding: 0; display: none; overflow: hidden;
}
.mct-lang-switch.open .mct-lang-menu { display: block; animation: mctFadeUp .2s ease forwards; }

/* Search box (sticky at top of panel) */
.mct-lang-search-wrap {
  display: flex; align-items: center; gap: 8px; padding: 12px 14px;
  border-bottom: 1px solid var(--border); background: var(--bg2);
}
.mct-lang-search-wrap svg { color: var(--text3); flex-shrink: 0; }
.mct-lang-search {
  flex: 1; border: none; outline: none; background: transparent;
  font-family: var(--body); font-size: 14px; color: var(--text); min-width: 0;
}
.mct-lang-search::placeholder { color: var(--text3); }

/* Scroll area — bounded so all entries are reachable */
.mct-lang-scroll {
  max-height: min(440px, calc(100vh - 160px));
  overflow-y: auto;
  padding: 8px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 2px;
}
.mct-lang-opt {
  display: flex; flex-direction: column; align-items: flex-start; gap: 1px;
  padding: 8px 11px; border-radius: var(--r-sm);
  color: var(--text2); transition: background var(--ease); position: relative;
}
.mct-lang-opt:hover { background: var(--bg3); }
.mct-lang-native { font-size: 14px; font-weight: 700; color: var(--text); line-height: 1.2; }
.mct-lang-en { font-size: 11px; color: var(--text3); }
.mct-lang-opt.is-active { background: color-mix(in srgb, var(--accent2) 12%, transparent); }
.mct-lang-opt.is-active .mct-lang-native { color: var(--accent2); }
.mct-lang-check { position: absolute; top: 9px; right: 9px; color: var(--accent2); }
.mct-lang-opt.is-active { padding-right: 26px; }
.mct-lang-empty { grid-column: 1 / -1; text-align: center; padding: 24px 12px; font-size: 13px; color: var(--text3); }
.mct-lang-scroll::-webkit-scrollbar { width: 7px; }
.mct-lang-scroll::-webkit-scrollbar-track { background: var(--bg3); }
.mct-lang-scroll::-webkit-scrollbar-thumb { background: var(--border2); border-radius: 4px; }

/* Mobile: anchor the panel to the viewport so it can't overflow off-screen */
@media (max-width: 600px) {
  .mct-lang-menu {
    position: fixed; top: auto; bottom: 0; left: 0; right: 0; width: 100%;
    border-radius: 18px 18px 0 0; max-height: 75vh;
  }
  .mct-lang-scroll { max-height: calc(75vh - 60px); }
  .mct-lang-switch.open::after {
    content: ''; position: fixed; inset: 0; background: rgba(0,0,0,.5);
    z-index: 100001;
  }
}

/* RTL support */
body.mct-rtl { direction: rtl; }
body.mct-rtl .mct-card-meta,
body.mct-rtl .mct-author-foot,
body.mct-rtl .sp-breadcrumb { flex-direction: row-reverse; }
body.mct-rtl .mct-lang-menu { right: auto; left: 0; }
body.mct-rtl .mct-lang-check { right: auto; left: 9px; }
body.mct-rtl .mct-lang-opt.is-active { padding-right: 11px; padding-left: 26px; }
@media (max-width: 600px) { body.mct-rtl .mct-lang-menu { left: 0; right: 0; } }

