/* SiteBuddy newsletter. Brand tokens: deep teal #0B3B45, teal #0D7888, amber #FCB215, ink #1E2A30, muted #5B6770,
   line #E3E8EA, tint #F6F8F9. Font: Kumbh Sans (loaded by the theme). Specific selectors beat Elementor kit button/input styles. */
.sbnl { font-family: "Kumbh Sans", sans-serif; color: #1E2A30; }
.sbnl .sbnl__title { margin: 0 0 6px; font-size: 22px; line-height: 1.25; font-weight: 700; color: #0B3B45; letter-spacing: 0; }
.sbnl .sbnl__text { margin: 0; font-size: 16px; line-height: 1.5; color: #5B6770; }
.sbnl .sbnl__form { margin: 0; }
.sbnl .sbnl__row { display: flex; gap: 10px; }
.sbnl .sbnl__sr, .sbnl .sbnl__hp { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
body .sbnl input.sbnl__email { flex: 1 1 auto; min-width: 0; min-height: 48px; margin: 0; padding: 10px 14px; border: 1px solid #C9D3D7; border-radius: 10px;
  background: #fff; color: #1E2A30; font: 400 16px/1.3 "Kumbh Sans", sans-serif; box-shadow: none; }
body .sbnl input.sbnl__email:focus { outline: 3px solid rgba(13, 120, 136, .35); outline-offset: 1px; border-color: #0D7888; }
body .sbnl button.sbnl__btn { flex: none; min-height: 48px; margin: 0; padding: 10px 22px; border: 0; border-radius: 10px; cursor: pointer;
  background: #FCB215; color: #1E2A30; font: 700 16px/1 "Kumbh Sans", sans-serif; text-transform: none; letter-spacing: 0; box-shadow: none; }
body .sbnl button.sbnl__btn:hover, body .sbnl button.sbnl__btn:focus { background: #F0A400; color: #1E2A30; }
body .sbnl button.sbnl__btn:focus-visible { outline: 3px solid #0B3B45; outline-offset: 2px; }
body .sbnl button.sbnl__btn[disabled] { opacity: .6; cursor: progress; }
.sbnl .sbnl__consent { display: flex; align-items: flex-start; gap: 10px; margin: 12px 0 0; font-size: 14px; line-height: 1.45; color: #5B6770; cursor: pointer; }
.sbnl .sbnl__consent input { flex: none; width: 18px; height: 18px; margin: 2px 0 0; accent-color: #0D7888; }
.sbnl .sbnl__consent a { color: #0D7888; text-decoration: underline; }
.sbnl .sbnl__msg { min-height: 0; margin: 10px 0 0; font-size: 15px; line-height: 1.4; }
.sbnl .sbnl__msg:empty { margin: 0; }
.sbnl .sbnl__msg.is-ok { color: #0B6B3A; font-weight: 600; }
.sbnl .sbnl__msg.is-error { color: #B42318; }

/* Footer band (above the site footer) */
.sbnl-band { background: #F6F8F9; border-top: 1px solid #E3E8EA; }
.sbnl-band__inner { max-width: 1240px; margin: 0 auto; padding: 44px 20px; }
.sbnl--footer { display: grid; grid-template-columns: 1fr minmax(0, 520px); gap: 24px 56px; align-items: center; }
@media (max-width: 900px) { .sbnl--footer { grid-template-columns: 1fr; } .sbnl-band__inner { padding: 36px 20px; } }

/* Offer page section (inside an Elementor container) */
.sbnl--offer { max-width: 620px; margin: 0 auto; text-align: left; }
.sbnl--offer .sbnl__copy { margin-bottom: 16px; }

/* Popup: a small card, bottom-left on desktop, bottom sheet on phones. Non-modal: the page stays usable. */
.sbnl-pop { position: fixed; left: 24px; bottom: 24px; z-index: 9980; width: 380px; max-width: calc(100vw - 32px); padding: 24px 22px 20px;
  background: #fff; border: 1px solid #E3E8EA; border-radius: 16px; box-shadow: 0 18px 48px rgba(16, 40, 48, .22);
  opacity: 0; transform: translateY(12px); transition: opacity .25s ease, transform .25s ease; }
.sbnl-pop[hidden] { display: none; }
.sbnl-pop.is-open { opacity: 1; transform: none; }
.sbnl-pop .sbnl__title { font-size: 20px; padding-right: 28px; }
.sbnl-pop .sbnl__text { font-size: 15px; margin-bottom: 14px; }
.sbnl-pop .sbnl__row { flex-direction: column; }
body .sbnl-pop button.sbnl-pop__close { position: absolute; top: 10px; right: 10px; width: 36px; height: 36px; min-height: 0; padding: 0; margin: 0;
  border: 0; border-radius: 50%; background: transparent; color: #5B6770; font: 400 26px/1 sans-serif; cursor: pointer; box-shadow: none; }
body .sbnl-pop button.sbnl-pop__close:hover, body .sbnl-pop button.sbnl-pop__close:focus { background: #F6F8F9; color: #1E2A30; }
@media (max-width: 600px) {
  /* Compact bottom sheet above the chat button: title + one-line pitch, email and button side by side. */
  .sbnl-pop { left: 12px; right: 12px; bottom: 80px; width: auto; max-width: none; padding: 16px 16px 12px; border-radius: 14px; }
  .sbnl-pop .sbnl__title { font-size: 18px; margin-bottom: 2px; }
  .sbnl-pop .sbnl__text { font-size: 14px; margin-bottom: 10px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .sbnl-pop .sbnl__row { flex-direction: row; }
  body .sbnl-pop button.sbnl__btn { padding: 10px 16px; }
  .sbnl-pop .sbnl__consent { font-size: 12.5px; margin-top: 8px; gap: 8px; }
}
@media (prefers-reduced-motion: reduce) { .sbnl-pop { transition: none; transform: none; } }

/* Confirmation toast after clicking the email link */
.sbnl-toast { position: fixed; left: 50%; top: 88px; z-index: 10000; transform: translateX(-50%); max-width: calc(100vw - 32px); width: 520px;
  padding: 14px 44px 14px 18px; background: #0B3B45; color: #fff; border-radius: 12px; box-shadow: 0 14px 36px rgba(16, 40, 48, .3);
  font: 400 15px/1.45 "Kumbh Sans", sans-serif; }
body .sbnl-toast button { position: absolute; top: 6px; right: 8px; width: 32px; height: 32px; min-height: 0; padding: 0; border: 0; background: transparent;
  color: #fff; font: 400 22px/1 sans-serif; cursor: pointer; box-shadow: none; }
@media print { .sbnl-band, .sbnl-pop, .sbnl-toast { display: none; } }
