/* =========================
   THEME CORE (Variablen)
   ========================= */
@layer theme {
  :root {
    color-scheme: light dark;
    --bg: #ffffff;
    --text: #111111;
    --muted: #666666;
    --card: #f6f7f9;
    --border: #e3e6ea;
    --link: #0b5cab;
    --link-hover: #084b8c;
  }

  @media (prefers-color-scheme: dark) {
    :root {
      --bg: #0f1115;
      --text: #e8eaed;
      --muted: #a0a7b4;
      --card: #171a21;
      --border: #2a2f3a;
      --link: #82b1ff;
      --link-hover: #a8c7ff;
    }
  }

  html[data-theme="light"] {
    --bg:#ffffff; --text:#111111; --muted:#666666; --card:#f6f7f9; --border:#e3e6ea;
    --link:#0b5cab; --link-hover:#084b8c;
  }
  html[data-theme="dark"] {
    color-scheme: dark;
    --bg:#0f1115; --text:#e8eaed; --muted:#a0a7b4; --card:#171a21; --border:#2a2f3a;
    --link:#82b1ff; --link-hover:#a8c7ff;
  }

  /* =========================
     Basismapping (beide Themes)
     ========================= */
  :where(body){ background: var(--bg); color: var(--text); }
  :where(a){ color: var(--link); }
  :where(a:hover, a:focus){ color: var(--link-hover); }
  :where(input, select, textarea, .form-control){
    background: var(--bg); color: var(--text); border-color: var(--border);
  }
  :where(table){ border-color: var(--border); }

  /* Logo-Switch (optional) */
  .logo--light { display:inline; }
  .logo--dark  { display:none; }
  html[data-theme="dark"] .logo--light { display:none; }
  html[data-theme="dark"] .logo--dark  { display:inline; }

  /* =========================
     DARK THEME OVERRIDES
     ========================= */
  html[data-theme="dark"] {
    /* Header / Menü */
    #sp-top-bar,
    #sp-header,
    .sp-header,
    .sp-megamenu-parent,
    .sp-dropdown,
    .sp-dropdown .sp-dropdown-inner{
      background: var(--card) !important;
      color: var(--text) !important;
      border-color: var(--border) !important;
    }
    .sp-megamenu-parent > li > a,
    .sp-megamenu-parent .sp-dropdown li > a { color: var(--text) !important; }
    .sp-megamenu-parent > li:hover > a,
    .sp-megamenu-parent > li.active > a{
      background: #1b1f27 !important; color: var(--text) !important;
    }

    /* Suche (Header) */
    .sp-search .search,
    .mod-finder,
    .mod-search input[type="search"]{
      background: var(--bg) !important;
      color: var(--text) !important;
      border:1px solid var(--border) !important;
    }
    ::placeholder{ color: var(--muted) !important; }

    /* Addons + Module dunkel */
    .sp-pagebuilder .sppb-addon,
    .sp-pagebuilder .sppb-addon-container,
    .sp-module,
    .sp-module .sp-module-content{
      background: var(--card) !important;
      color: var(--text) !important;
      border-color: var(--border) !important;
    }

    /* „farbige“ Template-Sektionen neutralisieren */
    .sppb-section[class*="bg"],
    .sppb-row[class*="bg"],
    .sppb-divider,
    .sppb-title-subheading{
      background: var(--bg) !important; color: var(--text) !important;
    }

    /* Utility: manuelle Dark-Class */
    .sppb-section.theme-dark {
      background: var(--card) !important;
      color: var(--text) !important;
    }

    /* Tabellen/Listen */
    table, .table{ color: var(--text) !important; border-color: var(--border) !important; }
    thead, tbody tr{ background: var(--card) !important; }

    /* Formulare/Buttons */
    .btn, .sppb-btn, input, select, textarea {
      background: var(--bg) !important; color: var(--text) !important; border-color: var(--border) !important;
    }
    .sppb-btn-success, .btn-success {
      background:#2a7b2a !important; border-color:#2a7b2a !important; color:#fff !important;
    }

    /* Footer */
    #sp-bottom,
    footer, .footer, .sp-bottom, .sp-footer, .sp-copyright{
      background:#111419 !important; color: var(--text) !important; border-color: var(--border) !important;
    }
    .sp-copyright a{ color: var(--link) !important; }

    /* Wetter-Widget */
    #sp-bottom .today-widget__header,
    #sp-bottom .today-widget__segments,
    #sp-bottom .today-widget__segments__segment{
      background: transparent !important; color: var(--text) !important; border-color: var(--border) !important;
    }
    #sp-bottom .weather-icon path[fill="#D2E0FF"] { fill:#3a4a66 !important; }
    #sp-bottom .weather-icon path[fill="#F9D23E"] { fill:#e6c84a !important; }

    /* Google-Map-Box */
    .sppb-addon-gmap, 
    .sppb-google-map {
      background: var(--card) !important;
      border-color: var(--border) !important;
    }

    /* Top-Bar Social Icons */
    #sp-top-bar .social-icons li a{
      background: transparent !important; color: var(--text) !important; border-color: var(--border) !important;
    }

    /* Body-Background Overlay */
    body.site::before{
      content:""; position:fixed; inset:0; background:rgba(0,0,0,.6); z-index:-1;
    }
  }

  /* =========================
     Slider-Ausnahmen
     ========================= */
  /* Slider-Section immer transparent */
  html[data-theme="dark"] .sppb-section:has(.sppb-sp-slider-wrapper),
  html[data-theme="dark"] #sp-slider,
  html[data-theme="dark"] .sppb-sp-slider-wrapper{
    background: transparent !important;
    border: none !important;
  }

  /* Slider-Overlay-Elemente transparent + lesbar */
  html[data-theme="dark"] .sp-slider-content-align-center,
  html[data-theme="dark"] .sppb-sp-slider-title,
  html[data-theme="dark"] .sppb-sp-slider-button{
    background: transparent !important;
    color: var(--text) !important;
    text-shadow: 0 2px 8px rgba(0,0,0,.55);
  }

  /* =========================
     Sanfte Übergänge
     ========================= */
  @media (prefers-reduced-motion: no-preference){
    :root{
      --transition-fast: background-color .2s ease, color .2s ease, border-color .2s ease;
    }
    body, .sp-module, .sppb-addon, .sp-dropdown, .sp-megamenu-parent{
      transition: var(--transition-fast);
    }
  }



