/* Independent of page layout: shared by all three language versions. */
.language-suggestion {
  --language-surface: #fff;
  --language-text: #211c38;
  --language-muted: #625c72;
  --language-border: #e6def3;
  position: fixed;
  z-index: 1035;
  left: max(24px, env(safe-area-inset-left));
  bottom: max(24px, env(safe-area-inset-bottom));
  width: 396px;
  max-width: calc(100vw - 48px);
  max-height: calc(100vh - 48px);
  overflow-y: auto;
  padding: 25px 24px 15px;
  border: 1px solid var(--language-border);
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(128, 89, 225, .07), transparent 65%), var(--language-surface);
  color: var(--language-text);
  box-shadow: 0 16px 64px rgba(29, 17, 56, .18), 0 2px 8px rgba(29, 17, 56, .04);
  font-family: inherit;
  text-align: left;
  animation: language-suggestion-in .3s ease-out both;
}
.language-suggestion[hidden] { display: none !important; }
.language-suggestion svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }
.language-suggestion-heading { display: flex; gap: 13px; align-items: center; padding-right: 18px; }
.language-suggestion-icon { display: grid; place-items: center; width: 46px; height: 46px; flex: 0 0 46px; background: #eee7fc; color: #643dc2; border-radius: 14px; }
.language-suggestion-label { display: block; font-size: 10px; font-weight: 700; letter-spacing: .13em; color: var(--language-muted); line-height: 1.5; margin-bottom: 4px; }
.language-suggestion h2 { margin: 0; color: var(--language-text); font-family: inherit; font-size: 18px; font-weight: 700; line-height: 1.35; }
.language-suggestion-description { margin: 17px 0 20px; font-size: 13px; line-height: 1.65; color: var(--language-muted); }
.language-suggestion button, .language-suggestion a { font-family: inherit; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.language-suggestion-close { display: grid; place-items: center; position: absolute; top: 8px; right: 8px; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--language-muted); }
.language-suggestion-close svg { width: 19px; height: 19px; }
.language-suggestion-close:hover { background: rgba(116, 82, 171, .1); color: var(--language-text); }
.language-suggestion-open { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 46px; padding: 12px 15px; border: 1px solid transparent; border-radius: 11px; background: #6840c4; color: #fff !important; font-size: 13px; font-weight: 700; line-height: 1.5; text-decoration: none !important; transition: background .18s ease; }
.language-suggestion-open svg { width: 18px; height: 18px; }
.language-suggestion-open:hover { background: #5630ac; }
.language-suggestion-stay { display: block; width: 100%; min-height: 42px; margin-top: 5px; padding: 10px 0; border: 0; border-radius: 8px; color: var(--language-muted); background: transparent; font-size: 12px; line-height: 1.5; }
.language-suggestion-stay:hover { color: var(--language-text); text-decoration: underline; text-underline-offset: 3px; }
.language-suggestion :focus-visible { outline: 3px solid #a889ef; outline-offset: 3px; }
body[data-background="dark"] .language-suggestion { --language-surface: #252236; --language-text: #f7f4ff; --language-muted: #c6bed8; --language-border: #443858; box-shadow: 0 16px 64px rgba(0, 0, 0, .35); }
body[data-background="dark"] .language-suggestion-icon { background: #3b3056; color: #c4a8ff; }
@keyframes language-suggestion-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 575px) {
  .language-suggestion { left: 14px; bottom: calc(86px + env(safe-area-inset-bottom)); width: calc(100vw - 28px); max-width: 396px; max-height: calc(100vh - 112px - env(safe-area-inset-bottom)); padding: 21px 20px 11px; border-radius: 17px; }
  .language-suggestion h2 { font-size: 17px; }
  .language-suggestion-description { margin: 14px 0 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .language-suggestion { animation: none; }
  .language-suggestion-open { transition: none; }
}
