.page-header {
background-image: url(/sites/default/files/banner/nitzkydorf_panorma.jpg);
  background-size: cover;
  width: 100%;
  padding: 3rem 0;
  height: 370px;
}
@media (max-width: 650px) {
.page-header {
background-image: url(/sites/default/files/banner/nitzkydorf_panorma.jpg);
  background-size: cover;
  width: 100%;
  padding: 3rem 0;
  height: auto;
}
}
@media (max-width: 767px) {
.site-brand img {
  width: auto;
  max-height: 100px;
}
}

@media (min-width: 768px) {
  .site-brand img {
    max-height: 80px;
  }
}
@media (min-width: 1024px) {
  .menu-item-has-children::before {
    content: "";
  }
}
/* Hintergrundfläche unter Seitentitel */
#block-mahipro-page-title .block-content h1 {
  position: relative;
  display: inline-block;
  padding: 0.4em 1em;
  z-index: 1;
  color: #fff; /* Schriftfarbe anpassen */
}

#block-mahipro-page-title .block-content h1::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.5); /* Schwarz, 50 % transparent */
  border-radius: 4px; /* optional */
  z-index: -1;
}

/* Hintergrundfläche unter Breadcrumb */
#block-mahipro-breadcrumbs .block-content {
  position: relative;
  display: inline-block;
  padding: 0.2em 0.8em;
  margin-top: 0.3em;
  z-index: 1;
}

#block-mahipro-breadcrumbs .block-content::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.35);
  border-radius: 4px;
  z-index: -1;
}

#block-mahipro-breadcrumbs a {
  color: #fff; /* Links ebenfalls heller */
}
.breadcrumb-item {
  color: white;
}


/* Marker zuverlässig abschalten */
.field.field--tags.node-taxonomy-container ul.taxonomy-terms,
.field--name-field-tags ul.taxonomy-terms {
  list-style: none;   /* entfernt Bullets */
  margin: 0;
  padding-left: 0;
}

.field.field--tags.node-taxonomy-container ul.taxonomy-terms > li,
.field--name-field-tags ul.taxonomy-terms > li {
  list-style: none;
}
.field.field--tags.node-taxonomy-container ul.taxonomy-terms > li.taxonomy-term::marker,
.field--name-field-tags ul.taxonomy-terms > li::marker {
  content: "";        /* fallback für Browser, die Marker trotzdem zeigen */
}

.view.view-landingpage-tax-liste.view-display-block_lp_inhaltkat .field.field--name-field-landingpage-link-tax.field--type-link.field--label-hidden.field-item {
  font-size: 1.2rem;
  font-weight: bold;
}

/* Icons für Downloads */
.safe-file-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 0.4rem;
}
.safe-file-meta {
  color: #666;
  font-size: 0.9em;
}
.safe-file-link .fa-solid {
  color: #b03030; /* PDF-ähnliches Rot */
}

/* Style Inhaltsverzeichnis Toc - Frontend Block */
/* =============================== */
#block-mahipro-inhaltsverzeichnis {
  background: none;
  padding: 0;
}
.sidebar li::before {
    content: none;
}
.sidebar li::after {
    content: none;
}
.sidebar li {
  padding: 0 0 0 10px;
}
.sidebar .toc-tree {
  margin: 1em 0;
  padding: 0 1em;
  border: 1px solid #ccc;
}

/* COLORBOX  */
/* =============================== */
#cboxPrevious, #cboxNext { 
display: block !important; 
}
#cboxContent { 
z-index: 99999; 
} /* falls was drüberliegt */

#cboxPrevious::before, 
#cboxNext::before, 
#cboxClose::before {
  content: none !important;
}



/* Style Infokarten */
/* ===============================
   Infokarten (rechte Spalte) – Card Look
   Ziel: article.node-type-infokarte.node-view-mode-eingebettet
   =============================== */

/* 0) Tweak: vertikale Abstände zwischen den Karten */
.layout--twocol-section .layout__region--second .field-item {
  margin: 0 0 1rem;
}

