/* =========================================================
   LimeSurvey "fruity_twentythree" — Cleaned & Fixed Theme CSS
   - Brand tokens
   - Scoped overrides
   - Fixed invalid properties & duplicates
   - Accessible focus states
   - Header/nav is NOT fixed at top
   ========================================================= */

/* ---------- THEME ROOT & TOKENS ---------- */
.fruity_twentythree {
  --brand-primary: #15277c;
  --brand-accent:  #009bdc;
  --brand-focus:   rgba(123, 97, 255, 0.4);
  --brand-warning: #ffd2005c;
  --surface: #ffffff;
  --surface-muted: whitesmoke;

  --btn-border: #6E748C;
  --btn-text:   #6E748C;

  background-color: var(--surface-muted);
  padding-top: 0 !important;
}

/* ---------- LAYOUT CONTAINERS ---------- */
.fruity_twentythree #main-col {
  background-color: var(--surface);
  box-shadow: 5px 5px 20px 0 #00000017;
  padding: 0 50px;
  margin-bottom: 50px;
  border-radius: 15px;
  margin-top: 2em;
}

.fruity_twentythree .space-col { margin-bottom: 0; }
.fruity_twentythree .top-container { margin-bottom: -0.8em; margin-top: 1em; }
.fruity_twentythree #navigator-container { padding-bottom: 1.5em; }
.fruity_twentythree .privacy { display: none; }
.fruity_twentythree #welcome-container { max-width: unset; }

.fruity_twentythree .completed-wrapper { padding: 2em 0 1em; }
.fruity_twentythree .completed-text { padding-bottom: 1em; }
.fruity_twentythree .number-of-questions { margin-top: 20px; }

.fruity_twentythree .completed-text > div.alert.alert-warning {
  margin-bottom: 20px;
  margin-top: -20px;
}

/* ---------- TYPOGRAPHY ---------- */
.fruity_twentythree .form-heading,
.fruity_twentythree .survey-name,
.fruity_twentythree .large-heading,
.fruity_twentythree .form-change-lang {
  font-family: "IBMPlexSans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

.fruity_twentythree .survey-name {
  padding-top: 1em;
  padding-bottom: 0.25em;
}

.fruity_twentythree p,
.fruity_twentythree ul { font-weight: 400; }

.fruity_twentythree a { color: var(--brand-accent); font-size: inherit; text-decoration: underline; font-weight: 400; }
.fruity_twentythree a:hover { color: var(--brand-primary); }

/* ---------- NAVBAR (NOT FIXED) ---------- */
.fruity_twentythree .navbar {
  background-color: var(--brand-primary) !important;
  position: static;
  top: auto;
}
.fruity_twentythree #survey-nav .navbar-toggler .ri-more-fill { color: #fff; }

.fruity_twentythree [data-bs-spy="scroll"],
.fruity_twentythree .survey-container,
.fruity_twentythree #main-col {
  scroll-margin-top: 0;
  padding-top: 0 !important;
}

/* ---------- PROGRESS ---------- */
.fruity_twentythree .progress-bar { background-color: var(--brand-primary); }

.fruity_twentythree .top-container .progress {
    height: 5px;
}

/* ---------- BUTTONS ---------- */
.fruity_twentythree .btn-primary {
  background-color: #fff;
  color: var(--btn-text);
  border: 2px solid var(--btn-border);
  box-shadow: none;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease, box-shadow .15s ease;
}

/* Hover / focus (accent) */
.fruity_twentythree .btn-primary:hover,
.fruity_twentythree .btn-primary:focus {
  background-color: var(--brand-accent);
  border-color: var(--brand-accent);
  color: #fff;
}

/* Focus ring */
.fruity_twentythree .btn-primary:focus-visible {
  box-shadow: 0 0 0 3px var(--brand-focus);
  outline: none;
}

/* Active / selected / checked / open (dark blue) */
.fruity_twentythree .btn-primary:active,
.fruity_twentythree .btn-primary.active,
.fruity_twentythree .btn-check:checked + .btn-primary,
.fruity_twentythree .btn-primary.dropdown-toggle.show,
.fruity_twentythree .btn-primary.dropdown-toggle.show:focus {
  background-color: var(--brand-primary);
  border-color: var(--brand-primary);
  color: #fff;
  box-shadow: none;
}