html[data-theme="dark"] .sppb-section {
  background: var(--card) !important;
  color: var(--text) !important;
}


/* Breadcrumb-Bereich abdunkeln im Dark Mode */
html[data-theme="dark"] .sp-page-title {
  position: relative; /* wichtig für das ::before */
  background-image: url(/images/KGV/Backgrounds/BackgroundBreadcrumb.png) !important;
}

html[data-theme="dark"] .sp-page-title::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.5); /* Stärke anpassen: 0.3 = leicht, 0.6 = stark */
  z-index: 0;
}

html[data-theme="dark"] .sp-page-title > * {
  position: relative;
  z-index: 1; /* Text/Icons über Overlay */
}








/* ==== Accordion auf dunkel ==== */
html[data-theme="dark"] .sppb-addon-accordion .sppb-panel{
  background: var(--card) !important;
  border-color: var(--border) !important;
  box-shadow: none !important;
}

/* Kopfzeile: grün lassen, Text/Icon hell */
html[data-theme="dark"] .sppb-addon-accordion .sppb-panel-heading{
  background: #95d85a !important;   /* dein Grün */
  color: #fff !important;
  border-color: #95d85a !important;
}
html[data-theme="dark"] .sppb-addon-accordion .sppb-panel-heading .fa{
  color: #fff !important;
}

/* Inhalt dunkel */
html[data-theme="dark"] .sppb-addon-accordion .sppb-panel-body,
html[data-theme="dark"] .sppb-addon-accordion .sppb-panel-collapse{
  background: var(--card) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}

/* Weiß aus verschachtelten SPPB-Containern nehmen */
html[data-theme="dark"] .sppb-addon-accordion .sppb-panel-body .sppb-section,
html[data-theme="dark"] .sppb-addon-accordion .sppb-panel-body .sppb-container-inner,
html[data-theme="dark"] .sppb-addon-accordion .sppb-panel-body .sppb-row,
html[data-theme="dark"] .sppb-addon-accordion .sppb-panel-body .sppb-column,
html[data-theme="dark"] .sppb-addon-accordion .sppb-panel-body .sppb-addon,
html[data-theme="dark"] .sppb-addon-accordion .sppb-panel-body .sppb-addon-content{
  background: transparent !important;   /* wichtig! */
  color: inherit !important;
  border-color: var(--border) !important;
}

/* Tabellen im Accordion */
html[data-theme="dark"] .sppb-addon-accordion .tableizer-table{
  background: #151a22 !important;  /* leicht dunkler Block */
  color: var(--text) !important;
  border-color: var(--border) !important;
}
html[data-theme="dark"] .sppb-addon-accordion .tableizer-table th{
  color: var(--text) !important;
  border-bottom: 1px solid var(--border) !important;
}
html[data-theme="dark"] .sppb-addon-accordion .tableizer-table td{
  border-color: var(--border) !important;
}
/* Pfeil/Toggle heller */
html[data-theme="dark"] .sppb-addon-accordion .sppb-toggle-direction .fa{
  color: #fff !important;
}