/* 1) Die Karte selbst */
.layout--twocol-section .layout__region--second
  article.node-type-infokarte.node-view-mode-eingebettet {
  --card-bg: #fff;
  --card-border: #e8ecf3;
  --card-radius: 14px;
  --card-shadow: 0 6px 20px rgba(20, 30, 60, 0.06);
  --accent: #2a4b7c;            /* Überschrift/Leiste – gern anpassen */
  --heading: #22314a;
  --text: #2f3542;

  position: relative;
  background: var(--card-bg);
  border: 1px solid var(--card-border);
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow);
  padding: 1.1rem 1.2rem 1.05rem;
}

/* 1a) zarte Akzentleiste links */
.layout--twocol-section .layout__region--second
  article.node-type-infokarte.node-view-mode-eingebettet::before {
  content: "";
  position: absolute;
  left: 0; top: 10px; bottom: 10px;
  width: 4px;
  border-radius: 8px;
  background: linear-gradient(180deg, var(--accent), color-mix(in srgb, var(--accent), #ffffff 25%));
  opacity: .9;
}

/* 2) Header & Titel */
.layout--twocol-section .layout__region--second
  article.node-type-infokarte.node-view-mode-eingebettet .node-header {
  margin: 0 0 .6rem;
  padding: 0 0 .4rem;
  /*border-bottom: 1px solid #eef1f6;*/
}

.layout--twocol-section .layout__region--second
  article.node-type-infokarte.node-view-mode-eingebettet .node-title {
  margin: 0;
  font-weight: 800;
  font-size: clamp(1.1rem, 1.6vw, 1.6rem);
  line-height: 1.2;
  color: var(--heading);
  letter-spacing: .2px;
}

.layout--twocol-section .layout__region--second
  article.node-type-infokarte.node-view-mode-eingebettet .node-title a {
  text-decoration: none;
  color: inherit;
}
.layout--twocol-section .layout__region--second
  article.node-type-infokarte.node-view-mode-eingebettet .node-title a:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* 3) Inhaltstext */
.layout--twocol-section .layout__region--second
  article.node-type-infokarte.node-view-mode-eingebettet .node-content {
  color: var(--text);
  font-size: 1rem;
}

.layout--twocol-section .layout__region--second
  article.node-type-infokarte.node-view-mode-eingebettet .node-content p {
  margin: 0 0 .5rem;
}

/* 3a) Zeilenhöhe für Adressblöcke etwas dichter */
.layout--twocol-section .layout__region--second
  article.node-type-infokarte.node-view-mode-eingebettet .node-content p:first-child {
  line-height: 1.35;
}

/* 4) Optional: „Call to Action“ als Button stylen,
      falls im letzten Absatz ein Link vorhanden ist */
.layout--twocol-section .layout__region--second
  article.node-type-infokarte.node-view-mode-eingebettet .node-content p:last-child a {
  display: inline-block;
  padding: .5rem .85rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent), #ffffff 15%);
  color: #fff;
  background: var(--accent);
  text-decoration: none;
  font-weight: 700;
  letter-spacing: .2px;
  transition: transform .06s ease, filter .15s ease;
}
.layout--twocol-section .layout__region--second
  article.node-type-infokarte.node-view-mode-eingebettet .node-content p:last-child a:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
}

/* 5) Hover-Elevation der ganzen Karte */
.layout--twocol-section .layout__region--second
  article.node-type-infokarte.node-view-mode-eingebettet:hover {
  box-shadow: 0 10px 24px rgba(20, 30, 60, 0.09);
}

/* 6) Responsiv: etwas enger auf schmalen Screens */
@media (max-width: 800px) {
  .layout--twocol-section .layout__region--second
    article.node-type-infokarte.node-view-mode-eingebettet {
    padding: 0.9rem 1rem .95rem;
    --card-radius: 12px;
  }
}

/* Landingpage 2col Bereich designed */

.node.node-type-landingpage.node-view-mode-full

/* Nur für Inhaltstyp landingpage */
article.node-type-landingpage.node-view-mode-full .layout.layout--twocol-section,
article.node--type-landingpage.node-view-mode-full .layout.layout--twocol-section {
  display: flex;
  gap: var(--sp, 1.25rem);
}

