#footer.footer-wrapper {
  --footer-bg: var(--np-footer-bg, #fafaf9);
  --footer-ink: var(--np-footer-ink, #5d5e5d);
  --footer-muted: var(--np-footer-ink, #5d5e5d);
  --footer-line: #b6b6b2;
  background: var(--np-footer-bg, #fafaf9);
  color: var(--np-footer-ink, #5d5e5d);
}
#footer.footer-wrapper .np-footer-brand {
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  width: 100%;
  padding: 40px 0;
  border-top: 1px solid #2f2e2f;
  border-bottom: 1px solid #2f2e2f;
  background: var(--np-footer-bg, #fafaf9);
}
#footer.footer-wrapper .np-footer-brand a { display: block; width: 180px; max-width: calc(100% - 60px); line-height: 0; }
#footer.footer-wrapper .np-footer-brand img { display: block; width: 100%; height: auto; max-width: 100%; }

/* Keep the current provider and its unrelated widgets; place the three known roles beside the existing newsletter. */
#footer.footer-wrapper .footer-widgets.footer-2 { padding: 0 !important; background: var(--np-footer-bg, #fafaf9) !important; color: var(--np-footer-ink, #5d5e5d); }
#footer.footer-wrapper .footer-widgets.footer-2 > .row {
  display: grid;
  grid-template-columns: minmax(0, 33.333333%) repeat(4, minmax(0, 1fr));
  gap: 0;
  width: 100%;
  max-width: none;
  margin: 0;
}
#footer.footer-wrapper .footer-widgets.footer-2 > .row > .widget { box-sizing: border-box; width: auto; max-width: none; min-width: 0; margin: 0 !important; padding: 40px !important; }
#footer.footer-wrapper .footer-widgets.footer-2 > .row > .widget:has(.np-footer-column--shop) { grid-column: 2; grid-row: 1; }
#footer.footer-wrapper .footer-widgets.footer-2 > .row > .widget:has(.np-footer-column--help) { grid-column: 3; grid-row: 1; }
#footer.footer-wrapper .footer-widgets.footer-2 > .row > .widget:has(.np-footer-column--policies) { grid-column: 4; grid-row: 1; }
#footer.footer-wrapper .footer-widgets.footer-2 > .row > .widget:has(form input[type="email"]) { grid-column: 1; grid-row: 1; border-right: 1px solid #a9a9a6; }
#footer.footer-wrapper .footer-2 .custom-html-widget > .np-footer-column { color: var(--np-footer-ink, #5d5e5d) !important; text-align: left !important; }
#footer.footer-wrapper .footer-2 .np-footer-column h2 {
  margin: 0 0 20px;
  color: var(--np-footer-ink, #5d5e5d) !important;
  font: 300 22.5px/1.3 Georgia, "Times New Roman", serif;
  letter-spacing: 0;
  text-transform: none;
}
#footer.footer-wrapper .footer-2 .np-footer-links { list-style: none; margin: 0; padding: 0; }
#footer.footer-wrapper .footer-2 .np-footer-links li { list-style: none; margin: 0; padding: 0; }
#footer.footer-wrapper .footer-2 .np-footer-links a,
#footer.footer-wrapper .footer-2 .np-footer-links span {
  display: inline-block;
  padding: 1px 0;
  color: var(--np-footer-ink, #5d5e5d) !important;
  font: 400 14px/1.8 Poppins, Arial, sans-serif;
  text-decoration: none;
  overflow-wrap: anywhere;
}
#footer.footer-wrapper .footer-2 .np-footer-links a:hover,
#footer.footer-wrapper .footer-2 .np-footer-links a:focus-visible { color: var(--np-footer-ink, #5d5e5d) !important; text-decoration: underline; text-underline-offset: 4px; }

/* The existing signup widget and its action are preserved; no new submission handler is invented. */
#footer.footer-wrapper .footer-2 .custom-html-widget > div:has(form input[type="email"]) { max-width: none; padding: 0 !important; border: 0; background: transparent !important; color: var(--np-footer-ink, #5d5e5d) !important; }
#footer.footer-wrapper .footer-2 .custom-html-widget > div:has(form input[type="email"]) h3 { margin: 0 0 12px !important; color: var(--np-footer-ink, #5d5e5d) !important; font: italic 300 40px/1.1 Georgia, "Times New Roman", serif !important; letter-spacing: 0 !important; }
#footer.footer-wrapper .footer-2 .custom-html-widget > div:has(form input[type="email"]) > p { margin: 0 0 20px !important; color: var(--np-footer-ink, #5d5e5d) !important; font: 400 15px/1.5 Poppins, Arial, sans-serif !important; }
#footer.footer-wrapper .footer-2 .custom-html-widget form:has(input[type="email"]) { display: grid; grid-template-columns: minmax(0, 1fr) !important; gap: 12px; margin: 0 !important; }
#footer.footer-wrapper .footer-2 .custom-html-widget form input[type="email"] { box-sizing: border-box; height: 45px !important; min-height: 45px; border: 1px solid #757575 !important; border-radius: 0 !important; background: transparent !important; color: var(--np-footer-ink, #5d5e5d) !important; }
#footer.footer-wrapper .footer-2 .custom-html-widget form button[type="submit"] { width: 100% !important; height: 52px !important; min-height: 52px; border: 1px solid #5b5b5b !important; border-radius: 0 !important; background: #5b5b5b !important; color: #fff !important; font: 700 12px/1.2 Arial, sans-serif !important; text-transform: uppercase; }
#footer.footer-wrapper .footer-2 .custom-html-widget form button[type="submit"]:hover,
#footer.footer-wrapper .footer-2 .custom-html-widget form button[type="submit"]:focus-visible { background: #444 !important; color: #fff !important; }

/* Keep Flatsome's real absolute footer and its configured SVG payment icons intact. */
#footer.footer-wrapper .absolute-footer { background: var(--np-footer-bg, #fafaf9) !important; color: var(--np-footer-ink, #5d5e5d) !important; }
#footer.footer-wrapper .absolute-footer > .container { width: calc(100% - 80px); max-width: none; border-top: 1px solid #b6b6b2; }
#footer.footer-wrapper .absolute-footer .footer-primary,
#footer.footer-wrapper .absolute-footer .copyright-footer,
#footer.footer-wrapper .absolute-footer .copyright-footer strong { color: var(--np-footer-ink, #5d5e5d) !important; }
#footer.footer-wrapper a:focus-visible,
#footer.footer-wrapper button:focus-visible,
#footer.footer-wrapper input:focus-visible { outline: 2px solid #333 !important; outline-offset: 3px !important; }

@media (max-width: 989px) {
  #footer.footer-wrapper .footer-widgets.footer-2 > .row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #footer.footer-wrapper .footer-widgets.footer-2 > .row > .widget { padding: 30px !important; }
  #footer.footer-wrapper .footer-widgets.footer-2 > .row > .widget:has(form input[type="email"]) { grid-column: 1 / -1; grid-row: 1; border-right: 0; border-bottom: 1px solid #a9a9a6; }
  #footer.footer-wrapper .footer-widgets.footer-2 > .row > .widget:has(.np-footer-column--shop) { grid-column: 1; grid-row: 2; }
  #footer.footer-wrapper .footer-widgets.footer-2 > .row > .widget:has(.np-footer-column--help) { grid-column: 2; grid-row: 2; }
  #footer.footer-wrapper .footer-widgets.footer-2 > .row > .widget:has(.np-footer-column--policies) { grid-column: 1; grid-row: 3; }
  #footer.footer-wrapper .footer-2 .custom-html-widget form input[type="email"] { height: 56px !important; min-height: 56px; }
  #footer.footer-wrapper .footer-2 .custom-html-widget form button[type="submit"] { height: 56px !important; min-height: 56px; }
  #footer.footer-wrapper .absolute-footer > .container { width: calc(100% - 60px); }
}

/* Keep the verified policy destinations; distribute them over the two
   source-evidenced columns rather than inventing links for a fourth group. */
#footer.footer-wrapper .footer-widgets.footer-2 > .row > .widget:has(.np-footer-column--policies) { grid-column: 4 / span 2; }
#footer.footer-wrapper .footer-2 .np-footer-pair { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px; text-align: left; }
@media (max-width: 989px) {
  #footer.footer-wrapper .footer-widgets.footer-2 > .row > .widget:has(.np-footer-column--policies) { grid-column: 1 / -1; grid-row: 3; }
  #footer.footer-wrapper .footer-2 .np-footer-pair { gap: 60px; }
}
