/**
 * @file
 * Benutzerprofil (entity.user.canonical): zwei Spalten unter dem Kopfbereich.
 *
 * Desktop (≥992px): links 20 %, rechts 80 %; Shell nutzt volle #main-Breite (bis #main-wrapper).
 * Tablet & Handy: eine Spalte; horizontales Padding wie Front-Wrapper (clamp 5px–20px).
 *
 * Region sidebar_second: nur im Offcanvas (rechts), nicht im zweispaltigen Raster.
 *
 * Trennlinie: var(--cns-separator) — variables.css, data-theme (Hell Standard, Dunkel nur bei Wahl).
 *
 * Version: 2026-04-14 Europe/Berlin — Profil-Grid ohne body.-Präfix (funktioniert auch wenn Body-Klasse fehlt).
 * Version: 2026-04-15 Europe/Berlin — CNS-Tab-Menü per JS in #sidebar_first; main enthält .cns-289900d.
 * Version: 2026-04-15 Europe/Berlin — Rechtliches/Copyright in sidebar_first (CNS-Keys user.profile.sidebar.legal.* / copyright.*).
 */

/* Shell: volle Breite von #main; horizontales Padding wie zuvor. */
.cns-262480e {
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
  padding-inline: clamp(5px, calc(5px + (100vw - 320px) * 15 / 448), 20px);
  box-sizing: border-box;
}

.cns-5e053b5 {
  display: grid;
  width: 100%;
  align-items: start;
  box-sizing: border-box;
  gap: 1.25rem;
  grid-template-columns: 1fr;
}

.cns-c425294 {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.cns-f49aa2c {
  margin: 0 0 0.75rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--cns-separator, rgba(128, 128, 128, 0.35));
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--cns-text, inherit);
}

/* Breadcrumb + Offcanvas-Trigger: Flex/Gap/Margin → page--cns-user-profile.html.twig (D-10). */
.cns-60d571e .breadcrumb {
  margin-bottom: 0;
  flex: 1 1 auto;
  min-width: 0;
}

.cns-3ca5532 {
  flex: 0 0 auto;
}