/* ==== SPPB Tabs (vertikal) konsequent abdunkeln ==== */
/* Alle Listenelemente + Links */
html[data-theme="dark"] .sppb-tab .sppb-nav li,
html[data-theme="dark"] .sppb-tab .sppb-nav li a,
html[data-theme="dark"] .sppb-tab .sppb-nav-tabs > li,
html[data-theme="dark"] .sppb-tab .sppb-nav-tabs > li > a{
  background: var(--card) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
  box-shadow: none !important;
}
/* Active/Hover-Staaten */
html[data-theme="dark"] .sppb-tab .sppb-nav li.active > a,
html[data-theme="dark"] .sppb-tab .sppb-nav li > a:hover,
html[data-theme="dark"] .sppb-tab .sppb-nav-tabs > li.active > a,
html[data-theme="dark"] .sppb-tab .sppb-nav-tabs > li > a:hover{
  background: #1b1f27 !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}
/* Pseudo-Elemente/Trenner, falls SPPB welche einsetzt */
html[data-theme="dark"] .sppb-tab .sppb-nav li a::before,
html[data-theme="dark"] .sppb-tab .sppb-nav li a::after{
  background: transparent !important;
  border-color: var(--border) !important;
}




/* ==== Dropfiles Dark Mode ==== */
html[data-theme="dark"] .dropfiles-content,
html[data-theme="dark"] .dropfiles-container,
html[data-theme="dark"] .dropfiles-container-table,
html[data-theme="dark"] .dropfiles-foldertree,
html[data-theme="dark"] .mediaTableWrapper,
html[data-theme="dark"] .mediaTableWrapperWithMenu,
html[data-theme="dark"] .dropfiles-categories,
html[data-theme="dark"] .dropfilescategory {
  background: var(--card) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}

/* Breadcrumbs */
html[data-theme="dark"] .dropfiles-breadcrumbs-table,
html[data-theme="dark"] .dropfiles-breadcrumbs-table li {
  background: var(--card) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}

/* Foldertree Links & Icons */
html[data-theme="dark"] .dropfiles-foldertree a,
html[data-theme="dark"] .dropfiles-foldertree .catlinks,
html[data-theme="dark"] .dropfiles-foldertree .zmdi-folder {
  color: var(--text) !important;
  background: transparent !important;
}

/* Kategorienliste rechts */
html[data-theme="dark"] .dropfiles-categories a {
  background: var(--card) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
}

/* Tabellen */
html[data-theme="dark"] .dropfiles-content table,
html[data-theme="dark"] .dropfiles-content thead tr,
html[data-theme="dark"] .dropfiles-content tbody tr {
  background: var(--card) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}
html[data-theme="dark"] .dropfiles-content th,
html[data-theme="dark"] .dropfiles-content td {
  border-color: var(--border) !important;
}

/* MediaTable Menü (Spalteneinstellungen) */
html[data-theme="dark"] .mediaTableMenu,
html[data-theme="dark"] .mediaTableMenu ul,
html[data-theme="dark"] .mediaTableMenu li {
  background: var(--card) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}





/* ==== Dropfiles: Dateiliste komplett abdunkeln ==== */
html[data-theme="dark"] .dropfiles-content .mediaTableWrapper,
html[data-theme="dark"] .dropfiles-content .mediaTable {
  background-color: var(--card) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}

/* Kopf */
html[data-theme="dark"] .dropfiles-content .table > thead > tr > th {
  background-color: #1b1f27 !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}

/* Zellen & Reihen (Basis) */
html[data-theme="dark"] .dropfiles-content .table > tbody > tr > td,
html[data-theme="dark"] .dropfiles-content .table > tbody > tr,
html[data-theme="dark"] .dropfiles-content .table > tfoot > tr > td {
  background-color: var(--card) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}

/* Striping überschreiben */
html[data-theme="dark"] .dropfiles-content .table.table-striped > tbody > tr:nth-of-type(odd) {
  background-color: #20242c !important;
}

/* Hover (optional, dezente Aufhellung) */
html[data-theme="dark"] .dropfiles-content .table > tbody > tr:hover > td {
  background-color: #232833 !important;
}

/* Menü der Spaltenauswahl */
html[data-theme="dark"] .mediaTableWrapper .mediaTableMenu,
html[data-theme="dark"] .mediaTableWrapper .mediaTableMenu ul {
  background-color: var(--card) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}

/* Links & Icons in der Tabelle */
html[data-theme="dark"] .dropfiles-content .mediaTable a {
  color: var(--link) !important;
}
html[data-theme="dark"] .dropfiles-content .mediaTable a:hover {
  color: var(--link-hover) !important;
}
html[data-theme="dark"] .dropfiles-content .mediaTable i.zmdi {
  color: var(--text) !important;
}


/* Download-Button bleibt grün */
html[data-theme="dark"] .dropfiles-content .downloadlink {
  background: #6ed94d !important;   /* dein Grün */
  color: #fff !important;
  border-radius: 4px;
  padding: 6px 12px;
  display: inline-block;
}

/* Öffnen-Button dezent dunkel */
html[data-theme="dark"] .dropfiles-content .openlink {
  background: var(--card) !important;
  color: var(--link) !important;
  border: 1px solid var(--border) !important;
  border-radius: 4px;
  padding: 6px 12px;
  display: inline-block;
}

/* Hover-Effekte */
html[data-theme="dark"] .dropfiles-content .downloadlink:hover {
  background: #5cbf41 !important;
}
html[data-theme="dark"] .dropfiles-content .openlink:hover {
  background: #1b1f27 !important;
  color: var(--link-hover) !important;
}

/* Icons angleichen */
html[data-theme="dark"] .dropfiles-content .file_download i {
  color: inherit !important;
  margin-left: 4px;
}









/* ========== iCagenda – LISTENANSICHT (Komponente) ========== */
html[data-theme="dark"] #icagenda.ic-list-view {
  color: var(--text);
}

/* Filterbox */
html[data-theme="dark"] #icagenda .ic-filters {
  background: var(--card) !important;
  border: 1px solid var(--border) !important;
}

