/* FreiDeCa Feedback 1.0 – FreiDeCa-Design */
.fdf{--t:#14231b;--moos:#637f45;--moos-h:#a9c08a;--salbei:#e4e9da;--kalk:#f2efe8;--linie:#cdd5c0;--mute:#56645b;--gelb:#f2c230;position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:16px;font-size:16px;line-height:1.5;color:#17231c}
.fdf[hidden]{display:none!important}
.fdf *,.fdf *::before,.fdf *::after{box-sizing:border-box}
html.fdf-lock{overflow:hidden}
.fdf__backdrop{position:absolute;inset:0;background:rgba(20,35,27,.55);opacity:0;transition:opacity .2s}
.fdf__dialog{position:relative;width:min(520px,100%);max-height:calc(100vh - 32px);overflow:auto;background:#fff;border-radius:22px;padding:26px 24px 22px;box-shadow:0 24px 60px rgba(0,0,0,.3);transform:translateY(16px);opacity:0;transition:transform .25s ease,opacity .2s}
.fdf__dialog:focus{outline:none}
.fdf.is-open .fdf__backdrop{opacity:1}.fdf.is-open .fdf__dialog{transform:none;opacity:1}
.fdf .fdf__x{position:absolute;right:12px;top:10px;width:40px;height:40px;border:0;border-radius:50%;background:var(--kalk);color:var(--t);font-size:24px;line-height:40px;cursor:pointer;padding:0}
.fdf .fdf__kicker{margin:0;font-size:.75rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:var(--moos)}
.fdf h2{margin:4px 40px 6px 0;font-size:1.45rem;line-height:1.2;font-weight:800;color:var(--t);font-family:inherit}
.fdf .fdf__intro{margin:0 0 16px;color:var(--mute)}
.fdf__rating{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.fdf__face{position:relative;margin:0;cursor:pointer}
.fdf__face input{position:absolute;opacity:0;width:1px;height:1px}
.fdf__face span{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 2px 8px;border:1.5px solid var(--linie);border-radius:14px;background:#fff;transition:all .15s}
.fdf__face svg{width:40px;height:40px;fill:none;stroke:var(--t);stroke-width:1.5;stroke-linecap:round}
.fdf__face svg .e{fill:var(--t);stroke:none}
.fdf__face small{font-size:.72rem;font-weight:700;color:var(--mute);text-align:center;line-height:1.2}
.fdf__face:hover span{border-color:var(--moos);transform:translateY(-2px)}
.fdf__face input:focus-visible+span{outline:3px solid var(--moos);outline-offset:2px}
.fdf__face input:checked+span{background:var(--t);border-color:var(--t)}
.fdf__face input:checked+span svg{stroke:var(--gelb)}.fdf__face input:checked+span svg .e{fill:var(--gelb)}
.fdf__face input:checked+span small{color:#fff}
.fdf__more{margin-top:14px}
.fdf__more label{display:block;margin:0 0 10px;font-weight:800;font-size:.9rem;color:var(--t)}
.fdf__more label em{font-style:normal;font-weight:600;font-size:.75rem;color:var(--mute);margin-left:4px}
.fdf__more textarea,.fdf__more input[type=email]{display:block;width:100%;margin-top:4px;padding:10px 12px;font:inherit;font-size:1rem;border:1.5px solid var(--linie);border-radius:12px;background:#fff;color:#17231c}
.fdf__more textarea:focus,.fdf__more input:focus{outline:none;border-color:var(--moos);box-shadow:0 0 0 3px rgba(99,127,69,.2)}
.fdf__hp{position:absolute!important;left:-9999px}
.fdf .fdf__note{margin:4px 0 0;font-size:.78rem;color:var(--mute)}
.fdf .fdf__note a{color:var(--t)}
.fdf .fdf__send{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:50px;margin-top:12px;border:0;border-radius:12px;background:var(--moos);color:#fff;font:inherit;font-weight:800;cursor:pointer}
.fdf .fdf__send:hover{background:#56713a}
.fdf .fdf__send[disabled]{opacity:.6}
.fdf .fdf__status{margin:8px 0 0;font-weight:700;font-size:.9rem}
.fdf__thanks{text-align:center;padding:10px 4px;outline:none}
.fdf__thanks svg{fill:none;stroke:var(--moos);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.fdf__thanks p{color:var(--mute)}
.fdf-tab{position:fixed;right:0;top:55%;z-index:9998;display:flex;align-items:center;gap:6px;padding:10px 12px 10px 10px;border:0;border-radius:12px 0 0 12px;background:#14231b;color:#fff;font:700 .85rem/1 system-ui,-apple-system,"Segoe UI",sans-serif;cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.2);transform:translateX(calc(100% - 44px));transition:transform .2s}
.fdf-tab:hover,.fdf-tab:focus-visible{transform:none}
.fdf-tab svg{width:20px;height:20px;fill:none;stroke:#a9c08a;stroke-width:2;stroke-linejoin:round;flex:none}
@media(max-width:560px){
 .fdf{align-items:flex-end;padding:0}
 .fdf__dialog{width:100%;border-radius:22px 22px 0 0;padding:22px 18px calc(18px + env(safe-area-inset-bottom,0px));max-height:92vh}
 .fdf__face svg{width:34px;height:34px}
 .fdf__face small{font-size:.66rem}
 .fdf-tab{top:auto;bottom:90px}
}
@media(prefers-reduced-motion:reduce){.fdf__dialog,.fdf__backdrop,.fdf-tab,.fdf__face span{transition:none}}
