/* bewerbungen-und-stellen.css — seitenspezifisches CSS */
:root{
  --fgj-font-main:var(--font-main);
  --fgj-font-head:var(--font-headers);
  --fgj-font-sub:var(--font-sub);
  --fgj-brand:var(--brand);
  --fgj-brand-dark:var(--brand-dark);
  --fgj-text:var(--black);
  --fgj-text-soft:#555555;
  --fgj-text-muted:#666666;
  --fgj-bg:var(--white);
  --fgj-bg-soft:var(--gray-bg);
  --fgj-border:var(--border);
  --fgj-radius-lg:18px;
  --fgj-radius-md:14px;
  --fgj-google:#fbbc04;
}

/* BASIS */
.fgj-wrap,
.fgj-wrap *{
  box-sizing:border-box;
  margin:0;
  padding:0;
  -webkit-tap-highlight-color:transparent;
}

.fgj-wrap{
  width:100%;
  background:var(--fgj-bg);
  color:var(--fgj-text);
  font-family:var(--fgj-font-main);
  margin-bottom:0 !important;
  padding-bottom:0 !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  position:relative;
  overflow:visible;
}

.fgj-wrap + p:empty,
.fgj-wrap ~ p:empty{
  display:none;
}

.fgj-wrap a{
  color:var(--fgj-brand);
  text-decoration:none;
}

.fgj-wrap a:hover{
  text-decoration:none;
}

.fgj-wrap svg{
  display:block;
}

/* GEMEINSAMER CONTENT CONTAINER */
.fgj-inner{
  max-width:1040px;
  margin:0 auto;
  padding:0 24px;
}

/* TYPO */
.fgj-label{
  display:block;
  margin-bottom:12px;
  font-family:var(--fgj-font-sub);
  font-size:16px;
  color:var(--fgj-brand);
}

.fgj-h1{
  margin-bottom:20px;
  font-family:var(--fgj-font-head);
  font-weight:900;
  font-size:clamp(28px,4vw,52px);
  line-height:1.08;
  color:var(--fgj-text);
}

.fgj-h1 span,
.fgj-h2 span{
  color:var(--fgj-brand);
}

.fgj-h2{
  margin-bottom:14px;
  font-family:var(--fgj-font-head);
  font-weight:900;
  font-size:clamp(22px,3vw,38px);
  line-height:1.16;
  color:var(--fgj-text);
}

.fgj-lead{
  max-width:900px;
  font-size:17px;
  line-height:1.78;
  color:var(--fgj-text-soft);
}

.fgj-sub{
  max-width:860px;
  font-size:16px;
  line-height:1.75;
  color:var(--fgj-text-muted);
  margin-bottom:42px;
}

/* HERO */
.fgj-hero-band{
  background:var(--fgj-bg);
  width:100%;
}

.fgj-hero{
  padding:72px 0 32px;
}

/* NOTICE */
.fgj-notice-band{
  background:var(--fgj-bg);
  width:100%;
}

.fgj-notice-section{
  padding:0 0 44px;
}

.fgj-notice{
  width:100%;
  max-width:920px;
  background:var(--fgj-brand);
  border-radius:18px;
  padding:34px 34px;
}

.fgj-notice-title{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:14px;
  font-family:var(--fgj-font-head);
  font-weight:700;
  font-size:24px;
  line-height:1.3;
  color:#ffffff;
}

.fgj-notice-title svg{
  color:#ffffff;
  flex-shrink:0;
}

.fgj-notice-text{
  font-size:17px;
  line-height:1.85;
  color:#ffffff;
}

.fgj-notice-text strong{
  color:#ffffff;
  font-weight:700;
}

/* CONTENT */
.fgj-content-band{
  background:var(--fgj-bg);
  width:100%;
}

.fgj-content{
  padding:36px 0 72px;
}

/* CARDS */
.fgj-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  align-items:stretch;
}

.fgj-card{
  display:flex;
  flex-direction:column;
  min-height:100%;
  background:#ffffff;
  border:1px solid var(--fgj-border);
  border-radius:18px;
  padding:30px 28px;
  transition:border-color .2s,box-shadow .2s,transform .2s;
}

.fgj-card:hover{
  border-color:rgba(220,39,81,0.28);
  box-shadow:0 10px 28px rgba(0,0,0,0.05);
  transform:translateY(-2px);
}

.fgj-card-icon{
  width:58px;
  height:58px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(220,39,81,0.08);
  color:var(--fgj-brand);
  margin-bottom:18px;
}