/* Inputs/Selects/Placeholder */
html[data-theme="dark"] #icagenda .ic-filters .form-control,
html[data-theme="dark"] #icagenda .ic-filters .form-select {
  background: var(--card) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
}
html[data-theme="dark"] #icagenda ::placeholder { color: var(--muted) !important; }

/* Buttons: Suche (grün), Reset (dezent) */
html[data-theme="dark"] #icagenda .ic-filter-submit-btn {
  background: #6ed94d !important;
  color: #fff !important;
  border: 1px solid #6ed94d !important;
}
html[data-theme="dark"] #icagenda .ic-filter-submit-btn:hover {
  background: #5cbf41 !important;
}
html[data-theme="dark"] #icagenda .ic-filter-reset-btn {
  background: var(--card) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
}
html[data-theme="dark"] #icagenda .ic-filter-reset-btn:hover {
  background: #1b1f27 !important;
}

/* Überschriften / Texte */
html[data-theme="dark"] #icagenda .ic-header-title { color: var(--text) !important; }
html[data-theme="dark"] #icagenda .ic-header-subtitle,
html[data-theme="dark"] #icagenda .ic-subtitle-string { color: var(--muted) !important; }

/* Eventliste-Container (falls Einträge da sind) */
html[data-theme="dark"] #icagenda .ic-list-events .ic_rounded,
html[data-theme="dark"] #icagenda .ic-list-events .ic-item {
  background: var(--card) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
}
html[data-theme="dark"] #icagenda a { color: var(--link) !important; }
html[data-theme="dark"] #icagenda a:hover { color: var(--link-hover) !important; }


/* ========== iCagenda – KALENDER-MODUL ========== */
html[data-theme="dark"] .iccalendar,
html[data-theme="dark"] .iccalendar .icagenda_header,
html[data-theme="dark"] .iccalendar .icnav .titleic {
  background: var(--card) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}

/* Kopf „Vereinskalender“ */
html[data-theme="dark"] .iccalendar .icagenda_header p {
  color: var(--text) !important;
}

/* Navigation (‹ ›) + Titel */
html[data-theme="dark"] .iccalendar .icnav a span,
html[data-theme="dark"] .iccalendar .titleic {
  color: var(--text) !important;
}

/* Tabellenkopf & Zellen */
html[data-theme="dark"] .iccalendar .ic-table th,
html[data-theme="dark"] .iccalendar .ic-table td {
  background: transparent !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}

/* Tageskacheln */
html[data-theme="dark"] .iccalendar .style_Day,
html[data-theme="dark"] .iccalendar .style_Today,
html[data-theme="dark"] .iccalendar .no-event {
  background: #121721 !important;          /* dunkle Kachel */
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
  border-radius: 4px !important;
}

/* Heute etwas hervorheben */
html[data-theme="dark"] .iccalendar .style_Today {
  background: #18202c !important;
  box-shadow: 0 0 0 1px #2a364a inset !important;
}

/* Hover */
html[data-theme="dark"] .iccalendar .style_Day:hover,
html[data-theme="dark"] .iccalendar .no-event:hover {
  background: #1b2330 !important;
}

/* Tooltip/Popups von iCagenda (falls genutzt) */
html[data-theme="dark"] #ictip {
  background: var(--card) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
}

html[data-theme="dark"] #sp-main-body {
  background: var(--bg) !important;
}





/* ========== Joomla Blog – Dark Theme ========== */
html[data-theme="dark"] .blog {
  color: var(--text) !important;
}

/* Karten/Artikel */
html[data-theme="dark"] .blog .items-leading .item,
html[data-theme="dark"] .blog .article-list .item {
  background: var(--card) !important;
  border: 1px solid var(--border) !important;
  box-shadow: none !important;
  color: var(--text) !important;
}

/* Abstand in der Karte (manche Templates liefern das leer aus) */
html[data-theme="dark"] .blog .blog-content-wrap {
  padding: 1.25rem !important;
}

/* Bildspalte ohne weißen Hintergrund */
html[data-theme="dark"] .blog .entry-image,
html[data-theme="dark"] .blog .intro-image,
html[data-theme="dark"] .blog .pull-left.entry-image {
  background: transparent !important;
}

/* Überschriften & Links */
html[data-theme="dark"] .blog h2 a {
  color: var(--text) !important;
}
html[data-theme="dark"] .blog h2 a:hover {
  color: #95d85a !important; /* dein Grün */
  text-decoration: none !important;
}

