/* ==========================================================================
   Atelier — language switcher (inc/i18n.php). Loaded only when brand.json lists "languages".
   Nav: a compact globe + "EN" button opening a small menu. Mobile menu and footer: a row of links.
   ========================================================================== */
.lang { position: relative; }
.gnav-btn.lang-btn { width: auto; min-width: 36px; padding: 0 10px; gap: 6px; grid-auto-flow: column; border-radius: var(--r-pill); font: 600 12px/1 var(--font-text); letter-spacing: .02em; }
.lang-menu {
  position: absolute; right: 0; top: calc(100% + 10px); z-index: 80; min-width: 172px; padding: 6px;
  display: grid; gap: 2px; border-radius: 16px; background: #161617; box-shadow: 0 0 0 1px rgba(255, 255, 255, .1), 0 24px 48px -16px rgba(0, 0, 0, .5);
  animation: langIn .25s var(--ease-out);
}
.lang-menu a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; border-radius: 10px; color: #f5f5f7; font-size: 15px; text-decoration: none; }
.lang-menu a:hover { background: rgba(255, 255, 255, .08); text-decoration: none; }
.lang-menu a[aria-current]::after { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--accent); }
@keyframes langIn { from { opacity: 0; transform: translateY(-6px); } }

.lang-row { display: flex; flex-wrap: wrap; gap: 8px; }
.lang-row a {
  display: inline-flex; align-items: center; min-height: 34px; padding: 0 14px; border-radius: var(--r-pill);
  color: var(--text); font-size: 14px; text-decoration: none; box-shadow: inset 0 0 0 1px var(--line, rgba(127, 127, 127, .3));
}
.lang-row a:hover { text-decoration: none; box-shadow: inset 0 0 0 1px var(--text); }
.lang-row a[aria-current] { background: var(--text); color: var(--stage); box-shadow: none; }
.mnav .lang-row { margin-top: 28px; max-width: 520px; }
.mnav .lang-row a { opacity: 1; transform: none; animation: none; padding: 0 14px; font: 500 15px/1 var(--font-text); text-transform: none; }
.mnav .lang-row a[aria-current] { background: #f5f5f7; color: #05070c; }
.footer-legal .lang-row { margin-bottom: 16px; }

/* the nav button stays: on phones the menu row repeats it */
@media (max-width: 833px) {
  .gnav-btn.lang-btn { padding: 0 8px; }
}

/* longer French/Spanish labels + the language button: the nav needs a bit more room */
.gnav-links a { white-space: nowrap; }
@media (max-width: 1240px) {
  .skin-signature .gnav-cta { display: none; }
}
@media (max-width: 1068px) {
  .skin-signature .gnav-links { gap: 16px; }
  .skin-signature .gnav-links a { font-size: 12px; letter-spacing: .04em; }
  .skin-signature .gnav-inner { gap: 20px; }
}
