/* ==========================================================================
   EMB Prime – Hauptstylesheet
   WCAG AAA | Mobile First | CSS Custom Properties
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. CSS Custom Properties (Defaults – werden durch Customizer überschrieben)
   -------------------------------------------------------------------------- */
:root {
  --emb-color-primary:     #3c151e;
  --emb-color-accent:      #98384b;
  --emb-color-bg:          #ffffff;
  --emb-color-card-bg:     #fcf4f4;
  --emb-content-grid-bg:   #f9eaea;
  --emb-content-grid-title:#3c151e;
  --emb-color-text:        #1a1a2e;
  --emb-color-text-muted:  #64748b;
  --emb-color-link:        #98384b;
  --emb-color-link-hover:  #803143;
  --emb-color-border:      #e2e8f0;
  --emb-color-header-bg:   #ffffff;
  --emb-color-header-text: #1a1a2e;
  --emb-color-footer-bg:   #3c151e;
  --emb-color-footer-text: #ffffff;
  --emb-color-success:     #10b981;
  --emb-color-error:       #ef4444;

  --emb-btn-bg:         #98384b;
  --emb-btn-text:       #ffffff;
  --emb-btn-hover-bg:   #803143;
  --emb-btn-hover-text: #ffffff;
  --emb-btn-radius:     8px;
  --emb-btn-font-size:  15px;

  --emb-font-body:      'Inter', system-ui, sans-serif;
  --emb-font-headings:  'Inter', system-ui, sans-serif;
  --emb-font-size-base: 16px;
  --emb-h1-size:        clamp(1.6rem, 4.5vw, 2.5rem);
  --emb-h2-size:        clamp(1.3rem, 3.5vw, 2rem);
  --emb-h3-size:        clamp(1.1rem, 2.5vw, 1.5rem);
  --emb-h4-size:        clamp(1rem, 1.8vw, 1.25rem);
  --emb-line-height:    1.7;
  --emb-content-width:  1200px;

  --emb-radius-sm:   4px;
  --emb-radius:      8px;
  --emb-radius-lg:   16px;
  --emb-radius-xl:   24px;
  --emb-radius-full: 9999px;

  --emb-shadow-sm: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);
  --emb-shadow:    0 4px 12px rgba(0,0,0,.08);
  --emb-shadow-lg: 0 10px 32px rgba(0,0,0,.12);

  --emb-space-xs:  4px;
  --emb-space-sm:  8px;
  --emb-space-md:  16px;
  --emb-space-lg:  24px;
  --emb-space-xl:  clamp(24px, 4vw, 40px);
  --emb-space-2xl: clamp(40px, 6vw, 64px);

  --emb-container-padding: clamp(16px, 4vw, 40px);

  --emb-header-height: 64px;
  --emb-transition: 200ms ease;
}

@media (prefers-color-scheme: dark) {
  :root {
    --emb-color-bg:          #0f1117;
    --emb-color-card-bg:     #1a1d27;
    --emb-color-text:        #f0f0f5;
    --emb-color-text-muted:  #8892a4;
    --emb-color-border:      #2a2d3e;
    --emb-color-header-bg:   #0f1117;
    --emb-color-header-text: #f0f0f5;
    --emb-shadow-sm: 0 1px 3px rgba(0,0,0,.3);
    --emb-shadow:    0 4px 12px rgba(0,0,0,.4);
  }
}

/* --------------------------------------------------------------------------
   2. Reset & Base
   -------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
  font-size: var(--emb-font-size-base);
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--emb-font-body);
  font-size: 1rem;
  line-height: var(--emb-line-height);
  color: var(--emb-color-text);
  background-color: var(--emb-color-bg);
  -webkit-font-smoothing: antialiased;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  width: 100%;
}

img, video, svg { max-width: 100%; height: auto; display: block; }
a { color: var(--emb-color-link); text-decoration: underline; text-underline-offset: 3px; }
a:hover { color: var(--emb-color-link-hover); }

/* WCAG AAA Fokus – sichtbar für Tastaturnutzer, Kontrast ≥ 7:1 */
:focus-visible {
  outline: 3px solid var(--emb-color-accent);
  outline-offset: 3px;
  border-radius: 2px;
}
:focus:not(:focus-visible) { outline: none; }

/* Screen Reader Only */
.screen-reader-text {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

/* Skip Link */
.emb-skip-link {
  position: absolute;
  top: -100%;
  left: var(--emb-space-md);
  z-index: 9999;
  padding: var(--emb-space-sm) var(--emb-space-md);
  background: var(--emb-color-accent);
  color: #fff;
  border-radius: var(--emb-radius);
  text-decoration: none;
  font-weight: 600;
  transition: top var(--emb-transition);
}
.emb-skip-link:focus { top: var(--emb-space-md); }

/* Reduzierte Bewegung – nur Transform/Scale-Bewegungen unterdrücken */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
  html { scroll-behavior: auto; }
  /* Dot-Blink bleibt sichtbar (reine Opacity, keine Bewegung) */
  .emb-live-banner--animated .emb-live-banner__dot {
    animation: emb-live-blink 1.2s ease-in-out infinite !important;
    animation-duration: 1.2s !important;
  }
  .emb-live-banner--animated .emb-live-banner__dot::before,
  .emb-live-banner--animated .emb-live-banner__dot::after {
    animation: none !important;
  }
}

/* --------------------------------------------------------------------------
   3. Typografie
   -------------------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--emb-font-headings);
  line-height: 1.25;
  font-weight: 700;
  color: var(--emb-color-text);
}
h1 { font-size: var(--emb-h1-size); }
h2 { font-size: var(--emb-h2-size); }
h3 { font-size: var(--emb-h3-size); font-weight: 600; }
h4 { font-size: var(--emb-h4-size); font-weight: 600; }
h5 { font-size: 1.1rem; font-weight: 600; }
h6 { font-size: 1rem;   font-weight: 600; }

p { margin-bottom: var(--emb-space-md); }
p:last-child { margin-bottom: 0; }


.emb-prose { max-width: 72ch; margin-inline: auto; }
.emb-prose > * + * { margin-top: var(--emb-space-md); }
.emb-prose h2, .emb-prose h3, .emb-prose h4 { margin-top: var(--emb-space-xl); }
.emb-prose ul, .emb-prose ol { padding-left: var(--emb-space-xl); }
.emb-prose li { margin-bottom: var(--emb-space-xs); }
.emb-prose blockquote {
  border-left: 4px solid var(--emb-color-accent);
  padding-left: var(--emb-space-lg);
  color: var(--emb-color-text-muted);
  font-style: italic;
  margin-block: var(--emb-space-lg);
}
.emb-prose img { border-radius: var(--emb-radius); }
.emb-prose table { width: 100%; border-collapse: collapse; overflow-x: auto; display: block; }
.emb-prose th, .emb-prose td { padding: var(--emb-space-sm) var(--emb-space-md); border: 1px solid var(--emb-color-border); text-align: left; }
.emb-prose th { background: var(--emb-color-card-bg); font-weight: 600; }

/* --------------------------------------------------------------------------
   4. Layout
   -------------------------------------------------------------------------- */
.emb-container {
  width: 100%;
  max-width: var(--emb-content-width);
  margin-inline: auto;
  padding-inline: var(--emb-container-padding);
}

.emb-container--narrow { max-width: 820px; }

.emb-main {
  padding-block: var(--emb-space-xl);
  min-height: 60vh;
  flex: 1;
}

.emb-main--wide {
  padding-inline: 0;
}

.emb-content-area,
.emb-site-main {
  width: 100%;
  min-width: 0;
}

.emb-page-shell {
  width: 100%;
  margin-inline: auto;
}

.emb-page-shell--default {
  max-width: var(--emb-content-width);
  padding-inline: var(--emb-container-padding);
}

.emb-page-shell--narrow {
  max-width: 820px;
  padding-inline: var(--emb-container-padding);
}

.emb-page-shell--wide {
  max-width: none;
  padding-inline: var(--emb-container-padding);
}

@media (min-width: 1024px) {
  .emb-layout--has-sidebar .emb-page-shell--wide {
    padding-inline: 0;
  }
}

.emb-page__content > .alignwide,
.emb-page__content > .alignfull,
.emb-single-post__content > .alignwide,
.emb-single-post__content > .alignfull {
  max-width: none;
}

.emb-page-shell--wide .emb-page__content > .alignwide,
.emb-page-shell--wide .emb-page__content > .alignfull {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}

/* Full-Width-Seiten-Template */
.emb-full-width-page {
  padding-block: var(--emb-space-xl) var(--emb-space-2xl);
}
.emb-full-width-page__title {
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  font-weight: 700;
  color: var(--emb-color-text);
  margin: 0 0 var(--emb-space-xl);
  line-height: 1.2;
}
/* Abstand zwischen allen Blöcken – Full-Width + No-Sidebar Templates */
.emb-full-width-page .emb-section-intro,
.emb-page__content .emb-section-intro,
.emb-full-width-page .emb-download-group,
.emb-page__content .emb-download-group,
.emb-full-width-page .emb-video-grid,
.emb-page__content .emb-video-grid,
.emb-full-width-page .emb-spickzettel-grid,
.emb-page__content .emb-spickzettel-grid,
.emb-full-width-page .wp-block-columns,
.emb-page__content .wp-block-columns,
.emb-full-width-page .emb-info-box,
.emb-page__content .emb-info-box,
.emb-full-width-page .emb-video-section,
.emb-page__content .emb-video-section,
.emb-full-width-page .wp-block-separator,
.emb-page__content .wp-block-separator,
.emb-full-width-page .wp-block-heading,
.emb-page__content .wp-block-heading,
.emb-full-width-page .wp-block-paragraph,
.emb-page__content .wp-block-paragraph,
.emb-full-width-page .wp-block-group,
.emb-page__content .wp-block-group {
  margin-top: var(--emb-space-xl);
}
/* Enger: Download-Group nach Section-Intro */
.emb-full-width-page .emb-section-intro + .emb-download-group,
.emb-page__content .emb-section-intro + .emb-download-group {
  margin-top: var(--emb-space-md);
}
/* Enger: Videos nach Info-Box, Videos nach Videos */
.emb-full-width-page .emb-info-box + .wp-block-columns,
.emb-page__content .emb-info-box + .wp-block-columns,
.emb-full-width-page .wp-block-columns + .wp-block-columns,
.emb-page__content .wp-block-columns + .wp-block-columns,
.emb-full-width-page .emb-download-group + .emb-video-grid,
.emb-page__content .emb-download-group + .emb-video-grid,
.emb-full-width-page .emb-download-group + .emb-video-section,
.emb-page__content .emb-download-group + .emb-video-section {
  margin-top: var(--emb-space-md);
}
/* Kein Extra-Abstand für erstes Element */
.emb-full-width-page > :first-child,
.emb-page__content > :first-child {
  margin-top: 0;
}

/* --------------------------------------------------------------------------
   5. Header
   -------------------------------------------------------------------------- */
.emb-header {
  background: var(--emb-color-header-bg);
  border-bottom: 1px solid var(--emb-color-border);
  color: var(--emb-color-header-text);
  height: var(--emb-header-height);
  box-shadow: var(--emb-shadow-sm);
  position: relative;
  z-index: 100;
}
.emb-header--sticky { position: sticky; top: 0; }

.emb-header__inner {
  display: flex;
  align-items: center;
  gap: var(--emb-space-md);
  height: 100%;
}

.emb-header__brand { flex-shrink: 0; }
.emb-header__brand img { height: 36px; width: auto; }
.emb-header__site-name {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--emb-color-header-text);
  text-decoration: none;
  letter-spacing: -0.02em;
}
.emb-header__site-name:hover { color: var(--emb-color-accent); }

/* Desktop-Nav */
.emb-header__nav { flex: 1; display: none; }
@media (min-width: 768px) { .emb-header__nav { display: flex; } }

.emb-nav__list {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 2px;
}
.emb-nav__list a {
  display: flex;
  align-items: center;
  gap: var(--emb-space-xs);
  padding: 8px 14px;
  color: var(--emb-color-header-text);
  text-decoration: none;
  font-size: .9rem;
  font-weight: 500;
  border-radius: var(--emb-radius);
  transition: background var(--emb-transition), color var(--emb-transition);
  white-space: nowrap;
}
.emb-nav__list a:hover,
.emb-nav__list .current-menu-item > a,
.emb-nav__list .current-page-ancestor > a {
  background: var(--emb-color-card-bg);
  color: var(--emb-color-accent);
}

/* Submenu */
.emb-nav__list li { position: relative; }
.emb-nav__sub-list {
  display: none;
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  list-style: none;
  background: var(--emb-color-bg);
  border: 1px solid var(--emb-color-border);
  border-radius: var(--emb-radius);
  box-shadow: var(--emb-shadow-lg);
  min-width: 200px;
  z-index: 200;
  padding: var(--emb-space-xs);
}
.emb-nav__list li:hover > .emb-nav__sub-list,
.emb-nav__list li:focus-within > .emb-nav__sub-list { display: block; }
.emb-nav__sub-list a { color: var(--emb-color-text); font-size: .875rem; }

/* Header-Aktionen */
.emb-header__actions {
  display: flex;
  align-items: center;
  gap: var(--emb-space-xs);
  margin-left: auto;
}

.emb-header__icon-btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px; height: 40px;
  border: none;
  background: transparent;
  border-radius: var(--emb-radius-full);
  color: var(--emb-color-header-text);
  cursor: pointer;
  transition: background var(--emb-transition);
  text-decoration: none;
}
.emb-header__icon-btn:hover { background: var(--emb-color-card-bg); }

.emb-header__avatar-btn {
  display: flex; align-items: center; justify-content: center;
  width: 40px; height: 40px;
  border: 2px solid var(--emb-color-border);
  background: none;
  border-radius: var(--emb-radius-full);
  cursor: pointer; padding: 0;
  transition: border-color var(--emb-transition);
}
.emb-header__avatar-btn:hover { border-color: var(--emb-color-accent); }
.emb-header__avatar { border-radius: var(--emb-radius-full); object-fit: cover; }

.emb-header__badge {
  position: absolute;
  top: 0; right: 0;
  min-width: 18px; height: 18px;
  padding: 0 4px;
  border-radius: var(--emb-radius-full);
  font-size: 11px;
  line-height: 18px;
  text-align: center;
  pointer-events: none;
}

/* Hamburger */
.emb-header__hamburger {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 40px; height: 40px;
  padding: 11px 8px;
  border: none;
  background: transparent;
  cursor: pointer;
  border-radius: var(--emb-radius);
  transition: background var(--emb-transition);
}
.emb-header__hamburger:hover { background: var(--emb-color-card-bg); }
@media (min-width: 768px) { .emb-header__hamburger { display: none; } }

.emb-hamburger__bar {
  display: block;
  width: 100%; height: 2px;
  background: var(--emb-color-header-text);
  border-radius: 2px;
  transition: transform var(--emb-transition), opacity var(--emb-transition);
}
.emb-header__hamburger[aria-expanded="true"] .emb-hamburger__bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.emb-header__hamburger[aria-expanded="true"] .emb-hamburger__bar:nth-child(2) { opacity: 0; transform: scaleX(0); }
.emb-header__hamburger[aria-expanded="true"] .emb-hamburger__bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Header-Suche Toggle */
.emb-header__search-wrap {
  position: relative;
}
.emb-header__search-form {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  width: 300px;
  background: var(--emb-color-bg);
  border: 1px solid var(--emb-color-border);
  border-radius: var(--emb-radius);
  box-shadow: var(--emb-shadow-lg);
  padding: var(--emb-space-sm);
  z-index: 200;
}
.emb-header__search-form.is-open { display: flex; gap: var(--emb-space-xs); }
.emb-header__search-form input[type="search"] {
  flex: 1;
  border: 1px solid var(--emb-color-border);
  border-radius: var(--emb-radius);
  padding: 6px 10px;
  font-size: .9rem;
  outline: none;
  background: var(--emb-color-card-bg);
  color: var(--emb-color-text);
}
.emb-header__search-form input[type="search"]:focus {
  border-color: var(--emb-color-accent);
}
.emb-header__search-form button[type="submit"] {
  flex-shrink: 0;
  padding: 6px 12px;
  background: var(--emb-color-primary);
  color: #fff;
  border: none;
  border-radius: var(--emb-radius);
  cursor: pointer;
  font-size: .85rem;
}
.emb-header__search-form button[type="submit"]:hover {
  background: var(--emb-color-accent);
}
@media (max-width: 479px) {
  .emb-header__search-form {
    right: -40px;
    width: calc(100vw - 32px);
  }
}

/* Mobile-Navigation */
.emb-mobile-nav {
  background: var(--emb-color-bg);
  border-top: 1px solid var(--emb-color-border);
  padding: var(--emb-space-md);
  position: absolute;
  top: 100%; left: 0; right: 0;
  box-shadow: var(--emb-shadow-lg);
  z-index: 99;
  max-height: calc(100vh - var(--emb-header-height));
  overflow-y: auto;
}
.emb-mobile-nav__list { list-style: none; }
.emb-mobile-nav__list a {
  display: block;
  padding: var(--emb-space-sm) var(--emb-space-md);
  color: var(--emb-color-text);
  text-decoration: none;
  font-weight: 500;
  border-radius: var(--emb-radius);
  min-height: 44px;
  display: flex;
  align-items: center;
  transition: background var(--emb-transition);
}
.emb-mobile-nav__list a:hover { background: var(--emb-color-card-bg); }
.emb-mobile-nav__footer {
  display: flex;
  align-items: center;
  gap: var(--emb-space-md);
  margin-top: var(--emb-space-md);
  padding-top: var(--emb-space-md);
  border-top: 1px solid var(--emb-color-border);
  flex-wrap: wrap;
}
.emb-mobile-nav__profile-link {
  display: flex; align-items: center; gap: var(--emb-space-sm);
  text-decoration: none; color: var(--emb-color-text); font-weight: 600;
}
.emb-mobile-nav__profile-link img { border-radius: var(--emb-radius-full); }

/* Dropdowns */
.emb-header__notifications,
.emb-header__account { position: relative; }

.emb-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 280px;
  background: var(--emb-color-bg);
  border: 1px solid var(--emb-color-border);
  border-radius: var(--emb-radius-lg);
  box-shadow: var(--emb-shadow-lg);
  z-index: 300;
  overflow: hidden;
}
@media (max-width: 479px) {
  .emb-dropdown { left: 0; right: 0; position: fixed; top: auto; bottom: 0; border-radius: var(--emb-radius-lg) var(--emb-radius-lg) 0 0; }
}

.emb-dropdown__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--emb-space-md) var(--emb-space-lg);
  border-bottom: 1px solid var(--emb-color-border);
  font-weight: 700;
  font-size: .95rem;
}
.emb-account__dropdown .emb-dropdown__header {
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}
.emb-dropdown__body { max-height: 400px; overflow-y: auto; }
.emb-dropdown__list { list-style: none; padding: var(--emb-space-xs); }
.emb-dropdown__list a {
  display: block;
  padding: var(--emb-space-sm) var(--emb-space-md);
  color: var(--emb-color-text);
  text-decoration: none;
  border-radius: var(--emb-radius);
  font-size: .9rem;
  min-height: 44px;
  display: flex;
  align-items: center;
  transition: background var(--emb-transition);
}
.emb-dropdown__list a:hover { background: var(--emb-color-card-bg); }
.emb-dropdown__divider { height: 1px; background: var(--emb-color-border); margin: var(--emb-space-xs) 0; }
.emb-dropdown__logout { color: var(--emb-color-error) !important; }
.emb-dropdown__logout:hover { background: rgba(239,68,68,.08) !important; }

/* --------------------------------------------------------------------------
   6. Buttons — WCAG AAA (min. 44×44px Touch-Target)
   -------------------------------------------------------------------------- */
.emb-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--emb-space-sm);
  padding: 10px 22px;
  font-family: var(--emb-font-body);
  font-size: var(--emb-btn-font-size);
  font-weight: 600;
  line-height: 1.25;
  text-decoration: none;
  border: 2px solid transparent;
  border-radius: var(--emb-btn-radius);
  cursor: pointer;
  white-space: nowrap;
  transition: background var(--emb-transition), color var(--emb-transition),
              border-color var(--emb-transition), box-shadow var(--emb-transition),
              transform var(--emb-transition);
  min-height: 44px;
  position: relative;
  user-select: none;
}
.emb-btn:focus-visible {
  box-shadow: 0 0 0 3px rgba(152,56,75,.35);
  outline: none;
}

.emb-btn--primary {
  background: var(--emb-btn-bg);
  color: var(--emb-btn-text);
  border-color: var(--emb-btn-bg);
}
.emb-btn--primary:hover {
  background: var(--emb-btn-hover-bg);
  border-color: var(--emb-btn-hover-bg);
  color: var(--emb-btn-hover-text);
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(0,0,0,.18);
}

.emb-btn--outline {
  background: transparent;
  color: var(--emb-btn-bg);
  border-color: var(--emb-btn-bg);
}
.emb-btn--outline:hover {
  background: var(--emb-btn-bg);
  color: var(--emb-btn-text);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0,0,0,.12);
}

.emb-btn--ghost {
  background: transparent;
  color: var(--emb-color-text-muted);
  border-color: var(--emb-color-border);
}
.emb-btn--ghost:hover {
  background: var(--emb-color-card-bg);
  color: var(--emb-color-text);
}

.emb-btn--sm  { padding: 6px 16px;  font-size: 13px; min-height: 36px; }
.emb-btn--xs  { padding: 4px 10px;  font-size: 12px; min-height: 28px; }
.emb-btn--lg  { padding: 14px 30px; font-size: 17px; min-height: 52px; }

.emb-btn:disabled,
.emb-btn[aria-disabled="true"] { opacity: .5; cursor: not-allowed; pointer-events: none; }

.emb-btn-icon {
  display: inline-flex;
  align-items: center;
  gap: var(--emb-space-xs);
  padding: var(--emb-space-xs) var(--emb-space-sm);
  background: none;
  border: none;
  color: var(--emb-color-text-muted);
  font-size: .875rem;
  font-family: var(--emb-font-body);
  cursor: pointer;
  border-radius: var(--emb-radius);
  transition: color var(--emb-transition), background var(--emb-transition);
  min-height: 44px;
  min-width: 44px;
  justify-content: center;
}
.emb-btn-icon:hover { color: var(--emb-color-text); background: var(--emb-color-card-bg); }
.emb-btn-icon:focus-visible { box-shadow: 0 0 0 3px rgba(108,99,255,.35); outline: none; }

/* --------------------------------------------------------------------------
   7. Formulare
   -------------------------------------------------------------------------- */
.emb-form__group  { margin-bottom: var(--emb-space-lg); }
.emb-form__label  { display: block; font-weight: 600; margin-bottom: var(--emb-space-xs); font-size: .9rem; }
.emb-form__hint   { display: block; font-size: .8rem; color: var(--emb-color-text-muted); margin-top: var(--emb-space-xs); }
.emb-required     { color: var(--emb-color-error); }

.emb-form__input,
.emb-form__textarea,
.emb-form__select {
  width: 100%;
  padding: 10px var(--emb-space-md);
  font-family: var(--emb-font-body);
  font-size: 1rem;
  color: var(--emb-color-text);
  background: var(--emb-color-bg);
  border: 2px solid var(--emb-color-border);
  border-radius: var(--emb-radius);
  transition: border-color var(--emb-transition), box-shadow var(--emb-transition);
  min-height: 44px;
  appearance: none;
  -webkit-appearance: none;
}
.emb-form__input:focus,
.emb-form__textarea:focus,
.emb-form__select:focus {
  outline: none;
  border-color: var(--emb-color-accent);
  box-shadow: 0 0 0 3px rgba(108,99,255,.2);
}
.emb-form__input::placeholder,
.emb-form__textarea::placeholder { color: var(--emb-color-text-muted); opacity: 1; }
.emb-form__textarea { min-height: 120px; resize: vertical; }
.emb-form__select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 40px;
}

.emb-form__row {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--emb-space-lg);
}
@media (min-width: 768px) { .emb-form__row { grid-template-columns: 1fr 1fr; } }

.emb-form__section {
  margin-top: var(--emb-space-xl);
  padding-top: var(--emb-space-xl);
  border-top: 1px solid var(--emb-color-border);
}
.emb-form__section-title { margin-bottom: var(--emb-space-lg); font-size: 1.1rem; font-weight: 700; }
.emb-form__actions { display: flex; gap: var(--emb-space-sm); flex-wrap: wrap; margin-top: var(--emb-space-xl); }

.emb-checkbox-group { display: flex; flex-direction: column; gap: var(--emb-space-sm); margin-top: var(--emb-space-xs); }
.emb-checkbox-label {
  display: flex;
  align-items: center;
  gap: var(--emb-space-sm);
  cursor: pointer;
  font-size: .95rem;
  min-height: 44px;
  padding-block: 4px;
}
.emb-checkbox-label input[type="checkbox"] {
  width: 18px; height: 18px;
  cursor: pointer;
  accent-color: var(--emb-color-accent);
  flex-shrink: 0;
}

.emb-form__file { font-size: .9rem; color: var(--emb-color-text); }

