/* =====================================================================
   VITALITAS – Custom Navigation v2
   Fixe Glas-Leiste (volle Breite) + Mega-Menü + Mobile-Vollbild
   Palette & Look 1:1 aus der Startseite. KEINE Font-Ladung – Montserrat
   kommt aus deiner globalen style.css; hier nur als Fallback-Hinweis.
   ===================================================================== */

   :root{
	/* --- Marken-Tokens (aus Startseite) --- */
	--vt:        #69A58F;
	--vt-lt:     #8FBCA9;
	--vt-dp:     #2E5A4C;
	--vt-dk:     #16261F;
	--brass:     #C3A265;
	--brass-lt:  #E0C99E;
	--cream:     #EFEAE0;
	--paper:     #F4EFE6;
	--ink:       #22241F;
	--ink-soft:  #5F6259;
	--ink-mute:  #8A8C82;

	--vit-txt:      rgba(244,239,230,.86);  /* Bar-Text hell */
	--vit-txt-h:    #fff;
	--vit-glass:    linear-gradient(to bottom, rgba(24,40,33,.62), rgba(16,28,23,.46));
	--vit-mega-bg:  #F8F5EF;   /* deckend, keine Transparenz */
	--vit-hair-l:   rgba(34,36,31,.10);      /* dunkle Haarlinie (heller Grund) */
	--vit-hair-d:   rgba(255,255,255,.14);   /* helle Haarlinie (dunkler Grund) */
	--glass-sdw:    0 24px 60px -20px rgba(46,90,76,.26), 0 2px 8px rgba(34,36,31,.05);

	--vit-sans:  "Montserrat", ui-sans-serif, system-ui, -apple-system, sans-serif;
	--vit-wrap:  1240px;
	--vit-gut:   clamp(20px, 4vw, 48px);
	--vit-navh:  74px;                        /* Bar-Höhe (für Content-Offset) */
	--vit-ease:  cubic-bezier(.22,.68,0,1);
}

/* Divi gibt seinen Header in header.php gar nicht mehr aus – kein display:none nötig.
   Nur den evtl. von Divi reservierten Fixed-Nav-Abstand neutralisieren: */
#page-container{ padding-top:0 !important; }
/* Content-Offset: nur auf Unterseiten (Startseite hat Hero unter der Bar) */
body:not(.home):not(.front-page) #et-main-area{ padding-top: var(--vit-navh); }
body.vit-nav-open{ overflow:hidden; }

.vit-wrap{ max-width:var(--vit-wrap); margin-inline:auto; padding-inline:var(--vit-gut); }
.vit-nav a, .vit-mobile a{ text-decoration:none; }

/* =====================================================================
   BAR
   ===================================================================== */
.vit-nav{
	position:fixed; top:0; left:0; right:0; z-index:2147483000; /* über allem von Divi/Plugins */
	padding-block:1.15rem;
	border-bottom:1px solid transparent;
	transition:padding .45s var(--vit-ease), background .45s, box-shadow .45s, border-color .45s;
	-webkit-font-smoothing:antialiased;
}
.vit-nav-in{ display:flex; align-items:center; gap:2rem; position:relative; z-index:3; } /* Leiste + Dropdown über dem Mega-Panel */

