/* oo.studio standard footer, shared by every Get Booked page. Needs --ink and the Outfit font. */
/* Footer: oo.studio standard (from oo-site-template) */
.site-footer { padding: 6px 0 14px; background: var(--ink); color: rgba(255,255,255,.86); font-size: .95rem; border-top: 1px solid rgba(255,255,255,.12); }
.site-footer a { color: inherit; }
.site-footer a:hover { color: #fff; }
.site-footer p { margin: 0 0 .4em; }
/* Bottom line (same on every oo.studio site): 12px; © left, credit centre, Owner login right */
.footer-bottom { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 4px 20px; padding-top: 0; font-size: 12px; line-height: 1.4; opacity: .85; }
.footer-bottom p { margin: 0; justify-self: start; text-align: left; }
.footer-bottom .oo-credit { justify-self: center; }
.footer-owner { justify-self: end; display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; }
.footer-owner:hover { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 640px) {
  .footer-bottom { grid-template-columns: minmax(0, 1fr); justify-items: center; text-align: center; }
  .footer-bottom p, .footer-bottom .oo-credit, .footer-owner { justify-self: center; text-align: center; }
}
/* "Site by oo.studio" credit (same on every oo.studio site) */
.oo-credit { display: inline-flex; align-items: center; gap: 5px; min-height: 44px; white-space: nowrap; text-decoration: none; transition: color .3s; }
.oo-credit svg { flex-shrink: 0; width: 2em; height: 1.33em; }
.oo-credit strong { font-weight: 600; }
.oo-credit path { fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; }
.oo-credit .oo-loop { opacity: .35; }
.oo-credit .oo-light { stroke-dasharray: 25 75; stroke-dashoffset: 0; animation: oo-trace 2.4s linear infinite; }
@keyframes oo-trace { to { stroke-dashoffset: -100; } }
@media (prefers-reduced-motion: reduce) {
  .oo-credit .oo-light { animation: none; opacity: 0; }
}
