/* Feedback auf allen Homepage-Seiten. */
.feedback-start { position: fixed; z-index: 990; right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); border: 0; border-radius: 999px; padding: 11px 18px; background: var(--yellow); color: var(--blue-900); box-shadow: 0 4px 20px #031a3f55; font: 700 14px/1.2 var(--font-body); cursor: pointer; }
.feedback-start:hover { background: #ffe064; }
.feedback-start:focus-visible, .feedback-dialog button:focus-visible, .feedback-dialog input:focus-visible, .feedback-dialog textarea:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
.feedback-auswahl { position: fixed; z-index: 1000; inset: 0; cursor: crosshair; touch-action: none; }
.feedback-auswahl::before { content: ''; position: absolute; inset: 0; background: #031a3faa; pointer-events: none; }
.feedback-hilfe { position: absolute; top: max(14px, env(safe-area-inset-top)); left: 50%; transform: translateX(-50%); max-width: calc(100vw - 24px); width: max-content; display: flex; align-items: center; gap: 16px; padding: 10px 14px; border-radius: 12px; background: #fff; color: var(--blue-900); box-shadow: 0 4px 20px #0004; font: 600 14px/1.3 var(--font-body); cursor: default; }
.feedback-hilfe button { border: 1px solid #a9b9cc; border-radius: 8px; padding: 6px 10px; background: #fff; cursor: pointer; }
.feedback-rahmen { position: absolute; border: 3px solid var(--yellow); background: #fcc80433; box-shadow: 0 0 0 1px var(--blue-900); pointer-events: none; }
.feedback-dialog { width: min(480px, calc(100vw - 24px)); max-height: min(90vh, 850px); overflow: auto; border: 0; border-radius: 18px; padding: 20px 24px; background: #fff; color: var(--ink); box-shadow: 0 10px 40px #0005; font: 400 14px/1.5 var(--font-body); }
.feedback-dialog::backdrop { background: #031a3fbb; }
.feedback-dialog h2 { margin: 0 0 6px; font: 800 25px/1.15 var(--font-display); }
.feedback-dialog p { margin: 0 0 14px; }
.feedback-dialog label:not(.feedback-falle) { display: block; margin: 12px 0 5px; font-weight: 700; }
.feedback-dialog input, .feedback-dialog textarea { display: block; width: 100%; min-width: 0; border: 1px solid #8ba3bd; border-radius: 8px; padding: 9px 11px; background: #fff; color: var(--ink); font: inherit; }
.feedback-dialog textarea { resize: vertical; min-height: 100px; }
.feedback-vorschau { display: block; width: 100%; max-height: 140px; object-fit: contain; object-position: left center; background: var(--paper); border: 1px solid #d5dfed; }
.feedback-falle { position: absolute; left: -9999px; }
.feedback-dialog .feedback-hinweis { margin: 10px 0 0; font-size: 12px; color: #4b5e78; }
.feedback-dialog .feedback-fehler { min-height: 1.3em; margin: 10px 0 0; color: #aa1430; font-weight: 700; }
.feedback-dialog .feedback-fehler:empty { display: none; }
.feedback-aktionen { display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; margin-top: 6px; }
.feedback-aktionen button { border: 1px solid var(--blue); border-radius: 9px; padding: 9px 16px; font: 700 14px/1.2 var(--font-body); cursor: pointer; }
.feedback-abbruch { background: #fff; color: var(--blue); }
.feedback-senden { background: var(--blue); color: #fff; }
.feedback-senden:disabled { opacity: .5; cursor: wait; }
.feedback-meldung { position: fixed; z-index: 1200; right: 16px; bottom: 72px; max-width: min(360px, calc(100vw - 32px)); padding: 12px 16px; border-radius: 10px; background: var(--blue-900); color: #fff; box-shadow: 0 4px 20px #0005; font: 600 14px/1.4 var(--font-body); }
@media (max-width: 600px) { .feedback-start { right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); padding: 10px 13px; font-size: 13px; } .feedback-hilfe { left: 12px; right: 12px; transform: none; width: auto; justify-content: space-between; font-size: 12px; } .feedback-dialog { padding: 18px; } }
