/* Die Stellensuche (/expert/stellen/). Look & Feel wie der Gehaltscheck und
   der Expert-Bereich: Flaechenton, weisse runde Karten, Fraunces fuer
   Ueberschriften, dieselbe Leiste.

   Keine eigenen Farbwerte (Regel 8): alles aus den Tokens in app.css. */

body{background:var(--surface-gray);min-height:100dvh;margin:0}
[hidden]{display:none !important}
/* Dieselbe Spalte wie der Expert-Bereich (bestaetigen/index.html: .best mit
   36px 20px 72px, darin .bild/.abmelden-zeile mit 760px): Leiste, Abmelden
   und Inhalt stehen auf jeder Seite an derselben Stelle und gleich breit --
   kein Springen beim Wechsel zwischen „Stellen“ und den Ankern (Nutzer,
   25.10.2026: „all menue navigation must be same layout size“). */
.st{max-width:800px;margin:0 auto;padding:36px 20px 72px}
.st h1{font-family:var(--font-display);font-size:30px;line-height:36px;font-weight:600;
       color:var(--ink);margin:0 0 6px}
.st h1:focus,.st h2:focus,.st h3:focus{outline:none}
.st h2{font-family:var(--font-display);font-size:20px;line-height:26px;font-weight:600;
       color:var(--ink);margin:0 0 10px}
.st p{font-size:15px;line-height:23px;color:var(--ink-2);margin:0 0 12px}
.st .leise{font-size:13px;line-height:19px;color:var(--ink-3)}
.st a{color:var(--primary-ink);font-weight:600}
.st a.btn.primary{color:var(--bg)}
.recht-band .innen{max-width:1120px;padding-top:12px;padding-bottom:12px}

.karte{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-lg);
       box-shadow:var(--shadow-card);padding:20px;margin:0 0 14px}
.linkknopf{background:none;border:0;padding:0;font:inherit;font-size:13px;font-weight:600;
           color:var(--primary-ink);cursor:pointer}
.linkknopf:hover{text-decoration:underline}
.linkknopf:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.st .abmelden-zeile{text-align:right;margin:0 0 8px;font-size:13px;line-height:19px}
/* Der Platz bleibt, bis die Sitzung geprueft ist -- sonst rutscht die Leiste
   beim Laden um eine Zeile nach unten (wie lebenslauf.css, bestaetigen/index.html). */
.st .abmelden-zeile[hidden]{display:block !important;visibility:hidden}

/* ---------------------------------------------------------------- Leiste
   Wie im Expert-Bereich (bestaetigen/index.html), fuenf Eintraege. */
.xb-nav{display:flex;gap:4px;margin:0 0 22px;padding:0;border-bottom:1px solid var(--line)}
.xb-nav a{display:flex;align-items:center;gap:8px;padding:11px 16px;margin-bottom:-1px;
          border-bottom:3px solid transparent;font-size:15px;line-height:22px;font-weight:600;
          color:var(--ink-2);text-decoration:none;border-radius:var(--radius) var(--radius) 0 0}
.xb-nav a:hover{color:var(--primary-ink);background:var(--primary-soft)}
.xb-nav a[aria-current=page]{color:var(--primary-ink);border-bottom-color:var(--brand-teal)}
.xb-nav a:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}
.xb-nav svg{width:20px;height:20px;stroke-width:2;flex:none}
/* Am Desktop wie im Expert-Bereich (25.10.2026): eine helle Leiste mit
   Pillen statt Reitern. Auf dem Telefon bleibt sie unten (siehe unten). */
@media (min-width:640px){
  .xb-nav{position:sticky;top:10px;z-index:40;padding:6px;border:1px solid var(--line);
          border-radius:16px;background:color-mix(in srgb,var(--bg) 90%,transparent);
          -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-card)}
  .xb-nav a{padding:9px 16px;margin:0;border-bottom:0;border-radius:11px;
            transition:background var(--dauer) var(--kurve),color var(--dauer) var(--kurve)}
  .xb-nav a[aria-current=page]{background:var(--primary-soft);
            box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand-teal) 26%,transparent)}
}

