/*
 * Chame Demo Engine — Designer Form Authority 7.9.2
 *
 * PURPOSE
 * - One authoritative, fully scoped stylesheet for the lead form.
 * - Prevent WordPress/theme/page-builder input rules from changing field colors.
 * - Keep the form visually consistent with the Designer landing palette.
 * - Do not alter form structure, validation, step logic, submission, uploads or AJAX.
 *
 * DESIGN TOKENS
 * Background: #080c15 / #0b111d
 * Panel:      #0d1220 / #0e1623
 * Field:      #0f1724
 * Field hover/focus: #111b2b
 * Text:       #f7f9fc
 * Muted:      #8998ad / #aab6c9
 * Line:       #263246 / #334158
 * Violet:     #806cff
 * Cyan:       #63ddff
 */

.cde-campaign #cde-lead-form,
.cde-campaign #cde-lead-form *{
  box-sizing:border-box;
}

.cde-campaign #cde-lead-form{
  --df-bg:#0b111d;
  --df-panel:#0d1220;
  --df-card:#0e1623;
  --df-field:#0f1724;
  --df-field-hover:#111b2b;
  --df-text:#f7f9fc;
  --df-muted:#8998ad;
  --df-soft:#aab6c9;
  --df-line:#263246;
  --df-line-strong:#334158;
  --df-violet:#806cff;
  --df-cyan:#63ddff;
  --df-green:#39d9ff;
  color:var(--df-text)!important;
  background:var(--df-bg)!important;
  opacity:1!important;
  filter:none!important;
  text-shadow:none!important;
  color-scheme:dark;
  isolation:isolate;
}

.cde-campaign #cde-lead-form.cde-form{
  background:var(--df-bg)!important;
  color:var(--df-text)!important;
  border:0!important;
  opacity:1!important;
  filter:none!important;
}

.cde-campaign #cde-lead-form .cde-form-head{
  background:transparent!important;
  color:var(--df-text)!important;
  border-color:var(--df-line)!important;
  opacity:1!important;
  filter:none!important;
}

.cde-campaign #cde-lead-form .cde-form-head>div:first-child,
.cde-campaign #cde-lead-form .cde-form-head>div:first-child small{
  color:var(--df-muted)!important;
  opacity:1!important;
}
.cde-campaign #cde-lead-form .cde-form-head>div:first-child b{color:#fff!important;}
.cde-campaign #cde-lead-form .cde-form-head>div:first-child span{color:#7f8da3!important;}
.cde-campaign #cde-lead-form .cde-progress i{background:#202b3d!important;opacity:1!important;}
.cde-campaign #cde-lead-form .cde-progress i:first-child,
.cde-campaign #cde-lead-form .cde-progress i.on{
  background:linear-gradient(90deg,var(--df-violet),var(--df-cyan))!important;
}

.cde-campaign #cde-lead-form .cde-step,
.cde-campaign #cde-lead-form .cde-step-top,
.cde-campaign #cde-lead-form .cde-field-label-row,
.cde-campaign #cde-lead-form fieldset,
.cde-campaign #cde-lead-form .cde-image-upload-grid,
.cde-campaign #cde-lead-form .cde-upload-preview,
.cde-campaign #cde-lead-form .cde-nav-row{
  opacity:1!important;
  filter:none!important;
}

.cde-campaign #cde-lead-form .cde-step h3,
.cde-campaign #cde-lead-form .cde-step label,
.cde-campaign #cde-lead-form .cde-step legend,
.cde-campaign #cde-lead-form .cde-field-title{
  color:var(--df-text)!important;
  opacity:1!important;
  text-shadow:none!important;
}
.cde-campaign #cde-lead-form .cde-step>p,
.cde-campaign #cde-lead-form .cde-step label em,
.cde-campaign #cde-lead-form .cde-form-note{
  color:var(--df-muted)!important;
  opacity:1!important;
}

/* =========================================================
 * TEXT INPUTS — deliberately explicit to defeat theme rules.
 * ========================================================= */
