
/* ============================================================
   CARD BULLETIN – user.css
   Dark Theme für Joomla Cassiopeia Extended
   ============================================================ */

/* ------------------------------------------------------------
   1. CSS-VARIABLEN
   Zentrale Farbdefinitionen für das gesamte Theme.
   ------------------------------------------------------------ */
:root {
  /* Cassiopeia Template-Variablen */
  --body-bg: rgb(14, 18, 24);
  --body-color: rgb(222, 228, 235);
  --headerbg: rgb(18, 22, 28);
  --headercolor: rgb(232, 236, 241);
  --footerbg: rgb(24, 28, 34);
  --footercolor: rgb(214, 220, 227);
  --link-color: rgb(124, 169, 255);
  --link-hover-color: rgb(156, 196, 255);
  --btnbg: rgb(192, 72, 63);
  --btnbgh: rgb(219, 92, 83);
  --btncolor: rgb(255, 250, 250);
  --btncolorh: rgb(255, 250, 250);

  /* Eigene Hilfsvariablen */
  --surface-dark: #1b1f24;
  --text-dark: #e6e8eb;
  --muted-dark: #a9b0b8;
  --border-dark: #2e343b;
  --accent-gold: rgb(230, 179, 72);
  --bg-input: #161a1f;
  --bg-hover: #252b33;
}

/* ------------------------------------------------------------
   2. GRUNDLAYOUT (Body, Links, Headings)
   ------------------------------------------------------------ */
body {
  background: var(--body-bg);
  color: var(--body-color);
}

a {
  color: var(--link-color);
}

a:hover,
a:focus {
  color: var(--link-hover-color);
}

h1, h2, h3, h4, h5, h6 {
  color: var(--text-dark);
}

/* ------------------------------------------------------------
   3. HEADER & NAVIGATION
   ------------------------------------------------------------ */
   
/* Tags: dunkelgrau mit goldener Schrift */
.tags .btn-info {
  background-color: #3a3d44 !important;
  color: var(--accent-gold) !important;
  border-color: #4a4d55 !important;
}

.tags .btn-info:hover,
.tags .btn-info:focus {
  background-color: var(--accent-gold) !important;
  color: rgb(20, 22, 26) !important;
  border-color: var(--accent-gold) !important;
}

/* Container-Hintergrund */
.container-header,
.card,
.moduletable,
.blog-item,
.item-content,
.sidebar-right .card,
.sidebar-left .card {
  background: var(--surface-dark);
  color: var(--text-dark);
  border-color: var(--border-dark);
}

/* Menü-Underline: weiss → gold */
.container-header .mod-menu > li.active::after,
.container-header .mod-menu > li:hover::after {
  background: var(--accent-gold) !important;
  opacity: 1 !important;
  height: 3px !important;
}
/* Sprachumschalter: aktive Sprache golden */
.mod-languages__list .lang-active a {
  background: var(--accent-gold) !important;
  color: rgb(20, 22, 26) !important;
  padding: 0.25rem 0.55rem !important;
  display: inline-block !important;
  text-decoration: none !important;
}

/* ------------------------------------------------------------
   4. BREADCRUMBS
   ------------------------------------------------------------ */
.mod-breadcrumbs.breadcrumb,
ol.mod-breadcrumbs.breadcrumb {
  background-color: #23282f !important;
}

.mod-breadcrumbs,
.mod-breadcrumbs .breadcrumb-item,
.mod-breadcrumbs .breadcrumb-item a,
.mod-breadcrumbs .breadcrumb-item span,
.mod-breadcrumbs .divider {
  color: #c3c9d1 !important;
}

.mod-breadcrumbs .breadcrumb-item.active,
.mod-breadcrumbs .breadcrumb-item.active span {
  color: var(--text-dark) !important;
}

/* ------------------------------------------------------------
   5. CONTENT-BEREICH
   ------------------------------------------------------------ */

/* Artikelinhalt Padding */
.item-content {
  padding: 1.5rem;
}

/* Artikel-Meta (Datum, Kategorie etc.) */
.article-info.text-muted,
.article-info.text-muted dd,
.article-info.text-muted dt,
.article-info.text-muted span,
.article-info.text-muted time,
.article-info.text-muted a {
  color: #b8c0c8 !important;
}

