/* ==========================================================================
   LB Kontaktformular – Styles (angelehnt an Rückrufbitte)
   ========================================================================== */

.lb-contact-form { max-width: 920px; }

.lb-field { margin: 0 0 12px 0; }
.lb-field label {
  display:block;
  font-size: 13px;
  color: rgba(0,0,0,.78);
  margin: 0 0 6px 0;
  font-weight: 800;
}

.lb-req { color:#111; margin-left:2px; }

.lb-field input:not([type="checkbox"]),
.lb-field select,
.lb-contact-form textarea{
  width:100%;
  height:42px;
  padding:9px 10px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.14);
  background:#fff;
  color:#111;
  outline:none;
  box-sizing:border-box;
}

.lb-contact-form textarea{
  height:auto;
  min-height:110px;
  resize:vertical;
}

.lb-field input:focus,
.lb-field select:focus,
.lb-contact-form textarea:focus{
  border-color: #8b6e33;
  box-shadow: 0 0 0 3px rgba(202,165,104,.18);
}

.lb-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
@media (max-width: 720px){
  .lb-grid{ grid-template-columns: 1fr; }
}

/* Filiale + Button wie Rückrufbitte-Layout */
.lb-branch-row{
  display:grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 12px;
  align-items:end;
  margin-bottom: 6px;
}

.lb-branch-btncol{ display:flex; flex-direction:column; justify-content:flex-end; align-items:stretch; }
.lb-branch-btnlabel{ display:block; height:22px; visibility:hidden; margin:0 0 6px 0; }

.lb-branch-details-btn{
  align-self: stretch;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:44px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid rgba(202,165,104,.95);
  background:#8b6e33;
  color:#fff;
  font-weight:700;
  cursor:pointer;
  white-space:nowrap;
}
.lb-branch-details-btn:hover{ filter: brightness(0.95); }

.lb-honeypot{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}

.lb-field textarea{
  margin-bottom: 1px;
}

.lb-privacy{ margin-top: 2px; }
.lb-check{
  display:flex;
  gap:10px;
  align-items:flex-start;
  cursor:pointer;
  user-select:none;
  font-size:13px;
  color: rgba(0,0,0,.85);
  font-weight:650;
}
.lb-check input{
  margin-top:2px;
  width:16px;
  height:16px;
  flex:0 0 16px;
  accent-color:#8b6e33;
}

.lb-actions{
  display:flex;
  gap:12px;
  align-items:center;
  margin-top:12px;
  flex-wrap:wrap;
}

.lb-submit{
  height:44px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.10);
  background:#8b6e33;
  color:#fff;
  font-weight:900;
  cursor:pointer;
  box-shadow: 0 8px 18px rgba(0,0,0,.14);
}
.lb-submit:disabled{ opacity:.55; cursor:not-allowed; }

.lb-status{
  font-size:13px;
  color: rgba(0,0,0,.8);
  font-weight:700;
}
.lb-status.is-error{ color:#b00020; }
.lb-status.is-success{ color:#0b6b2f; }

@media (max-width: 720px){
  .lb-branch-row{ grid-template-columns: 1fr; align-items:stretch; }
  .lb-branch-details-btn{ width:100%; }
  .lb-submit{ width:100%; justify-content:center; }
  .lb-status{ width:100%; }
}


/* Pflichtfeld-Hinweis */
.lb-form-required,
.lb-form-required *{
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
}

.lb-form-required::before,
.lb-form-required::after{
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
}

/* =========================================================
   FIX: Filialdetails-Button vertikal korrigieren (Kontaktformular)
   ========================================================= */

/* Desktop / Tablet */
.lb-contact-form .lb-branch-details-btn{
  position: relative;
  top: -10px;
}

/* Mobile: stärker nach oben ziehen */
@media (max-width: 720px){
  .lb-contact-form .lb-branch-details-btn{
    top: -35px;
  }
}
