/* ============================================================
   nexxxdesign – Kopfleiste und Hero nach dem Mockup
   ============================================================ */
:root{
  --nx-bg:#FBF9F5; --nx-card:#FFFFFF; --nx-ink:#201D15; --nx-ink2:#55524E;
  --nx-line:#E6E1D8; --nx-sand:#D0BF95; --nx-creme:#D9D8BA;
  --nx-teal:#2F6F67; --nx-teal-d:#245852; --nx-arrow:#F1ECE4;
  --nx-serif:"DM Serif Display",Georgia,"Times New Roman",serif;
  --nx-sans:"Jost","Segoe UI",system-ui,-apple-system,sans-serif;
}

/* ---------- Kopfleiste ---------- */
.nxtb-hd{position:sticky;top:0;z-index:99;background:rgba(255,255,255,.94);
  backdrop-filter:blur(8px);border-bottom:1px solid var(--nx-line);font-family:var(--nx-sans)}
.admin-bar .nxtb-hd{top:32px}
.nxtb-hd *,.nxtb-hd *::before,.nxtb-hd *::after{box-sizing:border-box}
.nxtb-hd-in{max-width:1540px;margin:0 auto;padding:13px clamp(16px,3vw,32px);display:flex;align-items:center;gap:26px}
.nxtb-hd a{text-decoration:none !important;color:var(--nx-ink)}

.nxtb-hd-logo{display:flex;align-items:center;gap:10px;border:1px dashed var(--nx-sand);
  border-radius:10px;padding:7px 14px;font-family:var(--nx-serif);font-size:19px;flex:none}
.nxtb-hd-becher{width:18px;height:22px;border:2px solid var(--nx-ink);border-radius:4px 4px 7px 7px;
  position:relative;flex:none}
.nxtb-hd-becher::after{content:"";position:absolute;left:2px;right:2px;top:4px;height:2px;background:var(--nx-ink)}

.nxtb-hd-nav{min-width:0}
.nxtb-hd-liste{display:flex;gap:22px;list-style:none;margin:0;padding:0;font-size:15px}
.nxtb-hd-liste li{margin:0}
.nxtb-hd-liste a{padding:4px 0;border-bottom:2px solid transparent;display:inline-block;white-space:nowrap}
.nxtb-hd-liste a:hover{border-bottom-color:var(--nx-sand)}
.nxtb-hd-liste .current-menu-item > a{font-weight:500;border-bottom-color:var(--nx-ink)}

