/* Free PHP security check page (/php-check) and the home page banner link. */
.pc-hero { background: var(--hero); color: #fff; padding: 56px 0 64px; }
.pc-hero .eyebrow { color: #FFA45F; }
.pc-hero .eyebrow::before { background: var(--orange); }
.pc-hero h1 { font-size: clamp(32px, 4vw, 50px); letter-spacing: -0.04em; line-height: 1.18; margin: 18px 0; max-width: 18ch; }
.pc-hero .accent { color: var(--orange); }
.pc-lead { font-size: 15px; line-height: 1.85; color: var(--on-dark-copy); max-width: 60ch; }

.pc-form { display: flex; gap: 12px; flex-wrap: wrap; margin: 30px 0 12px; max-width: 620px; }
.pc-form input[type="url"] { flex: 1; min-width: 240px; font: inherit; font-size: 16px; color: var(--ink); padding: 15px 18px; border: 1px solid #C9D1DA; border-radius: 3px; background: #fff; }
.pc-form input[type="url"]:focus { outline: none; border-color: var(--orange); box-shadow: 0 0 0 4px rgba(248,124,24,0.25); }
.pc-form .btn.light { background: var(--orange); border-color: var(--orange); color: var(--hero); font-weight: 600; white-space: nowrap; }
.pc-form .btn.light:hover { background: var(--orange-hover); border-color: var(--orange-hover); }
.pc-form .btn.is-busy { opacity: 0.75; cursor: progress; }
.pc-note { font-size: 12px; color: #9DAAC0; max-width: 60ch; line-height: 1.7; }

.pc-result { margin-top: 26px; max-width: 640px; }
.pc-card { padding: 22px 24px; border-radius: 6px; border: 1px solid; border-left-width: 4px; background: #0f1826; }
.pc-card-title { font-size: 17px; font-weight: 600; margin: 0; }
.pc-card-ver { font-size: 13px; color: #AEBACB; margin: 8px 0 0; font-variant-numeric: tabular-nums; }
.pc-card-detail { font-size: 14px; line-height: 1.7; color: #C7D0DD; margin: 10px 0 0; }
.pc-card .btn { margin-top: 18px; background: var(--orange); border-color: var(--orange); color: var(--hero); font-weight: 600; }
.pc-card .btn:hover { background: var(--orange-hover); border-color: var(--orange-hover); }
.pc-good { border-color: #2C6E3B; background: #0e1f16; }
.pc-good .pc-card-title { color: #7FD69A; }
.pc-bad { border-color: #B3263E; background: #23121520; background: #1f1013; }
.pc-bad .pc-card-title { color: #FF9BA8; }
.pc-warn { border-color: #C77A1E; background: #1d1711; }
.pc-warn .pc-card-title { color: #FFC278; }

.pc-info { padding: 60px 0 var(--section-pad); }
.pc-info-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }
.pc-info-grid h2 { font-size: 18px; margin-bottom: 12px; }
.pc-info-grid p { font-size: 14px; line-height: 1.85; color: var(--body-copy); }
.pc-info-grid article { border-top: 1px solid var(--hairline); padding-top: 20px; }
.pc-info-grid .text-link { margin-top: 14px; }

/* Home page banner linking to the checker. */
.pc-banner { background: #1f1013; border-bottom: 1px solid #3a1c22; }
.pc-banner .wrap { display: flex; align-items: center; gap: 16px 24px; flex-wrap: wrap; padding: 14px 0; }
.pc-banner .pc-banner-tag { font-size: 10px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: #FF9BA8; border: 1px solid #7a2f3a; border-radius: 100px; padding: 4px 11px; flex: none; }
.pc-banner p { font-size: 14px; color: #F3DCDF; margin: 0; flex: 1; min-width: 220px; line-height: 1.5; }
.pc-banner a { font-size: 13px; font-weight: 600; color: #fff; border-bottom: 1px solid #8a3a44; white-space: nowrap; padding-bottom: 2px; }
.pc-banner a:hover { border-color: var(--orange); }

@media (max-width: 760px) {
  .pc-hero { padding: 40px 0 46px; }
  .pc-form .btn.light { width: 100%; justify-content: center; }
  .pc-info { padding: 44px 0; }
  .pc-info-grid { grid-template-columns: 1fr; gap: 28px; }
  .pc-banner .wrap { padding: 12px 0; }
}

/* "Hidden" result: proxy note + copyable message to the hosting provider. */
.pc-host { margin-top: 16px; border-top: 1px solid #2a3344; padding-top: 16px; }
.pc-host-label { font-size: 13px; color: #C7D0DD; margin: 0 0 8px; }
.pc-host-msg { width: 100%; box-sizing: border-box; font: inherit; font-size: 13px; line-height: 1.6; color: #E7ECF3; background: #0b1420; border: 1px solid #2a3344; border-radius: 4px; padding: 12px 14px; resize: vertical; }
.pc-host-msg:focus { outline: none; border-color: var(--orange); }
.pc-copy { margin-top: 10px; padding: 9px 16px; border-radius: 4px; border: 1px solid #44516a; background: #151d2c; color: #fff; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.pc-copy:hover { border-color: var(--orange); color: #fff; }
.pc-copy:focus-visible { outline: 2px solid var(--orange); outline-offset: 2px; }