.fruity_twentythree .btn-check:checked + .btn-primary:hover {
  background-color: var(--brand-primary);
  border-color: var(--brand-primary);
  color: #fff;
}

/* Disabled */
.fruity_twentythree .btn-primary:disabled,
.fruity_twentythree .btn-primary.disabled,
.fruity_twentythree .btn-check:disabled + .btn-primary {
  background-color: #fff;
  border-color: var(--btn-border);
  color: #98a2b3;
  opacity: 1;
  box-shadow: none;
  cursor: not-allowed;
}

/* Optional: unify other buttons */
.fruity_twentythree .btn:not(.btn-primary) {
  background-color: #fff;
  color: var(--btn-text);
  border: 1px solid var(--btn-border);
}
.fruity_twentythree .btn:not(.btn-primary):hover,
.fruity_twentythree .btn:not(.btn-primary):focus {
  background-color: var(--brand-accent);
  border-color: var(--brand-accent);
  color: #fff;
}
.fruity_twentythree .btn:not(.btn-primary):focus-visible {
  box-shadow: 0 0 0 3px var(--brand-focus);
}

/* ---------- NAVIGATION (Next/Submit always dark blue + purple hover/focus glow) ---------- */
.fruity_twentythree .ls-move-btn.btn-primary,
.fruity_twentythree .submit.btn-primary {
  background-color: var(--brand-primary) !important;
  border-color: var(--brand-primary) !important;
  color: #fff !important;
  transition: background-color .15s ease, box-shadow .15s ease;
}

/* Hover: stay dark blue, add purple glow */
.fruity_twentythree .ls-move-btn.btn-primary:hover,
.fruity_twentythree .submit.btn-primary:hover {
  background-color: var(--brand-primary) !important;
  border-color: var(--brand-primary) !important;
  color: #fff !important;
  box-shadow: 0 0 0 3px var(--brand-focus) !important;
}

/* Focus-visible: same purple glow */
.fruity_twentythree .ls-move-btn.btn-primary:focus-visible,
.fruity_twentythree .submit.btn-primary:focus-visible {
  box-shadow: 0 0 0 3px var(--brand-focus) !important;
  outline: none;
}

/* ---------- DATE PICKER (icon white) ---------- */
.fruity_twentythree .date-timepicker-group .btn-primary {
    color:white;
}

/* ---------- FILE UPLOAD BUTTON (text size) ---------- */
.fruity_twentythree .upload {
    font-size: 1.14rem;
    font-weight: 500;
    text-decoration:none;!important
}

/* ---------- DELETE BUTTON (text size) ---------- */
.fruity_twentythree .btn-danger {
    font-size: 0.9975rem;
    font-weight: 500;
}

/* ---------- CLOSE BUTTON (text size) ---------- */
.fruity_twentythree .modal-footer .btn {
    font-size: 0.9975rem;
    font-weight: 500;
}

.fruity_twentythree .url-wrapper .btn {
    font-size: 0.9975rem;
    font-weight: 500;
}

/* ---------- Survey Navigation (text size) ---------- */
.fruity_twentythree #survey-nav .dropdown-menu > li > a:hover {
    background-color: var(--brand-accent)!important;
    color: white;
}

.fruity_twentythree #survey-nav .dropdown-menu > li > a:focus {
    background-color: var(--brand-primary)!important;
    color: white;
}


/* Other original theme rules remain unchanged… */
/* ---------- INPUT ADDONS ---------- */
.fruity_twentythree .input-group-addon {
  background-color: var(--brand-primary);
  border-color: var(--brand-primary);
}

/* ---------- RADIOS & CHECKBOXES ---------- */
.fruity_twentythree .radio-item input[type=radio]:checked + label,
.fruity_twentythree .checkbox-item input[type=checkbox]:checked + label {
  color: var(--brand-primary);
}
.fruity_twentythree .radio-item input[type=radio]:checked + label::before,
.fruity_twentythree .checkbox-item input[type=checkbox]:checked + label::before {
  border-color: var(--brand-primary);
}
.fruity_twentythree .radio-item label::after,
.fruity_twentythree .radio-item input[type=radio] + label::after {
  background-color: var(--brand-primary);
}
.fruity_twentythree .checkbox-item input[type=checkbox]:checked + label::after {
  background-color: transparent;
  color: var(--brand-primary);
}