/* 20/80 Standard */
article.node-type-landingpage.node-view-mode-full .layout.layout--twocol-section .layout__region--first,
article.node--type-landingpage.node-view-mode-full .layout.layout--twocol-section .layout__region--first {
  flex: 0 0 28%;
  min-width: 0;
  padding-right: 35px;
}
article.node-type-landingpage.node-view-mode-full .layout.layout--twocol-section .layout__region--second,
article.node--type-landingpage.node-view-mode-full .layout.layout--twocol-section .layout__region--second {
  flex: 1 1 70%;
  min-width: 0;
}

/* WICHTIG: Linke Region wirklich ausblenden, wenn KEIN .block drin ist */
article.node-type-landingpage.node-view-mode-full .layout.layout--twocol-section .layout__region--first:not(:has(.block)),
article.node--type-landingpage.node-view-mode-full .layout.layout--twocol-section .layout__region--first:not(:has(.block)) {
  display: none;
}

/* Mobil: immer 100 % Breite */
@media (max-width: 900px) {
  article.node-type-landingpage .layout.layout--twocol-section,
  article.node--type-landingpage .layout.layout--twocol-section { display: block; }
  article.node-type-landingpage .layout.layout--twocol-section .layout__region--first,
  article.node--type-landingpage .layout.layout--twocol-section .layout__region--first,
  article.node-type-landingpage .layout.layout--twocol-section .layout__region--second,
  article.node--type-landingpage .layout.layout--twocol-section .layout__region--second { width: 100%; }
}


/* =========================================
   Sidebar-Infokarten (Safe + Geschützter Bereich)
   Ziel: rechte Spalte, Blocks als Karten
   ========================================= */

/* 0) Abstand zwischen Sidebar-Blöcken */
#sidebar-right .region-sidebar-second .block {
  margin: 0 0 1rem;
}

/* 1) Basis-Kartenstil für Safe-Filter + Geschützter Bereich */
#sidebar-right .region-sidebar-second #block-mahipro-hervorgehobenesformularsafeblock-safe,
#sidebar-right .region-sidebar-second #block-mahipro-geschutzterbereich,
#sidebar-right .region-sidebar-second #block-mahipro-hervorgehobenesformularsafepage-1 {
  --card-bg: #fff;
  --card-border: #e8ecf3;
  --card-radius: 14px;
  --card-shadow: 0 6px 20px rgba(20, 30, 60, 0.06);
  --accent: #2a4b7c;
  --heading: #22314a;
  --text: #2f3542;

  position: relative;
  background: var(--card-bg);
  border: 1px solid var(--card-border);
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow);
  padding: 1.1rem 1.2rem 1.05rem;
}

/* 1a) Akzentleiste links */
#sidebar-right .region-sidebar-second #block-mahipro-hervorgehobenesformularsafeblock-safe::before,
#sidebar-right .region-sidebar-second #block-mahipro-geschutzterbereich::before,
#sidebar-right .region-sidebar-second #block-mahipro-hervorgehobenesformularsafepage-1::before {
  content: "";
  position: absolute;
  left: 0; top: 10px; bottom: 10px;
  width: 4px;
  border-radius: 8px;
  background: linear-gradient(
    180deg,
    var(--accent),
    color-mix(in srgb, var(--accent), #ffffff 25%)
  );
  opacity: .9;
}

/* 2) Überschriften der Blöcke */
#sidebar-right .region-sidebar-second #block-mahipro-hervorgehobenesformularsafeblock-safe .block-title,
#sidebar-right .region-sidebar-second #block-mahipro-hervorgehobenesformularsafepage-1 .block-title,
#sidebar-right .region-sidebar-second #block-mahipro-geschutzterbereich .block-title {
  margin: 0 0 .4rem;
  font-weight: 800;
  font-size: clamp(1.05rem, 1.4vw, 1.4rem);
  line-height: 1.2;
  color: var(--heading);
}

/* 3) Block-Content Text */
#sidebar-right .region-sidebar-second #block-mahipro-geschutzterbereich .block-content,
#sidebar-right .region-sidebar-second #block-mahipro-geschutzterbereich .field--name-body {
  color: var(--text);
  font-size: 0.95rem;
  line-height: 1.5;
}

#sidebar-right .region-sidebar-second #block-mahipro-geschutzterbereich .field--name-body p {
  margin: 0 0 .35rem;
}

