.locale-switch { position: relative; flex: 0 0 auto; }
.locale-switch summary { cursor: pointer; list-style: none; border: 1px solid var(--line, #ddd); border-radius: 10px; padding: 9px 12px; background: #fff; color: var(--ink, #221c35); font: inherit; white-space: nowrap; }
.locale-switch summary::-webkit-details-marker { display: none; }
.locale-switch summary::after { content: " ▾"; }
.locale-switch[open] summary::after { content: " ▴"; }
.locale-short { display: none; }
.locale-menu { position: absolute; inset-inline-end: 0; top: calc(100% + 6px); z-index: 30; display: grid; min-width: 170px; max-height: 65vh; overflow: auto; padding: 6px; border: 1px solid var(--line, #ddd); border-radius: 12px; background: #fff; box-shadow: 0 14px 30px rgba(25, 18, 48, .14); }
.locale-menu a { display: block; padding: 8px 10px; border-radius: 7px; color: var(--ink, #221c35); text-decoration: none; white-space: nowrap; }
.locale-menu a:hover, .locale-menu a:focus-visible { background: #f2eef9; }
.locale-menu a[aria-current="page"] { font-weight: 700; }
.localized-image-square-crop { width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; object-position: center; }
@media (max-width: 600px) { .locale-full { display: none; } .locale-short { display: inline; } .locale-menu { inset-inline-end: 0; } }