/* --------------------------------------------------------------------------
   8. Badges
   -------------------------------------------------------------------------- */
.emb-badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  font-size: .75rem;
  font-weight: 700;
  border-radius: var(--emb-radius-full);
  line-height: 1.4;
}
.emb-badge--accent  { background: var(--emb-color-accent); color: #fff; }
.emb-badge--success { background: var(--emb-color-success); color: #fff; }
.emb-badge--error   { background: var(--emb-color-error);   color: #fff; }
.emb-badge--muted   { background: var(--emb-color-card-bg); color: var(--emb-color-text-muted); border: 1px solid var(--emb-color-border); }

/* --------------------------------------------------------------------------
   9. Toast
   -------------------------------------------------------------------------- */
.emb-toast {
  position: fixed;
  bottom: var(--emb-space-xl);
  left: 50%;
  transform: translateX(-50%) translateY(20px);
  padding: var(--emb-space-sm) var(--emb-space-xl);
  border-radius: var(--emb-radius-full);
  font-size: .9rem;
  font-weight: 600;
  color: #fff;
  z-index: 9999;
  opacity: 0;
  transition: opacity var(--emb-transition), transform var(--emb-transition);
  pointer-events: none;
  white-space: nowrap;
}
.emb-toast.is-visible { opacity: 1; transform: translateX(-50%) translateY(0); }
.emb-toast--success { background: var(--emb-color-success); }
.emb-toast--error   { background: var(--emb-color-error); }

/* --------------------------------------------------------------------------
   10. Mitglieder-Verzeichnis
   -------------------------------------------------------------------------- */

/* ── Verzeichnis-Wrapper ── */
.emb-members-dir {
  padding-block: var(--emb-space-xl);
}

/* ── Header: Suche + Sortierung ── */
.emb-members-dir__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--emb-space-md);
  margin-bottom: var(--emb-space-lg);
}

/* Suchformular */
.emb-members-dir__search {
  flex: 1 1 420px;
  min-width: min(100%, 420px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--emb-space-sm);
  align-items: center;
}
.emb-members-dir__search-wrap {
  position: relative;
  display: flex;
  align-items: center;
  min-width: 0;
}
.emb-members-dir__search-icon {
  position: absolute;
  left: 12px;
  color: var(--emb-color-text-muted);
  pointer-events: none;
  flex-shrink: 0;
}
.emb-members-dir__search-input {
  padding-left: 36px !important;
  flex: 1;
  min-height: 44px;
}
.emb-members-dir__search-clear {
  position: absolute;
  right: 14px;
  color: var(--emb-color-text-muted);
  line-height: 1;
  padding: 4px;
  text-decoration: none;
}
.emb-members-dir__search-clear:hover { color: var(--emb-color-error); }
.emb-members-dir__search-btn {
  flex-shrink: 0;
  min-width: 116px;
  min-height: 44px;
  align-self: stretch;
}

/* Sortierungs-Nav */
.emb-members-dir__sort {
  display: flex;
  align-items: center;
  gap: var(--emb-space-sm);
  flex-wrap: wrap;
  justify-content: flex-end;
  margin-left: auto;
}
.emb-members-dir__sort-label {
  font-size: .82rem;
  color: var(--emb-color-text-muted);
  white-space: nowrap;
}
.emb-members-dir__sort-list {
  list-style: none !important;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 4px;
}
.emb-members-dir__sort-link {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border-radius: var(--emb-radius-full);
  font-size: .82rem;
  font-weight: 500;
  color: var(--emb-color-text-muted);
  text-decoration: none;
  border: 1px solid transparent;
  transition: all var(--emb-transition);
  white-space: nowrap;
}
.emb-members-dir__sort-link:hover,
.emb-members-dir__sort-link.is-active {
  color: var(--emb-color-accent);
  border-color: var(--emb-color-accent);
  background: color-mix(in srgb, var(--emb-color-accent) 10%, var(--emb-color-card-bg));
}

@media (max-width: 767px) {
  .emb-members-dir__header {
    align-items: stretch;
  }

  .emb-members-dir__search {
    width: 100%;
    min-width: 100%;
    grid-template-columns: 1fr;
  }

  .emb-members-dir__search-btn {
    width: 100%;
    min-width: 0;
  }

  .emb-members-dir__sort {
    width: 100%;
    justify-content: flex-start;
  }

  .emb-members-dir__sort-list {
    flex-wrap: wrap;
  }
}

/* Trefferzahl */
.emb-members-dir__count {
  font-size: .88rem;
  color: var(--emb-color-text-muted);
  margin-bottom: var(--emb-space-lg);
}

/* ── Mitglieder-Grid ── */
.emb-members-dir__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--emb-space-md);
  list-style: none !important;
  margin: 0;
  padding: 0;
}
@media (min-width: 480px) {
  .emb-members-dir__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 768px) {
  .emb-members-dir__grid { grid-template-columns: repeat(3, 1fr); }
}
.emb-members-dir__grid-item { list-style: none; }

/* Leer-Zustand */
.emb-members-dir__empty {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--emb-space-md);
  padding: 60px 20px;
  color: var(--emb-color-text-muted);
  text-align: center;
}
.emb-members-dir__empty svg { opacity: .35; }

/* ── Mitglieds-Karte ── */
.emb-member-card {
  display: flex;
  flex-direction: column;
  background: var(--emb-color-bg);
  border: 1px solid var(--emb-color-border);
  border-radius: var(--emb-radius-lg);
  overflow: hidden;
  height: 100%;
  transition: transform var(--emb-transition), box-shadow var(--emb-transition);
}
@media (hover: hover) {
  .emb-member-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--emb-shadow-lg);
  }
}

/* Farbiger Streifen oben */
.emb-member-card__accent-bar {
  height: 4px;
  background: linear-gradient(90deg, var(--emb-color-accent) 0%, #a78bfa 100%);
  flex-shrink: 0;
}

/* Avatar-Bereich */
.emb-member-card__avatar-wrap {
  padding: 20px 20px 0;
  display: flex;
  justify-content: center;
}
.emb-member-card__avatar-ring {
  display: block;
  border-radius: 50%;
  padding: 3px;
  background: linear-gradient(135deg, var(--emb-color-accent) 0%, #a78bfa 100%);
  text-decoration: none;
  line-height: 0;
}
.emb-member-card__avatar {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid var(--emb-color-bg);
  display: block;
}
.emb-member-card__initials {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  background: var(--initials-bg, var(--emb-color-accent));
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 3px solid var(--emb-color-bg);
  letter-spacing: .04em;
  user-select: none;
}

/* Infos */
.emb-member-card__body {
  padding: 12px 16px 14px;
  flex: 1;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
.emb-member-card__name {
  font-size: 1rem;
  font-weight: 700;
  margin: 0;
  line-height: 1.3;
}
.emb-member-card__name a {
  color: var(--emb-color-text);
  text-decoration: none;
}
.emb-member-card__name a:hover { color: var(--emb-color-accent); }

.emb-member-card__location {
  display: flex;
  align-items: center;
  gap: 3px;
  font-size: .8rem;
  color: var(--emb-color-text-muted);
  margin: 0;
}

.emb-member-card__stats {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: .78rem;
  color: var(--emb-color-text-muted);
}
.emb-member-card__stat {
  display: flex;
  align-items: center;
  gap: 3px;
}
.emb-member-card__stat-sep { color: var(--emb-color-border); }

/* Aktions-Leiste */
.emb-member-card__actions {
  padding: 10px 12px;
  border-top: 1px solid var(--emb-color-border);
  display: flex;
  gap: 6px;
  align-items: center;
  margin-top: auto;
}

/* Verbinden-Button — füllt verfügbaren Platz */
.emb-member-card__connect-btn {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-height: 36px;
  padding: 0 10px;
  border-radius: var(--emb-radius);
  border: 1px solid var(--emb-color-border);
  background: transparent;
  color: var(--emb-color-text);
  font-size: .8rem;
  font-weight: 600;
  cursor: pointer;
  transition: all var(--emb-transition);
  white-space: nowrap;
  min-width: 0;
}
.emb-member-card__connect-btn:hover {
  border-color: var(--emb-color-accent);
  color: var(--emb-color-accent);
  background: #f5f3ff;
}
/* Verbindungs-Zustände */
.emb-member-card__connect-btn.is-connected {
  border-color: var(--emb-color-accent);
  color: var(--emb-color-accent);
  background: #f5f3ff;
}
.emb-member-card__connect-btn.is-pending {
  border-color: #f59e0b;
  color: #92400e;
  background: #fffbeb;
}
.emb-member-card__connect-btn.is-incoming {
  border-color: var(--emb-color-success);
  color: #065f46;
  background: #f0fdf4;
}

/* Icon-Buttons (Nachricht, Profil) */
.emb-member-card__icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: var(--emb-radius);
  border: 1px solid var(--emb-color-border);
  color: var(--emb-color-text-muted);
  text-decoration: none;
  flex-shrink: 0;
  transition: all var(--emb-transition);
}
.emb-member-card__icon-btn:hover {
  border-color: var(--emb-color-accent);
  color: var(--emb-color-accent);
  background: #f5f3ff;
}
.emb-member-card__icon-btn--profile:hover {
  border-color: #0ea5e9;
  color: #0ea5e9;
  background: #f0f9ff;
}

/* ── Paginierung ── */
.emb-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--emb-space-md);
  margin-top: var(--emb-space-xl);
  padding-top: var(--emb-space-lg);
  border-top: 1px solid var(--emb-color-border);
}
.emb-pagination__btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 18px;
  border-radius: var(--emb-radius);
  border: 1px solid var(--emb-color-border);
  background: var(--emb-color-bg);
  color: var(--emb-color-text);
  font-size: .88rem;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: all var(--emb-transition);
}
.emb-pagination__btn:hover {
  border-color: var(--emb-color-accent);
  color: var(--emb-color-accent);
}
.emb-pagination__btn.is-disabled {
  opacity: .4;
  pointer-events: none;
  cursor: default;
}
.emb-pagination__info {
  font-size: .85rem;
  color: var(--emb-color-text-muted);
}

/* ── Menü-Icons (Sidebar + Header) ── */
.emb-nav__icon { display: inline-flex; align-items: center; margin-right: 6px; flex-shrink: 0; }

/* --------------------------------------------------------------------------
   11. Profil
   -------------------------------------------------------------------------- */
.emb-profile__header {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: var(--emb-space-xl);
  align-items: start;
  padding-block: var(--emb-space-xl);
  border-bottom: 1px solid var(--emb-color-border);
  margin-bottom: var(--emb-space-xl);
}
@media (max-width: 767px) {
  .emb-profile__header {
    grid-template-columns: 1fr;
    text-align: center;
    gap: var(--emb-space-lg);
  }
  .emb-profile__avatar-wrap { margin-inline: auto; }
  .emb-profile__location, .emb-profile__social { justify-content: center; }
  .emb-profile__actions { display: flex; justify-content: center; }
}

.emb-profile__avatar-wrap { position: relative; width: fit-content; }
.emb-profile__avatar { width: 120px; height: 120px; border-radius: var(--emb-radius-full); object-fit: cover; border: 4px solid var(--emb-color-bg); box-shadow: var(--emb-shadow); }
.emb-profile__avatar-edit {
  position: absolute; bottom: 0; right: 0;
  width: 32px; height: 32px;
  background: var(--emb-color-accent); color: #fff;
  border: none; border-radius: var(--emb-radius-full);
  cursor: pointer; display: flex; align-items: center; justify-content: center;
}

.emb-profile__name { font-size: 1.75rem; margin-bottom: var(--emb-space-sm); }
.emb-profile__location { display: flex; align-items: center; gap: 6px; color: var(--emb-color-text-muted); font-size: .9rem; margin-bottom: var(--emb-space-sm); }
.emb-profile__bio { color: var(--emb-color-text-muted); }

