/* The same form is moved between the results and a native modal dialog. */
.serp-feedback-card,
.serp-feedback-dialog,
.serp-feedback-thanks {
  --feedback-ink: var(--heading-color, #182b3b);
  --feedback-muted: var(--serp-muted, #596b79);
  --feedback-accent: var(--accent-color, #28658b);
  --feedback-ground: #edf4f8;
  --feedback-line: #c9d8e2;
  --feedback-white: #fff;
  font-family: var(--default-font, Arial, sans-serif);
  color: var(--feedback-ink);
  box-sizing: border-box;
}
.serp-feedback-card {
  position: relative;
  margin: 1rem 0 1.5rem;
  padding: 1.15rem 1.3rem;
  background: var(--feedback-ground);
  border-radius: 0.3rem;
  width: 100%;
}
.serp-feedback-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 1.8rem; }
.serp-feedback-grid > div { min-width: 0; }
.serp-feedback-card .serp-feedback-heading {
  margin: 0;
  font-family: var(--heading-font, Arial, sans-serif);
  color: var(--feedback-ink);
  font-size: 1.2rem;
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: -0.025em;
}
.serp-feedback-intro { margin: 0.2rem 0 0.7rem; font-size: 0.9375rem; line-height: 1.4; color: var(--feedback-muted); }
.serp-feedback-ratings { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.5rem; }
.serp-feedback-choice,
.serp-feedback-reason span,
.serp-feedback-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.5rem;
  padding: 0.4rem 0.65rem;
  border: 1px solid var(--feedback-line);
  border-radius: 0.25rem;
  background: var(--feedback-white);
  color: var(--feedback-ink);
  font: inherit;
  font-size: 0.9375rem;
  line-height: 1.3;
  cursor: pointer;
  text-align: center;
}
.serp-feedback-choice:hover,
.serp-feedback-reason:hover span { border-color: var(--feedback-accent); background: #f8fcff; }
.serp-feedback-choice[aria-pressed="true"],
.serp-feedback-reason input:checked + span { background: var(--feedback-accent); border-color: var(--feedback-accent); color: var(--feedback-white); }
.serp-feedback-status { min-height: 1.35rem; margin: 0.45rem 0 0.5rem; font-size: 0.875rem; line-height: 1.4; color: var(--feedback-muted); }
.serp-feedback-reasons { min-width: 0; border: 0; margin: 0; padding: 0; }
.serp-feedback-reasons legend { float: none; width: auto; margin: 0 0 0.35rem; padding: 0; font-size: 0.9375rem; line-height: 1.4; font-weight: 600; }
.serp-feedback-reason-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.35rem; }
.serp-feedback-reason { position: relative; display: block; margin: 0; }
.serp-feedback-reason input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.serp-feedback-reason span { min-height: 2.15rem; font-size: 0.875rem; }
.serp-feedback-comment-column { display: flex; flex-direction: column; padding-top: 1.8rem; }
.serp-feedback-comment-label { display: block; margin: 0 1.5rem 0.4rem 0; font-size: 0.9375rem; line-height: 1.4; font-weight: 600; }
.serp-feedback-optional { color: var(--feedback-muted); font-weight: 400; }
.serp-feedback-comment {
  display: block;
  width: 100%;
  min-height: 7rem;
  max-height: 20rem;
  padding: 0.65rem 0.8rem;
  border: 1px solid var(--feedback-line);
  border-radius: 0.25rem;
  background: var(--feedback-white);
  color: var(--feedback-ink);
  font: inherit;
  font-size: 0.9375rem;
  line-height: 1.5;
  resize: vertical;
  overflow-y: auto;
  box-sizing: border-box;
}
.serp-feedback-comment::placeholder { color: var(--feedback-muted); opacity: 1; }
.serp-feedback-context { margin: 0.4rem 0 0.55rem; font-size: 0.8125rem; line-height: 1.4; color: var(--feedback-muted); }
.serp-feedback-actions { display: flex; justify-content: flex-end; margin-top: auto; }
.serp-feedback-submit { min-width: 8rem; background: var(--feedback-accent); border-color: var(--feedback-accent); color: var(--feedback-white); font-weight: 600; }
.serp-feedback-submit:hover:enabled { filter: brightness(0.92); }
.serp-feedback-card button:disabled,
.serp-feedback-card input:disabled + span,
.serp-feedback-card textarea:disabled { cursor: default; opacity: 0.6; }
.serp-feedback-card button:focus-visible,
.serp-feedback-card textarea:focus-visible,
.serp-feedback-reason input:focus-visible + span { outline: 2px solid var(--feedback-accent); outline-offset: 3px; }
.serp-feedback-close {
  position: absolute;
  top: 0.35rem;
  right: 0.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--feedback-ink);
  font-size: 1.65rem;
  line-height: 1;
  cursor: pointer;
}
.serp-feedback-close:hover { color: var(--feedback-accent); }
.serp-feedback-rating-column { padding-right: 0.5rem; }
.serp-feedback-card .serp-feedback-heading { padding-right: 1.1rem; }
.serp-feedback-dialog { width: min(58rem, calc(100% - 2rem)); max-height: calc(100dvh - 2rem); padding: 0; border: 0; border-radius: 0.3rem; background: var(--feedback-ground); box-shadow: 0 1.5rem 5rem #10203030; overflow: auto; } /* taste-skill-ignore: floating modal dialog */
.serp-feedback-dialog::backdrop { background: #13283866; }
.serp-feedback-dialog .serp-feedback-card { margin: 0; }
.serp-feedback-modal-open { overflow: hidden; }
.serp-feedback-thanks { padding: 1rem 1.3rem; margin: 1rem 0 1.5rem; background: var(--feedback-ground); border-radius: 0.3rem; font-size: 0.9375rem; }
.serp-feedback-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 767.98px) {
  .serp-feedback-card { padding: 1.1rem; }
  .serp-feedback-grid { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .serp-feedback-rating-column { padding-right: 0; }
  .serp-feedback-card .serp-feedback-heading { padding-right: 1.75rem; font-size: 1.1rem; }
  .serp-feedback-comment-column { padding-top: 0; }
  .serp-feedback-ratings { gap: 0.4rem; }
  .serp-feedback-choice, .serp-feedback-reason span { min-height: 2.75rem; }
  .serp-feedback-dialog { width: calc(100% - 1.25rem); max-height: calc(100dvh - 1.25rem); }
}
