/* Kiddo NICHQ Vanderbilt Assessment Scale */

.kvs-instance {
    max-width: 900px !important;
    margin: 60px auto !important;
    padding: 0 20px !important;
    font-family: 'Satoshi', sans-serif !important;
    color: #141414 !important;
}

.kvs-header { text-align: center !important; margin-bottom: 30px !important; }
.kvs-title { font-size: 34px !important; font-weight: 800 !important; color: #a6730a !important; margin-bottom: 10px !important; }
.kvs-subtitle { font-size: 16px !important; color: #555 !important; line-height: 1.6 !important; max-width: 640px !important; margin: 0 auto !important; }

.kvs-tabs { display: flex !important; gap: 10px !important; justify-content: center !important; margin-bottom: 30px !important; }
.kvs-tab {
    padding: 14px 34px !important;
    border-radius: 60px !important;
    border: 1.5px solid #e3e3e3 !important;
    background: #fff !important;
    color: #141414 !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    cursor: pointer !important;
    transition: 0.3s ease !important;
}
.kvs-tab.active { background: #D69A00 !important; color: #fff !important; border-color: #D69A00 !important; box-shadow: 0 8px 20px rgba(214,154,0,0.25) !important; }

.kvs-form { background: #fff !important; padding: 45px !important; border-radius: 30px !important; border: 1px solid #f0f0f0 !important; box-shadow: 0 20px 60px rgba(0,0,0,0.06) !important; }

.kvs-info-box { margin-bottom: 30px !important; padding-bottom: 30px !important; border-bottom: 1px solid #f0f0f0 !important; }
.kvs-input-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)) !important;
    gap: 16px 20px !important;
    align-items: start !important;
}
.kvs-input-grid input,
.kvs-input-grid textarea {
    width: 100% !important;
    padding: 14px 16px !important;
    border: 1.5px solid #e3e3e3 !important;
    border-radius: 12px !important;
    font-size: 15px !important;
    margin: 0 !important;
    font-family: inherit !important;
    box-sizing: border-box !important;
}
.kvs-input-grid textarea { min-height: 90px !important; resize: vertical !important; }
.kvs-field-wrap { display: flex !important; flex-direction: column !important; }
.kvs-full-row { grid-column: 1 / -1 !important; }
.kvs-field-label { display: block !important; font-size: 12px !important; font-weight: 700 !important; text-transform: uppercase !important; color: #D69A00 !important; margin-bottom: 6px !important; }

.kvs-panel { display: none !important; }
.kvs-panel.active { display: block !important; animation: kvsFadeIn 0.4s ease forwards; }
@keyframes kvsFadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

.kvs-legend { font-size: 13px !important; color: #7a8486 !important; background: #fdf7e7 !important; padding: 12px 16px !important; border-radius: 12px !important; margin-bottom: 20px !important; }
.kvs-legend strong { color: #a6730a !important; }

.kvs-section-title { font-size: 20px !important; font-weight: 800 !important; color: #141414 !important; margin: 30px 0 15px !important; padding-bottom: 8px !important; border-bottom: 2px solid #D69A00 !important; display: inline-block !important; }

.kvs-subscale { border: none !important; padding: 0 !important; margin: 0 0 20px !important; }

.kvs-item {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    padding: 14px 18px !important;
    border: 1.5px solid #e3e3e3 !important;
    border-radius: 16px !important;
    margin-bottom: 10px !important;
    background: #fff !important;
    transition: 0.2s ease !important;
}
.kvs-item:hover { border-color: #D69A00 !important; box-shadow: 0 6px 16px rgba(214,154,0,0.08) !important; }

.kvs-q { font-size: 14.5px !important; line-height: 1.4 !important; color: #333 !important; flex: 1 !important; }
.kvs-num { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 22px !important; height: 22px !important; background: #fdf7e7 !important; color: #a6730a !important; font-weight: 700 !important; font-size: 12px !important; border-radius: 50% !important; margin-right: 10px !important; }

.kvs-scale { display: flex !important; gap: 6px !important; flex-shrink: 0 !important; }
.kvs-opt {
    width: 34px !important;
    height: 34px !important;
    border-radius: 10px !important;
    border: 1.5px solid #e3e3e3 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #999 !important;
    cursor: pointer !important;
    transition: 0.2s ease !important;
    position: relative !important;
}
.kvs-opt input { position: absolute !important; opacity: 0 !important; width: 100% !important; height: 100% !important; margin: 0 !important; cursor: pointer !important; }

.kvs-scale-4 .kvs-opt-0 { border-bottom: 3px solid #4caf50 !important; }
.kvs-scale-4 .kvs-opt-1 { border-bottom: 3px solid #ffca28 !important; }
.kvs-scale-4 .kvs-opt-2 { border-bottom: 3px solid #ff9800 !important; }
.kvs-scale-4 .kvs-opt-3 { border-bottom: 3px solid #e53935 !important; }

.kvs-scale-5 .kvs-opt-p1 { border-bottom: 3px solid #4caf50 !important; }
.kvs-scale-5 .kvs-opt-p2 { border-bottom: 3px solid #8bc34a !important; }
.kvs-scale-5 .kvs-opt-p3 { border-bottom: 3px solid #ffca28 !important; }
.kvs-scale-5 .kvs-opt-p4 { border-bottom: 3px solid #ff9800 !important; }
.kvs-scale-5 .kvs-opt-p5 { border-bottom: 3px solid #e53935 !important; }

.kvs-opt:has(input:checked), .kvs-opt.kvs-checked { background: #D69A00 !important; color: #fff !important; border-color: #D69A00 !important; transform: translateY(-2px) !important; box-shadow: 0 6px 14px rgba(214,154,0,0.3) !important; }

.kvs-perf-group { margin-bottom: 25px !important; }
.kvs-perf-heading { font-size: 15px !important; font-weight: 700 !important; color: #a6730a !important; margin: 15px 0 10px !important; }
.kvs-perf-item .kvs-q { font-weight: 600 !important; }

.kvs-captcha-row { display: flex !important; justify-content: center !important; margin-top: 35px !important; }

.kvs-actions { display: flex !important; gap: 20px !important; margin-top: 40px !important; }
.kvs-actions button { flex: 1 !important; padding: 18px 30px !important; border-radius: 60px !important; font-weight: 700 !important; font-size: 17px !important; border: none !important; cursor: pointer !important; }
.kvs-primary { background: #D69A00 !important; color: #fff !important; box-shadow: 0 10px 20px rgba(214,154,0,0.2) !important; }
.kvs-secondary { background: #f2f2f2 !important; color: #141414 !important; }

.kvs-results { margin-top: 0 !important; background: #fff !important; border: 1px solid #f0f0f0 !important; border-radius: 30px !important; padding: 50px !important; box-shadow: 0 20px 60px rgba(0,0,0,0.06) !important; animation: kvsFadeIn 0.5s ease forwards; }

.kvs-success-head { text-align: center !important; max-width: 560px !important; margin: 0 auto 35px !important; }
.kvs-success-check {
    width: 64px !important; height: 64px !important; margin: 0 auto 20px !important;
    background: #D69A00 !important; color: #fff !important; border-radius: 50% !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    font-size: 30px !important; font-weight: 800 !important; box-shadow: 0 10px 24px rgba(214,154,0,0.3) !important;
}
.kvs-results h2 { font-size: 28px !important; font-weight: 800 !important; color: #a6730a !important; margin: 0 0 12px !important; }
.kvs-success-sub { font-size: 15px !important; color: #555 !important; line-height: 1.6 !important; margin: 0 !important; }

.kvs-results-breakdown { background: #fdf7e7 !important; border: 1px solid #f0e6cc !important; border-radius: 20px !important; padding: 25px 30px !important; }
.kvs-result-row { display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 14px 0 !important; border-bottom: 1px solid #f0e6cc !important; gap: 15px !important; }
.kvs-result-row:last-child { border-bottom: none !important; }
.kvs-result-label { font-weight: 700 !important; color: #333 !important; }
.kvs-result-detail { font-size: 13px !important; color: #7a8486 !important; }
.kvs-badge { flex-shrink: 0 !important; padding: 6px 16px !important; border-radius: 50px !important; font-size: 12px !important; font-weight: 800 !important; text-transform: uppercase !important; }
.kvs-badge-positive { background: #ffe0e0 !important; color: #c62828 !important; }
.kvs-badge-negative { background: #e3f5e3 !important; color: #2e7d32 !important; }
.kvs-overall { margin-top: 20px !important; padding: 20px !important; border-radius: 16px !important; background: #fff !important; border: 1.5px solid #D69A00 !important; font-weight: 600 !important; }
.kvs-perf-flags { margin-top: 15px !important; font-size: 14px !important; color: #555 !important; }
.kvs-perf-flags ul { margin: 8px 0 0 !important; padding-left: 20px !important; }

.kvs-results .kvs-actions { justify-content: center !important; }
.kvs-results .kvs-actions button { flex: none !important; padding: 18px 50px !important; }

.kvs-disclaimer { margin-top: 25px !important; font-size: 12.5px !important; color: #999 !important; text-align: center !important; line-height: 1.6 !important; }

@media (max-width: 650px) {
    .kvs-form { padding: 25px !important; }
    .kvs-input-grid { grid-template-columns: 1fr !important; }
    .kvs-item { flex-direction: column !important; align-items: flex-start !important; }
    .kvs-scale { align-self: flex-end !important; }
}
