/*
 Theme Name:   Hello Elementor Child 2
 Template:     hello-elementor
*/

/* ==============================
   Design Tokens / Variablen
============================== */
:root{
  --blue-dark:#000a1b;
  --blue-light:#1296ff;

  --radius:4px;
  --radius-sm:2px;

  --shadow-soft:0 6px 20px rgba(0,0,0,.15);
  --shadow-hard:0 8px 20px rgba(0,0,0,.25);

  --t-fast:.18s ease;
  --t-med:.25s ease;

  /* sinnvolle Ergänzungen (ersetzen harte Wiederholungen) */
  --text:#fff;
  --text-soft:rgba(255,255,255,.86);
  --muted:rgba(166,184,214,.92);
  --line:rgba(255,255,255,.10);
}

/* ==============================
   Fonts
============================== */
@font-face{
  font-family:"Inter";
  src:url("fonts/Inter-Regular.woff2") format("woff2"),
      url("fonts/Inter-Regular.ttf") format("truetype");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"Inter";
  src:url("fonts/Inter-Bold.woff2") format("woff2"),
      url("fonts/Inter-Bold.ttf") format("truetype");
  font-weight:700;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"Oxanium";
  src:url("fonts/Oxanium-Regular.woff2") format("woff2"),
      url("fonts/Oxanium-Regular.ttf") format("truetype");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

/* ==============================
   Global
============================== */
html,body{
  font-family:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.site{max-width:100%;}

.font-oxanium,
.font-oxanium *{
  font-family:"Oxanium", sans-serif !important;
}

/* Scroll Offset (Anker) */
html{scroll-padding-top:110px;}
@media (max-width:767px){
  html{scroll-padding-top:80px;}
}

/* Fokus sichtbar (Accessibility) */
a:focus-visible,
button:focus-visible{
  outline:2px solid var(--blue-light);
  outline-offset:2px;
}

/* ==============================
   Header
============================== */
.custom-site-header{
  position:sticky;
  top:0;
  z-index:999;
  width:100%;
  box-sizing:border-box;
  padding:10px 30px;

  color:var(--text);
  background:linear-gradient(
    to bottom,
    rgba(0,10,27,1) 0%,
    rgba(0,10,27,1) 30%,
    rgba(0,10,27,.9) 100%
  );
  transition:background var(--t-med), box-shadow var(--t-med);
  box-shadow:none;

  will-change:box-shadow, background;
}

/* Gradient Line unten */
.custom-site-header::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:3px;
  pointer-events:none;
  background:linear-gradient(
    to right,
    transparent 0%,
    transparent 10%,
    var(--blue-dark) 10%,
    var(--blue-light) 50%,
    var(--blue-dark) 90%,
    transparent 90%,
    transparent 100%
  );
}

.custom-site-header.is-scrolled{
  background-color:var(--blue-dark);
  box-shadow:var(--shadow-hard);
}
.custom-site-header.is-scrolled::after{
  background:linear-gradient(
    to right,
    var(--blue-dark) 0%,
    var(--blue-dark) 10%,
    var(--blue-light) 50%,
    var(--blue-dark) 90%,
    var(--blue-dark) 100%
  );
}

/* Inner */
.header-inner{
  max-width:1440px;
  width:100%;
  margin:0 auto;
  box-sizing:border-box;

  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:nowrap;
}

.header-left,
.header-right{
  display:flex;
  align-items:center;
  gap:15px;
}

.header-logo{order:1;}
.header-left{order:2;}
.header-right{order:3;}

/* Logo: eine Logik */
.header-logo img,
.header-logo img.custom-logo,
.header-logo .custom-logo,
.custom-logo-link img,
.custom-logo-link svg{
  height:64px;
  width:auto;
  transition:height var(--t-med);
  will-change:height;
}
.custom-site-header.is-scrolled .header-logo img,
.custom-site-header.is-scrolled .header-logo img.custom-logo,
.custom-site-header.is-scrolled .header-logo .custom-logo,
.custom-site-header.is-scrolled .custom-logo-link img,
.custom-site-header.is-scrolled .custom-logo-link svg{
  height:40px;
}

/* ===== Menü Desktop ===== */
.header-menu{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  gap:20px;
}
.header-menu > li{position:relative;}

.header-menu > li > a{
  display:inline-block;
  padding:6px 10px;
  text-decoration:none;
  color:var(--text);
  font-weight:500;
  border-radius:var(--radius-sm);
  transition:background-color var(--t-fast), color var(--t-fast);
}

/* Hover/Active */
.header-menu > li > a:hover,
.header-menu > li > a:focus,
.header-menu > li.current-menu-item > a,
.header-menu > li.current-menu-parent > a,
.header-menu > li.current-menu-ancestor > a,
.header-menu > li.current_page_parent > a,
.header-menu > li.current_page_ancestor > a,
.header-menu > li.menu-item-has-children:hover > a,
.header-menu > li.menu-item-has-children:focus-within > a{
  background-color:#fff;
  color:var(--blue-dark);
}

/* Chevron bei Submenu (Desktop) */
.header-menu > li.menu-item-has-children > a{
  position:relative;
  padding-right:28px;
}
.header-menu > li.menu-item-has-children > a::after{
  content:"\f078";
  font-family:"Font Awesome 6 Free";
  font-weight:900;
  font-size:.7em;
  position:absolute;
  right:8px;
  top:50%;
  transform:translateY(-50%);
}
.header-menu > li.menu-item-has-children:hover > a::after,
.header-menu > li.menu-item-has-children:focus-within > a::after{
  content:"\f077";
}

/* Submenu Desktop */
@media (min-width:1220px){
  .header-menu .sub-menu{
    position:absolute;
    top:100%;
    left:0;
    min-width:150px;

    list-style:none;
    margin:0;
    padding:4px 0 12px;
    display:none;

    background-color:var(--blue-dark);
    box-shadow:0 4px 20px rgba(0,0,0,.15);
    border-radius:var(--radius-sm);
    overflow:hidden;

    border-top:8px solid transparent;
    background-clip:padding-box;

    z-index:99;
  }

  .header-menu li:hover > .sub-menu,
  .header-menu li:focus-within > .sub-menu{
    display:block;
  }

  /* Hover-gap */
  .header-menu > li.menu-item-has-children::after{
    content:"";
    position:absolute;
    left:0; right:0;
    top:100%;
    height:10px;
    pointer-events:none;
  }
}

.header-menu .sub-menu li{width:100%;}
.header-menu .sub-menu a{
  display:block;
  padding:8px 15px;
  text-decoration:none;
  color:var(--text);
  white-space:nowrap;
  transition:background-color var(--t-fast), color var(--t-fast);
}
.header-menu .sub-menu a:hover,
.header-menu .sub-menu a:focus{
  background-color:var(--blue-light);
  color:#fff;
}

/* ===== Social & Language ===== */
.header-social .social-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  width:32px;
  height:32px;
  border-radius:var(--radius-sm);

  text-decoration:none;
  color:var(--text);
  font-size:14px;
  transition:background-color var(--t-fast), color var(--t-fast), transform var(--t-fast);
}
.header-social .social-link + .social-link{margin-left:8px;}
.header-social .social-link i{line-height:1;}
.header-social .social-link:hover,
.header-social .social-link:focus{
  background-color:var(--blue-light);
  color:var(--blue-dark);
  transform:translateY(-1px);
}

