/* TM Autorenbox 1.4.1: Autorenbox, Sidebar-Teaser, Team-Karten, Modal. CI-Tokens TechMinds. */
.tm-autorbox,.tm-autor-teaser,.tm-team-wrap,.tm-modal,.tm-autor-hinweis{
  --tm-blau:#046289;--tm-blau-deep:#03506F;--tm-blau-bright:#4FA3C7;--tm-nacht:#022D44;
  --tm-sky:#E8F1F6;--tm-sky-2:#F4F9FB;--tm-ink:#1C2833;--tm-muted:#5A6B7A;--tm-line:#E1EAF0;
  box-sizing:border-box;
}
.tm-autorbox *,.tm-autor-teaser *,.tm-team-wrap *,.tm-modal *{box-sizing:border-box}

/* Autorenbox unter dem Beitrag */
.tm-autorbox{display:flex;gap:28px;align-items:flex-start;padding:28px 32px 30px;margin:8px 0 0;border:1px solid var(--tm-line);border-radius:12px;background:var(--tm-sky-2);color:var(--tm-ink);text-align:left}
/* Foto: Imagify/WP Rocket wickeln das img in <picture>, daher beide Ebenen stylen */
.tm-autorbox .tm-autorbox-foto{width:128px;height:128px;flex:0 0 128px;display:block;border-radius:12px;overflow:hidden;background:var(--tm-sky)}
.tm-autorbox .tm-autorbox-foto img,.tm-autorbox img.tm-autorbox-foto{width:100%;height:100%;object-fit:cover;display:block;border-radius:12px;margin:0}
.tm-autorbox-text{min-width:0;flex:1 1 auto}
.tm-autorbox .tm-autorbox-text p{margin:0;padding:0}
.tm-autorbox .tm-autorbox-text .tm-autorbox-label{margin:0 0 8px !important;font-size:13px;line-height:1.3;letter-spacing:.01em;color:var(--tm-muted)}
.tm-autorbox .tm-autorbox-text .tm-autorbox-name{margin:0 !important;font-size:20px;font-weight:600;line-height:1.25;color:var(--tm-nacht)}
.tm-autorbox .tm-autorbox-name a{color:var(--tm-nacht);text-decoration:none;border:0}
.tm-autorbox .tm-autorbox-name a:hover{color:var(--tm-blau)}
.tm-autorbox .tm-autorbox-text .tm-autorbox-titel{margin:4px 0 16px !important;font-size:15px;line-height:1.4;color:var(--tm-muted)}
.tm-autorbox .tm-autorbox-text .tm-autorbox-bio{margin:0 0 18px !important;font-size:16px;line-height:1.65;color:var(--tm-ink)}
.tm-autorbox .tm-autorbox-kontakt,.tm-autorbox .tm-autorbox-links{font-size:15px;line-height:1.9}
.tm-autorbox .tm-autorbox-text .tm-autorbox-kontakt{margin:0 0 4px !important}
.tm-autorbox .tm-autorbox-kontakt a,.tm-autorbox .tm-autorbox-links a{color:var(--tm-blau);text-decoration:none;border-bottom:1px solid var(--tm-line);padding-bottom:1px;overflow-wrap:anywhere;transition:border-color .15s ease}
.tm-autorbox .tm-autorbox-kontakt a:hover,.tm-autorbox .tm-autorbox-links a:hover{border-bottom-color:var(--tm-blau);color:var(--tm-blau)}
/* Avada unterstreicht Links im Hover global (awb-link-decoration); in der Box nur die eigene Linie zeigen */
#wrapper .tm-autorbox a,#wrapper .tm-autorbox a:hover,#wrapper .tm-autorbox a:focus,#wrapper .tm-autor-teaser a,#wrapper .tm-autor-teaser a:hover,#wrapper .tm-team-wrap a,#wrapper .tm-team-wrap a:hover,.tm-autorbox a,.tm-autorbox a:hover,.tm-autor-teaser a:hover,.tm-team-wrap a:hover{text-decoration:none !important}
.tm-autorbox .tm-autorbox-kontakt span,.tm-autorbox .tm-autorbox-links span{color:var(--tm-muted);margin:0 6px}
.tm-foto-leer{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--tm-nacht),var(--tm-blau));color:#fff;font-weight:600;letter-spacing:.02em}
.tm-autorbox .tm-foto-leer{font-size:36px}

