/* =============================================================
   IDATA Elementor Widgets – CTA
   Phụ thuộc: idata-core
============================================================= */

/* =========================================================
   2. CTA + FORM
========================================================= */
.idata-cta {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--idata-gradient-dark);
  color: var(--idata-on-dark);
}
.idata-cta__orb {
  position: absolute;
  z-index: -1;
  width: 560px;
  height: 560px;
  left: -180px;
  bottom: -240px;
  border-radius: 50%;
  background: rgba(12, 111, 214, 0.38);
  filter: blur(130px);
  pointer-events: none;
}

.idata-cta__inner {
  display: grid;
  grid-template-columns: 1fr 0.9fr;
  gap: var(--idata-space-9);
  align-items: start;
}

.idata-cta__desc {
  margin-top: var(--idata-space-5);
  font-size: var(--idata-fs-lead);
  color: var(--idata-on-dark-muted);
}
.idata-cta__points { display: grid; gap: 12px; margin-top: var(--idata-space-6); }
.idata-cta__points li {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  font-size: var(--idata-fs-sm);
  color: var(--idata-on-dark-muted);
}
.idata-cta__points svg { color: var(--idata-gold); flex-shrink: 0; margin-top: 4px; }

.idata-cta__contact {
  display: flex;
  flex-wrap: wrap;
  gap: var(--idata-space-6);
  margin-top: var(--idata-space-7);
  padding-top: var(--idata-space-6);
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}
.idata-cta__contact li { display: flex; flex-direction: column; gap: 3px; }
.idata-cta__contact-label {
  font-size: var(--idata-fs-xs);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
}
.idata-cta__contact a {
  font-size: var(--idata-fs-sm);
  font-weight: var(--idata-font-weight-semibold);
  color: #fff;
  transition: color var(--idata-transition-fast);
}
.idata-cta__contact a:hover { color: var(--idata-gold); }

/* ---------- FORM ---------- */
.idata-form {
  padding: var(--idata-space-7);
  background: var(--idata-surface);
  border-radius: var(--idata-radius-lg);
  box-shadow: var(--idata-shadow-lg);
  color: var(--idata-text);
}
.idata-form__title {
  font-size: var(--idata-fs-h3);
  font-weight: var(--idata-font-weight-bold);
  color: var(--idata-heading);
  margin-bottom: var(--idata-space-5);
}

.idata-form__row { display: flex; flex-direction: column; margin-bottom: var(--idata-space-4); }
.idata-form__row--split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--idata-space-4);
}
.idata-form__col { display: flex; flex-direction: column; }

.idata-form__label {
  margin-bottom: 7px;
  font-size: var(--idata-fs-sm);
  font-weight: var(--idata-font-weight-semibold);
  color: var(--idata-heading);
}
.idata-form__required { color: var(--idata-danger); }

.idata-form__input,
.idata-form__select,
.idata-form__textarea {
  width: 100%;
  padding: 12px 14px;
  background: var(--idata-bg);
  border: 1px solid var(--idata-border);
  border-radius: var(--idata-radius-sm);
  font-size: var(--idata-fs-sm);
  transition: border-color var(--idata-transition-fast), background-color var(--idata-transition-fast),
              box-shadow var(--idata-transition-fast);
}
.idata-form__textarea { resize: vertical; min-height: 104px; }
.idata-form__input:focus,
.idata-form__select:focus,
.idata-form__textarea:focus {
  background: var(--idata-surface);
  border-color: var(--idata-primary);
  box-shadow: 0 0 0 3px rgba(12, 111, 214, 0.14);
}
.idata-form__input::placeholder,
.idata-form__textarea::placeholder { color: var(--idata-muted-light); }

.idata-form__row.has-error .idata-form__input,
.idata-form__row.has-error .idata-form__select,
.idata-form__row.has-error .idata-form__textarea,
.idata-form__col.has-error .idata-form__input {
  border-color: var(--idata-danger);
  background: var(--idata-danger-bg);
}

.idata-form__error {
  display: block;
  min-height: 1.1em;
  margin-top: 5px;
  font-size: var(--idata-fs-xs);
  color: var(--idata-danger);
}

.idata-form__row--consent {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: var(--idata-space-5);
}
.idata-form__checkbox {
  width: 18px;
  height: 18px;
  margin-top: 3px;
  accent-color: var(--idata-primary);
  flex-shrink: 0;
}
.idata-form__consent-label {
  flex: 1;
  min-width: 0;
  font-size: var(--idata-fs-xs);
  line-height: 1.6;
  color: var(--idata-muted);
}
.idata-form__consent-label a { color: var(--idata-primary); text-decoration: underline; }
.idata-form__row--consent .idata-form__error { width: 100%; }

.idata-form__success {
  margin-top: var(--idata-space-4);
  padding: 13px 16px;
  border-radius: var(--idata-radius-sm);
  background: var(--idata-success-bg);
  color: var(--idata-success);
  font-size: var(--idata-fs-sm);
  font-weight: var(--idata-font-weight-semibold);
}
.idata-form__success--compact {
  margin-top: 8px;
  padding: 8px 12px;
  font-size: var(--idata-fs-xs);
}


/* ============ RESPONSIVE ============ */

@media (max-width: 1024px) {
  .idata-cta__inner { grid-template-columns: 1fr; gap: var(--idata-space-8); }
}

@media (max-width: 480px) {
  .idata-form { padding: var(--idata-space-5); }
  .idata-form__row--split { grid-template-columns: 1fr; gap: 0; }
  .idata-cta__contact { flex-direction: column; gap: var(--idata-space-4); }
}

/* ============ MODIFIER ============ */
.idata-form__policy-link { color: var(--idata-primary); text-decoration: underline; }