.header-lang{
  display:flex;
  align-items:center;
  gap:4px;
  font-size:14px;
}
.header-lang .lang-link{
  text-decoration:none;
  color:var(--text);
  text-transform:uppercase;
  font-weight:600;
}

/* ===== Burger ===== */
.header-burger{
  display:none;
  width:32px;
  height:32px;
  border:0;
  background:transparent;
  padding:0;
  cursor:pointer;
  position:relative;
}
.header-burger span{
  position:absolute;
  left:4px; right:4px;
  height:3px;
  background-color:#fff;
  border-radius:var(--radius-sm);
  transition:transform var(--t-fast), top var(--t-fast), opacity var(--t-fast);
}
.header-burger span:nth-child(1){top:8px;}
.header-burger span:nth-child(2){top:15px;}
.header-burger span:nth-child(3){top:22px;}

.custom-site-header.is-open .header-burger{z-index:1002 !important;}
.custom-site-header.is-open .header-burger span:nth-child(1){top:15px; transform:rotate(45deg);}
.custom-site-header.is-open .header-burger span:nth-child(2){opacity:0;}
.custom-site-header.is-open .header-burger span:nth-child(3){top:15px; transform:rotate(-45deg);}

.header-burger:hover,
.header-burger:focus{
  background-color:var(--blue-light);
}

