.profile--layout-b .coach-title-b { font-size: 2rem; margin: 0.75rem 0 1rem; text-align: center; }
.profile--layout-b .coach-content-b { border-top: 0; padding-top: 1rem; }
.profile--layout-b .coach-content-b.row {
  /* Align vertical spacing between stacked boxes (e.g., Box C-F → Box Z) across breakpoints */
  --bs-gutter-y: var(--mc-gap, 1rem);
}

/* Header media area */
.profile--layout-b .coach-header-b { position: relative; }
.profile--layout-b .coach-header-b__media {
  position: relative;
  min-height: 160px;
  display: flex;
  align-items: center;
  justify-content: stretch;
  gap: var(--mc-gap);
  overflow: hidden;
  border-radius: var(--mc-surface-radius);
  background: var(--mc-surface-bg);
  background-clip: padding-box;
  padding: var(--mc-gap);
  box-shadow: var(--mc-surface-shadow);
}
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .profile--layout-b .coach-header-b__media {
    -webkit-backdrop-filter: blur(var(--mc-surface-blur));
    backdrop-filter: blur(var(--mc-surface-blur));
  }
}

/* Accessible focus states and subtle hover inside header box */
.profile--layout-b .coach-header-b a,
.profile--layout-b .coach-header-b button,
.profile--layout-b .coach-header-b [role="button"],
.profile--layout-b .coach-header-b [tabindex]:not([tabindex="-1"]) {
  border-radius: 8px;
}
.profile--layout-b .coach-header-b a:focus-visible,
.profile--layout-b .coach-header-b button:focus-visible,
.profile--layout-b .coach-header-b [role="button"]:focus-visible,
.profile--layout-b .coach-header-b [tabindex]:not([tabindex="-1"]):focus-visible {
  outline: var(--mc-focus-outline);
  outline-offset: 2px;
  box-shadow: var(--mc-focus-ring);
}
.profile--layout-b .coach-header-b a:hover,
.profile--layout-b .coach-header-b button:hover,
.profile--layout-b .coach-header-b [role="button"]:hover {
  filter: brightness(0.98);
}

