/* survey.css */


/* Make the first question heading in each step larger, like a section title */
.ll-step .ll-question-heading:first-of-type {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 1.2rem;
  text-align: center;
}

/* -----------------------------------
   General list layout
----------------------------------- */
.ll-list-wrapper {
  display: flex;
  margin-bottom: 10px;
}

#ll-client-survey .ll-list-wrapper ul {
  text-align: left;
  padding-left: 20px;
  margin-left: 10px;
  margin-top: 0;
  margin-bottom: 0;
}

.ll-list-wrapper.two-column-list ul {
  columns: 2;
  column-gap: 40px;
}

.ll-list-wrapper.two-column-list li {
  break-inside: avoid;
  margin-bottom: 1px;
}

/* -----------------------------------
   Step-specific option groups (base)
----------------------------------- */

.ll-acquisition-options,
.ll-premium-options,
.ll-newsletter-options,
.ll-postcard-options,
.ll-review-options {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 15px 0;
}

.ll-acquisition-options label,
.ll-premium-options label,
.ll-newsletter-options label,
.ll-postcard-options label,
.ll-review-options label {
  font-size: 20px;
  font-weight: 500;
  width: 100%;
  max-width: 400px;
  margin: 5px 0;
  text-align: left;
}

/* -----------------------------------
   Centered wrappers used in some steps
----------------------------------- */
#ll-client-survey .ll-radio-wrapper,
#ll-client-survey .ll-centered-options {
  display: flex;
  justify-content: center;
  margin: 15px 0;
  flex-direction: column;
  align-items: center;
}

#ll-client-survey .ll-radio-wrapper label,
#ll-client-survey .ll-centered-options label {
  font-size: 20px;
  font-weight: 500;
  text-align: left;
  width: 100%;
  max-width: 350px;
  margin: 0;
}

#ll-client-survey .ll-next-button-wrapper {
  text-align: center;
  margin-top: 20px;
}

/* -----------------------------------
   Yes/Maybe/No Survey answers
----------------------------------- */

.ll-question-heading {
  font-size: 20px;
  font-weight: 600;
  text-align: center;
  margin-bottom: 1rem;
}

.ll-answer-group {
  max-width: 320px;
  width: 100%;
  margin: 0 auto 1rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}

.ll-answer-group label {
  display: inline-flex;
  align-items: center;
  gap: 8px; /* space between input and text */
  cursor: pointer;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.4;
}

.ll-answer-group input[type="radio"],
.ll-answer-group input[type="checkbox"] {
  margin: 0;
  flex-shrink: 0;
  transform: none; /* remove manual nudging */
}

.ll-answer-group span {
  line-height: 1;
}

/* -----------------------------------
   Checkbox Wrapper for Multi-Select
----------------------------------- */

#ll-client-survey .ll-checkbox-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 15px 0;
}

#ll-client-survey .ll-checkbox-wrapper label {
  font-size: 18px;
  font-weight: 500;
  width: 100%;
  max-width: 630px;
  margin: 5px 0;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  text-align: left;
}

#ll-client-survey .ll-checkbox-wrapper input[type="checkbox"] {
  margin-top: 8px;
  transform: scale(1.2);
}

.ll-checkbox-wrapper strong {
  white-space: nowrap;
  color: #0073e6;
}

#ll-client-survey .ll-next-button-wrapper .next-step {
  font-size: 18px;
  font-weight: 600;
  padding: 10px 20px;
}
