/* ========================================================================== 1. STANDARD-STILE (Für PC / Desktop-Ansicht - Vertikal) ========================================================================== */

.menu-container {
display: flex;
flex-direction: column; 
width: 160px;
background-color: #F7F6F2;
margin: 2px 0px 0px 7px;
padding: 0px 0px 0px 5px;
gap: 7px;
border: 0px solid red;
}


.menu-item-wrapper {
  display: block;
  width: 87%;
}


.menu-link {
  padding: 5px 0 5px 7px;
  text-decoration: none;
  color: #ffffff;
  background-color: #007bff;
  border-radius: 3px;
  transition: all 0.2s ease;
  display: flex;
  width: 100%;
  height: 30px;
  font-size: 15px;
}

.menu-link:hover {
  background-color: darkred;
  color: #ffffff;
}

.menu-link.menu-item-active {
  background-color: #63b8ff;
  color: #ffffff;
  font-weight: bold;
  font-size: 1.8vh;
}


/* --------------------------------------------------------------------------------------------------------------------------------- */





/* ==========================================================================
   2. NUR FÜR SMARTPHONES IM QUERFORMAT (Absolute Layout-Isolierung)
   ========================================================================== */
@media screen and (max-width: 956px) and (orientation: landscape) and (pointer: coarse) {

  
  body, .wrapper, .container, main {
    display: block !important;
    position: relative !important;
    width: 100vw !important;
    margin: 0 !important;
    padding: 0 !important;
  }


  /* 1. HEADER: Höhe angepasst und Padding oben/unten beschnitten (15px weniger) */
  header, .header, #header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 82px !important;       /* Kompakt durch die 15px-Kürzung oben und unten */
    padding-top: 0 !important;     /* Schneidet den oberen Abstand ab */
    padding-bottom: 0 !important;  /* Schneidet den unteren Abstand ab */
    margin: 0 !important;
    z-index: 999 !important;
    display: flex !important;
    align-items: center !important;
  }

  


  /* 2. MENÜ: Dynamische Höhe (dvh) und Puffer unten gegen Abschneiden */
  .menu-container 
{
    position: fixed !important;
    top: 70px !important;          
    left: 0 !important;
    width: 140px !important;       
    /* 100dvh zieht mobile Browser-Leisten automatisch ab */
    height: calc(100dvh - 82px) !important; 
    flex-direction: column !important; 
    /* 40px Padding unten sorgt dafür, dass der 9. Button hochscrollen kann */
    padding: 10px 10px 40px 6px !important;  
    gap: 6px !important; 
    box-sizing: border-box !important;
    z-index: 998 !important;
    display: flex !important;
    
    /* Erzwingt das Scrollen und überschreibt blockierende PC-Befehle */
    overflow-y: scroll !important;   
    overflow-x: hidden !important;
  }

  .menu-item-wrapper {
    width: 100% !important; 
    display: block !important;
  }

  /* Links wieder linksbündig */
  .menu-link {
    height: auto !important; 
    padding: 6px 8px !important;   
    font-size: 12px !important;    
    line-height: 1.2 !important;
    display: flex !important;
    justify-content: flex-start !important; 
    align-items: center !important;         
    text-align: left !important;            
  }

  .menu-link.menu-item-active {
    font-weight: bold !important;
    font-size: 12px !important; 
  }

  /* 3. HAUPTSEITE: Nutzt ebenfalls die dynamische Höhe */
  .spalte-mittig {
    position: absolute !important;
    top: 82px !important;          
    left: 140px !important;        
    width: calc(100vw - 140px) !important; 
    height: calc(100dvh - 82px) !important; 
    margin: 0 !important;
    padding: 20px !important;
    box-sizing: border-box !important;
    
    overflow-y: auto !important; 
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 1 !important;
  }

  /* Schützt den Button im Querformat vor Überlagerungen */
  .scroll-to-top {
    z-index: 9999 !important; 
  }
}





/* --------------------------------------------------------------------------------------------------------------------------------- */


#gbox
{
	justify-content: center; /* Horizontal */
	align-items: center;     /* Vertikal */

	text-align: center;
	border: 1px solid #E6E4DE;
	border-radius: 5px;
	margin-top:29px;
}


#gbox a img
{
	height: 180px; margin-left: 0px;
}

#gbox a
{
	height: 150px; width: 150px; display: inline-block; text-align: center;
	overflow: hidden; margin: 5px; padding: 0px; border: 2px solid #E6E4DE;
}

#gbox a:hover
{
	opacity: 0.8;
}
