/* ============================================ */
/* WORDCLOUD - Kein Flickern + schöner Cursor */
/* ============================================ */
#wordcloud {
  display: none !important;
}

#wordcloud + canvas {
  display: block;
  margin: 0 auto;
  max-width: 100%;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  cursor: pointer !important;
  background: white;
}

#wordcloud-tooltip {
  line-height: 1.5;
}

.card.bild-fullcover .card-body {
  padding: 0 !important;
}

/* ============================================ */
/* FAQ MENÜ (PODIUM ROMANUM) - Immer aufgeklappt */
/* ============================================ */
.faqMenue {
  background: #3c3d73;
  color: #ffffff;
}

.faqMenue a {
  color: #cccccc; 
  text-decoration: none;
}

div.faqMenue .card-body,
.moduletable.faqMenue .card-body,
.mod-custom.faqMenue .card-body {
  background-color: #52668d !important;
  padding: 1rem;
  border-radius: 0.375rem;
}

/* Auto-open ohne Zucken – CSS-only */
.faqMenue .deeper > .mm-collapse {
  display: block !important;
  opacity: 1 !important;
  height: auto !important;
}

/* Submenü: Kein Hintergrund, keine Farbe – wie Hauptmenü */
.faqMenue .mm-collapse,
.faqMenue .mm-collapse.mm-show {
  background: none !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin-left: 1.5rem !important;
}

/* Links im Submenü: gleiche Farbe wie Hauptmenü */
.faqMenue .mm-collapse a,
.faqMenue .mm-collapse .metisitemu-item a {
  color: #1a2d4e !important;
  text-decoration: none !important;
}

/* ============================================ */
/* PHOCA GALLERY 5.2.3 + CASSIOPEIA */
/* ============================================ */
/* OpenStreetMap: Höhere Karte + bessere Proportionen */
.phoca-map {
  height: 600px !important;
  border: 1px solid #ddd;
  border-radius: 8px;
  margin: 1rem 0;
}

