/* ============ Nessenius Relaunch – globale UX-Fixes ============ */
/* Font sicher anwenden */
body{font-family:'General Sans',system-ui,-apple-system,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
h1,h2,h3,h4,.nt-h1,[class*="-hero"] h1{font-family:'Satoshi','General Sans',system-ui,sans-serif;}

/* --- Sticky-Header: Hide-on-scroll-down / Reveal-on-scroll-up --- */
.nt-header-wrap{transition:transform .38s cubic-bezier(.2,.8,.2,1), padding .3s ease, box-shadow .35s ease, background .35s ease !important;will-change:transform;}
.nt-header-wrap.nt-hide{transform:translateY(-100%) !important;}

/* --- Interne Sub-Navi auf Unterseiten deaktivieren (vermeidet doppelte Sticky-Leiste) --- */
.nt-pagenav, .nt-pagenav-sentinel{display:none !important;}

/* --- Leistungs-Slider: Hover-Schatten weicher, kein harter Rand, Platz für Schatten --- */
.nt-leist .nt-leist-grid{padding-top:.85rem !important;padding-bottom:1.9rem !important;}
.nt-leist .nt-leist-card{border:1px solid transparent !important;box-shadow:0 1px 2px rgba(27,79,79,.04);}
.nt-leist .nt-leist-card:hover{transform:translateY(-4px) !important;box-shadow:0 16px 36px rgba(27,79,79,.12) !important;border-color:transparent !important;}


/* --- Sprach-Umschalter (im Header integriert) --- */
.nt-langswitch{display:inline-flex;align-items:center;gap:2px;background:rgba(27,79,79,.06);border:1px solid rgba(27,79,79,.14);border-radius:100px;padding:3px;font-family:'Satoshi','General Sans',sans-serif;flex-shrink:0;}
.nt-langswitch a{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:26px;padding:0 .45rem;border-radius:100px;font-size:.74rem;font-weight:600;letter-spacing:.03em;text-decoration:none;color:#1b4f4f;transition:background .2s,color .2s;}
.nt-langswitch a.active{background:#4D9C9C;color:#fff;}
.nt-langswitch a:not(.active):hover{background:rgba(77,156,156,.16);}
@media(max-width:900px){.nt-langswitch{order:-1;}}
@media(max-width:400px){.nt-langswitch a{min-width:26px;padding:0 .3rem;font-size:.7rem;}}

/* --- Hero: Hintergrundbild full-bleed, nur der Content geboxt --- */
main.nt-page .nt-hero, main.nt-page section.nt-hero, .nt-hero{width:100% !important;max-width:none !important;margin:0 !important;border-radius:0 !important;}
main.nt-page .nt-hero .nt-hero-inner{background:linear-gradient(115deg, rgba(12,33,33,.40) 0%, rgba(12,33,33,.14) 70%, rgba(12,33,33,0) 100%);border:none;border-radius:20px;padding:2rem clamp(1.3rem,2.2vw,2rem) !important;max-width:600px;box-shadow:none;}
@media(max-width:560px){main.nt-page .nt-hero .nt-hero-inner{border-radius:16px;padding:1.4rem 1.2rem !important;background:linear-gradient(180deg, rgba(12,33,33,.46), rgba(12,33,33,.18));}}

/* --- Profi-Zitat-Karten: Avatare --- */
.nt-bw-pq-author{gap:.9rem !important;}
.nt-bw-pq-avatar{width:46px;height:46px;border-radius:50%;overflow:hidden;flex-shrink:0;background:#4D9C9C;display:flex;align-items:center;justify-content:center;font-family:'Satoshi',sans-serif;font-weight:700;font-size:.86rem;color:#fff;}
.nt-bw-pq-avatar img{width:100%;height:100%;object-fit:cover;display:block;}


/* ==================================================================
   Globaler Primär-CTA-Stil  (Pill + durchgleitender Pfeil + Lift)
   sowie dezenter globaler Feinschliff  ·  KL Design
   ================================================================== */

/* --- gemeinsame Basis für primäre CTAs --- */
.nt-hero-btn-primary,.nt-f-cta,.nt-arzt-btn-primary,.nt-ment-btn-primary,
.nt-jobs-cta,.nt-mq-cta,.nt-urs-cta,.nt-pr-cta-btn-p,.nt-pr-btn-p,
.nt-h-cta,.nt-mega-footer-cta,.nt-pagenav-cta{
  border-radius:100px !important;
  transition:background-color .35s ease, transform .25s ease, box-shadow .35s ease !important;
  will-change:transform;
}
/* Pfeil-Grundzustand (falls inline-SVG am Ende) */
.nt-hero-btn-primary svg,.nt-f-cta svg,.nt-arzt-btn-primary svg,.nt-ment-btn-primary svg,
.nt-jobs-cta svg,.nt-mq-cta svg,.nt-urs-cta svg,.nt-pr-cta-btn-p svg,.nt-pr-btn-p svg,
.nt-h-cta svg,.nt-mega-footer-cta svg,.nt-pagenav-cta svg,.nt-symp-quote-cta svg,.nt-mega-feature-cta svg{
  transition:transform .3s ease;
}

/* --- Hover: Lift + Schatten (alle primären) --- */
.nt-hero-btn-primary:hover,.nt-f-cta:hover,.nt-arzt-btn-primary:hover,.nt-ment-btn-primary:hover,
.nt-jobs-cta:hover,.nt-mq-cta:hover,.nt-urs-cta:hover,.nt-pr-cta-btn-p:hover,.nt-pr-btn-p:hover,
.nt-h-cta:hover,.nt-mega-footer-cta:hover,.nt-pagenav-cta:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 26px rgba(27,79,79,.28) !important;
}

/* --- Hover: Farbwechsel (Teal → tieferes Teal) --- */
.nt-hero-btn-primary:hover,.nt-f-cta:hover,.nt-arzt-btn-primary:hover,.nt-ment-btn-primary:hover,
.nt-jobs-cta:hover,.nt-mq-cta:hover,.nt-urs-cta:hover,.nt-pr-cta-btn-p:hover,.nt-pr-btn-p:hover,
.nt-h-cta:hover,.nt-mega-footer-cta:hover{
  background-color:#3a7d7d !important;
}
.nt-pagenav-cta:hover{ background-color:#12403f !important; }

/* --- Pfeil gleitet beim Hover durch (wie Referenz-Button) --- */
@keyframes nt-cta-arrow{
  0%{transform:translateX(0);opacity:1;}
  40%{transform:translateX(150%);opacity:0;}
  55%{transform:translateX(-150%);opacity:0;}
  100%{transform:translateX(0);opacity:1;}
}
.nt-hero-btn-primary:hover svg:last-child,.nt-f-cta:hover svg:last-child,
.nt-arzt-btn-primary:hover svg:last-child,.nt-ment-btn-primary:hover svg:last-child,
.nt-jobs-cta:hover svg:last-child,.nt-mq-cta:hover svg:last-child,.nt-urs-cta:hover svg:last-child,
.nt-pr-cta-btn-p:hover svg:last-child,.nt-pr-btn-p:hover svg:last-child,
.nt-h-cta:hover svg:last-child,.nt-mega-footer-cta:hover svg:last-child,
.nt-pagenav-cta:hover svg:last-child,.nt-symp-quote-cta:hover svg:last-child,
.nt-mega-feature-cta:hover svg:last-child{
  animation:nt-cta-arrow .55s ease;
}

/* --- dezenter globaler Feinschliff: saubere Fokus-States (A11y) --- */
a:focus-visible,button:focus-visible,.nt-h-cta:focus-visible,[data-book-open]:focus-visible{
  outline:2px solid #4D9C9C; outline-offset:3px; border-radius:6px;
}
/* ruhigere, einheitliche Übergänge auf sekundären Buttons */
.nt-hero-btn-secondary,.nt-arzt-btn-secondary,.nt-ment-btn-ghost{
  transition:background-color .3s ease, color .3s ease, transform .25s ease, box-shadow .3s ease !important;
}
.nt-hero-btn-secondary:hover,.nt-arzt-btn-secondary:hover,.nt-ment-btn-ghost:hover{ transform:translateY(-2px); }

/* Reduced-motion respektieren */
@media (prefers-reduced-motion:reduce){
  .nt-hero-btn-primary,.nt-f-cta,.nt-arzt-btn-primary,.nt-ment-btn-primary,.nt-jobs-cta,.nt-mq-cta,
  .nt-urs-cta,.nt-pr-cta-btn-p,.nt-pr-btn-p,.nt-h-cta,.nt-mega-footer-cta,.nt-pagenav-cta{ transition:none !important; }
  [class*="cta"]:hover svg:last-child{ animation:none !important; }
}

/* ===== Kooperationspartner in Kontakt-Sidebar ===== */
.nt-side-partner{display:flex;flex-direction:column;align-items:center;gap:.55rem;text-align:center;padding:1.2rem 1.2rem .2rem;border-top:1px solid rgba(0,0,0,.07);margin-top:.3rem;}
.nt-side-partner-label{font-family:'Satoshi','General Sans',sans-serif;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:#9a9384;font-weight:600;}
.nt-side-partner img{height:52px;width:auto;display:block;opacity:.96;}

/* ==================================================================
   Hero: linksbündig in Flucht mit den Sektionen + grüner Overlay
   ================================================================== */
/* grüner (Teal) Overlay – links als Spalte, Bild rechts klarer */
main.nt-page .nt-hero .nt-hero-bg::after{
  background:
    linear-gradient(90deg,
      rgba(20,62,62,.90) 0%,
      rgba(27,79,79,.74) 30%,
      rgba(27,79,79,.42) 50%,
      rgba(27,79,79,.14) 68%,
      rgba(27,79,79,0)   82%),
    linear-gradient(180deg, rgba(0,0,0,0) 74%, rgba(18,52,52,.42) 100%) !important;
}
main.nt-page .nt-hero .nt-hero-inner{
  background:transparent !important;border:none !important;box-shadow:none !important;
}
@media(min-width:761px){
  main.nt-page .nt-hero{justify-content:flex-start !important;text-align:left !important;}
  /* gleicher Container wie .nt-symp-inner => exakte Fluchtlinie */
  main.nt-page .nt-hero .nt-hero-inner{
    max-width:1320px !important;margin:0 auto !important;width:100%;
    padding-left:0 !important;padding-right:0 !important;text-align:left !important;
  }
  main.nt-page .nt-hero-eyebrow{justify-content:flex-start !important;}
  main.nt-page .nt-hero h1{margin-left:0 !important;margin-right:0 !important;max-width:640px;}
  main.nt-page .nt-hero-sub{margin-left:0 !important;margin-right:0 !important;max-width:600px;}
  main.nt-page .nt-hero-actions{justify-content:flex-start !important;}
  main.nt-page .nt-hero-trust{justify-content:flex-start !important;}
}
@media(max-width:760px){
  main.nt-page .nt-hero .nt-hero-bg::after{
    background:linear-gradient(180deg, rgba(20,62,62,.78) 0%, rgba(27,79,79,.55) 55%, rgba(18,52,52,.5) 100%) !important;
  }
}

/* ==================================================================
   Kontakt-Sidebar: aufgeräumte, kompaktere Anordnung  ·  KL Design
   ================================================================== */
/* Karten gleichmäßig statt über volle Höhe auseinandergezogen */
.nt-sidebar .nt-sidebar-cards{justify-content:flex-start !important;gap:.6rem !important;padding-bottom:.5rem !important;}
/* Icon links neben Titel/Text (statt gestapelt) – wirkt ruhiger/moderner */
.nt-sidebar .nt-side-card-content{
  display:grid !important;
  grid-template-columns:auto 1fr;
  grid-template-areas:"icon title" "icon sub" "action action";
  column-gap:.8rem;row-gap:.1rem;align-items:center;
}
.nt-sidebar .nt-side-card-icon{grid-area:icon;margin-bottom:0 !important;align-self:center;}
.nt-sidebar .nt-side-card h4{grid-area:title;margin:0 !important;}
.nt-sidebar .nt-side-card-sub{grid-area:sub;margin:.1rem 0 0 !important;}
.nt-sidebar .nt-side-card-action{grid-area:action;margin-top:.6rem;}
/* Partner-Block etwas kompakter in der Sidebar */
.nt-sidebar .nt-side-partner{padding-top:1rem;}
.nt-sidebar .nt-side-partner img{height:46px;}
/* Feedback-Button ausblenden, solange die Kontakt-Sidebar offen ist (kein Überlappen) */
body:has(.nt-sidebar.open) .nt-fb-btn{opacity:0 !important;pointer-events:none !important;}

/* ===== Kooperationspartner in letzter Footer-Spalte ===== */
.nt-footer .nt-f-partner-col img{height:66px;width:auto;display:block;margin-top:.9rem;opacity:.96;}
@media(max-width:820px){.nt-footer .nt-f-partner-col img{height:56px;}}

/* ===== Sidebar: Kooperationspartner als Karte + ans untere Ende (volle Höhe) ===== */
.nt-sidebar .nt-sidebar-cards{justify-content:flex-start !important;}
.nt-sidebar .nt-side-partner{
  margin-top:auto !important;              /* füllt die freie Höhe, Karte sitzt unten */
  background:#ffffff !important;border:1px solid var(--nt-border) !important;border-left:4px solid #4D9C9C !important;
  border-radius:12px !important;padding:1rem 1.1rem !important;
  display:flex !important;flex-direction:column;align-items:center;gap:.55rem;text-align:center;
  box-shadow:0 1px 2px rgba(27,79,79,.04);
}
.nt-sidebar .nt-side-partner-label{font-family:'Satoshi','General Sans',sans-serif;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:#9a9384;font-weight:600;}
.nt-sidebar .nt-side-partner img{height:44px !important;width:auto;display:block;opacity:.96;}

/* ==================================================================
   Dropdown/Mega-Menü: Hover-Gap-Fix (klappt nicht mehr sofort zu)
   ================================================================== */
/* unsichtbare Brücke über die Lücke zwischen Menüpunkt und Panel */
.nt-header .nt-mega-panel::before{content:'';position:absolute;left:0;right:0;top:-26px;height:26px;background:transparent;pointer-events:auto;}
.nt-header .nt-nav-sub::before{content:'';position:absolute;left:0;right:0;top:-12px;height:12px;background:transparent;pointer-events:auto;}
/* Panel bleibt offen, solange Maus auf Trigger ODER Panel ist */
.nt-header .nt-mega:hover .nt-mega-panel,
.nt-header .nt-mega:focus-within .nt-mega-panel,
.nt-header .nt-mega-panel:hover{opacity:1 !important;visibility:visible !important;transform:translateY(0) !important;}
.nt-header .nt-nav-drop:hover .nt-nav-sub,
.nt-header .nt-nav-drop:focus-within .nt-nav-sub,
.nt-header .nt-nav-sub:hover{opacity:1 !important;visibility:visible !important;transform:translateY(0) !important;}
/* kleine Verzögerung beim Verlassen, damit die Lücke überbrückbar ist */
.nt-header .nt-mega-panel,.nt-header .nt-nav-sub{transition-delay:.14s !important;}
.nt-header .nt-mega:hover .nt-mega-panel,.nt-header .nt-mega-panel:hover,
.nt-header .nt-nav-drop:hover .nt-nav-sub,.nt-header .nt-nav-sub:hover{transition-delay:0s !important;}
