:root {
    --night-blue: #071D49;
    --strong-red: #EF3340;
    --light: #F4F7EF;
    --deep-purple: #512888;
    --light-purple: #702082;

    --grf-purple: #512888;
    --grf-light-purple: #A51890;
    --grf-red: #EF3340;

    --grs-purple: #702082;
    --grs-magenta: #CE0F69;
    --grs-red: #E40046;

    --gradient-primary:   linear-gradient(to top right,    var(--grf-purple), var(--grf-light-purple), var(--grf-red));
    --gradient-secondary: linear-gradient(to bottom left,  var(--grs-purple), var(--grs-magenta),      var(--grs-red));
}

.color-gradient-primary   { background: var(--gradient-primary); }
.color-gradient-secondary { background: var(--gradient-secondary); }

.text-gradient-primary {
    background: var(--gradient-primary);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.text-gradient-secondary {
    background: var(--gradient-secondary);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.nav-link {
    display: inline-block;
    background: var(--gradient-primary);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: brightness(0);
    transition: filter 0.3s ease-in-out, transform 0.3s ease-in-out;
}
.nav-link:hover {
    filter: brightness(1);
    transform: translateY(-1px);
}

.nav-link-icon {
    display: inline-block;
    color: black;
    transition: color 0.3s ease-in-out, transform 0.3s ease-in-out;
}
.nav-link-icon:hover {
    color: var(--grf-light-purple);
    transform: translateY(-1px);
}

.gradient-icon {
   color: var(--grf-light-purple); 
}

/* ── Quiz ────────────────────────────────────────────────────── */
.quiz-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: var(--deep-purple);
    text-transform: uppercase;
}

.quiz-progress-track {
    height: 4px;
    background: #e8e8e8;
    border-radius: 4px;
    margin: 8px 0 22px;
}

.quiz-progress-fill {
    height: 100%;
    background: var(--gradient-primary);
    border-radius: 4px;
    transition: width 0.35s ease;
}

.quiz-question {
    font-size: 19px;
    font-weight: 700;
    color: #1a1a2e;
    line-height: 1.3;
    margin: 0 0 6px;
}

.quiz-desc {
    font-size: 12px;
    color: #999;
    line-height: 1.55;
    margin-bottom: 14px;
}

.quiz-option {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 12px 15px;
    margin: 7px 0;
    border: 1.5px solid #e0e0e0;
    border-radius: 10px;
    background: white;
    text-align: left;
    cursor: pointer;
    font-size: 14px;
    color: #2a2a2a;
    transition: border-color 0.2s, background 0.2s;
}
.quiz-option:hover { border-color: var(--deep-purple); }
.quiz-option.selected {
    border-color: var(--deep-purple);
    background: #f5f0fb;
    color: var(--deep-purple);
    font-weight: 600;
}

.quiz-radio {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 2px solid #ccc;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: border-color 0.2s, background 0.2s;
}
.quiz-option.selected .quiz-radio {
    border-color: var(--deep-purple);
    background: var(--deep-purple);
}
.quiz-option.selected .quiz-radio::after {
    content: '';
    display: block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: white;
}

.quiz-nav {
    display: flex;
    gap: 10px;
    margin-top: 18px;
}

.quiz-btn-back {
    padding: 12px 16px;
    border: 1.5px solid #ddd;
    border-radius: 9px;
    background: white;
    color: #666;
    font-size: 13px;
    cursor: pointer;
    transition: border-color 0.2s, color 0.2s;
}
.quiz-btn-back:hover { border-color: var(--deep-purple); color: var(--deep-purple); }

.quiz-btn-primary {
    flex: 1;
    padding: 13px 20px;
    border: none;
    border-radius: 9px;
    background: var(--deep-purple);
    color: white;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    letter-spacing: 0.04em;
    transition: opacity 0.2s;
}
.quiz-btn-primary:disabled { opacity: 0.35; cursor: not-allowed; }
.quiz-btn-primary:not(:disabled):hover { opacity: 0.88; }

.quiz-result-badge {
    padding: 18px 20px;
    border-radius: 12px;
    background: #f0eaf8;
    margin: 14px 0 18px;
}
.quiz-result-badge h3 {
    font-size: 17px;
    font-weight: 700;
    color: var(--deep-purple);
    margin: 0 0 6px;
}
.quiz-result-badge p {
    font-size: 13px;
    color: #555;
    line-height: 1.55;
    margin: 0;
}

.quiz-rec {
    font-size: 13px;
    color: #333;
    padding: 9px 0;
    border-bottom: 1px solid #f0f0f0;
    line-height: 1.5;
}

.quiz-disclaimer {
    font-size: 11px;
    color: #bbb;
    line-height: 1.6;
    margin-top: 14px;
}