/* Kompletten oberen Abstand entfernen */
#phocagallery .page-header,
.pg-category-view .page-header {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.pg-top-icons {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.pg-cv-box,
.pg-cv-box:first-child,
.pg-cv-box-item,
.pg-cv-box-item:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-bottom: 1rem !important;
}

#phocagallery.pg-category-view,
.pg-cv {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.grid-child.container-component,
.container-component {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.ph-sr-only,
svg.ph-sr-only {
  display: block !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ph-cb:empty,
.ph-cb {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ============================================ */
/* KONTAKT-BUTTONS */
/* ============================================ */
/* Vertikale Buttons */
.kontakt-buttons {
  display: flex !important;
  flex-direction: column !important;
  gap: 15px !important;
  margin: 25px 0 !important;
}

.kontaktButton {
  display: block !important;
  width: 100% !important;
  padding: 12px 20px !important;
  text-align: center !important;
  text-decoration: none !important;
  font-size: 18px !important;
  font-weight: bold !important;
  color: #666 !important;
  background: linear-gradient(to bottom, #f9f9f9, #e9e9e9) !important;
  border: 1px solid #dcdcdc !important;
  border-radius: 8px !important;
  box-sizing: border-box !important;
}

.kontaktButton:hover {
  background: linear-gradient(to bottom, #e9e9e9, #f9f9f9) !important;
  color: #333 !important;
}

.kontaktButton .button-text {
  display: block !important;
  line-height: 1.4 !important;
}

/* Horizontale Buttons (responsive) */
.kontakt-buttons1 {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 15px !important;
  width: 100% !important;
  margin: 5px 0 !important;
  justify-content: center;
}

.kontaktButton1 {
  flex: 1 1 220px !important;
  min-width: 180px !important;
  padding: 14px 20px !important;
  text-align: center !important;
  text-decoration: none !important;
  font-size: clamp(14px, 2.5vw, 18px) !important;
  line-height: 1.4 !important;
  font-weight: bold !important;
  color: #666 !important;
  background: linear-gradient(to bottom, #f9f9f9, #e9e9e9) !important;
  border: 1px solid #dcdcdc !important;
  border-radius: 8px !important;
  white-space: normal !important;
  word-wrap: break-word !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  transition: center;
  height: auto !important;
  min-height: 56px !important;
}

.kontaktButton1:hover,
.kontaktButton1:focus {
  background: linear-gradient(to bottom, #e9e9e9, #f9f9f9) !important;
  color: #333 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1) !important;
}

@media (max-width: 480px) {
  .kontaktButton1 {
    flex: 1 1 100% !important;
    min-width: unset !important;
  }
}

/* ============================================ */
/* TECHNIK-MENÜ */
/* ============================================ */
.technik-menue .card-body {
  background-color: #f0f4fb;
  padding: 15px;
}

/* ============================================ */
/* BOTTOM-A MODULE */
/* ============================================ */
.bottom-a .mod-articles-grid {
  row-gap: 0.4rem !important;
  gap: 0.4rem 1rem !important;
}

.bottom-a .mod-articles-item {
  background-color: #f0f4fb !important;
  padding: 15px;
}

/* ============================================ */
/* WRAPPER-IFRAME AUF VOLLE HÖHE */
/* ============================================ */
.wrapper-fullheight,
.wrapper-fullheight .com-content-article,
.wrapper-fullheight .item-page,
.wrapper-fullheight .article-wrapper > div {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  flex-grow: 1 !important;
}

.wrapper-fullheight iframe {
  flex: 1 1 auto !important;
  height: 100% !important;
  min-height: 85vh !important;
  width: 100% !important;
  border: none !important;
  display: block !important;
}

.site-grid > .grid-child.container-main,
.grid-child.container-main > .container-component,
.container-component > .com-content-article,
.com-content-article > .item-page {
  flex-grow: 1 !important;
  min-height: 0 !important;
}

/* ============================================ */
/* VERSCHIEDENES */
/* ============================================ */
/* Zähler ausblenden bei count-is-zero */
.mod-articlescategories .count-is-zero .cat-count {
  display: none;
}

/* Lücke zwischen Content und Bottom-Modulen reduzieren */
.container-main,
#content {
  min-height: auto !important;
}

.container-bottom-a {
  margin-top: 0 !important;
  padding-top: 20px;
}

/* ============================================ */
/* GRÜNLAND-MENÜ - Immer aufgeklappt */
/* ============================================ */
/* Link-Farben */
[class*="mod-gruenland"] {
  --cassiopeia-link-color: #5d4037 !important;
  --link-color: #5d4037 !important;
}

/* Überschrift */
div.mod-gruenland h3.module-title,
.mod-gruenland h3 {
  color: #2e7d32 !important;
  font-size: 1.5rem !important;
  font-family: Georgia, serif !important;
  border-bottom: 2px solid #dcedc8 !important;
  display: block !important;
  visibility: visible !important;
}

/* Links: Metis-Menu & Bootstrap Strukturen */
.mod-gruenland .metismenu a,
.mod-gruenland .nav-link,
.mod-gruenland a,
.mod-gruenland .metismenu .mm-toggler {
  color: #5d4037 !important;
  font-size: 1.15rem !important;
  font-weight: 500 !important;
  text-decoration: none !important;
}

/* Hover */
.mod-gruenland a:hover,
.mod-gruenland .nav-link:hover,
.mod-gruenland .metismenu a:hover {
  color: #689f38 !important;
  background-color: transparent !important;
}

/* Aktiver Punkt */
.mod-gruenland .active > a,
.mod-gruenland .current > a,
.mod-gruenland .active > .nav-link {
  color: #2e7d32 !important;
  font-weight: bold !important;
  border-left: 4px solid #689f38 !important;
  padding-left: 10px !important;
}

/* Pfeile */
.mod-gruenland .mm-toggler::after {
  color: #689f38 !important;
}

/* ALLE SUBMENÜS IMMER AUFGEKLAPPT - Überschreibt JavaScript */
.mod-gruenland .mm-collapse,
.mod-gruenland .deeper > .mm-collapse,
.mod-gruenland .mm-collapse.collapse,
.mod-gruenland .mm-collapse.collapsing,
.mod-gruenland .mm-collapse.show {
  display: block !important;
  height: auto !important;
  max-height: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  overflow: visible !important;
  transition: none !important;
  transform: none !important;
  background: none !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin-left: 1.5rem !important;
}

/* Toggler-Buttons deaktivieren (optional) */
.mod-gruenland .mm-toggler {
  pointer-events: none !important;
  opacity: 0.3 !important;
}

/* ============================================ */
/* JAVASCRIPT FIX FÜR GRÜNLAND - In Custom HTML Modul einfügen */
/* ============================================ */
/*
HINWEIS: Folgenden Code in ein "Custom HTML" Modul einfügen:

<script>
document.addEventListener('DOMContentLoaded', function() {
  // Grünland-Menü finden
  const gruenlandMenu = document.querySelector('.mod-gruenland .metismenu');
  
  if (gruenlandMenu) {
    // Alle Collapse-Elemente permanent öffnen
    const collapses = gruenlandMenu.querySelectorAll('.mm-collapse');
    
    collapses.forEach(function(collapse) {
      collapse.classList.add('show', 'mm-show');
      collapse.style.display = 'block';
      collapse.style.height = 'auto';
    });
    
    // Klick-Events auf Toggler deaktivieren
    const togglers = gruenlandMenu.querySelectorAll('.mm-toggler');
    togglers.forEach(function(toggler) {
      toggler.addEventListener('click', function(e) {
        e.preventDefault();
        e.stopPropagation();
      });
    });
    
    // Observer für dynamische Änderungen
    const observer = new MutationObserver(function(mutations) {
      mutations.forEach(function(mutation) {
        if (mutation.target.classList && mutation.target.classList.contains('mm-collapse')) {
          mutation.target.classList.add('show', 'mm-show');
          mutation.target.style.display = 'block';
          mutation.target.style.height = 'auto';
        }
      });
    });
    
    // Observer aktivieren
    collapses.forEach(function(collapse) {
      observer.observe(collapse, {
        attributes: true,
        attributeFilter: ['class', 'style']
      });
    });
  }
});
</script>
*/