/* Shared site footer for inner pages (story, shopping help, checkout return).
   Owner login opens the oo.studio support panel; when it's on the page the widget draws no ∞ of its own. */
/* Footer bottom: © | Contact | Owner login on the left, credit centred; stacked and centred on phones.
   Owner login sits left (James, 21 Oct 2026), clear of a chat bubble in the bottom-right corner. */
.footer-bottom { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 4px 20px; }
.footer-bottom .footer-legal { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 18px; }
.footer-bottom a { display: inline-flex; align-items: center; min-height: 44px; }
.footer-bottom > a.text-link { grid-column: 2; grid-row: 1; justify-self: center; }
.footer-bottom .footer-legal a.footer-owner { color: inherit; text-decoration: none; }
/* Thin dividers between the left-hand items: © | Your privacy | Owner login. */
.footer-legal > * + * { position: relative; }
.footer-legal > * + *::before { content: ""; position: absolute; left: -9px; top: 50%; height: 1em; border-left: 1px solid currentColor; opacity: .35; transform: translateY(-50%); pointer-events: none; }
/* 12px at every width (oo.studio house standard); overrides styles.css 11px / 10px and .text-link 14px. */
.footer-bottom, .footer-bottom a, .footer-bottom > a.text-link { font-size: 12px; line-height: 1.4; }
@media (max-width: 580px) {
  .footer-bottom { grid-template-columns: minmax(0, 1fr); }
  .footer-bottom .footer-legal { justify-content: center; }
  .footer-bottom > a.text-link { grid-column: 1; grid-row: 2; justify-self: center; padding-bottom: 0; }
}
/* Very narrow phones: the © line wraps, so drop the dividers rather than leave one dangling. */
@media (max-width: 400px) {
  .footer-legal { flex-direction: column; }
  .footer-legal > * + *::before { display: none; }
}
