/* Werbesturm Slide Kontakt */
.wsk{
  --wsk-navy:#0d2f5c;
  --wsk-sea:#1a5fa8;
  --wsk-light:#dbeafb;
  --wsk-light-hover:#c6ddf7;
  --wsk-on-main:#fff;
  --wsk-on-main-soft:rgba(255,255,255,.78);
  --wsk-on-accent:#0d2f5c;
  --wsk-main-ink:#0d2f5c;
  --wsk-ink:#16233a;
  --wsk-muted:#5b6b82;
  font-family:inherit;
  color:var(--wsk-ink);
  line-height:1.4;
}
.wsk *,.wsk *::before,.wsk *::after{box-sizing:border-box}

/* Theme-Resets (Buttons, Felder, Überschriften) */
#wsk button,#wsk input,#wsk textarea{font-family:inherit;text-transform:none;letter-spacing:normal;margin:0;box-shadow:none;text-shadow:none;min-height:0;line-height:1.4}
#wsk p,#wsk h2,#wsk h3{margin:0;padding:0;text-transform:none;letter-spacing:normal}
#wsk img{max-width:none;margin:0}
#wsk a{text-decoration:none}

/* Tab rechts */
#wsk .wsk-tab{
  position:fixed;right:0;top:var(--wsk-tab-top,62%);transform:translateY(-50%);z-index:99990;
  background:var(--wsk-navy);color:var(--wsk-on-main);border:0;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;gap:10px;
  padding:12px 8px 20px;border-radius:14px 0 0 14px;
  font-weight:700;font-size:15px;line-height:1;letter-spacing:.06em;
  box-shadow:-4px 0 18px rgba(13,47,92,.25);
  transition:padding-right .2s ease, background .2s ease;
}
#wsk .wsk-tab:hover{background:var(--wsk-sea);padding-right:14px}
#wsk .wsk-tab:focus-visible{outline:3px solid #7fb3ff;outline-offset:2px}
#wsk .wsk-tab img{width:50px;height:50px;display:block}
#wsk .wsk-tab span{writing-mode:vertical-rl;white-space:nowrap;line-height:1.2;font-size:16px;text-align:start;align-self:center;letter-spacing:.06em}
@keyframes wsk-nudge{0%,100%{transform:translate(0,-50%)}35%{transform:translate(-14px,-50%)}60%{transform:translate(-4px,-50%)}}
#wsk .wsk-tab.is-nudge{animation:wsk-nudge .9s ease-in-out 1}
.wsk.is-open .wsk-tab{opacity:0;pointer-events:none}

/* Overlay */
.wsk-overlay{position:fixed;inset:0;z-index:99991;background:rgba(13,30,55,.45);opacity:0;pointer-events:none;transition:opacity .3s ease}
.wsk.is-open .wsk-overlay{opacity:1;pointer-events:auto}

/* Panel als Karte */
.wsk-panel{
  position:fixed;top:16px;right:0;z-index:99992;width:min(400px,92vw);background:#fff;
  max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);
  border-radius:18px 0 0 18px;overflow:hidden;
  transform:translateX(105%);
  transition:transform .38s cubic-bezier(.22,.8,.3,1), top .3s ease;
  display:flex;flex-direction:column;box-shadow:none;
}
.wsk.is-open .wsk-panel{transform:translateX(0);box-shadow:-12px 0 40px rgba(13,30,55,.25)}
.wsk-panel.is-dragging,.wsk-overlay.is-dragging{transition:none}
.wsk-scroll{overflow-y:auto;min-height:0;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}

/* Kopf */
.wsk-head{background:var(--wsk-navy);color:var(--wsk-on-main);padding:20px 22px 8px;position:relative}
#wsk .wsk-close{
  position:absolute;top:12px;right:12px;padding:0;
  width:38px;height:38px;border-radius:50%;border:0;cursor:pointer;
  background:rgba(127,127,127,.2);color:var(--wsk-on-main);font-size:24px;line-height:1;font-weight:400;
}
#wsk .wsk-close:hover{background:rgba(127,127,127,.32)}
#wsk .wsk-close:focus-visible{outline:3px solid #7fb3ff;outline-offset:2px}
.wsk-brandrow{display:flex;align-items:center;gap:12px;margin:0 44px 12px 0}
#wsk .wsk-brandrow img{width:52px;height:auto;display:block;flex:0 0 52px}
#wsk .wsk-kicker{font-size:15px;color:var(--wsk-on-main-soft)}
#wsk .wsk-title{font-size:19px;line-height:1.25;font-weight:800;color:var(--wsk-on-main);margin:0 44px 6px 0}
#wsk .wsk-facts{font-size:14px;line-height:1.4;color:var(--wsk-on-main-soft)}
#wsk .wsk-facts[hidden]{display:none}
.wsk-wave{display:block;width:100%;height:18px;margin-top:-1px;color:var(--wsk-navy)}

/* Body */
.wsk-body{padding:14px 22px 24px}