/* Kompakte Höhe NUR beim Scrollen – ein offenes Menü verändert die Höhe nicht (kein Springen auf der Startseite) */
.vit-nav.is-stuck{ padding-block:.6rem; }
/* Deckender Hintergrund: gescrollt ODER Menü offen */
.vit-nav.is-stuck,
.vit-nav.mega-open,
.vit-nav.drop-open{
	background:linear-gradient(to bottom, #182821, #101C17); /* deckend, nichts scheint durch */
	border-bottom-color:var(--vit-hair-d);
	box-shadow:0 1px 0 rgba(255,255,255,.14) inset, 0 12px 40px -20px rgba(6,14,11,.55);
}
/* Feiner Brass-Lichtsaum unten */
.vit-nav.is-stuck::after,
.vit-nav.mega-open::after,
.vit-nav.drop-open::after{
	content:""; position:absolute; left:0; right:0; bottom:-1px; height:1px; pointer-events:none;
	background:linear-gradient(90deg, transparent, rgba(195,162,101,.4) 22%, rgba(195,162,101,.4) 78%, transparent);
}

.vit-logo{ display:inline-flex; align-items:center; }
.vit-logo img{ height:clamp(28px,3vw,38px); width:auto; display:block; transition:height .45s var(--vit-ease); }
.vit-nav.is-stuck .vit-logo img{ height:clamp(25px,2.6vw,32px); }

/* Menü */
.vit-menu{ display:flex; align-items:center; gap:1.9rem; margin:0 auto 0 1rem; padding:0; list-style:none; }
.vit-item{ margin:0; }
.vit-has-drop{ position:relative; }
.vit-menu > .vit-item > a{
	font-family:var(--vit-sans); font-size:.92rem; font-weight:500; letter-spacing:.01em;
	color:var(--vit-txt); position:relative; padding-block:.35rem; display:inline-block;
	transition:color .3s;
}
.vit-menu > .vit-item > a::after{
	content:""; position:absolute; left:0; bottom:0; height:1px; width:0;
	background:var(--brass-lt); transition:width .4s var(--vit-ease);
}
.vit-menu > .vit-item > a:hover{ color:var(--vit-txt-h); }
.vit-menu > .vit-item > a:hover::after{ width:100%; }

/* CTA-Gruppe */
.vit-cta-group{ display:flex; align-items:center; gap:1.1rem; margin-left:.5rem; }
.vit-tel{ font-family:var(--vit-sans); font-size:.9rem; font-weight:600; color:var(--paper); white-space:nowrap; }
.vit-btn{
	font-family:var(--vit-sans); font-size:.85rem; font-weight:600; letter-spacing:.02em;
	color:var(--paper); background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.32);
	border-radius:100px; padding:.62rem 1.25rem; white-space:nowrap;
	-webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
	transition:background .3s var(--vit-ease), color .3s, border-color .3s;
}
.vit-btn:hover{ background:var(--paper); color:var(--vt-dp); border-color:var(--paper); }

/* =====================================================================
   MEGA-MENÜ (Desktop, vollbreit, helles Glas)
   ===================================================================== */
.vit-mega{
	position:absolute; left:0; right:0; top:100%;
	background:var(--vit-mega-bg);
	z-index:1;
	border-top:1px solid rgba(255,255,255,.5);
	box-shadow:var(--glass-sdw);
	opacity:0; visibility:hidden; transform:translateY(-8px);
	transition:opacity .3s var(--vit-ease), transform .3s var(--vit-ease), visibility .3s;
}
.vit-nav.mega-open .vit-mega{ opacity:1; visibility:visible; transform:translateY(0); }
.vit-mega-inner{ padding-block:2.1rem 1.8rem; }
.vit-mega-head{
	display:flex; align-items:center; justify-content:space-between;
	padding-bottom:1.2rem; margin-bottom:1.5rem; border-bottom:1px solid var(--vit-hair-l);
}
.vit-mega-title{ font-family:var(--vit-sans); font-size:1.15rem; font-weight:600; color:var(--vt-dp); letter-spacing:.01em; }

