.bf-wrap{
  max-width: 700px;
  margin: 0 auto;
}

.bf-form{
  padding: 34px;
  border-radius: 18px;
  background: #F3F0FF;
  box-shadow: 0 10px 30px rgba(0,0,0,.08);
}

.bf-title{
  font-size: 25px;
  font-weight: 700;
  line-height: 150%;
  color: #00002E;
  text-align: center;
  margin: 0 0 18px 0;
}

.bf-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.bf-field{ display:flex; flex-direction:column; gap:6px; }
.bf-field span{ color:#00002E; font-weight:600; font-size:13px; }

.bf-field--full{ grid-column: 1 / -1; }

.bf-field input,
.bf-field textarea,
.bf-field select{
  padding: 12px 14px;
  border: 1px solid rgba(0,0,46,.12);
  border-radius: 12px;
  outline: none;
  color: #1C0038;
  background: #fff;
  box-sizing: border-box;
  width: 100%;
  max-height:80px;
}

.bf-field input::placeholder,
.bf-field textarea::placeholder{
  color: rgba(28,0,56,.45);
}

.bf-muted{
  color: rgba(0,0,46,.55);
  font-size: 12px;
}

.bf-addons{
  padding: 12px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid rgba(0,0,46,.12);
}

.bf-addons__list{ display:grid; gap: 10px; }

.bf-addon{
  display:flex;
  align-items:center;
  gap:10px;
  cursor:pointer;
  color:#1C0038;
}

.bf-addon input{ width:18px; height:18px; }

.bf-attach-row{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.bf-attach{
	flex-direction:row;
    align-items:center;
}
.bf-attach-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 10px 18px;
  border-radius: 999px;
  background: #FFF75C;
  color: #00002E;
  font-weight: 400; 
  cursor:pointer;
  border: none;
}
.bf-attach-btn input{ display:none; }

.bf-files-note{
  font-size: 11px;
  color: rgba(0,0,46,.65);
}

.bf-estimate{
  grid-column: 1 / -1;
  margin-top: 6px;
  text-align: center;
}

.bf-price-pill{
  display:inline-flex;
  gap: 14px;
  align-items:center;
  justify-content:center;
  padding: 13px 18px;
  background: #fff;
  border-radius: 999px;
  box-shadow: 0 10px 20px rgba(0,0,0,.12);
  margin: 8px 0 10px 0;
}

.bf-price-label{
  color:#803DF3;
  font-weight: 800;
}

.bf-price-value{
  color:#803DF3;
  font-weight: 800;
}

.bf-proceed{
  color:#00002E;
  font-style: italic;
  font-weight: 600;
  margin: 6px 0 10px 0;
}

.bf-actions{
  display:flex;
  flex-direction:column;
  gap: 10px;
}

.bf-btn{
  width: 100%;
  padding: 12px 16px;
  border-radius: 999px;
  border: none;
  cursor:pointer;
  font-weight: 800;
}

.bf-btn--pay{
  background:#FFF75C;
  color;:#00002E;
}

.bf-btn--quote{
  background:#803DF3;
  color:#fff;
  font-weight:400;
  transition: 0.3s;
}
.bf-btn--quote:hover{
	color:#FFF75C;
}
.bf-msg{ margin-top: 10px; font-size: 14px; }
.bf-msg--ok{ color:#1a7f37; }
.bf-msg--err{ color:#b42318; }

.bf-consent{
  display:flex;
  gap:10px;
  align-items:flex-start;
  color:#00002E;
  font-size: 12px;
  line-height: 1.35;
  margin-top: 6px;
}

.bf-consent input{ margin-top: 2px; width: 16px; height: 16px; }

@media (max-width: 560px){
  .bf-wrap{ max-width: 100%; padding: 0 12px; }
  .bf-grid{ grid-template-columns: 1fr; }
}