/* ===== Header Actions ===== */
.header-actions{
  display:flex;
  align-items:center;
  gap:10px;
}
/* Buttons UND Links gleich behandeln */
button.header-btn,
a.header-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  padding:8px 10px;
  border-radius:var(--radius-sm);
  font-size:14px;
  font-weight:600;

  border:0;
  cursor:pointer;
  white-space:nowrap;
  text-decoration:none;

  transition:transform var(--t-fast), box-shadow var(--t-fast), background-color var(--t-fast), color var(--t-fast);
}

/* Hover / Focus */
button.header-btn:hover,
button.header-btn:focus,
a.header-btn:hover,
a.header-btn:focus{
  transform:translateY(-1px);
  box-shadow:0 4px 14px rgba(0,0,0,.35);
}

/* Kontakt */
button.header-btn-contact,
a.header-btn-contact{
  background-color:var(--blue-light);
  color:var(--blue-dark) !important;
}

button.header-btn-contact:hover,
button.header-btn-contact:focus,
a.header-btn-contact:hover,
a.header-btn-contact:focus{
  background-color:#fff;
  color:var(--blue-dark);
}

/* Suche */
button.header-btn-search,
a.header-btn-search{
  background-color:transparent;
  color:#fff;
  border:1px solid var(--blue-light);
}

button.header-btn-search:hover,
button.header-btn-search:focus,
a.header-btn-search:hover,
a.header-btn-search:focus{
  background-color:var(--blue-light);
  color:var(--blue-dark);
}

/* ==============================
   Responsive Header / Mobile Menü
============================== */
@media (max-width:1220px){
  .custom-site-header{padding:6px 12px;}

  .header-left{order:1;}
  .header-right{display:none; order:2;}
  .header-logo{order:3; margin-left:auto;}

  .header-inner{
    max-width:100%;
    padding:0;
    gap:10px;
  }

  .header-burger{display:block;}

  /* Backdrop */
  .menu-backdrop{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.45);
    opacity:0;
    visibility:hidden;
    transition:opacity var(--t-fast), visibility var(--t-fast);
    z-index:997;
  }
  .menu-backdrop.is-open{
    opacity:1;
    visibility:visible;
  }
  body.menu-open{overflow:hidden;}

  /* Menü als Fullscreen Overlay */
  .header-nav{
    position:fixed;
    inset:0;
    padding:90px 20px 24px;
    background:rgba(0,10,27,.96);
    display:none;
    overflow-y:auto;
    z-index:998;
  }
  .custom-site-header.is-open .header-nav{display:block;}

  .header-menu{
    flex-direction:column;
    gap:8px;
  }
  .header-menu > li > a{
    width:100%;
    padding:10px 20px;
    box-sizing:border-box;
  }

  /* Mobile Submenu: kein Chevron, Einzug + Dot per background */
  .header-menu > li.menu-item-has-children > a::after{
    content:none !important;
    display:none !important;
  }
  .header-menu > li.menu-item-has-children > a{
    padding-right:20px !important;
  }

  .header-menu .sub-menu,
  .header-menu .sub-menu li{
    list-style:none !important;
    margin:0 !important;
    padding-left:0 !important;
  }

  .header-menu .sub-menu{
    position:static;
    box-shadow:none;
    background-color:var(--blue-dark);
    border-top:0;
    border-radius:0;
  }

  .header-menu .sub-menu a{
    padding:8px 20px 8px 54px !important;
    box-sizing:border-box;
    color:#fff;

    background-image:radial-gradient(circle, var(--blue-light) 0 3px, transparent 4px);
    background-repeat:no-repeat;
    background-position:28px 50%;
    background-size:8px 8px;
  }
  .header-menu .sub-menu a:hover{
    background-color:var(--blue-light);
    color:#fff;
  }

  .header-menu .sub-menu li.current-menu-item > a,
  .header-menu .sub-menu li.current_page_item > a{
    background-color:rgba(18,150,255,.14) !important;
  }
}

/* ==============================
   Scroll-to-top Button
============================== */
#scrollToTopBtn{
  position:fixed;
  right:20px;
  bottom:20px;
  width:48px;
  height:48px;

  border-radius:var(--radius-sm);
  border:none;
  cursor:pointer;

  background:var(--blue-light);
  color:#fff;
  font-size:20px;

  box-shadow:0 4px 12px rgba(0,0,0,.3);

  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:opacity var(--t-fast), transform var(--t-fast), visibility var(--t-fast);
  z-index:9999;
}
#scrollToTopBtn::before{
  content:"";
  display:inline-block;
  width:12px;
  height:12px;
  border-top:2px solid #fff;
  border-right:2px solid #fff;
  transform:rotate(-45deg);
  margin-top:3px;
}
#scrollToTopBtn.show{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
#scrollToTopBtn:hover{filter:brightness(1.2);}

