/* ── Leaf & Spirit footer ─────────────────────────────────────────── */
/* CSS vars (--tea-dark, --cream, --gold, --gold-light, …) are global. */

.site-footer{
  background:var(--tea-dark);
  color:var(--cream);
  margin-top:2.5rem;
  padding:0;            /* override stray .site-footer{padding} from leafspirit.css */
  text-align:left;      /* override stray .site-footer{text-align:center} too */
}

/* Compact, top-aligned 3-column grid */
.footer-inner{
  display:grid;
  grid-template-columns:1.25fr 1fr 1.45fr;
  gap:1rem 3rem;
  align-items:start;
  padding:1.75rem 0 1.5rem;
}
.footer-col{min-width:0}

/* Column headings — share one baseline across the row */
.footer-heading{
  margin:0 0 .85rem;
  font-family:'Source Sans 3',sans-serif;
  font-size:.7rem;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gold);
}

/* ── Brand ── */
/* Logo + tagline left-aligned so the logo's left edge lines up with the
   copyright text in the bottom bar. */
.footer-brand-col{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  width:fit-content;
  align-self:center;   /* vertically centered in the footer row */
}
.footer-logo{display:inline-block;line-height:0}
.footer-logo img{height:48px;width:auto;display:block}
.footer-tagline{
  margin:.85rem 0 0;
  font-family:var(--font-display);
  font-style:italic;
  font-size:1.1rem;
  line-height:1.3;
  color:var(--gold-light);
}

/* ── Nav links ── */
.footer-links{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2, auto);
  gap:.1rem 2.25rem;
}
.footer-links a{
  display:inline-block;
  padding:.26rem 0;
  font-size:.92rem;
  color:var(--gold-light);
  text-decoration:none;
  transition:color .2s ease;
}
.footer-links a:hover{color:var(--gold)}

/* ── Contact: address + messengers ── */
.footer-contact-col,
.footer-nav-col{align-self:center}   /* vertically centered in the footer row */
.footer-address{
  display:block;
  margin-bottom:1rem;
  font-size:.92rem;
  line-height:1.5;
  color:var(--gold-light);
  text-decoration:none;
  transition:color .2s ease;
  max-width:30ch;
}
.footer-address:hover{color:var(--gold)}
.footer-addr-pin{
  width:1em;height:1em;
  vertical-align:-.15em;
  margin-right:.35rem;
  color:var(--gold);
}

.footer-messengers{
  display:flex;
  flex-flow:row wrap;
  gap:.5rem;
}
.footer-messenger{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.45rem .85rem;
  border:1px solid rgba(232,213,183,.28);
  border-radius:999px;
  font-size:.85rem;
  font-weight:600;
  color:var(--cream);
  text-decoration:none;
  background:rgba(253,252,248,.04);
  transition:border-color .2s ease,background .2s ease,color .2s ease;
}
.footer-messenger:hover{
  border-color:var(--gold);
  background:rgba(253,252,248,.08);
  color:var(--gold-light);
}
.footer-msgr-icon{flex:0 0 auto;display:block}

/* ── Bottom bar ── */
.footer-bottom{border-top:1px solid rgba(201,169,110,.26)}
.footer-bottom-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
  padding:.85rem 0;
}
.footer-rights{
  margin:0;
  font-size:.8rem;
  letter-spacing:.02em;
  color:rgba(253,252,248,.55);
}

/* Langswitcher recolored for the dark footer (overrides global pill) */
.footer-langswitcher .langswitcher{
  border-color:rgba(232,213,183,.26);
  background:rgba(253,252,248,.04);
}
.footer-langswitcher .langswitcher li a{color:var(--gold-light);background:transparent}
.footer-langswitcher .langswitcher li a:hover{color:var(--gold);background:rgba(253,252,248,.08)}
.footer-langswitcher .langswitcher li.active a{color:var(--tea-dark);background:var(--gold)}

/* ── Focus / accessibility ── */
.footer-logo:focus-visible,
.footer-links a:focus-visible,
.footer-address:focus-visible,
.footer-messenger:focus-visible,
.footer-langswitcher a:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:3px;
  border-radius:4px;
}

/* Desktop: middle nav column centered, Contact column hugs the right edge */
@media (min-width:861px){
  .footer-logo img{height:80px}
  .footer-nav-col{text-align:center}
  .footer-contact-col{text-align:right}
  .footer-contact-col .footer-address{margin-left:auto}
  .footer-contact-col .footer-messengers{justify-content:flex-end}
}

/* ── Responsive ── */
@media (max-width:860px){
  .footer-inner{
    grid-template-columns:1fr 1fr;
    gap:2.25rem;
  }
  .footer-brand-col{grid-column:1 / -1}
}
@media (max-width:560px){
  .footer-inner{
    grid-template-columns:1fr;
    gap:2rem;
    text-align:center;
  }
  .footer-brand-col{margin-inline:auto;align-items:center}
  .footer-links{justify-content:center}
  .footer-links a{padding:.5rem .75rem;min-height:44px;display:inline-flex;align-items:center}
  .footer-address{justify-content:center;max-width:30ch;margin-inline:auto;text-align:left}
  .footer-messengers{justify-content:center}
  .footer-messenger{min-height:44px}
  .footer-bottom-inner{justify-content:center;text-align:center}
}

/* ── Reduced motion ── */
@media (prefers-reduced-motion:reduce){
  .footer-links a,
  .footer-address,
  .footer-messenger{transition:none}
}
