/* =========================
   FORM WRAPPER
========================= */
.wpcf7 form {
  max-width: 700px;
}

/* =========================
   LABELS
========================= */
.wpcf7 p {
  font-weight: 500;
  margin-bottom: 5px;
  color: #333;
}

/* =========================
   INPUTS
========================= */
.wpcf7 input,
.wpcf7 textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid #ddd;
  border-radius: 6px;
  margin-bottom: 10px;
  font-size: 14px;
}

/* =========================
   ROWS (FIRST/LAST, CITY/STATE/ZIP)
========================= */
.cf7-row {
  display: flex;
  gap: 10px;
}

.cf7-row > div {
  flex: 1;
}

/* =========================
   SERVICES GRID (FIXED)
========================= */
.cf7-services .wpcf7-checkbox {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px 40px;
  margin-top: 10px;
}

/* REMOVE DEFAULT SPACING */
.cf7-services .wpcf7-list-item {
  margin: 0;
}

/* ALIGN CHECKBOX + TEXT */
.cf7-services label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 500;
  color: #333;
  padding: 6px 8px;
  border-radius: 6px;
  transition: 0.2s ease;
}

/* HOVER EFFECT */
.cf7-services label:hover {
  color: #16522a;
  background: #f1f5f2;
}

/* CHECKBOX STYLE */
.cf7-services input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: #16522a;
  cursor: pointer;
}

/* OPTIONAL LIGHT BACKGROUND BOX */
.cf7-services .wpcf7-checkbox {
  background: #f9f9f9;
  padding: 15px;
  border-radius: 8px;
}

/* =========================
   BUTTON
========================= */
.wpcf7 input[type="submit"] {
  background: #16522a;
  color: #fff;
  border: none;
  padding: 14px 20px;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
  transition: 0.2s ease;
  width: 100%;
}

.wpcf7 input[type="submit"]:hover {
  background: #1f6b38;
}

/* =========================
   MOBILE
========================= */
@media (max-width: 768px) {
  .cf7-row {
    flex-direction: column;
  }

  .cf7-services .wpcf7-checkbox {
    grid-template-columns: 1fr;
  }
}

/* =========================
   FOOTER
========================= */

 .bhf-footer {
            font-family: 'Georgia', serif;
            color: #2a1a0e;
            padding: 60px 40px 30px;
            background: #ffffff;
        }
 
        .bhf-footer-grid {
            display: grid;
            grid-template-columns: 1.8fr 1fr 1fr 1fr;
            gap: 48px;
            max-width: 1200px;
            margin: 0 auto;
            padding-bottom: 48px;
            border-bottom: 1px solid #d4c4b0;
        }
 
        /* Column 1 — Logo + Tagline */
        .bhf-footer-brand img {
            max-width: 200px;
            height: auto;
            margin-bottom: 18px;
            display: block;
        }
 
        .bhf-footer-brand p {
            font-family: 'Calibri', 'Trebuchet MS', sans-serif;
            font-size: 14px;
            line-height: 1.7;
            color: #5a3e2b;
            margin: 0 0 20px;
        }
 
        .bhf-footer-contact-block {
            display: flex;
            flex-direction: column;
            gap: 8px;
            margin-top: 4px;
        }
 
        .bhf-footer-contact-block a {
            font-family: 'Calibri', 'Trebuchet MS', sans-serif;
            font-size: 14px;
            color: #7b4a2d;
            text-decoration: none;
            display: flex;
            align-items: center;
            gap: 8px;
            transition: color 0.2s;
        }
 
        .bhf-footer-contact-block a:hover {
            color: #3b1f0e;
        }
 
        .bhf-footer-contact-block .bhf-icon {
            width: 16px;
            height: 16px;
            flex-shrink: 0;
            fill: #7b4a2d;
        }
 
        /* Column headings */
        .bhf-footer-col h4 {
            font-family: 'Georgia', serif;
            font-size: 13px;
            font-weight: bold;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: #3b1f0e;
            margin: 0 0 16px;
            padding-bottom: 10px;
            border-bottom: 2px solid #c89a6e;
        }
 
        .bhf-footer-col ul {
            list-style: none;
            margin: 0;
            padding: 0;
        }
 
        .bhf-footer-col ul li {
            margin-bottom: 9px;
        }
 
        .bhf-footer-col ul li a {
            font-family: 'Calibri', 'Trebuchet MS', sans-serif;
            font-size: 14px;
            color: #5a3e2b;
            text-decoration: none;
            transition: color 0.2s;
        }
 
        .bhf-footer-col ul li a:hover {
            color: #7b4a2d;
        }
 
        /* Social icons row */
        .bhf-footer-social {
            display: flex;
            gap: 12px;
            margin-top: 20px;
        }
 
        .bhf-footer-social a {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 36px;
            height: 36px;
            border-radius: 50%;
            background: #f5efe6;
            border: 1px solid #d4c4b0;
            transition: background 0.2s, border-color 0.2s;
        }
 
        .bhf-footer-social a:hover {
            background: #c89a6e;
            border-color: #c89a6e;
        }
 
        .bhf-footer-social a svg {
            width: 16px;
            height: 16px;
            fill: #3b1f0e;
        }
 
        .bhf-footer-social a:hover svg {
            fill: #ffffff;
        }
 
        /* Bottom bar */
        .bhf-footer-bottom {
            max-width: 1200px;
            margin: 28px auto 0;
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 12px;
        }
 
        .bhf-footer-bottom p {
            font-family: 'Calibri', 'Trebuchet MS', sans-serif;
            font-size: 12px;
            color: #8a6a50;
            margin: 0;
        }
 
        .bhf-footer-bottom-links {
            display: flex;
            gap: 20px;
        }
 
        .bhf-footer-bottom-links a {
            font-family: 'Calibri', 'Trebuchet MS', sans-serif;
            font-size: 12px;
            color: #8a6a50;
            text-decoration: none;
            transition: color 0.2s;
        }
 
        .bhf-footer-bottom-links a:hover {
            color: #3b1f0e;
        }
 
        /* Responsive */
        @media (max-width: 1024px) {
            .bhf-footer-grid {
                grid-template-columns: 1fr 1fr;
                gap: 36px;
            }
        }
 
        @media (max-width: 640px) {
            .bhf-footer {
                padding: 40px 24px 24px;
            }
            .bhf-footer-grid {
                grid-template-columns: 1fr;
                gap: 32px;
            }
            .bhf-footer-bottom {
                flex-direction: column;
                align-items: flex-start;
            }
        }