/* ==========================================================================
   GfE – Gesellschaft für Erdkunde zu Berlin
   Child-Template „cassiopeia_gfe“ (Basis Cassiopeia, Joomla 5/6)

   Nachbau des Joomla-3-Templates „gfe“ (gfeberlin.scss + template.scss):
   gleiche Farben und Schriften. Seit 1.0.6 (Wunsch AF 01.10.2026, Stufen A + B)
   größer: 1160-px-Raster (4 Spalten à 260 px, 40 px Abstand; alt 920/200),
   Grundschrift 16 px (alt 14), Kartenzeile und grüner Fuß auf der Startseite.
   Schriften liegen lokal – keine Verbindung zu Google.

   Quelle der Wahrheit: template_gfe/tpl_cassiopeia_gfe/media/css/user.css
   (Projektordner). Auf dem Server nicht von Hand ändern.
   ========================================================================== */


/* --------------------------------------------------------------------------
   1  Schriften (SIL Open Font License, siehe fonts/OFL-*.txt)
   -------------------------------------------------------------------------- */

@font-face {
  font-family: "Merriweather";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/merriweather-latin-ext-400-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Merriweather";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/merriweather-latin-400-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face { font-family: "Source Sans Pro"; font-style: normal; font-weight: 300; font-display: swap; src: url("../fonts/source-sans-pro-latin-ext-300-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Source Sans Pro"; font-style: normal; font-weight: 300; font-display: swap; src: url("../fonts/source-sans-pro-latin-300-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Source Sans Pro"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/source-sans-pro-latin-ext-400-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Source Sans Pro"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/source-sans-pro-latin-400-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Source Sans Pro"; font-style: italic; font-weight: 400; font-display: swap; src: url("../fonts/source-sans-pro-latin-ext-400-italic.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Source Sans Pro"; font-style: italic; font-weight: 400; font-display: swap; src: url("../fonts/source-sans-pro-latin-400-italic.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Source Sans Pro"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/source-sans-pro-latin-ext-600-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Source Sans Pro"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/source-sans-pro-latin-600-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Source Sans Pro"; font-style: italic; font-weight: 600; font-display: swap; src: url("../fonts/source-sans-pro-latin-ext-600-italic.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Source Sans Pro"; font-style: italic; font-weight: 600; font-display: swap; src: url("../fonts/source-sans-pro-latin-600-italic.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Source Sans Pro"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/source-sans-pro-latin-ext-700-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Source Sans Pro"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/source-sans-pro-latin-700-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }


/* --------------------------------------------------------------------------
   2  Farben und Maße (Werte aus gfeberlin.scss / template.scss)
   -------------------------------------------------------------------------- */

:root {
  --gfe-grundfarbe: #165321;   /* $color-base   */
  --gfe-mittel: #7fa085;       /* $color-middle */
  --gfe-hell: #dce5de;         /* $color-light  */
  --gfe-menue: #7fa085;        /* $color-menu   */
  --gfe-grau: #aaa;            /* $grey         */
  --gfe-fuss: #737373;         /* $footer-background */
  --gfe-breite: 1160px;        /* $wrapper-width (alt 920) */
  --gfe-spalte: 260px;         /* $col-width (alt 200)    */
  --gfe-abstand: 40px;         /* $col-distance */
  --gfe-serif: "Merriweather", Georgia, "Times New Roman", serif;
  --gfe-sans: "Source Sans Pro", "Source Sans 3", "Helvetica Neue", Arial, sans-serif;

  /* Cassiopeia und Bootstrap auf GfE umstellen */
  --cassiopeia-color-primary: var(--gfe-grundfarbe);
  --cassiopeia-color-link: var(--gfe-grundfarbe);
  --cassiopeia-color-hover: var(--gfe-grundfarbe);
  --cassiopeia-font-family-body: var(--gfe-sans);
  --cassiopeia-font-family-headings: var(--gfe-serif);
  --cassiopeia-font-weight-headings: 400;
  --link-color: var(--gfe-grundfarbe);
  --link-color-rgb: 22, 83, 33;
  --link-hover-color: var(--gfe-grundfarbe);
  --link-hover-color-rgb: 22, 83, 33;
  --body-font-family: var(--gfe-sans);
  --body-font-size: 16px;
  --body-line-height: 24px;
  --body-color: #000;
  --body-bg: #fff;
  --breadcrumb-divider: ">";
}


/* --------------------------------------------------------------------------
   3  Grundlagen
   -------------------------------------------------------------------------- */

body.site {
  min-height: 0;             /* kein „klebender“ Fuß: wie bisher direkt nach dem Inhalt */
  font-family: var(--gfe-sans);
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  color: #000;
  background: #fff;
}

.site p,
.site .com-content-article__body li {
  margin: 0;
  font-size: 16px;
  line-height: 26px;
}

.site b,
.site strong {
  font-weight: 600;
}

.site a,
.site a:hover,
.site a:focus,
.site a:active,
.site a:visited {
  color: var(--gfe-grundfarbe);
  text-decoration: none;
}

.site a:focus-visible {
  outline: 2px solid var(--gfe-mittel);
  outline-offset: 2px;
}

.site h1, .site h2, .site h3, .site h4 {
  color: var(--gfe-grundfarbe);
  font-weight: 400;
}

/* Überschriften in Modulen (alte Regel „h1“: Merriweather 20 px, seit 1.0.6: 24 px) */
.site .card h1,
.site .card-header {
  font-family: var(--gfe-serif);
  font-size: 24px;
  line-height: 30px;
  margin: 14px 0 16px;
  padding: 0;
  color: var(--gfe-grundfarbe);
  font-weight: 400;
  background: none;
  border: 0;
}

.site .card h1 a {
  color: inherit;
}

