/* ViaVita – gemeinsame, gekapselte Navigation auf Praxis UND Journal.
   Abhängig nur von /assets/js/nav.js, kein Framework erforderlich. */
#vv-nav-root { position: relative; z-index: 1000; }
.vv-nav, .vv-nav * { box-sizing: border-box; }
.vv-nav {
  position: fixed; z-index: 1000; inset: 0 auto auto 50%; transform: translateX(-50%);
  top: .85rem; width: min(calc(100vw - 2rem), 1180px); min-height: 4.5rem;
  display: flex; align-items: center; gap: 1rem;
  padding: .5rem .65rem .5rem .85rem; border: 1px solid rgba(255,255,255,.72);
  border-radius: 999px; background: rgba(255,254,251,.96);
  -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
  box-shadow: 0 10px 42px rgba(11,55,52,.15);
  font-family: Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color: #142220; line-height: 1.4;
}
.vv-nav__brand { display: inline-flex; align-items: center; gap: .55rem; flex: 0 0 auto; text-decoration: none; color: #142220; }
.vv-nav__brand img { display:block; width: 42px; height: 42px; max-width: none; object-fit: contain; }
.vv-nav__brandtext { display: grid; gap: .1rem; line-height: 1.1; }
.vv-nav__brandtext strong { font-size: 1rem; font-weight: 800; letter-spacing: -.025em; }
.vv-nav__brandtext small { font-size: .57rem; color: #5c6b68; letter-spacing: .02em; white-space: nowrap; }
.vv-nav__links { display:flex; align-items:center; gap: .1rem; margin-left: auto; }
.vv-nav__links a {
  text-decoration: none; white-space: nowrap; color: #4c605b; font-size: .76rem;
  font-weight: 700; padding: .68rem .77rem; border-radius: 999px;
  transition: background .2s, color .2s;
}
.vv-nav__links a:hover, .vv-nav__links a:focus-visible { color: #0b3734; background: #f1f8f7; }
.vv-nav__links a.vv-nav__active:not(.vv-nav__cta) { background: #1d837a; color: white; }
.vv-nav__links a.vv-nav__cta { margin-left: .2rem; background: #0b3734; color: #fff; }
.vv-nav__links a.vv-nav__cta:hover, .vv-nav__links a.vv-nav__cta:focus-visible { background: #12635d; color: #fff; }
.vv-nav__toggle { display:none; align-items:center; justify-content:center; flex-direction:column; gap:5px;
  flex: 0 0 44px; width:44px; height:44px; margin-left:auto; border:0; border-radius:50%; background:transparent; cursor:pointer; }
.vv-nav__toggle span { width:22px; height:2px; background:#142220; display:block; transition: transform .2s, opacity .2s; }
.vv-nav__toggle[aria-expanded=true] span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.vv-nav__toggle[aria-expanded=true] span:nth-child(2) { opacity:0; }
.vv-nav__toggle[aria-expanded=true] span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
.vv-nav :focus-visible { outline: 3px solid #dd9821; outline-offset: 2px; }
/* Journal hatte vorher eine mehrzeilige Kopfzeile. Dieser Abstand wird durch
   die zentrale, schwebende Navigation ersetzt. */
body.vv-journal-page { padding-top: 6.4rem; }
body.vv-nav-open { overflow:hidden; }
@media (max-width: 980px) {
  .vv-nav { top: .55rem; width: calc(100% - 1rem); min-height: 4rem; border-radius: 1.25rem; }
  .vv-nav__toggle { display:flex; }
  .vv-nav__links { position:absolute; top:calc(100% + .4rem); left:0; right:0;
    max-height:calc(100dvh - 6rem); overflow-y:auto; margin:0; padding:.65rem;
    border:1px solid rgba(20,34,32,.1); border-radius:1.25rem;
    background:#fffefb; box-shadow:0 20px 50px rgba(11,55,52,.18);
    display:none; flex-direction:column; align-items:stretch; gap:.15rem; }
  .vv-nav__links.vv-nav__links--open { display:flex; }
  .vv-nav__links a { display:block; padding:.85rem 1rem; font-size:.92rem; }
  .vv-nav__links a.vv-nav__cta { margin:.25rem 0 0; text-align:center; }
  body.vv-journal-page { padding-top:5.4rem; }
}
@media (max-width: 440px) {
  .vv-nav__brandtext small { display:none; }
}
@media print { #vv-nav-root { display:none!important; } body.vv-journal-page { padding-top:0; } }
