/* PHP2Shell advisory page. Builds only on tokens from shellproof.css so light and
   dark stay in parity. Nothing here overrides the design system's colours. */

.adv-hero { padding-top: 56px; padding-bottom: 48px; }
.adv-hero .h1 { margin-bottom: 22px; }

.adv-badges { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; }
.adv-badges .badge { height: 26px; font-size: 12px; }

.adv-source a { white-space: nowrap; }

/* --- bug cards --- */
.adv-bugs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 28px; }
.adv-bug { display: flex; flex-direction: column; gap: 4px; }
.adv-bug .h3 { margin: 10px 0 6px; }
.adv-bug .prose { font-size: 15px; color: var(--fg-2); margin-bottom: 12px; }
.adv-bug-ids { display: flex; flex-wrap: wrap; gap: 6px; }
.adv-fix { font-size: 14px; color: var(--fg-2); margin: 0 0 12px; }
.adv-fix .label { display: inline; letter-spacing: 0.06em; margin-right: 2px; }
.adv-bug-meta { margin-top: auto; padding-top: 6px; overflow-wrap: anywhere; }
@media (max-width: 760px) { .adv-bugs { grid-template-columns: minmax(0, 1fr); } }

/* --- per-SAPI tables --- */
.adv-sapi-block + .adv-sapi-block { margin-top: 28px; }
.adv-sapi-block .h3 { margin-bottom: 12px; font-size: 18px; overflow-wrap: anywhere; }

/* --- mini checker --- */
.mini-check { margin-top: 24px; }
.mini-form { display: flex; gap: 10px; align-items: flex-start; margin: 4px 0 0; }
.mini-form .field { flex: 1; margin-bottom: 0; }
.mini-form .btn { height: 42px; flex: none; }
.mini-verdict { margin-top: 16px; padding: 18px; }
.mini-verdict .mono { font-size: 14px; color: var(--fg-muted); }
.mini-headline { margin: 12px 0; font-size: 15px; color: var(--fg); }
.mini-actions { margin-top: 14px; gap: 8px; }
@media (max-width: 440px) {
  .mini-form { flex-direction: column; }
  .mini-form .btn { width: 100%; }
}

/* --- what to do now --- */
.adv-steps { list-style: none; counter-reset: step; margin: 24px 0 0; padding: 0; }
.adv-step { padding: 0 0 8px; }
.adv-step + .adv-step { margin-top: 32px; border-top: 1px solid var(--border); padding-top: 28px; }
.adv-step .h3 { margin-bottom: 12px; }
.adv-step .prose { font-size: 16px; }
.adv-step .code { margin-top: 14px; }

.adv-mit-head { margin: 18px 0 8px; }
.adv-mit-list { margin: 0 0 4px; padding-left: 1.1em; font-size: 14px; color: var(--fg-2); }
.adv-mit-list li { margin: 8px 0; line-height: 1.55; }
.adv-mit-list code { white-space: normal; overflow-wrap: anywhere; }
.adv-mit-tag { height: 18px; font-size: 10px; margin-left: 6px; vertical-align: 1px; }

/* --- faq --- */
.faq { border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden; background: var(--bg); margin-top: 8px; }
.faq-item { border-bottom: 1px solid var(--border); }
.faq-item:last-child { border-bottom: 0; }
.faq-item > summary {
  list-style: none; cursor: pointer; padding: 16px 18px; font-weight: 500; font-size: 15.5px;
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
.faq-item > summary::-webkit-details-marker { display: none; }
.faq-item > summary::after {
  content: ""; width: 10px; height: 10px; flex: none;
  border-right: 1.6px solid var(--fg-muted); border-bottom: 1.6px solid var(--fg-muted);
  transform: rotate(45deg); transition: transform 0.15s; margin-top: -4px;
}
.faq-item[open] > summary::after { transform: rotate(-135deg); margin-top: 2px; }
.faq-item > summary:hover { background: var(--bg-subtle); }
.faq-body { padding: 0 18px 18px; color: var(--fg-2); font-size: 15px; }
.faq-body p { margin: 0; }

/* --- references --- */
.ref-list { padding-left: 1.2em; margin: 8px 0 20px; }
.ref-list li { margin: 8px 0; overflow-wrap: anywhere; }
