diff --git a/core/themes/olivero/css/components/language-links.css b/core/themes/olivero/css/components/language-links.css
new file mode 100644
index 0000000..aa31b0b
--- /dev/null
+++ b/core/themes/olivero/css/components/language-links.css
@@ -0,0 +1,30 @@
+/*
+ * DO NOT EDIT THIS FILE.
+ * See the following change record for more information,
+ * https://www.drupal.org/node/3084859
+ * @preserve
+ */
+
+[dir="ltr"] .language-links {
+  margin-left: 0;
+}
+
+[dir="rtl"] .language-links {
+  margin-right: 0;
+}
+
+[dir="ltr"] .language-links {
+  margin-right: 0;
+}
+
+[dir="rtl"] .language-links {
+  margin-left: 0;
+}
+
+.language-links {
+  list-style: none;
+}
+
+.language-links__link.is-active {
+  color: var(--color--black);
+}
diff --git a/core/themes/olivero/css/components/language-links.pcss.css b/core/themes/olivero/css/components/language-links.pcss.css
new file mode 100644
index 0000000..6e306e6
--- /dev/null
+++ b/core/themes/olivero/css/components/language-links.pcss.css
@@ -0,0 +1,9 @@
+.language-links {
+  margin-inline-start: 0;
+  margin-inline-end: 0;
+  list-style: none;
+}
+
+.language-links__link.is-active {
+  color: var(--color--black);
+}
diff --git a/core/themes/olivero/olivero.libraries.yml b/core/themes/olivero/olivero.libraries.yml
index 6eebb27..d696397 100644
--- a/core/themes/olivero/olivero.libraries.yml
+++ b/core/themes/olivero/olivero.libraries.yml
@@ -214,3 +214,8 @@ dialog.off_canvas:
   css:
     component:
       css/components/off-canvas.css: {}
+
+language-links:
+  css:
+    component:
+      css/components/language-links.css: {}
diff --git a/core/themes/olivero/olivero.theme b/core/themes/olivero/olivero.theme
index 38ae150..2127639 100644
--- a/core/themes/olivero/olivero.theme
+++ b/core/themes/olivero/olivero.theme
@@ -584,3 +584,17 @@ function olivero_preprocess_search_result(&$variables) {
     $variables['info_date'] = \Drupal::service('date.formatter')->format($variables['result']['node']->getCreatedTime(), 'olivero_medium');
   }
 }
+
+/**
+ * Implements hook_preprocess_links__language_block().
+ */
+function olivero_preprocess_links__language_block(&$variables) {
+  $variables['attributes']['class'][] = 'language-links';
+
+  foreach ($variables['links'] as &$link) {
+    $link['attributes']->addClass('language-links__item');
+    $link['link']['#options']['attributes']['class'][] = 'language-links__link';
+  }
+
+  $variables['#attached']['library'][] = 'olivero/language-links';
+}
