:root { --cq-link:var(--cq-brand-link); --cq-link-hover:var(--cq-brand-link-hover); --cq-soft:var(--cq-brand-soft); --cq-surface:var(--cq-brand-surface); --cq-page:var(--cq-brand-page); --cq-border:var(--cq-brand-border); --bs-primary:var(--cq-brand-primary); --bs-primary-rgb:var(--cq-brand-rgb); }
.dark-mode { --cq-link:var(--cq-brand-dark-link); --cq-link-hover:var(--cq-brand-dark-link-hover); --cq-soft:var(--cq-brand-dark-soft); --cq-surface:var(--cq-brand-dark-surface); --cq-page:var(--cq-brand-dark-page); --cq-border:var(--cq-brand-dark-border); background-color:var(--cq-page); }
body { background-color:var(--cq-page); }
#main-container { background-color:var(--cq-page); }
a { color:var(--cq-link); }
a:hover { color:var(--cq-link-hover); }
.dark-mode a:not(.btn):not(.nav-link):not(.nav-main-link):not(.cq-portal-card):not(.cq-kokon-banner) { color:var(--cq-link); }
.text-primary,.dark-mode .text-primary,.link-info,.dark-mode .link-info { color:var(--cq-link) !important; }
a.link-fx::before { background-color:var(--cq-link) !important; }
.bg-primary { background-color:var(--cq-brand-primary) !important; color:var(--cq-brand-primary-text); }
.bg-primary-light,.bg-primary-subtle,.bg-primary-lighter { background-color:var(--cq-soft) !important; }
.btn-primary,.dark-mode .btn-primary,.cq-quiz-detail-cta .btn-success {
    --bs-btn-color:var(--cq-brand-primary-text); --bs-btn-bg:var(--cq-brand-primary); --bs-btn-border-color:var(--cq-brand-primary);
    --bs-btn-hover-color:var(--cq-brand-primary-hover-text); --bs-btn-hover-bg:var(--cq-brand-primary-hover); --bs-btn-hover-border-color:var(--cq-brand-primary-hover);
    --bs-btn-active-color:var(--cq-brand-primary-hover-text); --bs-btn-active-bg:var(--cq-brand-primary-hover); --bs-btn-active-border-color:var(--cq-brand-primary-hover);
    --bs-btn-disabled-color:var(--cq-brand-primary-text); --bs-btn-disabled-bg:var(--cq-brand-primary); --bs-btn-disabled-border-color:var(--cq-brand-primary); --bs-btn-focus-shadow-rgb:var(--cq-brand-rgb);
}
.btn-outline-primary { --bs-btn-color:var(--cq-link); --bs-btn-border-color:var(--cq-brand-primary); --bs-btn-hover-bg:var(--cq-brand-primary); --bs-btn-hover-border-color:var(--cq-brand-primary); --bs-btn-hover-color:var(--cq-brand-primary-text); --bs-btn-active-bg:var(--cq-brand-primary); --bs-btn-active-color:var(--cq-brand-primary-text); }
.btn-alt-primary,.dark-mode .btn-alt-primary { color:var(--cq-link); background-color:var(--cq-soft); border-color:var(--cq-soft); }
.btn-alt-primary:hover,.dark-mode .btn-alt-primary:hover { color:var(--cq-brand-primary-text); background-color:var(--cq-brand-primary); border-color:var(--cq-brand-primary); }
.cq-result-actions .btn-success { --bs-btn-color:var(--cq-brand-secondary-text); --bs-btn-bg:var(--cq-brand-secondary); --bs-btn-border-color:var(--cq-brand-secondary); --bs-btn-hover-bg:var(--cq-brand-secondary-hover); --bs-btn-hover-border-color:var(--cq-brand-secondary-hover); --bs-btn-hover-color:var(--cq-brand-secondary-hover-text); --bs-btn-active-bg:var(--cq-brand-secondary-hover); --bs-btn-active-border-color:var(--cq-brand-secondary-hover); --bs-btn-active-color:var(--cq-brand-secondary-hover-text); }
.nav-pills .nav-link.active,.pagination .page-item.active .page-link { background-color:var(--cq-brand-primary); border-color:var(--cq-brand-primary); color:var(--cq-brand-primary-text); }
.form-check-input:checked { background-color:var(--cq-brand-link); border-color:var(--cq-brand-link); }
.nav-tabs .nav-link.active,.nav-tabs-block .nav-link.active,.nav-main-link.active .nav-main-link-icon { color:var(--cq-link); }
.form-control:focus,.form-select:focus,.form-check-input:focus { border-color:var(--cq-brand-primary); box-shadow:0 0 0 .2rem rgba(var(--cq-brand-rgb),.18); }
.bg-body-light,.dark-mode .bg-body-light { background-color:var(--cq-surface) !important; }
#page-header { border-bottom:2px solid var(--cq-border); }
.page-header-fixed #page-header { background-color:var(--cq-surface); }
.dark-mode #page-header,#page-container.page-header-dark #page-header { background-color:var(--cq-brand-dark-surface) !important; }
.dark-mode #page-header .text-dual,.dark-mode #page-header .nav-main-link { color:#edf3f7 !important; }
.dark-mode #page-header .nav-main-link:hover { color:var(--cq-link) !important; }
.content-heading { border-bottom-color:var(--cq-border); }
.breadcrumb { background-color:var(--cq-surface) !important; }
.cq-subject-card:hover,.dark-mode .cq-subject-card:hover,.cq-subject-card:focus-visible,.dark-mode .cq-subject-card:focus-visible { border-color:var(--cq-link); }
.cq-subject-card-arrow,.cq-language-option.active,.cq-language-option:hover,.cq-language-option:focus { color:var(--cq-link); }
.cq-language-option.active,.cq-language-option:hover,.cq-language-option:focus { background-color:var(--cq-soft); }
.cq-question-language,.dark-mode .cq-question-language { background-color:var(--cq-soft); color:var(--cq-link); }
.cq-last-viewed { outline-color:var(--cq-link); }
.cq-subjects-initial.active,.cq-subjects-initial-select:focus { background-color:var(--cq-brand-primary) !important; border-color:var(--cq-brand-primary) !important; color:var(--cq-brand-primary-text) !important; }
#page-loader { background-color:var(--cq-brand-primary); }
.cq-palette-options { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.65rem; }
.cq-palette-option { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; padding:.75rem; border:1px solid var(--cq-border); border-radius:.6rem; cursor:pointer; }
.cq-palette-option:has(input:checked) { outline:2px solid var(--cq-brand-primary); outline-offset:1px; background:var(--cq-soft); }
.cq-palette-swatches { display:inline-flex; gap:.2rem; margin-left:auto; }
.cq-palette-swatches i { display:block; width:1rem; height:1rem; border:1px solid rgba(0,0,0,.1); border-radius:50%; }
.cq-palette-previews { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
#cqCustomPaletteFields[hidden] { display:none !important; }
.cq-palette-preview { padding:1.25rem; border:1px solid var(--preview-border); border-radius:.75rem; background:var(--preview-page); color:#263746; }
.cq-palette-preview-dark { background:var(--preview-dark-page); border-color:var(--preview-dark-border); color:#edf3f7; }
.cq-palette-preview p { color:#263746 !important; }
.cq-palette-preview-dark p { color:#edf3f7 !important; }
.cq-palette-preview-label { margin-bottom:.75rem; font-size:.75rem; opacity:.75; }
.cq-palette-preview-title { margin-bottom:.75rem; font-weight:700; color:var(--preview-link); overflow-wrap:anywhere; }
.cq-palette-preview-dark .cq-palette-preview-title { color:var(--preview-dark-link); }
.cq-palette-preview-button { display:inline-block; margin:.2rem .2rem .2rem 0; padding:.55rem .8rem; border-radius:.4rem; background:var(--preview-primary); color:var(--preview-primary-text); font-weight:600; font-size:.85rem; }
.cq-palette-preview-secondary { background:var(--preview-secondary); color:var(--preview-secondary-text); }
@media (max-width:991.98px) { .cq-palette-options { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:575.98px) { .cq-palette-options { grid-template-columns:repeat(2,minmax(0,1fr)); } .cq-palette-previews { grid-template-columns:minmax(0,1fr); } }
