/* EDVISION enquiry form — builds on the landing .strategy-form styles. */
.edvq { max-width: 760px; width: 100%; box-sizing: border-box; scroll-margin-top: 96px; }
.edvq *, .edvq *::before, .edvq *::after { box-sizing: border-box; }
.edvq-intro { line-height: 1.5; }
.edvq fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.edvq-legend { font-family: 'Exo 2', sans-serif; font-weight: 700; font-size: 18px; color: #223466; margin-bottom: 16px; padding: 0; }
.edvq-step[hidden], .edvq [hidden] { display: none !important; }

.edvq-progress { display: flex; gap: 6px; list-style: none; margin: 0 0 24px; padding: 0; counter-reset: edvq; }
.edvq-progress li { flex: 1; counter-increment: edvq; font-family: 'Exo 2', sans-serif; font-size: 12px; font-weight: 500; color: #94A3B8; padding-top: 10px; border-top: 3px solid #E2E8F0; }
.edvq-progress li::before { content: counter(edvq) ". "; }
.edvq-progress li.is-active, .edvq-progress li.is-done { color: #223466; border-top-color: #223466; }

.edvq-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.edvq-pill input, .edvq-card input { position: absolute; opacity: 0; pointer-events: none; }
.edvq-pill span { display: inline-block; padding: 10px 16px; border-radius: 100px; border: 1px solid #E2E8F0; background: #fff; font-family: 'Exo 2', sans-serif; font-size: 14px; font-weight: 500; color: #475569; cursor: pointer; transition: all .2s ease; }
.edvq-pill input:checked + span { background: #223466; border-color: #223466; color: #fff; }
.edvq-pill input:focus-visible + span, .edvq-card input:focus-visible + span { outline: 2px solid #5E7AB8; outline-offset: 2px; }

.edvq-cards { display: grid; gap: 10px; }
.edvq-card { position: relative; display: block; }
.edvq-card span { display: block; padding: 16px 18px 16px 46px; border: 1px solid #E2E8F0; border-radius: 12px; font-family: 'Exo 2', sans-serif; font-size: 15px; color: #0F172A; cursor: pointer; transition: all .2s ease; position: relative; }
.edvq-card span::before { content: ""; position: absolute; left: 16px; top: 50%; width: 18px; height: 18px; margin-top: -9px; border: 2px solid #CBD5E1; border-radius: 50%; }
.edvq-card input:checked + span { border-color: #223466; background: #F5F7FC; box-shadow: 0 0 0 1px #223466; }
.edvq-card input:checked + span::before { border-color: #223466; background: radial-gradient(#223466 45%, transparent 50%); }

.edvq-select { appearance: none; -webkit-appearance: none; background: #fff 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' fill='none' stroke='%23223466' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 16px center; padding-right: 40px; width: 100%; }
.edvq-textarea { height: auto; min-height: 96px; padding: 14px 16px; resize: vertical; }
.edvq .strategy-form__input { width: 100%; }
.edvq-gap { margin: 8px 0 4px; }
.edvq-when { margin-bottom: 8px; }

.edvq-checks { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 20px; }
.edvq-check { display: inline-flex; align-items: center; gap: 8px; font-family: 'Exo 2', sans-serif; font-size: 14px; color: #223466; cursor: pointer; }
.edvq-check input { width: 18px; height: 18px; accent-color: #223466; }
.edvq-check--wide { margin: 4px 0 20px; }
.edvq-consent { margin-top: 10px; }

.edvq-nav { display: flex; gap: 12px; align-items: stretch; }
.edvq-btn { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; height: 56px; background: #223466; border-radius: 12px; border: none; font-family: 'Exo 2', sans-serif; font-weight: 700; font-size: 16px; color: #fff; cursor: pointer; transition: all .3s ease; text-decoration: none; }
.edvq-btn:hover { background: #1C2B57; transform: translateY(-2px); box-shadow: 0 8px 24px rgba(34, 52, 102, .25); }
.edvq-btn:disabled { opacity: .7; cursor: default; transform: none; box-shadow: none; }
.edvq-btn svg { stroke: #fff; }
.edvq-nav .edvq-btn { flex: 1; margin-top: 24px; }
.edvq-back { margin-top: 24px; padding: 0 22px; border-radius: 12px; border: 1px solid #E2E8F0; background: #fff; font-family: 'Exo 2', sans-serif; font-weight: 600; font-size: 15px; color: #223466; cursor: pointer; }
.edvq-back:hover { border-color: #223466; }
.edvq-error { margin-top: 12px; color: #d32f2f; font-family: 'Exo 2', sans-serif; font-size: 14px; text-align: center; }
.edvq-done .edvq-book { max-width: 320px; margin-top: 24px; }
.edvq-partners { margin: 20px 0 0; font-family: 'Exo 2', sans-serif; font-size: 12px; color: #98A2B3; text-align: center; }
.edvq-partners a { color: #5E7AB8; }
.edvq-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

@media (max-width: 820px) {
  .edvq { padding: 28px 20px; }
  .edvq .strategy-form__row { flex-direction: column; gap: 20px; }
  .edvq-progress li { font-size: 0; }
  .edvq-progress li::before { font-size: 12px; content: counter(edvq); }
}
.edvq .strategy-form__label span.edvq-txt { color: inherit; }
