/* ==========================================================================
   MASTER RELEASE C — Navigation, Footer, Breadcrumbs, responsive integration
   ========================================================================== */

/* Navigation: full information architecture from normal desktop widths onward. */
.nav{flex-wrap:nowrap}
.nav-links{align-items:center}
.nav-links>li{position:relative;list-style:none}
.nav-group details{position:relative}
.nav-group summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;padding:6px 0;color:inherit;user-select:none}
.nav-group summary::-webkit-details-marker{display:none}
.nav-group summary::after{content:'⌄';font-size:.8em;color:var(--p-500);transform:translateY(-1px);transition:transform .18s ease}
.nav-group details[open]>summary::after{transform:rotate(180deg) translateY(1px)}
.nav-group summary.active,.nav-group details:has(a.active)>summary{color:var(--p-700)}
.nav-submenu{position:absolute;left:-14px;top:calc(100% + 10px);min-width:245px;padding:8px;background:var(--paper);border:1px solid var(--line-2);box-shadow:var(--sh-md);z-index:120}
.nav-submenu a{padding:10px 12px!important;white-space:nowrap}
.nav-submenu a::after{display:none!important}
.nav-submenu a:hover,.nav-submenu a:focus-visible,.nav-submenu a.active{background:var(--p-50);color:var(--p-700)}
.mobile-nav-cta{display:none}

@media (min-width:1180px){
  .nav-links{display:flex;gap:15px;font-size:.715rem;margin-left:auto}
  .nav-cta{display:inline-flex;margin-left:2px;padding:11px 16px;font-size:.735rem}
  .burger{display:none}
}
@media (min-width:1180px) and (max-width:1280px){
  .nav-links{gap:11px;font-size:.68rem}
  .brand-txt em{display:none}
  .nav-cta{padding-inline:13px}
}
@media (max-width:1179px){
  .nav{flex-wrap:wrap}
  .nav-links.open{display:flex;width:min(330px,calc(100vw - 32px));right:max(16px,var(--gutter));max-height:calc(100vh - 90px);overflow:auto}
  .nav-links.open>li,.nav-links.open details{width:100%}
  .nav-links.open .nav-group summary{padding:11px 14px;font-family:var(--f-mono);font-size:.75rem}
  .nav-links.open .nav-submenu{position:static;min-width:0;border:0;border-left:2px solid var(--p-100);box-shadow:none;padding:0 0 4px 9px;background:transparent}
  .nav-links.open .nav-submenu a{padding:9px 14px!important;color:var(--ink-2)}
  .nav-links.open .nav-group details:not([open]) .nav-submenu{display:none}
  .mobile-nav-cta{display:block!important;margin-top:7px;padding-top:8px;border-top:1px solid var(--line)}
  .mobile-nav-cta .btn{display:flex!important;color:var(--paper);background:var(--ink);padding:12px 14px!important}
  .mobile-nav-cta .btn:hover{color:#fff;background:var(--p-500)}
}

/* Utility breadcrumbs: deliberately subtle, for orientation rather than a new CTA. */
.site-breadcrumb{font-family:var(--f-mono);font-size:.7rem;color:var(--ink-3);padding-top:20px;padding-bottom:0}
.site-breadcrumb a{text-decoration:none;color:var(--ink-2)}
.site-breadcrumb a:hover{color:var(--p-500)}
.site-breadcrumb .sep{padding:0 7px;color:var(--line-2)}

/* Footer: competence depth without one endless horizontal link row. */
.footer-sitemap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 32px;padding:30px 0 28px;border-top:1px solid var(--line)}
.footer-col{min-width:0}
.footer-col h3{font-family:var(--f-mono);font-size:.69rem;letter-spacing:.11em;text-transform:uppercase;color:var(--p-500);margin:0 0 12px}
.footer-col ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.footer-col a{text-decoration:none;font-size:.86rem;color:var(--ink-2)}
.footer-col a:hover{color:var(--p-500)}
.footer-meta{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:20px;border-top:1px solid var(--line);font-family:var(--f-mono);font-size:.7rem;color:var(--ink-3)}
.footer-meta a{text-decoration:none}
.footer-meta a:hover{color:var(--p-500)}
@media(min-width:820px){.footer-sitemap{grid-template-columns:1.05fr .95fr 1fr 1.15fr}}
@media(max-width:519px){.footer-sitemap{grid-template-columns:1fr;gap:22px}.titleblock{font-size:.94rem}}

/* Long German words must never define a grid's min-content width. */
main *,footer *,header *{min-width:0}
h1,h2,h3,p,a,span,b,strong,li,summary{overflow-wrap:break-word}

/* Legacy homepage-specific breakpoint must not override the shared navigation. */
@media (min-width:1060px) and (max-width:1179px){body .nav-links:not(.open){display:none}body .nav-cta{display:none}body .burger{display:inline-flex}}

/* Stronger focus feedback in custom disclosure navigation. */
.nav-group summary:focus-visible{outline:2.5px solid var(--p-500);outline-offset:3px}

/* Release E: longer disclosure in normal flow, compact mobile booking action. */
.remuneration-note{padding-top:24px;padding-bottom:32px}
.remuneration-note p{max-width:80ch;font-size:.88rem;line-height:1.65;color:var(--ink-2)}
.remuneration-note p+p{margin-top:8px;font-size:.8rem;color:var(--ink-3)}
@media(max-width:819px){.sticky-in>.btn{width:100%;justify-content:center}}
@media(max-width:640px){.fp-callout .btn{white-space:normal;max-width:100%;text-align:center}}

/* Release E: longer disclosure in normal flow, compact mobile booking action. */
.remuneration-note{padding-top:24px;padding-bottom:32px}
.remuneration-note p{max-width:80ch;font-size:.88rem;line-height:1.65;color:var(--ink-2)}
.remuneration-note p+p{margin-top:8px;font-size:.8rem;color:var(--ink-3)}
@media(max-width:819px){.sticky-in>.btn{width:100%;justify-content:center}}
@media(max-width:640px){.fp-callout .btn{white-space:normal;max-width:100%;text-align:center}}
