
.tlx-consult-shell{
  font-family:"Nunito Sans","Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--text);
}

.tlx-consult-container{
  max-width:960px;
  margin:0 auto;
}

.tlx-consult-shell[data-tlx-root-type="hero"] .tlx-consult-container{
  max-width:none;
  margin:0;
}

.tlx-consult-shell[data-tlx-root-type="hero"] .tlx-consult-card{
  padding:22px 22px 18px;
  border-radius:28px;
}

.tlx-consult-shell[data-tlx-root-type="hero"] .tlx-consult-body{
  min-height:392px;
}

.tlx-progress-header{
  margin:0 0 14px;
}

.tlx-progress-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:6px;
  font-size:13px;
  font-weight:700;
  color:#ffffff;
}

.tlx-progress-header--light .tlx-progress-meta{
  color:var(--text);
}

.tlx-progress-bar{
  width:100%;
  height:6px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  overflow:hidden;
}

.tlx-progress-header--light .tlx-progress-bar{
  background:#e9eef5;
}

.tlx-progress-fill{
  width:50%;
  height:100%;
  border-radius:inherit;
  background:var(--blue);
  transition:width .32s cubic-bezier(.16,1,.3,1);
}

.tlx-progress-header--dark .tlx-progress-fill{
  background:var(--accent);
}

.tlx-consult-card{
  position:relative;
  overflow:hidden;
  border-radius:30px;
  border:1px solid rgba(255,255,255,.12);
  background:#ffffff;
  padding:26px 26px 22px;
  box-shadow:0 18px 40px rgba(8,20,34,.18);
}

.tlx-consult-body{
  position:relative;
  min-height:420px;
  transition:min-height .32s cubic-bezier(.16,1,.3,1);
}

.tlx-consult-step,
.tlx-consult-loading,
.tlx-consult-thankyou{
  position:absolute;
  inset:0;
  opacity:0;
  transform:translateY(14px);
  pointer-events:none;
  transition:opacity .32s cubic-bezier(.16,1,.3,1), transform .32s cubic-bezier(.16,1,.3,1);
}

.tlx-consult-step.is-active,
.tlx-consult-loading.is-visible,
.tlx-consult-thankyou.is-visible{
  position:relative;
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}

.tlx-step-title{
  margin:0 0 4px;
  font-size:26px;
  line-height:1.1;
  letter-spacing:-.03em;
  font-weight:700;
  color:#121826;
}

.tlx-step-subtitle{
  margin:0 0 22px;
  font-size:14px;
  line-height:1.5;
  color:#5f6c80;
}

