/*
 * ================================================================
 * ÁGIL SEGUROS — FORM DESIGN v2
 * Visual upgrade applied to all product forms.
 * Does NOT touch any JS logic, IDs, or API integrations.
 * ================================================================
 */

/* ── FORM CARD ──────────────────────────────────────────────── */
.form-card {
  border-radius: 20px !important;
  box-shadow: 0 16px 48px rgba(27,36,56,.13) !important;
  overflow: hidden !important;
}

.form-card-head {
  background: linear-gradient(135deg, #1B2438 0%, #2C3A5A 100%) !important;
  border-bottom: 3px solid #15803D !important;
  padding: 20px 24px !important;
}

/* GRÁTIS badge — bright green so it actually pops */
.form-card-badge {
  background: #15803D !important;
  color: #fff !important;
  font-size: .72rem !important;
  font-weight: 800 !important;
  padding: 4px 14px !important;
  border-radius: 100px !important;
  letter-spacing: .06em !important;
}

.form-body {
  padding: 28px 32px 36px !important;
}

/* Keep all interactive/form UI on a single interface font for consistency. */
.form-card .form-card-head-title,
.form-card .form-card-title,
.form-card .form-card-badge,
.form-card .cp-num,
.form-card .cp-lbl,
.form-card .field label,
.form-card .field input,
.form-card .field select,
.form-card .field textarea,
.form-card .field-note,
.form-card .field-err,
.form-card .toggle-q-label,
.form-card .det-label,
.form-card .det-desc,
.form-card .det-section-title,
.form-card .radio-opt,
.form-card .mot-pill-text,
.form-card .pj-btn,
.form-card .btn-cotar,
.form-card .btn-submit,
.form-card #btn-txt,
.form-card .cot-disclaimer,
.form-card .step-ok-card h3,
.form-card .step-ok-card p {
  font-family: var(--fb) !important;
}

/* ── PROGRESS INDICATOR ──────────────────────────────────────── */
.cot-progress {
  margin-bottom: 28px !important;
  padding: 4px 0 !important;
}

.cp-num {
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  font-size: .8rem !important;
  background: #fff !important;
  color: #9CA3AF !important;
  border: 2px solid #D1D5DB !important;
  box-shadow: none !important;
  transition: all .25s !important;
}

.cp-lbl {
  font-size: .62rem !important;
  color: #9CA3AF !important;
  font-weight: 600 !important;
  transition: color .25s !important;
}

.cp-step.active .cp-num {
  background: #1B2438 !important;
  color: #fff !important;
  border-color: #1B2438 !important;
  box-shadow: 0 0 0 4px rgba(27,36,56,.1) !important;
}

.cp-step.active .cp-lbl {
  color: #1B2438 !important;
  font-weight: 700 !important;
}

.cp-step.done .cp-num {
  background: #FFFFFF !important;
  color: #15803D !important;
  font-size: .8rem !important;
  border-color: #15803D !important;
  box-shadow: 0 0 0 4px rgba(21,128,61,.14) !important;
}

.cp-step.done .cp-num::after {
  content: none !important;
  display: none !important;
}

.cp-step.done .cp-lbl {
  color: #1B2438 !important;
  font-weight: 700 !important;
}

.cp-line {
  height: 2px !important;
  background: #E5E7EB !important;
  margin-bottom: 18px !important;
  border-radius: 2px !important;
}

.cp-line.done {
  background: #15803D !important;
}

/* ── FORM FIELDS ─────────────────────────────────────────────── */
.field {
  margin-bottom: 20px !important;
}

.field label {
  font-size: .78rem !important;
  font-weight: 700 !important;
  color: #4B5563 !important;
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
  margin-bottom: 7px !important;
}

.field input,
.field select,
.field textarea {
  border: 1.5px solid #E2E8F0 !important;
  border-radius: 12px !important;
  background: #FFFFFF !important;
  padding: 15px 18px !important;
  font-size: .97rem !important;
  color: #1B2438 !important;
  transition: border-color .18s, box-shadow .18s, background .18s !important;
}

.field input:focus,
.field select:focus,
.field textarea:focus {
  border-color: #2C3A5A !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(44,58,90,.08) !important;
}

/* Validation states */
.field.is-ok input,
.field.is-ok select,
.field.is-ok textarea,
.field.has-ok input,
.field.has-ok select,
.field.has-ok textarea {
  border-color: #15803D !important;
  background: #FFFFFF !important;
}

/* Focused valid field keeps neutral fill and only status border/ring */
.field.is-ok input:focus,
.field.is-ok select:focus,
.field.is-ok textarea:focus,
.field.has-ok input:focus,
.field.has-ok select:focus,
.field.has-ok textarea:focus {
  border-color: #15803D !important;
  background: #FFFFFF !important;
  box-shadow: 0 0 0 3px rgba(22,163,74,.1) !important;
}

/* Keep autofill neutral as well */
.field.is-ok input:-webkit-autofill,
.field.is-ok input:-webkit-autofill:hover,
.field.is-ok input:-webkit-autofill:focus,
.field.is-ok input:-webkit-autofill:active,
.field.has-ok input:-webkit-autofill,
.field.has-ok input:-webkit-autofill:hover,
.field.has-ok input:-webkit-autofill:focus,
.field.has-ok input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 1000px #FFFFFF inset !important;
  box-shadow: 0 0 0 1000px #FFFFFF inset !important;
  border-color: #15803D !important;
  -webkit-text-fill-color: #1B2438 !important;
}

