/* LNT Ticketsystem – Anpassungen an lipecky-notstrom.de
   Datei: media/templates/site/cassiopeia_extended/css/user.css
   Farben aus lipecky-notstrom.de: Blau #004F9E, Dunkelblau #013466,
   Hellblau #F2F6FB, Text #1B1B1B, Grau #5E626C, Linie #E8E8E8 */

html:root {
  --lnt-blau: #004f9e;
  --lnt-dunkel: #013466;
  --lnt-hell: #f2f6fb;
  --lnt-grau: #5e626c;
  --lnt-linie: #e8e8e8;

  /* Variablen des Templates (überschreiben die Farbeinstellungen im Template-Stil) */
  --body-bg: var(--lnt-hell);
  --body-color: #1b1b1b;
  --btnbg: var(--lnt-blau);
  --btnbgh: var(--lnt-dunkel);
  --btncolor: #fff;
  --btncolorh: #fff;
  --headerbg: #fff;
  --headercolor: var(--lnt-dunkel);
  --footerbg: var(--lnt-dunkel);
  --footercolor: #fff;
  --link-color: var(--lnt-blau);
  --link-hover-color: var(--lnt-dunkel);
  --cassiopeia-color-primary: var(--lnt-blau);
  --cassiopeia-color-link: var(--lnt-blau);
  --cassiopeia-color-hover: var(--lnt-dunkel);
}

body.site {
  background: var(--lnt-hell);
  color: #1b1b1b;
}

/* ---------- Kopfzeile: weiß, Logo links, Menü rechts ---------- */
.container-header {
  background: #fff !important;
  background-image: none !important;
  border-bottom: 4px solid var(--lnt-blau);
  box-shadow: 0 2px 10px rgba(1, 52, 102, .08);
}
.container-header .navbar-brand img,
.container-header .brand-logo img {
  max-height: 64px;
  width: auto;
}
@media (min-width: 992px) {
  .container-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    padding: .5rem max(1rem, calc((100% - 1320px) / 2));
  }
  .container-header > .grid-child {
    width: auto;
    max-width: none;
    margin: 0;
    padding: .25rem 0;
  }
}
.container-header .mod-menu > li > a,
.container-header .metismenu > li > a,
.container-header .mod-menu > li > button {
  color: var(--lnt-dunkel) !important;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .04em;
  font-size: .9rem;
  padding: .5rem .9rem;
  border-radius: 3px;
  text-decoration: none;
}
.container-header .mod-menu > li > a:hover,
.container-header .mod-menu > li > a:focus {
  background: var(--lnt-hell);
  color: var(--lnt-blau) !important;
}
.container-header .mod-menu > li.active > a,
.container-header .mod-menu > li.current > a {
  color: var(--lnt-blau) !important;
  box-shadow: inset 0 -3px 0 var(--lnt-blau);
  background: none;
  text-decoration: none;
}
.container-header .navbar-toggler {
  color: #fff;
  background: var(--lnt-blau);
  border-color: var(--lnt-blau);
}

/* Banner-Bereich (falls das Logo-Modul dort bleibt): weniger Leerraum */
.container-banner {
  padding: 1rem 0 0;
  margin: 0;
}
.container-banner img {
  max-height: 80px;
  width: auto;
}

/* ---------- Inhalt ---------- */
.site-grid {
  padding-top: 1.5rem;
}
main h1,
.rst-heading,
.page-header h1 {
  color: var(--lnt-blau);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .03em;
  font-size: 1.6rem;
  margin-bottom: 1.25rem;
}
main h2,
.rst-section-title {
  color: var(--lnt-blau);
  font-weight: 700;
}
a {
  color: var(--lnt-blau);
}
a:hover,
a:focus {
  color: var(--lnt-dunkel);
}

/* Buttons wie auf lipecky-notstrom.de */
.btn-primary {
  background-color: var(--lnt-blau) !important;
  border-color: var(--lnt-blau) !important;
  color: #fff !important;
  border-radius: 3px;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  background-color: var(--lnt-dunkel) !important;
  border-color: var(--lnt-dunkel) !important;
}
.btn-secondary {
  background-color: #fff !important;
  border: 1px solid var(--lnt-blau) !important;
  color: var(--lnt-blau) !important;
  border-radius: 3px;
}
.btn-secondary:hover,
.btn-secondary:focus {
  background-color: var(--lnt-blau) !important;
  color: #fff !important;
}

/* Karten, Formulare, Tabellen */
.card {
  border: 1px solid var(--lnt-linie);
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(1, 52, 102, .06);
}
.form-control:focus,
.form-select:focus {
  border-color: var(--lnt-blau);
  box-shadow: 0 0 0 .2rem rgba(0, 79, 158, .15);
}
.table thead th,
.table > thead > tr > th {
  background: var(--lnt-dunkel);
  color: #fff;
  border-color: var(--lnt-dunkel);
}
.table thead th a {
  color: #fff;
}

/* ---------- RSTickets-Dashboard ---------- */
.rst-dashboard-search {
  max-width: 640px;
  margin: 0 auto 2rem;
}
.rst-dashboard-search .btn-group {
  display: flex;
  width: 100%;
}
.rst-dashboard-search .awesomplete {
  flex: 1 1 auto;
}
.rst-dashboard-search input.form-control {
  width: 100%;
  min-width: 0;
  max-width: none;
  border-color: var(--lnt-linie);
}
.rst-dashboard-item {
  height: 100%;
  border-top: 4px solid var(--lnt-blau);
  transition: box-shadow .2s, transform .2s;
}
.rst-dashboard-item:hover {
  box-shadow: 0 6px 18px rgba(1, 52, 102, .15);
  transform: translateY(-2px);
}
.rst-dashboard-items > [class*="col-"] {
  margin-bottom: 1.5rem;
}
.rst-dashboard-item h2 {
  font-size: 1.25rem;
  margin: .5rem 0 .75rem;
}
.rst-dashboard-item h2 i {
  display: block;
  color: var(--lnt-blau);
  font-size: 2.25rem;
  margin-bottom: .5rem;
}
.rst-dashboard-item a.rst-title {
  color: var(--lnt-dunkel);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.rst-dashboard-item a.rst-title:hover {
  color: var(--lnt-blau);
}
.rst-dashboard-item .rst-caption {
  color: var(--lnt-grau);
  min-height: 3em;
}
.rst-dashboard-tickets {
  background: #fff;
  border: 1px solid var(--lnt-linie);
  border-radius: 4px;
  padding: 1.5rem 1rem;
  margin: 0 0 2rem;
}

/* ---------- Fußzeile ---------- */
.container-footer,
footer.footer {
  background: var(--lnt-dunkel) !important;
  background-image: none !important;
  color: #fff;
  border-top: 4px solid var(--lnt-blau);
  margin-top: 2rem;
}
.container-footer a,
footer.footer a {
  color: #fff;
  text-decoration: underline;
}
.container-footer a:hover,
footer.footer a:hover {
  color: #cfe0f3;
}
.rst-section-title {
  text-transform: uppercase;
  letter-spacing: .03em;
  font-size: 1.4rem;
}
.rst-dashboard-items {
  margin-bottom: 0;
}
.rst-dashboard-tickets {
  margin-top: .5rem;
}
main .alert-info,
.rst-dashboard-tickets .alert {
  background: var(--lnt-hell);
  border: 0;
  border-left: 4px solid var(--lnt-blau);
  border-radius: 3px;
  color: var(--lnt-dunkel);
}
/* Suchleiste im Dashboard ausblenden (Suche weiter über Kachel „Tickets suchen“) */
.rst-dashboard-search {
  display: none !important;
}