/* cvjm-mobile-menu.css
   Fully namespaced CSS for the CVJM Ratzeburg mobile menu.
   - No global variables/selectors
   - Does NOT style any legacy classes (.menu_left_*) or global tags
   - Ship-and-forget: drop-in without affecting existing design
*/

/* --- Visibility helpers (opt-in) --- */
/* Add 'cvjm-mobile-only' on the <nav> to show it only on small screens */
.cvjm-mobile-only{ display:none; }


/* --- Component root --- */
.cvjm-mobile-nav{
  position: relative;
  font-family: inherit;
  /* nothing global here */
}

/* scoped tokens (CSS variables are scoped to the component only) */
.cvjm-mobile-nav{
  --cvjm-orange:#f5962a;
  --cvjm-red:#cc3a3a;
  --cvjm-blue:#2c7dbf;
  --cvjm-green:#3aa35b;
  --cvjm-purple:#7a59b5;
  --cvjm-yellow:#d9b500;
  --cvjm-ink:#23303a;
  --cvjm-ink-80:rgba(35,48,58,.8);
  --cvjm-bg:#ffffff;
  --cvjm-bg-soft:#f6f7f8;
  --cvjm-border: rgba(0,0,0,.08);
  --cvjm-shadow: 0 8px 24px rgba(0,0,0,.08);
}

/* --- Trigger / Burger --- */
.cvjm-mobile-nav .cvjm-burger{
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  cursor: pointer;
  user-select: none;
  border-radius: 10px;
  border: 1px solid var(--cvjm-border);
  background: var(--cvjm-bg);
  box-shadow: 0 1px 2px rgba(0,0,0,.04);
}
.cvjm-mobile-nav .cvjm-burger span,
.cvjm-mobile-nav .cvjm-burger::before,
.cvjm-mobile-nav .cvjm-burger::after{
  content: "";
  display: block;
  position: absolute;
  width: 22px;
  height: 2px;
  background: var(--cvjm-ink);
  transition: transform .25s ease, opacity .2s ease;
}
.cvjm-mobile-nav .cvjm-burger span{ transform: translateY(0); }
.cvjm-mobile-nav .cvjm-burger::before{ transform: translateY(-7px); }
.cvjm-mobile-nav .cvjm-burger::after{  transform: translateY(7px); }

/* --- Hidden checkbox to control state --- */
.cvjm-mobile-nav input[type="checkbox"]{
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* --- Panel (dropdown) --- */
.cvjm-mobile-nav .cvjm-panel{
  position: absolute;
  top: 52px;
  left: 0;
  right: 0;
  max-height: 0;
  overflow: hidden;
  background: var(--cvjm-bg);
  border: 0px solid var(--cvjm-border);
  border-radius: 12px;
  box-shadow: var(--cvjm-shadow);
  transition: max-height .35s ease;
  z-index: 1000; /* isolated */
}
.cvjm-mobile-nav .cvjm-panel-inner{
  padding: 8px;
  max-height: 750vh;
  overflow: auto;
}

/* open state */
.cvjm-mobile-nav input#cvjm-nav-open:checked ~ label[for="cvjm-nav-open"] .cvjm-burger::before{
  transform: rotate(45deg);
}
.cvjm-mobile-nav input#cvjm-nav-open:checked ~ label[for="cvjm-nav-open"] .cvjm-burger span{
  opacity: 0;
}
.cvjm-mobile-nav input#cvjm-nav-open:checked ~ label[for="cvjm-nav-open"] .cvjm-burger::after{
  transform: rotate(-45deg);
}
.cvjm-mobile-nav input#cvjm-nav-open:checked ~ .cvjm-panel{
  max-height: 750vh;
}

/* --- Groups (level 1) --- */
.cvjm-mobile-nav .cvjm-group{
  border: 1px solid var(--cvjm-border);
  border-radius: 10px;
  margin: 8px 8px 12px 8px;
  overflow: hidden;
  background: var(--cvjm-bg);
}

.cvjm-mobile-nav .cvjm-group .cvjm-group-header{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  font-weight: 700;
  color: var(--cvjm-ink);
  background: var(--cvjm-bg);
  cursor: pointer;
  user-select: none;
}

