.teamfinder-page{width:min(1500px,calc(100% - 44px));margin:0 auto;padding:42px 0 80px}.portal-hero.compact{margin:0 0 26px;padding:44px;border:1px solid rgba(255,255,255,.12);border-radius:28px;background:radial-gradient(circle at 90% 0,rgba(234,176,50,.18),transparent 34%),linear-gradient(135deg,rgba(22,24,26,.96),rgba(5,6,7,.96));box-shadow:0 28px 80px rgba(0,0,0,.38)}.portal-hero.compact h1{margin:0 0 12px;font-size:clamp(44px,6vw,92px);line-height:.95;text-transform:uppercase}.portal-hero.compact p:not(.eyebrow){max-width:850px;color:#ddd;font-size:20px;line-height:1.45}.teamfinder-tabs{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 22px}.teamfinder-tabs .tab{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 18px;border:1px solid rgba(255,255,255,.13);border-radius:16px;background:rgba(255,255,255,.045);font-weight:900;text-transform:uppercase;letter-spacing:.05em}.teamfinder-tabs .tab.active{border-color:rgba(234,176,50,.75);background:rgba(234,176,50,.12);color:#ffd56d}.filter-card,.form-card,.info-card{border:1px solid rgba(255,255,255,.12);border-radius:24px;background:linear-gradient(135deg,rgba(19,21,23,.96),rgba(6,7,8,.96));box-shadow:0 20px 60px rgba(0,0,0,.26)}.filter-card{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr auto;gap:16px;align-items:end;padding:22px;margin:0 0 26px}.filter-card label,.profile-form label,.request-box label{display:block;color:#fff;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;margin:0 0 8px}.filter-card input,.filter-card select,.profile-form input,.profile-form select,.profile-form textarea,.request-box textarea,.request-box input{width:100%;min-height:52px;border:1px solid rgba(255,255,255,.15);border-radius:15px;background:rgba(0,0,0,.38);color:#fff;padding:0 15px;font-size:16px}.profile-form textarea,.request-box textarea{padding:14px 15px;min-height:120px;resize:vertical}.alert{margin:0 0 20px;padding:18px 22px;border-radius:18px;font-weight:800}.alert.success{background:rgba(25,190,95,.13);border:1px solid rgba(25,190,95,.45);color:#74ffae}.alert.error{background:rgba(240,60,60,.13);border:1px solid rgba(240,60,60,.45);color:#ff8d8d}.info-card{padding:26px;margin:0 0 26px}.info-card h2{font-size:30px;margin:0 0 8px}.info-card p{color:#ddd;line-height:1.5}.player-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.player-card,.empty-card,.request-card{border:1px solid rgba(255,255,255,.13);border-radius:26px;background:radial-gradient(circle at 100% 0,rgba(234,176,50,.12),transparent 32%),linear-gradient(135deg,rgba(20,22,24,.97),rgba(5,6,7,.97));box-shadow:0 22px 70px rgba(0,0,0,.28);padding:24px}.player-head{display:grid;grid-template-columns:82px 1fr;gap:18px;align-items:center;margin-bottom:18px}.player-avatar{width:82px;height:82px;border-radius:22px;overflow:hidden;border:1px solid rgba(234,176,50,.32);background:#111}.player-avatar img{width:100%;height:100%;object-fit:cover}.player-card h2,.request-card h2{font-size:28px;margin:0 0 8px}.player-card p,.request-card p{color:#ddd;line-height:1.45;margin:7px 0}.player-card i,.request-card i{color:#f0b33c}.player-text{padding:16px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08)}.gear-list{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.gear-list span{display:inline-flex;gap:8px;align-items:center;padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09);font-size:14px;color:#eee}.request-box{margin-top:16px;border-top:1px solid rgba(255,255,255,.10);padding-top:16px}.request-box summary{cursor:pointer;color:#ffd56d;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.request-box form{display:grid;gap:12px;margin-top:15px}.muted-note{font-size:14px;color:#999!important}.profile-form{display:grid;gap:20px}.form-card{padding:26px}.form-card h2{margin:0 0 16px;font-size:30px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-note{color:#aaa;margin-top:-6px}.check-row{display:flex!important;align-items:flex-start;gap:14px;padding:15px;border:1px solid rgba(234,176,50,.22);border-radius:16px;background:rgba(234,176,50,.08);margin-bottom:16px!important;text-transform:none!important;letter-spacing:0!important;font-size:17px!important}.check-row input{width:22px!important;min-height:22px!important;margin-top:2px}.request-list{display:grid;gap:18px}.request-card{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:start}.request-card blockquote{margin:16px 0 0;padding:16px;border-left:4px solid #eab032;background:rgba(255,255,255,.045);color:#eee;border-radius:12px}.request-actions{display:grid;gap:14px;justify-items:end}.request-actions form{display:grid;gap:10px}.status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);font-weight:900;text-transform:uppercase;letter-spacing:.07em}.status-pending .status-pill{background:rgba(234,176,50,.14);border-color:rgba(234,176,50,.45);color:#ffd56d}.status-accepted .status-pill{background:rgba(25,190,95,.13);border-color:rgba(25,190,95,.45);color:#76ffae}.status-declined .status-pill{background:rgba(240,60,60,.13);border-color:rgba(240,60,60,.45);color:#ff8d8d}.empty-card{grid-column:1/-1;text-align:center;padding:54px 24px}.empty-card i{font-size:44px;color:#eab032}.empty-card h2{font-size:30px;margin:16px 0 8px}.empty-card p{color:#aaa}@media(max-width:1100px){.filter-card{grid-template-columns:1fr 1fr}.filter-card .btn{grid-column:1/-1}.player-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.teamfinder-page{width:calc(100% - 22px);padding-top:24px}.portal-hero.compact{padding:28px 22px;border-radius:22px}.portal-hero.compact p:not(.eyebrow){font-size:17px}.filter-card,.form-grid,.player-grid,.request-card{grid-template-columns:1fr}.player-head{grid-template-columns:68px 1fr}.player-avatar{width:68px;height:68px;border-radius:18px}.request-actions{justify-items:stretch}.teamfinder-tabs .tab{width:100%;justify-content:center}.form-card{padding:22px}.player-card{padding:20px}}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:28px 0}.choice-card{border:1px solid rgba(255,255,255,.13);border-radius:26px;background:radial-gradient(circle at 100% 0,rgba(234,176,50,.12),transparent 36%),linear-gradient(135deg,rgba(20,22,24,.97),rgba(5,6,7,.97));padding:28px;box-shadow:0 22px 70px rgba(0,0,0,.28)}.choice-card.highlight{border-color:rgba(234,176,50,.38);background:radial-gradient(circle at 100% 0,rgba(234,176,50,.20),transparent 38%),linear-gradient(135deg,rgba(28,25,18,.97),rgba(5,6,7,.97))}.choice-icon{width:68px;height:68px;border-radius:22px;display:grid;place-items:center;background:rgba(234,176,50,.14);border:1px solid rgba(234,176,50,.32);color:#ffd56d;font-size:28px;margin-bottom:18px}.choice-card h2{font-size:30px;margin:0 0 12px}.choice-card p{color:#ddd;line-height:1.5}.choice-card ul{margin:18px 0 24px;padding-left:20px;color:#eee;line-height:1.7}.team-card-actions{margin:14px 0}.team-card-actions .btn{width:100%}.player-avatar img{font-size:0}.player-avatar{display:grid;place-items:center}@media(max-width:760px){.choice-grid{grid-template-columns:1fr}.choice-card{padding:22px}}


/* Phase 25: Register-Auswahl, Teamseiten-Anfrage und PWA-Feinschliff */
.page-register-choice .portal-main{padding-top:38px}.register-choice-shell{align-items:flex-start}.register-choice{max-width:1180px}.register-choice>.lead{font-size:20px;line-height:1.5;max-width:920px;color:#e4e4e4}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:32px 0}.choice-card{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.13);border-radius:30px;background:radial-gradient(circle at 100% 0,rgba(234,176,50,.13),transparent 36%),linear-gradient(135deg,rgba(21,23,25,.98),rgba(5,6,7,.98));padding:32px;box-shadow:0 24px 80px rgba(0,0,0,.32)}.choice-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.04),transparent 40%);pointer-events:none}.choice-card.highlight{border-color:rgba(234,176,50,.42);background:radial-gradient(circle at 100% 0,rgba(234,176,50,.23),transparent 38%),linear-gradient(135deg,rgba(31,27,18,.98),rgba(5,6,7,.98))}.choice-icon{width:72px;height:72px;border-radius:24px;display:grid;place-items:center;background:rgba(234,176,50,.14);border:1px solid rgba(234,176,50,.34);color:#ffd56d;font-size:30px;margin-bottom:18px}.choice-card h2{font-size:34px;margin:0 0 12px;text-transform:uppercase}.choice-card p{color:#ddd;line-height:1.55;font-size:17px}.choice-card ul{margin:20px 0 26px;padding-left:21px;color:#eee;line-height:1.8}.choice-card li::marker{color:#eab032}.choice-note{display:flex;gap:14px;align-items:flex-start;margin:0 0 24px;padding:18px 20px;border:1px solid rgba(234,176,50,.24);border-radius:20px;background:rgba(234,176,50,.08);color:#e8e8e8}.choice-note i{color:#ffd56d;margin-top:3px}.choice-note p{margin:0;line-height:1.5}.team-request-panel{display:grid;grid-template-columns:1fr minmax(360px,520px);gap:24px;align-items:start;margin:28px 0;padding:28px;border:1px solid rgba(234,176,50,.28);border-radius:26px;background:radial-gradient(circle at 100% 0,rgba(234,176,50,.14),transparent 36%),linear-gradient(135deg,rgba(20,22,24,.97),rgba(5,6,7,.97));box-shadow:0 24px 80px rgba(0,0,0,.30)}.team-request-panel h2{font-size:clamp(28px,3vw,46px);margin:0 0 10px;text-transform:uppercase}.team-request-panel p{color:#ddd;line-height:1.55;margin:0}.team-request-form{display:grid;gap:12px}.team-request-form label{font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:13px}.team-request-form textarea{width:100%;min-height:130px;border:1px solid rgba(255,255,255,.15);border-radius:16px;background:rgba(0,0,0,.38);color:#fff;padding:15px;font-size:16px;line-height:1.45;resize:vertical}.team-request-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}.team-card .btn-gold{width:100%;margin-top:10px}@media(max-width:900px){.choice-grid,.team-request-panel{grid-template-columns:1fr}.team-request-actions{justify-content:stretch}.team-request-actions .btn{width:100%}}@media(max-width:560px){.choice-card{padding:24px 20px;border-radius:24px}.choice-card h2{font-size:28px}.choice-icon{width:62px;height:62px;border-radius:20px}.team-request-panel{padding:22px 18px;border-radius:22px}.team-request-form textarea{font-size:15px}.register-choice>.lead{font-size:17px}}


/* Phase 26: Team-Anfrage auf Teamseite + Registrierung/PWA Feinschliff */
.team-request-panel{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(360px,520px)!important;
  gap:28px!important;
  align-items:start!important;
  margin:32px 0!important;
  padding:30px!important;
  border:1px solid rgba(234,176,50,.30)!important;
  border-radius:28px!important;
  background:
    radial-gradient(circle at 100% 0,rgba(234,176,50,.16),transparent 36%),
    linear-gradient(135deg,rgba(21,23,25,.97),rgba(5,6,7,.97))!important;
  box-shadow:0 24px 90px rgba(0,0,0,.34)!important;
}
.team-request-panel .eyebrow{
  margin:0 0 12px!important;
  color:#f0b33c!important;
}
.team-request-panel h2{
  margin:0 0 14px!important;
  font-size:clamp(30px,3vw,48px)!important;
  line-height:1.05!important;
  text-transform:uppercase!important;
}
.team-request-panel p{
  margin:0!important;
  color:#dfdfdf!important;
  font-size:18px!important;
  line-height:1.55!important;
}
.team-request-form{
  display:grid!important;
  gap:14px!important;
  padding:20px!important;
  border:1px solid rgba(255,255,255,.11)!important;
  border-radius:22px!important;
  background:rgba(0,0,0,.28)!important;
}
.team-request-form label{
  display:block!important;
  margin:0!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
.team-request-form textarea{
  width:100%!important;
  min-height:150px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:18px!important;
  background:rgba(0,0,0,.48)!important;
  color:#fff!important;
  padding:16px!important;
  font-size:16px!important;
  line-height:1.5!important;
  resize:vertical!important;
  outline:none!important;
}
.team-request-form textarea:focus{
  border-color:rgba(234,176,50,.65)!important;
  box-shadow:0 0 0 4px rgba(234,176,50,.10)!important;
}
.team-request-form .btn{
  width:100%!important;
  min-height:58px!important;
  border-radius:16px!important;
}

/* Registrierung: Checkbox sauber als Karte statt einsamer blauer Haken */
.page-register-player .check-row,
.auth-card .check-row,
.profile-form .check-row{
  display:grid!important;
  grid-template-columns:28px minmax(0,1fr)!important;
  gap:14px!important;
  align-items:start!important;
  padding:18px 20px!important;
  margin:6px 0 4px!important;
  border:1px solid rgba(234,176,50,.30)!important;
  border-radius:18px!important;
  background:rgba(234,176,50,.08)!important;
  color:#fff!important;
  text-transform:none!important;
  letter-spacing:0!important;
  font-size:17px!important;
  line-height:1.45!important;
}
.page-register-player .check-row input,
.auth-card .check-row input,
.profile-form .check-row input{
  width:22px!important;
  height:22px!important;
  min-height:22px!important;
  margin:2px 0 0!important;
  accent-color:#eab032!important;
}
.page-register-player .check-row span,
.auth-card .check-row span,
.profile-form .check-row span{
  display:block!important;
  font-weight:800!important;
}

/* Header: Desktop kompakter, damit Logout nicht wegfällt */
.ctlg-header .ctlg-main-nav{
  gap:clamp(14px,1.55vw,28px)!important;
}
.ctlg-header .ctlg-main-nav a{
  font-size:clamp(11px,.78vw,14px)!important;
  letter-spacing:.105em!important;
}
.ctlg-header .ctlg-header-actions{
  gap:10px!important;
  flex-shrink:0!important;
}
.ctlg-header .ctlg-header-actions .btn{
  min-height:48px!important;
  padding:0 clamp(18px,1.7vw,30px)!important;
}
.ctlg-header .notification-pill{
  flex:0 0 auto!important;
}

/* Admin-Unterordner: Logo/Buttons nicht abschneiden */
.ctlg-header .ctlg-brand img{
  max-height:76px!important;
  object-fit:contain!important;
}

@media(max-width:1180px){
  .ctlg-header .ctlg-main-nav{
    gap:14px!important;
  }
  .ctlg-header .ctlg-header-actions .btn{
    padding:0 18px!important;
  }
}

@media(max-width:980px){
  .team-request-panel{
    grid-template-columns:1fr!important;
    padding:24px 20px!important;
    border-radius:24px!important;
  }
  .team-request-form{
    padding:16px!important;
  }
  .team-request-panel p{
    font-size:16px!important;
  }
}

@media(max-width:560px){
  .team-request-panel{
    margin:22px 0!important;
    padding:20px 16px!important;
  }
  .team-request-panel h2{
    font-size:28px!important;
  }
  .team-request-form textarea{
    min-height:170px!important;
    font-size:15px!important;
  }
}


/* Phase 27: Team sucht Schützen */
.teamfinder-check{
  align-items:flex-start!important;
}
.teamfinder-check span{
  display:block!important;
}
.teamfinder-check strong{
  display:block!important;
  margin:0 0 4px!important;
  color:#fff!important;
}
.teamfinder-check small{
  display:block!important;
  color:#bdbdbd!important;
  font-size:14px!important;
  line-height:1.45!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
.team-request-hint{
  margin-top:18px!important;
  padding:16px 18px!important;
  border:1px solid rgba(234,176,50,.24)!important;
  border-radius:18px!important;
  background:rgba(234,176,50,.08)!important;
  color:#f0f0f0!important;
}
.team-card .player-text strong{
  color:#ffd56d!important;
}


/* Phase 35: Hallenadresse */
.team-hall-panel {
  margin: 28px 0;
  padding: 28px;
  border: 1px solid rgba(234,176,50,.28);
  border-radius: 26px;
  background:
    radial-gradient(circle at 100% 0, rgba(234,176,50,.14), transparent 36%),
    linear-gradient(135deg, rgba(20,22,24,.97), rgba(5,6,7,.97));
  box-shadow: 0 24px 80px rgba(0,0,0,.30);
}
.team-hall-panel h2 {
  margin: 0 0 14px;
  font-size: clamp(28px,3vw,44px);
  text-transform: uppercase;
}
.team-hall-panel p {
  margin: 0;
  color: #eee;
  font-size: 18px;
  line-height: 1.55;
}
.team-hall-note {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  margin-top: 18px;
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px solid rgba(234,176,50,.22);
  background: rgba(234,176,50,.08);
  color: #f0f0f0;
}
.team-hall-note i {
  color: #ffd56d;
  margin-top: 3px;
}
@media(max-width:720px){
  .team-hall-panel { padding: 22px 18px; border-radius: 22px; }
}


/* CTLG Phase 80 - Match-Locations im Teamfinder */
.teamfinder-title-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: flex-end;
}

.location-list-card-mini {
    border-color: rgba(184,58,47,.30) !important;
    background:
        radial-gradient(circle at 100% 0, rgba(184,58,47,.18), transparent 34%),
        linear-gradient(135deg, rgba(20,22,24,.97), rgba(5,6,7,.97)) !important;
}

.location-list-logo {
    border-color: rgba(184,58,47,.40) !important;
    background: rgba(184,58,47,.11) !important;
    color: #ff8b72 !important;
}

.ctlg-map-marker {
    width: 28px;
    height: 28px;
    border-radius: 999px;
    display: grid;
    place-items: center;
}

.ctlg-map-marker span {
    width: 22px;
    height: 22px;
    display: block;
    border-radius: 999px;
}

.ctlg-map-marker-team span {
    background: radial-gradient(circle, #ffd56d 0%, #e3a21c 46%, #4a2d05 100%);
    box-shadow: 0 0 22px rgba(234,176,50,.58), 0 0 0 6px rgba(234,176,50,.16);
}

.ctlg-map-marker-location span {
    background: radial-gradient(circle, #ff6b4a 0%, #b83a2f 44%, #3a0907 100%);
    box-shadow: 0 0 22px rgba(255,80,55,.58), 0 0 0 6px rgba(184,58,47,.18);
}

.teamfinder-filter-form {
    grid-template-columns: minmax(220px, 1.2fr) minmax(180px, .8fr) minmax(180px, .8fr) minmax(170px, .7fr) auto !important;
}

@media (max-width: 980px) {
    .teamfinder-filter-form {
        grid-template-columns: 1fr !important;
    }

    .teamfinder-title-actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .teamfinder-title-actions a {
        width: 100%;
    }
}


/* CTLG Phase 81 - Locations nur auf Karte, Liste nur bei Filter */
.teamfinder-location-quicklinks {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    margin: 12px 0 18px;
}

.teamfinder-location-quicklinks span,
.teamfinder-location-quicklinks a {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 0 13px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 999px;
    background: rgba(255,255,255,.045);
    color: #fff;
    font-size: 13px;
    font-weight: 1000;
    letter-spacing: .07em;
    text-transform: uppercase;
    text-decoration: none;
}

.teamfinder-location-quicklinks a {
    border-color: rgba(184,58,47,.36);
    color: #ffb4a5;
}

.ctlg-dot {
    width: 14px;
    height: 14px;
    display: inline-block;
    border-radius: 999px;
}

.ctlg-dot-team {
    background: radial-gradient(circle, #ffd56d 0%, #e3a21c 48%, #4a2d05 100%);
    box-shadow: 0 0 14px rgba(234,176,50,.55);
}

.ctlg-dot-location {
    background: radial-gradient(circle, #ff8b72 0%, #b83a2f 44%, #3a0907 100%);
    box-shadow: 0 0 14px rgba(255,80,55,.60);
}

.ctlg-map-marker-location,
.ctlg-map-marker-location span {
    width: 34px !important;
    height: 34px !important;
}

.ctlg-map-marker-location span {
    border: 2px solid rgba(255,195,170,.92);
    background: radial-gradient(circle at 35% 30%, #ffb09a 0%, #ff6b4a 26%, #b83a2f 58%, #3a0907 100%) !important;
    box-shadow:
        0 0 22px rgba(255,80,55,.88),
        0 0 0 8px rgba(184,58,47,.20),
        0 0 42px rgba(184,58,47,.60) !important;
}

.ctlg-map-marker-location span::after {
    content: "";
    width: 12px;
    height: 12px;
    display: block;
    margin: 9px auto 0;
    border-radius: 3px;
    background: rgba(0,0,0,.58);
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.25);
}

@media (max-width: 720px) {
    .teamfinder-location-quicklinks {
        display: grid;
        grid-template-columns: 1fr;
    }

    .teamfinder-location-quicklinks span,
    .teamfinder-location-quicklinks a {
        width: 100%;
        justify-content: center;
    }
}


/* CTLG Phase 83 - Teamfinder PWA Dropdown-Fix */
.teamfinder-filter-form,
.teamfinder-filter-form * {
    box-sizing: border-box;
}

.teamfinder-filter-form label {
    min-width: 0;
}

.teamfinder-filter-form .field-help {
    display: block;
    margin-top: 8px;
    color: #aaa;
    font-size: 12px;
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: normal;
    text-transform: none;
}

.teamfinder-filter-form input,
.teamfinder-filter-form select {
    width: 100%;
    min-height: 58px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 18px;
    background: rgba(0,0,0,.42);
    color: #fff;
    padding: 0 18px;
    font-size: 16px;
    font-weight: 800;
    outline: none;
}

.teamfinder-filter-form select {
    appearance: none;
    -webkit-appearance: none;
    padding-right: 52px;
    background:
        linear-gradient(45deg, transparent 50%, #ffd56d 50%) calc(100% - 23px) 25px/7px 7px no-repeat,
        rgba(0,0,0,.42);
}

.teamfinder-filter-form input:focus,
.teamfinder-filter-form select:focus {
    border-color: rgba(234,176,50,.75);
    box-shadow: 0 0 0 4px rgba(234,176,50,.12);
}

.teamfinder-filter-form select option {
    background: #111;
    color: #fff;
}

@media (max-width: 720px) {
    .teamfinder-filter-form {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .teamfinder-filter-form input,
    .teamfinder-filter-form select,
    .teamfinder-filter-form .btn-primary,
    .teamfinder-filter-form .btn-secondary {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 60px !important;
        font-size: 16px !important;
    }
}


/* CTLG Phase 85 - Teamfinder Filter Premium + rote Locationmarker sichtbar */
.teamfinder-filter-card,
.teamfinder-filter-card * {
    box-sizing: border-box;
}

.teamfinder-filter-card {
    overflow: hidden;
}

.teamfinder-filter-form {
    display: grid !important;
    grid-template-columns: minmax(260px, 1.25fr) minmax(190px, .85fr) minmax(190px, .85fr) minmax(170px, .75fr) auto auto !important;
    gap: 14px !important;
    align-items: end !important;
    width: 100% !important;
}

.teamfinder-filter-form label {
    min-width: 0 !important;
}

.teamfinder-filter-form label > span {
    display: block !important;
    margin: 0 0 8px !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 1000 !important;
    letter-spacing: .15em !important;
    text-transform: uppercase !important;
}

.teamfinder-filter-form input,
.teamfinder-filter-form select {
    width: 100% !important;
    min-height: 60px !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 20px !important;
    background: rgba(0,0,0,.46) !important;
    color: #fff !important;
    padding: 0 18px !important;
    font-size: 16px !important;
    font-weight: 850 !important;
    outline: none !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.045) !important;
}

.teamfinder-filter-form select {
    appearance: none !important;
    -webkit-appearance: none !important;
    padding-right: 54px !important;
    background:
        linear-gradient(45deg, transparent 50%, #ffd56d 50%) calc(100% - 25px) 27px/7px 7px no-repeat,
        linear-gradient(135deg, rgba(14,15,17,.98), rgba(3,4,5,.98)) !important;
}

.teamfinder-filter-form input::placeholder {
    color: rgba(255,255,255,.48) !important;
}

.teamfinder-filter-form input:focus,
.teamfinder-filter-form select:focus {
    border-color: rgba(234,176,50,.72) !important;
    box-shadow: 0 0 0 4px rgba(234,176,50,.12), inset 0 1px 0 rgba(255,255,255,.045) !important;
}

.teamfinder-filter-form select option {
    background: #111 !important;
    color: #fff !important;
}

.teamfinder-filter-form .btn-primary,
.teamfinder-filter-form .btn-secondary {
    min-height: 60px !important;
    white-space: nowrap !important;
}

/* Map-Legende sauber statt langer Beschriftung */
.teamfinder-map-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin: 14px 0 18px;
}

.teamfinder-map-legend span,
.teamfinder-map-legend a {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 0 13px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 999px;
    background: rgba(255,255,255,.045);
    color: #fff;
    font-size: 12px;
    font-weight: 1000;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none;
}

.teamfinder-map-legend a {
    border-color: rgba(234,176,50,.30);
}

.teamfinder-map-legend a:hover {
    color: #ffd56d;
    border-color: rgba(234,176,50,.70);
}

.ctlg-dot {
    width: 14px;
    height: 14px;
    display: inline-block;
    border-radius: 999px;
    flex: 0 0 14px;
}

.ctlg-dot-team {
    background: radial-gradient(circle, #ffd56d 0%, #e3a21c 48%, #4a2d05 100%);
    box-shadow: 0 0 14px rgba(234,176,50,.55);
}

.ctlg-dot-location {
    background: radial-gradient(circle, #ff8b72 0%, #b83a2f 44%, #3a0907 100%);
    box-shadow: 0 0 14px rgba(255,80,55,.65);
}

/* Leaflet Marker: keine unsichtbaren Pseudo-Tricks mehr, echtes Inline-Icon */
.ctlg-map-marker {
    background: transparent !important;
    border: 0 !important;
}

.ctlg-marker-core {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    color: #080808;
    font-size: 12px;
}

.ctlg-map-marker-team .ctlg-marker-core {
    background: radial-gradient(circle at 35% 30%, #fff0ad 0%, #ffd56d 28%, #e3a21c 58%, #4a2d05 100%);
    box-shadow:
        0 0 18px rgba(234,176,50,.88),
        0 0 0 7px rgba(234,176,50,.18),
        0 0 38px rgba(234,176,50,.44);
}

.ctlg-map-marker-location .ctlg-marker-core {
    width: 38px;
    height: 38px;
    color: #fff;
    font-size: 15px;
    border: 2px solid rgba(255,198,176,.95);
    background: radial-gradient(circle at 35% 28%, #ffb09a 0%, #ff6b4a 26%, #b83a2f 58%, #3a0907 100%);
    box-shadow:
        0 0 24px rgba(255,80,55,.95),
        0 0 0 8px rgba(184,58,47,.22),
        0 0 46px rgba(184,58,47,.68);
}

.js-location-coordinate-note {
    display: block;
    margin-top: 8px;
    color: #ffb4a5 !important;
}

@media (max-width: 1100px) {
    .teamfinder-filter-form {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 720px) {
    .teamfinder-filter-form {
        grid-template-columns: 1fr !important;
        gap: 13px !important;
    }

    .teamfinder-filter-form input,
    .teamfinder-filter-form select,
    .teamfinder-filter-form .btn-primary,
    .teamfinder-filter-form .btn-secondary {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 60px !important;
        font-size: 16px !important;
    }

    .teamfinder-map-legend {
        display: grid;
        grid-template-columns: 1fr;
    }

    .teamfinder-map-legend span,
    .teamfinder-map-legend a {
        width: 100%;
        justify-content: center;
    }
}


/* CTLG Phase 86 - Teamfinder finaler Filter-/Marker-Fix */
.teamfinder-filter-card {
    width: min(100%, 1500px) !important;
    margin: 28px auto 24px !important;
    padding: clamp(22px, 2.4vw, 34px) !important;
    border-radius: 30px !important;
    background:
        radial-gradient(circle at 100% 0, rgba(234,176,50,.09), transparent 36%),
        linear-gradient(135deg, rgba(18,20,22,.98), rgba(5,6,8,.98)) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
}

.teamfinder-filter-form {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(260px, 1.25fr) minmax(210px, .85fr) minmax(190px, .75fr) minmax(170px, .70fr) auto auto !important;
    gap: 16px !important;
    align-items: end !important;
}

.teamfinder-filter-form label:nth-child(2) {
    grid-column: auto !important;
    grid-row: auto !important;
}

.teamfinder-filter-form label > span {
    margin: 0 0 9px !important;
    color: #fff !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 1000 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

.teamfinder-filter-form input,
.teamfinder-filter-form select {
    width: 100% !important;
    height: 60px !important;
    min-height: 60px !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 18px !important;
    background: rgba(0,0,0,.50) !important;
    color: #fff !important;
    padding: 0 18px !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.teamfinder-filter-form select {
    appearance: none !important;
    -webkit-appearance: none !important;
    padding-right: 50px !important;
    background:
        linear-gradient(45deg, transparent 50%, #ffd56d 50%) calc(100% - 24px) 27px / 7px 7px no-repeat,
        linear-gradient(135deg, rgba(15,16,18,.98), rgba(3,4,5,.98)) !important;
}

.teamfinder-filter-form .field-help {
    display: none !important;
}

.teamfinder-filter-form .btn-primary,
.teamfinder-filter-form .btn-secondary {
    height: 60px !important;
    min-height: 60px !important;
    padding: 0 24px !important;
    border-radius: 18px !important;
    white-space: nowrap !important;
    align-self: end !important;
}

.teamfinder-map-card {
    width: min(100%, 1500px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

#team-map {
    min-height: 520px !important;
    background: #050505 !important;
}

.teamfinder-map-empty {
    min-height: 520px;
    display: grid;
    place-content: center;
    text-align: center;
    gap: 8px;
    color: #ffd56d;
}

.teamfinder-map-empty strong {
    font-size: 22px;
    color: #ffd56d;
}

.teamfinder-map-empty span {
    color: #d6d6d6;
}

.ctlg-map-marker,
.ctlg-map-marker * {
    box-sizing: border-box;
}

.ctlg-map-marker {
    background: transparent !important;
    border: 0 !important;
}

.ctlg-marker-core {
    display: grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    line-height: 1 !important;
}

.ctlg-map-marker-team .ctlg-marker-core {
    width: 32px !important;
    height: 32px !important;
    color: #111 !important;
    font-size: 13px !important;
    background: radial-gradient(circle at 35% 30%, #fff0ad 0%, #ffd56d 28%, #e3a21c 58%, #4a2d05 100%) !important;
    box-shadow:
        0 0 18px rgba(234,176,50,.90),
        0 0 0 7px rgba(234,176,50,.18),
        0 0 40px rgba(234,176,50,.50) !important;
}

.ctlg-map-marker-location .ctlg-marker-core {
    width: 42px !important;
    height: 42px !important;
    color: #fff !important;
    font-size: 17px !important;
    border: 2px solid rgba(255,198,176,.98) !important;
    background: radial-gradient(circle at 35% 28%, #ffc0ad 0%, #ff6b4a 25%, #b83a2f 58%, #3a0907 100%) !important;
    box-shadow:
        0 0 26px rgba(255,80,55,.98),
        0 0 0 9px rgba(184,58,47,.24),
        0 0 52px rgba(184,58,47,.72) !important;
}

/* Die Legende bleibt klein und sauber */
.teamfinder-map-legend {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin: 12px 0 16px !important;
}

.teamfinder-map-legend span,
.teamfinder-map-legend a {
    min-height: 36px !important;
    padding: 0 13px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    line-height: 1 !important;
}

@media (max-width: 1250px) {
    .teamfinder-filter-form {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 820px) {
    .teamfinder-filter-form {
        grid-template-columns: 1fr !important;
    }

    .teamfinder-filter-form input,
    .teamfinder-filter-form select,
    .teamfinder-filter-form .btn-primary,
    .teamfinder-filter-form .btn-secondary {
        width: 100% !important;
        max-width: 100% !important;
    }

    #team-map {
        min-height: 430px !important;
    }
}
