/* ============================================================
   ESSE INDIA — TECHNICAL-EVALUATION.CSS
   Complete styles for Technical Evaluation page + Forminator
   ============================================================ */

/* ============================================================
   1. HERO
   ============================================================ */
.te-hero {
  position: relative;
  background:
    radial-gradient(circle at 85% 15%, rgba(245, 180, 0, .18), transparent 50%),
    radial-gradient(circle at 15% 85%, rgba(139, 92, 246, .25), transparent 55%),
    linear-gradient(150deg, #0b0620 0%, #1a0d3d 50%, #321a7a 100%);
  color: #fff;
  padding: 45px 0 50px;
  overflow: hidden;
}
.te-hero-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
}
.te-shape {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, .08);
}
.te-shape.s1 {
  width: 340px; height: 340px;
  top: -80px; right: -60px;
  background: radial-gradient(circle, rgba(106, 53, 230, .18), transparent 70%);
}
.te-shape.s2 {
  width: 220px; height: 220px;
  bottom: -60px; left: 5%;
  background: radial-gradient(circle, rgba(245, 180, 0, .12), transparent 70%);
}
.te-shape.s3 {
  width: 120px; height: 120px;
  top: 40%; left: 55%;
  background: rgba(255, 255, 255, .02);
}

.te-hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 56px;
  align-items: center;
}

.te-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .18);
  color: var(--gold-light);
  padding: 7px 18px;
  border-radius: 999px;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .4px;
  margin-bottom: 20px;
}
.te-badge i { font-size: 12px; }

.te-hero h1 {
  font-size: clamp(32px, 4.8vw, 56px);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -1.5px;
  margin-bottom: 20px;
  color: #fff;
}
.te-hero h1 .grad-text {
  background: linear-gradient(135deg, #ffd76b, #f5b400);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.te-lead {
  color: rgba(255, 255, 255, .78);
  font-size: 16.5px;
  line-height: 1.75;
  max-width: 540px;
  margin-bottom: 30px;
}

.te-hero-ctas {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 34px;
}

.te-hero-points {
  display: flex;
  gap: 26px;
  flex-wrap: wrap;
}
.te-point {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.te-point > i {
  width: 40px; height: 40px;
  border-radius: 12px;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .12);
  color: var(--gold-light);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  flex-shrink: 0;
}
.te-point b {
  display: block;
  font-size: 13.5px;
  color: #fff;
  font-weight: 700;
  margin-bottom: 2px;
}
.te-point span {
  font-size: 12px;
  color: rgba(255, 255, 255, .6);
}

/* Glass card */
.te-glass-card {
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .14);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-radius: 22px;
  padding: 30px 28px;
  box-shadow: 0 30px 70px -30px rgba(0, 0, 0, .55);
}
.te-card-head {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-bottom: 18px;
  margin-bottom: 18px;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}
.te-card-head > i {
  width: 46px; height: 46px;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--purple-500), var(--purple-800));
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 19px;
  flex-shrink: 0;
  box-shadow: 0 10px 22px -8px rgba(106, 53, 230, .55);
}
.te-card-tag {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .6px;
  text-transform: uppercase;
  color: var(--gold-light);
  display: block;
  margin-bottom: 3px;
}
.te-card-head h3 {
  font-size: 18px;
  font-weight: 800;
  color: #fff;
  margin: 0;
}
.te-card-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.te-card-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  color: rgba(255, 255, 255, .88);
  line-height: 1.5;
}
.te-card-list li i {
  color: #5be0d3;
  font-size: 14px;
  margin-top: 3px;
  flex-shrink: 0;
}

/* ============================================================
   2. FORM SECTION
   ============================================================ */
.te-form-section {
  padding: 90px 0 70px;
  background: #fff;
}

.te-form-head {
  text-align: center;
  max-width: 620px;
  margin: 0 auto 40px;
}
.te-form-head h2 {
  font-size: clamp(26px, 3.4vw, 36px);
  font-weight: 800;
  color: var(--ink);
  margin-bottom: 12px;
}

.te-form-card {
  max-width: 760px;
  margin: 0 auto;
  background: #fff;
  border-radius: 24px;
  border: 1px solid var(--lilac-100);
  box-shadow: 0 30px 70px -30px rgba(26, 13, 61, .25);
  padding: 40px 40px 34px;
}

/* ============================================================
   3. FORMINATOR OVERRIDES
   ============================================================ */
