.fa-icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  flex: 0 0 auto;
  fill: currentColor;
  vertical-align: -0.125em;
}

.hero-btn .fa-icon { width: 18px; height: 18px; }
.nav-chevron { width: 12px; height: 12px; flex: 0 0 12px; color: currentColor; transition: transform .18s ease; }
.about-hero .hero-btn .fa-icon { display: block; }
.about-hero .hero-btn-primary .fa-icon { color: #fff; }
.contact-detail .fa-icon { display: block; color: #3e77df; }
.fp-button .fa-icon { width: 21px; height: 21px; }
.fp-contact .fa-icon { width: 19px; height: 19px; }
.fp-social .fa-icon { width: 18px; height: 18px; }
.fp-trust-icon .fa-icon { width: 32px; height: 32px; }
.contact-detail .fa-icon { width: 24px; height: 24px; }
.process-secure .fa-icon { width: 15px; height: 17px; }

/* Keep the FAQ action icon optically centered in its circular control. */
.faq .faq-toggle {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  line-height: 1;
}
.faq .faq-toggle .fa-icon {
  display: block;
  flex: 0 0 12px;
  vertical-align: middle;
}

.faq .faq-toggle::before,
.faq .faq-toggle::after,
.home-page .ap-faq .faq-toggle::before,
.home-page .ap-faq .faq-toggle::after,
body.inner-page main > .faq .faq-toggle::before,
body.inner-page main > .faq .faq-toggle::after { display: none !important; }
.faq .faq-toggle .faq-plus,
.faq .faq-toggle .faq-minus { width: 12px; height: 12px; }
.faq .faq-toggle .faq-minus { display: none; }
.faq .accordion-button:not(.collapsed) .faq-toggle .faq-plus { display: none; }
.faq .accordion-button:not(.collapsed) .faq-toggle .faq-minus { display: inline-block; color: #fff; }
.faq .faq-toggle .faq-plus { color: #3e77df; }
.home-page .ap-faq .faq-list .accordion-button:not(.collapsed) .faq-toggle .faq-plus { display: none; }
.home-page .ap-faq .faq-list .accordion-button:not(.collapsed) .faq-toggle .faq-minus { display: inline-block; color: #fff; }

/* Keep plus/minus controls the same size and shape on every FAQ section. */
.faq .faq-toggle {
  align-items: center !important;
  background: #fff !important;
  border: 1px solid #c9d9ef !important;
  border-radius: 50% !important;
  color: #2864ff !important;
  display: inline-flex !important;
  flex: 0 0 28px !important;
  height: 28px !important;
  justify-content: center !important;
  margin-left: auto !important;
  padding: 0 !important;
  width: 28px !important;
}
.faq .accordion-button:not(.collapsed) .faq-toggle {
  background: #405fff !important;
  border-color: #405fff !important;
  color: #fff !important;
}
.faq .faq-toggle .faq-plus,
.faq .faq-toggle .faq-minus { height: 12px !important; width: 12px !important; }

/* Keep the assurance icon and copy centered as one compact group on small screens. */
body.home-page .simple-steps .process-secure,
body.inner-page .about-process-redesign .process-secure {
  align-self: center !important;
  display: flex !important;
  justify-content: center !important;
  margin-inline: auto !important;
  max-width: min(420px, 100%) !important;
  text-align: left !important;
  width: fit-content !important;
}
body.home-page .simple-steps .process-secure > span,
body.inner-page .about-process-redesign .process-secure > span { text-align: left !important; }

/* Social links beneath the quote form introduction. */
body.inner-page .contact-page .contact-form-social {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}
body.inner-page .contact-page .contact-form-social a {
  align-items: center;
  background: #fff;
  border: 1px solid #d4def2;
  border-radius: 50%;
  color: #2864ff;
  display: inline-flex;
  height: 40px;
  justify-content: center;
  text-decoration: none;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
  width: 40px;
}
body.inner-page .contact-page .contact-form-social a:hover,
body.inner-page .contact-page .contact-form-social a:focus-visible {
  background: #2864ff;
  border-color: #2864ff;
  color: #fff;
  transform: translateY(-2px);
}
body.inner-page .contact-page .contact-form-social a:focus-visible { outline: 2px solid #8fb4ff; outline-offset: 3px; }
body.inner-page .contact-page .contact-form-social .fa-icon { height: 17px; width: 17px; }

body.inner-page main > .legal-hero.privacy-hero::before {
  background-image: linear-gradient(90deg, #0d2543f5 0%, #0d2543e8 34%, #0d2543a8 58%, #0d25432a 100%), linear-gradient(0deg, #0d25434d, transparent 58%), url('../images/hero-privacy-policy.webp');
}
body.inner-page main > .legal-hero.terms-hero::before {
  background-image: linear-gradient(90deg, #0d2543f5 0%, #0d2543e8 34%, #0d2543a8 58%, #0d25432a 100%), linear-gradient(0deg, #0d25434d, transparent 58%), url('../images/hero-terms-conditions.webp');
}

@media (max-width: 767px) {
  .fp-trust-icon .fa-icon { width: 23px; height: 23px; }
}