/* Cassiopeias Karten-Hülle neutralisieren */
.site .site-grid .card,
.site .container-bottom-a .card,
.site .container-footer .card {
  --card-spacer-y: 0;
  --card-spacer-x: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.site .card-body {
  padding: 0;
}

.site ul {
  list-style: disc;
  margin: 14px 0 14px 22px;   /* altes Template: nur links gesetzt, oben/unten Browser-Standard 1em */
  padding-left: 22px;
}

/* Tabellen (alte Regeln) */
.site main table {
  width: 100%;
  margin-bottom: 18px;
  text-align: left;
  border-collapse: collapse;
}

.site main th {
  font-weight: 700;
  border-top: 1px solid #646464;
  border-bottom: 1px solid #646464;
  background: #eee;
}

.site main th,
.site main td {
  padding: 4px 18px 4px 4px;
  vertical-align: middle;
}

.site main tr:nth-child(2n+2) {
  background: #f4f4f4;
}

/* Knöpfe und Kästen aus den Inhalten */
.site .button {
  display: inline-block;
  font-family: inherit;
  font-size: 100%;
  font-weight: 600;
  padding: 0.5em 1em;
  border: 0;
  border-radius: 2px;
  margin-bottom: 6px;
  text-decoration: none;
}

.site .button-deep,
.site a.button-deep,
.site a.button-deep:visited {
  background-color: var(--gfe-grundfarbe);
  color: #fff !important;
}

.site .button-light,
.site a.button-light {
  background-color: var(--gfe-hell);
  color: var(--gfe-grundfarbe) !important;
}

.site .button-light:hover,
.site a.button-light:hover {
  background-color: var(--gfe-grundfarbe);
  color: #fff !important;
}

.site .button-width {
  display: block;
}

.site .button-link::after {
  content: ">";
  float: right;
}

.site .infobox {
  display: block;
  padding: 10px;
  background: var(--gfe-hell);
  color: var(--gfe-grundfarbe);
}

.site .infobox h1 {
  margin-top: 10px;
  font-size: 24px;
  line-height: 30px;
}

.site .infobox p {
  color: var(--gfe-grundfarbe);
}

.site .Einleitungstext {
  color: var(--gfe-mittel);
  font-weight: 400;
  font-size: 20px;
  line-height: 30px;
}

.site .dieerde-shoplink {
  height: 120px;
  overflow: hidden;
  background-color: var(--gfe-hell);
  border: 1px solid var(--gfe-mittel);
}

.site .dieerde-shoplink img {
  float: left;
  height: 100px;
  width: auto;
  margin: 10px;
}

.site .dieerde-shoplink p {
  margin: 10px;
}

.site img {
  max-width: 100%;
  height: auto;
}


/* --------------------------------------------------------------------------
   4  Kopf (Desktop): Siegel mit Schriftzug, Menü rechts, 128 px hoch
   -------------------------------------------------------------------------- */

@media (min-width: 992px) {
  body.site .container-header {
    position: relative;
    z-index: 20;
    width: 100%;               /* body ist Flex-Spalte: ohne Breite schrumpft der Kopf auf 0 */
    max-width: var(--gfe-breite);
    height: 128px;
    margin: 0 auto;
    background: #fff;
    background-image: none;
    box-shadow: none;
  }

  body.site .container-header > .grid-child {
    max-width: none;
    padding: 0;
  }

  body.site .container-header .navbar-brand {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 4;
    margin: 0;
    padding: 0;
  }

  body.site .container-header .brand-logo img {
    display: block;
    width: auto;
    max-width: none;
    height: 182px;
  }

  body.site .container-header .container-nav {
    position: absolute;
    top: 94px;
    right: 0;
    z-index: 5;
    width: auto;
    padding: 0;
    flex-wrap: nowrap;
  }

  body.site .container-header nav {
    margin-top: 0;
    padding: 0;
  }

  body.site .container-header .navbar-toggler {
    display: none;
  }

  /* Hauptmenü: Merriweather 14 px (alt 12), grüner Hintergrund beim Überfahren */
  body.site .container-header .mod-menu {
    display: flex;
    flex: none;
    margin: 0;
    padding: 0;
    color: var(--gfe-grundfarbe);
    font-family: var(--gfe-serif);
    list-style: none;
  }

  body.site .container-header .mod-menu > li,
  body.site .container-header .metismenu.mod-menu > li.metismenu-item {
    position: relative;
    display: block;
    margin: 0;
    padding: 8px 9px;
    font-size: 14px;
    line-height: 18px;
    transition: background 0.5s, color 0.5s;
  }

  body.site .container-header .mod-menu > li + li {
    margin-left: 0;
  }

  body.site .container-header .mod-menu > li > a,
  body.site .container-header .mod-menu > li > span {
    color: var(--gfe-grundfarbe);
    text-decoration: none;
  }

  body.site .container-header .mod-menu > li:hover,
  body.site .container-header .mod-menu > li:focus-within {
    background: var(--gfe-menue);
  }

  body.site .container-header .mod-menu > li:hover > a,
  body.site .container-header .mod-menu > li:focus-within > a {
    color: #fff;
  }

  /* Cassiopeias Unterstreich-Animation und Pfeile ausblenden */
  body.site .container-header .mod-menu > li::after,
  body.site .container-header .metismenu > li > a::after,
  body.site .container-header .metismenu > li > button::before {
    display: none;
    content: none;
  }

  body.site .container-header .metismenu .mm-toggler {
    display: none;
  }

  body.site .container-header .metismenu .metismenu-item.active > a {
    text-decoration: none;
  }

  /* Untermenü: klappt beim Überfahren oder Fokus auf */
  body.site .container-header .mod-menu li > ul,
  body.site .container-header .metismenu .mm-collapse {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 30;
    display: block !important;
    min-width: 0;              /* wie bisher: höchstens so breit wie der Hauptpunkt, lange Einträge brechen um */
    height: auto !important;
    margin: 0;
    padding: 12px 0 0;
    list-style: none;
    background: var(--gfe-menue);
    box-shadow: none;
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.5s, visibility 0.5s;
  }

  body.site .container-header .mod-menu > li:hover > ul,
  body.site .container-header .mod-menu > li:focus-within > ul {
    visibility: visible;
    opacity: 1;
  }

  body.site .container-header .mod-menu li > ul > li,
  body.site .container-header .metismenu .mm-collapse > li.metismenu-item {
    display: block;
    margin: 0;
    padding: 8px 9px;
    font-size: 14px;
    line-height: 18px;
    white-space: normal;
  }

  body.site .container-header .mod-menu li > ul > li > a {
    color: #fff;
    white-space: normal;       /* Cassiopeia: nowrap + ellipsis am Link */
    overflow: visible;
  }

  body.site .container-header .mod-menu li > ul > li:hover,
  body.site .container-header .mod-menu li > ul > li:focus-within {
    background: var(--gfe-grundfarbe);
  }

  /* Unterseiten: grüner Streifen unter dem Kopf, in den das Siegel ragt */
  body.site:not(.view-featured) .container-header {
    margin-bottom: 72px;
  }

  body.site:not(.view-featured) .container-header::after {
    content: "";
    position: absolute;
    top: 128px;
    right: 0;
    left: 0;
    z-index: 1;
    height: 72px;
    background: var(--gfe-mittel);
  }
}


/* --------------------------------------------------------------------------
   5  Raster (Desktop): 1160 px = 4 × 260 px + 3 × 40 px (alt 920 = 4 × 200 + 3 × 40)
   -------------------------------------------------------------------------- */

@media (min-width: 992px) {
  @supports (display: grid) {
    body.site .site-grid {
      column-gap: var(--gfe-abstand);
      grid-template-columns: [full-start] minmax(0, 1fr) [main-start] repeat(4, minmax(0, var(--gfe-spalte))) [main-end] minmax(0, 1fr) [full-end];
    }
  }

  body.site .container-sidebar-right,
  body.site .container-sidebar-left {
    width: auto;
  }
}

body.site .site-grid > .container-component > :first-child,
body.site .site-grid > .container-sidebar-right > :first-child,
body.site .site-grid > .container-component > main {
  margin-top: 0;
}


/* --------------------------------------------------------------------------
   6  Bildershow (Startseite) und Brotkrumen
   -------------------------------------------------------------------------- */

@media (min-width: 992px) {
  body.site .site-grid > .container-banner.full-width {
    grid-column: main-start / main-end;
    height: 360px;
    margin: 0;
    overflow: hidden;
    background: var(--gfe-grundfarbe);
  }
}

/* Handy und Tablet: Bildershow als Streifen. Die Höhe steht im Modul relativ zur Breite (31 % = 360 px am
   Desktop, Mindesthöhe 150 px); Titelbilder seit 01.10.2026 auf 1920 px verkleinert */
@media (max-width: 991.98px) {
  /* etwas Luft zwischen grüner Linie und Bild (Wunsch AF) */
  body.site .container-banner {
    margin: 16px 0 0;
  }

  /* Punkte und Abstand unter dem Bild: am Desktop schneidet der feste Rahmen sie ab, mobil ebenso weglassen
     (der Abstand kommt als Inline-Stil aus dem Skript, daher !important) */
  body.site .container-banner .camera_pag {
    display: none;
  }

  body.site .container-banner .slideshowck.camera_wrap {
    margin-bottom: 0 !important;
  }
}

.site .container-banner .slideshowck.camera_wrap {
  max-height: 360px;
  overflow: hidden;
}

/* Leitsatz mit Knopf (Modul „Leitsatz Startseite“): am Desktop über dem Bild unten links,
   auf Handy und Tablet als grünes Band darunter */
body.site .container-banner {
  position: relative;
}

.site .gfe-leitsatz {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 28px;
  padding: 14px 18px;
  color: var(--gfe-grundfarbe);
  background: var(--gfe-hell);      /* Salbei (Entscheid AF 02.10.2026); Dunkelgrün darauf 7,1 : 1 */
}

.site .gfe-leitsatz p {
  margin: 0;
  color: var(--gfe-grundfarbe);
}

.site .gfe-leitsatz__text {
  font-family: var(--gfe-serif);
  font-size: 22px;
  line-height: 30px;
}

.site .gfe-leitsatz__unter {
  display: block;
  margin-top: 2px;
  font-family: var(--gfe-sans);
  font-size: 16px;
  line-height: 22px;
  opacity: 0.85;
}

.site a.gfe-leitsatz__knopf,
.site a.gfe-leitsatz__knopf:visited {
  display: inline-block;
  padding: 8px 18px;
  color: #fff;
  font-weight: 600;
  line-height: 22px;
  background: var(--gfe-grundfarbe);
  border-radius: 3px;
}

.site a.gfe-leitsatz__knopf:hover,
.site a.gfe-leitsatz__knopf:focus-visible {
  color: #fff;
  background: #0e3a17;              /* dunkler statt Salbei: Weiß auf Salbei hätte nur 2,9 : 1 */
}

@media (min-width: 992px) {
  /* Bezug ist die Bildershow, nicht die Modulhülle (Joomla setzt .mod-custom auf position: relative) */
  body.site .container-banner .mod-custom {
    position: static;
  }

  body.site .container-banner .gfe-leitsatz {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 3;
    max-width: 62%;
    padding: 18px 24px;
    background: rgba(220, 229, 222, 0.95);
  }
}

.site .camera_caption > div {
  padding: 2px 5px;
  background: none;
  text-align: right;
}

.site .camera_caption_title {
  font-size: 11px;
  font-weight: 700;
}

.site .camera_caption_desc {
  font-size: 11px;
  font-weight: 400;
}

.site .camera_wrap .camera_pag .camera_pag_ul li {
  width: 9px;
  height: 9px;
  margin: 0 0 0 5px;
  background-color: var(--gfe-grundfarbe);
  box-shadow: none;
  opacity: 0.55;
}

.site .camera_wrap .camera_pag .camera_pag_ul li > span {
  display: none;
}

.site .camera_wrap .camera_pag .camera_pag_ul li.cameracurrent {
  opacity: 1;
}

/* Brotkrumen: Zeile unter dem Streifen, grüne Linie darunter */
.site .container-top-a {
  display: block;
  min-height: 40px;
  margin-bottom: 9px;
  border-bottom: 1px solid var(--gfe-grundfarbe);
}

.site .container-top-a > * {
  margin: 0;
}

.site .mod-breadcrumbs__wrapper {
  margin: 0;
}

.site .mod-breadcrumbs.breadcrumb {
  margin: 17px 0 0;
  padding: 0 0 0 3px !important;
  font-size: 13px;
  font-weight: 500;
  line-height: 14px;
  background: none;
}

.site .mod-breadcrumbs__divider {
  display: none;
}

.site .mod-breadcrumbs .breadcrumb-item {
  color: var(--gfe-grundfarbe);
}

.site .mod-breadcrumbs .breadcrumb-item + .breadcrumb-item {
  padding-left: 4px;
}

.site .mod-breadcrumbs .breadcrumb-item + .breadcrumb-item::before {
  padding-right: 4px;
  color: var(--gfe-grundfarbe);
  opacity: 0.55;
}

.site .mod-breadcrumbs a.pathway {
  color: var(--gfe-grundfarbe);
  opacity: 0.55;
}


/* --------------------------------------------------------------------------
   7  Startseite: „Aktuelles“, Kalender, rechte Spalte
   -------------------------------------------------------------------------- */

/* Linie 40 px unter der Bildershow, dann „Aktuelles“ */
body.view-featured .container-top-b {
  display: block;
  margin-top: 40px;
  margin-bottom: 9px;
  padding-top: 9px;
  padding-bottom: 40px;
  border-top: 1px solid var(--gfe-grundfarbe);
  border-bottom: 1px solid var(--gfe-grundfarbe);
}

body.view-featured .container-top-b > * {
  margin: 0;
}

.site .gfe-aktuelles {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--gfe-spalte), 1fr));
  column-gap: var(--gfe-abstand);
  row-gap: 0;
  margin-bottom: -24px;   /* gleicht den Abstand unter „Weiterlesen“ in der letzten Kartenreihe aus */
}

