/* Shared by the map page and the province pages: the language switch and the feedback form. */
.langs { display: inline-flex; gap: 2px; padding: 2px; border: 1px solid var(--line); border-radius: 999px; background: var(--paper); }
.langs a, .langs span { padding: 2px 9px; border-radius: 999px; font-size: 12px; font-weight: 600; text-decoration: none; color: var(--muted); }
.langs span[aria-current] { background: var(--ink); color: #fff; }
.langs a:hover { color: var(--ink); }

.fb-link { padding: 0; border: 0; background: none; color: var(--accent); font: inherit; font-weight: 600; text-align: left; text-decoration: underline; cursor: pointer; }

dialog.fb { width: min(94vw, 480px); max-height: 92vh; padding: 0; border: 0; border-radius: 14px; color: var(--ink);
  box-shadow: 0 18px 60px rgba(0, 0, 0, .35); overflow: auto; }
dialog.fb::backdrop { background: rgba(18, 48, 43, .55); }
.fb form { position: relative; padding: 20px 20px 16px; font: 15px/1.4 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
.fb h2 { margin: 0 28px 2px 0; font-size: 19px; }
.fb-pond { margin: 0 0 8px; font-weight: 600; color: var(--accent); }
.fb-intro, .fb-privacy { margin: 0 0 12px; color: var(--muted); font-size: 13px; }
.fb-x { position: absolute; top: 10px; right: 12px; width: 32px; height: 32px; border: 0; border-radius: 50%; background: none;
  font-size: 24px; line-height: 1; color: var(--muted); cursor: pointer; }
.fb-x:hover { background: #f3f7f6; }
.fb fieldset { margin: 0 0 12px; padding: 0; border: 0; }
.fb legend, .fb-field > span { display: block; margin-bottom: 4px; padding: 0; font-size: 13px; font-weight: 600; }
.fb-fish label { display: inline-flex; align-items: center; gap: 4px; margin: 0 6px 6px 0; padding: 4px 10px; border: 1px solid var(--line);
  border-radius: 999px; font-size: 13px; cursor: pointer; }
.fb-fish label:has(input:checked) { border-color: var(--accent); background: #e6f3f0; }
.fb-fish input { accent-color: var(--accent); margin: 0; }
.fb-field { display: block; margin-bottom: 12px; }
.fb-field input, .fb-field select, .fb-field textarea { display: block; width: 100%; padding: 8px 10px; border: 1px solid #b9c7c3; border-radius: 8px;
  font: inherit; color: inherit; background: #fff; }
.fb-field textarea { resize: vertical; }
.fb-field small { display: block; margin-top: 3px; color: var(--muted); font-size: 12px; }
.fb-field input:focus, .fb-field select:focus, .fb-field textarea:focus { outline: 2px solid var(--accent); outline-offset: 1px; border-color: var(--accent); }
.fb-check { display: flex; gap: 8px; align-items: flex-start; margin-bottom: 12px; font-size: 14px; cursor: pointer; }
.fb-check input { margin-top: 3px; accent-color: var(--accent); }
.fb-two { display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; }
.fb-status { min-height: 0; margin: 0 0 10px; font-size: 14px; font-weight: 600; color: var(--accent); }
.fb-status:empty { display: none; }
.fb-status.bad { color: #b3261e; }
.fb-actions { display: flex; justify-content: flex-end; gap: 8px; }
.fb-actions button { padding: 9px 18px; border-radius: 999px; font: inherit; font-weight: 600; cursor: pointer; }
.fb-cancel { border: 1px solid var(--line); background: #fff; color: var(--ink); }
.fb-send { border: 0; background: var(--accent); color: #fff; }
.fb-send[disabled] { opacity: .6; cursor: progress; }
.fb form.sent > :not(h2):not(.fb-pond):not(.fb-status):not(.fb-actions):not(.fb-x) { display: none; }
.fb form.sent .fb-send { display: none; }
@media (max-width: 480px) { .fb-two { grid-template-columns: 1fr; } }
.fb-trap { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.fb-human { margin: 0 0 10px; }
.fb-human:empty { display: none; }
