/* The same static footer is included in all four pages. Keep its layout and
   interactions independent of the home-only stylesheet and SVG sprite. */
.site-footer {
  color: #eef3e6;
  background: linear-gradient(100deg, #003627, #002f23 60%, #003326);
  padding: 2.5rem clamp(1.25rem, 4vw, 3.375rem) 0;
}
.footer-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) repeat(2, minmax(0, 1fr)) minmax(0, 1.3fr);
  gap: 2rem;
  padding-bottom: 2rem;
}
.footer-grid > * { min-width: 0; }
.footer-brand .brand { color: #fafbf5; }
.footer-brand .brand-bottle { width: 1.5rem; height: 3.375rem; }
.footer-brand .brand-name { font-size: 1.4375rem; }
.footer-brand .brand-tagline { font-size: .5rem; }
.footer-brand p { margin-top: 1.125rem; color: #e1e8d8; font-size: 1rem; line-height: 1.75; }
.social-links { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1rem; }
.social-link {
  display: inline-grid;
  place-items: center;
  flex-shrink: 0;
  width: 2.75rem;
  height: 2.75rem;
  padding: .625rem;
  border: 1px solid #dfe8d5;
  border-radius: 50%;
  background: transparent;
  color: #eef4e5;
}
.social-link .icon { width: 1.125rem; height: 1.125rem; stroke-width: 1.5; }
.social-link:hover { color: var(--green); background: #e8eedf; }
.footer-column h2 { margin: .125rem 0 .75rem; font-size: .875rem; font-weight: 500; line-height: 1.5; }
.footer-column ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .125rem; }
.footer-column li { color: #e3e9dc; font-size: .875rem; line-height: 1.5; }
.footer-column li a { display: inline-flex; align-items: center; min-height: 2.75rem; }
.footer-column a:hover { color: #ddbe81; }
.footer-contact address { font-style: normal; }
.footer-contact address p { display: flex; align-items: flex-start; gap: .875rem; margin-top: .6875rem; color: #e3e9dc; font-size: .875rem; line-height: 1.8; }
.footer-contact address p:first-child { margin-top: 0; margin-bottom: .8125rem; }
.footer-contact address a { display: inline-flex; align-items: center; min-height: 2.75rem; overflow-wrap: anywhere; min-width: 0; }
.footer-contact .icon { flex-shrink: 0; width: 1.3125rem; height: 1.3125rem; margin-top: .25rem; color: #c7a75b; stroke-width: 1.3; }
.footer-bottom { border-top: 1px solid #b5cda017; text-align: center; padding: 1rem 0; }
.footer-bottom p { font-size: .75rem; line-height: 1.5; color: #b8c5b2; }

/* Preserve the existing social-button notice on every page until official
   destinations are supplied. It never navigates to an invented account. */
.footer-dialog { width: min(30rem, calc(100% - 2rem)); max-height: calc(100dvh - 2rem); overflow-y: auto; padding: 2rem; border: 1px solid var(--line); border-radius: .75rem; background: var(--paper); color: var(--ink); }
.footer-dialog::backdrop { background: #001d17ad; }
.footer-dialog h2 { font-size: 1.5rem; line-height: 1.3; margin: 0 0 1rem; }
.footer-dialog p { font-size: 1rem; line-height: 1.7; }
.footer-dialog-close { min-height: 2.75rem; margin-top: 1.5rem; padding: .75rem 1.5rem; border-radius: .375rem; background: var(--green); color: white; font-size: .875rem; }
body:has(.footer-dialog[open]) { overflow: hidden; }

@media (width < 80rem) {
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-brand .brand-bottle { width: 1.25rem; height: 2.75rem; }
  .footer-brand .brand-name { font-size: 1.1875rem; }
}
@media (width < 48rem) {
  .footer-grid { gap: 2rem 1.5rem; }
  .footer-brand, .footer-contact { grid-column: 1 / -1; }
  .footer-brand p { max-width: 28rem; }
  .footer-brand p br { display: none; }
}
@media print {
  .site-footer { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .footer-dialog { display: none !important; }
}
