.ksc3-shell {
  --ksc3-navy: #253D54;
  --ksc3-teal: #326569;
  --ksc3-bg: #E7E2D9;
  --ksc3-card: #FFFFFF;
  --ksc3-line: rgba(37, 61, 84, 0.16);
  --ksc3-soft: #F6F4EF;
  --ksc3-text: #173650;
  --ksc3-success: #3A8B68;
  --ksc3-warning: #D5A12E;
  --ksc3-nav-bg: #F4F1EA;
  --ksc3-nav-item-bg: #F4F1EA;
  --ksc3-nav-item-hover-bg: #E1E9E7;
  --ksc3-nav-text: #173650;
  --ksc3-nav-text-hover: #326569;
  --ksc3-nav-icon: #173650;
  --ksc3-nav-icon-hover: #326569;
  --ksc3-card-radius: 12px;
  --ksc3-heading-size: 25px;
  --ksc3-card-title-size: 20px;
  --ksc3-body-size: 14px;
  --ksc3-button-size: 14px;
}

.ksc3-shell,
.ksc3-shell * { box-sizing: border-box; }

.ksc3-shell {
  position: relative;
  display: grid;
  grid-template-columns: minmax(220px, 260px) minmax(0, 1fr) minmax(260px, 310px);
  width: min(1600px, 100%);
  min-height: 760px;
  margin: 0 auto;
  color: var(--ksc3-text);
  font-size: var(--ksc3-body-size);
  background: var(--ksc3-bg);
  border: 1px solid rgba(37, 61, 84, 0.12);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 12px 34px rgba(37, 61, 84, 0.08);
}

.ksc3-shell a { color: inherit; text-decoration: none; }
.ksc3-shell .fa-solid { display:inline-flex; width:22px; min-width:22px; align-items:center; justify-content:center; font-size:18px; line-height:1; }
/* Überschriften NIE fett (CI-Regel, Frank 20.07.2026). Bis 0.95.0 deckte diese
   Regel nur h2/h3 ab — h1/h4/h5/h6 rendert das Browser-UA-Stylesheet dann fett,
   und da es von Cinzel/Yantramanav gar keinen fetten Schnitt gibt (alle
   Yantramanav-Faces sind weight 100), verfettet der Browser synthetisch.
   Deshalb ab 0.96.0 alle sechs Ebenen. */
.ksc3-shell h1, .ksc3-shell h2, .ksc3-shell h3,
.ksc3-shell h4, .ksc3-shell h5, .ksc3-shell h6 { color: var(--ksc3-navy); font-family: Cinzel, Georgia, serif; font-weight: 400; }
.ksc3-shell p,.ksc3-shell li,.ksc3-shell td,.ksc3-shell th,.ksc3-shell label,.ksc3-shell input,.ksc3-shell select,.ksc3-shell textarea { font-size:var(--ksc3-body-size)!important; }
.ksc3-section-head h2 { font-size:var(--ksc3-heading-size)!important; }
.ksc3-section-head h3 { margin:2px 0 0; color:var(--ksc3-navy); font-size:var(--ksc3-card-title-size); }
.ksc3-focus-card h3,.ksc3-course-copy h3,.ksc3-registration-copy h3,.ksc3-side-card h3,.ksc3-promo-card h2 { font-size:var(--ksc3-card-title-size)!important; }
.ksc3-button,.ksc3-outline-button,.ksc3-endpoint-content .button,.ksc3-endpoint-content button,.ksc3-endpoint-content input[type="submit"] { font-size:var(--ksc3-button-size)!important; }

