/* =========================================================
   HEID LÖPER — GLOBALES CSS (komplett, bereinigt)
   ========================================================= */
.hlx-page{
  --hlx-red:#b43a3a; --hlx-red-2:#9c3131; --hlx-ink:#1a1c20; --hlx-dark:#14161a;
  --hlx-text:#33373f; --hlx-muted:#6b7280; --hlx-line:#e4e5e8;
  --hlx-surface:#ffffff; --hlx-bg:#f4f4f5; --hlx-bg-2:#ededee;
  width:100vw; max-width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
  padding:0; font-family:"Helvetica Neue",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  color:var(--hlx-text); line-height:1.6; background:var(--hlx-surface);
  box-sizing:border-box; overflow-x:hidden; -webkit-font-smoothing:antialiased;
}
.hlx-page *,.hlx-page *::before,.hlx-page *::after{ box-sizing:border-box; }
.hlx-page a{ color:inherit; text-decoration:none; }
.hlx-label{ display:inline-flex; align-items:center; gap:10px; margin:0 0 18px; color:var(--hlx-red); font-size:13px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; }
.hlx-label::before{ content:""; width:28px; height:2px; background:var(--hlx-red); }
/* BUTTONS */
.hlx-actions,.hlx-job-actions,.hlx-contact-actions{ display:flex; flex-wrap:wrap; gap:12px; }
.hlx-btn,.hlx-btn:link,.hlx-btn:visited{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:54px; padding:0 30px; border:2px solid transparent; border-radius:999px;
  font-size:14.5px; font-weight:700; letter-spacing:0.02em; text-transform:uppercase; cursor:pointer;
  text-decoration:none !important;
  transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,transform .2s;
}
.hlx-btn::after{ content:"\2192"; font-size:1.1em; line-height:1; }
.hlx-btn-text{ display:inline-block; line-height:1.15; }
.hlx-btn:focus-visible{ outline:2px solid var(--hlx-red); outline-offset:3px; }
.hlx-btn-accent,.hlx-btn-primary{ background:var(--hlx-red); color:#fff !important; border-color:#fff; box-shadow:0 0 0 2px var(--hlx-red); }
.hlx-btn-accent .hlx-btn-text,.hlx-btn-primary .hlx-btn-text,.hlx-btn-accent::after,.hlx-btn-primary::after{ color:#fff !important; }
.hlx-btn-accent:hover,.hlx-btn-primary:hover{ background:var(--hlx-red-2); color:#fff !important; border-color:#fff; box-shadow:0 0 0 2px var(--hlx-red-2); transform:translateY(-2px); }
.hlx-btn-secondary{ background:#fff; color:var(--hlx-red) !important; border-color:#fff; }
.hlx-btn-secondary .hlx-btn-text,.hlx-btn-secondary::after{ color:var(--hlx-red) !important; }
.hlx-btn-secondary:hover{ background:var(--hlx-red); color:#fff !important; border-color:#fff; transform:translateY(-2px); }
.hlx-btn-secondary:hover .hlx-btn-text,.hlx-btn-secondary:hover::after{ color:#fff !important; }
/* HERO */
.hlx-hero{ position:relative; background:#14161a; overflow:hidden; }
.hlx-hero::before{ content:""; position:absolute; right:-160px; top:-160px; width:520px; height:520px; background:rgba(180,58,58,0.16); border-radius:50%; pointer-events:none; z-index:0; }
.hlx-hero-bg{ position:absolute; inset:0; z-index:0; }
.hlx-hero-bg img{ width:100% !important; height:100% !important; max-width:none !important; object-fit:cover; object-position:center; display:block; opacity:0.5; }
.hlx-hero-bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(20,22,26,0.94) 0%, rgba(20,22,26,0.72) 48%, rgba(20,22,26,0.42) 100%); }
.hlx-hero-inner{
  position:relative; z-index:1; max-width:1280px; margin:0 auto;
  padding:clamp(56px,7vw,100px) clamp(20px,5vw,64px);
}
.hlx-hero-content{ max-width:720px; color:#fff; }
.hlx-hero .hlx-label{ color:#ff7b7b; }
.hlx-hero .hlx-label::before{ background:#ff7b7b; }
.hlx-hero h1{ margin:0 0 22px; max-width:16ch; color:#fff !important; font-size:clamp(38px,5.6vw,72px); line-height:1.05; letter-spacing:-0.02em; font-weight:800; }
.hlx-hero p{ margin:0; max-width:56ch; color:rgba(255,255,255,0.85) !important; font-size:clamp(17px,1.5vw,21px); line-height:1.55; }
@media (max-width:820px){ .hlx-hero-bg::after{ background:linear-gradient(180deg, rgba(20,22,26,0.72) 0%, rgba(20,22,26,0.92) 100%); } }
/* FACTS */
.hlx-facts{ background:var(--hlx-red); color:#fff; }
.hlx-facts-inner{ max-width:1280px; margin:0 auto; padding:clamp(34px,4vw,56px) clamp(20px,5vw,64px); display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(20px,2.5vw,36px); }
.hlx-fact{ min-width:0; }
.hlx-fact b{ display:block; font-size:clamp(22px,2.4vw,38px); line-height:1.06; letter-spacing:-0.015em; font-weight:800; hyphens:none; word-break:keep-all; }
.hlx-fact span{ display:block; margin-top:8px; color:rgba(255,255,255,0.85); font-size:14.5px; line-height:1.4; }
.hlx-fact + .hlx-fact{ border-left:1px solid rgba(255,255,255,0.25); padding-left:clamp(16px,2vw,30px); }
/* LEISTUNGEN KOPF */
.hlx-leistungen{ background:var(--hlx-bg); }
.hlx-leistungen-inner{ max-width:1280px; margin:0 auto; padding:clamp(56px,7vw,100px) clamp(20px,5vw,64px) 0; }
.hlx-leist-head{ max-width:760px; margin:0 0 clamp(28px,3vw,40px); }
.hlx-leist-head h2{ margin:0 0 12px; color:var(--hlx-ink); font-size:clamp(28px,3vw,44px); line-height:1.1; letter-spacing:-0.02em; font-weight:800; }
.hlx-leist-head p{ margin:0; color:var(--hlx-muted); font-size:clamp(16px,1.3vw,19px); line-height:1.55; }
/* =========================================================
   DIENSTLEISTUNGEN — 4×2 Raster (7 Kacheln + CTA), quadratisch
   ========================================================= */
.hlx-dl-wrap{ background:var(--hlx-bg); }
.hlx-dl-inner{ max-width:1200px; margin:0 auto; padding:clamp(28px,3vw,44px) clamp(20px,5vw,64px) clamp(56px,7vw,100px); }
.hlx-dl-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:clamp(16px,1.8vw,22px);
}
.hlx-dl-card{
  aspect-ratio:1 / 1;
  min-width:0;
  display:flex; flex-direction:column; text-align:left;
  background:#fff; border:1px solid var(--hlx-line);
  border-top:3px solid var(--hlx-red); border-radius:16px;
  padding:clamp(18px,1.6vw,26px);
  cursor:pointer; font-family:inherit; overflow:hidden;
  transition:transform .2s ease, box-shadow .2s ease;
}
.hlx-dl-card:hover{ transform:translateY(-4px); box-shadow:0 20px 44px rgba(20,22,26,0.12); }
.hlx-dl-card:focus-visible{ outline:2px solid var(--hlx-red); outline-offset:3px; }
.hlx-dl-no{ display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:50%; background:var(--hlx-red); color:#fff; font-size:14px; font-weight:800; margin-bottom:14px; }
.hlx-dl-card h3{ margin:0 0 6px; color:var(--hlx-ink); font-size:clamp(15px,1.1vw,18px); line-height:1.16; letter-spacing:-0.02em; font-weight:800; }
.hlx-dl-card p{ margin:0 0 10px; color:var(--hlx-muted); font-size:13px; line-height:1.45; }
.hlx-dl-more{ margin-top:auto; display:inline-flex; align-items:center; gap:6px; color:var(--hlx-red); font-size:13px; font-weight:700; }
.hlx-dl-more::after{ content:"\2192"; transition:transform .2s ease; }
.hlx-dl-card:hover .hlx-dl-more::after{ transform:translateX(4px); }
/* CTA-Kachel (rot) als 8. Feld */
.hlx-dl-cta{
  aspect-ratio:1 / 1; display:flex; flex-direction:column; justify-content:flex-start;
  background:var(--hlx-red); border-radius:16px; padding:clamp(18px,1.6vw,26px);
  color:#fff; text-decoration:none; text-align:left;
  transition:transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.hlx-dl-cta:hover{ transform:translateY(-4px); box-shadow:0 20px 44px rgba(180,58,58,0.28); background:var(--hlx-red-2); }
.hlx-dl-cta strong{ display:block; color:#fff; font-size:clamp(16px,1.2vw,20px); line-height:1.16; letter-spacing:-0.02em; font-weight:800; margin-bottom:8px; }
.hlx-dl-cta small{ color:rgba(255,255,255,0.85); font-size:13px; line-height:1.45; }
.hlx-dl-cta span{ display:inline-flex; align-items:center; gap:6px; color:#fff; font-size:13px; font-weight:700; margin-top:auto; }
.hlx-dl-cta span::after{ content:"\2192"; }
@media (max-width:900px){
  .hlx-dl-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width:520px){
  .hlx-dl-grid{ grid-template-columns:1fr; }
  .hlx-dl-card,.hlx-dl-cta{ aspect-ratio:auto; padding:22px 20px; }
}
/* =========================================================
   MODAL
   ========================================================= */
.hlx-modal-overlay{
  position:fixed; inset:0; z-index:99999;
  background:rgba(20,22,26,0.55);
  -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);
  display:none; align-items:flex-start; justify-content:center;
  padding:clamp(20px,5vh,80px) 16px; overflow-y:auto;
}
.hlx-modal-overlay.is-open{ display:flex; }
.hlx-modal{
  position:relative; width:100%; max-width:720px;
  background:#fff; border:1px solid var(--hlx-line);
  border-top:4px solid var(--hlx-red); border-radius:20px;
  padding:clamp(28px,3vw,48px);
  box-shadow:0 30px 80px rgba(20,22,26,0.30);
  animation:hlxModalIn .25s ease;
}
@keyframes hlxModalIn{ from{ opacity:0; transform:translateY(16px) scale(0.98); } to{ opacity:1; transform:none; } }
.hlx-modal-close{
  position:absolute; top:18px; right:18px;
  width:40px; height:40px; border-radius:50%;
  border:1px solid var(--hlx-line); background:#fff; color:var(--hlx-ink);
  font-size:22px; line-height:1; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:background-color .18s, color .18s, border-color .18s;
}
.hlx-modal-close:hover{ background:var(--hlx-red); color:#fff; border-color:var(--hlx-red); }
.hlx-modal-no{ display:inline-flex; align-items:center; justify-content:center; width:52px; height:52px; border-radius:50%; background:var(--hlx-red); color:#fff; font-size:17px; font-weight:800; margin-bottom:22px; }
.hlx-modal h3{ margin:0 0 8px; color:var(--hlx-ink); font-size:clamp(26px,2.4vw,36px); line-height:1.12; letter-spacing:-0.02em; font-weight:800; }
.hlx-modal .hlx-claim{ margin:0 0 20px; color:var(--hlx-red); font-size:clamp(16px,1.4vw,19px); font-weight:700; }
.hlx-modal p{ margin:0 0 14px; color:var(--hlx-muted); font-size:16px; line-height:1.65; }
.hlx-modal p strong{ color:var(--hlx-ink); }
.hlx-modal-fazit{ margin-top:20px; padding-top:18px; border-top:2px solid var(--hlx-red); color:var(--hlx-ink); font-size:16px; line-height:1.5; font-weight:800; }
.hlx-modal-info{ margin-top:26px; }
.hlx-modal-eyebrow{ display:block; margin-bottom:8px; color:var(--hlx-red); font-size:12px; font-weight:800; letter-spacing:0.12em; text-transform:uppercase; }
.hlx-modal-info h4{ margin:0 0 6px; color:var(--hlx-ink); font-size:18px; line-height:1.3; font-weight:800; }
.hlx-modal-info > p{ margin:0 0 14px; }
.hlx-facts-cards{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:14px; }
.hlx-fact-card{ background:var(--hlx-bg); border:1px solid var(--hlx-line); border-radius:14px; padding:20px; }
.hlx-fact-icon{ width:44px; height:44px; border-radius:12px; background:#fff; border:1px solid var(--hlx-line); display:flex; align-items:center; justify-content:center; color:var(--hlx-red); margin-bottom:14px; }
.hlx-fact-icon svg{ width:22px; height:22px; }
.hlx-fact-label{ display:block; margin-bottom:6px; color:var(--hlx-muted); font-size:11px; font-weight:800; letter-spacing:0.1em; text-transform:uppercase; }
.hlx-fact-value{ display:block; color:var(--hlx-ink); font-size:16px; line-height:1.4; font-weight:800; }
@media (max-width:520px){ .hlx-facts-cards{ grid-template-columns:1fr; } }
/* =========================================================
   CONTACT (CTA-Sektion)
   ========================================================= */
.hlx-contact{ background:var(--hlx-red); color:#fff; padding:clamp(56px,7vw,100px) 0; }
.hlx-contact-inner{ max-width:1280px; margin:0 auto; padding:0 clamp(20px,5vw,64px); display:grid; grid-template-columns:minmax(0,1fr) auto; gap:clamp(24px,4vw,48px); align-items:center; }
.hlx-contact h2{ color:#fff; margin:0 0 12px; font-size:clamp(30px,3.6vw,50px); line-height:1.1; letter-spacing:-0.02em; font-weight:800; }
.hlx-contact p{ color:rgba(255,255,255,0.9); margin:0; font-size:clamp(17px,1.4vw,20px); line-height:1.55; }
.hlx-contact-actions{ justify-content:flex-end; }
.hlx-contact .hlx-btn-accent{ background:#fff !important; color:var(--hlx-red) !important; border-color:#fff !important; box-shadow:none !important; }
.hlx-contact .hlx-btn-accent .hlx-btn-text,.hlx-contact .hlx-btn-accent::after{ color:var(--hlx-red) !important; }
.hlx-contact .hlx-btn-accent:hover{ background:transparent !important; color:#fff !important; border-color:#fff !important; }
.hlx-contact .hlx-btn-accent:hover .hlx-btn-text,.hlx-contact .hlx-btn-accent:hover::after{ color:#fff !important; }
.hlx-contact .hlx-btn-secondary{ background:transparent !important; color:#fff !important; border-color:rgba(255,255,255,0.7) !important; }
.hlx-contact .hlx-btn-secondary .hlx-btn-text,.hlx-contact .hlx-btn-secondary::after{ color:#fff !important; }
.hlx-contact .hlx-btn-secondary:hover{ background:#fff !important; border-color:#fff !important; }
.hlx-contact .hlx-btn-secondary:hover .hlx-btn-text,.hlx-contact .hlx-btn-secondary:hover::after{ color:var(--hlx-red) !important; }
@media (max-width:1024px){
  .hlx-facts-inner{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
  .hlx-fact:nth-child(3){ border-left:0; padding-left:0; }
  .hlx-contact-inner{ grid-template-columns:1fr; }
  .hlx-contact-actions{ justify-content:flex-start; }
}
@media (max-width:680px){
  .hlx-facts-inner{ grid-template-columns:1fr; gap:20px; }
  .hlx-fact + .hlx-fact{ border-left:0; padding-left:0; padding-top:4px; }
  .hlx-contact-actions{ flex-direction:column; }
  .hlx-contact-actions .hlx-btn{ width:100%; }
}
/* =========================================================
   FIX: Kachel-Hover ohne Schwarzfärbung + CTA ohne Unterstreichung
   ========================================================= */
.hlx-dl-card,
.hlx-dl-card:hover,
.hlx-dl-card:focus,
.hlx-dl-card:active{
  background:#fff !important;
  color:var(--hlx-text) !important;
  border-color:var(--hlx-line) !important;
  border-top-color:var(--hlx-red) !important;
}
.hlx-dl-card:hover{
  transform:translateY(-4px) !important;
  box-shadow:0 20px 44px rgba(20,22,26,0.12) !important;
}
.hlx-dl-card h3,.hlx-dl-card:hover h3{ color:var(--hlx-ink) !important; }
.hlx-dl-card p,.hlx-dl-card:hover p{ color:var(--hlx-muted) !important; }
.hlx-dl-more,.hlx-dl-card:hover .hlx-dl-more{ color:var(--hlx-red) !important; }
.hlx-dl-no,.hlx-dl-card:hover .hlx-dl-no{ background:var(--hlx-red) !important; color:#fff !important; }
.hlx-dl-cta,
.hlx-dl-cta:link,
.hlx-dl-cta:visited,
.hlx-dl-cta:hover,
.hlx-dl-cta:focus,
.hlx-dl-cta:active{
  text-decoration:none !important;
  color:#fff !important;
}
.hlx-dl-cta strong,
.hlx-dl-cta small,
.hlx-dl-cta span,
.hlx-dl-cta:hover strong,
.hlx-dl-cta:hover small,
.hlx-dl-cta:hover span{
  text-decoration:none !important;
  color:#fff !important;
}
.hlx-dl-cta small,.hlx-dl-cta:hover small{ color:rgba(255,255,255,0.85) !important; }
/* =========================================================
   LANDINGPAGE — Hero Vollbild, Intro, Services, USP
   ========================================================= */
.hlx-wrap{ width:100%; max-width:1280px; margin:0 auto; padding:0 clamp(20px,5vw,64px); }
.hlx-hero-full{
  position:relative; min-height:clamp(560px,82vh,820px);
  display:flex; align-items:center; overflow:hidden; background:var(--hlx-dark);
}
.hlx-hero-full .hlx-hero-bg{ position:absolute; inset:0; z-index:0; }
.hlx-hero-full .hlx-hero-bg img{ width:100% !important; height:100% !important; max-width:none !important; object-fit:cover; object-position:center; display:block; opacity:1; }
.hlx-hero-full .hlx-hero-bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(20,22,26,0.88) 0%, rgba(20,22,26,0.58) 48%, rgba(20,22,26,0.18) 100%); }
.hlx-hero-full .hlx-hero-inner{ position:relative; z-index:1; width:100%; max-width:1280px; margin:0 auto; padding:clamp(60px,8vw,100px) clamp(20px,5vw,64px); display:block; }
@media (max-width:820px){ .hlx-hero-full .hlx-hero-bg::after{ background:linear-gradient(180deg, rgba(20,22,26,0.55) 0%, rgba(20,22,26,0.85) 100%); } }
.hlx-intro{ padding:clamp(64px,8vw,120px) 0; background:var(--hlx-surface); }
.hlx-intro-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:clamp(32px,5vw,72px); align-items:start; }
.hlx-intro h2{ margin:0; color:var(--hlx-ink); font-size:clamp(30px,3.6vw,52px); line-height:1.1; letter-spacing:-0.02em; font-weight:800; }
.hlx-intro-text p{ margin:0 0 18px; color:var(--hlx-muted); font-size:clamp(16.5px,1.3vw,19px); line-height:1.7; }
.hlx-intro-text p:last-of-type{ margin-bottom:0; }
.hlx-intro-text strong{ color:var(--hlx-ink); }
.hlx-intro-text .hlx-actions{ margin-top:28px; }
.hlx-services{ background:var(--hlx-bg); padding:clamp(56px,7vw,100px) 0; }
.hlx-services-head{ max-width:760px; margin-bottom:clamp(36px,4vw,56px); }
.hlx-services-head h2{ margin:0 0 14px; color:var(--hlx-ink); font-size:clamp(30px,3.6vw,50px); line-height:1.1; letter-spacing:-0.02em; font-weight:800; }
.hlx-services-head p{ margin:0; color:var(--hlx-muted); font-size:clamp(17px,1.4vw,20px); line-height:1.55; }
.hlx-service{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(24px,4vw,64px); align-items:center; padding:clamp(28px,3.5vw,48px) 0; border-top:1px solid var(--hlx-line); }
.hlx-service:last-child{ border-bottom:1px solid var(--hlx-line); }
.hlx-service-media{ position:relative; overflow:hidden; aspect-ratio:4/3; background:#e4e5e8; border-radius:14px; }
.hlx-service-media img{ width:100% !important; height:100% !important; max-width:none !important; object-fit:cover; object-position:center; display:block; transition:transform 600ms ease; }
.hlx-service:hover .hlx-service-media img{ transform:scale(1.04); }
.hlx-service--reverse .hlx-service-media{ order:2; }
.hlx-service-body .hlx-service-no{ display:block; margin-bottom:12px; color:var(--hlx-red); font-size:15px; font-weight:800; letter-spacing:0.1em; }
.hlx-service-body h3{ margin:0 0 16px; color:var(--hlx-ink); font-size:clamp(24px,2.4vw,36px); line-height:1.14; letter-spacing:-0.02em; font-weight:800; }
.hlx-service-body p{ margin:0 0 14px; color:var(--hlx-muted); font-size:16px; line-height:1.65; }
.hlx-service-body p:last-of-type{ margin-bottom:0; }
.hlx-service-body strong{ color:var(--hlx-ink); }
.hlx-service-body ul{ margin:16px 0 0; padding:0; list-style:none; }
.hlx-service-body li{ position:relative; padding-left:22px; margin-bottom:10px; color:var(--hlx-text); font-size:15.5px; line-height:1.5; }
.hlx-service-body li::before{ content:""; position:absolute; left:0; top:8px; width:8px; height:8px; border-radius:50%; background:var(--hlx-red); }
.hlx-usp{ background:var(--hlx-dark); color:#fff; padding:clamp(56px,7vw,100px) 0; }
.hlx-usp .hlx-label{ color:#ff7b7b; }
.hlx-usp .hlx-label::before{ background:#ff7b7b; }
.hlx-usp h2{ margin:0 0 clamp(36px,4vw,56px); max-width:20ch; color:#fff; font-size:clamp(28px,3.4vw,48px); line-height:1.12; letter-spacing:-0.02em; font-weight:800; }
.hlx-usp-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(24px,3vw,44px); }
.hlx-usp-item{ border-top:3px solid var(--hlx-red); padding-top:20px; }
.hlx-usp-item strong{ display:block; margin-bottom:10px; color:#fff; font-size:clamp(18px,1.5vw,21px); letter-spacing:-0.01em; font-weight:700; }
.hlx-usp-item span{ display:block; color:#a1a1a6; font-size:15.5px; line-height:1.55; }
.hlx-cta{ background:var(--hlx-red); color:#fff; text-align:center; padding:clamp(64px,8vw,120px) 0; }
.hlx-cta h2{ margin:0 auto 16px; max-width:22ch; color:#fff; font-size:clamp(30px,4vw,54px); line-height:1.1; letter-spacing:-0.02em; font-weight:800; }
.hlx-cta p{ margin:0 auto 34px; max-width:48ch; color:rgba(255,255,255,0.9); font-size:clamp(17px,1.5vw,22px); line-height:1.5; }
.hlx-cta-actions{ justify-content:center; }
.hlx-cta .hlx-btn-accent{ background:#fff !important; color:var(--hlx-red) !important; border-color:#fff !important; box-shadow:none !important; }
.hlx-cta .hlx-btn-accent .hlx-btn-text,.hlx-cta .hlx-btn-accent::after{ color:var(--hlx-red) !important; }
.hlx-cta .hlx-btn-accent:hover{ background:transparent !important; color:#fff !important; border-color:#fff !important; }
.hlx-cta .hlx-btn-accent:hover .hlx-btn-text,.hlx-cta .hlx-btn-accent:hover::after{ color:#fff !important; }
.hlx-cta .hlx-btn-secondary{ background:transparent !important; color:#fff !important; border-color:rgba(255,255,255,0.7) !important; }
.hlx-cta .hlx-btn-secondary .hlx-btn-text,.hlx-cta .hlx-btn-secondary::after{ color:#fff !important; }
.hlx-cta .hlx-btn-secondary:hover{ background:#fff !important; border-color:#fff !important; }
.hlx-cta .hlx-btn-secondary:hover .hlx-btn-text,.hlx-cta .hlx-btn-secondary:hover::after{ color:var(--hlx-red) !important; }
@media (max-width:1024px){
  .hlx-intro-grid{ grid-template-columns:1fr; gap:24px; }
  .hlx-usp-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:820px){
  .hlx-service,.hlx-service--reverse{ grid-template-columns:1fr; gap:22px; }
  .hlx-service-media,.hlx-service--reverse .hlx-service-media{ order:0; }
}
@media (max-width:560px){
  .hlx-usp-grid{ grid-template-columns:1fr; }
  .hlx-cta-actions{ flex-direction:column; }
  .hlx-cta-actions .hlx-btn{ width:100%; }
}
/* =========================================================
   JOBSEITE — Hero-Grid, Karten, Sektionen, AKKORDEON
   ========================================================= */
.hlx-container{ display:block; width:100%; }
.hlx-hero .hlx-hero-inner{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,0.65fr);
  gap:clamp(28px,4vw,56px);
  align-items:start;
}
.hlx-hero-main{ color:#fff; }
.hlx-badge{ display:inline-flex; align-items:center; gap:10px; margin:0 0 20px; color:#ff7b7b; font-size:13px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; }
.hlx-badge-dot{ width:8px; height:8px; background:#ff7b7b; border-radius:50%; }
.hlx-title{ margin:0 0 22px; max-width:16ch; color:#fff !important; font-size:clamp(38px,5.6vw,72px); line-height:1.05; letter-spacing:-0.02em; font-weight:800; }
.hlx-lead{ margin:0 0 clamp(20px,3vw,34px); max-width:56ch; color:rgba(255,255,255,0.85) !important; font-size:clamp(17px,1.5vw,21px); line-height:1.55; }
.hlx-side{ display:grid; grid-template-rows:auto auto; align-content:start; gap:clamp(16px,2vw,22px); }
.hlx-brand{ padding:clamp(24px,2.6vw,34px); background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.14); border-radius:16px; color:#fff; }
.hlx-brand h2{ margin:0 0 10px; color:#fff; font-size:clamp(20px,1.8vw,26px); line-height:1.16; letter-spacing:-0.01em; font-weight:800; }
.hlx-brand p{ margin:0; color:rgba(255,255,255,0.7); font-size:14.5px; line-height:1.6; }
.hlx-fair{ padding:clamp(22px,2.4vw,30px); background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.14); border-radius:16px; color:#fff; }
.hlx-fair-label{ display:inline-block; margin-bottom:12px; color:#ff7b7b; font-size:12px; font-weight:800; letter-spacing:0.12em; text-transform:uppercase; }
.hlx-fair strong{ display:block; margin-bottom:8px; color:#fff; font-size:17px; line-height:1.3; font-weight:800; }
.hlx-fair span{ display:block; color:rgba(255,255,255,0.7); font-size:14.5px; line-height:1.6; }
.hlx-section{ padding:clamp(56px,7vw,100px) 0; border-bottom:1px solid var(--hlx-line); }
.hlx-section:nth-of-type(even){ background:var(--hlx-bg); }
.hlx-section-head{ max-width:760px; margin:0 auto clamp(32px,4vw,52px); padding:0 clamp(20px,5vw,64px); }
.hlx-section-head h2{ margin:0 0 14px; color:var(--hlx-ink); font-size:clamp(30px,3.6vw,50px); line-height:1.1; letter-spacing:-0.02em; font-weight:800; }
.hlx-section-head p{ margin:0; color:var(--hlx-muted); font-size:clamp(17px,1.4vw,20px); line-height:1.55; }
.hlx-benefits,.hlx-job-list{ max-width:1280px; margin:0 auto; padding:0 clamp(20px,5vw,64px); }
.hlx-benefits{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(20px,2.5vw,36px); }
.hlx-benefit{ min-width:0; padding-top:20px; border-top:3px solid var(--hlx-red); }
.hlx-benefit strong{ display:block; margin-bottom:10px; color:var(--hlx-ink); font-size:clamp(17px,1.4vw,20px); font-weight:800; }
.hlx-benefit span{ display:block; color:var(--hlx-muted); font-size:15px; line-height:1.55; }
.hlx-job-list{ display:grid; gap:14px; }
.hlx-job{ background:#fff !important; border:1px solid var(--hlx-line) !important; border-radius:16px !important; overflow:hidden !important; }
.hlx-job[open]{ border-color:var(--hlx-red) !important; box-shadow:inset 4px 0 0 var(--hlx-red) !important; }
.hlx-job > summary{ list-style:none !important; cursor:pointer; display:grid !important; grid-template-columns:minmax(0,1fr) 44px !important; gap:18px !important; align-items:start !important; padding:clamp(24px,3vw,38px) !important; margin:0 !important; }
.hlx-job > summary::-webkit-details-marker{ display:none !important; }
.hlx-job > summary::marker{ content:"" !important; }
.hlx-job-title{ min-width:0 !important; }
.hlx-job-title h3{ margin:0 0 10px !important; color:var(--hlx-ink) !important; font-size:clamp(21px,2vw,32px) !important; line-height:1.14 !important; letter-spacing:-0.015em !important; font-weight:800 !important; }
.hlx-job-title p{ margin:0 !important; max-width:72ch; color:var(--hlx-muted) !important; font-size:15.5px !important; line-height:1.6 !important; }
.hlx-tags{ display:flex !important; flex-wrap:wrap !important; gap:8px !important; margin-top:16px !important; padding:0 !important; list-style:none !important; }
.hlx-tag{ display:inline-flex !important; align-items:center !important; min-height:30px !important; padding:0 14px !important; border-radius:999px !important; background:var(--hlx-bg-2) !important; color:var(--hlx-text) !important; font-size:12.5px !important; font-weight:700 !important; letter-spacing:0.02em !important; line-height:1 !important; }
.hlx-tag-red{ background:var(--hlx-red) !important; color:#fff !important; }
.hlx-plus{ width:44px !important; height:44px !important; border-radius:50% !important; background:var(--hlx-red) !important; color:#fff !important; display:flex !important; align-items:center !important; justify-content:center !important; align-self:start !important; transition:transform .22s, background-color .22s; }
.hlx-plus::before{ content:"+" !important; font-size:28px !important; font-weight:400 !important; line-height:1 !important; }
.hlx-job[open] .hlx-plus{ transform:rotate(45deg); background:var(--hlx-ink) !important; }
.hlx-job-body{ padding:0 clamp(24px,3vw,38px) clamp(28px,3vw,40px) !important; }
.hlx-job-grid{ display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:clamp(16px,2vw,26px) !important; padding-top:clamp(22px,2.4vw,32px) !important; border-top:1px solid var(--hlx-line) !important; }
.hlx-info{ padding:clamp(20px,2vw,26px) !important; background:var(--hlx-bg) !important; border-radius:14px !important; border-top:3px solid var(--hlx-red) !important; }
.hlx-info h4{ margin:0 0 14px !important; color:var(--hlx-ink) !important; font-size:16.5px !important; line-height:1.3 !important; font-weight:800 !important; }
.hlx-info ul{ margin:0 !important; padding:0 !important; list-style:none !important; }
.hlx-info li{ position:relative !important; padding:0 0 0 20px !important; margin:0 0 10px 0 !important; color:var(--hlx-text) !important; font-size:15px !important; line-height:1.5 !important; list-style:none !important; }
.hlx-info li::before{ content:"" !important; position:absolute !important; left:0 !important; top:8px !important; width:7px !important; height:7px !important; border-radius:50% !important; background:var(--hlx-red) !important; }
.hlx-info li:last-child{ margin-bottom:0 !important; }
.hlx-note{ margin-top:20px !important; padding:18px 20px !important; background:#fff !important; border:1px solid var(--hlx-line) !important; border-left:4px solid var(--hlx-red) !important; border-radius:14px !important; color:var(--hlx-text) !important; font-size:15px !important; line-height:1.6 !important; }
.hlx-note strong{ color:var(--hlx-ink) !important; }
.hlx-job-actions{ margin-top:22px !important; display:flex !important; flex-wrap:wrap !important; gap:12px !important; }
.hlx-contact-inner{ max-width:1280px; margin:0 auto; padding:0 clamp(20px,5vw,64px); display:grid; grid-template-columns:minmax(0,1fr) auto; gap:clamp(24px,4vw,48px); align-items:center; }
.hlx-contact-actions{ justify-content:flex-end; }
.hlx-seo{ max-width:1280px; margin:clamp(32px,4vw,48px) auto 0; padding:clamp(24px,3vw,32px) clamp(20px,5vw,64px) 0; border-top:1px solid rgba(255,255,255,0.25); color:rgba(255,255,255,0.82); font-size:14.5px; line-height:1.6; }
.hlx-seo strong{ color:#fff; }
.hlx-privacy{ max-width:1280px; margin:0 auto; padding:clamp(48px,6vw,80px) clamp(20px,5vw,64px); color:var(--hlx-muted); font-size:15px; line-height:1.7; }
.hlx-privacy h2{ margin:0 0 20px; color:var(--hlx-ink); font-size:clamp(22px,2vw,30px); line-height:1.2; letter-spacing:-0.015em; font-weight:800; }
.hlx-privacy p{ margin:0 0 16px; }
.hlx-privacy p:last-child{ margin-bottom:0; }
.hlx-privacy strong{ color:var(--hlx-ink); }
.hlx-privacy a{ color:var(--hlx-red); font-weight:700; }
.hlx-privacy a:hover{ text-decoration:underline; }
.hlx-hero .hlx-hero-bg img{ opacity:0.5; }
@media (max-width:1024px){
  .hlx-hero .hlx-hero-inner{ grid-template-columns:1fr; }
  .hlx-side{ grid-template-columns:1fr 1fr; grid-template-rows:auto; }
  .hlx-benefits{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hlx-job-grid{ grid-template-columns:1fr !important; }
}
@media (max-width:680px){
  .hlx-side{ grid-template-columns:1fr; }
  .hlx-benefits{ grid-template-columns:1fr; }
  .hlx-job > summary{ grid-template-columns:minmax(0,1fr) 40px !important; padding:22px 18px !important; }
  .hlx-plus{ width:40px !important; height:40px !important; }
  .hlx-job-body{ padding:0 18px 24px !important; }
  .hlx-contact-inner{ grid-template-columns:1fr; }
  .hlx-contact-actions{ justify-content:flex-start; }
}
/* =========================================================
   BEWERBUNGSSEITE — Hero + WPForms (.nicebox)
   ========================================================= */
.hlx-form-section{ background:var(--hlx-bg); padding:clamp(48px,6vw,90px) clamp(20px,5vw,64px); }
.hlx-form-wrap{ max-width:820px; margin:0 auto; }
.nicebox{ margin:0; padding:clamp(26px,3vw,44px); background:#fff; border:1px solid var(--hlx-line); border-top:4px solid var(--hlx-red); border-radius:16px; color:var(--hlx-text); box-sizing:border-box; }
.nicebox *,.nicebox *::before,.nicebox *::after{ box-sizing:border-box; }
.hlx-form-head{ margin-bottom:24px; }
.hlx-form-head .hlx-fair-label{ display:inline-block; margin-bottom:12px; color:var(--hlx-red); font-size:12px; font-weight:800; letter-spacing:0.12em; text-transform:uppercase; }
.hlx-form-head h3{ margin:0 0 8px; color:var(--hlx-ink); font-size:clamp(24px,2.4vw,34px); line-height:1.12; letter-spacing:-0.02em; font-weight:800; }
.hlx-form-head p{ margin:0; color:var(--hlx-muted); font-size:16px; line-height:1.6; }
.nicebox div.wpforms-container-full,.nicebox .wpforms-container{ margin:0 !important; padding:0 !important; max-width:100% !important; }
.nicebox div.wpforms-container-full form.wpforms-form,.nicebox .wpforms-form{ margin:0 !important; padding:0 !important; }
.nicebox div.wpforms-container-full .wpforms-form .wpforms-field{ padding:0 0 18px 0 !important; margin:0 !important; }
.nicebox div.wpforms-container-full .wpforms-form .wpforms-field-label{ margin:0 0 8px 0 !important; color:var(--hlx-ink) !important; font-size:14.5px !important; font-weight:700 !important; line-height:1.3 !important; }
.nicebox div.wpforms-container-full .wpforms-form .wpforms-required-label{ color:var(--hlx-red) !important; font-weight:800 !important; }
.nicebox div.wpforms-container-full .wpforms-form input[type="text"],
.nicebox div.wpforms-container-full .wpforms-form input[type="email"],
.nicebox div.wpforms-container-full .wpforms-form input[type="tel"],
.nicebox div.wpforms-container-full .wpforms-form input[type="url"],
.nicebox div.wpforms-container-full .wpforms-form input[type="number"],
.nicebox div.wpforms-container-full .wpforms-form input[type="date"],
.nicebox div.wpforms-container-full .wpforms-form textarea,
.nicebox div.wpforms-container-full .wpforms-form select{
  width:100% !important; max-width:100% !important; min-height:52px !important;
  padding:13px 15px !important; border-radius:10px !important;
  border:1px solid #d7d9df !important; background-color:#fff !important;
  color:var(--hlx-text) !important; box-shadow:none !important;
  font-size:15.5px !important; line-height:1.35 !important; outline:none !important;
  transition:border-color .18s ease, box-shadow .18s ease;
}
.nicebox div.wpforms-container-full .wpforms-form textarea{ min-height:140px !important; resize:vertical !important; }
.nicebox div.wpforms-container-full .wpforms-form input:focus,
.nicebox div.wpforms-container-full .wpforms-form textarea:focus,
.nicebox div.wpforms-container-full .wpforms-form select:focus{ border-color:var(--hlx-red) !important; box-shadow:0 0 0 3px rgba(180,58,58,0.10) !important; }
.nicebox div.wpforms-container-full .wpforms-form input::placeholder,
.nicebox div.wpforms-container-full .wpforms-form textarea::placeholder{ color:rgba(107,114,128,0.7) !important; }
.nicebox div.wpforms-container-full .wpforms-form .wpforms-field-description{ margin-top:7px !important; color:var(--hlx-muted) !important; font-size:13.5px !important; line-height:1.45 !important; }
.nicebox div.wpforms-container-full .wpforms-form input[type="checkbox"],
.nicebox div.wpforms-container-full .wpforms-form input[type="radio"]{ width:18px !important; height:18px !important; margin:2px 8px 0 0 !important; accent-color:var(--hlx-red); }
.nicebox div.wpforms-container-full .wpforms-form .wpforms-field-checkbox label,
.nicebox div.wpforms-container-full .wpforms-form .wpforms-field-radio label{ color:var(--hlx-text) !important; font-size:14.5px !important; line-height:1.5 !important; }
.nicebox div.wpforms-container-full .wpforms-form a{ color:var(--hlx-red) !important; font-weight:700 !important; text-decoration:none !important; }
.nicebox div.wpforms-container-full .wpforms-form a:hover{ text-decoration:underline !important; }
.nicebox div.wpforms-container-full .wpforms-form .wpforms-submit-container{ margin-top:8px !important; padding:0 !important; }
.nicebox div.wpforms-container-full .wpforms-form button[type="submit"],
.nicebox div.wpforms-container-full .wpforms-form .wpforms-submit,
.nicebox .wpforms-form button[type="submit"],
.nicebox .wpforms-form .wpforms-submit{
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  min-height:54px !important; padding:0 32px !important; border-radius:999px !important;
  border:2px solid #fff !important; background:var(--hlx-red) !important; color:#fff !important;
  box-shadow:0 0 0 2px var(--hlx-red) !important;
  font-size:14.5px !important; font-weight:700 !important; letter-spacing:0.02em !important;
  text-transform:uppercase !important; line-height:1 !important; cursor:pointer !important; text-decoration:none !important;
  appearance:none !important; -webkit-appearance:none !important;
  transition:background-color .2s, box-shadow .2s, transform .2s !important;
}
.nicebox div.wpforms-container-full .wpforms-form button[type="submit"]:hover,
.nicebox div.wpforms-container-full .wpforms-form .wpforms-submit:hover,
.nicebox .wpforms-form button[type="submit"]:hover,
.nicebox .wpforms-form .wpforms-submit:hover{ background:var(--hlx-red-2) !important; box-shadow:0 0 0 2px var(--hlx-red-2) !important; transform:translateY(-2px); }
.nicebox div.wpforms-container-full .wpforms-form label.wpforms-error,
.nicebox div.wpforms-container-full .wpforms-form em.wpforms-error{ color:var(--hlx-red) !important; font-size:13.5px !important; font-weight:600 !important; margin-top:6px !important; }
.nicebox div.wpforms-container-full .wpforms-form input.wpforms-error,
.nicebox div.wpforms-container-full .wpforms-form textarea.wpforms-error,
.nicebox div.wpforms-container-full .wpforms-form select.wpforms-error{ border-color:var(--hlx-red) !important; box-shadow:0 0 0 3px rgba(180,58,58,0.08) !important; }
.nicebox div.wpforms-confirmation-container-full{ margin:0 !important; padding:18px 20px !important; border-radius:14px !important; background:#fff !important; border:1px solid var(--hlx-line) !important; border-left:4px solid var(--hlx-red) !important; color:var(--hlx-text) !important; font-size:15px !important; line-height:1.55 !important; }
@media (min-width:769px){
  .nicebox div.wpforms-container-full .wpforms-form .wpforms-one-half,
  .nicebox div.wpforms-container-full .wpforms-form .wpforms-one-third,
  .nicebox div.wpforms-container-full .wpforms-form .wpforms-two-thirds{ float:left !important; clear:none !important; }
  .nicebox div.wpforms-container-full .wpforms-form .wpforms-first{ clear:both !important; margin-left:0 !important; }
  .nicebox div.wpforms-container-full .wpforms-form .wpforms-one-half:not(.wpforms-first),
  .nicebox div.wpforms-container-full .wpforms-form .wpforms-one-third:not(.wpforms-first),
  .nicebox div.wpforms-container-full .wpforms-form .wpforms-two-thirds:not(.wpforms-first){ margin-left:4% !important; }
  .nicebox div.wpforms-container-full .wpforms-form .wpforms-one-third{ width:30.666666% !important; }
  .nicebox div.wpforms-container-full .wpforms-form .wpforms-two-thirds{ width:65.333333% !important; }
  .nicebox div.wpforms-container-full .wpforms-form .wpforms-one-half{ width:48% !important; }
}
@media (max-width:768px){
  .nicebox div.wpforms-container-full .wpforms-form .wpforms-one-half,
  .nicebox div.wpforms-container-full .wpforms-form .wpforms-one-third,
  .nicebox div.wpforms-container-full .wpforms-form .wpforms-two-thirds,
  .nicebox div.wpforms-container-full .wpforms-form .wpforms-field-row-block{ width:100% !important; float:none !important; clear:both !important; margin-left:0 !important; margin-bottom:14px !important; }
  .nicebox div.wpforms-container-full .wpforms-form button[type="submit"],
  .nicebox div.wpforms-container-full .wpforms-form .wpforms-submit{ width:100% !important; }
}
/* =========================================================
   DROPDOWN MENÜ — clean, transparent milchig, Hover-Effekt
   ========================================================= */
.main-header-menu .menu-item-has-children,
.ast-builder-menu .menu-item-has-children,
.main-navigation .menu-item-has-children{ position:relative !important; }
.main-header-menu .sub-menu,
.ast-builder-menu .sub-menu,
.main-navigation ul.sub-menu,
.ast-desktop .sub-menu{
  width:230px !important; min-width:230px !important; max-width:230px !important;
  left:0 !important; right:auto !important; padding:8px !important; margin-top:8px !important;
  background:rgba(255,255,255,0.55) !important;
  -webkit-backdrop-filter:blur(16px) saturate(140%); backdrop-filter:blur(16px) saturate(140%);
  border:1px solid rgba(255,255,255,0.35) !important;
  border-top:1px solid rgba(255,255,255,0.35) !important;
  border-radius:16px !important;
  box-shadow:0 18px 42px rgba(20,22,26,0.16) !important;
}
.main-header-menu .sub-menu a,
.ast-builder-menu .sub-menu a,
.main-navigation ul.sub-menu a,
.ast-desktop .sub-menu a{
  display:block !important; padding:11px 14px !important; border-radius:11px !important;
  background:transparent !important; color:#b43a3a !important; font-size:15.5px !important;
  font-weight:600 !important; line-height:1.2 !important; text-decoration:none !important; border:0 !important;
  transform-origin:left center; transition:transform 180ms ease, color 180ms ease !important;
}
.main-header-menu .sub-menu a:hover,
.ast-builder-menu .sub-menu a:hover,
.main-navigation ul.sub-menu a:hover,
.ast-desktop .sub-menu a:hover{ color:#9c3131 !important; background:transparent !important; transform:scale(1.06); }
/* =========================================================
   KONTAKTSEITE
   ========================================================= */
.hlx-hero-solo .hlx-hero-inner{ display:block !important; text-align:center; }
.hlx-hero-solo .hlx-hero-content{ max-width:720px; margin:0 auto; }
.hlx-hero-solo .hlx-label{ justify-content:center; }
.hlx-hero-solo h1{ margin-left:auto; margin-right:auto; }
.hlx-hero-solo p{ margin-left:auto; margin-right:auto; }
.hlx-kontakt{ background:var(--hlx-bg); }
.hlx-kontakt-inner{
  max-width:1100px; margin:0 auto;
  padding:clamp(56px,7vw,100px) clamp(20px,5vw,64px);
  display:grid;
  grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr);
  gap:clamp(28px,4vw,56px);
  align-items:start;
}
.hlx-kontakt-info .hlx-label{ margin-bottom:16px; }
.hlx-kontakt-info h2{ margin:0 0 14px; color:var(--hlx-ink); font-size:clamp(28px,3vw,42px); line-height:1.1; letter-spacing:-0.02em; font-weight:800; }
.hlx-kontakt-info > p{ margin:0 0 28px; color:var(--hlx-muted); font-size:clamp(16px,1.3vw,18px); line-height:1.6; max-width:46ch; }
.hlx-contact-cards{ display:grid; gap:14px; }
.hlx-contact-card{
  display:flex; align-items:flex-start; gap:16px;
  background:#fff; border:1px solid var(--hlx-line);
  border-radius:14px; padding:20px 22px;
  text-decoration:none !important; color:inherit;
  transition:transform .2s ease, box-shadow .2s ease;
}
a.hlx-contact-card:hover{ transform:translateY(-3px); box-shadow:0 16px 36px rgba(20,22,26,0.10); }
.hlx-contact-icon{ flex-shrink:0; width:46px; height:46px; border-radius:12px; background:var(--hlx-red); color:#fff; display:flex; align-items:center; justify-content:center; }
.hlx-contact-icon svg{ width:22px; height:22px; }
.hlx-contact-card b{ display:block; margin-bottom:3px; color:var(--hlx-red); font-size:12px; font-weight:800; letter-spacing:0.1em; text-transform:uppercase; }
.hlx-contact-card > div > span{ display:block; color:var(--hlx-ink); font-size:16px; font-weight:700; line-height:1.4; }
.hlx-contact-card small{ display:block; margin-top:2px; color:var(--hlx-muted); font-size:14px; font-weight:400; }
.hlx-kontakt-form .nicebox{ margin:0; }
@media (max-width:900px){ .hlx-kontakt-inner{ grid-template-columns:1fr; } }
/* Submit-Button rot + weiße Schrift (alle Varianten) */
.nicebox button[type="submit"],
.nicebox input[type="submit"],
.nicebox .wpforms-submit,
div.wpforms-container-full button[type="submit"],
div.wpforms-container-full .wpforms-submit{
  min-height:54px !important;
  padding:0 34px !important;
  border-radius:999px !important;
  border:2px solid #fff !important;
  background:#b43a3a !important;
  color:#fff !important;
  box-shadow:0 0 0 2px #b43a3a !important;
  font-size:14.5px !important;
  font-weight:700 !important;
  text-transform:uppercase !important;
  cursor:pointer !important;
  text-decoration:none !important;
}
.nicebox button[type="submit"]:hover,
.nicebox input[type="submit"]:hover,
.nicebox .wpforms-submit:hover,
div.wpforms-container-full button[type="submit"]:hover,
div.wpforms-container-full .wpforms-submit:hover{
  background:#9c3131 !important;
  box-shadow:0 0 0 2px #9c3131 !important;
}
/* =========================================================
GLOBALER BUTTON-LOOK — überall gleich
========================================================= */

.hlx-page .hlx-btn,
.hlx-page .hlx-btn:link,
.hlx-page .hlx-btn:visited,
.hlx-page .hlx-btn-accent,
.hlx-page .hlx-btn-primary,
.hlx-page .hlx-btn-secondary,
.hlx-contact .hlx-btn,
.hlx-contact .hlx-btn-accent,
.hlx-contact .hlx-btn-primary,
.hlx-contact .hlx-btn-secondary,
.hlx-cta .hlx-btn,
.hlx-cta .hlx-btn-accent,
.hlx-cta .hlx-btn-primary,
.hlx-cta .hlx-btn-secondary,
.nicebox button[type="submit"],
.nicebox input[type="submit"],
.nicebox .wpforms-submit,
div.wpforms-container-full button[type="submit"],
div.wpforms-container-full .wpforms-submit {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;

  min-height:54px !important;
  padding:0 30px !important;

  border-radius:999px !important;
  border:2px solid #fff !important;

  background:#b43a3a !important;
  color:#fff !important;

  box-shadow:0 0 0 2px #b43a3a !important;

  font-family:"Helvetica Neue",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
  font-size:14.5px !important;
  font-weight:700 !important;
  letter-spacing:0.02em !important;
  text-transform:uppercase !important;
  line-height:1 !important;

  cursor:pointer !important;
  text-decoration:none !important;

  transition:
    background-color .2s ease,
    color .2s ease,
    border-color .2s ease,
    box-shadow .2s ease,
    transform .2s ease !important;
}

/* Text und Pfeil immer weiß */
.hlx-page .hlx-btn .hlx-btn-text,
.hlx-page .hlx-btn::after,
.hlx-contact .hlx-btn .hlx-btn-text,
.hlx-contact .hlx-btn::after,
.hlx-cta .hlx-btn .hlx-btn-text,
.hlx-cta .hlx-btn::after {
  color:#fff !important;
}

/* Hover überall gleich */
.hlx-page .hlx-btn:hover,
.hlx-page .hlx-btn-accent:hover,
.hlx-page .hlx-btn-primary:hover,
.hlx-page .hlx-btn-secondary:hover,
.hlx-contact .hlx-btn:hover,
.hlx-contact .hlx-btn-accent:hover,
.hlx-contact .hlx-btn-primary:hover,
.hlx-contact .hlx-btn-secondary:hover,
.hlx-cta .hlx-btn:hover,
.hlx-cta .hlx-btn-accent:hover,
.hlx-cta .hlx-btn-primary:hover,
.hlx-cta .hlx-btn-secondary:hover,
.nicebox button[type="submit"]:hover,
.nicebox input[type="submit"]:hover,
.nicebox .wpforms-submit:hover,
div.wpforms-container-full button[type="submit"]:hover,
div.wpforms-container-full .wpforms-submit:hover {
  background:#9c3131 !important;
  color:#fff !important;
  border-color:#fff !important;
  box-shadow:0 0 0 2px #9c3131 !important;
  transform:translateY(-2px) !important;
}

/* Hover-Text und Pfeil weiterhin weiß */
.hlx-page .hlx-btn:hover .hlx-btn-text,
.hlx-page .hlx-btn:hover::after,
.hlx-contact .hlx-btn:hover .hlx-btn-text,
.hlx-contact .hlx-btn:hover::after,
.hlx-cta .hlx-btn:hover .hlx-btn-text,
.hlx-cta .hlx-btn:hover::after {
  color:#fff !important;
}

/* Fokus-Zustand einheitlich */
.hlx-page .hlx-btn:focus-visible,
.hlx-contact .hlx-btn:focus-visible,
.hlx-cta .hlx-btn:focus-visible,
.nicebox button[type="submit"]:focus-visible,
.nicebox input[type="submit"]:focus-visible,
.nicebox .wpforms-submit:focus-visible {
  outline:2px solid #b43a3a !important;
  outline-offset:3px !important;
}
/* =========================================================
   WPForms Submit — Look der Landingpage-Buttons
   Hook-Klasse: ._hl_btn
   ========================================================= */
button._hl_btn,
input._hl_btn,
._hl_btn.wpforms-submit,
#wpforms-submit-5{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  min-height:54px !important;
  padding:0 30px !important;
  border:2px solid #ffffff !important;
  border-radius:999px !important;
  background-color:#b43a3a !important;
  background-image:none !important;
  color:#ffffff !important;
  box-shadow:0 0 0 2px #b43a3a !important;
  font-family:"Helvetica Neue",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
  font-size:14.5px !important;
  font-weight:700 !important;
  letter-spacing:0.02em !important;
  line-height:1 !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  text-shadow:none !important;
  cursor:pointer !important;
  opacity:1 !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  transition:background-color 200ms ease, color 200ms ease,
             border-color 200ms ease, box-shadow 200ms ease,
             transform 200ms ease !important;
}

/* Pfeil wie bei .hlx-btn */
button._hl_btn::after,
#wpforms-submit-5::after{
  content:"\2192";
  font-size:1.1em;
  line-height:1;
  color:#ffffff !important;
}

/* Hover */
button._hl_btn:hover,
input._hl_btn:hover,
#wpforms-submit-5:hover{
  background-color:#9c3131 !important;
  color:#ffffff !important;
  border-color:#ffffff !important;
  box-shadow:0 0 0 2px #9c3131 !important;
  transform:translateY(-2px) !important;
}

/* Fokus */
button._hl_btn:focus-visible,
input._hl_btn:focus-visible,
#wpforms-submit-5:focus-visible{
  outline:2px solid #b43a3a !important;
  outline-offset:3px !important;
}

/* Sendevorgang: WPForms setzt disabled + reduziert die Deckkraft */
button._hl_btn:disabled,
button._hl_btn[disabled],
#wpforms-submit-5:disabled{
  background-color:#9c3131 !important;
  color:#ffffff !important;
  opacity:0.75 !important;
  transform:none !important;
  cursor:wait !important;
}

/* Mobil volle Breite */
@media (max-width:560px){
  button._hl_btn,
  input._hl_btn,
  #wpforms-submit-5{ width:100% !important; }
}

@media (prefers-reduced-motion: reduce){
  button._hl_btn{ transition:none !important; }
  button._hl_btn:hover{ transform:none !important; }
}
/* =========================================================
   WPForms — Pflichtfeld-Validierung: rot leuchten
   ========================================================= */

/* Sternchen bei Pflichtfeldern deutlicher */
.wpforms-container .wpforms-required-label{
  color:#b43a3a !important;
  font-weight:800 !important;
  font-size:1.05em !important;
}

/* --- Fehlerhafte Felder --- */
.wpforms-container input.wpforms-error,
.wpforms-container textarea.wpforms-error,
.wpforms-container select.wpforms-error,
.wpforms-container .wpforms-field-has-error input,
.wpforms-container .wpforms-field-has-error textarea,
.wpforms-container .wpforms-field-has-error select{
  border:2px solid #b43a3a !important;
  background-color:#fdf5f5 !important;
  color:#33373f !important;
  box-shadow:0 0 0 4px rgba(180,58,58,0.18) !important;
  animation:hlxErrorGlow 1.6s ease-in-out 2 !important;
}

/* Pulsierendes Leuchten */
@keyframes hlxErrorGlow{
  0%,100%{ box-shadow:0 0 0 4px rgba(180,58,58,0.18); }
  50%    { box-shadow:0 0 0 8px rgba(180,58,58,0.32); }
}

/* Kurzes Rütteln beim Auftauchen */
.wpforms-container .wpforms-field-has-error{
  animation:hlxShake 400ms ease;
}
@keyframes hlxShake{
  0%,100%{ transform:translateX(0); }
  20%    { transform:translateX(-6px); }
  40%    { transform:translateX(6px); }
  60%    { transform:translateX(-4px); }
  80%    { transform:translateX(4px); }
}

/* Beim Fokussieren: Leuchten stoppen, Rand bleibt */
.wpforms-container input.wpforms-error:focus,
.wpforms-container textarea.wpforms-error:focus,
.wpforms-container select.wpforms-error:focus{
  animation:none !important;
  border-color:#b43a3a !important;
  box-shadow:0 0 0 4px rgba(180,58,58,0.25) !important;
  outline:none !important;
}

/* --- Fehlermeldung --- */
.wpforms-container label.wpforms-error,
.wpforms-container em.wpforms-error{
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
  margin-top:8px !important;
  padding:8px 12px !important;
  background:#fdf0f0 !important;
  border-left:3px solid #b43a3a !important;
  border-radius:8px !important;
  color:#b43a3a !important;
  font-size:13.5px !important;
  font-weight:600 !important;
  line-height:1.4 !important;
}
.wpforms-container label.wpforms-error::before,
.wpforms-container em.wpforms-error::before{
  content:"!";
  flex-shrink:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#b43a3a;
  color:#fff;
  font-size:12px;
  font-weight:800;
  line-height:1;
}

/* --- Label des fehlerhaften Feldes einfärben --- */
.wpforms-container .wpforms-field-has-error > .wpforms-field-label{
  color:#b43a3a !important;
}

/* --- Checkboxen / Radios / DSGVO-Zustimmung --- */
.wpforms-container .wpforms-field-has-error input[type="checkbox"],
.wpforms-container .wpforms-field-has-error input[type="radio"]{
  outline:2px solid #b43a3a !important;
  outline-offset:2px !important;
  border-radius:4px !important;
  animation:hlxErrorGlow 1.6s ease-in-out 2 !important;
}
.wpforms-container .wpforms-field-has-error .wpforms-field-label-inline{
  color:#b43a3a !important;
}

/* --- Sammelmeldung oben im Formular --- */
.wpforms-container .wpforms-error-container{
  margin-bottom:20px !important;
  padding:16px 18px !important;
  background:#fdf0f0 !important;
  border:1px solid #f0c9c9 !important;
  border-left:4px solid #b43a3a !important;
  border-radius:12px !important;
  color:#b43a3a !important;
  font-size:15px !important;
  font-weight:600 !important;
  line-height:1.5 !important;
}

/* --- Submit-Button kurz mitzucken lassen --- */
button._hl_btn.hlx-shake{
  animation:hlxShake 400ms ease;
}

@media (prefers-reduced-motion: reduce){
  .wpforms-container input.wpforms-error,
  .wpforms-container textarea.wpforms-error,
  .wpforms-container select.wpforms-error,
  .wpforms-container .wpforms-field-has-error,
  button._hl_btn.hlx-shake{
    animation:none !important;
  }