
.abc-wrap,
.abc-wrap *{
  box-sizing:border-box;
}

.abc-wrap{
  position:relative !important;
  left:50% !important;
  right:50% !important;
  width:100vw !important;
  max-width:none !important;
  margin-left:-50vw !important;
  margin-right:-50vw !important;
  padding:18px 24px 72px !important;
  background:#0f0f10 !important;
}

.abc-panel{
  width:100% !important;
  max-width:980px !important;
  margin:0 auto !important;
  background:
    radial-gradient(circle at top right, rgba(20,165,255,.08), transparent 42%),
    linear-gradient(180deg,#17191d 0%,#131519 100%);
  border:1px solid #2a3038;
  border-radius:20px;
  padding:36px;
  box-shadow:0 18px 44px rgba(0,0,0,.25);
  color:#f3f6fa;
}

.abc-head{
  text-align:center;
  max-width:760px;
  margin:0 auto 30px;
}

.abc-logo{
  display:block !important;
  max-width:180px !important;
  max-height:64px !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
  margin:0 auto 18px !important;
}

.abc-kicker{
  color:#2ca8ff !important;
  font-size:11px !important;
  font-weight:800 !important;
  letter-spacing:1.6px !important;
  margin-bottom:8px !important;
}

.abc-head h2{
  margin:0 0 10px !important;
  color:#fff !important;
  font-size:34px !important;
  line-height:1.15 !important;
}

.abc-head p{
  margin:0 !important;
  color:#b8c2cc !important;
  font-size:15px !important;
  line-height:1.65 !important;
}

.abc-form{ display:block; }

.abc-grid{ display:grid; gap:16px; }
.abc-grid-2{ grid-template-columns:1fr 1fr; }

.abc-field{ margin-bottom:16px; }

.abc-field label{
  display:block !important;
  margin-bottom:7px !important;
  color:#eef3f7 !important;
  font-size:13px !important;
  font-weight:700 !important;
}

.abc-field label span,
.abc-check strong{ color:#2ca8ff !important; }

.abc-field input,
.abc-field select,
.abc-field textarea,
.abc-form input[type="text"],
.abc-form input[type="email"],
.abc-form select,
.abc-form textarea{
  width:100% !important;
  box-sizing:border-box !important;
  display:block !important;
  background:#0f1216 !important;
  color:#ffffff !important;
  border:1px solid #343c45 !important;
  border-radius:9px !important;
  padding:12px 13px !important;
  font:inherit !important;
  outline:none !important;
  box-shadow:none !important;
  -webkit-appearance:none !important;
  appearance:none !important;
}

.abc-form select{
  min-height:46px !important;
  background-image:linear-gradient(45deg, transparent 50%, #7fa8c7 50%), linear-gradient(135deg, #7fa8c7 50%, transparent 50%) !important;
  background-position:calc(100% - 18px) calc(50% - 3px), calc(100% - 12px) calc(50% - 3px) !important;
  background-size:6px 6px, 6px 6px !important;
  background-repeat:no-repeat !important;
  padding-right:40px !important;
}

.abc-field textarea{
  min-height:165px !important;
  resize:vertical !important;
}

.abc-field input:focus,
.abc-field select:focus,
.abc-field textarea:focus,
.abc-form input[type="text"]:focus,
.abc-form input[type="email"]:focus,
.abc-form select:focus,
.abc-form textarea:focus{
  border-color:#2ca8ff !important;
  box-shadow:0 0 0 3px rgba(44,168,255,.08) !important;
}

.abc-field input::placeholder,
.abc-field textarea::placeholder{
  color:#76828e !important;
}

.abc-checks{
  display:grid !important;
  gap:11px !important;
  margin:4px 0 22px !important;
}

.abc-check{
  display:flex !important;
  align-items:flex-start !important;
  gap:10px !important;
  color:#b7c1ca !important;
  font-size:12.5px !important;
  line-height:1.5 !important;
  cursor:pointer !important;
}

.abc-check input[type="checkbox"]{
  margin-top:3px !important;
  accent-color:#199be6 !important;
  width:auto !important;
}

.abc-check a{
  color:#2ca8ff !important;
  text-decoration:none !important;
}

.abc-check a:hover{ text-decoration:underline !important; }

.abc-actions{
  display:flex !important;
  align-items:center !important;
  gap:16px !important;
  flex-wrap:wrap !important;
}

.abc-submit{
  border:0 !important;
  border-radius:9px !important;
  background:#199be6 !important;
  color:#fff !important;
  padding:14px 22px !important;
  font-size:15px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  cursor:pointer !important;
  transition:background .18s ease, transform .18s ease, opacity .18s ease !important;
}

.abc-submit:hover{
  background:#27a8f2 !important;
  transform:translateY(-1px) !important;
}

.abc-submit:disabled{
  opacity:.55 !important;
  cursor:not-allowed !important;
  transform:none !important;
}

.abc-status{
  flex:1 !important;
  min-width:220px !important;
  font-size:13px !important;
  line-height:1.5 !important;
}

.abc-status.is-success{ color:#7ee2b8 !important; }
.abc-status.is-error{ color:#ff8f8f !important; }

.abc-brand-footer{
  margin-top:24px !important;
  padding-top:16px !important;
  border-top:1px solid #2b3138 !important;
  color:#7f8a95 !important;
  font-size:11px !important;
  text-align:center !important;
}

.abc-hp{
  position:absolute !important;
  left:-99999px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}

@media(max-width:767px){
  .abc-panel{ padding:24px 18px !important; }
  .abc-grid-2{ grid-template-columns:1fr !important; }
  .abc-head h2{ font-size:28px !important; }
  .abc-actions{ display:block !important; }
  .abc-submit{ width:100% !important; }
  .abc-status{ margin-top:12px !important; min-width:0 !important; }
}


/* Divi 5: verhindert weiße Flächen um das Formular im Frontend */
.et_pb_module:has(.abc-wrap),
.et_pb_text:has(.abc-wrap),
.et_pb_code:has(.abc-wrap){
  margin-bottom:0 !important;
}

.abc-wrap::before{
  content:"";
  position:absolute;
  inset:0;
  background:#0f0f10;
  z-index:-1;
}


/* =========================================================
   DIVI 5 PARENT RESET – verhindert weiße Section-/Row-Balken
   ========================================================= */
.et_pb_section:has(.abc-wrap),
.et_pb_row:has(.abc-wrap),
.et_pb_column:has(.abc-wrap),
.et_pb_module:has(.abc-wrap),
.et_pb_text:has(.abc-wrap),
.et_pb_text_inner:has(.abc-wrap),
.et_pb_code:has(.abc-wrap),
.et_pb_code_inner:has(.abc-wrap){
  background:#0f0f10 !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}

.et_pb_row:has(.abc-wrap){
  width:100% !important;
  max-width:100% !important;
}

.et_pb_column:has(.abc-wrap),
.et_pb_module:has(.abc-wrap),
.et_pb_text:has(.abc-wrap){
  width:100% !important;
  max-width:none !important;
}