.tlx-service-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.tlx-service-card{
  appearance:none;
  width:100%;
  border:1px solid #e7ecf2;
  border-radius:18px;
  background:#ffffff;
  padding:20px 18px;
  text-align:left;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  cursor:pointer;
  transition:border-color .18s ease, background-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.tlx-service-card:hover{
  border-color:#cfd8e4;
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(15,23,42,.06);
}

.tlx-service-main{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.tlx-service-title{
  font-size:15px;
  line-height:1.3;
  font-weight:700;
  color:#0f1b2d;
}

.tlx-service-desc{
  font-size:13px;
  line-height:1.45;
  color:#667489;
}

.tlx-service-check{
  width:26px;
  height:26px;
  border-radius:999px;
  border:1px solid #d6dee8;
  display:grid;
  place-items:center;
  flex:0 0 26px;
  color:transparent;
  background:#ffffff;
  transition:border-color .18s ease, background-color .18s ease, color .18s ease;
}

.tlx-service-card.tlx-selected,
.tlx-service-card.tlx-selected:hover{
  border-color:var(--blue);
  background:#edf4fb;
  box-shadow:none;
}

.tlx-service-card.tlx-selected .tlx-service-check{
  border-color:var(--blue);
  background:var(--blue);
  color:#ffffff;
}

.tlx-field-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.tlx-field-grid .tlx-field--full{
  grid-column:1 / -1;
}

.tlx-field-label{
  display:block;
  margin:0 0 6px;
  font-size:14px;
  line-height:1.3;
  font-weight:700;
  color:#121826;
}

.tlx-input-wrap{
  border-radius:16px;
  border:1px solid #e1e6ee;
  background:#f8fafc;
  padding:11px 14px;
  transition:border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.tlx-input-wrap:focus-within{
  border-color:var(--blue);
  background:#ffffff;
  box-shadow:0 0 0 1px rgba(31,79,143,.2);
}

.tlx-input-wrap.is-invalid{
  border-color:#d9534f;
  background:#ffffff;
  box-shadow:0 0 0 1px rgba(217,83,79,.18);
}

.tlx-input,
.tlx-textarea{
  width:100%;
  border:0 !important;
  outline:none !important;
  background:transparent;
  color:#121826;
  font:600 14px/1.4 "Nunito Sans","Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.tlx-input::placeholder,
.tlx-textarea::placeholder{
  color:#9aa6b6;
  font-weight:600;
}

.tlx-textarea{
  resize:vertical;
  min-height:120px;
}

.tlx-field-hint{
  display:none;
  margin-top:6px;
  font-size:12px;
  line-height:1.45;
  color:#d9534f;
}

.tlx-field-hint.is-visible{
  display:block;
}

.tlx-consult-footer{
  margin-top:22px;
  padding-top:16px;
  border-top:1px solid #e6ebf2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.tlx-btn{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  font:700 14px/1 "Nunito Sans","Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  cursor:pointer;
  transition:transform .18s ease, background-color .18s ease, color .18s ease, opacity .18s ease;
}

.tlx-btn:focus-visible,
.tlx-service-card:focus-visible{
  outline:2px solid rgba(31,79,143,.35);
  outline-offset:2px;
}

.tlx-btn-back{
  color:#0f1b2d;
}

.tlx-btn-back:hover{
  transform:translateX(-1px);
}

.tlx-btn.tlx-hidden{
  opacity:0;
  pointer-events:none;
}

.tlx-btn-next{
  min-width:152px;
  min-height:44px;
  padding:0 22px;
  border-radius:999px;
  background:#eaf1f9;
  color:var(--blue);
  box-shadow:none;
}

.tlx-btn-next.tlx-active{
  background:var(--blue);
  color:#ffffff;
}

.tlx-btn-next.tlx-active:hover{
  transform:translateY(-1px);
}

.tlx-btn-next.tlx-disabled{
  opacity:.52;
  cursor:default;
}

.tlx-loading-icon-wrap,
.tlx-thanks-icon-wrap{
  width:88px;
  height:88px;
  border-radius:999px;
  display:grid;
  place-items:center;
  margin:0 auto 18px;
  background:#edf4fb;
}

.tlx-loading-spinner{
  width:38px;
  height:38px;
  border-radius:999px;
  border:3px solid rgba(31,79,143,.16);
  border-top-color:var(--blue);
  animation:tlxSpin .82s linear infinite;
}

@keyframes tlxSpin{
  to{ transform:rotate(360deg); }
}

.tlx-loading-title,
.tlx-thanks-title{
  margin:0;
  font-size:30px;
  line-height:1.02;
  letter-spacing:-.04em;
  font-weight:800;
  color:#121826;
  text-align:center;
}

.tlx-loading-sub,
.tlx-thanks-subtitle{
  margin:10px auto 0;
  max-width:42ch;
  font-size:15px;
  line-height:1.6;
  color:#5f6c80;
  text-align:center;
}

.tlx-thanks-icon{
  width:40px;
  height:40px;
  border-radius:999px;
  border:2px solid var(--blue);
  color:var(--blue);
  display:grid;
  place-items:center;
  font-size:24px;
  font-weight:800;
}

.tlx-thanks-details{
  margin:24px auto 0;
  padding:18px 18px 8px;
  border:1px solid #e7ecf2;
  border-radius:20px;
  background:#f8fafc;
  max-width:520px;
}

.tlx-thanks-details-title{
  margin:0 0 10px;
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#5f6c80;
}

.tlx-thanks-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:10px 0;
  border-top:1px solid #e7ecf2;
  font-size:15px;
}

.tlx-thanks-row strong{
  color:#5f6c80;
  font-weight:700;
}

.tlx-thanks-next{
  margin:22px auto 0;
  max-width:520px;
  text-align:left;
}

.tlx-thanks-next h3{
  margin:0 0 12px;
  font-size:18px;
  line-height:1.2;
  letter-spacing:-.02em;
}

.tlx-thanks-next ul{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:10px;
}

.tlx-thanks-next li{
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:#5f6c80;
  line-height:1.5;
}

.tlx-thanks-check{
  width:20px;
  height:20px;
  border-radius:999px;
  background:#edf4fb;
  color:var(--blue);
  display:grid;
  place-items:center;
  font-size:12px;
  font-weight:900;
  flex:0 0 20px;
  margin-top:2px;
}

.tlx-thanks-actions{
  margin-top:20px;
  text-align:center;
}

.tlx-reset-btn,
.tlx-popup-close-btn{
  min-width:148px;
  min-height:44px;
  padding:0 22px;
  border-radius:999px;
  background:var(--blue);
  color:#ffffff;
}

.tlx-reset-btn:hover,
.tlx-popup-close-btn:hover{
  transform:translateY(-1px);
}

.tlx-consult-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .24s cubic-bezier(.16,1,.3,1), visibility 0s linear .24s;
}

.tlx-consult-modal.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:opacity .24s cubic-bezier(.16,1,.3,1);
}

.tlx-consult-modal__overlay{
  position:absolute;
  inset:0;
  background:rgba(9,17,29,.48);
}

.tlx-consult-modal__dialog{
  position:relative;
  width:min(980px, calc(100% - 32px));
  max-height:calc(100dvh - 32px);
  margin:16px auto;
  border-radius:32px;
  background:#ffffff;
  overflow:auto;
  transform:translateY(18px) scale(.97);
  opacity:0;
  transition:transform .28s cubic-bezier(.16,1,.3,1), opacity .28s cubic-bezier(.16,1,.3,1);
}

.tlx-consult-modal.is-open .tlx-consult-modal__dialog{
  transform:translateY(0) scale(1);
  opacity:1;
}

.tlx-consult-modal__close{
  position:sticky;
  top:16px;
  right:16px;
  margin-left:auto;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:999px;
  border:1px solid #dfe6ef;
  background:#ffffff;
  color:#0f1b2d;
  font-size:26px;
  line-height:1;
  box-shadow:0 10px 24px rgba(8,20,34,.08);
  z-index:2;
}

.tlx-consult-modal__content{
  padding:18px 18px 22px;
}

.tlx-popup-hero{
  max-width:60ch;
  margin:4px auto 24px;
  text-align:center;
}

.tlx-popup-hero__title{
  margin:0;
  font-size:clamp(2rem,3.4vw,3.35rem);
  line-height:.95;
  letter-spacing:-.05em;
  font-weight:800;
  color:#121826;
}

.tlx-popup-hero__sub{
  margin:10px auto 0;
  max-width:46ch;
  font-size:16px;
  line-height:1.6;
  color:#5f6c80;
}

.tlx-consult-mount--popup .tlx-progress-meta{
  color:#121826;
}

.tlx-consult-mount--popup .tlx-progress-bar{
  background:#e9eef5;
}

.tlx-consult-mount--popup .tlx-progress-fill{
  background:var(--blue);
}

@media (max-width: 920px){
  .tlx-step-title{
    font-size:24px;
  }

  .tlx-consult-card{
    padding:22px 22px 20px;
  }

  .tlx-field-grid{
    grid-template-columns:1fr;
  }

  .tlx-consult-body{
    min-height:460px;
  }

  .tlx-consult-shell[data-tlx-root-type="hero"] .tlx-consult-card{
    padding:22px 22px 20px;
  }

  .tlx-consult-shell[data-tlx-root-type="hero"] .tlx-consult-body{
    min-height:460px;
  }
}

@media (max-width: 640px){
  .tlx-progress-meta{
    font-size:12px;
  }

  .tlx-consult-card{
    padding:18px 16px 16px;
    border-radius:22px;
  }

  .tlx-service-card{
    padding:16px 14px;
    border-radius:16px;
  }

  .tlx-step-title{
    font-size:21px;
  }

  .tlx-step-subtitle{
    margin-bottom:18px;
  }

  .tlx-field-grid{
    gap:14px;
  }

  .tlx-field-label{
    margin-bottom:3px;
  }

  .tlx-consult-body{
    min-height:0;
  }

  .tlx-consult-shell[data-tlx-root-type="hero"] .tlx-consult-card{
    padding:18px 16px 16px;
    border-radius:22px;
  }

  .tlx-consult-shell[data-tlx-root-type="hero"] .tlx-consult-body{
    min-height:0;
  }

  .tlx-consult-footer{
    flex-wrap:wrap;
  }

  .tlx-btn-next{
    width:100%;
  }

  .tlx-consult-modal__dialog{
    width:calc(100% - 16px);
    margin:8px auto;
    border-radius:22px;
  }

  .tlx-consult-modal__content{
    padding:12px 12px 16px;
  }

  .tlx-popup-hero{
    margin:0 auto 16px;
  }

  .tlx-popup-hero__sub{
    font-size:15px;
  }
}