.emb-profile__social { display: flex; gap: var(--emb-space-sm); flex-wrap: wrap; margin-top: var(--emb-space-md); }
.emb-social-link {
  display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px;
  border-radius: var(--emb-radius-full);
  background: var(--emb-color-card-bg);
  color: var(--emb-color-text);
  text-decoration: none;
  font-size: .85rem; font-weight: 700;
  transition: background var(--emb-transition), color var(--emb-transition);
  border: 1px solid var(--emb-color-border);
}
.emb-social-link:hover { background: var(--emb-color-accent); color: #fff; border-color: transparent; }

.emb-profile__edit-form {
  background: var(--emb-color-card-bg);
  border: 1px solid var(--emb-color-border);
  border-radius: var(--emb-radius-lg);
  padding: var(--emb-space-xl);
  margin-bottom: var(--emb-space-xl);
}

/* YouTube */
.emb-profile__youtube { margin-top: var(--emb-space-xl); }
.emb-profile__youtube h3 { margin-bottom: var(--emb-space-md); }
.emb-video-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--emb-space-lg);
}
@media (min-width: 640px) { .emb-video-grid { grid-template-columns: repeat(2, 1fr); } }
.emb-video-wrap { aspect-ratio: 16/9; border-radius: var(--emb-radius); overflow: hidden; background: #000; }
.emb-video-wrap iframe { width: 100%; height: 100%; border: none; }

/* Profil-Felder Anzeige */
.emb-profile-custom-fields-display { margin-top: var(--emb-space-xl); }
.emb-profile-field { margin-bottom: var(--emb-space-sm); font-size: .95rem; }
.emb-profile-field__label { font-weight: 600; color: var(--emb-color-text-muted); margin-right: 4px; }

.emb-profile__activity { margin-top: var(--emb-space-2xl); }
.emb-profile__activity h2 { margin-bottom: var(--emb-space-xl); font-size: 1.5rem; }

/* --------------------------------------------------------------------------
   12. Activity Feed
   -------------------------------------------------------------------------- */
.emb-feed {
  width: 100%;
  max-width: min(var(--emb-feed-max-width, 1100px), 100%);
  margin-inline: auto;
}

.emb-feed__composer {
  background: var(--emb-color-card-bg);
  border: 1px solid var(--emb-color-border);
  border-radius: var(--emb-radius-lg);
  padding: var(--emb-space-lg);
  margin-bottom: var(--emb-space-lg);
}
.emb-feed__composer-inner { display: flex; gap: var(--emb-space-md); align-items: flex-start; }
.emb-feed__composer-avatar { width: 44px; height: 44px; border-radius: var(--emb-radius-full); object-fit: cover; flex-shrink: 0; }
.emb-feed__form { flex: 1; }
.emb-feed__textarea-wrap { display: flex; flex-direction: column; gap: var(--emb-space-sm); }
.emb-feed__textarea {
  width: 100%;
  padding: var(--emb-space-sm) var(--emb-space-md);
  border: 2px solid var(--emb-color-border);
  border-radius: var(--emb-radius);
  font-family: var(--emb-font-body);
  font-size: 1rem;
  background: var(--emb-color-bg);
  color: var(--emb-color-text);
  transition: border-color var(--emb-transition), box-shadow var(--emb-transition);
  min-height: 128px;
}
.emb-feed__textarea:focus { border-color: var(--emb-color-accent); outline: none; box-shadow: 0 0 0 3px rgba(108,99,255,.15); }

.emb-feed__form-actions { display: flex; align-items: center; gap: var(--emb-space-sm); margin-top: var(--emb-space-sm); flex-wrap: wrap; }
.emb-feed__image-label {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 12px;
  font-size: .875rem; color: var(--emb-color-text-muted);
  cursor: pointer; border-radius: var(--emb-radius);
  border: 1px solid var(--emb-color-border);
  min-height: 36px;
  transition: background var(--emb-transition);
}
.emb-feed__image-label:hover { background: var(--emb-color-card-bg); color: var(--emb-color-text); }
.emb-feed__image-preview img { max-height: 80px; border-radius: var(--emb-radius-sm); margin-top: var(--emb-space-sm); }

.emb-feed__items { display: flex; flex-direction: column; gap: var(--emb-space-md); }

.emb-feed-item {
  background: var(--emb-color-card-bg);
  border: 1px solid var(--emb-color-border);
  border-radius: var(--emb-radius-lg);
  padding: var(--emb-space-lg);
}

.emb-feed-item__header { display: flex; align-items: center; gap: var(--emb-space-sm); margin-bottom: var(--emb-space-md); }
.emb-feed-item__avatar { width: 44px; height: 44px; border-radius: var(--emb-radius-full); object-fit: cover; flex-shrink: 0; }
.emb-feed-item__meta  { flex: 1; min-width: 0; }
.emb-feed-item__author { font-weight: 700; text-decoration: none; color: var(--emb-color-text); font-size: .95rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; }
.emb-feed-item__author:hover { color: var(--emb-color-accent); }
.emb-feed-item__time { font-size: .75rem; color: var(--emb-color-text-muted); }

.emb-feed-item__content { font-size: .95rem; line-height: 1.65; margin-bottom: var(--emb-space-md); word-break: break-word; }
/* Feed-Bild: Container hat feste Höhe, Bild füllt ihn vollständig */
.emb-feed-item__image {
  height: var(--emb-feed-image-height, 620px);
  overflow: hidden;
  border-radius: var(--emb-radius);
  margin-bottom: var(--emb-space-md);
  display: block;
}
.emb-feed-item__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

@media (max-width: 599px) {
  .emb-feed-item__image { height: 420px; }
}

@media (min-width: 768px) {
  .emb-feed-item__image { height: 620px; }
}

@media (min-width: 1200px) {
  .emb-feed-item__image { height: 760px; }
}

.emb-feed-item__footer { border-top: 1px solid var(--emb-color-border); padding-top: var(--emb-space-sm); }
.emb-feed-item__actions { display: flex; gap: 4px; margin-bottom: var(--emb-space-sm); }

.emb-feed-item__like { gap: 6px; }
.emb-feed-item__like.is-liked { color: #e63946 !important; }
.emb-feed-item__like:hover { color: #e63946 !important; }
.emb-feed-item__like-count { font-size: .875rem; }
.emb-feed-item__comment-toggle:hover { color: var(--emb-color-accent) !important; }
.emb-feed-item__delete:hover { color: var(--emb-color-error) !important; }

.emb-feed-item__comments { margin-top: var(--emb-space-md); }
.emb-comment { display: flex; gap: var(--emb-space-sm); margin-bottom: var(--emb-space-sm); align-items: flex-start; }
.emb-comment__avatar { width: 32px; height: 32px; border-radius: var(--emb-radius-full); object-fit: cover; flex-shrink: 0; }
.emb-comment__body { background: var(--emb-color-bg); padding: var(--emb-space-sm) var(--emb-space-md); border-radius: var(--emb-radius); font-size: .875rem; flex: 1; border: 1px solid var(--emb-color-border); word-break: break-word; }
.emb-comment__author { font-weight: 700; margin-right: 6px; }
.emb-comment__text { display: block; }

.emb-comment-form { display: flex; gap: var(--emb-space-sm); margin-top: var(--emb-space-sm); flex-wrap: wrap; }
.emb-comment-form__input { flex: 1; min-width: 180px; }
.emb-comment-form__wrap { display: flex; flex-direction: column; gap: 4px; flex: 1; }
.emb-comment-form__editor {
  min-height: 36px;
  padding: 6px 12px;
  border-radius: var(--emb-radius);
  font-size: .875rem;
  line-height: 1.5;
  outline: none;
  cursor: text;
  word-break: break-word;
}
.emb-comment-form__editor:empty::before {
  content: attr(data-placeholder);
  color: var(--emb-color-text-muted);
  pointer-events: none;
}
.emb-comment-form__btns {
  display: flex;
  align-items: center;
  gap: 4px;
  justify-content: flex-end;
}

/* Pin-Button & Gepinnt-Leiste */
.emb-feed-item__pin { color: var(--emb-color-text-muted); }
.emb-feed-item__pin:hover,
.emb-feed-item__pin.is-pinned { color: var(--emb-color-primary); }
.emb-feed-item__pinned-bar {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--emb-color-primary);
  padding: 4px var(--emb-space-md);
  background: color-mix(in srgb, var(--emb-color-primary) 8%, transparent);
  border-radius: var(--emb-radius) var(--emb-radius) 0 0;
  margin: calc(-1 * var(--emb-space-md)) calc(-1 * var(--emb-space-md)) var(--emb-space-sm);
}

.emb-feed__load-more { text-align: center; margin-top: var(--emb-space-xl); }

/* Feed: Composer-Erweiterungen */
.emb-feed__composer-body { flex: 1; }

.emb-feed__composer-tabs { display: flex; gap: 2px; margin-bottom: var(--emb-space-sm); }
.emb-feed__composer-tab {
  padding: 6px 14px; font-size: .85rem; border-radius: var(--emb-radius);
  border: 1px solid var(--emb-color-border); background: none; cursor: pointer;
  color: var(--emb-color-text-muted); font-weight: 600;
  transition: background var(--emb-transition), color var(--emb-transition);
}
.emb-feed__composer-tab.is-active { background: var(--emb-color-accent); color: #fff; border-color: var(--emb-color-accent); }
.emb-feed__composer-tab:hover:not(.is-active) { background: var(--emb-color-bg); color: var(--emb-color-text); }

.emb-feed__form-actions { display: flex; align-items: center; justify-content: space-between; gap: var(--emb-space-sm); margin-top: var(--emb-space-sm); flex-wrap: wrap; }
.emb-feed__media-btns { display: flex; align-items: center; gap: 2px; flex-wrap: wrap; }
.emb-feed__media-btn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: var(--emb-radius);
  background: none; border: 1px solid transparent; cursor: pointer;
  color: var(--emb-color-text-muted); font-size: .8rem; font-weight: 700;
  transition: background var(--emb-transition), color var(--emb-transition), border-color var(--emb-transition);
}
.emb-feed__media-btn:hover { background: var(--emb-color-bg); border-color: var(--emb-color-border); color: var(--emb-color-text); }
.emb-feed__media-label { font-size: .75rem; font-weight: 800; letter-spacing: -.5px; }

.emb-feed__attachment-preview { margin-top: var(--emb-space-sm); }
.emb-feed__attachment-preview img { max-height: 120px; border-radius: var(--emb-radius); }
.emb-feed__attachment-preview[hidden] { display: none; }
.emb-feed__file-preview {
  display: flex; align-items: center; gap: 10px; padding: 10px 12px;
  background: var(--emb-color-bg); border: 1px solid var(--emb-color-border);
  border-radius: var(--emb-radius); font-size: .85rem; color: var(--emb-color-text-muted);
}
.emb-feed__file-preview svg { flex-shrink: 0; color: var(--emb-color-accent); }
.emb-feed__file-preview-name { font-weight: 600; color: var(--emb-color-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.emb-feed__file-preview-remove { margin-left: auto; cursor: pointer; padding: 2px 6px; border-radius: var(--emb-radius-sm); background: none; border: none; font-size: .8rem; color: var(--emb-color-text-muted); }
.emb-feed__file-preview-remove:hover { color: var(--emb-color-error); }

/* Typ-Badge */
.emb-feed-item__type-badge {
  display: inline-flex; align-items: center; gap: 4px;
  align-self: flex-start;
  font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .5px;
  background: var(--emb-color-primary); color: #fff;
  padding: 3px 10px; border-radius: var(--emb-radius-full);
  margin-bottom: var(--emb-space-sm); vertical-align: middle;
}
.emb-feed-item__type-badge--poll { background: #7c3aed; }

/* GIF: natürliche Höhe (kein 4:3-Crop) */
.emb-feed-item__image--gif { height: auto; max-height: 360px; }
.emb-feed-item__image--gif .emb-feed-item__img { height: auto; max-height: 360px; object-fit: contain; object-position: center; }

/* Datei-Anhang */
.emb-attachment-card {
  display: flex; align-items: center; gap: var(--emb-space-md);
  padding: var(--emb-space-md) var(--emb-space-lg);
  background: var(--emb-color-bg); border: 1px solid var(--emb-color-border);
  border-radius: var(--emb-radius); text-decoration: none; color: var(--emb-color-text);
  margin-bottom: var(--emb-space-md);
  transition: background var(--emb-transition), border-color var(--emb-transition);
}
.emb-attachment-card:hover { background: var(--emb-color-card-bg); border-color: var(--emb-color-accent); }
.emb-attachment-card__icon { flex-shrink: 0; color: var(--emb-color-accent); }
.emb-attachment-card__info { flex: 1; min-width: 0; }
.emb-attachment-card__name { display: block; font-weight: 600; font-size: .9rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.emb-attachment-card__type { font-size: .75rem; color: var(--emb-color-text-muted); font-weight: 700; text-transform: uppercase; }
.emb-attachment-card__dl { flex-shrink: 0; color: var(--emb-color-text-muted); }

/* Poll */
.emb-poll { margin-bottom: var(--emb-space-md); }
.emb-poll__question { display: block; font-size: 1rem; font-weight: 700; margin-bottom: var(--emb-space-sm); }
.emb-poll__option {
  display: block; width: 100%; text-align: left; padding: 10px 14px;
  margin-bottom: 8px; border-radius: var(--emb-radius);
  border: 2px solid var(--emb-color-border); background: var(--emb-color-bg);
  font-size: .9rem; cursor: pointer; font-weight: 600;
  transition: border-color var(--emb-transition), background var(--emb-transition);
}
.emb-poll__option:hover { border-color: var(--emb-color-accent); background: var(--emb-color-card-bg); }
.emb-poll__option:disabled { opacity: .6; cursor: not-allowed; }
.emb-poll__result {
  position: relative; overflow: hidden;
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 14px; margin-bottom: 8px; border-radius: var(--emb-radius);
  border: 2px solid var(--emb-color-border);
  background: var(--emb-color-bg); font-size: .9rem;
}
.emb-poll__result.is-voted { border-color: var(--emb-color-accent); }
.emb-poll__result-bar {
  position: absolute; left: 0; top: 0; bottom: 0;
  background: color-mix(in srgb, var(--emb-color-accent) 15%, transparent);
  transition: width .4s ease;
  pointer-events: none;
}
.emb-poll__result.is-voted .emb-poll__result-bar { background: color-mix(in srgb, var(--emb-color-accent) 25%, transparent); }
.emb-poll__result-text { font-weight: 600; position: relative; }
.emb-poll__result-pct { font-size: .85rem; color: var(--emb-color-text-muted); font-weight: 700; position: relative; }
.emb-poll__meta { font-size: .78rem; color: var(--emb-color-text-muted); margin-top: 4px; }

/* Poll-Creator (Admin) */
.emb-poll-creator { padding-top: var(--emb-space-sm); }
.emb-poll-creator[hidden] { display: none; }
.emb-poll-creator__label { font-size: .8rem; font-weight: 700; color: var(--emb-color-text-muted); margin-bottom: 4px; margin-top: var(--emb-space-sm); display: block; }
.emb-poll-creator__question { margin-bottom: var(--emb-space-sm); }
.emb-poll-creator__options { display: flex; flex-direction: column; gap: 6px; margin-bottom: 8px; }
.emb-poll-creator__option { }
.emb-poll-creator__footer { display: flex; justify-content: flex-end; gap: var(--emb-space-sm); margin-top: var(--emb-space-md); padding-top: var(--emb-space-sm); border-top: 1px solid var(--emb-color-border); }

/* Shared Rich Text */
.emb-richtext {
  display: flex;
  flex-direction: column;
  gap: var(--emb-space-sm);
}
.emb-richtext__toolbar {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
}
.emb-richtext__btn,
.emb-msg-toolbar__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 34px;
  padding: 0 10px;
  border-radius: var(--emb-radius-sm);
  border: 1px solid var(--emb-color-border);
  background: var(--emb-color-card-bg);
  color: var(--emb-color-text-muted);
  cursor: pointer;
  font-size: .85rem;
  transition: background var(--emb-transition), border-color var(--emb-transition), color var(--emb-transition), transform var(--emb-transition);
}
.emb-richtext__btn:hover,
.emb-msg-toolbar__btn:hover {
  background: var(--emb-color-bg);
  border-color: var(--emb-color-accent);
  color: var(--emb-color-text);
  transform: translateY(-1px);
}
.emb-richtext__sep,
.emb-msg-toolbar__sep {
  width: 1px;
  height: 22px;
  background: var(--emb-color-border);
  margin-inline: 2px;
}
.emb-richtext__editor {
  min-height: 120px;
  border: 1px solid var(--emb-color-border);
  border-radius: var(--emb-radius);
  background: var(--emb-color-card-bg);
  padding: var(--emb-space-md);
  line-height: 1.6;
  outline: none;
  transition: border-color var(--emb-transition), box-shadow var(--emb-transition);
}
.emb-richtext__editor:focus {
  border-color: var(--emb-color-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--emb-color-accent) 18%, transparent);
}
.emb-richtext__editor[data-empty="true"]::before {
  content: attr(data-placeholder);
  color: var(--emb-color-text-muted);
  pointer-events: none;
}
.emb-richtext__editor p,
.emb-richtext-content p {
  margin: 0 0 .8rem;
}
.emb-richtext__editor p:last-child,
.emb-richtext-content p:last-child {
  margin-bottom: 0;
}
.emb-richtext__editor ul,
.emb-richtext__editor ol,
.emb-richtext-content ul,
.emb-richtext-content ol {
  margin: 0 0 .9rem 1.2rem;
  padding: 0;
}
.emb-richtext__editor blockquote,
.emb-richtext-content blockquote {
  margin: .4rem 0 1rem;
  padding-inline-start: 1rem;
  border-inline-start: 3px solid color-mix(in srgb, var(--emb-color-accent) 50%, var(--emb-color-border));
  color: var(--emb-color-text-muted);
}
.emb-richtext__editor a,
.emb-richtext-content a {
  color: var(--emb-color-accent);
  text-decoration: underline;
  text-decoration-thickness: 1px;
}
.emb-align-left { text-align: left; }
.emb-align-center { text-align: center; }
.emb-align-right { text-align: right; }

/* Emoji Picker */
.emb-emoji-picker {
  position: fixed; z-index: 9999;
  background: var(--emb-color-card-bg); border: 1px solid var(--emb-color-border);
  border-radius: var(--emb-radius-lg); padding: 12px;
  box-shadow: 0 8px 32px rgba(0,0,0,.12);
  width: 308px;
}
.emb-emoji-picker[hidden] { display: none; }
.emb-emoji-picker__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 10px;
}
.emb-emoji-picker__tab {
  border: 1px solid var(--emb-color-border);
  border-radius: 999px;
  background: var(--emb-color-card-bg);
  color: var(--emb-color-text-muted);
  padding: 5px 10px;
  font-size: .75rem;
  cursor: pointer;
}
.emb-emoji-picker__tab.is-active {
  border-color: var(--emb-color-accent);
  background: color-mix(in srgb, var(--emb-color-accent) 12%, var(--emb-color-card-bg));
  color: var(--emb-color-text);
}
.emb-emoji-picker__grid {
  display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px;
}
.emb-emoji-picker__emoji {
  background: none; border: none; padding: 4px; font-size: 1.25rem;
  cursor: pointer; border-radius: var(--emb-radius-sm); line-height: 1;
  transition: background var(--emb-transition);
}
.emb-emoji-picker__emoji:hover { background: var(--emb-color-bg); }

/* -----------------------------------------------------------------------
 * Giphy Picker
 * --------------------------------------------------------------------- */
.emb-giphy-picker {
  position: fixed;
  z-index: 1200;
  width: 340px;
  max-width: calc(100vw - 16px);
  background: var(--emb-color-card-bg);
  border: 1px solid var(--emb-color-border);
  border-radius: var(--emb-radius);
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.emb-giphy-picker[hidden] { display: none; }
.emb-giphy-picker__header {
  display: grid;
  gap: 8px;
  padding: 10px;
  border-bottom: 1px solid var(--emb-color-border);
}
.emb-giphy-picker__tabs {
  display: flex;
  gap: 6px;
}
.emb-giphy-picker__tab {
  flex: 1;
  border: 1px solid var(--emb-color-border);
  border-radius: 999px;
  background: var(--emb-color-card-bg);
  color: var(--emb-color-text-muted);
  padding: 6px 10px;
  cursor: pointer;
  font-size: .8rem;
}
.emb-giphy-picker__tab.is-active {
  border-color: var(--emb-color-accent);
  background: color-mix(in srgb, var(--emb-color-accent) 10%, var(--emb-color-card-bg));
  color: var(--emb-color-text);
}
.emb-giphy-picker__search { flex: 1; min-width: 0; }
.emb-giphy-picker__close {
  flex-shrink: 0;
  background: none; border: none; cursor: pointer;
  color: var(--emb-color-text-muted); font-size: 1rem;
  padding: 4px 8px; border-radius: 4px; line-height: 1;
}
.emb-giphy-picker__close:hover { background: var(--emb-color-border); }
.emb-giphy-picker__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
  padding: 8px;
  max-height: 264px;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.emb-giphy-picker__item {
  width: 100%;
  aspect-ratio: 1;
  border-radius: 4px;
  cursor: pointer;
  border: none;
  background: none;
  padding: 0;
  overflow: hidden;
  transition: opacity var(--emb-transition), transform var(--emb-transition);
}
.emb-giphy-picker__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.emb-giphy-picker__item:hover { opacity: .92; transform: translateY(-1px); }
.emb-giphy-picker__loading {
  grid-column: 1 / -1;
  display: flex; justify-content: center; padding: 24px 0;
}
.emb-giphy-picker__loading::after {
  content: '';
  width: 24px; height: 24px;
  border: 3px solid var(--emb-color-border);
  border-top-color: var(--emb-color-primary);
  border-radius: 50%;
  animation: emb-spin .7s linear infinite;
}
.emb-giphy-picker__empty {
  text-align: center; padding: 20px;
  color: var(--emb-color-text-muted); font-size: .875rem; margin: 0;
}
.emb-giphy-picker__powered {
  font-size: .7rem; text-align: center;
  color: var(--emb-color-text-muted); padding: 6px; margin: 0;
  border-top: 1px solid var(--emb-color-border);
}
.emb-giphy-picker__powered a {
  color: inherit;
  text-decoration: none;
  letter-spacing: .04em;
}
/* GIF-Vorschau im Composer */
.emb-feed__gif-preview { position: relative; display: inline-block; }
.emb-feed__gif-preview img {
  max-height: 140px; border-radius: var(--emb-radius); display: block;
}
.emb-feed__gif-preview-remove {
  position: absolute; top: 4px; right: 4px;
  background: rgba(0,0,0,.55); color: #fff;
  border: none; border-radius: 50%;
  width: 22px; height: 22px;
  cursor: pointer; font-size: .75rem;
  display: flex; align-items: center; justify-content: center;
}
.emb-feed__gif-credit,
.emb-message__gif-credit {
  display: inline-block;
  margin-top: 6px;
  font-size: .68rem;
  letter-spacing: .04em;
  color: var(--emb-color-text-muted);
  text-transform: uppercase;
}
.emb-feed__preview-type {
  display: inline-block;
  margin-top: 8px;
  font-size: .75rem;
  color: var(--emb-color-text-muted);
}

/* Nachrichten: Formatierungs-Toolbar */
.emb-msg-toolbar {
  display: flex; align-items: center; gap: 2px;
  padding: 6px 0; border-bottom: 1px solid var(--emb-color-border);
  margin-bottom: 8px;
}
.emb-msg-toolbar__btn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 32px; height: 32px; border-radius: var(--emb-radius-sm);
  background: none; border: 1px solid transparent; cursor: pointer;
  color: var(--emb-color-text-muted); font-size: .9rem;
  transition: background var(--emb-transition), border-color var(--emb-transition);
}
.emb-msg-toolbar__btn:hover { background: var(--emb-color-bg); border-color: var(--emb-color-border); color: var(--emb-color-text); }
.emb-msg-toolbar__sep { width: 1px; height: 20px; background: var(--emb-color-border); margin-inline: 2px; }
.emb-msg-gif-preview { margin-top: 6px; }
.emb-msg-gif-preview img { max-height: 80px; border-radius: var(--emb-radius-sm); }
.emb-msg-gif-preview[hidden] { display: none; }

/* --------------------------------------------------------------------------
   13. Nachrichten
   -------------------------------------------------------------------------- */
.emb-messages {
  display: grid;
  grid-template-columns: 1fr;
  min-height: 70vh;
  border: 1px solid var(--emb-color-border);
  border-radius: var(--emb-radius-lg);
  overflow: hidden;
}
@media (min-width: 768px) { .emb-messages { grid-template-columns: 280px 1fr; } }
@media (min-width: 1024px) { .emb-messages { grid-template-columns: 320px 1fr; } }

.emb-messages__sidebar { border-right: 1px solid var(--emb-color-border); background: var(--emb-color-card-bg); overflow-y: auto; }
.emb-messages__sidebar-header { padding: var(--emb-space-md) var(--emb-space-lg); border-bottom: 1px solid var(--emb-color-border); font-weight: 700; font-size: 1.1rem; }
.emb-messages__sidebar-header h2 { font-size: 1.1rem; margin: 0; }

.emb-messages__thread-list { list-style: none; padding: var(--emb-space-xs); }
.emb-messages__thread.is-active .emb-messages__thread-btn { background: var(--emb-color-bg); }
.emb-messages__thread-btn {
  display: flex; align-items: center; gap: var(--emb-space-sm);
  width: 100%;
  padding: var(--emb-space-sm) var(--emb-space-md);
  background: none; border: none;
  border-radius: var(--emb-radius);
  cursor: pointer; text-align: left;
  transition: background var(--emb-transition);
  min-height: 60px;
}
.emb-messages__thread-btn:hover { background: var(--emb-color-bg); }
.emb-messages__thread-avatar { border-radius: var(--emb-radius-full); object-fit: cover; flex-shrink: 0; }
.emb-messages__thread-info { flex: 1; overflow: hidden; }
.emb-messages__thread-name { display: block; font-weight: 700; font-size: .9rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.emb-messages__thread-preview { display: block; font-size: .8rem; color: var(--emb-color-text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.emb-messages__chat { display: flex; flex-direction: column; }
.emb-messages__chat-inner { flex: 1; overflow-y: auto; padding: var(--emb-space-lg); }

.emb-messages__placeholder {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  min-height: 300px; color: var(--emb-color-text-muted); gap: var(--emb-space-md); text-align: center; padding: var(--emb-space-xl);
}

.emb-messages__compose {
  padding: var(--emb-space-md) var(--emb-space-lg);
  border-top: 1px solid var(--emb-color-border);
  display: flex;
  flex-direction: column;
  gap: var(--emb-space-sm);
  background: var(--emb-color-bg);
}
.emb-messages__input-wrap { width: 100%; }
.emb-messages__compose-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}
.emb-messages__input { min-height: 96px; }

/* Nachricht-Bubbles */
.emb-messages__msg-list { display: flex; flex-direction: column; gap: var(--emb-space-sm); }
.emb-message { display: flex; gap: var(--emb-space-sm); align-items: flex-end; max-width: 80%; }
.emb-message--own { align-self: flex-end; flex-direction: row-reverse; }
.emb-message__avatar { border-radius: var(--emb-radius-full); object-fit: cover; flex-shrink: 0; }
.emb-message__content {
  background: var(--emb-color-card-bg);
  border: 1px solid var(--emb-color-border);
  padding: var(--emb-space-sm) var(--emb-space-md);
  border-radius: var(--emb-radius-lg);
  font-size: .9rem;
  word-break: break-word;
}
.emb-message--own .emb-message__content { background: var(--emb-color-accent); color: #fff; border-color: transparent; }
.emb-message__gif { margin-top: 8px; }
.emb-message__gif img { max-width: min(280px, 100%); border-radius: var(--emb-radius); display: block; }
.emb-message__time { font-size: .7rem; color: var(--emb-color-text-muted); white-space: nowrap; margin-bottom: 4px; }

/* --------------------------------------------------------------------------
   14. Benachrichtigungen
   -------------------------------------------------------------------------- */
.emb-notifications__list { list-style: none; }
.emb-notifications__item.is-unread { background: rgba(108,99,255,.06); }
.emb-notifications__link {
  display: flex; align-items: center; gap: var(--emb-space-sm);
  padding: var(--emb-space-sm) var(--emb-space-md);
  text-decoration: none; color: var(--emb-color-text);
  transition: background var(--emb-transition);
  min-height: 52px;
}
.emb-notifications__link:hover { background: var(--emb-color-card-bg); }
.emb-notifications__avatar { border-radius: var(--emb-radius-full); object-fit: cover; flex-shrink: 0; }
.emb-notifications__text  { flex: 1; font-size: .875rem; }
.emb-notifications__time  { display: block; font-size: .75rem; color: var(--emb-color-text-muted); margin-top: 2px; }
.emb-notifications__dot   { width: 8px; height: 8px; border-radius: 50%; background: var(--emb-color-accent); flex-shrink: 0; }
.emb-notifications__empty,
.emb-notifications__loading { padding: var(--emb-space-lg); text-align: center; color: var(--emb-color-text-muted); font-size: .875rem; }

/* --------------------------------------------------------------------------
   15. Events
   -------------------------------------------------------------------------- */
.emb-events__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--emb-space-lg);
}
@media (min-width: 600px)  { .emb-events__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .emb-events__grid { grid-template-columns: repeat(3, 1fr); } }

.emb-event-card {
  background: var(--emb-color-card-bg);
  border: 1px solid var(--emb-color-border);
  border-radius: var(--emb-radius-lg);
  overflow: hidden;
  display: flex; flex-direction: column;
  transition: box-shadow var(--emb-transition), transform var(--emb-transition);
}
@media (hover: hover) { .emb-event-card:hover { box-shadow: var(--emb-shadow); transform: translateY(-2px); } }

.emb-event-card__image { width: 100%; height: 180px; object-fit: cover; }
.emb-event-card__body { display: flex; gap: var(--emb-space-md); padding: var(--emb-space-lg); flex: 1; }
.emb-event-card__date-badge {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  width: 52px; height: 52px;
  background: var(--emb-color-accent); color: #fff;
  border-radius: var(--emb-radius); flex-shrink: 0; font-weight: 700;
}
.emb-event-card__date-day   { font-size: 1.25rem; line-height: 1; }
.emb-event-card__date-month { font-size: .65rem; text-transform: uppercase; letter-spacing: .06em; }
.emb-event-card__info  { flex: 1; }
.emb-event-card__title { font-size: 1rem; font-weight: 700; margin-bottom: var(--emb-space-sm); }
.emb-event-card__title a { text-decoration: none; color: var(--emb-color-text); }
.emb-event-card__title a:hover { color: var(--emb-color-accent); }
.emb-event-card__meta { list-style: none; display: flex; flex-direction: column; gap: 4px; margin-bottom: var(--emb-space-sm); }
.emb-event-card__meta li { display: flex; align-items: center; gap: 6px; font-size: .8rem; color: var(--emb-color-text-muted); }
.emb-event-card__footer { padding: var(--emb-space-md) var(--emb-space-lg); border-top: 1px solid var(--emb-color-border); display: flex; gap: var(--emb-space-sm); flex-wrap: wrap; }

/* Single Event */
.emb-single-event__image { width: 100%; max-height: 420px; object-fit: cover; border-radius: var(--emb-radius-lg); margin-bottom: var(--emb-space-xl); }
.emb-single-event__title { font-size: clamp(1.5rem, 4vw, 2.2rem); margin-bottom: var(--emb-space-lg); }

.emb-event-info {
  background: var(--emb-color-card-bg);
  border: 1px solid var(--emb-color-border);
  border-radius: var(--emb-radius-lg);
  padding: var(--emb-space-lg);
  display: flex; flex-direction: column; gap: var(--emb-space-md);
  margin-bottom: var(--emb-space-xl);
}
.emb-event-info__item { display: flex; align-items: flex-start; gap: var(--emb-space-md); }
.emb-event-info__item svg { flex-shrink: 0; color: var(--emb-color-accent); margin-top: 2px; }
.emb-event-info__item strong { display: block; font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; color: var(--emb-color-text-muted); margin-bottom: 2px; }
.emb-single-event__content { margin-top: var(--emb-space-xl); }
.emb-single-event__back { margin-top: var(--emb-space-2xl); padding-top: var(--emb-space-xl); border-top: 1px solid var(--emb-color-border); }

/* --------------------------------------------------------------------------
   16. Mitgliederkarte
   -------------------------------------------------------------------------- */
.emb-map-wrap { padding-block: var(--emb-space-md); }

.emb-map__toolbar {
  display: flex; flex-direction: column; gap: var(--emb-space-sm);
  margin-bottom: var(--emb-space-md);
}
.emb-map__toolbar-top { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--emb-space-md); flex-wrap: wrap; }
.emb-map__title { font-size: 1.75rem; margin: 0; }
.emb-map__info { color: var(--emb-color-text-muted); font-size: .9rem; margin-top: var(--emb-space-xs); }
.emb-map__count { font-size: .85rem; color: var(--emb-color-text-muted); margin-left: .25em; }
.emb-map__credit { font-size: .75rem; color: var(--emb-color-text-muted); margin-top: var(--emb-space-sm); }

/* Search */
.emb-map__controls { display: flex; gap: var(--emb-space-sm); align-items: center; }
.emb-map__search-wrap { position: relative; flex: 1; max-width: 360px; }
.emb-map__search-icon {
  position: absolute; left: 12px; top: 50%; transform: translateY(-50%);
  color: var(--emb-color-text-muted); pointer-events: none;
}
.emb-map__search { padding-left: 38px !important; }

/* Map container (relative for loading overlay) */
.emb-map__container { position: relative; }
.emb-map {
  height: clamp(360px, 55vh, 640px);
  width: 100%;
  border-radius: var(--emb-radius-lg); overflow: hidden;
  border: 1px solid var(--emb-color-border); box-shadow: var(--emb-shadow);
}

/* Loading overlay */
.emb-map__loading {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,.75);
  border-radius: var(--emb-radius-lg);
  z-index: 500;
  pointer-events: none;
}
.emb-map__loading[hidden] { display: none; }
.emb-map__spinner {
  width: 36px; height: 36px;
  border: 4px solid var(--emb-color-border);
  border-top-color: var(--emb-color-accent);
  border-radius: 50%;
  animation: emb-spin .7s linear infinite;
}
@keyframes emb-spin { to { transform: rotate(360deg); } }

/* No-results */
.emb-map__no-results {
  position: absolute; bottom: 16px; left: 50%; transform: translateX(-50%);
  background: var(--emb-color-bg-card); border: 1px solid var(--emb-color-border);
  border-radius: var(--emb-radius); padding: 8px 16px;
  font-size: .85rem; color: var(--emb-color-text-muted);
  z-index: 500; white-space: nowrap; box-shadow: var(--emb-shadow);
}
.emb-map__no-results[hidden] { display: none; }

/* Map Marker & Cluster */
.emb-map-marker {
  width: 40px; height: 40px;
  border-radius: var(--emb-radius-full);
  border: 3px solid #fff;
  box-shadow: none;
  overflow: hidden;
  background: var(--emb-color-accent);
}
.emb-map-marker img { width: 100%; height: 100%; object-fit: cover; }

.emb-cluster {
  display: flex; align-items: center; justify-content: center;
  border-radius: var(--emb-radius-full);
  color: #fff; font-weight: 800;
  border: 3px solid #fff;
  box-shadow: none;
}
.emb-cluster--small  { width: 36px; height: 36px; font-size: 13px; background: var(--emb-color-accent); }
.emb-cluster--medium { width: 44px; height: 44px; font-size: 14px; background: #4f46e5; }
.emb-cluster--large  { width: 52px; height: 52px; font-size: 15px; background: var(--emb-color-primary); }

.emb-map-popup { text-align: center; min-width: 140px; font-family: var(--emb-font-body); }
.emb-map-popup img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; margin-inline: auto; margin-bottom: 8px; border: 2px solid var(--emb-color-border); }
.emb-map-popup__name { font-weight: 700; font-size: .9rem; }
.emb-map-popup__location { font-size: .8rem; color: #666; margin-top: 2px; }
.emb-map-popup__link { display: inline-block; margin-top: 8px; font-size: .8rem; color: var(--emb-color-accent); }

@media (max-width: 480px) {
  .emb-map__search-wrap { max-width: 100%; }
  .emb-map { height: clamp(300px, 65vw, 440px); }
}

/* --------------------------------------------------------------------------
   17. Pagination
   -------------------------------------------------------------------------- */
.emb-pagination {
  display: flex; flex-wrap: wrap; gap: var(--emb-space-xs);
  justify-content: center; margin-top: var(--emb-space-xl);
}
.emb-pagination__item {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px;
  border: 2px solid var(--emb-color-border);
  border-radius: var(--emb-radius);
  text-decoration: none; color: var(--emb-color-text);
  font-weight: 600; font-size: .9rem;
  transition: all var(--emb-transition);
}
.emb-pagination__item:hover,
.emb-pagination__item.is-active { background: var(--emb-color-accent); border-color: var(--emb-color-accent); color: #fff; }
.emb-pagination__item[aria-current="page"] { background: var(--emb-color-accent); border-color: var(--emb-color-accent); color: #fff; }
.emb-pagination__prev,
.emb-pagination__next { border-color: var(--emb-color-border); }
.emb-pagination__ellipsis {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; color: var(--emb-color-text-light);
  font-weight: 600; font-size: 1rem; letter-spacing: .1em;
}

/* --------------------------------------------------------------------------
   18. Seitenkopf & Leerstatus
   -------------------------------------------------------------------------- */
.emb-page-header { margin-bottom: var(--emb-space-xl); }
.emb-events-archive,
.emb-main { padding-top: var(--emb-space-xl); }
.emb-empty { color: var(--emb-color-text-muted); text-align: center; padding: var(--emb-space-2xl) 0; font-size: 1.1rem; }
.emb-login-notice { padding: var(--emb-space-xl); text-align: center; background: var(--emb-color-card-bg); border-radius: var(--emb-radius-lg); border: 1px solid var(--emb-color-border); }

/* --------------------------------------------------------------------------
   19. Footer
   -------------------------------------------------------------------------- */
.emb-footer {
  background: var(--emb-color-footer-bg);
  color: var(--emb-color-footer-text);
  padding-block: var(--emb-space-lg);
  margin-top: auto;
  border-top: 1px solid rgba(255,255,255,.08);
}
.emb-footer__copy {
  font-size: .8rem;
  color: rgba(255,255,255,.45);
  text-align: center;
  margin: 0;
}
.emb-footer__copy a { color: rgba(255,255,255,.65); text-decoration: none; }
.emb-footer__copy a:hover { color: #fff; }

/* --------------------------------------------------------------------------
   20. 404
   -------------------------------------------------------------------------- */
.emb-404__inner { display: flex; align-items: center; justify-content: center; min-height: 60vh; }
.emb-404__content { text-align: center; max-width: 480px; }
.emb-404__code { font-size: clamp(5rem, 20vw, 10rem); font-weight: 900; color: var(--emb-color-accent); line-height: 1; opacity: .12; margin-bottom: -1rem; }
.emb-404__title { font-size: clamp(1.5rem, 4vw, 2rem); margin-bottom: var(--emb-space-md); }
.emb-404__text { color: var(--emb-color-text-muted); margin-bottom: var(--emb-space-xl); }

/* --------------------------------------------------------------------------
   21. Beitrags-Grid (index.php)
   -------------------------------------------------------------------------- */
.emb-posts-grid {
  display: grid; grid-template-columns: 1fr; gap: var(--emb-space-xl);
}
@media (min-width: 600px)  { .emb-posts-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .emb-posts-grid { grid-template-columns: repeat(3, 1fr); } }

.emb-post-card { background: var(--emb-color-card-bg); border: 1px solid var(--emb-color-border); border-radius: var(--emb-radius-lg); overflow: hidden; }
.emb-post-card__image { width: 100%; height: 200px; object-fit: cover; }
.emb-post-card__body { padding: var(--emb-space-lg); }
.emb-post-card__title { font-size: 1.1rem; margin-bottom: var(--emb-space-sm); }
.emb-post-card__title a { text-decoration: none; color: var(--emb-color-text); }
.emb-post-card__title a:hover { color: var(--emb-color-accent); }
.emb-post-card__meta { font-size: .8rem; color: var(--emb-color-text-muted); margin-bottom: var(--emb-space-sm); }

/* --------------------------------------------------------------------------
   22. Utility
   -------------------------------------------------------------------------- */
.emb-text--muted { color: var(--emb-color-text-muted); }
.emb-link { color: var(--emb-color-link); text-decoration: underline; text-underline-offset: 3px; }
.emb-link:hover { color: var(--emb-color-link-hover); }

/* --------------------------------------------------------------------------
   23. Layout – Sidebar
   -------------------------------------------------------------------------- */

/* Basis-Layout-Wrapper (immer vorhanden) */
.emb-layout {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  width: 100%;
  background: var(--emb-color-bg);
}

/* Desktop: Layout mit Sidebar als linke Spalte (wie BuddyBoss) */
@media (min-width: 1024px) {
  .emb-layout--has-sidebar {
    flex-direction: row;
    align-items: stretch;
  }

  /* Sidebar begrenzt die Breite bereits – kein zusätzliches max-width in Blöcken */
  .emb-layout--has-sidebar .emb-container {
    max-width: none !important;
  }
  /* Gutenberg Group-Block "Constrained Layout" Override */
  .emb-layout--has-sidebar .is-layout-constrained > * {
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* Haupt-Content-Bereich */
.emb-layout__content {
  flex: 1;
  min-width: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  background: var(--emb-color-bg);
}

/* ── Sidebar: Mobile = Schublade, Desktop = sticky linke Spalte ── */

/* Overlay (nur Mobile) */
.emb-sidebar-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, .45);
  z-index: 299;
  cursor: pointer;
}
.emb-sidebar-overlay.is-active { display: block; }

.emb-sidebar {
  /* Mobile: Schublade (aus dem Fluss) */
  position: fixed;
  top: var(--emb-header-height);
  left: 0;
  width: 240px;
  height: calc(100dvh - var(--emb-header-height));
  z-index: 300;
  transform: translateX(-100%);
  transition: transform .25s ease;
  background: var(--emb-color-bg);
  border-right: 1px solid var(--emb-color-border);
  overflow-y: auto;
  overflow-x: hidden;
  display: flex;
  flex-direction: column;
  scrollbar-width: thin;
  scrollbar-color: var(--emb-color-border) transparent;
}

.emb-sidebar.is-open {
  transform: translateX(0);
}

/* Desktop: sticky linke Spalte, immer sichtbar */
@media (min-width: 1024px) {
  .emb-sidebar {
    position: sticky;
    top: var(--emb-header-height);
    width: 220px;
    height: calc(100dvh - var(--emb-header-height));
    transform: none;
    z-index: auto;
    flex-shrink: 0;
  }
  .emb-sidebar-overlay { display: none !important; }
}
@media (min-width: 1024px) and (max-width: 1200px) {
  .emb-sidebar { width: 190px; }
}

/* Sidebar auf Seiten ohne Layout-Sidebar (z.B. Profilseite): nur auf Mobile sichtbar */
@media (min-width: 1024px) {
  .emb-sidebar--mobile-only {
    display: none !important;
  }
}

.emb-sidebar::-webkit-scrollbar { width: 4px; }
.emb-sidebar::-webkit-scrollbar-track { background: transparent; }
.emb-sidebar::-webkit-scrollbar-thumb { background: var(--emb-color-border); border-radius: 2px; }

/* User-Info oben */
.emb-sidebar__user {
  padding: var(--emb-space-md);
  border-bottom: 1px solid var(--emb-color-border);
  flex-shrink: 0;
}

.emb-sidebar__user-link {
  display: flex;
  align-items: center;
  gap: var(--emb-space-sm);
  text-decoration: none;
  color: var(--emb-color-text);
  border-radius: var(--emb-radius);
  padding: var(--emb-space-xs);
  transition: background var(--emb-transition);
}

.emb-sidebar__user-link:hover { background: var(--emb-color-card-bg); }

.emb-sidebar__user-avatar {
  width: 36px;
  height: 36px;
  border-radius: var(--emb-radius-full);
  object-fit: cover;
  flex-shrink: 0;
  border: 2px solid var(--emb-color-border);
}

.emb-sidebar__user-info { overflow: hidden; }

.emb-sidebar__user-name {
  display: block;
  font-size: .8rem;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.emb-sidebar__user-role {
  display: block;
  font-size: .7rem;
  color: var(--emb-color-text-muted);
}

/* Nav */
.emb-sidebar__nav {
  flex: 1;
  padding: var(--emb-space-sm) 0;
}

.emb-sidebar__menu { list-style: none; }

.emb-sidebar__item-wrap { position: relative; }

.emb-sidebar__item {
  display: flex;
  align-items: center;
  gap: var(--emb-space-sm);
  padding: .55rem var(--emb-space-md);
  font-size: .82rem;
  font-weight: 500;
  color: var(--emb-color-text);
  text-decoration: none;
  transition: background var(--emb-transition), color var(--emb-transition);
  min-height: 36px;
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  cursor: pointer;
  border-radius: 0;
}

.emb-sidebar__item svg { flex-shrink: 0; color: var(--emb-color-text-muted); transition: color var(--emb-transition); }

.emb-sidebar__item:hover,
.emb-sidebar__item-wrap.is-active > .emb-sidebar__item {
  background: color-mix(in srgb, var(--emb-color-accent) 8%, transparent);
  color: var(--emb-color-accent);
}

.emb-sidebar__item:hover svg,
.emb-sidebar__item-wrap.is-active > .emb-sidebar__item svg {
  color: var(--emb-color-accent);
}

.emb-sidebar__item-wrap.is-active > .emb-sidebar__item {
  border-left: 3px solid var(--emb-color-accent);
  font-weight: 700;
  padding-left: calc(var(--emb-space-md) - 3px);
}

/* Toggle-Button (mit Kinderitems) */
.emb-sidebar__item--toggle { justify-content: space-between; }

.emb-sidebar__chevron {
  transition: transform .2s ease;
  flex-shrink: 0;
  color: var(--emb-color-text-muted);
}

.emb-sidebar__item--toggle[aria-expanded="true"] .emb-sidebar__chevron {
  transform: rotate(180deg);
}

/* Submenü */
.emb-sidebar__submenu {
  list-style: none;
  background: color-mix(in srgb, var(--emb-color-border) 30%, transparent);
}

.emb-sidebar__submenu[hidden] { display: none; }

.emb-sidebar__item--sub {
  padding-left: calc(var(--emb-space-md) * 2);
  font-size: .8rem;
}

/* Logout ganz unten */
.emb-sidebar__bottom {
  padding: var(--emb-space-sm) 0;
  border-top: 1px solid var(--emb-color-border);
  flex-shrink: 0;
}

.emb-sidebar__item--logout {
  color: var(--emb-color-text-muted);
}

.emb-sidebar__item--logout:hover {
  background: #fef2f2;
  color: #b91c1c;
}

/* Focus-Styles für Sidebar */
.emb-sidebar__item:focus-visible {
  outline: 3px solid var(--emb-color-accent);
  outline-offset: -3px;
}

/* ── Panel-Toggle Button ─────────────────────────────────────────────────── */
.emb-sidebar__panel-toggle {
  display: none;
}
@media (min-width: 1024px) {
  .emb-sidebar__panel-toggle {
    display: flex;
    justify-content: flex-end;
    padding: var(--emb-space-xs) var(--emb-space-sm);
    flex-shrink: 0;
  }
}
.emb-sidebar__panel-toggle-btn {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--emb-color-text-muted);
  padding: 6px 8px;
  border-radius: var(--emb-radius-sm);
  line-height: 0;
  transition: background var(--emb-transition), color var(--emb-transition);
}
.emb-sidebar__panel-toggle-btn:hover {
  background: var(--emb-color-card-bg);
  color: var(--emb-color-text);
}
.emb-sidebar__panel-toggle-btn:focus-visible {
  outline: 3px solid var(--emb-color-accent);
  outline-offset: 2px;
}
.emb-panel-icon--expand { display: none; }

/* ── Collapsed State (Desktop only) ─────────────────────────────────────── */
@media (min-width: 1024px) {
  .emb-sidebar { transition: transform .25s ease, width .2s ease; }

  .emb-sidebar.is-collapsed { width: 64px; }

  .emb-sidebar.is-collapsed .emb-sidebar__panel-toggle {
    justify-content: center;
  }
  .emb-sidebar.is-collapsed .emb-panel-icon--collapse { display: none; }
  .emb-sidebar.is-collapsed .emb-panel-icon--expand   { display: block; }

  .emb-sidebar.is-collapsed .emb-sidebar__user {
    display: flex;
    justify-content: center;
    padding: var(--emb-space-sm);
  }

  .emb-sidebar.is-collapsed .emb-sidebar__item > span:not(.emb-nav__icon),
  .emb-sidebar.is-collapsed .emb-sidebar__item--toggle > span:not(.emb-nav__icon),
  .emb-sidebar.is-collapsed .emb-sidebar__item--logout > span:not(.emb-nav__icon),
  .emb-sidebar.is-collapsed .emb-sidebar__chevron { display: none; }
  .emb-sidebar.is-collapsed .emb-nav__icon { display: inline-flex; align-items: center; justify-content: center; }

  .emb-sidebar.is-collapsed .emb-sidebar__item {
    justify-content: center;
    padding-inline: var(--emb-space-sm);
  }
  .emb-sidebar.is-collapsed .emb-sidebar__item-wrap.is-active > .emb-sidebar__item {
    border-left: none;
    padding-left: var(--emb-space-sm);
  }
  .emb-sidebar.is-collapsed .emb-sidebar__submenu { display: none !important; }
  .emb-sidebar.is-collapsed .emb-sidebar__bottom { padding: var(--emb-space-xs) 0; }
}

/* Sidebar ist immer ein mobiles Drawer – kein Desktop-Spalten-Layout */

/* --------------------------------------------------------------------------
   24. Geburtstag-Feld
   -------------------------------------------------------------------------- */
.emb-birthday-group {
  display: flex;
  gap: var(--emb-space-sm);
  flex-wrap: wrap;
}

.emb-birthday__select {
  flex: 1;
  min-width: 80px;
}

/* --------------------------------------------------------------------------
   25. Auth-Seiten (Login / Registrierung)
   -------------------------------------------------------------------------- */

/* Reset für sauberes Vollbild-Layout */
.emb-auth-body {
  margin: 0;
  padding: 0;
  min-height: 100dvh;
  background: var(--emb-color-bg);
}

.emb-auth {
  display: flex;
  min-height: 100dvh;
}

/* ── Linke Marken-Spalte ── */
.emb-auth__brand {
  display: none; /* Mobile: versteckt */
  flex: 0 0 44%;
  position: relative;
  background: linear-gradient(145deg, var(--emb-color-primary) 0%, color-mix(in srgb, var(--emb-color-accent) 70%, var(--emb-color-primary)) 100%);
  background-size: cover;
  background-position: center;
  overflow: hidden;
}

.emb-auth__brand-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.25) 100%);
}

.emb-auth__brand-inner {
  position: relative;
  z-index: 1;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 3rem;
}

.emb-auth__brand-logo {
  display: inline-flex;
  align-items: center;
  margin-bottom: 3.5rem;
  text-decoration: none;
}

.emb-auth__logo-img  { max-height: 48px; width: auto; filter: brightness(0) invert(1); }
.emb-auth__logo-text {
  font-size: 1.6rem;
  font-weight: 800;
  color: #fff;
  font-family: var(--emb-font-heading);
}

.emb-auth__brand-headline {
  font-size: clamp(1.75rem, 2.5vw, 2.4rem);
  font-weight: 700;
  color: #fff;
  line-height: 1.2;
  margin-bottom: 1rem;
  font-family: var(--emb-font-heading);
}

.emb-auth__brand-sub {
  color: rgba(255,255,255,.8);
  font-size: .975rem;
  line-height: 1.65;
  max-width: 360px;
  margin-bottom: 2.5rem;
}

.emb-auth__features {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: .9rem;
}

.emb-auth__features li {
  display: flex;
  align-items: center;
  gap: .75rem;
  color: rgba(255,255,255,.9);
  font-size: .925rem;
}

.emb-auth__features svg { flex-shrink: 0; color: rgba(255,255,255,.7); }

/* ── Rechte Formular-Spalte ── */
.emb-auth__panel {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2.5rem 1.5rem;
  overflow-y: auto;
}

.emb-auth__card {
  width: 100%;
  max-width: 440px;
}

/* Mobile Logo */
.emb-auth__mobile-logo {
  display: flex;
  justify-content: center;
  margin-bottom: 2rem;
  text-decoration: none;
}

.emb-auth__mobile-logo .emb-auth__logo-img { filter: none; max-height: 40px; }
.emb-auth__mobile-logo .emb-auth__logo-text {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--emb-color-primary);
  font-family: var(--emb-font-heading);
}

/* Überschriften im Formular */
.emb-auth__form-heading {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--emb-color-text);
  margin-bottom: .35rem;
  font-family: var(--emb-font-heading);
}

.emb-auth__form-sub {
  color: var(--emb-color-text-muted);
  font-size: .9rem;
  margin-bottom: 2rem;
}

/* Hinweis-Boxen */
.emb-auth__notice {
  border-radius: var(--emb-radius);
  padding: .875rem 1rem;
  font-size: .875rem;
  margin-bottom: 1.25rem;
  display: flex;
  align-items: flex-start;
  gap: .5rem;
  line-height: 1.5;
}

.emb-auth__notice--error {
  background: #fef2f2;
  color: #b91c1c;
  border: 1px solid #fecaca;
}

.emb-auth__notice--success {
  background: #f0fdf4;
  color: #166534;
  border: 1px solid #bbf7d0;
}

/* Formular-Layout */
.emb-auth__form { display: flex; flex-direction: column; gap: 1.25rem; }
.emb-auth__form .emb-form-group { margin: 0; }

/* Remember + Forgot */
.emb-auth__options {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: -.25rem;
}

.emb-auth__forgot {
  font-size: .85rem;
  color: var(--emb-color-accent);
  text-decoration: none;
  white-space: nowrap;
}

.emb-auth__forgot:hover { text-decoration: underline; }

/* Passwort-Toggle */
.emb-pw-field { position: relative; }
.emb-pw-field .emb-input { padding-right: 3.25rem; }

.emb-pw-toggle {
  position: absolute;
  right: .875rem;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  color: var(--emb-color-text-muted);
  padding: .25rem;
  display: flex;
  align-items: center;
  min-height: 0;
  border-radius: var(--emb-radius);
  transition: color var(--emb-transition);
}

.emb-pw-toggle:hover  { color: var(--emb-color-primary); }
.emb-pw-toggle:focus-visible {
  outline: 3px solid var(--emb-color-accent);
  outline-offset: 2px;
}

/* Full-width Button */
.emb-btn--full { width: 100%; justify-content: center; }

/* Passwort-Stärke */
.emb-pw-strength { margin-top: -.5rem; }

.emb-pw-strength__bar {
  height: 4px;
  background: var(--emb-color-border);
  border-radius: 99px;
  overflow: hidden;
  margin-bottom: .35rem;
}

.emb-pw-strength__fill {
  height: 100%;
  border-radius: 99px;
  width: 0;
  transition: width .3s ease, background .3s ease;
}

.emb-pw-strength__label {
  font-size: .78rem;
  color: var(--emb-color-text-muted);
}

/* Lade-Spinner im Button */
.emb-auth__spinner {
  width: 18px;
  height: 18px;
  animation: emb-spin 1s linear infinite;
  display: inline-block;
  margin-left: .5rem;
  vertical-align: middle;
}

@keyframes emb-spin { to { transform: rotate(360deg); } }

/* Switch-Link und Rechtliches */
.emb-auth__switch {
  text-align: center;
  margin-top: 1.5rem;
  font-size: .875rem;
  color: var(--emb-color-text-muted);
}

.emb-auth__switch-link {
  color: var(--emb-color-primary);
  font-weight: 600;
  text-decoration: none;
}

.emb-auth__switch-link:hover { text-decoration: underline; }

.emb-auth__legal {
  font-size: .78rem;
  color: var(--emb-color-text-muted);
  text-align: center;
  line-height: 1.5;
  margin-top: -.5rem;
}

.emb-auth__legal a { color: var(--emb-color-text-muted); }
.emb-auth__legal a:hover { color: var(--emb-color-accent); }

.emb-field-hint {
  display: block;
  font-size: .78rem;
  color: var(--emb-color-text-muted);
  margin-top: .3rem;
}

.emb-required { color: var(--emb-color-accent); }

/* Desktop: Marken-Spalte einblenden, Mobile-Logo ausblenden */
@media (min-width: 768px) {
  .emb-auth__brand         { display: flex; align-items: stretch; }
  .emb-auth__mobile-logo   { display: none; }
  .emb-auth__panel         { padding: 3rem 2rem; }
}

@media (min-width: 1024px) {
  .emb-auth__brand-inner   { padding: 4rem; }
  .emb-auth__panel         { padding: 4rem 3rem; }
}

/* ==========================================================================
   26. UPCOMING EVENTS BLOCK (kompakte Liste)
   ========================================================================== */
.emb-upcoming-events {
  --uev-radius: var(--emb-radius, 8px);
}

.emb-upcoming-events__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .5rem;
}

