/******************
    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
*/

.card-header.bg-primary {
  background-color: #3366CC !important;
}

.card-header.bg-primary .modal-title {
  color: #fff !important;
  margin-top: 0px;
}
.card.card-primary {
  margin-top: 15px;
}
.answertext.control-label {
  overflow-wrap: normal;
  word-break: keep-all;
  hyphens: none;
}

.btn.btn-primary {
  background-color: #3366CC !important;
  border-color: #3366CC !important;
}

.btn.btn-primary:hover {
  background-color: #274f9c !important;
  border-color: #274f9c !important;
}
.col-12.well {
  overflow-wrap: normal;
  word-break: keep-all;
  hyphens: none;
}

#question7108 .form-control,
#question7270 .form-control {
  width: 95% !important;
  margin-left: 10px;
}
.group-container.space-col {
  margin-bottom: 0px;
}

/* ===== Leerzeile bei Pol-Fragen entfernen ===== */
.ls-label-question p:not(:first-of-type):not(:has(img)) {
  display: none;
}

/* ===== Top-Content Padding entfernen ===== */
.top-content.container-fluid {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* ===== Progress-Bar auf 900px ===== */
.progress {
  max-width: 900px !important;
  width: auto !important;
  margin-left: -10px;
  margin-right: -10px;
}
.progress-bar {
  background-color: #3366CC !important;
}

.btn-primary.ls-button-submit,
.action--ls-button-submit.btn-primary {
  background-color: #3366CC !important;
  border-color: #3366CC !important;
  color: #fff !important;
}

.btn-primary.ls-button-submit:hover,
.action--ls-button-submit.btn-primary:hover {
  background-color: #274f9c !important;
  border-color: #274f9c !important;
}

@media (max-width: 767px) {
  .progress {
    margin-left: 0px;
    margin-right: 0px;
  }
}

/* ===== Spalten ohne Innenabstand zur Mitte (nur Desktop) ===== */
@media (min-width: 768px) {
  .col-6.text-end {
    padding-right: 0;
  }
  .col-6.text-start {
    padding-left: 0;
  }
}


/* ===== Matrix-Tabellen: Ränder ===== */
.table-bordered > thead > tr > th {
  border: 1px solid #dadada;
}
.table-bordered > thead > tr > td {
  border: 1px solid #dadada;
}
.table > :not(:first-child) {
  border-top: 0 !important;
}

/* ===== Abstände Antwortbereich ===== */
.answer-container {
  padding-top: 8px !important;
}
.ls-answers.answers-list {
  margin-bottom: 0 !important;
}
.ls-answers,
table.question {
  margin-left: -11px !important;
  margin-right: -11px !important;
  width: auto !important;
}

.ls-answers,
table.question {
  margin-bottom: 20px !important;
}
.table-responsive {
  overflow: visible !important;
}

/* ===== Fragetext: Abstand nach oben ===== */
.ls-label-question {
  margin-top: 6px;
}

/* ===== Sternchen ==== */
.text-danger.fa-asterisk {
  display: none;
}
.ls-label-question::after {
  content: none;
}
.question-title-container:has(.asterisk) .ls-label-question p:first-of-type::after {
  content: " *";
  color: #3366CC;
  font-weight: bold;
}
.question-title-container:has(.asterisk) .ls-label-question:not(:has(p))::after {
  content: " *";
  color: #3366CC;
  font-weight: bold;
}

/* ===== Validierungsmeldung & Info-Icon ==== */
.ls-question-message.ls-em-tip.em_num_answers.ls-em-success {
  display: none !important;
}
.ls-question-message.ls-em-tip.em_num_answers.ls-em-error.text-danger {
  color: #dc3545 !important;
}
.ls-questionhelp.tip-was-hidden:has(.ls-em-success)::before {
  display: none;
}
.ls-questionhelp.tip-was-hidden:has(.ls-em-error)::before {
  color: #dc3545;
}

/* ===== Willkommenstext ==== */
.survey-welcome.h5.text-primary {
  color: #212529 !important;
  font-size: 16px !important;
  line-height: 1.3 !important;
  margin-top: 30px;
  margin-bottom: 20px;
  overflow-wrap: normal;
  word-break: keep-all;
  hyphens: none;
}

/* ===== Breite Desktop ===== */
#outerframeContainer,
.top-container {
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ===== Mobile: mehr Abstand zum Bildschirmrand ===== */
@media (max-width: 767px) {
  .space-col {
    padding-left: 5px !important;
    padding-right: 5px !important;
  }
}
/* ===== Mobile: Fragengruppen-Introtext korrekte Breite und Abstand zum Bildschirmrand ===== */

@media (max-width: 767px) {
  .group-description.row.space-col {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
@media (max-width: 767px) {
  .col-12.well {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}

/* ===== Einheitliche Schriftart Headline/Frage ===== */
.group-name,
.question-text,
h1, h2, h3 {
  font-family: inherit;
}

/* ===== Zeilenabstand Intro-/Übersichtstext ===== */
#start p,
.survey-description p {
  line-height: 1.6;
}

/* ===== Basis-Schriftgröße 16px (verhindert iOS-Autozoom in Feldern) ===== */
body,
.question-text,
.form-control,
textarea, select {
  font-size: 16px;
}
input[type="text"],
input[type="email"],
input[type="number"],
input[type="tel"] {
  font-size: 16px;
}

/* ===== Logo: mobil sichtbar machen und verkleinern ===== */
@media only screen and (max-width: 767px) {
  .logo-container {
    display: block !important;
  }
  .logo-container .logo {
    transform: scale(0.7);
    transform-origin: right;
  }
}

/* ===== Sticky Navbar auf Mobile deaktivieren ===== */
@media only screen and (max-width: 767px) {
  .navbar.fixed-top,
  .navbar.sticky-top {
    position: static !important;
  }
  body {
    padding-top: 0 !important;
  }
}

/* ===== Textfelder modernisieren ===== */
.form-control {
  border-radius: 8px;
  border: 1px solid #d0d0d0;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.form-control:focus {
  border-color: #3366CC;
  box-shadow: 0 0 0 0.2rem rgba(51, 102, 204, 0.15);
}

/* ===== Checkbox & Radio: aktiver Zustand in Wikipedia-Blau ===== */

.radio-item input[type="radio"]:checked + label::before,
.checkbox-item input[type="checkbox"]:checked + label::before {
  background-color: #3366CC;
  border-color: #3366CC;
}
.checkbox-item label::before {
  top: 3px;
}
.checkbox-item label::after {
  top: 3px;
}
.checkbox-item input[type="checkbox"]:focus {
  outline: none;
  box-shadow: none;
}
.checkbox-item input[type="checkbox"]:focus + label::before {
  outline: none;
  box-shadow: none;
}
.radio-item input[type="radio"]:checked + label::after,
.checkbox-item input[type="checkbox"]:checked + label::after {
  color: #ffffff;
}
.radio-item input[type="radio"]:checked + label::after {
  background-color: #3366CC;
}
.radio-item label::before {
  top: 3px;
}
.radio-item input[type="radio"]:focus {
  outline: none;
  box-shadow: none;
  background-color: #3366CC;
}
.radio-item input[type="radio"]:focus + label::before {
  outline: none;
}

/* ===== Radio: Kartenoptik auf Mobile ===== */
@media (max-width: 767px) {
  .radio-item {
    margin-bottom: 8px;
  }

  .radio-item label {
    display: block;
    width: 100% !important;
    padding: 14px 16px;
    border: 1px solid #d0d0d0;
    border-radius: 8px;
    background-color: #fff;
    cursor: pointer;
    text-align: center;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
  }

  .radio-item input[type="radio"]:checked + label {
    background-color: #3366CC;
    border-color: #3366CC;
    color: #fff;
  }

  .radio-item input[type="radio"] {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    padding: 0;
  }

  .radio-item {
    padding: 0;
  }

  .radio-item label::before,
  .radio-item label::after {
    display: none;
  }
  .radio-item {
  padding: 0;
  flex: 1 0 100% !important;
  width: 100% !important;
}

/* ===== Sonstiges-Feld: Abstand nach oben (Mobile) ===== */
@media (max-width: 767px) {
  .form-control.input-sm {
    margin-top: 5px;
  }
  .other-item input[type="text"],
  .radio-item input[type="text"],
  .checkbox-item input[type="text"] {
    margin-top: 8px;
  }
}

/* ===== Matrix-Tabellenzelle: Breite auf Mobile ===== */
@media (max-width: 767px) {
  table.ls-answers td.radio-item {
    padding-left: 8px !important;
    display: block !important;
    width: 100% !important;
  }
}

/* ===== Einfache Listen-Frage: Breite auf Mobile ===== */
@media (max-width: 767px) {
  .radio-label {
    width: 100% !important;
    text-align: center;
    padding-left: 16px;
  }
}

/* ===== Leere Skalen-Labels: Kreis wieder sichtbar (nur 4 Fragen) ===== */
#question7003 label.ls-label-xs-visibility::before,
#question7003 label.ls-label-xs-visibility::after,
#question7106 label.ls-label-xs-visibility::before,
#question7106 label.ls-label-xs-visibility::after,
#question7072 label.ls-label-xs-visibility::before,
#question7072 label.ls-label-xs-visibility::after,
#question7077 label.ls-label-xs-visibility::before,
#question7077 label.ls-label-xs-visibility::after,
#question7101 label.ls-label-xs-visibility::before,
#question7101 label.ls-label-xs-visibility::after {
  display: block;
}

@media (max-width: 767px) {
  #question7003 label.ls-label-xs-visibility,
  #question7072 label.ls-label-xs-visibility,
  #question7106 label.ls-label-xs-visibility,
  #question7077 label.ls-label-xs-visibility,
  #question7101 label.ls-label-xs-visibility {
    width: auto !important;
    display: inline-block;
    padding: 0 0 0 20px !important;
    border: none;
    background-color: transparent;
    text-align: left;
  }
  #question7003 input[type="radio"]:checked + label.ls-label-xs-visibility,
  #question7072 input[type="radio"]:checked + label.ls-label-xs-visibility,
  #question7106 input[type="radio"]:checked + label.ls-label-xs-visibility,
  #question7077 input[type="radio"]:checked + label.ls-label-xs-visibility,
  #question7101 input[type="radio"]:checked + label.ls-label-xs-visibility {
    background-color: transparent;
    border-color: transparent;
  }
  #question7003 label.ls-label-xs-visibility::before,
  #question7106 label.ls-label-xs-visibility::before,
  #question7072 label.ls-label-xs-visibility::before,
  #question7077 label.ls-label-xs-visibility::before,
  #question7101 label.ls-label-xs-visibility::before {
    left: 0;
  }
  #question7003 label.ls-label-xs-visibility::after,
  #question7106 label.ls-label-xs-visibility::after,
  #question7072 label.ls-label-xs-visibility::after,
  #question7077 label.ls-label-xs-visibility::after,
  #question7101 label.ls-label-xs-visibility::after {
    left: 4px;
  }
  #question7003 .radio-item,
  #question7106 .radio-item,
  #question7072 .radio-item,
  #question7077 .radio-item,
  #question7101 .radio-item {
    padding-left: 30px !important;
    border: none !important;
  }
}

/*
imported from old LimeSurvey 3.23
maybe classes have been renamed
*/
.ls-answers tbody .answertext{text-align:center; hyphens: none; }
.ls-answers .answertextright{text-align:left; hyphens: none;}
.dir-rtl .ls-answers tbody .answertext{text-align:left; hyphens: none;}
.dir-rtl .ls-answers .answertextright{text-align:center; hyphens: none;}