/* ════════════════════════════════════════════════════════════
   DataLiftor Contact Popup — front-end styles
   All classes prefixed `dlcp` — never conflict with theme/Elementor
   ════════════════════════════════════════════════════════════ */

.dlcp-overlay,.dlcp-overlay *,.dlcp-overlay *::before,.dlcp-overlay *::after{box-sizing:border-box}
.dlcp-overlay{
  --dlcp-navy:#19376D;
  --dlcp-navy-deep:#0A1633;
  --dlcp-navy-dark:#0f2552;
  --dlcp-azure:#1E5FE8;
  --dlcp-azure-bright:#3B82F6;
  --dlcp-indigo:#6366F1;
  --dlcp-sky:#A5D7E8;
  --dlcp-sky-soft:rgba(30,95,232,.08);
  --dlcp-pearl:#EEF3FB;
  --dlcp-sapphire:#D8E4F6;
  --dlcp-ink:#0A1633;
  --dlcp-slate:#1e293b;
  --dlcp-muted:#475569;
  --dlcp-border:rgba(15,23,42,.10);
  --dlcp-bg:#ffffff;
  --dlcp-field-bg:#f8fafc;
  --dlcp-trans:.22s cubic-bezier(.4,0,.2,1);
  --dlcp-font:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;

  position:fixed!important;
  inset:0;
  width:100vw;
  height:100vh;
  background:rgba(15,23,42,.55);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  display:flex;align-items:center;justify-content:center;
  padding:1.5rem;
  opacity:0;
  visibility:hidden;
  transition:opacity var(--dlcp-trans),visibility var(--dlcp-trans);
  z-index:2147483647!important;  /* highest possible — above the nav mobile menu */
  font-family:var(--dlcp-font);
  color:var(--dlcp-ink);
  -webkit-font-smoothing:antialiased;
  pointer-events:none;
}
.dlcp-overlay.is-open{opacity:1;visibility:visible;pointer-events:auto}

