/* Kathrin Rosemann: ruhige Bewegung (01.11.2026), Basis transitions.dev 12 und 10 */
:root{--shake-distance:6px;--shake-overshoot:4px;--shake-dur-a:80ms;--shake-dur-b:60ms;--shake-ease:cubic-bezier(0.22,1,0.36,1);--revert-dur:280ms;--check-opacity-dur:500ms;--check-rotate-dur:500ms;--check-rotate-from:80deg;--check-bob-dur:500ms;--check-y-amount:14px;--check-blur-dur:500ms;--check-blur-from:8px;--check-path-dur:500ms;--check-path-delay:80ms;--check-ease-out:cubic-bezier(0.22,1,0.36,1);--check-ease-opacity:cubic-bezier(0.22,1,0.36,1);--check-ease-rotate:cubic-bezier(0.22,1,0.36,1);--check-ease-bob:cubic-bezier(0.34,1.35,0.64,1);--check-ease-path:cubic-bezier(0.22,1,0.36,1);--kr-err:#A8442A}
html[data-theme="dark"]{--kr-err:#E8957D}
.t-input{transition:border-color 150ms ease-out;will-change:transform}
.t-input.is-error{transition:border-color var(--revert-dur,280ms) ease-out}
.t-error-msg{opacity:0;visibility:hidden;transition:opacity var(--revert-dur,280ms) ease-out,visibility 0s linear var(--revert-dur,280ms)}
.t-input-wrap.is-error .t-error-msg{opacity:1;visibility:visible;transition:opacity var(--revert-dur,280ms) ease-out,visibility 0s linear 0s}
.t-input.is-shaking{animation:t-input-shake calc(var(--shake-dur-a) * 2 + var(--shake-dur-b) * 2) linear}
@keyframes t-input-shake{0%{transform:translateX(0);animation-timing-function:var(--shake-ease)}28.57%{transform:translateX(var(--shake-distance));animation-timing-function:var(--shake-ease)}57.14%{transform:translateX(calc(var(--shake-distance) * -1));animation-timing-function:var(--shake-ease)}78.57%{transform:translateX(var(--shake-overshoot));animation-timing-function:var(--shake-ease)}100%{transform:translateX(0)}}
.kr-form .t-input-wrap.is-error input.is-error,.kr-form .t-input-wrap.is-error textarea.is-error,.kr-form .t-input-wrap.is-error select.is-error{border-color:var(--kr-err)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--kr-err) 14%,transparent)}
.kr-form .t-error-msg{display:block;margin-top:6px;font:500 12.5px/1.4 Montserrat,sans-serif;letter-spacing:.01em;color:var(--kr-err)}
.kr-form .kr-check.is-error > span{color:var(--kr-err)}
.t-success-check{display:inline-block;transform-origin:center;opacity:0;will-change:transform,opacity,filter}
.t-success-check svg{display:block;overflow:visible}
.t-success-check[data-state="in"]{animation:t-check-fade var(--check-opacity-dur) var(--check-ease-opacity) forwards,t-check-rotate var(--check-rotate-dur) var(--check-ease-rotate) forwards,t-check-blur var(--check-blur-dur) var(--check-ease-out) forwards,t-check-bob var(--check-bob-dur) var(--check-ease-bob) forwards}
.t-success-check[data-state="in"] svg path{animation:t-check-draw var(--check-path-dur) var(--check-ease-path) var(--check-path-delay,0ms) forwards}
@keyframes t-check-fade{from{opacity:0}to{opacity:1}}
@keyframes t-check-rotate{from{transform:rotate(var(--check-rotate-from))}to{transform:rotate(0deg)}}
@keyframes t-check-blur{from{filter:blur(var(--check-blur-from))}to{filter:blur(0)}}
@keyframes t-check-bob{from{translate:0 var(--check-y-amount)}to{translate:0 0}}
@keyframes t-check-draw{to{stroke-dashoffset:0}}
.kr-note--ok{position:relative;padding-left:56px!important}
.kr-ok-check{position:absolute;left:16px;top:15px;width:28px;height:28px;color:#F7F0E1}
.kr-ok-check .kr-ok-ring{fill:var(--kr-plakat,#052B08)}
@media (prefers-reduced-motion: reduce){.t-input{animation:none!important;transform:none!important}.t-success-check{animation:none!important;opacity:1}.t-success-check svg path{animation:none!important;stroke-dashoffset:0!important}}
/* Angebot-Menue: Bildkarte schmaler */
.kr-mm__grid:has(.kr-mm__card--bild){grid-auto-flow:row;grid-template-columns:minmax(0,1fr) minmax(0,400px)}
.t-error-msg.is-visible{opacity:1;visibility:visible;transition:opacity var(--revert-dur,280ms) ease-out,visibility 0s linear 0s}
.kr-form .kr-check + .t-error-msg{margin:-4px 0 14px}
/* Gutschein-Karte im Plakat-Gruen statt Dunkelbraun */
.kr-voucher{background:radial-gradient(120% 90% at 85% 10%,rgba(248,182,18,.22),rgba(248,182,18,0) 55%),linear-gradient(150deg,#0B3D10 0%,#052B08 55%,#031D05 100%)!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
