.eq-core-cta a:hover,
.eq-core-cta a:focus-visible {
  background: #fff;
  color: #0b2341;
}

.eq-core-cta a:focus-visible,
.eq-form button:focus-visible,
.eq-success a:focus-visible {
  outline: 3px solid rgba(32, 185, 178, .45);
  outline-offset: 4px;
}

.eq-options label > span {
  transition: transform .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease;
}

.eq-next:hover,
.eq-next:focus-visible,
.eq-submit:hover,
.eq-submit:focus-visible {
  background: #0b2341;
  color: #fff;
  filter: none;
}

.eq-back:hover,
.eq-back:focus-visible {
  background: #dce8e5;
  color: #0b2341;
  filter: none;
}

@media (max-width: 680px) {
  .eq-diagnostic {
    width: 100%;
    overflow: hidden;
  }

  .eq-step legend {
    font-size: clamp(1.45rem, 8vw, 2rem);
  }

  .eq-fields input,
  .eq-fields select,
  .eq-field-full textarea {
    font-size: 16px;
  }

  .eq-form__actions button {
    min-height: 50px;
  }

  .eq-form__actions .eq-submit {
    width: auto;
    max-width: 75%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .eq-options label > span,
  .eq-form__actions button {
    transition: none !important;
  }
}

/* Selección visible incluso en pantallas con poco contraste. */
.eq-options label > span {
  position: relative;
  padding-right: 54px;
}

.eq-options label > span::after {
  content: "✓";
  position: absolute;
  right: 18px;
  top: 50%;
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border: 1px solid rgba(11, 35, 65, .18);
  border-radius: 50%;
  color: transparent;
  font-size: .86rem;
  font-weight: 800;
  transform: translateY(-50%);
  transition: .2s ease;
}

.eq-options input:checked + span {
  border-color: #20b9b2;
  background: #173f3b;
  color: #fff;
  box-shadow: inset 4px 0 #20b9b2;
}

.eq-options input:checked + span::after {
  border-color: #20b9b2;
  background: #20b9b2;
  color: #0b2341;
}

.eq-options input:checked + span b,
.eq-options input:checked + span small {
  color: #fff;
}

@media (max-width: 680px) {
  .eq-diagnostic { padding: 34px 12px; }
  .eq-diagnostic__intro { margin-bottom: 20px; }
  .eq-diagnostic__intro h2 { margin-bottom: .7rem; font-size: clamp(1.85rem, 9vw, 2.55rem); }
  .eq-diagnostic__intro > p:last-child { font-size: .96rem; line-height: 1.55; }
  .eq-form { padding: 20px 14px 14px; border-radius: 18px; }
  .eq-progress { gap: 10px; margin-bottom: 22px; }
  .eq-step legend { font-size: 1.45rem; line-height: 1.16; }
  .eq-help { margin: .55rem 0 1rem; font-size: .9rem; line-height: 1.45; }
  .eq-options { gap: 8px; margin-top: 1rem; }
  .eq-options--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .eq-fields--two { grid-template-columns: 1fr; gap: 12px; }
  .eq-options label > span { min-height: 58px; padding: 11px 43px 11px 13px; border-radius: 12px; font-size: .92rem; line-height: 1.25; }
  .eq-options label > span::after { right: 11px; width: 23px; height: 23px; }
  .eq-options--grid label > span { min-height: 72px; padding: 10px 34px 10px 11px; font-size: .82rem; }
  .eq-options--grid label > span::after { right: 8px; width: 20px; height: 20px; font-size: .72rem; }
  .eq-options b { font-size: .95rem; }
  .eq-options small { font-size: .78rem; line-height: 1.3; }
  .eq-fields { margin-top: 1rem; }
  .eq-fields input,
  .eq-fields select,
  .eq-field-full textarea { min-height: 47px; }
  .eq-form__actions { bottom: 6px; z-index: 4; margin: 18px -4px 0; padding: 10px 4px 2px; }
  .eq-form__actions button { min-height: 46px; padding: 9px 17px; }
  .eq-contact-card { margin-top: 16px; padding: 15px 18px; }
  .eq-submit { font-size: .82rem !important; }
}

@media (max-width: 370px) {
  .eq-options--grid { grid-template-columns: 1fr; }
  .eq-options--grid label > span { min-height: 52px; }
}

.eq-turnstile { width: 100%; margin: 18px 0 8px; overflow: hidden; }
.eq-turnstile .cf-turnstile { width: 100%; }
