/* File: assets/css/survey.css */

/* ───────────────────────────────────────────────────────────
   Headings / base layout
   ─────────────────────────────────────────────────────────── */

/* 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;
}

.ll-question-heading {
  font-size: 20px;
  font-weight: 600;
  text-align: center;
  margin-bottom: 1rem;
}

/* 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;
}

/* ───────────────────────────────────────────────────────────
   Lists / checklist
   ─────────────────────────────────────────────────────────── */

.ll-list-wrapper {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}

/* Survey-specific wrapper tweak */
#ll-client-survey .ll-list-wrapper ul {
  text-align: left;
  padding-left: 3px;
  margin: 0 0 0 10px;
}

.ll-checklist-free {
  list-style: disc;
  padding-left: 20px;
  font-size: 16px;
  max-width: 400px;
}

.ll-checklist {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 18px;
  max-width: 800px;
}

.ll-checklist li {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  font-size: 20px;
}

.ll-checklist i {
  font-size: 22px;
  min-width: 24px;
  text-align: center;
  color: #0000FF; /* optional icon color */
}

/* ───────────────────────────────────────────────────────────
   Yes / Maybe / No radios & generic answer groups
   ─────────────────────────────────────────────────────────── */

.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;
}

/* Error highlight for required groups */
.ll-answer-group.ll-has-error {
  outline: 2px solid #dc2626;
  outline-offset: 4px;
  border-radius: 8px;
}
.ll-answer-group.ll-has-error::after {
  content: attr(data-error-msg);
  display: block;
  margin-top: 8px;
  font-size: .95rem;
  color: #b91c1c;
}

/* ───────────────────────────────────────────────────────────
   Multi-select checkbox wrapper
   ─────────────────────────────────────────────────────────── */

#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;
}

.highlight-blue {
  font-weight: 700;
  color: #0a66c2; /* bold blue */
}

/* ───────────────────────────────────────────────────────────
   Comparison table (scoped to survey)
   ─────────────────────────────────────────────────────────── */

#ll-client-survey .ll-compare {
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
  overflow: hidden;

  /* compact sizing (your overrides) */
  font-size: 1rem; /* was 1.2rem */
}

#ll-client-survey .ll-compare__head,
#ll-client-survey .ll-compare__row {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  align-items: stretch;
}

#ll-client-survey .ll-compare__head {
  background: #fff;
  color: #0b5c7a;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .02em;
  border-bottom: 1px solid #e2e8f0;
}

#ll-client-survey .ll-compare__title { padding: 10px 14px; } /* compact */
#ll-client-survey .ll-compare__plan {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 16px 12px;
}
#ll-client-survey .ll-compare__basic,
#ll-client-survey .ll-compare__premium { background: transparent; }

#ll-client-survey .ll-compare__planPrice { font-size: 1.5rem; line-height: 1.15; } /* compact */
#ll-client-survey .ll-compare__planMeta  { font-size: 1rem;  opacity: .9; }       /* compact */

#ll-client-survey .ll-compare__row:nth-child(even) { background: #f8fafc; }
#ll-client-survey .ll-compare__cell {
  padding: 6px 14px; /* compact (was 9px 20px) */
  border-bottom: 1px solid #eef2f7;
}
#ll-client-survey .ll-compare__feature { font-size: 14px; font-weight: 500; } /* compact */

#ll-client-survey .ll-compare__check {
  display: flex;
  align-items: center;
  justify-content: center;
}
#ll-client-survey .ll-ok,
#ll-client-survey .ll-no {
  width: 22px;
  height: 22px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  color: #fff;
  font-size: .85rem;
}
#ll-client-survey .ll-ok { background: #16a34a; }
#ll-client-survey .ll-ok::before { content: "✓"; }
#ll-client-survey .ll-no { background: #ef4444; }
#ll-client-survey .ll-no::before { content: "✕"; }

#ll-client-survey .ll-compare__note {
  padding: 8px 14px; /* compact */
  font-size: 1rem;   /* compact */
  color: #64748b;
}

@media (max-width: 720px) {
  #ll-client-survey .ll-compare__head,
  #ll-client-survey .ll-compare__row {
    grid-template-columns: 1.2fr .9fr .9fr;
  }
  #ll-client-survey .ll-compare__cell { padding: 8px 12px; }
  #ll-client-survey .ll-ok,
  #ll-client-survey .ll-no { width: 20px; height: 20px; }
}

/* ───────────────────────────────────────────────────────────
   Small utilities to replace inline styles
   ─────────────────────────────────────────────────────────── */

#ll-client-survey .ll-center { text-align: center; }
#ll-client-survey .ll-mb-10 { margin-bottom: 10px; }
#ll-client-survey .ll-mb-18 { margin-bottom: 18px; }
#ll-client-survey .ll-mt-18 { margin-top: 18px; }

#ll-client-survey .ll-img-rounded {
  border-radius: 12px;
  display: block;
  margin: 20px auto 30px;
  height: auto; /* allow natural scaling */
}

/* progress bar used in the survey steps */
#ll-client-survey .ll-progress-bar {
  height: 6px;
  background: #eef2f7;
  border-radius: 999px;
  overflow: hidden;
  margin: 10px 0 18px;
}
#ll-client-survey .ll-progress-indicator {
  height: 100%;
  width: 0;
  background: #0b5c7a;
  transition: width .2s ease;
}
