/* Auftragsvermittlung.de – Startseite als Auftragsbörse (Stil „Live-Börse“, Farben aus dem Logo). Farben und Schrift aus tokens.css. */

.avb{
  --avb-bg:var(--av-bg);--avb-surface:var(--av-surface);--avb-line:var(--av-line);
  --avb-ink:var(--av-legacy-boerse-ink);--avb-muted:var(--av-legacy-boerse-muted);
  --avb-blue:var(--av-blue-600);--avb-blue-deep:var(--av-legacy-blue);--avb-green:var(--av-legacy-green-bright);--avb-green-strong:var(--av-green-600);--avb-green-soft:var(--av-green-50);
  --avb-display:var(--av-font-head);
  background:var(--avb-bg);color:var(--avb-ink)
}
.avb h1,.avb h2,.avb h3{font-family:var(--avb-display);color:var(--avb-ink);letter-spacing:-.02em;text-wrap:balance;margin:0}
.avb .avb-wrap{max-width:1200px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.avb a:focus-visible,.avb button:focus-visible{outline:var(--av-focus-width) solid var(--av-focus-color);outline-offset:var(--av-focus-offset);border-radius:8px}

/* Laufband */
.avb-ticker{background:var(--avb-ink);color:#dce7fb;font-size:14px}
.avb-ticker .avb-wrap{display:flex;gap:22px;align-items:center;padding-block:9px;overflow:hidden;white-space:nowrap}
.avb-live{display:inline-flex;align-items:center;gap:8px;color:#8fe39a;font-weight:700;flex:0 0 auto}
.avb-live i{width:8px;height:8px;border-radius:50%;background:#8fe39a;animation:avb-pulse 1.6s infinite}
@keyframes avb-pulse{50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){.avb-live i{animation:none}}
.avb-ticker-items{display:flex;gap:22px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}
.avb-ticker a{color:#dce7fb;text-decoration:none}
.avb-ticker a:hover{color:#fff;text-decoration:underline}

/* Kopfbereich */
.avb-hero .avb-wrap{display:flex;flex-wrap:wrap;gap:28px;padding-block:44px}
.avb-copy{flex:1 1 440px;min-width:0;display:flex;flex-direction:column;gap:20px}
.avb-eyebrow{margin:0;display:inline-flex;align-self:flex-start;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--avb-green-soft);color:var(--avb-green-strong);font:700 14px var(--avb-display)}
.avb-copy h1{font-size:clamp(34px,4.4vw,54px);line-height:1.08;font-weight:800}
.avb-copy h1 em{font-style:normal;color:var(--avb-blue)}
.avb-lead{margin:0;font-size:19px;line-height:1.6;color:var(--avb-muted);max-width:34em}
.avb-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.avb-action{display:flex;flex-direction:column;gap:6px;padding:22px;border-radius:18px;color:#fff!important;text-decoration:none!important;transition:transform .15s}
.avb-action:hover{transform:translateY(-2px)}
@media (prefers-reduced-motion:reduce){.avb-action:hover{transform:none}}
.avb-action span{font:700 12px var(--avb-display);letter-spacing:.08em;opacity:.92}
.avb-action strong{font:700 21px/1.2 var(--avb-display)}
.avb-action small{font-size:15px;opacity:.92}
.avb-action.is-give{background:var(--avb-green-strong)}
.avb-action.is-find{background:var(--avb-blue-deep)}
.avb-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.avb-fact{background:var(--avb-surface);border:1px solid var(--avb-line);border-radius:14px;padding:12px 14px}
.avb-fact b{display:block;font:800 24px/1.1 var(--avb-display);font-variant-numeric:tabular-nums}
.avb-fact span{font-size:14px;color:var(--avb-muted)}
.avb-trust{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0;padding:0;list-style:none;font-size:15px;font-weight:600;color:var(--avb-muted)}
.avb-trust li{display:inline-flex;align-items:center;gap:7px}
.avb-trust i{color:var(--avb-green-strong)}

/* Live-Tafel */
.avb-panel{flex:1 1 500px;min-width:0;align-self:flex-start;background:var(--avb-surface);border:1px solid var(--avb-line);border-radius:22px;overflow:hidden;box-shadow:0 24px 50px rgba(11,33,96,.08)}
.avb-panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:18px 20px;border-bottom:1px solid var(--avb-line)}
.avb-panel-head strong{font:700 18px var(--avb-display)}
.avb-panel-head a{font-weight:700;color:var(--avb-blue)}
.avb-mini{list-style:none;margin:0;padding:0}
.avb-mini li{display:flex;gap:12px;align-items:center;padding:14px 20px;border-bottom:1px solid var(--avb-line)}
.avb-mini li:last-child{border-bottom:0}
.avb-mini-icon{flex:0 0 40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--avb-green-soft);color:var(--avb-green-strong);font-size:18px}
.avb-mini-text{flex:1 1 auto;min-width:0}
.avb-mini-text a{display:block;font:700 15px/1.3 var(--avb-display);color:var(--avb-ink);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.avb-mini-text a:hover{color:var(--avb-blue)}
.avb-mini-text small{font-size:14px;color:var(--avb-muted)}
.avb-empty{padding:28px 22px;text-align:center;color:var(--avb-muted);display:flex;flex-direction:column;gap:12px;align-items:center}
.avb-empty strong{font:700 18px var(--avb-display);color:var(--avb-ink)}

/* Buttons */
.avb-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:12px;border:1px solid transparent;font:700 15px/1 var(--av-font-text);text-decoration:none!important;white-space:nowrap}
.avb-btn-green{background:var(--avb-green-strong);color:#fff!important}
.avb-btn-green:hover{filter:brightness(1.08)}
.avb-btn-line{background:var(--avb-surface);color:var(--avb-ink)!important;border-color:var(--avb-line)}
.avb-btn-line:hover{border-color:var(--avb-blue);color:var(--avb-blue)!important}
.avb-btn-sm{min-height:38px;padding:0 12px;font-size:14px}

/* Börse */
.avb-board .avb-wrap{padding-block:20px 56px}
.avb-board-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:16px}
.avb-board-head h2{font-size:clamp(26px,3vw,32px)}
.avb-board-head p{margin:4px 0 0;color:var(--avb-muted)}
.avb-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.avb-chip{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--avb-line);background:var(--avb-surface);color:var(--avb-ink);font:600 14px var(--avb-display);cursor:pointer}
.avb-chip i{color:var(--avb-blue)}
.avb-chip .n{font-variant-numeric:tabular-nums;opacity:.75}
.avb-chip[aria-pressed="true"]{background:var(--avb-blue-deep);border-color:var(--avb-blue-deep);color:#fff}
.avb-chip[aria-pressed="true"] i{color:#fff}
.avb-jobs{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
@media (max-width:400px){.avb-jobs{grid-template-columns:1fr}}
.avb-job{background:var(--avb-surface);border:1px solid var(--avb-line);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:10px}
.avb-job[hidden]{display:none}
.avb-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:14px;color:var(--avb-muted)}
.avb-meta .when{margin-left:auto}
.avb-tag{display:inline-flex;align-items:center;gap:6px;font:700 12px/1 var(--avb-display);padding:6px 9px;border-radius:8px;background:var(--avb-green-soft);color:var(--avb-green-strong);white-space:nowrap}
.avb-job h3{font-size:18px;line-height:1.3}
.avb-job h3 a{color:var(--avb-ink);text-decoration:none}
.avb-job h3 a:hover{color:var(--avb-blue)}
.avb-job p{margin:0;font-size:16px;line-height:1.55;color:var(--avb-muted)}
.avb-place{display:inline-flex;align-items:center;gap:6px;font-size:15px;font-weight:600}
.avb-place i{color:var(--avb-green-strong)}
.avb-job .avb-btn{align-self:flex-start;margin-top:auto}
.avb-board-empty{padding:32px;border:1px dashed var(--avb-line);border-radius:16px;text-align:center;color:var(--avb-muted);background:var(--avb-surface)}

/* Ablauf */
.avb-how .avb-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;padding-block:8px 56px}
.avb-lane{border-radius:20px;padding:26px;background:var(--avb-surface);border:1px solid var(--avb-line);display:flex;flex-direction:column;gap:14px}
.avb-lane h2{font-size:22px}
.avb-lane.is-give h2{color:var(--avb-green-strong)}
.avb-lane.is-find h2{color:var(--avb-blue)}
.avb-lane ol{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:10px;line-height:1.55}
.avb-lane li::marker{font-family:var(--avb-display);font-weight:700}
.avb-lane .avb-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}

/* FAQ und Abschluss */
.avb-faq .avb-wrap{padding-block:8px 56px}
.avb-faq h2{font-size:clamp(24px,3vw,30px);margin-bottom:16px}
.avb-faq details{background:var(--avb-surface);border:1px solid var(--avb-line);border-radius:14px;padding:0 18px;margin-bottom:10px}
.avb-faq summary{cursor:pointer;padding:16px 0;font:700 16px var(--avb-display);color:var(--avb-ink)}
.avb-faq details p{margin:0 0 16px;line-height:1.6;color:var(--avb-muted)}
.avb-last{background:var(--avb-ink)}
.avb-last .avb-wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;padding-block:40px}
.avb-last h2{color:#fff;font-size:clamp(22px,2.6vw,30px)}
.avb-last p{margin:6px 0 0;color:#c7d6f2}
.avb-last .avb-btn{background:#fff;color:var(--avb-ink)!important}
@media (max-width:560px){.avb-fact b{font-size:20px}.avb-hero .avb-wrap{padding-block:32px}}

/* Auftragsbörse: alle Aufträge mit Filter */
.avb-list-head{background:var(--avb-surface);border-bottom:1px solid var(--avb-line)}
.avb-list-head .avb-wrap{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px;padding-block:32px}
.avb-list-head .avb-wrap>div{display:flex;flex-direction:column;gap:12px;min-width:0;flex:1 1 520px}
.avb-list-head h1{font-size:clamp(30px,3.6vw,42px);font-weight:800}
.avb-list-body{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start;padding-block:28px 64px}
.avb-filter{flex:1 1 260px;max-width:100%;background:var(--avb-surface);border:1px solid var(--avb-line);border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:16px}
.avb-filter label,.avb-filter legend{display:flex;flex-direction:column;gap:6px;font:700 13px var(--avb-display);color:var(--avb-muted)}
.avb-filter input[type=search],.avb-filter input[type=text],.avb-filter select{font-family:inherit;font-size:16px;font-weight:400;color:var(--avb-ink);background:#fff;border:1px solid var(--avb-line);border-radius:10px;padding:11px 12px;min-height:44px;width:100%}
.avb-filter input:focus,.avb-filter select:focus{outline:none;border-color:var(--avb-blue);box-shadow:0 0 0 3px rgba(11,111,224,.2)}
.avb-filter fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.avb-filter legend{margin-bottom:6px}
.avb-filter .avb-radio{flex-direction:row;align-items:center;gap:8px;font-family:inherit;font-size:15px;font-weight:600;color:var(--avb-ink)}
.avb-filter .avb-radio input{width:18px;height:18px;accent-color:var(--avb-green-strong)}
.avb-reset{text-align:center;font-weight:700;color:var(--avb-blue)}
.avb-results{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:16px}
.avb-count{font-size:20px;display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}
.avb-count span{font-family:inherit;font-size:15px;font-weight:400;color:var(--avb-muted);letter-spacing:0}
.avb-results .avb-jobs{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.avb-board-empty strong{display:block;font:700 18px var(--avb-display);color:var(--avb-ink);margin-bottom:6px}
.avb-board-empty p{margin:0 0 14px}
.avb-pages{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:8px;font-weight:700}
.avb-pages a,.avb-pages .is-off{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:12px;border:1px solid var(--avb-line);background:var(--avb-surface);text-decoration:none;color:var(--avb-ink)}
.avb-pages a:hover{border-color:var(--avb-blue);color:var(--avb-blue)}
.avb-pages .is-off{opacity:.45}

/* Auftragsbörse: Karte der Auftragsorte (Zwei-Klick, OpenStreetMap erst nach Zustimmung) */
.avb-map{background:var(--avb-surface);border:1px solid var(--avb-line);border-radius:18px;overflow:hidden}
.avb-map-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:14px 16px;border-bottom:1px solid var(--avb-line)}
.avb-map-head h3{font-size:17px;display:inline-flex;align-items:center;gap:8px}
.avb-map-head h3 i{color:var(--avb-green-strong)}
.avb-map-sub{font-size:14px;color:var(--avb-muted);flex:1 1 200px}
.avb-map-toggle{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 12px;border-radius:10px;border:1px solid var(--avb-line);background:var(--avb-surface);color:var(--avb-ink);font:600 14px var(--avb-display);cursor:pointer}
.avb-map-toggle:hover{border-color:var(--avb-blue);color:var(--avb-blue)}
.avb-map-toggle[aria-expanded="false"] i{transform:rotate(180deg)}
.avb-map [hidden]{display:none!important}
.avb-map-consent{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:28px 20px;text-align:center;background:repeating-linear-gradient(135deg,#eef3fa 0 14px,#e6edf7 14px 28px)}
.avb-map-consent>i{font-size:34px;color:var(--avb-blue-deep)}
.avb-map-consent p{margin:0;max-width:30em;line-height:1.55;color:var(--avb-ink);font-size:15px}
.avb-map-consent small{font-size:13px;color:var(--avb-muted)}
.avb-map-consent .avb-btn{cursor:pointer}
.avb-map-consent .avb-btn:disabled{opacity:.6;cursor:progress}
.avb-map-canvas{height:360px;background:#e6edf7;font-family:inherit;z-index:0}
.avb-map-canvas:focus-visible{outline:3px solid var(--avb-blue);outline-offset:-3px}
.avb-map-error{margin:0;padding:12px 16px;border-top:1px solid var(--avb-line);color:#8a1c1c;font-size:15px}
.avb-map-pop{display:flex;flex-direction:column;gap:10px;max-width:240px}
.avb-map-pop a{display:block;font:700 15px/1.3 var(--avb-display);color:var(--avb-blue-deep)}
.avb-map-pop small{display:block;margin-top:2px;font-size:13px;color:var(--avb-muted)}
.avb-map-none{margin:0;display:flex;align-items:center;gap:8px;padding:12px 16px;border:1px dashed var(--avb-line);border-radius:14px;background:var(--avb-surface);color:var(--avb-muted);font-size:15px}
.avb-map-none i{color:var(--avb-green-strong)}
@media (max-width:560px){.avb-map-canvas{height:320px}.avb-map-consent{min-height:320px}}
.avb-map-canvas path.leaflet-interactive:focus:not(:focus-visible){outline:none}
