/* A compact language control, shared by the editorial and collaboration layouts. */
header > nav { margin-left: auto; }
header { gap: 24px; }
.language-switch { position: relative; flex: 0 0 auto; z-index: 60; color: #20373d; font-family: inherit; font-size: 12px; line-height: 1.4; letter-spacing: .06em; }
.language-switch summary { display: flex; align-items: center; justify-content: center; gap: 8px; min-width: 54px; min-height: 44px; cursor: pointer; list-style: none; border-bottom: 1px solid #ac946066; }
.language-switch summary::-webkit-details-marker { display: none; }
.language-switch summary svg { width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 1.2; transition: transform .2s; }
.language-switch[open] summary svg { transform: rotate(180deg); }
.language-switch summary:focus-visible { outline: 2px solid #ac9460; outline-offset: 4px; }
.language-options { position: absolute; top: calc(100% + 12px); right: 0; min-width: 174px; padding: 8px; background: #f5f2eb; color: #20373d; border: 1px solid #d9d1c1; box-shadow: 0 16px 40px #10232b20; }
.collaboration-page .language-switch { color: inherit; }
.language-options a { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 12px; min-height: 44px; text-decoration: none; font-size: 13px; letter-spacing: 0; }
.language-options small { font-size: 10px; letter-spacing: .1em; color: #817458; }
.language-options a:hover, .language-options a:focus-visible { background: #e9e2d5; }
.language-options a[aria-current] { background: #e9e2d5; font-weight: 600; }
.language-switch { order: 2; }
header .menu-toggle { order: 3; }
@media (min-width: 651px) and (max-width: 1050px) {
  body:not(.collaboration-page) header > nav { display: none; }
  body:not(.collaboration-page) .language-switch { margin-left: auto; }
  body:not(.collaboration-page) header .menu-toggle { display: block; background: none; color: inherit; border: 1px solid #ad976b55; padding: 10px 14px; min-height: 44px; }
  #mobile-nav:not([hidden]) { display: flex; flex-wrap: wrap; gap: 12px 28px; padding: 18px 6.5%; background: #f5f2eb; border-bottom: 1px solid #d9d1c1; }
  #mobile-nav a { padding: 10px 0; }
}
@media (max-width: 650px) {
  header { gap: 12px; }
  body:not(.collaboration-page) .language-switch { margin-left: auto; }
  .language-switch summary { min-width: 44px; gap: 5px; }
  .language-options { right: -38px; }
  body:not(.collaboration-page) header .logo { font-size: 21px; letter-spacing: 4px; }
  body:not(.collaboration-page) header .logo span { font-size: 6px; letter-spacing: 1.3px; }
  .collaboration-page .site-header { flex-wrap: wrap; gap: 8px 16px; }
  .collaboration-page .site-header > nav { order: 3; width: 100%; justify-content: space-between; }
  .collaboration-page .language-switch { margin-left: auto; }
  html[lang="fr"] .luxe-hero h1 { font-size: clamp(35px, 9.7vw, 43px); }
}
@media (prefers-reduced-motion: reduce) { .language-switch summary svg { transition: none; } }
