/* === FOOTER: compact & optimized === */

footer{
  background: var(--color-forest, #04202C);
  color: #fff;
  margin-top: auto;
  flex-shrink: 0;
}

/* Ensure footer sits at page bottom on short pages */
html, body { height: 100%; }
body { display:flex; flex-direction:column; min-height:100vh; }
main { flex:1 0 auto; }

.footer-top{ padding:3rem 0 2rem; }
.footer-bottom{ padding:1.5rem 0; padding-bottom: calc(1.5rem + env(safe-area-inset-bottom,0px) + 48px); }

.footer-divider{
  height:2px; border:none;
  background:linear-gradient(to right, transparent, var(--color-pine,#5B7065), transparent);
  margin:1.5rem auto; max-width:480px; opacity:.5;
}

.footer-top h6{ font-weight:700; margin-bottom:1rem; }
.footer-top img{ max-width:125px; height:auto; display:block; }

.footer-top a{ color:inherit; text-decoration:none; transition:color .2s; }
.footer-top a:hover, .footer-top a:focus{ color:var(--color-fog,#C9D1C8); text-decoration:underline; }

@media (prefers-reduced-motion: reduce){ .footer-top a{ transition:none; } }

@media (max-width:767px){ .footer-top{ text-align:center; } .footer-top .row>div{ margin-bottom:2rem; } }

/* Decorative extension under footer so fixed compact cart doesn't cover links.
   Keeps visual colour band only (no interaction). */
footer::after{
  content:""; display:block;
  height: calc(var(--cart-safe-bottom,96px) + env(safe-area-inset-bottom,0px));
  background: var(--color-forest,#04202C);
  pointer-events:none;
}