.dlcp-modal{
  background:linear-gradient(135deg, #ffffff 0%, var(--dlcp-pearl) 100%);
  border:1px solid rgba(30,95,232,.08);
  border-radius:16px;
  box-shadow:0 25px 70px rgba(15,23,42,.30);
  width:100%;
  max-width:540px;
  max-height:calc(100vh - 3rem);
  overflow-y:auto;
  position:relative;
  padding:2rem 2rem 1.75rem;
  transform:translateY(20px) scale(.97);
  transition:transform var(--dlcp-trans)
}
.dlcp-overlay.is-open .dlcp-modal{transform:translateY(0) scale(1)}

.dlcp-close{
  position:absolute;
  top:14px;right:14px;
  width:36px;height:36px;
  display:inline-flex;align-items:center;justify-content:center;
  background:transparent;border:none;cursor:pointer;
  color:var(--dlcp-slate);
  border-radius:8px;
  transition:background var(--dlcp-trans),color var(--dlcp-trans);
  padding:0
}
.dlcp-close:hover{background:rgba(99,102,241,.08);color:var(--dlcp-indigo)}
.dlcp-close svg{width:20px;height:20px}

.dlcp-header{margin-bottom:1.25rem;padding-right:2rem}
.dlcp-heading{
  margin:0 0 .35rem;
  font-size:1.4rem;font-weight:800;
  background:linear-gradient(135deg, var(--dlcp-navy-deep) 0%, var(--dlcp-navy) 25%, var(--dlcp-azure) 55%, var(--dlcp-azure-bright) 85%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent;
  letter-spacing:-.015em;line-height:1.25
}
.dlcp-subheading{margin:0;font-size:.92rem;color:var(--dlcp-muted);line-height:1.5}

.dlcp-form{display:flex;flex-direction:column;gap:.85rem}
.dlcp-field{display:flex;flex-direction:column;gap:.3rem}
.dlcp-field label{
  font-size:.78rem;font-weight:600;color:var(--dlcp-slate);letter-spacing:.01em
}
.dlcp-req{color:#dc2626;font-weight:700}

.dlcp-field input,
.dlcp-field select,
.dlcp-field textarea{
  width:100%;
  padding:.65rem .85rem;
  font-size:.92rem;font-family:inherit;
  color:var(--dlcp-ink);
  background:var(--dlcp-field-bg);
  border:1px solid var(--dlcp-border);
  border-radius:9px;
  transition:border-color var(--dlcp-trans),background var(--dlcp-trans),box-shadow var(--dlcp-trans);
  outline:none
}
.dlcp-field textarea{resize:vertical;min-height:80px;font-family:inherit}
.dlcp-field input:focus,
.dlcp-field select:focus,
.dlcp-field textarea:focus{
  border-color:var(--dlcp-azure);
  background:#fff;
  box-shadow:0 0 0 3px rgba(30,95,232,.12);
  box-shadow:0 0 0 3px rgba(25,55,109,.10)
}
.dlcp-field input::placeholder,
.dlcp-field textarea::placeholder{color:#94a3b8}

/* ───── PHONE WITH COUNTRY CODE ───── */
.dlcp-phone-row{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:.5rem
}
.dlcp-country{
  width:auto;
  max-width:165px;
  font-size:.88rem;
  cursor:pointer
}
.dlcp-hint{
  font-size:.72rem;
  color:var(--dlcp-muted);
  margin-top:.15rem
}

/* ───── reCAPTCHA ───── */
.dlcp-recaptcha-wrap{
  display:flex;
  justify-content:center;
  margin-top:.25rem
}
/* Allow reCAPTCHA to overflow if needed */
.dlcp-recaptcha-wrap > div{max-width:100%}

/* ───── HONEYPOT (hidden) ───── */
.dlcp-hp{
  position:absolute!important;
  left:-9999px!important;
  width:1px;height:1px;overflow:hidden;opacity:0
}

/* ───── SUBMIT BUTTON ───── */
.dlcp-submit{
  margin-top:.5rem;
  background:linear-gradient(135deg, var(--dlcp-azure) 0%, var(--dlcp-azure-bright) 60%, var(--dlcp-indigo) 100%);
  color:#fff!important;
  padding:.85rem 1.5rem;
  border:none;border-radius:50px;
  font-size:.95rem;font-weight:700;font-family:inherit;cursor:pointer;
  box-shadow:0 6px 18px rgba(25,55,109,.30);
  transition:background var(--dlcp-trans),transform var(--dlcp-trans),box-shadow var(--dlcp-trans)
}
.dlcp-submit:hover:not(:disabled){
  background:linear-gradient(135deg, var(--dlcp-azure-bright) 0%, var(--dlcp-indigo) 100%);
  box-shadow:0 8px 22px rgba(30,95,232,.32);
  transform:translateY(-1px);
  box-shadow:0 8px 22px rgba(25,55,109,.40)
}
.dlcp-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}

/* ───── MESSAGE ───── */
.dlcp-msg{
  margin-top:.5rem;
  padding:.75rem 1rem;
  border-radius:9px;
  font-size:.88rem;line-height:1.5;
  display:none
}
.dlcp-msg.is-success{
  display:block;background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0
}
.dlcp-msg.is-error{
  display:block;background:#fef2f2;color:#991b1b;border:1px solid #fecaca
}

body.dlcp-locked{overflow:hidden}

/* ───── MOBILE ───── */
@media(max-width:600px){
  .dlcp-overlay{padding:1rem;align-items:flex-start;padding-top:2rem}
  .dlcp-modal{padding:1.5rem 1.25rem 1.25rem;border-radius:14px}
  .dlcp-heading{font-size:1.2rem}
  .dlcp-field input,
  .dlcp-field select,
  .dlcp-field textarea{font-size:16px} /* prevents iOS zoom */
  .dlcp-phone-row{
    grid-template-columns:1fr;
    gap:.4rem
  }
  .dlcp-country{max-width:100%}
}

@media(prefers-reduced-motion:reduce){
  .dlcp-overlay,.dlcp-modal,.dlcp-overlay *{transition:none!important}
}
