/* PowerSense professional footer module */

.ps-footer,
.ps-footer *,
.ps-footer *::before,
.ps-footer *::after {
  box-sizing: border-box;
}

.ps-footer {
  --ps-footer-bg: var(--ps-ui-surface);
  --ps-footer-text: var(--ps-ui-ink);
  --ps-footer-muted: var(--ps-ui-muted);
  --ps-footer-soft: var(--ps-ui-muted);
  --ps-footer-line: var(--ps-ui-line);
  --ps-footer-line-strong: var(--ps-ui-line-strong);
  --ps-footer-primary-bg: var(--ps-ui-action);
  --ps-footer-primary-hover: var(--ps-ui-action-hover);
  --ps-footer-primary-text: var(--ps-ui-on-color);
  --ps-footer-primary-shadow: none;
  --ps-footer-button-bg: var(--ps-ui-paper);
  --ps-footer-button-hover: var(--ps-ui-surface);
  --ps-footer-container: min(var(--ps-layout-max), calc(100% - 2 * var(--ps-layout-gutter)));
  width: 100%;
  border-top: 1px solid var(--ps-footer-line);
  background: var(--ps-footer-bg);
  color: var(--ps-footer-text);
  font-family: var(--ps-ui-font);

}

.ps-footer a {
  color: inherit;
  text-decoration: none !important;
}

.ps-footer a:visited,
.ps-footer a:hover,
.ps-footer a:focus,
.ps-footer a:active {
  text-decoration: none !important;
  text-decoration-line: none !important;
}


.ps-footer__inner {
  width: var(--ps-footer-container);
  margin-inline: auto;
  padding: clamp(52px, 7vw, 88px) 0 24px;
}

.ps-footer__cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(24px, 5vw, 72px);
  align-items: center;
  padding-block-end: clamp(34px, 5vw, 58px);
  border-bottom: 1px solid var(--ps-footer-line);
}

.ps-footer__eyebrow {
  display: block;
  margin-block-end: 12px;
  color: var(--ps-ui-accent-text);
  font-size: var(--ps-ui-overline-size);
  font-weight: var(--ps-ui-label-weight);
  line-height: var(--ps-ui-leading-label);
  letter-spacing: var(--ps-ui-tracking-label);
  text-transform: uppercase;
}

.ps-footer__cta h2 {
  max-width: 680px;
  margin: 0;
  color: var(--ps-footer-text);
  font-size: var(--ps-ui-h2);
  font-weight: var(--ps-ui-heading-weight);
  line-height: var(--ps-ui-leading-heading);
  letter-spacing: var(--ps-ui-tracking-heading);
}

.ps-footer__cta p {
  max-width: 560px;
  margin: 16px 0 0;
  color: var(--ps-footer-muted);
  font-size: var(--ps-ui-body);
  line-height: var(--ps-ui-leading-body);
}

.ps-footer__cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.ps-footer .ps-footer__btn {
  
  --ps-button-bg: var(--ps-ui-action);
  --ps-button-color: var(--ps-ui-on-color);
  --ps-button-line: var(--ps-ui-action);
  --ps-button-hover-bg: var(--ps-ui-action-hover);
  --ps-button-hover-color: var(--ps-ui-on-color);
  --ps-button-hover-line: var(--ps-ui-action-hover);

  
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: var(--ps-ui-control-height);
  max-width: 100%;
  padding: var(--ps-ui-button-padding);
  border: 1px solid var(--ps-button-line, var(--ps-ui-button-secondary-line));
  border-radius: var(--ps-ui-button-radius);
  background: var(--ps-button-bg, var(--ps-ui-button-secondary-bg));
  color: var(--ps-button-color, var(--ps-ui-button-secondary-color));
  box-shadow: none;
  cursor: pointer;
  font-family: var(--ps-ui-font);
  font-size: var(--ps-ui-button-size);
  font-weight: var(--ps-ui-button-weight);
  line-height: var(--ps-ui-leading-control);
  letter-spacing: var(--ps-ui-tracking-body);
  text-align: center;
  text-decoration: none !important;
  text-transform: none;
  white-space: normal;
  transition: background var(--ps-transition), border-color var(--ps-transition), color var(--ps-transition);

}

