/* V10: retain V8 logo/branding; compact question groups */
.cv5-form [hidden],.cv5-questions[hidden],.cv5-question[hidden],.cv5-person[hidden]{display:none!important}
.cv8-navigation,.cv8-controls{display:none!important}
.cv5-app .cv5-question{display:block;width:100%;padding:14px 18px;margin:0 0 12px;overflow:visible}
.cv5-app .cv5-question legend{float:none;display:block;width:100%;padding:0 0 8px;white-space:normal;word-break:normal;line-height:1.4}
.cv5-app .cv5-colheads,.cv5-app .cv5-choice{display:grid!important;grid-template-columns:minmax(0,1fr) 75px 75px!important;gap:10px!important;align-items:center!important;width:100%}
.cv5-app .cv5-colheads>span:first-child,.cv5-app .cv5-choice>span:first-child{min-width:0;overflow-wrap:normal;word-break:normal;white-space:normal;writing-mode:horizontal-tb}
.cv5-app .cv5-choice>label{display:flex;align-items:center;justify-content:center;margin:0!important}
.cv5-app .cv5-colheads{clear:both}.cv5-app .cv5-colheads span{white-space:nowrap;font-size:11px}
.cv10-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0 32px}
.cv10-controls button{background:#b52c37;color:white;border:0;border-radius:4px;padding:12px 20px;font-weight:700;cursor:pointer}
.cv10-controls .cv10-prev{background:#f5f5f3;color:#222;border:1px solid #ccc}
.cv10-position{font-size:13px;color:#555;text-align:center}
.cv5-app .cv10-original-choice{display:none!important}
.cv10-rank-instruction{font-size:14px;color:#555;margin:0 0 10px}
.cv10-rank{border:1px solid #ddd;border-radius:5px;overflow:hidden}
.cv10-rank-row{display:grid;grid-template-columns:24px minmax(0,1fr) 115px;gap:8px;align-items:center;padding:10px 12px;border-bottom:1px solid #e8e8e8;background:#fff}
.cv10-rank-row:first-child{background:#f5f6f3;border-left:4px solid #b52c37}.cv10-rank-row:last-child{background:#faf8f3;border-left:4px solid #b28c49;border-bottom:0}
.cv10-rank-num{font-size:12px;font-weight:800;color:#777}.cv10-rank-text{font-size:15px;line-height:1.4;overflow-wrap:normal;word-break:normal}
.cv10-rank-actions{display:flex;gap:5px;justify-content:flex-end}.cv10-rank-actions button{width:33px;height:34px;border:1px solid #bbb;background:white;border-radius:4px;font-size:18px;cursor:pointer;color:#222;line-height:1}
.cv10-rank-actions button:disabled{opacity:.25;cursor:default}
.cv10-error{padding:12px;background:#fff1f0;border:1px solid #b52c37;color:#8b1b25;margin:12px 0}
@media(max-width:600px){.cv5-app .cv5-colheads,.cv5-app .cv5-choice{grid-template-columns:minmax(0,1fr) 53px 53px!important;gap:4px!important}.cv5-app .cv5-question{padding:12px}.cv10-controls button{padding:10px 12px}.cv10-rank-row{grid-template-columns:18px minmax(0,1fr) 108px;gap:5px;padding:9px 6px}.cv10-rank-actions button{width:31px}.cv10-position{font-size:11px}}
@media print{.cv10-controls{display:none!important}}

/* V11: only the approved opening-page spacing and situation drag interaction change. */
.cv5-app{padding-top:0!important}
.cv5-app .cv5-intro{padding-top:18px!important;padding-bottom:28px!important}
.cv5-app .cv5-intro h1{margin-top:20px!important}
.cv5-app .cv5-intro .cv5-official-logo{display:block;margin-bottom:8px!important}
.cv11-rank-instruction{font-size:14px;color:#555;margin:0 0 12px}
.cv11-rank{display:flex;flex-direction:column;gap:8px;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.cv11-rank-row{display:grid;grid-template-columns:26px minmax(0,1fr) 58px;align-items:center;gap:10px;padding:15px 13px;border:1px solid #d5d5d5;border-radius:7px;background:#fff;cursor:grab;touch-action:none;min-height:58px}
.cv11-rank-row:active{cursor:grabbing}
.cv11-rank-row:first-child{border-left:4px solid #b52c37;background:#faf6f6}
.cv11-rank-row:last-child{border-left:4px solid #b28c49;background:#faf9f5}
.cv11-rank-row.cv11-dragging{opacity:.48;box-shadow:0 4px 14px #0002}
.cv11-rank-row.cv11-drop-before{box-shadow:0 -4px 0 #b52c37}
.cv11-rank-row.cv11-drop-after{box-shadow:0 4px 0 #b52c37}
.cv11-grip{font-size:23px;line-height:1;color:#888;pointer-events:none}
.cv11-rank-text{font-size:15px;line-height:1.4;pointer-events:none}
.cv11-rank-marker{font-size:10px;letter-spacing:.07em;font-weight:800;color:#9d2630;text-align:right;pointer-events:none}
.cv11-rank-row:last-child .cv11-rank-marker{color:#9a783c}
@media(max-width:600px){.cv5-app .cv5-intro{padding-top:16px!important}.cv11-rank-row{padding:12px 9px;gap:7px;grid-template-columns:22px minmax(0,1fr) 48px}.cv11-rank-text{font-size:14px}}

/* V12: compact entry spacing without changing the approved CORES hero design. */
body:has(.cv5-form) .wp-block-post-content:has(.cv5-app),
body:has(.cv5-form) .entry-content:has(.cv5-app){margin-block-start:0!important;padding-block-start:0!important}
body:has(.cv5-form) .wp-block-post-content:has(.cv5-app)>:first-child,
body:has(.cv5-form) .entry-content:has(.cv5-app)>:first-child{margin-block-start:0!important}
body:has(.cv5-form) .wp-block-post-title{margin-bottom:8px!important}
.cv5-app .cv5-intro{margin-top:0!important}
.cv11-rank-marker{font-size:12px!important;min-width:55px;white-space:nowrap}
.cv11-rank-row{position:relative}
.cv11-rank-row.cv11-drop-before{box-shadow:0 -5px 0 #b52c37!important}
.cv11-rank-row.cv11-drop-after{box-shadow:0 5px 0 #b52c37!important}

/* V13 targeted layout: theme template whitespace above the CORES hero */
body:has(.cv5-form) main .wp-block-spacer:has(+ .wp-block-post-content){height:0!important;min-height:0!important}
body:has(.cv5-form) .wp-site-blocks main{padding-top:0!important;margin-top:0!important}
body:has(.cv5-form) .wp-block-post-content{padding-top:0!important;margin-top:0!important}
body:has(.cv5-form) .entry-content{padding-top:0!important;margin-top:0!important}
body:has(.cv5-form) .wp-block-post-title{margin-bottom:0!important}
body:has(.cv5-form) .cv5-app{margin-top:0!important}
.cv13-row{display:flex;align-items:center;gap:15px;border:1px solid #d5d5d5;background:#fff;padding:14px 16px;margin:7px 0;border-radius:7px;cursor:grab;touch-action:none;user-select:none;min-height:58px;transition:background .12s,border-color .12s}
.cv13-row:active{cursor:grabbing}.cv13-row.cv13-selected{background:#fff3e5;border:2px solid #b52c37}.cv13-row.cv13-dragging{opacity:.55;background:#f2e9dc}.cv13-row.cv13-before{box-shadow:0 -5px 0 #b52c37}.cv13-row.cv13-after{box-shadow:0 5px 0 #b52c37}
.cv13-number{display:grid;place-items:center;border-radius:50%;width:30px;height:30px;flex:none;background:#17191d;color:white;font-weight:700}.cv13-word{flex:1}.cv13-handle{font-size:25px;color:#9b6c30}.cv13-rank-note{font-size:13px;color:#5c5550}
.cv13-meaning{display:inline-grid;place-items:center;width:21px;height:21px;margin-left:5px;padding:0;border:1px solid #a7a7a7;border-radius:50%;font-size:12px;font-weight:700;background:#fff;color:#444;cursor:help;vertical-align:middle}.cv13-meaning:hover,.cv13-meaning:focus{background:#f8e8c9;border-color:#b58a42}.cv13-definition{display:inline-block;max-width:370px;margin-left:8px;padding:7px 10px;background:#fff9ed;border:1px solid #d9bb7c;border-radius:4px;font-size:13px;line-height:1.4;vertical-align:middle}.cv13-definition[hidden]{display:none!important}

/* V14: a separate progress track for the eight individual situation screens. */
.cv14-rank-progress{padding:14px 16px;margin:14px 0;background:#faf9f7;border:1px solid #e5e1dc;border-radius:6px}
.cv14-rank-progress[hidden]{display:none!important}
.cv14-rank-label{display:flex;justify-content:space-between;font-size:14px;margin-bottom:9px}
.cv14-rank-track{height:9px;background:#e6e6e6;border-radius:8px;overflow:hidden}
.cv14-rank-track span{display:block;height:100%;width:0;background:#b52c37;transition:width .2s}
.cv13-row{position:relative}.cv13-row[draggable=true]{cursor:grab}.cv13-row.cv13-dragging{opacity:.35}

/* V15: stage-local navigation and compact ranking */
.cv5-app .cv5-sectionhead[hidden]{display:none!important}
.cv5-app .cv10-controls{position:relative;z-index:2;margin:8px 0 16px;padding:12px 0 20px;clear:both}
.cv5-app .cv14-rank-progress{margin:10px 0 12px;padding:10px 14px}
.cv5-app .cv11-rank-instruction{margin:7px 0!important}
.cv5-app .cv13-rank-note{margin:4px 0 8px!important;font-size:13px}
.cv5-app .cv13-row{min-height:46px;padding:9px 13px;margin:4px 0}
.cv5-app .cv5-question:has(.cv11-rank){padding-top:10px;padding-bottom:12px}
.cv5-app .cv5-questions:has(.cv11-rank) .cv5-sectionhead{margin-bottom:8px!important;padding-bottom:4px!important}
.cv5-app .cv5-questions:has(.cv11-rank) .cv5-sectionhead p{margin:5px 0!important}

/* V16: hard boundary between descriptor and ranking stages. */
.cv5-app .cv5-questions.cv16-inactive{display:none!important;visibility:hidden!important}
.cv5-app .cv5-questions[hidden]{display:none!important}
.cv5-app .cv10-controls{display:flex!important;clear:both;position:relative;z-index:6}

/* V17: One authoritative stage gate. Do not rely on question-level hiding alone. */
.cv5-form[data-cores-step="intro"] .cv5-questions,
.cv5-form[data-cores-step="intro"] .cv5-close,
.cv5-form[data-cores-step="descriptors"] .cv5-questions:nth-of-type(3),
.cv5-form[data-cores-step="situations"] .cv5-questions:nth-of-type(2),
.cv5-form[data-cores-step="finish"] .cv5-questions{display:none!important}
/* Use explicit unique class names rather than theme-sensitive nth-of-type selectors. */
.cv5-form[data-cores-step="intro"] .cv17-descriptors,
.cv5-form[data-cores-step="intro"] .cv17-situations,
.cv5-form[data-cores-step="descriptors"] .cv17-situations,
.cv5-form[data-cores-step="situations"] .cv17-descriptors,
.cv5-form[data-cores-step="finish"] .cv17-descriptors,
.cv5-form[data-cores-step="finish"] .cv17-situations{display:none!important;visibility:hidden!important}
.cv5-form[data-cores-step="descriptors"] .cv17-descriptors,
.cv5-form[data-cores-step="situations"] .cv17-situations{display:block!important;visibility:visible!important}
/* Compact participant UI only; report typography and printing unchanged. */
.cv5-app .cv5-intro{padding:26px 36px 24px}
.cv5-app .cv5-intro h1{font-size:clamp(30px,3.5vw,46px);margin:20px 0 10px}
.cv5-app .cv5-intro p{font-size:15px;line-height:1.4}
.cv5-app .cv5-person{padding:18px 24px;margin:12px 0}
.cv5-app .cv5-person h2{font-size:25px}
.cv5-app .cv5-fields{gap:10px}
.cv5-app .cv5-person input:not([type=checkbox]){padding:8px 10px}
.cv5-app .cv5-sectionhead{margin:16px 0 12px}
.cv5-app .cv5-sectionhead h2{font-size:25px}
.cv5-app .cv5-sectionhead p{font-size:14px;line-height:1.35;margin:5px 0}
.cv5-app .cv5-question{padding:10px 14px;margin-bottom:10px}
.cv5-app .cv5-question legend{font-size:17px;padding-bottom:6px}
.cv5-app .cv5-choice{font-size:16px;padding:6px 0}
.cv5-app .cv5-progress{padding:8px 14px}
.cv5-app .cv10-controls{margin:10px 0 14px}
.cv5-app .cv14-rank-progress{position:sticky;top:0;z-index:9;background:#fff;padding:8px 12px;box-shadow:0 2px 7px #0001}
.cv5-app .cv11-rank-instruction,.cv5-app .cv13-rank-note{font-size:13px;line-height:1.35;margin:7px 0}
.cv5-app .cv13-row{min-height:48px;padding:8px 12px}
@media(max-width:650px){.cv5-app .cv5-intro{padding:18px}.cv5-app .cv5-person{padding:14px}.cv5-app .cv5-choice{font-size:15px}}

/* V19: smaller first-screen hero; preserve CORES visual identity. */
@media screen {
 .cv5-app{padding-top:0!important}
 .cv5-app .cv5-intro{padding:16px 28px 15px!important}
 .cv5-app .cv5-intro .cv5-official-logo{width:158px!important;max-height:60px!important;object-fit:contain;object-position:left center}
 .cv5-app .cv5-intro h1{font-size:clamp(25px,2.6vw,36px)!important;line-height:1.09!important;margin:10px 0 7px!important}
 .cv5-app .cv5-intro p{font-size:13px!important;line-height:1.3!important;margin:5px 0!important;max-width:820px}
 .cv5-app .cv5-intro .cv5-eyebrow{font-size:10px!important}
 .cv5-app .cv5-person:not(.cv5-close){padding:13px 22px!important;margin:8px 0!important}
 .cv5-app .cv5-person:not(.cv5-close) h2{font-size:22px!important;margin-bottom:3px!important}
 .cv5-app .cv5-person:not(.cv5-close) p{margin:4px 0!important}
 .cv5-app .cv5-person:not(.cv5-close) input:not([type=checkbox]){padding:6px 9px!important;margin-top:3px!important}
}
@media screen and (max-width:650px){.cv5-app .cv5-intro{padding:13px 15px!important}.cv5-app .cv5-intro h1{font-size:27px!important}.cv5-app .cv5-person:not(.cv5-close){padding:12px!important}}

/* V20: ranking-only refinement; all other V19 presentation remains intact. */
.cv5-app .cv20-rank{gap:5px;touch-action:pan-y;user-select:none}
.cv5-app .cv20-row{display:grid;grid-template-columns:39px minmax(0,1fr);align-items:stretch;gap:9px;margin:5px 0;min-height:49px;cursor:default}
.cv5-app .cv20-position{display:grid;place-items:center;font-size:16px;font-weight:800;color:#242424;background:#f1efeb;border:1px solid #dedbd6;border-radius:5px}
.cv5-app .cv20-content{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;background:#fff;border:1px solid #d8d5d0;border-radius:6px;cursor:grab!important;touch-action:none;transition:background .14s,border-color .14s,box-shadow .14s}
.cv5-app .cv20-content:active{cursor:grabbing!important}
.cv5-app .cv20-word{font-size:14px;line-height:1.4;pointer-events:none}
.cv5-app .cv20-grip{font-size:23px;color:#956f42;line-height:1;pointer-events:none}
.cv5-app .cv20-row.cv20-moving .cv20-content{opacity:.32;border-style:dashed}
.cv5-app .cv20-row.cv20-target .cv20-content{box-shadow:0 -4px 0 #b52c37;border-color:#b52c37;background:#fff9f7}
.cv5-app .cv20-row.cv20-selected .cv20-content{border:2px solid #b52c37;background:#fff8f5}
.cv5-app .cv20-row.cv20-updated .cv20-content{border-color:#b52c37;background:#fff3ec;box-shadow:0 0 0 2px #b52c3720}
.cv20-ghost{position:fixed!important;z-index:999999;pointer-events:none!important;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border:2px solid #b52c37;border-radius:6px;background:#fff;box-shadow:0 12px 30px #0004;opacity:.95;cursor:grabbing}
.cv20-ghost .cv20-word{font-size:14px}.cv20-ghost .cv20-grip{font-size:23px;color:#956f42}
.cv5-app .cv20-confirm{min-height:20px;font-size:13px;font-weight:700;color:#2e6b43;margin:6px 0}
@media(max-width:600px){.cv5-app .cv20-row{grid-template-columns:32px minmax(0,1fr);gap:6px}.cv5-app .cv20-content{padding:9px}.cv5-app .cv20-word{font-size:13px}}

/* V21: Only requested ranking drop feedback and a slightly larger black-header title. */
@media screen and (min-width:651px){.cv5-app .cv5-intro h1{font-size:clamp(27px,2.85vw,39px)!important}}
.cv5-app .cv20-row.cv20-target .cv20-content{box-shadow:0 0 0 2px #b52c37!important;border:2px solid #b52c37!important;background:#fff0ed!important}
.cv5-app .cv20-row.cv20-target .cv20-position{background:#b52c37;color:#fff;border-color:#b52c37}