/* ==============================
   Footer
============================== */
.custom-site-footer{
  color:#fff;
  padding:40px 24px 24px;
  margin-top:60px;
  border-top:1px solid rgba(255,255,255,.08);
}
.custom-site-footer a{color:inherit; text-decoration:none;}
.custom-site-footer a:hover{text-decoration:underline;}

.custom-site-footer-inner{
  max-width:1400px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,2fr) repeat(3, minmax(0,1fr));
  gap:32px;
}
.footer-col h4{
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:12px;
  opacity:.8;
}
.footer-text,
.footer-tagline,
.footer-col p{
  font-size:14px;
  line-height:1.6;
  opacity:.9;
  margin:0 0 8px;
}
.footer-logo{
  font-weight:700;
  font-size:18px;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-bottom:8px;
}
.footer-tagline{font-weight:500; margin-bottom:12px;}

.footer-links{list-style:none; margin:0; padding:0;}
.footer-links li + li{margin-top:6px;}
.footer-links a{font-size:14px; opacity:.9;}
.footer-links a:hover{opacity:1;}

.footer-social{
  margin-top:12px;
  display:flex;
  gap:8px;
}
.footer-social a{
  width:28px;
  height:28px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.25);
  font-size:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  opacity:.9;
}
.footer-social a:hover{
  opacity:1;
  background:rgba(255,255,255,.08);
}

.custom-site-footer-bottom{
  border-top:1px solid rgba(255,255,255,.08);
  margin-top:32px;
  padding-top:16px;
}
.footer-bottom-inner{
  max-width:1440px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  font-size:12px;
  opacity:.8;
}
.footer-bottom-links{
  display:flex;
  align-items:center;
  gap:8px;
}
.dot-separator{opacity:.5;}

@media (max-width:900px){
  .custom-site-footer-inner{grid-template-columns:repeat(2, minmax(0,1fr));}
}
@media (max-width:600px){
  .custom-site-footer-inner{grid-template-columns:1fr;}
  .footer-bottom-inner{flex-direction:column; align-items:flex-start;}
}

/* Footer Gradient Line (dein Intec Footer) */
.custom-site-footer-intec{
  position:relative !important;
  isolation:isolate !important;
}
.custom-site-footer-intec::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:0 !important;
  height:3px !important;

  background-image:linear-gradient(
    to right,
    transparent 0%,
    transparent 10%,
    var(--blue-dark) 10%,
    var(--blue-light) 50%,
    var(--blue-dark) 90%,
    transparent 90%,
    transparent 100%
  ) !important;

  z-index:100 !important;
  pointer-events:none !important;
  display:block !important;
}

/* ==============================
   Personio – Quicklinks / Filters / Liste / Detail
============================== */
.personio-job-quicklinks{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin:0 0 1rem;
}

/* Quicklink (einmal sauber, kein Double) */
.personio-job-quicklink{
  display:inline-block;
  padding:.25rem .8rem !important;
  border-radius:2px !important;
  font-size:.8rem;
  text-decoration:none;
  cursor:pointer;

  border:1px solid rgba(255,255,255,.18) !important;
  background:rgba(3,13,34,.9);
  color:rgba(255,255,255,.75) !important;

  transition:background-color var(--t-fast), color var(--t-fast), border-color var(--t-fast), transform var(--t-fast);
}
.personio-job-quicklink:hover{
  background-color:rgba(8,26,68,.95) !important;
  color:#fff !important;
  transform:translateY(-1px);
}
.personio-job-quicklink.is-active{
  background-color:var(--blue-light) !important;
  border-color:var(--blue-light) !important;
  color:#020816 !important;
}
.personio-job-quicklink-reset{
  margin-left:auto;
  background:transparent !important;
  border-color:rgba(255,255,255,.25) !important;
  color:rgba(255,255,255,.8) !important;
}
.personio-job-quicklink-reset:hover{
  background:rgba(255,255,255,.08) !important;
}

/* Filters */
.personio-job-filters{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin:0 0 1.5rem;
  padding:0;
  border:0;
  background:none;
}
.personio-job-filters label,
.personio-job-filters-search{
  display:flex;
  flex-direction:column;
  font-size:.85rem;
  color:rgba(255,255,255,.8);
  min-width:180px;
}
.personio-job-filters-search{flex:1 1 220px;}