/* Meta-Zeile (Kategorie, Datum, Zugriffe) */
html[data-theme="dark"] .blog .article-info,
html[data-theme="dark"] .blog .article-info dd,
html[data-theme="dark"] .blog .article-info a {
  color: #b8c2cf !important;
}
html[data-theme="dark"] .blog .article-info .fa,
html[data-theme="dark"] .blog .article-info .icon {
  color: #95d85a !important;
}

/* "Weiterlesen" Button */
html[data-theme="dark"] .blog .btn.btn-secondary {
  background: transparent !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
}
html[data-theme="dark"] .blog .btn.btn-secondary:hover,
html[data-theme="dark"] .blog .btn.btn-secondary:focus {
  background: #95d85a !important;
  border-color: #95d85a !important;
  color: #fff !important;
}

/* Sternebewertung */
html[data-theme="dark"] .blog .content_rating ul li.vote-star svg path {
  fill: #ffd35a !important;   /* volle Sterne */
}
html[data-theme="dark"] .blog .content_rating ul li.vote-star-empty svg path {
  fill: #5b6575 !important;   /* leere Sterne */
}

/* Pagination */
html[data-theme="dark"] .blog .pagination .page-link,
html[data-theme="dark"] .pagination__wrapper .page-link {
  background: var(--card) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
}
html[data-theme="dark"] .blog .pagination .page-item.active .page-link,
html[data-theme="dark"] .pagination__wrapper .page-item.active .page-link {
  background: #95d85a !important;
  border-color: #95d85a !important;
  color: #fff !important;
}
html[data-theme="dark"] .blog .pagination .page-item.disabled .page-link {
  opacity: .5 !important;
}

/* Kleine Aufräumer */
html[data-theme="dark"] .blog .system-unpublished { background: transparent !important; }
html[data-theme="dark"] .blog p { color: var(--text) !important; }




/* ========== Blog-Pagination – Dark Theme ========== */
html[data-theme="dark"] .pagination-wrapper,
html[data-theme="dark"] .pagination__wrapper {
  background: transparent !important;
}