/* color bars for groups */
.cvjm-mobile-nav .cvjm-bar{ width: 6px; height: 24px; border-radius: 3px; }
.cvjm-mobile-nav .cvjm-group.cvjm-group-orange .cvjm-bar{ background: var(--cvjm-orange); }
.cvjm-mobile-nav .cvjm-group.cvjm-group-red    .cvjm-bar{ background: var(--cvjm-red); }
.cvjm-mobile-nav .cvjm-group.cvjm-group-blue   .cvjm-bar{ background: var(--cvjm-blue); }
.cvjm-mobile-nav .cvjm-group.cvjm-group-green  .cvjm-bar{ background: var(--cvjm-green); }
.cvjm-mobile-nav .cvjm-group.cvjm-group-purple .cvjm-bar{ background: var(--cvjm-purple); }
.cvjm-mobile-nav .cvjm-group.cvjm-group-yellow .cvjm-bar{ background: var(--cvjm-yellow); }

/* accordion using checkbox per group */
.cvjm-mobile-nav .cvjm-group input[type="checkbox"]{
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.cvjm-mobile-nav .cvjm-group .cvjm-items{
  max-height: 0;
  overflow: hidden;
  background: var(--cvjm-bg-soft);
  transition: max-height .3s ease;
  border-top: 1px solid var(--cvjm-border);
}

.cvjm-mobile-nav .cvjm-group input:checked ~ .cvjm-items{
  max-height: 6000px; /* big enough */
}

/* links */
.cvjm-mobile-nav .cvjm-group .cvjm-items a{
  display: block;
  padding: 10px 14px;
  text-decoration: none;
  color: var(--cvjm-ink-80);
  border-bottom: 1px dashed transparent;
}
.cvjm-mobile-nav .cvjm-group .cvjm-items a:hover,
.cvjm-mobile-nav .cvjm-group .cvjm-items a:focus{
  color: var(--cvjm-ink);
  border-bottom-color: var(--cvjm-ink-80);
  outline: none;
}


@media (max-width: 768px){
  .cvjm-mobile-only{ display:block; }

  /* 1) Alles Bekannte wirklich aus dem Layout nehmen */
  #header, .header, [id^="header_"], [class^="header_"],
  #menue_left, #menu_left, .menu_left, [id^="menu_left"], [class^="menu_left"],
  #menue_right, #menu_right, .menu_right, [id^="menu_right"], [class^="menu_right"],
  #footer, .footer, [id^="footer_"], [class^="footer_"]{
    display: none !important;
  }

  /* 2) Fallback, falls #content tiefer verschachtelt ist:
     Alles im main_frame unsichtbar machen und NUR #content (und seine Kinder) wieder sichtbar. */
  #main_frame{ visibility: hidden; }
  #main_frame #content,
  #main_frame #content *{ visibility: visible; }

  /* #content auf volle Breite bringen */
  #main_frame #content{ width: 100%; }

  /* Wenn andere unsichtbare Boxen noch Platz blocken, als Overlay erzwingen (optional):
  #main_frame #content{
    position: fixed;
    inset: 0;
    overflow: auto;
    background: #fff;
  }
  */
  .main_frame{
	  width:100%;
	  margin:0px;
	box-shadow:	0px 0px 0px 0px ;
	background:#fff;
	margin-top: -40px;
  }
  .legal{
	  width:90%;
  }
  .content{
	margin:0px 0px 0px 0px;
	width:100%;
	float:left;
	text-align:justify;
	padding:0px;
	}
	
	.slide img {
	   transform: scale(0.7);
	    margin: -20px;
		 
	  height: auto;
	}

  .cvjm-logo-mobil {
	margin:0px auto;
	position:absolute;
	right:2px; 
	top:2px; 
	width:100px; 
	height:101px;
	background-image:url(https://www.cvjm-ratzeburg.de/asset/gfx/logo-mobil.svg);
}

  
}

/* Topbar mit Burger links und Logo rechts */
.cvjm-mobile-nav .cvjm-topbar{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 4px 8px;
}

.cvjm-mobile-nav .cvjm-logo img{
  height: 40px;   /* klein skaliert */
  width: auto;
  display: block;
}

