/* ---------- Footer ---------- */
.ftr { position: relative; z-index: 2; flex: none; height: var(--ftr-h); padding: 0 var(--fr, max(var(--gutter), calc((100% - var(--col)) / 2))) 0 var(--fl, max(var(--gutter), calc((100% - var(--col)) / 2))); display: flex; align-items: center; justify-content: space-between; gap: 16px; font-size: 13px; color: var(--muted); background: var(--footer-bg); }
.ftr-links { display: flex; flex-wrap: wrap; gap: 28px; }
.ftr a, .ftr-mini a { color: var(--muted); text-decoration: none; transition: color .15s ease; }
.ftr a:hover, .ftr-mini a:hover { color: var(--accent); }
.ftr a[aria-current="page"], .ftr-mini a[aria-current="page"] { color: var(--ink); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.ftr-mini { display: flex; flex-direction: column; gap: 6px; font-size: 12px; color: var(--muted); }
.ftr-mini .ftr-links { gap: 18px; }
/* Footer menus (Legal, Company): a small box that opens upward. */
.ftr-links { align-items: center; }
.ftr-pop { position: relative; }
.ftr-pop > summary { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; list-style: none; color: var(--muted); transition: color .15s ease; -webkit-user-select: none; user-select: none; }
.ftr-pop > summary::-webkit-details-marker { display: none; }
.ftr-pop > summary:hover, .ftr-pop[open] > summary { color: var(--accent); }
.ftr-pop > summary.is-here { color: var(--ink); }
.ftr-pop > summary svg { transition: transform .15s ease; }
.ftr-pop[open] > summary svg { transform: rotate(180deg); }   /* up = opens upward; down = click to close */
.ftr-pop > summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.ftr-menu { position: absolute; z-index: 40; right: -14px; bottom: calc(100% + 12px); min-width: 200px; display: flex; flex-direction: column; padding: 8px; background: var(--panel, var(--bg)); border: 1px solid var(--rule); box-shadow: 0 -12px 32px -12px rgba(0, 0, 0, .18); text-align: left; }
.ftr-menu a { display: block; padding: 9px 12px; font-size: 14px; color: var(--ink) !important; white-space: nowrap; }
.ftr-menu a:hover { background: var(--hover, rgba(31, 95, 209, .08)); color: var(--accent) !important; }
/* In the phone menu the lists open in place (the menu box scrolls). */
.ftr-mini .ftr-links { align-items: flex-start; }
.ftr-mini .ftr-pop[open] { flex-basis: 100%; }
.ftr-mini .ftr-menu { position: static; min-width: 0; margin-top: 6px; padding: 4px 0 4px 12px; border: 0; border-left: 1px solid var(--rule); box-shadow: none; background: transparent; }
.ftr-mini .ftr-menu a { padding: 6px 0; font-size: 13px; }