.emb-upcoming-event {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .75rem;
  border-radius: var(--uev-radius);
  background: var(--emb-color-card, #fff);
  border: 1px solid var(--emb-color-border, #e5e7eb);
  transition: box-shadow .18s;
}
.emb-upcoming-event:hover { box-shadow: 0 2px 8px rgba(0,0,0,.07); }

.emb-upcoming-event__date {
  flex-shrink: 0;
  width: 44px;
  text-align: center;
  background: var(--emb-color-accent, #e63946);
  color: #fff;
  border-radius: 6px;
  padding: .35rem .2rem;
  line-height: 1.1;
}
.emb-upcoming-event__day   { display: block; font-size: 1.25rem; font-weight: 700; }
.emb-upcoming-event__month { display: block; font-size: .7rem; text-transform: uppercase; letter-spacing: .04em; }

.emb-upcoming-event__body { flex: 1; min-width: 0; }

.emb-upcoming-event__title {
  display: block;
  font-weight: 600;
  font-size: .95rem;
  color: var(--emb-color-text, #1a1a1a);
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.emb-upcoming-event__title:hover { color: var(--emb-color-accent); }

.emb-upcoming-event__meta {
  margin: .15rem 0 0;
  font-size: .8rem;
  color: var(--emb-color-text-muted, #666);
}

.emb-upcoming-events__all {
  margin-top: .75rem;
  text-align: right;
  font-size: .85rem;
}
.emb-upcoming-events__all a {
  color: var(--emb-color-accent);
  font-weight: 600;
  text-decoration: none;
}
.emb-upcoming-events__all a:hover { text-decoration: underline; }

/* ==========================================================================
   27. EVENTS ARCHIVE – Liste, Toolbar, Filter
   ========================================================================== */

/* Toolbar */
.emb-events-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: .75rem 1rem;
  margin-bottom: 1.5rem;
}

/* Suche */
.emb-events-search__wrap {
  display: flex;
  align-items: center;
  gap: .4rem;
  background: var(--emb-color-card, #fff);
  border: 1px solid var(--emb-color-border, #d1d5db);
  border-radius: 8px;
  padding: .3rem .4rem .3rem .7rem;
}
.emb-events-search__icon   { flex-shrink: 0; color: var(--emb-color-text-muted); }
.emb-events-search__input  {
  border: none;
  outline: none;
  background: transparent;
  font-size: .9rem;
  min-width: 0;
  width: 180px;
  color: var(--emb-color-text);
}
.emb-events-search__clear  {
  margin-left: .2rem;
  color: var(--emb-color-text-muted);
  text-decoration: none;
  font-size: .85rem;
  line-height: 1;
}
.emb-events-search__clear:hover { color: var(--emb-color-accent); }

/* Filter-Buttons */
.emb-events-filter {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
}
.emb-events-filter__btn {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  padding: .35rem .8rem;
  border-radius: 20px;
  font-size: .82rem;
  font-weight: 500;
  border: 1px solid var(--emb-color-border, #d1d5db);
  background: transparent;
  color: var(--emb-color-text-muted);
  text-decoration: none;
  transition: all .15s;
}
.emb-events-filter__btn:hover,
.emb-events-filter__btn.is-active {
  background: var(--emb-color-accent);
  border-color: var(--emb-color-accent);
  color: #fff;
}

/* Ergebnis-Info */
.emb-events-results-info {
  font-size: .85rem;
  color: var(--emb-color-text-muted);
  margin-bottom: 1rem;
}
.emb-events-results-info__reset {
  color: var(--emb-color-accent);
  text-decoration: none;
  font-weight: 600;
}

/* Listen-Elemente */
.emb-events-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .75rem;
}

.emb-events-list__item {
  display: grid;
  grid-template-columns: 56px 1fr auto;
  align-items: start;
  gap: 1rem;
  background: var(--emb-color-card, #fff);
  border: 1px solid var(--emb-color-border, #e5e7eb);
  border-radius: 10px;
  padding: 1rem 1.25rem;
  transition: box-shadow .18s;
}
.emb-events-list__item:hover { box-shadow: 0 4px 16px rgba(0,0,0,.07); }
.emb-events-list__item--past { opacity: .65; }

/* Datum-Badge */
.emb-events-list__date {
  text-align: center;
  background: var(--emb-color-accent, #e63946);
  color: #fff;
  border-radius: 8px;
  padding: .4rem .2rem;
  line-height: 1.1;
}
.emb-events-list__day     { display: block; font-size: 1.4rem; font-weight: 700; }
.emb-events-list__month   { display: block; font-size: .68rem; text-transform: uppercase; letter-spacing: .04em; }
.emb-events-list__weekday { display: block; font-size: .68rem; margin-top: .25rem; opacity: .85; }

/* Body */
.emb-events-list__body   { min-width: 0; }
.emb-events-list__title  {
  font-size: 1rem;
  font-weight: 600;
  margin: 0 0 .4rem;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .4rem;
}
.emb-events-list__title a {
  color: var(--emb-color-text);
  text-decoration: none;
}
.emb-events-list__title a:hover { color: var(--emb-color-accent); }

.emb-events-list__meta {
  list-style: none;
  margin: 0 0 .5rem;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: .3rem .8rem;
  font-size: .82rem;
  color: var(--emb-color-text-muted);
}
.emb-events-list__meta li {
  display: flex;
  align-items: center;
  gap: .3rem;
}

.emb-events-list__excerpt {
  margin: 0;
  font-size: .85rem;
  color: var(--emb-color-text-muted);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Actions */
.emb-events-list__actions {
  display: flex;
  flex-direction: column;
  gap: .4rem;
  align-items: flex-end;
  flex-shrink: 0;
}

/* Empty state */
.emb-empty-state {
  text-align: center;
  padding: 3rem 1rem;
  color: var(--emb-color-text-muted);
}
.emb-empty-state svg { margin-bottom: 1rem; opacity: .4; }
.emb-empty-state p   { font-size: 1rem; }
.emb-empty-state a   { color: var(--emb-color-accent); font-weight: 600; }

/* Badges */
.emb-badge {
  display: inline-block;
  padding: .15rem .5rem;
  border-radius: 12px;
  font-size: .72rem;
  font-weight: 600;
  background: var(--emb-color-border, #e5e7eb);
  color: var(--emb-color-text-muted, #555);
}
.emb-badge--free {
  background: #d1fae5;
  color: #065f46;
}

/* Responsive */
@media (max-width: 600px) {
  .emb-events-list__item {
    grid-template-columns: 48px 1fr;
    grid-template-rows: auto auto;
  }
  .emb-events-list__actions {
    grid-column: 1 / -1;
    flex-direction: row;
    justify-content: flex-start;
  }
  .emb-events-search__input { width: 120px; }
  .emb-upcoming-event { flex-wrap: wrap; }
}

/* --------------------------------------------------------------------------
   28. Profilseite – BuddyBoss-Stil
   -------------------------------------------------------------------------- */

/* Admin-Switch-Bar */
.emb-switch-bar {
  display: flex; align-items: center; justify-content: center; gap: var(--emb-space-md);
  background: #f59e0b; color: #000; padding: 8px var(--emb-space-md);
  font-size: .875rem; font-weight: 500; text-align: center; flex-wrap: wrap;
}
.emb-switch-bar__back {
  background: #000; color: #fff; padding: 4px 12px; border-radius: 4px;
  text-decoration: none; font-weight: 700; white-space: nowrap;
}
.emb-switch-bar__back:hover { background: #333; color: #fff; }

/* Profilseite nimmt volle Breite ein (keine Sidebar) */
.emb-profile { width: 100%; }

/* Cover-Bereich */
.emb-profile__cover-wrap {
  background: var(--emb-color-card-bg);
}
.emb-profile__cover {
  width: 100%;
  height: 240px;
  background: linear-gradient(135deg, var(--emb-color-primary) 0%, var(--emb-color-accent) 100%);
  background-size: cover;
  background-position: center;
  position: relative;
}
@media (min-width: 768px) { .emb-profile__cover { height: 300px; } }

.emb-profile__cover-edit {
  position: absolute;
  bottom: 12px; right: 16px;
  display: flex; align-items: center; gap: 6px;
  background: rgba(0,0,0,.55);
  color: #fff;
  font-size: .8rem;
  padding: 6px 12px;
  border-radius: var(--emb-radius);
  cursor: pointer;
  transition: background var(--emb-transition);
}
.emb-profile__cover-edit:hover { background: rgba(0,0,0,.75); }

/* Avatar-Bereich (überlappt Cover) */
.emb-profile__avatar-area {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-top: -50px;
  padding-bottom: var(--emb-space-md);
  flex-wrap: wrap;
  gap: var(--emb-space-sm);
}
.emb-profile__avatar-wrap {
  position: relative;
  display: inline-block;
  flex-shrink: 0;
}
.emb-profile__avatar {
  width: 100px; height: 100px;
  border-radius: var(--emb-radius-full);
  object-fit: cover;
  border: 4px solid var(--emb-color-bg);
  background: var(--emb-color-card-bg);
  display: block;
}
.emb-profile__avatar-edit {
  position: absolute;
  bottom: 4px; right: 4px;
  width: 28px; height: 28px;
  border-radius: var(--emb-radius-full);
  background: var(--emb-color-primary);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  transition: background var(--emb-transition);
}
.emb-profile__avatar-edit:hover { background: var(--emb-color-accent); }
.emb-profile__header-actions {
  display: flex; gap: var(--emb-space-sm); flex-wrap: wrap;
  padding-bottom: 6px;
}

/* Profilinfo */
.emb-profile__info-bar {
  padding-top: var(--emb-space-sm);
  padding-bottom: var(--emb-space-md);
  border-bottom: 1px solid var(--emb-color-border);
}
.emb-profile__name {
  font-size: 1.4rem;
  font-weight: 700;
  margin: 0 0 4px;
}
.emb-profile__meta {
  font-size: .85rem;
  color: var(--emb-color-text-muted);
  display: flex; align-items: center; gap: 6px; flex-wrap: wrap;
  margin: 0 0 6px;
}
.emb-profile__sep { opacity: .4; }
.emb-profile__location {
  display: flex; align-items: center; gap: 4px;
  font-size: .85rem;
  color: var(--emb-color-text-muted);
  margin: 0 0 8px;
}

/* Tabs */
.emb-profile__tabs-bar {
  border-bottom: 1px solid var(--emb-color-border);
  margin-bottom: var(--emb-space-lg);
}
.emb-profile__tabs {
  display: flex; gap: 0;
  overflow-x: auto;
  scrollbar-width: none;
}
.emb-profile__tabs::-webkit-scrollbar { display: none; }
.emb-profile__tab {
  padding: 12px 20px;
  font-size: .9rem;
  font-weight: 500;
  color: var(--emb-color-text-muted);
  text-decoration: none;
  border-bottom: 3px solid transparent;
  white-space: nowrap;
  transition: color var(--emb-transition), border-color var(--emb-transition);
}
.emb-profile__tab:hover { color: var(--emb-color-text); }
.emb-profile__tab.is-active {
  color: var(--emb-color-accent);
  border-bottom-color: var(--emb-color-accent);
}

/* Body */
.emb-profile__body {
  padding-bottom: var(--emb-space-2xl);
  display: flex;
  flex-direction: column;
  gap: var(--emb-space-lg);
}

/* Karte */
.emb-card {
  background: var(--emb-color-card-bg);
  border: 1px solid var(--emb-color-border);
  border-radius: var(--emb-radius-lg);
  padding: var(--emb-space-lg);
}
.emb-card__head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: var(--emb-space-md);
}
.emb-card__title {
  font-size: 1rem;
  font-weight: 600;
  margin: 0;
}

/* Bearbeiten-Formular */
.emb-profile__edit-form .emb-card { margin-bottom: 0; }

/* Visually hidden */
.emb-visually-hidden {
  position: absolute; width: 1px; height: 1px;
  margin: -1px; padding: 0; overflow: hidden;
  clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* ==========================================================================
   Mitglied-Profilseite (BuddyBoss-Stil)
   ========================================================================== */

.emb-member-profile {
  width: 100%;
  min-height: 60vh;
}

/* ── Cover-Foto ── */
.emb-member-cover {
  width: 100%;
  height: 200px;
  background-color: var(--emb-color-primary);
  background: linear-gradient(135deg, var(--emb-color-primary) 0%, var(--emb-color-accent) 100%);
  background-size: cover;
  background-position: center;
  position: relative;
  overflow: hidden;
}
@media (min-width: 480px)  { .emb-member-cover { height: 240px; } }
@media (min-width: 768px)  { .emb-member-cover { height: 300px; } }
@media (min-width: 1024px) { .emb-member-cover { height: 350px; } }

/* Cover-Upload-Button (Template: __upload-btn, alias für __edit) */
.emb-member-cover__edit,
.emb-member-cover__upload-btn {
  position: absolute;
  bottom: 12px; right: 16px;
  display: inline-flex; align-items: center; gap: 6px;
  background: rgba(0,0,0,.55);
  color: #fff;
  font-size: .8rem;
  padding: 6px 14px;
  border-radius: var(--emb-radius);
  border: none;
  cursor: pointer;
  transition: background var(--emb-transition);
  user-select: none;
}
.emb-member-cover__edit:hover,
.emb-member-cover__upload-btn:hover { background: rgba(0,0,0,.75); }

/* ── Header: Avatar + Info + Buttons ── */
.emb-member-header {
  background: var(--emb-color-bg);
  border-bottom: 1px solid var(--emb-color-border);
}
.emb-member-header__inner {
  display: flex;
  align-items: flex-start;
  gap: var(--emb-space-md);
  padding-top: 0;
  padding-bottom: var(--emb-space-lg);
  flex-wrap: wrap;
}

/* Avatar überlappt den Cover-Bereich (BuddyBoss: margin-top negativ) */
.emb-member-header__avatar-wrap {
  position: relative;
  flex-shrink: 0;
  margin-top: -60px;
}
@media (min-width: 768px) { .emb-member-header__avatar-wrap { margin-top: -80px; } }

.emb-member-header__avatar {
  width: 110px; height: 110px;
  border-radius: var(--emb-radius-full);
  object-fit: cover;
  border: 4px solid var(--emb-color-bg);
  background: var(--emb-color-card-bg);
  display: block;
  box-shadow: none;
}
@media (min-width: 768px) {
  .emb-member-header__avatar { width: 140px; height: 140px; }
}

/* Avatar-Upload-Button (Template: __avatar-upload, alias für __avatar-edit) */
.emb-member-header__avatar-edit,
.emb-member-header__avatar-upload {
  position: absolute;
  bottom: 6px; right: 6px;
  width: 32px; height: 32px;
  border-radius: var(--emb-radius-full);
  background: var(--emb-color-primary);
  color: #fff;
  border: none;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  box-shadow: var(--emb-shadow-sm);
  transition: background var(--emb-transition);
}
.emb-member-header__avatar-edit:hover,
.emb-member-header__avatar-upload:hover { background: var(--emb-color-accent); }

/* Name + Meta + Stats – nimmt restlichen Platz */
.emb-member-header__info {
  flex: 1;
  min-width: 0;
  padding-top: var(--emb-space-sm);
  align-self: flex-start;
  margin-top: 12px;
}
.emb-member-header__name {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0 0 4px;
  line-height: 1.2;
  color: var(--emb-color-text);
}
@media (min-width: 768px) { .emb-member-header__name { font-size: 1.75rem; } }

.emb-member-header__handle {
  font-size: .85rem;
  font-weight: 500;
  color: var(--emb-color-text-muted);
  margin: 0 0 6px;
}

.emb-member-header__location {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: .85rem;
  color: var(--emb-color-text-muted);
  margin: 0 0 8px;
}

/* Social-Icons-Leiste */
.emb-member-header__social {
  display: flex;
  align-items: center;
  gap: 6px;
  list-style: none;
  padding: 0; margin: 4px 0 10px;
}
.emb-member-header__social-link {
  display: flex; align-items: center; justify-content: center;
  width: 30px; height: 30px;
  border-radius: var(--emb-radius-full);
  background: var(--emb-color-border);
  color: var(--emb-color-text-muted);
  transition: background var(--emb-transition), color var(--emb-transition);
}
.emb-member-header__social-link:hover { color: #fff; }
.emb-member-header__social-link--facebook:hover  { background: #1877f2; }
.emb-member-header__social-link--instagram:hover { background: #e1306c; }
.emb-member-header__social-link--youtube:hover   { background: #ff0000; }
.emb-member-header__social-link--linkedin:hover  { background: #0077b5; }
.emb-member-header__social-link--twitter:hover   { background: #000; }
.emb-member-header__social-link--website:hover   { background: var(--emb-color-accent); }

/* Stats (jetzt innerhalb __info) */
.emb-member-header__stats {
  display: flex;
  gap: var(--emb-space-md);
  flex-wrap: wrap;
  margin-top: 4px;
}
.emb-member-header__stat {
  display: flex;
  align-items: baseline;
  gap: 4px;
}
.emb-member-header__stat-value {
  font-size: 1rem;
  font-weight: 700;
  color: var(--emb-color-text);
}
.emb-member-header__stat-label {
  font-size: .8rem;
  color: var(--emb-color-text-muted);
}

/* Aktions-Buttons – oben rechts */
.emb-member-header__actions {
  display: flex;
  gap: var(--emb-space-sm);
  flex-wrap: wrap;
  align-self: flex-start;
  margin-top: 12px;
  flex-shrink: 0;
}
@media (max-width: 599px) {
  .emb-member-header__inner { flex-wrap: wrap; }
  .emb-member-header__actions { width: 100%; }
}

/* ── Tabs ── */
.emb-member-tabs-bar {
  background: var(--emb-color-bg);
  border-bottom: 1px solid var(--emb-color-border);
  position: sticky;
  top: var(--emb-header-height);
  z-index: 50;
}
.emb-member-tabs {
  display: flex;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.emb-member-tabs::-webkit-scrollbar { display: none; }

/* Tab-Klassen: CSS unterstützt BEIDE Naming-Konventionen */
.emb-member-tabs__tab,
.emb-member-tab {
  display: inline-block;
  padding: 14px 20px;
  font-size: .9rem;
  font-weight: 500;
  color: var(--emb-color-text-muted);
  text-decoration: none;
  border-bottom: 3px solid transparent;
  white-space: nowrap;
  transition: color var(--emb-transition), border-color var(--emb-transition);
  cursor: pointer;
}
.emb-member-tabs__tab:hover,
.emb-member-tab:hover { color: var(--emb-color-text); }
.emb-member-tabs__tab.is-active,
.emb-member-tab.is-active,
.emb-member-tab.emb-member-tab--active {
  color: var(--emb-color-accent);
  border-bottom-color: var(--emb-color-accent);
  font-weight: 600;
}

/* ── Tab-Inhalt ── */
.emb-member-body {
  padding-top: var(--emb-space-xl);
  padding-bottom: var(--emb-space-2xl);
  display: flex;
  flex-direction: column;
  gap: var(--emb-space-lg);
}

/* ── Bearbeiten-Formular ── */
.emb-member-edit-form .emb-card { margin-bottom: 0; }

/* ═══════════════════════════════════════════════════════
   PROFIL BEARBEITEN (profile-edit.php)
   ═══════════════════════════════════════════════════════ */

.emb-profile-edit {
  width: 100%;
  min-height: 60vh;
}

/* Topbar: Titel + "Profil ansehen" */
.emb-profile-edit__topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: var(--emb-space-lg);
  padding-bottom: var(--emb-space-md);
  border-bottom: 1px solid var(--emb-color-border);
  margin-bottom: var(--emb-space-lg);
}
.emb-profile-edit__title {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0;
}

/* Layout: 2 Spalten (Nav links, Inhalt rechts) */
.emb-profile-edit__layout {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: var(--emb-space-xl);
  align-items: start;
  padding-top: var(--emb-space-lg);
  padding-bottom: var(--emb-space-2xl);
}
@media (max-width: 767px) {
  .emb-profile-edit__layout {
    grid-template-columns: 1fr;
  }
}

/* Linke Navigation */
.emb-profile-edit__nav {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.emb-profile-edit__nav-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  border-radius: var(--emb-radius);
  color: var(--emb-color-text);
  text-decoration: none;
  font-size: 0.95rem;
  font-weight: 500;
  transition: background 0.15s, color 0.15s;
}
.emb-profile-edit__nav-item:hover {
  background: var(--emb-color-bg-card);
  color: var(--emb-color-primary);
}
.emb-profile-edit__nav-item.is-active {
  background: var(--emb-color-primary);
  color: #fff;
}
.emb-profile-edit__nav-item.is-active svg {
  stroke: #fff;
}

/* Karte */
.emb-profile-edit__card {
  padding: var(--emb-space-xl);
}

/* Sektion-Überschrift */
.emb-profile-edit__section-title {
  font-size: 1.15rem;
  font-weight: 600;
  margin: 0 0 var(--emb-space-lg);
  padding-bottom: var(--emb-space-md);
  border-bottom: 1px solid var(--emb-color-border);
}

/* Sub-Tabs (Allgemeine Info / Social Links) */
.emb-profile-edit__subtabs {
  display: flex;
  gap: 0;
  border-bottom: 2px solid var(--emb-color-border);
  margin-bottom: var(--emb-space-lg);
}
.emb-profile-edit__subtab {
  background: none;
  border: none;
  padding: 10px 18px;
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--emb-color-text-muted);
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: color 0.15s, border-color 0.15s;
}
.emb-profile-edit__subtab:hover { color: var(--emb-color-primary); }
.emb-profile-edit__subtab.is-active {
  color: var(--emb-color-primary);
  border-bottom-color: var(--emb-color-primary);
}

/* Felder */
.emb-profile-edit__field {
  margin-bottom: var(--emb-space-lg);
}
.emb-profile-edit__label {
  display: block;
  font-weight: 500;
  margin-bottom: 6px;
  font-size: 0.95rem;
}
.emb-profile-edit__req {
  font-weight: 400;
  color: var(--emb-color-text-muted);
  font-size: 0.88rem;
}
.emb-profile-edit__help {
  font-size: 0.82rem;
  color: var(--emb-color-text-muted);
  margin: 4px 0 0;
}
.emb-profile-edit__visibility {
  margin-top: 10px;
}
.emb-profile-edit__visibility-label {
  display: block;
  margin-bottom: 6px;
  font-size: 0.82rem;
  color: var(--emb-color-text-muted);
}

/* Aktionen */
.emb-profile-edit__actions {
  display: flex;
  align-items: center;
  gap: var(--emb-space-md);
  flex-wrap: wrap;
  margin-top: var(--emb-space-xl);
  padding-top: var(--emb-space-lg);
  border-top: 1px solid var(--emb-color-border);
}

/* Nachrichten */
.emb-profile-edit__msg {
  font-size: 0.9rem;
  padding: 4px 10px;
  border-radius: var(--emb-radius);
}
.emb-profile-edit__msg.is-success {
  background: color-mix(in srgb, var(--emb-color-success, #1f8f5f) 12%, #fff);
  color: var(--emb-color-success, #1f8f5f);
}
.emb-profile-edit__msg.is-error {
  background: color-mix(in srgb, var(--emb-color-accent) 10%, #fff);
  color: var(--emb-color-accent);
}

/* Info-Box */
.emb-profile-edit__info-box {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  background: color-mix(in srgb, var(--emb-color-primary) 10%, #fff);
  color: var(--emb-color-primary);
  border-radius: var(--emb-radius);
  padding: 14px 16px;
  font-size: 0.92rem;
  margin-bottom: var(--emb-space-lg);
}
.emb-profile-edit__info-box svg { flex-shrink: 0; margin-top: 1px; }

/* Aktuelles Bild */
.emb-profile-edit__current-img {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  margin-bottom: var(--emb-space-lg);
}
.emb-profile-edit__avatar-preview {
  border-radius: 50%;
  border: 3px solid var(--emb-color-border);
  object-fit: cover;
}

/* Dropzone */
.emb-profile-edit__dropzone {
  border: 2px dashed var(--emb-color-border);
  border-radius: var(--emb-radius);
  background: var(--emb-color-bg-card);
  padding: var(--emb-space-xl) var(--emb-space-lg);
  text-align: center;
  transition: border-color 0.2s, background 0.2s;
  cursor: default;
  margin-bottom: var(--emb-space-md);
}
.emb-profile-edit__dropzone.is-dragover {
  border-color: var(--emb-color-primary);
  background: color-mix(in srgb, var(--emb-color-primary) 8%, #fff);
}
.emb-profile-edit__dropzone-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--emb-space-sm);
}
.emb-profile-edit__dropzone-inner svg {
  color: var(--emb-color-text-muted);
}
.emb-profile-edit__dropzone-inner p {
  margin: 0;
  color: var(--emb-color-text-muted);
  font-size: 0.95rem;
}
.emb-profile-edit__dropzone-filename {
  font-size: 0.85rem;
  color: var(--emb-color-text-muted);
  margin: var(--emb-space-sm) 0 0;
}

/* Tipp-Text */
.emb-profile-edit__tip {
  background: color-mix(in srgb, var(--emb-color-accent) 10%, #fff);
  color: var(--emb-color-accent);
  border-radius: var(--emb-radius);
  padding: 12px 16px;
  font-size: 0.88rem;
  margin-top: var(--emb-space-md);
}

/* Danger Button */
.emb-btn--danger {
  background: var(--emb-color-accent);
  color: #fff;
  border: none;
}
.emb-btn--danger:hover { filter: brightness(0.9); }

/* ═══════════════════════════════════════════════════════
   KREATIVDATEIEN / DOKUMENTE ([emb_kreativdateien])
   ═══════════════════════════════════════════════════════ */

.emb-docs {
  padding: var(--emb-space-xl) 0;
}

/* Header */
.emb-docs__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--emb-space-md);
  margin-bottom: var(--emb-space-lg);
}
.emb-docs__title {
  font-size: 1.8rem;
  font-weight: 700;
  margin: 0;
}
.emb-docs__header-actions {
  display: flex;
  align-items: center;
  gap: var(--emb-space-sm);
  flex-wrap: wrap;
}

/* Suchfeld */
.emb-docs__search-wrap {
  position: relative;
  display: flex;
  align-items: center;
}
.emb-docs__search-wrap svg {
  position: absolute;
  left: 10px;
  color: var(--emb-color-text-muted);
  pointer-events: none;
}
.emb-docs__search {
  padding: 8px 12px 8px 34px;
  border: 1px solid var(--emb-color-border);
  border-radius: var(--emb-radius);
  font-size: 0.9rem;
  width: 220px;
  background: var(--emb-color-bg-card);
  color: var(--emb-color-text);
}
.emb-docs__search:focus { outline: 2px solid var(--emb-color-primary); border-color: transparent; }

/* Tabs */
.emb-docs__tabs {
  display: flex;
  gap: 0;
  border-bottom: 2px solid var(--emb-color-border);
  margin-bottom: var(--emb-space-lg);
}
.emb-docs__tab {
  background: none;
  border: none;
  padding: 10px 18px;
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--emb-color-text-muted);
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: color 0.15s, border-color 0.15s;
}
.emb-docs__tab:hover { color: var(--emb-color-primary); }
.emb-docs__tab.is-active {
  color: var(--emb-color-primary);
  border-bottom-color: var(--emb-color-primary);
}

/* Breadcrumb */
.emb-docs__breadcrumb {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: var(--emb-space-md);
  flex-wrap: wrap;
}
.emb-docs__breadcrumb-item {
  background: none;
  border: none;
  padding: 4px 8px;
  border-radius: var(--emb-radius);
  font-size: 0.9rem;
  color: var(--emb-color-primary);
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 5px;
}
.emb-docs__breadcrumb-item:hover { text-decoration: underline; }
.emb-docs__breadcrumb-sep { color: var(--emb-color-text-muted); font-size: 0.85rem; }

/* Tabelle */
.emb-docs__table-wrap {
  border: 1px solid var(--emb-color-border);
  border-radius: var(--emb-radius);
  overflow: hidden;
  background: var(--emb-color-bg-card);
}
.emb-docs__table {
  width: 100%;
  border-collapse: collapse;
}
.emb-docs__table thead th {
  padding: 10px 16px;
  text-align: left;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: var(--emb-color-text-muted);
  border-bottom: 1px solid var(--emb-color-border);
  background: transparent;
}
.emb-docs__col-name { width: 50%; }
.emb-docs__col-date { width: 20%; }
.emb-docs__col-vis  { width: 15%; }
.emb-docs__col-menu { width: 5%; }

.emb-docs__row td {
  padding: 14px 16px;
  border-bottom: 1px solid var(--emb-color-border);
  vertical-align: middle;
  font-size: 0.93rem;
}
.emb-docs__row:last-child td { border-bottom: none; }
.emb-docs__row--folder { cursor: pointer; }
.emb-docs__row--folder:hover { background: var(--emb-color-bg); }

/* Spalte Name */
.emb-docs__col-name {
  display: flex;
  align-items: center;
  gap: 10px;
}
.emb-docs__row td:first-child {
  display: flex;
  align-items: center;
  gap: 10px;
}
.emb-docs__icon {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  color: var(--emb-color-text-muted);
}
.emb-docs__icon--folder { color: #6b7280; }
.emb-docs__icon--pdf    { color: #dc2626; }
.emb-docs__name { font-weight: 500; }
.emb-docs__size { font-size: 0.8rem; color: var(--emb-color-text-muted); margin-left: 4px; }

/* Datum */
.emb-docs__col-date { color: var(--emb-color-text); font-size: 0.88rem; }
.emb-docs__by       { color: var(--emb-color-text-muted); font-size: 0.82rem; }

/* Sichtbarkeit */
.emb-docs__vis {
  font-size: 0.88rem;
  color: var(--emb-color-text-muted);
}

/* ⋮ Menü */
.emb-docs__menu-wrap { position: relative; text-align: right; }
.emb-docs__menu-btn {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: var(--emb-radius);
  color: var(--emb-color-text-muted);
}
.emb-docs__menu-btn:hover { background: var(--emb-color-bg); color: var(--emb-color-text); }
.emb-docs__menu-dropdown {
  position: absolute;
  right: 0;
  top: calc(100% + 4px);
  min-width: 200px;
  background: var(--emb-color-bg-card);
  border: 1px solid var(--emb-color-border);
  border-radius: var(--emb-radius);
  box-shadow: var(--emb-shadow-md, 0 4px 16px rgba(0,0,0,.12));
  z-index: 200;
  list-style: none;
  margin: 0;
  padding: 6px 0;
}
.emb-docs__menu-item {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 9px 16px;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 0.9rem;
  color: var(--emb-color-text);
  text-decoration: none;
  text-align: left;
  white-space: nowrap;
}
.emb-docs__menu-item:hover { background: var(--emb-color-bg); }
.emb-docs__menu-item--danger { color: #dc2626; }
.emb-docs__menu-item--danger:hover { background: #fef2f2; }

/* Leer-Zustand */
.emb-docs__empty {
  text-align: center;
  padding: var(--emb-space-2xl);
  color: var(--emb-color-text-muted);
}
.emb-docs__empty svg { margin-bottom: var(--emb-space-md); opacity: 0.4; }

/* Loading */
.emb-docs__loading-row td {
  text-align: center;
  padding: var(--emb-space-xl);
  color: var(--emb-color-text-muted);
}

/* Upload Dropzone */
.emb-docs__dropzone {
  border: 2px dashed var(--emb-color-border);
  border-radius: var(--emb-radius);
  background: var(--emb-color-bg);
  padding: var(--emb-space-xl);
  text-align: center;
}
.emb-docs__dropzone.is-dragover {
  border-color: var(--emb-color-primary);
  background: #f0f4ff;
}
.emb-docs__dropzone > svg { color: var(--emb-color-text-muted); margin-bottom: var(--emb-space-sm); }
.emb-docs__dropzone p { margin: var(--emb-space-sm) 0; color: var(--emb-color-text-muted); font-size: 0.9rem; }
.emb-docs__dropzone-name { font-size: 0.85rem; color: var(--emb-color-primary); margin-top: 4px; }

/* Upload Progress */
.emb-docs__upload-progress {
  margin-top: var(--emb-space-md);
  display: flex;
  align-items: center;
  gap: var(--emb-space-sm);
  font-size: 0.85rem;
}

/* Sichtbarkeits-Toggle */
.emb-docs__vis-toggle {
  display: flex;
  gap: var(--emb-space-lg);
}
.emb-docs__vis-opt {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.93rem;
  cursor: pointer;
}

/* Modal */
.emb-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.5);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--emb-space-lg);
}
.emb-modal-overlay[hidden] { display: none; }
.emb-modal {
  background: var(--emb-color-bg-card);
  border-radius: var(--emb-radius);
  width: 100%;
  max-width: 520px;
  box-shadow: 0 20px 60px rgba(0,0,0,.2);
}
.emb-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--emb-space-lg) var(--emb-space-xl);
  border-bottom: 1px solid var(--emb-color-border);
}
.emb-modal__title {
  font-size: 1.1rem;
  font-weight: 600;
  margin: 0;
}
.emb-modal__close {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--emb-color-text-muted);
  padding: 4px;
  border-radius: var(--emb-radius);
}
.emb-modal__close:hover { color: var(--emb-color-text); background: var(--emb-color-bg); }
.emb-modal__body   { padding: var(--emb-space-xl); }
.emb-modal__footer {
  display: flex;
  justify-content: flex-end;
  gap: var(--emb-space-md);
  padding: var(--emb-space-lg) var(--emb-space-xl);
  border-top: 1px solid var(--emb-color-border);
}

@media (max-width: 600px) {
  .emb-docs__header { flex-direction: column; align-items: flex-start; }
  .emb-docs__search { width: 100%; }
  .emb-docs__col-date, .emb-docs__col-vis { display: none; }
}

/* ── Feed: WordPress Beiträge ──────────────────────────────────────────── */
.emb-feed-item__content--wp-post { display: flex; flex-direction: column; gap: .3rem; }
.emb-feed-item__wp-title {
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--emb-color-text);
  text-decoration: none;
  line-height: 1.4;
}
.emb-feed-item__wp-title:hover { color: var(--emb-color-primary); text-decoration: underline; }
.emb-feed-item__wp-thumb-link { text-decoration: none; }

/* ═══════════════════════════════════════════════════════════════════════
   Profil – Erweiterungen (Social Icons, Stats, Verbindungen, Fotos, Karte)
   ═══════════════════════════════════════════════════════════════════════ */

/* Social Icons – echte Marken-Icons */
.emb-social-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px;
  border-radius: 50%;
  text-decoration: none;
  transition: opacity var(--emb-transition), transform var(--emb-transition);
  color: #fff;
  flex-shrink: 0;
}
.emb-social-icon:hover { opacity: .85; transform: scale(1.08); }
.emb-social-icon--facebook  { background: #1877f2; }
.emb-social-icon--instagram { background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%); }
.emb-social-icon--youtube   { background: #ff0000; }
.emb-social-icon--website   { background: var(--emb-color-primary); }
.emb-social-icon--twitter   { background: #000; }
.emb-social-icon--pinterest { background: #e60023; }

/* (Stats + Location bereits oben unter emb-member-header definiert) */

/* Verbinden-Button Zustände im Profil-Header */
.emb-profile-connect-btn.is-connected {
  background: #16a34a; border-color: #16a34a;
}
.emb-profile-connect-btn.is-pending {
  background: var(--emb-color-text-muted); border-color: var(--emb-color-text-muted);
}

/* Section Title */
.emb-section-title {
  font-size: 1rem; font-weight: 600;
  color: var(--emb-color-text-muted);
  text-transform: uppercase; letter-spacing: .05em;
  margin: 0 0 var(--emb-space-lg);
}

/* Verbindungen-Grid */
.emb-connections-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: var(--emb-space-md);
}
.emb-conn-card {
  display: flex; align-items: center; gap: var(--emb-space-md);
  background: var(--emb-color-bg-card);
  border: 1px solid var(--emb-color-border);
  border-radius: var(--emb-radius-lg);
  padding: var(--emb-space-md);
  text-decoration: none; color: var(--emb-color-text);
  transition: box-shadow var(--emb-transition), border-color var(--emb-transition);
}
.emb-conn-card:hover { box-shadow: var(--emb-shadow-md); border-color: var(--emb-color-primary); }
.emb-conn-card__avatar {
  width: 52px; height: 52px; border-radius: 50%; object-fit: cover; flex-shrink: 0;
}
.emb-conn-card__info { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.emb-conn-card__name { font-size: .9rem; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.emb-conn-card__loc  { font-size: .75rem; color: var(--emb-color-text-muted); display: flex; align-items: center; gap: 3px; }

/* Fotos-Grid */
.emb-photo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: var(--emb-space-sm);
}
.emb-photo-grid__item {
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: var(--emb-radius);
  background: var(--emb-color-bg);
}
.emb-photo-grid__img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .3s ease;
  display: block;
}
.emb-photo-grid__item:hover .emb-photo-grid__img { transform: scale(1.05); }

/* Profil-Karte */
.emb-profile-map {
  height: 400px;
  border-radius: 0 0 var(--emb-radius-lg) var(--emb-radius-lg);
  overflow: hidden;
}

/* Docs 3-Punkt-Menü – besser sichtbar */
.emb-docs__menu-btn {
  background: none;
  border: 1px solid transparent;
  cursor: pointer;
  padding: 5px 10px;
  border-radius: var(--emb-radius);
  color: var(--emb-color-text);
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: .05em;
  opacity: .6;
}
.emb-docs__menu-btn:hover {
  background: var(--emb-color-bg);
  border-color: var(--emb-color-border);
  opacity: 1;
}
tr:hover .emb-docs__menu-btn { opacity: 1; }

/* ── Benachrichtigungen: Verbindungsanfrage Buttons ── */
.emb-notifications__friend-btns {
  display: flex;
  gap: .5rem;
  margin: .4rem 0 .2rem;
  flex-wrap: wrap;
}
.emb-notifications__link .emb-btn--sm {
  font-size: .78rem;
  padding: .25rem .7rem;
  line-height: 1.4;
}
.emb-friend-status--accepted { color: #22c55e; font-size: .85rem; }
.emb-friend-status--declined { color: var(--emb-color-text-muted); font-size: .85rem; }

/* ── Dokumente: Inline-Rename Input ── */
.emb-docs__name-input {
  width: 100%;
  max-width: 280px;
  padding: .2rem .5rem;
  font-size: .875rem;
  margin: 0;
}

/* ── Profil: Aktivitäten-Tab (wp_bp_activity) ── */
.emb-activity-list { display: flex; flex-direction: column; gap: 1rem; }
.emb-activity-item {
  background: var(--emb-color-bg-card);
  border: 1px solid var(--emb-color-border);
  border-radius: var(--emb-radius);
  padding: 1rem 1.25rem;
}
.emb-activity-item__header {
  display: flex;
  align-items: center;
  gap: .625rem;
  margin-bottom: .625rem;
}
.emb-activity-item__avatar {
  width: 36px; height: 36px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.emb-activity-item__time {
  display: block;
  font-size: .75rem;
  color: var(--emb-color-text-muted);
}
.emb-activity-item__content {
  font-size: .9375rem;
  line-height: 1.55;
  color: var(--emb-color-text);
}

/* ── Profil: Dokumente-Tab ── */
.emb-docs-profile-list { display: flex; flex-direction: column; gap: .5rem; }
.emb-docs-profile-item {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .75rem 1rem;
  background: var(--emb-color-bg-card);
  border: 1px solid var(--emb-color-border);
  border-radius: var(--emb-radius);
}
.emb-docs-profile-item__name {
  flex: 1;
  font-weight: 500;
  color: var(--emb-color-text);
  text-decoration: none;
}
.emb-docs-profile-item__name:hover { color: var(--emb-color-primary); }
.emb-docs-profile-item__date {
  font-size: .75rem;
  color: var(--emb-color-text-muted);
  white-space: nowrap;
}

/* ==========================================================================
   BuddyBoss / BuddyPress Responsive Overrides
   Nur Anpassungen für Responsivität – keine kompletten Style-Overrides
   ========================================================================== */

/* --- Allgemein ---------------------------------------------------------- */
.buddypress-wrap,
#buddypress {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

#buddypress div.item-list-tabs ul,
#buddypress ul.item-list {
  padding-left: 0;
  list-style: none;
}

/* --- Mitglieder-Verzeichnis -------------------------------------------- */
#buddypress #members-dir-list .member-listing,
#buddypress ul.item-list li.vcard {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}

#buddypress ul.members-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1rem;
  padding: 0;
  list-style: none;
}

@media (max-width: 480px) {
  #buddypress ul.members-list {
    grid-template-columns: 1fr;
  }
}

/* --- Mitglieder-Profil Header ------------------------------------------ */
#buddypress #item-header,
#buddypress #item-header-cover-image {
  width: 100%;
}

#buddypress #item-header .generic-button,
#buddypress .action-button {
  min-width: 44px;
  min-height: 44px;
}

/* Cover-Bild responsiv */
#buddypress #header-cover-image {
  width: 100%;
  height: 200px;
  object-fit: cover;
}

@media (min-width: 768px) {
  #buddypress #header-cover-image {
    height: 280px;
  }
}

/* --- Profil-Tabs -------------------------------------------------------- */
#buddypress #object-nav ul,
#buddypress div.item-list-tabs ul {
  display: flex;
  flex-wrap: wrap;
  gap: .25rem;
  padding: 0;
  margin: 0;
  list-style: none;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

#buddypress div.item-list-tabs ul li a {
  white-space: nowrap;
  padding: .5rem .75rem;
  display: block;
}

/* --- Dokumente ---------------------------------------------------------- */
#buddypress .document-listing,
#buddypress .bb-dropzone-wrap {
  width: 100%;
}

#buddypress .document-data-wrap {
  overflow-x: auto;
}

@media (max-width: 600px) {
  #buddypress .document-data-wrap table {
    display: block;
    overflow-x: auto;
  }
}

/* --- Benachrichtigungen ------------------------------------------------- */
#buddypress #notifications-list {
  padding: 0;
  list-style: none;
}

#buddypress #notifications-list li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  padding: .75rem 0;
  border-bottom: 1px solid var(--emb-color-border, #e5e7eb);
}

/* --- Verbindungen ------------------------------------------------------- */
#buddypress #friends-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1rem;
  padding: 0;
  list-style: none;
}

@media (max-width: 480px) {
  #buddypress #friends-list {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* --- Formular-Elemente (Touch-Targets) ---------------------------------- */
#buddypress input[type="text"],
#buddypress input[type="email"],
#buddypress textarea,
#buddypress select {
  width: 100%;
  min-height: 44px;
  box-sizing: border-box;
}

#buddypress input[type="submit"],
#buddypress button,
#buddypress a.button,
#buddypress .generic-button a {
  min-height: 44px;
  min-width: 44px;
  cursor: pointer;
}

/* --- Mobile Navbar-Spacing ---------------------------------------------- */
@media (max-width: 767px) {
  .buddypress-wrap {
    padding: 0 .5rem;
  }

  #buddypress .item-list-tabs ul li a span {
    display: none;
  }
}

/* ==========================================================================
   Hero-Welcome Block (emb/hero-welcome)
   ========================================================================== */

.emb-hero-welcome {
  background: linear-gradient(135deg, var(--emb-color-primary, #1e2d3d) 0%, color-mix(in srgb, var(--emb-color-primary, #1e2d3d) 80%, var(--emb-color-accent, #6c63ff)) 100%);
  color: #fff;
  padding: 28px var(--emb-space-xl);
  margin-bottom: 32px;
  border-radius: var(--emb-radius, 12px);
  overflow: hidden;
}

.emb-hero-welcome__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}

.emb-hero-welcome__left {
  display: flex;
  align-items: center;
  gap: 20px;
  flex: 1;
  min-width: 0;
}

.emb-hero-welcome__avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  border: 3px solid rgba(255, 255, 255, .3);
  object-fit: cover;
  flex-shrink: 0;
}

.emb-hero-welcome__text { min-width: 0; }

.emb-hero-welcome__greeting {
  font-size: .82rem;
  color: rgba(255, 255, 255, .75);
  margin: 0 0 2px;
  font-weight: 500;
}

.emb-hero-welcome__name {
  font-size: clamp(1.3rem, 3vw, 1.85rem);
  font-weight: 800;
  color: #fff;
  margin: 0 0 4px;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.emb-hero-welcome__tagline {
  font-size: .88rem;
  color: rgba(255, 255, 255, .8);
  margin: 0;
}

.emb-hero-welcome__right {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-shrink: 0;
}

.emb-hero-welcome__stats { display: flex; gap: 24px; }

.emb-hero-welcome__stat { text-align: center; }

.emb-hero-welcome__stat-num {
  display: block;
  font-size: 1.5rem;
  font-weight: 800;
  color: #fff;
  line-height: 1;
}

.emb-hero-welcome__stat-label {
  font-size: .7rem;
  color: rgba(255, 255, 255, .7);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .05em;
}

/* Override emb-btn--primary inside hero to look white */
.emb-hero-welcome .emb-btn--primary {
  background: rgba(255, 255, 255, .2);
  border-color: rgba(255, 255, 255, .5);
  color: #fff;
  backdrop-filter: blur(4px);
}

.emb-hero-welcome .emb-btn--primary:hover {
  background: rgba(255, 255, 255, .35);
  border-color: #fff;
}

@media (max-width: 768px) {
  .emb-hero-welcome { border-radius: var(--emb-radius); padding: 20px var(--emb-space-md); }
}

@media (max-width: 480px) {
  .emb-hero-welcome__inner { flex-direction: column; align-items: flex-start; gap: 20px; }
  .emb-hero-welcome__right { width: 100%; justify-content: space-between; }
  .emb-hero-welcome__avatar { width: 60px; height: 60px; }
}

/* Hero-Varianten (heroBg-Attribut) */
.emb-hero-welcome--gradient {
  background: linear-gradient(135deg, var(--emb-color-primary, #1e2d3d) 0%, color-mix(in srgb, var(--emb-color-primary, #1e2d3d) 70%, var(--emb-color-accent, #6c63ff)) 100%);
}

.emb-hero-welcome--primary {
  background: var(--emb-color-primary, #1e2d3d);
}

.emb-hero-welcome--white {
  background: #fff;
  color: var(--emb-color-text, #1a1a2e);
  border: 1px solid var(--emb-color-border, #e2e8f0);
}

.emb-hero-welcome--white .emb-hero-welcome__greeting,
.emb-hero-welcome--white .emb-hero-welcome__name,
.emb-hero-welcome--white .emb-hero-welcome__tagline {
  color: var(--emb-color-text, #1a1a2e);
}

.emb-hero-welcome--white .emb-hero-welcome__stat-num,
.emb-hero-welcome--white .emb-hero-welcome__stat-label {
  color: var(--emb-color-text, #1a1a2e);
}

.emb-hero-welcome--white .emb-hero-welcome__avatar {
  border-color: var(--emb-color-border, #e8edf2);
}

.emb-hero-welcome--white .emb-btn--primary {
  background: var(--emb-color-primary, #1e2d3d);
  border-color: var(--emb-color-primary, #1e2d3d);
  color: #fff;
  backdrop-filter: none;
}

.emb-hero-welcome--white .emb-btn--primary:hover {
  background: color-mix(in srgb, var(--emb-color-primary, #1e2d3d) 85%, #000);
  border-color: color-mix(in srgb, var(--emb-color-primary, #1e2d3d) 85%, #000);
}

/* ==========================================================================
   Block-Section Utility (emb-block-section--* Modifikatoren)
   Genutzt von: emb/quick-links, emb/content-grid
   ========================================================================== */

.emb-block-section {
  padding-block: 40px;
}

.emb-block-section--none {
  background: transparent;
}

.emb-block-section--alt {
  background: var(--emb-color-bg-alt, #f0f2f5);
}

.emb-block-section--primary {
  background: var(--emb-color-primary, #1e2d3d);
}

.emb-block-section--primary .emb-block-section__title {
  color: #fff;
}

.emb-block-section__title {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--emb-color-text, #1a1a2e);
  margin: 0 0 20px;
}

/* Section-Titles (Gutenberg h2 used as section headers on homepage) */
.emb-section-title {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--emb-color-text, #1a1a2e);
  margin: 40px 0 16px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--emb-color-border, #e8edf2);
}

/* ==========================================================================
   Quick-Links Block (emb/quick-links)
   ========================================================================== */

.emb-quick-links {
  --qlinks-cols: 3;
  padding-block: 32px 24px;
}

.emb-quick-links__grid {
  display: grid;
  grid-template-columns: repeat(var(--qlinks-cols), 1fr);
  gap: 16px;
}

.emb-quick-links__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 22px 16px 18px;
  background: var(--emb-color-bg-card, #fff);
  border: 1px solid var(--emb-color-border, #e8edf2);
  border-radius: var(--emb-radius, 12px);
  text-decoration: none;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
  cursor: pointer;
}

.emb-quick-links__card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .08);
  border-color: var(--ql-color, var(--emb-color-primary, #6c63ff));
}

.emb-quick-links__icon {
  --ql-color: var(--emb-color-primary, #6c63ff);
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: rgba(0, 0, 0, .04);
  color: var(--ql-color);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background .15s ease;
}

.emb-quick-links__card:hover .emb-quick-links__icon {
  background: color-mix(in srgb, var(--ql-color) 12%, transparent);
}

.emb-quick-links__label {
  font-size: .83rem;
  font-weight: 600;
  color: var(--emb-color-text, #1a1a2e);
  text-align: center;
  line-height: 1.3;
}

@media (max-width: 767px) {
  .emb-quick-links__grid { gap: 12px; }
  .emb-quick-links__card { padding: 16px 10px 14px; }
  .emb-quick-links__icon { width: 44px; height: 44px; border-radius: 11px; }
}

@media (max-width: 479px) {
  .emb-quick-links { --qlinks-cols: 3 !important; }
  .emb-quick-links__grid { gap: 10px; }
  .emb-quick-links__label { font-size: .75rem; }
}

/* ==========================================================================
   Mitglied-Profilseite
   Design-Sprache:
   - orientiert sich an Mitgliederliste und Theme-Karten
   - keine festen Markenfarben in diesem Block
   - Farben/Schriften kommen ausschließlich aus Theme-Variablen
   Pflege:
   - Struktur: templates/community/profile.php
   - Design: nur hier in main.css erweitern
   ========================================================================== */

/* ── Wrapper ── */
.emb-profile2 {
  width: 100%;
  min-height: 60vh;
}

/* ── Cover ── */
.emb-profile2__cover {
  width: 100%;
  height: 220px;
  background-color: var(--emb-color-primary);
  background-size: cover;
  background-position: center top;
  position: relative;
  overflow: hidden;
  border: 1px solid var(--emb-color-border);
  border-radius: var(--emb-radius-lg);
}
.emb-profile2__cover--gradient {
  background: linear-gradient(135deg, var(--emb-color-primary) 0%, var(--emb-color-accent) 100%);
}
@media (min-width: 480px)  { .emb-profile2__cover { height: 260px; } }
@media (min-width: 768px)  { .emb-profile2__cover { height: 300px; } }
@media (min-width: 1024px) { .emb-profile2__cover { height: 340px; } }

.emb-profile2__cover-edit {
  position: absolute;
  bottom: 14px;
  right: 18px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: color-mix(in srgb, var(--emb-color-primary) 74%, transparent);
  color: var(--emb-btn-text);
  font-size: .8rem;
  font-weight: 500;
  padding: 7px 14px;
  border-radius: var(--emb-radius);
  border: 1px solid color-mix(in srgb, var(--emb-color-bg) 18%, transparent);
  cursor: pointer;
  transition: background var(--emb-transition);
  min-height: 44px;
}
.emb-profile2__cover-edit:hover {
  background: color-mix(in srgb, var(--emb-color-primary) 88%, transparent);
}

/* ── Header-Wrap (weißer Hintergrund, kein border-bottom, Avatar überlappt) ── */
.emb-profile2__header-wrap {
  background: var(--emb-color-card-bg);
  padding-bottom: var(--emb-space-lg);
  border: 1px solid var(--emb-color-border);
  border-radius: var(--emb-radius-lg);
  box-shadow: var(--emb-shadow-sm);
}

/* Avatar-Reihe: Avatar links, Buttons rechts */
.emb-profile2__avatar-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--emb-space-md);
  padding-top: 0;
}

.emb-profile2__avatar-wrap {
  position: relative;
  flex-shrink: 0;
  margin-top: -45px;
}
@media (min-width: 768px) { .emb-profile2__avatar-wrap { margin-top: -52px; } }

.emb-profile2__avatar {
  width: 90px;
  height: 90px;
  border-radius: var(--emb-radius-full);
  object-fit: cover;
  border: 3px solid var(--emb-color-bg);
  background: var(--emb-color-card-bg);
  display: block;
  box-shadow: none;
}
@media (min-width: 768px) {
  .emb-profile2__avatar { width: 110px; height: 110px; }
  .emb-profile2__avatar-wrap { margin-top: -58px; }
}

.emb-profile2__avatar-edit {
  position: absolute;
  bottom: 4px;
  right: 4px;
  width: 28px;
  height: 28px;
  border-radius: var(--emb-radius-full);
  background: var(--emb-btn-bg);
  color: var(--emb-btn-text);
  border: 2px solid var(--emb-color-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: var(--emb-shadow-sm);
  transition: background var(--emb-transition);
}
.emb-profile2__avatar-edit:hover {
  background: var(--emb-btn-hover-bg);
  color: var(--emb-btn-hover-text);
}

/* Action-Buttons (rechts in avatar-row) */
.emb-profile2__header-actions {
  display: flex;
  align-items: center;
  gap: var(--emb-space-sm);
  flex-wrap: wrap;
  padding-top: var(--emb-space-sm);
  flex-shrink: 0;
}
@media (max-width: 479px) {
  .emb-profile2__header-actions { gap: 6px; }
  .emb-profile2__header-actions .emb-btn { font-size: .8rem; padding: 8px 12px; }
}

/* Name + Meta unter dem Avatar */
.emb-profile2__meta {
  margin-top: var(--emb-space-sm);
  max-width: 760px;
}

.emb-profile2__name {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--emb-color-text);
  margin: 0 0 2px;
  line-height: 1.2;
  letter-spacing: -0.02em;
}
@media (min-width: 768px) { .emb-profile2__name { font-size: 1.875rem; } }

.emb-profile2__meta-line {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 12px;
}
.emb-profile2__meta-pill {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 6px 12px;
  border-radius: var(--emb-radius-full);
  background: var(--emb-color-card-bg);
  border: 1px solid var(--emb-color-border);
  color: var(--emb-color-text-muted);
  font-size: .83rem;
  font-weight: 600;
}

.emb-profile2__location {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: .875rem;
  color: var(--emb-color-text-muted);
  margin: 0 0 10px;
}

/* Social Icons */
.emb-profile2__social {
  display: flex;
  align-items: center;
  gap: 6px;
  list-style: none;
  padding: 0;
  margin: 0 0 var(--emb-space-md);
}
.emb-profile2__social-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: var(--emb-radius-full);
  background: var(--emb-color-card-bg);
  border: 1px solid var(--emb-color-border);
  color: var(--emb-color-text-muted);
  transition: background var(--emb-transition), color var(--emb-transition), border-color var(--emb-transition);
}
.emb-profile2__social-btn:hover {
  color: var(--emb-btn-text);
  border-color: var(--emb-btn-bg);
  background: var(--emb-btn-bg);
}

/* Stats-Bar */
.emb-profile2__stats {
  display: flex;
  align-items: center;
  gap: 0;
  flex-wrap: wrap;
  padding: var(--emb-space-md) 0 0;
  border-top: 1px solid var(--emb-color-border);
  margin-top: var(--emb-space-md);
}
.emb-profile2__stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 var(--emb-space-lg);
  text-decoration: none;
  color: inherit;
  transition: opacity var(--emb-transition);
}
a.emb-profile2__stat:hover { opacity: .75; }
.emb-profile2__stat:first-child { padding-left: 0; }
.emb-profile2__stat-sep {
  width: 1px;
  height: 28px;
  background: var(--emb-color-border);
  flex-shrink: 0;
}
.emb-profile2__stat-value {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--emb-color-text);
  line-height: 1;
}
.emb-profile2__stat-label {
  font-size: .75rem;
  color: var(--emb-color-text-muted);
  margin-top: 3px;
  white-space: nowrap;
}
@media (max-width: 479px) {
  .emb-profile2__stat { padding: 0 var(--emb-space-md); }
  .emb-profile2__stat-value { font-size: 1.1rem; }
}

/* ── Tab-Navigation ── */
.emb-profile2__tabs-wrap {
  background: color-mix(in srgb, var(--emb-color-card-bg) 92%, var(--emb-color-bg) 8%);
  border: 1px solid var(--emb-color-border);
  border-radius: var(--emb-radius-lg);
  position: sticky;
  top: var(--emb-header-height);
  z-index: 50;
  box-shadow: var(--emb-shadow-sm);
  margin-top: var(--emb-space-lg);
}
.emb-profile2__tabs {
  display: flex;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  gap: 6px;
  padding: 10px 0;
}
.emb-profile2__tabs::-webkit-scrollbar { display: none; }

.emb-profile2__tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 14px;
  font-size: .84rem;
  font-weight: 600;
  color: var(--emb-color-text-muted);
  background: transparent;
  border: 1px solid transparent;
  border-radius: var(--emb-radius-full);
  white-space: nowrap;
  cursor: pointer;
  text-decoration: none;
  transition: all var(--emb-transition);
  min-height: 44px;
}
.emb-profile2__tab:hover { color: var(--emb-color-text); }
.emb-profile2__tab--active {
  color: var(--emb-color-accent);
  border-color: var(--emb-color-accent);
  background: color-mix(in srgb, var(--emb-color-accent) 10%, var(--emb-color-card-bg) 90%);
  font-weight: 600;
}

/* ── Panel-Container ── */
.emb-profile2__body {
  padding-top: var(--emb-space-xl);
  padding-bottom: var(--emb-space-2xl);
  display: flex;
  flex-direction: column;
  gap: var(--emb-space-2xl);
}
.emb-profile2__panel {
  display: flex;
  flex-direction: column;
  gap: var(--emb-space-lg);
  scroll-margin-top: calc(var(--emb-header-height) + 120px);
}

.emb-profile2__panel-intro {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.emb-profile2__eyebrow {
  margin: 0;
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--emb-color-accent);
}
.emb-profile2__panel-title {
  margin: 0;
  font-size: 1.4rem;
  line-height: 1.15;
  color: var(--emb-color-text);
}
.emb-profile2__panel-text {
  margin: 0;
  max-width: 720px;
  color: var(--emb-color-text-muted);
  font-size: .96rem;
  line-height: 1.65;
}

.emb-profile2__about-card,
.emb-profile2__fields-card,
.emb-profile2__post-card,
.emb-profile2__connection-card,
.emb-profile2__empty-card {
  background: var(--emb-color-card-bg);
  border: 1px solid var(--emb-color-border);
  border-radius: var(--emb-radius-lg);
  position: relative;
  overflow: hidden;
  box-shadow: var(--emb-shadow-sm);
}

.emb-profile2__about-card::before,
.emb-profile2__fields-card::before,
.emb-profile2__post-card::before,
.emb-profile2__connection-card::before,
.emb-profile2__empty-card::before {
  content: "";
  display: block;
  height: 4px;
  background: linear-gradient(90deg, var(--emb-color-primary) 0%, var(--emb-color-accent) 100%);
  position: absolute;
  inset: 0 0 auto 0;
}

/* ── Section-Titel ── */
.emb-profile2__section-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 1rem;
  font-weight: 700;
  color: var(--emb-color-text);
  margin: 0 0 var(--emb-space-md);
}

/* ── Bio ── */
.emb-profile2__bio {
  font-size: .97rem;
  line-height: 1.75;
  color: var(--emb-color-text);
  margin: 0;
}

/* ── Profil-Felder 2-spaltig ── */
.emb-profile2__fields-table-wrap {
  overflow-x: auto;
}
.emb-profile2__fields-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}
.emb-profile2__fields-table .emb-profile2__field-label,
.emb-profile2__fields-table .emb-profile2__field-value {
  padding: 16px 18px;
  vertical-align: top;
  border-bottom: 1px solid var(--emb-color-border);
}
.emb-profile2__fields-table .emb-profile2__field:last-child .emb-profile2__field-label,
.emb-profile2__fields-table .emb-profile2__field:last-child .emb-profile2__field-value {
  border-bottom: none;
}
.emb-profile2__field-label {
  width: 32%;
  min-width: 220px;
  font-size: .88rem;
  font-weight: 700;
  color: var(--emb-color-text);
  line-height: 1.55;
  background: color-mix(in srgb, var(--emb-color-accent) 8%, var(--emb-color-card-bg) 92%);
}
.emb-profile2__field-value {
  font-size: 1rem;
  color: var(--emb-color-text);
  word-break: break-word;
  line-height: 1.7;
  background: color-mix(in srgb, var(--emb-color-bg) 82%, var(--emb-color-card-bg) 18%);
}
.emb-profile2__field-value p:last-child {
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .emb-profile2__fields-table,
  .emb-profile2__fields-table tbody,
  .emb-profile2__fields-table tr,
  .emb-profile2__fields-table td {
    display: block;
    width: 100%;
  }
  .emb-profile2__fields-table .emb-profile2__field {
    border-bottom: 1px solid var(--emb-color-border);
  }
  .emb-profile2__fields-table .emb-profile2__field:last-child {
    border-bottom: none;
  }
  .emb-profile2__fields-table .emb-profile2__field-label,
  .emb-profile2__fields-table .emb-profile2__field-value {
    min-width: 0;
    border-bottom: none;
    padding: 14px 16px;
  }
  .emb-profile2__fields-table .emb-profile2__field-label {
    padding-bottom: 8px;
  }
  .emb-profile2__fields-table .emb-profile2__field-value {
    padding-top: 0;
  }
}

/* ── Leere Karte ── */
.emb-profile2__empty-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--emb-space-md);
}
.emb-profile2__empty-card .emb-empty { margin: 0; }

/* ── Beitrags-Liste ── */
.emb-profile2__posts {
  display: flex;
  flex-direction: column;
  gap: var(--emb-space-md);
}
.emb-profile2__post-card {
  padding: var(--emb-space-md);
}
.emb-profile2__post-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: var(--emb-space-sm);
}
.emb-profile2__post-avatar {
  width: 36px;
  height: 36px;
  border-radius: var(--emb-radius-full);
  object-fit: cover;
  flex-shrink: 0;
}
.emb-profile2__post-meta {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.emb-profile2__post-author {
  font-size: .92rem;
  font-weight: 600;
  color: var(--emb-color-text);
}
.emb-profile2__post-time {
  font-size: .78rem;
  color: var(--emb-color-text-muted);
}
.emb-profile2__post-content {
  font-size: .97rem;
  line-height: 1.7;
  color: var(--emb-color-text);
  margin: 0 0 var(--emb-space-sm);
  word-break: break-word;
}
.emb-profile2__post-foot {
  display: flex;
  align-items: center;
  gap: var(--emb-space-md);
  padding-top: var(--emb-space-sm);
  border-top: 1px solid var(--emb-color-border);
}
.emb-profile2__post-likes {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: .8125rem;
  color: var(--emb-color-text-muted);
}

/* ── Verbindungen-Grid ── */
.emb-profile2__connections-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--emb-space-md);
}
@media (min-width: 480px)  { .emb-profile2__connections-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 768px)  { .emb-profile2__connections-grid { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 1024px) { .emb-profile2__connections-grid { grid-template-columns: repeat(5, 1fr); } }

.emb-profile2__connection-card {
  padding: var(--emb-space-md);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--emb-space-sm);
  transition: box-shadow var(--emb-transition), transform var(--emb-transition);
}
.emb-profile2__connection-card:hover {
  box-shadow: var(--emb-shadow-lg);
  transform: translateY(-2px);
}
.emb-profile2__connection-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--emb-space-sm);
  text-decoration: none;
  color: inherit;
  width: 100%;
}
.emb-profile2__connection-avatar {
  width: 60px;
  height: 60px;
  border-radius: var(--emb-radius-full);
  object-fit: cover;
  border: 2px solid var(--emb-color-border);
  flex-shrink: 0;
}
.emb-profile2__connection-name {
  font-size: .92rem;
  font-weight: 600;
  color: var(--emb-color-text);
  line-height: 1.3;
  word-break: break-word;
}
.emb-profile2__connection-link:hover .emb-profile2__connection-name {
  color: var(--emb-color-accent);
}

/* ==========================================================================
   BLOCK: emb/materials-cta
   ========================================================================== */

.emb-materials-cta {
  margin-block: var(--emb-space-lg);
  height: 100%;
}

.emb-materials-cta__box {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  height: 100%;
  gap: var(--emb-space-md);
  background: #fff3cd;
  border: none;
  border-left: 5px solid #ffc107;
  border-radius: var(--emb-radius);
  padding: var(--emb-space-md) var(--emb-space-lg);
}

.emb-materials-cta__left {
  display: flex;
  align-items: center;
  gap: var(--emb-space-md);
  min-width: 0;
}

.emb-materials-cta__icon {
  font-size: 2rem;
  flex-shrink: 0;
  line-height: 1;
}

.emb-materials-cta__text {
  min-width: 0;
}

.emb-materials-cta__title {
  display: block;
  font-size: 1rem;
  font-weight: 700;
  color: var(--emb-color-text);
  line-height: 1.3;
}

.emb-materials-cta__desc {
  font-size: .9rem;
  color: var(--emb-color-text-muted);
  margin: .25rem 0 0;
  line-height: 1.4;
}

.emb-materials-cta__btn {
  flex-shrink: 0;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: .4em;
}

@media (max-width: 599px) {
  .emb-materials-cta__btn {
    width: 100%;
    justify-content: center;
  }
}

@media (min-width: 782px) {
  .wp-block-columns:has(.emb-tour-cta, .emb-materials-cta) {
    align-items: stretch !important;
  }
  .wp-block-column:has(.emb-tour-cta),
  .wp-block-column:has(.emb-materials-cta) {
    display: flex;
    flex-direction: column;
  }
  .wp-block-column:has(.emb-tour-cta) .emb-tour-cta,
  .wp-block-column:has(.emb-materials-cta) .emb-materials-cta {
    flex: 1;
    margin-block: 0;
  }
}

/* ==========================================================================
   BLOCK: emb/youtube-embed
   ========================================================================== */

.emb-yt-embed {
  margin-block: var(--emb-space-lg);
}

.emb-yt-embed__header {
  text-align: center;
  margin-bottom: var(--emb-space-md);
}

.emb-yt-embed__title {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--emb-color-text);
  margin: 0 0 .5rem;
}

.emb-yt-embed__desc {
  color: var(--emb-color-text-muted);
  font-size: .95rem;
  margin: 0;
}

.emb-yt-embed__hint {
  display: inline-block;
  background: var(--emb-color-primary);
  color: #fff;
  font-size: .875rem;
  font-weight: 600;
  padding: .5rem 1rem;
  border-radius: var(--emb-radius);
  text-decoration: none;
  margin-bottom: var(--emb-space-md);
  text-align: center;
  width: 100%;
  box-sizing: border-box;
  transition: opacity var(--emb-transition);
}

.emb-yt-embed__hint:hover {
  opacity: .85;
}

/* Custom Player */
.emb-yt-embed__player {
  position: relative;
  aspect-ratio: 16 / 9;
  background: #000;
  overflow: hidden;
  border-radius: 8px;
}

.emb-yt-embed__poster {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-color: #111;
  display: flex;
  align-items: center;
  justify-content: center;
}

.emb-yt-embed__play {
  width: 72px;
  height: 72px;
  background: var(--emb-player-color, var(--emb-color-accent, #6c63ff));
  border: none;
  border-radius: 50%;
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-left: 4px;
  opacity: .9;
  transition: opacity var(--emb-transition), transform var(--emb-transition);
}

.emb-yt-embed__play:hover,
.emb-yt-embed__play:focus-visible {
  opacity: 1;
  transform: scale(1.1);
  outline: none;
}

.emb-yt-embed__player.is-playing .emb-yt-embed__poster {
  display: none;
}

.emb-yt-embed__player iframe,
.emb-yt-embed__player .emb-yt-player-el {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: none;
  display: block;
}

@media (min-width: 768px) {
  .emb-yt-embed__title {
    font-size: 1.75rem;
  }
}

/* ==========================================================================
   VIDEO POPUP MODAL (emb/video-popup block)
   ========================================================================== */

.emb-video-popup-wrap {
  margin-block: var(--emb-space-lg);
}

.emb-video-popup__trigger {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
}

.emb-video-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}

.emb-video-modal[hidden] {
  display: none;
}

.emb-video-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .82);
  cursor: pointer;
}

.emb-video-modal__box {
  position: relative;
  width: min(90vw, 960px);
  z-index: 1;
}

.emb-video-modal__close {
  position: absolute;
  top: -46px;
  right: 0;
  width: 36px;
  height: 36px;
  background: rgba(255, 255, 255, .15);
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 50%;
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .15s;
}

.emb-video-modal__close:hover,
.emb-video-modal__close:focus-visible {
  background: rgba(255, 255, 255, .3);
  outline: none;
}

.emb-video-modal__player {
  position: relative;
  aspect-ratio: 16 / 9;
  background: #000;
  border-radius: 8px;
  overflow: hidden;
}

/* Wenn Popup-Player den emb-yt-embed__player enthält */
.emb-video-modal__player .emb-yt-embed__player {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: 0;
}

.emb-video-modal__player iframe,
.emb-video-modal__player .emb-yt-player-el {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: none;
  display: block;
}

body.emb-modal-open {
  overflow: hidden;
}

/* ==========================================================================
   BLOCK: emb/tour-video-cta
   ========================================================================== */

.emb-tour-cta {
  margin-block: var(--emb-space-lg);
  height: 100%;
}

.emb-tour-cta__box {
  display: flex;
  align-items: center;
  height: 100%;
  gap: var(--emb-space-md);
  background: #e9ecef;
  border: none;
  border-left: 5px solid var(--emb-color-primary, #e31e24);
  border-radius: var(--emb-radius);
  padding: var(--emb-space-md) var(--emb-space-lg);
}

.emb-tour-cta__thumb {
  flex-shrink: 0;
}

.emb-tour-cta__thumb-img {
  width: 120px;
  height: 80px;
  object-fit: cover;
  border-radius: calc(var(--emb-radius) - 2px);
  display: block;
}

.emb-tour-cta__content {
  display: flex;
  flex-direction: column;
  gap: var(--emb-space-sm);
  min-width: 0;
  flex: 1;
}

.emb-tour-cta__title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--emb-color-text);
  line-height: 1.3;
}

.emb-tour-cta__desc {
  font-size: .9rem;
  color: var(--emb-color-text-muted);
  margin: 0;
  line-height: 1.5;
}

.emb-tour-cta__btn {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: .4em;
}

@media (max-width: 599px) {
  .emb-tour-cta__box {
    flex-direction: column;
    align-items: flex-start;
  }
  .emb-tour-cta__thumb-img {
    width: 100%;
    height: 160px;
  }
  .emb-tour-cta__btn {
    width: 100%;
    justify-content: center;
  }
}

/* ==========================================================================
   BLOCK: emb/live-banner
   ========================================================================== */

.emb-live-banner {
  color: #fff;
  padding: .65rem var(--emb-space-lg);
  border-radius: var(--emb-radius);
}

.emb-live-banner__inner {
  display: flex;
  align-items: center;
  gap: .75rem;
  flex-wrap: wrap;
}

.emb-live-banner__dot {
  position: relative;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #fff;
  flex-shrink: 0;
}

/* Pulsieren nur wenn Animation aktiviert ist */
.emb-live-banner--animated .emb-live-banner__dot {
  animation: emb-live-blink 1.2s ease-in-out infinite;
}

.emb-live-banner--animated .emb-live-banner__dot::before,
.emb-live-banner--animated .emb-live-banner__dot::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.55);
  animation: emb-live-ring 1.8s ease-out infinite;
}

.emb-live-banner--animated .emb-live-banner__dot::after {
  animation-delay: .7s;
}

@keyframes emb-live-blink {
  0%, 100% { opacity: 1; }
  50%       { opacity: .35; }
}

@keyframes emb-live-ring {
  0%   { transform: scale(1); opacity: .65; }
  100% { transform: scale(3.2); opacity: 0; }
}

.emb-live-banner__label {
  font-weight: 700;
  font-size: .95rem;
  flex: 1;
  min-width: 0;
}

.emb-live-banner__btn {
  display: inline-flex;
  align-items: center;
  gap: .3em;
  background: #fff;
  color: #dc2626;
  font-weight: 700;
  font-size: .875rem;
  padding: .35rem .85rem;
  border-radius: 999px;
  text-decoration: none;
  white-space: nowrap;
  transition: opacity var(--emb-transition);
  flex-shrink: 0;
}

.emb-live-banner__btn:hover {
  opacity: .88;
}

@media (max-width: 480px) {
  .emb-live-banner__inner {
    justify-content: center;
    text-align: center;
  }
  .emb-live-banner__label {
    flex: 0 0 100%;
    text-align: center;
  }
}

/* ==========================================================================
   BLOCK: emb/profile-nudge
   ========================================================================== */

.emb-profile-nudge {
  margin-block: var(--emb-space-md);
}

.emb-profile-nudge__box {
  display: flex;
  align-items: center;
  gap: var(--emb-space-md);
  background: var(--emb-color-bg-card, #fff);
  border: 1.5px solid var(--emb-color-primary);
  border-radius: var(--emb-radius);
  padding: var(--emb-space-md) var(--emb-space-lg);
  flex-wrap: wrap;
}

.emb-profile-nudge__info {
  display: flex;
  align-items: center;
  gap: var(--emb-space-md);
  flex: 1;
  min-width: 0;
}

.emb-profile-nudge__pct {
  font-size: 2rem;
  font-weight: 800;
  color: var(--emb-color-primary);
  flex-shrink: 0;
  line-height: 1;
}

.emb-profile-nudge__text strong {
  display: block;
  font-size: .95rem;
  color: var(--emb-color-text);
}

.emb-profile-nudge__text p {
  font-size: .875rem;
  color: var(--emb-color-text-muted);
  margin: .2rem 0 0;
}

.emb-profile-nudge__right {
  display: flex;
  flex-direction: column;
  gap: var(--emb-space-sm);
  min-width: 180px;
}

.emb-profile-nudge__bar-wrap {
  height: 8px;
  background: var(--emb-color-border, #e5e7eb);
  border-radius: 999px;
  overflow: hidden;
}

.emb-profile-nudge__bar {
  height: 100%;
  background: var(--emb-color-primary);
  border-radius: 999px;
  transition: width .6s ease;
}

.emb-profile-nudge__btn {
  text-align: center;
}

@media (max-width: 599px) {
  .emb-profile-nudge__box {
    flex-direction: column;
    align-items: flex-start;
  }
  .emb-profile-nudge__right {
    width: 100%;
    min-width: 0;
  }
  .emb-profile-nudge__btn {
    width: 100%;
    justify-content: center;
  }
}

/* ==========================================================================
   ADMIN-HINWEISBOX (.emb-admin-note)
   Nur für Admins sichtbar – zeigt warum ein Block für normale User versteckt ist
   ========================================================================== */

.emb-admin-note {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  background: #fef9c3;
  border: 1px solid #fde047;
  border-radius: var(--emb-radius, 6px);
  color: #713f12;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.4;
  margin-bottom: 8px;
}

/* Verstecken wenn kein Admin eingeloggt ist (Fallback – PHP rendert es gar nicht) */
body:not(.wp-admin) .emb-admin-note {
  display: none;
}

/* ==========================================================================
   BLOCK: emb/discount-search
   ========================================================================== */

.emb-discount-search {
  position: relative;
  width: 100%;
  margin-bottom: var(--emb-space-xl);
}
.emb-discount-search__input {
  width: 100%;
  height: 54px;
  padding: 0 1.25rem 0 3rem !important;
  font-size: 1rem;
  border: 1.5px solid var(--emb-color-border);
  border-radius: var(--emb-radius);
  background: var(--emb-color-bg-card);
  color: var(--emb-color-text);
  transition: border-color var(--emb-transition), box-shadow var(--emb-transition);
  box-shadow: 0 1px 4px rgba(0,0,0,.07);
}
.emb-discount-search__input:focus {
  outline: none;
  border-color: var(--emb-color-accent);
  box-shadow: 0 0 0 3px rgba(174,50,117,.12);
}
.emb-discount-search__input::placeholder {
  color: var(--emb-color-text-muted);
}
.emb-discount-search__icon {
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  color: var(--emb-color-text-muted);
  pointer-events: none;
  flex-shrink: 0;
}

/* ==========================================================================
   BLOCK: emb/discount-code — Grid + Karte
   ========================================================================== */

/* WP 6.5+: kein __inner-container mehr bei layout:default → Grid direkt auf .emb-discount-grid.
   WP < 6.5: __inner-container vorhanden → beide Selektoren abdecken. */
.emb-discount-grid,
.emb-discount-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: var(--emb-space-lg) !important;
  align-items: stretch !important;
}
/* WP is-layout-flow setzt margin-block-start auf Kinder — in Grid aufheben */
.emb-discount-grid > *,
.emb-discount-grid > .wp-block-group__inner-container > * {
  max-width: 100% !important;
  margin-block-start: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100%;
}
@media (max-width: 1023px) {
  .emb-discount-grid,
  .emb-discount-grid > .wp-block-group__inner-container {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 599px) {
  .emb-discount-grid,
  .emb-discount-grid > .wp-block-group__inner-container {
    grid-template-columns: 1fr !important;
  }
}

.emb-discount-card {
  background: var(--emb-color-bg-card);
  border: 1px solid var(--emb-color-border);
  border-radius: var(--emb-radius);
  padding: var(--emb-space-lg);
  display: flex;
  flex-direction: column;
  gap: var(--emb-space-sm);
  transition: box-shadow var(--emb-transition), transform var(--emb-transition);
  height: 100%;
}
.emb-discount-card:hover {
  box-shadow: 0 4px 20px rgba(0,0,0,.09);
  transform: translateY(-2px);
}
.emb-discount-card--hidden { display: none; }

.emb-discount-card__logo {
  height: 56px;
  display: flex;
  align-items: center;
}
.emb-discount-card__logo img {
  max-height: 56px;
  max-width: 150px;
  object-fit: contain;
  display: block;
}

.emb-discount-card__shop {
  font-size: 1rem;
  font-weight: 700;
  color: var(--emb-color-text);
  margin: 0;
  line-height: 1.3;
}

.emb-discount-card__desc {
  font-size: .875rem;
  color: var(--emb-color-text-muted);
  margin: 0;
  line-height: 1.5;
  flex: 1;
}

.emb-discount-card__code-wrap {
  display: flex;
  align-items: center;
  gap: var(--emb-space-xs);
  background: var(--emb-color-bg, #f7f8fc);
  border: 1.5px dashed var(--emb-color-border);
  border-radius: calc(var(--emb-radius) - 2px);
  padding: .5rem .75rem;
  margin-top: auto;
}
.emb-discount-card__code {
  font-family: 'Courier New', Courier, monospace;
  font-weight: 700;
  font-size: .9rem;
  letter-spacing: .08em;
  color: var(--emb-color-text);
  flex: 1;
  user-select: all;
}

.emb-discount-card__copy {
  display: inline-flex;
  align-items: center;
  gap: .3em;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--emb-color-text-muted);
  font-size: .78rem;
  padding: .25rem .4rem;
  border-radius: 4px;
  transition: background var(--emb-transition), color var(--emb-transition);
  white-space: nowrap;
}
.emb-discount-card__copy:hover,
.emb-discount-card__copy--copied { background: var(--emb-color-primary); color: #fff; }

.emb-discount-card__btn {
  align-self: flex-start;
  margin-top: var(--emb-space-sm);
  font-size: .875rem;
  display: inline-flex;
  align-items: center;
  gap: .4em;
}

/* ==========================================================================
   Kreativdateien – Intro + Jahresgalerien
   ========================================================================== */

.emb-kreativdateien-intro {
  background: color-mix(in srgb, var(--emb-color-primary) 7%, transparent);
  border-left: 4px solid var(--emb-color-primary);
  border-radius: 0 var(--emb-radius) var(--emb-radius) 0;
  padding: 28px 36px;
  text-align: center;
  max-width: 820px;
  margin: 0 auto 48px;
}
@media (max-width: 767px) {
  .emb-kreativdateien-intro { padding: 24px 20px; }
}
.emb-kreativdateien-intro__heading {
  color: var(--emb-color-primary);
  font-size: 1.25rem;
  margin: 0 0 20px;
}
.emb-kreativdateien-intro__body {
  font-size: .9375rem;
  line-height: 1.75;
  color: var(--emb-color-text);
  margin-bottom: 20px;
}
.emb-kreativdateien-intro__body p { margin: 0 0 10px; }
.emb-kreativdateien-intro__body p:last-child { margin-bottom: 0; }
.emb-kreativdateien-intro__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-weight: 600;
  color: var(--emb-color-text);
  margin: 0;
  flex-wrap: wrap;
}
.emb-kreativdateien-intro__cta svg { color: var(--emb-color-primary); flex-shrink: 0; }
.emb-kreativdateien-intro__cta a {
  color: var(--emb-color-primary);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.emb-kreativdateien-year {
  margin-bottom: 56px;
}
.emb-kreativdateien-year__title {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--emb-color-text);
  margin: 0 0 24px;
}
.emb-kreativdateien-year__title::before,
.emb-kreativdateien-year__title::after {
  content: '';
  flex: 1;
  height: 2px;
  border-radius: 2px;
  opacity: .45;
}
.emb-kreativdateien-year__title::before { background: linear-gradient(to right, transparent, var(--emb-color-primary)); }
.emb-kreativdateien-year__title::after  { background: linear-gradient(to left,  transparent, var(--emb-color-primary)); }
.emb-kreativdateien-year__title span {
  white-space: nowrap;
  color: var(--emb-color-primary);
}

.emb-kreativdateien-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
@media (max-width: 1023px) {
  .emb-kreativdateien-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 767px) {
  .emb-kreativdateien-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
}

.emb-kreativdateien-grid__item {
  display: block;
  border-radius: calc(var(--emb-radius) * .75);
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
  background: var(--emb-color-bg-card);
  aspect-ratio: 354 / 500;
  transition: transform .22s ease, box-shadow .22s ease;
}
.emb-kreativdateien-grid__item:hover {
  transform: translateY(-4px) scale(1.018);
  box-shadow: 0 10px 28px rgba(0,0,0,.15);
}
.emb-kreativdateien-grid__item:focus-visible {
  outline: 3px solid var(--emb-color-primary);
  outline-offset: 2px;
}
.emb-kreativdateien-grid__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .22s ease;
}
.emb-kreativdateien-grid__item:hover .emb-kreativdateien-grid__img {
  transform: scale(1.04);
}

/* ═══════════════════════════════════════════════════════
   NOTFALL-KONTAKT (emb/notfall-kontakt)
   ═══════════════════════════════════════════════════════ */

.emb-notfall-kontakt {
  margin-block: var(--emb-space-lg);
}

.emb-notfall-kontakt__box {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--emb-space-lg);
  background: #edf7dc;
  border: none;
  border-left: 5px solid #8cc63f;
  border-radius: var(--emb-radius);
  padding: var(--emb-space-md) var(--emb-space-lg);
}

.emb-notfall-kontakt__text {
  flex: 1;
  min-width: 0;
}

.emb-notfall-kontakt__title {
  display: block;
  font-size: 1rem;
  font-weight: 700;
  color: var(--emb-color-text);
  line-height: 1.3;
}

.emb-notfall-kontakt__desc {
  font-size: .9rem;
  color: var(--emb-color-text-muted);
  margin: .25rem 0 0;
  line-height: 1.4;
}

.emb-notfall-kontakt__rules {
  font-size: .85rem;
  color: var(--emb-color-text-muted);
  margin: .25rem 0 0;
  line-height: 1.4;
  font-style: italic;
}

.emb-notfall-kontakt__btn {
  flex-shrink: 0;
  background: #8cc63f;
  color: #fff;
  border-color: #8cc63f;
  white-space: nowrap;
}
.emb-notfall-kontakt__btn:hover {
  background: #7ab534;
  border-color: #7ab534;
  color: #fff;
}

@media (max-width: 767px) {
  .emb-notfall-kontakt__box {
    flex-direction: column;
    align-items: flex-start;
  }
  .emb-notfall-kontakt__btn { width: 100%; justify-content: center; }
}


/* ═══════════════════════════════════════════════════════
   PLOTTERKUNDE BLOCKS (emb/pk-*)
   ═══════════════════════════════════════════════════════ */

/* ── emb/pk-function-row ─────────────────────────────── */
.emb-pk-row {
  display: flex;
  align-items: center;
  gap: var(--emb-space-md);
  padding: 12px 16px;
  background: var(--emb-color-bg-card, #fff);
  border: 1px solid var(--emb-color-border);
  border-left: 4px solid var(--emb-color-primary);
  margin-top: -1px;
}
.emb-pk-row:first-of-type {
  border-radius: var(--emb-radius) var(--emb-radius) 0 0;
  margin-top: 0;
}
.emb-pk-row:last-of-type {
  border-radius: 0 0 var(--emb-radius) var(--emb-radius);
}
.emb-pk-row:only-of-type {
  border-radius: var(--emb-radius);
  margin-top: 0;
}
.emb-pk-row__info {
  flex: 1;
  min-width: 0;
}
.emb-pk-row__title {
  display: block;
  font-size: .95rem;
  font-weight: 700;
  color: var(--emb-color-text);
  line-height: 1.3;
}
.emb-pk-row__desc {
  font-size: .875rem;
  color: var(--emb-color-text-muted);
  margin: .25rem 0 0;
  line-height: 1.4;
}
.emb-pk-row__video {
  flex-shrink: 0;
  position: relative;
  padding: 0;
  background: none;
  border: none;
  cursor: pointer;
  border-radius: var(--emb-radius);
  overflow: hidden;
}
.emb-pk-row__video img {
  width: 200px;
  height: 113px;
  object-fit: cover;
  display: block;
  transition: opacity var(--emb-transition);
  border-radius: var(--emb-radius);
}
.emb-pk-row__video:hover img { opacity: .85; }
.emb-pk-row__play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--emb-player-color, var(--emb-color-accent, #6c63ff));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  color: #fff;
  padding-left: 2px;
  opacity: .9;
  pointer-events: none;
  transition: opacity var(--emb-transition), transform var(--emb-transition);
}
.emb-pk-row__video:hover .emb-pk-row__play,
.emb-pk-row__video:focus-visible .emb-pk-row__play {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1.1);
}
.emb-pk-row__video:focus-visible {
  outline: 3px solid var(--emb-color-primary);
  outline-offset: 2px;
}

@media (max-width: 599px) {
  .emb-pk-row {
    flex-direction: column;
    align-items: flex-start;
  }
  .emb-pk-row__video img {
    width: 100%;
    height: auto;
    max-width: 320px;
  }
}

/* ── emb/pk-video-grid ───────────────────────────────── */
.emb-pk-video-grid {
  display: grid;
  gap: var(--emb-space-md);
  margin-block: var(--emb-space-md);
}
.emb-pk-video-grid--cols-1 { grid-template-columns: 1fr; }
.emb-pk-video-grid--cols-2 { grid-template-columns: repeat(2, 1fr); }
.emb-pk-video-grid--cols-3 { grid-template-columns: repeat(3, 1fr); }
.emb-pk-video-grid--cols-4 { grid-template-columns: repeat(4, 1fr); }

.emb-pk-video-grid__item { display: flex; flex-direction: column; }

.emb-pk-video-grid__trigger {
  display: block;
  position: relative;
  padding: 0;
  background: none;
  border: none;
  cursor: pointer;
  border-radius: var(--emb-radius);
  overflow: hidden;
  box-shadow: none;
  width: 100%;
}
.emb-pk-video-grid__trigger img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
  transition: opacity var(--emb-transition);
}
.emb-pk-video-grid__trigger:hover img { opacity: .85; }
.emb-pk-video-grid__play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: var(--emb-player-color, var(--emb-color-accent, #6c63ff));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: #fff;
  padding-left: 3px;
  opacity: .9;
  pointer-events: none;
  transition: opacity var(--emb-transition), transform var(--emb-transition);
}
.emb-pk-video-grid__trigger:hover .emb-pk-video-grid__play,
.emb-pk-video-grid__trigger:focus-visible .emb-pk-video-grid__play {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1.1);
}
.emb-pk-video-grid__trigger:focus-visible {
  outline: 3px solid var(--emb-color-primary);
  outline-offset: 2px;
}
.emb-pk-video-grid__label {
  font-size: .8rem;
  color: var(--emb-color-text-muted);
  text-align: center;
  margin: var(--emb-space-sm) 0 0;
  line-height: 1.3;
}

@media (max-width: 767px) {
  .emb-pk-video-grid--cols-3,
  .emb-pk-video-grid--cols-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 479px) {
  .emb-pk-video-grid--cols-2,
  .emb-pk-video-grid--cols-3,
  .emb-pk-video-grid--cols-4 { grid-template-columns: 1fr; }
}

/* ── emb/pk-book-section ─────────────────────────────── */
.emb-pk-book {
  margin-block: var(--emb-space-xl);
  padding-top: var(--emb-space-lg);
  border-top: 1px solid var(--emb-color-border);
}
.emb-pk-book:first-of-type { border-top: none; padding-top: 0; }
.emb-pk-book__inner {
  display: flex;
  gap: var(--emb-space-lg);
  align-items: flex-start;
}
.emb-pk-book__cover {
  flex-shrink: 0;
  width: clamp(100px, 15vw, 160px);
}
.emb-pk-book__cover img {
  width: 100%;
  border-radius: var(--emb-radius);
  display: block;
}
.emb-pk-book__body {
  flex: 1;
  min-width: 0;
}
.emb-pk-book__heading {
  font-size: clamp(1rem, 2vw, 1.2rem);
  font-weight: 700;
  color: var(--emb-color-text);
  margin: 0 0 var(--emb-space-sm);
  line-height: 1.3;
}
.emb-pk-book__text {
  font-size: clamp(.875rem, 1.5vw, .95rem);
  color: var(--emb-color-text-muted);
  line-height: 1.6;
  margin-bottom: var(--emb-space-md);
}
.emb-pk-book__text strong { color: var(--emb-color-text); font-weight: 600; }

@media (max-width: 599px) {
  .emb-pk-book__inner { flex-direction: column; }
  .emb-pk-book__cover { width: 100%; max-width: 180px; }
}

/* ── emb/pk-download-bar ─────────────────────────────── */
.emb-pk-download-bar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--emb-space-sm);
  margin-block: var(--emb-space-md);
}
.emb-pk-download-bar .emb-btn {
  flex: 1 1 auto;
  justify-content: center;
}

@media (max-width: 599px) {
  .emb-pk-download-bar .emb-btn {
    flex: 1 1 100%;
  }
}

/* ── Abstände: Separatoren + Sektionsabstände ───────── */
.wp-block-separator {
  margin-block: var(--emb-space-xl);
  border-color: var(--emb-color-border);
  opacity: 1;
}
.emb-pk-video-grid { margin-block: var(--emb-space-lg); }
.emb-pk-download-bar { margin-block: var(--emb-space-md); }

/* ==========================================================================
   emb/spickzettel-card + Grid-Wrapper
   ========================================================================== */
.emb-spickzettel-grid,
.emb-spickzettel-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: var(--emb-space-lg) !important;
  align-items: stretch !important;
}
.emb-spickzettel-grid > *,
.emb-spickzettel-grid > .wp-block-group__inner-container > * {
  max-width: 100% !important;
  margin-block-start: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
  width: 100%;
}
@media (max-width: 1023px) {
  .emb-spickzettel-grid,
  .emb-spickzettel-grid > .wp-block-group__inner-container {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 599px) {
  .emb-spickzettel-grid,
  .emb-spickzettel-grid > .wp-block-group__inner-container {
    grid-template-columns: 1fr !important;
  }
}

.emb-spickzettel-card {
  background: var(--emb-color-card-bg);
  border: 1px solid var(--emb-color-border);
  border-radius: var(--emb-radius);
  padding: var(--emb-space-lg);
  box-shadow: none;
  display: flex;
  flex-direction: column;
  transition: transform var(--emb-transition);
}
/* height: 100% nur im Grid-Kontext — standalone zerschießt sonst die Seite */
.emb-spickzettel-grid .emb-spickzettel-card {
  height: 100%;
}
.emb-spickzettel-card__top {
  display: flex;
  gap: var(--emb-space-md);
  align-items: flex-start;
  flex: 1;
}
.emb-spickzettel-card__image { flex-shrink: 0; }
.emb-spickzettel-card__image img {
  width: 80px;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--emb-radius);
  border: 1px solid var(--emb-color-border);
  display: block;
}
.emb-spickzettel-card__content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.emb-spickzettel-card__title {
  color: var(--emb-color-primary);
  font-size: clamp(0.875rem, 1.8vw, 1rem);
  font-weight: 700;
  margin: 0 0 var(--emb-space-xs);
}
.emb-spickzettel-card__desc {
  font-size: clamp(0.8125rem, 1.5vw, 0.875rem);
  color: var(--emb-color-text-muted);
  margin-bottom: var(--emb-space-sm);
  flex: 1;
}
.emb-spickzettel-card__actions {
  display: flex;
  gap: var(--emb-space-sm);
  flex-wrap: wrap;
  margin-top: auto;
}
.emb-spickzettel-card__actions .emb-btn {
  max-width: 100%;
  min-width: 0;
  font-size: clamp(0.75rem, 1.5vw, 0.875rem);
  padding: 6px 14px;
  min-height: 40px;
}
.emb-spickzettel-card__videos {
  margin-top: var(--emb-space-lg);
  border-top: 1px solid var(--emb-color-border);
  padding-top: var(--emb-space-md);
}

/* ── Video-Tabs — Kadence-Stil (Unterstrich-Indikator, zentriert) ──────── */
.emb-video-tabs__nav {
  display: flex;
  gap: 0;
  border-bottom: 1px solid var(--emb-color-border);
  margin-bottom: var(--emb-space-md);
  flex-wrap: wrap;
  justify-content: center;
}
.emb-video-tabs__tab {
  padding: 8px 20px;
  border: none;
  border-bottom: 3px solid transparent;
  border-radius: 0;
  background: transparent;
  color: var(--emb-color-text-muted);
  font-size: clamp(0.8125rem, 1.5vw, 0.9rem);
  font-weight: 500;
  cursor: pointer;
  margin-bottom: -1px;
  transition: color var(--emb-transition), border-color var(--emb-transition);
}
.emb-video-tabs__tab.is-active {
  color: var(--emb-color-primary);
  border-bottom-color: var(--emb-color-primary);
  font-weight: 600;
  background: transparent;
}
.emb-video-tabs__tab:hover:not(.is-active) {
  color: var(--emb-color-text);
  border-bottom-color: color-mix(in srgb, var(--emb-color-primary) 30%, transparent);
  background: transparent;
}
.emb-video-tabs__panel { display: none; }
.emb-video-tabs__panel.is-active { display: block; }
.emb-video-tabs__panels .emb-yt-embed__player { margin-top: 0; }

/* ==========================================================================
   emb/video-section
   ========================================================================== */
.emb-video-section {
  background: var(--emb-color-card-bg);
  border: 1px solid color-mix(in srgb, var(--emb-color-primary) 14%, var(--emb-color-border));
  border-radius: var(--emb-radius-lg);
  padding: var(--emb-space-lg);
  margin: var(--emb-space-md) 0;
  box-shadow: none;
}
.emb-video-section__heading {
  color: var(--emb-color-primary);
  font-size: clamp(1rem, 2.5vw, 1.25rem);
  font-weight: 700;
  margin: 0 0 var(--emb-space-sm);
}
.emb-video-section__desc {
  color: var(--emb-color-text);
  font-size: clamp(0.875rem, 1.8vw, 1rem);
  margin: 0 0 var(--emb-space-md);
}
.emb-video-section__pdf { margin: 0 0 var(--emb-space-md); }

/* ==========================================================================
   emb/download-group
   ========================================================================== */
.emb-download-group {
  display: flex;
  gap: var(--emb-space-sm);
  flex-wrap: wrap;
  margin: var(--emb-space-md) 0;
}

/* ==========================================================================
   emb/kurs-teaser
   ========================================================================== */
.emb-kurs-teaser {
  background: var(--emb-color-card-bg);
  border: 1px solid color-mix(in srgb, var(--emb-color-primary) 14%, var(--emb-color-border));
  border-radius: var(--emb-radius-lg);
  padding: var(--emb-space-lg);
  margin: var(--emb-space-md) 0;
  box-shadow: none;
}
.emb-kurs-teaser__heading {
  color: var(--emb-color-primary);
  font-size: clamp(1rem, 2.5vw, 1.25rem);
  font-weight: 700;
  margin: 0 0 var(--emb-space-sm);
}
.emb-kurs-teaser__intro { margin-bottom: var(--emb-space-md); }
.emb-kurs-teaser__image {
  max-width: 100%;
  border-radius: var(--emb-radius);
  display: block;
  margin: var(--emb-space-md) 0;
}
.emb-kurs-teaser__desc { margin: var(--emb-space-md) 0; }

/* ==========================================================================
   emb/partner-credit
   ========================================================================== */
.emb-partner-credit {
  text-align: center;
  margin: var(--emb-space-lg) 0;
}
.emb-partner-credit__logo {
  max-width: 180px;
  height: auto;
  display: block;
  margin: 0 auto;
}
.emb-partner-credit__caption {
  font-size: clamp(0.75rem, 1.5vw, 0.8125rem);
  color: var(--emb-color-text-muted);
  margin-top: var(--emb-space-xs);
}

/* ==========================================================================
   emb/studio-overview — Silhouette Studio Übersicht
   ========================================================================== */
.emb-studio-overview {
  background: var(--emb-color-card-bg);
  border: 1px solid color-mix(in srgb, var(--emb-color-primary) 14%, var(--emb-color-border));
  border-radius: var(--emb-radius-lg);
  padding: var(--emb-space-lg);
  margin: var(--emb-space-md) 0;
  box-shadow: none;
}
.emb-studio-overview__title {
  color: var(--emb-color-primary);
  font-size: clamp(1.125rem, 2.5vw, 1.5rem);
  font-weight: 700;
  margin: 0 0 var(--emb-space-sm);
}
.emb-studio-overview__desc {
  color: var(--emb-color-text);
  font-size: clamp(0.875rem, 1.8vw, 1rem);
  margin: 0 0 var(--emb-space-lg);
}
.emb-studio-overview__buttons {
  display: flex;
  gap: var(--emb-space-sm);
  flex-wrap: wrap;
  margin-bottom: var(--emb-space-lg);
}
.emb-studio-overview__videos {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr));
  gap: var(--emb-space-md);
}
.emb-studio-overview__video-item { display: flex; flex-direction: column; }
.emb-studio-overview__video-label {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--emb-color-text-muted);
  margin: 0 0 var(--emb-space-xs);
}
/* .emb-yt-embed__player verwendet global aspect-ratio:16/9 — kein Override nötig */

