/* Assessment Scoring & Routing - front-end presentation */
.apsr-assessment-form_wrapper,
.apsr-assessment-form {
--apsr-bg:#f4f9f9;
--apsr-navy:#203754;
--apsr-blue:#0f4ea5;
--apsr-teal:#0fa597;
--apsr-text:#111820;
--apsr-muted:#66727f;
--apsr-border:#d2d6dc;
--apsr-soft:#eef5f6;
--apsr-white:#fff;
}

/* Keep the assessment itself clean; page content can provide the main page title. */
.apsr-assessment-form_wrapper .gform_heading{display:none!important;}

/* Keep every visible quiz element on the same 820px content line. */
.apsr-assessment-form .gform_page,
.apsr-assessment-form .gf_progressbar_wrapper{
width:100%!important;
max-width:820px!important;
margin-left:auto!important;
margin-right:auto!important;
box-sizing:border-box!important;
}
.apsr-assessment-form .gform_page_fields,
.apsr-assessment-form .gform_page_footer{
width:100%!important;
max-width:none!important;
margin-left:0!important;
margin-right:0!important;
box-sizing:border-box!important;
}
.apsr-assessment-form .gform_page_fields .gform_fields,
.apsr-assessment-form fieldset.gfield{
width:100%!important;
max-width:none!important;
}

/* Progress */
.apsr-assessment-form .gf_progressbar_wrapper{margin-bottom:30px!important;}
.apsr-assessment-form .gf_progressbar_title{
margin:0 0 10px!important;
font-size:13px!important;
font-weight:600!important;
line-height:1.4!important;
letter-spacing:.01em;
color:var(--apsr-muted)!important;
}
.apsr-assessment-form .gf_progressbar{
height:8px!important;
min-height:8px!important;
margin:0!important;
background:#d2d6dc!important;
border:0!important;
border-radius:999px!important;
box-shadow:none!important;
overflow:hidden!important;
}
.apsr-assessment-form .gf_progressbar_percentage{
height:8px!important;
min-height:8px!important;
background:linear-gradient(90deg,var(--apsr-blue),var(--apsr-teal))!important;
border-radius:999px!important;
box-shadow:none!important;
}
.apsr-assessment-form .gf_progressbar_percentage span{display:none!important;}

/* Question text - force visible even when the site/theme alters fieldset legends. */
.apsr-assessment-form fieldset.gfield{min-inline-size:0!important;}
.apsr-assessment-form fieldset.gfield>legend.gfield_label,
.apsr-assessment-form fieldset.gfield>legend.gform-field-label{
display:block!important;
position:static!important;
visibility:visible!important;
opacity:1!important;
clip:auto!important;
clip-path:none!important;
overflow:visible!important;
width:100%!important;
height:auto!important;
max-width:none!important;
margin:0 0 24px!important;
padding:0!important;
font-family:inherit!important;
font-size:clamp(24px,2.35vw,34px)!important;
font-weight:600!important;
line-height:1.22!important;
letter-spacing:-.02em!important;
color:var(--apsr-navy)!important;
}
.apsr-assessment-form fieldset.gfield>legend .gform-field-label__text{
display:inline!important;
visibility:visible!important;
opacity:1!important;
color:inherit!important;
}
.apsr-assessment-form .gfield_required{
display:inline-block!important;
margin-left:8px!important;
font-size:11px!important;
font-weight:600!important;
letter-spacing:.02em!important;
text-transform:uppercase!important;
vertical-align:middle!important;
color:var(--apsr-teal)!important;
}

