/* ======================================================================
   Maritime Passport — Partner Portal PUBLIC FOOTER layer.

   The marketing-site footer the two public partner pages (landing + apply)
   share via the partner_public partials. Split out of portal.shell.css by
   MAR-937, when the public HEADER grew the corporate nav (three links, a
   Contact action and the collapsed-menu panel) and the two families no
   longer fitted one sheet under the MAR-816 size ceiling.

   The footer was the half that moved cleanly: unlike the header it is
   self-contained — no has() rules naming the page wrapper and the nav in
   one selector — so nothing here co-owns a pp-* class with another sheet.
   The header family could not be split for that reason until MAR-1815,
   which replaced the offending `.pp-page:has(.pp-public-nav)` with a
   modifier and moved it into portal.public-nav.css, linked immediately
   ahead of this sheet. Both halves of the public chrome now sit beside
   the shell — see the note at the head of portal.public-nav.css.

   Every placement assertion reads tests.unit.partner_css.shared_css(), the
   whole layer, so this move needed no test edits beyond registering the
   sheet in SHARED_SHEETS and linking it from partner/_head.html.

   Tokens come from portal.css, linked ahead of this file.
   ====================================================================== */

/* the marketing-site footer (MAR-824: corporate parity) — beige card,
   brand left / three link columns right from 1024px, hairline, centred
   © line. Metrics come verbatim from the corporate footer's Tailwind,
   translated mobile-first (md = min-width:768px, lg = min-width:1024px).
   The card's vertical padding is the one value the corporate delta table
   does not settle — verified visually equivalent at the 1440px
   side-by-side instead. */
.pp-public-footer { margin:16px auto; width:calc(100% - 32px);
  max-width:1920px; background:var(--mp-beige); color:var(--mp-ink);
  border-radius:var(--mp-card-radius); padding:36px 20px; }
.pp-public-footer__row { display:flex; flex-direction:column; }
.pp-public-footer__brand { display:flex; flex-direction:column;
  align-items:flex-start; }
.pp-public-footer__home { display:inline-flex; border-radius:var(--r-sm); }
.pp-public-footer__home:focus-visible { outline:2px solid var(--mp-navy);
  outline-offset:3px; }
.pp-public-footer__logo { display:block; height:57px; width:auto; }
.pp-public-footer__tag { margin:32px 0 0; font-weight:500; font-size:20px;
  line-height:1.4; color:var(--mp-footer-ink); }
.pp-public-footer__cols { display:flex; flex-direction:column; gap:61px;
  margin-top:61px; }
.pp-public-footer__col { display:flex; flex-direction:column;
  align-items:flex-start; gap:8px; }
.pp-public-footer__h { margin:0 0 12px; font-weight:500; font-size:20px;
  line-height:1.4; color:var(--mp-footer-ink); }
.pp-public-footer__link { font-size:16px; line-height:1.5;
  color:var(--mp-muted); text-decoration:none; }
.pp-public-footer__link:hover { color:var(--mp-ink); text-decoration:underline;
  text-underline-offset:3px; }
.pp-public-footer__link:focus-visible { outline:2px solid var(--mp-navy);
  outline-offset:3px; border-radius:var(--r-sm); }
/* the LinkedIn mark rides currentColor, so hover recolours mark + label */
.pp-public-footer__link--social { display:inline-flex; align-items:center;
  gap:8px; }
.pp-public-footer__rule { border:none; margin:40px 0 36px;
  border-top:1px solid var(--mp-card-border); }
.pp-public-footer__copy { margin:0; text-align:center; font-size:16px;
  line-height:1.5; color:var(--mp-footer-ink); }

@media (min-width:768px) {  /* corporate md */
  .pp-public-footer { margin-block:24px; width:calc(100% - 48px);
    padding-block:60px; }
  .pp-public-footer__row { padding-inline:30px; }
  .pp-public-footer__logo { height:80px; }
  .pp-public-footer__cols { flex-direction:row; gap:64px; }
  .pp-public-footer__rule { margin-inline:30px; }
}
@media (min-width:1024px) {  /* corporate lg */
  .pp-public-footer { margin-block:32px; width:calc(100% - 64px); }
  .pp-public-footer__row { flex-direction:row;
    justify-content:space-between; }
  .pp-public-footer__brand { width:370px; flex:none; }
  .pp-public-footer__cols { margin-top:0; }
}
