/* BTranslate 0.4.0 — selectable languages, local flags, custom switcher colors. */
.btranslate-google-element {
  position: fixed !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  left: -9999px !important;
  top: -9999px !important;
}

.btranslate-switcher,
.btranslate-switcher *,
.btranslate-switcher *::before,
.btranslate-switcher *::after {
  box-sizing: border-box !important;
}

.btranslate-switcher {
  --bt-floating-bg: #0a263e;
  --bt-floating-text: #ffffff;
  --bt-header-bg: #ffffff;
  --bt-header-text: #172033;
  display: inline-block !important;
  position: relative !important;
  direction: ltr !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
  text-align: left !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  line-height: 1 !important;
  z-index: 999998;
}

/* Hard reset: theme / Elementor button styles cannot leak into BTranslate. */
.btranslate-switcher button,
.btranslate-switcher .btranslate-trigger,
.btranslate-switcher .btranslate-lang,
body .btranslate-switcher button {
  all: unset !important;
  box-sizing: border-box !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -webkit-tap-highlight-color: transparent !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  text-decoration: none !important;
  cursor: pointer !important;
  user-select: none !important;
  -webkit-user-select: none !important;
}

.btranslate-trigger {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  min-height: 46px !important;
  padding: 8px 12px !important;
  border: 1px solid rgba(127, 127, 127, .22) !important;
  border-radius: 13px !important;
  background: var(--bt-header-bg) !important;
  color: var(--bt-header-text) !important;
  box-shadow: 0 6px 18px rgba(15, 23, 42, .08) !important;
  white-space: nowrap !important;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease !important;
}

.btranslate-trigger:hover,
.btranslate-switcher.is-open .btranslate-trigger {
  border-color: rgba(127, 127, 127, .38) !important;
  box-shadow: 0 9px 25px rgba(15, 23, 42, .13) !important;
}

.btranslate-trigger:focus-visible,
.btranslate-lang:focus-visible {
  outline: 2px solid rgba(59, 130, 246, .75) !important;
  outline-offset: 2px !important;
}

.btranslate-flag {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 22px !important;
  flex: 0 0 32px !important;
  overflow: visible !important;
  border-radius: 5px !important;
}

.btranslate-flag img {
  display: block !important;
  width: 32px !important;
  height: 22px !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: fill !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}

.btranslate-current-name,
.btranslate-option-name {
  display: inline-block !important;
  font-size: 15px !important;
  line-height: 1.15 !important;
  font-weight: 650 !important;
  color: inherit !important;
  white-space: nowrap !important;
}

.btranslate-current-short { display: none !important; }

.btranslate-chevron {
  display: block !important;
  width: 11px !important;
  height: 7px !important;
  margin-left: 2px !important;
  flex: 0 0 11px !important;
  opacity: .82 !important;
  transition: transform .16s ease !important;
}

.btranslate-switcher.is-open .btranslate-chevron {
  transform: rotate(180deg) !important;
}

.btranslate-menu {
  display: none !important;
  position: absolute !important;
  left: 0 !important;
  min-width: 190px !important;
  max-width: 290px !important;
  max-height: min(420px, 58vh) !important;
  padding: 6px !important;
  border: 1px solid rgba(127, 127, 127, .20) !important;
  border-radius: 14px !important;
  background: var(--bt-header-bg) !important;
  color: var(--bt-header-text) !important;
  box-shadow: 0 16px 38px rgba(15, 23, 42, .18) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  z-index: 1000000 !important;
}

.btranslate-switcher.is-open .btranslate-menu {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 2px !important;
}

.btranslate-lang {
  display: flex !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  min-height: 46px !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 11px !important;
  padding: 8px 9px !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: inherit !important;
  white-space: nowrap !important;
  transition: background-color .14s ease !important;
}

