/*
  Barritec Ltd — clean rebuild of the Divi original (same look, ~1/20th the CSS).
  Palette + type lifted from the live site: gray card #707070, accent #ef4723,
  Open Sans body, Alata footer.
  Website developed by pressific.com Emily Park, Dileep C. Kaluaratchie and Tech Generation Ltd.
*/
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
  font-family: 'Open Sans', Helvetica, Arial, sans-serif;
  font-size: 15px; line-height: 1.7; color: #333;
  background: #ebebeb;
  display: flex; flex-direction: column; min-height: 100vh;
}
main { flex: 1; }

.site-header { text-align: center; padding: 42px 20px 34px; }
.site-header img { max-width: 218px; height: auto; }

/* Contact card (home + /contact/) */
.contact-card {
  max-width: 850px; margin: 0 auto 70px; background: #707070;
  box-shadow: 0 12px 30px rgba(0,0,0,.22);
}
.contact-card__head { background: #666; padding: 44px 32px 34px; }
.contact-card__head h1 { color: #fff; font-size: 30px; font-weight: 700; margin-bottom: 14px; }
.contact-card__head p { color: #f2f2f2; font-size: 16px; max-width: 700px; }
.contact-card form { padding: 30px 32px 44px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px 48px; margin-bottom: 22px; }
.contact-card input[type=text], .contact-card input[type=email], .contact-card input[type=tel] {
  width: 100%; background: #e9e9e9; border: 0; padding: 15px 16px;
  font: 600 15px 'Open Sans', sans-serif; color: #222;
}
.contact-card textarea {
  width: 100%; min-height: 250px; background: #e9e9e9; border: 0; padding: 15px 16px;
  font: 400 15px 'Open Sans', sans-serif; color: #222; resize: vertical; margin-bottom: 26px;
}
.contact-card ::placeholder { color: #3a3a3a; opacity: 1; }
.contact-card .cf-turnstile { margin: 0 0 22px; }
.btn-submit {
  display: inline-block; background: #ef4723; color: #fff; border: 0; cursor: pointer;
  font: 700 15px/1 'Open Sans', sans-serif; letter-spacing: .06em; text-transform: uppercase;
  padding: 17px 28px; border-radius: 4px; box-shadow: 0 4px 10px rgba(0,0,0,.25);
}
.btn-submit:hover { background: #d93d1c; }
.form-status { padding: .8em 1em; margin: 0 0 1.2em; border-radius: 4px; font-weight: 600; }
.form-status[data-state="ok"] { background: #e6f6ec; color: #186a3b; }
.form-status[data-state="error"] { background: #fdeaea; color: #a02020; }

/* Legal / text pages */
.page { max-width: 860px; margin: 0 auto 70px; background: #fff; padding: 48px 54px 56px;
        box-shadow: 0 10px 26px rgba(0,0,0,.14); }
.page h1 { font-size: 28px; font-weight: 700; margin-bottom: 20px; color: #222; }
.page h2, .page h3 { margin: 26px 0 10px; color: #222; }
.page p, .page li { margin-bottom: 12px; }
.page ul, .page ol { padding-left: 24px; }
.page a { color: #ef4723; }
.page table { border-collapse: collapse; width: 100%; margin: 14px 0; }
.page td, .page th { border: 1px solid #ddd; padding: 8px 10px; text-align: left; }

/* Footer */
.site-footer {
  background: #ef4723; color: #fff; text-align: center;
  font-family: 'Alata', 'Open Sans', sans-serif; font-size: 16px;
  padding: 34px 20px 30px;
}
.site-footer p { margin-bottom: 6px; }
.site-footer a { color: #fff; }
.site-footer .footer-connect { margin-top: 26px; }

@media (max-width: 760px) {
  .form-grid { grid-template-columns: 1fr; }
  .page { padding: 32px 22px 40px; margin: 0 12px 50px; }
  .contact-card { margin: 0 12px 50px; }
}

.site-footer .footer-credit {
  margin: 22px auto 0; max-width: 760px;
  font-size: 13px; line-height: 1.6; opacity: .92;
}
.site-footer .footer-credit a { text-decoration: underline; }
