/* Sélecteur de langue (08/11/2026, demande de la Maison) : « Français » un peu plus à gauche,
   l'anglais en option au survol (ou au clavier). Sur téléphone : ligne « Français · English » en bas du menu ≡. */
.hz-util .hz-wrap > .hz-lang { position: relative; margin-left: auto; margin-right: 30px; display: block; font-size: 12px; color: #444; }
.hz-lang__cur { display: inline-flex; align-items: center; gap: 7px; height: 22px; padding: 0; border: 0; background: none; font: inherit; color: inherit; cursor: pointer; }
.hz-lang__flag { flex: none; display: block; }
.hz-lang__chev { flex: none; margin-left: 1px; opacity: .55; transition: transform .25s, opacity .25s; }
.hz-lang:hover .hz-lang__chev, .hz-lang:focus-within .hz-lang__chev { transform: rotate(180deg); opacity: .9; }
.hz-lang__menu {
  position: absolute; top: calc(100% + 8px); left: -14px; z-index: 70;
  min-width: calc(100% + 28px); margin: 0; padding: 8px 0; list-style: none;
  background: #fff; box-shadow: 0 0 0 1px var(--site-line, #ebebeb), 0 10px 24px rgba(36, 30, 24, .06);
  opacity: 0; visibility: hidden; transform: translateY(6px);
  transition: opacity .2s, transform .2s, visibility 0s .2s;
}
.hz-lang__menu::before { content: ""; position: absolute; left: 0; right: 0; top: -10px; height: 10px; }
.hz-lang:hover .hz-lang__menu, .hz-lang:focus-within .hz-lang__menu { opacity: 1; visibility: visible; transform: none; transition: opacity .2s, transform .2s; }
.hz-lang__menu a { display: flex; align-items: center; gap: 7px; padding: 6px 14px; color: #444; white-space: nowrap; transition: color .25s; }
.hz-lang__menu a:hover, .hz-lang__menu a:focus-visible { color: var(--site-accent, #c09578); }

/* Menu ≡ du téléphone */
.hz-mobile-menu .hz-mm-lang { display: flex; justify-content: center; gap: 18px; margin-top: 18px; font: 400 10px/1 var(--site-title, "Montserrat", Arial, sans-serif); letter-spacing: .16em; text-transform: uppercase; }
.hz-mobile-menu .hz-mm-lang a { display: inline-flex; align-items: center; gap: 7px; color: #9a928a; }
.hz-mobile-menu .hz-mm-lang a[aria-current="true"] { color: var(--site-ink, #242424); }

/* Choix des langues TOUT À DROITE de l'en-tête (08/11 : « à droite du bouton recherche », « un peu plus à droite »,
   puis la flèche du client vers le bord de l'écran). Ma sélection et la loupe restent à leur place d'origine ;
   la langue est posée au bord droit de l'en-tête, à la hauteur de la loupe (écrans de 1280 px et plus). */
@media (min-width: 1280px) {
  body .hz-util .hz-wrap > a.hz-util__sel { margin-left: auto; }
  /* (08/11) « un peu trop à droite maintenant » : centrée aux 3/5 de l'espace entre la loupe et le bord de l'écran
     (bord droit de la loupe = 50 % + 465 px ; centre de la langue = 0,4 × loupe + 0,6 × largeur = 80 % + 186 px). */
  body .hz-util .hz-wrap > .hz-lang { position: absolute; top: 46px; left: calc(80% + 186px); right: auto; transform: translate(-50%, -50%); width: auto; margin: 0; z-index: 3; }
  body .hz-util .hz-wrap > .hz-lang .hz-lang__menu { left: auto; right: -14px; }
}
/* Ordinateurs plus étroits (992–1279 px) : pas de place au bord, la langue suit la loupe (Ma sélection · loupe · langue). */
@media (min-width: 992px) and (max-width: 1279px) {
  body .hz-util .hz-wrap { padding-right: 15px; }
  body .hz-util .hz-wrap > .hz-lang { order: 3; flex: none; width: 104px; margin: 0 -24px 0 0; }
  body .hz-util .hz-wrap > a.hz-util__sel { order: 2; margin-left: auto; margin-right: 100px; }
  body .hz-brand .hz-search { right: 137px; }
}

/* Menu ≡ du téléphone : « Alliances » devant Femme / Homme est écrit par la feuille de style (herzo-menu.css),
   la traduction ne le voit pas. En anglais : « Women » / « Men » sous WEDDING RINGS ; en chinois : 女士婚戒 / 男士婚戒. */
html:lang(en-GB) body .hz-mobile-menu .hz-mega__tabs .hz-mega__tab::before,
html:lang(zh-CN) body .hz-mobile-menu .hz-mega__tabs .hz-mega__tab::before { content: none; }
html:lang(zh-CN) body .hz-mobile-menu .hz-mega__tabs .hz-mega__tab::after { content: "婚戒"; }