.ps-footer__btn-icon {
  display: block;
  width: 16px;
  height: 16px;
  fill: currentColor;
  flex: 0 0 auto;
}

.ps-footer .ps-footer__btn:hover:not(:disabled):not(.disabled):not([aria-disabled="true"]),
.ps-footer .ps-footer__btn:focus-visible:not(:disabled):not(.disabled):not([aria-disabled="true"]) {
  
  border-color: var(--ps-button-hover-line, var(--ps-ui-button-secondary-hover-line));
  background: var(--ps-button-hover-bg, var(--ps-ui-button-secondary-hover-bg));
  color: var(--ps-button-hover-color, var(--ps-ui-button-secondary-hover-color));
  text-decoration: none !important;
  transform: none;
  box-shadow: none;
  filter: none;

}

.ps-footer .ps-footer__btn--phone {
  
  --ps-button-bg: var(--ps-ui-button-secondary-bg);
  --ps-button-color: var(--ps-ui-button-secondary-color);
  --ps-button-line: var(--ps-ui-button-secondary-line);
  --ps-button-hover-bg: var(--ps-ui-button-secondary-hover-bg);
  --ps-button-hover-color: var(--ps-ui-button-secondary-hover-color);
  --ps-button-hover-line: var(--ps-ui-button-secondary-hover-line);

}

.ps-footer .ps-footer__btn--phone:hover:not(:disabled):not(.disabled):not([aria-disabled="true"]),
.ps-footer .ps-footer__btn--phone:focus-visible:not(:disabled):not(.disabled):not([aria-disabled="true"]) {
  
  border-color: var(--ps-button-hover-line, var(--ps-ui-button-secondary-hover-line));
  background: var(--ps-button-hover-bg, var(--ps-ui-button-secondary-hover-bg));
  color: var(--ps-button-hover-color, var(--ps-ui-button-secondary-hover-color));
  text-decoration: none !important;
  transform: none;
  box-shadow: none;
  filter: none;

}

.ps-footer .ps-footer__btn-icon {
  color: inherit;
  fill: currentColor;
}

.ps-footer__main {
  display: grid;
  grid-template-columns: minmax(200px, .8fr) minmax(360px, 1.4fr) minmax(180px, .7fr);
  gap: clamp(24px, 3vw, 40px);
  align-items: start;
  padding-block-start: clamp(34px, 5vw, 56px);
}

.ps-footer__brand,
.ps-footer__contact {
  min-width: 0;
}

.ps-footer__logo {
  display: inline-flex;
  align-items: center;
  width: clamp(168px, 17vw, 226px);
  max-width: 100%;
}

.ps-footer__logo img {
  display: block;
  width: 100%;
  height: auto;
}