/* Inputs */
.personio-job-filters select,
.personio-job-filters input[type="text"]{
  margin-top:.25rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  padding:.35rem .75rem;
  font-size:.9rem;
  outline:none;
}
.personio-job-filters select:focus,
.personio-job-filters input[type="text"]:focus{
  border-color:var(--blue-light);
  box-shadow:0 0 0 1px rgba(76,201,255,.2);
}

/* Search field */
.personio-sr-only,
.screen-reader-text{
  position:absolute;
  width:1px; height:1px;
  padding:0; margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.personio-search-wrapper{
  position:relative;
  display:flex;
  align-items:center;
  width:100%;
}
.personio-job-filters input[type="search"]{
  width:100%;
  margin-top:0;
  border-radius:2px;
  border:1px solid rgba(255,255,255,.18);
  padding:.45rem 2rem .45rem .75rem;
  font-size:.9rem;
  outline:none;
  box-sizing:border-box;
}
.personio-job-filters input[type="search"]:focus{
  border-color:var(--blue-light);
  box-shadow:0 0 0 1px rgba(76,201,255,.3);
}
.personio-job-filters input[type="search"]::-webkit-search-cancel-button,
.personio-job-filters input[type="search"]::-webkit-search-decoration{
  -webkit-appearance:none;
}

/* Clear Button im Feld */
.personio-search-clear{
  position:absolute;
  top:50%;
  right:.55rem;
  transform:translateY(-50%);
  width:1.2rem;
  height:1.2rem;
  border-radius:50%;
  border:none !important;
  background:transparent !important;
  color:rgba(255,255,255,.7) !important;
  font-size:1rem;
  line-height:1rem;
  padding:0;
  cursor:pointer;
  display:none;
}
.personio-search-clear:hover{
  color:#fff !important;
  box-shadow:none !important;
}

/* Submit Button (Pink Reset kill) */
.personio-job-filters button[type="submit"]{
  margin-left:auto;
  align-self:flex-end;

  padding:.45rem 1.2rem !important;
  border-radius:2px !important;

  border:1px solid var(--blue-light) !important;
  background-color:var(--blue-light) !important;
  color:#020816 !important;

  font-size:.9rem;
  font-weight:400;
  cursor:pointer;
  white-space:nowrap;

  transition:transform var(--t-fast), box-shadow var(--t-fast), background-color var(--t-fast), border-color var(--t-fast);
}
.personio-job-filters button[type="submit"]:hover{
  transform:translateY(-1px);
  box-shadow:0 4px 10px rgba(0,0,0,.35);
  background-color:#7ad7ff !important;
  border-color:#7ad7ff !important;
}

/* Liste & Cards */
.personio-job-location-heading{
  margin:1.25rem 0 .5rem;
  font-size:1rem;
  font-weight:600;
  color:var(--blue-light);
  border-radius:0 !important;
}

.personio-job-list{
  display:grid;
  gap:1.25rem;
  margin-left:.25rem;
}
.personio-job-list > p{color:#fff;}

.personio-job-item{
  display:block;
  cursor:pointer;
  text-decoration:none;

  border-radius:2px !important;
  border:1px solid rgba(255,255,255,.04);
  box-shadow:0 2px 8px rgba(0,0,0,.28);
  padding:.8rem 1rem .9rem;

  color:#fff;

  transition:border-color var(--t-fast), box-shadow var(--t-fast), transform var(--t-fast), background-color var(--t-fast);
}
.personio-job-item:hover{
  border-color:var(--blue-light);
  box-shadow:0 4px 14px rgba(0,0,0,.35);
  transform:translateY(-1px);
}

.personio-job-item-inner{display:flex; flex-direction:column; border-radius:2px !important;}
.personio-job-header-row{display:flex; align-items:center; justify-content:space-between; gap:1rem;}
.personio-job-title{margin:0; font-weight:600; font-size:1.05rem; color:#fff;}
.personio-job-meta-inline{font-size:.85rem; color:rgba(255,255,255,.75); white-space:nowrap;}
.personio-job-meta-inline span{
  padding:.1rem .4rem;
  border-radius:2px;
  background:rgba(255,255,255,.08);
  color:rgba(255,255,255,.9);
  font-size:.75rem;
}

/* Detail */
.personio-job-detail{
  max-width:1320px;
  margin:0 auto;
  padding:1.5rem 1.25rem;
  border-radius:2px;
  background:rgba(3,15,40,.96);
  border:1px solid rgba(255,255,255,.06);
  box-shadow:0 4px 16px rgba(0,0,0,.4);
  color:#fff;
}
.personio-job-title-detail{font-size:1.8rem; font-weight:700; margin:0 0 .5rem;}
.personio-job-meta-detail{font-size:.95rem; color:rgba(255,255,255,.75);}
.personio-job-body{display:flex; flex-direction:column; gap:1.5rem;}
.personio-job-section{padding:1rem 0; border-top:1px solid rgba(255,255,255,.08);}
.personio-job-section:first-of-type{border-top:none;}
.personio-job-section h2{font-size:1.1rem; margin:0 0 .5rem; color:var(--blue-light);}
.personio-job-section-content{font-size:.95rem; line-height:1.6; color:rgba(255,255,255,.88);}

.personio-back{margin-bottom:1rem;}
.personio-back-link{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.35rem .8rem;

  border-radius:2px;
  font-size:.9rem;
  font-weight:600;
  text-decoration:none;

  border:1px solid var(--blue-light);
  background-color:var(--blue-dark);
  color:#fff;

  transition:background-color var(--t-fast), color var(--t-fast), transform var(--t-fast), box-shadow var(--t-fast), border-color var(--t-fast);
}
.personio-back-link:hover,
.personio-back-link:focus{
  background-color:var(--blue-light);
  color:var(--blue-dark);
  border-color:var(--blue-light);
  box-shadow:0 3px 10px rgba(0,0,0,.3);
  transform:translateY(-1px);
}

/* Apply Buttons */
.personio-job-cta{margin-top:1.5rem;}
.personio-job-cta .personio-job-apply{
  display:inline-block;
  padding:.55rem 1.4rem;
  border-radius:2px;
  background-color:var(--blue-light) !important;
  color:#020816 !important;
  text-decoration:none !important;
  font-weight:600;
  font-size:.95rem;
  border:none;
  box-shadow:0 4px 10px rgba(0,0,0,.35);
  transition:transform var(--t-fast), box-shadow var(--t-fast), background-color var(--t-fast);
}
.personio-job-cta .personio-job-apply:hover{
  background-color:#7ad7ff !important;
  transform:translateY(-1px);
  box-shadow:0 6px 16px rgba(0,0,0,.45);
}

.personio-job-footer-cta{margin-top:2rem; text-align:center;}
.personio-job-apply-bottom{
  display:inline-block;
  padding:.55rem 1.4rem;
  border-radius:2px;
  background:var(--blue-light);
  color:#020816;
  text-decoration:none;
  font-weight:600;
  font-size:.95rem;
  transition:transform var(--t-fast), box-shadow var(--t-fast), background-color var(--t-fast);
}
.personio-job-apply-bottom:hover{
  background:#7ad7ff;
  transform:translateY(-1px);
  box-shadow:0 4px 10px rgba(0,0,0,.35);
}

.personio-job-external-hint{
  margin-top:.4rem;
  font-size:.8rem;
  color:rgba(255,255,255,.65);
}

/* Row Layout */
.personio-job-row{
  display:flex;
  gap:.75rem;
  align-items:stretch;
  margin-bottom:.75rem;
}
.personio-job-item-main{flex:1 1 auto; padding:.9rem 1rem;}
.personio-job-item-apply{
  flex:0 0 180px;
  padding:.9rem 1rem;
  display:flex;
  align-items:center;
  justify-content:center;
}
.personio-job-item-main:hover,
.personio-job-item-apply:hover{
  border-color:var(--blue-light);
  box-shadow:0 4px 14px rgba(0,0,0,.35);
  transform:translateY(-1px);
}
.personio-job-apply-inner{text-align:center;}
.personio-job-apply-label{font-size:.9rem; font-weight:600; color:var(--blue-light);}

/* Personio Responsive */
@media (max-width:768px){
  .personio-job-row{flex-direction:column;}
  .personio-job-item-apply{flex:1 1 auto; width:100%;}
  .personio-job-meta-inline{white-space:normal; margin-top:.15rem;}
}
@media (max-width:640px){
  .personio-job-header-row{flex-direction:column; align-items:flex-start;}
  .personio-job-meta-inline{white-space:normal;}
  .personio-job-list{margin-left:0;}
}
@media (max-width:600px){
  .personio-job-filters{flex-direction:column; align-items:stretch;}
  .personio-job-filters button[type="submit"]{margin-left:0; width:100%; text-align:center;}
  .personio-job-quicklinks{flex-direction:column;}
  .personio-job-quicklink-reset{margin-left:0;}
}

/* ==============================
   Search Overlay
============================== */
.search-overlay{
  position:fixed;
  inset:0;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-10px);
  transition:opacity var(--t-fast), transform var(--t-fast), visibility var(--t-fast);
  z-index:999;
}
.search-overlay.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
}
.search-overlay-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.8);
}
.search-overlay-inner{
  position:relative;
  max-width:600px;
  margin:8vh auto 0;
  padding:2rem;
  border-radius:2px;
}
button.search-overlay-close{
  position:absolute;
  top:.75rem;
  right:.75rem;
  background:transparent;
  border:none;
  font-size:1.2rem;
  cursor:pointer;
  color:var(--blue-dark);
}
@media (max-width:767px){
  .search-overlay-inner{
    margin:0;
    min-height:100vh;
    border-radius:0;
  }
}