.te-forminator-wrap .forminator-ui.forminator-custom-form {
  margin: 0 !important;
  font-family: var(--font-body) !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
}

.te-forminator-wrap .forminator-row {
  margin-bottom: 20px !important;
}
.te-forminator-wrap .forminator-col {
  padding: 0 6px !important;
}
.te-forminator-wrap .forminator-row [class*="forminator-col"] {
  margin-bottom: 0 !important;
}

/* ---------- Labels ---------- */
.te-forminator-wrap .forminator-label {
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--ink) !important;
  margin-bottom: 8px !important;
  padding: 0 !important;
  display: block !important;
  line-height: 1.4 !important;
}
.te-forminator-wrap .forminator-label .forminator-required {
  color: #e74c3c !important;
  margin-left: 2px !important;
}

/* ---------- Wrapper reset ---------- */
.te-forminator-wrap .forminator-input,
.te-forminator-wrap .forminator-textarea,
.te-forminator-wrap .forminator-select {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.te-forminator-wrap .forminator-field {
  padding: 0 !important;
  position: relative !important;
}

/* ---------- Text Inputs ---------- */
.te-forminator-wrap .forminator-input,
.te-forminator-wrap input[type="text"],
.te-forminator-wrap input[type="email"],
.te-forminator-wrap input[type="tel"],
.te-forminator-wrap input[type="number"],
.te-forminator-wrap input[type="url"],
.te-forminator-wrap input[type="date"] {
  width: 100% !important;
  height: auto !important;
  min-height: 48px !important;
  padding: 13px 16px !important;
  border: 1.5px solid var(--lilac-200) !important;
  border-radius: 12px !important;
  background: var(--lilac-50) !important;
  font-family: var(--font-body) !important;
  font-size: 14.5px !important;
  font-weight: 400 !important;
  color: var(--ink) !important;
  line-height: 1.4 !important;
  box-sizing: border-box !important;
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease !important;
  outline: none !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  margin: 0 !important;
}

/* ---------- Placeholder ---------- */
.te-forminator-wrap .forminator-input::placeholder,
.te-forminator-wrap input::placeholder,
.te-forminator-wrap .forminator-textarea::placeholder,
.te-forminator-wrap textarea::placeholder {
  color: #a6a6b8 !important;
  opacity: 1 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: normal !important;
  text-overflow: ellipsis !important;
}

/* ---------- Focus state ---------- */
.te-forminator-wrap .forminator-input:focus,
.te-forminator-wrap .forminator-textarea:focus,
.te-forminator-wrap input:focus,
.te-forminator-wrap textarea:focus {
  border-color: var(--purple-500) !important;
  background: #fff !important;
  box-shadow: 0 0 0 4px rgba(106, 53, 230, .14) !important;
}

/* ---------- Textarea ---------- */
.te-forminator-wrap .forminator-textarea,
.te-forminator-wrap textarea {
  width: 100% !important;
  min-height: 120px !important;
  padding: 13px 16px !important;
  border: 1.5px solid var(--lilac-200) !important;
  border-radius: 12px !important;
  background: var(--lilac-50) !important;
  font-family: var(--font-body) !important;
  font-size: 14.5px !important;
  color: var(--ink) !important;
  line-height: 1.6 !important;
  resize: vertical !important;
  box-sizing: border-box !important;
  outline: none !important;
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease !important;
}

/* ============================================================
   PHONE FIELD FIX — Forminator + intl-tel-input (iti)
   ============================================================ */
.te-forminator-wrap .forminator-iti-input {
  position: relative !important;
  width: 100% !important;
  display: block !important;
}

.te-forminator-wrap .forminator-iti-input .iti__country-container {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  height: 100% !important;
  z-index: 5 !important;
}

.te-forminator-wrap .forminator-iti-input .iti__selected-country {
  height: 100% !important;
  padding: 0 10px 0 14px !important;
  display: flex !important;
  align-items: center !important;
  background: transparent !important;
  border: none !important;
  border-radius: 12px 0 0 12px !important;
  cursor: pointer !important;
  color: var(--ink) !important;
  font-family: var(--font-body) !important;
}
.te-forminator-wrap .forminator-iti-input .iti__selected-country:hover,
.te-forminator-wrap .forminator-iti-input .iti__selected-country:focus {
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}

.te-forminator-wrap .forminator-iti-input .iti__selected-country-primary {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}
.te-forminator-wrap .forminator-iti-input .iti__flag {
  margin: 0 !important;
}
.te-forminator-wrap .forminator-iti-input .iti__arrow {
  margin-left: 4px !important;
}
.te-forminator-wrap .forminator-iti-input .iti__selected-dial-code {
  margin-left: 8px !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  color: var(--ink) !important;
  line-height: 1 !important;
}

.te-forminator-wrap .forminator-iti-input input.forminator-input,
.te-forminator-wrap .forminator-iti-input input.forminator-field--phone,
.te-forminator-wrap .forminator-iti-input input.iti__tel-input,
.te-forminator-wrap input#forminator-field-phone-1,
.te-forminator-wrap input[name="phone-1"] {
  padding-left: 110px !important;
  padding-right: 16px !important;
}

.te-forminator-wrap .forminator-field.forminator-has_error .forminator-iti-input input.forminator-input,
.te-forminator-wrap .forminator-field.forminator-has_error input.forminator-field--phone,
.te-forminator-wrap .forminator-field.forminator-has_error input.iti__tel-input {
  padding-left: 110px !important;
}

.te-forminator-wrap .forminator-iti-input .iti__dropdown-content {
  z-index: 9999 !important;
}

@media (max-width: 640px) {
  .te-forminator-wrap .forminator-iti-input input.forminator-input,
  .te-forminator-wrap .forminator-iti-input input.forminator-field--phone,
  .te-forminator-wrap .forminator-iti-input input.iti__tel-input {
    padding-left: 100px !important;
  }
}

/* ============================================================
   SELECT2 DROPDOWN FIX — Forminator uses Select2, not native select
   ============================================================ */

/* Hide native (screen-reader only) select */
.te-forminator-wrap select.forminator-select2-multiple,
.te-forminator-wrap select.forminator-screen-reader-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* ----- Container ----- */
.te-forminator-wrap .select2-container.forminator-select {
  width: 100% !important;
  display: block !important;
}

/* ----- The visible box ----- */
.te-forminator-wrap .select2-container .select2-selection--single {
  height: auto !important;
  min-height: 48px !important;
  padding: 0 45px 0 16px !important;
  border: 1.5px solid var(--lilac-200) !important;
  border-radius: 12px !important;
  background: var(--lilac-50) !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease !important;
  outline: none !important;
  position: relative !important;
}

/* Focus / open state */
.te-forminator-wrap .select2-container--focus .select2-selection--single,
.te-forminator-wrap .select2-container--open .select2-selection--single {
  border-color: var(--purple-500) !important;
  background: #fff !important;
  box-shadow: 0 0 0 4px rgba(106, 53, 230, .14) !important;
}

/* Error state */
.te-forminator-wrap .forminator-field.forminator-has_error .select2-container .select2-selection--single {
  border-color: #e74c3c !important;
  background: #fdf0ef !important;
}

/* ----- Rendered text ----- */
.te-forminator-wrap .select2-container .select2-selection__rendered {
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1.4 !important;
  font-family: var(--font-body) !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  color: var(--ink) !important;
  display: flex !important;
  align-items: center !important;
  min-height: 46px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* ----- Placeholder ----- */
.te-forminator-wrap .select2-container .select2-selection__placeholder {
  color: #a6a6b8 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
}

/* ----- Arrow ----- */
.te-forminator-wrap .select2-container .select2-selection__arrow {
  position: absolute !important;
  right: 16px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  height: 14px !important;
  width: 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  border: none !important;
}
.te-forminator-wrap .select2-container .select2-selection__arrow b {
  display: none !important;
  border: none !important;
  margin: 0 !important;
  width: 0 !important;
  height: 0 !important;
}

/* Forminator's own chevron icon (inside arrow) */
.te-forminator-wrap .select2-container .select2-selection__arrow .forminator-icon-chevron-down,
.te-forminator-wrap .select2-container .select2-selection__arrow [class*="forminator-icon"] {
  display: inline-block !important;
  color: var(--purple-500) !important;
  font-size: 12px !important;
  line-height: 1 !important;
  transition: transform .2s ease !important;
}

/* Rotate chevron when open */
.te-forminator-wrap .select2-container--open .select2-selection__arrow .forminator-icon-chevron-down,
.te-forminator-wrap .select2-container--open .select2-selection__arrow [class*="forminator-icon"] {
  transform: rotate(180deg) !important;
}

/* ============================================================
   SELECT2 — DROPDOWN PANEL (opened list)
   ============================================================ */

/* Panel container */
.te-forminator-wrap .select2-dropdown,
body .select2-dropdown.forminator-select2-dropdown,
body .forminator-ui .select2-dropdown {
  border: 1.5px solid var(--lilac-200) !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 20px 45px -15px rgba(26, 13, 61, .25) !important;
  overflow: hidden !important;
  margin-top: 6px !important;
  z-index: 99999 !important;
  font-family: var(--font-body) !important;
}

/* Above / below variants */
.te-forminator-wrap .select2-dropdown--above,
body .select2-dropdown.select2-dropdown--above {
  margin-top: 0 !important;
  margin-bottom: 6px !important;
}

/* Search box (if search enabled) */
.te-forminator-wrap .select2-dropdown .select2-search--dropdown,
body .select2-dropdown .select2-search--dropdown {
  padding: 10px !important;
  border-bottom: 1px solid var(--lilac-100) !important;
}
.te-forminator-wrap .select2-dropdown .select2-search__field,
body .select2-dropdown .select2-search__field {
  width: 100% !important;
  min-height: 40px !important;
  padding: 8px 12px !important;
  border: 1.5px solid var(--lilac-200) !important;
  border-radius: 8px !important;
  background: var(--lilac-50) !important;
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  color: var(--ink) !important;
  outline: none !important;
  box-sizing: border-box !important;
}
.te-forminator-wrap .select2-dropdown .select2-search__field:focus,
body .select2-dropdown .select2-search__field:focus {
  border-color: var(--purple-500) !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(106, 53, 230, .14) !important;
}

/* Results list */
.te-forminator-wrap .select2-results,
body .select2-results {
  padding: 6px !important;
  max-height: 260px !important;
}
.te-forminator-wrap .select2-results__options,
body .select2-results__options {
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
  max-height: 250px !important;
}

/* Each option */
.te-forminator-wrap .select2-results__option,
body .select2-results__option {
  padding: 10px 14px !important;
  margin: 0 !important;
  border-radius: 8px !important;
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--ink) !important;
  line-height: 1.4 !important;
  cursor: pointer !important;
  transition: background .15s ease, color .15s ease !important;
  background: transparent !important;
}

/* Hover / highlighted */
.te-forminator-wrap .select2-results__option--highlighted,
.te-forminator-wrap .select2-results__option--highlighted[aria-selected],
body .select2-results__option--highlighted {
  background: var(--lilac-100) !important;
  color: var(--purple-800) !important;
}

/* Currently selected */
.te-forminator-wrap .select2-results__option[aria-selected="true"],
body .select2-results__option[aria-selected="true"] {
  background: var(--purple-500) !important;
  color: #fff !important;
  font-weight: 600 !important;
}
.te-forminator-wrap .select2-results__option[aria-selected="true"].select2-results__option--highlighted,
body .select2-results__option[aria-selected="true"].select2-results__option--highlighted {
  background: var(--purple-600, var(--purple-500)) !important;
  color: #fff !important;
}

/* "No results" */
.te-forminator-wrap .select2-results__message,
body .select2-results__message {
  padding: 14px 16px !important;
  font-size: 13.5px !important;
  color: var(--gray, #7a7a8c) !important;
  text-align: center !important;
}

/* Group labels (if any) */
.te-forminator-wrap .select2-results__group,
body .select2-results__group {
  padding: 8px 14px !important;
  font-size: 11.5px !important;
  font-weight: 800 !important;
  letter-spacing: .4px !important;
  text-transform: uppercase !important;
  color: var(--gray, #7a7a8c) !important;
  background: #faf9ff !important;
}

/* ============================================================
   FALLBACK — plain native selects (for safety)
   ============================================================ */
.te-forminator-wrap select.forminator-select--field:not(.forminator-select2) {
  width: 100% !important;
  min-height: 48px !important;
  padding: 13px 45px 13px 16px !important;
  border: 1.5px solid var(--lilac-200) !important;
  border-radius: 12px !important;
  background-color: var(--lilac-50) !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'><path d='M1 1l6 6 6-6' stroke='%236a35e6' stroke-width='2.2' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  background-size: 14px 9px !important;
  font-family: var(--font-body) !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  color: var(--ink) !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  outline: none !important;
}

/* ---------- RADIO / CHECKBOX ---------- */
.te-forminator-wrap .forminator-radio,
.te-forminator-wrap .forminator-checkbox {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 12px 16px !important;
  border: 1.5px solid var(--lilac-200) !important;
  border-radius: 12px !important;
  background: var(--lilac-50) !important;
  margin: 0 0 10px 0 !important;
  cursor: pointer !important;
  font-size: 14px !important;
  color: var(--ink) !important;
  line-height: 1.4 !important;
  transition: all .2s ease !important;
}
.te-forminator-wrap .forminator-radio:last-child,
.te-forminator-wrap .forminator-checkbox:last-child {
  margin-bottom: 0 !important;
}
.te-forminator-wrap .forminator-radio:hover,
.te-forminator-wrap .forminator-checkbox:hover {
  border-color: var(--purple-400) !important;
  background: #fff !important;
}
.te-forminator-wrap .forminator-radio input,
.te-forminator-wrap .forminator-checkbox input {
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  accent-color: var(--purple-500) !important;
  flex-shrink: 0 !important;
  cursor: pointer !important;
}
.te-forminator-wrap .forminator-checkbox__wrapper,
.te-forminator-wrap .forminator-radio__wrapper {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
}
@media (max-width: 640px) {
  .te-forminator-wrap .forminator-checkbox__wrapper,
  .te-forminator-wrap .forminator-radio__wrapper {
    grid-template-columns: 1fr !important;
  }
}

/* ---------- Name Field (grouped) ---------- */
.te-forminator-wrap .forminator-name--field {
  display: flex !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}
.te-forminator-wrap .forminator-name--field > div {
  flex: 1 !important;
  min-width: 140px !important;
}
.te-forminator-wrap .forminator-name--field .forminator-label {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--gray) !important;
  margin-bottom: 6px !important;
}

/* ---------- Submit Button ---------- */
.te-forminator-wrap .forminator-button-submit,
.te-forminator-wrap button[type="submit"] {
  width: 100% !important;
  padding: 16px 32px !important;
  border: none !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, var(--purple-500), var(--purple-800)) !important;
  color: #fff !important;
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  font-size: 15.5px !important;
  letter-spacing: .3px !important;
  cursor: pointer !important;
  transition: all .3s ease !important;
  box-shadow: 0 14px 28px -10px rgba(75, 33, 196, .5) !important;
  margin-top: 8px !important;
  height: auto !important;
  min-height: 54px !important;
}
.te-forminator-wrap .forminator-button-submit:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 20px 36px -10px rgba(75, 33, 196, .6) !important;
}

