/* Jakobi Direkt 1.1.2 — isolated from Elementor and theme button styles */
.jakobi-direkt {
  --jd-navy:#082f50;
  --jd-deep:#062843;
  --jd-blue:#078fe2;
  --jd-pale:#ebf6fd;
  --jd-line:#dce8f0;
  --jd-muted:#668198;
  --jd-ink:#233f58;
  position:fixed !important;
  z-index:2147481000 !important;
  right:max(24px,env(safe-area-inset-right)) !important;
  bottom:calc(28px + env(safe-area-inset-bottom)) !important;
  font-family:Poppins,Arial,sans-serif !important;
  font-size:14px;
  line-height:1.45;
  color:var(--jd-navy);
  isolation:isolate;
  pointer-events:none;
}
.jakobi-direkt *, .jakobi-direkt *::before, .jakobi-direkt *::after {box-sizing:border-box;}
.jakobi-direkt button, .jakobi-direkt a {font-family:inherit !important; text-transform:none !important; letter-spacing:normal !important;}
.jakobi-direkt button {box-shadow:none;}
.jakobi-direkt [hidden] {display:none !important;}

/* Compact floating contact launcher — no white or black button square */
.jakobi-direkt button.jakobi-direkt__launcher {
  position:relative !important;
  display:flex !important; flex-direction:row !important; justify-content:flex-end !important; align-items:center !important;
  width:auto !important; min-width:0 !important; max-width:none !important;
  height:auto !important; min-height:0 !important; margin:0 !important; padding:0 !important;
  border:0 !important; border-radius:0 !important;
  background:none !important; background-color:transparent !important;
  box-shadow:none !important; outline-offset:3px;
  color:var(--jd-navy) !important;
  cursor:pointer !important; text-align:left !important;
  line-height:1.3 !important; transform:none !important;
  pointer-events:auto;
}
.jakobi-direkt__bubble {
  display:flex; flex-direction:column; gap:2px;
  margin-right:14px; padding:13px 18px 14px;
  border:1px solid #dce9f3; border-radius:14px;
  background:#fff; box-shadow:0 10px 30px rgba(7,40,65,.16);
  max-width:260px; color:var(--jd-navy);
  transition:transform .2s ease,opacity .2s ease;
}
.jakobi-direkt__bubble::after {
  content:""; position:absolute; right:124px; top:calc(50% - 6px);
  width:12px; height:12px; background:#fff;
  border-right:1px solid #dce9f3; border-top:1px solid #dce9f3;
  transform:rotate(45deg); pointer-events:none;
}
.jakobi-direkt__bubble-kicker {font-weight:800; color:var(--jd-blue); font-size:10px; letter-spacing:.075em;}
.jakobi-direkt__bubble strong {font-size:15px; font-weight:800; line-height:1.3; color:var(--jd-navy);}
.jakobi-direkt__portrait-ring {
  position:relative; display:block; width:110px; height:110px; flex:0 0 110px;
  border:3px solid #fff; border-radius:50%; overflow:hidden;
  background:linear-gradient(145deg,#0d6599,#082f50 72%);
  box-shadow:0 0 0 2px rgba(7,143,226,.6),0 13px 28px rgba(3,35,58,.22);
  transition:transform .25s ease,box-shadow .25s ease;
  animation:jd-arrive 650ms ease-out both;
}
.jakobi-direkt__portrait-ring img {
  display:block !important; position:absolute; width:100% !important; height:100% !important;
  left:0; top:0; margin:0 !important; padding:0 !important; border:0 !important;
  object-fit:cover !important; object-position:center center !important;
  border-radius:0 !important; max-width:none !important; box-shadow:none !important;
}
.jakobi-direkt__availability {
  position:absolute; right:3px; bottom:3px; width:13px; height:13px;
  border:3px solid #fff; background:#22c784; border-radius:50%; z-index:2;
}
@keyframes jd-arrive {0% {opacity:0;transform:translateY(14px) scale(.92)}100%{opacity:1;transform:translateY(0) scale(1)}}
@media (hover:hover) and (pointer:fine) {
  .jakobi-direkt__launcher:hover .jakobi-direkt__portrait-ring {transform:translateY(-3px); box-shadow:0 0 0 2px rgba(7,143,226,.85),0 19px 33px rgba(3,35,58,.25);}
}
.jakobi-direkt--open .jakobi-direkt__bubble {opacity:0; transform:translateX(6px); pointer-events:none;}

/* Opened contact panel */
.jakobi-direkt__panel {
  display:flex; flex-direction:column;
  position:absolute; right:0; bottom:133px;
  width:392px; max-width:calc(100vw - 28px);
  max-height:min(650px,calc(100dvh - 183px));
  min-height:0; overflow:hidden; pointer-events:auto;
  background:#fff; border:1px solid rgba(8,47,80,.13); border-radius:19px;
  box-shadow:0 22px 72px rgba(3,36,60,.26);
  animation:jd-panel-open 180ms ease-out;
}
@keyframes jd-panel-open {from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
.jakobi-direkt__header {
  position:relative; flex:0 0 auto; display:flex; gap:12px; align-items:center;
  min-height:126px; padding:22px 48px 20px 19px;
  background:linear-gradient(115deg,#062b49 0%,#0c4d78 100%);
  overflow:hidden;
}
.jakobi-direkt__header::after {
  content:""; position:absolute; right:-63px; bottom:-105px; height:240px; width:240px;
  border:1px solid rgba(255,255,255,.14); border-radius:50%; pointer-events:none;
}
.jakobi-direkt__header-portrait {
  z-index:1; overflow:hidden; flex:0 0 84px; width:84px; height:84px;
  border:2px solid rgba(255,255,255,.75); border-radius:50%;
  background:#0a70ae;
}
.jakobi-direkt__header-portrait img {
  display:block !important; height:100% !important; width:100% !important;
  object-fit:cover !important; object-position:center center !important; margin:0 !important;
  max-width:none !important; border:0 !important; border-radius:0 !important;
}
.jakobi-direkt__header-copy {z-index:1; min-width:0; flex:1;}
.jakobi-direkt__eyebrow {display:block;font-size:10px;line-height:1.4;font-weight:800;letter-spacing:.13em;color:#8fd7ff;text-transform:uppercase;}
.jakobi-direkt__header h3 {
  margin:4px 0 6px !important; padding:0 !important;
  font-size:20px !important; line-height:1.17 !important; font-weight:800 !important;
  letter-spacing:-.025em !important; color:#fff !important;
}
.jakobi-direkt__subline {display:block;color:#d2e4f1;font-size:11px;letter-spacing:.015em;}
.jakobi-direkt button.jakobi-direkt__close {
  position:absolute !important; z-index:5; right:12px; top:12px;
  display:flex !important; align-items:center !important; justify-content:center !important;
  width:34px !important; height:34px !important; min-width:34px !important; min-height:34px !important;
  padding:0 !important; margin:0 !important;
  background:rgba(255,255,255,.13) !important; color:#fff !important;
  border:1px solid rgba(255,255,255,.25) !important; border-radius:50% !important;
  cursor:pointer !important; box-shadow:none !important;
}
.jakobi-direkt__close svg {display:block;stroke:#fff;}
.jakobi-direkt__tabs {flex:0 0 auto; display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:12px 16px 0;background:#fff;}
.jakobi-direkt button.jakobi-direkt__tab {
  display:flex !important; align-items:center !important; justify-content:center !important;
  width:100% !important; min-height:42px !important; margin:0 !important; padding:8px 6px !important;
  border:0 !important; border-bottom:2px solid #e4edf4 !important; border-radius:0 !important;
  background:#fff !important; color:#6b849a !important; box-shadow:none !important;
  font-size:12px !important; font-weight:750 !important; cursor:pointer !important;
}
.jakobi-direkt button.jakobi-direkt__tab[aria-selected="true"] {border-bottom-color:var(--jd-blue) !important;color:var(--jd-navy) !important;}
.jakobi-direkt__content {flex:1 1 auto;overflow-y:auto;min-height:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:16px 18px 17px;scrollbar-width:thin;scrollbar-color:#b6d6e9 transparent;}
.jakobi-direkt__intro {margin:0 0 15px !important; color:var(--jd-ink) !important;font-size:13px !important;line-height:1.65 !important;}
.jakobi-direkt__actions {display:grid;gap:8px;}
.jakobi-direkt a.jakobi-direkt__action {
  display:flex !important;align-items:center !important; gap:11px; width:100% !important;min-width:0;
  min-height:61px !important; padding:11px 13px !important; margin:0 !important;
  color:var(--jd-navy) !important;background:#fff !important;
  border:1px solid var(--jd-line) !important;border-radius:12px !important;
  box-shadow:none !important; text-decoration:none !important; font-weight:inherit !important;
  transition:border-color .2s,background .2s;
}
.jakobi-direkt a.jakobi-direkt__action:hover {background:#f3f9fd !important;border-color:#a9d4ef !important;text-decoration:none !important;}
.jakobi-direkt__action-icon {flex:0 0 36px; width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#e8f6fd;color:var(--jd-blue);}
.jakobi-direkt__action-icon svg{display:block;stroke:currentColor;}
.jakobi-direkt__action > span:nth-child(2){display:flex; flex:1; flex-direction:column; gap:2px; min-width:0;text-align:left;}
.jakobi-direkt__action strong{font-size:12.5px;color:inherit;font-weight:800;line-height:1.35;}
.jakobi-direkt__action small{font-size:10.5px;color:#758da0;line-height:1.35;}
.jakobi-direkt__chevron{margin-left:auto;font-size:17px;font-weight:600;color:var(--jd-blue);}
.jakobi-direkt a.jakobi-direkt__action--primary {background:var(--jd-blue) !important; border-color:var(--jd-blue) !important; color:#fff !important;}
.jakobi-direkt a.jakobi-direkt__action--primary:hover {background:#007bc6 !important; border-color:#007bc6 !important;}
.jakobi-direkt__action--primary .jakobi-direkt__action-icon {background:rgba(255,255,255,.18);color:#fff;}
.jakobi-direkt__action--primary small {color:rgba(255,255,255,.82) !important;}
.jakobi-direkt__action--primary .jakobi-direkt__chevron{color:#fff;}
.jakobi-direkt__footnote{margin:13px 0 0 !important;color:#8ba0b1 !important;font-size:10px !important;text-align:center;}
.jakobi-direkt__faq-intro {margin:0 0 12px !important;color:var(--jd-ink) !important; font-size:12.5px !important;line-height:1.55 !important;}
.jakobi-direkt__faq-list{display:grid;gap:8px;}
.jakobi-direkt details.jakobi-direkt__faq{margin:0 !important;padding:0 !important;border:1px solid var(--jd-line) !important;border-radius:11px !important;background:#fff !important;overflow:hidden;}
.jakobi-direkt .jakobi-direkt__faq summary {list-style:none !important;position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:49px;padding:10px 12px !important;margin:0 !important;cursor:pointer;color:var(--jd-navy) !important;font-size:12px !important;font-weight:750 !important;line-height:1.4 !important;}
.jakobi-direkt .jakobi-direkt__faq summary::-webkit-details-marker{display:none;}
.jakobi-direkt__faq-plus{font-size:19px;color:var(--jd-blue);flex:0 0 auto;line-height:1;}
.jakobi-direkt__faq[open] .jakobi-direkt__faq-plus{transform:rotate(45deg);}
.jakobi-direkt__faq-answer{margin:0 12px 12px;padding:12px 0 0;border-top:1px solid #ecf2f7;color:var(--jd-ink);font-size:12px;line-height:1.6;}
.jakobi-direkt__faq-answer p {margin:0 !important;}
.jakobi-direkt__faq-disclaimer{margin:12px 0 !important;color:#8096a8 !important;font-size:10px !important;line-height:1.5 !important;}
.jakobi-direkt a.jakobi-direkt__faq-contact{display:block;padding:12px;background:#eaf6fc;color:var(--jd-navy) !important;border-radius:10px;font-size:12px;font-weight:800;text-decoration:none !important;text-align:center;}
.jakobi-direkt a.jakobi-direkt__faq-contact:hover {background:#d9eefb;}
.jakobi-direkt button:focus-visible,.jakobi-direkt a:focus-visible,.jakobi-direkt summary:focus-visible{outline:3px solid #62bbef !important; outline-offset:2px !important;}
html.jakobi-direkt-scrolllock,body.jakobi-direkt-scrolllock{overflow:hidden !important;}
@media(max-width:767px){
  .jakobi-direkt[data-mobile-enabled="0"] {display:none !important;}
  .jakobi-direkt{right:max(15px,env(safe-area-inset-right)) !important;bottom:calc(24px + env(safe-area-inset-bottom)) !important;}
  .jakobi-direkt__bubble {display:none !important;}
  .jakobi-direkt__portrait-ring {width:88px;height:88px;flex-basis:88px;}
  .jakobi-direkt__panel{bottom:110px;width: min(392px,calc(100vw - 24px));max-height: min(630px,calc(100dvh - 160px));border-radius:18px;}
  .jakobi-direkt__header{padding:19px 46px 17px 16px;min-height:115px;}
  .jakobi-direkt__header h3{font-size:18px !important;}
  .jakobi-direkt__header-portrait{height:72px;width:72px;flex-basis:72px;}
  .jakobi-direkt__content{padding:14px;}
}
@media(max-width:380px){.jakobi-direkt__header h3{font-size:16.5px!important}.jakobi-direkt__subline{font-size:10px}.jakobi-direkt__panel{max-height:calc(100dvh - 160px)}}
@media(prefers-reduced-motion:reduce){.jakobi-direkt *,.jakobi-direkt *::before,.jakobi-direkt *::after{animation:none!important;transition:none!important;}}
