/*************************
  LFF LimeSurvey Custom CSS
*************************/

/* === LFF Brand Palette === */

:root {
  --lff-blue: #0D77B5;
  --lff-blue-dark: #095B8A;
  --lff-salmon: #F47D52;
  --lff-light-blue: #8ACFF0;
  --lff-gold: #D1B48A;
  --lff-text: #1F2A30;
  --lff-muted: #5A6B75;
  --lff-soft-bg: #F7FAFC;

  --bs-primary: #0D77B5;
  --bs-link-color: #0D77B5;
  --bs-link-hover-color: #095B8A;
}

/* === Base Typography === */

body,
.survey-description,
.group-description,
.question-text,
.answertext,
.ls-answers {
  color: var(--lff-text);
}

h1, h2, h3, h4, h5, h6,
.survey-name,
.group-title,
.question-title-container {
  color: var(--lff-text);
}

/* === Links and Helper Text === */

a,
a:visited,
.text-primary,
.text-info,
.ls-link,
.ls-questionhelp,
.ls-question-message,
.ls-em-tip {
  color: var(--lff-blue) !important;
}

a:hover,
a:focus {
  color: var(--lff-blue-dark) !important;
}

/* === Buttons === */

.btn-primary,
.btn.btn-primary,
button.btn-primary,
input.btn-primary,
.btn-primary:active,
.btn-primary:focus,
.btn-primary:hover,
.btn-check:checked + .btn-primary,
.show > .btn-primary.dropdown-toggle {
  background-color: var(--lff-blue) !important;
  border-color: var(--lff-blue) !important;
  color: #ffffff !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn.btn-primary:hover,
button.btn-primary:hover,
input.btn-primary:hover {
  background-color: var(--lff-blue-dark) !important;
  border-color: var(--lff-blue-dark) !important;
  color: #ffffff !important;
}

.btn-secondary {
  color: var(--lff-text) !important;
}

/* === Progress Bar === */

.progress {
  max-width: 760px;
  margin: 0 auto 0.75rem auto !important;
}

.progress-bar,
.bg-primary {
  background-color: var(--lff-blue) !important;
}

/* === Required / Warning Accents === */

.ls-mandatory,
.text-warning {
  color: var(--lff-salmon) !important;
}

/* === Header and Main Layout Spacing === */

.ls-header,
.navbar,
.ls-topbar {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

body .top-container,
body .outerframe,
body #outerframeContainer,
body .survey-container {
  padding-top: 1rem !important;
  margin-top: 0 !important;
}

/* === LFF Custom Welcome Layout === */

.lff-welcome-container,
#welcome-container {
  width: 100%;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.lff-welcome-column {
  max-width: 760px;
  margin: 0 auto;
  text-align: left;
}

.lff-survey-title {
  text-align: center;
  color: var(--lff-text);
  margin: 0.25rem 0 1rem 0 !important;
}

.lff-survey-description,
.lff-welcome-text {
  color: var(--lff-text);
  line-height: 1.6;
}

/* === Welcome Typography Normalization === */

.lff-welcome-text,
.lff-welcome-text p,
.lff-welcome-text div,
.lff-welcome-text span,
.lff-survey-description,
.lff-survey-description p,
.lff-survey-description div,
.lff-survey-description span {
  font-size: 1rem !important;
  line-height: 1.6 !important;
  font-weight: 400 !important;
  color: var(--lff-text) !important;
}

.lff-welcome-text strong,
.lff-welcome-text b {
  font-weight: 700 !important;
}

.lff-welcome-text h1 {
  font-size: 2rem !important;
  line-height: 1.25 !important;
  color: var(--lff-text) !important;
}

.lff-welcome-text h2 {
  font-size: 1.45rem !important;
  line-height: 1.3 !important;
  color: var(--lff-text) !important;
}

.lff-welcome-text h3 {
  font-size: 1.2rem !important;
  line-height: 1.35 !important;
  color: var(--lff-text) !important;
}

/* === Welcome Images === */

.lff-welcome-text img {
  max-width: 100%;
  height: auto;
}

/* === Optional Question Count if Re-enabled Later === */

.lff-question-count,
.ls-questioncount,
.question-count {
  max-width: 760px;
  margin: 1.5rem auto;
  padding: 0;
  color: var(--lff-muted);
  text-align: left;
}

/* === Custom Privacy Box Inside Welcome Message === */

.lff-privacy-box {
  max-width: 760px;
  margin: 2rem auto 1.5rem auto;
  padding: 1.25rem 1.5rem;
  background: var(--lff-soft-bg);
  border-left: 4px solid var(--lff-light-blue);
  border-radius: 8px;
  color: var(--lff-text);
}

.lff-privacy-box h2,
.lff-privacy-box h3 {
  margin-top: 0;
  color: var(--lff-text) !important;
}

.lff-privacy-box p {
  font-size: 1rem !important;
  line-height: 1.6 !important;
  color: var(--lff-text) !important;
  margin-bottom: 1rem;
}

.lff-privacy-box p:last-child {
  margin-bottom: 0;
}

/* === Tables === */

.table-bordered > thead > tr > th,
.table-bordered > thead > tr > td {
  border: 1px solid #dadada;
}
/* Add a little breathing room between the logo/header area and the progress bar */
.top-container {
    padding-top: 0.35rem;
}