.cde-campaign #cde-lead-form .cde-step input[type="text"],
.cde-campaign #cde-lead-form .cde-step input[type="tel"],
.cde-campaign #cde-lead-form .cde-step input[type="email"],
.cde-campaign #cde-lead-form .cde-step input[type="url"],
.cde-campaign #cde-lead-form .cde-step input[type="number"],
.cde-campaign #cde-lead-form .cde-step input[type="search"],
.cde-campaign #cde-lead-form .cde-step input[name="name"],
.cde-campaign #cde-lead-form .cde-step input[name="whatsapp"],
.cde-campaign #cde-lead-form .cde-step input[name="academy_name"],
.cde-campaign #cde-lead-form .cde-step input[name="subject_other"],
.cde-campaign #cde-lead-form .cde-step input[name="course_names"],
.cde-campaign #cde-lead-form .cde-step textarea,
.cde-campaign #cde-lead-form .cde-step select{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:50px!important;
  min-height:50px!important;
  margin:8px 0 0!important;
  padding:12px 15px!important;
  border:1px solid var(--df-line-strong)!important;
  border-radius:13px!important;
  background-color:var(--df-field)!important;
  background-image:none!important;
  color:var(--df-text)!important;
  -webkit-text-fill-color:var(--df-text)!important;
  caret-color:var(--df-cyan)!important;
  font-family:"Cairo",system-ui,-apple-system,"Segoe UI",sans-serif!important;
  font-size:14px!important;
  font-weight:600!important;
  line-height:1.5!important;
  letter-spacing:0!important;
  outline:0!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 0 0 0 transparent!important;
  opacity:1!important;
  filter:none!important;
  text-shadow:none!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}

.cde-campaign #cde-lead-form .cde-step textarea{
  height:auto!important;
  min-height:120px!important;
  resize:vertical!important;
}

.cde-campaign #cde-lead-form .cde-step input[type="url"]{
  direction:ltr!important;
  text-align:left!important;
}

.cde-campaign #cde-lead-form .cde-step input:hover,
.cde-campaign #cde-lead-form .cde-step textarea:hover,
.cde-campaign #cde-lead-form .cde-step select:hover{
  background-color:var(--df-field-hover)!important;
  border-color:#3a4860!important;
  color:var(--df-text)!important;
  -webkit-text-fill-color:var(--df-text)!important;
}

.cde-campaign #cde-lead-form .cde-step input:focus,
.cde-campaign #cde-lead-form .cde-step textarea:focus,
.cde-campaign #cde-lead-form .cde-step select:focus{
  background-color:var(--df-field-hover)!important;
  border-color:var(--df-violet)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  caret-color:var(--df-cyan)!important;
  box-shadow:0 0 0 3px rgba(128,108,255,.18),inset 0 1px 0 rgba(255,255,255,.03)!important;
  opacity:1!important;
}

.cde-campaign #cde-lead-form .cde-step input::placeholder,
.cde-campaign #cde-lead-form .cde-step textarea::placeholder{
  color:#718099!important;
  -webkit-text-fill-color:#718099!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* Chrome / Edge autofill must retain the same dark field and light text. */
.cde-campaign #cde-lead-form .cde-step input:-webkit-autofill,
.cde-campaign #cde-lead-form .cde-step input:-webkit-autofill:hover,
.cde-campaign #cde-lead-form .cde-step input:-webkit-autofill:focus,
.cde-campaign #cde-lead-form .cde-step textarea:-webkit-autofill,
.cde-campaign #cde-lead-form .cde-step select:-webkit-autofill{
  -webkit-text-fill-color:var(--df-text)!important;
  caret-color:var(--df-cyan)!important;
  -webkit-box-shadow:0 0 0 1000px var(--df-field) inset!important;
  box-shadow:0 0 0 1000px var(--df-field) inset!important;
  border:1px solid var(--df-line-strong)!important;
}

/* Remove browser-specific clear/search buttons that can become white blocks. */
.cde-campaign #cde-lead-form input[type="search"]::-webkit-search-cancel-button,
.cde-campaign #cde-lead-form input[type="search"]::-webkit-search-decoration{
  -webkit-appearance:none!important;
  appearance:none!important;
}

/* File upload controls remain visible and belong to the same palette. */
.cde-campaign #cde-lead-form .cde-image-slot input[type="file"]{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:var(--df-soft)!important;
  -webkit-text-fill-color:var(--df-soft)!important;
  box-shadow:none!important;
  appearance:auto!important;
  -webkit-appearance:auto!important;
}

