/* ============================================================
   Thème Crésus — sondages Epsitec SA  ·  v3
   Charte extraite de cresus.ch : bleus #082E4D / #0D4C80,
   rouge logo #CC0A14, police Open Sans, arrondis doux.
   ============================================================ */
@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&display=swap");

:root {
  --cresus-primary: #0d4c80; /* bleu Crésus (boutons, liens)   */
  --cresus-primary-dark: #082e4d; /* bleu nuit (en-tête, titres)    */
  --cresus-red: #cc0a14; /* rouge Crésus (accents, liseré) */
  --cresus-focus: #c2d2df; /* bleu-gris clair (focus, bords) */

  --cresus-bg: #f4f6f9;
  --cresus-surface: #ffffff;
  --cresus-text: #222222;
  --cresus-muted: #667085;
  --cresus-border: #d9dee6;
  --cresus-radius: 0.125rem;
}

body,
.btn,
.form-control,
input,
textarea,
select {
  font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI",
    Roboto, sans-serif;
}

body {
  font-size: 16px;
  background-color: var(--cresus-bg) !important;
  color: var(--cresus-text);
}

.navbar,
.navbar-default {
  background-color: var(--cresus-primary-dark) !important;
  background-image: url("https://www.cresus.ch/components/cresus-page/www/cresus-logo.svg");
  background-repeat: no-repeat;
  background-position: 20px center;
  background-size: auto 30px;
  min-height: 56px;
  border: none;
}

.navbar .navbar-brand,
.navbar .nav-link,
.navbar-text {
  color: #ffffff !important;
}

#dynamicReloadContainer > .container-fluid,
main#mainrow .container-fluid,
.outerframe > .container-fluid {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

.card,
.question-container,
.group-container {
  margin-bottom: 1.25rem;
}

.question-container {
  padding: 1.5rem 1.75rem;
}

.group-title,
.group-name {
  color: var(--cresus-primary-dark);
  border-left: 4px solid var(--cresus-red);
  padding-left: 0.75rem;
  font-weight: 700;
  font-size: 1.5rem;
}

h1,
h2,
h3,
.survey-name,
.group-title,
.group-name {
  font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI",
    Roboto, sans-serif;
}

h1,
.survey-name {
  color: var(--cresus-primary-dark);
  font-weight: 400;
}

.question-title,
.ls-label-question {
  color: var(--cresus-text);
  font-weight: 600;
  font-size: 1.05rem;
  line-height: 1.45;
}

.question-valid-container,
.ls-questionhelp {
  color: var(--cresus-muted);
  font-size: 0.9rem;
}

.btn {
  border-radius: 0.125rem;
  padding-left: 1.4rem;
  padding-right: 1.4rem;
  font-weight: 600;
}

.btn-primary,
#ls-button-submit {
  background-color: var(--cresus-primary) !important;
  border-color: var(--cresus-primary) !important;
}

.btn-primary:hover,
.btn-primary:focus,
#ls-button-submit:hover {
  background-color: var(--cresus-primary-dark) !important;
  border-color: var(--cresus-primary-dark) !important;
}

.btn-outline-secondary,
#ls-button-previous {
  color: var(--cresus-primary);
  border-color: var(--cresus-primary);
}

.btn-outline-secondary:hover,
#ls-button-previous:hover {
  background-color: var(--cresus-primary);
  color: #ffffff;
}

.progress {
  background-color: var(--cresus-border);
  border-radius: 999px;
  height: 0.6rem;
}

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

.form-control,
textarea.form-control {
  border: 1px solid var(--cresus-border);
  border-radius: 8px;
}

.form-control:focus,
textarea.form-control:focus {
  border-color: var(--cresus-primary);
  box-shadow: 0 0 0 3px rgba(13, 76, 128, 0.18);
}

input[type="radio"],
input[type="checkbox"] {
  accent-color: var(--cresus-primary);
  width: 1.05rem;
  height: 1.05rem;
}

.answer-item label {
  font-weight: 400;
}

.ls-answers thead th,
table.subquestion-list thead th {
  background-color: #eef2f7;
  color: var(--cresus-primary-dark);
  font-weight: 600;
  font-size: 0.88rem;
  padding: 0.55rem 0.5rem;
  vertical-align: bottom;
}

.ls-answers tbody th,
.ls-answers tbody td,
table.subquestion-list tbody th,
table.subquestion-list tbody td {
  padding: 0.5rem 0.5rem;
  vertical-align: middle;
}

.ls-answers tbody tr:hover,
table.subquestion-list tbody tr:hover {
  background-color: rgba(13, 76, 128, 0.06);
}

.ls-answers tbody tr:nth-child(even),
table.subquestion-list tbody tr:nth-child(even) {
  background-color: #fafbfd;
}

.answertext {
  font-weight: 400;
  font-size: 0.95rem;
}

a,
a:visited {
  color: var(--cresus-primary);
}
a:hover {
  color: var(--cresus-primary-dark);
}

.ls-question-mandatory,
.asterisk,
.text-danger {
  color: var(--cresus-red);
}

.ls-welcome .card,
.completed-text {
  text-align: left;
}

.completed-text h1,
.ls-welcome h1 {
  color: var(--cresus-primary-dark);
}

#surveyListFooter,
.ls-footer {
  color: var(--cresus-muted);
  font-size: 0.85rem;
}

/* ---------- page d'accueil du site (liste des sondages) ---------- */
#surveys-list-jumbotron { display: none; }   /* logo LimeSurvey + nom du site */
#surveyListFooter { display: none; }         /* footer « proudly powered by » */

/* ---------- contraste boutons (texte toujours blanc) ---------- */
.btn-primary, .btn-primary:link, .btn-primary:visited,
.btn-primary:hover, .btn-primary:focus, .btn-primary:active,
a.btn-primary, a.btn-primary:visited, a.btn-primary:hover {
    color: #ffffff !important;
}

.survey-list-heading, .survey-contact { display: none; }  /* page d'accueil vide et discrète */
