:root {
    --rh-primary: #a21d4d;
    --rh-primary-dark: #7f153b;
    --rh-ink: #2d2630;
    --rh-soft: #fff7fa;
}

body { background: #f7f5f6; color: var(--rh-ink); font-size: 17px; }
.brand-bar { background: linear-gradient(120deg, var(--rh-primary-dark), var(--rh-primary)); color: #fff; }
.brand-lockup { display: flex; align-items: center; gap: .9rem; min-height: 64px; }
.brand-logo { display: block; width: 165px; height: auto; }
.brand-app-name { border-left: 1px solid rgba(255,255,255,.45); padding-left: .9rem; font-size: 1rem; font-weight: 600; line-height: 1.25; letter-spacing: .01em; }
.login-brand { background: linear-gradient(120deg, var(--rh-primary-dark), var(--rh-primary)); padding: 1rem 1.5rem; text-align: center; }
.login-brand img { display: block; width: 190px; max-width: 72%; height: auto; margin: 0 auto; }
.public-container { max-width: 720px; }
.assessment-card { border: 0; border-radius: 18px; overflow: hidden; }
.step-label, .question-number { color: var(--rh-primary); font-size: .82rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; margin-bottom: .55rem; }
.choice-card { display: flex; align-items: flex-start; width: 100%; gap: .8rem; padding: .95rem 1rem; border: 1px solid #ded8dc; border-radius: 12px; background: #fff; cursor: pointer; margin-bottom: .7rem; }
.choice-card:hover, .choice-card:focus-within { border-color: var(--rh-primary); background: var(--rh-soft); }
.choice-card input { margin-top: .32rem; transform: scale(1.25); accent-color: var(--rh-primary); }
.choice-card span { flex: 1; }
.btn-primary { background: var(--rh-primary); border-color: var(--rh-primary); font-weight: 600; border-radius: 11px; min-height: 52px; }
.btn-primary:hover, .btn-primary:focus { background: var(--rh-primary-dark); border-color: var(--rh-primary-dark); }
.form-control { min-height: 48px; border-radius: 10px; }
.select2-container { width: 100% !important; }
.select2-container .select2-selection--single { min-height: 48px; border: 1px solid #ced4da; border-radius: 10px; }
.select2-container .select2-selection--single .select2-selection__rendered { line-height: 46px; padding-left: 14px; }
.select2-container .select2-selection--single .select2-selection__arrow { height: 46px; }
.video-wrap { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; border-radius: 14px; background: #111; }
.video-wrap iframe, .video-wrap #player { position: absolute; inset: 0; width: 100%; height: 100%; }
.question-block { padding: 0 0 1.5rem; margin: 0 0 1.8rem; border-bottom: 1px solid #eee8eb; }
.finish-icon { width: 76px; height: 76px; border-radius: 50%; margin: 0 auto 1.25rem; background: var(--rh-soft); color: var(--rh-primary); display: grid; place-items: center; font-size: 2.2rem; font-weight: 700; }
.is-hidden { display: none !important; }
@media (max-width: 575.98px) {
    body { font-size: 16px; }
    .public-page main { padding-left: 12px; padding-right: 12px; }
    .assessment-card .card-body { padding: 1.35rem !important; }
    .brand-logo { width: 145px; }
    .brand-lockup { min-height: 56px; gap: .7rem; }
    .brand-app-name { padding-left: .7rem; font-size: .86rem; }
}