/* =========================================================
 * CHOICES / RADIO / CHECKBOXES
 * ========================================================= */
.cde-campaign #cde-lead-form .cde-choice-hint,
.cde-campaign #cde-lead-form .cde-step legend small{
  display:inline-block!important;
  background:rgba(255,255,255,.045)!important;
  border:1px solid var(--df-line)!important;
  color:#9aa8bd!important;
  border-radius:999px!important;
  opacity:1!important;
}

.cde-campaign #cde-lead-form .cde-option-grid label,
.cde-campaign #cde-lead-form .cde-budget-grid label,
.cde-campaign #cde-lead-form .cde-template-card{
  position:relative!important;
  opacity:1!important;
  filter:none!important;
}

.cde-campaign #cde-lead-form .cde-option-grid label span,
.cde-campaign #cde-lead-form .cde-budget-grid label span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:52px!important;
  padding:11px 14px!important;
  border:1px solid var(--df-line)!important;
  border-radius:13px!important;
  background:var(--df-card)!important;
  color:#cbd3df!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1.45!important;
  text-align:center!important;
  opacity:1!important;
  filter:none!important;
  text-shadow:none!important;
  transition:background .2s,border-color .2s,box-shadow .2s,color .2s,transform .2s!important;
}

.cde-campaign #cde-lead-form .cde-option-grid label:hover span,
.cde-campaign #cde-lead-form .cde-budget-grid label:hover span{
  background:#111b2b!important;
  border-color:#394b68!important;
  color:#eef3fa!important;
}

.cde-campaign #cde-lead-form .cde-option-grid input:checked+span,
.cde-campaign #cde-lead-form .cde-budget-grid input:checked+span{
  background:rgba(128,108,255,.12)!important;
  border-color:var(--df-violet)!important;
  color:#fff!important;
  box-shadow:0 0 0 2px rgba(128,108,255,.13),inset 0 0 20px rgba(128,108,255,.04)!important;
}

.cde-campaign #cde-lead-form .cde-option-grid input:checked+span:after,
.cde-campaign #cde-lead-form .cde-budget-grid input:checked+span:after{
  background:var(--df-violet)!important;
  color:#fff!important;
  opacity:1!important;
}

.cde-campaign #cde-lead-form .cde-template-card{
  background:var(--df-card)!important;
  border-color:var(--df-line)!important;
  color:#fff!important;
}
.cde-campaign #cde-lead-form .cde-template-card:hover{
  border-color:#394b68!important;
  background:#111b2b!important;
}
.cde-campaign #cde-lead-form .cde-template-card small{color:#8795aa!important;opacity:1!important;}
.cde-campaign #cde-lead-form .cde-template-card input:checked~.template-swatch{outline-color:var(--df-violet)!important;}
.cde-campaign #cde-lead-form .cde-template-card input:checked~b:before{color:var(--df-cyan)!important;}

/* =========================================================
 * IMAGE UPLOAD / PROMISE / NAVIGATION
 * ========================================================= */
.cde-campaign #cde-lead-form .cde-image-slot{
  background:var(--df-card)!important;
  border:1px dashed #344158!important;
  color:var(--df-text)!important;
  opacity:1!important;
  filter:none!important;
}
.cde-campaign #cde-lead-form .cde-image-slot:hover{
  background:#111b2b!important;
  border-color:var(--df-violet)!important;
}
.cde-campaign #cde-lead-form .cde-image-slot b{color:#f2f5fa!important;opacity:1!important;}
.cde-campaign #cde-lead-form .cde-image-slot small{color:#7f8da3!important;opacity:1!important;}

.cde-campaign #cde-lead-form .cde-upload-preview{
  color:var(--df-soft)!important;
}

.cde-campaign #cde-lead-form .cde-submit-promise{
  background:#0f1825!important;
  border:1px solid var(--df-line)!important;
  color:var(--df-text)!important;
  opacity:1!important;
}
.cde-campaign #cde-lead-form .cde-submit-promise b{color:#f0f4f9!important;}
.cde-campaign #cde-lead-form .cde-submit-promise small{color:#7f8da3!important;opacity:1!important;}

