/* ==========================================================================
   ZENTRIV – Kontakt (Funnel mit Elementor-Pro-Formular), Impressum, Datenschutz
   ========================================================================== */
.zv-site .elementor-element.zv-kmw560{max-width:560px !important}
.zv-site .elementor-element.zv-kmw460{max-width:460px !important}
.zv-site .e-con.zv-kmw900{max-width:900px}
@media (max-width:480px){.zv-site .zv-khero h1.elementor-heading-title{font-size:clamp(28px,9.4vw,40px) !important}}

/* ------------------------------------------------------------ Porträt-Duo */
.zv-duo{display:flex;align-items:center;gap:12px}
.zv-duo-av{display:inline-flex;flex:none}
.zv-duo-av img{width:var(--zv-duo,38px);height:var(--zv-duo,38px);border-radius:50%;object-fit:cover;border:2px solid var(--zv-duo-b,var(--zv-bg2));display:block;max-width:none}
.zv-duo-av img+img{margin-left:calc(var(--zv-duo,38px) / -3)}
.zv-duo-txt{font-size:14px;line-height:1.4;color:var(--zv-muted)}
.zv-duo-txt strong{color:var(--zv-white);font-weight:600}

/* ------------------------------------------------- Kontakt: „Lieber direkt?“ */
.zv-site .zv-kdirect .elementor-icon-list-items{display:flex;flex-direction:column;gap:6px}
.zv-site .zv-kdirect .elementor-icon-list-item{margin:0 !important;padding:0 !important}
.zv-site .zv-kdirect .elementor-icon-list-item::after{display:none !important}
.zv-site .zv-kdirect .elementor-icon-list-item>a{display:inline-flex;align-items:center;gap:12px;min-height:44px}
.zv-site .zv-kdirect .elementor-icon-list-icon{width:20px}
.zv-site .zv-kdirect .elementor-icon-list-icon svg{width:20px;height:20px;stroke-width:1.9}
.zv-site .zv-kdirect .elementor-icon-list-item:first-child .elementor-icon-list-text{font-family:var(--zv-head);font-stretch:108%;font-weight:700;font-size:clamp(19px,6vw,22px);white-space:nowrap}
.zv-site .zv-kdirect a .elementor-icon-list-text{transition:color .25s ease}
.zv-site .zv-kdirect a:hover .elementor-icon-list-text{color:var(--zv-teal2)}

/* ----------------------------------------------------------- Formular-Karte */
.zv-site .zv-kformcard{padding:clamp(22px,3.4vw,40px) !important;box-shadow:0 50px 100px -50px rgba(0,0,0,.9);scroll-margin-top:100px}
.zv-knopro-w{display:none}
.zv-kformcard:not(:has(.elementor-widget-form)) .zv-knopro-w{display:block}
.zv-site .zv-kformcard:not(:has(.elementor-widget-form)) .elementor-widget-zv-funnel,
.zv-site .zv-kfunnel:not(:has(.elementor-widget-form)) .elementor-element.zv-kticket{display:none !important}
.zv-site .zv-knopro a{color:var(--zv-teal2)}
.zv-kformcard.zv-sent .elementor-widget-form{display:none}

/* Fortschritt */
.zv-funnel{display:flex;flex-direction:column;gap:26px}
.zv-fhead{display:flex;flex-direction:column;gap:12px}
.zv-fhead-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;font-family:var(--zv-label);font-weight:600;font-size:11px;line-height:1.4;letter-spacing:.12em;text-transform:uppercase}
.zv-fhead-step{color:var(--zv-teal2);white-space:nowrap}
.zv-fhead-hint{color:var(--zv-muted2);white-space:nowrap}
.zv-fsegs{display:grid;grid-template-columns:repeat(var(--zv-n,4),minmax(0,1fr));gap:6px}
.zv-fsegs span{display:block;height:5px;border-radius:3px;background:var(--zv-line);overflow:hidden}
.zv-fsegs i{display:block;height:100%;border-radius:3px;background:var(--zv-teal);transition:width .6s var(--zv-ease)}

