/* =============================================
   Paint it Black — Global Site Footer
   Standalone stylesheet with NO dependencies, so it can also load on
   Template Team pages that dequeue the theme CSS chain (own-nav landings).
   Every --mic-* token has a literal fallback for the same reason.
   ============================================= */

/* Hide Elementor / parent-theme footers when the PIB global footer is active. */
body.pib-has-global-footer .elementor-location-footer,
body.pib-has-global-footer [data-elementor-type="footer"],
body.pib-has-global-footer footer.site-footer,
body.pib-has-global-footer #site-footer,
body.pib-has-global-footer #colophon,
body.pib-has-global-footer .hfe-footer,
body.pib-has-global-footer .ehf-footer {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* ---- FOOTER ---- */

/* Brand tokens pinned on the footer itself: Template Team landings redefine
   --mic-* on :root with their own palette, which must not recolor the footer. */
.mic-site-footer {
  --mic-bg-page: #0B1012;
  --mic-black: #0B1012;
  --mic-border-subtle: rgba(255, 255, 255, 0.04);
  --mic-container-max: 1200px;
  --mic-font-display: 'Anton', sans-serif;
  --mic-text-primary: #FFFFFF;
  --mic-text-muted: #808080;
  --mic-radius-button: 8px;
  --mic-yellow: #FDD804;
  --mic-yellow-hover: #FFE94D;
  --mic-purple: #8511FF;
  --mic-purple-hover: #9D3FFF;
  font-family: 'Open Sans', sans-serif;
  padding: 56px 0 40px;
  border-top: 1px solid var(--mic-border-subtle, rgba(255, 255, 255, 0.04));
  background: var(--mic-bg-page, #0B1012);
}

/* Minimal local reset: some landings ship without a CSS reset. */
.mic-site-footer,
.mic-site-footer *,
.mic-site-footer *::before,
.mic-site-footer *::after {
  box-sizing: border-box;
}

.mic-site-footer p,
.mic-site-footer form {
  margin-top: 0;
}

.mic-site-footer-inner {
  max-width: var(--mic-container-max, 1200px);
  margin: 0 auto;
  padding: 0 64px;
}

/* Footer top: 2-column grid */
.mic-site-footer-top {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 48px !important;
  margin-bottom: 48px !important;
}

.mic-site-footer-heading {
  font-family: var(--mic-font-display, 'Anton', sans-serif) !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  color: var(--mic-text-primary, #FFFFFF) !important;
  margin-bottom: 16px !important;
}

/* Social icons */
.mic-site-footer-social {
  display: flex !important;
  gap: 10px !important;
}

.mic-site-footer-social a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.06);
  color: var(--mic-text-muted, #808080) !important;
  text-decoration: none !important;
  transition: background 250ms ease-in-out, color 250ms ease-in-out;
}

.mic-site-footer-social a:hover {
  background: rgba(255, 255, 255, 0.12);
  color: var(--mic-text-primary, #FFFFFF) !important;
}

.mic-site-footer-social svg {
  width: 16px !important;
  height: 16px !important;
  max-width: 16px !important;
  max-height: 16px !important;
  flex-shrink: 0;
}

/* Newsletter form */
.mic-site-footer-nl-form {
  display: flex !important;
  gap: 8px !important;
  margin-top: 4px;
}

.mic-site-footer-nl-input {
  flex: 1;
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid var(--mic-border-subtle, rgba(255, 255, 255, 0.04)) !important;
  border-radius: var(--mic-radius-button, 8px);
  padding: 10px 14px;
  font-family: inherit;
  font-size: 13px !important;
  color: var(--mic-text-primary, #FFFFFF) !important;
  outline: none;
  transition: border-color 250ms ease-in-out;
}

.mic-site-footer-nl-input:focus {
  border-color: var(--mic-yellow, #FDD804);
}

.mic-site-footer-nl-input::placeholder {
  color: var(--mic-text-muted, #808080);
}

.mic-site-footer-nl-btn {
  background: var(--mic-yellow, #FDD804) !important;
  color: var(--mic-black, #0B1012) !important;
  border: none !important;
  border-radius: var(--mic-radius-button, 8px);
  padding: 10px 20px;
  font-family: var(--mic-font-display, 'Anton', sans-serif) !important;
  font-size: 13px !important;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition: background 250ms ease-in-out;
}

.mic-site-footer-nl-btn:hover {
  background: var(--mic-yellow-hover, #FFE94D);
}

/* Footer nav columns */
.mic-site-footer-nav-cols {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px 32px !important;
  padding-top: 4px;
}

.mic-site-footer-nav-col {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

.mic-site-footer-nav-link {
  font-size: 14px;
  color: var(--mic-text-muted, #808080) !important;
  text-decoration: none !important;
  transition: color 250ms ease-in-out;
  line-height: 1.4;
}

.mic-site-footer-nav-link:hover {
  color: var(--mic-text-primary, #FFFFFF) !important;
}

/* Divider */
.mic-site-footer-divider {
  border: none;
  border-top: 1px solid var(--mic-border-subtle, rgba(255, 255, 255, 0.04));
  margin-bottom: 24px;
}

/* Disclaimer */
.mic-site-footer-disclaimer {
  color: var(--mic-text-muted, #808080);
  font-size: 11px;
  line-height: 1.6;
  margin-bottom: 20px;
}

/* Bottom bar */
.mic-site-footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--mic-text-muted, #808080);
  font-size: 13px;
}

.mic-site-footer-bottom a {
  color: var(--mic-purple, #8511FF) !important;
  text-decoration: none !important;
}

.mic-site-footer-bottom a:hover {
  color: var(--mic-purple-hover, #9D3FFF) !important;
}

/* Footer social link containers — explicit sizing as failsafe */
.mic-site-footer-social a {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;
  overflow: hidden;
}

/* ---- RESPONSIVE ---- */

@media (max-width: 1024px) {
  .mic-site-footer-inner {
    padding: 0 32px;
  }
}

@media (max-width: 768px) {
  .mic-site-footer-inner {
    padding: 0 16px;
  }

  /* Footer responsive */
  .mic-site-footer-top {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  .mic-site-footer-nav-cols {
    grid-template-columns: 1fr !important;
  }

  .mic-site-footer-nl-form {
    flex-direction: column;
  }

  .mic-site-footer-bottom {
    flex-direction: column;
    gap: 8px;
    text-align: center;
  }
}

/* ---- ELEMENTOR THEME BUILDER OVERRIDES ---- */

.elementor-location-footer .elementor-section,
.elementor-location-footer .elementor-element,
.elementor-location-footer .e-con {
  padding: 0;
  margin: 0;
}

/* Remove Elementor's default footer background */
.elementor-location-footer {
  background: var(--mic-bg-page, #0B1012) !important;
}