/* ---------- QUESTION / GROUP SPACING ---------- */
.fruity_twentythree .question-container .question-valid-container { margin-top: 0; }
.fruity_twentythree .group-container .group-title { margin-top: 1em; margin-bottom: 0.5em; }
.fruity_twentythree .question-container .question-title-container { margin-bottom: 0; }
.fruity_twentythree .answer-item { margin-bottom: 1em; }

.fruity_twentythree .group-container .group-description { margin-bottom: 3em; }

/* ---------- HEADER IMAGE WRAPPER ---------- */
.fruity_twentythree .container-fluid.col-xl-8 {
  background-image: url(https://survey.cancersa.org.au/upload/surveys/423146/images/CCSA%20Logo%20-%20White.png);
  background-repeat: no-repeat;
  background-size: 135px;
  background-position: 15px center;
  height: 80px;
}

/* ---------- VALIDATION / ASTERISKS ---------- */
.fruity_twentythree .asterisk.ri-asterisk {
  color: #ff0000;
  font-weight: 700;
  float: left;
  padding-right: 0;
}
[dir="rtl"] .fruity_twentythree .asterisk.ri-asterisk { float: right; }

.fruity_twentythree .text-danger { padding-top: 10px; }

/* ---------- ALERTS ---------- */
.fruity_twentythree .alert-warning {
  border: 0;
  background-color: var(--brand-warning);
  display: inline-block;
  margin-top: 1.5rem;
  width: 100%;
  margin-bottom: 0;
  color: #1e1e1e;
}

/* ---------- LANGUAGE SWITCHER ---------- */
.fruity_twentythree .form-change-lang {
  margin-bottom: -50px;
  padding-top: 20px;
}
.fruity_twentythree .form-change-lang #language-changer-select {
  color: var(--brand-accent);
  background-color: transparent;
}
.fruity_twentythree .form-change-lang #lang-select::after { color: #009ddf; }

.fruity_twentythree_test .fruity_twentythree .font-ibm-sans .lang-en { padding-top: 0; }

.fruity_twentythree .form-change-lang .col-auto {
    align-self: auto;
}

/* ---------- UPLOAD MESSAGE ---------- */
.fruity_twentythree .uploadmsg {
  background-color: var(--brand-accent);
  border: 0;
}

/* ---------- DATE/TIME PICKER ---------- */
.fruity_twentythree .tempus-dominus-widget .date-container-decades div:not(.no-highlight).active,
.fruity_twentythree .tempus-dominus-widget .date-container-years div:not(.no-highlight).active,
.fruity_twentythree .tempus-dominus-widget .date-container-months div:not(.no-highlight).active,
.fruity_twentythree .tempus-dominus-widget .date-container-days div:not(.no-highlight).active,
.fruity_twentythree .tempus-dominus-widget .time-container-clock div:not(.no-highlight).active,
.fruity_twentythree .tempus-dominus-widget .time-container-hour div:not(.no-highlight).active,
.fruity_twentythree .tempus-dominus-widget .time-container-minute div:not(.no-highlight).active,
.fruity_twentythree .tempus-dominus-widget .time-container-second div:not(.no-highlight).active {
  background-color: var(--brand-primary);
}
.fruity_twentythree .tempus-dominus-widget .today:before {
  border-bottom-color: var(--brand-accent);
  border-top-color: rgba(0, 0, 0, 0.2);
}

/* ---------- SORTABLE / RANKING ---------- */
.fruity_twentythree .select-sortable-lists:not(.ranking-advanced-style) .ranking-sorted-items .sortable-item {
  border: 1px solid var(--brand-primary);
}
.fruity_twentythree .select-sortable-lists:not(.ranking-advanced-style) .list-group-item {
  padding: 12px 20px;
}

/* ---------- TOOLTIP ---------- */
.fruity_twentythree .mytooltip {
  text-decoration-line: underline;
  cursor: pointer;
  text-underline-position: under;
  text-decoration-color: var(--brand-accent);
  text-decoration-thickness: 2px;
  text-decoration-style: dotted;
}
.fruity_twentythree .tooltip-inner {
  max-width: 200px;
  width: 200px;
}