/* Danke-Ansicht */
.zv-fdone[hidden]{display:none !important}
.zv-fdone{position:relative;display:flex;flex-direction:column;align-items:center;gap:18px;padding:18px 0 6px;text-align:center;animation:zvkStep .5s var(--zv-ease) both}
.zv-fconf{position:absolute;left:50%;top:66px;width:0;height:0}
.zv-conf{position:absolute;left:0;top:0;border-radius:2px;opacity:0;animation:zvkConf 1.4s cubic-bezier(.15,.7,.3,1) forwards}
.zv-fring{animation:zvkRing .6s cubic-bezier(.3,1.5,.5,1) both}
.zv-fdraw{stroke-dasharray:60;stroke-dashoffset:60;animation:zvkDraw .7s .25s cubic-bezier(.6,0,.2,1) forwards}
.zv-site .zv-fdone-title{margin:0;max-width:520px;font-family:var(--zv-head);font-stretch:110%;font-weight:800;font-size:clamp(28px,3vw,40px);line-height:1.02;letter-spacing:-.03em;color:var(--zv-white)}
.zv-site .zv-fdone-text{margin:0;max-width:480px;font-size:17px;line-height:1.6;color:var(--zv-text)}
.zv-fdone-pill{display:inline-flex;align-items:center;gap:12px;padding:10px 16px 10px 10px;border-radius:999px;border:1px solid var(--zv-line);background:var(--zv-bg2)}
.zv-fdone-nr{font-family:var(--zv-label);font-weight:600;font-size:11px;letter-spacing:.1em;color:var(--zv-muted);text-transform:uppercase}
.zv-fdone-nr b{font-weight:600}
.zv-fdone-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;padding-top:6px}
.zv-site .zv-fdone-reset,.zv-site .zv-fdone-home{display:inline-flex;align-items:center;gap:10px;min-height:50px;padding:12px 22px;border-radius:999px;font-family:var(--zv-body);font-size:15px;line-height:1.2;text-decoration:none;cursor:pointer;transition:border-color .25s ease,color .25s ease,box-shadow .3s ease}
.zv-site .zv-fdone-reset{border:1px solid var(--zv-line2);background:transparent;color:var(--zv-text)}
.zv-site .zv-fdone-reset:hover,.zv-site .zv-fdone-reset:focus-visible{border-color:var(--zv-teal);color:var(--zv-white);background:transparent}
.zv-site .zv-fdone-home{border:0;background:var(--zv-teal);color:var(--zv-ink);font-weight:600}
.zv-site .zv-fdone-home:hover{color:var(--zv-ink);box-shadow:0 14px 40px -14px rgba(45,212,191,.7)}
@keyframes zvkStep{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
@keyframes zvkConf{0%{opacity:1;transform:translate(-50%,-50%) rotate(0) scale(.6)}70%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) rotate(var(--r)) scale(1)}}
@keyframes zvkRing{from{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}
@keyframes zvkDraw{to{stroke-dashoffset:0}}
@keyframes zvkPulse{0%{box-shadow:0 0 0 0 rgba(45,212,191,.55)}100%{box-shadow:0 0 0 8px rgba(45,212,191,0)}}

/* ------------------------------------------------- Elementor-Pro-Formular */
.zv-site .zv-kform .elementor-form{font-family:var(--zv-body)}
.zv-site .zv-kform .e-form__step:not(.elementor-hidden){animation:zvkStep .5s var(--zv-ease) both}
.zv-site .zv-kform .elementor-field-type-html{display:block}
.zv-site .zv-kform .elementor-field-type-step:not(.e-form__step){margin:0 !important;padding:0 !important}
.zv-site .zv-kform .zv-fintro{display:flex;flex-direction:column;gap:8px}
.zv-site .zv-kform .zv-fintro h2{margin:0;font-family:var(--zv-head);font-stretch:110%;font-weight:800;font-size:clamp(26px,2.6vw,36px);line-height:1.02;letter-spacing:-.03em;color:var(--zv-white)}
.zv-site .zv-kform .zv-fintro p{margin:0;font-size:16px;line-height:1.6;color:var(--zv-muted)}
.zv-site .zv-kform .zv-freact{margin:0;display:flex;align-items:center;gap:10px;min-height:24px;font-size:15px;line-height:1.5;color:var(--zv-text)}
.zv-site .zv-kform .zv-freact[data-multi]::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--zv-teal);animation:zvkPulse 1.8s ease-out infinite}
.zv-site .zv-kform .zv-fnote{margin:0;font-family:var(--zv-label);font-weight:600;font-size:11px;letter-spacing:.1em;color:var(--zv-muted2);text-transform:uppercase}
.zv-site .zv-kform .e-form__step>.elementor-field-group-pflicht{order:99;margin-bottom:0 !important}