@media (min-width: 992px) {
  .site .gfe-aktuelles {
    grid-template-columns: repeat(4, minmax(0, var(--gfe-spalte)));   /* schrumpft zwischen 992 und 1160 px mit */
  }
}

/* Jede Karte übernimmt die fünf Zeilen des Rasters (Subgrid): Bild, Termin, Titel, Text und „Weiterlesen“
   liegen kartenübergreifend auf gleicher Höhe – jede Zeile so hoch wie ihr höchster Eintrag. */
.site .gfe-aktuelles__eintrag {
  display: grid;
  grid-row: span 5;
  grid-template-rows: subgrid;
  row-gap: 0;
  align-content: start;
}

/* Ältere Browser ohne Subgrid: wenigstens „Weiterlesen“ bündig am Kartenende */
@supports not (grid-template-rows: subgrid) {
  .site .gfe-aktuelles__eintrag {
    display: flex;
    flex-direction: column;
  }

  .site .gfe-aktuelles__mehr {
    margin-top: auto;
  }
}

/* Bilder gleich breit und gleich hoch (5 : 3 wie die alten 200 × 120 px), Ausschnitt mittig zugeschnitten */
.site .gfe-aktuelles__bild {
  display: block;
  width: 100%;
  aspect-ratio: 5 / 3;
  overflow: hidden;
  background: var(--gfe-hell, #dce5de);
}

.site .gfe-aktuelles__bild:hover {
  opacity: 0.7;
}

.site .gfe-aktuelles__bild img {
  display: block;
  width: 100%;
  max-width: none;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.site .gfe-aktuelles__titel {
  margin: 17px 0;
  font-family: var(--gfe-sans);
  font-size: 20px;
  line-height: 26px;
}

/* Termin über dem Titel (neu); vergangene Termine grau */
.site .gfe-aktuelles__termin {
  margin: 14px 0 0;
  color: var(--gfe-grundfarbe);
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
}

.site .gfe-aktuelles__termin + .gfe-aktuelles__titel {
  margin-top: 4px;
}

.site .gfe-aktuelles__eintrag--vorbei .gfe-aktuelles__termin {
  color: var(--gfe-grau);
}

.site .gfe-aktuelles__text {
  font-size: 15px;
  line-height: 23px;
  text-align: justify;
  hyphens: auto;
}

.site .gfe-aktuelles__mehr {
  margin-top: 18px;
  margin-bottom: 24px;   /* Abstand zur nächsten Kartenreihe, wenn die Karten umbrechen */
}

.site .gfe-aktuelles__termin:empty {
  margin: 0;
}

/* Unter den Karten: zur vollständigen Liste (ersetzt den Hinweis im leeren Kalender) */
.site .gfe-aktuelles__alle {
  margin: 28px 0 0;
  font-weight: 600;
  text-align: right;
}

/* Veranstaltungskalender: Balken, die aufklappen */
.site .gfe-kalender__termin {
  margin-bottom: 4px;
}

.site .gfe-kalender__termin > summary {
  display: block;
  padding: 5px;
  color: var(--gfe-grundfarbe);
  background-color: var(--gfe-hell);
  cursor: pointer;
  list-style: none;
}

.site .gfe-kalender__termin > summary::-webkit-details-marker {
  display: none;
}

.site .gfe-kalender__termin > summary:hover,
.site .gfe-kalender__termin[open] > summary {
  color: #fff;
  background-color: var(--gfe-grundfarbe);
}

.site .gfe-kalender__inhalt {
  margin: 16px;
}

.site .gfe-kalender__inhalt h3 {
  margin: 0;
  font-family: var(--gfe-sans);
  font-size: 20px;
  line-height: 26px;
}

.site .gfe-kalender__zeit {
  margin: 0 0 20px;
  color: var(--gfe-grundfarbe);
  font-size: 17px;
}

.site .gfe-kalender__mehr {
  margin-top: 18px;
}

.site .gfe-kalender__leer {
  margin-top: 4px;
}

.site .gfe-kalender__alle {
  margin-top: 12px;
}

/* Module der Startseite im Inhaltsbereich (Kalender, DIE ERDE) */
body.view-featured .container-component > .main-top + .main-top {
  margin-top: 0;
}

body.view-featured .blog-featured:empty,
body.view-featured .blog-featured .page-header:only-child {
  display: none;
}

/* Untere Kartenzeile der Startseite (Position bottom-a): DIE ERDE, Kosmos-Lesungen, Programm und Flyer,
   Mitglied werden – im Raster der Veranstaltungskarten, Bilder einheitlich 5 : 3 */
body.site .container-bottom-a {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 32px var(--gfe-abstand);
  align-items: stretch;
  width: 100%;
  max-width: var(--gfe-breite);
  margin: 0 auto;
  padding: 36px 0 0;          /* die Linie darüber kommt von „Aktuelle Veranstaltungen“ */
}

@media (max-width: 991.98px) {
  body.site .container-bottom-a {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-top: 24px;
  }
}

@media (max-width: 575.98px) {
  body.site .container-bottom-a {
    grid-template-columns: minmax(0, 1fr);
  }
}

body.site .container-bottom-a > * {
  display: flex;
  flex-direction: column;
  margin: 0;
}

body.site .container-bottom-a .card-body,
body.site .container-bottom-a .mod-custom {
  display: flex;
  flex: 1;
  flex-direction: column;
}

.site .container-bottom-a h1 {
  margin: 0 0 14px;
  font-family: var(--gfe-serif);
  font-size: 22px;
  line-height: 28px;
}

.site .container-bottom-a h1 ~ h1 {
  margin-top: 20px;
}

.site .container-bottom-a img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 5 / 3;
  object-fit: cover;
  margin: 0 0 12px;
}

.site .container-bottom-a .infobox {
  flex: 1;
  margin-top: -18px;          /* um den Innenabstand hochgezogen: Überschrift auf einer Linie mit den Nachbarkarten */
  padding: 18px 20px;
}

.site .container-bottom-a .infobox h1 {
  margin: 0 0 14px;
  font-size: 22px;
  line-height: 28px;
}


/* --------------------------------------------------------------------------
   8  Rechte Spalte: Untermenü, „Jetzt Mitglied werden!“
   -------------------------------------------------------------------------- */

@media (min-width: 992px) {
  body.site:not(.view-featured) .container-sidebar-right {
    margin-top: 12px;
  }
}

.site .container-sidebar-right > .card {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--gfe-grundfarbe);
}

