/* =============================================================
   Blankets Forms — front end
   Self-contained and scoped to .bcgf so the forms look right
   under the Blankets theme or inside an Elementor page.

   NOTE ON SPECIFICITY: every component rule is written as
   `.bcgf .bcgf__x` (0,2,0) so it outranks the host-theme reset
   `.bcgf label` (0,1,1) below. Adding a rule as a bare
   `.bcgf__x` will silently lose to the reset.
============================================================= */

.bcgf{
  --bcgf-navy:#1B2A4A;
  --bcgf-blue:#2E75B6;
  --bcgf-teal:#4DAFA8;
  --bcgf-teal-hover:#3D9B94;
  --bcgf-muted:#666666;
  --bcgf-line:rgba(27,42,74,.18);
  --bcgf-radius:6px;
  max-width:680px; margin:0 auto;
  font-family:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--bcgf-navy);
}
.bcgf *,.bcgf *::before,.bcgf *::after{box-sizing:border-box;}

/* Host themes add margins to labels, paragraphs and fieldsets. */
.bcgf form,.bcgf fieldset,.bcgf legend,.bcgf label,.bcgf p,
.bcgf input,.bcgf select,.bcgf textarea,.bcgf button{margin:0; font-family:inherit;}
.bcgf fieldset{border:0; padding:0; min-width:0;}

/* Honeypot: off-screen rather than display:none, which some bots detect. */
.bcgf .bcgf-hp{position:absolute!important; left:-9999px!important; top:auto!important;
  width:1px!important; height:1px!important; overflow:hidden!important;}

.bcgf .bcgf__section{margin:0 0 36px;}
.bcgf .bcgf__section:last-of-type{margin-bottom:26px;}
.bcgf .bcgf__legend{
  display:block; float:none; width:100%; padding:0 0 14px; margin:0 0 22px;
  border-bottom:1px solid var(--bcgf-line);
  font-size:13px; font-weight:700; letter-spacing:2px;
  text-transform:uppercase; color:var(--bcgf-teal);
}
.bcgf .bcgf__note{margin:-10px 0 22px; font-size:15px; line-height:1.7; color:var(--bcgf-muted);}

.bcgf .bcgf__grid{display:grid; grid-template-columns:repeat(2,1fr); gap:20px;}
.bcgf .bcgf__field--full{grid-column:1 / -1;}
.bcgf .bcgf__field--half{grid-column:span 1;}
.bcgf .bcgf__field--checkbox{grid-column:1 / -1;}

.bcgf .bcgf__label{display:block; margin:0 0 6px; font-size:14px; font-weight:600; color:var(--bcgf-navy);}
.bcgf .bcgf__label i{color:var(--bcgf-teal); font-style:normal;}
.bcgf .bcgf__label em{font-style:normal; font-weight:500; color:var(--bcgf-muted); font-size:13px;}

.bcgf input[type="text"],
.bcgf input[type="email"],
.bcgf input[type="tel"],
.bcgf input[type="url"],
.bcgf input[type="number"],
.bcgf select,
.bcgf textarea{
  width:100%; padding:13px 14px;
  border:1px solid var(--bcgf-line); border-radius:var(--bcgf-radius);
  font-size:15px; line-height:1.5; color:var(--bcgf-navy);
  background:#fff; transition:border-color .15s, box-shadow .15s;
}
.bcgf textarea{resize:vertical; min-height:120px;}
.bcgf input:focus,.bcgf select:focus,.bcgf textarea:focus{
  outline:none; border-color:var(--bcgf-blue);
  box-shadow:0 0 0 3px rgba(46,117,182,.18);
}
.bcgf input:focus-visible,.bcgf select:focus-visible,.bcgf textarea:focus-visible{
  outline:3px solid var(--bcgf-teal); outline-offset:2px;
}

.bcgf .bcgf__check{
  margin:0; display:flex; gap:12px; align-items:flex-start;
  cursor:pointer; font-size:15px; line-height:1.6; font-weight:400;
}
.bcgf .bcgf__check input{margin:3px 0 0; width:18px; height:18px; flex:0 0 auto; accent-color:var(--bcgf-teal);}
.bcgf .bcgf__check i{color:var(--bcgf-teal); font-style:normal;}

.bcgf .bcgf__help{margin:6px 0 0; font-size:13px; line-height:1.6; color:var(--bcgf-muted);}

.bcgf .bcgf__errors{
  margin:0 0 24px; padding:16px 18px;
  background:rgba(197,48,48,.06); border-left:3px solid #C53030; border-radius:0 6px 6px 0;
}
.bcgf .bcgf__errors p{margin:0 0 6px; font-size:15px; line-height:1.6; color:#7B1D1D;}
.bcgf .bcgf__errors p:last-child{margin-bottom:0;}

.bcgf .bcgf__actions{margin:8px 0 0;}
.bcgf .bcgf__submit{
  display:inline-block; padding:15px 30px; border:2px solid var(--bcgf-teal);
  border-radius:var(--bcgf-radius); background:var(--bcgf-teal); color:#fff;
  font-size:15px; font-weight:600; line-height:1.2; cursor:pointer;
  transition:background .2s, transform .15s;
}
.bcgf .bcgf__submit:hover{background:var(--bcgf-teal-hover); border-color:var(--bcgf-teal-hover); transform:translateY(-1px);}
.bcgf .bcgf__submit[disabled]{opacity:.6; cursor:default; transform:none;}

.bcgf .bcgf__success{
  padding:26px 28px; border-radius:8px;
  background:rgba(77,175,168,.10); border:1px solid rgba(77,175,168,.4);
  font-size:17px; line-height:1.7; color:var(--bcgf-navy);
}

@media (max-width:640px){
  .bcgf .bcgf__grid{grid-template-columns:1fr;}
  .bcgf .bcgf__field--half{grid-column:1 / -1;}
  .bcgf .bcgf__submit{display:block; width:100%; text-align:center;}
}
