/* priv/static/css/footer.css
 *
 * The site footer, and only the footer.
 *
 * There is one footer component, so there is one stylesheet for it. Before
 * this, these rules were copied into eight of the V40 base stylesheets, with
 * four pages carrying their own variations - which is why the footer looked
 * different on horse-owners between 760px and 899px, and why nothing said so.
 *
 * Loaded by both shells: the marketing pages and the signed-in app. It sits
 * outside priv/static/marketing for that reason - the app loads nothing from
 * there, and a test asserts it. Every rule here is scoped under .site-footer
 * or .footer-*, so none of it can reach anything else.
 *
 * Extracted from contact-base-b9df05b2.css, which carried the complete common
 * block, plus the aria-current rule from privacy-adjustments-05.
 */



/* The four colours the rules below use.
 *
 * Declared on .site-footer rather than :root on purpose. The marketing pages
 * define these globally in their base stylesheets, but the app shell loads
 * none of those - and a :root block in a file the signed-in app links would
 * leak four names into a page styled by Tailwind and DaisyUI. Scoped here they
 * exist inside the footer and nowhere else, and the marketing pages' own :root
 * values still apply outside it.
 *
 * Values copied from contact-base-b9df05b2.css. If the palette moves it has to
 * move in both places - a duplication worth naming rather than hiding.
 */
.site-footer{--navy:#223649;--trust:#3F5A74;--charcoal:#2F3133;--porcelain:#F9F7F4}

.site-footer{background:var(--porcelain);color:var(--charcoal);border-top:1px solid rgba(63,90,116,.10)}
.footer-inner{max-width:1180px;margin:0 auto;padding:60px 24px 44px}
.footer-brand{margin-bottom:36px}
.footer-wordmark{font-family:"M PLUS Rounded 1c",Inter,sans-serif;font-size:26px;line-height:1.1;font-weight:800;letter-spacing:-.03em;color:var(--navy)}
.footer-brandline{max-width:390px;margin-top:7px;font-family:"Kalam","Comic Sans MS",cursive;font-size:13px;line-height:1.35;font-weight:400;color:var(--trust)}
.footer-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 28px}
.footer-col{display:flex;flex-direction:column;gap:9px}
.footer-col h3{margin:0 0 3px;font-size:13px;line-height:1.2;font-weight:700;letter-spacing:.02em;color:var(--navy)}
.footer-col a{width:max-content;max-width:100%;font-size:14px;line-height:1.45;color:rgba(47,49,51,.72);text-decoration:none}
.footer-col a:hover,.footer-col a:focus-visible{color:var(--trust);text-decoration:underline;text-underline-offset:3px}
.footer-bottom{max-width:1180px;margin:0 auto;padding:18px 24px 26px;border-top:1px solid rgba(63,90,116,.09);font-size:12px;color:rgba(47,49,51,.56)}
@media (min-width:600px){
  .footer-inner{padding-left:44px;padding-right:44px}
  .footer-bottom{padding-left:44px;padding-right:44px}}
@media (min-width:760px) and (max-width:899px){
  .footer-inner{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(0,1.7fr);gap:56px}
  .footer-brand{margin-bottom:0}
  .footer-nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}}
@media (min-width:900px){
  .footer-inner{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.75fr);gap:76px;padding:66px 40px 48px}
  .footer-brand{margin-bottom:0}
  .footer-nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
  .footer-bottom{padding:19px 40px 28px}}
@media (min-width:1100px){
  .footer-inner{width:min(1180px,calc(100% - 88px));max-width:none;padding:72px 0 54px;gap:96px}
  .footer-bottom{width:min(1180px,calc(100% - 88px));max-width:none;padding:20px 0 30px}}
.footer-nav a[aria-current="page"]{color:var(--navy);font-weight:800}