/* 4) Safe-Filterformular als "clean" Input */
#sidebar-right .region-sidebar-second #block-mahipro-hervorgehobenesformularsafeblock-safe .block-content,
#sidebar-right .region-sidebar-second #block-mahipro-hervorgehobenesformularsafepage-1 .block-content  {
  padding-top: .15rem;
}

#sidebar-right .region-sidebar-second #block-mahipro-hervorgehobenesformularsafeblock-safe .form-item-combine label,
#sidebar-right .region-sidebar-second #block-mahipro-hervorgehobenesformularsafepage-1 .form-item-combine label   {
  display: block;
  margin: 0 0 .25rem;
  font-size: 0.82rem;
  font-weight: 600;
  color: #6c7a89;
}

#sidebar-right .region-sidebar-second #block-mahipro-hervorgehobenesformularsafeblock-safe .form-item-combine input.form-text,
#sidebar-right .region-sidebar-second #block-mahipro-hervorgehobenesformularsafepage-1 .form-item-combine input.form-text   {
  width: 100%;
  padding: .45rem .6rem;
  border-radius: 8px;
  border: 1px solid #d5dce6;
  font-size: 0.9rem;
  transition: border-color .15s ease, box-shadow .15s ease;
}

#sidebar-right .region-sidebar-second #block-mahipro-hervorgehobenesformularsafeblock-safe .form-item-combine input.form-text:focus,
#sidebar-right .region-sidebar-second #block-mahipro-hervorgehobenesformularsafepage-1 .form-item-combine input.form-text:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 2px rgba(42,75,124,0.12);
}

/* versteckten Submit-Button so lassen, kein Layout-Bruch */
#sidebar-right .region-sidebar-second #block-mahipro-hervorgehobenesformularsafeblock-safe .form-actions,
#sidebar-right .region-sidebar-second #block-mahipro-hervorgehobenesformularsafepage-1 .form-actions {
  margin: 0;
}

/* 5) Hover-Effekt für Karten */
#sidebar-right .region-sidebar-second #block-mahipro-hervorgehobenesformularsafeblock-safe:hover,
#sidebar-right .region-sidebar-second #block-mahipro-hervorgehobenesformularsafepage-1:hover,
#sidebar-right .region-sidebar-second #block-mahipro-geschutzterbereich:hover {
  box-shadow: 0 10px 24px rgba(20, 30, 60, 0.09);
}

/* 6) Mobile leicht kompakter */
@media (max-width: 800px) {
  #sidebar-right .region-sidebar-second #block-mahipro-hervorgehobenesformularsafeblock-safe,
  #sidebar-right .region-sidebar-second #block-mahipro-hervorgehobenesformularsafepage-1,
  #sidebar-right .region-sidebar-second #block-mahipro-geschutzterbereich {
    padding: 0.9rem 1rem .95rem;
    --card-radius: 12px;
  }
}


/* =========================================
    Masonry
*/
/* Breite je Item = Spaltenbreite (falls das Modul nicht setzt) 
.masonry-layout-galeriea .masonry-item { width: 300px; }*/

/* Bilder an Itembreite anpassen */
.masonry-layout-galeriea .masonry-item img {
  display: block;
  width: 100%;
  height: auto;
}

/* Test Start */
/* 1) aus dem zentrierten Container „ausbrechen“ (Full-bleed) 
.view-galeriea.view-display-page_1,
.view-id-galeriea.view-display-id-page_1 {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  width: 100vw;
}
*/
input[type="time"]::-webkit-datetime-edit-second-field,
input[type="time"]::-webkit-datetime-edit-millisecond-field,
input[type="time"]::-webkit-datetime-edit-ampm-field {
  display: none;
}


/* 1) NICHT mehr aus dem Container ausbrechen */
.view-galeriea.view-display-page_1,
.view-id-galeriea.view-display-id-page_1 {
  margin: 0 auto;            /* wieder mittig */
  width: 100%;               /* nimmt volle Breite des Inhaltscontainers */
  max-width: 1200px;         /* <- hier steuerst du die Gesamtbreite */
  padding: 0 15px;           /* etwas Rand links/rechts */
  box-sizing: border-box;
}