.ps-footer__sr-title {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.ps-footer__mission {
  max-width: 330px;
  margin: 18px 0 0;
  color: var(--ps-footer-muted);
  font-size: var(--ps-ui-body);
  line-height: var(--ps-ui-leading-body);
}

.ps-footer__social {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  align-items: center;
  margin-block-start: 16px;
}

.ps-footer__contact .ps-footer__social {
  margin-block-start: 8px;
}

.ps-footer__social a {
  color: var(--ps-footer-soft);
  font-size: var(--ps-ui-small);
  font-weight: var(--ps-ui-strong-weight);
  line-height: var(--ps-ui-leading-compact);
  transition: color .18s ease;
}

.ps-footer__trust-proof {
  display: grid;
  width: min(100%, 304px);
  gap: 10px;
  margin-block-start: 16px;
}

.ps-footer__trust {
  display: inline-grid;
  width: 100%;
  gap: 6px;
  margin-block-start: 0;
  padding: 14px 0 0;
  border: 0;
  border-top: 1px solid var(--ps-footer-line);
  border-radius: 0;
  background: transparent;
  color: var(--ps-footer-text);
  transition:
    background .18s ease,
    border-color .18s ease;
}

.ps-footer__trust:hover,
.ps-footer__trust:focus-visible {
  border-color: var(--ps-footer-line-strong);
  background: transparent;
  color: var(--ps-footer-text);
}

.ps-footer__trust-head,
.ps-footer__trust-rating {
  display: flex;
  align-items: center;
  min-width: 0;
}

.ps-footer__trust-head {
  justify-content: space-between;
  gap: 12px;
}

.ps-footer__trust-rating {
  gap: 7px;
}

.ps-footer__trust-score {
  color: var(--ps-footer-text);
  font-size: var(--ps-ui-component-title);
  font-weight: var(--ps-ui-heading-weight);
  line-height: var(--ps-ui-leading-solid);
}

.ps-footer__trust-stars {
  color: var(--ps-footer-text);
  font-size: var(--ps-ui-overline-size);
  font-weight: var(--ps-ui-heading-weight);
  letter-spacing: var(--ps-ui-tracking-body);
  line-height: var(--ps-ui-leading-solid);
}

.ps-footer__trust-source {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 7px;
  border: 1px solid var(--ps-footer-line);
  border-radius: var(--ps-radius-pill);
  color: var(--ps-footer-muted);
  font-size: var(--ps-ui-overline-size);
  font-weight: var(--ps-ui-heading-weight);
  line-height: var(--ps-ui-leading-solid);
}

.ps-footer__trust-copy {
  color: var(--ps-footer-muted);
  font-size: var(--ps-ui-caption);
}

.ps-footer__trust-copy,
.ps-footer__trust-cert {
  font-weight: var(--ps-ui-label-weight);
  line-height: var(--ps-ui-leading-compact);
}

.ps-footer__trustindex {
  display: flex;
  min-height: 44px;
  align-items: center;
  gap: 9px;
  padding: 9px 0;
  border-top: 1px solid var(--ps-footer-line);
  color: var(--ps-footer-text);
}

.ps-footer__trustindex:hover,
.ps-footer__trustindex:focus-visible {
  border-color: var(--ps-footer-line-strong);
  color: var(--ps-footer-text);
}

.ps-footer__trustindex-mark {
  display: inline-grid;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 1px solid var(--ps-footer-line-strong);
  border-radius: var(--ps-radius-pill);
  color: var(--ps-footer-soft);
  font-size: var(--ps-ui-overline-size);
  font-weight: var(--ps-ui-heading-weight);
}

.ps-footer__trustindex-mark--verified {
  border-color: var(--ps-success);
  background: var(--ps-success);
  color: var(--ps-ui-on-color);
  box-shadow: none;
}

.ps-footer__trustindex > span:last-child {
  display: grid;
  gap: 2px;
}

.ps-footer__trustindex strong {
  color: inherit;
  font-size: var(--ps-ui-caption);
  font-weight: var(--ps-ui-strong-weight);
}

.ps-footer__trustindex strong,
.ps-footer__trustindex small {
  line-height: var(--ps-ui-leading-compact);
}

.ps-footer__trustindex small {
  color: var(--ps-footer-muted);
  font-size: var(--ps-ui-overline-size);
}

.ps-footer__trust-cert {
  color: var(--ps-footer-soft);
  font-size: var(--ps-ui-overline-size);
}

.ps-footer__nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(20px, 4vw, 46px);
}

.ps-footer__column h3,
.ps-footer__contact h3 {
  margin: 0 0 14px;
  color: var(--ps-footer-text);
  font-size: var(--ps-ui-small);
  font-weight: var(--ps-ui-heading-weight);
  line-height: var(--ps-ui-leading-card);
  letter-spacing: var(--ps-ui-tracking-body);
}

.ps-footer__column ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ps-footer__column a,
.ps-footer__contact-item,
.ps-footer__areas a {
  color: var(--ps-footer-muted);
  font-size: var(--ps-ui-small);
  line-height: var(--ps-ui-leading-compact);
  transition: color .18s ease;
}

