/* GFK-Tag Team & Workshops v4.5.1 */
.gfktd-wrap{--gfktd-ink:#25323b;--gfktd-muted:#66747e;--gfktd-line:#e4dacd;--gfktd-paper:#fbf6ee;--gfktd-cream:#f2e8dc;--gfktd-card:#fffdfa;--gfktd-orange:#d97935;--gfktd-orange-dark:#bd6023;--gfktd-blue:#2b3d4b;--gfktd-radius:24px;color:var(--gfktd-ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.gfktd-wrap *,.gfktd-wrap *::before,.gfktd-wrap *::after{box-sizing:border-box}
.gfktd-wrap a{text-decoration:none;color:inherit}
.gfktd-wrap h2,.gfktd-wrap h3,.gfktd-wrap h4{margin:0}
.gfktd-hidden{display:none!important}

/* Screenreader-only helper */
.gfktd-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Galerie: Hauptansicht, Klick öffnet Popup */
.gfktd-gallery-wrap{margin-bottom:28px}
.gfktd-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media(max-width:1000px){.gfktd-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.gfktd-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
.gfktd-gallery-item{position:relative;overflow:hidden;border-radius:24px;aspect-ratio:4/5;background:#ddd;border:1px solid rgba(228,218,205,.92);box-shadow:0 10px 28px rgba(43,61,75,.10);transform:translateY(10px) scale(.985);opacity:0;animation:gfktd-fade-up .55s ease forwards}
.gfktd-gallery-item.gfktd-founder{border-color:rgba(217,121,53,.42)}
.gfktd-gallery-item img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;transition:transform .25s ease,filter .25s ease}
.gfktd-gallery-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 0%,transparent 38%,rgba(0,0,0,.52) 100%);z-index:1;pointer-events:none}
.gfktd-gallery-label{position:absolute;left:14px;right:14px;bottom:14px;color:white;z-index:2;transition:opacity .18s ease,transform .18s ease;text-shadow:0 2px 12px rgba(0,0,0,.28)}
.gfktd-gallery-label strong{display:block;font-size:clamp(17px,1.8vw,23px);line-height:1.05;letter-spacing:-.02em}
.gfktd-gallery-label span{display:block;font-size:11px;opacity:.9;margin-top:5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.gfktd-gallery-open{position:absolute!important;inset:0!important;z-index:6!important;border:0!important;background:transparent!important;background-color:transparent!important;background-image:none!important;box-shadow:none!important;color:transparent!important;text-shadow:none!important;cursor:pointer!important;padding:0!important;margin:0!important;min-width:0!important;min-height:0!important;width:auto!important;height:auto!important;opacity:1!important;-webkit-appearance:none!important;appearance:none!important}
.gfktd-gallery-open:hover,.gfktd-gallery-open:focus,.gfktd-gallery-open:active{background:transparent!important;background-color:transparent!important;background-image:none!important;box-shadow:none!important;color:transparent!important;border:0!important;outline:0!important}
.gfktd-gallery-open:focus-visible{outline:3px solid rgba(217,121,53,.75)!important;outline-offset:-7px;border-radius:24px}
.gfktd-gallery-overlay{position:absolute;inset:0;z-index:4;opacity:0;pointer-events:none;color:white;background:linear-gradient(180deg,rgba(43,61,75,.20) 0%,rgba(43,61,75,.88) 100%);transition:opacity .2s ease;display:flex;align-items:flex-end;padding:16px}
.gfktd-gallery-overlay-inner{width:100%;transform:translateY(8px);transition:transform .2s ease;text-shadow:0 2px 10px rgba(0,0,0,.22)}
.gfktd-gallery-overlay strong{display:block;font-size:clamp(18px,1.8vw,24px);line-height:1.05;letter-spacing:-.02em;margin-bottom:6px}
.gfktd-gallery-role{display:block;text-transform:uppercase;letter-spacing:.08em;color:#ffd1ae;font-size:11px;font-weight:900;margin-bottom:10px}
.gfktd-gallery-qualis{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.gfktd-gallery-qualis span{display:inline-flex;background:rgba(255,255,255,.92);color:var(--gfktd-blue);border-radius:999px;padding:5px 8px;font-size:11.5px;font-weight:800;line-height:1.2;max-width:100%}
.gfktd-gallery-workshop{margin-bottom:10px}
.gfktd-gallery-ws-meta{display:block;text-transform:uppercase;letter-spacing:.07em;color:var(--gfktd-orange-dark,#bd6023);background:rgba(255,255,255,.92);border-radius:999px;padding:4px 9px;font-size:10.5px;font-weight:800;margin-bottom:6px}
.gfktd-gallery-ws-title{display:block;font-size:14px;font-weight:800;line-height:1.3;margin-bottom:2px}
.gfktd-gallery-ws-time{display:block;font-size:11.5px;opacity:.85}
.gfktd-gallery-overlay em{font-style:normal;font-size:12px;font-weight:800;color:rgba(255,255,255,.82)}
.gfktd-gallery-item:hover img,.gfktd-gallery-item:focus-within img{transform:scale(1.035);filter:saturate(.95) brightness(.82)}
.gfktd-gallery-item:hover .gfktd-gallery-label,.gfktd-gallery-item:focus-within .gfktd-gallery-label{opacity:0;transform:translateY(8px)}
.gfktd-gallery-item:hover .gfktd-gallery-overlay,.gfktd-gallery-item:focus-within .gfktd-gallery-overlay{opacity:1}
.gfktd-gallery-item:hover .gfktd-gallery-overlay-inner,.gfktd-gallery-item:focus-within .gfktd-gallery-overlay-inner{transform:translateY(0)}
.gfktd-gallery-item.gfktd-hidden{display:none}
.gfktd-img-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:52px;font-weight:900;color:#bbb;background:#eee}
@keyframes gfktd-fade-up{to{opacity:1;transform:translateY(0) scale(1)}}

@media (prefers-reduced-motion: reduce) {
  .gfktd-wrap *, .gfktd-wrap *::before, .gfktd-wrap *::after {
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
  .gfktd-gallery-item { opacity:1; transform:none; }
}

/* Filter */
.gfktd-filter-box{margin:0 0 18px;padding:18px;border:1px solid rgba(228,218,205,.95);background:rgba(255,253,249,.9);border-radius:30px;box-shadow:0 10px 28px rgba(43,61,75,.06)}
.gfktd-filter-grid{display:grid;grid-template-columns:260px 1fr auto;gap:18px;align-items:end}
@media(max-width:760px){.gfktd-filter-grid{grid-template-columns:1fr}}
.gfktd-label-small{display:block;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.09em;color:var(--gfktd-orange);margin-bottom:7px}
.gfktd-wrap select{width:100%;appearance:none;background:white;border:1px solid var(--gfktd-line);border-radius:16px;padding:14px 42px 14px 15px;font-size:16px;font-weight:700;color:var(--gfktd-blue);background-image:linear-gradient(45deg,transparent 50%,var(--gfktd-blue) 50%),linear-gradient(135deg,var(--gfktd-blue) 50%,transparent 50%);background-position:calc(100% - 19px) 20px,calc(100% - 13px) 20px;background-size:6px 6px,6px 6px;background-repeat:no-repeat;cursor:pointer}
.gfktd-offer-checks{display:flex;flex-wrap:wrap;gap:9px}
.gfktd-check{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--gfktd-line);background:white;border-radius:999px;padding:9px 12px;font-size:14px;font-weight:700;color:#43515b;cursor:pointer;user-select:none}
.gfktd-check input{accent-color:var(--gfktd-orange);width:16px;height:16px}
.gfktd-reset{border:0;background:transparent;color:var(--gfktd-orange-dark);font-weight:850;cursor:pointer;font-size:14px;padding:12px 6px;white-space:nowrap}
.gfktd-resultline{display:flex;justify-content:space-between;align-items:center;margin:0 0 18px;color:var(--gfktd-muted)}
.gfktd-resultline strong{color:var(--gfktd-blue)}

/* Profile: zweispaltige Karten */
.gfktd-profiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:stretch}
@media(max-width:880px){.gfktd-profiles{grid-template-columns:1fr}}
.gfktd-profile-card{background:var(--gfktd-card);border:1px solid var(--gfktd-line);border-radius:var(--gfktd-radius);box-shadow:0 12px 32px rgba(43,61,75,.08);overflow:hidden;display:flex;flex-direction:column;min-height:100%;position:relative}
.gfktd-profile-card.gfktd-hidden{display:none}
.gfktd-profile-card--founder{border-color:rgba(217,121,53,.38)}
.gfktd-card-photo{height:260px;background:#ddd;position:relative;overflow:hidden;flex-shrink:0}
.gfktd-card-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.gfktd-card-photo .gfktd-img-placeholder{min-height:260px;font-size:72px}
.gfktd-ribbon{position:absolute;left:12px;top:12px;background:rgba(255,255,255,.92);color:var(--gfktd-blue);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;box-shadow:0 4px 12px rgba(0,0,0,.12);z-index:2}
.gfktd-card-body{padding:22px 22px 20px;display:flex;flex-direction:column;gap:0;flex:1}
.gfktd-modal-clickzone{cursor:pointer}
.gfktd-modal-clickzone:focus-visible{outline:3px solid rgba(217,121,53,.45);outline-offset:-3px}
.gfktd-modal-clickzone:hover .gfktd-name{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.gfktd-name{font-size:clamp(24px,2.6vw,34px);line-height:1.05;letter-spacing:-.03em;color:var(--gfktd-blue);margin-bottom:5px}
.gfktd-role{text-transform:uppercase;letter-spacing:.09em;color:var(--gfktd-orange);font-size:12px;font-weight:900;margin-bottom:12px}
.gfktd-offer-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.gfktd-offer{background:var(--gfktd-cream);border-radius:999px;padding:5px 11px;font-size:13px;font-weight:700;color:var(--gfktd-blue);line-height:1.25}
.gfktd-card-excerpt{margin:0 0 18px;font-size:15.5px;line-height:1.62;color:#3e4e59}
.gfktd-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:auto}
.gfktd-btn{border-radius:999px;padding:10px 18px;font-size:14px;font-weight:800;cursor:pointer;white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;border:0;text-align:center;transition:.16s ease}
.gfktd-btn:hover{transform:translateY(-1px)}
.gfktd-btn--secondary{background:white;border:2px solid var(--gfktd-line);color:var(--gfktd-blue)}
.gfktd-btn--secondary:hover{border-color:var(--gfktd-blue)}
.gfktd-btn--orange{background:var(--gfktd-orange);color:white}
.gfktd-btn--orange:hover{background:var(--gfktd-orange-dark);color:white}
.gfktd-empty{grid-column:1/-1;padding:40px;text-align:center;color:var(--gfktd-muted);font-size:16px}

/* Popup / Modal */
body.gfktd-modal-active{overflow:hidden}
.gfktd-modal[hidden]{display:none!important}
.gfktd-modal{--gfktd-ink:#25323b;--gfktd-muted:#66747e;--gfktd-line:#e4dacd;--gfktd-paper:#fbf6ee;--gfktd-cream:#f2e8dc;--gfktd-card:#fffdfa;--gfktd-orange:#d97935;--gfktd-orange-dark:#bd6023;--gfktd-blue:#2b3d4b;--gfktd-radius:24px;position:fixed!important;inset:0!important;z-index:999999!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:24px!important;color:var(--gfktd-ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.gfktd-modal *,.gfktd-modal *::before,.gfktd-modal *::after{box-sizing:border-box}
.gfktd-modal-backdrop{position:absolute;inset:0;background:rgba(20,30,38,.58);backdrop-filter:blur(4px)}
.gfktd-modal-dialog{position:relative;width:min(1040px,calc(100vw - 32px));max-height:min(86vh,900px);overflow:auto;background:#fffdfa;border:1px solid var(--gfktd-line);border-radius:28px;box-shadow:0 30px 90px rgba(0,0,0,.28);z-index:2}
.gfktd-modal-close{position:sticky;top:14px;float:right;z-index:5;margin:14px 14px 0 0;width:40px;height:40px;border:0;border-radius:999px;background:var(--gfktd-blue);color:white;font-size:26px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.gfktd-modal-grid{display:grid;grid-template-columns:330px 1fr;gap:0;min-height:520px}
.gfktd-modal-photo{background:#ddd;min-height:520px;position:relative;overflow:hidden}
.gfktd-modal-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;min-height:520px}
.gfktd-modal-photo .gfktd-img-placeholder{min-height:520px;font-size:96px}
.gfktd-modal-content{padding:36px 38px 34px}
.gfktd-modal-location{display:inline-flex;background:var(--gfktd-cream);border-radius:999px;padding:6px 11px;font-size:13px;font-weight:800;color:var(--gfktd-blue);margin-bottom:12px}
.gfktd-modal-content h3{font-size:clamp(30px,4vw,46px);line-height:1;letter-spacing:-.04em;color:var(--gfktd-blue);margin:0 0 7px}
.gfktd-modal-bio{font-size:16px;line-height:1.68;color:#34444f;margin-top:2px}
.gfktd-modal-bio p{margin:0 0 15px}
.gfktd-modal-qualis{margin-top:22px}
.gfktd-modal-qualis h4{font-size:14px;text-transform:uppercase;letter-spacing:.1em;color:var(--gfktd-orange);margin:0 0 10px}
.gfktd-qualis{display:flex;flex-wrap:wrap;gap:8px}
.gfktd-qualis span{background:var(--gfktd-paper);border:1px solid var(--gfktd-line);border-radius:999px;padding:7px 11px;font-size:13px;font-weight:700;color:var(--gfktd-blue)}
.gfktd-modal-actions{margin-top:24px;display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:760px){.gfktd-modal{padding:12px;align-items:flex-start}.gfktd-modal-dialog{width:100%;max-height:calc(100vh - 24px);border-radius:22px}.gfktd-modal-grid{grid-template-columns:1fr}.gfktd-modal-photo{min-height:280px;height:280px}.gfktd-modal-photo img{min-height:280px}.gfktd-modal-content{padding:24px 20px 24px}.gfktd-modal-close{position:absolute;right:8px;top:8px;margin:0}}

/* Terminbereich */
.gfktd-events{margin-top:48px;padding:32px;background:var(--gfktd-blue);border-radius:var(--gfktd-radius);color:white}
.gfktd-events-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;gap:20px}
.gfktd-kicker{text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:rgba(255,209,174,.9);font-size:12px;margin-bottom:8px}
.gfktd-events h2{color:white;font-size:clamp(20px,3vw,32px);line-height:1.1}
.gfktd-event-count{color:rgba(255,255,255,.7);font-size:14px;white-space:nowrap;padding-top:4px}
.gfktd-event-count strong{color:white;font-size:18px}
.gfktd-events-empty{margin-top:16px;padding:20px;background:rgba(255,255,255,.07);border-radius:12px;color:rgba(255,255,255,.65);font-size:15px;text-align:center}.gfktd-events-empty--admin{color:rgba(255,255,255,.86);text-align:left}
.gfktd-events-body [data-impact-event].gfktd-hidden{display:none!important}

/* Screenreader-only helper */
.gfktd-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Einzeltrainer-Shortcode */
.gfktd-single-card{background:var(--gfktd-card);border:1px solid var(--gfktd-line);border-radius:var(--gfktd-radius);overflow:hidden;display:grid;grid-template-columns:200px 1fr}
@media(max-width:600px){.gfktd-single-card{grid-template-columns:1fr}}
.gfktd-single-portrait img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;min-height:220px}
.gfktd-single-content{padding:24px}
.gfktd-single-name{font-size:clamp(18px,2.5vw,26px);line-height:1;letter-spacing:-.03em;color:var(--gfktd-blue);margin:0 0 6px}
.gfktd-location-pill{display:inline-block;background:var(--gfktd-cream);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;color:var(--gfktd-blue);margin:6px 0 12px}
.gfktd-bio{margin:0 0 12px;font-size:15px;line-height:1.65;color:#3e4e59}
.gfktd-read-more{border:0;background:none;color:var(--gfktd-orange-dark);cursor:pointer;font-weight:700;font-size:14px;padding:0;text-decoration:underline;text-underline-offset:2px;display:inline}

/* ----------------------------------------------------------------
   Trainer-Einzelseite (/trainer/slug/)
   ---------------------------------------------------------------- */
.gfktd-single-page { padding: 40px 0 80px; }
.gfktd-single-page-inner { max-width: 1100px; margin: 0 auto; padding: 0 24px; }

.gfktd-breadcrumb { margin-bottom: 28px; font-size: 14px; }
.gfktd-breadcrumb a { color: var(--gfktd-orange-dark, #bd6023); font-weight: 700; }

.gfktd-single-wrap { }

.gfktd-single-hero {
    display: grid;
    grid-template-columns: 360px 1fr;
    gap: 48px;
    align-items: start;
    margin-bottom: 48px;
}
@media (max-width: 720px) { .gfktd-single-hero { grid-template-columns: 1fr; } }

.gfktd-single-photo img {
    width: 100%; border-radius: 24px;
    object-fit: cover; display: block;
    box-shadow: 0 20px 48px rgba(43,61,75,.14);
}
.gfktd-single-photo .gfktd-img-placeholder {
    width: 100%; aspect-ratio: 4/5; border-radius: 24px; font-size: 96px;
}

.gfktd-single-hero-text { padding-top: 8px; }
.gfktd-single-h1 {
    font-size: clamp(28px, 4vw, 52px);
    line-height: 1.05; letter-spacing: -.04em;
    color: var(--gfktd-blue, #2b3d4b); margin: 10px 0 8px;
}
.gfktd-founder-badge {
    display: inline-block; margin: 10px 0 14px;
    background: var(--gfktd-orange, #d97935); color: white;
    border-radius: 999px; padding: 6px 14px;
    font-size: 13px; font-weight: 800;
}

.gfktd-single-bio {
    max-width: 760px; margin-bottom: 40px;
    font-size: 17px; line-height: 1.7; color: #3e4e59;
}
.gfktd-single-bio p { margin: 0 0 18px; }
.gfktd-single-bio p:last-child { margin-bottom: 0; }

.gfktd-single-quals { margin-bottom: 48px; }
.gfktd-single-quals h2 {
    font-size: 14px; font-weight: 900; text-transform: uppercase;
    letter-spacing: .09em; color: var(--gfktd-muted, #66747e);
    margin: 0 0 16px;
}
.gfktd-events-filter-notice{display:inline-flex;align-items:center;gap:8px;margin:-6px 0 16px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.9);font-weight:800;font-size:14px}
.gfktd-events-filter-notice[hidden]{display:none!important}

.gfktd-single-back{margin-top:40px;padding-top:28px;border-top:1px solid var(--gfktd-line);text-align:center}