.te-forminator-wrap .forminator-button-submit.forminator-button-loading {
  opacity: .75 !important;
  pointer-events: none !important;
}

/* ---------- Validation / Messages ---------- */
.te-forminator-wrap .forminator-response-message.forminator-success {
  background: #e8f8ee !important;
  border: 1.5px solid #b9ecc9 !important;
  color: #146c3c !important;
  border-radius: 12px !important;
  padding: 18px 22px !important;
  text-align: center !important;
  font-weight: 600 !important;
  font-size: 14.5px !important;
  line-height: 1.5 !important;
}
.te-forminator-wrap .forminator-response-message.forminator-error {
  background: #fdecec !important;
  border: 1.5px solid #f6c2c2 !important;
  color: #a3272c !important;
  border-radius: 12px !important;
  padding: 14px 18px !important;
  font-size: 14px !important;
}

.te-forminator-wrap .forminator-error-message {
  font-size: 12px !important;
  color: #c0392b !important;
  margin-top: 6px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  display: block !important;
}

.te-forminator-wrap .forminator-field.forminator-has_error .forminator-input,
.te-forminator-wrap .forminator-field.forminator-has_error .forminator-textarea,
.te-forminator-wrap .forminator-field.forminator-has_error select {
  border-color: #e74c3c !important;
  background: #fdf0ef !important;
}