.ps-footer__column a {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
}

.ps-footer__column a:hover,
.ps-footer__column a:focus-visible,
.ps-footer__social a:hover,
.ps-footer__social a:focus-visible,
a.ps-footer__contact-item:hover,
a.ps-footer__contact-item:focus-visible,
.ps-footer__areas a:hover,
.ps-footer__areas a:focus-visible,
.ps-footer__legal a:hover,
.ps-footer__legal a:focus-visible {
  color: var(--ps-ui-brand);
}

.ps-footer__contact {
  display: grid;
  justify-items: start;
  gap: 8px;
}

.ps-footer__contact-item {
  display: block;
  max-width: 280px;
}

.ps-footer__areas {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  align-items: center;
  margin-block-start: clamp(32px, 5vw, 52px);
  padding-block-start: 20px;
  border-top: 1px solid var(--ps-footer-line);
}

.ps-footer__areas span {
  width: 100%;
  color: var(--ps-footer-soft);
  font-size: var(--ps-ui-small);
  font-weight: var(--ps-ui-strong-weight);
  line-height: var(--ps-ui-leading-compact);
}

.ps-footer__areas a {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
}

.ps-footer__bottom {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
  margin-block-start: clamp(28px, 4vw, 44px);
  padding-block-start: 18px;
  border-top: 1px solid var(--ps-footer-line);
  color: var(--ps-footer-soft);
  font-size: var(--ps-ui-small);
  line-height: var(--ps-ui-leading-compact);
}

.ps-footer__bottom-copy {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.ps-footer__bottom p {
  margin: 0;
}

.ps-footer__company {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  color: var(--ps-footer-soft);
  font-size: var(--ps-ui-caption);
}

.ps-footer__company span::before {
  content: "·";
  margin-inline-end: 10px;
  color: rgba(255, 59, 5, 0.62);
}

.ps-footer__legal {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 14px;
}

.ps-footer__legal a {
  color: var(--ps-footer-soft);
  transition: color .18s ease;
}

body.ps-has-powersense-footer .site-footer:not(.ps-footer),
body.ps-has-powersense-footer footer.site-footer:not(.ps-footer),
body.ps-has-powersense-footer #colophon:not(.ps-footer),
body.ps-has-powersense-footer .elementor-location-footer:not(.ps-footer),
body.ps-has-powersense-footer .ast-footer-wrap,
body.ps-has-powersense-footer .footer-widgets,
body.ps-has-powersense-footer .footer-widget-area,
body.ps-has-powersense-footer .site-info {
  display: none !important;
}

@media (max-width: 1080px) {
  .ps-footer__cta,
  .ps-footer__main {
    grid-template-columns: 1fr;
  }

  .ps-footer__cta-actions {
    justify-content: flex-start;
  }

  .ps-footer__mission,
  .ps-footer__contact-item,
  .ps-footer__trust-proof {
    max-width: 640px;
  }
}

@media (max-width: 720px) {
  .ps-footer__inner {
    padding-block-start: 38px;
  }

  .ps-footer__cta {
    gap: 22px;
  }

  .ps-footer__cta-actions {
    display: grid;
    width: 100%;
    grid-template-columns: 1fr;
  }

  .ps-footer__cta-actions .ps-footer .ps-footer__btn {
    width: 100%;
  }

  

  

  .ps-footer__nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px 22px;
  }

  .ps-footer__bottom {
    display: grid;
    justify-items: start;
  }

  .ps-footer__legal {
    justify-content: flex-start;
  }
}

@media (max-width: 420px) {
  .ps-footer__trust-head {
    align-items: flex-start;
  }

  .ps-footer__trust-rating {
    flex-wrap: wrap;
  }
}

@media (max-width: 360px) {
  .ps-footer__nav {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ps-footer__btn,
  .ps-footer__column a,
  .ps-footer__social a,
  .ps-footer__contact-item,
  .ps-footer__areas a,
  .ps-footer__legal a {
    transition: none;
  }
}