.fgj-card-icon svg{
  width:28px;
  height:28px;
}

.fgj-card-tag{
  margin-bottom:12px;
  font-family:var(--fgj-font-head);
  font-weight:700;
  font-size:11px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--fgj-brand);
}

.fgj-card-title{
  margin-bottom:14px;
  font-family:var(--fgj-font-head);
  font-weight:700;
  font-size:21px;
  line-height:1.28;
  color:var(--fgj-text);
}

.fgj-card-text{
  margin-bottom:20px;
  font-size:15px;
  line-height:1.78;
  color:var(--fgj-text-soft);
}

.fgj-mini-list{
  list-style:none;
  margin:0 0 24px;
  padding:0;
}

.fgj-mini-list li{
  position:relative;
  padding-left:18px;
  margin-bottom:10px;
  font-size:14px;
  line-height:1.68;
  color:var(--fgj-text-soft);
}

.fgj-mini-list li:last-child{
  margin-bottom:0;
}

.fgj-mini-list li::before{
  content:"•";
  position:absolute;
  left:0;
  top:0;
  color:var(--fgj-brand);
  font-weight:700;
}

/* BUTTONS */
.fgj-btn{
  display:inline-block;
  align-self:flex-start;
  margin-top:auto;
  padding:14px 26px;
  border-radius:999px;
  border:2px solid var(--fgj-brand);
  background:var(--fgj-brand);
  color:#ffffff !important;
  font-family:var(--fgj-font-head);
  font-weight:700;
  font-size:13px;
  letter-spacing:0.06em;
  text-transform:uppercase;
  text-decoration:none !important;
  transition:background .2s,color .2s,border-color .2s,transform .2s;
}

.fgj-btn:hover{
  background:#ffffff;
  color:var(--fgj-brand) !important;
  border-color:var(--fgj-brand);
  transform:translateY(-1px);
}

.fgj-btn-outline{
  background:#ffffff;
  color:var(--fgj-text) !important;
  border-color:#b8b8c1;
}

.fgj-btn-outline:hover{
  background:var(--fgj-brand);
  color:#ffffff !important;
  border-color:var(--fgj-brand);
}

/* QUOTE */
.fgj-quote-band{
  background:#282834;
  width:100%;
}

.fgj-quote{
  padding:56px 0;
  text-align:center;
}

.fgj-quote-text{
  font-size:20px;
  line-height:1.7;
  color:#ffffff;
  font-style:italic;
  margin-bottom:16px;
}

.fgj-quote-author{
  font-family:var(--fgj-font-head);
  font-weight:700;
  font-size:11px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:#ffffff;
}

.fgj-stars{
  color:var(--fgj-google);
  letter-spacing:0.08em;
}

/* CTA */
.fgj-cta-band{
  background:var(--fgj-brand);
  width:100%;
  margin-bottom:0 !important;
  padding-bottom:0 !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  position:relative;
  z-index:2;
}

.fgj-cta-band::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-34px;
  height:34px;
  background:var(--fgj-brand);
  pointer-events:none;
}

.fgj-cta{
  padding:72px 0;
  text-align:center;
  margin-bottom:0 !important;
  border-bottom:0 !important;
}

.fgj-cta-h2{
  font-family:var(--fgj-font-head);
  font-weight:900;
  font-size:clamp(22px,3vw,38px);
  color:#ffffff;
  margin-bottom:14px;
  line-height:1.2;
}

.fgj-cta-sub{
  font-size:17px;
  color:#ffffff;
  max-width:760px;
  margin:0 auto 36px;
  line-height:1.65;
}

.fgj-cta-btns{
  display:flex;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
}

.fgj-btn-white{
  display:inline-block;
  font-family:var(--fgj-font-head);
  font-weight:700;
  font-size:13px;
  letter-spacing:0.06em;
  text-transform:uppercase;
  padding:16px 40px;
  border-radius:32px;
  background:#ffffff;
  color:var(--fgj-brand) !important;
  border:2px solid #ffffff;
  text-decoration:none !important;
  transition:background .2s,color .2s,transform .2s;
}

.fgj-btn-white:hover{
  background:transparent;
  color:#ffffff !important;
  transform:translateY(-1px);
}

