/* ==========================================================================
   Ezer Referrals — front-end form styles
   Scoped under #ezer-referral-root so it won't clash with the theme.
   ========================================================================== */

#ezer-referral-root{
  --navy:#1c2b52;
  --purple-deep:#6f5f9e;
  --purple-light:#efe9f8;
  --green:#7c9a3f;
  --green-deep:#6a8534;
  --pink-deep:#c1476b;
  --cream:#faf6ee;
  --text:#3c4560;
  --text-soft:#5c6480;
  --line:#e7e1d5;
  font-family:'Poppins',sans-serif;
  color:var(--text);
  max-width:1000px;
  margin:0 auto;
}
#ezer-referral-root *{ box-sizing:border-box; }

/* Alerts after submit */
#ezer-referral-root .ezer-ref-alert{
  border-radius:12px;
  padding:16px 20px;
  margin-bottom:22px;
  font-size:15px;
  font-weight:500;
  line-height:1.5;
}
#ezer-referral-root .ezer-ref-alert--ok{
  background:#eef2e0; color:var(--green-deep); border:1.5px solid #cdda9f;
}
#ezer-referral-root .ezer-ref-alert--err{
  background:#f8e7ec; color:var(--pink-deep); border:1.5px solid #e9b9c6;
}

/* Card */
#ezer-referral-root .ezer-ref-form{
  background:#fff;
  border-radius:22px;
  box-shadow:0 14px 40px rgba(28,43,82,0.07);
  padding:clamp(28px,4vw,52px);
}

#ezer-referral-root .ezer-ref-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(28px,4vw,52px);
}

#ezer-referral-root .ezer-ref-section{
  font-family:'Oswald',sans-serif;
  text-transform:uppercase;
  letter-spacing:0.8px;
  font-size:clamp(15px,1.4vw,17px);
  font-weight:600;
  color:var(--navy);
  padding-bottom:12px;
  margin:0 0 22px;
  border-bottom:2px solid var(--purple-light);
}

#ezer-referral-root .ezer-ref-field{ margin-bottom:18px; }
#ezer-referral-root .ezer-ref-field:last-child{ margin-bottom:0; }
#ezer-referral-root .ezer-ref-field label{
  display:block;
  font-size:13.5px;
  font-weight:600;
  color:var(--navy);
  margin-bottom:7px;
}
#ezer-referral-root .ezer-ref-field label .req{ color:var(--pink-deep); }

#ezer-referral-root .ezer-ref-field input,
#ezer-referral-root .ezer-ref-field select,
#ezer-referral-root .ezer-ref-field textarea{
  width:100%;
  font-family:'Poppins',sans-serif;
  font-size:15px;
  color:var(--text);
  background:var(--cream);
  border:1.5px solid var(--line);
  border-radius:10px;
  padding:12px 14px;
  outline:none;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
#ezer-referral-root .ezer-ref-field input:focus,
#ezer-referral-root .ezer-ref-field select:focus,
#ezer-referral-root .ezer-ref-field textarea:focus{
  border-color:var(--purple-deep);
  background:#fff;
  box-shadow:0 0 0 3px rgba(111,95,158,0.12);
}
#ezer-referral-root .ezer-ref-field textarea{ resize:vertical; min-height:130px; line-height:1.6; }
#ezer-referral-root .ezer-ref-field select{
  appearance:none; -webkit-appearance:none;
  background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236f5f9e' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m6 9 6 6 6-6'/%3e%3c/svg%3e");
  background-repeat:no-repeat; background-position:right 14px center; background-size:16px;
  padding-right:40px;
}

#ezer-referral-root .ezer-ref-divider{ margin:clamp(28px,4vw,40px) 0 22px; }

/* File upload */
#ezer-referral-root .ezer-ref-file .upload-label{
  display:block; font-size:13.5px; font-weight:600; color:var(--navy); margin-bottom:8px;
}
#ezer-referral-root .file-input-wrap{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
#ezer-referral-root .file-btn{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--purple-light); color:var(--purple-deep);
  font-weight:600; font-size:14px;
  padding:11px 18px; border-radius:10px; cursor:pointer;
  border:1.5px solid transparent; transition:background .2s ease;
}
#ezer-referral-root .file-btn:hover{ background:#e4dbf3; }
#ezer-referral-root .file-btn svg{ width:17px; height:17px; }
#ezer-referral-root .file-name{ font-size:13.5px; color:var(--text-soft); }
#ezer-referral-root input[type=file]{ display:none; }

/* Consent */
#ezer-referral-root .ezer-ref-consent{
  display:flex; align-items:flex-start; gap:11px;
  margin:26px 0 4px; font-size:14px; color:var(--text-soft); line-height:1.55;
}
#ezer-referral-root .ezer-ref-consent input{
  width:19px; height:19px; min-width:19px; margin-top:2px;
  accent-color:var(--purple-deep); cursor:pointer;
}

/* Submit */
#ezer-referral-root .ezer-ref-actions{ margin-top:28px; }
#ezer-referral-root .ezer-ref-submit{
  font-family:'Poppins',sans-serif;
  font-weight:600; font-size:clamp(14px,1.2vw,15px);
  letter-spacing:0.5px; text-transform:uppercase;
  color:#fff; background:var(--green-deep);
  border:none; border-radius:30px; padding:15px 38px; cursor:pointer;
  display:inline-flex; align-items:center; gap:9px;
  transition:transform .25s ease, box-shadow .25s ease, background .2s ease;
}
#ezer-referral-root .ezer-ref-submit:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 24px rgba(106,133,52,0.28);
  background:var(--green);
}
#ezer-referral-root .ezer-ref-submit svg{ width:17px; height:17px; }

/* Responsive */
@media (max-width:768px){
  #ezer-referral-root .ezer-ref-grid{ grid-template-columns:1fr; gap:8px; }
  #ezer-referral-root .ezer-ref-col + .ezer-ref-col{ margin-top:14px; }
}
@media (max-width:640px){
  #ezer-referral-root .ezer-ref-form{ padding:24px 18px; border-radius:16px; }
}