/* Beschriftungen */
.zv-site .zv-kform .elementor-field-group>.elementor-field-label{display:block;padding:0 0 8px !important;font-family:var(--zv-label) !important;font-weight:600 !important;font-size:11px !important;line-height:1.4 !important;letter-spacing:.12em !important;text-transform:uppercase !important;color:var(--zv-muted2) !important}
.zv-site .zv-kform .elementor-field-group:has(.zv-needs)>.elementor-field-label{color:var(--zv-teal2) !important;padding-bottom:10px !important}
.zv-site .zv-kform .elementor-field-group:has(.zv-pills):not(:has(.zv-needs))>.elementor-field-label{padding-bottom:10px !important}
.zv-site .zv-kform .elementor-mark-required .elementor-field-label::after{content:"*";padding-left:.35em;color:var(--zv-teal2) !important}
.zv-site .zv-kform .elementor-field-group:has(.zv-tiles)>.elementor-field-label,
.zv-site .zv-kform .elementor-field-type-acceptance>.elementor-field-label{position:absolute !important;width:1px;height:1px;padding:0 !important;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.zv-site .zv-kform .zv-off{display:none !important}

/* Eingabefelder */
.zv-site .zv-kform .elementor-field-group .elementor-field-textual{width:100%;box-sizing:border-box;min-height:54px;padding:0 16px !important;border-radius:14px !important;border:1px solid var(--zv-line2) !important;background:var(--zv-bg) !important;color:var(--zv-white) !important;font-family:var(--zv-body) !important;font-size:16px !important;line-height:1.4 !important;box-shadow:none;transition:border-color .2s ease,box-shadow .2s ease}
.zv-site .zv-kform .elementor-field-group textarea.elementor-field-textual{min-height:104px;padding:14px 16px !important;line-height:1.5 !important;resize:vertical}
.zv-site .zv-kform .elementor-field-group .elementor-field-textual:focus{outline:none;border-color:var(--zv-teal) !important;box-shadow:0 0 0 4px rgba(45,212,191,.16)}
.zv-site .zv-kform .elementor-field-textual::placeholder{color:#5C6E6C !important;opacity:1}
.zv-site .zv-kform .zv-invalid .elementor-field-textual{border-color:var(--zv-amber) !important}

/* Auswahl-Optionen: natives Feld unsichtbar über der Fläche */
.zv-site .zv-kform .zv-tiles .elementor-field-option,.zv-site .zv-kform .zv-pills .elementor-field-option{position:relative;display:block;margin:0 !important;padding:0}
.zv-site .zv-kform .zv-tiles input,.zv-site .zv-kform .zv-pills input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:2}

/* Kacheln (Schritt 1) */
.zv-site .zv-kform .zv-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:10px}
.zv-site .zv-kform .zv-tiles .elementor-field-option:last-child:nth-child(odd){grid-column:1/-1}
.zv-site .zv-kform .zv-tiles label{position:relative;display:flex;align-items:center;gap:14px;min-height:84px;height:100%;box-sizing:border-box;padding:16px 44px 16px 16px;border-radius:18px;border:1px solid var(--zv-line);background:var(--zv-bg);color:var(--zv-white);font-size:16px;font-weight:600;line-height:1.25;cursor:pointer;transition:border-color .25s ease,background-color .25s ease,transform .35s var(--zv-ease)}
.zv-site .zv-kform .zv-tiles .elementor-field-option:hover label{border-color:rgba(45,212,191,.55);transform:translateY(-2px)}
.zv-site .zv-kform .zv-tiles .elementor-field-option:active label{transform:scale(.98)}
.zv-site .zv-kform .zv-tiles input:checked+label{border-color:rgba(45,212,191,.65);background:rgba(45,212,191,.08)}
.zv-site .zv-kform .zv-tiles input:focus-visible+label,.zv-site .zv-kform .zv-pills input:focus-visible+label{outline:2px solid var(--zv-teal);outline-offset:3px}
.zv-tic{flex:none;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px;background:#1A2A2D;color:var(--zv-teal2);transition:background-color .25s ease,color .25s ease}
.zv-tic svg{width:20px;height:20px}
.zv-kform .zv-tiles input:checked+label .zv-tic{background:var(--zv-teal);color:var(--zv-ink)}
.zv-tt{display:flex;flex-direction:column;gap:3px;min-width:0}
.zv-tsub{font-size:13px;line-height:1.4;font-weight:400;color:var(--zv-muted)}
.zv-tchk{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--zv-teal);color:var(--zv-ink);transform:scale(.3);opacity:0;transition:transform .45s cubic-bezier(.3,1.6,.5,1),opacity .2s ease}
.zv-kform .zv-tiles input:checked+label .zv-tchk{transform:none;opacity:1}
.zv-site .zv-kform .zv-invalid .zv-tiles label,.zv-site .zv-kform .zv-invalid .zv-pills label{border-color:rgba(251,191,36,.55)}
@media (max-width:420px){.zv-site .zv-kform .zv-tiles label{gap:12px;padding:14px 38px 14px 14px}.zv-tic{width:38px;height:38px;border-radius:12px}}

