/* ===== Kontaktseite: Hero-Animation + Formular-Design =====
   Elementor nutzt ::before/::after an Containern selbst – daher eingefuegte Elemente. */

/* ---------- Hero ---------- */
.elementor-element-29a4b293{position:relative;isolation:isolate;overflow:hidden}
.elementor-element-4afa0053{position:relative;z-index:2!important}
.vrts-kt-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;opacity:0;transition:opacity 1.6s ease}
.vrts-kt-canvas.is-ready{opacity:1}

/* Text-Einblendung */
html.vrts-kt-anim .elementor-element-29a4b293 [data-id="168c26a4"],
html.vrts-kt-anim .elementor-element-29a4b293 [data-id="55791ef6"],
html.vrts-kt-anim .elementor-element-44c94816{opacity:0;transform:translateY(18px);animation:vrtsKtFadeUp .9s cubic-bezier(.2,.7,.2,1) forwards}
html.vrts-kt-anim .elementor-element-29a4b293 [data-id="168c26a4"]{animation-delay:.05s}
html.vrts-kt-anim .elementor-element-29a4b293 [data-id="55791ef6"]{animation-delay:.8s}
html.vrts-kt-anim .elementor-element-44c94816{animation-delay:1s}
html.vrts-kt-anim .elementor-element-29a4b293 [data-id="6b6b5d83"]{opacity:0;animation:vrtsKtShow .01s 1.5s forwards}
html.vrts-kt-anim .elementor-element-29a4b293 [data-id="6b6b5d83"].is-split{opacity:1;animation:none}
.vrts-kt-word{display:inline-block;opacity:0;transform:translateY(.45em);filter:blur(8px);animation:vrtsKtWord .9s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:calc(.15s + var(--i) * .08s)}
@keyframes vrtsKtFadeUp{to{opacity:1;transform:none}}
@keyframes vrtsKtShow{to{opacity:1}}
@keyframes vrtsKtWord{to{opacity:1;transform:none;filter:blur(0)}}

/* Karte: ersetzt die Elementor-Interaktion "Scale In" (haengt auf Mobil bei scale(0)) */
.elementor-element-d9bb623{position:relative;transform:perspective(1200px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) rotateZ(var(--rz,-2deg))!important;transition:transform .6s cubic-bezier(.2,.7,.2,1),box-shadow .45s!important}
.elementor-element-d9bb623.is-hover{--rz:0deg;transition:transform .12s linear,box-shadow .45s!important}
html.vrts-kt-anim .elementor-element-d9bb623{opacity:0;animation:vrtsKtCardIn 1.1s .35s cubic-bezier(.2,.7,.2,1) forwards,vrtsKtFloat 7s 1.5s ease-in-out infinite}
@keyframes vrtsKtCardIn{0%{opacity:0;scale:.94}100%{opacity:1;scale:1}}
@keyframes vrtsKtFloat{0%,100%{translate:0 0}50%{translate:0 -10px}}

/* Briefsymbol wackelt beim Senden */
.elementor-element-d9bb623 [data-id="4e3129ba"]{display:inline-block;transform-origin:50% 80%}
.vrts-kt-wiggle{animation:vrtsKtWiggle .7s ease}
@keyframes vrtsKtWiggle{0%,100%{transform:none}20%{transform:rotate(-12deg) scale(1.1)}45%{transform:rotate(9deg) scale(1.1)}70%{transform:rotate(-5deg)}}

