.buyer-tool-hero {
  padding: clamp(9rem, 16vw, 12rem) 0 var(--space-8);
  background: linear-gradient(180deg, var(--bg-section) 0%, var(--bg) 100%);
  border-bottom: 1px solid var(--hairline-soft);
}

.buyer-tool-hero__inner { max-width: 860px; }
.buyer-tool-hero h1 { margin: var(--space-3) 0 var(--space-4); max-width: 820px; }
.buyer-tool-hero p { max-width: 760px; color: var(--text-body); font-size: var(--fs-h4); line-height: 1.65; }

.buyer-tool-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
  gap: var(--space-7);
  align-items: start;
}

.buyer-tool-form,
.buyer-tool-preview {
  border: 1px solid var(--hairline);
  border-radius: var(--radius-lg);
  background: var(--bg-card);
  box-shadow: var(--shadow-card);
}

.buyer-tool-form { padding: clamp(var(--space-5), 4vw, var(--space-7)); }
.buyer-tool-form__intro { margin: 0 0 var(--space-6); color: var(--text-muted); }
.buyer-tool-form fieldset { margin: 0; padding: 0; border: 0; }
.buyer-tool-form fieldset + fieldset { margin-top: var(--space-7); padding-top: var(--space-6); border-top: 1px solid var(--hairline-soft); }
.buyer-tool-form legend { width: 100%; margin: 0 0 var(--space-4); color: var(--text-heading); font-size: var(--fs-h4); font-weight: 600; }

.buyer-tool-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.buyer-tool-grid .form-field { margin: 0; }
.buyer-tool-grid .form-field--wide { grid-column: 1 / -1; }
.buyer-tool-grid label { display: block; margin-bottom: var(--space-2); color: var(--text-heading); font-weight: 500; }
.buyer-tool-grid small { display: block; margin-top: var(--space-2); color: var(--text-muted); line-height: 1.45; }
.buyer-tool-grid textarea { min-height: 96px; resize: vertical; }

.buyer-tool-preview { position: sticky; top: 7rem; overflow: hidden; }
.buyer-tool-preview__head { padding: var(--space-5); border-bottom: 1px solid var(--hairline-soft); }
.buyer-tool-preview__head h2 { margin: 0 0 var(--space-2); font-size: var(--fs-h3); }
.buyer-tool-preview__head p { margin: 0; color: var(--text-muted); font-size: var(--fs-small); }
.buyer-tool-preview pre {
  min-height: 360px;
  max-height: 52vh;
  margin: 0;
  padding: var(--space-5);
  overflow: auto;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  color: var(--text-body);
  background: var(--bg-section);
  font: 400 .84rem/1.65 var(--font-mono);
}
.buyer-tool-preview__actions { display: grid; gap: var(--space-3); padding: var(--space-5); }
.buyer-tool-preview__actions .btn { width: 100%; justify-content: center; }
.buyer-tool-status { min-height: 1.4em; margin: 0; color: var(--text-muted); font-size: var(--fs-small); text-align: center; }

.buyer-tool-next { margin-top: var(--space-8); padding: var(--space-7); border-radius: var(--radius-lg); background: var(--bg-section); }
.buyer-tool-next h2 { margin-top: 0; }
.buyer-tool-next ol { margin: var(--space-4) 0 0; padding-left: 1.25rem; }
.buyer-tool-next li + li { margin-top: var(--space-3); }

@media (max-width: 900px) {
  .buyer-tool-layout { grid-template-columns: 1fr; }
  .buyer-tool-preview { position: static; }
}

@media (max-width: 620px) {
  .buyer-tool-grid { grid-template-columns: 1fr; }
  .buyer-tool-grid .form-field--wide { grid-column: auto; }
  .buyer-tool-form, .buyer-tool-preview__head, .buyer-tool-preview__actions { padding: var(--space-4); }
  .buyer-tool-preview pre { min-height: 300px; padding: var(--space-4); }
}
