/* CeraSalt Polylang language switcher */
.cerasalt-language-switcher{
  position:fixed;
  top:104px;
  right:0;
  z-index:48;
  display:block;
  margin:0;
  padding:0;
  transition:opacity .2s ease,visibility .2s ease;
}

.cerasalt-language-switcher__toggle{
  display:none;
}

.cerasalt-language-switcher__inner{
  display:flex;
  flex-direction:column;
  margin:0;
  padding:0;
  background:var(--white);
  border:1px solid var(--line);
  border-right:0;
}

.cerasalt-language-switcher__item{
  width:64px;
  min-height:56px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  margin:0;
  padding:8px 6px;
  border:0;
  border-bottom:1px solid var(--line);
  background:var(--white);
  color:var(--muted);
  font-family:"IBM Plex Mono",monospace;
  font-size:10px;
  line-height:1;
  font-weight:500;
  letter-spacing:.06em;
  text-align:center;
  text-decoration:none;
  cursor:pointer;
  transition:color .2s ease,background .2s ease;
}

.cerasalt-language-switcher__item:last-child{
  border-bottom:0;
}

.cerasalt-language-switcher__item:hover,
.cerasalt-language-switcher__item:focus-visible{
  color:var(--accent);
  background:var(--soft);
}

.cerasalt-language-switcher__item:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:-2px;
}

.cerasalt-language-switcher__item.is-active{
  color:var(--ink);
  background:var(--soft);
  cursor:default;
}

.cerasalt-language-switcher__flag{
  display:block;
  width:40px;
  height:24px;
  object-fit:cover;
  border:1px solid rgba(23,23,23,.08);
}

.cerasalt-language-switcher__code{
  display:block;
  line-height:1;
}

body.menu-open .cerasalt-language-switcher{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

@media (max-width:1100px){
  .cerasalt-language-switcher{
    --cerasalt-language-panel-width:64px;
    display:flex;
    align-items:stretch;
    transform:translateX(var(--cerasalt-language-panel-width));
    transition:transform .28s cubic-bezier(.22,.61,.36,1),opacity .2s ease,visibility .2s ease;
    will-change:transform;
  }

  .cerasalt-language-switcher.is-expanded{
    transform:translateX(0);
  }

  .cerasalt-language-switcher__toggle{
    width:34px;
    min-height:56px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:7px;
    margin:0;
    padding:6px 4px;
    border:1px solid var(--line);
    border-right:0;
    border-radius:8px 0 0 8px;
    background:var(--white);
    color:var(--ink);
    cursor:pointer;
    box-shadow:none;
    transition:color .2s ease,background .2s ease;
  }

  .cerasalt-language-switcher__toggle:hover,
  .cerasalt-language-switcher__toggle:focus-visible{
    color:var(--accent);
    background:var(--soft);
  }

  .cerasalt-language-switcher__toggle:focus-visible{
    outline:2px solid var(--accent);
    outline-offset:-2px;
  }

  .cerasalt-language-switcher__toggle-flag{
    display:block;
    width:22px;
    height:13px;
    object-fit:cover;
    border:1px solid rgba(23,23,23,.08);
  }

  .cerasalt-language-switcher__toggle-icon{
    width:14px;
    height:14px;
    flex:0 0 auto;
    transition:transform .28s cubic-bezier(.22,.61,.36,1);
  }

  .cerasalt-language-switcher.is-expanded .cerasalt-language-switcher__toggle-icon{
    transform:rotate(180deg);
  }

  .cerasalt-language-switcher__inner{
    width:var(--cerasalt-language-panel-width);
    flex:0 0 var(--cerasalt-language-panel-width);
  }
}

@media (max-width:640px){
  .cerasalt-language-switcher{
    --cerasalt-language-panel-width:60px;
    top:88px;
  }

  .cerasalt-language-switcher__toggle{
    width:32px;
    min-height:52px;
    gap:6px;
  }

  .cerasalt-language-switcher__toggle-flag{
    width:20px;
    height:12px;
  }

  .cerasalt-language-switcher__item{
    width:60px;
    min-height:52px;
    padding:7px 5px;
  }

  .cerasalt-language-switcher__flag{
    width:36px;
    height:22px;
  }
}

@media (prefers-reduced-motion:reduce){
  .cerasalt-language-switcher,
  .cerasalt-language-switcher__item,
  .cerasalt-language-switcher__toggle,
  .cerasalt-language-switcher__toggle-icon{
    transition:none;
  }
}