/* 2) Container nicht wieder einfassen */
.view.view-galeriea.view-display-page_1 .view-content,
.view-galeriea.view-display-page_1 .masonry-layout-galeriea,
.view-id-galeriea.view-display-id-page_1 .view-content,
.view-id-galeriea.view-display-id-page_1 .masonry-layout-galeriea {
  width: 100% !important;
  max-width: none;
}

/* 3) falls Mahipro irgendwo grid/flex setzt: neutralisieren */
.view-id-galeriea .view-content,
.view.view-galeriea.view-display-page_1 .view-content,
.view-id-galeriea.view-display-id-page_1 .view-content { 
display: block !important; 
}
/* 4) Optionale Begrenzung für sehr große Bildschirme */
@media (min-width: 1600px) {
  .view-id-galeriea.view-display-id-page_1 {
    max-width: 1400px;
  }
}

/* NACHTRAG- GGF. wieder löschen
TEST START */
/* Container */
.masonry-layout-galeriea {
  margin: 0 auto;
}

/* Items – Breite und Abstände pflegen */
.masonry-layout-galeriea .masonry-item {
  box-sizing: border-box;
  width: calc(25% - 16px);   /* 4 Spalten */
  margin: 8px;
}

/* Responsiv anpassen */
@media (max-width: 992px) {
  .masonry-layout-galeriea .masonry-item { width: calc(33.333% - 16px); }
}
@media (max-width: 768px) {
  .masonry-layout-galeriea .masonry-item { width: calc(50% - 16px); }
}
@media (max-width: 480px) {
  .masonry-layout-galeriea .masonry-item { width: calc(100% - 16px); }
}

/* Bilder müssen block-level sein, damit Höhe korrekt fließt */
.masonry-layout-galeriea .masonry-item img {
  display: block;
  width: 100%;
  height: auto;
}

/* TEST ENDE */
.views-field.views-field-field-media-video-file-1 video {
  width: 220px !important;
  height: auto;
}
/* frisst unsichtbare, komplett leere Rows */
.view-medientyp-galerie .views-row:empty { display: none; }


.masonry-item.allebilder.views-row .views-field.views-field-field-media-image {
  border: 1px solid #FFF;
}

/* INHALTSVERZEICHNIS */
/* ==========================
   Inhaltsverzeichnis – responsive Verhalten
   ========================== */

/* ========= Tablet / Mobile (Narrow) ========= */
@media (max-width: 991px) {
  /* Eltern zum Flex-Container machen, damit 'order' wirkt */
  .main-container {
    display: flex;
    flex-direction: column;
  }

  /* Sidebar (TOC) vor den Content ziehen */
  #sidebar-left {
    order: -1;
    width: 100%;
  }

  /* Falls das Theme in Narrow noch float/margins setzt -> neutralisieren */
  #sidebar-left, .sidebar-left, .region-sidebar-first {
    float: none;
    margin: 0;
  }

  /* TOC im Dokumentfluss, volle Breite, Abstand nach unten */
  #block-mahipro-inhaltsverzeichnis {
    position: relative;
    top: auto;
    max-height: none;
    overflow: visible;
    margin: 0 0 1rem 0;
    box-shadow: none; /* optional */
    border-right: 0;  /* optional */
  }
}





/* Style für view Aktuelles Termine */


/* ================================
   QUICK TABS – Styling & Mobile
   Target: #quicktabs-aktuelles
   ================================ */

/* Farben anpassen */
#quicktabs-aktuelles {
  --nt-tab-border: #d9d9d9;
  --nt-tab-bg: #ffffff;
  --nt-tab-text: #222;
  --nt-tab-active-bg: #7c9ec5;
  --nt-tab-active-text: #fff;
  --nt-tab-hover-bg: #f5f5f5;
}

/* Tabs-Leiste */
#quicktabs-aktuelles .quicktabs-tabs {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
  margin: 0 .75rem .75rem 0;
  padding: 0;
  list-style: none;
}

/* Mobile: horizontales Scrolling statt Umbruch */
@media (max-width: 480px) {
  #quicktabs-aktuelles .quicktabs-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }
  #quicktabs-aktuelles .quicktabs-tabs li { flex: 0 0 auto; }
}