/* ✓ removed from labels — green border already signals valid state */
.field.is-ok > label::after,
.field.has-ok > label::after {
  content: none !important;
}

.field.is-ok > label,
.field.has-ok > label {
  color: #1B2438 !important;
}

.field label .check-icon {
  display: none !important;
}

.field.has-err input,
.field.has-err select,
.field.has-err textarea {
  border-color: #EF4444 !important;
  background-color: #FFFFFF !important;
  box-shadow: none !important;
}

.field-err {
  font-size: .78rem !important;
  color: #EF4444 !important;
  margin-top: 4px !important;
}

.field-note {
  font-size: .77rem !important;
  color: #6B7280 !important;
  margin-top: 4px !important;
}

/* Lookups resolvidos: feedback informativo (neutro), não sucesso final */
#cep-addr,
#placa-found,
#pj-cnpj-found,
#ff-cnpj-found,
.ff-placa-found {
  background: #F8FAFC !important;
  border: 1px solid #CBD5E1 !important;
  color: #334155 !important;
}

/* Final CTA stays clean: no decorative check after the label */
#btn-txt::after {
  content: none !important;
  display: none !important;
}

/* Select dropdown arrow refinement */
.field select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%234B5563' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  padding-right: 36px !important;
}

/* Two-column row */
.fields-row {
  gap: 12px !important;
}

/* ── TOGGLE PILL ─────────────────────────────────────────────── */
/* SIM = green (positive action), NÃO = gray */
.mot-pill {
  background: #15803D !important;
  border-radius: 100px !important;
  padding: 5px 12px 5px 5px !important;
  transition: background .2s !important;
  box-shadow: 0 2px 6px rgba(22,163,74,.2) !important;
}

.mot-pill.nao {
  background: #D1D5DB !important;
  box-shadow: none !important;
  flex-direction: row-reverse !important;
  padding: 5px 5px 5px 12px !important;
}

.mot-pill-knob {
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  background: #fff !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.2) !important;
}

.mot-pill-text {
  font-size: .75rem !important;
  font-weight: 800 !important;
  color: #fff !important;
  letter-spacing: .04em !important;
}

/* ── TOGGLE ROW ─────────────────────────────────────────────── */
.toggle-q {
  border: 1.5px solid #E5E7EB !important;
  border-radius: 14px !important;
  background: #F9FAFB !important;
  padding: 16px 20px !important;
  margin-bottom: 14px !important;
  transition: border-color .18s !important;
}

.toggle-q:hover {
  border-color: #CBD5E1 !important;
}

.toggle-q-label {
  font-size: .94rem !important;
  font-weight: 600 !important;
  color: #1B2438 !important;
  line-height: 1.4 !important;
}

/* ── DET CARD ───────────────────────────────────────────────── */
.det-card {
  border: 1.5px solid #E5E7EB !important;
  border-radius: 14px !important;
  background: #F9FAFB !important;
  padding: 16px 20px !important;
  margin-bottom: 14px !important;
  transition: border-color .18s !important;
}

.det-card:hover {
  border-color: #CBD5E1 !important;
}

.det-label {
  font-size: .94rem !important;
  font-weight: 600 !important;
  color: #1B2438 !important;
  line-height: 1.4 !important;
}

.det-desc {
  font-size: .82rem !important;
  color: #6B7280 !important;
  margin-top: 3px !important;
  line-height: 1.5 !important;
}

/* ── RADIO OPTIONS ──────────────────────────────────────────── */
.radio-group {
  gap: 8px !important;
  margin-top: 10px !important;
}

