/* JSON Schema batch check landing page (/tools/json-schema-batch-validator) only. Layers on market-tools.css + tool-drop.css. */
.tp-jsv .tp-jsv-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(24px,4vw,56px);align-items:start}
.tp-jsv .tp-jsv-intro{display:grid;gap:16px;min-width:0}
.tp-jsv .tp-jsv-intro .mt-eyebrow{margin:0}
.tp-jsv .tp-jsv-intro h1{margin:0;font-size:clamp(1.9rem,3.6vw,2.9rem);line-height:1.08;letter-spacing:-.035em;overflow-wrap:anywhere}
.tp-jsv .tp-jsv-lede{margin:0;color:var(--muted,#52647b);font-size:1.08rem;line-height:1.6;max-width:62ch}
.tp-jsv code,.tp-jsv pre{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace}
.tp-jsv :not(pre)>code{padding:1px 5px;border-radius:5px;background:#eef3fa;color:#12305f;font-size:.9em;overflow-wrap:anywhere}

.tp-jsv .tp-jsv-intro>.wt-drop{margin:0}
.tp-jsv .tp-jsv-plan{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;margin:0;color:var(--muted,#52647b);font-size:.95rem}
.tp-jsv .tp-jsv-plan a{display:inline-flex;align-items:center;min-height:44px;color:var(--blue-dark,#1548c7);font-weight:750}

/* Schema fit check above the upload */
.tp-jsv .tp-jsv-fit{display:grid;gap:8px;margin:0;padding:14px 18px 6px;border:1px solid var(--line,#d7e1ee);border-left:4px solid var(--blue,#1f5cf0);border-radius:12px;background:#fff}
.tp-jsv .tp-jsv-fit h2{margin:0;font-size:1.02rem;letter-spacing:0}
.tp-jsv .tp-jsv-fit p{margin:0;line-height:1.55}
.tp-jsv .tp-jsv-fit .tp-jsv-fit-small{color:var(--muted,#52647b);font-size:.93rem}
.tp-jsv .tp-jsv-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.tp-jsv .tp-jsv-chips li{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border:1px solid #b9d9c8;border-radius:999px;background:#eef8f2;color:#064e31;font-size:.9rem;font-weight:650}
.tp-jsv .tp-jsv-chips li code{background:transparent;padding:0;color:#064e31;font-weight:800}
.tp-jsv .tp-jsv-fit-link a{display:inline-flex;align-items:center;min-height:40px;color:var(--blue-dark,#1548c7);font-weight:800}

/* Worked example */
.tp-jsv .tp-jsv-example{min-width:0;display:grid;gap:0;border:1px solid #bfd0e5;border-radius:20px;background:#fff;box-shadow:0 20px 50px rgba(9,34,70,.10);overflow:hidden}
.tp-jsv .tp-jsv-example-head{display:grid;gap:6px;padding:18px 20px;border-bottom:1px solid var(--line,#d7e1ee)}
.tp-jsv .tp-jsv-example-head small{color:#3159b8;font-size:.76rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.tp-jsv .tp-jsv-example-head h2{margin:0;font-size:1.2rem;letter-spacing:-.01em}
.tp-jsv .tp-jsv-files{display:grid;grid-template-columns:minmax(0,1fr);gap:1px;background:var(--line,#d7e1ee)}
.tp-jsv .tp-jsv-file{display:grid;align-content:start;gap:6px;min-width:0;margin:0;padding:14px 16px;background:#f7f9fc}
.tp-jsv .tp-jsv-file figcaption{font-size:.82rem;font-weight:800;color:var(--ink,#071b35)}
.tp-jsv .tp-jsv-file figcaption span{font-weight:600;color:var(--muted,#52647b)}
.tp-jsv .tp-jsv-file pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.78rem;line-height:1.5;color:#12305f}
.tp-jsv .tp-jsv-result{display:grid;gap:10px;padding:16px 20px 20px}
.tp-jsv .tp-jsv-result h3{margin:0;font-size:.95rem}
.tp-jsv .tp-jsv-result h3 span{font-weight:600;color:var(--muted,#52647b)}
.tp-jsv .tp-jsv-rows{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.tp-jsv .tp-jsv-row{display:grid;gap:6px;padding:10px 12px;border:1px solid var(--line,#d7e1ee);border-radius:10px;background:#fff}
.tp-jsv .tp-jsv-row-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px}
.tp-jsv .tp-jsv-doc{font-size:.84rem;font-weight:750;overflow-wrap:anywhere}
.tp-jsv .tp-jsv-status{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.76rem;font-weight:850;letter-spacing:.02em}
.tp-jsv .tp-jsv-status--pass{background:#e4f5ec;color:#065f3b}
.tp-jsv .tp-jsv-status--fail{background:#fdeceb;color:#9b1c14}
.tp-jsv .tp-jsv-row--fail{border-color:#f2c4c0}
.tp-jsv .tp-jsv-errors{display:grid;gap:4px;margin:0;padding:0;list-style:none;font-size:.86rem;line-height:1.45;color:var(--ink,#071b35)}
.tp-jsv .tp-jsv-errors code{margin-right:6px}
.tp-jsv .tp-jsv-note{margin:0;color:var(--muted,#52647b);font-size:.84rem;line-height:1.5}

/* Trimmed copy of a full schema */
.tp-jsv .tp-jsv-trim>h2{margin:0 0 10px}
.tp-jsv .tp-jsv-sub{margin:0 0 20px;max-width:70ch;color:var(--muted,#52647b);line-height:1.6}
.tp-jsv .tp-jsv-trim-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.tp-jsv .tp-jsv-trim-grid .tp-jsv-file{padding:16px 18px;border:1px solid var(--line,#d7e1ee);border-radius:14px}
.tp-jsv .tp-jsv-file--full{border-top:4px solid #b4271c !important}
.tp-jsv .tp-jsv-file--trim{border-top:4px solid #087a4d !important;background:#fff}
.tp-jsv .tp-jsv-cut{background:#fdeceb;color:#9b1c14;text-decoration:line-through;text-decoration-thickness:1.5px}
.tp-jsv .tp-jsv-add{background:#e4f5ec;color:#065f3b;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}
.tp-jsv .tp-jsv-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:10px 0 0;color:var(--muted,#52647b);font-size:.86rem}
.tp-jsv .tp-jsv-legend span{padding:1px 6px;border-radius:5px}
.tp-jsv .tp-jsv-trim-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0 0;padding:0;list-style:none}
.tp-jsv .tp-jsv-trim-steps li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;align-items:start;min-width:0;padding:14px 16px;border:1px solid var(--line,#d7e1ee);border-radius:14px;background:#fff}
.tp-jsv .tp-jsv-trim-steps b{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#e8effd;color:#12305f;font-size:.95rem}
.tp-jsv .tp-jsv-trim-steps p{margin:0;line-height:1.55;font-size:.95rem}
.tp-jsv .tp-jsv-catch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.tp-jsv .tp-jsv-catch>div{min-width:0;padding:16px 18px;border-radius:14px;border:1px solid var(--line,#d7e1ee);background:#fff}
.tp-jsv .tp-jsv-catch--yes{border-left:4px solid #087a4d !important}
.tp-jsv .tp-jsv-catch--no{border-left:4px solid #8aa0bd !important}
.tp-jsv .tp-jsv-catch h3{margin:0 0 8px;font-size:1rem}
.tp-jsv .tp-jsv-catch ul{display:grid;gap:5px;margin:0;padding-left:20px;line-height:1.5}

/* Related free tools */
.tp-jsv .tp-jsv-next{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 8px;padding:0;list-style:none}
.tp-jsv .tp-jsv-next li{display:grid;gap:4px;min-width:0;padding:14px 16px;border:1px solid var(--line,#d7e1ee);border-radius:14px;background:#fff}
.tp-jsv .tp-jsv-next a{display:inline-flex;align-items:center;min-height:40px;font-weight:800;color:var(--blue-dark,#1548c7)}
.tp-jsv .tp-jsv-next p{margin:0;font-size:.93rem}

/* Keyword scope table */
.tp-jsv .tp-jsv-keys{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none}
.tp-jsv .tp-jsv-keys>li{display:grid;align-content:start;gap:8px;min-width:0;padding:18px 20px;border:1px solid var(--line,#d7e1ee);border-radius:14px;background:#fff}
.tp-jsv .tp-jsv-keys h3{margin:0;font-size:1.02rem}
.tp-jsv .tp-jsv-keys p{margin:0;color:var(--muted,#52647b);line-height:1.55}
.tp-jsv .tp-jsv-keys--ok{border-top:4px solid #087a4d}
.tp-jsv .tp-jsv-keys--info{border-top:4px solid #8aa0bd}
.tp-jsv .tp-jsv-keys--stop{border-top:4px solid #b4271c}

/* What you get */
.tp-jsv .tp-jsv-get{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none}
.tp-jsv .tp-jsv-get>li{display:grid;align-content:start;gap:6px;min-width:0;padding:18px 20px;border:1px solid var(--line,#d7e1ee);border-radius:14px;background:#fff}
.tp-jsv .tp-jsv-get strong{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.95rem;overflow-wrap:anywhere}
.tp-jsv .tp-jsv-get p{margin:0;color:var(--muted,#52647b);line-height:1.55}
.tp-jsv .tp-jsv-text{max-width:760px}
.tp-jsv .tp-jsv-text p{color:var(--muted,#52647b);line-height:1.65}
.tp-jsv .tp-jsv-links{display:flex;flex-wrap:wrap;align-items:center;gap:4px 24px;margin-top:8px}
.tp-jsv .tp-jsv-links a{display:inline-flex;align-items:center;min-height:44px}
.tp-jsv .mt-section{margin:56px 0}
.tp-jsv .mt-section>h2{margin:0 0 18px}

.tp-jsv a:focus-visible,.tp-jsv summary:focus-visible{outline:3px solid var(--blue,#1f5cf0);outline-offset:2px;border-radius:4px}

@media (max-width:960px){
  .tp-jsv .tp-jsv-hero{grid-template-columns:minmax(0,1fr)}
  .tp-jsv .tp-jsv-keys,.tp-jsv .tp-jsv-get,.tp-jsv .tp-jsv-trim-grid,.tp-jsv .tp-jsv-catch,.tp-jsv .tp-jsv-next{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:520px){
  .tp-jsv .tp-jsv-example-head,.tp-jsv .tp-jsv-result{padding-left:14px;padding-right:14px}
  .tp-jsv .tp-jsv-file{padding:12px 14px}
  .tp-jsv .tp-jsv-intro h1{font-size:clamp(1.7rem,8.4vw,2.2rem)}
  .tp-jsv .mt-section{margin:44px 0}
  .tp-jsv .tp-jsv-trim-steps{grid-template-columns:minmax(0,1fr)}
  .tp-jsv .tp-jsv-fit{padding:14px}
}
