/* ==========================================================================
   the.noomad — Footer FINAL REFINED
   ========================================================================== */

.site-footer,
.site-footer-wrap,
.site-footer-section,
.site-footer-row,
.site-footer-row-container-inner,
.site-footer .site-container {
  background-color: var(--tn-bg-dark) !important;
  color: var(--tn-text-light);
  font-family: var(--tn-font-body);
}

.site-footer a,
.site-footer a:visited {
  color: var(--tn-text-light) !important;
  text-decoration: none !important;
  background: transparent !important;
}

.site-footer a:hover,
.site-footer a:focus {
  color: var(--tn-accent-hover) !important;
}

.site-footer .site-footer-row-container-inner {
  padding-top: var(--tn-footer-padding-y-top) !important;
  padding-bottom: var(--tn-footer-padding-y-bottom) !important;
}

.site-footer .site-container {
  max-width: var(--tn-footer-max-width);
  padding-left: var(--tn-footer-padding-x);
  padding-right: var(--tn-footer-padding-x);
}

.site-footer .site-footer-row {
  align-items: flex-start !important;
}

.site-footer .widget-title,
.site-footer .footer-community-title,
.site-footer h2,
.site-footer h3,
.site-footer h4:not(.footer-logo-wordmark) {
  color: var(--tn-accent) !important;
  font-family: var(--tn-font-heading);
  font-size: var(--tn-footer-title-size) !important;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin: 0 0 16px 0 !important;
}

.site-footer .footer-logo-wordmark {
  color: var(--tn-text-muted);
  font-family: var(--tn-font-heading);
  font-size: var(--tn-footer-title-size);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.02em;
  text-transform: lowercase;
  margin: 0 0 16px 0;
}

.site-footer .footer-logo-wordmark span {
  color: var(--tn-accent);
}

.site-footer p,
.site-footer li {
  color: var(--tn-text-light);
  font-size: var(--tn-footer-body-size);
  line-height: 1.6;
  margin-top: 0;
  margin-bottom: 6px !important;
}

.site-footer .footer-identity {
  max-width: 260px;
}

.site-footer .footer-subline {
  font-weight: 700;
}

.site-footer .footer-event-date {
  font-weight: 500;
}

.site-footer .footer-mail {
  margin-top: 14px;
}

.site-footer .footer-mail a {
  color: var(--tn-text-muted) !important;
}

.site-footer ul,
.site-footer .menu {
  list-style: none;
  padding: 0;
  margin: 0;
}

.site-footer li:last-child {
  margin-bottom: 0 !important;
}

.site-footer .footer-community,
.site-footer .widget_nav_menu {
  text-align: center;
}

.site-footer .footer-community-text {
  max-width: 280px;
  margin-left: auto;
  margin-right: auto;
}

.site-footer .footer-community-links {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 6px;
  margin-top: 12px;
}

.site-footer .footer-social-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 500;
}

.site-footer .footer-social-link svg {
  width: 14px;
  height: 14px;
  fill: currentColor;
}

.site-footer .footer-copyright,
.site-footer .site-footer-bottom-section-1,
.site-footer .site-footer-bottom-section-2 {
  color: var(--tn-text-light) !important;
  font-size: var(--tn-footer-small-size);
  opacity: 0.7;
  text-align: center;
  margin-top: 16px;
}

/* Hide Germanized global footer notices */
p.footer-info.vat-info,
p.footer-info.sale-info {
  display: none !important;
}

/* Tablet + Mobile: center all footer widgets */
@media (max-width: 1024px) {
  :root {
    --tn-footer-padding-x: 28px;
    --tn-footer-padding-y-top: 32px;
    --tn-footer-padding-y-bottom: 22px;
  }

  .site-footer .site-footer-row {
    row-gap: 30px;
  }

  .site-footer .footer-identity,
  .site-footer .footer-community,
  .site-footer .widget_nav_menu,
  .site-footer .widget,
  .site-footer .footer-widget-area {
    max-width: none;
    text-align: center !important;
  }

  .site-footer .footer-community-text {
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
  }

  .site-footer .footer-community-links {
    align-items: center !important;
  }

  .site-footer ul,
  .site-footer .menu {
    text-align: center !important;
  }
}

@media (max-width: 767px) {
  :root {
    --tn-footer-padding-x: 20px;
    --tn-footer-padding-y-top: 28px;
    --tn-footer-padding-y-bottom: 20px;
  }

  .site-footer .site-footer-row {
    row-gap: 28px;
  }
}