/* Additions for the static site (not part of the old Avada styles). Uses the site's own --bp-* colours. */

/* Pop-up panels: Avada animated these with its own script; a plain fade/slide instead. */
.awb-off-canvas-wrap { transition: opacity .25s ease, visibility .25s ease; }
.awb-off-canvas-wrap .awb-off-canvas { transition: transform .3s ease; transform: translateY(16px); }
.awb-off-canvas-wrap.awb-show .awb-off-canvas { transform: none; }

/* Sending state: the button keeps its size, its label gives way to a spinner. */
form.bp-sending button[type="submit"],
form.bp-sending input[type="submit"] { position: relative; color: transparent !important; pointer-events: none; }
form.bp-sending button[type="submit"]::after {
  content: ""; position: absolute; left: 50%; top: 50%; width: 18px; height: 18px; margin: -9px 0 0 -9px;
  border: 2px solid rgba(255, 255, 255, .45); border-top-color: #fff; border-radius: 50%;
  animation: bp-spin .7s linear infinite;
}
form.bp-sending .fusion-form-field input,
form.bp-sending .fusion-form-field textarea { opacity: .6; }
@keyframes bp-spin { to { transform: rotate(360deg); } }

/* Confirmation that replaces a form after it is sent (instead of Avada's green alert box). */
.bp-done {
  display: flex; gap: 16px; align-items: flex-start;
  padding: 22px 24px; margin: 4px 0 0;
  background: #fff; border: 1px solid var(--bp-rule, #e3e6ea); border-top: 3px solid var(--bp-accent, #0b6ea8);
}
.bp-done__icon {
  flex: 0 0 34px; width: 34px; height: 34px; border-radius: 50%;
  background: var(--bp-accent, #0b6ea8); color: #fff;
  display: flex; align-items: center; justify-content: center;
}
.bp-done__icon svg { width: 18px; height: 18px; }
.bp-done__h { margin: 2px 0 6px; font-family: Literata, Georgia, serif; font-weight: 600; font-size: 19px; line-height: 1.3; color: var(--bp-ink, #1f2a33); }
.bp-done__t { margin: 0; font-size: 15px; line-height: 1.6; color: var(--bp-muted, #5b6670); }
.bp-done:focus { outline: none; }

/* A failed send: a quiet line under the button, not a red banner. */
.bp-fail { margin: 12px 0 0; font-size: 14px; color: #b42318; }
.bp-fail a { color: inherit; text-decoration: underline; }

/* Avada's stock alerts are never shown any more. */
.fusion-form-response { display: none !important; }

/* Field checks */
.fusion-form-field.bp-invalid input,
.fusion-form-field.bp-invalid textarea { border-color: #b42318 !important; box-shadow: 0 0 0 1px #b42318 inset; }
.bp-err { margin: 6px 0 0; font-size: 13px; line-height: 1.4; color: #b42318; }

/* Contact form: newsletter opt-in */
.bp-optin { margin-top: 4px; }
.bp-optin__l { display: flex !important; gap: 10px; align-items: flex-start; cursor: pointer; font-size: 14px !important; line-height: 1.5; color: var(--bp-muted, #5b6670); text-transform: none !important; letter-spacing: 0 !important; font-weight: 400 !important; }
.bp-optin__c { flex: none; width: 17px; height: 17px; margin: 2px 0 0; accent-color: var(--bp-accent, #0b6ea8); }

/* Top bar: the subscribe link reads as an action, not a contact detail */
.bp-hdr__i--sub { color: var(--bp-accent, #0b6ea8) !important; }
.bp-hdr__i--sub .bp-hdr__ic { color: var(--bp-accent, #0b6ea8); }

/* Newsletter pop-up: illustration across the top */
[data-bp-popup="exit"] .awb-off-canvas { overflow: hidden; padding: 0 !important; }
.bp-pop__art { display: block; width: 100%; height: 150px; object-fit: cover; margin: 0; }
