/* Conversion CTA 2026-11-10 – Hinweisbalken + schwebende Kontakte (PL-Design) */
:root{
  --pl-cta-banner-h:0px;
}
html.pl-cta-banner-on{
  scroll-padding-top:calc(var(--pl-cta-banner-h,0px) + 12px);
}
.pl-cta-banner{
  position:sticky;
  top:0;
  z-index:105; /* unter Cookie (150), über Header (100) */
  display:none;
  align-items:center;
  justify-content:center;
  gap:.65rem;
  padding:.55rem .9rem;
  padding-right:2.6rem;
  background:linear-gradient(90deg,#243459 0%,#2f4570 100%);
  color:#fff;
  font:600 0.95rem/1.35 "Source Sans 3","Segoe UI",system-ui,sans-serif;
  box-shadow:0 2px 10px rgba(24,36,62,.22);
}
html.pl-cta-banner-on .pl-cta-banner{display:flex;}
.pl-cta-banner[hidden]{display:none!important;}
.pl-cta-banner-inner{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:center;
  gap:.55rem .9rem; max-width:72rem; width:100%;
}
.pl-cta-banner-text{margin:0; font-weight:600;}
.pl-cta-banner-actions{display:flex; flex-wrap:wrap; gap:.45rem; align-items:center;}
.pl-cta-banner a.pl-cta-link{
  color:#fff; text-decoration:underline; text-underline-offset:2px; font-weight:700;
}
.pl-cta-banner a.pl-cta-link:hover,
.pl-cta-banner a.pl-cta-link:focus-visible{color:#FBA61C; outline:none;}
.pl-cta-banner a.pl-cta-btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:34px; padding:.35rem .85rem; border-radius:999px;
  background:#FBA61C; color:#243459; font-weight:700; text-decoration:none;
  border:0;
}
.pl-cta-banner a.pl-cta-btn:hover,
.pl-cta-banner a.pl-cta-btn:focus-visible{
  filter:brightness(1.05); outline:2px solid #fff; outline-offset:2px;
}
.pl-cta-banner-close{
  position:absolute; right:.45rem; top:50%; transform:translateY(-50%);
  width:34px; height:34px; border:0; border-radius:8px;
  background:transparent; color:#fff; font-size:1.35rem; line-height:1;
  cursor:pointer; display:inline-flex; align-items:center; justify-content:center;
}
.pl-cta-banner-close:hover,
.pl-cta-banner-close:focus-visible{background:rgba(255,255,255,.16); outline:2px solid #FBA61C; outline-offset:1px;}

/* Schwebende Kontakte – nur wenn wir sie injizieren / ergänzen */
.pl-cta-fab-stack{
  position:fixed;
  right:1rem;
  bottom:calc(1rem + env(safe-area-inset-bottom,0px));
  z-index:110;
  display:flex; flex-direction:column; gap:.65rem;
  pointer-events:none;
}
.pl-cta-fab-stack > *{pointer-events:auto;}
.pl-cta-fab{
  width:56px; height:56px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  box-shadow:0 6px 18px rgba(34,48,59,.35);
  text-decoration:none; border:0; color:#fff;
  transition:transform .15s ease;
}
.pl-cta-fab:hover{transform:translateY(-2px);}
.pl-cta-fab:focus-visible{outline:3px solid #FBA61C; outline-offset:3px;}
.pl-cta-fab svg{width:26px; height:26px; fill:currentColor;}
.pl-cta-fab-wa{background:#25D366;}
.pl-cta-fab-tel{background:linear-gradient(160deg,#ffc45c,#FBA61C); color:#243459;}
.pl-cta-fab .pl-cta-fab-label{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

/* Wenn Cookie-Banner offen: FABs höher legen, damit nichts überdeckt */
html.pl-cta-cookie-open .pl-cta-fab-stack,
html.pl-cta-cookie-open .fab-stack{
  bottom:calc(7.5rem + env(safe-area-inset-bottom,0px));
}
/* Karriere-Sticky-Leiste: FABs darüber, keine zweite Leiste */
html.pl-cta-has-sticky .pl-cta-fab-stack,
html.pl-cta-has-sticky .fab-stack{
  bottom:calc(4.25rem + env(safe-area-inset-bottom,0px));
}
html.pl-cta-has-sticky.pl-cta-cookie-open .pl-cta-fab-stack,
html.pl-cta-has-sticky.pl-cta-cookie-open .fab-stack{
  bottom:calc(11rem + env(safe-area-inset-bottom,0px));
}

/* Pop-up (pl31-intake dialog) hat native Modal – Banner/FABs bleiben darunter, kein Konflikt nötig */
@media (max-width:540px){
  .pl-cta-banner{font-size:.88rem; padding:.5rem .75rem; padding-right:2.4rem; text-align:center;}
  .pl-cta-banner-text{flex:1 1 100%;}
  .pl-cta-fab{width:52px; height:52px;}
  /* bestehendes fab-stack Labels auf Mobil ausblenden falls vorhanden */
  .fab-stack .fab-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);}
}
/* Reduce motion */
@media (prefers-reduced-motion:reduce){
  .pl-cta-fab{transition:none;}
}

/* Sticky-Header unter den Hinweisbalken schieben */
html.pl-cta-banner-on #seitenkopf.pl-site-header,
html.pl-cta-banner-on header.pl-site-header,
html.pl-cta-banner-on header#seitenkopf{
  top:var(--pl-cta-banner-h,0px);
}

/* Cookie-Einwilligung hat Vorrang: Hinweisbalken ausblenden, solange Banner/Schleier offen */
html.pl-cta-cookie-open .pl-cta-banner{display:none!important;}
html.pl-cta-cookie-open{--pl-cta-banner-h:0px;}
html.pl-cta-cookie-open #seitenkopf.pl-site-header,
html.pl-cta-cookie-open header.pl-site-header,
html.pl-cta-cookie-open header#seitenkopf{top:0;}