/* ---------- STAR RATINGS ---------- */
.fruity_twentythree .star-1,
.fruity_twentythree .star-2,
.fruity_twentythree .star-3,
.fruity_twentythree .star-4,
.fruity_twentythree .star-5 { color: #bfbfbf; }

.fruity_twentythree .star-rated-on:not(.star-stub) { color: #ffce23; }

.fruity_twentythree .star-rating {
  font-size: 28px;
  line-height: 36px;
  cursor: pointer;
  display: block;
  float: left;
  height: 36px;
  overflow: hidden;
  width: 46px;
  padding-left: 10px;
  min-width: 40px;
}

.fruity_twentythree .star-drained { color:#ffe076; }
.fruity_twentythree .star-drained.star-hover { text-shadow: 0 0; }

@media (max-width: 500px) {
  .fruity_twentythree .star-rating { width: 20%; }
}

/* ---------- LIST INDENTS / ANSWERS ---------- */
.fruity_twentythree ol,
.fruity_twentythree ul,
.fruity_twentythree dl { margin-bottom: 0; }

.fruity_twentythree .ls-answers.answers-list.radio-list.row,
.fruity_twentythree .ls-answers.answers-list.checkbox-list.row,
.fruity_twentythree .ls-answers.subquestion-list.questions-list.text-list.list-unstyled.form-horizontal {
  margin-left: 1px;
}

.fruity_twentythree .answer-item { align-items: flex-end; }
.fruity_twentythree .col-auto { align-self: flex-end; }

/* ---------- MISC ---------- */
.fruity_twentythree .button-row { padding-bottom: 2em; }
.fruity_twentythree .modal-content { border-radius: 15px; }
.fruity_twentythree .save-message { padding-top: 2em; }
.fruity_twentythree .greenapples { color:green; background-color:red; }

/* CAPTCHA */
.fruity_twentythree .captcha-page { padding-bottom: 50px; padding-top: 50px; }
.fruity_twentythree #reloadCaptcha { text-decoration: none; }

/* ---------- NPS CUSTOM BLOCK ---------- */
.fruity_twentythree .nps .bootstrap-buttons-div {
  width: 8%;
  max-width: 70px;
  min-width: 70px;
}
.fruity_twentythree .nps .button-item {
  max-width: 70px;
  min-width: 70px;
  min-height:70px;
}
.fruity_twentythree .nps .row { padding-left:0; padding-top:10px; }
.fruity_twentythree .nps .ls-questionhelp { margin-left:0; max-width:800px; }
.fruity_twentythree .nps .question-help-container { padding-right:27px; padding-left:13px; }
@media (max-width: 1199px){
  .fruity_twentythree .nps .question-help-container { padding-right:12px; padding-left:13px; }
}
@media (max-width: 992px){
  .fruity_twentythree .nps .button-item { min-width:25px; min-height:50px; }
  .fruity_twentythree .nps .container-fluid { padding-left:0; padding-right:0; }
  .fruity_twentythree .nps .btn { padding:5px; }
  .fruity_twentythree .nps .bootstrap-buttons-div { margin-right:3px; min-width:25px; padding-right:0; }
}
.fruity_twentythree .nps .ls-questionhelp:before { display:none; }
.fruity_twentythree .nps .ls-answers { padding-right:0; }
.fruity_twentythree .nps > .answer-container { padding-right:0; padding-left:25px; }
.fruity_twentythree .nps > div.question-help-container.col-12 > div > em > p {
  margin-bottom:0; font-size:0.9975rem;
}

/* ---------- MOBILE ADJUSTMENTS ---------- */
@media (max-width: 767px) {
  .fruity_twentythree { background-color: var(--surface); }
  .fruity_twentythree #main-col {
    background-color: var(--surface);
    box-shadow: none;
    padding-right: 15px;
    padding-left: 15px;
    margin-bottom: 15px;
    border-radius: 0;
  }
  .fruity_twentythree .survey-name { padding-top: 0.25em; }
  .fruity_twentythree .group-container .group-title { margin-top: 0; }
  .fruity_twentythree .group-container .group-description { margin-bottom: 3em; }
}

/* ---------- REDUCED MOTION ---------- */
@media (prefers-reduced-motion: reduce) {
  .fruity_twentythree * { transition: none !important; animation: none !important; }
}

/* ---------- MULTIPLE SHORT TEXT ADJUSTMENTS ---------- */
.fruity_twentythree ul.ls-answers.text-list.form-horizontal .control-label {
  width: 100% !important;
  flex: 0 0 100% !important;
  max-width: 100% !important;
}