/* CAP-5 Public Assessment — page-specific styles.
   Additive only; does not modify the shared site stylesheet (css/style.css). */

.cap5-app{max-width:760px;margin-inline:auto;}

.cap5-progress{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-8);}
.cap5-progress__track{flex:1;height:8px;background:var(--color-border);border-radius:var(--radius-full);overflow:hidden;}
.cap5-progress__fill{height:100%;background:var(--color-accent);border-radius:var(--radius-full);transition:width var(--ease-slow);}
.cap5-progress__label{font-size:var(--text-xs);font-weight:600;color:var(--color-text-faint);white-space:nowrap;letter-spacing:.04em;text-transform:uppercase;}

.cap5-step{display:none;}
.cap5-step.is-active{display:block;}

.cap5-card{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--sp-8);}
@media (max-width:640px){.cap5-card{padding:var(--sp-6) var(--sp-5);}}

.cap5-question__intro{color:var(--color-text-muted);line-height:1.7;margin-bottom:var(--sp-6);}

.cap5-poles{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-6);margin-bottom:var(--sp-8);}
@media (max-width:640px){.cap5-poles{grid-template-columns:1fr;}}
.cap5-pole{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-lg);padding:var(--sp-5) var(--sp-6);}
.cap5-pole h3{font-size:var(--text-base);color:var(--color-primary);margin-bottom:var(--sp-3);}
.cap5-pole ul{list-style:none;display:flex;flex-direction:column;gap:var(--sp-2);}
.cap5-pole li{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.6;padding-left:var(--sp-4);position:relative;}
.cap5-pole li::before{content:"";position:absolute;left:0;top:.6em;width:5px;height:5px;border-radius:50%;background:var(--color-secondary);}

.cap5-anchors{display:flex;flex-direction:column;gap:var(--sp-2);}
.cap5-anchor{display:flex;align-items:center;gap:var(--sp-3);border:1.5px solid var(--color-border);border-radius:var(--radius-md);padding:var(--sp-3) var(--sp-4);cursor:pointer;transition:border-color var(--ease),background var(--ease);}
.cap5-anchor:hover{border-color:var(--color-secondary);}
.cap5-anchor input[type="radio"]{width:18px;height:18px;accent-color:var(--color-secondary);flex-shrink:0;}
.cap5-anchor__label{font-size:var(--text-sm);color:var(--color-text);}
.cap5-anchor:has(input:checked){border-color:var(--color-secondary);background:rgba(47,111,115,.06);}
.cap5-anchor:has(input:focus-visible){outline:2px solid var(--color-accent);outline-offset:2px;}

.cap5-nav{display:flex;justify-content:space-between;gap:var(--sp-4);margin-top:var(--sp-8);}

.cap5-review-list{display:flex;flex-direction:column;gap:var(--sp-4);margin-bottom:var(--sp-8);}
.cap5-review-item{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-4);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--sp-4) var(--sp-5);background:var(--color-surface);flex-wrap:wrap;}
.cap5-review-item__q{font-size:var(--text-sm);font-weight:600;color:var(--color-text);}
.cap5-review-item__a{font-size:var(--text-sm);color:var(--color-text-muted);}
.cap5-review-item__edit{font-size:var(--text-xs);font-weight:600;color:var(--color-secondary);background:transparent;border:1px solid var(--color-secondary);border-radius:var(--radius-full);padding:.35rem .9rem;}
.cap5-review-item__edit:hover{background:var(--color-secondary);color:var(--ivory);}

.cap5-error{display:none;background:rgba(192,57,43,.08);border:1px solid rgba(192,57,43,.3);color:#8f2f24;border-radius:var(--radius-md);padding:var(--sp-4) var(--sp-5);margin-bottom:var(--sp-5);font-size:var(--text-sm);}
.cap5-error.show{display:block;}
[data-theme="dark"] .cap5-error{color:#e08a7d;}

.cap5-spinner{display:flex;flex-direction:column;align-items:center;gap:var(--sp-5);padding:var(--sp-16) 0;text-align:center;}
.cap5-spinner__ring{width:44px;height:44px;border:4px solid var(--color-border);border-top-color:var(--color-secondary);border-radius:50%;animation:cap5spin 900ms linear infinite;}
@keyframes cap5spin{to{transform:rotate(360deg);}}
@media(prefers-reduced-motion:reduce){.cap5-spinner__ring{animation-duration:1800ms;}}

.cap5-result__header{text-align:center;margin-bottom:var(--sp-8);}
.cap5-result__cap{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--color-primary);margin-bottom:var(--sp-2);}
.cap5-result__engagement{display:inline-block;font-size:var(--text-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dark);border:1px solid rgba(201,154,74,.4);border-radius:var(--radius-full);padding:var(--sp-1) var(--sp-4);margin-bottom:var(--sp-4);}
.cap5-result__summary{color:var(--color-text-muted);font-size:var(--text-sm);}
.cap5-result__section{margin-bottom:var(--sp-8);}
.cap5-result__section h3{font-size:var(--text-base);color:var(--color-primary);margin-bottom:var(--sp-3);font-family:var(--font-body);font-weight:700;}
.cap5-result__section p{color:var(--color-text-muted);line-height:1.75;}

.cap5-keep{display:flex;gap:var(--sp-3);flex-wrap:wrap;justify-content:center;margin-top:var(--sp-6);}

.cap5-landing__cta{display:flex;gap:var(--sp-4);flex-wrap:wrap;margin-top:var(--sp-8);}

@media print{
  .nav,.footer,.cap5-keep,.cap5-nav,header,nav{display:none!important;}
  body{background:#fff;color:#000;}
}
