.np-language-desktop { display: flex; align-items: center; margin-right: 14px; flex: 0 0 auto; }
.np-language-mobile { display: none; }
.np-language-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 13px; border: 1px solid #d8e3df; border-radius: 999px; background: #fff; color: #153e36; font: 600 14px/1.2 Arial, sans-serif; cursor: pointer; white-space: nowrap; touch-action: manipulation; }
.np-language-toggle:hover { background: #f3f8f5; border-color: #a7c7ba; }
.np-language-toggle:focus-visible, .np-language-panel button:focus-visible { outline: 3px solid #0c8764; outline-offset: 2px; }
.np-language-toggle[aria-busy="true"] { opacity: .68; cursor: progress; }
.np-language-toggle svg { flex: 0 0 auto; }
.np-language-panel[hidden], .np-language-notice[hidden] { display: none !important; }
.np-language-panel { position: fixed; z-index: 999999; width: 330px; max-width: calc(100vw - 16px); max-height: calc(100dvh - 16px); overflow-y: auto; padding: 8px; border: 1px solid #dbe5df; border-radius: 14px; background: #fff; box-shadow: 0 18px 50px rgba(12, 39, 32, .18); color: #172b27; box-sizing: border-box; }
.np-language-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; }
.np-language-grid button { display: flex; align-items: center; gap: 7px; min-width: 0; min-height: 44px; padding: 7px 8px; border: 0; border-radius: 8px; background: #fff; color: #172b27; font: 500 13px/1.2 Arial, sans-serif; text-align: left; cursor: pointer; touch-action: manipulation; }
.np-language-grid button:hover { background: #f1f6f2; }
.np-language-grid button[aria-pressed="true"] { background: #e8f3eb; color: #075e45; font-weight: 700; }
.np-language-grid button:disabled { cursor: progress; opacity: .65; }
.np-language-code { flex: 0 0 21px; font-size: 11px; font-weight: 700; }
.np-language-check { margin-left: auto; visibility: hidden; font-style: normal; }
.np-language-grid button[aria-pressed="true"] .np-language-check { visibility: visible; }
.np-language-notice { position: fixed; z-index: 1000000; left: 50%; bottom: 20px; transform: translateX(-50%); display: flex; align-items: center; gap: 12px; max-width: calc(100vw - 24px); padding: 10px 14px; border-radius: 10px; background: #153e36; color: #fff; box-shadow: 0 10px 28px rgba(0,0,0,.22); font: 500 13px/1.3 Arial, sans-serif; }
.np-language-notice button { min-height: 36px; padding: 0 12px; border: 1px solid #fff; border-radius: 7px; background: transparent; color: #fff; cursor: pointer; }
.np-language-notice button[hidden] { display: none; }
@media (max-width: 1199px) and (min-width: 1025px) { .np-language-toggle--desktop .np-language-current { max-width: 32px; overflow: hidden; } }
@media (max-width: 1024px) {
  .np-language-desktop { display: none; }
  .np-language-mobile { display: block; padding: 8px 14px; border-bottom: 1px solid #e5ece8; background: #fff; }
  .np-language-toggle--mobile { width: 100%; justify-content: flex-start; border-radius: 8px; }
  .np-language-toggle--mobile svg:last-child { margin-left: auto; }
}
@media (max-width: 360px) { .np-language-grid button { gap: 5px; padding-inline: 5px; font-size: 12px; } .np-language-panel { padding: 6px; } }
