/* form_mini_06 – Mini-Anfrage */

:root{
  --bsblue:#0b64ff;
  --bsblue2:#1b43ff;
  --bsred:#c92121;
  --bsgray:#8f97a3;
}

.bsf06-wrap{
  display:inline-block !important;
  background:transparent !important;
  padding:0 !important;
  margin:0 !important;
  line-height:0 !important;
  max-width:100% !important;
}

.bsf06-open{
  all:unset;
  display:inline-block;
  background:transparent !important;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.bsf06-open::before,
.bsf06-open::after{ content:none !important; display:none !important; }
.bsf06-open i,
.bsf06-open svg{ display:none !important; }

.bsf06-open:focus{
  outline:3px solid rgba(11,100,255,.30);
  outline-offset:4px;
  border-radius:18px;
}

.bsf06-btn-img{ display:block; max-width:100%; height:auto; }

.bsf06-open-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:64px;
  min-width:320px;
  padding:0 28px;
  border-radius:999px;
  background:var(--bsblue);
  color:#fff;
  font-weight:800;
  letter-spacing:.10em;
  text-transform:uppercase;
  font-size:18px;
  line-height:1;
}

/* Modal */
.bsf06-modal[aria-hidden="true"]{ display:none; }
.bsf06-modal[aria-hidden="false"]{ display:block; position:fixed; inset:0; z-index:99999; }
.bsf06-backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.62); }

.bsf06-panel{
  position:relative;
  width:min(980px, calc(100vw - 28px));
  max-height:calc(100vh - 28px);
  margin:84px auto 14px auto;
  background:#fff;
  border:2px solid var(--bsblue2);
  border-radius:24px;
  padding:22px 22px 18px 22px;
  overflow:auto;
  box-sizing:border-box;
}

.bsf06-close{
  position:absolute;
  top:14px;
  right:14px;
  width:36px;
  height:36px;
  border-radius:999px;
  border:none;
  background:var(--bsblue);
  color:#fff;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
.bsf06-close:active{ transform:scale(.98); }

.bsf06-head{ padding:6px 52px 18px 6px; }
.bsf06-title{
  font-size:34px;
  font-weight:800;
  color:var(--bsblue2);
  letter-spacing:.08em;
}
.bsf06-sub{
  margin-top:10px;
  color:var(--bsblue2);
  font-size:18px;
  line-height:1.35;
}

.bsf06-form{ margin-top:8px; }
.bsf06-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px 26px;
}
.bsf06-col{ display:flex; flex-direction:column; gap:18px; }

.bsf06-label{
  font-size:18px;
  color:var(--bsblue) !important;
  display:flex;
  flex-direction:column;
  gap:8px;
}

.bsf06-input{
  height:52px;
  border-radius:999px;
  border:2px solid rgba(11,100,255,.85);
  padding:0 16px;
  font-size:18px;
  outline:none;
  box-sizing:border-box;
  background:#fff;
  color:var(--bsblue) !important;
  -webkit-text-fill-color:var(--bsblue) !important;
}
.bsf06-input:focus{ box-shadow:0 0 0 4px rgba(11,100,255,.18); }

.bsf06-red{
  border-color:rgba(201,33,33,.95) !important;
  color:var(--bsred) !important;
  -webkit-text-fill-color:var(--bsred) !important;
}
.bsf06-label-red{ color:rgba(201,33,33,.98) !important; }

.bsf06-yellow{
  background:#ffef7a;
  border-color:rgba(11,100,255,.85);
  color:var(--bsblue) !important;
  -webkit-text-fill-color:var(--bsblue) !important;
}
.bsf06-yellow::placeholder{ color:rgba(11,100,255,.65); }

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

.bsf06-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

.bsf06-marketing{
  margin-top:18px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px 26px;
  color:var(--bsgray);
  font-size:16px;
  line-height:1.35;
}
.bsf06-mhead{
  font-weight:700;
  margin-bottom:6px;
  color:#a4abb5;
}

.bsf06-foot{ display:flex; justify-content:center; margin-top:18px; }
.bsf06-submit{
  width:min(420px, 90%);
  height:56px;
  border-radius:999px;
  border:none;
  background:var(--bsblue);
  color:#fff;
  font-size:18px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
}
.bsf06-submit[data-state="sending"]{ filter:brightness(1.12); cursor:wait; }
.bsf06-submit[data-state="sent"]{ background:#1a9a35; cursor:default; }

.bsf06-msg{ margin-top:10px; text-align:center; font-size:16px; color:var(--bsblue2); min-height:22px; }

.bsf06-input:-webkit-autofill,
.bsf06-input:-webkit-autofill:hover,
.bsf06-input:-webkit-autofill:focus{
  -webkit-box-shadow:0 0 0px 1000px #fff inset !important;
  box-shadow:0 0 0px 1000px #fff inset !important;
  -webkit-text-fill-color:var(--bsblue) !important;
}
.bsf06-red:-webkit-autofill,
.bsf06-red:-webkit-autofill:hover,
.bsf06-red:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--bsred) !important;
}

@media (max-width:820px){
  .bsf06-panel{ padding:18px 16px 16px; border-radius:22px; margin-top:92px; }
  .bsf06-grid{ grid-template-columns:1fr; }
  .bsf06-marketing{ grid-template-columns:1fr; }
  .bsf06-title{ font-size:28px; }
  .bsf06-sub{ font-size:16px; }
  .bsf06-label{ font-size:16px; }
  .bsf06-input{ height:50px; font-size:16px; }
  .bsf06-open-pill{ min-width:260px; height:60px; font-size:16px; }
}


/* --- form_mini_06 PATCHES (hard overrides) --- */

/* Center the open button */
.bsf06-wrap{
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

/* Close X background must match main blue */
.bsf06-close{
  background: var(--bsblue) !important;
}

/* Make ALL inputs/selects consistently pill + blue border (theme-proof) */
.bsf06-input{
  border: 2px solid rgba(11,100,255,.85) !important;
  border-radius: 999px !important;
  background: #fff !important;
  box-shadow: none !important;
}

/* Yellow termin field keeps yellow fill but same pill + blue border */
.bsf06-yellow{
  background: #ffef7a !important;
  border: 2px solid rgba(11,100,255,.85) !important;
  border-radius: 999px !important;
}

/* Required fields red */
.bsf06-red{
  border: 2px solid rgba(201,33,33,.95) !important;
  border-radius: 999px !important;
}

/* Select should look like other fields (no "eckiger" browser default) */
select.bsf06-input{
  -webkit-appearance: none !important;
  appearance: none !important;
  background-image: none !important;
  padding-right: 16px !important;
}

/* Submit should be pill and exact main blue */
.bsf06-submit{
  border-radius: 999px !important;
  background: var(--bsblue) !important;
}

/* Force-green when sent (even if something overrides) */
.bsf06-submit[data-state="sent"],
.bsf06-submit.bsf06-force-sent{
  background: #1a9a35 !important;
}

/* More breathing room under headline */
.bsf06-title{
  margin-bottom: 18px !important;
}
.bsf06-sub{
  margin-top: 0 !important;
}


/* --- form_mini_06 PATCHES --- */

/* More space between title and subtitle */
.bsf06-title{ margin-bottom: 34px !important; }

/* More space below marketing before send button */
.bsf06-foot{ margin-top: 44px !important; }
.bsf06-panel{ padding-bottom: 34px !important; }

/* Yellow exact */
.bsf06-yellow{ background:#fff359 !important; }

/* Message line visually hidden on success usage (kept for errors) */
.bsf06-msg{ min-height: 22px; }