.fgj-btn-ghost-white{
  display:inline-block;
  font-family:var(--fgj-font-head);
  font-weight:600;
  font-size:13px;
  letter-spacing:0.06em;
  text-transform:uppercase;
  padding:16px 40px;
  border-radius:32px;
  background:transparent;
  color:#ffffff !important;
  border:2px solid rgba(255,255,255,.6);
  text-decoration:none !important;
  transition:background .2s,color .2s,transform .2s;
}

.fgj-btn-ghost-white:hover{
  background:#ffffff;
  color:var(--fgj-brand) !important;
  transform:translateY(-1px);
}

/* ZUSÄTZLICHE ABSICHERUNG UNTEN */
.fgj-wrap > div:last-child,
.fgj-wrap > div:last-child .fgj-inner,
.fgj-wrap > div:last-child .fgj-cta{
  margin-bottom:0 !important;
  border-bottom:0 !important;
  box-shadow:none !important;
}

/* RESPONSIVE */
@media(max-width:980px){
  .fgj-cards{
    grid-template-columns:1fr;
  }

  .fgj-notice{
    max-width:100%;
  }
}

@media(max-width:640px){
  .fgj-inner{
    padding:0 16px;
  }

  .fgj-hero{
    padding:40px 0 28px;
  }

  .fgj-notice-section{
    padding:0 0 32px;
  }

  .fgj-content{
    padding:28px 0 44px;
  }

  .fgj-quote{
    padding:40px 0;
  }

  .fgj-cta{
    padding:48px 0;
  }

  .fgj-notice{
    padding:26px 22px;
    border-radius:14px;
  }

  .fgj-card{
    padding:26px 22px;
  }

  .fgj-notice-title{
    font-size:21px;
    align-items:flex-start;
  }

  .fgj-notice-text{
    font-size:16px;
    line-height:1.8;
  }

  .fgj-quote-text{
    font-size:17px;
  }

  .fgj-cta-btns{
    flex-direction:column;
    align-items:center;
  }

  .fgj-btn,
  .fgj-btn-white,
  .fgj-btn-ghost-white{
    width:100%;
    max-width:320px;
    text-align:center;
  }
}

/* Sprungnavigation (Klon ffpreise-jumpnav, seitenkonsistent als fgj-jumpnav) */
.fgj-jumpnav-wrap{
  margin-top:22px;
  margin-bottom:34px;
}
.fgj-jumpnav{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.fgj-jumpnav a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:10px 16px;
  border:1.5px solid #d7d7dd;
  border-radius:999px;
  background:#ffffff;
  color:var(--black)!important;
  font-family:var(--font-headers);
  font-weight:700;
  font-size:12px;
  letter-spacing:0.07em;
  text-transform:uppercase;
  line-height:1;
  transition:border-color .2s,color .2s,background .2s,transform .2s;
  white-space:nowrap;
  flex:0 0 auto;
}
.fgj-jumpnav a:hover,
.fgj-jumpnav a:focus-visible{
  border-color:var(--brand);
  color:var(--brand)!important;
  background:#fff8fa;
  outline:none;
}
.fgj-jumpnav a:active{
  transform:translateY(1px);
}
@media (max-width:640px){
  .fgj-jumpnav{
    gap:8px;
    justify-content:flex-start;
  }
  .fgj-jumpnav a{
    width:auto;
    max-width:none;
    min-height:36px;
    padding:8px 14px;
    font-size:12px;
    letter-spacing:0.05em;
  }
}
@media (max-width:380px){
  .fgj-jumpnav{
    gap:7px;
  }
  .fgj-jumpnav a{
    min-height:34px;
    padding:7px 12px;
    font-size:9.5px;
    letter-spacing:0.04em;
  }
}

/* Sticky-Header Offset für Anchor-Sprünge (Pattern wie andere Seiten) */
:root{
  --fgj-scroll-offset: 110px;
}
#fgj-hinweis,
#fgj-wege,
#fgj-kontakt{
  scroll-margin-top: var(--fgj-scroll-offset);
}


/* Profi-Bildintegration */
img {
  border-radius: 12px;
  filter: contrast(1.08) saturate(0.92) brightness(1.02);
  box-shadow: 0 0 80px 20px rgba(40, 40, 52, 0.6);
}
section[style*="ffffff"] img,
section[style*="fafafb"] img,
section[style*="f4f4f6"] img,
.fg-light img,
.fg-bg-light img,
[class*="white"] img,
[class*="-light"] img {
  box-shadow: 0 0 80px 20px rgba(220, 220, 230, 0.7);
}