/* Schreibfeld in der Karte */
.vrts-kt-compose{display:flex;align-items:flex-end;gap:.6rem;padding:.75rem;border:1px solid #D6E7F0;border-radius:.9rem;background:#F6FAFD;transition:border-color .3s,box-shadow .3s}
.vrts-kt-compose.is-typing{border-color:#9FCBE3;box-shadow:0 0 0 4px rgba(23,111,167,.08)}
.vrts-kt-field{flex:1 1 auto;min-height:2.6em;font:500 .82rem/1.45 Manrope,sans-serif;color:#18334F}
.vrts-kt-field .is-placeholder{color:#8AA0B2}
.vrts-kt-caret{display:inline-block;width:1px;height:1em;margin-left:1px;vertical-align:-.15em;background:#176FA7;animation:vrtsKtBlink 1s steps(1) infinite}
@keyframes vrtsKtBlink{50%{opacity:0}}
.vrts-kt-send{position:relative;flex:0 0 auto;display:inline-flex;align-items:center;gap:.35rem;padding:.5rem .8rem;border-radius:2rem;background:#176FA7;color:#fff;font:800 .72rem/1 Manrope,sans-serif;transition:transform .15s ease,background-color .3s ease,opacity .3s}
.vrts-kt-send svg{width:.85rem;height:.85rem}
.vrts-kt-send.is-idle{opacity:.45}
.vrts-kt-send.is-press{transform:scale(.92);background:#104F88}

/* Bestaetigung */
.vrts-kt-toast{position:absolute;left:50%;bottom:-1.1rem;z-index:4;display:flex;align-items:center;gap:.5rem;padding:.55rem .85rem;border-radius:2rem;background:#fff;border:1px solid #D6E7F0;box-shadow:0 10px 24px rgba(6,38,70,.16);font:700 .74rem/1 Manrope,sans-serif;color:#18334F;white-space:nowrap;opacity:0;transform:translate(-50%,8px) scale(.95);transition:opacity .35s ease,transform .45s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.vrts-kt-toast.is-on{opacity:1;transform:translate(-50%,0)}
.vrts-kt-toast b{display:grid;place-items:center;width:1.15rem;height:1.15rem;border-radius:50%;background:#E3F6EE;color:#2E9E7A;font-size:.68rem}

/* Papierflieger */
.vrts-kt-plane{position:absolute;left:0;top:0;width:26px;height:26px;z-index:5;pointer-events:none;opacity:0;color:#176FA7;filter:drop-shadow(0 4px 6px rgba(6,38,70,.25))}

/* "Gemeinsam starten" springt zum Formular */
.elementor-element-7b3a2085{cursor:pointer}
.elementor-element-7b3a2085 .vrts-kt-arrow{display:inline-block;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
.elementor-element-7b3a2085:hover .vrts-kt-arrow,.elementor-element-7b3a2085:focus-visible .vrts-kt-arrow{transform:translate(3px,-3px)}
.elementor-element-7b3a2085:focus-visible{outline:2px solid #176FA7;outline-offset:4px;border-radius:.3rem}

/* ---------- Kontaktformular (Elementor Pro) ---------- */
.elementor-element-4b7e2f1a{width:100%}
.elementor-element-4b7e2f1a .elementor-form-fields-wrapper{margin-left:-.5rem;margin-right:-.5rem}
.elementor-element-4b7e2f1a .elementor-field-group{padding-left:.5rem;padding-right:.5rem;margin-bottom:1.1rem}
.elementor-element-4b7e2f1a .elementor-field-label{margin-bottom:.45rem;font:800 .82rem/1.3 Manrope,sans-serif!important;color:#102B49!important}
.elementor-element-4b7e2f1a .elementor-mark-required .elementor-field-label:after{color:#1764AA}
.elementor-element-4b7e2f1a .elementor-field-textual,
.elementor-element-4b7e2f1a .elementor-select-wrapper select{width:100%;min-height:3.2rem;padding:.8rem 1rem;border:1px solid #BFD4E1!important;border-radius:.85rem!important;background:#F8FBFD!important;color:#102B49!important;font:500 .98rem/1.4 Manrope,sans-serif!important;box-shadow:none;transition:border-color .25s ease,box-shadow .25s ease,background-color .25s ease}
.elementor-element-4b7e2f1a textarea.elementor-field-textual{min-height:8.5rem;resize:vertical}
.elementor-element-4b7e2f1a .elementor-field-textual::placeholder{color:#7F96A7}
.elementor-element-4b7e2f1a .elementor-field-textual:focus,
.elementor-element-4b7e2f1a .elementor-select-wrapper select:focus{outline:none;border-color:#1764AA!important;box-shadow:0 0 0 4px rgba(23,100,170,.14)!important;background:#fff!important}
.elementor-element-4b7e2f1a .elementor-select-wrapper .select-caret-down-wrapper{right:1rem;color:#1764AA}
.elementor-element-4b7e2f1a .elementor-field-type-acceptance .elementor-field-subgroup{padding:1rem;border:1px solid #E0EBF1;border-radius:.85rem;background:#F6FAFC}
.elementor-element-4b7e2f1a .elementor-field-type-acceptance .elementor-field-label{display:none}
.elementor-element-4b7e2f1a .elementor-field-option{display:flex;align-items:flex-start;gap:.7rem}
.elementor-element-4b7e2f1a .elementor-field-option input{flex:0 0 auto;width:1.1rem;height:1.1rem;margin:.15rem 0 0;accent-color:#1764AA}
.elementor-element-4b7e2f1a .elementor-field-option label{font:500 .78rem/1.55 Manrope,sans-serif!important;color:#506D80!important}
.elementor-element-4b7e2f1a .elementor-field-option a{color:#1764AA;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.elementor-element-4b7e2f1a .elementor-button{width:100%;min-height:3.3rem;padding:.9rem 1.6rem!important;border:0!important;border-radius:2rem!important;background:#1764AA!important;color:#fff!important;font:800 .95rem/1 Manrope,sans-serif!important;transition:background-color .25s ease,transform .25s ease,box-shadow .25s ease}
.elementor-element-4b7e2f1a .elementor-button:hover{background:#104F88!important;transform:translateY(-2px);box-shadow:0 10px 24px rgba(16,79,136,.22)}
.elementor-element-4b7e2f1a .elementor-button:focus-visible{outline:2px solid #1764AA;outline-offset:4px}
.elementor-element-4b7e2f1a .elementor-button .elementor-button-text:after{content:" \2197";}
.elementor-element-4b7e2f1a .elementor-message{margin-top:1rem;padding:.9rem 1rem;border-radius:.85rem;font:600 .9rem/1.5 Manrope,sans-serif}
.elementor-element-4b7e2f1a .elementor-message-success{background:#E3F6EE;color:#1E6B53}
.elementor-element-4b7e2f1a .elementor-message-danger,.elementor-element-4b7e2f1a .elementor-error .elementor-message{background:#FDECEC;color:#9B2C2C}
.elementor-element-4b7e2f1a .elementor-field-group .elementor-message{padding:.3rem 0 0;background:none}
@media(max-width:767px){.elementor-element-4b7e2f1a .elementor-col-50{width:100%}}

@media(prefers-reduced-motion:reduce){
  .vrts-kt-canvas,.vrts-kt-plane,.vrts-kt-toast{display:none}
  .elementor-element-d9bb623{animation:none!important}
}
