/* Additions on top of the Duda export: Formspark forms + rebuilt blog. */

/* Formspark forms: copies of the two GHL forms they replace, from each
   form's GHL style settings and the live form. Shared: transparent form
   (it sits on Duda's dark sections), white inputs with 7px corners, Inter
   14px/300, a US flag in the phone field and an envelope in the email
   field (GHL's phone/email widgets), bold white SMS-consent text.
   Every selector starts at .lp-form-wrap so it outranks Duda's theme rule
   for form fields (div.dmInner input[type=text] {background: translucent
   grey; border: 2px solid #fff; height: 40px; ...}). */
.lp-form-wrap { max-width: 1000px; width: 100%; margin: 0 auto; padding: 30px 20px; background: transparent; text-align: left; box-sizing: border-box; font-family: Inter, sans-serif; }
.lp-form-wrap * { box-sizing: border-box; }
.lp-form { display: grid; grid-template-columns: 1fr 1fr; column-gap: 26px; row-gap: 18px; margin: 0; }
.lp-form-wrap .lp-form .lp-field { grid-column: 1 / -1; min-width: 0; }
.lp-form-wrap .lp-form .lp-half { grid-column: auto; }
.lp-form-wrap .lp-form input[type=text], .lp-form-wrap .lp-form input[type=tel], .lp-form-wrap .lp-form input[type=email], .lp-form-wrap .lp-form select, .lp-form-wrap .lp-form textarea {
  display: block; width: 100%; height: auto; min-height: 39px; margin: 0; background-color: #fff; border-radius: 7px; padding: 8px 20px; box-shadow: none;
  font-family: Inter, sans-serif; font-size: 14px; font-weight: 300; line-height: 1.5; -webkit-appearance: none; appearance: none; }
