
.bs-maxi24-wrap{width:100%;display:block;margin:28px 0;padding:0 16px;box-sizing:border-box;}

.bs-maxi24-open{
  display:block;
  width:100%;
  max-width:100%;
  margin:0 auto;
  padding:18px 18px;
  font-size:18px;
  border:none!important;
  border-radius:9999px!important;
  background:#004BFF!important;
  color:#fff!important;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
  cursor:pointer;
}

.bs-maxi24-open:active{transform:translateY(1px)}
.bs-maxi24-overlay{
  position:fixed; inset:0;
  display:none;
  z-index:999999;
  background:rgba(0,0,0,.20);
  padding-top:20px; /* ~2cm */
  overflow:auto;
}
.bs-maxi24-overlay.is-open{display:block}
.bs-maxi24-panel{
  width:min(980px, calc(100% - 24px));
  margin:0 auto 28px auto;
  background:#fff;
  border-radius:18px;
  box-shadow:0 10px 30px rgba(0,0,0,.18);
  overflow:hidden;
}
.bs-maxi24-topbar{
  background:#cfcfcf;
  border:2px solid #004BFF !important;
  border-bottom:none;
  border-radius:18px;
  margin:14px;
  padding:16px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.bs-maxi24-topbar-title{
  color:#004BFF;
  font-size:28px;
  font-weight:800;
  letter-spacing:1px;
}
.bs-maxi24-close{
  width:44px; height:44px;
  border-radius:9999px;
  border:2px solid #004BFF !important;
  background:#004BFF;
  color:#fff;
  font-size:22px;
  cursor:pointer;
}
.bs-maxi24-body{padding:10px 18px 24px 18px}
.bs-maxi24-introbox{
  border:2px solid #004BFF !important;
  border-radius:14px;
  padding:14px 14px;
  color:#004BFF;
  font-size:18px;
  line-height:1.35;
  text-align:justify;
  margin:8px 0 14px 0;
}
.bs-maxi24-nav{display:flex; flex-direction:column; gap:12px; width:240px; margin:8px 0 18px 0}
.bs-maxi24-navbtn{
  background:#d6d6d6!important;
  color:#004BFF!important;
  border:2px solid #004BFF!important;
  border-radius:9999px!important;
  padding:10px 14px;
  text-align:left;
  cursor:pointer;
}
.bs-maxi24-form label{
  display:block;
  margin:14px 0 6px 0;
  color:#004BFF;
  font-weight:600;
}
.bs-maxi24-grid{display:grid; grid-template-columns:1fr 1fr; gap:34px}
.bs-maxi24-col input, .bs-maxi24-col textarea, .bs-maxi24-form textarea, .bs-maxi24-form input{
  width:100%;
  border:2px solid #004BFF !important;
  border-radius:9999px;
  padding:10px 12px;
  outline:none;
  color:#004BFF;
  box-sizing:border-box;
  background:#fff;
}
.bs-maxi24-form textarea{
  border-radius:16px;
  min-height:180px;
  resize:vertical;
}
.bs-maxi24-form input.bs-maxi24-required{border-color:#c40000}
.bs-maxi24-form input.bs-maxi24-required.filled{color:#c40000}
.bs-maxi24-form input.optional-filled{color:#004BFF}
.bs-maxi24-row2{display:grid; grid-template-columns:120px 1fr; gap:12px}
#bs-maxi24-termin{
  background:#FFF359;
  border-color:#004BFF;
  color:#9a9a9a;
}
#bs-maxi24-termin.filled{color:#004BFF}
.bs-maxi24-submitrow{display:flex; justify-content:center; margin:22px 0 6px 0}
.bs-maxi24-submit{
  padding:14px 40px;
  border:none!important;
  border-radius:9999px!important;
  background:#004BFF!important;
  color:#fff!important;
  font-weight:800;
  letter-spacing:1px;
  cursor:pointer;
}
.bs-maxi24-submit.sent{background:#15b000!important}
.bs-maxi24-errorpop{
  display:none;
  margin:14px auto 0 auto;
  width:min(520px, 100%);
  border:3px solid #c40000;
  border-radius:14px;
  padding:14px;
  color:#c40000;
  font-weight:800;
  text-align:center;
  background:#fff;
}
.bs-maxi24-errorpop.show{display:block}

.bs-maxi24-modal, .bs-maxi24-pickmodal, .bs-maxi24-calmodal{
  position:fixed; inset:0;
  display:none;
  z-index:1000000;
  background:rgba(0,0,0,.35);
  padding:20px;
  overflow:auto;
}
.bs-maxi24-modal.is-open, .bs-maxi24-pickmodal.is-open, .bs-maxi24-calmodal.is-open{display:block}
.bs-maxi24-modalbox, .bs-maxi24-pickbox, .bs-maxi24-calbox{
  width:min(860px, calc(100% - 24px));
  margin:30px auto;
  background:#fff;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 10px 30px rgba(0,0,0,.25);
}
.bs-maxi24-modalbar{
  display:flex; justify-content:space-between; align-items:center;
  padding:14px 16px;
  background:#cfcfcf;
  border-bottom:2px solid #004BFF;
}
.bs-maxi24-modaltitle{color:#004BFF; font-size:20px; font-weight:800}
.bs-maxi24-modalclose{
  width:42px; height:42px;
  border-radius:9999px;
  border:2px solid #004BFF !important;
  background:#004BFF;
  color:#fff;
  font-size:22px;
  cursor:pointer;
}
.bs-maxi24-modalcontent{
  padding:16px;
  color:#004BFF;
  line-height:1.35;
  font-size:16px;
}
.bs-maxi24-modalcontent .grey{color:#7a7a7a}
.bs-maxi24-pickcontent{padding:10px 16px 18px 16px}
.bs-maxi24-pickhelp{color:#7a7a7a; margin:10px 0 14px 0}
.bs-maxi24-picklist{display:flex; flex-direction:column; gap:10px}
.bs-maxi24-pickitem{
  border:2px solid #004BFF !important;
  border-radius:14px;
  padding:12px 12px;
  cursor:pointer;
  color:#004BFF;
  font-weight:700;
}
.bs-maxi24-pickitem:active{transform:translateY(1px)}
/* Calendar */
.bs-maxi24-cal{padding:14px 14px 20px 14px}
.bs-maxi24-calhead{
  display:flex; justify-content:space-between; align-items:center;
  padding:10px 10px; margin-bottom:10px;
  border:2px solid #004BFF !important; border-radius:14px;
  color:#004BFF; font-weight:800;
}
.bs-maxi24-calbtn{
  border:2px solid #004BFF !important; background:#fff;
  border-radius:12px; padding:8px 10px;
  cursor:pointer; color:#004BFF; font-weight:800;
}
.bs-maxi24-caldow{display:grid; grid-template-columns:repeat(7,1fr); gap:6px; margin:10px 0}
.bs-maxi24-caldow div{color:#004BFF; font-weight:800; text-align:center}
.bs-maxi24-calg{display:grid; grid-template-columns:repeat(7,1fr); gap:6px}
.bs-maxi24-day{
  border:2px solid #004BFF !important;
  border-radius:12px;
  padding:10px 0;
  text-align:center;
  color:#004BFF;
  font-weight:800;
  cursor:pointer;
  background:#fff;
}
.bs-maxi24-day.muted{opacity:.35; cursor:default}
.bs-maxi24-day:hover{filter:brightness(.97)}
@media (max-width: 820px){
  .bs-maxi24-grid{grid-template-columns:1fr}
  .bs-maxi24-nav{width:100%}
}


/* Textfarben: Pflichtfelder rot, alle anderen blau – auch bei Autofill */
.bs-maxi24-form input,
.bs-maxi24-form textarea{
  color:#004BFF !important;
  }
.bs-maxi24-form input.bs-maxi24-required,
.bs-maxi24-form textarea.bs-maxi24-required{
  color:#ff0000 !important;
  }
.bs-maxi24-form input:-webkit-autofill,
.bs-maxi24-form textarea:-webkit-autofill{
    transition: background-color 99999s ease-in-out 0s;
}
.bs-maxi24-form input.bs-maxi24-required:-webkit-autofill,
.bs-maxi24-form textarea.bs-maxi24-required:-webkit-autofill{
  }

/* === v23 tweaks === */
.bs-maxi24-wrap{width:100%;display:block;margin:28px 0;padding:0 16px;box-sizing:border-box;}

.bs-maxi24-open{
  display:block;
  width:100%;
  max-width:100%;
  margin:0 auto;
  padding:18px 18px;
  font-size:18px;
  border:none!important;
  border-radius:9999px!important;
  background:#004BFF!important;
  color:#fff!important;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
  cursor:pointer;
}

@media (max-width:600px){
  .bs-maxi24-wrap{width:100%;display:block;margin:28px 0;padding:0 16px;box-sizing:border-box;}

  .bs-maxi24-open{
  display:block;
  width:100%;
  max-width:100%;
  margin:0 auto;
  padding:18px 18px;
  font-size:18px;
  border:none!important;
  border-radius:9999px!important;
  background:#004BFF!important;
  color:#fff!important;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
  cursor:pointer;
}

}
.bs-maxi24-body{padding-top:6px;}
.bs-maxi24-introbox{margin:6px 0 22px 0; padding:14px 16px;}
.bs-maxi24-nav{margin:14px 0 18px 0;}
/* Placeholder grey, values blue (except required red handled by JS) */
.bs-maxi24-form input::placeholder,
.bs-maxi24-form textarea::placeholder{
  color:#9a9a9a;
  opacity:1;
}

.bs-maxi24-form input.bs-maxi24-pick{
  color:#9a9a9a;
}
.bs-maxi24-form input.bs-maxi24-pick.optional-filled{
  color:#004BFF;
}

.bs-maxi24-trigger{display:block;width:100%;max-width:100%;margin:22px auto;padding:18px 18px;background:#004BFF!important;color:#fff!important;border:none;border-radius:9999px!important;font-weight:700;letter-spacing:1px;text-transform:uppercase;text-align:center;font-size:18px;cursor:pointer;}

/* === v25 tweaks (form_maxi_25) === */
.bs-maxi24-wrap{
  padding:0 16px !important;
  margin:36px 0 !important;
  box-sizing:border-box !important;
  width:100% !important;
}

.bs-maxi24-open{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding:22px 18px !important;
  font-size:20px !important;
  line-height:1.1 !important;
  min-height:64px !important;
  text-align:center !important;
}

.bs-maxi24-body{padding-top:14px !important;}
.bs-maxi24-introbox{
  margin:10px 0 28px 0 !important;
  padding:16px 18px !important;
  text-align:justify !important;
}

.bs-maxi24-introbox p{
  margin:0 !important;
  text-align:justify !important;
  text-justify:inter-word !important;
}

.bs-maxi24-nav{margin:18px 0 22px 0 !important;}

/* --- Version 28 fixes: required fields red + text colors incl. autofill --- */
.bs-maxi24-form input,
.bs-maxi24-form textarea,
.bs-maxi24-form select{
  color:#004BFF;
}

.bs-maxi24-form input.bs-maxi24-required,
.bs-maxi24-form textarea.bs-maxi24-required{
  border-color:#c20000 !important;
  color:#c20000 !important;
}

/* Chrome/Android autofill text colors */
.bs-maxi24-form input:-webkit-autofill,
.bs-maxi24-form textarea:-webkit-autofill{
  -webkit-text-fill-color:#004BFF !important;
  transition: background-color 9999s ease-in-out 0s;
}

.bs-maxi24-form input.bs-maxi24-required:-webkit-autofill,
.bs-maxi24-form textarea.bs-maxi24-required:-webkit-autofill{
  -webkit-text-fill-color:#c20000 !important;
}

/* Keep placeholders grey */
.bs-maxi24-form input::placeholder,
.bs-maxi24-form textarea::placeholder{
  color:#9aa0a6;
}