.radio-opt {
  align-items: center !important;
  gap: 10px !important;
  border: 1.5px solid #E2E8F0 !important;
  border-radius: 12px !important;
  background: #fff !important;
  padding: 12px 16px !important;
  font-size: .93rem !important;
  font-weight: 600 !important;
  color: #374151 !important;
  line-height: 1.25 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  transition: all .18s !important;
}

.radio-opt:hover {
  border-color: #2C3A5A !important;
  background: #F0F4FF !important;
  color: #1B2438 !important;
}

.radio-opt.checked {
  border-color: #2C3A5A !important;
  background: #EFF2FA !important;
  color: #1B2438 !important;
  font-weight: 700 !important;
}

.radio-opt input {
  display: none !important;
}

.ro-ico {
  font-size: 1.1rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 26px !important;
  min-width: 26px !important;
  height: 26px !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
}

.ro-ico svg,
.ro-ico iconify-icon {
  width: 20px !important;
  height: 20px !important;
  display: block !important;
  flex-shrink: 0 !important;
}

.fields-row.final-actions {
  display: grid !important;
  grid-template-columns: minmax(120px,.9fr) minmax(180px,1.1fr) !important;
  gap: 12px !important;
  margin-top: 10px !important;
}

.fields-row.final-actions .btn-cotar {
  height: 58px !important;
  font-size: 1rem !important;
  line-height: 1 !important;
  letter-spacing: .01em !important;
}

.fields-row.final-actions .btn-cotar.btn-outline-purple {
  background: #F7FBF8 !important;
  color: #118445 !important;
  border: 2px solid #169B53 !important;
  box-shadow: inset 0 0 0 1px rgba(22,155,83,.15), 0 4px 12px rgba(22,155,83,.12) !important;
}

.fields-row.final-actions .btn-cotar.btn-outline-purple:hover {
  background: #EDF8F1 !important;
  box-shadow: inset 0 0 0 1px rgba(22,155,83,.2), 0 6px 16px rgba(22,155,83,.18) !important;
}

@media (max-width: 420px) {
  .fields-row.final-actions {
    grid-template-columns: 1fr 1.12fr !important;
    gap: 10px !important;
  }

  .fields-row.final-actions .btn-cotar {
    height: 54px !important;
    font-size: .96rem !important;
  }
}

/* ── SUBMIT BUTTON (product pages) ─────────────────────────── */
button.btn-cotar,
a.btn-cotar,
.form-steps button.btn-cotar {
  background: #15803D !important;
  border-radius: 100px !important;
  border: none !important;
  outline: none !important;
  padding: 17px 28px !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  box-shadow: 0 4px 16px rgba(22,163,74,.28) !important;
  letter-spacing: .01em !important;
  transition: all .25s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
}

button.btn-cotar:hover,
a.btn-cotar:hover,
.form-steps button.btn-cotar:hover {
  background: #15803D !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(22,163,74,.38) !important;
}

/* Focus acessível — anel verde sem outline duplo do browser */
button.btn-cotar:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(22,163,74,.5) !important;
}

/* Outline variant (volta anterior) */
.btn-cotar.btn-outline-purple {
  background: transparent !important;
  border: 2px solid #15803D !important;
  color: #15803D !important;
  box-shadow: none !important;
}

.btn-cotar.btn-outline-purple:hover {
  background: #F0FDF4 !important;
  transform: translateY(-1px) !important;
}

/* ── DISCLAIMER BELOW BUTTON ────────────────────────────────── */
.cot-disclaimer {
  font-size: .76rem !important;
  color: #9CA3AF !important;
  margin-top: 10px !important;
  text-align: center !important;
}

/* ── STEP OK / STEP ERR ─────────────────────────────────────── */
.step-ok-card {
  padding: 36px 20px !important;
  text-align: center !important;
}

.step-ok-card h3 {
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  color: #1B2438 !important;
  margin-bottom: 8px !important;
}

.step-ok-card p {
  font-size: .92rem !important;
  color: #6B7280 !important;
  line-height: 1.6 !important;
  margin-bottom: 20px !important;
}

/* ── HOMEPAGE QUICK FORM (qf-*) ─────────────────────────────── */
.qform-wrap {
  border-radius: 20px !important;
  box-shadow: 0 16px 48px rgba(27,36,56,.12) !important;
  overflow: hidden !important;
}