.lp-form-wrap .lp-form textarea { resize: vertical; height: 107px; }
.lp-form-wrap .lp-form select { cursor: pointer; padding-right: 40px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23999' stroke-width='2'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; }
.lp-form-wrap .lp-form input[type=tel] { padding-left: 50px; background-repeat: no-repeat; background-position: 8px center; background-size: 34px 12px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='12' viewBox='0 0 34 12'%3E%3Crect width='20' height='12' fill='%23b22234'/%3E%3Cpath d='M0 1.4h20M0 3.3h20M0 5.1h20M0 7h20M0 8.8h20M0 10.7h20' stroke='%23fff' stroke-width='.9'/%3E%3Crect width='9' height='6.5' fill='%233c3b6e'/%3E%3Cpath d='M26 4.5h6l-3 3.5z' fill='%23333'/%3E%3C/svg%3E"); }
.lp-form-wrap .lp-form input[type=email] { padding-left: 44px; background-repeat: no-repeat; background-position: 12px center; background-size: 18px 14px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='14' viewBox='0 0 18 14'%3E%3Crect x='1' y='1' width='16' height='12' rx='2' fill='none' stroke='%23666' stroke-width='1.4'/%3E%3Cpath d='M1.5 2.5L9 8l7.5-5.5' fill='none' stroke='%23666' stroke-width='1.4'/%3E%3C/svg%3E"); }
.lp-form-wrap .lp-form input:focus, .lp-form-wrap .lp-form select:focus, .lp-form-wrap .lp-form textarea:focus { outline: 2px solid #009ef4; outline-offset: 0; }
.lp-form-wrap .lp-form .lp-consent { display: flex; align-items: flex-start; margin-top: 6px; }
.lp-form-wrap .lp-form .lp-consent input { flex: 0 0 auto; width: 15px; height: 15px; margin: 4px 0 0; background: #fff; border: 1px solid #d3d3d3; border-radius: 2px; accent-color: #10496f; }
.lp-form-wrap .lp-form .lp-consent label { margin-left: 20px; color: #fff; font-family: Inter, sans-serif; font-size: 16px; font-weight: 600; line-height: 1.25; }
.lp-form-wrap .lp-form .lp-submit { margin-top: 10px; }
.lp-form-wrap .lp-form button { font-family: Roboto, sans-serif; font-size: 16px; font-weight: 400; border-radius: 7px; padding: 10px 11px; white-space: normal; box-shadow: none; cursor: pointer; transition: all .2s ease-in-out; }
.lp-form-wrap .lp-form button:disabled { opacity: .6; cursor: wait; }
.lp-form-success { color: #fff; font-family: Inter, sans-serif; font-size: 16px; text-align: center; padding: 16px 0; }
.lp-form-success p { margin: 0; }
.lp-form-error { color: #ffb4ae; font-family: Inter, sans-serif; font-size: 14px; margin: 8px 0 0; }

/* "Active Website Form Hero" (home): one column, borderless inputs, black
   text on #222 placeholders, 90%-wide #10496f button, centred. */
.lp-form-wrap.lp-form-hero .lp-form { grid-template-columns: 1fr; }
.lp-form-wrap.lp-form-hero input[type=text], .lp-form-wrap.lp-form-hero input[type=tel], .lp-form-wrap.lp-form-hero input[type=email], .lp-form-wrap.lp-form-hero select, .lp-form-wrap.lp-form-hero textarea { border: 0; color: #000; }
.lp-form-wrap.lp-form-hero ::placeholder { color: #222; opacity: 1; }
.lp-form-wrap.lp-form-hero select:has(option[value=""]:checked) { color: #222; }
.lp-form-wrap.lp-form-hero .lp-submit { text-align: center; }
.lp-form-wrap.lp-form-hero button { width: 90%; background: #10496f; color: #fff; border: 0; }
.lp-form-wrap.lp-form-hero button:hover { background: #545454; }

/* "Active Website Contact Form" (other pages): two columns, light-grey
   bordered inputs, #2c3345 text on #8c8c8c placeholders, white button a
   quarter of the form wide on the right, with a 4px bottom edge. */
.lp-form-wrap.lp-form-contact input[type=text], .lp-form-wrap.lp-form-contact input[type=tel], .lp-form-wrap.lp-form-contact input[type=email], .lp-form-wrap.lp-form-contact textarea { border: 1px solid #d3d3d3; color: #2c3345; }
.lp-form-wrap.lp-form-contact ::placeholder { color: #8c8c8c; opacity: 1; }
.lp-form-wrap.lp-form-contact .lp-submit { text-align: right; }
.lp-form-wrap.lp-form-contact button { width: 25%; min-width: 200px; padding: 23px 11px; background: #fff; color: #000; border: 1px solid #d3d3d3; border-bottom: 4px solid #bebebe; }
.lp-form-wrap.lp-form-contact button:hover { background: #fff; }
@media (max-width: 600px) { .lp-form { column-gap: 12px; } .lp-form-wrap.lp-form-contact button { width: 100%; min-width: 0; } }

.lp-blog-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 28px; max-width: 1200px; margin: 40px auto 60px; padding: 0 20px; font-family: Barlow, sans-serif; }
.lp-card { display: flex; flex-direction: column; background: #fff; border-radius: 4px; overflow: hidden; box-shadow: 0 8px 24px rgba(0, 19, 63, .1); text-decoration: none !important; color: var(--color_4, #404040) !important; }
.lp-card img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.lp-card-body { padding: 18px 20px 22px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.lp-card h2 { font-family: Oswald, sans-serif; font-size: 21px; line-height: 1.25; margin: 0; color: var(--color_3, #00133f); }
.lp-card time { font-size: 13px; color: #777; }
.lp-card p { margin: 0; font-size: 15px; line-height: 1.5; }
.lp-card .lp-more { margin-top: auto; padding-top: 6px; font-weight: 600; color: var(--color_6, #2554a2); }
.lp-post { max-width: 860px; margin: 40px auto 60px; padding: 0 20px; font-family: Barlow, sans-serif; font-size: 18px; line-height: 1.65; color: var(--color_4, #404040); text-align: left; }
.lp-post > img { width: 100%; border-radius: 4px; margin-bottom: 24px; }
.lp-post img { max-width: 100%; height: auto; }
.lp-post h2, .lp-post h3 { font-family: Oswald, sans-serif; color: var(--color_3, #00133f); line-height: 1.25; margin: 1.2em 0 .4em; }
.lp-post .dmRespColsWrapper, .lp-post .dmRespCol { display: block; width: auto; float: none; }
.lp-back { display: inline-block; margin-top: 32px; font-weight: 600; color: var(--color_6, #2554a2); }