/* Respect reduced motion in header area */
@media (prefers-reduced-motion: reduce) {
  .profile--layout-b .coach-header-b *,
  .profile--layout-b .coach-header-b *::before,
  .profile--layout-b .coach-header-b *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
.profile--layout-b .coach-header-b__left { flex: 0 0 220px; max-width: 220px; align-self: stretch; display: flex; }
.profile--layout-b .coach-header-b__left img { width: 100%; height: 100%; object-fit: cover; border-radius: 8px; display: block; }
.profile--layout-b .coach-header-b__left { align-items: center; justify-content: center; }
/* Ensure avatar remains perfectly circular and fixed-size inside left header area */
.profile--layout-b .coach-header-b__left .coach-header-b__avatar { width: 150px; height: 150px; border-radius: 50%; }
.profile--layout-b .coach-header-b__avatar { width: 150px; height: 150px; border-radius: 50%; object-fit: cover; display: block; /*border: 2px solid #fff;*/ box-shadow: 0 6px 18px rgba(0,0,0,.18); }
@media (min-width: 768px) {
  .profile--layout-b .coach-header-b__avatar,
  .profile--layout-b .coach-header-b__left .coach-header-b__avatar {
    width: 210px;
    height: 210px;
  }
}
.profile--layout-b .coach-header-b__right { flex: 1 1 auto; min-width: 0; text-align: left; padding-right: 1.5rem; }
.profile--layout-b .coach-title-b { text-align: left; }

@media (max-width: 767.98px) {
  .profile--layout-b .coach-header-b__media {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .profile--layout-b .coach-header-b__left {
    flex: 0 0 auto;
    max-width: none;
    margin: 0 0 1rem;
  }
  .profile--layout-b .coach-header-b__right {
    padding-right: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .profile--layout-b .coach-header-b__right-main,
  .profile--layout-b .coach-title-b,
  .profile--layout-b .coach-categories-b,
  .profile--layout-b .coach-tagline-b,
  .profile--layout-b .coach-meta-b {
    text-align: center;
  }
  .profile--layout-b .coach-chip-list {
    justify-content: center;
  }
  .profile--layout-b .coach-meta-item {
    display: block;
  }
  .profile--layout-b .coach-header-b__avatar {
    width: clamp(240px, 62vw, 390px);
    height: clamp(240px, 62vw, 390px);
  }
  .profile--layout-b .coach-header-b__left .coach-header-b__avatar {
    width: clamp(240px, 62vw, 390px);
    height: clamp(240px, 62vw, 390px);
  }
}

/* LG header layout: place Box C-H to the right of name/categories/tagline/meta */
@media (min-width: 1200px) {
  .profile--layout-b .coach-header-b__right { display: grid; grid-template-columns: 1fr 2fr; gap: 1rem; align-items: start; }
  .profile--layout-b .coach-header-b__right-main { min-width: 0; }
  .profile--layout-b .coach-benefits-b { margin-top: 0; }
}

/* Inline categories (no links) – wrap on small viewports instead of truncating */
.profile--layout-b .coach-chip-list { display: flex; flex-wrap: wrap; gap: .5rem; white-space: normal; overflow: visible; text-overflow: clip; }
.profile--layout-b .coach-chip { display: inline-flex; align-items: center; margin: 0; padding: .2rem .6rem; background-color: rgba(181,187,173,.30); color: #1f2a37; border-radius: 999px; font-size: .9rem; line-height: 1.2; }

@media (max-width: 575.98px) {
  body:not(.page-node-type-front-page):not(.path-frontpage) .profile--layout-b {
    margin-top: 40px;
  }

  .profile--layout-b .coach-chip { font-size: .85rem; }
  .profile--layout-b .coach-chip-list { gap: .4rem .5rem; }
}

/* Meta row in header */
.profile--layout-b .coach-meta-b { color: #1f2a37; opacity: .95; font-size: .95rem; }
.profile--layout-b .coach-meta-sep { padding: 0 .5rem; opacity: .6; }
.profile--layout-b .coach-meta-item { display: inline; }
.profile--layout-b .coach-meta-item.coach-meta-item--break { display: block; margin-top: .15rem; }

/* Dot-only status indicator */
.profile--layout-b .coach-status-dot { position: absolute; right: 12px; top: 12px; width: 14px; height: 14px; border-radius: 50%; border: 2px solid #fff; box-shadow: 0 0 0 1px rgba(0,0,0,.08); }
.profile--layout-b .coach-status-dot.is-online { background: #2ecc71; }
.profile--layout-b .coach-status-dot.is-offline { background: #6c757d; }

/* Header benefits (desktop only via .d-lg-block) */
.profile--layout-b .coach-benefits-b { margin-top: .75rem; }
.profile--layout-b .coach-benefits-b .field__items { display: flex; flex-wrap: wrap; gap: .5rem; }
.profile--layout-b .coach-benefits-b .field__item {
  background: transparent;
  border: 0;
  color: #1f2a37;
  border-radius: 999px;
  padding: .2rem .6rem;
  /*font-size: .9rem;*/
  /*line-height: 1.2;*/
}

/* Meetings block spacing */
.profile--layout-b .coach-meetings-b { margin: 1rem 0 0.5rem; }
.profile--layout-b .coach-meetings-b {
  background: var(--mc-surface-bg);
  border-radius: var(--mc-surface-radius);
  padding: var(--mc-gap);
  box-shadow: var(--mc-surface-shadow);
  overflow: hidden; /* ensure inner content respects rounding */
  background-clip: padding-box;
}
/* Progressive enhancement: blur if supported */
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .profile--layout-b .coach-meetings-b {
    -webkit-backdrop-filter: blur(var(--mc-surface-blur));
    backdrop-filter: blur(var(--mc-surface-blur));
  }
}

/* Neutralize outer wrappers from meetings library inside our hint box */
.profile--layout-b .coach-meetings-b #meetings-container {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
}
.profile--layout-b .coach-meetings-b .meeting-card,
.profile--layout-b .coach-meetings-b .modern-meeting-card {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Accessible focus/hover within meetings and generic boxes */
.profile--layout-b .coach-meetings-b a,
.profile--layout-b .coach-meetings-b button,
.profile--layout-b .coach-meetings-b [role="button"],
.profile--layout-b .coach-meetings-b [tabindex]:not([tabindex="-1"]),
.profile--layout-b .coach-box-b a,
.profile--layout-b .coach-box-b button,
.profile--layout-b .coach-box-b [role="button"],
.profile--layout-b .coach-box-b [tabindex]:not([tabindex="-1"]) {
  border-radius: 8px;
}

    /* Pfeile und today-button sollen abgerundete Ecken haben btb */
.profile--layout-b .coach-box-b button.fc-prev-button,
.profile--layout-b .coach-box-b button.fc-next-button,
.profile--layout-b .coach-box-b button.fc-today-button {
  border-radius: 35px;
}

.profile--layout-b .coach-meetings-b a:focus-visible,
.profile--layout-b .coach-meetings-b button:focus-visible,
.profile--layout-b .coach-meetings-b [role="button"]:focus-visible,
.profile--layout-b .coach-meetings-b [tabindex]:not([tabindex="-1"]):focus-visible,
.profile--layout-b .coach-box-b a:focus-visible,
.profile--layout-b .coach-box-b button:focus-visible,
.profile--layout-b .coach-box-b [role="button"]:focus-visible,
.profile--layout-b .coach-box-b [tabindex]:not([tabindex="-1"]):focus-visible {
  outline: var(--mc-focus-outline);
  outline-offset: 2px;
  box-shadow: var(--mc-focus-ring);
}
.profile--layout-b .coach-meetings-b a:hover,
.profile--layout-b .coach-meetings-b button:hover,
.profile--layout-b .coach-meetings-b [role="button"]:hover,
.profile--layout-b .coach-box-b a:hover,
.profile--layout-b .coach-box-b button:hover,
.profile--layout-b .coach-box-b [role="button"]:hover {
  filter: brightness(0.98);
}

/* Preserve pill shape for global buttons rendered within meeting boxes */
.profile--layout-b .coach-meetings-b .meeting-button,
.profile--layout-b .coach-meetings-b .button,
.profile--layout-b .coach-meetings-b .start-meeting-btn {
  border-radius: var(--mc-button-radius, 70px) !important;
}

@media (prefers-reduced-motion: reduce) {
  .profile--layout-b .coach-meetings-b *,
  .profile--layout-b .coach-meetings-b *::before,
  .profile--layout-b .coach-meetings-b *::after,
  .profile--layout-b .coach-box-b *,
  .profile--layout-b .coach-box-b *::before,
  .profile--layout-b .coach-box-b *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Generic boxed container (matches header/hint box appearance) */
.profile--layout-b .coach-box-b {
  background: var(--mc-surface-bg);
  border-radius: var(--mc-surface-radius);
  padding: var(--mc-gap);
  box-shadow: var(--mc-surface-shadow);
  overflow: hidden;
  background-clip: padding-box;
}
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .profile--layout-b .coach-box-b {
    -webkit-backdrop-filter: blur(var(--mc-surface-blur));
    backdrop-filter: blur(var(--mc-surface-blur));
  }
}

/* Maintain .mcz-glass helper as synonym to token-based glass */
.profile--layout-b .coach-meetings-b.mcz-glass,
.profile--layout-b .coach-box-b.mcz-glass {
  background: var(--mc-surface-bg);
}
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .profile--layout-b .coach-meetings-b.mcz-glass,
  .profile--layout-b .coach-box-b.mcz-glass {
    -webkit-backdrop-filter: blur(var(--mc-surface-blur));
    backdrop-filter: blur(var(--mc-surface-blur));
  }
}

/* Floating boxes below calendar/content */
.profile--layout-b .coach-open-hours-floating-b { margin: 1rem 0 0; }
.profile--layout-b .coach-benefits-floating-b {
  margin: 1rem 0 0;
  /* Allow the shared .coach-box-b tokens to render the glass surface */
}
.profile--layout-b .coach-side-stack-b {
  margin-top: var(--mc-gap);
}
@media (min-width: 768px) and (max-width: 1199.98px) {
  .profile--layout-b .coach-side-stack-b {
    display: none !important;
  }
}
.profile--layout-b .coach-open-hours-floating-b .coach-calendar-b__open-hours table { width: 100%; min-width: 0; }

.coach-open-hours-floating-b .office-hours__table.table > :not(caption) > * > * {
    padding-left: 0;
}

.coach-open-hours-floating-b .field--name-field-open-hours .field__items {
    padding-top: 20px;
}


/* Calendar box – variables, structure, and responsiveness */
.profile--layout-b .coach-calendar-b {
  /* Design tokens (scoped) */
  --calendar-gap: .75rem;
  --calendar-bg: #fff;
  --calendar-border-color: #e5e7eb; /* tailwind slate-200 */
  --calendar-border: 1px solid var(--calendar-border-color);
  --calendar-radius: 12px;
  --calendar-header-bg: #f8fafc; /* slate-50 */
  --calendar-header-fg: #111827; /* slate-900 */
  --calendar-cell-padding: .5rem;
  --calendar-cell-padding-lg: .75rem;
  --calendar-accent: #0d6efd; /* bootstrap primary */
  --calendar-focus-ring: 0 0 0 3px rgba(13,110,253,.35);
}

/* Calendar heading area (accessible) */
.profile--layout-b .coach-calendar-b__header { margin-bottom: .25rem; }
.profile--layout-b .coach-calendar-b__title { margin: 0 0 .25rem; font-size: 1.125rem; line-height: 1.25; color: var(--calendar-header-fg); }
.profile--layout-b .coach-calendar-b__hint { margin: 0 0 .5rem; color: #334155; font-size: .95rem; }

/* In layout B, hide the calendar header visually to avoid duplicate titles/hints (kept for a11y). */
.profile--layout-b .coach-calendar-b .visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* Base grid: 1 column by default; breakpoints override columns */
.profile--layout-b .coach-calendar-b__grid {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-areas:
    "avail"
    "main";
  gap: var(--calendar-gap);
}
.profile--layout-b .coach-calendar-b__main { grid-area: main; }
.profile--layout-b .coach-calendar-b__availability { grid-area: avail; }

/* Allow horizontal scrolling when needed without breaking rounded container */
.profile--layout-b .coach-calendar-b.coach-box-b {
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
}

/* Calendar wrapper on glass: remove inner backgrounds/borders to avoid stacked glass */
.profile--layout-b .coach-calendar-b.mcz-glass {
  --calendar-bg: transparent;
  --calendar-header-bg: transparent;
  --calendar-border-color: transparent;
  --calendar-border: 0;
}
.profile--layout-b .coach-calendar-b.mcz-glass .fc-toolbar,
.profile--layout-b .coach-calendar-b.mcz-glass .coach-calendar-b__main,
.profile--layout-b .coach-calendar-b.mcz-glass .coach-calendar-b__availability,
.profile--layout-b .coach-calendar-b.mcz-glass .coach-calendar-b__open-hours {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.profile--layout-b .coach-calendar-b.mcz-glass .fc-widget-header,
.profile--layout-b .coach-calendar-b.mcz-glass .fc-widget-content {
  border-color: transparent !important;
}

/* Keep open-hours area white so table cell borders remain visible */
.profile--layout-b .coach-calendar-b.mcz-glass .coach-calendar-b__open-hours {
  background: #fff !important;
  border: 1px solid #e5e7eb !important; /* slate-200 */
  border-radius: 8px;
  padding: .75rem;
}
.profile--layout-b .coach-calendar-b.mcz-glass .coach-calendar-b__open-hours table {
  background: #fff !important;
}

/* Keep time grid (15-min slats) white for clear visibility of open/close ranges */
.profile--layout-b .coach-calendar-b.mcz-glass .coach-calendar-b__main .fc-time-area,
.profile--layout-b .coach-calendar-b.mcz-glass .coach-calendar-b__availability .fc-time-area {
  background: transparent !important;
}
/* Visually round ONLY the outer white area without affecting inner scrolling */
.profile--layout-b .coach-calendar-b.mcz-glass .coach-calendar-b__main,
.profile--layout-b .coach-calendar-b.mcz-glass .coach-calendar-b__availability {
  border-radius: 0;
}
.profile--layout-b .coach-calendar-b.mcz-glass .coach-calendar-b__main .fc-view-container,
.profile--layout-b .coach-calendar-b.mcz-glass .coach-calendar-b__availability .fc-view-container {
  position: relative;
  background: #fff;
  border-radius: 8px;
  overflow: hidden; /* clip header/body to rounded corners without affecting inner scrolling */
}
.profile--layout-b .coach-calendar-b.mcz-glass .fc-time-area .fc-slats table,
.profile--layout-b .coach-calendar-b.mcz-glass .fc-rows .fc-content-skeleton table,
.profile--layout-b .coach-calendar-b.mcz-glass .fc-rows .fc-bgevent-skeleton table,
.profile--layout-b .coach-calendar-b.mcz-glass .fc-rows .fc-slats table {
  background: #fff !important;
}
.profile--layout-b .coach-calendar-b.mcz-glass .fc-time-area .fc-slats th,
.profile--layout-b .coach-calendar-b.mcz-glass .fc-time-area .fc-slats td,
.profile--layout-b .coach-calendar-b.mcz-glass .fc-rows .fc-content-skeleton th,
.profile--layout-b .coach-calendar-b.mcz-glass .fc-rows .fc-content-skeleton td,
.profile--layout-b .coach-calendar-b.mcz-glass .fc-rows .fc-bgevent-skeleton th,
.profile--layout-b .coach-calendar-b.mcz-glass .fc-rows .fc-bgevent-skeleton td {
  border-color: #e5e7eb !important;
}
/* Light grey grid around hour labels to match other lines */
.profile--layout-b .coach-calendar-b.mcz-glass .fc-time-area .fc-slats table {
  border-collapse: collapse !important;
  border-spacing: 0 !important;
}
.profile--layout-b .coach-calendar-b.mcz-glass .fc-time-area .fc-slats th,
.profile--layout-b .coach-calendar-b.mcz-glass .fc-time-area .fc-slats td {
  border: 1px solid #e5e7eb !important; /* subtle grey, same as grid */
}

/* Header (hour labels) grid lines */
.profile--layout-b .coach-calendar-b.mcz-glass .fc-head table {
  border-collapse: collapse !important;
  border-spacing: 0 !important;
}
.profile--layout-b .coach-calendar-b.mcz-glass .fc-head th,
.profile--layout-b .coach-calendar-b.mcz-glass .fc-head td {
  border: 1px solid #e5e7eb !important;
  background: transparent !important; /* avoid square corner outside rounded mask */
}
/* Avoid outer stroke to prevent square corners at top-left/top-right */
.profile--layout-b .coach-calendar-b.mcz-glass .fc-head tr > th,
.profile--layout-b .coach-calendar-b.mcz-glass .fc-head tr > td {
  border-top: 0 !important;
}
.profile--layout-b .coach-calendar-b.mcz-glass .fc-head tr > th:first-child,
.profile--layout-b .coach-calendar-b.mcz-glass .fc-head tr > td:first-child {
  border-left: 0 !important;
}
.profile--layout-b .coach-calendar-b.mcz-glass .fc-head tr > th:last-child,
.profile--layout-b .coach-calendar-b.mcz-glass .fc-head tr > td:last-child {
  border-right: 0 !important;
}

/* Box-D (Open hours floating): transparent background, white separators 
.profile--layout-b .coach-open-hours-floating-b.mcz-glass {
  background: transparent !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
}*/
.profile--layout-b .coach-open-hours-floating-b.mcz-glass .coach-calendar-b__open-hours {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}
.profile--layout-b .coach-open-hours-floating-b .coach-calendar-b__open-hours table {
  width: 100%;
  background: transparent !important;
  border-collapse: collapse;
  /* neutralize Bootstrap table variables to avoid white backgrounds */
  --bs-table-bg: transparent !important;
  --bs-table-border-color: rgba(255,255,255,.6) !important;
}
.profile--layout-b .coach-open-hours-floating-b .coach-calendar-b__open-hours th,
.profile--layout-b .coach-open-hours-floating-b .coach-calendar-b__open-hours td {
  color: #111827 !important; /* slate-900 */
  background-color: transparent !important;
  border-color: rgba(255,255,255,.6) !important;
}

.profile--layout-b .coach-open-hours-floating-b .coach-calendar-b__open-hours th {
  width: 25%;
}

.profile--layout-b .coach-open-hours-floating-b .coach-calendar-b__open-hours td {
  width: 75%;
}

.profile--layout-b .coach-open-hours-floating-b .field__label {
  font-weight: bolder;
}



/* Generic table layout inside calendar field (robust to unknown markup) */
.profile--layout-b .coach-calendar-b__main table,
.profile--layout-b .coach-calendar-b__availability table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--calendar-bg);
  min-width: clamp(360px, 92vw, 510px); /* XS: shrink to 360px at ~380px viewports */
}
/* Ensure open-hours tables do not enforce a large min-width on XS */
.profile--layout-b .coach-calendar-b__open-hours table { width: 100%; min-width: 0; }
.profile--layout-b .coach-calendar-b thead th {
  background: var(--calendar-header-bg);
  color: var(--calendar-header-fg);
  font-weight: 600;
  text-align: center;
}
.profile--layout-b .coach-calendar-b th,
.profile--layout-b .coach-calendar-b td {
  padding: var(--calendar-cell-padding);
  border-bottom: var(--calendar-border);
  border-right: var(--calendar-border);
  vertical-align: top;
}
.profile--layout-b .coach-calendar-b tr th:first-child,
.profile--layout-b .coach-calendar-b tr td:first-child { border-left: var(--calendar-border); }
.profile--layout-b .coach-calendar-b thead tr:first-child th { border-top: var(--calendar-border); }

/* Make interactive elements accessible */
.profile--layout-b .coach-calendar-b a:focus-visible,
.profile--layout-b .coach-calendar-b button:focus-visible,
.profile--layout-b .coach-calendar-b [role="button"]:focus-visible,
.profile--layout-b .coach-calendar-b input[type="button"]:focus-visible,
.profile--layout-b .coach-calendar-b input[type="submit"]:focus-visible {
  outline: 2px solid var(--calendar-accent);
  outline-offset: 2px;
  box-shadow: var(--calendar-focus-ring);
}
.profile--layout-b .coach-calendar-b a:hover,
.profile--layout-b .coach-calendar-b button:hover,
.profile--layout-b .coach-calendar-b [role="button"]:hover {
  filter: brightness(0.98);
}

/* Shrink calendar toolbar date title by 90% across layout B */
.profile--layout-b .coach-calendar-b .fc-toolbar h2 { font-size: 1.2rem; line-height: 1.2; }

/* SM/MD (≤768px) – comfortable tap targets */
@media (max-width: 767.98px) {
  .profile--layout-b .coach-calendar-b {
    --calendar-cell-padding: .55rem;
  }
  .profile--layout-b .coach-calendar-b a,
  .profile--layout-b .coach-calendar-b button,
  .profile--layout-b .coach-calendar-b [role="button"] {
    min-height: 40px;
  }
}

/* XS narrow (≤440px) – extra compact calendar */
@media (max-width: 440px) {
  .profile--layout-b .coach-calendar-b {
    --calendar-cell-padding: .4rem;
  }
}

/* MD (769–1024px) – typical calendar look, sticky header */
@media (min-width: 768px) and (max-width: 991.98px) {
  .profile--layout-b .coach-calendar-b {
    --calendar-cell-padding: .6rem;
  }
  .profile--layout-b .coach-calendar-b thead th {
    position: sticky;
    top: 0;
    z-index: 1;
  }
  /* Stack Bootstrap LG columns in MD so Box-P follows after calendar */
  .profile--layout-b .coach-content-b > .col-lg-7.order-lg-1 { width: 100%; flex: 0 0 100%; }
  .profile--layout-b .coach-content-b > .col-lg-5.order-lg-2 { width: 100%; flex: 0 0 100%; }
  /* MD layout: availability full-width, then two columns (main | benefits) 25% | 75% */
  .profile--layout-b .coach-calendar-b__grid {
    display: grid;
    grid-template-columns: minmax(0, clamp(240px, 28%, 320px)) minmax(0, 1fr);
    grid-template-areas:
      "avail avail"
      "main benefits";
    gap: var(--calendar-gap);
    column-gap: calc(var(--calendar-gap) + 8px);
    align-items: stretch;
  }
  .profile--layout-b .coach-calendar-b__main { grid-area: main; min-width: 0; }
  .profile--layout-b .coach-calendar-b__availability { grid-area: avail; }
  .profile--layout-b .coach-benefits-grid-b {
    display: block;
    grid-area: benefits;
    background: transparent;
    border: var(--calendar-border);
    border-radius: 8px;
    padding: .75rem;
    height: 100%;
    min-width: 0;
    word-break: break-word;
    overflow-wrap: anywhere;
  }
  /* MD: hide floating benefits to avoid duplicate with grid variant */
  .profile--layout-b .coach-benefits-floating-b { display: none; }
}

/* LG (>=1200px) – generous spacing and clear columns */
@media (min-width: 1200px) {
  .profile--layout-b .coach-calendar-b {
    --calendar-cell-padding: var(--calendar-cell-padding-lg);
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .profile--layout-b .coach-calendar-b *,
  .profile--layout-b .coach-calendar-b *::before,
  .profile--layout-b .coach-calendar-b *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* High contrast/forced colors */
@media (forced-colors: active) {
  .profile--layout-b .coach-calendar-b th,
  .profile--layout-b .coach-calendar-b td {
    border-color: CanvasText;
  }
  .profile--layout-b .coach-calendar-b a:focus-visible,
  .profile--layout-b .coach-calendar-b button:focus-visible,
  .profile--layout-b .coach-calendar-b [role="button"]:focus-visible {
    outline-color: Highlight;
    box-shadow: none;
  }
}

/* Optional sticky header visual cue when JS marks is-stuck */
.profile--layout-b .coach-calendar-b thead.is-stuck th {
  box-shadow: 0 2px 6px rgba(0,0,0,.12);
}

/* Availability calendar: collapse resource pane without removing it from flow */
.profile--layout-b .coach-calendar-b__availability .fc-resource-area { width: 0 !important; min-width: 0 !important; overflow: hidden !important; border: 0 !important; }
.profile--layout-b .coach-calendar-b__availability .fc-time-area { width: 100% !important; }

/* Compress the blank band above event rows in timeline (first inner div in row cell) */
.profile--layout-b .coach-calendar-b__availability .fc-rows td > div:first-child { height: 0 !important; line-height: 0 !important; }
.profile--layout-b .coach-calendar-b__availability .fc-rows td { padding-top: 0 !important; }
/* Align the left edge of the header slats and the event scroller */
.profile--layout-b .coach-calendar-b__availability .fc-time-area .fc-scroller,
.profile--layout-b .coach-calendar-b__availability .fc-rows .fc-scroller { padding-left: 0 !important; margin-left: 0 !important; }

/* Smaller day title in toolbar */
.profile--layout-b .coach-calendar-b__main .fc-toolbar h2 { display: none; }
.profile--layout-b .coach-calendar-b__main .fc-toolbar { background: var(--calendar-header-bg); color: var(--calendar-header-fg); border: var(--calendar-border); border-radius: 8px; padding: .25rem .5rem; }

/* FullCalendar Timeline (Main) – align paddings/borders/colors */
.profile--layout-b .coach-calendar-b__main .fc-widget-header,
.profile--layout-b .coach-calendar-b__main .fc-widget-content { border-color: var(--calendar-border-color); }
.profile--layout-b .coach-calendar-b__main .fc-time-area .fc-slats table,
.profile--layout-b .coach-calendar-b__main .fc-rows .fc-content-skeleton table,
.profile--layout-b .coach-calendar-b__main .fc-rows .fc-bgevent-skeleton table,
.profile--layout-b .coach-calendar-b__main .fc-rows .fc-slats table { border-collapse: collapse; border-spacing: 0; }
.profile--layout-b .coach-calendar-b__main .fc-rows td,
.profile--layout-b .coach-calendar-b__main .fc-rows th { padding-left: 0; padding-right: 0; }
.profile--layout-b .coach-calendar-b__main .fc-time-area .fc-scroller { overflow-y: hidden; overflow-x: auto; }
.profile--layout-b .coach-calendar-b__main .fc-resource-area { width: 0; min-width: 0; overflow: hidden; border: 0; }
.profile--layout-b .coach-calendar-b__main .fc-time-area { width: 100%; }

/* Sticky-like header visual parity (no duplicate shadow) */
.profile--layout-b .coach-calendar-b__main .fc-time-area .fc-slats th { background: var(--calendar-header-bg); color: var(--calendar-header-fg); }
.profile--layout-b .coach-calendar-b__main .fc-time-area .fc-slats { box-shadow: 0 2px 6px rgba(0,0,0,.06); }

/* Booking controls box (Startdatum/Eingaben + "Reservierung hinzufügen") */
.profile--layout-b .coach-calendar-b__main form {
  background: var(--calendar-header-bg);
  border: var(--calendar-border);
  border-radius: 8px;
  padding: .75rem;
  margin-bottom: var(--calendar-gap);
}
.profile--layout-b .coach-calendar-b__main form .form-item { margin-bottom: .5rem; }
.profile--layout-b .coach-calendar-b__main form .form-actions { margin-top: .25rem; }
.profile--layout-b .coach-calendar-b__main form .form-actions .button,
.profile--layout-b .coach-calendar-b__main form .form-actions input[type="submit"],
.profile--layout-b .coach-calendar-b__main form .form-actions button {
  border-radius: 8px;
  width: 100%;
  max-width: var(--booking-button-width);
  display: inline-flex;
  justify-content: center;
}

/* Inline hint next to time input in booking form */
.profile--layout-b .coach-calendar-b__inline-hint {
  display: block;
  grid-column: 1 / -1; /* span both columns when inside .coach-booking-inline */
  margin-top: .25rem;
  color: #334155;
  font-size: .95rem;
}

/* Booking form: wrap date + time in a single inline row, clamp width to button */
.profile--layout-b .coach-calendar-b__main form .coach-booking-inline {
  display: grid;
  grid-template-columns: 1fr;
  gap: .5rem;
  max-width: var(--booking-button-width);
}
@media (min-width: 768px) {
  .profile--layout-b .coach-calendar-b__main form .coach-booking-inline {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: start;
    gap: .5rem;
    max-width: var(--booking-button-width);
  }
}

/* Clamp duration field width to submit button width */
.profile--layout-b .coach-calendar-b__main form { --booking-button-width: 180px; }
.profile--layout-b .coach-calendar-b__main form .coach-duration-item .form-element,
.profile--layout-b .coach-calendar-b__main form .coach-duration-item select,
.profile--layout-b .coach-calendar-b__main form .coach-duration-item input[type="text"],
.profile--layout-b .coach-calendar-b__main form .coach-duration-item input[type="number"] {
  max-width: var(--booking-button-width);
}

/* Inline form alignment helpers (Drupal common classes) */
.profile--layout-b .coach-calendar-b__main form.container-inline .form-item { display: inline-block; margin-right: .75rem; }
.profile--layout-b .coach-calendar-b__main form.container-inline .form-actions { display: inline-block; }

/* Inputs: make date/time/number/select fields white for contrast inside box */
.profile--layout-b .coach-calendar-b__main form input[type="text"],
.profile--layout-b .coach-calendar-b__main form input[type="date"],
.profile--layout-b .coach-calendar-b__main form input[type="time"],
.profile--layout-b .coach-calendar-b__main form input[type="number"],
.profile--layout-b .coach-calendar-b__main form select {
  background: #fff;
  border: 1px solid var(--mc-button-border-color, rgba(116,112,82,.45));
  border-radius: 6px;
}

/* Height clamp: only the inner scrollers get a fixed height; containers remain visible */
.profile--layout-b .coach-calendar-b__availability { overflow: visible; }
.profile--layout-b .coach-calendar-b__availability .fc-view-container { max-height: none !important; overflow: visible !important; }
/* Clamp only the events area scroller, not the header slats scroller */
.profile--layout-b .coach-calendar-b__availability .fc-rows .fc-scroller,
.profile--layout-b .coach-calendar-b__availability .fc-rows .fc-scroller-clip { height: 250px !important; max-height: 250px !important; overflow-y: hidden !important; overflow-x: auto !important; }

/* Positioniere den Reservierungsbutton btb */
  .profile--layout-b .coach-calendar-b__main form #edit-submit {
    margin-left: 0;
    margin-top: 1.2rem;
  }  

/* LG layout: place calendar box full-width below meetings and render inner 3-col grid */
@media (min-width: 1200px) {
  /* Make the calendar box span full width by overriding the bootstrap grid on LG */
  .profile--layout-b .coach-content-b > .col-lg-7.order-lg-1 { width: 100%; flex: 0 0 100%; }
  .profile--layout-b .coach-content-b > .col-lg-5.order-lg-2 { width: 100%; flex: 0 0 100%; }
  /* Keep the right column content stacked below the calendar at LG as requested */

  /* LG: two columns (main | availability) with 25% | 75% split, no benefits in grid */
  .profile--layout-b .coach-calendar-b__grid {
    display: grid;
    grid-template-columns: 1fr 3fr;
    grid-template-areas: "main avail";
    gap: var(--calendar-gap);
    align-items: stretch; /* equal heights */
  }

  .profile--layout-b .coach-calendar-b__main { grid-area: main; min-width: 0; }
  .profile--layout-b .coach-calendar-b__availability { grid-area: avail; }
  /* No open-hours inside the grid at LG (moved to floating box) */
  .profile--layout-b .coach-calendar-b__availability,
  .profile--layout-b .coach-calendar-b__open-hours {
    background: var(--calendar-header-bg);
    border: var(--calendar-border);
    border-radius: 8px;
    padding: .75rem;
  }

  /* Match heights: let both columns fill the row */
  .profile--layout-b .coach-calendar-b__main,
  .profile--layout-b .coach-calendar-b__availability { height: 100%; }

  /* Booking column styling and reduced top padding */
  .profile--layout-b .coach-calendar-b__main {
    background: var(--calendar-header-bg);
    border: var(--calendar-border);
    border-radius: 8px;
    padding: .5rem .75rem .75rem; /* smaller top padding */
    display: flex;
    flex-direction: column;
  }
  /* Remove inner card framing to avoid double borders */
  .profile--layout-b .coach-calendar-b__main form {
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 0;
    margin-bottom: var(--calendar-gap);
  }  
  
}
/* Coach-Profil Textfelder */
@media (min-width: 768px) {
  .profile--layout-b .coach-benefits-b,
  .profile--layout-b .field--name-field-open-hours {
    padding: 40px 80px 40px 40px;
  }
  .profile--layout-b .coach-profile-p-b .field--name-field-coach-profile-text,
  .profile--layout-b .coach-profile-v-b .field--name-field-coach-profile-vita {
    padding: 0;
  }
}


/* Benefits block placement rules */
/* Default: header shows benefits; grid/floating versions hidden */
.profile--layout-b .coach-benefits-grid-b {
  display: none;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.profile--layout-b .coach-benefits-floating-b { display: none; }

/* MD (≥768px) should show benefits in grid (C-G) */
@media (min-width: 768px) and (max-width: 1199.98px) {
  .profile--layout-b .coach-benefits-grid-b { display: block; }
}

/* Hide header benefits up to 1200px; show floating benefits only on SM and below */
@media (max-width: 1199.98px) {
  .profile--layout-b .coach-benefits-b { display: none; }
}
@media (max-width: 767.98px) {
  .profile--layout-b .coach-benefits-floating-b { display: block; }
}

/* LG and wider: show benefits back in header; hide floating/grid versions */
@media (min-width: 1200px) {
  .profile--layout-b .coach-benefits-b { display: block; }
  .profile--layout-b .coach-benefits-floating-b { display: none; }
  .profile--layout-b .coach-benefits-grid-b { display: none; }
}

/* MD+ (1025–1200px): mirror MD layout (B full-width, then A|C-G at 25/75) */
@media (min-width: 992px) and (max-width: 1199.98px) {
  /* Stack Bootstrap LG columns vertically in MD+ so Box-P follows after calendar */
  .profile--layout-b .coach-content-b > .col-lg-7.order-lg-1 { width: 100%; flex: 0 0 100%; }
  .profile--layout-b .coach-content-b > .col-lg-5.order-lg-2 { width: 100%; flex: 0 0 100%; }

  .profile--layout-b .coach-calendar-b__grid {
    display: grid;
    grid-template-columns: minmax(0, clamp(260px, 24%, 360px)) minmax(0, 1fr);
    grid-template-areas:
      "avail avail"
      "main benefits";
    gap: var(--calendar-gap);
    column-gap: calc(var(--calendar-gap) + 6px);
    align-items: stretch;
  }
  .profile--layout-b .coach-calendar-b__main { grid-area: main; min-width: 0; }
  .profile--layout-b .coach-calendar-b__availability { grid-area: avail; }
  .profile--layout-b .coach-benefits-grid-b {
    display: block;
    grid-area: benefits;
    background: transparent;
    border: var(--calendar-border);
    border-radius: 8px;
    padding: .75rem;
    height: 100%;
    min-width: 0;
    word-break: break-word;
    overflow-wrap: anywhere;
  }
  /* Hide floating benefits to avoid duplicates in MD+ */
  .profile--layout-b .coach-benefits-floating-b { display: none !important; }
}



/* FullCalendar (Availability) – match admin look: square corners, tighter padding */
.profile--layout-b .coach-calendar-b__availability .fc-event,
.profile--layout-b .coach-calendar-b__availability .fc-event .fc-bg {
  border-radius: 0 !important;
  box-shadow: none !important;
}
.profile--layout-b .coach-calendar-b__availability .fc-event .fc-content { padding: 0 4px !important; line-height: 1.2; }
/* Kill inner title spacing that creates visual gaps */
.profile--layout-b .coach-calendar-b__availability .fc-timeline-event .fc-title,
.profile--layout-b .coach-calendar-b__availability .fc-h-event .fc-title { margin: 0 !important; padding: 0 4px !important; }
/* Remove gaps between adjacent events in timeline */
.profile--layout-b .coach-calendar-b__availability a.fc-timeline-event,
.profile--layout-b .coach-calendar-b__availability .fc-h-event {
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  border-left-width: 0 !important;
  border-right-width: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* remove any default margins on timeline-event anchor itself */
.profile--layout-b .coach-calendar-b__availability .fc-timeline-event { margin: 0 !important; }
/* ensure background layer doesn't create a visual seam */
.profile--layout-b .coach-calendar-b__availability .fc-event .fc-bg { border: 0 !important; margin: 0 !important; }
.profile--layout-b .coach-calendar-b__availability .fc-h-event,
.profile--layout-b .coach-calendar-b__availability .fc-timeline-event { border: 0 !important; }
/* For partial-start/partial-end events remove the 1px separators */
.profile--layout-b .coach-calendar-b__availability .fc-ltr .fc-h-event.fc-not-end,
.profile--layout-b .coach-calendar-b__availability .fc-rtl .fc-h-event.fc-not-start {
  border-right-width: 0 !important;
  padding-right: 0 !important;
  margin-right: 0 !important; /* no visual shift */
}
.profile--layout-b .coach-calendar-b__availability .fc-ltr .fc-h-event.fc-not-start,
.profile--layout-b .coach-calendar-b__availability .fc-rtl .fc-h-event.fc-not-end {
  border-left-width: 0 !important;
  padding-left: 0 !important;
  margin-left: 0 !important; /* no visual shift */
}
/* Resizer-Griffe entfernen, damit kein 1px-Puffer reserviert wird */
.profile--layout-b .coach-calendar-b__availability .fc-resizer { display: none !important; }
/* Tighten header/time cell paddings in timeline */
/* Use FullCalendar defaults for header/slat paddings to match admin view */
.profile--layout-b .coach-calendar-b__availability .fc-widget-header th { padding: initial !important; }
.profile--layout-b .coach-calendar-b__availability .fc-time-area .fc-slats td,
.profile--layout-b .coach-calendar-b__availability .fc-time-area .fc-slats .fc-minor td { padding: initial !important; }
/* Align slat grid width precisely with event area by collapsing borders */
.profile--layout-b .coach-calendar-b__availability .fc-time-area .fc-slats table {
  border-collapse: collapse !important;
  border-spacing: 0 !important;
}
/* Ensure event rows grid uses same collapse model (content/background skeletons) */
.profile--layout-b .coach-calendar-b__availability .fc-rows .fc-content-skeleton table,
.profile--layout-b .coach-calendar-b__availability .fc-rows .fc-bgevent-skeleton table {
  border-collapse: collapse !important;
  border-spacing: 0 !important;
}
/* Ensure rows slats table also collapses spacing */
.profile--layout-b .coach-calendar-b__availability .fc-rows .fc-slats table {
  border-collapse: collapse !important;
  border-spacing: 0 !important;
}
/* Remove horizontal padding in event grid cells to avoid visual gaps at slat borders */
.profile--layout-b .coach-calendar-b__availability .fc-rows .fc-content-skeleton td,
.profile--layout-b .coach-calendar-b__availability .fc-rows .fc-bgevent-skeleton td {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* Remove horizontal padding for rows slats cells as well */
.profile--layout-b .coach-calendar-b__availability .fc-rows .fc-slats td {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* Fallback: zero horizontal padding for any fc-rows table cells within the calendar */
.profile--layout-b #calendar .fc-rows td,
.profile--layout-b .calendar-set .fc-rows td {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* Ensure table width calculations match admin (avoid border-box widening) */
.profile--layout-b .coach-calendar-b__availability .fc-time-area .fc-slats table,
.profile--layout-b .coach-calendar-b__availability .fc-rows table,
.profile--layout-b .coach-calendar-b__availability .fc-time-area .fc-slats th,
.profile--layout-b .coach-calendar-b__availability .fc-time-area .fc-slats td {
  box-sizing: content-box !important;
}
/* Match admin slat outerWidth (~35.7px) when slotWidth=30 by adding ~2.6px padding per side */
.profile--layout-b .coach-calendar-b__availability .fc-time-area .fc-slats th,
.profile--layout-b .coach-calendar-b__availability .fc-time-area .fc-slats td,
body.profile--layout-b .fc-time-area .fc-slats th,
body.profile--layout-b .fc-time-area .fc-slats td { padding-left: initial !important; padding-right: initial !important; }
/* Apply identical padding to the events grid cells to keep header and body in sync */
.profile--layout-b .coach-calendar-b__availability .fc-rows .fc-content-skeleton th,
.profile--layout-b .coach-calendar-b__availability .fc-rows .fc-content-skeleton td,
.profile--layout-b .coach-calendar-b__availability .fc-rows .fc-bgevent-skeleton th,
.profile--layout-b .coach-calendar-b__availability .fc-rows .fc-bgevent-skeleton td,
body.profile--layout-b .fc-rows .fc-content-skeleton th,
body.profile--layout-b .fc-rows .fc-content-skeleton td,
body.profile--layout-b .fc-rows .fc-bgevent-skeleton th,
body.profile--layout-b .fc-rows .fc-bgevent-skeleton td { padding-left: initial !important; padding-right: initial !important; }
/* Admin-like test mode: neutralize layout-B timeline tweaks */
body.fc-admin-test .coach-calendar-b__availability .fc-rows .fc-scroller,
body.fc-admin-test .coach-calendar-b__availability .fc-rows .fc-scroller-clip { height: auto !important; max-height: none !important; overflow: auto !important; }
body.fc-admin-test .coach-calendar-b__availability .fc-time-area .fc-scroller { overflow: auto !important; }
body.fc-admin-test .coach-calendar-b__availability .fc-resource-area { width: 25% !important; min-width: auto !important; overflow: auto !important; border: initial !important; }
body.fc-admin-test .coach-calendar-b__availability .fc-time-area { width: auto !important; }
body.fc-admin-test .coach-calendar-b__availability .fc-rows td > div:first-child { height: auto !important; line-height: normal !important; }
body.fc-admin-test .coach-calendar-b__availability .fc-rows td { padding-top: initial !important; }
/* Prevent vertical scrollbar from stealing width in event area (only horizontal scroll needed) */
.profile--layout-b .coach-calendar-b__availability .fc-time-area .fc-scroller {
  overflow-y: hidden !important;
  overflow-x: auto !important;
}
/* Let cell content padding be controlled by module CSS */
.profile--layout-b .coach-calendar-b__availability .fc-timeline .fc-cell-content { padding: initial !important; }
/* Remove any rounding on timeline structural cells just in case */
.profile--layout-b .coach-calendar-b__availability .fc-time-area,
.profile--layout-b .coach-calendar-b__availability .fc-resource-area,
.profile--layout-b .coach-calendar-b__availability .fc-widget-content,
.profile--layout-b .coach-calendar-b__availability .fc-widget-header {
  border-radius: 0 !important;
}

/* Admin-like test mode: neutralize layout-B wrappers and timeline tweaks */
body.fc-admin-test .coach-calendar-b.coach-box-b { overflow: visible !important; padding: 0 !important; background: transparent !important; box-shadow: none !important; border: 0 !important; }
body.fc-admin-test .coach-calendar-b__grid { display: block !important; }
body.fc-admin-test .coach-calendar-b__availability,
body.fc-admin-test .coach-calendar-b__open-hours { display: none !important; }
body.fc-admin-test .coach-calendar-b__main { grid-area: auto !important; min-width: 0 !important; }
/* reset timeline container behaviors to admin defaults */
body.fc-admin-test .coach-calendar-b__availability .fc-rows .fc-scroller,
body.fc-admin-test .coach-calendar-b__availability .fc-rows .fc-scroller-clip { height: auto !important; max-height: none !important; overflow: auto !important; }
body.fc-admin-test .coach-calendar-b__availability .fc-time-area .fc-scroller { overflow: auto !important; }
body.fc-admin-test .coach-calendar-b__availability .fc-resource-area { width: 25% !important; min-width: auto !important; overflow: auto !important; border: initial !important; }
body.fc-admin-test .coach-calendar-b__availability .fc-time-area { width: auto !important; }
body.fc-admin-test .coach-calendar-b__availability .fc-rows td > div:first-child { height: auto !important; line-height: normal !important; }
body.fc-admin-test .coach-calendar-b__availability .fc-rows td { padding-top: initial !important; }
/* clear any transforms */
body.fc-admin-test .fc-time-area .fc-slats,
body.fc-admin-test .fc-time-area .fc-slats table { transform: none !important; will-change: auto !important; }
/* reset toolbar sizing */
body.fc-admin-test .coach-calendar-b .fc-toolbar h2 { font-size: initial !important; line-height: initial !important; margin: initial !important; }

/* Geometric compensation: if JS sets --fcHeaderOffset, shift header slats only */
/* Disable transform compensation; use native layout */
.profile--layout-b .fc-time-area .fc-slats { transform: none !important; }

/* Profile bio: render description as an italic quote, 50% larger, with >> << markers */
@media (min-width: 768px) {
 .profile--layout-b .coach-header-b .coach-bio-b {
  height: 180px;
  padding: 20px 0 20px 20px;
  position: relative;
  display: flex !important;
  justify-content: center; /* horizontal zentrieren (falls gewünscht) */
  align-items: center;     /* vertikal zentrieren */
  font-family: "oculi display", serif;
  font-style: italic;
  font-size: 1.5rem;
}

}

.profile--layout-b .coach-content-b .coach-bio-b {
  padding: 24px 28px;
  font-family: "oculi display", serif;
  font-style: italic;
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  line-height: 1.3;
  text-align: center;
}

/*
.profile--layout-b .coach-bio-b::before {
  content: ">> ";
}
.profile--layout-b .coach-bio-b::after {
  content: " <<";
}
*/
/* Keep markers and text on the same line by neutralizing block wrappers and margins */
.profile--layout-b .coach-bio-b .field,
.profile--layout-b .coach-bio-b .field__items,
.profile--layout-b .coach-bio-b .field__item,
.profile--layout-b .coach-bio-b p {
  display: inline;
  margin: 0;
}
.profile--layout-b .coach-bio-b__text {
  display: block;
}

/* Profile data wrapper (Box-P) */
.profile--layout-b .coach-profile-p-b {
  margin-top: 1rem;
}

/* Vita box (Box-V) sits always directly under Box-P */
.profile--layout-b .coach-profile-v-b {
  margin-top: .75rem;
}

/* Reusable glass container (matches header_glass.css behavior) */
.mcz-glass {
  background: var(--mc-surface-bg);
  border-radius: var(--mc-surface-radius);
  box-shadow: var(--mc-surface-shadow);
}
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .mcz-glass {
    -webkit-backdrop-filter: blur(var(--mc-surface-blur));
    backdrop-filter: blur(var(--mc-surface-blur));
  }
}

/* Ensure glass overrides the header gradient specifically on the profile header box */
.profile--layout-b .coach-header-b__media.mcz-glass {
  background: var(--mc-surface-bg);
}
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .profile--layout-b .coach-header-b__media.mcz-glass {
    -webkit-backdrop-filter: blur(var(--mc-surface-blur));
    backdrop-filter: blur(var(--mc-surface-blur));
  }
}

