/* Einheitlicher Footer – verbindliche Vorlage: /aktuelles/ */
.site-footer,
.site-footer * {
  box-sizing: border-box;
}

/* Farbige Schaltflaechen webseitenweit einheitlich gelb darstellen. */
html body .btn--gold,
html body .btn--blau,
html body .btn--primary,
html body .cta-panel .btn--ghost,
html body .article-download,
html body .archive-article-aside a,
html body .format-more a,
html body .split-copy > a.magnetic,
html body .theme-next a:hover,
html body .theme-next a[aria-current="page"] {
  background: #FFD64F !important;
  background-image: none !important;
  color: #000 !important;
  -webkit-text-fill-color: #000 !important;
  border-color: transparent !important;
}

.site-footer {
  --footer-night: #0c0f1c;
  --footer-paper: #f5f4f3;
  --footer-gold: #FFD64F;
  position: relative;
  margin: 0;
  padding: clamp(3.5rem, 7vw, 5.5rem) 0 2.5rem;
  border: 0;
  background: var(--footer-night);
  color: var(--footer-paper);
  text-align: left;
}

.site-footer > .container {
  width: min(calc(100% - 48px), 1280px);
  max-width: 1280px;
  margin-inline: auto;
  padding: 0;
}

.site-footer p,
.site-footer h4,
.site-footer ul {
  margin-top: 0;
}

.site-footer ul {
  margin-bottom: 0;
  padding: 0;
  list-style: none;
}

.site-footer a {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  text-decoration: none;
}

.site-footer .footer__top {
  display: grid;
  grid-template-columns: 1.4fr repeat(3, 1fr);
  gap: clamp(2rem, 4vw, 3.5rem);
  padding-bottom: clamp(2.5rem, 5vw, 4rem);
  border-bottom: 1px solid rgb(255 255 255 / 10%);
}

.site-footer .footer__brand a {
  display: inline-block;
  line-height: 0;
}

.site-footer .footer__brand img {
  display: block;
  width: auto;
  height: 40px;
  max-width: 200px;
  margin: 0 0 1.4rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  object-fit: contain;
}

.site-footer .footer__brand p {
  max-width: 34ch;
  margin-bottom: 0;
  color: rgb(245 244 243 / 60%);
  font-size: .92rem;
  line-height: 1.65;
}

.site-footer .footer__col h4 {
  margin-bottom: 1.2rem;
  color: #FFD64F;
  font-family: Arial, sans-serif;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1.3;
  text-transform: uppercase;
}

.site-footer .footer__col ul {
  display: flex;
  flex-direction: column;
  gap: .7rem;
}

.site-footer .footer__col a {
  color: rgb(245 244 243 / 72%);
  font-size: .95rem;
  line-height: 1.5;
  transition: color .2s ease;
}

.site-footer .footer__col a:hover,
.site-footer .footer__col a:focus-visible {
  color: #fff;
}

.site-footer .footer__bottom {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem;
  align-items: center;
  justify-content: space-between;
  padding-top: 2.2rem;
}

.site-footer .footer__bottom-right {
  display: flex;
  flex-direction: column;
  gap: .6rem;
  align-items: flex-end;
}

.site-footer .footer__legal {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem 1.4rem;
}

.site-footer .footer__legal a {
  color: rgb(245 244 243 / 70%);
  font-size: .85rem;
}

.site-footer .footer__legal a:hover,
.site-footer .footer__legal a:focus-visible {
  color: var(--footer-gold);
}

.site-footer .footer__credits {
  max-width: 52ch;
  margin-bottom: 0;
  color: rgb(245 244 243 / 62%);
  font-size: .78rem;
  line-height: 1.6;
}

.site-footer .footer__copy {
  margin-bottom: 0;
  color: rgb(245 244 243 / 55%);
  font-size: .85rem;
}