.search-field-wrap{position:relative;}
.search-form{display:block;}
.search-field{
  width:100%;
  padding:.75rem 2rem .75rem 1rem;
  border-radius:2px;
  border:2px solid var(--blue-light) !important;
  background:#fff;
  font-size:1rem;
}
.search-field:focus{
  outline:none;
  box-shadow:0 0 0 1px var(--blue-light);
}

.search-submit-icon{
  position:absolute;
  top:50%;
  right:.5rem;
  transform:translateY(-50%);
  width:2.25rem;
  height:2.25rem;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  border:1px solid var(--blue-dark);
  border-radius:2px;
  background:var(--blue-dark);
  color:#fff;
  cursor:pointer;
}
#search-overlay .search-submit-icon:hover{opacity:.8;}
.search-submit-icon:focus-visible{outline:2px solid var(--blue-light); outline-offset:2px;}

#search-overlay button,
#search-overlay .search-submit-icon{
  -webkit-appearance:none;
  appearance:none;
  background:var(--blue-light) !important;
  border:1px solid var(--blue-light) !important;
  color:#fff !important;
  text-decoration:none !important;
}

#search-overlay input[type="search"]::-webkit-search-cancel-button,
#search-overlay input[type="search"]::-webkit-search-decoration,
#search-overlay input[type="search"]::-webkit-search-results-button,
#search-overlay input[type="search"]::-webkit-search-results-decoration{
  display:none;
}