/* „Mehr“-Trigger (ohne Bootstrap-btn-Klassen, PRIO C-23). */
.cns-d7e90c4 {
  display: inline-block;
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: var(--bs-border-radius-sm, 0.25rem);
  border: 1px solid color-mix(in srgb, var(--cns-text, #000) 35%, transparent);
  background: transparent;
  color: var(--cns-text, inherit);
  cursor: pointer;
}

.cns-d7e90c4:hover {
  border-color: color-mix(in srgb, var(--cns-text, #000) 55%, transparent);
}

/* Schmale Seitenleiste im Offcanvas (max. ~min(100vw - 1rem, 22rem)). */
.cns-62ca994.offcanvas-end {
  --bs-offcanvas-width: min(22rem, calc(100vw - 1.5rem));
}

/* Desktop: zwei Spalten 20 % / 80 %. */
@media (min-width: 992px) {
  .cns-5e053b5 {
    grid-template-columns: minmax(0, 2fr) minmax(0, 8fr);
    gap: 1.25rem 1.5rem;
  }

  .cns-449801e {
    border-inline-end: 1px solid var(--cns-separator, rgba(128, 128, 128, 0.35));
    padding-inline-end: 1.25rem;
  }

  .cns-5e053b5 > main {
    overflow: visible;
    min-width: 0;
  }
}

/**
 * Formular mit vertical_tabs (Benutzer bearbeiten): Menü liegt in #sidebar_first (siehe
 * vertical-tabs-profile-sidebar.js). Shell (.cns-706c8a4) umschließt Menü + Panes.
 * Core vertical-tabs.css setzt margin-inline für float-Menü — hier zurücksetzen.
 *
 * Unterhalb drupalSettings.widthBreakpoint (typ. 640px) baut vertical-tabs.js kein Menü auf.
 *
 * Shell-Klasse: vertical-tabs-cns-full.js setzt nur noch .cns-706c8a4 (Map),
 * nicht mehr die literale Klasse „vertical-tabs“.
 */
.cns-5e053b5 > main .cns-706c8a4 {
  display: block;
  position: relative;
  margin: 1em 0;
  border: 1px solid var(--cns-separator, rgba(128, 128, 128, 0.45));
  box-sizing: border-box;
}

[dir="ltr"] .cns-5e053b5 > main .cns-706c8a4 {
  margin-left: 0;
}

[dir="rtl"] .cns-5e053b5 > main .cns-706c8a4 {
  margin-right: 0;
}

.cns-5e053b5 > main .cns-289900d {
  float: none;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  box-sizing: border-box;
}

/* Tab-Leiste in der linken Spalte (nach Überschrift „Linke Spalte“). Nur Profil-Shell. */
.cns-a003058 aside[data-cns-7701f09] .cns-e363017 {
  float: none;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0 0 1rem;
  padding: 0;
  list-style: none;
  border: 1px solid var(--cns-separator, rgba(128, 128, 128, 0.45));
  border-radius: 4px;
  box-sizing: border-box;
  position: static;
  inset: auto;
  z-index: auto;
}

.cns-a003058 aside[data-cns-7701f09] .cns-04aee2a {
  border-top: 1px solid var(--cns-separator, rgba(128, 128, 128, 0.35));
}

.cns-a003058 aside[data-cns-7701f09] .cns-04aee2a:first-child {
  border-top: 0;
}

.cns-a003058 aside[data-cns-7701f09] .cns-04aee2a.cns-ea56f0c {
  background-color: var(--bs-body-bg, #fff);
}

/**
 * Rechtliches (system.menu.footer) + Copyright in Profil-sidebar_first: CNS-Klassen
 * (Twig cns() mit logischen Keys user.profile.sidebar.legal.* und copyright.*) — ersetzt Bootstrap nav/link.
 */
.cns-a003058 aside[data-cns-7701f09] .cns-dc2f091 {
  text-align: center;
}

.cns-a003058 aside[data-cns-7701f09] .cns-73ef1f6 {
  /* Flex/Zentrierung → menu--footer.html.twig (D-10). */
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
}

.cns-a003058 aside[data-cns-7701f09] .cns-73ef1f6 > li {
  margin: 0;
}

.cns-a003058 aside[data-cns-7701f09] .cns-7836999 {
  font-size: 12px;
  padding: 5px;
  display: inline-block;
}

.cns-a003058 aside[data-cns-7701f09] .cns-28203ee {
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--cns-separator, rgba(128, 128, 128, 0.35));
}

[dir="ltr"] .cns-a003058 aside[data-cns-7701f09] .cns-04aee2a.cns-ea56f0c {
  border-right-width: 0;
}

[dir="rtl"] .cns-a003058 aside[data-cns-7701f09] .cns-04aee2a.cns-ea56f0c {
  border-left-width: 0;
}

/**
 * Profil: Top-Leiste, Cover und Identity untereinander mit voller Viewport-Breite (100vw),
 * vor #page-wrapper / #main-wrapper.
 */
.cns-fe70b50 {
  width: 100vw;
  max-width: 100%;
  position: relative;
  left: 50%;
  right: auto;
  transform: translateX(-50%);
  box-sizing: border-box;
}

/* 100vw kann eine horizontale Scrollleiste erzeugen — nur unter /user* begrenzen. */
body.path-user {
  overflow-x: clip;
}

/* @see assets/css/layout/sidebar-first-legal-stack.css (Bundle) + dist/layout/theme-sidebar-markers.css (CNS). */
@media (min-width: 992px) {
  .cns-5e053b5 {
    align-items: stretch;
  }

  aside.cns-9143fb8 {
    display: flex;
    flex-direction: column;
  }

  aside.cns-9143fb8 .region-sidebar-first {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
  }

  .cns-a003058 [id*="fusszeile-footer5"] {
    margin-top: auto;
  }

  .cns-a003058 aside[data-cns-7701f09] .cns-dc2f091 {
    margin-top: auto;
  }
}