/* ==========================================================================
   emb/anleitungsbuecher — Anleitungsheftchen mit Bullets + Buttons
   ========================================================================== */
.emb-anleitungsbuecher {
  background: var(--emb-color-card-bg);
  border: 1px solid color-mix(in srgb, var(--emb-color-primary) 14%, var(--emb-color-border));
  border-radius: var(--emb-radius-lg);
  padding: var(--emb-space-lg);
  margin: var(--emb-space-md) 0;
  box-shadow: none;
}
.emb-anleitungsbuecher__title {
  color: var(--emb-color-primary);
  font-size: clamp(1.125rem, 2.5vw, 1.5rem);
  font-weight: 700;
  margin: 0 0 var(--emb-space-sm);
}
.emb-anleitungsbuecher__desc {
  color: var(--emb-color-text);
  font-size: clamp(0.875rem, 1.8vw, 1rem);
  margin: 0 0 var(--emb-space-md);
}
.emb-anleitungsbuecher__bullets {
  list-style: none;
  padding: 0;
  margin: 0 0 var(--emb-space-lg);
  display: flex;
  flex-direction: column;
  gap: var(--emb-space-xs);
}
.emb-anleitungsbuecher__bullets li {
  display: flex;
  align-items: flex-start;
  gap: var(--emb-space-sm);
  font-size: clamp(0.875rem, 1.8vw, 1rem);
  color: var(--emb-color-text);
  padding: 3px 0;
}
.emb-anleitungsbuecher__bullets li::before {
  content: '';
  display: inline-block;
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: color-mix(in srgb, var(--emb-color-primary) 10%, transparent);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%233c151e'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E");
  background-size: 13px;
  background-repeat: no-repeat;
  background-position: center;
  margin-top: 2px;
}
.emb-anleitungsbuecher__buttons {
  display: flex;
  gap: var(--emb-space-sm);
  flex-wrap: wrap;
}

