.cps-language-switcher {
  position: fixed;
  bottom: 0.75rem;
  right: 0.75rem;
  z-index: 1000;
  color: #eaf7ff;
  font-family: var(--cps-font-ui);
}

[dir="rtl"] .cps-language-switcher {
  right: auto;
  left: 0.75rem;
}

.cps-language-switcher details {
  position: relative;
}

.cps-language-switcher summary {
  min-width: 7rem;
  padding: 0.6rem 0.8rem;
  border: 1px solid rgba(47, 205, 255, 0.35);
  border-radius: 0.8rem;
  background: rgba(3, 18, 32, 0.94);
  box-shadow: 0 0.7rem 2rem rgba(0, 0, 0, 0.25);
  cursor: pointer;
  list-style: none;
  text-align: center;
}

.cps-language-switcher summary::-webkit-details-marker {
  display: none;
}

.cps-language-menu {
  position: absolute;
  bottom: calc(100% + 0.4rem);
  right: 0;
  display: grid;
  min-width: 13rem;
  max-height: min(70vh, 28rem);
  overflow: auto;
  padding: 0.45rem;
  border: 1px solid rgba(47, 205, 255, 0.3);
  border-radius: 0.9rem;
  background: #031526;
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.35);
}

[dir="rtl"] .cps-language-menu {
  right: auto;
  left: 0;
}

.cps-language-menu a {
  padding: 0.65rem 0.75rem;
  border-radius: 0.55rem;
  color: #d9eef9;
  text-decoration: none;
}

.cps-language-menu a:hover,
.cps-language-menu a[aria-current="true"] {
  background: rgba(40, 194, 255, 0.15);
  color: #63ddff;
}

.cps-language-suggestion {
  position: relative;
  z-index: 999;
  padding: 0.65rem 1rem;
  background: #063454;
  color: #eaf8ff;
  font: 600 0.9rem/1.4 var(--cps-font-ui);
  text-align: center;
}

.cps-language-suggestion a {
  margin-left: 0.35rem;
  color: #68e4ff;
}

@media (max-width: 720px) {
  .cps-language-switcher {
    bottom: 0.5rem;
    right: 0.5rem;
  }

  [dir="rtl"] .cps-language-switcher {
    right: auto;
    left: 0.5rem;
  }

  .cps-language-switcher summary {
    min-width: 0;
    max-width: 8.5rem;
    padding: 0.5rem 0.65rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .cps-language-suggestion {
    padding: 0.65rem 0.75rem;
  }
}