/* Mitarbeiter + Status */
.wsk-who{display:flex;gap:12px;align-items:center;margin:0 0 16px}
.wsk-photo{
  width:52px;height:52px;border-radius:50%;flex:0 0 52px;overflow:hidden;
  background:var(--wsk-sea);color:var(--wsk-on-main);display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:18px;
}
#wsk .wsk-photo img{width:100%;height:100%;object-fit:cover;display:block}
#wsk .wsk-name{font-weight:700;font-size:16px;margin:0 0 4px;color:var(--wsk-ink)}
#wsk .wsk-btn[hidden]{display:none!important}
#wsk .wsk-role{font-weight:400;font-size:13px;line-height:1.3;margin:-2px 0 6px;color:var(--wsk-muted)}
#wsk .wsk-role:empty,#wsk.no-staff .wsk-role{display:none}
.wsk-status{display:inline-block;padding:4px 12px;border-radius:99px;font-size:13px;font-weight:600}
.wsk-status:empty{display:none}
.wsk-status.is-on{background:var(--wsk-light);color:var(--wsk-on-accent)}
.wsk-status.is-off{background:#fdf0dc;color:#6b4000}
.wsk-photo-brand{background:var(--wsk-navy)}
#wsk .wsk-photo-brand img{width:84%;height:auto;object-fit:contain}
.wsk-photo-brand,.wsk-name-brand{display:none}
#wsk.no-staff .wsk-photo-staff,#wsk.no-staff .wsk-name-staff{display:none}
#wsk.no-staff .wsk-photo-brand{display:flex}
#wsk.no-staff .wsk-name-brand{display:block}

/* Buttons */
.wsk-actions{display:grid;gap:10px}
#wsk .wsk-btn{
  display:flex;align-items:center;justify-content:center;gap:10px;width:100%;
  min-height:50px;padding:10px 22px;border-radius:99px;border:0;cursor:pointer;
  font-weight:700;font-size:15px;line-height:1.2;text-decoration:none;text-align:center;
}
#wsk .wsk-btn:focus-visible{outline:3px solid #7fb3ff;outline-offset:2px}
#wsk .wsk-btn svg{width:20px;height:20px;flex:0 0 20px}
#wsk .wsk-btn-call{background:var(--wsk-navy);color:var(--wsk-on-main);min-height:56px;font-size:20px;letter-spacing:.02em}
#wsk .wsk-btn-call svg{width:22px;height:22px;flex-basis:22px}
#wsk .wsk-btn-call:hover{background:var(--wsk-sea);color:var(--wsk-on-main)}
#wsk .wsk-btn-wa{background:var(--wsk-light);color:var(--wsk-on-accent)}
#wsk .wsk-btn-wa:hover{background:var(--wsk-light-hover);color:var(--wsk-on-accent)}
#wsk .wsk-btn-msg{background:#fff;color:var(--wsk-main-ink);box-shadow:inset 0 0 0 2px var(--wsk-main-ink)}
#wsk .wsk-btn-msg:hover{background:#f3f6fa}
#wsk.form-open .wsk-btn-msg{display:none}
/* Theme-Schutz fuer echte button-Elemente (Flatsome & Co.) */
#wsk button.wsk-btn{
  border-radius:99px!important;border:0!important;margin:0!important;
  min-height:50px!important;padding:10px 22px!important;width:100%!important;
  font-family:inherit!important;font-size:15px!important;font-weight:700!important;line-height:1.2!important;
  text-transform:none!important;letter-spacing:normal!important;
  display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;
}
#wsk button.wsk-btn-msg{box-shadow:inset 0 0 0 2px var(--wsk-main-ink)!important}
#wsk button.wsk-submit{box-shadow:none!important}
#wsk.form-open button.wsk-btn-msg{display:none!important}

/* Formular */
.wsk-form{display:none;margin-top:18px}
.wsk.form-open .wsk-form{display:block}
.wsk-field{margin:0 0 10px}
#wsk .wsk-field label{display:block;font-size:14px;font-weight:600;margin:0 0 4px;color:var(--wsk-ink)}
#wsk .wsk-field input,#wsk .wsk-field textarea{
  width:100%;height:auto;font-size:16px;color:var(--wsk-ink);
  padding:10px 12px;border:1px solid #c5d1df;border-radius:8px;background:#fff;
}
#wsk .wsk-field textarea{min-height:80px;resize:vertical}
#wsk .wsk-field input:focus,#wsk .wsk-field textarea:focus{outline:none;border-color:var(--wsk-sea);box-shadow:0 0 0 3px var(--wsk-light)}
.wsk-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#wsk .wsk-hint{font-size:13px;color:var(--wsk-muted);margin:-4px 0 10px}
.wsk-consent{display:flex;gap:10px;align-items:center;font-size:14px;color:var(--wsk-muted);margin:4px 0 14px;cursor:pointer}
#wsk .wsk-consent input{width:18px;height:18px;flex:0 0 18px;margin:0}
#wsk .wsk-consent a{color:var(--wsk-main-ink);text-decoration:underline}
.wsk-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
#wsk .wsk-submit{background:var(--wsk-navy);color:var(--wsk-on-main)}
#wsk .wsk-submit:hover{background:var(--wsk-sea)}
#wsk .wsk-submit[disabled]{opacity:.6;cursor:wait}

.wsk-error{display:none;width:100%;padding:12px 14px;border-radius:8px;margin:0 0 12px;background:#fbe3e3;color:#7a1414;font-size:14px;font-weight:600}
.wsk-error.is-visible{display:block}
.wsk-success{display:none;width:100%;margin-top:18px;padding:16px;border-radius:8px;background:var(--wsk-light);color:var(--wsk-on-accent)}
#wsk .wsk-success h3{margin:0 0 4px;font-size:17px;color:var(--wsk-on-accent)}
#wsk .wsk-success p{font-size:15px;line-height:1.5}
.wsk.is-sent .wsk-form{display:none}
.wsk.is-sent .wsk-success{display:block}

@media (max-width:768px){
  #wsk .wsk-tab{padding:10px 5px 14px;gap:8px;font-size:13px;border-radius:12px 0 0 12px}
  #wsk .wsk-tab img{width:34px;height:34px}
  #wsk .wsk-tab span{font-size:13px}
  #wsk .wsk-tab:hover{padding-right:5px}
}
@media (max-width:420px){
  .wsk-panel{width:88vw}
  .wsk-row{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .wsk-panel,.wsk-overlay,#wsk .wsk-tab{transition:none}
  #wsk .wsk-tab.is-nudge{animation:none}
}