.qform-head {
  background: linear-gradient(135deg, #1B2438 0%, #2C3A5A 100%) !important;
  border-bottom: 3px solid #15803D !important;
  padding: 20px 28px !important;
}

.qform-head-title {
  font-size: 1.08rem !important;
  font-weight: 800 !important;
  color: #fff !important;
}

.qform-head-sub {
  font-size: .76rem !important;
  color: rgba(255,255,255,.7) !important;
  margin-top: 2px !important;
}

.qform-body {
  padding: 28px 36px !important;
}

.qf-label {
  font-size: .72rem !important;
  font-weight: 700 !important;
  color: #4B5563 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  margin-bottom: 6px !important;
}

.qf-field {
  margin-bottom: 18px !important;
}

.qf-input,
.qf-select {
  border: 1.5px solid #E2E8F0 !important;
  border-radius: 12px !important;
  background: #F8FAFC !important;
  padding: 15px 18px !important;
  font-size: .95rem !important;
  color: #1B2438 !important;
  transition: border-color .18s, box-shadow .18s, background .18s !important;
}

.qf-input:focus,
.qf-select:focus {
  border-color: #2C3A5A !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(44,58,90,.08) !important;
}

.qf-field.has-error .qf-input,
.qf-field.has-error .qf-select {
  border-color: #EF4444 !important;
  background-color: #FFF5F5 !important; /* background-color preserves the select arrow svg */
  box-shadow: none !important;
}

/* Force error spans visible — inline CSS lacks !important so it can be overridden */
.qf-field.has-error .qf-err {
  display: block !important;
}

.qf-err {
  display: none; /* default hidden */
  font-size: .76rem !important;
  color: #EF4444 !important;
  margin-top: 4px !important;
}

/* Select arrow */
.qf-select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%234B5563' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  padding-right: 38px !important;
}

.qf-2 {
  gap: 10px !important;
}

/* Homepage submit button */
button.qf-submit,
input.qf-submit,
.qform-body button {
  background: #15803D !important;
  border-radius: 100px !important;
  border: none !important;
  outline: none !important;
  padding: 15px 24px !important;
  font-size: .95rem !important;
  font-weight: 800 !important;
  box-shadow: 0 4px 14px rgba(22,163,74,.28) !important;
  letter-spacing: .01em !important;
  transition: all .25s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
}

button.qf-submit:hover,
.qform-body button:hover {
  background: #15803D !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 22px rgba(22,163,74,.38) !important;
}

/* Focus acessível */
button.qf-submit:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(22,163,74,.5) !important;
}

button.qf-submit.success,
.qf-submit.success {
  background: #15803D !important;
  box-shadow: 0 4px 14px rgba(22,163,74,.3) !important;
}

button.qf-submit.loading,
.qf-submit.loading {
  opacity: .75 !important;
  transform: none !important;
  box-shadow: none !important;
}

.qf-note {
  font-size: .74rem !important;
  color: #6B7280 !important;
  margin-top: 10px !important;
  text-align: center !important;
}

/* ── MOBILE FORM MODAL ──────────────────────────────────────── */
.mob-form-head {
  border-bottom: 3px solid #15803D !important;
}

.mob-form-body .qf-input,
.mob-form-body .qf-select {
  border: 1.5px solid #E2E8F0 !important;
  border-radius: 12px !important;
  background: #F8FAFC !important;
}

/* ── SECTION TITLE DIVIDERS ─────────────────────────────────── */
.det-section-title {
  font-size: .82rem !important;
  font-weight: 800 !important;
  color: #1B2438 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  padding-bottom: 8px !important;
  border-bottom: 1.5px solid #E5E7EB !important;
  margin: 20px 0 12px !important;
}

/* ── MOBILE ADJUSTMENTS ─────────────────────────────────────── */
@media (max-width: 600px) {
  .form-card {
    border-radius: 16px !important;
  }

  .form-card-head {
    padding: 16px 18px !important;
  }

  .form-body {
    padding: 20px 20px 26px !important;
  }

  .qform-head {
    padding: 16px 20px !important;
  }

  .qform-body {
    padding: 20px 22px !important;
  }

  .field input,
  .field select,
  .field textarea {
    padding: 13px 15px !important;
    font-size: .93rem !important;
  }

  .qf-input,
  .qf-select {
    padding: 13px 15px !important;
  }

  .field {
    margin-bottom: 16px !important;
  }

  .qf-field {
    margin-bottom: 14px !important;
  }

  button.btn-cotar,
  a.btn-cotar {
    padding: 15px 22px !important;
    font-size: .97rem !important;
    background: #15803D !important;
  }
}

/* ── CONTRASTE WCAG AA — texto secundário (#8a93a8 → #64748B) ─ */
/* #8a93a8 tem contraste ~3.6:1 sobre branco — abaixo do mínimo 4.5:1 */
.prod-card p,
.how-card p,
.benefit-card p,
.benefit-text p,
.rev-text,
.cov-item p,
.faq-answer {
  color: #64748B !important;
}

