/* Component styles and only the containing Astra widget row are scoped below. */
.embb-footer {
  --embb-footer-green: #71ba40;
  container: embb-footer / inline-size;
  width: 100%; max-width: 100%; min-width: 0;
  background: #111111; color: #fff; font-family: inherit;
  font-size: 16px; line-height: 1.6; text-align: center;
}
.embb-footer, .embb-footer * { box-sizing: border-box; }
.embb-footer .embb-footer__inner {
  display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px;
  width: 100%; max-width: calc(var(--wp--custom--ast-container-width, 1200px) + 40px); margin: 0 auto; padding: 32px 20px;
}
.embb-footer .embb-footer__inner > * { min-width: 0; }
.embb-footer p, .embb-footer h2 { margin: 0; padding: 0; color: #fff; }
.embb-footer p { font-size: 16px; line-height: 1.6; overflow-wrap: anywhere; }
.embb-footer h2 { font-family: inherit; font-size: 18px; font-weight: 700; line-height: 1.3; text-transform: none; letter-spacing: normal; }
.embb-footer a, .embb-footer a:visited { color: var(--embb-footer-green); text-decoration: none; overflow-wrap: anywhere; }
.embb-footer a:hover { text-decoration: underline; }
.embb-footer a:focus-visible, .embb-footer input:focus-visible, .embb-footer button:focus-visible {
  outline: 3px solid #b6d32e !important; outline-offset: 4px !important;
}
.embb-footer .embb-footer__brand { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; }
.embb-footer .embb-footer__logo { display: block; width: 300px; max-width: 100%; height: auto; object-fit: contain; }
.embb-footer .embb-footer__tagline { color: var(--embb-footer-green); margin-top: 12px; }
.embb-footer .embb-footer__newsletter { margin-top: 28px; }
.embb-footer .embb-footer__newsletter-heading { font-size: 22px; }
.embb-footer .embb-footer__description { margin-top: 8px; }
.embb-footer .embb-footer__form { margin-top: 16px; min-width: 0; max-width: 100%; }
/* Style only provider forms exposed in the same DOM. Hosted iframe and
   shadow DOM internals intentionally remain under EmailOctopus control. */
.embb-footer .embb-footer__form form { margin: 0; padding: 0; max-width: 100%; text-align: inherit; }
.embb-footer .embb-footer__form label { color: #fff; font-family: inherit; }
.embb-footer .embb-footer__form input[type="email"] {
  display: block; width: 100%; min-width: 0; min-height: 48px;
  background: #fff; color: #111; border: 1px solid #d5d5d5;
  border-radius: 5px; padding: 12px 16px; font: inherit; line-height: 1.4;
}
.embb-footer .embb-footer__form input[type="email"]::placeholder { color: #646464; opacity: 1; }
.embb-footer .embb-footer__form button[type="submit"],
.embb-footer .embb-footer__form input[type="submit"] {
  display: block; width: 100%; min-height: 48px; margin-top: 8px;
  padding: 12px 20px; background: var(--embb-footer-green); color: #000;
  border: 0; border-radius: 5px; font: inherit; font-weight: 700; line-height: 1.4; cursor: pointer;
}
.embb-footer .embb-footer__form button[type="submit"]:hover,
.embb-footer .embb-footer__form input[type="submit"]:hover { filter: brightness(1.08); }
.embb-footer .embb-footer__form iframe { display: block; max-width: 100%; width: 100%; border: 0; }
.embb-footer .embb-footer__form .emailoctopus-form-row:has(input[type="email"]),
.embb-footer .embb-footer__form .emailoctopus-form-row:has(button[type="submit"]),
.embb-footer .embb-footer__form .emailoctopus-form-row:has(input[type="submit"]) { margin: 0; padding: 0; }
/* Existing TEXT attribution only. Never hide a logo or manufacture a link. */
.embb-footer .embb-footer__form .emailoctopus-referral {
  margin: 12px 0 0; color: #999999; font-size: 12px; line-height: 1.5;
}
.embb-footer .embb-footer__form .emailoctopus-referral a { color: var(--embb-footer-green); }
.embb-footer .embb-footer__form .emailoctopus-error-message,
.embb-footer .embb-footer__form .emailoctopus-success-message { color: #fff; }
.embb-footer .embb-footer__nav + .embb-footer__nav { margin-top: 28px; }
.embb-footer .embb-footer__links { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 0 16px; }
.embb-footer .embb-footer__links li { list-style: none; margin: 0; padding: 0; min-width: 0; max-width: 100%; }
.embb-footer .embb-footer__links a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 0; font-size: 16px; line-height: 1.4; }
.embb-footer .embb-footer__nav--destination .embb-footer__links { display: grid; grid-template-columns: minmax(0, 1fr); }
.embb-footer .embb-footer__socials { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 24px; margin-top: 24px; }
.embb-footer a.embb-footer__social, .embb-footer a.embb-footer__social:visited { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: #fff; }
.embb-footer .embb-footer__social svg { width: 24px; height: 24px; flex: 0 0 24px; }
.embb-footer .embb-footer__copyright { margin-top: 24px; font-size: 14px; }
@media (min-width: 768px) {
  .embb-footer { text-align: left; }
  .embb-footer .embb-footer__inner { padding: 36px 20px; }
  .embb-footer .embb-footer__links { display: grid; grid-template-columns: minmax(0, 1fr); justify-content: start; }
  .embb-footer .embb-footer__links a { justify-content: flex-start; }
  .embb-footer .embb-footer__socials { justify-content: flex-start; }
}
/* Browsers without container queries retain the safe single-column layout. */

/* Only the Astra row containing this component is normalised. Other footer
   rows, including a retained legacy footer, remain untouched. */
.site-footer .ast-builder-grid-row-container:has(.embb-footer),
.site-footer .embb-footer-astra-row {
  background: #111111 !important; background-image: none !important;
  padding: 0 !important; margin: 0 !important; border: 0 !important;
}
.site-footer .ast-builder-grid-row-container-inner:has(.embb-footer),
.site-footer .ast-builder-grid-row:has(.embb-footer),
.site-footer .site-footer-section:has(.embb-footer),
.site-footer .footer-widget-area:has(.embb-footer),
.site-footer .widget:has(.embb-footer),
.site-footer .wp-block-group:has(.embb-footer),
.site-footer .wp-block-uagb-container:has(.embb-footer),
.site-footer .uagb-container-inner-blocks-wrap:has(.embb-footer),
.site-footer .wp-block-shortcode:has(.embb-footer),
.site-footer .embb-footer-astra-container {
  width: 100% !important; max-width: none !important; min-width: 0 !important;
  padding: 0 !important; margin: 0 !important; border: 0 !important;
  background: #111111 !important; background-image: none !important;
  text-align: left;
}
.site-footer .ast-builder-grid-row:has(.embb-footer),
.site-footer .embb-footer-astra-grid {
  grid-template-columns: minmax(0, 1fr) !important; align-items: start !important; gap: 0 !important;
}
.site-footer .site-footer-section:has(.embb-footer),
.site-footer .embb-footer-astra-section {
  grid-column: 1 / -1; display: block !important; align-self: start;
}
/* Resolve Astra's inherited centre alignment explicitly inside each column. */
.embb-footer .embb-footer__inner { text-align: center; }
@media (min-width: 768px) {
  .embb-footer .embb-footer__inner,
  .embb-footer .embb-footer__brand-column,
  .embb-footer .embb-footer__navigation-column,
  .embb-footer .embb-footer__information-column,
  .embb-footer .embb-footer__newsletter,
  .embb-footer .embb-footer__form { text-align: left !important; }
}
/* Compact pointer desktop navigation; mobile and tablet retain 44px targets. */
@media (min-width: 1200px) {
  .embb-footer .embb-footer__links a { min-height: 32px; padding: 4px 0; }
}

/* Centre the visible artwork of the existing 1000x200 logo on mobile.
   Its rightmost 342px are transparent. Clip only that empty canvas, retaining
   the original image, 300px display width and aspect ratio. Custom logos
   keep their ordinary centred, responsive image box. */
@media (max-width: 767px) {
  .embb-footer .embb-footer__brand { margin-inline: auto; }
  .embb-footer .embb-footer__brand:has(.embb-footer__logo[src$="/site-logo-full-1200-x-300.png"]) {
    display: block; width: 197.4px; overflow: hidden;
  }
  .embb-footer .embb-footer__brand .embb-footer__logo[src$="/site-logo-full-1200-x-300.png"] {
    width: 300px; max-width: none;
  }
}

/* Final refinements: responsive content width, without decorative dividers.
   Mobile rules above are unchanged. */
@media (min-width: 768px) {
@container embb-footer (min-width: 680px) and (width < 1200px) {
  .embb-footer .embb-footer__inner {
    grid-template-columns: minmax(0, 1fr); gap: 24px;
    width: calc(100% - clamp(64px, 12cqi, 128px)); max-width: 52rem;
    padding: 32px 0 24px;
  }
  .embb-footer .embb-footer__brand-column { display: block; }
  .embb-footer .embb-footer__brand { display: flex; width: fit-content; }
  .embb-footer .embb-footer__newsletter {
    width: 100%; margin-top: 20px;
  }
  .embb-footer .embb-footer__form { width: 100%; max-width: 32rem; }
  .embb-footer .embb-footer__navigation-column {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(24px, 3cqi, 32px); align-items: stretch;
  }
  .embb-footer .embb-footer__nav + .embb-footer__nav { margin-top: 0; }
  .embb-footer .embb-footer__links { grid-template-columns: minmax(0, 1fr); }
  .embb-footer .embb-footer__information-column { grid-column: 1 / -1; display: block; }
  .embb-footer .embb-footer__socials { margin-top: 20px; }
  .embb-footer .embb-footer__copyright { margin-top: 16px; }
}
@container embb-footer (min-width: 1200px) {
  .embb-footer .embb-footer__inner {
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.5fr) minmax(0, 1fr);
    gap: clamp(24px, 2cqi, 36px); max-width: none;
    padding: 40px var(--embb-footer-header-inset-right, 20px) 24px var(--embb-footer-header-inset-left, 20px);
    align-items: start;
  }
  .embb-footer .embb-footer__information-column { grid-column: auto; }
  .embb-footer .embb-footer__navigation-column {
    display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    gap: clamp(20px, 2cqi, 32px); align-items: start;
  }
  .embb-footer .embb-footer__nav + .embb-footer__nav { margin-top: 0; }
  /* Compact controls, retaining the existing horizontal-control minimum. */
  .embb-footer .embb-footer__form { width: min(100%, max(340px, 70%)); }
}
}
/* Approved centred tablet refinement: only 768–1032px viewports.
   The previous layout continues outside this range. */
@media (min-width: 768px) and (max-width: 1032px) {
  .embb-footer .embb-footer__inner,
  .embb-footer .embb-footer__brand-column,
  .embb-footer .embb-footer__navigation-column,
  .embb-footer .embb-footer__information-column,
  .embb-footer .embb-footer__newsletter,
  .embb-footer .embb-footer__form { text-align: center !important; }
  .embb-footer .embb-footer__inner { gap: 0; padding-top: 24px; padding-bottom: 24px; }
  .embb-footer .embb-footer__brand { margin-inline: auto; justify-content: center; }
  /* Centre the visible artwork without changing its image or display size. */
  .embb-footer .embb-footer__brand:has(.embb-footer__logo[src$="/site-logo-full-1200-x-300.png"]) {
    display: block; width: 197.4px; overflow: hidden;
  }
  .embb-footer .embb-footer__brand .embb-footer__logo[src$="/site-logo-full-1200-x-300.png"] {
    width: 300px; max-width: none;
  }
  .embb-footer .embb-footer__newsletter { margin-top: 24px; }
  .embb-footer .embb-footer__description { max-width: 40rem; margin-inline: auto; }
  .embb-footer .embb-footer__form { margin: 12px auto 0; }
  .embb-footer .embb-footer__navigation-column { width: 100%; max-width: 40rem; margin: 16px auto 0; }
  .embb-footer .embb-footer__links { justify-content: center; }
  .embb-footer .embb-footer__links a { justify-content: center; }
  .embb-footer .embb-footer__information-column { margin-top: 20px; }
  .embb-footer .embb-footer__acknowledgement { max-width: 44rem; margin-inline: auto; }
  .embb-footer .embb-footer__socials { justify-content: center; margin-top: 16px; }
  .embb-footer .embb-footer__copyright { margin-top: 12px; }
}

/* Desktop node arrangement only. Existing width, insets and smaller layouts
   remain unchanged. The middle area contains two top-aligned navigation columns. */
@media (min-width: 1033px) {
  .embb-footer.embb-footer--desktop-rearranged .embb-footer__inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) minmax(0, 1.3fr);
    gap: clamp(20px, 2cqi, 36px); align-items: start;
  }
  .embb-footer.embb-footer--desktop-rearranged .embb-footer__brand-column,
  .embb-footer.embb-footer--desktop-rearranged .embb-footer__information-column { display: block; grid-column: auto; }
  .embb-footer.embb-footer--desktop-rearranged .embb-footer__navigation-column {
    display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    gap: clamp(16px, 2cqi, 32px); align-items: start;
  }
  .embb-footer.embb-footer--desktop-rearranged .embb-footer__nav + .embb-footer__nav { margin-top: 0; }
  .embb-footer.embb-footer--desktop-rearranged .embb-footer__newsletter { width: 100%; margin-top: 0; }
  .embb-footer.embb-footer--desktop-rearranged .embb-footer__form { width: 100%; max-width: 32rem; }
  .embb-footer.embb-footer--desktop-rearranged .embb-footer__acknowledgement { margin-top: 24px; }
}

/* Approved acknowledgement line grouping on desktop only. Allow longer lines
   to wrap naturally in narrower columns, but keep the final phrase together. */
@media (min-width: 1033px) {
  .embb-footer .embb-footer__acknowledgement-line { display: block; }
  .embb-footer .embb-footer__acknowledgement-line:last-child { white-space: nowrap; }
}
