/* --- Language Switcher (Argon-style, SVG icon) --- */
.lang-switcher {
  position: relative;
}

.lang-switcher select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  background-color: #fff;
  border: 1px solid #e9ecef;
  border-radius: 0.375rem;

  height: 32px;
  padding: 4px 34px 4px 10px;

  font-size: 0.875rem;
  line-height: 1.4;

  cursor: pointer;
}

.lang-switcher select:focus {
  outline: none;
  border-color: #5e72e4;
  box-shadow: 0 0 0 1px rgba(94, 114, 228, 0.3);
}

.lang-switcher::after {
  content: "";
  position: absolute;
  right: 10px;
  top: 50%;
  width: 16px;
  height: 16px;
  transform: translateY(-50%);
  pointer-events: none;

  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238392ab' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'>\
<circle cx='12' cy='12' r='10'/>\
<line x1='2' y1='12' x2='22' y2='12'/>\
<path d='M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z'/>\
</svg>");
}

/* Kein horizontaler Scroll (wichtig gegen “rechts raus rutschen”) */
html, body {
  overflow-x: hidden;
}

/* Sidebar Offset (Desktop) */
#sidenav-main {
  left: 1rem;
}

/* Desktop main-content Layout */
@media (min-width: 1200px) {
  .g-sidenav-show .main-content {
    margin-left: calc(17.125rem + 1rem);
    width: calc(100% - 17.125rem - 1rem);
  }
}

/* --- Mobile Off-Canvas Sidebar (NO SCROLLBAR, alles untereinander) --- */
@media (max-width: 1199.98px) {
  #iconNavbarSidenav {
    position: relative;
    z-index: 10010 !important;

    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
  }

  #iconNavbarSidenav * {
    touch-action: manipulation;
  }

  #sidenav-main {
    position: fixed !important;
    top: 1rem !important;
    bottom: 1rem !important;
    left: 1rem !important;

    width: calc(100vw - 2rem) !important;
    max-width: 18rem !important;

    transform: translateX(-120%) !important;
    transition: transform .2s ease !important;

    z-index: 10000 !important;
    will-change: transform;

    /* KEY: Layout wie du willst */
    display: flex !important;
    flex-direction: column !important;

    /* KEY: keine Scrollbar in der Sidebar */
    overflow: hidden !important;

    box-sizing: border-box;
  }

  body.dm-sidenav-open #sidenav-main {
    transform: translateX(0) !important;
  }

  /* Header, Menü, Footer: immer volle Breite -> NICHT nebeneinander */
  #sidenav-main .sidenav-header,
  #sidenav-main .navbar-brand,
  #sidenav-main #sidenav-collapse-main,
  #sidenav-main .navbar-nav {
    width: 100% !important;
    box-sizing: border-box;
  }

  /* Menü nimmt den Platz zwischen Header und Footer */
  #sidenav-main #sidenav-collapse-main {
    flex: 1 1 auto;
    overflow: hidden !important; /* kein innerer Scroll */
  }

  /* Footer klebt unten */
  #sidenav-main .sidenav-footer {
    margin-top: auto;
    flex: 0 0 auto;
  }

  /* Overlay */
  #dm-sidenav-overlay {
    display: none;
  }

  body.dm-sidenav-open #dm-sidenav-overlay {
    display: block;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
    z-index: 9990;
  }

  body.dm-sidenav-open {
    overflow: hidden; /* Seite nicht scrollen, wenn Menü offen */
  }
}

/* --- Schöner Mobile Sidebar Toggle Button --- */
@media (max-width: 1199.98px) {
  #iconNavbarSidenav {
    width: 42px;
    height: 42px;
    padding: 0 !important;

    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    border-radius: 12px;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(233, 236, 239, 1);

    margin-top: 2px;
  }

  #iconNavbarSidenav .sidenav-toggler-inner {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin: 0;
  }

  #iconNavbarSidenav .sidenav-toggler-line {
    display: block;
    width: 18px;
    height: 2px;
    border-radius: 2px;
    background: #344767;
  }
}

/* Buttons im Sidebar-Footer */
#sidenav-main .sidenav-footer .btn {
  width: 100%;
  white-space: normal;
  line-height: 1.2;
  padding-top: .6rem;
  padding-bottom: .6rem;
  min-width: 0;
}
/* Sidebar: keine eigene Scrollbar */
#sidenav-main{
  overflow: hidden !important;
}

/* Footer: fix unten im Sidebar */
#sidenav-main .dm-sidenav-footer{
  position: absolute;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
}

/* Platz für den Footer reservieren, damit Menü nicht darunter läuft */
#sidenav-main #sidenav-collapse-main{
  padding-bottom: 9.5rem; /* ggf. 8-11rem je nach Footer-Höhe */
}

/* Buttons: kein Überlaufen */
#sidenav-main .dm-sidenav-footer .btn{
  width: 100%;
  white-space: normal;
  min-width: 0;
}