/* ── FAQ SECTION ────────────────────────────────────────────── */
.faq-section {
  padding: 72px 0 !important;
}

.faq-grid {
  max-width: 780px !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

.faq-item {
  background: #fff !important;
  border: 1.5px solid #E2E8F0 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  transition: border-color .2s, box-shadow .2s !important;
}

.faq-item:hover {
  border-color: #CBD5E1 !important;
  box-shadow: 0 4px 16px rgba(27,36,56,.06) !important;
}

.faq-item.open {
  border-color: #1B2438 !important;
  box-shadow: 0 4px 20px rgba(27,36,56,.09) !important;
}

.faq-q {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 20px 24px !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  text-align: left !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #1B2438 !important;
  line-height: 1.4 !important;
}

.faq-q:focus-visible {
  outline: 2px solid #1B2438 !important;
  outline-offset: -2px !important;
  border-radius: 14px !important;
}

.faq-chevron {
  flex-shrink: 0 !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  background: #F1F5F9 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: transform .25s, background .2s !important;
}

.faq-item.open .faq-chevron {
  transform: rotate(180deg) !important;
  background: #1B2438 !important;
}

.faq-item.open .faq-chevron svg {
  stroke: #fff !important;
}

.faq-answer {
  max-height: 0 !important;
  overflow: hidden !important;
  transition: max-height .3s ease, padding .3s ease !important;
  padding: 0 24px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: .95rem !important;
  line-height: 1.75 !important;
  color: #64748B !important;
}

.faq-item.open .faq-answer {
  max-height: 400px !important;
  padding: 0 24px 22px !important;
}

/* Estrela de schema no FAQ */
.faq-section .sec-head {
  text-align: center !important;
  margin-bottom: 48px !important;
}

/* ── SEGURADORAS — trust strip abaixo do form ───────────────── */
.trust-logos-strip {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 14px 20px !important;
  padding: 18px 20px 0 !important;
}

.trust-logos-strip .tls-label {
  font-size: .72rem !important;
  font-weight: 700 !important;
  color: #94A3B8 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  white-space: nowrap !important;
  width: 100% !important;
  text-align: center !important;
}

.trust-logos-strip img {
  height: 20px !important;
  width: auto !important;
  max-width: 72px !important;
  object-fit: contain !important;
  filter: grayscale(1) !important;
  opacity: .55 !important;
  transition: opacity .2s, filter .2s !important;
}

.trust-logos-strip img:hover {
  opacity: .9 !important;
  filter: grayscale(0) !important;
}

/* ── FAQ EXISTENTE — override visual ────────────────────────── */
/* Mantém JS existente (faq-a / faq-q / .on), apenas redesenha */
.faq-item {
  border: 1.5px solid #E2E8F0 !important;
  border-radius: 14px !important;
  margin-bottom: 10px !important;
  overflow: hidden !important;
  transition: border-color .2s, box-shadow .2s !important;
  background: #fff !important;
}

.faq-item:hover {
  border-color: #CBD5E1 !important;
  box-shadow: 0 4px 16px rgba(27,36,56,.07) !important;
}

.faq-q {
  width: 100% !important;
  text-align: left !important;
  padding: 20px 24px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #1B2438 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  background: #fff !important;
  border: none !important;
  cursor: pointer !important;
  transition: background .18s, color .18s !important;
  line-height: 1.4 !important;
}

.faq-q:hover {
  background: #F8FAFC !important;
  color: #1B2438 !important;
}

.faq-q.on {
  background: #1B2438 !important;
  color: #fff !important;
}

.faq-ic {
  flex-shrink: 0 !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  background: #F1F5F9 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: .9rem !important;
  transition: transform .25s, background .2s, color .2s !important;
  color: #1B2438 !important;
}

.faq-q.on .faq-ic {
  transform: rotate(180deg) !important;
  background: rgba(255,255,255,.15) !important;
  color: #fff !important;
}

.faq-a {
  display: none;
  padding: 0 24px 22px !important;
  font-size: .95rem !important;
  line-height: 1.75 !important;
  color: #64748B !important;
  font-family: 'Inter', sans-serif !important;
}

.faq-a.on {
  display: block !important;
}

.faq-list {
  max-width: 780px !important;
  margin: 0 auto !important;
}

/* ── DEPOIMENTOS — estrelas SVG ─────────────────────────────── */
.testi-stars {
  display: flex !important;
  gap: 2px !important;
  align-items: center !important;
}

.star-svg {
  width: 14px !important;
  height: 14px !important;
  flex-shrink: 0 !important;
}