/* ---------- Hide Forminator Branding ---------- */
.te-forminator-wrap .forminator-powered-by {
  display: none !important;
}

/* ---------- Notice (plugin missing) ---------- */
.te-notice {
  text-align: center;
  padding: 40px 20px;
  background: #fffbf0;
  border: 1.5px dashed var(--gold);
  border-radius: 12px;
  color: #b8860b;
}
.te-notice i { font-size: 30px; display: block; margin-bottom: 12px; }
.te-notice p { margin: 0; font-weight: 600; font-size: 14px; }

/* ============================================================
   4. PROCESS STEPS
   ============================================================ */
.te-process {
  padding: 80px 0;
  background: var(--lilac-50);
}
.te-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}
.te-step {
  background: #fff;
  border-radius: 18px;
  padding: 28px 22px 24px;
  text-align: center;
  border: 1px solid var(--lilac-100);
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
  position: relative;
}
.te-step:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 50px -20px rgba(75, 33, 196, .25);
  border-color: var(--purple-300);
}
.te-step-num {
  position: absolute;
  top: 14px; right: 18px;
  font-family: var(--font-display);
  font-size: 34px;
  font-weight: 900;
  color: var(--lilac-100);
  line-height: 1;
}
.te-step-icon {
  width: 56px; height: 56px;
  border-radius: 16px;
  background: linear-gradient(135deg, var(--lilac-100), #e2d5fc);
  color: var(--purple-600);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  margin: 0 auto 16px;
  transition: transform .3s ease, background .3s ease, color .3s ease;
}
.te-step:hover .te-step-icon {
  background: linear-gradient(135deg, var(--purple-500), var(--purple-800));
  color: #fff;
  transform: rotate(-6deg) scale(1.08);
}
.te-step h4 {
  font-size: 15.5px;
  font-weight: 800;
  margin-bottom: 8px;
  color: var(--ink);
}
.te-step p {
  font-size: 13px;
  color: var(--gray);
  line-height: 1.6;
  margin: 0;
}

/* ============================================================
   5. WHY US
   ============================================================ */
.te-why {
  padding: 80px 0;
  background: #fff;
}
.te-why-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.te-why-card {
  background: #fff;
  border-radius: 18px;
  padding: 26px 22px;
  border: 1px solid var(--lilac-100);
  text-align: center;
  transition: transform .3s ease, box-shadow .3s ease;
}
.te-why-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 50px -20px rgba(75, 33, 196, .22);
  border-color: var(--purple-300);
}
.te-why-icon {
  width: 54px; height: 54px;
  border-radius: 15px;
  background: var(--lilac-100);
  color: var(--purple-600);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 21px;
  margin: 0 auto 14px;
  transition: transform .3s ease, background .3s ease, color .3s ease;
}
.te-why-card:hover .te-why-icon {
  background: var(--purple-600);
  color: #fff;
  transform: rotate(-6deg) scale(1.08);
}
.te-why-card h4 {
  font-size: 15.5px;
  font-weight: 800;
  margin-bottom: 8px;
  color: var(--ink);
}
.te-why-card p {
  font-size: 13px;
  color: var(--gray);
  line-height: 1.6;
  margin: 0;
}