/* Bootstrap .text-muted Dark-Mode-Fix */
.text-muted {
  color: var(--muted-dark) !important;
}

/* Tag-Ergebnisliste: Hover-Hintergrund */
.com-tags-tag__category .list-group-item:hover,
.com-tags-tag__category .list-group-item:focus {
  background-color: var(--bg-hover) !important;
  color: var(--text-dark) !important;
}

/* ------------------------------------------------------------
   6. FORMULARE & INPUTS
   ------------------------------------------------------------ */
input, textarea, select, .form-control {
  background: var(--bg-input);
  color: var(--text-dark);
  border: 1px solid var(--border-dark);
}

/* Placeholder-Farben */
.js-finder-search-query::placeholder,
.form-control::placeholder,
input[type="search"]::placeholder,
input[type="text"]::placeholder {
  color: var(--muted-dark) !important;
  opacity: 1 !important;
}

/* "Display #" Dropdown (Tag-Seiten etc.) */
select#limit.form-select {
  background-color: var(--bg-input) !important;
  color: var(--text-dark) !important;
  border-color: var(--border-dark) !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23e6e8eb' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.75rem center !important;
  background-size: 16px 12px !important;
  padding-right: 2.25rem !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
}

select#limit.form-select option {
  background-color: var(--bg-input) !important;
  color: var(--text-dark) !important;
}

/* ------------------------------------------------------------
   7. BUTTONS
   ------------------------------------------------------------ */
.btn-primary {
  background: var(--btnbg);
  color: var(--btncolor);
  border-color: var(--btnbg);
}

.btn-primary:hover,
.btn-primary:focus {
  background: var(--btnbgh);
  color: var(--btncolorh);
  border-color: var(--btnbgh);
}

.btn-secondary {
  background: var(--bg-hover);
  color: var(--text-dark);
  border-color: var(--border-dark);
}

/* Back-to-Top Button (golden) */
.back-to-top-link {
  color: var(--accent-gold) !important;
  background-color: var(--surface-dark) !important;
  border: 1px solid var(--accent-gold) !important;
}

.back-to-top-link:hover,
.back-to-top-link:focus {
  color: rgb(20, 22, 26) !important;
  background-color: var(--accent-gold) !important;
  border-color: var(--accent-gold) !important;
}

/* ------------------------------------------------------------
   8. FOOTER
   ------------------------------------------------------------ */
.footer,
.container-footer {
  background: var(--footerbg);
  color: var(--footercolor);
}

.container-footer a {
  color: var(--footercolor);
}

.container-footer a:hover,
.container-footer a:focus {
  color: var(--link-hover-color);
}

.footer .grid-child {
  gap: 1rem;
}

/* ------------------------------------------------------------
   9. MOBILE / RESPONSIVE (max-width: 992px)
   ------------------------------------------------------------ */
@media (max-width: 992px) {

  /* Hamburger-Button Position */
  .container-header .navbar-toggler {
    position: relative;
    top: -10px;
    margin: 0 !important;
  }

  /* Aufgeklapptes Menü */
  .container-header .navbar-collapse {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .container-header .navbar-collapse .mod-menu {
    margin-top: 0.75rem;
    margin-bottom: 1rem;
  }

  .container-header .navbar-collapse .mod-finder,
  .container-header .navbar-collapse .mod-search {
    margin-top: 1rem;
  }

  /* Menüpunkte Abstand */
  .container-header .navbar-collapse ul.mod-menu > li {
    margin-bottom: 1rem;
  }

  .container-header .navbar-collapse ul.mod-menu > li:last-child {
    margin-bottom: 0;
  }

  /* Footer-Menü vertikal zentriert */
  .footer ul.mod-menu.menu-horizontal {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
  }

  .footer ul.mod-menu.menu-horizontal > li {
    display: block !important;
    width: auto !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
    list-style: none !important;
  }

  .footer ul.mod-menu.menu-horizontal > li > a,
  .footer ul.mod-menu.menu-horizontal > li > span {
    display: inline-block !important;
    width: auto !important;
    margin: 0 auto !important;
    text-align: center !important;
  }

  .footer ul.mod-menu.menu-horizontal > li.divider {
    display: none !important;
  }
}