/* RechtFlix – Hauptnavigation: Hover-Dropdown (Desktop) + Hamburger-Menü (Mobil) */
.nav-links{ height:100%; align-items:stretch; }
.nav-links > li{ position:relative; display:flex; align-items:center; list-style:none; }
.nav-links > li > a.navtop,
.nav-links > li > span.navtop{
  display:inline-flex; align-items:center; gap:7px;
  font-size:15px; font-weight:600; color:#1a1a2e; text-decoration:none; cursor:pointer; }
.nav-links > li:hover > .navtop{ color:#0ea5c8; }
.caret{ display:inline-block; width:0; height:0;
  border-left:4px solid transparent; border-right:4px solid transparent;
  border-top:5px solid currentColor; opacity:.75; transition:transform .15s ease; }
.nav-links > li:hover .caret{ transform:rotate(180deg); }

.nav-links > li .drop{
  position:absolute; top:100%; left:0; margin:0; padding:8px; min-width:214px; list-style:none;
  background:#fff; border:1px solid #e2eaf3; border-radius:12px; box-shadow:0 16px 40px rgba(13,45,110,.16);
  opacity:0; visibility:hidden; transform:translateY(8px);
  transition:opacity .16s ease, transform .16s ease, visibility .16s; z-index:300; }
.nav-links > li:hover .drop{ opacity:1; visibility:visible; transform:translateY(0); }
.drop li{ list-style:none; }
.drop a{ display:block; padding:9px 12px; border-radius:8px;
  font-size:14px; font-weight:500; color:#1a1a2e; text-decoration:none; white-space:nowrap; }
.drop a:hover{ background:#f4f7fb; color:#0ea5c8; font-weight:600; }
.drop .grouplabel{ padding:9px 12px 4px; font-size:11px; font-weight:700; letter-spacing:1.3px; text-transform:uppercase; color:#5a6a80; }
.drop .sep{ height:1px; background:#e2eaf3; margin:7px 10px; }

/* Termin-Button nur im Mobil-Menü */
.nav-links > li.mobile-cta{ display:none; }

/* Hamburger (nur mobil) */
.navtoggle{ position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.hamburger{ display:none; flex-direction:column; justify-content:center; gap:5px;
  width:44px; height:44px; cursor:pointer; margin-left:auto; }
.hamburger span{ display:block; width:26px; height:2px; background:#0d2d6e; border-radius:2px;
  transition:transform .2s ease, opacity .2s ease; }

@media (max-width:960px){
  nav{ position:relative; }
  nav img{ height:64px !important; }
  .btn-nav{ display:none; }
  .hamburger{ display:flex; }
  .nav-links{ display:none; }
  .navtoggle:checked ~ .hamburger span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  .navtoggle:checked ~ .hamburger span:nth-child(2){ opacity:0; }
  .navtoggle:checked ~ .hamburger span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
  .navtoggle:checked ~ .nav-links{
    display:flex; flex-direction:column; align-items:stretch; height:auto;
    position:absolute; top:100%; left:0; right:0; background:#fff;
    border-top:1px solid #e2eaf3; box-shadow:0 18px 32px rgba(13,45,110,.16);
    padding:8px 14px 18px; gap:2px; z-index:300; }
  .nav-links > li{ display:block; height:auto; }
  .nav-links > li > .navtop{ padding:12px 6px 4px; font-size:16px; color:#0d2d6e; }
  .caret{ display:none; }
  .nav-links > li .drop{
    position:static; opacity:1; visibility:visible; transform:none;
    box-shadow:none; border:none; border-radius:0; padding:0 0 6px; min-width:0; background:transparent; }
  .drop a{ padding:11px 14px; font-size:15px; }
  .drop .grouplabel{ padding:8px 14px 2px; }
  .navtoggle:checked ~ .nav-links .mobile-cta{ display:block; margin-top:10px; }
  .nav-links .mobile-cta a{ display:block; text-align:center; background:#0d2d6e; color:#fff;
    padding:13px; border-radius:8px; font-size:15px; font-weight:600; text-decoration:none; }
}
