/* ── PHP2Shell check ──────────────────────────────────────────────── */
/* Hero, card, tool-title, tool-desc come from the global tool styles. */

.p2s-form .form-row { display: flex; gap: var(--space-2); }
.p2s-form .input-wrap--domain { flex: 1; min-width: 0; }
.p2s-form .input {
  width: 100%;
  min-height: 44px;
  padding: var(--space-3) var(--space-4);
  background: var(--surface2);
  border: 1px solid var(--border2);
  border-radius: var(--radius-md);
  color: var(--text);
  font-family: var(--mono);
  font-size: var(--fs-base);
}
.p2s-form .input:focus-visible {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-glow-30);
}
.p2s-form .btn { min-height: 44px; }

/* Verdict card */
.p2s-verdict {
  display: flex;
  gap: var(--space-5);
  align-items: flex-start;
  margin-top: var(--space-4);
}
.p2s-verdict__icon { flex: none; line-height: 0; }
.p2s-verdict--fail .p2s-verdict__icon { color: var(--status-fail); }
.p2s-verdict--pass .p2s-verdict__icon { color: var(--status-pass); }
.p2s-verdict--warn .p2s-verdict__icon { color: var(--status-warn); }
.p2s-verdict--info .p2s-verdict__icon { color: var(--muted2); }
.p2s-verdict__body { min-width: 0; }
.p2s-verdict__line {
  margin: var(--space-3) 0 var(--space-1);
  font-size: var(--fs-lg);
  font-weight: 600;
  color: var(--text);
  overflow-wrap: anywhere;
}
.p2s-verdict__src, .p2s-verdict__meta, .p2s-verdict__note {
  margin: var(--space-1) 0 0;
  color: var(--muted2);
  font-size: var(--fs-sm);
  overflow-wrap: anywhere;
}
.p2s-verdict__src code { font-family: var(--mono); color: var(--text2); }
.p2s-verdict__note { margin-top: var(--space-3); }

.p2s-badge {
  display: inline-block;
  padding: var(--badge-padding-md);
  border-radius: var(--radius-sm);
  border: 1px solid transparent;
  font-size: var(--fs-md);
  font-weight: 700;
}
.p2s-badge--fail { color: var(--status-fail); background: var(--status-fail-bg); border-color: var(--status-fail-border); }
.p2s-badge--pass { color: var(--status-pass); background: var(--status-pass-bg); border-color: var(--status-pass-border); }
.p2s-badge--warn { color: var(--status-warn); background: var(--status-warn-bg); border-color: var(--status-warn-border); }
.p2s-badge--info { color: var(--status-info); background: var(--status-info-bg); border-color: var(--border2); }

.p2s-chips {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2);
  margin: var(--space-3) 0 0;
  padding: 0;
  list-style: none;
}
.p2s-chip {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 var(--space-3);
  border: 1px solid var(--status-fail-border);
  border-radius: var(--radius-sm);
  color: var(--status-fail);
  font-family: var(--mono);
  font-size: var(--fs-sm);
  text-decoration: none;
}
.p2s-chip:hover, .p2s-chip:focus-visible { background: var(--status-fail-bg); }
.p2s-chips__wild { color: var(--status-fail); font-size: var(--fs-sm); }

/* Facts table and self-check */
.p2s-table-wrap { overflow-x: auto; }
.p2s-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--fs-sm);
}
.p2s-table th, .p2s-table td {
  padding: var(--space-2) var(--space-3);
  border-bottom: 1px solid var(--border);
  text-align: left;
}
.p2s-table th { color: var(--muted2); font-weight: 500; }
.p2s-table td:last-child { font-family: var(--mono); }
.p2s-table tr:last-child td:last-child { font-family: var(--sans); color: var(--status-warn); }
.p2s-note { color: var(--muted2); font-size: var(--fs-sm); }
.p2s-code {
  overflow-x: auto;
  padding: var(--space-4);
  background: var(--surface2);
  border: 1px solid var(--border2);
  border-radius: var(--radius-md);
  font-family: var(--mono);
  font-size: var(--fs-sm);
  color: var(--text2);
}

.p2s-hint {
  margin: var(--space-3) 0 0;
  color: var(--muted2);
  font-size: var(--fs-sm);
}
.p2s-hint a, .p2s-verdict__note a { color: var(--accent); }

/* How to fix: numbered steps. A result hides every .seo-section
   (main.css, body.has-tool-result); this one stays when the verdict needs it. */
body.has-tool-result.p2s-needs-fix .seo-section.p2s-fix { display: block !important; }
.p2s-steps {
  margin: var(--space-4) 0;
  padding: 0;
  list-style: none;
  counter-reset: p2s-step;
}
.p2s-steps > li {
  position: relative;
  padding-left: var(--space-8);
  counter-increment: p2s-step;
}
.p2s-steps > li + li { margin-top: var(--space-5); }
.p2s-steps > li::before {
  content: counter(p2s-step);
  position: absolute;
  top: 0;
  left: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--space-6);
  height: var(--space-6);
  border: 1px solid var(--border2);
  border-radius: var(--radius-sm);
  color: var(--text2);
  font-family: var(--mono);
  font-size: var(--fs-sm);
}
.p2s-steps h3 { margin: 0 0 var(--space-2); }
.p2s-steps .p2s-code { margin: var(--space-3) 0; }

.p2s-legal__list { padding-left: var(--space-5); }
.p2s-legal__list li + li { margin-top: var(--space-2); }

@media (max-width: 600px) {
  .p2s-form .form-row { flex-direction: column; }
  .p2s-verdict { flex-direction: column; gap: var(--space-3); }
}
