/* Auf Seiten mit dem Jobboard bleibt der WordPress-Seitentitel intern erhalten,
   wird aber im Frontend ausgeblendet. */
body.ccj-has-jobboard .wp-block-post-title,
body.ccj-has-jobboard .entry-title,
body.ccj-has-jobboard .page-title {
  display: none !important;
}
body.ccj-has-jobboard .wp-block-post-content {
  margin-block-start: 0;
}

.ccj-jobboard {
  --ccj-primary: #0B2D5C;
  --ccj-accent: #FFC928;
  --ccj-paper: #fffdf7;
  --ccj-line: rgba(11, 45, 92, .14);
  --ccj-muted: #5f6a78;
  font-family: Manrope, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ccj-primary);
  max-width: 1180px;
  margin: 0 auto;
}

.ccj-jobboard *, .ccj-jobboard *::before, .ccj-jobboard *::after { box-sizing: border-box; }

.ccj-intro { margin: 0 0 28px; max-width: 760px; }
.ccj-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 8px;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--ccj-primary);
}
.ccj-kicker::before { content: ""; width: 24px; height: 4px; border-radius: 999px; background: var(--ccj-accent); }
.ccj-intro h2 { margin: 0; font-size: clamp(2rem, 4vw, 3.35rem); line-height: 1.05; letter-spacing: -.035em; color: var(--ccj-primary); }
.ccj-subtitle { margin: 14px 0 0; max-width: 680px; font-size: 1.05rem; line-height: 1.65; color: var(--ccj-muted); }

.ccj-filters {
  display: grid;
  grid-template-columns: minmax(260px, 1.55fr) repeat(3, minmax(170px, .8fr));
  gap: 12px;
  padding: 18px;
  background: #f7f4ea;
  border: 1px solid var(--ccj-line);
  border-radius: 24px;
  box-shadow: 0 12px 35px rgba(11,45,92,.06);
}
.ccj-filter { min-width: 0; }
.ccj-filter label { display: block; margin: 0 0 7px; font-size: .76rem; font-weight: 800; letter-spacing: .035em; color: var(--ccj-primary); }
.ccj-filter input, .ccj-filter select {
  width: 100%; min-height: 50px; margin: 0; padding: 0 15px;
  border: 1px solid rgba(11,45,92,.20); border-radius: 14px; background: #fff;
  color: #1c2e44; font: inherit; font-size: .94rem; outline: none;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.ccj-filter input:focus, .ccj-filter select:focus { border-color: var(--ccj-primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--ccj-accent) 36%, transparent); }

.ccj-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 22px 2px 12px; }
.ccj-count { margin: 0; font-size: .94rem; color: var(--ccj-muted); }
.ccj-count strong { color: var(--ccj-primary); }
.ccj-reset { appearance: none; border: 0; background: transparent; color: var(--ccj-primary); font: inherit; font-size: .88rem; font-weight: 800; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.ccj-reset:hover { text-decoration-thickness: 2px; }

.ccj-list { display: grid; gap: 14px; }
.ccj-card {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 28px;
  padding: 24px 26px; background: var(--ccj-paper); border: 1px solid var(--ccj-line); border-radius: 22px;
  box-shadow: 0 7px 24px rgba(11,45,92,.045);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.ccj-card:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--ccj-primary) 32%, transparent); box-shadow: 0 15px 38px rgba(11,45,92,.10); }