.nxtb-hd-rechts{margin-left:auto;display:flex;align-items:center;gap:18px}
.nxtb-hd-google{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--nx-ink2);white-space:nowrap}
.nxtb-hd-g{width:20px;height:20px;border-radius:50%;flex:none;
  background:conic-gradient(#EA4335 0 25%,#FBBC05 0 50%,#34A853 0 75%,#4285F4 0)}
.nxtb-hd-sterne{color:#E8A33D;letter-spacing:1px}
.nxtb-hd-tel{font-size:14px;color:var(--nx-ink2);white-space:nowrap}
.nxtb-hd-burger{display:none;width:42px;height:42px;border:1px solid var(--nx-line);border-radius:10px;
  background:#fff;cursor:pointer;padding:0;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.nxtb-hd-burger span{display:block;width:18px;height:2px;background:var(--nx-ink)}

.nxtb-btn-teal{display:inline-flex;align-items:center;justify-content:center;background:var(--nx-teal);
  color:#fff !important;border-radius:8px;padding:11px 20px;font-size:15px;font-weight:500;
  font-family:var(--nx-sans);transition:.15s;white-space:nowrap}
.nxtb-btn-teal:hover{background:var(--nx-teal-d)}

/* Startseite: Astra-Seitentitel und Bannerbereich raus, die H1 liefert der Hero */
.home .entry-header,.home .ast-single-entry-banner,.home .page-title{display:none !important}
.home .site-content > .ast-container,.home .site-content .ast-container{padding-top:0}
.home .site-content .entry-content > *:first-child{margin-top:0}

/* Mobiles Menue */
.nxtb-hd-nav.is-offen{display:block;position:absolute;left:0;right:0;top:100%;background:#fff;
  border-bottom:1px solid var(--nx-line);padding:14px 18px 18px}
.nxtb-hd-nav.is-offen .nxtb-hd-liste{flex-direction:column;gap:12px}
.nxtb-hd{position:sticky}
.nxtb-hd-in{position:relative}

/* ---------- Hero ---------- */
.nxtb-hero{font-family:var(--nx-sans);color:var(--nx-ink);background:var(--nx-bg)}
.nxtb-hero-in{width:100%;max-width:1540px;margin-inline:auto;padding:46px clamp(16px,3vw,32px) 30px;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}

.nxtb-eyebrow{display:inline-flex;align-items:center;gap:9px;background:var(--nx-creme);color:#4A4534;
  border-radius:999px;padding:7px 16px;font-size:12.5px;font-weight:500;letter-spacing:.09em;
  text-transform:uppercase;margin:0 0 20px}
.nxtb-eyebrow i{width:7px;height:7px;border-radius:50%;background:var(--nx-teal);display:block}

.nxtb-h1{font-family:var(--nx-serif);font-weight:400;font-size:clamp(31px,4vw,50px);line-height:1.08;
  margin:0 0 14px;max-width:19ch;color:var(--nx-ink)}
.nxtb-lede{font-size:17px;line-height:1.55;color:var(--nx-ink2);max-width:56ch;margin:0 0 26px}

.nxtb-hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin:0 0 28px}
.nxtb-btn-dunkel,.nxtb-btn-hell{display:inline-flex;align-items:center;justify-content:center;
  border-radius:8px;padding:14px 24px;font-size:15px;font-weight:500;text-decoration:none !important;
  border:1px solid transparent;transition:.15s}
/* Der globale Link-Reset setzt border-bottom:0 und hat die hoehere
   Spezifitaet als .nxtb-btn-hell. Dadurch fehlte dem hellen Knopf die
   untere Rahmenlinie. Hier wieder zurueckgeholt. */
.nxtb a.nxtb-btn-dunkel,.nxtb a.nxtb-btn-hell,
a.nxtb-btn-dunkel,a.nxtb-btn-hell{border-bottom-width:1px;border-bottom-style:solid}
.nxtb-btn-dunkel{background:var(--nx-ink);color:#fff !important}
.nxtb-btn-dunkel:hover{background:#3a3427}
.nxtb-btn-hell{background:#fff;color:var(--nx-ink) !important;border-color:var(--nx-ink)}
.nxtb-btn-hell:hover{background:#F4F0E9}

.nxtb-usps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 26px;
  list-style:none;margin:0 0 26px;padding:0;font-size:15px;color:var(--nx-ink)}
.nxtb-usps li{display:flex;gap:10px;align-items:flex-start;margin:0;line-height:1.4}
.nxtb-haken{color:var(--nx-teal);font-weight:600;flex:none}

.nxtb-marken{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;margin:0;
  padding-top:22px;border-top:1px solid var(--nx-line);font-size:14px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--nx-ink)}
.nxtb-marken-label{color:var(--nx-ink2);font-size:12px}

/* ---------- Video ---------- */
.nxtb-hero-media{position:relative}
.nxtb-video{width:100%;aspect-ratio:16/9;border-radius:14px;display:block;object-fit:cover;background:#2A2724}
.nxtb-video-platzhalter{background:#2A2724;color:#EDE8E0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;padding:24px 24px 108px}
.nxtb-play{width:74px;height:74px;border-radius:50%;border:2px solid rgba(255,255,255,.65);
  display:block;margin:0 0 18px;position:relative}
.nxtb-play::after{content:"";position:absolute;left:52%;top:50%;transform:translate(-50%,-50%);
  border-left:19px solid rgba(255,255,255,.9);border-top:12px solid transparent;border-bottom:12px solid transparent}
.nxtb-video-titel{margin:0 0 6px;font-size:15px;letter-spacing:.16em;text-transform:uppercase}
.nxtb-video-spec{margin:0;font-size:13px;line-height:1.5;color:#B9B2A7}

.nxtb-hero-badge{position:absolute;left:18px;right:18px;bottom:18px;background:rgba(247,244,238,.96);
  border-radius:10px;padding:14px 18px;display:flex;align-items:center;gap:18px;font-size:13.5px}
.nxtb-hero-badge strong{font-family:var(--nx-serif);font-weight:400;font-size:24px;display:block;line-height:1.1}
.nxtb-hero-badge span{color:var(--nx-ink2)}
.nxtb-badge-trenner{width:1px;align-self:stretch;background:rgba(32,29,21,.16)}
.nxtb-badge-haken{display:flex;gap:8px;align-items:center;color:var(--nx-ink)}
.nxtb-badge-haken span{color:var(--nx-teal);font-weight:600}

@media(max-width:1180px){
  .nxtb-hd-liste{gap:16px;font-size:14.5px}
  .nxtb-hd-google span:last-child{display:none}
}
@media(max-width:1024px){
  .nxtb-hero-in{grid-template-columns:1fr;gap:30px;padding-top:34px}
  .nxtb-h1{max-width:none}
}
@media(max-width:900px){
  .nxtb-hd-nav,.nxtb-hd-google,.nxtb-hd-tel{display:none}
  .nxtb-hd-burger{display:flex}
  .nxtb-hd-in{gap:14px;padding:11px 18px}
  .nxtb-usps{grid-template-columns:1fr}
  .nxtb-hero-badge{position:static;margin-top:14px}
}
/* Unter 520 px waren Logo, Muster-Button und Burger zusammen 431 px breit und
   passten nicht in einen 390er Bildschirm - dadurch liess sich die ganze Seite
   seitlich verschieben. Alles drei wird hier schmaler. */
@media(max-width:520px){
  .nxtb-hd-in{gap:8px;padding:9px 12px}
  .nxtb-hd-logo{gap:7px;padding:6px 9px;font-size:16px;min-width:0;overflow:hidden}
  .nxtb-hd-becher{width:15px;height:18px}
  .nxtb-hd-rechts{gap:8px;min-width:0}
  .nxtb-hd-burger{width:38px;height:38px;flex:none}
  .nxtb-btn-teal{padding:9px 13px;font-size:13.5px}
}
@media(max-width:360px){
  .nxtb-hd-logo{font-size:15px;padding:5px 8px}
  .nxtb-btn-teal{padding:8px 11px;font-size:13px}
}


/* Nach-oben-Pfeil von Astra in die Hausfarbe. */
#ast-scroll-top.ast-scroll-top-icon{background-color:var(--nx-teal);color:#fff;border-radius:6px}
#ast-scroll-top.ast-scroll-top-icon:hover,#ast-scroll-top.ast-scroll-top-icon:focus{background-color:var(--nx-teal-d);color:#fff}

/* Sprungziele nicht unter die klebende Kopfzeile rutschen lassen. */
[id]{scroll-margin-top:96px}
@media (max-width:782px){[id]{scroll-margin-top:80px}}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Fusszeile
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
.nxtb-ft{background:var(--nx-bg);border-top:1px solid var(--nx-line);font-family:var(--nx-sans);color:var(--nx-ink)}
.nxtb-ft *{box-sizing:border-box}
.nxtb-ft-in{max-width:1180px;margin:0 auto;padding:clamp(40px,5vw,64px) clamp(16px,3vw,32px) clamp(24px,3vw,36px);display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,48px);align-items:start}
.nxtb-ft-logo{display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:var(--nx-ink);font-family:var(--nx-serif);font-size:21px;line-height:1}
.nxtb-ft-logo:hover{color:var(--nx-teal)}
.nxtb-ft-claim{margin:16px 0 0;max-width:34ch;font-size:15px;line-height:1.5;color:var(--nx-ink2)}
.nxtb-ft-by{margin:14px 0 0;font-size:14px;color:var(--nx-ink2)}
.nxtb-ft-by a{color:var(--nx-ink2);text-decoration:underline;text-underline-offset:2px}
.nxtb-ft-by a:hover{color:var(--nx-teal)}
.nxtb-ft-sp h2{margin:0 0 14px;font-family:var(--nx-serif);font-size:19px;font-weight:400;line-height:1.2}
.nxtb-ft-sp ul{margin:0;padding:0;list-style:none;display:grid;gap:9px}
.nxtb-ft-sp a{color:var(--nx-ink);text-decoration:none;font-size:15px}
.nxtb-ft-sp a:hover{color:var(--nx-teal);text-decoration:underline;text-underline-offset:3px}
.nxtb-ft-kontakt p{margin:0 0 12px;font-size:15px;line-height:1.55;color:var(--nx-ink2)}
.nxtb-ft-kontakt p:last-child{margin-bottom:0}
.nxtb-ft-unten{max-width:1180px;margin:0 auto;padding:0 clamp(16px,3vw,32px) clamp(36px,4vw,52px)}
.nxtb-ft-hinweis{margin:0;padding-top:22px;border-top:1px solid var(--nx-line);font-size:13px;line-height:1.6;color:var(--nx-ink2);max-width:96ch}
.nxtb-ft-copy{margin:12px 0 0;font-size:13px;color:var(--nx-ink2)}
@media (max-width:900px){
  .nxtb-ft-in{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nxtb-ft-marke{grid-column:1/-1}
}
@media (max-width:520px){
  .nxtb-ft-in{grid-template-columns:minmax(0,1fr)}
}