/* Cassiopeia setzt 1em zwischen zwei Modulen – das alte Template nicht */
.site .container-sidebar-right > .card + .card,
.site .container-component > .card + .card {
  margin-top: 0;
}

.site .container-sidebar-right > .card:last-of-type,
.site .container-sidebar-right > .card:has(.infobox) {
  border-bottom: 0;
}

body.view-featured .container-sidebar-right > .card {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}

.site .gfe-untermenue__titel {
  margin: 14px 0 16px;
  font-family: var(--gfe-serif);
  font-size: 24px;
  line-height: 30px;
  color: var(--gfe-grundfarbe);
}

.site .gfe-untermenue ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.site .gfe-untermenue li {
  margin: 0;
  font-size: 16px;
  line-height: 26px;
}

.site .gfe-untermenue li.current > a {
  color: var(--gfe-grau);
}


/* --------------------------------------------------------------------------
   9  Inhalt: Beiträge, Kategorien, Blog
   -------------------------------------------------------------------------- */

/* Seitentitel in Merriweather wie alle Überschriften der Seite (seit 1.0.9, Entscheid AF 02.10.2026; alt Source Sans
   34 px); auf schmalen Schirmen kleiner (am Dateiende, bis 767 px) */
.site main h1,
.site main .page-header h1 {
  margin: 14px 0 20px;
  font-family: var(--gfe-serif);
  font-size: 30px;
  line-height: 38px;
}