html[data-theme="dark"] .pagination .page-link {
  background: var(--card) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
  border-radius: .5rem !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

html[data-theme="dark"] .pagination .page-link:hover,
html[data-theme="dark"] .pagination .page-link:focus {
  background: #95d85a !important;
  border-color: #95d85a !important;
  color: #fff !important;
  outline: 0 !important;
}

html[data-theme="dark"] .pagination .page-item.active .page-link {
  background: #95d85a !important;
  border-color: #95d85a !important;
  color: #fff !important;
}

html[data-theme="dark"] .pagination .page-item.disabled .page-link {
  background: transparent !important;
  border-color: var(--border) !important;
  color: #7e8898 !important;
  opacity: .6 !important;
  cursor: not-allowed !important;
}

/* Pfeil-Icons in den Links */
html[data-theme="dark"] .pagination .page-link .icon-angle-left,
html[data-theme="dark"] .pagination .page-link .icon-angle-right,
html[data-theme="dark"] .pagination .page-link .icon-angle-double-left,
html[data-theme="dark"] .pagination .page-link .icon-angle-double-right {
  color: inherit !important;
}


/* ========== Blog-Pagination – Dark Theme ========== */
html[data-theme="dark"] .pagination-wrapper .pagination {
  background: transparent !important;
}

/* ========== Einzelner Blog-Artikel – Dark Theme ========== */
html[data-theme="dark"] .item-page,
html[data-theme="dark"] .blog-details-content-wrap {
  background: var(--card) !important;
  color: var(--text) !important;
  padding: 2rem;
  border-radius: .5rem;
  box-shadow: 0 2px 6px rgba(0,0,0,.5);
}

/* Überschrift */
html[data-theme="dark"] .item-page h2 {
  color: #fff !important;
  font-weight: 700;
}

/* Artikel-Infos (Kategorie, Datum, Hits) */
html[data-theme="dark"] .item-page .article-info {
  color: var(--text-muted, #bbb) !important;
}
html[data-theme="dark"] .item-page .article-info a {
  color: #95d85a !important;
}
html[data-theme="dark"] .item-page .article-info i {
  color: #95d85a !important;
}

/* Pagenavigation (Zurück / Weiter) */
html[data-theme="dark"] .item-page .pagenavigation .page-link {
  background: var(--card) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
  border-radius: .5rem !important;
  padding: .5rem 1rem;
}
html[data-theme="dark"] .item-page .pagenavigation .page-link:hover {
  background: #95d85a !important;
  color: #fff !important;
  border-color: #95d85a !important;
}

/* Footer mit Sterne-Bewertung */
html[data-theme="dark"] .item-page .article-footer-wrap {
  border-top: 1px solid var(--border) !important;
  margin-top: 2rem;
  padding-top: 1rem;
}

/* Voting Sterne leer/voll */
html[data-theme="dark"] .item-page .content_rating svg path {
  fill: #666 !important; /* leere Sterne dunkelgrau */
}
html[data-theme="dark"] .item-page .content_rating .vote-star svg path {
  fill: #95d85a !important; /* volle Sterne grün */
}

/* Select + Button im Vote-Formular */
html[data-theme="dark"] .item-page select.form-select {
  background: var(--card) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
}
html[data-theme="dark"] .item-page input[type=submit].btn-primary {
  background: #95d85a !important;
  border: none !important;
  color: #fff !important;
}





/* ========== Kontakt: Kacheln (SPPB Feature Box) – Dark Theme ========== */
html[data-theme="dark"] .sppb-addon-feature,
html[data-theme="dark"] .sppb-addon-feature .sppb-addon-content {
  background: var(--card) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
  border-radius: .5rem;
  box-shadow: 0 2px 8px rgba(0,0,0,.45);
}

/* Titel & Texte in der Kachel */
html[data-theme="dark"] .sppb-addon-feature .sppb-feature-box-title,
html[data-theme="dark"] .sppb-addon-feature h3,
html[data-theme="dark"] .sppb-addon-feature p {
  color: var(--text) !important;
}

/* Links in der Kachel (z. B. „Mail schreiben“) */
html[data-theme="dark"] .sppb-addon-feature a {
  color: #95d85a !important;
}
html[data-theme="dark"] .sppb-addon-feature a:hover {
  opacity: .9;
  text-decoration: underline;
}

/* Icon grün + knackiger */
html[data-theme="dark"] .sppb-addon-feature .sppb-media .sppb-icon,
html[data-theme="dark"] .sppb-addon-feature .sppb-media i,
html[data-theme="dark"] .sppb-addon-feature .sppb-media svg {
  color: #95d85a !important;
  fill: #95d85a !important;
}

/* Hover der gesamten Kachel */
html[data-theme="dark"] .sppb-addon-feature:hover,
html[data-theme="dark"] .sppb-addon-feature:focus-within {
  border-color: #95d85a !important;
  box-shadow: 0 4px 14px rgba(0,0,0,.55);
}




/* Dark-Mode */
html[data-theme="dark"] .scrollup::before {
  color: rgba(255,255,255,0.4) !important;
}

html[data-theme="dark"] .scrollup:hover::before,
html[data-theme="dark"] .scrollup:focus::before {
  color: rgba(255,255,255,0.85) !important;
}




} /* @layer theme Ende */



/* Mobil: kein extra Abstand unten */

/* Alle Zustände neutralisieren */
.scrollup:hover,
.scrollup:focus,
.scrollup:active {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

@media screen and (max-width: 767px) {
  .scrollup {
    bottom: 50px;
  }
}

/* Standard (Light-Mode) */
.scrollup::before {
  color: rgba(0,0,0,0.4);
  transition: color .2s ease;
}

.scrollup:hover::before,
.scrollup:focus::before {
  color: rgba(0,0,0,0.7);
}

.scrollup {
  border: none !important;
  background: none;
}



















/* Blog Artikel Abstände  */
article.item {
    padding-left: 10px;
    padding-right: 10px;
}

/* MainSlider FontSizeFix in mobile mode */
@media (max-width: 575.98px) {
  .sppb-sp-slider-title {
      font-size: 30px !important;
  }
} 



/*
#sp-slider-inner-item-hTroeH6TBGAzwIrKLgrnS-num-0-key {
  @media (min-width: 575.98px) {
    font-size: 31px !important;
 }
}
*/

/*FixLayout Footer Social Media Logos*/
#sp-footer {
    text-align: right !important;
}
#sp-footer a {
    margin-left: 10px;
}

/* BugFix: hidden main slideShow when window width>1920px */
#sppb-sp-slider-hTroeH6TBGAzwIrKLgrnR .sp-slider-outer-stage {
    height: 615px;
}

/* Buttens etwas kleiner*/
.btn.btn-primary, .btn.sppb-btn-primary, .sppb-btn.btn-primary, .sppb-btn.sppb-btn-primary {
    padding: 6px 20px;
}

/* Frei Gärten - BugFix Euro Symbol */
.sppb-addon-pricelist {
    flex-wrap: nowrap;
}

/* Login Checkbox widht fix*/
.form-check-input {
    width: 1em !important;
}
/* Remove blue bar iCagenda Edit Button */
.ic-manager-toolbar .icon-options:before {
    content: "";
}
.ic-manager-toolbar .alert-info {
    background-color: #fff0;
    border-color: #fff0;
}
/* iCagenda: remove background in list*/
.ic-list-event:nth-child(2n+1) {
    background: none !important;
}

/* BUGFIX: UserMenue direction - Joomla 4 */
.nav {
    flex-direction: column;
}

#snow {
    position: fixed;
    top: -160px;
    left: 0;
    right: 0;
}
 
#snow i {
    -webkit-animation: falling 20s 1s linear;
    animation: falling 8s linear 2s 20;
    animation-iteration-count :infinite;
    -webkit-animation-iteration-count :infinite;
    border-radius: 50%;
    cursor: default;
    display: inline-block;
    font-style: normal;
    height: 16px;
    user-select: none; 
    -webkit-user-select: none; 
    width: 16px;
    color: white;
}  
     
