.bf-sr-wrap{max-width:980px;margin:20px auto;padding:0 12px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
.bf-sr-box{border:4px dashed #2f5f8d;border-radius:18px;padding:18px;background:#fff}
.bf-sr-header-title{font-size:26px;font-weight:800;color:#1f4f7a;line-height:1.2}
.bf-sr-header-sub{margin-top:8px;color:#1f4f7a;font-weight:600}
.bf-sr-row{margin-top:14px}
.bf-sr-label{display:block;font-weight:700;color:#103e63;margin-bottom:6px}
.bf-sr-input,.bf-sr-textarea{width:100%;border:2px solid #a9c1d8;border-radius:10px;padding:10px 12px;font-size:16px;outline:none}
.bf-sr-input:focus,.bf-sr-textarea:focus{border-color:#2f5f8d}
.bf-sr-row-inline{display:grid;grid-template-columns:1fr 260px;gap:12px;align-items:center}
.bf-sr-q{font-weight:700;color:#103e63}
.bf-sr-choice{display:flex;gap:16px;flex-wrap:wrap;align-items:center;justify-content:flex-start}
.bf-sr-choice label{border:2px solid #1b3a57;padding:6px 10px;border-radius:10px;font-weight:800;color:#1b3a57;cursor:pointer;user-select:none}
.bf-sr-choice input{margin-right:8px}
.bf-sr-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bf-sr-section-title{margin-top:18px;font-size:20px;font-weight:900;color:#1f4f7a}
.bf-sr-actions{margin-top:18px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.bf-sr-btn{background:#2f5f8d;color:#fff;border:0;border-radius:12px;padding:10px 16px;font-size:16px;font-weight:800;cursor:pointer}
.bf-sr-btn:disabled{opacity:.6;cursor:not-allowed}
.bf-sr-status{color:#103e63;font-weight:700}
.bf-sr-err{color:#b00020;margin-top:6px;font-weight:700}

.bf-sr-hp{position:absolute;left:-99999px;opacity:0;height:0;width:0}

.bf-sr-form{position:relative}
.bf-sr-preloader{position:absolute;inset:0;background:rgba(255,255,255,.86);display:none;align-items:center;justify-content:center;flex-direction:column;border-radius:12px}
.bf-sr-form.is-loading .bf-sr-preloader{display:flex}
.bf-sr-spinner{width:42px;height:42px;border-radius:999px;border:5px solid #a9c1d8;border-top-color:#2f5f8d;animation:bfspin 1s linear infinite}
.bf-sr-preloader-text{margin-top:10px;font-weight:800;color:#103e63}
@keyframes bfspin{to{transform:rotate(360deg)}}

@media (max-width:780px){
  .bf-sr-row-inline{grid-template-columns:1fr}
  .bf-sr-two{grid-template-columns:1fr}
}


/* Modal overlay for submission processing/result */
body.bf-sr-modal-open{overflow:hidden}
.bf-sr-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.45);z-index:999999}
.bf-sr-modal.is-open{display:flex}
.bf-sr-modal-card{width:min(520px,92vw);background:#fff;border-radius:16px;border:2px solid #a9c1d8;padding:18px 16px;box-shadow:0 14px 40px rgba(0,0,0,.2);text-align:center}
.bf-sr-modal-message{margin-top:10px;font-weight:900;color:#103e63}
.bf-sr-modal-close{margin-top:14px;background:#2f5f8d;color:#fff;border:0;border-radius:12px;padding:10px 16px;font-size:16px;font-weight:900;cursor:pointer}
.bf-sr-modal-close:disabled{opacity:.6;cursor:not-allowed}
.bf-sr-modal-spinner{width:46px;height:46px;border-radius:999px;border:5px solid #a9c1d8;border-top-color:#2f5f8d;animation:bfspin 1s linear infinite;margin:0 auto}
.bf-sr-modal-card.is-success{border-color:#1c7c35}
.bf-sr-modal-card.is-error{border-color:#b00020}

input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], input[type="tel"], input[type="range"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="color"], textarea {
    width: 100%;
    border: 2px solid #a9c1d8;
    border-radius: 10px;
    padding: 10px 12px;
    font-size: 16px;
    outline: none;
}


/******Radio custom button **/

/* Modern radio pills */
.bf-sr-choice{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.bf-sr-radio{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border:2px solid #2f5f8d;
  border-radius:14px;
  background:#fff;
  cursor:pointer;
  user-select:none;
  font-weight:900;
  transition:background .15s ease, box-shadow .15s ease, transform .06s ease, border-color .15s ease;
}

.bf-sr-radio:active{ transform:scale(.99); }

.bf-sr-radio input[type="radio"]{
  position:absolute;
  opacity:0;
  width:1px;
  height:1px;
  pointer-events:none;
}

.bf-sr-radio-dot{
  width:18px;
  height:18px;
  border-radius:999px;
  border:2px solid #2f5f8d;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 18px;
}

.bf-sr-radio-dot::after{
  content:"";
  width:8px;
  height:8px;
  border-radius:999px;
  background:#fff;
  transform:scale(0);
  transition:transform .12s ease;
}

/* Checked state (driven by JS class, see below) */
.bf-sr-radio.is-checked{
  background:#2f5f8d;
  color:#fff;
  box-shadow:0 10px 24px rgba(47,95,141,.22);
}

.bf-sr-radio.is-checked .bf-sr-radio-dot{
  background:#fff;
  border-color:#fff;
}

.bf-sr-radio.is-checked .bf-sr-radio-dot::after{
  background:#2f5f8d;
  transform:scale(1);
}

/* Keyboard focus */
.bf-sr-radio input[type="radio"]:focus-visible ~ .bf-sr-radio-dot{
  outline:3px solid rgba(47,95,141,.35);
  outline-offset:3px;
}