/* ==========================================================================
   emb/heftchen-tabs — Heftchen-Karte mit Bild + Video-Tabs
   ========================================================================== */
.emb-heftchen-card {
  background: var(--emb-color-card-bg);
  border: 1px solid color-mix(in srgb, var(--emb-color-primary) 14%, var(--emb-color-border));
  border-radius: var(--emb-radius-lg);
  padding: var(--emb-space-lg);
  margin: var(--emb-space-md) 0;
  box-shadow: none;
}
.emb-heftchen-card__top {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: var(--emb-space-lg);
  align-items: flex-start;
}
@media (max-width: 599px) {
  .emb-heftchen-card__top { grid-template-columns: 1fr; }
}
.emb-heftchen-card__image img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--emb-radius);
  display: block;
}
.emb-heftchen-card__content { min-width: 0; }
.emb-heftchen-card__title {
  color: var(--emb-color-primary);
  font-size: clamp(1rem, 2.5vw, 1.25rem);
  font-weight: 700;
  margin: 0 0 var(--emb-space-xs);
}
.emb-heftchen-card__desc {
  color: var(--emb-color-text);
  font-size: clamp(0.875rem, 1.8vw, 0.9375rem);
  margin: 0 0 var(--emb-space-md);
}
.emb-heftchen-card__actions {
  display: flex;
  gap: var(--emb-space-sm);
  flex-wrap: wrap;
}
.emb-heftchen-card__tabs {
  margin-top: var(--emb-space-lg);
  border-top: 1px solid var(--emb-color-border);
  padding-top: var(--emb-space-md);
}
/* .emb-yt-embed__player verwendet global aspect-ratio:16/9 + position:absolute — kein Override */

