.feedback-trigger {
  min-height: 44px; padding: .45rem .7rem; color: var(--ink-soft); background: var(--surface);
  border: 1px solid var(--rule); font: 700 var(--fs-xs)/1 var(--sans); cursor: pointer;
}
.feedback-trigger:hover, .feedback-trigger:focus-visible { color: var(--accent); border-color: var(--accent); }
.product-feedback-dialog {
  width: min(34rem, calc(100vw - 2rem)); max-height: min(44rem, calc(100dvh - 2rem)); margin: auto;
  padding: 0; color: var(--ink); background: var(--surface); border: 1px solid var(--ink); box-shadow: .45rem .45rem 0 var(--accent-dim);
}
.product-feedback-dialog::backdrop { background: rgba(9, 9, 9, .48); }
.product-feedback-dialog__inner { display: grid; gap: 1rem; padding: clamp(1.1rem, 4vw, 2rem); }
.product-feedback-dialog__head { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.product-feedback-dialog h2 { font: 800 clamp(1.6rem, 5vw, 2.5rem)/1.05 var(--serif); letter-spacing: -.025em; }
.product-feedback-dialog__close {
  flex: none; min-width: 44px; min-height: 44px; color: var(--ink); background: transparent;
  border: 1px solid var(--rule); font-size: 1.2rem; cursor: pointer;
}
.product-feedback-dialog__intro, .product-feedback-dialog__privacy, .product-feedback-dialog__count,
.product-feedback-dialog__status { color: var(--muted); font-size: var(--fs-sm); line-height: 1.55; }
.product-feedback-dialog__privacy { padding-left: .75rem; border-left: 3px solid var(--accent); }
.product-feedback-dialog form, .product-feedback-dialog fieldset { display: grid; gap: .8rem; min-width: 0; border: 0; }
.product-feedback-dialog label { display: grid; gap: .35rem; font-size: var(--fs-sm); font-weight: 700; }
.product-feedback-dialog select, .product-feedback-dialog textarea {
  width: 100%; min-height: 44px; padding: .7rem; color: var(--ink); background: var(--paper);
  border: 1px solid var(--rule); border-radius: 0; font: inherit;
}
.product-feedback-dialog textarea { min-height: 9rem; resize: vertical; line-height: 1.5; }
.product-feedback-dialog select:focus, .product-feedback-dialog textarea:focus { outline: 2px solid var(--accent); outline-offset: 2px; }
.product-feedback-dialog__foot { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.product-feedback-dialog__submit {
  min-height: 44px; padding: .65rem 1rem; color: #fff; background: var(--accent); border: 1px solid var(--accent);
  font: 700 var(--fs-sm)/1 var(--sans); cursor: pointer;
}
.product-feedback-dialog__submit:disabled { opacity: .55; cursor: wait; }
.product-feedback-dialog__status { min-height: 1.5em; }
.product-feedback-dialog__status[data-state="success"] { color: var(--positive, #2F6B4F); }
.product-feedback-dialog__status[data-state="error"] { color: var(--destructive, #B4232A); }
@media (max-width: 480px) {
  .product-feedback-dialog { width: calc(100vw - 1rem); max-height: calc(100dvh - 1rem); }
  .product-feedback-dialog__foot { align-items: stretch; flex-direction: column; }
  .product-feedback-dialog__submit { width: 100%; }
}
