@charset "UTF-8";
/* ATEK brand overrides — child theme of fruity_twentythree.
   Palette: COBALT #5A1DEF, MIDNIGHT #1C143D, SLATE #404041, LIGHT #F8F6FF,
   PUNCH #E91A60, MUSTARD #F2D631, BONE #F0F0F0, BORDER #E8E8E8.
   Fonts: Work Sans (headings), Poppins (body). */

@import url("https://fonts.googleapis.com/css2?family=Work+Sans:wght@300;400;500&family=Poppins:wght@300;400;500;600&display=swap");

/* ---------- tokens ---------- */
:root,
body {
  --bs-primary: #5A1DEF;
  --bs-primary-rgb: 90, 29, 239;
  --bs-secondary: #404041;
  --bs-danger: #E91A60;
  --bs-warning: #F2D631;
  --bs-info: #1C143D;
  --bs-link-color: #5A1DEF;
  --bs-link-color-rgb: 90, 29, 239;
  --bs-link-hover-color: #1C143D;
  --bs-link-hover-color-rgb: 28, 20, 61;
  --bs-body-color: #404041;
  --bs-body-font-family: "Poppins", "IBM Plex Sans", Arial, sans-serif;
}

body {
  font-family: "Poppins", "IBM Plex Sans", Arial, sans-serif;
  color: #404041;
  background: linear-gradient(180deg, #F8F6FF 0%, #F0F0F0 100%);
  min-height: 100vh;
}

/* ---------- typography ---------- */
h1, h2, h3, h4, h5, h6,
.survey-name, .group-title, .question-title,
.survey-list-heading, .list-heading {
  font-family: "Work Sans", "IBM Plex Sans", Arial, sans-serif;
  font-weight: 300;
  color: #1C143D;
}

/* Welcome / survey title */
body .survey-name,
body h1 {
  font-size: 2.1rem;
  letter-spacing: -0.01em;
  margin-bottom: 0.75rem;
}

/* ---------- top bar ---------- */
body .navbar,
body #ls-navbar {
  background-color: #ffffff;
  border-bottom: 1px solid #E8E8E8;
  box-shadow: 0 1px 3px rgba(28, 20, 61, 0.06);
}
body .navbar .navbar-brand,
body .navbar .nav-link {
  color: #1C143D;
}
body .navbar-brand img,
body img.logo {
  max-height: 40px;
  width: auto;
}

/* ---------- main content card ---------- */
body #limesurvey-content,
body .survey-container > .container-fluid,
body main .outerframe,
body .fruity_twentythree main {
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
}
body .group-outerframe.card,
body .question-container,
body .card {
  background-color: #ffffff;
  border: 1px solid #E8E8E8;
  border-radius: 14px;
  box-shadow: 0 4px 18px rgba(28, 20, 61, 0.06);
}
body .question-container {
  padding: 1.5rem 1.75rem;
  margin-bottom: 1.25rem;
}
body .question-title,
body .ls-label-question {
  font-family: "Work Sans", sans-serif;
  font-weight: 400;
  font-size: 1.15rem;
  color: #1C143D;
}
/* cobalt accent bar on each question card */
body .question-container {
  border-left: 4px solid #5A1DEF;
}

/* ---------- buttons ---------- */
body .btn {
  border-radius: 999px;
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  padding: 0.55rem 1.6rem;
}
body .btn-primary,
body .btn-primary:focus,
body .ls-move-next-btn,
body .ls-move-submit-btn {
  background-color: #5A1DEF;
  border-color: #5A1DEF;
  color: #fff;
}
body .btn-primary:hover,
body .btn-primary:active,
body .ls-move-next-btn:hover,
body .ls-move-submit-btn:hover {
  background-color: #1C143D;
  border-color: #1C143D;
  color: #fff;
}
body .btn-outline-primary,
body .ls-move-previous-btn {
  color: #5A1DEF;
  border-color: #5A1DEF;
  background: transparent;
}
body .btn-outline-primary:hover,
body .ls-move-previous-btn:hover {
  background-color: #5A1DEF;
  border-color: #5A1DEF;
  color: #fff;
}

