.contest-language-switcher {
  position: absolute;
  top: 18px;
  right: 20px;
  z-index: 30;
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 5px;
  border: 1px solid rgba(241, 198, 106, 0.9);
  background: rgba(255, 248, 233, 0.96);
  backdrop-filter: blur(10px);
  box-shadow: 0 8px 22px rgba(45, 2, 7, 0.24);
}

.contest-language-switcher a {
  min-width: 38px;
  padding: 7px 9px;
  color: #7a181c !important;
  border: 1px solid transparent;
  background: transparent;
  font: 700 13px/1 system-ui, sans-serif;
  letter-spacing: .04em;
  text-align: center;
  text-decoration: none;
}

.contest-language-switcher a[aria-current="page"] {
  color: #fff8e9 !important;
  border-color: #8b1e22;
  background: #8b1e22;
}

.contest-language-switcher a:hover,
.contest-language-switcher a:focus-visible {
  color: #641416 !important;
  border-color: #f1c66a;
  background: #f1c66a;
  outline: none;
}

@media (max-width: 640px) {
  .contest-language-switcher {
    position: absolute;
    top: 10px;
    right: 10px;
  }

  .contest-home .cover-content {
    padding-top: 98px;
  }

  html[lang="en"] .contest-home .cover-content h1,
  html[lang="fr"] .contest-home .cover-content h1 {
    font-size: clamp(28px, 8.2vw, 36px);
    line-height: 1.2;
    letter-spacing: -0.035em;
  }

  html[lang="en"] .contest-home .cover-track,
  html[lang="fr"] .contest-home .cover-track {
    font-size: clamp(23px, 6.7vw, 30px);
    line-height: 1.3;
  }

  html[lang="en"] .contest-home .cover-call,
  html[lang="fr"] .contest-home .cover-call {
    line-height: 1.15;
  }

  html[lang="en"] .contest-home .cover-hosts,
  html[lang="fr"] .contest-home .cover-hosts {
    font-size: 15px;
    line-height: 1.55;
  }
}

@media (max-width: 640px) {
  html[lang="fr"] .contest-home .cover-content {
    width: calc(100% - 40px);
    margin-inline: auto;
    justify-content: center;
    justify-items: center;
    text-align: center;
  }

  html[lang="fr"] .contest-home .cover-theme,
  html[lang="fr"] .contest-home .cover-content h1,
  html[lang="fr"] .contest-home .cover-track,
  html[lang="fr"] .contest-home .cover-call,
  html[lang="fr"] .contest-home .cover-hosts {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-inline: auto;
    padding-inline: 8px;
    box-sizing: border-box;
    text-align: center;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }

  html[lang="fr"] .contest-home .cover-track {
    font-size: clamp(22px, 6.2vw, 28px);
  }
}
html[lang="en"] .portal-link::after { content: "View"; }
html[lang="fr"] .portal-link::after { content: "Voir"; }