/* Tab-Links */
#quicktabs-aktuelles .quicktabs-tabs a {
  display: inline-block;
  padding: .45rem .9rem;
  border: 1px solid var(--nt-tab-border);
  border-radius: 9999px;
  background: var(--nt-tab-bg);
  color: var(--nt-tab-text);
  text-decoration: none;
  line-height: 1.2;
  white-space: nowrap;
}
#quicktabs-aktuelles .quicktabs-tabs a:hover {
  background: var(--nt-tab-hover-bg);
}

/* Aktiver Tab */
#quicktabs-aktuelles .quicktabs-tabs .active a {
  background: var(--nt-tab-active-bg);
  border-color: var(--nt-tab-active-bg);
  color: var(--nt-tab-active-text);
}

/* Abstand Content zu Tabs */
#quicktabs-aktuelles .quicktabs-main {
  margin-top: .5rem;
  padding-top: 0;
}


/* =========================================
   EDGE40 FIX: Overflow nur in QuickTabs-Bereich
   ========================================= */

/* Kein horizontales Scrollen im Tabcontainer */
#quicktabs-aktuelles { max-width: 100%; overflow-x: hidden; }

/* Defensive Defaults: Wörter umbrechen, Box-Modell sauber */
#quicktabs-aktuelles .quicktabs-tabpage,
#quicktabs-aktuelles .view,
#quicktabs-aktuelles .views-element-container,
#quicktabs-aktuelles .view-content,
#quicktabs-aktuelles .views-row {
  box-sizing: border-box;
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* Medien im Container halten */
#quicktabs-aktuelles img,
#quicktabs-aktuelles video,
#quicktabs-aktuelles iframe,
#quicktabs-aktuelles figure {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Tabellen sicher (falls später nötig) */
#quicktabs-aktuelles table { width: 100%; table-layout: fixed; }
#quicktabs-aktuelles th, 
#quicktabs-aktuelles td { overflow-wrap: anywhere; }

/* Übereifrige Inline-Styles (100vw/negative Margins) neutralisieren */
#quicktabs-aktuelles [style*="width: 100vw"],
#quicktabs-aktuelles [style*="min-width: 100vw"],
#quicktabs-aktuelles [style*="left: -"],
#quicktabs-aktuelles [style*="margin-left: -"] {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  left: 0 !important;
}


/* ======================================
   NEWS (Tab 0) – view-aktuelles, block_1
   Felder: .views-field-title, .views-field-created-1
   ====================================== */

#quicktabs-tabpage-aktuelles-0 .view-aktuelles.view-display-block_1 .views-row {
  padding: .75rem 1rem;
  border: 1px solid #eee;
  border-radius: .5rem;
  margin-bottom: .75rem;
  background: #fff;
}

/* Titel */
#quicktabs-tabpage-aktuelles-0 .view-aktuelles.view-display-block_1 .views-field-title h3 {
  margin: 0 0 .25rem 0;
  font-size: 1.05rem;
}
#quicktabs-tabpage-aktuelles-0 .view-aktuelles.view-display-block_1 .views-field-title a {
  font-weight: 600;
  text-decoration: none;
}
#quicktabs-tabpage-aktuelles-0 .view-aktuelles.view-display-block_1 .views-field-title a:hover {
  text-decoration: underline;
}

/* Datum (created-1) als dezente Meta-Zeile */
#quicktabs-tabpage-aktuelles-0 .view-aktuelles.view-display-block_1 .views-field-created-1 .field-content {
  font-size: .92rem;
  color: #666;
}
#quicktabs-tabpage-aktuelles-0 .view-aktuelles.view-display-block_1 .views-field-created-1 time {
  white-space: nowrap;
}


/* =========================================
   TERMINE (Tab 1) – view-aktuelles, block_2
   Monats-H3 + Felder: .views-field-title, 
   .views-field-field-veranstaltungsdatum-1
   ========================================= */

#quicktabs-tabpage-aktuelles-1 .view-aktuelles.view-display-block_2 .view-content > h3 {
  /* Monatsüberschriften */
  margin: 1.2rem 0 .5rem;
  font-size: 1.1rem;
  font-weight: 700;
  color: #333;
}