/* Pillen (Schritte 2–4) */
.zv-site .zv-kform .zv-pills{display:flex;flex-wrap:wrap;gap:8px}
.zv-site .zv-kform .zv-pills .elementor-field-option{flex:0 0 auto !important;max-width:100%}
.zv-site .zv-kform .zv-pills label{display:inline-flex;align-items:center;gap:8px;min-height:46px;box-sizing:border-box;padding:10px 18px;border-radius:999px;border:1px solid var(--zv-line2);background:transparent;color:var(--zv-text);font-size:15px;line-height:1.3;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,color .2s ease,transform .3s cubic-bezier(.3,1.6,.5,1)}
.zv-site .zv-kform .zv-pills .elementor-field-option:hover label{border-color:rgba(45,212,191,.55)}
.zv-site .zv-kform .zv-pills .elementor-field-option:active label{transform:scale(.96)}
.zv-site .zv-kform .zv-pills input:checked+label{border-color:rgba(45,212,191,.65);background:rgba(45,212,191,.10);color:var(--zv-white)}
.zv-site .zv-kform .zv-pills input:checked+label::before{content:"";flex:none;width:13px;height:13px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat}

/* Einwilligung */
.zv-site .zv-kform .elementor-field-type-acceptance .elementor-field-subgroup{display:block}
.zv-site .zv-kform .elementor-field-type-acceptance .elementor-field-option{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:14px;border:1px solid var(--zv-line);background:var(--zv-bg2);cursor:pointer;margin:0}
.zv-site .zv-kform .zv-invalid.elementor-field-type-acceptance .elementor-field-option{border-color:var(--zv-amber)}
.zv-site .zv-kform .elementor-acceptance-field{flex:none;width:20px !important;height:20px;min-height:0 !important;margin:1px 0 0 !important;padding:0 !important;accent-color:var(--zv-teal);cursor:pointer}
.zv-site .zv-kform .elementor-field-type-acceptance .elementor-field-option label{font-size:14px;line-height:1.5;color:var(--zv-text);cursor:pointer}
.zv-site .zv-kform .elementor-field-type-acceptance .elementor-field-option label::after{content:" *";color:var(--zv-teal2)}
.zv-site .zv-kform .elementor-field-type-acceptance a{color:var(--zv-teal2);text-decoration:underline;text-underline-offset:3px}

/* Fehlermeldungen */
.zv-ferr{display:block;width:100%;margin-top:8px;font-size:13px;line-height:1.4;color:var(--zv-amber)}
.zv-site .zv-kform .elementor-message{width:100%;margin:14px 0 0;font-size:14px;line-height:1.5}
.zv-site .zv-kform .elementor-message-danger,.zv-site .zv-kform .elementor-form-help-inline{color:var(--zv-amber) !important}
.zv-site .zv-kform .elementor-message-success{color:var(--zv-teal2) !important}