@media (max-width: 1024px) {
  .site-footer .footer__top {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 768px) {
  .site-footer > .container {
    width: min(calc(100% - 36px), 1280px);
  }
  .site-footer .footer__top {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  .site-footer .footer__bottom-right {
    align-items: flex-start;
  }
}

/* Globale Markenfarbe: ehemals orange Schrift erscheint gelb. */
:root {
  --gold: #FFD64F !important;
}

/* Hero-Bilder ohne Abdunklung, Farbfilter oder Verlaufsebene. */
.updates-hero::after,
.topics-hero__media::after,
body:has(.hero-bg) .hero::before,
.contact-hero::after {
  content: none !important;
  display: none !important;
  background: none !important;
}

.topics-hero__media,
.hero-bg,
.about-hero__image {
  filter: none !important;
}

.about-hero__shade,
.partners-hero__veil,
.hero__overlay,
.hero__veil {
  display: none !important;
  background: none !important;
  opacity: 0 !important;
}

.contact-hero {
  background-image: url('/kontakt/assets/img/contact-hero.jpg') !important;
}

/*
 * Hintergrundbilder webseitenweit unverändert darstellen.
 * Reine Farbverläufe ohne Bild bleiben bewusst unberührt.
 */

/* Foto-Header der Aktuelles-Unterseiten. */
html body .archive-article-hero--photo {
  background-image: var(--article-hero) !important;
  background-position: center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}

html body .archive-article-hero--jemen {
  background-image: url('/aktuelles/assets/img/huthis.jpg') !important;
  background-position: center 43% !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}

/* Direkte Verlaufs-Überlagerungen von Hero- und Hintergrundbildern. */
html body .updates-hero::after,
html body .topics-hero__media::after,
html body .topic-story__visual::after,
html body .theme-detail-hero::after,
html body .hero:has(> .fluid-canvas)::after,
html body:has(.hero-bg) .hero::before,
html body:has(.hero-bg) .hero::after,
html body .trip-hero::before,
html body .trip-hero::after,
html body .contact-hero::after,
html body .category-panel::before {
  content: none !important;
  display: none !important;
  background: none !important;
  opacity: 0 !important;
}

/* Separate Overlay-Elemente vollständig ausblenden. */
html body .about-hero__shade,
html body .partners-hero__veil,
html body .hero__overlay,
html body .hero__veil {
  display: none !important;
  background: none !important;
  opacity: 0 !important;
}

html body .hero:has(> .fluid-canvas) > .fluid-canvas {
  display: none !important;
}

/* Keine Farb-, Helligkeits- oder Kontrastfilter auf Titelbildern. */
html body .topics-hero__media,
html body .theme-detail-hero__image,
html body .about-hero__image,
html body .trip-hero img,
html body:has(.hero) .hero > .hero-bg {
  filter: none !important;
}

/* Zusammengesetzte Hintergründe auf das unveränderte Foto reduzieren. */
html body .contact-hero {
  background-image: url('/kontakt/assets/img/contact-hero.jpg') !important;
}

html body .hero:has(> .fluid-canvas) {
  background-image: url('/bibliothek/assets/img/books.jpg') !important;
  background-position: center 48% !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}

html body .split-visual {
  background-image: url('/bibliothek/assets/img/iftj-bsb.png') !important;
}

/*
 * Längere Fließtexte nach dem Muster des UNESCO-Beitrags:
 * serifenlos, 1.06rem und großzügige Zeilenhöhe.
 */
html body :where(
  .archive-article-content,
  .article-copy,
  .theme-detail-hero__intro,
  .topics-intro__grid,
  .topic-story__copy,
  .institute,
  .story-copy,
  .statement-lead,
  .reason-card,
  .questions-copy,
  .institute-copy,
  .day-content,
  .material-copy,
  .archive-copy,
  .reveal-legal,
  .contact-panel,
  .contact-card,
  .faq-item__body,
  .institut__panel,
  .tempel__copy,
  .updates-card__body
) p:not(.eyebrow):not(.about-kicker):not(.tag),
html body :where(
  .archive-article-content,
  .article-copy,
  .theme-detail-hero__intro,
  .day-content,
  .material-copy,
  .reveal-legal
) li,
html body :where(
  .archive-article-content,
  .article-copy
) blockquote,
html body p:is(
  .section__intro,
  .mission__note,
  .principles__intro,
  .section-lead,
  .disclaimer,
  .hero-copy,
  .topics-intro__copy
) {
  font-family: var(--ff-sans, "Noto Sans", Arial, sans-serif) !important;
  font-size: 1.06rem !important;
  line-height: 1.82 !important;
}

/* Bildungsreise: das konkrete Titelmotiv verbindlich unten rechts ausrichten. */
html body .trip-hero > img[src*="beautiful-israel7-hero.jpg"] {
  object-position: right bottom !important;
}

/* Weiße Texte auf Titelbildern webseitenweit klar, aber weich abheben. */
html body main :where(
  .hero,
  .updates-hero,
  .archive-hero,
  .archive-article-hero,
  .topics-hero,
  .theme-detail-hero,
  .about-hero,
  .contact-hero,
  .partners-hero,
  .trip-hero,
  [class*="-hero"]
) :where(
  h1,
  h2,
  h3,
  p,
  .hero-copy,
  .hero__subline
):not(.btn):not(.btn *) {
  text-shadow:
    0 2px 3px rgb(35 35 35 / 90%),
    0 4px 14px rgb(55 55 55 / 72%) !important;
}

/* Verstaerkter schwarzer Verlauf zwischen Hero-Bild und Text samt Eyebrow. */
html body main .updates-hero,
html body main .archive-hero,
html body main .archive-article-hero,
html body main .topics-hero,
html body main .theme-detail-hero,
html body main .about-hero,
html body main .contact-hero,
html body main .partners-hero,
html body main .trip-hero,
html body:has(.hero > .hero-bg) main .hero {
  position: relative !important;
}

html body main .updates-hero::after,
html body main .archive-hero::after,
html body main .archive-article-hero::after,
html body main .topics-hero::after,
html body main .theme-detail-hero::after,
html body main .about-hero::after,
html body main .contact-hero::after,
html body main .partners-hero::after,
html body main .trip-hero::after,
html body:has(.hero > .hero-bg) main .hero::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background: linear-gradient(
    90deg,
    rgb(0 0 0 / 70%) 0%,
    rgb(0 0 0 / 45%) 55%,
    rgb(0 0 0 / 12%) 100%
  ) !important;
}

html body main :where(
  .updates-hero,
  .archive-hero,
  .archive-article-hero,
  .topics-hero,
  .theme-detail-hero,
  .about-hero,
  .contact-hero,
  .partners-hero,
  .trip-hero
) > :where(.container, [class*="content"], [class*="inner"]),
html body:has(.hero > .hero-bg) main .hero > :where(.container, [class*="content"], [class*="inner"]) {
  position: relative !important;
  z-index: 2 !important;
}

/* Vier besonders textreiche Titelbilder: dunkler und weiter in die Flaeche. */
html body main .updates-hero,
html body main .contact-hero,
html body main .hero:has(> .hero-bg),
html body main .hero:has(> .fluid-canvas) {
  position: relative !important;
}

/* Die Bibliothek erhaelt Bild und Verlauf als getrennte Ebenen. */
html body main .hero:has(> .fluid-canvas) {
  background-image: url('/bibliothek/assets/img/books.jpg') !important;
  background-position: center 48% !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}

html body main .updates-hero::after,
html body main .contact-hero::after,
html body main .hero:has(> .hero-bg)::after,
html body main .hero:has(> .fluid-canvas)::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background: linear-gradient(
    90deg,
    rgb(0 0 0 / 78%) 0%,
    rgb(0 0 0 / 55%) 68%,
    rgb(0 0 0 / 18%) 100%
  ) !important;
}

html body main .hero:has(> .fluid-canvas) > .hero-inner {
  position: relative !important;
  z-index: 2 !important;
}

/* Titel der sechs Formatkarten in der Bibliothek besser abheben. */
html body main .category-strip .category-panel > strong {
  text-shadow:
    0 2px 3px rgb(0 0 0 / 92%),
    0 5px 16px rgb(0 0 0 / 72%) !important;
}