/* ---------------------------------------------------------------- Suche */
.st-kopf{margin:0 0 14px}
.st-suche{padding:18px 20px}
.st-zeile{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.st-feld{display:flex;flex-direction:column;gap:6px;min-width:0}
.st-punkt{flex:1 1 220px}
.st-land{flex:0 0 170px}
.st-label{font-size:14px;line-height:20px;font-weight:600;color:var(--ink);
          display:inline-flex;gap:6px;align-items:center}
.st-feld input,.st-feld select{height:42px;padding:0 12px;border:1px solid var(--line-strong);
          border-radius:var(--radius);background:var(--bg);color:var(--ink);font:inherit;
          font-size:15px}
.st-feld input:focus-visible,.st-feld select:focus-visible{outline:2px solid var(--focus);
          outline-offset:1px}
.st-feld input[aria-invalid=true]{border-color:var(--destructive)}
.st .st-feldfehler{font-size:13px;line-height:19px;color:var(--destructive);margin:6px 0 0}
.st-gruppe{border:0;margin:14px 0 0;padding:0;min-width:0}
.st-gruppe legend{font-size:14px;line-height:20px;font-weight:600;color:var(--ink);
                  margin:0 0 8px;padding:0}

/* Radius als Segment, Fach und Modell als Chips -- wie im Gehaltscheck. */
.segment{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:4px;max-width:420px;
         border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface)}
.segment label,.st-wahl label{position:relative;cursor:pointer}
.segment input,.st-wahl input{position:absolute;inset:0;width:100%;height:100%;margin:0;
                              opacity:0;cursor:pointer}
.segment span{display:flex;align-items:center;justify-content:center;min-height:36px;
              border-radius:var(--radius-sm);font-size:14px;line-height:18px;color:var(--ink-2);
              white-space:nowrap}
.segment label:hover span{background:var(--bg)}
.segment input:checked + span{background:var(--primary-ink);color:var(--bg);font-weight:600}
.st-wahl{gap:8px}
.st-wahl span{display:inline-flex;align-items:center;min-height:36px;padding:6px 14px;
              border:1px solid var(--line-strong);border-radius:var(--radius-pill);
              background:var(--bg);color:var(--ink-2);font-size:14px;line-height:20px}
.st-wahl label:hover span{border-color:var(--primary-ink)}
.st-wahl input:checked + span{background:var(--primary-soft);color:var(--primary-ink);
                              border-color:var(--primary-ink);font-weight:600}
.segment input:focus-visible + span,.st-wahl input:focus-visible + span{
  outline:2px solid var(--focus);outline-offset:2px}

.st-filter{margin:14px 0 0}
.st-filter summary{cursor:pointer;font-size:14px;font-weight:600;color:var(--primary-ink)}
.st-filter summary:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.st-filter-innen{display:grid;gap:4px;margin-top:10px}
.st-filter-innen .st-feld{margin-top:10px;max-width:320px}

.st .st-zaehler{font-size:15px;font-weight:600;color:var(--ink);margin:6px 0 12px}

/* ---------------------------------------------------------------- Flaeche
   Links Karte und Liste, rechts das Detail (Desktop); auf dem Telefon das
   Detail als Blatt von unten. */
.st-flaeche{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,320px);gap:16px;
            align-items:start}
.st-flaeche.ohne-detail{grid-template-columns:minmax(0,1fr)}
.st-karte{display:block;width:100%;height:300px;border-radius:var(--radius-lg);
          border:1px solid var(--line);background:var(--surface);margin:0 0 14px}
.st-liste{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:10px}
.st-liste button.st-stelle{all:unset;box-sizing:border-box;display:block;width:100%;cursor:pointer;
          background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-lg);
          padding:14px 16px;box-shadow:var(--shadow-card)}
.st-liste button.st-stelle:hover{border-color:var(--primary-ink)}
.st-liste button.st-stelle:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.st-liste button.st-stelle[aria-current=true]{border-color:var(--primary-ink);
          background:var(--primary-soft)}
.st-stelle .st-praxis{font-size:13px;line-height:18px;color:var(--ink-3);font-weight:600}
.st-stelle .st-titel{display:block;font-size:16px;line-height:22px;color:var(--ink);
                     font-weight:600;margin:2px 0 6px}
.st-stelle .st-ort{font-size:13px;line-height:18px;color:var(--ink-2)}
.st-stelle .chips{margin-top:8px}
.st-entgelt{display:block;font-size:13px;line-height:18px;color:var(--ink-2);margin-top:6px}
.chip.vetexperts{background:var(--pastel-teal);color:var(--pastel-teal-ink)}
.chip.fach{background:var(--surface);color:var(--ink-2)}
.chip.gemeldet{background:var(--pastel-mint);color:var(--pastel-mint-ink)}
.st-leer{padding:16px 0}

