/* Bran-Don Easy Contact Form - theme-independent isolated styles */
.brandon_ecf-wrap{
  --brandon_ecf-text:#222;
  --brandon_ecf-heading:#5b3a24;
  --brandon_ecf-border:#ddd6cc;
  --brandon_ecf-accent:#c49a5f;
  --brandon_ecf-button:#c67a2d;
  --brandon_ecf-button-hover:#ad641f;
  --brandon_ecf-back:#7b6a58;
  --brandon_ecf-back-hover:#655544;
  --brandon_ecf-error:#b03a2e;

  max-width:860px;
  margin:0 auto;
}

.brandon_ecf p{
  margin:0 0 28px;
}

.brandon_ecf label{
  display:block;
  margin:0 0 8px;
  color:var(--brandon_ecf-heading);
  font-weight:700;
  letter-spacing:.06em;
}

.brandon_ecf input[type="text"],
.brandon_ecf input[type="email"],
.brandon_ecf input[type="tel"],
.brandon_ecf textarea,
.brandon_ecf select{
  box-sizing:border-box;
  width:100%;
  padding:14px 16px;
  border:1px solid var(--brandon_ecf-border);
  background:#fff;
  color:var(--brandon_ecf-text);
  font-size:16px;
  line-height:1.7;
  border-radius:0;
  box-shadow:none;
  appearance:auto;
}

.brandon_ecf textarea{
  min-height:220px;
  resize:vertical;
}

.brandon_ecf input:focus,
.brandon_ecf textarea:focus,
.brandon_ecf select:focus{
  outline:none;
  border-color:var(--brandon_ecf-accent);
  box-shadow:0 0 0 3px rgba(196,154,95,.18);
}

.brandon_ecf input[type="checkbox"]{
  margin-right:8px;
  transform:scale(1.1);
}


.brandon_ecf .brandon_ecf-choice-group{
  display:block;
}

.brandon_ecf .brandon_ecf-choice{
  display:block;
  margin:0 0 10px;
  font-weight:400;
  color:var(--brandon_ecf-text);
  letter-spacing:normal;
}

.brandon_ecf input[type="radio"]{
  margin-right:8px;
  transform:scale(1.1);
}

.brandon_ecf .brandon_ecf-check{
  display:block;
  font-weight:700;
  color:var(--brandon_ecf-heading);
}

.brandon_ecf .brandon_ecf-check a{
  text-decoration:underline;
}

.brandon_ecf button,
.brandon_ecf .brandon_ecf-back{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:220px;
  padding:14px 34px;
  border:none;
  background:var(--brandon_ecf-button);
  color:#fff;
  font-size:15px;
  letter-spacing:.12em;
  cursor:pointer;
  transition:background .25s ease, transform .25s ease;
  text-decoration:none;
  line-height:1.4;
}

.brandon_ecf button:hover,
.brandon_ecf .brandon_ecf-back:hover{
  background:var(--brandon_ecf-button-hover);
  color:#fff;
  transform:translateY(-1px);
}

.brandon_ecf .brandon_ecf-back{
  background:var(--brandon_ecf-back);
}

.brandon_ecf .brandon_ecf-back:hover{
  background:var(--brandon_ecf-back-hover);
}

.brandon_ecf-actions{
  display:flex;
  gap:14px;
  align-items:center;
  flex-wrap:wrap;
}

.brandon_ecf-required{
  display:inline-block;
  margin-left:8px;
  padding:2px 7px;
  background:var(--brandon_ecf-error);
  color:#fff;
  font-size:12px;
  line-height:1.3;
  letter-spacing:.04em;
  vertical-align:middle;
}

.brandon_ecf-errors,
.brandon_ecf-warnings{
  margin:0 0 28px;
  padding:16px 18px;
  border-left:4px solid var(--brandon_ecf-error);
  background:#fff6f4;
  color:#7c241c;
}

.brandon_ecf-warnings{
  border-left-color:#c67a2d;
  background:#fff8ef;
  color:#6b421c;
}

.brandon_ecf-errors ul,
.brandon_ecf-warnings ul{
  margin:0;
  padding-left:1.2em;
}

.brandon_ecf-warnings p{
  margin:0 0 8px;
  font-weight:700;
}

.brandon_ecf-confirm-list{
  border-top:1px solid var(--brandon_ecf-border);
  margin:0 0 30px;
}

.brandon_ecf-confirm-list dt{
  padding:18px 0 8px;
  color:var(--brandon_ecf-heading);
  font-weight:700;
  letter-spacing:.06em;
}

.brandon_ecf-confirm-list dd{
  margin:0;
  padding:0 0 18px;
  border-bottom:1px solid var(--brandon_ecf-border);
  line-height:1.9;
}

.brandon_ecf-complete{
  padding:28px;
  border:1px solid var(--brandon_ecf-border);
  background:#fff;
}

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

@media(max-width:768px){
    .brandon_ecf-wrap{ max-width:none; }

    .brandon_ecf-actions{ display:block; }

      .brandon_ecf button,
  .brandon_ecf .brandon_ecf-back{
    width:100%;
    margin:0 0 12px;
  }
}

.brandon_ecf .brandon_ecf-row-error input,
.brandon_ecf .brandon_ecf-row-error textarea,
.brandon_ecf .brandon_ecf-row-error select{
  border-color:var(--brandon_ecf-error);
  background:#fffafa;
}

.brandon_ecf .brandon_ecf-field-error{
  display:block;
  margin:8px 0 0;
  color:var(--brandon_ecf-error);
  font-size:14px;
  line-height:1.6;
  font-weight:700;
}

.brandon_ecf-recaptcha{margin:18px 0;}
.brandon_ecf-recaptcha .brandon_ecf-field-error{display:block;margin-top:8px;}