/* Choice cards */
.apsr-assessment-form .gfield_radio,
.apsr-assessment-form .gfield_checkbox{
display:grid!important;
gap:12px!important;
}
.apsr-assessment-form .gchoice{position:relative!important;}
.apsr-assessment-form .gchoice input[type="radio"],
.apsr-assessment-form .gchoice input[type="checkbox"]{
position:absolute!important;
width:1px!important;
height:1px!important;
opacity:0!important;
pointer-events:none!important;
}
.apsr-assessment-form .gchoice label{
display:flex!important;
align-items:center!important;
gap:14px!important;
width:100%!important;
max-width:none!important;
min-height:58px!important;
margin:0!important;
padding:15px 18px!important;
border:1.5px solid var(--apsr-border)!important;
border-radius:12px!important;
background:var(--apsr-white)!important;
box-shadow:0 1px 2px rgba(32,55,84,.035)!important;
box-sizing:border-box!important;
font-family:inherit!important;
font-size:16px!important;
font-weight:400!important;
line-height:1.45!important;
color:var(--apsr-text)!important;
cursor:pointer!important;
transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,transform .16s ease!important;
}
.apsr-assessment-form .gchoice label:before{
content:"";
flex:0 0 19px;
width:19px;
height:19px;
border:2px solid #aeb8c2;
border-radius:50%;
background:#fff;
box-sizing:border-box;
transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease;
}
.apsr-assessment-form .gchoice label:hover{
transform:translateY(-1px)!important;
border-color:var(--apsr-teal)!important;
background:#fbfefe!important;
box-shadow:0 8px 20px rgba(32,55,84,.08)!important;
}
.apsr-assessment-form .gchoice label:hover:before{border-color:var(--apsr-teal);}
.apsr-assessment-form .gchoice input:focus-visible+label{
outline:3px solid rgba(15,78,165,.18)!important;
outline-offset:2px!important;
}
.apsr-assessment-form .gchoice input:checked+label{
border-color:var(--apsr-teal)!important;
background:var(--apsr-teal)!important;
box-shadow:0 8px 20px rgba(15,165,151,.16)!important;
font-weight:500!important;
color:#fff!important;
}
.apsr-assessment-form .gchoice input:checked+label:before{
border-color:#fff!important;
background:#fff!important;
box-shadow:inset 0 0 0 5px var(--apsr-teal)!important;
}

/* Standard labels and text-entry fields for context/contact pages */
.apsr-assessment-form .gfield:not(.gfield--type-radio):not(.gfield--type-checkbox)>.gfield_label{
display:block!important;
margin:0 0 9px!important;
font-size:16px!important;
font-weight:600!important;
line-height:1.4!important;
color:var(--apsr-navy)!important;
}
.apsr-assessment-form input[type="text"],
.apsr-assessment-form input[type="email"],
.apsr-assessment-form input[type="tel"],
.apsr-assessment-form input[type="url"],
.apsr-assessment-form input[type="number"],
.apsr-assessment-form select,
.apsr-assessment-form textarea{
width:100%!important;
min-height:50px!important;
padding:12px 14px!important;
border:1.5px solid var(--apsr-border)!important;
border-radius:10px!important;
background:#fff!important;
box-shadow:none!important;
font-family:inherit!important;
font-size:16px!important;
line-height:1.45!important;
color:var(--apsr-text)!important;
transition:border-color .16s ease,box-shadow .16s ease!important;
}
.apsr-assessment-form textarea{min-height:140px!important;resize:vertical!important;}
.apsr-assessment-form input:focus,
.apsr-assessment-form select:focus,
.apsr-assessment-form textarea:focus{
border-color:var(--apsr-teal)!important;
outline:0!important;
box-shadow:0 0 0 3px rgba(15,165,151,.12)!important;
}
.apsr-assessment-form .gfield_description{
margin-top:7px!important;
font-size:13px!important;
line-height:1.5!important;
color:var(--apsr-muted)!important;
}