/* animation */
@-webkit-keyframes falling {
    0% {-webkit-transform: translate3d(0,0,0) rotate(0deg);}
    100% {-webkit-transform: translate3d(30px,1000px,0) rotate(360deg);}   
}
 
@keyframes falling {
    0% {transform: translate3d(0,0,0) rotate(0deg);}
    100% {transform: translate(30px,1000px) rotate(360deg);}   
}
     
/* Sizes */
#snow i:nth-of-type(4n) {
    height:30px;
    width:30px;
}
 
#snow i:nth-of-type(4n+1) {
    height:24px;
    width:24px;
}
 
#snow i:nth-of-type(4n+2){
    height:10px;
    width:10px;
}
 
/* Speeds */
#snow i:nth-of-type(4n) {
    -webkit-animation-duration: 16.3s;
    -moz-animation-duration: 16.3s;
}
 
#snow i:nth-of-type(4n+1){
    -webkit-animation-duration: 16.1s;
    -moz-animation-duration: 16.1s;
    }
 
#snow i:nth-of-type(4n+2) {
    -webkit-animation-duration: 12.7s;
    -moz-animation-duration: 12.7s;
}
 
/* Delays */
#snow i:nth-of-type(3n) {
    -webkit-animation-delay: 2.3s;
    animation-delay: 2.3s;
}
 
#snow i:nth-of-type(3n+1) {
    -webkit-animation-delay: 1.2s;
    animation-delay: 1.2s;
}
 
#snow i:nth-of-type(3n+2) {
    -webkit-animation-delay: 3.4s;
    animation-delay: 3.4s;
}
 
/* Timing functions */
#snow i:nth-of-type(5n) {
    -webkit-animation-timing-function:ease-in-out;
    animation-timing-function:ease-in-out;
}
 
#snow i:nth-of-type(5n+1) {
    -webkit-animation-timing-function:ease-out;
    animation-timing-function:ease-out;
}
 
#snow i:nth-of-type(5n+2) {
    -webkit-animation-timing-function:ease;
    animation-timing-function:ease;
}
 
#snow i:nth-of-type(5n+3) {
    -webkit-animation-timing-function:ease-in;
    animation-timing-function:ease-in;
}
 
#snow i:nth-of-type(5n+4) {
    -webkit-animation-timing-function:linear;
    animation-timing-function:linear;
}
 
#snow i:nth-of-type(11n)  {
    -webkit-animation-timing-function:cubic-bezier(0.2, 0.3, 0.8, 0.9);
    animation-timing-function:cubic-bezier(0.2, 0.3, 0.8, 0.9);
}
 
/* Opacity */
#snow i:nth-of-type(7n){
    opacity: 0.5;
}
 
#snow i:nth-of-type(7n+2) {
    opacity: 0.3;
}
 
#snow i:nth-of-type(7n+4) {
    opacity: 0.7;
}
 
#snow i:nth-of-type(7n+6){
    opacity: 0.6;
    -webkit-animation-timing-function:ease-in;
    animation-timing-function:ease-in;
}
 
#snow i:nth-of-type(7n+1){
    opacity: 0.8;
}

/* Cloud-Upload - Title */
.file > td.title {
    text-align: left !important;
}

/* Cloud-Upload - Size */
.file > td.size {
    text-align: right !important;
}

/* Mobile Menï¿½ - Color*/
.slide-top-menu .offcanvas-menu {
    background-color: #8edb5a;
}
.offcanvas-menu .offcanvas-inner .search input {
    background: #ffffff;
    color: #000;
}

/* Kontakt Boxen Hï¿½he anpassen*/
.sppb-addon-feature.homepage-feature {
    padding: 40px 45px 40px;
}

/* Blumensymbol im Menï¿½ */
.sp-megamenu-parent > li > a::before {
    background: #fff0;
    background: none;
    content: '\f18c'; /*\f015*/
    position: relative;
    left: -4px;
    font-family: 'Font Awesome 5 Brands';
}
#sp-header.menu-fixed .sp-megamenu-parent > li > a::before {
    background: #fff0;
    background: none;
}

/*--------------------------------------------------------*/

/* Menï¿½ ï¿½ber gesammte Breite*/
.layout-boxed #sp-header {
    max-width: none !important;
}

/* Logo Transition - groï¿½ */
img.sp-default-logo {
    transition: height .5s;
    height: 90px;
}

/* Logo Transition - klein */
.menu-fixed .sp-default-logo {
    height: 61px;
}

/* Hintergrundbild fï¿½r Big-Breadcrumb, Schatten oben und unten */
.sp-page-title{
 padding: 30px 0 30px;
background-image: url(/images/KGV/Backgrounds/BackgroundBreadcrumb.png) !important;
box-shadow: 0 3px 3px rgba(0,0,0,0.25), 0 -3px 3px rgba(0,0,0,0.25);
}

