/* Report a vulnerability (jkc-vulnerability-page.php). Proposal 06-10-2026. Mobile first. */
.jkc-vuln{padding:56px 0}
.jkc-vuln--report{padding-bottom:80px;scroll-margin-top:96px}
.jkc-vuln__title{margin:0 0 28px;font-size:30px;line-height:1.2;font-weight:800;color:var(--jkc-navy,#04155e)}
.jkc-vuln h3{margin:0;font-size:18px;line-height:1.35;font-weight:700;color:var(--jkc-navy,#04155e)}

/* Guideline cards */
.jkc-vuln__rules{display:grid;gap:16px}
.jkc-vuln__rule-card{padding:24px 20px;border-radius:20px;background:var(--jkc-bg-subtle,#f3f4f8)}
.jkc-vuln__rule-head{display:flex;align-items:flex-start;gap:14px;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--jkc-border,#e4e4e7)}
.jkc-vuln__rule-head p{margin:2px 0 0;font-size:14px;line-height:1.5;color:#6b6b74}
.jkc-vuln__badge{display:inline-flex;flex:0 0 36px;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#fff;font-size:15px}
.jkc-vuln__badge svg{width:1em;height:1em}
.jkc-vuln__badge--do{color:var(--jkc-green,#297f49)}
.jkc-vuln__badge--dont{color:#c8102e}
.jkc-vuln__badge--promise{flex-basis:44px;width:44px;height:44px;background:var(--jkc-blue,#007af5);color:#fff;font-size:18px}
.jkc-vuln__list{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.jkc-vuln__list li{display:flex;align-items:flex-start;gap:10px;font-size:15px;line-height:1.5;color:var(--jkc-bodytext,#454c68)}
.jkc-vuln__tick{display:inline-flex;flex:0 0 20px;align-items:center;justify-content:center;width:20px;height:20px;margin-top:2px;border-radius:50%;background:#fff;font-size:10px}
.jkc-vuln__tick svg{width:1em;height:1em}
.jkc-vuln__list--do .jkc-vuln__tick{color:var(--jkc-green,#297f49)}
.jkc-vuln__list--dont .jkc-vuln__tick{color:#c8102e}
.jkc-vuln__promise{display:flex;align-items:flex-start;gap:16px;padding:28px 24px;border-radius:20px;background:radial-gradient(120% 140% at 85% 0%,#1a4fb4 0%,var(--jkc-navy,#04155e) 55%);color:#fff}
.jkc-vuln__promise h3{color:#fff;font-size:20px}
.jkc-vuln__promise p{margin:8px 0 0;max-width:560px;font-size:15px;line-height:1.6;color:rgba(255,255,255,.85)}
.jkc-vuln__promise a{color:#fff;text-decoration:underline}

/* Report: form and what happens next */
.jkc-vuln__grid{display:grid;gap:16px;align-items:start}
.jkc-vuln__card{padding:24px 20px;background:#fff;border:1px solid var(--jkc-border,#e4e4e7);border-radius:20px}
/* The contact styling sets a two-column grid; only e-mail and name share a row here. */
.jkc-vuln__card .gform_fields>.gfield:not(.gfield--width-half){grid-column:1/-1}
/* The contact styling gives its wrapper order:2; here the form comes first. */
.jkc-vuln__grid>.jkc-vuln__card{order:0}
/* Footer: privacy line beside the button. Specific enough to beat the theme's :is(...) .gform_wrapper .gform_footer. */
.jkc-vuln .jkc-vuln__card .gform_wrapper .gform_footer{flex-direction:column-reverse;align-items:flex-start;gap:16px;margin-top:20px;padding-top:20px;border-top:1px solid var(--jkc-border,#e4e4e7)}
.jkc-vuln .jkc-vuln__card .jkc-vuln__note{display:flex;gap:8px;margin:0;font-size:13px;line-height:1.5;color:#6b6b74}
.jkc-vuln .jkc-vuln__card .jkc-vuln__note svg{flex:0 0 auto;width:12px;height:12px;margin-top:3px;color:var(--jkc-blue,#007af5)}
.jkc-vuln__opt{font-weight:400;color:#6b6b74}
.jkc-vuln__steps h3{margin-bottom:18px;font-size:17px}
.jkc-vuln__steps ol{display:grid;gap:18px;margin:0;padding:0;list-style:none}
.jkc-vuln__steps li{position:relative;display:flex;gap:12px}
.jkc-vuln__steps li:not(:last-child)::before{content:"";position:absolute;left:15px;top:34px;bottom:-16px;width:1px;background:var(--jkc-border,#e4e4e7)}
.jkc-vuln__step-icon{display:inline-flex;flex:0 0 30px;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--jkc-blue-subtle,#f0f7ff);color:var(--jkc-blue,#007af5);font-size:12px}
.jkc-vuln__step-icon svg{width:1em;height:1em}
.jkc-vuln__steps strong{display:block;font-size:15px;color:var(--jkc-navy,#04155e)}
.jkc-vuln__steps p{margin:2px 0 0;font-size:13.5px;line-height:1.5;color:#6b6b74}

/* Side column: steps, and the PGP card once the fingerprint is set */
.jkc-vuln__side{display:grid;gap:16px}
.jkc-vuln__pgp h3{font-size:17px}
.jkc-vuln__pgp p{margin:8px 0 0;font-size:14px;line-height:1.5;color:#6b6b74}
.jkc-vuln__pgp-mail{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:14px!important;padding:10px 12px;border-radius:10px;background:var(--jkc-bg-subtle,#f3f4f8);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}
.jkc-vuln__pgp-mail a{color:var(--jkc-navy,#04155e);text-decoration:none}
.jkc-vuln__copy{border:0;background:none;padding:2px 4px;font-size:12px;font-weight:600;color:var(--jkc-blue-link,#0066cc);cursor:pointer}
.jkc-vuln__pgp-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.jkc-vuln__pgp-btn{display:inline-flex;align-items:center;padding:7px 12px;border:1px solid var(--jkc-border,#e4e4e7);border-radius:8px;font-size:13px;font-weight:600;color:var(--jkc-navy,#04155e);text-decoration:none;cursor:pointer;list-style:none}
.jkc-vuln__pgp-btn::-webkit-details-marker{display:none}
.jkc-vuln__pgp-fp code{display:block;margin-top:8px;font-size:12px;overflow-wrap:anywhere;color:var(--jkc-navy,#04155e)}
.jkc-vuln__hero-pgp{margin-left:8px}
.jkc-vuln__hero-pgp svg{width:12px;height:12px}

/* After sending */
.jkc-vuln__thanks{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:8px 0}
.jkc-vuln__thanks .jkc-vuln__badge{background:var(--jkc-green,#297f49);color:#fff}
.jkc-vuln__thanks p{margin:0;font-size:15px;line-height:1.6;color:var(--jkc-bodytext,#454c68)}
.jkc-vuln__again{font-weight:600;color:var(--jkc-blue-link,#0066cc);text-decoration:underline}

@media (min-width:768px){
.jkc-vuln{padding:80px 0}
.jkc-vuln--report{padding-bottom:104px}
.jkc-vuln__title{font-size:36px}
.jkc-vuln__rule-card{padding:32px}
.jkc-vuln__list{grid-template-columns:1fr 1fr;column-gap:32px}
.jkc-vuln__promise{padding:32px}
.jkc-vuln__card{padding:32px}
.jkc-vuln .jkc-vuln__card .gform_wrapper .gform_footer{flex-direction:row-reverse;flex-wrap:nowrap;align-items:center;justify-content:space-between}
.jkc-vuln .jkc-vuln__card .jkc-vuln__note{max-width:320px}
}
@media (min-width:1024px){
.jkc-vuln__grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:24px}
}
