.ol-contact{box-sizing:border-box;width:min(640px,calc(100% - 24px));max-height:calc(100dvh - 32px);padding:28px;border:1px solid #d9e6d8;border-radius:22px;background:#fff;color:#243b2d;box-shadow:0 24px 90px #0005;font:14px/1.6 system-ui,sans-serif;overflow:auto}.ol-contact::backdrop{background:#081a12b3;backdrop-filter:blur(4px)}.ol-contact-head{display:flex;align-items:start;justify-content:space-between;gap:15px}.ol-contact-head small{letter-spacing:2px;font-size:10px;color:#526e54}.ol-contact h2{font-size:26px;letter-spacing:-.5px;line-height:1.3;margin:8px 0;color:#193c29}.ol-contact p{color:#49634e;font-size:13px}.ol-contact [data-close]{background:#f0f5ed;border:0;border-radius:50%;width:40px;height:40px;flex-shrink:0;font-size:25px;color:#284530;cursor:pointer}.ol-contact label{display:block;font-size:13px;font-weight:600;color:#294831;margin:12px 0}.ol-contact label small{font-weight:400}.ol-contact :is(input:not([type=checkbox]),select,textarea){box-sizing:border-box;width:100%;display:block;border:1px solid #b8cbb9;border-radius:9px;padding:11px 12px;background:#fff;color:#203a29;font:inherit;margin-top:5px}.ol-contact textarea{resize:vertical}.ol-contact :is(input,select,textarea,button,a):focus-visible{outline:2px solid #468456;outline-offset:3px}.ol-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.ol-contact .ol-contact-check{display:flex;align-items:center;gap:8px}.ol-contact input[type=checkbox]{accent-color:#416e3e;width:18px;height:18px}.ol-contact [hidden]{display:none!important}.ol-contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.ol-contact .ol-contact-privacy{font-size:12px}.ol-contact a{color:#205b35;text-decoration:none}.ol-contact-send{width:100%;padding:13px 18px;border:1px solid #bad580;border-radius:10px;background:#d5f29b;color:#193c29;font:600 14px system-ui;cursor:pointer;transition:background .25s ease-in-out,transform .25s ease-in-out}.ol-contact-send:hover:not(:disabled){background:#c6e986;transform:translateY(-1px)}.ol-contact-send:disabled{opacity:.6;cursor:default}.ol-contact [data-status]{overflow-wrap:anywhere;font-weight:600}.ol-contact[open]{animation:contact-in .2s ease-in-out}@keyframes contact-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(max-width:500px){.ol-contact{padding:20px}.ol-contact-grid{grid-template-columns:1fr}.ol-contact h2{font-size:23px}.ol-contact :is(input,select,textarea){font-size:16px}}@media(prefers-reduced-motion:reduce){.ol-contact[open]{animation:none}.ol-contact-send{transition:none}}

/* --- Nach dem Absenden --------------------------------------------------
   Das Formular faehrt zusammen und aus, die Bestaetigung nimmt seinen
   Platz ein. Wer nur eine Statuszeile unter ein noch ausgefuelltes
   Formular schreibt, bekommt Doppelsendungen. */
.ol-contact-koerper{overflow:hidden;transition:height .38s cubic-bezier(.4,0,.2,1),opacity .22s ease,transform .38s cubic-bezier(.4,0,.2,1)}
.ol-contact-koerper.geht-weg{opacity:0;transform:translateY(-8px) scale(.985)}
.ol-contact-danke{text-align:center;padding:14px 4px 4px}
.ol-contact-danke.ist-da{animation:ol-contact-auf .42s cubic-bezier(.2,.8,.3,1) both}
@keyframes ol-contact-auf{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.ol-contact-haken{width:56px;height:56px;margin:0 auto 14px;border-radius:50%;background:#d5f29b;color:#14241a;font-size:28px;line-height:56px;font-weight:700}
.ol-contact-danke.ist-da .ol-contact-haken{animation:ol-contact-haken .5s cubic-bezier(.2,1.4,.4,1) .1s both}
@keyframes ol-contact-haken{from{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}
.ol-contact-danke h3{margin:0 0 8px;font-size:21px;letter-spacing:-.3px}
.ol-contact-danke h3:focus{outline:none}
.ol-contact-danke p{margin:0 0 10px}
.ol-contact-danke .ol-contact-haken{margin:0 auto 14px}
.ol-contact-nummer{display:inline-flex;flex-direction:column;align-items:center;gap:5px;margin:4px 0 12px;padding:11px 20px;min-height:44px;border:1px dashed #a8c9b3;border-radius:12px;background:#f3f9ef;font:600 18px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em;color:#173f32;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .12s ease}
.ol-contact-nummer:hover{background:#e9f4e2;border-color:#7fb08f}
.ol-contact-nummer:active{transform:scale(.98)}
.ol-contact-nummer:focus-visible{outline:2px solid #578563;outline-offset:3px}
.ol-contact-nummer em{font:500 11px/1.2 system-ui,sans-serif;font-style:normal;letter-spacing:.02em;color:#5d7a63}
.ol-contact-nummer.ist-kopiert{background:#d5f29b;border-style:solid;border-color:#a9cc6a}
.ol-contact-nummer.ist-kopiert em{color:#2f4a1d}
.ol-contact-klein{font-size:13px;opacity:.75}
.ol-contact-danke .ol-contact-send{margin-top:8px}
@media (prefers-reduced-motion:reduce){
  .ol-contact-koerper{transition:none}
  .ol-contact-danke.ist-da,.ol-contact-danke.ist-da .ol-contact-haken{animation:none}
}
