/* Form Stuttgart 01 - Styles */
#bs-stuttgart-wrap{font-family:Arial, sans-serif; max-width:980px; margin:0 auto;}
#bs-stuttgart-btn{
  border:0; padding:0; background:transparent; cursor:pointer; width:100%;
  display:block;
}
#bs-stuttgart-btn img{width:100%; height:auto; display:block;}
#bs-stuttgart-btn:hover img{content:var(--bs-btn-hover);}
#bs-stuttgart-panel.bs-hidden{display:none;}
#bs-stuttgart-panel{margin-top:14px; background:#f3f4f6; border-radius:18px; padding:18px; box-shadow:0 10px 30px rgba(0,0,0,.08);}
.bs-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
@media (max-width:760px){.bs-grid{grid-template-columns:1fr;}}
.bs-col label{display:block; font-size:15px; color:#0b4fa8; margin:10px 0 6px;}
.bs-col label.bs-required-label{color:#b00020;}
.bs-input, .bs-textarea{
  width:100%; box-sizing:border-box;
  border:2px solid #0b4fa8; border-radius:999px;
  padding:12px 14px; font-size:16px; outline:none;
  background:#fff; color:#0b4fa8;
}
.bs-textarea{border-radius:18px; min-height:220px; resize:vertical;}
.bs-input.bs-required{border-color:#b00020; color:#b00020;}
.bs-input:focus, .bs-textarea:focus{box-shadow:0 0 0 3px rgba(11,79,168,.18);}
.bs-row2{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.bs-selectBtn{
  width:100%; text-align:left;
  border:2px solid #0b4fa8; border-radius:999px;
  padding:12px 14px; background:#fff; cursor:pointer;
  font-size:16px; color:#0b4fa8;
}
.bs-selectBtn.bs-required{border-color:#b00020; color:#b00020;}
.bs-placeholder{color:#7b8aa3;}
.bs-selectBtn .bs-value{color:inherit;}
/* Date highlight */
#bs-termin{background:#ffe35a;}
/* Bottom validation pop */
#bs-bottom-pop{display:none; margin:10px 0 12px; padding:12px 14px; border-radius:14px; border:2px solid #b00020; color:#b00020; background:#fff;}
#bs-sendBtn{
  width:100%; border:0; border-radius:999px; padding:14px 18px;
  font-size:15px; letter-spacing:.08em; text-transform:uppercase;
  color:#fff; cursor:pointer;
  background:linear-gradient(180deg,#2e7fff,#0b4fa8);
  box-shadow:0 10px 20px rgba(11,79,168,.25);
}
#bs-sendBtn:disabled{opacity:.75; cursor:not-allowed;}
#bs-sendBtn.bs-done{background:linear-gradient(180deg,#28c76f,#0f8a3b); box-shadow:0 10px 20px rgba(40,199,111,.25);}

/* Modal */
.bs-modal{position:fixed; inset:0; background:rgba(0,0,0,.35); display:flex; align-items:center; justify-content:center; padding:18px; z-index:99999;}
.bs-modal.bs-hidden{display:none;}
.bs-modalBox{
  width:min(520px, 100%);
  background:#fff; border-radius:18px; border:3px solid #0b4fa8;
  box-shadow:0 20px 60px rgba(0,0,0,.25);
  padding:16px;
}
.bs-modalTitle{font-size:22px; font-weight:700; color:#0b4fa8; margin-bottom:6px;}
.bs-modalSub{color:#0b4fa8; margin-bottom:12px; font-weight:600;}
.bs-modalDesc{color:#5a677a; font-size:14px; margin:10px 0 8px; line-height:1.35;}
.bs-radioList{display:flex; flex-direction:column; gap:12px;}
.bs-radioItem{
  border:2px solid rgba(11,79,168,.25);
  border-radius:14px; padding:12px 14px;
  display:flex; align-items:center; justify-content:space-between;
}
.bs-radioItem .bs-radioText{color:#0b4fa8; font-size:18px; font-weight:650;}
.bs-radioItem input{appearance:none; -webkit-appearance:none; width:22px; height:22px; border-radius:50%;
  border:2px solid #0b4fa8; display:inline-block; position:relative; margin-left:12px; flex:0 0 auto;
}
.bs-radioItem input:checked{background:#0b4fa8;}
.bs-radioItem input:checked::after{
  content:""; position:absolute; inset:5px; background:#fff; border-radius:50%;
}
/* Close button */
.bs-modalActions{display:flex; justify-content:flex-end; margin-top:14px;}
.bs-modalClose{
  border:0; background:#2b5aa5; color:#fff; padding:10px 14px; border-radius:10px; cursor:pointer; font-weight:700;
}