.tool-form .form-grid {
  grid-template-columns: 1fr;
}

.tool-form .form-grid > *,
.tool-form input,
.tool-form textarea,
.tool-form select {
  min-width: 0;
  width: 100%;
}

.tool-form-intro h2 { margin: 8px 0; }
.tool-form-intro p { margin: 0; color: var(--muted); }
.tool-form-section { display: grid; gap: 20px; padding: 26px; border: 1px solid var(--line); border-radius: 20px; background: #fff; }
.tool-form-submit { justify-self: start; }
.alt-image-preview:empty { display: none; }
.alt-image-preview img { max-width: 220px; max-height: 220px; border-radius: 14px; border: 1px solid var(--line); display: block; }
.alt-image-preview p { margin: 0; color: #b91c1c; font-size: .85rem; }

.budget-tool { display: grid; gap: 22px; }
.budget-form-intro h2 { margin: 8px 0; }
.budget-form-intro p { margin: 0; color: var(--muted); }
.budget-form-section { display: grid; gap: 20px; padding: 26px; border: 1px solid var(--line); border-radius: 20px; background: #fff; }
.tool-form .budget-input-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.field-help { display: block; min-height: 2.7em; margin: 4px 0 8px; color: var(--muted); font-size: .82rem; font-weight: 400; line-height: 1.35; }
.input-suffix { position: relative; }
.input-suffix input { padding-right: 44px; }
.input-suffix > span { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); color: var(--muted); font-weight: 700; pointer-events: none; }
.budget-submit { justify-self: start; }
.budget-summary-grid,.budget-allocation-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 20px 0 28px; }
.budget-warning,.budget-caution,.budget-good { padding: 16px 18px; border-left: 5px solid; border-radius: 12px; background: #fff; }
.budget-warning { border-color: #ef4444; }
.budget-caution { border-color: #f59e0b; }
.budget-good { border-color: #22c55e; }

.roi-tool { display: grid; gap: 22px; }
.roi-form-intro h2 { margin: 8px 0; }
.roi-form-intro p { margin: 0; color: var(--muted); }
.roi-form-section { display: grid; gap: 20px; padding: 26px; border: 1px solid var(--line); border-radius: 20px; background: #fff; }
.tool-form .roi-input-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.roi-submit { justify-self: start; }
.roi-summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 20px 0 28px; }

.audit-findings {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.audit-finding {
  border: 1px solid var(--line);
  border-left-width: 5px;
  border-radius: 16px;
  padding: 20px;
  background: #fff;
}

.audit-finding--pass { border-left-color: #22c55e; }
.audit-finding--fail { border-left-color: #ef4444; }
.audit-finding--review { border-left-color: #c084fc; }
.audit-finding h4 { margin: 6px 0 8px; font-size: 1.05rem; }
.audit-finding p { margin: 0; color: var(--muted); }
.audit-status { font-size: .76rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.audit-finding--pass .audit-status { color: #15803d; }
.audit-finding--fail .audit-status { color: #b91c1c; }
.audit-finding--review .audit-status { color: #7e22ce; }

.tool-form .local-context-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.local-seo-tool fieldset { border: 0; margin: 0; padding: 0; }
.local-check-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.local-check { align-items: flex-start; min-height: 132px; padding: 18px; }
.local-check input { flex: 0 0 20px; margin-top: 3px; }
.local-check span { display: grid; gap: 7px; }
.local-check strong { line-height: 1.35; }
.local-check small { color: var(--muted); font-weight: 400; line-height: 1.45; }
.local-summary-grid { margin: 22px 0 30px; }
.local-category-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.local-priority-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 16px; }
.local-priority { padding: 20px; border: 1px solid var(--line); border-left: 5px solid #c084fc; border-radius: 16px; background: #fff; }
.local-priority h4 { margin: 6px 0 8px; font-size: 1.08rem; }
.local-priority p { margin: 0 0 14px; color: var(--muted); }
.local-priority > strong { display: block; color: #4b5563; line-height: 1.45; }
.local-resource-links { display: flex; flex-wrap: wrap; gap: 10px 22px; }
.local-resource-links .text-link { margin-top: 0; }

.campaign-form-intro { padding-bottom: 8px; }
.campaign-form-intro .eyebrow { margin-bottom: 10px; }
.campaign-form-intro h2 { margin-bottom: 10px; }
.campaign-form-intro p { margin: 0; color: var(--muted); }
.campaign-form-section { display: grid; gap: 20px; padding: 26px; border: 1px solid var(--line); border-radius: 20px; background: #fff; }
.campaign-step { display: flex; align-items: flex-start; gap: 14px; }
.campaign-step > span { flex: 0 0 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; background: #faf5ff; color: #7e22ce; font-size: .78rem; font-weight: 700; }
.campaign-step h3 { margin: 1px 0 4px; }
.campaign-step p { margin: 0; color: var(--muted); }
.tool-form .campaign-input-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.campaign-tool fieldset { border: 0; margin: 0; padding: 0; }
.campaign-tool legend { margin-bottom: 12px; font-weight: 700; }
.campaign-channel-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.campaign-channel-grid .check-row { min-height: 58px; }
.campaign-submit { justify-self: start; }
.campaign-summary-grid { margin: 22px 0 30px; }
.campaign-message-grid,.campaign-channel-plan { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.campaign-message-grid article,.campaign-channel-plan article { padding: 20px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.campaign-message-grid h4,.campaign-channel-plan h4 { margin: 0 0 8px; }
.campaign-message-grid p,.campaign-channel-plan p { margin: 0; color: var(--muted); }
.campaign-copy { margin-top: 24px; }

@media (max-width: 620px) {
  .tool-form-section { padding: 20px 16px; }
  .audit-summary-grid { grid-template-columns: 1fr; }
  .tool-form .local-context-grid,.local-check-grid,.local-priority-list,.local-category-grid { grid-template-columns: 1fr; }
  .local-check { min-height: auto; }
  .tool-form .campaign-input-grid,.campaign-channel-grid,.campaign-message-grid,.campaign-channel-plan { grid-template-columns: 1fr; }
  .campaign-form-section { padding: 20px 16px; }
  .tool-form .budget-input-grid,.budget-summary-grid,.budget-allocation-grid { grid-template-columns: 1fr; }
  .budget-form-section { padding: 20px 16px; }
  .tool-form .roi-input-grid,.roi-summary-grid { grid-template-columns: 1fr; }
  .roi-form-section { padding: 20px 16px; }
  .field-help { min-height: 0; }
}
