/* PolySEO AI RC17 STAGING PILOT — scoped compact selector, left by default. */
#psai-language-choice.psai-language {
  box-sizing:border-box; position:fixed; left:16px; bottom:calc(16px + env(safe-area-inset-bottom, 0px)); right:auto; z-index:99990;
  width:max-content; max-width:min(94vw,350px); border-radius:12px;
  background:#fff; color:#172033; border:1px solid #d1d5db;
  box-shadow:0 3px 18px rgba(0,0,0,.14); font:14px/1.45 system-ui,sans-serif;
}
#psai-language-choice.psai-language[data-position="right"] { left:auto; right:16px; }
#psai-language-choice *, #psai-language-choice *::before, #psai-language-choice *::after { box-sizing:border-box; }
#psai-language-choice .psai-language-trigger {
  display:flex; align-items:center; gap:7px; width:100%; border:0; background:transparent;
  color:inherit; padding:9px 12px; font:600 14px/1.4 system-ui,sans-serif; cursor:pointer;
  text-align:left; border-radius:11px;
}
#psai-language-choice .psai-language-chevron { margin-left:auto; font-size:18px; line-height:1; }
#psai-language-choice[data-open="1"] .psai-language-chevron { transform:rotate(180deg); }
#psai-language-choice .psai-language-flag { display:inline-block; min-width:1.35em; line-height:1; }
#psai-language-choice .psai-language-options { border-top:1px solid #e5e7eb; padding:6px; }
#psai-language-choice .psai-language-options[hidden], #psai-language-choice .psai-language-suggestion[hidden] { display:none!important; }
#psai-language-choice .psai-language-options a, #psai-language-choice .psai-language-options span.psai-language-active {
  display:block; padding:8px 9px; color:#172033; border-radius:8px;
  font:500 14px/1.4 system-ui,sans-serif; text-decoration:none; margin:0;
}
#psai-language-choice .psai-language-options a:hover { background:#eef4ff; color:#144a95; }
#psai-language-choice .psai-language-options .psai-language-active { font-weight:700; background:#f3f4f6; }
#psai-language-choice .psai-language-suggestion { border-top:1px solid #e5e7eb; padding:10px 12px; max-width:320px; }
#psai-language-choice .psai-language-suggestion span { display:block; margin-bottom:8px; }
#psai-language-choice .psai-language-suggestion a { display:inline-block; color:#1456aa; text-decoration:underline; margin-right:10px; }
#psai-language-choice .psai-language-dismiss { padding:0; border:0; background:transparent; cursor:pointer; text-decoration:underline; color:#374151; font:inherit; }
#psai-language-choice a:focus-visible, #psai-language-choice button:focus-visible { outline:2px solid #155bb5; outline-offset:2px; }
@media(max-width:768px) {
  /* Mobile is ALWAYS bottom-left, regardless of desktop configuration. */
  #psai-language-choice.psai-language,
  #psai-language-choice.psai-language[data-position="right"] { left:8px; right:auto; bottom:calc(8px + env(safe-area-inset-bottom, 0px)); max-width:calc(100vw - 16px); }
  #psai-language-choice.psai-language[data-placement="header"] { position:fixed; left:8px; right:auto; bottom:calc(8px + env(safe-area-inset-bottom, 0px)); }
}
@media(prefers-reduced-motion:reduce) { #psai-language-choice * { transition:none!important; } }

/* The header placement occurs only when a real shortcode mount exists.
 * No scroll listener, no animation, no change to document content or SEO tags. */
.psai-language-header-slot { position:relative; display:inline-flex; align-items:center; flex:0 0 auto; }
@media (min-width: 769px) {
  #psai-language-choice.psai-language[data-placement="header"] {
    position:relative; inset:auto; left:auto; right:auto; bottom:auto;
    z-index:99990; max-width:min(340px, 42vw); width:max-content;
  }
  #psai-language-choice.psai-language[data-placement="header"] .psai-language-options,
  #psai-language-choice.psai-language[data-placement="header"] .psai-language-suggestion {
    position:absolute; top:calc(100% + 6px); right:0; left:auto;
    z-index:99991; min-width:max(100%, 190px);
    background:#fff; border:1px solid #d1d5db; border-radius:10px;
    box-shadow:0 3px 18px rgba(0,0,0,.14);
  }
}

/* RC16: unsupported language choices are visible but never clickable. */
#psai-language-choice .psai-language-options span.psai-language-unavailable {
  display:flex; align-items:center; gap:5px; padding:8px 9px; margin:0;
  border-radius:8px; font:500 14px/1.4 system-ui,sans-serif;
  color:#6b7280; cursor:not-allowed;
}
#psai-language-choice .psai-language-unavailable-note {
  margin-left:auto; padding-left:10px; font:400 11px/1.4 system-ui,sans-serif;
  color:#6b7280; white-space:nowrap;
}
