/* ═══════════════════════════════════════════
   Brühwerk Footer — Refined 4-zone layout
   (Brand+Claim / Sortiment / Service / Kontakt)
   ═══════════════════════════════════════════ */

/* ── Base: dark stage + copper hairline on top ── */
.bw-footer {
  position: relative !important;
  background: #0a0a0c !important;
  border-top: 1px solid rgba(200, 149, 108, 0.25) !important;
  padding-top: var(--bw-s-20, 80px) !important;
}
.bw-footer::before {
  content: "" !important;
  position: absolute !important;
  top: -1px !important;
  left: 0 !important;
  right: 0 !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent 0%, rgba(212, 162, 122, 0.55) 50%, transparent 100%) !important;
  pointer-events: none !important;
}

/* ── 4-zone grid, generous spacing ── */
.bw-footer .bw-footer-grid {
  display: grid !important;
  grid-template-columns: 1.4fr 0.9fr 0.9fr 1.2fr !important;
  gap: var(--bw-s-12, 48px) !important;
  padding-bottom: var(--bw-s-8, 32px) !important;
}
@media (max-width: 1024px) {
  .bw-footer .bw-footer-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: var(--bw-s-10, 40px) !important;
  }
}
@media (max-width: 640px) {
  .bw-footer .bw-footer-grid {
    grid-template-columns: 1fr !important;
    gap: var(--bw-s-8, 32px) !important;
  }
}

/* ── Zone 1: Brand + Claim ── */
.bw-footer .bw-footer-brand .bw-footer-logo {
  font-size: 1.7rem !important;
  margin-bottom: var(--bw-s-4, 16px) !important;
}
.bw-footer .bw-footer-brand .bw-footer-desc {
  color: rgba(255, 255, 255, 0.55) !important;
  font-size: 14px !important;
  line-height: 1.85 !important;
  max-width: 320px !important;
  margin-bottom: var(--bw-s-6, 24px) !important;
}
.bw-footer .bw-footer-badges {
  margin-top: var(--bw-s-2, 8px) !important;
}
.bw-footer .bw-footer-badges img {
  opacity: 0.75 !important;
  transition: opacity var(--bw-t-fast) !important;
}
.bw-footer .bw-footer-badges img:hover {
  opacity: 1 !important;
}

/* ── Column headings: mono kicker style ── */
.bw-footer h4.bw-footer-heading {
  font-family: 'JetBrains Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.18em !important;
  color: var(--bw-accent, #c8956c) !important;
  margin-bottom: var(--bw-s-5, 20px) !important;
}

/* ── Zones 2+3: Sortiment & Service link lists ── */
.bw-footer .bw-footer-links a {
  color: rgba(255, 255, 255, 0.6) !important;
  font-size: 14px !important;
  line-height: 2.3 !important;
  text-decoration: none !important;
  transition: color var(--bw-t-fast) !important;
}
.bw-footer .bw-footer-links a:hover {
  color: var(--bw-accent-hover, #d4a27a) !important;
}

/* ── Zone 4: Kontakt (address + email + hotline) ── */
.bw-footer .bw-footer-address {
  font-style: normal !important;
  color: rgba(255, 255, 255, 0.5) !important;
  font-size: 14px !important;
  line-height: 1.9 !important;
}
.bw-footer .bw-footer-address p {
  color: rgba(255, 255, 255, 0.5) !important;
  font-size: 14px !important;
  line-height: 1.9 !important;
  margin: 0 !important;
}
.bw-footer .bw-footer-address a {
  color: var(--bw-accent, #c8956c) !important;
  text-decoration: none !important;
}
.bw-footer .bw-footer-address a:hover {
  color: var(--bw-accent-hover, #d4a27a) !important;
  text-decoration: underline !important;
}
.bw-footer .bw-footer-contact-line {
  margin-top: var(--bw-s-3, 12px) !important;
}

/* ── Hotline box ── */
.bw-footer .bw-footer-hotline {
  background: rgba(200, 149, 108, 0.07) !important;
  border: 1px solid rgba(200, 149, 108, 0.18) !important;
  border-radius: var(--bw-r-md, 12px) !important;
}
.bw-footer .bw-footer-hotline a:hover {
  color: var(--bw-accent-hover, #d4a27a) !important;
}

/* ── Bottom row: centered, small, mono ── */
.bw-footer .bw-footer-bottom {
  margin-top: var(--bw-s-12, 48px) !important;
  padding: var(--bw-s-6, 24px) 0 var(--bw-s-8, 32px) !important;
  border-top: 1px solid var(--bw-border, rgba(255, 255, 255, 0.08)) !important;
}
.bw-footer .bw-footer-bottom-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  text-align: center !important;
}
.bw-footer p.bw-footer-payhint {
  margin: 0 !important;
  font-family: 'JetBrains Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace !important;
  font-size: 11px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  line-height: 1.6 !important;
  color: rgba(226, 184, 144, 0.7) !important;
}
.bw-footer p.bw-footer-copyright {
  margin: 0 !important;
  font-family: 'JetBrains Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace !important;
  font-size: 11px !important;
  letter-spacing: 0.04em !important;
  color: rgba(255, 255, 255, 0.38) !important;
}
.bw-footer .bw-footer-legal {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 4px 18px !important;
}
.bw-footer .bw-footer-legal a {
  font-family: 'JetBrains Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace !important;
  font-size: 11px !important;
  letter-spacing: 0.04em !important;
  color: rgba(255, 255, 255, 0.45) !important;
  text-decoration: none !important;
  transition: color var(--bw-t-fast) !important;
}
.bw-footer .bw-footer-legal a:hover {
  color: var(--bw-accent, #c8956c) !important;
}

/* ── A11y: copper focus outlines + 44px tap targets ── */
.bw-footer a:focus-visible {
  outline: 2px solid var(--bw-accent, #c8956c) !important;
  outline-offset: 3px !important;
  border-radius: 3px !important;
}
@media (max-width: 768px) {
  .bw-footer .bw-footer-links a,
  .bw-footer .bw-footer-legal a,
  .bw-footer .bw-footer-address a {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 44px !important;
    padding: 0 6px !important;
  }
  .bw-footer .bw-footer-hotline a[href^="tel"] {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 44px !important;
  }
}

/* ── Reduced motion ── */
@media (prefers-reduced-motion: reduce) {
  .bw-footer a,
  .bw-footer .bw-footer-badges img {
    transition: none !important;
  }
}