.st-detail{position:sticky;top:12px;padding:20px}
.st-schliessen{float:right}
.st-detail h2{margin:0 0 4px}
.st-detail dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:4px 14px;
              margin:12px 0;font-size:14px;line-height:20px}
.st-detail dt{color:var(--ink-3)}
.st-detail dd{margin:0;color:var(--ink);overflow-wrap:anywhere;white-space:pre-line}
.st-handlungen{display:grid;gap:10px;margin:16px 0 0}
.st-handlungen .btn{width:100%}
.st-handlungen a.btn{text-decoration:none}
.st-kontakt{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
            padding:12px 14px;font-size:14px;line-height:20px;color:var(--ink)}
.st-kontakt strong{display:block;overflow-wrap:anywhere;margin-bottom:4px}
.st-einwilligung{border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;
                 background:var(--surface)}
.st-einwilligung h3{font-size:15px;line-height:21px;margin:0 0 6px;color:var(--ink)}
.st-einwilligung details{margin:6px 0 10px;font-size:13px;line-height:19px;color:var(--ink-2)}
.st-einwilligung summary{cursor:pointer;font-weight:600;color:var(--primary-ink)}
.st-einwilligung .wortlaut{white-space:pre-line;margin-top:6px}
.st-gemeldet{font-size:14px;line-height:20px;color:var(--ink)}
.st-rueckfrage{display:flex;flex-wrap:wrap;gap:8px;align-items:center}

/* Meine Interessen: eine Zeile je offenem Interesse. */
.st-meine{padding:16px 20px}
.st-meine h2{margin:0 0 8px}
.st-meine-liste{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.st-mein{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;justify-content:space-between;
         padding:10px 0;border-top:1px solid var(--line)}
.st-mein:first-child{border-top:0;padding-top:0}
.st-mein-text{min-width:0;flex:1 1 260px}
.st-mein-text strong{color:var(--ink);font-size:15px;line-height:21px}
.st .st-mein-text p{margin:2px 0 0}
.st-mein-knoepfe{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}

/* Fuss wie auf den anderen Expert-Seiten (bestaetigen/index.html, Gehaltscheck,
   Lebenslauf): Rechtslinks als Zeile mit Abstand, darunter beide Internetseiten
   (assets/recht.css). Darueber die Namensnennung GeoNames und der Stand. */
.st-fuss{max-width:760px;margin:0 auto;padding:0 20px 40px;color:var(--ink-3);font-size:13px}
.st-fuss .leise{font-size:13px;line-height:19px;color:var(--ink-3);margin:0 0 6px}
.st-fuss .st-quelle{margin-bottom:14px}
.st-quelle a{color:var(--primary-ink);font-weight:600}
.recht-links{display:flex;flex-wrap:wrap;gap:6px 20px;margin:0;border-top:1px solid var(--line);
             padding-top:14px}
.recht-links a{color:var(--ink-2);text-decoration:underline;text-underline-offset:2px}

/* Telefon: die Leiste unten, das Detail als Blatt. */
@media (max-width:639px){
  .xb-nav{position:fixed;left:0;right:0;bottom:0;z-index:50;margin:0;gap:0;background:var(--bg);
          border-top:1px solid var(--line);border-bottom:0;box-shadow:var(--shadow-sheet);
          padding-bottom:env(safe-area-inset-bottom)}
  .xb-nav a{flex:1 1 0;min-width:0;flex-direction:column;justify-content:center;gap:2px;
            padding:8px 2px 7px;margin:0;font-size:12px;line-height:16px;text-align:center;
            border-bottom:0;border-top:3px solid transparent;border-radius:0}
  .xb-nav a[aria-current=page]{border-top-color:var(--brand-teal);background:var(--primary-soft)}
  .xb-nav a span{overflow-wrap:anywhere}
  body.xb-seite{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
  .st-land{flex:1 1 140px}
  .st-flaeche{grid-template-columns:minmax(0,1fr)}
  .st-karte{height:240px}
  .st-detail{position:fixed;left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom));
             max-height:70dvh;overflow:auto;margin:0;z-index:45;border-radius:var(--radius-lg)
             var(--radius-lg) 0 0;box-shadow:var(--shadow-sheet)}
}

/* Telefon wie der Expert-Bereich (bestaetigen/index.html, max-width:560px). */
@media (max-width:560px){
  .st{padding:14px 12px 56px}
  .recht-band .innen{padding-top:9px;padding-bottom:9px}
  .recht-band img{height:26px}
}
