/******************
    User custom CSS
    ---------------

    In this file you can add your own custom CSS
    It will be loaded last, so you can override any other property.
    Also, it will never be updated. So if you inheritate a core template and just add here some CSS, you'll still benefit of all the updates
*/

/* =========================================
   1. ROOT VARIABLES UPDATE
   ========================================= */
:root {
  --bs-primary: #15284C;
  --bs-secondary: #0C818F;
  --bs-info: #30A1AC;
  --bs-dark: #15284C; /* Deep navy as base dark */
  
  --bs-primary-rgb: 21, 40, 76;
  --bs-secondary-rgb: 12, 129, 143;
  --bs-info-rgb: 48, 161, 172;
  --bs-dark-rgb: 21, 40, 76;
}

/* =========================================
   2. GLOBAL TEXT & LINKS
   ========================================= */
body { font-family: 'Poppins', Arial; }
.large-heading  { font-family: 'Poppins', Arial; } 
body.error-page  { font-family: 'Poppins', Arial; } 
a, .link-primary { color: var(--bs-primary) !important; }
a:hover, .link-primary:hover, .link-primary:focus { color: #1a3a73 !important; }
.text-primary { color: var(--bs-primary) !important; }
.text-secondary { color: var(--bs-secondary) !important; }
.text-info { color: var(--bs-info) !important; }

/* Headings & Labels */
h1, .h1, h2, .h2, h3, .h3, label { color: var(--bs-primary) !important; }

/* =========================================
   3. BUTTONS & INTERACTIVE ELEMENTS
   ========================================= */
.btn-primary {
  background-color: var(--bs-primary) !important;
  border-color: var(--bs-primary) !important;
  color: #fff !important;
}
.btn-check:checked + .btn-primary, .btn-check:active + .btn-primary, .btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active {
  background-color: var(--bs-secondary) !important;
  border-color:var(--bs-secondary)  !important;
  box-shadow: 0px 0px 0px 3px rgba(21, 40, 76, 0.4) !important;
}
.btn-primary.disabled, .btn-primary[disabled] {
  color: #9094A7 !important;
  background-color: #D3D5DA !important;
  border-color: #D3D5DA !important;
  box-shadow: none !important;
}

.btn-outline-primary {
  color: var(--bs-primary) !important;
  border-color: var(--bs-primary) !important;
}
.btn-outline-primary:hover {
  color: #fff !important;
  background-color: var(--bs-primary) !important;
  border-color: var(--bs-primary) !important;
  box-shadow: 0px 0px 0px 3px rgba(21, 40, 76, 0.4) !important;
}

.btn-secondary { background-color: var(--bs-secondary) !important; border-color: var(--bs-secondary) !important; }
.btn-info { background-color: var(--bs-info) !important; border-color: var(--bs-info) !important; }
.btn-secondary:hover, .btn-info:hover { background-color: #0e99aa !important; border-color: #0e99aa !important; }

.btn-link { color: var(--bs-primary) !important; }
.btn-link:hover, .btn-link:focus { color: #1a3a73 !important; }

/* =========================================
   4. FORM CONTROLS & INPUTS
   ========================================= */
.form-control:focus, .form-select:focus {
  border-color: var(--bs-primary) !important;
  box-shadow: 0 0 0 0.25rem rgba(21, 40, 76, 0.25) !important;
}
.form-control.ls-important-field {
  border-color: var(--bs-primary) !important;
  box-shadow: 8px 8px 0px rgba(21, 40, 76, 0.1) !important;
}
.form-control.ls-important-field:focus { box-shadow: 8px 8px 0px rgba(21, 40, 76, 0.2) !important; }

.input-group-text, label .input-group-text {
  background-color: var(--bs-primary) !important;
  border-color: #6E748C !important;
  color: #fff !important;
}

/* =========================================
   5. ALERTS, BADGES, PROGRESS & SLIDERS
   ========================================= */
.alert-primary { background-color: var(--bs-primary) !important; border-color: var(--bs-primary) !important; color: #fff !important; }
.alert-secondary { background-color: var(--bs-secondary) !important; border-color: var(--bs-secondary) !important; color: #fff !important; }
.alert-info { background-color: var(--bs-info) !important; border-color: var(--bs-info) !important; color: #fff !important; }

.badge.bg-primary { background-color: var(--bs-primary) !important; }
.badge.bg-secondary { background-color: var(--bs-secondary) !important; }
.badge.bg-info { background-color: var(--bs-info) !important; }

.progress-bar { background-color: var(--bs-primary) !important; }
.progress { background-color: #D3D5DA !important; }

.slider .slider-handle, .slider .slider-selection, .slider.slider-horizontal .slider-tick.triangle,
.slider.slider-vertical .slider-tick.triangle, .slider-tick.custom::before {
  border-bottom-color: var(--bs-primary) !important;
  border-left-color: var(--bs-primary) !important;
  border-right-color: var(--bs-primary) !important;
  background-color: var(--bs-primary) !important;
  color: var(--bs-primary) !important;
}
.slider-list .slider .tooltip .tooltip-inner { color: var(--bs-primary) !important; }

/* =========================================
   6. TABLES, LISTS, DROPDOWNS & NAVS
   ========================================= */
.table-primary > thead > tr > th, .table-primary > tbody > tr > th, .table-primary > tfoot > tr > th,
.table-primary > thead > tr > td, .table-primary > tbody > tr > td, .table-primary > tfoot > tr > td {
  background-color: var(--bs-primary) !important;
  color: #fff !important;
}
.table-secondary > thead > tr > th, .table-secondary > tbody > tr > th, .table-secondary > tfoot > tr > th,
.table-secondary > thead > tr > td, .table-secondary > tbody > tr > td, .table-secondary > tfoot > tr > td {
  background-color: var(--bs-secondary) !important;
  color: #fff !important;
}
.table-info > thead > tr > th, .table-info > tbody > tr > th, .table-info > tfoot > tr > th,
.table-info > thead > tr > td, .table-info > tbody > tr > td, .table-info > tfoot > tr > td {
  background-color: var(--bs-info) !important;
  color: #fff !important;
}

.list-group-item-primary { background-color: var(--bs-primary) !important; color: #fff !important; }
.list-group-item-secondary { background-color: var(--bs-secondary) !important; color: #fff !important; }
.list-group-item-info { background-color: var(--bs-info) !important; color: #fff !important; }

.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus, .dropdown-menu > .active > a {
  background-color: var(--bs-primary) !important;
  color: #fff !important;
}

.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {
  border-color: var(--bs-primary) !important;
}
.nav-pills > li.active > a { background-color: var(--bs-primary) !important; color: #fff !important; }

/* =========================================
   7. CUSTOM THEME / LIMESURVEY SPECIFIC OVERRIDES
   ========================================= */
.fruity_twentythree .btn-group.open .dropdown-toggle.btn-primary,
.fruity_twentythree .open .dropdown-toggle.btn-primary {
  background-color: var(--bs-primary) !important;
  border-color: var(--bs-primary) !important;
  color: #fff !important;
}
.fruity_twentythree .nav-pills > li.active > a:focus {
  background-color: var(--bs-primary) !important;
  color: #fff !important;
}
.fruity_twentythree .carousel-control, .fruity_twentythree #carousel-example-generic .carousel-indicators .active {
  color: var(--bs-primary) !important;
  background-color: var(--bs-primary) !important;
}

/* Answer radio/checkbox accents */
body .answer-item label::after, .checkbox-item label::after, .radio-item label::after {
  background-color: var(--bs-primary) !important;
  color: var(--bs-primary) !important;
}
.checkbox-item input[type=checkbox]:checked + label::before, .radio-item input[type=radio]:checked + label::before {
  border-color: var(--bs-primary) !important;
}

/* Modal & Navigation Highlights */
.modal-header .btn-close:hover { background-color: #f0f3fd !important; }
#survey-nav .navbar-toggler { border-color: var(--bs-primary) !important; }
#survey-nav .navbar-toggler .icon-bar { background-color: var(--bs-primary) !important; }

/* Form validation states */
.has-success .form-control { box-shadow: 4px 4px 0 var(--bs-primary) !important; }
.has-success .help-block, .has-success .control-label { color: var(--bs-primary) !important; }

/* Image selection & sortable lists */
li.imageselect-listitem .imageselect-container input.imageselect-checkbox:checked + label {
  border-color: var(--bs-primary) !important;
}
.imageselect-container .imageselect-radiobutton:before { border-color: var(--bs-primary) !important; }
input.imageselect-checkbox:checked ~ .imageselect-select::before { border-color: var(--bs-primary) !important; }

/* Ranking & Select Sortable */
.select-sortable-lists:not(.ranking-advanced-style) .ranking-sorted-items .sortable-item {
  border-color: var(--bs-primary) !important;
}
.ranking-advanced-style .sortable-rank, .ranking-advanced-style .ranking-advanced-sorted-items .sortable-item {
  border-color: var(--bs-primary) !important;
}
.ranking-advanced-style .sortable-rank .selector__dragHandle.d-none,
.ranking-advanced-style .ranking-advanced-sorted-items .sortable-item .selector__dragHandle.d-none {
  color: var(--bs-primary) !important;
}

/* Numeric Multi & Datepicker */
.numeric-multi .ls-group-total-separator hr { border-color: var(--bs-primary) !important; }
.numeric-multi .ls-group-total .control-label { color: var(--bs-primary) !important; }
.numeric-multi .dynamic-total.text-success { color: var(--bs-primary) !important; }