/* Zeilen-Container */
#quicktabs-tabpage-aktuelles-1 .view-aktuelles.view-display-block_2 .views-row {
  padding: .75rem 1rem;
  border: 1px solid #eee;
  border-radius: .5rem;
  margin-bottom: .6rem;
  background: #fff;
  display: grid;
  grid-template-columns: 1fr auto; /* Titel links, Datum rechts */
  gap: .25rem .75rem;
  align-items: center;
}

/* Titel */
#quicktabs-tabpage-aktuelles-1 .view-aktuelles.view-display-block_2 .views-field-title h3 {
  margin: 0;
  font-size: 1.02rem;
}
#quicktabs-tabpage-aktuelles-1 .view-aktuelles.view-display-block_2 .views-field-title a {
  font-weight: 600;
  text-decoration: none;
}
#quicktabs-tabpage-aktuelles-1 .view-aktuelles.view-display-block_2 .views-field-title a:hover {
  text-decoration: underline;
}

/* Datum-Feld als Badge rechts */
#quicktabs-tabpage-aktuelles-1 .view-aktuelles.view-display-block_2 .views-field-field-veranstaltungsdatum-1 .field-content {
  white-space: nowrap;
}
#quicktabs-tabpage-aktuelles-1 .view-aktuelles.view-display-block_2 .views-field-field-veranstaltungsdatum-1 time {
  display: inline-block;
  padding: .2rem .55rem;
  border-radius: .45rem;
  background: #f4f6f8;
  font-size: .92rem;
  line-height: 1.1;
  color: #222;
}

/* Mobile: Datum unter den Titel umbrechen */
@media (max-width: 520px) {
  #quicktabs-tabpage-aktuelles-1 .view-aktuelles.view-display-block_2 .views-row {
    grid-template-columns: 1fr; /* einspaltig */
    gap: .35rem 0;
  }
  #quicktabs-tabpage-aktuelles-1 .view-aktuelles.view-display-block_2 
  .views-field-field-veranstaltungsdatum-1 { justify-self: start; }
}

/* Sicherheit im Flex/Grid-Kontext: kein Überlaufen */
#quicktabs-aktuelles .views-field-title,
#quicktabs-aktuelles .views-field-field-veranstaltungsdatum-1,
#quicktabs-aktuelles .views-field-created-1 {
  min-width: 0; 
  overflow: hidden;
  text-overflow: ellipsis;
}

/* =========================================
   SAFE-LISTE – View "safe", Display "block_safe"
   Block-ID: block-mahipro-views-block-safe-block-safe
   ========================================= */

/* Gesamtblock etwas Luft geben */
#block-mahipro-views-block-safe-block-safe {
  margin-top: 1rem;
}

/* View-Container */
#block-mahipro-views-block-safe-block-safe .view-safe .view-content {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* Jede Zeile als Karte */
#block-mahipro-views-block-safe-block-safe .view-safe .views-row {
  padding: 0.75rem 1rem;
  border: 1px solid #eee;
  border-radius: 0.5rem;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}

/* Titel */
#block-mahipro-views-block-safe-block-safe .view-safe .views-field-title {
  margin-bottom: 0.25rem;
}

#block-mahipro-views-block-safe-block-safe .view-safe .views-field-title .field-content a {
  font-size: 1.02rem;
  font-weight: 600;
  text-decoration: none;
  color: #163a5c; /* an dein Farbschema anpassbar */
}

#block-mahipro-views-block-safe-block-safe .view-safe .views-field-title .field-content a:hover {
  text-decoration: underline;
}

/* Beschreibungstext */
#block-mahipro-views-block-safe-block-safe .view-safe .views-field-body .field-content {
  font-size: 0.94rem;
  color: #444;
  line-height: 1.4;
}

/* Lange Wörter/URLs umbrechen */
#block-mahipro-views-block-safe-block-safe .view-safe .views-field-body .field-content,
#block-mahipro-views-block-safe-block-safe .view-safe .views-field-title {
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* Mobile: Karten bleiben lesbar, keine Spielereien nötig */
@media (max-width: 600px) {
  #block-mahipro-views-block-safe-block-safe .view-safe .views-row {
    padding: 0.65rem 0.8rem;
  }
}