/* Sidebar-Teaser */
.tm-autor-teaser{color:var(--tm-ink)}
.tm-autor-teaser p{margin:0}
.tm-autor-teaser .tm-autor-teaser-label{margin:0 0 12px !important;font-size:20px;font-weight:300;line-height:1.2}
.tm-autor-teaser-label mark{background:linear-gradient(transparent 55%,var(--tm-sky) 55%);color:inherit;padding:0 2px}
.tm-autor-teaser-row{display:flex;gap:14px;align-items:center}
.tm-autor-teaser .tm-autor-teaser-foto{width:72px;height:72px;border-radius:8px;overflow:hidden;flex:0 0 72px;display:block}
.tm-autor-teaser .tm-autor-teaser-foto img,.tm-autor-teaser img.tm-autor-teaser-foto{width:100%;height:100%;object-fit:cover;display:block;border-radius:8px;margin:0}
.tm-autor-teaser .tm-foto-leer{font-size:22px}
/* 1.3.1: Avadas .post-content p (20px unten) schlug die Nullung aus .tm-autor-teaser p, deshalb hoehere Spezifitaet */
.tm-autor-teaser .tm-autor-teaser-name{margin:0;font-weight:600;line-height:1.3}
.tm-autor-teaser-name a{color:var(--tm-ink);text-decoration:none}
.tm-autor-teaser-name a:hover{color:var(--tm-blau)}
.tm-autor-teaser .tm-autor-teaser-titel{margin:2px 0 0 !important;font-size:14px;color:var(--tm-muted);line-height:1.35}

/* Team-Karten */
.tm-team{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 28px}
.tm-team-spalten-1{grid-template-columns:minmax(0,1fr)}
.tm-team-spalten-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.tm-team-spalten-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.tm-team li{margin:0;padding:0}
.tm-person{display:block;color:var(--tm-ink);text-decoration:none;border-radius:20px}
.tm-person:hover{color:var(--tm-ink)}
.tm-person:focus-visible{outline:3px solid var(--tm-blau-bright);outline-offset:4px}
.tm-person-foto{display:block;border-radius:20px;overflow:hidden;aspect-ratio:1/1;background:var(--tm-sky);box-shadow:0 1px 2px rgba(2,45,68,.06),0 10px 30px rgba(2,45,68,.10)}
.tm-person-foto picture{display:block;width:100%;height:100%}
.tm-person-foto img,.tm-person-foto .tm-foto-leer{width:100%;height:100%;object-fit:cover;display:flex;font-size:48px;margin:0}
.tm-person:hover .tm-person-name{color:var(--tm-blau)}
.tm-person-name{display:block;font-weight:600;font-size:18px;margin:16px 0 2px;line-height:1.3}
.tm-person-titel{display:block;color:var(--tm-muted);font-size:15px}
.tm-person-button-wrap{margin-top:12px}
.tm-person-button-wrap .fusion-button{margin:0}

