/* Phillips360 Modern V2.033 — global footer component.

   The footer appears on every request, so its layout cannot remain inside the
   homepage-only stylesheet. WordPress menu order and submenu relationships are
   preserved by the explicit grid rules below.
*/

/* Footer ------------------------------------------------------------------ */
/**
 * FOOTER NAVIGATION — V2.033
 *
 * The footer uses explicit grid columns instead of CSS multi-columns. This
 * preserves WordPress menu order, keeps submenus attached to their parent and
 * prevents links from flowing unpredictably between visual columns.
 */
.p360-footer { padding-top: var(--p360-space-4); background: var(--p360-ink); color: #fff; }
.p360-footer__inner { display: grid; padding-bottom: var(--p360-space-3); grid-template-columns: minmax(280px,1.15fr) minmax(280px,.85fr) minmax(220px,.5fr); gap: clamp(40px, 7vw, 110px); }
.p360-footer__brand img { width: 190px; max-height: 58px; object-fit: contain; object-position: left; }
.p360-footer__brand p { max-width: 430px; margin: 34px 0 0; color: rgba(255,255,255,.74); font-size: .9rem !important; }
.p360-footer__eyebrow { margin: 0 0 22px; color: var(--p360-accent-2); font-size: .68rem !important; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.p360-footer__nav-list { display: grid; margin: 0; padding: 0; grid-template-columns: repeat(2, minmax(110px,1fr)); gap: 12px 28px; list-style: none; }
.p360-footer__nav-list li { min-width: 0; margin: 0; }
.p360-footer__nav-list a, .p360-footer__meta a { display: inline-flex; align-items: center; gap: 8px; color: #fff !important; font-size: .86rem; font-weight: 650; line-height: 1.35; text-decoration: none; text-underline-offset: 5px; }
.p360-footer__nav-list > li > a::after { color: var(--p360-accent); content: "↗"; font-size: .72rem; opacity: 0; transform: translate(-4px,2px); transition: opacity .2s ease, transform .2s ease; }
.p360-footer__nav-list a:hover, .p360-footer__meta a:hover, .p360-footer__nav-list :where(.current-menu-item, .current-menu-ancestor) > a, .p360-footer__nav-list a[aria-current="page"] { color: var(--p360-accent-2) !important; text-decoration: underline; }
.p360-footer__nav-list > li > a:hover::after, .p360-footer__nav-list :where(.current-menu-item, .current-menu-ancestor) > a::after, .p360-footer__nav-list a[aria-current="page"]::after { opacity: 1; transform: translate(0,2px); }
.p360-footer__nav-list .sub-menu { margin: 8px 0 2px; padding: 0 0 0 14px; border-left: 1px solid rgba(255,255,255,.2); list-style: none; }
.p360-footer__nav-list .sub-menu li + li { margin-top: 7px; }
.p360-footer__nav-list .sub-menu a { color: rgba(255,255,255,.76) !important; font-size: .78rem; }
.p360-footer__meta { display: flex; min-width: 0; flex-direction: column; align-items: start; gap: 10px; }
.p360-footer__meta a { overflow-wrap: anywhere; }
.p360-footer__meta .p360-button { margin-top: 16px; color: var(--p360-ink) !important; text-decoration: none; }
.p360-footer__bottom { display: flex; min-height: 78px; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid var(--p360-line-light); }
.p360-footer__bottom-group { display: flex; align-items: center; gap: 18px; }
.p360-footer__bottom p, .p360-footer__bottom a { margin: 0; color: rgba(255,255,255,.68); font-size: .68rem !important; letter-spacing: .05em; text-decoration: none; }
.p360-footer__bottom a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
