/* Envy Pools lead form styles. Loaded by the [envy_lead_form] shortcode.
   Scoped to #envy-form so nothing here can touch the Salient theme. */

/* ---------------------------------------------------------------
   Envy Pools lead form
   Change the four values below to match the site's brand colors.
   Everything inside #envy-form is namespaced so it will not collide
   with the Salient theme's styles.
----------------------------------------------------------------*/
#envy-form{
  --accent:#1268c4;
  --accent-dark:#0d4e96;
  --ink:#16202b;
  --muted:#6b7785;

  --line:#dfe4ea;
  --bg:#ffffff;
  --bg-soft:#f6f8fa;
  --radius:12px;
  --error:#b4232a;

  max-width:760px;
  margin:0 auto;
  padding:0 16px 48px;
  color:var(--ink);
  font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  box-sizing:border-box;
}
#envy-form *,#envy-form *::before,#envy-form *::after{box-sizing:inherit;}

#envy-form h2{font-size:1.45rem;margin:0 0 6px;line-height:1.25;}
#envy-form .ef-sub{color:var(--muted);margin:0 0 22px;font-size:.95rem;}

/* progress ---------------------------------------------------- */
.ef-progress{display:flex;gap:8px;margin:0 0 26px;}
.ef-progress span{
  flex:1;height:5px;border-radius:99px;background:var(--line);
  transition:background .25s ease;
}
.ef-progress span.is-done{background:var(--accent);}
.ef-stepnote{
  font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--muted);margin:0 0 6px;font-weight:600;
}

/* fields ------------------------------------------------------ */
.ef-step{display:none;}
.ef-step.is-active{display:block;animation:ef-in .25s ease;}
@keyframes ef-in{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}

.ef-row{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:14px;}
.ef-field{flex:1 1 240px;min-width:0;}
.ef-field.ef-narrow{flex:0 1 120px;}
.ef-field.ef-tiny{flex:0 1 90px;}

#envy-form label{display:block;font-weight:600;margin-bottom:5px;font-size:.92rem;}
#envy-form .ef-hint{font-weight:400;color:var(--muted);font-size:.85rem;}

#envy-form input[type=text],
#envy-form input[type=tel],
#envy-form input[type=email],
#envy-form select,
#envy-form textarea{
  width:100%;padding:12px 13px;border:1px solid var(--line);
  border-radius:10px;background:var(--bg);color:var(--ink);
  font:inherit;-webkit-appearance:none;appearance:none;
}
#envy-form select{
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%236b7785' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:38px;
}
#envy-form textarea{min-height:120px;resize:vertical;}
#envy-form input:focus,#envy-form select:focus,#envy-form textarea:focus{
  outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent);
}
#envy-form input[aria-invalid=true],#envy-form select[aria-invalid=true]{border-color:var(--error);}

/* checkbox cards ---------------------------------------------- */
.ef-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:6px;}
.ef-check{
  display:flex;align-items:center;gap:10px;padding:12px 13px;
  border:1px solid var(--line);border-radius:10px;cursor:pointer;
  background:var(--bg);font-size:.95rem;transition:border-color .15s,background .15s;
}
.ef-check:hover{border-color:var(--accent);}
.ef-check input{accent-color:var(--accent);width:18px;height:18px;margin:0;flex:none;}
.ef-check.is-on{border-color:var(--accent);background:#f2f7fd;}

/* buttons ------------------------------------------------------ */
.ef-actions{display:flex;gap:10px;align-items:center;margin-top:22px;}
.ef-btn{
  border:0;border-radius:10px;padding:13px 22px;font:inherit;font-weight:600;
  cursor:pointer;background:var(--accent);color:#fff;transition:background .15s;
}
.ef-btn:hover{background:var(--accent-dark);}
.ef-btn[disabled]{opacity:.6;cursor:progress;}
.ef-btn-ghost{background:transparent;color:var(--muted);padding:13px 6px;}
.ef-btn-ghost:hover{background:transparent;color:var(--ink);text-decoration:underline;}
.ef-spacer{flex:1;}

/* messages ----------------------------------------------------- */
.ef-error{color:var(--error);font-size:.88rem;margin:6px 0 0;}
.ef-note{background:var(--bg-soft);border-left:3px solid var(--accent);padding:11px 14px;border-radius:0 8px 8px 0;font-size:.9rem;color:var(--muted);margin:0 0 18px;}
.ef-files{font-size:.88rem;color:var(--muted);margin-top:8px;}

/* done --------------------------------------------------------- */
#ef-done{display:none;text-align:center;padding:46px 10px;}
#ef-done h2{font-size:1.6rem;}
#ef-done p{color:var(--muted);max-width:44ch;margin:10px auto 0;}

/* honeypot ----------------------------------------------------- */
.ef-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;}

@media (max-width:520px){
  .ef-field,.ef-field.ef-narrow,.ef-field.ef-tiny{flex:1 1 100%;}
  .ef-actions{flex-wrap:wrap;}
  .ef-btn{width:100%;}
  .ef-spacer{display:none;}
}