.btranslate-lang:hover { background: rgba(127, 127, 127, .14) !important; }
.btranslate-lang.is-active { display: none !important; }
.btranslate-lang .btranslate-option-name {
  flex: 1 1 auto !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Floating tool */
.btranslate-floating {
  position: fixed !important;
  bottom: 18px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 15px !important;
  background: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

.btranslate-bottom-left { left: 18px !important; }
.btranslate-bottom-right { right: 18px !important; }

.btranslate-floating .btranslate-trigger {
  min-width: 158px !important;
  min-height: 50px !important;
  padding: 8px 13px !important;
  border: 1px solid rgba(255, 255, 255, .17) !important;
  border-radius: 15px !important;
  background: var(--bt-floating-bg) !important;
  color: var(--bt-floating-text) !important;
  box-shadow: 0 12px 30px rgba(2, 15, 28, .25), inset 0 1px 0 rgba(255, 255, 255, .08) !important;
  -webkit-backdrop-filter: blur(12px) saturate(135%) !important;
  backdrop-filter: blur(12px) saturate(135%) !important;
}

.btranslate-floating .btranslate-trigger:hover,
.btranslate-floating.is-open .btranslate-trigger {
  border-color: rgba(255, 255, 255, .28) !important;
  box-shadow: 0 14px 34px rgba(2, 15, 28, .31), inset 0 1px 0 rgba(255, 255, 255, .10) !important;
}

.btranslate-floating .btranslate-current-name {
  font-size: 15px !important;
  font-weight: 650 !important;
  max-width: 180px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.btranslate-floating .btranslate-chevron {
  margin-left: auto !important;
  opacity: .92 !important;
}

.btranslate-floating .btranslate-menu {
  left: 0 !important;
  right: auto !important;
  bottom: calc(100% + 7px) !important;
  min-width: 100% !important;
  width: max-content !important;
  max-width: 280px !important;
  border: 1px solid rgba(255, 255, 255, .15) !important;
  border-radius: 15px !important;
  background: var(--bt-floating-bg) !important;
  color: var(--bt-floating-text) !important;
  box-shadow: 0 16px 36px rgba(2, 15, 28, .30), inset 0 1px 0 rgba(255, 255, 255, .07) !important;
  -webkit-backdrop-filter: blur(14px) saturate(135%) !important;
  backdrop-filter: blur(14px) saturate(135%) !important;
}

.btranslate-floating.btranslate-bottom-right .btranslate-menu {
  left: auto !important;
  right: 0 !important;
}

.btranslate-floating .btranslate-lang {
  min-height: 46px !important;
  color: inherit !important;
}

.btranslate-floating .btranslate-lang:hover { background: rgba(127, 127, 127, .17) !important; }
.btranslate-floating .btranslate-option-name { font-size: 14px !important; font-weight: 600 !important; }
.btranslate-floating.btranslate-no-labels .btranslate-current-full { display: none !important; }
.btranslate-floating.btranslate-no-labels .btranslate-trigger { min-width: 72px !important; }

/* Header / inline shortcode opens downward. */
.btranslate-inline-full .btranslate-menu,
.btranslate-header .btranslate-menu {
  top: calc(100% + 7px) !important;
  bottom: auto !important;
}

.btranslate-header .btranslate-trigger,
.btranslate-inline-full .btranslate-trigger {
  background: var(--bt-header-bg) !important;
  color: var(--bt-header-text) !important;
}

.btranslate-header .btranslate-menu,
.btranslate-inline-full .btranslate-menu {
  background: var(--bt-header-bg) !important;
  color: var(--bt-header-text) !important;
}

/* Header shortcode remains compact. */
.btranslate-header .btranslate-trigger {
  min-height: 43px !important;
  padding: 7px 10px !important;
  gap: 8px !important;
  border-radius: 11px !important;
  box-shadow: none !important;
}

.btranslate-header .btranslate-flag {
  width: 30px !important;
  height: 20px !important;
  flex-basis: 30px !important;
}

.btranslate-header .btranslate-flag img {
  width: 30px !important;
  height: 20px !important;
}

.btranslate-header .btranslate-current-full { display: none !important; }
.btranslate-header .btranslate-current-short {
  display: inline-block !important;
  max-width: 58px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
}
.btranslate-header .btranslate-menu { min-width: 190px !important; }

/* Keep Google UI hidden; never alter the site's own direction. */
body > .skiptranslate,
.goog-te-banner-frame,
.goog-te-banner-frame.skiptranslate {
  display: none !important;
}
html body { top: 0 !important; }

@media (max-width: 767px) {
  .btranslate-floating { bottom: 14px !important; }
  .btranslate-bottom-left { left: 14px !important; }
  .btranslate-bottom-right { right: 14px !important; }
  .btranslate-floating .btranslate-trigger {
    min-width: 150px !important;
    min-height: 48px !important;
  }
  .btranslate-floating .btranslate-current-name { font-size: 14px !important; max-width: 145px !important; }
  .btranslate-floating .btranslate-menu { max-width: min(270px, calc(100vw - 28px)) !important; max-height: 52vh !important; }
}
