:root {
  --euro-blue: #132f53;
  --euro-blue-dark: #0c223d;
  --euro-red: #b91c1c;
}

.container-header {
  background: #fff;
  color: var(--euro-blue);
  box-shadow: 0 2px 12px rgba(12, 34, 61, .12);
}

.container-header > .grid-child:first-child {
  background: var(--euro-blue);
  box-shadow: 0 0 0 100vmax var(--euro-blue);
  clip-path: inset(0 -100vmax);
  padding-top: .65rem;
  padding-bottom: .6rem;
}

.container-header .navbar-brand {
  margin: 0;
}

.container-header .brand-logo {
  display: flex;
  align-items: center;
  gap: .8rem;
  color: #fff;
  text-decoration: none;
}

.container-header .brand-logo img {
  display: block;
  width: 56px;
  height: 56px;
  object-fit: contain;
}

.container-header .brand-logo::after {
  content: "EUROCENTRUM";
  color: #fff;
  font-size: 1.5rem;
  font-weight: 750;
  letter-spacing: .08em;
  line-height: 1;
}

.container-header .site-description {
  margin: .15rem 0 0 69px;
  color: rgba(255, 255, 255, .82);
  font-size: .82rem;
  letter-spacing: .055em;
}

.container-header .container-nav {
  width: 100%;
  color: var(--euro-blue);
  border-top: 4px solid var(--euro-red);
  padding-top: .35rem;
  padding-bottom: .35rem;
}

.container-header .mod-menu {
  color: var(--euro-blue);
}

.container-header .mod-menu > li > a {
  color: var(--euro-blue);
  font-weight: 650;
}

.container-header .mod-menu > li > a:hover,
.container-header .mod-menu > li.active > a {
  color: var(--euro-red);
}

@media (max-width: 767.98px) {
  .container-header .brand-logo img {
    width: 46px;
    height: 46px;
  }

  .container-header .brand-logo::after {
    font-size: 1.2rem;
  }

  .container-header .site-description {
    margin-left: 58px;
    font-size: .72rem;
  }
}

/* Logo nahtlos in den Header integrieren */


/* Rubrik-Hero: Text links im Motiv, mobil unter dem Bild */
.item-page:has(.ec-brand-page) {
  position: relative;
}
.item-page:has(.ec-brand-page) .item-image {
  margin: 0 0 2.5rem;
  width: 100%;
}
.item-page:has(.ec-brand-page) .item-image img {
  display: block;
  width: 100%;
  height: auto;
}
.ec-brand-page .ec-hero-copy {
  position: absolute;
  z-index: 2;
  top: clamp(3rem, 7vw, 7rem);
  left: clamp(1.25rem, 4vw, 4.5rem);
  width: min(40%, 34rem);
  color: #132f53;
}
.ec-brand-page .ec-hero-copy h1 {
  margin: .35rem 0 1rem;
  color: #132f53;
  font-size: clamp(2.1rem, 4vw, 3.8rem);
  line-height: 1.04;
}
.ec-brand-page .ec-hero-copy .ec-lead {
  margin: 0;
  max-width: 31rem;
  color: #243b55;
  font-size: clamp(1rem, 1.35vw, 1.25rem);
  line-height: 1.55;
}
@media (max-width: 800px) {
  .item-page:has(.ec-brand-page) .item-image {
    margin-bottom: 1.5rem;
  }
  .ec-brand-page .ec-hero-copy {
    position: static;
    width: auto;
    margin-bottom: 2rem;
  }
  .ec-brand-page .ec-hero-copy h1 {
    font-size: clamp(2rem, 9vw, 3rem);
  }
}
.container-header .brand-logo img {
  background-color: var(--euro-blue);
}
@media (max-width: 991.98px) {
  .container-header .navbar-toggler,
  .container-header .navbar-toggler .icon-menu,
  .container-header .navbar-toggler .icon-menu::before {
    color: #132f53 !important;
    border-color: #132f53 !important;
  }
}

/* Rechtstexte */
.legal-page {
  max-width: 860px;
  margin-inline: auto;
  line-height: 1.7;
}
.legal-page h1 {
  font-size: clamp(2rem, 4vw, 3rem);
  margin-bottom: 1.5rem;
}
.legal-page h2 {
  font-size: clamp(1.25rem, 2vw, 1.55rem);
  margin-top: 2.25rem;
  margin-bottom: .75rem;
}
.legal-page p,
.legal-page li {
  font-size: 1rem;
}
.legal-links {
  margin: 0;
  text-align: center;
}


/* Rechtstexte */
.legal-page {
  max-width: 860px;
  margin-inline: auto;
  line-height: 1.7;
}
.legal-page h1 {
  font-size: clamp(2rem, 4vw, 3rem);
  margin-bottom: 1.5rem;
}
.legal-page h2 {
  font-size: clamp(1.25rem, 2vw, 1.55rem);
  margin-top: 2.25rem;
  margin-bottom: .75rem;
}
.legal-page p,
.legal-page li {
  font-size: 1rem;
}
.legal-links {
  margin: 0;
  text-align: center;
}
