/* Language Switcher — matches site design, premium & responsive */
.site-lang-switcher { position: relative; display: inline-flex; align-items: center; }
.sls { position: relative; font-family: inherit; }
.sls__btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 7px 12px; border-radius: 999px;
  background: #fff; color: #19223c; border: 1px solid #e5e7eb;
  box-shadow: 0 1px 2px rgba(0,0,0,.04);
  cursor: pointer; font-size: 13px; font-weight: 600;
  transition: box-shadow .2s ease, border-color .2s ease, transform .15s ease;
}
.sls__btn:hover { border-color: #7C3AED; box-shadow: 0 4px 12px rgba(124,58,237,.15); }
.sls__flag { width: 20px; height: 14px; object-fit: cover; border-radius: 2px; display: inline-block; }
.sls__name { line-height: 1; }
.sls__caret { transition: transform .2s ease; opacity: .7; }
.sls.is-open .sls__caret { transform: rotate(180deg); }

.sls__menu {
  position: absolute; top: calc(100% + 8px); left: 0;
  min-width: 180px; margin: 0; padding: 6px; list-style: none;
  background: #fff; border: 1px solid #eef0f4; border-radius: 12px;
  box-shadow: 0 12px 32px rgba(15,23,42,.12);
  opacity: 0; transform: translateY(-6px) scale(.98);
  pointer-events: none; transition: opacity .18s ease, transform .18s ease;
  z-index: 9999;
}
.sls.is-open .sls__menu { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
.sls__menu li {
  display: flex; align-items: center; gap: 10px;
  padding: 9px 12px; border-radius: 8px; cursor: pointer;
  font-size: 14px; color: #19223c; font-weight: 500;
  transition: background .15s ease, color .15s ease;
}
.sls__menu li:hover { background: #f5f3ff; color: #7C3AED; }
.sls__menu li.is-active { background: linear-gradient(135deg,#7C3AED,#06B6D4); color: #fff; }
.sls__menu li.is-active:hover { color: #fff; }
.sls__menu li img { width: 22px; height: 15px; object-fit: cover; border-radius: 2px; }

@media (max-width: 768px) {
  .sls__btn { padding: 6px 10px; font-size: 12px; }
  .sls__name { display: none; }
  .sls__menu { min-width: 170px; left: 0; }
}