/* Modal: gleiche Box wie unter dem Beitrag */
.tm-modal{border:0;padding:0;border-radius:16px;max-width:min(820px,calc(100vw - 32px));width:100%;max-height:calc(100dvh - 32px);background:var(--tm-sky-2);color:var(--tm-ink);box-shadow:0 30px 80px rgba(2,45,68,.35);overflow:auto}
.tm-modal::backdrop{background:rgba(2,45,68,.55);backdrop-filter:blur(3px)}
.tm-modal[open]{animation:tmModalIn .22s ease-out}
@keyframes tmModalIn{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
.tm-modal-leiste{position:sticky;top:0;z-index:2;height:0;display:flex;justify-content:flex-end;padding:0}
.tm-modal-schliessen{width:40px;height:40px;margin:12px 12px 0 0;border:0;border-radius:50%;background:#fff;color:var(--tm-nacht);cursor:pointer;display:grid;place-items:center;box-shadow:0 2px 8px rgba(2,45,68,.18);padding:0}
.tm-modal-schliessen:hover{background:var(--tm-sky)}
.tm-modal-schliessen:focus-visible{outline:3px solid var(--tm-blau-bright);outline-offset:2px}
.tm-modal .tm-autorbox{margin:0;border:0;border-radius:16px;padding:32px 36px 34px}
.tm-modal .tm-autorbox .tm-autorbox-foto{width:160px;height:160px;flex-basis:160px;border-radius:14px}
.tm-modal .tm-autorbox .tm-autorbox-foto img{border-radius:14px}
.tm-modal .tm-autorbox .tm-autorbox-text .tm-autorbox-label{font-family:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;color:var(--tm-blau);margin-bottom:6px}
.tm-modal .tm-autorbox .tm-autorbox-text .tm-autorbox-name{font-size:24px;line-height:1.15;letter-spacing:-.01em;color:var(--tm-nacht);padding-right:44px}
.tm-modal .tm-autorbox .tm-autorbox-text .tm-autorbox-titel{font-size:15px;margin-bottom:14px}
.tm-modal .tm-autorbox .tm-autorbox-text .tm-autorbox-bio{font-size:15.5px;margin-bottom:16px}
.tm-modal .tm-autorbox .tm-autorbox-text .tm-autorbox-kontakt{padding-top:14px;border-top:1px solid var(--tm-line);margin-bottom:6px}
.tm-autorbox .tm-autorbox-text .tm-autorbox-button{margin:14px 0 0 !important}
body.tm-modal-offen{overflow:hidden}

/* Redaktionshinweis */
.tm-autor-hinweis{padding:10px 14px;border:1px dashed #c98a00;border-radius:8px;background:#fff8e6;color:#5c4200;font-size:14px}

@media (prefers-reduced-motion:reduce){
  .tm-modal[open]{animation:none}
}
@media (max-width:900px){
  .tm-team,.tm-team-spalten-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}
}
@media (max-width:640px){
  .tm-autorbox{flex-direction:column;padding:22px 20px 24px;gap:16px}
  .tm-autorbox .tm-autorbox-foto{width:88px;height:88px;flex-basis:auto}
  .tm-autorbox .tm-autorbox-text .tm-autorbox-name{font-size:19px}
  .tm-autorbox .tm-autorbox-text .tm-autorbox-bio{font-size:15.5px}
  /* 1.4.0: Team-Raster mobil einspaltig (vorher TM CSS 63); Karte so breit wie die Textspalte, Name und Rolle in Desktop-Groesse */
  .tm-team,.tm-team-spalten-2,.tm-team-spalten-4{grid-template-columns:minmax(0,1fr);gap:28px}
  .tm-person-name{font-size:18px}
  .tm-person-titel{font-size:15px}
  /* Avada-Spalten um die Raster: kein Innenabstand oben, Rhythmus aus den Spalten-Margins (Textspalte 12px + 20px Absatz, Raster auf Raster 28px) */
  .post-content .fusion-layout-column:has(> .fusion-column-wrapper .tm-team-wrap) > .fusion-column-wrapper{padding-top:0}
  .post-content .fusion-builder-row > .fusion-layout-column:not(:has(.tm-team-wrap)):has(+ .fusion-layout-column .tm-team-wrap){margin-bottom:12px}
  .post-content .fusion-builder-row > .fusion-layout-column:has(.tm-team-wrap):has(+ .fusion-layout-column .tm-team-wrap){margin-bottom:28px}
  .tm-modal{max-width:calc(100vw - 16px);border-radius:14px}
  .tm-modal .tm-autorbox{padding:22px 20px 24px}
  .tm-modal .tm-autorbox .tm-autorbox-foto{width:96px;height:96px;flex:0 0 96px;border-radius:50%}
  .tm-modal .tm-autorbox .tm-autorbox-foto img{border-radius:50%}
  .tm-modal .tm-autorbox .tm-autorbox-text .tm-autorbox-name{font-size:21px;padding-right:40px}
}
/* 1.1.4: Teaser ohne eigenes Label (Label kommt aus dem Layout) */
.tm-autor-teaser-ohne-label .tm-autor-teaser-row{margin-top:0}
