﻿/* Design 2 application: native ChariTeam/Bootstrap components, practical form layout. */
.d2-application main{color:#60686a}
.d2-application .form-label{color:var(--dark);font-weight:500}
.d2-application .form-control,.d2-application .form-select{min-height:46px;color:var(--dark)}
.d2-application textarea.form-control{min-height:110px}
.d2-application .form-text{color:#60686a;font-size:.8125rem;line-height:1.6}
.d2-application .form-control:focus,.d2-application .form-select:focus{border-color:var(--primary);box-shadow:0 0 0 .25rem rgba(20,87,53,.18)}
.d2-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.5rem}
.d2-field-grid>*{min-width:0}
.d2-fieldset{min-width:0;margin:0 0 2.5rem;padding:0 0 1.5rem;border-bottom:1px solid #e5e8e6}
.d2-fieldset:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}
.d2-fieldset legend{float:none;width:auto;font-family:Saira,sans-serif;font-size:1.35rem;font-weight:600;color:var(--dark);margin-bottom:1.5rem}
.d2-section-icon{color:var(--primary);font-size:.75em}
.d2-choice{display:flex;align-items:flex-start;gap:1rem;border:1px solid #d8dfdb;border-radius:6px;padding:1.25rem;margin-bottom:1rem;cursor:pointer;color:#60686a}
.d2-choice>span{min-width:0}
.d2-choice .form-check-input{flex:0 0 1.15rem;width:1.15rem;height:1.15rem;margin-top:.25rem}
.d2-choice:has(input:checked){border-color:var(--primary);background:var(--secondary)}
.d2-choice:has(input:focus-visible){outline:3px solid var(--primary);outline-offset:3px}
.d2-choice:has(input:disabled){cursor:default}
.d2-choice.d2-field-error{border-color:#b02a37}
.d2-form-actions,.d2-action-buttons{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}
.d2-action-buttons{justify-content:flex-end}
.d2-form-actions .btn{min-height:46px}
.d2-reference{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;letter-spacing:.025em}
.d2-resume-link{overflow-wrap:anywhere;word-break:break-word;display:block;padding:1rem;background:var(--light);border-radius:6px;color:var(--primary)}
.d2-progress .progress{height:6px}
.d2-step-list{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem}
.d2-step{min-width:0;position:relative}
.d2-step a,.d2-step-label{display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center;color:#60686a}
.d2-step-number{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--light);border:1px solid #d8dfdb;font-weight:600;position:relative;z-index:1}
.d2-step:not(:last-child)::after{content:'';position:absolute;left:calc(50% + 26px);right:calc(-50% + 26px);height:1px;background:#d8dfdb;top:22px}
.d2-step--completed .d2-step-number{background:var(--secondary);border-color:var(--primary);color:var(--primary)}
.d2-step--current .d2-step-number{background:var(--primary);border-color:var(--primary);color:#fff}
.d2-step--current .d2-step-name{color:var(--primary);font-weight:600}
.d2-step-name{font-size:.875rem}
.d2-step-name small{display:block;font-size:.7rem;font-weight:400;margin-top:.2rem}
.d2-summary{display:grid;grid-template-columns:minmax(150px,1fr) minmax(0,2fr);column-gap:1.5rem;row-gap:.6rem;margin:0}
.d2-summary dt{font-weight:500;color:var(--dark)}
.d2-summary dd{margin:0;overflow-wrap:anywhere;min-width:0}
.d2-review-section h3{display:flex;align-items:center;justify-content:space-between;width:100%;gap:1rem}
.d2-review-section h3 a{flex-shrink:0}
.d2-status{white-space:normal;background:var(--secondary);color:var(--primary);line-height:1.5}
.d2-status--bad{background:#f8d7da;color:#842029}
.d2-status--warn,.d2-status--warning{background:#fff3cd;color:#664d03}
.d2-status--good,.d2-status--success{background:var(--secondary);color:var(--primary)}
.d2-next-steps{padding-left:1.3rem}
.d2-next-steps li{margin-bottom:1rem;padding-left:.5rem}
.d2-next-steps li::marker{color:var(--primary);font-weight:600}
.d2-application [aria-busy=true] button[type=submit]{opacity:.7;cursor:wait}
.d2-application .alert{overflow-wrap:anywhere}
.d2-application .invalid-feedback{color:#b02a37}
.d2-application .d2-field-error .form-control{border-color:#b02a37}
.d2-application main :target{scroll-margin-top:110px}
@media(max-width:991.98px){.d2-application .d2-form-actions{align-items:stretch}.d2-application .d2-action-buttons{flex:1}.d2-application aside{border-top:1px solid #e5e8e6;padding-top:2rem}}
@media(max-width:767.98px){.d2-field-grid{grid-template-columns:minmax(0,1fr)}.d2-step-list{gap:.5rem}.d2-step-number{width:32px;height:32px;font-size:.75rem}.d2-step:not(:last-child)::after{top:16px;left:calc(50% + 19px);right:calc(-50% + 19px)}.d2-step-name{display:none}.d2-form-actions,.d2-action-buttons{display:grid;grid-template-columns:minmax(0,1fr);width:100%}.d2-form-actions>a{justify-self:start}.d2-action-buttons{gap:.75rem}.d2-action-buttons button[value=continue]{grid-row:1}.d2-summary{grid-template-columns:minmax(0,1fr);row-gap:.2rem}.d2-summary dd{margin-bottom:.8rem}.d2-choice{padding:1rem}.d2-application .page-header{padding-top:9rem;padding-bottom:3.5rem}.d2-application .page-header h1{font-size:2.25rem}.d2-application .table-responsive{margin-inline:-.25rem}.d2-application .form-control[type=file]{font-size:.875rem}.d2-application .d2-fieldset legend{font-size:1.25rem}}
@media(prefers-reduced-motion:reduce){.d2-application *{scroll-behavior:auto!important}}
.d2-payment-container{max-width:900px}
