/* ===========================
   BASISFARBEN (wie bei dir)
   =========================== */
body {
  background-color: #2A3F34;
}

.container-header {
  background: #4a141c;
}

.container-main {
  background: #000000;
}

/* ===========================
   FOOTER: Hintergrund + Innenbreite
   =========================== */
footer.container-footer.footer.full-width {
  background: #2A3F34 !important;
  color: #fff !important;
  padding: 2rem 0 !important;
}

footer.container-footer.footer.full-width > .grid-child {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 1.25rem;
}

/* ===========================
   FOOTER MENU: horizontal nebeneinander
   (ul hat Klasse tg-mainmenu)
   =========================== */
footer.container-footer.footer.full-width ul.tg-mainmenu {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 1.25rem !important;

  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 1.25rem 0 !important;
}

footer.container-footer.footer.full-width ul.tg-mainmenu > li {
  display: inline-flex !important;
  margin: 0 !important;
}

footer.container-footer.footer.full-width ul.tg-mainmenu > li > a {
  display: inline-block !important;
  color: #fff !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  padding: 0.45rem 0.75rem !important;
  border-radius: 6px !important;
  white-space: nowrap;
}

footer.container-footer.footer.full-width ul.tg-mainmenu > li > a:hover,
footer.container-footer.footer.full-width ul.tg-mainmenu > li > a:focus {
  background: rgba(255,255,255,0.15) !important;
  text-decoration: none !important;
}

/* ===========================
   BOXEN: Tagesschau + DWD
   (wichtig: KEIN overflow:hidden)
   =========================== */
footer.container-footer.footer.full-width .text-left.feed,
footer.container-footer.footer.full-width .dwd_wettermodul.vertikal {
  background: #fff !important;
  color: #111 !important;
  border-radius: 12px !important;
  padding: 1rem 1.25rem !important;
  box-shadow: 0 6px 18px rgba(0,0,0,0.12) !important;
  overflow: visible !important;
}

/* Links in Boxen */
footer.container-footer.footer.full-width .text-left.feed a,
footer.container-footer.footer.full-width .dwd_wettermodul.vertikal a {
  color: #111 !important;
  text-decoration: underline !important;
}

/* ===========================
   DWD: "Heute/Morgen" etc. sichtbar
   (bei dir: td.row_header_color_text)
   =========================== */
footer.container-footer.footer.full-width .dwd_wettermodul.vertikal,
footer.container-footer.footer.full-width .dwd_wettermodul.vertikal * {
  color: #111 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

footer.container-footer.footer.full-width .dwd_wettermodul.vertikal .row_header_color_text {
  color: #111 !important;
  font-weight: 800 !important;
}

/* Sicherheitsnetz für Tabellen */
footer.container-footer.footer.full-width .dwd_wettermodul.vertikal table {
  background: transparent !important;
  border-collapse: collapse;
}

/* ===========================
   DESKTOP: Menü oben, darunter 2 Spalten
   =========================== */
@media (min-width: 900px) {
  footer.container-footer.footer.full-width > .grid-child {
    display: grid !important;
    grid-template-columns: 1.4fr 0.9fr;
    grid-template-areas:
      "menu menu"
      "news weather";
    gap: 1.25rem;
    align-items: start;
  }

  footer.container-footer.footer.full-width ul.tg-mainmenu {
    grid-area: menu;
    margin-bottom: 0 !important;
  }

  footer.container-footer.footer.full-width .text-left.feed { grid-area: news; }
  footer.container-footer.footer.full-width .dwd_wettermodul.vertikal { grid-area: weather; }
}

/* ===========================
   MOBILE: Boxen untereinander, etwas Luft
   =========================== */
@media (max-width: 899px) {
  footer.container-footer.footer.full-width .text-left.feed,
  footer.container-footer.footer.full-width .dwd_wettermodul.vertikal {
    margin-top: 1rem !important;
  }
}
/* ===========================
   FOOTER: Modultitel erzwingen (Tagesschau / DWD Wetter)
   =========================== */

/* alle üblichen Modul-Titel-Selectoren in Joomla/Cassiopeia */
footer.container-footer.footer.full-width .moduletable > h1,
footer.container-footer.footer.full-width .moduletable > h2,
footer.container-footer.footer.full-width .moduletable > h3,
footer.container-footer.footer.full-width .moduletable > h4,
footer.container-footer.footer.full-width .module-title,
footer.container-footer.footer.full-width .mod-title,
footer.container-footer.footer.full-width .moduletitle,
footer.container-footer.footer.full-width .card-header {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;

  color: #fff !important;
  font-weight: 800 !important;
  margin: 0 0 .6rem 0 !important;
  padding: 0 !important;
}

/* Falls Cassiopeia die Titel im Footer pauschal ausblendet */
footer.container-footer.footer.full-width h1,
footer.container-footer.footer.full-width h2,
footer.container-footer.footer.full-width h3,
footer.container-footer.footer.full-width h4 {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
/* ===========================
   ARTIKEL ALS WEISSE BOX
   (Einzelbeiträge, z. B. Datenschutz)
   =========================== */
.com-content-article,
.com-content-article__body {
  background: #ffffff;
  border-radius: 12px;
  padding: 2rem 2.5rem;
  box-shadow: 0 6px 18px rgba(0,0,0,0.12);
}

/* Abstand zum Seitenrand */
.com-content-article {
  margin: 2rem auto;
  max-width: 980px;
}

/* Überschriften schöner */
.com-content-article h1,
.com-content-article h2,
.com-content-article h3 {
  margin-top: 0;
}

/* Mobile etwas kompakter */
@media (max-width: 768px) {
  .com-content-article,
  .com-content-article__body {
    padding: 1.25rem 1.25rem;
  }
}