/* Menï¿½leiste-Schatten und Transition */
#sp-header {
    background: #8edb5a none repeat scroll 0 0;
    box-shadow: 0 3px 3px rgba(0,0,0,0.25), 0 -3px 3px rgba(0,0,0,0.25);
   -webkit-transition: 1s;
   -o-transition: 1s;
   transition: 1s;
}

#sp-left .sp-module, #sp-right .sp-module {
    background: none;
}

.ic-info {
    background: none;
}

/**/
.ic-info-box {
    background: #f7f7f7;
}

/**/
.ic-participants {
    background: none;
}

/**/
.ic-participants .panel {
    border: none !important;
    background-color: #f5f5f5;
}

/* Abgerundete Ecken in den Sitemap-Containern -Main*/
#jmap_sitemap div.jmapcolumn>ul>li>span.folder {
    border-radius: 5px;
}

/* Abgerundete Ecken in den Sitemap-Containern -Parent */
#jmap_sitemap div.jmapcolumn ul li a {
    border-radius: 5px;
}

/* Footer-Schatten */
#sp-footer {
    box-shadow: 0 -3px 3px rgba(0,0,0,0.25);
}

/* Bugfix - gedimmte Vorschau in der Galerie entferen */
.speasyimagegallery-album > div > a:after {
    opacity: 0;
}

/* Cookie-Hinweis formatieren */
.jtci {
    position: fixed;
    right: 20px;
    left: inherit;
    width: 50%;
}

/* weiï¿½e Schrift im Menï¿½-Header 1 */
#sp-header.menu-fixed-out .sp-megamenu-parent > li > a {
    color: #fff;
}

/* Menï¿½-Sichtbarkein wenn ausgeblendet */
#sp-header.menu-fixed {
    opacity: .8;
}

/* Menï¿½-Sichtbarkein wenn ausgeblendet bei hover wieder herstellen*/
#sp-header.menu-fixed:hover {
    opacity: 1;
}

/* offcanvas-Menï¿½ Farbe: schwarz */
#offcanvas-toggler >i {
    color: #FFFFFF;
}

/* offcanvas-Menï¿½ Position oben rechts */
#offcanvas-toggler {
    position: absolute; 
    top: 0px;
    right: 20px;
}

/* Home Animated Numbers letzten Trenner entfernen */
   .sppb-addon-animated-number::before {
   right: -51px;   
}

/* Dropfiles search button color */
#mod_btnsearch {
    background-color: #8edb5a;
}

/* Dropfiles filter button color - small*/
.btnsearchbelow {
    background: #8edb5a none;
}

/* Dropfiles filter button color */
.btnsearchbelow {
    background: #8edb5a none;
}

/* Dropfiles filter button color - with filter*/
.only-file.input-group.clearfix #btnsearch {
    background: #8edb5a none;
}

/* Dropfiles ï¿½berschrift nicht bold */
.dropfiles-content-table.dropfiles-content .table th {
    font-weight: normal;
}

/* Dropfiles Textboxausrichtung in der Suche */
.creation-date input[type="text"], 
.update-date input[type="text"] {
    display: inline-block;
}

/* interne Dropfiles - Cloud breite*/
.dropfiles-container-table.with_foldertree {
    float: right;
    width: 81% !important;
    padding: 0px;
    margin: 5px;
}
.dropfiles-foldertree {
width: 18%;
}

/* Dropfiles - Textausrichtung */
.dropfiles-content-table.dropfiles-content a {
text-align: left;
font-size: 14px;
}

/* Symbolabstand im Footermenï¿½ */
#sp-bottom3 .fa, #sp-bottom4 .fa {
    padding-right: 5px;
}

/* Symbolabstand im Footermenï¿½ - fï¿½r schmale Symbole*/
#sp-bottom3 .fa.fa-lock {
    padding-right: 9px;
}
#sp-bottom3 .fa.fa-user {
    padding-right: 8px;
}

/* Schriftgrï¿½ï¿½e Kalender */
.ic-filters {
    font-size: 14px;
}
/* Kalender Button  */
.ic-filters-btn-1 {
    border: none !important;
    border-radius: 10px !important;
}
.ic-filter-submit-btn {
    background: #8edb5a;
}
.ic-filter-submit-btn:hover {
    background: #99ec61;
}
.ic-header-subtitle {
    font-size: inherit !important;
}
.ic-more-info {
    font-size: 12px;
}

.ic-descshort {
    font-size: 14px;
}
.ic-tooltip .ic-tooltip-content {
    width: fit-content;
}
#dropdownAddToCal {
    color:white;
    text-transform: uppercase;
    border: 1px none transparent;
    padding: 4px 45px;
}

.ic-icon a {
    background-color: #8edb5a;
    text-transform: uppercase;
    border: 2px solid #8edb5a;
    margin: 5px 0px 1px 0px;
}

.ic-back a span {
    font-size: 14px;
}

.ic_rounded.iccalendar .ic-table td div {
     font-size: 14px !important;
}

.icagenda_header p {
    text-align: center;
}

.ic-manager-toolbar .alert-info {
    padding: 0rem!important;
}