/* Atelier Numen · selector de idioma
 * Diez idiomas, endonimos, en la cabecera (y en la de los checkouts). Comparte
 * lenguaje visual con el selector de mercado (.market) y se carga despues del
 * CSS de la pagina. Autocontenido: no depende de variables de la ficha. */
.langpick {
  --lp-ink: #171715; --lp-muted: #6b6963; --lp-line: #d8d7d1; --lp-paper: #fcfcfa; --lp-soft: #f4f3ef;
  position: relative; display: inline-block; font-family: "DM Sans", Arial, Helvetica, sans-serif; color: var(--lp-ink);
}
.langpick-toggle {
  display: inline-flex; align-items: center; gap: .45rem;
  padding: .48rem .8rem; border: 1px solid var(--lp-line); border-radius: 999px;
  background: transparent; color: inherit; cursor: pointer;
  font-family: inherit; font-size: .63rem; font-weight: 600;
  letter-spacing: .12em; text-transform: uppercase; line-height: 1; white-space: nowrap;
}
.langpick-toggle:hover { border-color: var(--lp-ink); }
.langpick-toggle .lp-globe { width: 15px; height: 15px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.4; opacity: .8; }
.langpick-toggle::after {
  content: ""; width: 5px; height: 5px; margin-left: .1rem;
  border-right: 1px solid currentColor; border-bottom: 1px solid currentColor;
  transform: translateY(-2px) rotate(45deg); opacity: .55; transition: transform .2s ease;
}
.langpick-toggle[aria-expanded="true"]::after { transform: translateY(1px) rotate(225deg); }
.langpick-menu {
  position: absolute; top: calc(100% + .55rem); right: 0; z-index: 300;
  min-width: 13.5rem; max-height: min(70vh, 30rem); overflow-y: auto; padding: .45rem;
  background: var(--lp-paper); border: 1px solid var(--lp-line);
  box-shadow: 0 18px 46px rgba(23, 23, 21, .14); text-align: left;
}
.langpick-menu[hidden] { display: none; }
.langpick-menu a {
  display: block; padding: .55rem .7rem; color: var(--lp-ink); text-decoration: none;
  font-size: .95rem; letter-spacing: normal; text-transform: none; line-height: 1.25;
}
.langpick-menu a:hover { background: var(--lp-soft); }
.langpick-menu a[aria-current="true"] { background: var(--lp-soft); box-shadow: inset 2px 0 0 var(--lp-ink); }

/* Cabecera del sitio: va justo antes del selector de mercado. */
.site-header .site-utils .langpick { margin-right: .6rem; }
@media (max-width: 1024px) {
  .site-header .site-menu .site-utils .langpick { display: block; margin: 0 0 .6rem; }
  .site-header .site-menu .langpick-toggle { width: 100%; justify-content: flex-start; border-radius: 0; padding: .75rem .9rem; }
  .site-header .site-menu .langpick-toggle::after { margin-left: auto; }
  .site-header .site-menu .langpick-menu { position: static; margin-top: .4rem; min-width: 0; box-shadow: none; max-height: 16rem; }
}

/* Cabecera del checkout: tercera columna. */
.checkout-header .langpick { grid-column: 3; justify-self: end; }
@media (max-width: 560px) {
  .checkout-header { grid-template-columns: auto 1fr auto; }
  .checkout-header .brand { grid-column: 2; justify-self: center; }
  .checkout-header .langpick-toggle .lp-current { display: none; }
  .checkout-header .langpick-toggle { padding: .5rem .6rem; }
}

/* Tipografia por escritura: la de la marca no trae CJK y el italico falso
 * de una fuente china o japonesa es ilegible. */
html[lang="zh-Hans"] body, html[lang="zh-Hans"] .site-header { font-family: "DM Sans", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif; }
html[lang="ja"] body, html[lang="ja"] .site-header { font-family: "DM Sans", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", "Noto Sans JP", sans-serif; }
html[lang="ko"] body, html[lang="ko"] .site-header { font-family: "DM Sans", "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", sans-serif; }
html[lang="zh-Hans"] h1, html[lang="zh-Hans"] h2, html[lang="zh-Hans"] h3, html[lang="zh-Hans"] .wordmark { font-family: "Cormorant Garamond", "Songti SC", "Noto Serif SC", "STSong", "SimSun", serif; }
html[lang="ja"] h1, html[lang="ja"] h2, html[lang="ja"] h3, html[lang="ja"] .wordmark { font-family: "Cormorant Garamond", "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", serif; }
html[lang="ko"] h1, html[lang="ko"] h2, html[lang="ko"] h3, html[lang="ko"] .wordmark { font-family: "Cormorant Garamond", "Nanum Myeongjo", "Noto Serif KR", "AppleMyungjo", serif; }
html[lang="zh-Hans"] em, html[lang="zh-Hans"] i, html[lang="ja"] em, html[lang="ja"] i, html[lang="ko"] em, html[lang="ko"] i,
html[lang="zh-Hans"] blockquote, html[lang="ja"] blockquote, html[lang="ko"] blockquote { font-style: normal; }
html[lang="zh-Hans"] body, html[lang="ja"] body, html[lang="ko"] body { line-height: 1.85; word-break: normal; overflow-wrap: anywhere; }
html[lang="zh-Hans"] h1, html[lang="zh-Hans"] h2, html[lang="zh-Hans"] h3, html[lang="ja"] h1, html[lang="ja"] h2, html[lang="ja"] h3,
html[lang="ko"] h1, html[lang="ko"] h2, html[lang="ko"] h3 { letter-spacing: .02em; line-height: 1.3; }
/* Palabras largas del aleman y el neerlandes: que partan en vez de desbordar. */
html[lang="de"] h1, html[lang="de"] h2, html[lang="de"] h3, html[lang="de"] p, html[lang="de"] li,
html[lang="nl"] h1, html[lang="nl"] h2, html[lang="nl"] h3, html[lang="nl"] p, html[lang="nl"] li { hyphens: auto; overflow-wrap: break-word; }

/* Aviso de traduccion de cortesia en las paginas legales. */
.an-legal-notice { margin: 0 0 1.6rem; padding: .8rem 1rem; border-left: 2px solid #b9b7ae; background: #f4f3ef; color: #4a4843; font-size: .9rem; line-height: 1.55; }