.site main h2 {
  margin: 42px 0 21px;
  font-family: var(--gfe-serif);
  font-size: 24px;
  line-height: 30px;
}

.site main h3 {
  margin: 16px 0 20px;       /* oben: Browser-Standard 1em, wie im alten Template */
  font-family: var(--gfe-sans);
  font-size: 18px;
  line-height: 26px;
}

.site main .page-header {
  margin: 0;
  padding: 0;
  border: 0;
}

/* Nur falls ein Menüpunkt die Seitenüberschrift wieder einschaltet (einrichten.py schaltet sie über Beiträgen aus):
   Joomla setzt dann den Menütitel über den Beitragstitel – der Menütitel klein als Rubrik, der Titel wie ein
   Seitentitel, beide in Merriweather */
.site main .com-content-article > .page-header:has(+ .page-header) h1 {
  margin: 0;
  padding-top: 14px;
  font-size: 18px;
  line-height: 24px;
}

.site main .com-content-article > .page-header + .page-header h2 {
  margin: 14px 0 20px;
  font-size: 30px;
  line-height: 38px;
}

/* Termin, Kurzbeschreibung, Ort (plg_content_gfe) */
.site .gfe-veranstaltung {
  margin-bottom: 0;
}

.site .gfe-veranstaltung__termin {
  margin: 0 0 20px;
  color: var(--gfe-grundfarbe);
  font-size: 18px;
  line-height: 26px;
}

/* alter Takt: Fließtext, dazwischen je eine Leerzeile (seit 1.0.6: 24 px Zeilenhöhe) */
.site .gfe-veranstaltung__kurz,
.site .gfe-veranstaltung__ort {
  margin-bottom: 24px;
  line-height: 24px;
}

/* Bild zum Beitrag: ein Drittel der Textspalte links (alt 200 px), Text fließt herum */
.site .com-content-article .item-image,
.site .com-content-category-blog .item-image {
  float: left;
  width: 34%;
  max-width: 45%;
  margin: 14px var(--gfe-abstand) 14px 0;
}

.site .com-content-article .item-image img,
.site .com-content-category-blog .item-image img {
  width: 100%;
  height: auto;
  margin: 0;
}

.site .item-image figcaption,
.site figcaption.caption {
  margin-top: 4px;
  color: var(--gfe-grau);
  font-size: 13px;
  line-height: 18px;
}

/* Fließtext höchstens etwa 75 Zeichen je Zeile (Lesbarkeit im 1160-px-Rahmen, Entscheid AF 01.10.2026);
   Bilder, Tabellen und Formulare behalten die volle Spaltenbreite */
@media (min-width: 992px) {
  .site .com-content-article__body > p,
  .site .com-content-article__body > ul,
  .site .com-content-article__body > ol,
  .site .com-content-article__body > h2,
  .site .com-content-article__body > h3,
  .site .com-content-article__body > blockquote,
  .site .com-content-article__body > .gfe-veranstaltung {
    max-width: 46em;
  }
}

/* Linie unter dem Beitrag, darunter „Drucken · E-Mail“ */
.site .com-content-article__body {
  padding-bottom: 90px;
  margin-bottom: 9px;
  border-bottom: 1px solid var(--gfe-grundfarbe);
}

.site .com-content-article__body::after {
  content: "";
  display: block;
  clear: both;
}

.site .gfe-artikelfuss {
  display: flex;
  justify-content: space-between;
}

.site .gfe-artikelfuss a {
  color: var(--gfe-grau) !important;
  font-weight: 300;
}

/* Formularseiten (Seitenklasse „gfe-formular“ am Menüpunkt): kein Drucken/E-Mail */
body.gfe-formular .gfe-artikelfuss {
  display: none;
}

/* Kategorie als Liste (Veranstaltungen) */
.site .com-content-category .category-desc {
  margin-bottom: 0;          /* die Beschreibung bringt ihre Leerzeilen selbst mit */
}

.site .com-content-category__table.table {
  --table-bg: transparent;
  --table-striped-bg: transparent;
  --table-hover-bg: transparent;
  --table-border-color: transparent;
  --table-accent-bg: transparent;
  margin-top: 0;
  font-size: 16px;
}

.site .com-content-category__table > :not(caption) > * > * {
  padding: 4px 18px 4px 4px;
  border: 0;
  box-shadow: none;
  background: transparent;
}

.site .com-content-category__table thead th {
  font-weight: 700;
  border-top: 1px solid #646464;
  border-bottom: 1px solid #646464;
  background: #eee;
}

.site .com-content-category__table tbody tr:nth-child(2n+2) > * {
  background: #f4f4f4;
}

.site .com-content-category__table .list-title {
  font-weight: 400;
}

.site .com-content-category__table thead th a,
.site .com-content-category__table thead th a:visited {
  color: #000;
}

.site .com-content-category__table .list-date {
  width: 230px;              /* alt 180 px bei 14 px Schrift */
  font-size: 16px;
}

/* Bild je Veranstaltung nur in der Kartenansicht auf dem Handy (Abschnitt 11) */
.site .com-content-category__table .gfe-liste__bild {
  display: none;
}

/* Veranstaltungen als Bildkarten mit Filtern und Suche (default_gfeveranstaltungen.php, js/veranstaltungen.js;
   seit 1.0.6, Wunsch AF 01.10.2026). Nebentexte in #666 statt --gfe-grau: #aaa auf Weiß hat nur 2,3 : 1 Kontrast. */
.site .gfe-va__filter {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 16px;
  margin: 10px 0 12px;
  padding: 16px 18px;
  background: var(--gfe-hell);
}

.site .gfe-va__filter[hidden],
.site .gfe-va [hidden] {
  display: none !important;
}

.site .gfe-va__suche {
  flex: 1 1 100%;
  margin: 0;
}

.site .gfe-va__suche input {
  width: 100%;
  padding: 10px 14px;
  font: inherit;
  border: 1px solid var(--gfe-mittel);
  border-radius: 4px;
  background: #fff;
}

.site .gfe-va__suche input:focus-visible,
.site .gfe-va__feld select:focus-visible,
.site .gfe-va__arten button:focus-visible {
  outline: 2px solid var(--gfe-grundfarbe);
  outline-offset: 2px;
}