.ksc3-left,
.ksc3-right { padding: 28px 18px; background: rgba(255,255,255,.68); }
.ksc3-left { background:var(--ksc3-nav-bg); }
.ksc3-left { display:flex; flex-direction:column; border-right: 1px solid var(--ksc3-line); }
.ksc3-right { border-left: 1px solid var(--ksc3-line); }
.ksc3-left-title,.ksc3-quick-title { margin: 0 10px 12px; color: #607080; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.ksc3-left-quick { margin-top:0; margin-bottom:0; }
.ksc3-left.ksc3-desktop-navigation-first .ksc3-left-quick { margin-top:30px; }
.ksc3-left.ksc3-desktop-quick-first .ksc3-left-quick { margin-bottom:30px; }
.ksc3-nav { display: grid; gap: 5px; }
.ksc3-nav-link { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 10px 12px; color:var(--ksc3-nav-text)!important; background:var(--ksc3-nav-item-bg); border-radius: 8px; font-size: 14px; }
.ksc3-nav-link > .fa-solid,.ksc3-nav-group summary > .fa-solid,.ksc3-nav-child > .fa-solid { color:var(--ksc3-nav-icon); }
.ksc3-nav-link:hover,.ksc3-nav-link.is-active { color:var(--ksc3-nav-text-hover)!important; background:var(--ksc3-nav-item-hover-bg); }
.ksc3-nav-link:hover > .fa-solid,.ksc3-nav-link.is-active > .fa-solid { color:var(--ksc3-nav-icon-hover); }
.ksc3-nav-group { margin:0; }
.ksc3-nav-group summary { display:grid; grid-template-columns:22px minmax(0,1fr) 20px; align-items:center; gap:12px; min-height:44px; padding:10px 12px; color:var(--ksc3-nav-text); background:var(--ksc3-nav-item-bg); border-radius:8px; cursor:pointer; list-style:none; font-size:14px; }
.ksc3-nav-group summary::-webkit-details-marker { display:none; }
.ksc3-nav-group summary:hover,.ksc3-nav-group[open] summary { color:var(--ksc3-nav-text-hover); background:var(--ksc3-nav-item-hover-bg); }
.ksc3-nav-group summary:hover > .fa-solid,.ksc3-nav-group[open] summary > .fa-solid { color:var(--ksc3-nav-icon-hover); }
.ksc3-nav-toggle { display:grid; place-items:center; font-weight:400; transition:transform .2s ease; }
.ksc3-nav-toggle .fa-solid { width:18px; min-width:18px; font-size:13px; }
.ksc3-nav-group[open] .ksc3-nav-toggle { transform:rotate(180deg); }
.ksc3-nav-children { display:grid; gap:2px; padding:4px 0 8px 12px; }
.ksc3-nav-child { display:grid; grid-template-columns:18px minmax(0,1fr); align-items:center; gap:9px; min-height:37px; padding:7px 8px; color:var(--ksc3-nav-text)!important; background:var(--ksc3-nav-item-bg); border-radius:7px; font-size:13px; }
.ksc3-nav-child:hover,.ksc3-nav-child.is-active { color:var(--ksc3-nav-text-hover)!important; background:var(--ksc3-nav-item-hover-bg); }
.ksc3-nav-child:hover > .fa-solid,.ksc3-nav-child.is-active > .fa-solid { color:var(--ksc3-nav-icon-hover); }
.ksc3-nav-child .fa-solid { width:17px; min-width:17px; font-size:14px; }
.ksc3-nav-logout { margin-top:8px; }
.ksc3-left-logout { margin-top:18px; }
.ksc3-left-logout.is-after_quick { margin-top:5px; }
.ksc3-left-logout .ksc3-nav-logout { margin-top:0; }
.ksc3-left-modules { display: contents; }
.ksc3-left-modules > div { margin-top:18px; }
.ksc3-left-widgets { margin-top:26px; padding-top:20px; border-top:1px solid var(--ksc3-line); }
.ksc3-left-widgets .widget { margin:0 0 18px; padding:0; background:transparent; border:0; }

.ksc3-main { display:flex; min-width: 0; flex-direction:column; padding: 28px 24px 44px; background: rgba(255,255,255,.90); }
.ksc3-right { display:flex; flex-direction:column; }
.ksc3-welcome { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 16px; padding: 18px 20px; background: var(--ksc3-card); border: 1px solid var(--ksc3-line); border-radius: 14px; }
.ksc3-welcome-avatar img { display:block; width: 64px; height: 64px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 4px rgba(50,101,105,.12); }
.ksc3-welcome-copy { display: flex; min-width: 0; flex-direction: column; }
.ksc3-welcome-copy small { color: var(--ksc3-teal); font-size: 11px; font-weight: 700; text-transform: uppercase; }
.ksc3-welcome-copy strong { color: var(--ksc3-navy); font-family: Cinzel, Georgia, serif; font-size: clamp(20px,2vw,28px); font-weight: 400; }
.ksc3-welcome-copy span { color:#697887; font-size:var(--ksc3-body-size); }
.ksc3-welcome-actions { display:flex; min-width:190px; flex-direction:column; align-items:stretch; justify-content:center; gap:8px; }
.ksc3-welcome-actions .ksc3-outline-button { justify-content:flex-start; width:100%; }
.ksc3-welcome-actions .ksc3-outline-button .fa-arrow-right { margin-left:auto; }
.ksc3-profile-action-arrow { display:inline-flex; margin-left:auto; }
.ksc3-outline-button,.ksc3-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:42px; padding:10px 15px; border-radius:7px; font-size:var(--ksc3-button-size); font-weight:600; }
.ksc3-outline-button .fa-solid,.ksc3-button .fa-solid { width:17px; min-width:17px; font-size:15px; }
.ksc3-outline-button { color:var(--ksc3-profile-btn-text)!important; background:var(--ksc3-profile-btn-bg); border:1px solid var(--ksc3-line); transition:color .2s ease,background-color .2s ease,border-color .2s ease; }
.ksc3-outline-button .fa-solid { color:var(--ksc3-profile-btn-icon)!important; transition:color .2s ease; }
.ksc3-outline-button:hover,.ksc3-outline-button:focus-visible { color:var(--ksc3-profile-btn-hover-text)!important; background:var(--ksc3-profile-btn-hover-bg); border-color:var(--ksc3-profile-btn-hover-bg); }
.ksc3-outline-button:hover .fa-solid,.ksc3-outline-button:focus-visible .fa-solid { color:var(--ksc3-profile-btn-hover-icon)!important; }
.ksc3-button { color:#fff!important; background:var(--ksc3-navy); }
.ksc3-button:hover { background:var(--ksc3-teal); }

.ksc3-status-row { display:flex; flex-wrap:wrap; gap:10px; margin-top:12px; }
.ksc3-status { display:flex; align-items:center; gap:10px; min-height:48px; padding:9px 14px; background:#fff; border:1px solid var(--ksc3-line); border-radius:999px; }
.ksc3-status i { width:10px; height:10px; flex:0 0 auto; border-radius:50%; background:var(--ksc3-warning); box-shadow:0 0 0 4px color-mix(in srgb,var(--ksc3-warning) 18%,transparent); }
.ksc3-status.is-good i { background:var(--ksc3-success); box-shadow:0 0 0 4px color-mix(in srgb,var(--ksc3-success) 18%,transparent); }
.ksc3-status span { display:flex; flex-direction:column; }
.ksc3-status strong { font-size:var(--ksc3-body-size); }
.ksc3-status small { font-size:var(--ksc3-small-text-size); color:#6b7885; }
.ksc3-status > svg { width:16px; height:16px; margin-left:4px; color:var(--ksc3-teal); }

.ksc3-section { margin-top:30px; }
.ksc3-section[id] { scroll-margin-top:120px; }
.ksc3-section-head { display:flex; align-items:end; justify-content:space-between; gap:16px; margin-bottom:14px; }
.ksc3-section-head span,.ksc3-side-eyebrow { color:var(--ksc3-teal); font-size:var(--ksc3-eyebrow-size); font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.ksc3-section-head h2 { margin:2px 0 0; font-size:var(--ksc3-heading-size); }
.ksc3-section-head > a,.ksc3-text-link { color:var(--ksc3-teal)!important; font-size:var(--ksc3-small-text-size); font-weight:600; }

.ksc3-focus-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.ksc3-focus-card { position:relative; box-sizing:border-box; min-height:320px; padding:20px 20px 82px; background:linear-gradient(135deg,#f8f5ed,#fff); border:1px solid var(--ksc3-line); border-radius:var(--ksc3-card-radius); overflow:hidden; }
.ksc3-focus-card::after { content:""; position:absolute; right:0; bottom:0; width:48%; height:55%; background-image:linear-gradient(to left,rgba(255,255,255,.08),rgba(255,255,255,.9)),var(--ksc3-image); background-size:cover; background-position:center; opacity:.9; }
.ksc3-focus-card > * { position:relative; z-index:1; }
.ksc3-focus-card small { color:var(--ksc3-teal); font-size:var(--ksc3-eyebrow-size); font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.ksc3-focus-card h3 { max-width:85%; margin:10px 0; font-size:var(--ksc3-card-title-size); line-height:1.3; }
.ksc3-event-date { display:block; color:#5f7080; font-size:var(--ksc3-small-text-size)!important; line-height:1.5; }
.ksc3-event-venue,.ksc3-focus-card p { display:block; color:#5f7080; font-size:var(--ksc3-body-size)!important; line-height:1.55; }
.ksc3-event-venue { margin-top:6px; }
.ksc3-focus-card .ksc3-button { position:absolute; left:20px; bottom:20px; }
/* Bild-Überlagerung der Beitragskachel nur ausblenden, wenn KEIN Bild gesetzt
   ist. Mit hochgeladenem Bild (.ksc3-has-image) erscheint sie wie bei Kachel 1+2. */
.ksc3-focus-card--activity:not(.ksc3-has-image)::after { display:none; }
.ksc3-focus-icon { width:48px; height:48px; margin:4px 0 12px; display:grid; place-items:center; color:var(--ksc3-teal); background:rgba(50,101,105,.09); border-radius:50%; }
.ksc3-progress { overflow:hidden; width:65%; height:7px; background:rgba(37,61,84,.13); border-radius:99px; }
.ksc3-progress span { display:block; height:100%; background:var(--ksc3-teal); border-radius:inherit; }
.ksc3-percent { display:block; margin-top:7px; font-size:var(--ksc3-small-text-size); }

.ksc3-overview { display:grid; grid-template-columns:repeat(4,1fr); margin-top:22px; background:#fff; border:1px solid var(--ksc3-line); border-radius:var(--ksc3-card-radius); }
.ksc3-overview div { display:flex; min-height:95px; flex-direction:column; align-items:center; justify-content:center; border-right:1px solid var(--ksc3-line); }
.ksc3-overview div:last-child { border-right:0; }
.ksc3-overview strong { color:var(--ksc3-navy); font-family:Cinzel,Georgia,serif; font-size:25px; font-weight:400; }
.ksc3-overview span { font-size:var(--ksc3-small-text-size); }

.ksc3-course-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.ksc3-course-card { position:relative; overflow:hidden; background:#fff; border:1px solid var(--ksc3-line); border-radius:var(--ksc3-card-radius); }
.ksc3-course-card.is-gift { border-color:var(--ksc3-teal); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ksc3-teal) 28%,transparent); }
.ksc3-gift-badge { position:absolute; z-index:2; top:12px; left:12px; padding:6px 10px; color:#fff; background:var(--ksc3-teal); border-radius:999px; font-size:var(--ksc3-eyebrow-size); font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.ksc3-course-image { display:block; min-height:150px; background:linear-gradient(135deg,#e7e2d9,#dce8e6); background-size:cover; background-position:center; }
.ksc3-course-copy { padding:16px; }
.ksc3-course-copy h3 { margin:0 0 6px; font-size:var(--ksc3-card-title-size); }
.ksc3-course-copy > span { font-size:var(--ksc3-small-text-size); color:#657482; }
.ksc3-course-copy .ksc3-progress { width:100%; margin:10px 0 14px; }
.ksc3-course-copy .ksc3-button { min-height:36px; padding:8px 13px; font-size:var(--ksc3-button-size); }

/* Blog-Sektion „Aus dem Blog" (Option A, seit 0.99.0). Erbt die Kurs-Karten-
   Optik (.ksc3-course-card/-image/-copy); nur die Blog-eigenen Zusätze hier. */
.ksc3-blog-cat { display:block; margin-bottom:5px; color:var(--ksc3-teal); font-size:var(--ksc3-eyebrow-size); font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.ksc3-blog-excerpt { margin:0 0 12px; font-size:var(--ksc3-small-text-size); color:#5b6b78; }
.ksc3-blog-foot { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.ksc3-blog-date { font-size:var(--ksc3-small-text-size); color:#657482; }

/* Blog-Teaser in der Seitenspalte (Option C). */
.ksc3-blog-teaser-item { display:flex; gap:11px; align-items:center; padding:9px 0; border-top:1px solid var(--ksc3-line); }
.ksc3-blog-teaser-item:first-of-type { border-top:0; }
.ksc3-blog-teaser-thumb { flex:0 0 46px; width:46px; height:46px; border-radius:8px; background:linear-gradient(135deg,#dce8e6,#cbdad6); background-size:cover; background-position:center; }
.ksc3-blog-teaser-copy { display:flex; flex-direction:column; min-width:0; }
.ksc3-blog-teaser-copy strong { color:var(--ksc3-navy); font-size:13.5px; font-weight:600; line-height:1.25; }
.ksc3-blog-teaser-copy small { margin-top:2px; color:#657482; font-size:11.5px; }

/* ==== Gespeicherte Beiträge & Kategorien (seit 1.5.0) ==== Inline-SVG-Icons
   (kein Font-Awesome-CDN, DSGVO). Karten erben .ksc3-course-card/.ksc3-blog-card. */
.ksc3-ico { width:1em; height:1em; display:inline-block; vertical-align:-.12em; }

/* Speichern-/Entfernen-Button auf der Blog-Karte */
.ksc3-bm-btn { position:absolute; z-index:3; top:11px; right:11px; display:inline-flex; align-items:center; gap:6px; height:34px; padding:0 12px 0 10px; background:rgba(255,255,255,.94); border:1px solid var(--ksc3-line); border-radius:999px; color:var(--ksc3-navy); font-size:12.5px; font-weight:600; cursor:pointer; box-shadow:0 2px 8px rgba(37,61,84,.14); transition:background-color .2s,color .2s,border-color .2s; }
.ksc3-bm-btn:hover { background:#fff; }
.ksc3-bm-btn .ksc3-bm-ico { display:inline-flex; width:15px; height:15px; color:var(--ksc3-navy); }
.ksc3-bm-btn .ksc3-ico { width:15px; height:15px; }
.ksc3-bm-btn .ksc3-ico--bookmark-fill { display:none; }
.ksc3-bm-btn .ksc3-bm-lbl-on { display:none; }
.ksc3-bm-btn.is-saved { background:var(--ksc3-navy); color:#fff; border-color:var(--ksc3-navy); }
.ksc3-bm-btn.is-saved .ksc3-bm-ico { color:#fff; }
.ksc3-bm-btn.is-saved .ksc3-ico--bookmark { display:none; }
.ksc3-bm-btn.is-saved .ksc3-ico--bookmark-fill { display:inline-block; }
.ksc3-bm-btn.is-saved .ksc3-bm-lbl-off { display:none; }
.ksc3-bm-btn.is-saved .ksc3-bm-lbl-on { display:inline; }
.ksc3-bm-btn.is-busy { opacity:.6; cursor:default; }

.ksc3-credit-grid { display:grid; grid-template-columns:repeat(var(--ksc3-credit-columns,2),minmax(0,1fr)); gap:14px; }
.ksc3-credit-account { display:flex; min-width:0; flex-direction:column; gap:13px; padding:18px; background:var(--ksc3-card); border:1px solid var(--ksc3-line); border-radius:var(--ksc3-card-radius); }
.ksc3-credit-account.is-low { border-color:var(--ksc3-warning); }
.ksc3-credit-account.is-expiring { box-shadow:inset 4px 0 0 var(--ksc3-warning); }
.ksc3-credit-account-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.ksc3-credit-account-head h3 { margin:0; font-size:var(--ksc3-card-title-size); }
.ksc3-credit-modes,.ksc3-credit-memberships { color:#657482; font-size:var(--ksc3-small-text-size); }
.ksc3-credit-memberships { margin:0; }
.ksc3-credit-status { flex:0 0 auto; padding:5px 8px; color:var(--ksc3-teal); background:color-mix(in srgb,var(--ksc3-teal) 10%,#fff); border-radius:999px; font-size:var(--ksc3-eyebrow-size); font-weight:700; }
.ksc3-credit-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.ksc3-credit-facts > div { display:flex; min-width:0; flex-direction:column; gap:3px; padding:10px; background:var(--ksc3-soft); border-radius:8px; }
.ksc3-credit-facts span,.ksc3-credit-next span { color:#657482; font-size:var(--ksc3-small-text-size); }
.ksc3-credit-facts strong { font-size:var(--ksc3-body-size); }
.ksc3-credit-next { display:flex; flex-direction:column; gap:3px; margin:0; }
.ksc3-credit-next small { color:#657482; font-size:var(--ksc3-small-text-size); }
.ksc3-credit-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:auto; }
.ksc3-credit-actions .ksc3-button { min-height:36px; padding:8px 12px; }
.ksc3-credit-actions .ksc3-button-secondary { color:var(--ksc3-navy)!important; background:transparent!important; border:1px solid var(--ksc3-navy); }
.ksc3-credit-detail-lists { display:grid; gap:14px; padding-top:4px; border-top:1px solid var(--ksc3-line); }
.ksc3-credit-detail-lists h4 { margin:8px 0; font-size:var(--ksc3-body-size); }
.ksc3-credit-detail-lists ul { display:grid; gap:7px; margin:0; padding:0; list-style:none; }
.ksc3-credit-detail-lists li { display:flex; flex-direction:column; padding:9px 10px; background:var(--ksc3-soft); border-radius:7px; }
.ksc3-credit-detail-lists li span,.ksc3-credit-detail-lists li small { color:#657482; font-size:var(--ksc3-small-text-size); }
.ksc3-credit-endpoint .ksc3-credit-grid { grid-template-columns:1fr; }
.ksc3-endpoint-registrations { margin-top:32px; }

.ksc3-registration-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.ksc3-registration-card { display:grid; grid-template-columns:minmax(105px,34%) minmax(0,1fr); min-height:170px; overflow:hidden; background:var(--ksc3-card); border:1px solid var(--ksc3-line); border-radius:var(--ksc3-card-radius); }
.ksc3-registration-image { min-height:100%; background-size:cover; background-position:center; }
.ksc3-registration-copy { display:flex; min-width:0; flex-direction:column; align-items:flex-start; padding:16px; }
.ksc3-registration-copy small { color:var(--ksc3-teal); font-size:var(--ksc3-eyebrow-size); font-weight:700; text-transform:uppercase; }
.ksc3-registration-copy h3 { margin:7px 0 4px; font-size:var(--ksc3-card-title-size); }
.ksc3-registration-copy > span { color:#657482; font-size:var(--ksc3-body-size); }
.ksc3-registration-copy .ksc3-registration-type { display:inline-flex; width:auto; align-items:center; margin:0 0 7px; padding:4px 8px; color:var(--ksc3-teal); background:color-mix(in srgb,var(--ksc3-teal) 10%,#fff); border-radius:999px; font-size:var(--ksc3-small-text-size)!important; font-weight:700; }
.ksc3-registration-copy .ksc3-registration-type.type-free { color:var(--ksc3-success); background:color-mix(in srgb,var(--ksc3-success) 11%,#fff); }
.ksc3-registration-copy .ksc3-button { min-height:34px; margin-top:auto; padding:7px 11px; font-size:var(--ksc3-button-size); }

.ksc3-bookings-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.ksc3-bookings-panel { min-width:0; padding:16px; background:var(--ksc3-card); border:1px solid var(--ksc3-line); border-radius:var(--ksc3-card-radius); }
.ksc3-bookings-panel > header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:9px; padding-bottom:11px; border-bottom:1px solid var(--ksc3-line); }
.ksc3-bookings-panel > header h3 { margin:0; font-size:var(--ksc3-body-size); font-weight:700; }
.ksc3-bookings-panel > header a { flex:0 0 auto; color:var(--ksc3-teal); font-size:var(--ksc3-small-text-size); font-weight:700; }
.ksc3-bookings-empty { display:flex; min-height:92px; align-items:flex-start; justify-content:center; flex-direction:column; gap:10px; margin:0; padding:13px 2px 4px; color:#657482; font-size:var(--ksc3-body-size); }
.ksc3-bookings-empty p { margin:0; }
.ksc3-bookings-empty-link { color:var(--ksc3-teal)!important; font-weight:700; }
.ksc3-booking-event-list,.ksc3-booking-credit-list { display:grid; }
.ksc3-booking-event-row,.ksc3-booking-credit-row { position:relative; display:grid; min-width:0; align-items:center; gap:12px; padding:10px 0; border-bottom:1px solid var(--ksc3-line); }
.ksc3-booking-event-row:last-child,.ksc3-booking-credit-row:last-child { border-bottom:0; }
.ksc3-booking-event-row { grid-template-columns:68px minmax(0,1fr) auto; }
.ksc3-booking-event-row.has-no-image { grid-template-columns:minmax(0,1fr) auto; }
.ksc3-booking-event-thumb { display:block; width:68px; height:68px; background:var(--ksc3-soft) center/cover no-repeat; border-radius:8px; }
.ksc3-booking-event-copy,.ksc3-booking-credit-main { min-width:0; }
.ksc3-booking-event-copy small { display:block; overflow:hidden; color:var(--ksc3-teal); font-size:var(--ksc3-eyebrow-size); font-weight:700; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.ksc3-booking-event-copy h4,.ksc3-booking-credit-main h4 { margin:4px 0; font-size:var(--ksc3-body-size); line-height:1.3; }
.ksc3-booking-event-copy h4 a,.ksc3-booking-credit-main h4 a { color:var(--ksc3-navy); }
.ksc3-booking-event-meta,.ksc3-booking-credit-meta { display:flex; flex-wrap:wrap; align-items:center; gap:5px 9px; color:#657482; font-size:var(--ksc3-small-text-size); }
.ksc3-booking-event-meta .ksc3-registration-type { display:inline-flex; width:auto; padding:3px 7px; color:var(--ksc3-teal); background:color-mix(in srgb,var(--ksc3-teal) 10%,#fff); border-radius:999px; font-size:var(--ksc3-small-text-size); font-weight:700; }
.ksc3-booking-event-meta .ksc3-registration-type.type-free { color:var(--ksc3-success); background:color-mix(in srgb,var(--ksc3-success) 11%,#fff); }
.ksc3-booking-row-arrow { display:flex; width:30px; height:30px; align-items:center; justify-content:center; color:var(--ksc3-teal); border-radius:50%; }
.ksc3-booking-row-arrow:hover,.ksc3-booking-row-arrow:focus { color:#fff; background:var(--ksc3-teal); }
.ksc3-booking-credit-row { grid-template-columns:minmax(0,1fr) auto auto; }
.ksc3-booking-credit-row .ksc3-credit-status { padding:4px 7px; }

.ksc3-activity-list { display:grid; }
.ksc3-activity { display:grid; grid-template-columns:auto minmax(0,1fr); gap:11px; padding:13px 0; border-bottom:1px solid var(--ksc3-line); }
.ksc3-activity:last-child { border-bottom:0; }
.ksc3-activity-avatar img { width:42px; height:42px; border-radius:50%; object-fit:cover; }
.ksc3-activity-copy { display:flex; min-width:0; flex-direction:column; }
.ksc3-activity-copy strong { font-size:var(--ksc3-body-size); line-height:1.35; }
.ksc3-activity-copy span,.ksc3-activity-copy small { color:#6e7a85; font-size:var(--ksc3-small-text-size); }
.ksc3-activity-section { padding:18px 20px; background:#fff; border:1px solid var(--ksc3-line); border-radius:var(--ksc3-card-radius); }
.ksc3-empty { padding:18px; background:#fff; border:1px solid var(--ksc3-line); border-radius:10px; }

.ksc3-side-card { margin-bottom:14px; padding:18px; background:#fff; border:1px solid var(--ksc3-line); border-radius:var(--ksc3-card-radius); }
.ksc3-side-event { display:flex; flex-direction:column; gap:8px; margin-top:12px; }
.ksc3-side-event strong { font-family:Cinzel,Georgia,serif; font-size:var(--ksc3-card-title-size); font-weight:400; }
.ksc3-side-event span { color:#657482; font-size:var(--ksc3-small-text-size); }
.ksc3-side-event .ksc3-button { align-self:flex-start; min-height:36px; padding:8px 12px; font-size:var(--ksc3-button-size); }
.ksc3-notification-list { display:grid; margin-top:10px; }
.ksc3-notification { display:grid; grid-template-columns:42px minmax(0,1fr); align-items:start; gap:10px; padding:12px 0; border-bottom:1px solid var(--ksc3-line); font-size:var(--ksc3-small-text-size); line-height:1.4; }
.ksc3-notification-avatar img { display:block; width:42px; height:42px; object-fit:cover; border-radius:50%; }
.ksc3-notification:last-child { border-bottom:0; }
.ksc3-notification-icon { display:grid; width:30px; height:30px; place-items:center; color:var(--ksc3-teal); background:rgba(50,101,105,.09); border-radius:50%; }
.ksc3-notification-icon svg { width:16px; height:16px; }
.ksc3-notification a { color:var(--ksc3-text)!important; font-weight:600; }
.ksc3-side-more { display:inline-block; margin-top:10px; color:var(--ksc3-teal)!important; font-size:var(--ksc3-small-text-size); font-weight:600; }
.ksc3-network-grid { display:grid; gap:7px; margin-top:12px; }
.ksc3-network-group { overflow:hidden; background:var(--ksc3-soft); border-radius:8px; }
.ksc3-network-summary { display:grid; grid-template-columns:42px minmax(0,1fr) 17px; align-items:center; gap:9px; min-height:52px; padding:8px 10px; }
.ksc3-network-summary:hover { color:var(--ksc3-teal); background:color-mix(in srgb,var(--ksc3-teal) 10%,#fff); }
.ksc3-network-summary strong { color:var(--ksc3-navy); font-family:Cinzel,Georgia,serif; font-size:22px; font-weight:400; text-align:center; }
.ksc3-network-summary span { font-size:12px; }
.ksc3-network-summary svg { width:16px; height:16px; }
.ksc3-network-members { display:flex; align-items:center; min-height:54px; padding:6px 10px 10px; border-top:1px solid color-mix(in srgb,var(--ksc3-line) 75%,transparent); }
.ksc3-network-members a { display:block; width:42px; height:42px; margin-right:-7px; border-radius:50%; }
.ksc3-network-members img { display:block; width:42px; height:42px; object-fit:cover; border:3px solid var(--ksc3-card); border-radius:50%; }
.ksc3-network-members a:hover { position:relative; z-index:2; transform:translateY(-2px); }
.ksc3-mobile-network,.ksc3-mobile-action-widgets,.ksc3-mobile-online { display:none; }
.ksc3-action-widget-status { display:flex; align-items:center; gap:10px; margin:12px 0; }
.ksc3-action-widget-status i { width:10px; height:10px; flex:0 0 auto; border-radius:50%; background:var(--ksc3-warning); box-shadow:0 0 0 4px color-mix(in srgb,var(--ksc3-warning) 18%,transparent); }
.ksc3-action-widget.is-good .ksc3-action-widget-status i { background:var(--ksc3-success); box-shadow:0 0 0 4px color-mix(in srgb,var(--ksc3-success) 18%,transparent); }
.ksc3-action-widget-status strong { font-size:var(--ksc3-body-size); }
.ksc3-action-widget-link { display:flex; align-items:center; justify-content:space-between; gap:8px; padding-top:11px; color:var(--ksc3-teal)!important; border-top:1px solid var(--ksc3-line); font-size:var(--ksc3-small-text-size); font-weight:700; }
.ksc3-action-widget-link svg { width:16px; height:16px; }
.ksc3-action-widget-link.is-subtle { color:#687886!important; font-weight:500; }
.ksc3-widget-area .widget { margin:0; padding:0; background:transparent; border:0; }
.ksc3-widget-area .widget + .widget { margin-top:18px; padding-top:18px; border-top:1px solid var(--ksc3-line); }
.ksc3-widget-title { margin:0 0 12px!important; font-family:inherit!important; font-size:var(--ksc3-eyebrow-size)!important; font-weight:700!important; letter-spacing:.06em; text-transform:uppercase; }
.ksc3-action-widget .ks-newsletter-optin-button,.ksc3-action-widget .ks-newsletter-optout-button { display:flex!important; align-items:center; justify-content:space-between; width:100%; min-height:36px; padding:9px 11px!important; color:var(--ksc3-teal)!important; background:transparent!important; border:0!important; border-top:1px solid var(--ksc3-line)!important; border-radius:0!important; font-size:12px!important; font-weight:700!important; text-align:left; cursor:pointer; }
.ksc3-action-widget .ks-newsletter-optin-button::after,.ksc3-action-widget .ks-newsletter-optout-button::after { content:"→"; font-size:17px; }
.ksc3-empty--compact { padding:12px; margin:10px 0 0; font-size:var(--ksc3-small-text-size); }
.ksc3-impulse { min-height:170px; background:linear-gradient(135deg,#f5f2e9,#e7efec); }
.ksc3-impulse p { font-family:Cinzel,Georgia,serif; font-weight:400; line-height:1.55; }
/* Quelle/Urheber des Tagesimpulses (seit 1.5.3) — dezent unter dem Zitat. */
.ksc3-impulse-source { display:block; margin-top:9px; font-size:13px; font-style:normal; opacity:.7; }
.ksc3-online { display:flex; margin-top:14px; }
.ksc3-online a { margin-right:-7px; }
.ksc3-online img { width:42px; height:42px; border:3px solid #fff; border-radius:50%; object-fit:cover; }
.ksc3-mobile-impulse { display:none; margin-top:30px; }
.ksc3-mobile-notifications { display:none; margin-top:30px; }
.ksc3-mobile-dock,.ksc3-bottom-nav,.ksc3-mobile-overlay,.ksc3-floating-menu,.ksc3-mobile-widget-area,.ksc3-mobile-dock-spacer { display:none; }
@keyframes ksc3-dashboard-scale { 0%,42%,100% { scale:1; } 10% { scale:1.13; } 20% { scale:.96; } 30% { scale:1.09; } }
@keyframes ksc3-dashboard-glow { 0%,45%,100% { box-shadow:0 6px 22px rgba(13,35,54,.25),0 0 0 0 color-mix(in srgb,var(--ksc3-mobile-glow) 55%,transparent); } 18% { box-shadow:0 6px 22px rgba(13,35,54,.25),0 0 0 13px color-mix(in srgb,var(--ksc3-mobile-glow) 0%,transparent); } 28% { box-shadow:0 6px 22px rgba(13,35,54,.25),0 0 0 0 color-mix(in srgb,var(--ksc3-mobile-glow) 0%,transparent); } }
@keyframes ksc3-dashboard-wiggle { 0%,38%,100% { transform:translateX(0); } 9% { transform:translateX(-5px); } 18% { transform:translateX(5px); } 27% { transform:translateX(-3px); } }
@keyframes ksc3-dashboard-bounce { 0%,42%,100% { transform:translateY(0); } 10% { transform:translateY(-8px); } 20% { transform:translateY(2px); } 30% { transform:translateY(-4px); } }
@media (prefers-reduced-motion:no-preference) {
  .ksc3-floating-menu.is-dashboard-pulse.animation-scale { animation:ksc3-dashboard-scale 1.8s ease-in-out infinite; transform-origin:50% 50%; }
  .ksc3-floating-menu.is-dashboard-pulse.animation-glow { animation:ksc3-dashboard-glow 1.6s ease-out infinite; }
  .ksc3-floating-menu.is-dashboard-pulse.animation-wiggle i { animation:ksc3-dashboard-wiggle 1.8s ease-in-out infinite; }
  .ksc3-floating-menu.is-dashboard-pulse.animation-bounce i { animation:ksc3-dashboard-bounce 1.8s ease-in-out infinite; }
}
.ksc3-mobile-nav-dock .ksc3-bottom-nav { border-radius:var(--ksc3-dock-radius,0) var(--ksc3-dock-radius,0) 0 0 !important; border-top-width:var(--ksc3-dock-border-width,0) !important; }
.ksc3-mobile-dock.is-items-hidden .ksc3-bottom-nav > * { display:none!important; }
.ksc3-mobile-nav-dock .ksc3-floating-menu { bottom:calc(var(--ksc3-float-bottom) + env(safe-area-inset-bottom))!important; }
.ksc3-floating-menu::before { content:""; position:absolute; inset:calc(0px - var(--ksc3-float-outer-border-gap) - var(--ksc3-float-outer-border-width)); border:var(--ksc3-float-outer-border-width) solid var(--ksc3-float-outer-border); border-radius:50%; box-sizing:border-box; pointer-events:none; }
.ksc3-mobile-nav-dock .ksc3-mobile-dock.is-items-hidden .ksc3-bottom-nav { min-height:var(--ksc3-bottom-height)!important; height:var(--ksc3-bottom-height)!important; padding:0!important; }
.ksc3-mobile-nav-dock .ksc3-bottom-nav::after { content:""; position:absolute; z-index:0; top:calc(100% - 1px); right:0; left:0; height:max(140px,env(safe-area-inset-bottom)); background:var(--ksc3-bottom-bg); pointer-events:none; }
.ksc3-drawer-head,.ksc3-mobile-drawer-extra { display:none; }
.ksc3-drawer-icon-navigation { display:flex; flex-wrap:wrap; align-items:stretch; gap:9px; }
.ksc3-drawer-icon-navigation.align-left { justify-content:flex-start; }
.ksc3-drawer-icon-navigation.align-center { justify-content:center; }
.ksc3-drawer-icon-navigation.align-right { justify-content:flex-end; }
.ksc3-drawer-icon-link { display:flex; min-width:62px; min-height:58px; align-items:center; justify-content:center; flex-direction:column; gap:5px; padding:9px 8px; color:var(--ksc3-nav-text)!important; background:var(--ksc3-nav-item-bg); border:1px solid var(--ksc3-line); border-radius:9px; font-size:11px; line-height:1.2; text-align:center; }
.ksc3-drawer-icon-link i { color:var(--ksc3-nav-icon); font-size:20px; }
.ksc3-drawer-icon-link:hover,.ksc3-drawer-icon-link:focus,.ksc3-drawer-icon-link.is-active { color:var(--ksc3-nav-text-hover)!important; background:var(--ksc3-nav-item-hover-bg); }
.ksc3-drawer-icon-link:hover i,.ksc3-drawer-icon-link:focus i,.ksc3-drawer-icon-link.is-active i { color:var(--ksc3-nav-icon-hover); }
.ksc3-drawer-icon-navigation.labels-hidden .ksc3-drawer-icon-link { min-width:46px; width:46px; min-height:46px; height:46px; padding:0; border-radius:50%; }
.ksc3-drawer-icon-navigation.labels-hidden .ksc3-drawer-icon-link span { position:absolute; overflow:hidden; width:1px; height:1px; clip:rect(0,0,0,0); clip-path:inset(50%); white-space:nowrap; }
.ksc3-side-eyebrow > i { margin-right:6px; font-size:13px; }

.ksc3-promo-card { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:20px; margin-top:30px; padding:22px; background:var(--ksc3-card); border:1px solid var(--ksc3-line); border-left:4px solid var(--ksc3-teal); border-radius:var(--ksc3-card-radius); }
.ksc3-promo-card h2 { margin:4px 0 7px; font-size:var(--ksc3-card-title-size); }
.ksc3-promo-card p { max-width:680px; margin:0; color:#5f7080; line-height:1.6; }
.ksc3-promo-card--app { grid-template-columns:minmax(0,1fr) auto; }
.ksc3-promo-copy { align-self:start; }
.ksc3-app-downloads { display:flex; gap:12px; }
.ksc3-app-qr { display:block; padding:7px; background:#fff; border:1px solid var(--ksc3-line); border-radius:9px; }
.ksc3-app-qr img { display:block; width:82px; height:82px; object-fit:contain; }
.ksc3-promo-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; grid-column:1/-1; }
.ksc3-promo-card--newsletter .ksc3-promo-actions { grid-column:auto; }
.ksc3-promo-card .ks-newsletter-optin-button,.ksc3-promo-card .ks-newsletter-optout-button { display:inline-flex!important; align-items:center; gap:8px; min-height:42px; padding:10px 15px!important; color:#fff!important; background:var(--ksc3-navy)!important; border:0!important; border-radius:7px!important; font-size:var(--ksc3-button-size)!important; font-weight:600!important; cursor:pointer; }
.ksc3-promo-card .ks-newsletter-optin-button::after,.ksc3-promo-card .ks-newsletter-optout-button::after { content:"→"; font-size:18px; line-height:1; }
.ksc3-promo-card .ks-newsletter-optin-button:hover,.ksc3-promo-card .ks-newsletter-optout-button:hover { background:var(--ksc3-teal)!important; }

/* Optische Brücke zur Lounge/BuddyBoss-Seite: einzelne Karten auf Beige. */
.ksc3-shell.ksc3-preset-lounge { gap:20px; background:transparent; border:0; border-radius:0!important; overflow:visible; box-shadow:none; }
.ksc3-preset-lounge .ksc3-left { align-self:start; padding:20px; background:var(--ksc3-card); border:1px solid var(--ksc3-line); border-radius:var(--ksc3-card-radius); }
.ksc3-preset-lounge .ksc3-main { background:transparent; }
.ksc3-preset-lounge .ksc3-right { align-self:start; padding:0; background:transparent; border:0; }
.ksc3-preset-lounge .ksc3-welcome,
.ksc3-preset-lounge .ksc3-focus-card,
.ksc3-preset-lounge .ksc3-overview,
.ksc3-preset-lounge .ksc3-course-card,
.ksc3-preset-lounge .ksc3-registration-card,
.ksc3-preset-lounge .ksc3-activity-section,
.ksc3-preset-lounge .ksc3-side-card { border-color:var(--ksc3-line); box-shadow:none; }

@media (max-width:900px) {
  .ksc3-welcome-actions { grid-column:1/-1; display:flex; width:100%; min-width:0; flex-direction:row; flex-wrap:wrap; }
  .ksc3-welcome-actions .ksc3-outline-button { width:auto; }
  .ksc3-bookings-grid { grid-template-columns:1fr; }
}

/* Kennenlerngespräch-Hinweis (seit 0.52.0): wegklickbares Banner im Hauptbereich. */
.ksc3-promo-card--intro { border-left: 5px solid var(--ksc3-teal, #326569); }
.ksc3-intro-dismiss { position: absolute; top: 10px; right: 10px; display: flex; align-items: center; justify-content: center; width: 26px; height: 26px; padding: 0; margin: 0; border: none; border-radius: 50%; background: var(--ksc3-navy, #253d54); color: #ffffff; font-size: 17px; font-weight: 700; line-height: 1; cursor: pointer; z-index: 2; }
.ksc3-intro-dismiss:hover, .ksc3-intro-dismiss:focus { background: var(--ksc3-teal, #326569); color: #ffffff; }

/* Megamenu-Shortcode-Module im Dashboard (seit 0.53.0): Widget in die Karte einpassen. */
.ksc3-shortcode-section .ks-dashboard-tabs-widget { margin-top: 6px; width: 100%; max-width: none; }

/* Drawer-Block "Profil-Buttons" (seit 0.54.0): Icon-Kacheln für Mein Profil / Profil bearbeiten. */
.ksc3-drawer-profile-buttons { display: flex; gap: 12px; }
.ksc3-drawer-profile-btn { display: flex; flex: 1 1 0; flex-direction: column; align-items: center; gap: 7px; padding: 14px 10px; background: var(--ksc3-nav-item-bg); border-radius: 10px; color: var(--ksc3-nav-text) !important; font-size: 12px; text-align: center; text-decoration: none; }
.ksc3-drawer-profile-btn i { display: flex; width: 42px; height: 42px; align-items: center; justify-content: center; border-radius: 50%; background: var(--ksc3-profile-btn-bg, #253d54); color: var(--ksc3-profile-btn-icon, #ffffff); font-size: 17px; }
.ksc3-drawer-profile-btn:hover, .ksc3-drawer-profile-btn:focus { background: var(--ksc3-nav-item-hover-bg); color: var(--ksc3-nav-text-hover) !important; }

/* Kompakte Icon-Zeile der Profil-Buttons (Standard seit 0.55.0). */
.ksc3-drawer-profile-buttons.is-compact { justify-content: center; gap: 16px; }
.ksc3-drawer-profile-buttons.is-compact .ksc3-drawer-profile-btn { flex: 0 0 auto; padding: 0; background: none; border-radius: 50%; }
.ksc3-drawer-profile-buttons.is-compact .ksc3-drawer-profile-btn span { display: none; }
.ksc3-drawer-profile-buttons.is-compact .ksc3-drawer-profile-btn i { width: 48px; height: 48px; font-size: 19px; }
.ksc3-drawer-profile-buttons.is-compact .ksc3-drawer-profile-btn:hover i, .ksc3-drawer-profile-buttons.is-compact .ksc3-drawer-profile-btn:focus i { background: var(--ksc3-profile-btn-hover-bg, #326569); color: var(--ksc3-profile-btn-hover-icon, #ffffff); }

/* "Zurück zum Dashboard" auf Konto-Unterseiten (seit 0.56.0): Desktop aus, Mobil an (Regel im generierten CSS). */
.ksc3-endpoint-back { display: none; align-items: center; gap: 8px; margin: 0 0 16px; padding: 11px 16px; border: 1px solid var(--ksc3-line); border-radius: 8px; background: var(--ksc3-card); color: var(--ksc3-text) !important; font-size: 14px; text-decoration: none; }
.ksc3-endpoint-back:hover, .ksc3-endpoint-back:focus { border-color: var(--ksc3-teal); color: var(--ksc3-teal) !important; }
.ksc3-endpoint-back i { font-size: 13px; }
.ksc3-drawer-back-link { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 10px; background: var(--ksc3-nav-item-bg); color: var(--ksc3-nav-text) !important; font-size: 14px; text-decoration: none; }
.ksc3-drawer-back-link:hover, .ksc3-drawer-back-link:focus { background: var(--ksc3-nav-item-hover-bg); color: var(--ksc3-nav-text-hover) !important; }

/* Business-Team-Bereich (seit 0.58.0). */
.ksc3-team-card { background:var(--ksc3-card); border:1px solid var(--ksc3-line); border-radius:14px; overflow:hidden; }
.ksc3-team-card-link { display:flex; align-items:center; gap:14px; padding:16px 18px; text-decoration:none; }
.ksc3-team-card-link:hover, .ksc3-team-card-link:focus { background:rgba(50,101,105,.04); }
.ksc3-team-card-icon { display:flex; width:44px; height:44px; align-items:center; justify-content:center; border-radius:12px; background:rgba(50,101,105,.10); color:var(--ksc3-teal); font-size:19px; flex:0 0 auto; }
.ksc3-team-card-body { display:flex; flex-direction:column; gap:1px; flex:1; min-width:0; }
.ksc3-team-card-body strong { color:var(--ksc3-navy); font-size:16px; }
.ksc3-team-card-body > span:last-child { color:var(--ksc3-text); font-size:13px; }
.ksc3-team-card-arrow { color:var(--ksc3-teal); flex:0 0 auto; }
.ksc3-team-card-link:hover .ksc3-team-card-arrow, .ksc3-team-card-link:focus .ksc3-team-card-arrow { transform:translateX(2px); }
/* Link zur Team-Gruppe (seit 1.7.4, Parität zur App). */
.ksc3-team-group-link { display:flex; align-items:center; gap:14px; padding:14px 16px; margin:0 0 18px; text-decoration:none; background:var(--ksc3-card); border:1px solid var(--ksc3-line); border-radius:14px; transition:background-color .15s ease; }
.ksc3-team-group-link:hover, .ksc3-team-group-link:focus { background:rgba(50,101,105,.05); }
.ksc3-team-group-ic { display:flex; width:44px; height:44px; align-items:center; justify-content:center; border-radius:12px; background:rgba(50,101,105,.10); color:var(--ksc3-teal); font-size:18px; flex:0 0 auto; }
.ksc3-team-group-tx { display:flex; flex-direction:column; gap:1px; flex:1; min-width:0; }
.ksc3-team-group-tx strong { color:var(--ksc3-navy); font-size:15.5px; }
.ksc3-team-group-tx > span { color:var(--ksc3-text); font-size:13px; }
.ksc3-team-group-ar { color:var(--ksc3-teal); flex:0 0 auto; transition:transform .15s ease; }
.ksc3-team-group-link:hover .ksc3-team-group-ar, .ksc3-team-group-link:focus .ksc3-team-group-ar { transform:translateX(2px); }
/* Team-Unterseiten (seit 1.7.5): Sprung zur Verwaltung + Team-Kurse-Liste. */
.ksc3-team-manage-link { display:inline-flex; align-items:center; gap:8px; margin-top:4px; color:var(--ksc3-teal); text-decoration:none; font-size:14px; font-weight:500; }
.ksc3-team-manage-link:hover, .ksc3-team-manage-link:focus { color:var(--ksc3-navy); }
.ksc3-team-courses { display:flex; flex-direction:column; gap:8px; margin-top:6px; }
.ksc3-team-course { display:flex; align-items:center; gap:10px; padding:11px 14px; border:1px solid var(--ksc3-line); border-radius:12px; text-decoration:none; color:var(--ksc3-navy); font-size:14.5px; transition:background-color .15s ease; }
.ksc3-team-course:hover, .ksc3-team-course:focus { background:rgba(50,101,105,.05); }
.ksc3-team-course i { color:var(--ksc3-teal); flex:0 0 auto; }
.ksc3-team-endpoint .ksc3-team-announcement { border-left:4px solid var(--ksc3-teal); background:var(--ksc3-soft); padding:12px 16px; border-radius:0; margin:0 0 18px; }
.ksc3-team-seats { display:flex; align-items:center; gap:8px; margin:0 0 16px; color:var(--ksc3-text); font-weight:500; }
.ksc3-team-members { display:flex; flex-wrap:wrap; gap:18px; margin:6px 0 18px; }
.ksc3-team-member { display:flex; flex-direction:column; align-items:center; gap:7px; width:88px; text-align:center; }
.ksc3-team-member img,.ksc3-team-avatar-img { width:48px!important; height:48px!important; border-radius:50%; object-fit:cover; }
.ksc3-team-member > span:last-child { font-size:12px; color:var(--ksc3-text); line-height:1.25; word-break:break-word; }
.ksc3-team-avatar { display:flex; width:48px; height:48px; align-items:center; justify-content:center; border-radius:50%; background:var(--ksc3-soft); color:var(--ksc3-navy); font-size:16px; }
a.ksc3-team-member { text-decoration:none; color:inherit; }
a.ksc3-team-member img { transition:box-shadow .15s ease; }
a.ksc3-team-member:hover img,a.ksc3-team-member:focus-visible img { box-shadow:0 0 0 3px rgba(50,101,105,.28); }
a.ksc3-team-member:hover > span:last-child,a.ksc3-team-member:focus-visible > span:last-child { color:var(--ksc3-teal); }
.ksc3-team-manage { margin-top:22px; padding-top:16px; border-top:1px solid var(--ksc3-line); }
.ksc3-team-view-hint { margin-top:22px; padding-top:16px; border-top:1px solid var(--ksc3-line); color:var(--ksc3-text); }
.ksc3-team-view-hint p { margin:0 0 4px; }

/* ============================================================================
 * „Profilname / Spitzname" auf /mein-konto/edit-account/ ausblenden (1.48.0)
 *
 * Frank am 26.08.2026, abgestimmt mit dem Community-Chat: Derselbe Name war an ZWEI Stellen
 * bearbeitbar - hier und im Community-Profil. Das hat am 26.08. eine Fehlersuche über Stunden in die
 * falsche Richtung geschickt, weil beide Seiten jeweils das andere Feld für das wirksame hielten.
 * Owner des öffentlichen Namens ist die Community, hier verschwindet die zweite Tür.
 *
 * 🔑 **Warum das per CSS SICHER ist - entgegen der ersten Einschätzung.**
 * Die Community hatte gewarnt, ein verstecktes Feld sende einen LEEREN Wert, was
 * `class-wc-form-handler.php:342` (`$user->display_name = $account_display_name;`) den Namen leeren
 * liesse und die Pflichtfeld-Prüfung in Zeile 351-357 auslösen würde. Beides am Live-Code
 * nachgelesen und richtig zitiert - aber die Folgerung trägt nicht:
 *
 *   1. **`display:none` verhindert keine Formularübertragung.** Nur `disabled` oder das Entfernen
 *      aus dem DOM tut das. Das Feld sendet weiterhin seinen vorbefüllten Wert
 *      (`value="<?php echo esc_attr( $user->display_name ); ?>"` im Theme-Template).
 *      WooCommerce bekommt also den UNVERÄNDERTEN Namen, die Pflichtprüfung ist zufrieden, und
 *      Zeile 342 schreibt denselben Wert zurück, der schon dastand.
 *   2. **Das Feld trägt `aria-required="true"`, NICHT das HTML5-`required`** (nachgesehen in
 *      `buddyboss-theme/woocommerce/myaccount/form-edit-account.php:45`). `aria-required` ist ein
 *      reiner Hinweis für Screenreader und löst keine Browser-Validierung aus. Ein verstecktes
 *      Pflichtfeld, das das Absenden blockiert, kann hier also gar nicht entstehen.
 *
 * **Deshalb bewusst KEIN Template-Override.** Der wäre der aufwendigere Weg für dasselbe Ergebnis:
 * Das BuddyBoss-Theme überschreibt dieses Template bereits selbst. Ein zweiter Override müsste die
 * Theme-Fassung kopieren und würde bei jedem Theme-Update stillschweigend veralten - genau die Art
 * Altlast, die uns diese Woche mehrfach beschäftigt hat.
 *
 * ⚠️ **Bekannte Grenze:** Wäre `display_name` eines Mitglieds komplett leer, käme leer an und
 * WooCommerce meldete „Pflichtfeld". Praktisch ausgeschlossen - WordPress setzt `display_name` beim
 * Anlegen immer, und Communitys `init_user()` schreibt zusätzlich einen Platzhalter. Sollte es je
 * auftreten, ist die Meldung ehrlich und sichtbar, nicht still.
 * ============================================================================ */
.woocommerce-EditAccountForm .form-row:has( > #account_display_name ),
.woocommerce-EditAccountForm p:has( > #account_display_name ) { display:none !important; }

/* Rückfall in EIGENER Regel, das ist der Punkt: Kennt ein Browser `:has()` nicht, verwirft er die
 * komplette Regel darüber - stünden diese Selektoren in derselben Liste, wären sie mit weg. So
 * greifen sie unabhängig. Sie blenden Beschriftung, Feld und Hinweis einzeln aus; übrig bleibt
 * höchstens ein leerer Absatz, also ein kleiner Abstand statt eines sichtbaren Feldes. */
.woocommerce-EditAccountForm label[for="account_display_name"],
.woocommerce-EditAccountForm #account_display_name,
.woocommerce-EditAccountForm #account_display_name_description { display:none !important; }