/* Navigation */
.apsr-assessment-form .gform_page_footer{
display:flex!important;
gap:12px!important;
justify-content:space-between!important;
align-items:center!important;
width:100%!important;
margin:30px 0 0!important;
padding:0!important;
border-top:0!important;
}
.apsr-assessment-form .gform_page_footer .gform_next_button,
.apsr-assessment-form .gform_page_footer .gform_button{
margin-left:auto!important;
display:inline-flex!important;
align-items:center!important;
justify-content:center!important;
box-sizing:border-box!important;
height:54px!important;
min-height:54px!important;
padding:0 30px!important;
border:2px solid var(--apsr-blue)!important;
border-radius:999px!important;
background:var(--apsr-blue)!important;
box-shadow:none!important;
font-family:inherit!important;
font-size:16px!important;
font-weight:500!important;
line-height:1.25!important;
color:#fff!important;
text-decoration:none!important;
cursor:pointer!important;
transition:transform .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease!important;
}
.apsr-assessment-form .gform_page_footer .gform_next_button:hover,
.apsr-assessment-form .gform_page_footer .gform_button:hover{
transform:translateY(-1px)!important;
background:#0c428e!important;
border-color:#0c428e!important;
box-shadow:0 8px 18px rgba(15,78,165,.16)!important;
}
.apsr-assessment-form .gform_page_footer .gform_previous_button{
display:inline-flex!important;
align-items:center!important;
justify-content:center!important;
box-sizing:border-box!important;
height:54px!important;
min-height:54px!important;
padding:0 26px!important;
border:2px solid var(--apsr-blue)!important;
border-radius:999px!important;
background:transparent!important;
box-shadow:none!important;
font-family:inherit!important;
font-size:16px!important;
font-weight:500!important;
line-height:1.25!important;
color:var(--apsr-blue)!important;
cursor:pointer!important;
transition:background-color .16s ease,color .16s ease,transform .16s ease!important;
}
.apsr-assessment-form .gform_page_footer .gform_previous_button:hover{
transform:translateY(-1px)!important;
background:var(--apsr-blue)!important;
color:#fff!important;
}

/* Validation */
.apsr-assessment-form .gfield_validation_message,
.apsr-assessment-form .validation_message{
margin-top:9px!important;
padding:10px 12px!important;
border:0!important;
border-left:3px solid #c9344d!important;
border-radius:4px!important;
background:#fff5f6!important;
font-size:13px!important;
color:#8f1f33!important;
}

/* Snapshot */
.apsr-snapshot{max-width:820px;margin:0 auto;}
.apsr-snapshot h2{margin-bottom:22px;color:var(--apsr-navy,#203754);}
.apsr-snapshot__areas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 24px;}
.apsr-snapshot__area{display:flex;justify-content:space-between;gap:12px;padding:15px 16px;border:1px solid #ddd;border-radius:8px;}
.apsr-snapshot__area span{color:#555;text-align:right;}
.apsr-snapshot__highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0;}
.apsr-snapshot__highlight{padding:15px 16px;border:1px solid #ddd;border-radius:8px;}
.apsr-snapshot__highlight span{display:block;margin-bottom:4px;font-size:.85em;color:#666;}
.apsr-snapshot__next{margin-top:24px;padding-top:20px;border-top:1px solid #eee;font-size:1.05em;line-height:1.6;}
.apsr-snapshot__link{margin-top:20px;}
.apsr-snapshot__disclaimer{margin-top:26px;font-size:.8em;line-height:1.5;color:#666;}

@media(max-width:640px){
.apsr-assessment-form .gform_page,
.apsr-assessment-form .gf_progressbar_wrapper{max-width:100%!important;}
.apsr-assessment-form fieldset.gfield>legend.gfield_label,
.apsr-assessment-form fieldset.gfield>legend.gform-field-label{font-size:24px!important;margin-bottom:20px!important;}
.apsr-assessment-form .gchoice label{min-height:54px!important;padding:14px 15px!important;font-size:15px!important;}
.apsr-assessment-form .gform_page_footer{align-items:stretch!important;flex-direction:column-reverse!important;}
.apsr-assessment-form .gform_page_footer .gform_previous_button,
.apsr-assessment-form .gform_page_footer .gform_next_button,
.apsr-assessment-form .gform_page_footer .gform_button{width:100%!important;margin-left:0!important;}
.apsr-snapshot__areas,.apsr-snapshot__highlights{grid-template-columns:1fr;}
.apsr-snapshot__area{flex-direction:column;}
.apsr-snapshot__area span{text-align:left;}
}