.ccj-card[hidden] { display: none !important; }
.ccj-card-topline { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 7px; }
.ccj-category { font-size: .78rem; font-weight: 800; color: var(--ccj-primary); opacity: .72; }
.ccj-badge { display: inline-flex; align-items: center; min-height: 25px; padding: 3px 9px; border-radius: 999px; background: var(--ccj-accent); color: var(--ccj-primary); font-size: .72rem; font-weight: 900; }
.ccj-card h3 { margin: 0; font-size: clamp(1.15rem, 2vw, 1.42rem); line-height: 1.25; letter-spacing: -.018em; }
.ccj-card h3 a { color: var(--ccj-primary); text-decoration: none; }
.ccj-card h3 a:hover { text-decoration: underline; text-decoration-color: var(--ccj-accent); text-decoration-thickness: 4px; text-underline-offset: 3px; }
.ccj-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 11px; font-size: .89rem; color: var(--ccj-muted); }
.ccj-meta span { display: inline-flex; align-items: center; gap: 6px; }
.ccj-meta span > span { color: var(--ccj-primary); font-weight: 900; }
.ccj-excerpt { margin: 13px 0 0; max-width: 760px; color: #4d5b6d; line-height: 1.55; font-size: .93rem; }
.ccj-more {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; white-space: nowrap;
  min-height: 46px; padding: 0 18px; border-radius: 999px; background: var(--ccj-primary); color: #fff !important;
  text-decoration: none !important; font-size: .9rem; font-weight: 850;
  transition: background .18s ease, color .18s ease, transform .18s ease;
}
.ccj-more:hover { background: var(--ccj-accent); color: var(--ccj-primary) !important; transform: translateX(2px); }
.ccj-more span { font-size: 1.08rem; }

.ccj-empty { padding: 34px 24px; margin-top: 14px; border: 1px dashed rgba(11,45,92,.24); border-radius: 22px; text-align: center; background: #faf8f0; }
.ccj-empty strong, .ccj-empty span { display: block; }
.ccj-empty strong { margin-bottom: 6px; color: var(--ccj-primary); }
.ccj-empty span { color: var(--ccj-muted); }

@media (max-width: 980px) {
  .ccj-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ccj-filter-search { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
  .ccj-filters { grid-template-columns: 1fr; padding: 14px; border-radius: 20px; }
  .ccj-filter-search { grid-column: auto; }
  .ccj-toolbar { align-items: flex-start; }
  .ccj-card { grid-template-columns: 1fr; gap: 18px; padding: 20px; border-radius: 19px; }
  .ccj-more { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .ccj-card, .ccj-more, .ccj-filter input, .ccj-filter select { transition: none; }
}

/* Demo-Kachelansicht */
.ccj-layout-tiles .ccj-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.ccj-layout-tiles.ccj-cols-3 .ccj-list{grid-template-columns:repeat(3,minmax(0,1fr))}.ccj-layout-tiles .ccj-card{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;overflow:hidden;height:100%;background:var(--ccj-paper)}.ccj-layout-tiles .ccj-card-image{display:block;aspect-ratio:16/9;overflow:hidden;background:#f7f4ea;text-decoration:none}.ccj-layout-tiles .ccj-card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .28s ease}.ccj-layout-tiles .ccj-card:hover .ccj-card-image img{transform:scale(1.025)}.ccj-layout-tiles .ccj-card-main{padding:22px 22px 10px;flex:1}.ccj-layout-tiles .ccj-card h3{font-size:clamp(1.18rem,2vw,1.5rem)}.ccj-layout-tiles .ccj-more{margin:14px 22px 22px;align-self:flex-start}.ccj-layout-tiles .ccj-meta{gap:7px 13px}

/* Demo-Detailseite */
body.ccj-job-detail .wp-site-blocks>main{margin-top:0}.ccj-single{--ccj-primary:#0B2D5C;--ccj-accent:#FFC928;--ccj-filter-bg:#F7F4EA;--ccj-text:#0B2D5C;--ccj-muted:#5F6A78;font-family:Manrope,Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ccj-text);width:100%;padding:38px 20px 72px}.ccj-single *,.ccj-single *:before,.ccj-single *:after{box-sizing:border-box}.ccj-single-shell{max-width:1180px;margin:0 auto}.ccj-back{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;color:var(--ccj-primary)!important;text-decoration:none!important;font-weight:800;font-size:.92rem}.ccj-back:hover{text-decoration:underline!important;text-decoration-color:var(--ccj-accent)!important;text-decoration-thickness:3px!important;text-underline-offset:4px}.ccj-single-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);min-height:430px;border-radius:30px;overflow:hidden;background:var(--ccj-primary);box-shadow:0 18px 55px rgba(11,45,92,.16)}.ccj-single-hero-copy{padding:clamp(34px,5vw,66px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;color:#fff}.ccj-demo-brand{display:inline-flex;align-items:flex-end;gap:2px;margin:0 0 28px;padding:10px 15px;border-radius:14px;background:#fff;color:var(--ccj-primary)!important;text-decoration:none!important;font-size:1.1rem;font-weight:900;letter-spacing:-.02em}.ccj-demo-brand span{color:var(--ccj-accent);font-size:1.35em;line-height:.8}.ccj-single-logo{display:inline-block;margin:0 0 30px;padding:10px 14px;border-radius:13px;background:#fff;text-decoration:none}.ccj-single-logo img{display:block;max-width:220px;max-height:64px;width:auto;height:auto;object-fit:contain}.ccj-single-kicker{display:inline-flex;align-items:center;gap:9px;margin:0 0 12px;font-size:.78rem;font-weight:900;letter-spacing:.10em;text-transform:uppercase;color:#fff}.ccj-single-kicker:before{content:"";width:27px;height:5px;border-radius:99px;background:var(--ccj-accent)}.ccj-single-hero h1{margin:0;max-width:780px;color:#fff;font-size:clamp(2rem,5vw,4rem);line-height:1.04;letter-spacing:-.04em}.ccj-single-meta{display:flex;flex-wrap:wrap;gap:9px;margin:23px 0 0}.ccj-single-meta span{display:inline-flex;align-items:center;min-height:34px;padding:5px 11px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.09);color:#fff;font-size:.86rem;font-weight:650}.ccj-apply{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 22px;border-radius:999px;background:var(--ccj-primary);color:#fff!important;text-decoration:none!important;font-weight:850;line-height:1;transition:transform .18s ease,background .18s ease,color .18s ease}.ccj-apply:hover{background:var(--ccj-accent);color:var(--ccj-primary)!important;transform:translateY(-1px)}.ccj-apply-hero{margin-top:28px;background:var(--ccj-accent);color:var(--ccj-primary)!important}.ccj-apply-hero:hover{background:#fff;color:var(--ccj-primary)!important}.ccj-single-hero-image{margin:0;min-height:100%;background:var(--ccj-filter-bg)}.ccj-single-hero-image img{display:block;width:100%;height:100%;min-height:430px;object-fit:cover}.ccj-single-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:42px;align-items:start;margin-top:38px}.ccj-single-content{min-width:0;padding:8px 3px;color:#27384b;font-size:1.02rem;line-height:1.7}.ccj-single-content>.wp-block-group,.ccj-single-content .alignwide,.ccj-single-content .alignfull{max-width:none!important;width:auto!important;margin-left:0!important;margin-right:0!important}.ccj-single-content h2,.ccj-single-content h3,.ccj-single-content h4{color:var(--ccj-text);line-height:1.18;letter-spacing:-.02em}.ccj-single-content h2{margin:38px 0 14px;font-size:clamp(1.45rem,2.5vw,2rem)}.ccj-single-content h3{margin:30px 0 12px;font-size:1.3rem}.ccj-single-content p{margin:0 0 17px}.ccj-single-content ul,.ccj-single-content ol{margin:0 0 22px;padding-left:1.3em}.ccj-single-content li{margin:7px 0;padding-left:4px}.ccj-single-content li::marker{color:var(--ccj-primary)}.ccj-single-content a{color:var(--ccj-primary);text-decoration-color:var(--ccj-accent);text-decoration-thickness:2px;text-underline-offset:3px}.ccj-single-content img{max-width:100%;height:auto;border-radius:18px}.ccj-single-aside{position:sticky;top:28px;padding:25px;border:1px solid rgba(11,45,92,.14);border-radius:23px;background:#f7f4ea;box-shadow:0 12px 35px rgba(11,45,92,.06)}.ccj-single-aside h2{margin:0 0 17px;color:var(--ccj-text);font-size:1.25rem}.ccj-single-aside dl{margin:0 0 22px}.ccj-single-aside dl>div{display:grid;gap:3px;padding:11px 0;border-bottom:1px solid rgba(11,45,92,.12)}.ccj-single-aside dl>div:first-child{padding-top:0}.ccj-single-aside dt{font-size:.73rem;font-weight:850;text-transform:uppercase;letter-spacing:.07em;color:var(--ccj-muted)}.ccj-single-aside dd{margin:0;color:var(--ccj-text);font-weight:700;line-height:1.35}.ccj-single-aside .ccj-apply{width:100%}.ccj-single-bottom-cta{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:50px;padding:30px 34px;border-radius:25px;background:var(--ccj-primary);color:#fff}.ccj-single-bottom-cta p{margin:0 0 4px;color:var(--ccj-accent);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.09em}.ccj-single-bottom-cta h2{margin:0;color:#fff;font-size:clamp(1.35rem,2.5vw,2rem);line-height:1.2}.ccj-single-bottom-cta .ccj-apply{background:var(--ccj-accent);color:var(--ccj-primary)!important;white-space:nowrap}.ccj-single-bottom-cta .ccj-apply:hover{background:#fff}
@media(max-width:980px){.ccj-layout-tiles.ccj-cols-3 .ccj-list{grid-template-columns:repeat(2,minmax(0,1fr))}.ccj-single-hero{grid-template-columns:1fr;min-height:0}.ccj-single-hero-image img{min-height:0;height:390px}.ccj-single-layout{grid-template-columns:1fr}.ccj-single-aside{position:static}.ccj-single-bottom-cta{align-items:flex-start;flex-direction:column}}@media(max-width:700px){.ccj-layout-tiles .ccj-list,.ccj-layout-tiles.ccj-cols-3 .ccj-list{grid-template-columns:1fr}.ccj-layout-tiles .ccj-more{align-self:stretch}.ccj-single{padding:24px 14px 50px}.ccj-single-hero{border-radius:23px}.ccj-single-hero-copy{padding:30px 23px}.ccj-single-hero h1{font-size:clamp(2rem,10vw,3rem)}.ccj-single-hero-image img{height:260px}.ccj-single-layout{gap:25px;margin-top:26px}.ccj-single-aside{padding:21px;border-radius:19px}.ccj-single-bottom-cta{margin-top:34px;padding:25px 22px;border-radius:20px}.ccj-single-bottom-cta .ccj-apply{width:100%}}