/* Buttons Weiter / Zurück / Absenden */
.zv-site .zv-kform .e-form__buttons{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;width:100%;padding-top:6px}
.zv-site .zv-kform .e-form__buttons__wrapper{width:auto !important;flex:none !important;margin:0 !important;padding:0 !important}
.zv-site .zv-kform .e-form__buttons__wrapper:last-child{margin-left:auto !important}
.zv-site .zv-kform .e-form__buttons .elementor-button,.zv-site .zv-kform .elementor-field-type-submit .elementor-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:12px 24px !important;border-radius:999px !important;border:0 !important;background:var(--zv-teal) !important;color:var(--zv-ink) !important;font-family:var(--zv-body) !important;font-size:16px !important;font-weight:600 !important;line-height:1.2 !important;letter-spacing:0 !important;text-transform:none !important;box-shadow:none;cursor:pointer;transition:box-shadow .3s ease,border-color .25s ease,color .25s ease,opacity .25s ease}
.zv-site .zv-kform .e-form__buttons .elementor-button:hover,.zv-site .zv-kform .elementor-field-type-submit .elementor-button:hover{box-shadow:0 14px 40px -14px rgba(45,212,191,.7);color:var(--zv-ink) !important}
.zv-site .zv-kform .elementor-button:focus-visible{outline:2px solid var(--zv-teal);outline-offset:3px}
.zv-site .zv-kform .e-form__buttons__wrapper__button-next::after{content:"";flex:none;width:16px;height:16px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat}
.zv-site .zv-kform .e-form__buttons .e-form__buttons__wrapper__button-previous{padding:12px 20px !important;border:1px solid var(--zv-line2) !important;background:transparent !important;color:var(--zv-text) !important;font-size:15px !important;font-weight:400 !important}
.zv-site .zv-kform .e-form__buttons .e-form__buttons__wrapper__button-previous:hover{border-color:var(--zv-teal) !important;color:var(--zv-white) !important;box-shadow:none}
.zv-site .zv-kform .e-form__buttons__wrapper__button-previous::before{content:"";flex:none;width:16px;height:16px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5M11 18l-6-6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5M11 18l-6-6 6-6'/%3E%3C/svg%3E") center/contain no-repeat}
.zv-site .zv-kform .elementor-button .elementor-button-content-wrapper{display:inline-flex;align-items:center;gap:10px}
.zv-site .zv-kform .elementor-button .elementor-button-icon svg{width:16px;height:16px}
.zv-site .zv-kform .elementor-form-waiting .elementor-field-type-submit .elementor-button{opacity:.6}
.zv-site .zv-kform .e-form__buttons .elementor-button.zv-wait{opacity:.45}

/* ------------------------------------------------------------ Anfrage-Ticket */
@media (min-width:1000px){.zv-site .zv-kticket{position:sticky !important;top:108px}}
.zv-ticket{display:flex;flex-direction:column;border-radius:26px;border:1px solid var(--zv-line);background:radial-gradient(ellipse 80% 60% at 100% 0%,rgba(45,212,191,.14) 0%,rgba(19,29,32,0) 60%),var(--zv-bg3);--zv-duo-b:var(--zv-bg3)}
.zv-ticket-top{display:flex;flex-direction:column;gap:10px;padding:22px 24px 20px}
.zv-ticket-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.zv-ticket-title{font-family:var(--zv-label);font-weight:600;font-size:11px;letter-spacing:.12em;color:var(--zv-teal2);text-transform:uppercase}
.zv-ticket-status{display:inline-flex;align-items:center;gap:7px;padding:4px 10px;border-radius:999px;border:1px solid var(--zv-line2);font-family:var(--zv-label);font-weight:600;font-size:10px;letter-spacing:.1em;color:var(--zv-muted2);text-transform:uppercase;transition:color .3s ease,border-color .3s ease}
.zv-ticket-status i{width:6px;height:6px;border-radius:50%;background:currentColor;animation:zvkPulse 1.8s ease-out infinite}
.zv-ticket.is-ready .zv-ticket-status,.zv-ticket.is-sent .zv-ticket-status{color:var(--zv-teal2);border-color:rgba(45,212,191,.45)}
.zv-ticket-nr{font-family:var(--zv-head);font-stretch:115%;font-weight:800;font-size:26px;line-height:1.2;letter-spacing:-.02em;color:var(--zv-white)}
.zv-ticket-cut{position:relative;height:0;margin:0 22px;border-top:1px dashed var(--zv-line2)}
.zv-ticket-cut span{position:absolute;top:-12px;width:24px;height:24px;border-radius:50%;background:var(--zv-bg)}
.zv-ticket-cut span:first-child{left:-35px;border-right:1px solid var(--zv-line)}
.zv-ticket-cut span:last-child{right:-35px;border-left:1px solid var(--zv-line)}
.zv-ticket-rows{margin:0;padding:8px 24px 4px;list-style:none;display:flex;flex-direction:column}
.zv-ticket-rows li{display:flex;align-items:flex-start;gap:12px;margin:0;padding:12px 0;border-bottom:1px solid var(--zv-line)}
.zv-ticket-ok{position:relative;flex:none;width:20px;height:20px;margin-top:2px;border-radius:50%;border:1px solid var(--zv-line2);box-sizing:border-box}
.zv-ticket-ok>span{position:absolute;inset:-1px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--zv-teal);color:var(--zv-ink);transform:scale(.3);opacity:0;transition:transform .45s cubic-bezier(.3,1.6,.5,1),opacity .2s ease}
.zv-ticket-rows li.is-ok .zv-ticket-ok>span{transform:none;opacity:1}
.zv-ticket-cell{min-width:0;display:flex;flex-direction:column;gap:3px}
.zv-ticket-lbl{font-family:var(--zv-label);font-weight:600;font-size:10px;line-height:1.4;letter-spacing:.12em;color:var(--zv-muted2);text-transform:uppercase}
.zv-ticket-val{font-size:15px;line-height:1.4;color:#5C6E6C;overflow-wrap:anywhere;transition:color .3s ease}
.zv-ticket-rows li.is-ok .zv-ticket-val{color:var(--zv-white)}
.zv-ticket-pct{display:flex;flex-direction:column;gap:8px;padding:14px 24px 18px}
.zv-ticket-pctrow{display:flex;justify-content:space-between;font-family:var(--zv-label);font-weight:600;font-size:10px;letter-spacing:.12em;color:var(--zv-muted2);text-transform:uppercase}
.zv-ticket-pctrow span:last-child{color:var(--zv-teal2)}
.zv-ticket-pctrow b{font-weight:600}
.zv-ticket-bar{height:6px;border-radius:3px;background:var(--zv-bg);overflow:hidden}
.zv-ticket-bar i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#134E4A,var(--zv-teal));transition:width .6s var(--zv-ease)}
.zv-ticket-foot{display:flex;align-items:center;gap:12px;padding:16px 24px 20px;border-top:1px solid var(--zv-line)}
.zv-ticket-foottxt{font-size:13px;line-height:1.4;color:var(--zv-muted)}
.zv-ticket-foottxt strong{color:var(--zv-white);font-weight:600}

/* ------------------------------------------------------ So geht es weiter */
.zv-kaddr-far{margin-left:auto}
.zv-site .zv-kaddr .elementor-icon{display:inline-flex;color:var(--zv-teal2)}
.zv-site .zv-kaddr .elementor-icon svg{width:22px;height:22px;stroke-width:1.9}
.zv-site .zv-kaddr .elementor-widget-text-editor strong{font-weight:600}
@media (max-width:767px){.zv-kaddr-far{margin-left:0}}

/* ================================================================= Impressum */
.zv-icard{transition:border-color .3s ease,transform .45s var(--zv-ease)}
.zv-site .zv-icard:hover{border-color:rgba(45,212,191,.45) !important}
.zv-site a.zv-icard:hover{transform:translateY(-3px)}
.zv-site .zv-icard--link{border-color:rgba(45,212,191,.35) !important;background:radial-gradient(ellipse 90% 70% at 100% 0%,rgba(45,212,191,.14) 0%,rgba(19,29,32,0) 60%),var(--zv-bg3) !important;color:var(--zv-white);text-decoration:none}
.zv-site .zv-icard-txt p{margin:0}
.zv-site .zv-icard-txt p+p{margin-top:6px}
.zv-site .zv-icard-txt strong{font-weight:600}
.zv-site .zv-icard-txt a{color:var(--zv-white);text-decoration:none;transition:color .25s ease}
.zv-site .zv-icard-txt a:hover{color:var(--zv-teal2)}
.zv-site .zv-icard-txt a.zv-teal-link{color:var(--zv-teal2)}
.zv-dim{color:var(--zv-text)}
.zv-icard-duo{margin-top:4px !important}
.zv-icard-duo .zv-duo-av img{--zv-duo-b:var(--zv-bg2)}

/* ============================================================== Datenschutz */
.zv-site .zv-ds-article{max-width:800px}
.zv-site .zv-ds-h{scroll-margin-top:150px}
.zv-site .zv-legal-txt>*{margin:0}
.zv-site .zv-legal-txt>*+*{margin-top:16px !important}
.zv-site .zv-legal-txt>h3:first-child{margin-top:10px !important}
.zv-site .zv-legal-txt>h3:not(:first-child){margin-top:26px !important}
.zv-site .zv-legal-txt p{font-size:16.5px;line-height:1.75;color:var(--zv-text)}
.zv-site .zv-legal-txt h3{font-family:var(--zv-body);font-size:18px;line-height:1.35;font-weight:600;letter-spacing:0;color:var(--zv-white)}
.zv-site .zv-legal-txt ul{padding:0 0 0 2px;list-style:none;display:flex;flex-direction:column;gap:10px}
.zv-site .zv-legal-txt li{position:relative;margin:0;padding-left:22px;font-size:16.5px;line-height:1.7;color:var(--zv-text)}
.zv-site .zv-legal-txt li::before{content:"";position:absolute;left:2px;top:.72em;width:8px;height:8px;border:2px solid var(--zv-teal);border-radius:50%;box-sizing:border-box}
.zv-site .zv-dslegal a{color:var(--zv-teal2);text-decoration:underline;text-underline-offset:3px}
.zv-site .zv-dsbox-txt p{margin:0 !important}
.zv-site .zv-dsbox-txt p+p{margin-top:4px !important}
.zv-site .zv-dsbox-txt p.zv-gap{margin-top:10px !important}
.zv-site .zv-dsbox-txt strong{font-weight:600}

/* Inhaltsverzeichnis */
@media (min-width:1000px){.zv-site .zv-tocwrap{position:sticky !important;top:110px}}
@media (max-width:999px){.zv-site .zv-tocwrap{display:none !important}}
.zv-toc{display:flex;flex-direction:column;gap:14px}
.zv-toc-title{font-family:var(--zv-label);font-weight:600;font-size:11px;letter-spacing:.12em;color:var(--zv-muted2);text-transform:uppercase}
.zv-toc ol{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:2px;border-left:1px solid var(--zv-line)}
.zv-toc li{margin:0}
.zv-site .zv-toc a{position:relative;display:flex;gap:12px;padding:9px 14px;margin-left:-1px;border-left:2px solid transparent;border-radius:0 10px 10px 0;color:var(--zv-muted);font-size:14px;line-height:1.4;text-decoration:none;transition:color .25s ease,background-color .25s ease}
.zv-toc-n{flex:none;padding-top:2px;font-family:var(--zv-label);font-weight:600;font-size:11px;letter-spacing:.08em;color:var(--zv-muted2)}
.zv-site .zv-toc a:hover{color:var(--zv-white);background:var(--zv-bg3)}
.zv-site .zv-toc a[aria-current="true"]{color:var(--zv-white);background:var(--zv-bg3);border-left-color:var(--zv-teal)}
.zv-site .zv-toc a[aria-current="true"] .zv-toc-n{color:var(--zv-teal2)}
.zv-toc-empty{padding:9px 14px;font-size:13px;color:var(--zv-muted2)}

@media (prefers-reduced-motion:reduce){.zv-fdone,.zv-fring,.zv-fdraw,.zv-site .zv-kform .e-form__step{animation:none !important}.zv-fdraw{stroke-dashoffset:0}.zv-conf{display:none}}

/* Bis Elementor Pro die Schritte aufgebaut hat, nur Schritt 1 zeigen (kein Aufblitzen aller Felder beim Laden) */
.zv-js .zv-kform:not(.zv-nostep) .elementor-form-fields-wrapper:not(:has(.e-form__step))>.elementor-field-type-step~.elementor-field-type-step,
.zv-js .zv-kform:not(.zv-nostep) .elementor-form-fields-wrapper:not(:has(.e-form__step))>.elementor-field-type-step~.elementor-field-type-step~*{display:none}
