.feedback-launch { position: fixed; z-index: 90; right: 18px; bottom: 18px; padding: 12px 16px; border: 0; border-radius: 999px; color: #fff; background: #b84220; box-shadow: 0 6px 22px #0004; font: 700 14px system-ui; cursor: pointer; }
.feedback-dialog { width: min(640px, calc(100vw - 24px)); max-height: calc(100vh - 24px); padding: 24px; overflow: auto; border: 1px solid #ded8cf; border-radius: 18px; color: #25221f; background: #fffdf9; font: 15px system-ui; }
.feedback-dialog::backdrop { background: #211b18aa; }
.feedback-dialog h2 { margin: 0; font-size: 22px; }
.feedback-dialog p { margin: 12px 0; line-height: 1.4; }
.feedback-heading,.feedback-actions,.feedback-capture { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.feedback-heading button { font-size: 28px; border: 0; background: none; cursor: pointer; }
.feedback-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.feedback-fields label { display: grid; gap: 5px; font-weight: 650; }
.feedback-fields .feedback-wide { grid-column: 1 / -1; }
.feedback-fields input,.feedback-fields select,.feedback-fields textarea { width: 100%; min-width: 0; padding: 9px; border: 1px solid #c9c1b7; border-radius: 8px; font: inherit; }
.feedback-capture { justify-content: flex-start; margin: 16px 0; }
.feedback-capture button,.feedback-actions button,.feedback-file { padding: 9px 12px; border: 1px solid #c9c1b7; border-radius: 8px; color: inherit; background: #fff; cursor: pointer; font: inherit; }
.feedback-file input { display: none; }
.feedback-consent { display: flex; gap: 8px; align-items: flex-start; }
.feedback-consent input { width: auto; min-height: auto; margin-top: 3px; }
.feedback-consent[hidden] { display: none; }
.feedback-result { min-height: 1.5em; color: #9a351e; }
.feedback-actions { justify-content: flex-end; }
.feedback-actions button[type=submit] { border-color: #b84220; color: #fff; background: #b84220; }
@media (max-width: 560px) { .feedback-fields { grid-template-columns: 1fr; } .feedback-launch { right: 10px; bottom: 10px; } }