/* ==========================================================================
   emb/info-box — Karte: Bild oben, Titel, Text, Buttons unten
   ========================================================================== */
.emb-info-box {
  display: flex;
  flex-direction: column;
  background: var(--emb-color-card-bg);
  border: 1px solid var(--emb-color-border);
  border-radius: var(--emb-radius);
  overflow: hidden;
  box-shadow: none;
}
.emb-spickzettel-grid .emb-info-box {
  height: 100%;
}
.emb-info-box__image img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
}
.emb-info-box__body {
  padding: var(--emb-space-md);
  display: flex;
  flex-direction: column;
  flex: 1;
}
.emb-info-box__title {
  color: var(--emb-color-primary);
  font-size: clamp(0.875rem, 1.8vw, 1rem);
  font-weight: 700;
  margin: 0 0 var(--emb-space-xs);
}
.emb-info-box__text {
  font-size: clamp(0.8125rem, 1.5vw, 0.875rem);
  color: var(--emb-color-text-muted);
  margin-bottom: var(--emb-space-sm);
  flex: 1;
}
.emb-info-box__actions {
  display: flex;
  gap: var(--emb-space-sm);
  flex-wrap: wrap;
  margin-top: auto;
}
.emb-info-box__actions .emb-btn {
  max-width: 100%;
  min-width: 0;
  font-size: clamp(0.75rem, 1.5vw, 0.875rem);
  padding: 6px 14px;
  min-height: 40px;
}


