/* SGC Essen – Cassiopeia, 13.10.2026
   Separate presentation layer. Remove/rename this file to revert.
   No external fonts, scripts or tracking. */
body.site {
  --cassiopeia-color-primary: #202b32;
  --cassiopeia-color-link: #a51d2d;
  --cassiopeia-color-hover: #741321;
  --body-color: #27343b;
  --body-bg: #f3f5f5;
  --link-color: #a51d2d;
  --link-hover-color: #741321;
  --sgc-line: #dde3e4;
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 1rem;
  line-height: 1.65;
  color: var(--body-color);
  background: var(--body-bg);
}
body.site .container-header {
  background: #202b32;
  border-bottom: 4px solid #bd293b;
  box-shadow: none;
}
body.site .container-header > .grid-child { padding-inline: 1.25rem; }
body.site .container-header .navbar-brand { padding-block: 1.35rem .7rem; max-width: 100%; }
body.site .container-header .brand-logo { display: block; }
body.site .container-header .brand-logo img {
  display: block;
  width: min(100%, 680px);
  height: auto;
  max-height: none;
}
body.site .container-header .container-nav { padding-bottom: .85rem; }
body.site .container-header .mod-menu > li > a,
body.site .container-header .mod-menu > li > button,
body.site .container-header .mod-menu > li > span {
  font-weight: 600;
  font-size: .98rem;
  line-height: 1.5;
}
body.site .container-header .mod-menu > li.active > a { text-decoration: underline; text-underline-offset: .45em; }
body.site .container-header .mod-menu > li > ul {
  border-radius: 6px;
  box-shadow: 0 12px 28px #101b2926;
}
body.site .container-header .navbar-toggler { padding: .65rem .9rem; border-color: #859298; border-radius: 6px; }
body.site .site-grid { padding-top: 1.4rem; padding-bottom: 2.5rem; }
body.site .container-component,
body.site .container-sidebar-right,
body.site .container-sidebar-left { min-width: 0; }
body.site .container-component > main {
  padding: clamp(1.1rem, 2.5vw, 2.2rem);
  background: #fff;
  border: 1px solid var(--sgc-line);
  border-radius: 10px;
  box-shadow: 0 3px 15px #20303b05;
  min-width: 0;
}
body.site .breadcrumb { background: transparent; padding: .25rem 0 .65rem; font-size: .86rem; color: #54636b; }
body.site h1,
body.site h2,
body.site h3 { color: #202b32; font-weight: 750; line-height: 1.25; overflow-wrap: anywhere; }
body.site h1 { font-size: clamp(1.65rem, 3vw, 2.3rem); }
body.site h2 { font-size: clamp(1.4rem, 2.4vw, 1.9rem); }
body.site h3 { font-size: 1.3rem; }
body.site .page-header h1,
body.site .page-header h2 { margin-bottom: 1rem; }
body.site .page-header h1 a,
body.site .page-header h2 a,
body.site .item-title a { color: #202b32; text-decoration: none; }
body.site .page-header a:hover { color: #a51d2d; text-decoration: underline; text-underline-offset: .15em; }
body.site main p { margin-bottom: 1.25rem; }
body.site main p a { overflow-wrap: anywhere; text-underline-offset: .17em; }
body.site .article-info { display: flex; flex-wrap: wrap; gap: .3rem 1.15rem; font-size: .82rem; color: #59666d; margin-block: .5rem 1.5rem; }
body.site .article-info dt { flex-basis: 100%; font-weight: 600; }
body.site .article-info dd { margin: 0; }
body.site .blog-items { row-gap: 2rem; }
body.site .blog-item + .blog-item,
body.site .items-leading > div + div { padding-top: 2rem; border-top: 1px solid var(--sgc-line); }
body.site .container-sidebar-right .card,
body.site .container-sidebar-left .card { border: 1px solid var(--sgc-line); border-radius: 10px; box-shadow: none; margin-bottom: 1.25rem; overflow-wrap: anywhere; }
body.site .container-sidebar-right .card-header,
body.site .container-sidebar-left .card-header { padding: 1rem 1.1rem; background: #fff; border-bottom: 1px solid var(--sgc-line); border-radius: 10px 10px 0 0; font-size: 1.1rem; font-weight: 700; }
body.site .card-body { padding: 1.1rem; }
body.site .card-body img { max-width: 100%; height: auto; }
body.site main iframe,
body.site .card-body iframe { max-width: 100%; }
body.site main video { max-width: 100%; height: auto; border-radius: 6px; background: #172128; }
/* Only article tables; gallery/lightbox layout is not targeted. */
body.site :is(.com-content-article__body, .blog-item .item-content) > table {
  border-collapse: collapse;
  font-size: .9rem;
  margin-block: 1.4rem;
  max-width: 100%;
}
body.site :is(.com-content-article__body, .blog-item .item-content) > table :is(th, td) {
  padding: .65rem .7rem;
  border-bottom: 1px solid #e3e8ea;
}
body.site :is(.com-content-article__body, .blog-item .item-content) > table th { background: #eef2f3; color: #27343b; }
body.site .btn-primary { background: #a51d2d; border-color: #a51d2d; color: #fff; border-radius: 6px; }
body.site .btn-primary:hover { background: #741321; border-color: #741321; }
body.site :is(a, button, input, select, textarea):focus-visible { outline: 3px solid #167b9a; outline-offset: 4px; }
body.site .container-header :is(a, button):focus-visible { outline-color: #fff; }
body.site .container-footer { margin-top: 2rem; background: #202b32; background-image: none; border-top: 4px solid #bd293b; }
@media (max-width: 991.98px) {
  body.site .site-grid { column-gap: 1rem; padding-top: .8rem; }
  body.site .container-header > .grid-child { padding-inline: 1rem; }
  body.site .container-header .navbar-brand { padding-block: .8rem .4rem; }
  body.site .container-header .container-nav { padding-bottom: .7rem; }
  body.site .container-header .mod-menu > li > ul { box-shadow: none; }
  body.site .container-sidebar-right { margin-top: 1.25rem; }
  body.site :is(.com-content-article__body, .blog-item .item-content) > table {
    display: block;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
  }
}
/* sigplus / SlidePlus: compact navigation, retaining original click handlers.
   Do not hide the whole navigation: overlay arrows are not keyboard links. */
body.site .slideplus-navigation > .slideplus-paging,
body.site .slideplus-navigation > .slideplus-first,
body.site .slideplus-navigation > .slideplus-last {
  display: none !important;
}
body.site .slideplus-navigation {
  gap: .75rem;
  padding-block: .9rem .35rem;
}
body.site .slideplus-navigation > a:is(.slideplus-previous, .slideplus-next) {
  box-sizing: border-box;
  width: auto;
  min-width: 112px;
  height: auto;
  min-height: 44px;
  padding: .5rem 1rem;
  border: 1px solid #cbd4d8;
  border-radius: 6px;
  background: #f3f5f5;
  color: #27343b;
  font-family: inherit;
  font-size: .9rem;
  font-weight: 600;
  line-height: 1.6;
  text-align: center;
  text-decoration: none;
}
body.site .slideplus-navigation > .slideplus-previous::before { content: "← Zurück"; }
body.site .slideplus-navigation > .slideplus-next::before { content: "Weiter →"; }
body.site .slideplus-navigation > a:is(.slideplus-previous, .slideplus-next):hover {
  background: #202b32;
  border-color: #202b32;
  color: #fff;
}
body.site .slideplus-navigation > a:is(.slideplus-previous, .slideplus-next):focus-visible {
  outline: 3px solid #167b9a;
  outline-offset: 3px;
}
@media print {
  body.site { background: white; color: black; }
  body.site .container-component > main { border: 0; padding: 0; box-shadow: none; }
}