.cde-campaign #cde-lead-form .cde-next,
.cde-campaign #cde-lead-form .cde-submit{
  min-height:50px!important;
  border:1px solid rgba(255,255,255,.09)!important;
  border-radius:13px!important;
  background:linear-gradient(135deg,var(--df-violet),#5c4de5)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-weight:900!important;
  opacity:1!important;
  filter:none!important;
  box-shadow:0 10px 30px rgba(96,76,230,.24)!important;
}
.cde-campaign #cde-lead-form .cde-next:hover,
.cde-campaign #cde-lead-form .cde-submit:hover{
  background:linear-gradient(135deg,#8e7dff,#6556ed)!important;
  transform:translateY(-1px)!important;
}
.cde-campaign #cde-lead-form .cde-back{
  min-height:48px!important;
  border:1px solid #2b374b!important;
  border-radius:13px!important;
  background:#111a28!important;
  color:#dce3ee!important;
  -webkit-text-fill-color:#dce3ee!important;
  opacity:1!important;
}
.cde-campaign #cde-lead-form .cde-back:hover{
  background:#172235!important;
  border-color:#3b4961!important;
}

/* Step 4 navigation must remain above the upload grid. */
.cde-campaign #cde-lead-form .cde-step[data-step="4"] .cde-nav-row{
  position:relative!important;
  z-index:50!important;
  display:flex!important;
  pointer-events:auto!important;
}
.cde-campaign #cde-lead-form .cde-step[data-step="4"] .cde-nav-row button{
  position:relative!important;
  z-index:51!important;
  pointer-events:auto!important;
}

/* =========================================================
 * RESPONSIVE — same palette, no desktop theme leakage.
 * ========================================================= */
@media(max-width:900px){
  .cde-campaign #cde-lead-form .cde-step input[type="text"],
  .cde-campaign #cde-lead-form .cde-step input[type="tel"],
  .cde-campaign #cde-lead-form .cde-step input[type="email"],
  .cde-campaign #cde-lead-form .cde-step input[type="url"],
  .cde-campaign #cde-lead-form .cde-step input[type="number"],
  .cde-campaign #cde-lead-form .cde-step input[type="search"],
  .cde-campaign #cde-lead-form .cde-step input[name="name"],
  .cde-campaign #cde-lead-form .cde-step input[name="whatsapp"],
  .cde-campaign #cde-lead-form .cde-step input[name="academy_name"],
  .cde-campaign #cde-lead-form .cde-step input[name="subject_other"],
  .cde-campaign #cde-lead-form .cde-step input[name="course_names"],
  .cde-campaign #cde-lead-form .cde-step textarea,
  .cde-campaign #cde-lead-form .cde-step select{
    font-size:13px!important;
  }
}

@media(max-width:640px){
  .cde-campaign #cde-lead-form .cde-step input[type="text"],
  .cde-campaign #cde-lead-form .cde-step input[type="tel"],
  .cde-campaign #cde-lead-form .cde-step input[type="email"],
  .cde-campaign #cde-lead-form .cde-step input[type="url"],
  .cde-campaign #cde-lead-form .cde-step input[type="number"],
  .cde-campaign #cde-lead-form .cde-step input[type="search"],
  .cde-campaign #cde-lead-form .cde-step input[name="name"],
  .cde-campaign #cde-lead-form .cde-step input[name="whatsapp"],
  .cde-campaign #cde-lead-form .cde-step input[name="academy_name"],
  .cde-campaign #cde-lead-form .cde-step input[name="subject_other"],
  .cde-campaign #cde-lead-form .cde-step input[name="course_names"],
  .cde-campaign #cde-lead-form .cde-step textarea,
  .cde-campaign #cde-lead-form .cde-step select{
    height:49px!important;
    min-height:49px!important;
    padding:11px 13px!important;
  }
  .cde-campaign #cde-lead-form .cde-step textarea{height:auto!important;min-height:110px!important;}
  .cde-campaign #cde-lead-form .cde-option-grid label span,
  .cde-campaign #cde-lead-form .cde-budget-grid label span{
    min-height:48px!important;
    padding:9px 8px!important;
    font-size:11px!important;
  }
}
