.ft-signup-link:focus-visible,
.ft-newsletter a:focus-visible,
.ft-newsletter input:focus-visible,
.ft-newsletter button:focus-visible {
  outline: 2px solid var(--faceless-cyan);
  outline-offset: 4px;
}
.ft-newsletter {
  width: min(80%, 1080px);
  max-width: 100%;
  box-sizing: border-box;
  margin-bottom: 24px;
  padding: clamp(20px, 3vw, 32px);
  border: 1px solid var(--faceless-line-strong);
  background: var(--faceless-panel);
  color: var(--faceless-bone);
  font-family: Manrope, system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  scroll-margin-top: 24px;
}
.ft-newsletter > div { min-width: 0; }
.ft-newsletter .ft-newsletter-form { margin-top: 20px; }
.ft-newsletter h2 {
  margin: 0 0 8px;
  font-family: Sora, system-ui, sans-serif;
  font-size: 24px;
  line-height: 1.3;
}
.ft-newsletter p { margin: 0; font-size: 16px; line-height: 1.5; }
body.faceless-temple-chrome .ft-newsletter .ft-newsletter-consent { margin: 6px 0 0; color: #99938c; font-size: 13px; line-height: 1.5; }
body.faceless-temple-chrome .ft-newsletter .ff-el-input--label.ff-el-is-required label::after { display: none; }
body.faceless-temple-chrome .elementor .elementor-section.faceless-elementor-home-hero { padding-bottom: 24px !important; }
body.faceless-temple-chrome .faceless-elementor-newsletter .elementor-widget-wrap { display: block; }
body.faceless-temple-chrome .faceless-elementor-newsletter .elementor-widget { width: 100%; margin-bottom: 0 !important; }
.ft-newsletter .ff-el-input--label { font-size: 16px; }
.ft-newsletter a { color: var(--faceless-cyan); text-decoration: underline; }
.ft-newsletter form { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; }
.ft-newsletter form[hidden] { display: none; }
.ft-newsletter form > fieldset { display: flex; flex: 1 1 100%; flex-wrap: wrap; align-items: end; gap: 12px; min-width: 0; padding: 0; border: 0; }
.ft-newsletter legend.ff_screen_reader_title { position: absolute; clip-path: inset(50%); overflow: hidden; white-space: nowrap; }
.ft-newsletter form > .ff-el-group { margin: 0; flex: 1 1 220px; }
.ft-newsletter fieldset > .ff-el-group { margin: 0; flex: 1 1 220px; }
.ft-newsletter form > .ff_submit_btn_wrapper { flex: 0 0 auto; }
.ft-newsletter fieldset > .ff_submit_btn_wrapper { flex: 0 0 auto; }
.ft-newsletter .ff-el-input--label { margin-bottom: 8px; }
body.faceless-temple-chrome .ft-newsletter input[type="email"] {
  width: 100%; min-height: 48px; padding: 12px;
  border: 1px solid var(--faceless-line-strong); border-radius: 2px;
  background: var(--faceless-void); color: var(--faceless-bone);
  font: inherit; box-sizing: border-box;
}
.ft-newsletter input::placeholder { color: var(--faceless-ash); opacity: 1; }
body.faceless-temple-chrome .ft-newsletter .ff-btn-submit {
  min-height: 48px; padding: 12px 20px; border: 1px solid var(--faceless-line-strong);
  border-radius: 2px; background: var(--faceless-panel); color: var(--faceless-bone);
  font: inherit; font-weight: 700; cursor: pointer;
}
.ft-newsletter .ff-btn-submit:disabled { opacity: 0.65; cursor: wait; }
.ft-newsletter .ff-el-is-error .text-danger { color: #ffb7bd; }
.ft-newsletter .ff-message-success { color: var(--faceless-bone); border-color: var(--faceless-cyan); }
@media (max-width: 720px) {
  .ft-newsletter { width: 100%; }
  .ft-newsletter form > .ff-el-group { flex-basis: 100%; }
  .ft-newsletter fieldset > .ff-el-group { flex-basis: 100%; }
  .ft-newsletter .ff-btn-submit { width: 100%; }
}