/* Search Results */
.search-results-list{
  display:flex;
  flex-direction:column;
  gap:1.5rem;
}
.search-result-item{
  border:1px solid #eee;
  border-radius:2px;
  padding:1rem;
}
.search-result-title{margin:0 0 .5rem;}
.search-result-title a{color:var(--blue-dark); text-decoration:none;}
.search-result-title a:hover{color:var(--blue-light);}
.search-result-excerpt{margin-bottom:.75rem; font-size:.95rem;}

body.search-results .site-main,
body.search-results #primary,
body.search-results .content-area{
  max-width:1440px;
  margin:0 auto;
  padding:20px 10px;
  box-sizing:border-box;
}
body.search-results{color:#fff;}
body.search-results .entry-title a{color:#fff; text-decoration:none;}
body.search-results .entry-title a:hover,
body.search-results .entry-title a:focus{text-decoration:underline;}
body.search-results .entry-meta,
body.search-results .entry-meta span{color:#ffffffcc; font-size:13px;}
.no-results.not-found p{margin:10px 0 0; color:#fff;}

/* ==============================
   Content Helpers
============================== */
.has-accent-bar{
  position:relative;
  padding-bottom:12px;
}
.has-accent-bar::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:90px;
  height:2px;
  background:var(--blue-light);
  border-radius:2px;
}

.accent-paragraph{
  position:relative;
  padding-left:18px;
  color:#AAB4C3;
}
.accent-paragraph::before{
  content:"";
  position:absolute;
  left:0;
  top:4px;
  width:2px;
  height:calc(100% - 8px);
  background:var(--blue-light);
}

/* About / Service (dein Stil, nur gesäubert) */
.about-copy,
.service-copy{max-width:1440px;}

.about-copy .about-lead,
.service-copy .service-lead{
  font-size:26px;
  font-weight:600;
  color:#fff;
}
.about-copy .about-lead{line-height:1.4; margin:0 0 24px;}
.service-copy .service-lead{line-height:1.35; margin:0 0 18px;}

.about-copy .about-body,
.service-copy .service-body{
  font-size:18px;
  font-weight:400;
  color:#AAB4C3;
}
.about-copy .about-body{line-height:1.65; margin:0 0 28px;}
.service-copy .service-body{line-height:1.7; margin:0 0 18px;}

.about-copy .about-accent,
.service-copy .service-accent{
  position:relative;
  padding-left:20px;
  font-size:16px;
  font-weight:500;
  color:#fff;
  margin:0;
}
.about-copy .about-accent{line-height:1.65;}
.service-copy .service-accent{line-height:1.7;}

.about-copy .about-accent::before,
.service-copy .service-accent::before{
  content:"";
  position:absolute;
  left:0;
  top:6px;
  width:2px;
  height:calc(100% - 12px);
  background:var(--blue-light);
  border-radius:2px;
}

.service-copy .service-kicker{
  font-size:16px;
  line-height:1.4;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#fff;
  margin:22px 0 12px;
  position:relative;
  padding-bottom:10px;
}
.service-copy .service-kicker::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:90px;
  height:2px;
  background:var(--blue-light);
  border-radius:2px;
}
.service-copy .service-list{
  margin:0 0 22px;
  padding-left:18px;
  color:#AAB4C3;
  font-size:15.5px;
  line-height:1.7;
}
.service-copy .service-list li{margin:0 0 10px;}

/* ==============================
   Logo Grid
============================== */
.mycn-logo-grid{
  display:grid;
  grid-template-columns:repeat(5, minmax(0,1fr));
  gap:14px;
  align-items:center;
}
@media (max-width:820px){.mycn-logo-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:520px){.mycn-logo-grid{grid-template-columns:repeat(2,1fr);}}

.mycn-logo{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
  border-radius:2px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
}
.mycn-logo img{
  max-width:100%;
  max-height:44px;
  height:auto;
  width:auto;
  filter:brightness(0) invert(1);
  opacity:.78;
  transition:opacity var(--t-fast), transform var(--t-fast);
}
.mycn-logo:hover img{
  opacity:1;
  transform:translateY(-1px) scale(1.03);
}

/* ==============================
   News List – Mobile iOS Fix
============================== */
.mycn-news-row{
  background:rgba(0,10,27,.92) !important;
  border:1px solid rgba(255,255,255,.08);
}
@media (max-width:768px){
  .mycn-news-row-link,
  .mycn-news-row-link:visited,
  .mycn-news-row-link:hover,
  .mycn-news-row-link:focus{
    grid-template-columns:1fr !important;
    padding:12px !important;
    gap:12px !important;
  }
  .mycn-news-row-thumb{
    height:200px !important;
    border-radius:4px;
    overflow:hidden;
    background-position:center center;
    background-size:cover;
  }
}
@media (hover:none){
  .mycn-news-row-link:hover,
  .mycn-news-row-link:focus{
    background-color:transparent !important;
  }
}

/* ==============================
   Hover vs Touch sauber trennen
============================== */
@media (hover:none) and (pointer:coarse){
  .header-menu > li > a:hover,
  .header-social .social-link:hover,
  button.header-btn:hover,
  .personio-job-item:hover,
  .personio-job-quicklink:hover,
  .mycn-logo:hover img,
  .dimensionen-badge:hover,
  #scrollToTopBtn:hover{
    transform:none !important;
    box-shadow:none !important;
    filter:none !important;
  }

  .header-menu > li > a:active,
  .header-social .social-link:active,
  button.header-btn:active,
  .personio-job-item:active,
  .personio-job-quicklink:active,
  .personio-job-apply-bottom:active,
  #scrollToTopBtn:active{
    transform:translateY(1px) !important;
  }
}

/* ==============================
   SX Divider Helper
============================== */
.sx-has-divider{
  position:relative;
  --max:1440px;
  --divider-h:1px;
  --divider-gap:52px;
  --divider-opacity:.30;
  padding-bottom:calc(var(--divider-gap) + var(--divider-h));
}
.sx-has-divider::after{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:0;
  height:var(--divider-h);
  width:100%;
  max-width:var(--max);
  background:linear-gradient(
    90deg,
    transparent,
    rgba(18, 150, 255,var(--divider-opacity)),
    transparent
  );
  pointer-events:none;
}

/* Thumb helper */
.sx-dimThumb{
  aspect-ratio:4 / 3;
  position:relative;
  overflow:hidden;
  outline:1px solid rgba(18, 150, 255,.2);
  outline-offset:0;
}