/* ============================================================
   6. FAQ
   ============================================================ */
.te-faq {
  padding: 80px 0;
  background: var(--lilac-50);
}

/* ============================================================
   7. RESPONSIVE
   ============================================================ */
@media (max-width: 1024px) {
  .te-hero-grid { grid-template-columns: 1fr; gap: 40px; }
  .te-hero { padding: 70px 0 80px; }
  .te-steps { grid-template-columns: repeat(2, 1fr); }
  .te-why-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
  .te-hero { padding: 50px 0 60px; }
  .te-hero h1 { font-size: 30px; letter-spacing: -.5px; }
  .te-hero-ctas { flex-direction: column; }
  .te-hero-ctas .btn { width: 100%; justify-content: center; }
  .te-hero-points { gap: 16px; }
  .te-glass-card { padding: 24px 22px; }
  .te-form-section { padding: 60px 0 50px; }
  .te-form-card { padding: 26px 20px; border-radius: 20px; }
  .te-steps { grid-template-columns: 1fr; }
  .te-why-grid { grid-template-columns: 1fr; }
  .te-process,
  .te-why,
  .te-faq { padding: 60px 0; }

  /* Forminator mobile */
  .te-forminator-wrap .forminator-row { margin-bottom: 16px !important; }
  .te-forminator-wrap .forminator-col {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
  }
  .te-forminator-wrap .forminator-name--field {
    flex-direction: column !important;
    gap: 10px !important;
  }
  .te-forminator-wrap .forminator-input,
  .te-forminator-wrap .forminator-textarea,
  .te-forminator-wrap select,
  .te-forminator-wrap .select2-container .select2-selection__rendered {
    font-size: 15px !important;
  }
  .te-forminator-wrap .forminator-button-submit {
    font-size: 15px !important;
    padding: 15px 24px !important;
  }
}

/* ============================================================
   8. REDUCED MOTION
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
  .te-step,
  .te-why-card,
  .te-glass-card,
  .te-step-icon,
  .te-why-icon {
    transition: none !important;
  }
}