/* Shared Footer V1; existing tokens and primary button supply the visual system. */
.fs-site-footer { margin-top:32px; padding:64px 0 20px; background:var(--fs-green); color:var(--fs-cream); font-size:14px; }
.fs-footer-grid { display:grid; grid-template-columns:1.05fr .95fr .8fr 1.35fr; gap:40px; }
.fs-footer-grid > * { min-width:0; }
.fs-footer-home { display:inline-flex; padding:6px 8px; background:var(--fs-cream); }
.fs-footer-logo { display:block; width:176px; height:44px; object-fit:contain; }
.fs-footer-brand p { max-width:31ch; margin:24px 0; }
.fs-site-footer .fs-button { display:inline-flex; background:var(--fs-cream); color:var(--fs-green)!important; }
.fs-site-footer .fs-button:hover { background:var(--fs-line); }
.fs-site-footer h2 { font:inherit; font-size:13px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; margin:0 0 20px; }
.fs-site-footer ul { list-style:none; margin:0; padding:0; }
.fs-site-footer a { text-decoration:none; }
.fs-site-footer a:hover { text-decoration:underline; }
.fs-site-footer a:focus-visible { outline:2px solid var(--fs-cream); outline-offset:4px; }
.fs-footer-products li a,.fs-footer-company li a { display:flex; align-items:center; min-height:36px; padding:6px 0; gap:16px; }
.fs-footer-all { border-top:1px solid color-mix(in srgb,var(--fs-line) 24%,transparent); margin-top:12px; padding-top:12px; }
.fs-footer-contact dl { margin:0; }
.fs-footer-contact dl > div + div { margin-top:16px; }
.fs-footer-contact dt { font-size:12px; margin-bottom:3px; }
.fs-footer-contact dd { margin:0; overflow-wrap:anywhere; }
.fs-footer-contact address { font-style:normal; }
.fs-footer-contact a { display:inline-block; padding:4px 0; max-width:100%; }
.fs-footer-phone { white-space:nowrap; }
.fs-footer-legal { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px 32px; margin-top:48px; padding-top:20px; border-top:1px solid color-mix(in srgb,var(--fs-line) 24%,transparent); font-size:12px; }
.fs-footer-legal p { margin:0; }
.fs-footer-legal > div { display:flex; gap:24px; flex-wrap:wrap; }
.fs-footer-legal a { display:inline-flex; align-items:center; min-height:44px; gap:8px; }
@media(max-width:1099px) {
 .fs-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; }
}
@media(max-width:760px) {
 .fs-site-footer { padding-top:44px; }
 .fs-footer-grid { grid-template-columns:minmax(0,1fr); gap:26px; }
 .fs-site-footer h2 { margin-bottom:12px; }
 .fs-footer-products li a,.fs-footer-company li a,.fs-footer-contact a { min-height:44px; }
 .fs-footer-legal { align-items:flex-start; flex-direction:column; margin-top:36px; }
}