.site .gfe-va__arten {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.site .gfe-va__arten button {
  padding: 6px 14px;
  color: var(--gfe-grundfarbe);
  font: inherit;
  font-size: 15px;
  line-height: 20px;
  background: #fff;
  border: 1px solid var(--gfe-mittel);
  border-radius: 999px;
  cursor: pointer;
}

.site .gfe-va__arten button span {
  color: #666;
  font-size: 13px;
}

.site .gfe-va__arten button:hover {
  border-color: var(--gfe-grundfarbe);
}

.site .gfe-va__arten button[aria-pressed="true"] {
  color: #fff;
  background: var(--gfe-grundfarbe);
  border-color: var(--gfe-grundfarbe);
}

.site .gfe-va__arten button[aria-pressed="true"] span {
  color: rgba(255, 255, 255, .8);
}

.site .gfe-va__felder {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  margin-left: auto;
}

.site .gfe-va__feld {
  margin: 0;
}

.site .gfe-va__feld select {
  max-width: 100%;
  padding: 6px 10px;
  color: var(--gfe-grundfarbe);
  font: inherit;
  font-size: 15px;
  background-color: #fff;
  border: 1px solid var(--gfe-mittel);
  border-radius: 4px;
}

.site .gfe-va__zuruecksetzen,
.site .gfe-va__zuruecksetzen-text {
  padding: 0;
  color: var(--gfe-grundfarbe);
  font: inherit;
  font-size: 15px;
  text-decoration: underline;
  background: none;
  border: 0;
  cursor: pointer;
}

.site a.gfe-va__pdf,
.site a.gfe-va__pdf:visited {
  padding: 6px 14px;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  line-height: 20px;
  background: var(--gfe-grundfarbe);
  border-radius: 4px;
}

.site a.gfe-va__pdf:hover,
.site a.gfe-va__pdf:focus-visible {
  color: #fff;
  background: #0e3a17;
}

.site .gfe-va__anzahl {
  margin: 0 0 4px;
  color: #666;
  font-size: 14px;
}

.site main .gfe-va__ueberschrift {
  margin: 26px 0 14px;
}

.site .gfe-va__raster {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px 24px;
  margin: 10px 0 30px;
}

.site .gfe-va__raster--gross {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px;
}

.site .gfe-va__karte {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.site .gfe-va__bild {
  display: block;
  aspect-ratio: 5 / 3;
  overflow: hidden;
  background: var(--gfe-hell);
}

.site .gfe-va__bild img {
  display: block;
  width: 100%;
  max-width: none;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}

.site .gfe-va__karte:hover .gfe-va__bild img {
  transform: scale(1.03);
}

@media (prefers-reduced-motion: reduce) {
  .site .gfe-va__bild img {
    transition: none;
  }

  .site .gfe-va__karte:hover .gfe-va__bild img {
    transform: none;
  }
}

.site .gfe-va__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 8px;                /* Etikett und Datum brechen nur als Ganzes um */
  margin: 12px 0 6px;
  color: var(--gfe-grundfarbe);
  font-size: 14px;
  line-height: 22px;
}

.site .gfe-va__meta time {
  white-space: nowrap;
}

.site .gfe-va__art {
  display: inline-block;
  padding: 0 8px;
  color: var(--gfe-grundfarbe);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  background: var(--gfe-hell);
  border-radius: 3px;
}

.site .gfe-va__meta time {
  font-weight: 600;
}

.site main .gfe-va__titel {
  margin: 0 0 6px;
  font-family: var(--gfe-sans);
  font-size: 18px;
  line-height: 24px;
}

.site main .gfe-va__karte--gross .gfe-va__titel {
  font-size: 22px;
  line-height: 28px;
}

.site .gfe-va__kurz,
.site .gfe-va__ort {
  margin: 0;
  color: #444;
  font-size: 14px;
  line-height: 21px;
}

.site .gfe-va__ort {
  margin-top: 4px;
}

.site details.gfe-va__gruppe > summary {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 4px;
  padding: 10px 0;
  color: var(--gfe-grundfarbe);
  font-family: var(--gfe-serif);
  font-size: 22px;
  line-height: 28px;
  border-bottom: 1px solid var(--gfe-hell);
  cursor: pointer;
  list-style: none;
}

.site details.gfe-va__gruppe > summary::-webkit-details-marker {
  display: none;
}

.site details.gfe-va__gruppe > summary::before {
  content: "";
  width: 9px;
  height: 9px;
  margin: 0 4px 0 2px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(-45deg);
  transition: transform .2s;
}

.site details.gfe-va__gruppe[open] > summary::before {
  transform: rotate(45deg);
}

.site .gfe-va__zahl {
  color: #666;
  font-family: var(--gfe-sans);
  font-size: 15px;
}

.site .gfe-va__keine-termine,
.site .gfe-va__leer {
  margin: 4px 0 20px;
  padding: 14px 18px;
  background: #f5f7f5;
  border-left: 4px solid var(--gfe-mittel);
}

@media (max-width: 991.98px) {
  .site .gfe-va__raster {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .site .gfe-va__felder {
    margin-left: 0;
  }
}

@media (max-width: 575.98px) {
  .site .gfe-va__raster,
  .site .gfe-va__raster--gross {
    grid-template-columns: minmax(0, 1fr);
  }

  .site .gfe-va__filter {
    padding: 12px;
  }

  .site .gfe-va__arten {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 4px;
  }

  .site .gfe-va__arten button {
    flex: none;
  }
}

.site .com-content-category__counter {
  float: none !important;
  margin: 0 0 8px;
  padding: 0 !important;
}

.site .com-content-category__navigation,
.site .com-content-category-blog__navigation {
  margin-top: 0;
}

/* Blätter-Navigation: schlichte Textlinks */
.site .pagination {
  --pagination-border-width: 0;
  --pagination-bg: transparent;
  --pagination-active-bg: transparent;
  --pagination-active-color: #000;
  --pagination-color: var(--gfe-grundfarbe);
  --pagination-hover-bg: transparent;
  --pagination-focus-bg: transparent;
  --pagination-disabled-bg: transparent;
  --pagination-padding-x: 4px;
  --pagination-padding-y: 0;
  justify-content: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site .pagination .page-link {
  border: 0;
  font-size: 16px;
}

/* Wie bisher Textlinks „Start · Zurück · … · Weiter · Ende“ statt Pfeilsymbolen */
.site .pagination .page-link [class^="icon-"],
.site .pagination .page-link [class*=" icon-"] {
  display: none;
}

.site .pagination > .page-item:first-child .page-link::after { content: "Start"; }
.site .pagination > .page-item:nth-child(2) .page-link::after { content: "Zurück"; }
.site .pagination > .page-item:nth-last-child(2) .page-link::after { content: "Weiter"; }
.site .pagination > .page-item:last-child .page-link::after { content: "Ende"; }

.site .pagination > .page-item.disabled .page-link {
  color: #000;
}

/* Vor/Zurück zwischen Beiträgen: im alten Template bewusst ausgeblendet */
.site .com-content-article .pagenavigation {
  display: none;
}

/* Blog (z. B. „Die Gesellschaft“): Beiträge untereinander, wie bisher */
.site .com-content-category-blog .blog-items {
  display: block;
  columns: auto;
}

.site .com-content-category-blog .blog-items > .blog-item {
  width: auto;
  margin: 0;
}

.site .blog-item .page-header h2 {
  margin: 42px 0 21px;
}

/* Im alten Layout verschmolz der Abstand unter der Seitenüberschrift (20 px) mit dem über dem
   ersten Beitrag (42 px); hier trennen Container die Ränder, daher 42 − 20 = 22 px */
.site .com-content-category-blog > .page-header ~ .blog-items > .blog-item:first-child .page-header h2 {
  margin-top: 22px;
}

.site .blog-item .page-header h2 a {
  color: var(--gfe-grundfarbe);
}

.site .readmore {
  margin-top: 22px;
}

.site .readmore .btn {
  display: inline;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: var(--gfe-grundfarbe);
  font-size: 16px;
  line-height: 26px;
  background: none;
  box-shadow: none;
}

.site .readmore .btn [class^="icon-"],
.site .readmore .btn [class*=" icon-"] {
  display: none;
}

/* Artikelinfos (falls eingeschaltet) zurückhaltend */
.site .article-info {
  color: var(--gfe-grau);
  font-size: 13px;
}

/* Bildergalerien (sigplus) wie früher SIGE: weißer Rahmen mit feiner Linie, Schatten, Abstand */
.site .sigplus-gallery > ul > li {
  margin: 0 12px 14px 0;
  vertical-align: top;
}

.site .sigplus-gallery .sigplus-preview {
  box-sizing: content-box;
  padding: 4px;
  border: 1px solid #ccc;
  background: #fff;
  box-shadow: 3px 3px 4px rgba(0, 0, 0, .3);
}

/* Google-Karten erst nach Klick (plg_content_gfe, seit Template 1.0.9): Kasten in Hell-Salbei mit Hinweis, Knopf und
   Link. Der Kasten besteht aus span-Elementen (steht in alten Beiträgen oft in einem Absatz), daher display: block */
.site .gfe-karte {
  display: block;
  margin: 20px 0;
  padding: 18px 20px;
  color: var(--gfe-grundfarbe);
  text-align: left;
  background: var(--gfe-hell);
}

.site .gfe-karte__hinweis {
  display: block;
  margin: 0 0 12px;
  font-size: 15px;
  line-height: 24px;
}

.site .gfe-karte__hinweis a {
  text-decoration: underline;   /* im grünen Hinweistext sonst nicht als Link erkennbar */
}

.site .gfe-karte__aktion {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 22px;
}

.site .gfe-karte__knopf {
  padding: 8px 18px;
  color: #fff;
  font: inherit;
  font-weight: 600;
  line-height: 22px;
  background: var(--gfe-grundfarbe);
  border: 0;
  border-radius: 3px;
  cursor: pointer;
}

.site .gfe-karte__knopf:hover,
.site .gfe-karte__knopf:focus-visible {
  background: #0e3a17;
}

/* hidden muss auch gegen display: block der Teile wirken (Hinweis und Knopf nach dem Laden) */
.site .gfe-karte [hidden] {
  display: none;
}

.site .gfe-karte__ausblenden {
  padding: 0;
  color: var(--gfe-grundfarbe);
  font: inherit;
  background: none;
  border: 0;
  text-decoration: underline;
  cursor: pointer;
}

.site .gfe-karte--geladen {
  padding: 0;
  background: none;
}

.site .gfe-karte__rahmen {
  display: block;
  width: 100%;
  height: 400px;
  margin-bottom: 8px;
  border: 0;
}

/* Videos im Seitenverhältnis 16 : 9 statt fester Höhe */
.site .gfe-karte--video .gfe-karte__rahmen {
  height: auto;
  aspect-ratio: 16 / 9;
}


/* --------------------------------------------------------------------------
   10  Fuß: Kasten in Hell-Salbei (seit 1.0.8, Entscheid AF 02.10.2026; alt grau). Seit 1.0.9 ein Inhaltsmodul
       „Fußzeile“ (einrichten.py, Entscheid AF 02.10.2026): drei Linkspalten mit Überschrift, Anschrift mit Siegel,
       darunter die Abschlussleiste mit Impressum und Datenschutz. Handy und Tablet zweispaltig, ab 992 px vier Spalten
   -------------------------------------------------------------------------- */

body.site .container-footer {
  margin-top: 32px;          /* weißer Streifen zum hell-salbeifarbenen Kasten „Mitglied werden“ darüber (Wunsch AF) */
  margin-bottom: 40px;       /* altes .row: 40 px Weißraum unter dem Kasten */
  background: none;
  background-image: none;
  color: var(--gfe-grundfarbe);
}

body.site .container-footer > .grid-child {
  display: block;
  max-width: var(--gfe-breite);
  padding: 26px 6% 16px;
  background: var(--gfe-hell);
}

body.site .gfe-fuss {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px 24px;
  font-size: 15px;
  line-height: 26px;
}

body.site .gfe-fuss__titel {
  margin: 0 0 10px;
  font-family: var(--gfe-serif);
  font-size: 16px;
  line-height: 22px;
}

body.site .gfe-fuss ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

body.site .gfe-fuss li {
  margin: 0;
  line-height: 28px;
}

/* Anschrift mit Siegel links daneben (Originalfarben: grün auf weißer Scheibe) */
body.site .gfe-fuss__kontakt {
  grid-column: 1 / -1;
  min-height: 54px;
  margin: 0;
  padding-left: 66px;
  font-style: normal;
  background: url("../images/joomla-favicon.svg") left 2px / 52px 52px no-repeat;
}

body.site .gfe-fuss__name {
  display: block;
  margin-bottom: 10px;
  font-family: var(--gfe-serif);
  font-size: 16px;
  line-height: 22px;
}

body.site .gfe-fuss a[href^="tel:"] {
  white-space: nowrap;
}

/* Abschlussleiste über die volle Breite: © links, Impressum · Datenschutz rechts */
body.site .gfe-fuss__leiste {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 6px 24px;
  margin-top: 4px;
  padding-top: 14px;
  border-top: 1px solid var(--gfe-mittel);
  font-size: 13px;
  line-height: 20px;
}

/* Impressum und Datenschutz: Abstand statt Trennzeichen */
body.site .gfe-fuss__recht {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 4px 20px;
}

body.site .container-footer a,
body.site .container-footer a:visited {
  color: var(--gfe-grundfarbe);
  text-decoration: none;
}

body.site .container-footer a:hover,
body.site .container-footer a:focus-visible {
  text-decoration: underline;
}

@media (min-width: 992px) {
  body.site .container-footer {
    margin-top: 48px;
  }

  body.site .container-footer > .grid-child {
    padding: 34px 40px 18px;
  }

  body.site .gfe-fuss {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr) minmax(0, 1fr) minmax(0, 1.45fr);
    gap: 26px 32px;
  }

  body.site .gfe-fuss__kontakt {
    grid-column: auto;
  }
}

/* sehr schmale Handys (360 px): „Veranstaltungskalender“ passt sonst nicht ganz in seine Spalte */
@media (max-width: 399.98px) {
  body.site .gfe-fuss {
    column-gap: 16px;
  }
}


/* --------------------------------------------------------------------------
   11  Handy und Tablet (< 992 px): weißer Kopf mit Siegel wie am Desktop, Menü aufklappbar
   -------------------------------------------------------------------------- */

@media (max-width: 991.98px) {
  /* Weißer Kopf wie am Desktop: Siegel und Name links, Menüknopf rechts, Salbei-Linie darunter;
     das Menü klappt darunter über die volle Breite auf */
  body.site .container-header {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 6%;
    background: #fff;
    background-image: none;
    border-bottom: 4px solid var(--gfe-mittel);   /* Salbei wie der Streifen der Desktop-Unterseiten */
    box-shadow: none;
  }

  body.site .container-header > .grid-child {
    width: auto;
    max-width: none;
    margin: 0;
    padding: 0;
  }

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

  body.site .container-header .container-nav {
    position: static;
    flex: none;
  }

  body.site .container-header nav.navbar {
    position: static;
    margin: 0;
    padding: 0;
  }

  body.site .container-header .navbar-collapse {
    position: absolute;
    top: calc(100% + 4px);
    right: 0;
    left: 0;
    z-index: 50;
    background: var(--gfe-mittel);
  }

  body.site .container-header .brand-logo {
    display: flex;
    align-items: center;
    gap: 12px;
  }

  /* Die breite Desktop-Grafik bleibt für Screenreader (Alternativtext); sichtbar sind Siegel und Name */
  body.site .container-header .brand-logo img {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }

  /* Siegel als Vektorgrafik (dieselbe Datei wie das Favicon, kommt aus dem Cache) */
  body.site .container-header .brand-logo::before {
    content: "";
    flex: none;
    width: 58px;
    height: 58px;
    background: url("../images/joomla-favicon.svg") center / contain no-repeat;
  }

  body.site .container-header .brand-logo::after {
    content: "Gesellschaft\A für Erdkunde";
    content: "Gesellschaft\A für Erdkunde" / "";
    color: var(--gfe-grundfarbe);
    font-family: var(--gfe-serif);
    font-size: 20px;
    line-height: 24px;
    white-space: pre;
  }

  body.site .container-header .container-nav {
    padding-top: 0;
    padding-bottom: 0;
  }

  body.site .container-header .navbar-toggler {
    padding: 4px 10px;
    color: var(--gfe-grundfarbe);
    border: 1px solid var(--gfe-grundfarbe);
    border-radius: 4px;
    background: transparent;
  }

  body.site .container-header .mod-menu {
    margin: 0;
    padding: 0;
    font-family: var(--gfe-sans);
  }

  body.site .container-header .metismenu .metismenu-item.active > a,
  body.site .container-header .metismenu .metismenu-item.active > button {
    text-decoration: none;
  }

  body.site .container-header .mod-menu > li > a {
    display: block;
    padding: 10px 6%;
    color: var(--gfe-grundfarbe);
    font-size: 16px;
    line-height: 16px;
    background: var(--gfe-mittel);
  }

  body.site .container-header .metismenu .mm-collapse,
  body.site .container-header .mod-menu li > ul {
    position: static;
    margin: 0;
    padding: 0;
    background: var(--gfe-hell);
    box-shadow: none;
  }

  body.site .container-header .mod-menu li > ul > li > a {
    display: block;
    padding: 10px 12%;
    color: var(--gfe-grundfarbe);
  }

  body.site .site-grid {
    padding: 0 6%;
  }

  body.site .container-top-a {
    display: none;
  }

  body.site .container-component,
  body.site .container-sidebar-right,
  body.view-featured .container-top-b {
    padding-top: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--gfe-grundfarbe);
  }

  body.view-featured .container-top-b {
    margin-top: 0;
    border-top: 0;
  }

  /* Tablet: vier Karten als 2 × 2, mit Bildern */
  .site .gfe-aktuelles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .site .com-content-article .item-image,
  .site .com-content-category-blog .item-image {
    float: none;
    width: 100%;
    max-width: 100%;
    margin: 14px 0;
  }
}


/* --------------------------------------------------------------------------
   12  Druck
   -------------------------------------------------------------------------- */

@media print {
  body.site .container-header,
  body.site .container-top-a,
  body.site .container-sidebar-right,
  body.site .container-footer,
  body.site .gfe-artikelfuss,
  body.site .container-banner {
    display: none !important;
  }

  body.site *,
  body.site a {
    color: #000 !important;
  }

  body.site p {
    font-size: 12px !important;
    line-height: 18px;
  }

  body.site h1 {
    font-size: 18px !important;
  }

  body.site h2 {
    font-size: 15px !important;
  }

  body.site .com-content-article__body {
    border-bottom: 0;
    padding-bottom: 0;
  }

  body.site main::after {
    content: "© Gesellschaft für Erdkunde zu Berlin";
    display: block;
    margin-top: 60px;
    font-size: 12px;
    text-align: right;
  }
}

/* Handy und kleines Tablet: Seitentitel kleiner; Fließtext linksbündig mit Silbentrennung – Blocksatz (auch aus
   den Absatz-Stilen alter Beiträge) reißt auf schmalen Schirmen große Lücken */
@media (max-width: 767.98px) {
  .site main h1,
  .site main .page-header h1,
  .site main .com-content-article > .page-header + .page-header h2 {
    font-size: 24px;
    line-height: 31px;
  }

  .site .com-content-article__body,
  .site .com-content-article__body p,
  .site .com-content-category-blog .item-content p {
    text-align: left !important;
    -webkit-hyphens: auto;
    hyphens: auto;
  }
}

/* Handy: eine Spalte, Karten mit Bild in voller Breite; Veranstaltungsliste ebenfalls als Karten */
@media (max-width: 575.98px) {
  .site .gfe-aktuelles {
    grid-template-columns: minmax(0, 1fr);
  }

  .site .com-content-category__table,
  .site .com-content-category__table tbody,
  .site .com-content-category__table tr,
  .site .com-content-category__table th,
  .site .com-content-category__table td {
    display: block;
    width: auto;
  }

  .site .com-content-category__table thead {
    display: none;
  }

  .site .com-content-category__table tbody tr {
    display: flex;
    flex-direction: column;
    margin: 0 0 20px;
    background: transparent;
    padding: 0 0 20px;
    border-bottom: 1px solid var(--gfe-hell);
  }

  .site .com-content-category__table > :not(caption) > * > *,
  .site .com-content-category__table tbody tr:nth-child(2n+2) > * {
    padding: 0;
    background: transparent;
  }

  .site .com-content-category__table .gfe-liste__bild {
    display: block;
    order: 0;
    margin-bottom: 12px;
  }

  .site .com-content-category__table .gfe-liste__bild img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 5 / 3;
    object-fit: cover;
  }

  .site .com-content-category__table .list-date {
    order: 1;
    width: auto;
    color: var(--gfe-grundfarbe);
    font-size: 13px;
    font-weight: 600;
    line-height: 18px;
  }

  .site .com-content-category__table .list-title {
    order: 2;
    margin-top: 4px;
    font-family: var(--gfe-sans);
    font-size: 18px;
    line-height: 22px;
  }
}