/* ==========================================================================
   emb/faq-item — Accordion mit <details>/<summary>
   ========================================================================== */
.emb-faq-item {
  border-bottom: 1px solid var(--emb-color-border);
}
.emb-faq-item:first-of-type {
  border-top: 1px solid var(--emb-color-border);
}
.emb-faq-item__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--emb-space-md);
  padding: var(--emb-space-md) 0;
  cursor: pointer;
  font-weight: 600;
  font-size: clamp(0.9375rem, 1.8vw, 1.0625rem);
  color: var(--emb-color-primary);
  list-style: none;
  user-select: none;
  transition: color var(--emb-transition);
}
.emb-faq-item__question::-webkit-details-marker { display: none; }
.emb-faq-item__question::after {
  content: '+';
  font-size: 1.375rem;
  font-weight: 300;
  line-height: 1;
  flex-shrink: 0;
  color: var(--emb-color-text-muted);
  transition: color var(--emb-transition);
}
.emb-faq-item[open] > .emb-faq-item__question::after {
  content: '−';
  color: var(--emb-color-primary);
}
.emb-faq-item__answer {
  padding: 0 var(--emb-space-lg) var(--emb-space-md) 0;
  color: var(--emb-color-text);
  font-size: 0.9375rem;
  line-height: 1.7;
}
.emb-faq-item__answer p { margin-bottom: var(--emb-space-sm); }
.emb-faq-item__answer p:last-child { margin-bottom: var(--emb-space-md); }
.emb-faq-item__answer .emb-btn { margin-top: var(--emb-space-sm); }
/* Spacing im Page-Content */
.emb-full-width-page .emb-faq-item,
.emb-page__content .emb-faq-item {
  margin-top: 0;
}