/* ---------- progress ---------- */
body .progress {
  background-color: #E8E8E8;
  height: 8px;
  border-radius: 999px;
}
body .progress-bar {
  background: linear-gradient(90deg, #5A1DEF, #8146F6);
  border-radius: 999px;
}

/* ---------- answers: horizontal pill options (left to right) ---------- */
body .ls-answers > li,
body .answer-item {
  margin: 0;
}
body ul.ls-answers {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}
body .answer-item {
  border: 1.5px solid #E8E8E8;
  border-radius: 999px;
  background: #ffffff;
  padding: 0.4rem 1.1rem;
  transition: background-color 0.12s ease, border-color 0.12s ease;
  cursor: pointer;
}
body .answer-item:hover {
  background-color: #F8F6FF;
  border-color: #5A1DEF;
}
/* selected pill goes Cobalt */
body .answer-item:has(input:checked) {
  background-color: #5A1DEF;
  border-color: #5A1DEF;
}
body .answer-item:has(input:checked) label,
body .answer-item:has(input:checked) .form-check-label {
  color: #ffffff;
}
body .answer-item label {
  cursor: pointer;
  margin-bottom: 0;
}
body .answer-item .form-check,
body .answer-item label {
  margin-bottom: 0;
}
body .answer-item:hover {
  background-color: #F8F6FF;
}
body .form-check-input {
  width: 1.15em;
  height: 1.15em;
  border: 2px solid #B9A8F5;
}
body .form-check-input:checked {
  background-color: #5A1DEF;
  border-color: #5A1DEF;
}
body .form-check-input:focus {
  border-color: #5A1DEF;
  box-shadow: 0 0 0 0.25rem rgba(90, 29, 239, 0.2);
}
body .form-check-label {
  padding-left: 0.25rem;
}

/* ---------- inputs ---------- */
body .form-control,
body .form-select,
body textarea.form-control {
  border: 1.5px solid #E8E8E8;
  border-radius: 10px;
  padding: 0.6rem 0.85rem;
}
body .form-control:focus,
body .form-select:focus {
  border-color: #5A1DEF;
  box-shadow: 0 0 0 0.25rem rgba(90, 29, 239, 0.15);
}

/* ---------- array (matrix) questions ---------- */
body table.ls-answers thead th,
body .table-array thead th {
  background-color: #1C143D;
  color: #F0F0F0;
  font-family: "Work Sans", sans-serif;
  font-weight: 400;
  border: none;
}
body table.ls-answers tbody tr:nth-child(odd),
body .table-array tbody tr:nth-child(odd) {
  background-color: #F8F6FF;
}
body table.ls-answers tbody th,
body table.ls-answers tbody td {
  border-color: #E8E8E8;
  vertical-align: middle;
}

/* Array cells side-by-side on desktop (the no-tables wrap stacks them) */
@media (min-width: 768px) {
  body table.ls-answers { display: table; width: 100%; }
  body table.ls-answers thead { display: table-header-group; }
  body table.ls-answers tbody { display: table-row-group; }
  body table.ls-answers tr { display: table-row; }
  body table.ls-answers th,
  body table.ls-answers td { display: table-cell; width: auto; }
  body table.ls-answers td.answer-item {
    border: none;
    border-radius: 0;
    background: transparent;
    text-align: center;
  }
}

/* ---------- alerts ---------- */
body .alert-danger { border-left: 4px solid #E91A60; }
body .alert-warning { border-left: 4px solid #F2D631; }

/* ---------- links ---------- */
body a { color: #5A1DEF; }
body a:hover { color: #1C143D; }

/* ---------- hide LimeSurvey self-branding ---------- */
body .ls-logo,
body img[src*="poweredby"],
body a[href*="limesurvey.org"],
body #surveyListFooter {
  display: none !important;
}