/* Switch */
.vit-switch{ display:inline-flex; padding:3px; border:1px solid var(--vit-hair-l); border-radius:100px; background:#fff; }
.vit-switch-btn{
	display:inline-flex; align-items:center; gap:.45rem; cursor:pointer; border:0; background:transparent;
	font-family:var(--vit-sans); font-size:.82rem; font-weight:600; letter-spacing:.02em; color:var(--ink-soft);
	padding:.5rem 1.05rem; border-radius:100px; transition:color .25s, background .25s;
}
.vit-switch-btn svg{ opacity:.7; transition:opacity .25s; }
.vit-switch-btn.is-active{ background:var(--vt); color:#fff; box-shadow:0 4px 12px -4px rgba(46,90,76,.5); }
.vit-switch-btn.is-active svg{ opacity:1; }
.vit-switch-btn:not(.is-active):hover{ color:var(--ink); }

/* Spalten */
.vit-mega-cols{ display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; }
.vit-mega-cols[hidden]{ display:none; }
.vit-col-title{
	display:block; font-family:var(--vit-sans); font-size:.72rem; font-weight:700;
	letter-spacing:.14em; text-transform:uppercase; color:var(--brass);
	margin-bottom:.9rem; padding-bottom:.6rem; border-bottom:1px solid var(--vit-hair-l);
}
.vit-col ul{ list-style:none; margin:0; padding:0; }
.vit-col li a{
	display:block; font-family:var(--vit-sans); font-size:.94rem; font-weight:400; color:var(--ink-soft);
	padding:.42rem 0; transition:color .2s, transform .2s;
}
.vit-col li a:hover{ color:var(--vt-dp); transform:translateX(3px); }

.vit-mega-foot{ display:flex; align-items:center; gap:1.2rem; margin-top:1.6rem; padding-top:1.1rem; border-top:1px solid var(--vit-hair-l); }
.vit-mega-foot-t{ font-family:var(--vit-sans); font-size:.9rem; color:var(--ink-soft); }
.vit-mega-all{ font-family:var(--vit-sans); font-size:.8rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--vt); transition:color .25s; }
.vit-mega-all:hover{ color:var(--vt-dp); }

/* Über-uns Dropdown */
.vit-drop{
	position:absolute; top:calc(100% + .4rem); left:50%; transform:translateX(-50%) translateY(-6px);
	min-width:250px; list-style:none; margin:0; padding:.6rem 0;
	background:var(--vit-mega-bg); z-index:10;
	border:1px solid rgba(255,255,255,.5); border-radius:14px; box-shadow:var(--glass-sdw);
	opacity:0; visibility:hidden; transition:opacity .25s var(--vit-ease), transform .25s var(--vit-ease), visibility .25s;
}
/* Unsichtbare Brücke über den Spalt zwischen „Über uns“ und der Box – sonst flackert sie beim langsamen Runterfahren */
.vit-drop::before{ content:""; position:absolute; left:0; right:0; top:-1rem; height:1rem; }
.vit-has-drop.is-open > .vit-drop,
.vit-has-drop:focus-within > .vit-drop{ opacity:1; visibility:visible; transform:translateX(-50%) translateY(0); }
.vit-drop li a{ display:block; font-family:var(--vit-sans); font-size:.92rem; color:var(--ink-soft); padding:.6rem 1.4rem; transition:color .2s, background .2s; }
.vit-drop li a:hover{ color:var(--vt-dp); background:rgba(105,165,143,.10); }

/* =====================================================================
   MOBILE – Drill-down (jede Ebene ein eigener Screen, wie LVATE)
   ===================================================================== */
.vit-burger{ display:none; }
.vit-mobile{ display:none; }

@media (max-width:900px){
	.vit-menu, .vit-cta-group, .vit-mega{ display:none !important; }

	.vit-burger{
		display:inline-flex; flex-direction:column; justify-content:center; gap:5px;
		width:44px; height:44px; margin-left:auto; padding:0 10px;
		background:transparent; border:0; cursor:pointer;
	}
	.vit-burger span{ display:block; width:24px; height:1.5px; background:var(--paper); border-radius:2px; }
	body.vit-nav-open .vit-burger{ opacity:0; pointer-events:none; }

	/* ---- Panel ---- */
	.vit-mobile{
		--m-bg:#F4EFE6; --m-line:rgba(34,36,31,.09); --m-ink:#22241F; --m-soft:#5F6259; --m-brass:#8C6D35;
		display:flex; flex-direction:column; position:fixed; inset:0; z-index:2147483647;
		background:var(--m-bg); color:var(--m-ink); font-family:var(--vit-sans);
		transform:translateX(100%); visibility:hidden;
		transition:transform .42s var(--vit-ease), visibility 0s linear .42s;
	}
	.vit-mobile.is-open{ transform:none; visibility:visible; transition:transform .42s var(--vit-ease), visibility 0s; }
	.vit-mobile, .vit-mobile *{ box-sizing:border-box; }
	.vit-mobile button{ font-family:inherit; }

	.vit-m-head{
		flex:0 0 auto; display:flex; align-items:center; justify-content:space-between;
		padding:calc(12px + env(safe-area-inset-top,0px)) 14px 6px 22px;
	}
	.vit-m-logo img{ height:28px; width:auto; display:block; filter:brightness(0); opacity:.82; }
	.vit-mobile-close{ width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center; background:transparent; border:0; color:var(--m-ink); cursor:pointer; }

	/* ---- Suche ---- */
	.vit-m-search{ flex:0 0 auto; position:relative; margin:8px 22px 4px; }
	.vit-m-search-ico{ position:absolute; left:15px; top:50%; transform:translateY(-50%); color:var(--m-soft); pointer-events:none; }
	.vit-m-q{
		width:100%; height:48px; padding:0 44px 0 44px; border-radius:12px;
		background:#fff; border:1px solid var(--m-line); color:var(--m-ink);
		font-family:inherit; font-size:16px; /* 16px = kein iOS-Zoom */ outline:none;
		-webkit-appearance:none; appearance:none; transition:border-color .2s, box-shadow .2s;
	}
	.vit-m-q::placeholder{ color:#9a9b93; }
	.vit-m-q::-webkit-search-cancel-button{ -webkit-appearance:none; }
	.vit-m-q:focus{ border-color:var(--vt); box-shadow:0 0 0 3px rgba(105,165,143,.18); }
	.vit-m-clear{ position:absolute; right:6px; top:50%; transform:translateY(-50%); width:36px; height:36px; display:inline-flex; align-items:center; justify-content:center; background:transparent; border:0; color:var(--m-soft); cursor:pointer; }
	.vit-m-clear[hidden]{ display:none; }

	/* ---- Screens ---- */
	.vit-m-viewport{ position:relative; flex:1 1 auto; overflow:hidden; }
	.vit-m-screen{
		position:absolute; inset:0; overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain;
		padding:22px 22px 32px; background:var(--m-bg);
		transform:translateX(100%); visibility:hidden;
		transition:transform .38s var(--vit-ease), visibility 0s linear .38s;
	}
	.vit-m-screen.is-current{ transform:none; visibility:visible; transition:transform .38s var(--vit-ease), visibility 0s; z-index:1; }
	.vit-m-screen.is-prev{ transform:translateX(-28%); }

	.vit-m-back{ display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; margin:-8px 0 4px -10px; background:transparent; border:0; color:var(--m-ink); cursor:pointer; }
	.vit-m-crumb{ display:block; font-size:.74rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--m-brass); margin-bottom:2px; }
	.vit-m-title{ font-size:1.5rem; font-weight:700; letter-spacing:-.01em; color:var(--m-ink); margin:0 0 16px; outline:none; }

	/* Ebene 1 – große Einträge */
	.vit-m-main{ display:flex; flex-direction:column; margin-top:6px; }
	.vit-m-big{
		display:flex; align-items:center; justify-content:space-between; width:100%;
		padding:15px 0; background:transparent; border:0; border-bottom:1px solid var(--m-line);
		font-size:1.45rem; font-weight:300; letter-spacing:0; /* dünn; ohne geladenen 300er-Schnitt nimmt der Browser automatisch 400 */ color:var(--m-ink); text-align:left; cursor:pointer;
	}
	.vit-m-big .vit-m-chev{ width:20px; height:20px; color:var(--m-soft); }

	.vit-m-label{ display:block; margin:30px 0 12px; font-size:.7rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--m-brass); }
	.vit-m-chips{ display:flex; flex-wrap:wrap; gap:8px; }
	.vit-m-chips a{ padding:9px 15px; border-radius:100px; background:#fff; border:1px solid var(--m-line); font-size:.88rem; font-weight:500; color:var(--vt-dp); }
	.vit-m-chips a:active{ background:rgba(105,165,143,.12); }

	/* Listen (Ebene 2 + 3) */
	.vit-m-list{ display:flex; flex-direction:column; }
	.vit-m-set{ display:flex; flex-direction:column; }
	.vit-m-set[hidden]{ display:none; }
	.vit-m-row{
		display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%;
		padding:14px 0; background:transparent; border:0; border-bottom:1px solid var(--m-line);
		font-size:1.02rem; font-weight:500; color:var(--m-ink); text-align:left; cursor:pointer;
	}
	.vit-m-row .vit-m-chev{ flex:0 0 auto; color:var(--m-soft); }
	.vit-m-row:active{ color:var(--vt-dp); }
	.vit-m-row--all{ color:var(--vt-dp); font-weight:600; border-bottom:0; }
	.vit-m-row--all .vit-m-chev{ color:var(--vt-dp); }

	/* Switch Frau/Mann – volle Breite, daumenfreundlich */
	.vit-switch--mobile{ display:flex; width:100%; margin:0 0 10px; background:#fff; border-color:var(--m-line); }
	.vit-switch--mobile .vit-switch-btn{ flex:1; justify-content:center; padding:.7rem 1rem; font-size:.88rem; }

	/* Beratungs-Karte */
	.vit-m-help{
		display:flex; flex-direction:column; gap:6px; margin-top:26px; padding:20px;
		border-radius:16px; color:var(--paper);
		background:linear-gradient(135deg, var(--vt-dp) 0%, #1d3d33 100%);
	}
	.vit-m-help-t{ font-size:1rem; font-weight:600; }
	.vit-m-help-p{ font-size:.86rem; line-height:1.5; opacity:.78; }
	.vit-m-help-a{ margin-top:6px; font-size:.88rem; font-weight:700; color:var(--brass-lt); }

	/* Suchergebnisse */
	.vit-m-results{ position:absolute; inset:0; z-index:5; display:none; overflow-y:auto; padding:14px 22px 32px; background:var(--m-bg); }
	.vit-mobile.is-searching .vit-m-results{ display:block; }
	.vit-m-tag{ margin-left:8px; padding:2px 8px; border-radius:100px; font-size:.68rem; font-style:normal; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--vt-dp); background:rgba(105,165,143,.14); vertical-align:middle; }
	.vit-m-empty{ padding:18px 0; color:var(--m-soft); font-size:.95rem; line-height:1.5; }
	.vit-m-empty a{ display:inline-block; margin-top:8px; font-weight:700; color:var(--vt-dp); }

	/* Sticky Conversion-Leiste */
	.vit-m-foot{
		flex:0 0 auto; display:grid; grid-template-columns:1fr 1.7fr; gap:10px;
		padding:12px 22px calc(12px + env(safe-area-inset-bottom,0px));
		border-top:1px solid var(--m-line); background:var(--m-bg);
	}
	.vit-m-call, .vit-m-book{ display:inline-flex; align-items:center; justify-content:center; gap:8px; height:50px; border-radius:100px; font-size:.95rem; font-weight:600; }
	.vit-m-call{ border:1px solid rgba(46,90,76,.35); color:var(--vt-dp); background:transparent; }
	.vit-m-book{ background:var(--vt-dp); color:#fff; box-shadow:0 10px 24px -12px rgba(46,90,76,.7); }
	.vit-m-book:active{ background:#244a3e; }

	@media (prefers-reduced-motion:reduce){
		.vit-mobile, .vit-m-screen{ transition:none !important; }
	}
}

/* Tablet-Feinschliff */
@media (min-width:901px) and (max-width:1140px){
	.vit-menu{ gap:1.4rem; }
	.vit-tel{ display:none; }
}