/* website-only additions to the welcome wizard */
a.brand { color: var(--text); text-decoration: none; display: inline-flex; align-items: center; gap: 10px; }
.w-nav { display: flex; align-items: center; gap: 14px; font-size: 14px; }
.w-nav > a { color: var(--text2); text-decoration: none; font-weight: 600; }
.w-nav > a:hover { color: var(--brand); }
.w-lang { position: relative; }
.w-lang summary { list-style: none; cursor: pointer; padding: 6px 12px; border-radius: 999px; border: 1px solid var(--line2); background: var(--bg); font-weight: 600; color: var(--text); }
.w-lang summary::-webkit-details-marker { display: none; }
.w-lang div { position: absolute; right: 0; top: calc(100% + 6px); z-index: 20; display: grid; min-width: 160px; padding: 6px; border-radius: 14px; background: var(--bg); border: 1px solid var(--line); box-shadow: var(--shadow-2); }
.w-lang div a { padding: 7px 10px; border-radius: 8px; color: var(--text); text-decoration: none; }
.w-lang div a:hover { background: var(--hover); }
.w-lang div a[aria-current] { color: var(--brand); font-weight: 700; }
.noext { position: relative; z-index: 2; max-width: 1180px; margin: 14px auto 0; padding: 12px 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; border-radius: 14px; background: var(--brand-soft); border: 1px solid var(--brand-line); color: var(--text); }
.noext .btn { text-decoration: none; }
.open-hint { text-align: center; color: var(--text2); font-size: 13.5px; margin: 10px auto 0; max-width: 560px; }
.legal a { color: var(--text2); }
@media (max-width: 640px) { .w-nav > a { display: none; } .noext { margin: 12px 12px 0; } }

/* on the website the page itself scrolls (not the body box) */
html, body { height: auto; }
body { overflow-x: clip; }
/* language menu above the banner and the wizard card */
.w-top { z-index: 50; }
.w-lang div { z-index: 60; max-height: min(70vh, 460px); overflow-y: auto; }
/* step connectors: from the bottom of one circle to the top of the next, whatever the label height */
@media (min-width: 901px) {
  .step { align-items: flex-start; }
  .step .num { position: relative; z-index: 1; }
  .step > span:last-child { padding-top: 1px; }
  .step:not(:last-child)::after { top: 42px; bottom: -12px; height: auto; left: 26.5px; border-left: 2px solid var(--line2); border-radius: 2px; }
  .step.done::after { border-left-color: var(--brand-line); }
}
