/*
 Theme Name:   Abuild Child
 Theme URI:    https://demo.rstheme.com/wordpress/abuild/
 Description:  Abuild Child
 Author:       RSTheme
 Author URI:   http://rstheme.com
 Template:     abuild
 Version:      1.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
 */

.bs-sidebar.dark-style .widget_custom_html .custom-html-widget .rs-contact-box .address-item .address-icon img {
 filter: brightness(3000);
}

.bs-sidebar .widget_search button, .bs-sidebar .bs-search button,
.bs-sidebar.dark-style .widget_text .rs-button .rs-btn,
.bs-sidebar.dark-style .widget_custom_html {
}

.bs-sidebar.dark-style .widget_custom_html .custom-html-widget p  {
}

/* === Grundlayout === */
.gf-wrapper.kontaktformular-geruest {
  max-width: 900px;
  margin: 0 auto;
  padding: 40px 30px;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 4px 25px rgba(0,0,0,0.08);
  font-family: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.gf-wrapper h3 {
  font-size: 1.25rem;
  font-weight: 600;
  color: #1e293b;
  border-bottom: 2px solid #f1f5f9;
  padding-bottom: 6px;
  margin: 35px 0 20px 0;
}

/* === Reihen & Spalten === */
.cf7-row {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 20px;
}

.cf7-row.cf7-row-2 .cf7-col {
  flex: 1 1 calc(50% - 10px);
}

.cf7-row .cf7-col {
  flex: 1 1 100%;
}

/* === Input, Textarea, Select === */
.gf-wrapper input[type="text"],
.gf-wrapper input[type="email"],
.gf-wrapper input[type="tel"],
.gf-wrapper input[type="file"],
.gf-wrapper select,
.gf-wrapper textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  font-size: 15px;
  background: #f8fafc;
  color: #0f172a;
  transition: all 0.2s ease;
  margin-bottom: 0;
}

.gf-wrapper input:focus,
.gf-wrapper textarea:focus,
.gf-wrapper select:focus {
  border-color: #2563eb;
  background: #fff;
  box-shadow: 0 0 0 2px rgba(37,99,235,0.15);
  outline: none;
}

/* === Label & Beschriftung === */
.gf-wrapper label {
  font-weight: 500;
  font-size: 14px;
  color: #334155;
  display: block;
  margin-bottom: 6px;
}

/* === Hinweistext unter Feldern === */
.gf-wrapper small,
.cf7-hint {
  font-size: 13px;
  color: #64748b;
}

/* === Datenschutz-Checkbox === */
.gf-wrapper input[type="checkbox"] {
  accent-color: #2563eb;
  transform: scale(1.1);
  margin-right: 8px;
}

.gf-wrapper a {
  color: #2563eb;
  text-decoration: none;
}
.gf-wrapper a:hover {
  text-decoration: underline;
}

/* === Submit-Button === */
.gf-wrapper input[type="submit"] {
  background: #2563eb;
  color: #fff;
  border: none;
  padding: 14px 28px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s ease;
}

.gf-wrapper input[type="submit"]:hover {
  background: #1d4ed8;
}

/* === Erfolgsmeldung & Fehlermeldungen === */
div.wpcf7-response-output {
  margin-top: 20px;
  border-radius: 8px;
  padding: 14px 18px;
  font-size: 14px;
}

.wpcf7-not-valid-tip {
  color: #dc2626;
  font-size: 13px;
  margin-top: 4px;
}

div.wpcf7-mail-sent-ok {
  background: #ecfdf5;
  border: 1px solid #10b981;
  color: #065f46;
}

div.wpcf7-validation-errors {
  background: #fef2f2;
  border: 1px solid #f87171;
  color: #991b1b;
}

.wpcf7 label span.wpcf7-list-item-label {
  color: #1e293b;
}

.wpcf7 label span.wpcf7-not-valid-tip {
  color: #dc2626;
}


/* === Responsives Verhalten === */
@media (max-width: 640px) {
  .cf7-row.cf7-row-2 .cf7-col {
    flex: 1 1 100%;
  }
  .gf-wrapper {
    padding: 25px 18px;
  }
}
