/* =============================================================================
   pix-theme-g  ·  PRESET: ArneIron (red pixel-CRT)
   presets/arneiron/_header-footer-nav.css  —  UNIT 3 partial
   -----------------------------------------------------------------------------
   WHAT THIS IS
     The U3 partial of the ArneIron preset: deep styling for the site CHROME —
     header (+ sticky/scrolled states), main menu + dropdowns + mega-menu,
     mobile/hamburger nav drawer, search overlay, and footer. It refines and
     deepens U1's foundational header/footer pass (states, hovers, the pixel-CRT
     header chrome, footer columns/newsletter/social).

   HOW IT LOADS
     This file is a PARTIAL. It is meant to be @imported into
     assets/css/presets/arneiron.css by the final integration pass, e.g.:
         @import url('./arneiron/_header-footer-nav.css');
     It does NOT redefine the token bridge — it consumes the --ai-* / --pix-*
     custom properties already established in arneiron.css (U1, §1 token bridge).

   SCOPE DISCIPLINE
     EVERY rule is prefixed with `body.pix-theme-tone-arneiron` (the preset
     scope; alias `body[data-preset="arneiron"]` is established in U1). Nothing
     here can leak to the PixTheme (default) preset. Remove the body class and
     PixTheme header/footer render exactly as before. No edits to main.css.

   SOURCE OF TRUTH
     ds.css §4 (.app-header / .app-nav / .sidebar / .app-footer / .menu-toggle /
     .hud-frame) + design/exports/wp-kit/global/*.png (01-header-desktop,
     02-nav-sticky, 03-nav-mobile, 04-mega-menu, 05-footer, 08-search-overlay).
     Palette/textures/shadows/fonts come from the U1 --ai-* tokens.

   LIVE SELECTORS (verified read-only against https://dev.arneiron.net/, the
   live wp-theme-pix-theme-g):
     header   : header.pix-header (modifier classes: .black .transparent .sticky)
     logo     : a.navbar-brand.scroll > img.normal-logo / img.pix-header-logo
     menu     : nav.pix-main-menu > nav > ul.main-menu-elements > li.menu-item > a
     search   : .js-search-toggle / .search-container / .pix-search-close
     mobile   : .hamburger.js-mobile-toggle  +  header.menu-mobile drawer
                ( .menu-mobile__header / .menu-mobile__list / ul#mobile-menu.menu )
     footer   : footer.pix-footer > .pix-footer__bottom
                ( .footer-copyright / .footer-created_by )

   ASSUMED SELECTORS (not present in the homepage render; styled defensively
   from WP + pix-theme convention, flagged inline with an "ASSUMED" marker):
     - .sub-menu / .menu-item-has-children  (WP-standard dropdown)
     - .pix-mega-menu / .pix-mega-menu-col  (theme mega-menu, see 04-mega-menu)
     - .pix-header-sticky / .sticky-active / .is-stuck  (JS scrolled-state class)
     - footer widget columns: .pix-footer__widgets / .pix-footer__col / .widget /
       .pix-footer-newsletter / .pix-footer-social
     - back-to-top FAB: .pix-back-to-top / .scroll-top

   RULES HONORED: Swiper (not Owl); hard pixel corners; offset block shadows;
   dithered/halftone depth; red ramp = system color; green/amber = sparse status.
   ============================================================================= */

/* =============================================================================
   1. HEADER SHELL  (ds.css §4 .app-header)  ->  header.pix-header
   ----------------------------------------------------------------------------- */
body.pix-theme-tone-arneiron .pix-header,
body.pix-theme-tone-arneiron header.pix-header {
  position: relative;
  background: linear-gradient(180deg, #160608 0%, #070304 100%);
  border-bottom: 2px solid var(--ai-signal);
  box-shadow: 0 1px 0 0 var(--ai-oxblood), var(--ai-sh-glow-soft);
  z-index: 1000;
}
/* hairline halftone scanline under the brand bar (pixel-CRT chrome) */
body.pix-theme-tone-arneiron .pix-header::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px;
  pointer-events: none; opacity: .8;
  background: repeating-linear-gradient(90deg,
    var(--ai-signal) 0 4px, transparent 4px 8px);
}
/* the .transparent overlay-header variant (hero overlay) -> still dark glass */
body.pix-theme-tone-arneiron .pix-header.transparent {
  background: linear-gradient(180deg, rgba(8,3,4,.72) 0%, rgba(8,3,4,.30) 100%);
  border-bottom-color: var(--ai-glow-red-soft);
  box-shadow: none;
}
body.pix-theme-tone-arneiron .pix-header.transparent::after { opacity: .35; }

/* logo: invert/ink the wordmark glyph + glow on hover */
body.pix-theme-tone-arneiron .pix-header .navbar-brand,
body.pix-theme-tone-arneiron .pix-header .pix-header-logo,
body.pix-theme-tone-arneiron .pix-header .normal-logo {
  filter: drop-shadow(0 0 0 transparent);
  transition: filter 160ms steps(4,end);
}
body.pix-theme-tone-arneiron .pix-header .navbar-brand:hover img,
body.pix-theme-tone-arneiron .pix-header a:hover > .pix-header-logo,
body.pix-theme-tone-arneiron .pix-header a:hover > .normal-logo {
  filter: drop-shadow(0 0 6px var(--ai-glow-red));
}

/* =============================================================================
   2. STICKY / SCROLLED HEADER  (wp-kit 02-nav-sticky)
   ----------------------------------------------------------------------------- */
body.pix-theme-tone-arneiron .pix-header.sticky,
body.pix-theme-tone-arneiron .pix-header.pix-sticky,
body.pix-theme-tone-arneiron .pix-header.is-stuck,
body.pix-theme-tone-arneiron .pix-header.pix-header-sticky,  /* ASSUMED JS class */
body.pix-theme-tone-arneiron .pix-header.sticky-active {     /* ASSUMED JS class */
  position: fixed; top: 0; left: 0; right: 0;
  background: linear-gradient(180deg, #160608 0%, #070304 100%);
  border-bottom: 2px solid var(--ai-signal);
  box-shadow: 0 2px 0 0 var(--ai-oxblood), 0 6px 18px rgba(0,0,0,.55);
  animation: ai-header-drop 220ms steps(6,end) both;
}
/* once scrolled, the .transparent overlay opacifies into a solid bar */
body.pix-theme-tone-arneiron .pix-header.transparent.sticky,
body.pix-theme-tone-arneiron .pix-header.transparent.pix-header-sticky,
body.pix-theme-tone-arneiron .pix-header.transparent.sticky-active {
  background: linear-gradient(180deg, #160608 0%, #070304 100%);
  border-bottom-color: var(--ai-signal);
}
body.pix-theme-tone-arneiron .pix-header.sticky::after,
body.pix-theme-tone-arneiron .pix-header.pix-header-sticky::after,
body.pix-theme-tone-arneiron .pix-header.sticky-active::after { opacity: .9; }
@keyframes ai-header-drop { from { transform: translateY(-100%); } to { transform: translateY(0); } }

/* =============================================================================
   3. MAIN MENU  (ds.css §4 .app-nav)  ->  .pix-main-menu / .main-menu-elements
   ----------------------------------------------------------------------------- */
body.pix-theme-tone-arneiron .pix-main-menu .main-menu-elements,
body.pix-theme-tone-arneiron .pix-main-menu ul.menu {
  display: flex; align-items: center; gap: var(--ai-sp, 4px);
}
body.pix-theme-tone-arneiron .pix-main-menu li.menu-item > a,
body.pix-theme-tone-arneiron .pix-main-menu .main-menu-elements > li > a {
  position: relative;
  font-family: var(--ai-f-ui); font-weight: 600; font-size: 14px;
  letter-spacing: 1px; text-transform: uppercase;
  color: var(--ai-ink-dim);
  padding: 10px 14px; border: 2px solid transparent;
  transition: color 120ms steps(3,end), border-color 120ms steps(3,end),
              background 120ms steps(3,end);
}
/* pixel underline reveal (steps, no easing — CRT feel) */
body.pix-theme-tone-arneiron .pix-main-menu li.menu-item > a::after {
  content: ""; position: absolute; left: 14px; right: 14px; bottom: 4px; height: 2px;
  background: var(--ai-signal); transform: scaleX(0); transform-origin: left center;
  transition: transform 140ms steps(4,end); box-shadow: var(--ai-sh-glow-soft);
}
body.pix-theme-tone-arneiron .pix-main-menu li.menu-item > a:hover,
body.pix-theme-tone-arneiron .pix-main-menu li.menu-item.current-menu-item > a,
body.pix-theme-tone-arneiron .pix-main-menu li.menu-item.current_page_item > a,
body.pix-theme-tone-arneiron .pix-main-menu li.menu-item.current-menu-parent > a {
  color: var(--ai-signal);
}
body.pix-theme-tone-arneiron .pix-main-menu li.menu-item > a:hover::after,
body.pix-theme-tone-arneiron .pix-main-menu li.menu-item.current-menu-item > a::after {
  transform: scaleX(1);
}
/* the active/current item gets the ds.css boxed treatment */
body.pix-theme-tone-arneiron .pix-main-menu li.menu-item.current-menu-item > a {
  border-color: var(--ai-grid-2); background: var(--ai-panel);
}

/* parent items with children: caret + affordance */
body.pix-theme-tone-arneiron .pix-main-menu li.menu-item-has-children > a { /* ASSUMED */
  padding-right: 26px;
}
body.pix-theme-tone-arneiron .pix-main-menu li.menu-item-has-children > a::before { /* ASSUMED */
  content: "\25BE"; position: absolute; right: 10px; top: 50%;
  transform: translateY(-50%); font-size: 10px; color: var(--ai-ink-faint);
  transition: color 120ms steps(3,end);
}
body.pix-theme-tone-arneiron .pix-main-menu li.menu-item-has-children:hover > a::before {
  color: var(--ai-signal);
}

/* =============================================================================
   4. DROPDOWNS  (WP-standard .sub-menu)  — ASSUMED selectors, conventional
   ----------------------------------------------------------------------------- */
body.pix-theme-tone-arneiron .pix-main-menu li .sub-menu { /* ASSUMED */
  position: absolute; min-width: 220px; z-index: 1100;
  padding: 6px; margin-top: 2px;
  background: var(--ai-grad-panel-up);
  border: 2px solid var(--ai-grid-2);
  box-shadow: var(--ai-sh-block-lg);
  border-radius: 0;
  /* dithered halftone wash for depth */
  background-image: var(--ai-tex-halftone), var(--ai-grad-panel-up);
  background-size: var(--ai-tex-halftone-size), 100% 100%;
}
body.pix-theme-tone-arneiron .pix-main-menu li .sub-menu li { list-style: none; }
body.pix-theme-tone-arneiron .pix-main-menu li .sub-menu li a {
  display: block; padding: 9px 12px;
  font-family: var(--ai-f-ui); font-weight: 600; font-size: 13px;
  letter-spacing: 1px; text-transform: uppercase;
  color: var(--ai-ink-dim);
  border-left: 3px solid transparent;
  transition: color 110ms steps(3,end), background 110ms steps(3,end),
              border-color 110ms steps(3,end);
}
body.pix-theme-tone-arneiron .pix-main-menu li .sub-menu li a:hover,
body.pix-theme-tone-arneiron .pix-main-menu li .sub-menu li.current-menu-item > a {
  color: var(--ai-signal); background: var(--ai-panel-2);
  border-left-color: var(--ai-signal);
}
/* nested sub-menu opens to the side */
body.pix-theme-tone-arneiron .pix-main-menu li .sub-menu .sub-menu {
  top: 0; left: 100%; margin-top: 0; margin-left: 2px;
}

/* =============================================================================
   5. MEGA-MENU  (wp-kit 04-mega-menu)  — ASSUMED .pix-mega-menu, conventional
   ----------------------------------------------------------------------------- */
body.pix-theme-tone-arneiron .pix-main-menu .pix-mega-menu { /* ASSUMED */
  position: absolute; left: 0; right: 0; z-index: 1100;
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 0;
  padding: 24px;
  background: var(--ai-grad-panel);
  border: 2px solid var(--ai-grid-2);
  border-top: 2px solid var(--ai-signal);
  box-shadow: var(--ai-sh-block-lg);
  background-image: var(--ai-tex-halftone), var(--ai-grad-panel);
  background-size: var(--ai-tex-halftone-size), 100% 100%;
}
body.pix-theme-tone-arneiron .pix-mega-menu .pix-mega-menu-col { /* ASSUMED */
  padding: 0 18px; border-left: 1px solid var(--ai-grid);
}
body.pix-theme-tone-arneiron .pix-mega-menu .pix-mega-menu-col:first-child { border-left: 0; }
body.pix-theme-tone-arneiron .pix-mega-menu .pix-mega-menu-col > .pix-mega-title,
body.pix-theme-tone-arneiron .pix-mega-menu .pix-mega-menu-col > .widget-title {
  font-family: var(--ai-f-mono); font-size: 12px; letter-spacing: 2px;
  text-transform: uppercase; color: var(--ai-ink-faint);
  padding-bottom: 8px; margin-bottom: 8px;
  border-bottom: 2px solid var(--ai-grid-2);
}
body.pix-theme-tone-arneiron .pix-mega-menu .pix-mega-menu-col a {
  display: block; padding: 6px 0;
  font-family: var(--ai-f-ui); font-size: 13px; letter-spacing: 1px;
  text-transform: uppercase; color: var(--ai-ink-dim);
}
body.pix-theme-tone-arneiron .pix-mega-menu .pix-mega-menu-col a:hover {
  color: var(--ai-signal); text-shadow: var(--ai-sh-glow-soft);
}

/* =============================================================================
   6. HEADER SEARCH  (wp-kit 08-search-overlay)
       .js-search-toggle / .search-container / .pix-search-close
   ----------------------------------------------------------------------------- */
body.pix-theme-tone-arneiron .pix-header .js-search-toggle,
body.pix-theme-tone-arneiron .pix-header .fa-search {
  color: var(--ai-ink-dim); transition: color 120ms steps(3,end), text-shadow 120ms steps(3,end);
  cursor: pointer;
}
body.pix-theme-tone-arneiron .pix-header .js-search-toggle:hover,
body.pix-theme-tone-arneiron .pix-header .fa-search:hover {
  color: var(--ai-signal); text-shadow: var(--ai-sh-glow-soft);
}
/* full-bleed search overlay -> obsidian glass + scanlines */
body.pix-theme-tone-arneiron .search-container {
  background: rgba(5,2,3,.94);
  backdrop-filter: blur(2px);
}
body.pix-theme-tone-arneiron .search-container::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .5;
  background: repeating-linear-gradient(0deg, rgba(0,0,0,.30) 0 1px, transparent 1px 3px);
}
body.pix-theme-tone-arneiron .search-container input[type="search"],
body.pix-theme-tone-arneiron .search-container .search input {
  font-family: var(--ai-f-mono); color: var(--ai-ink);
  background: transparent;
  border: 0; border-bottom: 2px solid var(--ai-grid-2);
  caret-color: var(--ai-signal);
}
body.pix-theme-tone-arneiron .search-container input[type="search"]:focus {
  outline: none; border-bottom-color: var(--ai-signal);
  box-shadow: 0 2px 0 0 var(--ai-glow-red-soft);
}
body.pix-theme-tone-arneiron .pix-search-close {
  color: var(--ai-ink-dim); border: 2px solid var(--ai-grid-2);
  background: var(--ai-well); border-radius: 0;
  transition: color 120ms steps(3,end), border-color 120ms steps(3,end);
}
body.pix-theme-tone-arneiron .pix-search-close:hover {
  color: var(--ai-signal); border-color: var(--ai-signal);
}

/* =============================================================================
   7. HAMBURGER TOGGLE  (ds.css §4 .menu-toggle)
       .hamburger.js-mobile-toggle  +  .hamburger-box / .hamburger-inner
   ----------------------------------------------------------------------------- */
body.pix-theme-tone-arneiron .hamburger,
body.pix-theme-tone-arneiron .js-mobile-toggle {
  background: var(--ai-well); border: 2px solid var(--ai-grid-2);
  border-radius: 0; padding: 8px;
  transition: border-color 120ms steps(3,end), box-shadow 120ms steps(3,end);
}
body.pix-theme-tone-arneiron .hamburger:hover,
body.pix-theme-tone-arneiron .hamburger.is-active {
  border-color: var(--ai-signal); box-shadow: var(--ai-sh-glow-soft);
}
/* recolor the hamburger bars (theme paints these via background-color) */
body.pix-theme-tone-arneiron .hamburger .hamburger-inner,
body.pix-theme-tone-arneiron .hamburger .hamburger-inner::before,
body.pix-theme-tone-arneiron .hamburger .hamburger-inner::after {
  background-color: var(--ai-signal);
}
body.pix-theme-tone-arneiron .hamburger:hover .hamburger-inner,
body.pix-theme-tone-arneiron .hamburger:hover .hamburger-inner::before,
body.pix-theme-tone-arneiron .hamburger:hover .hamburger-inner::after {
  background-color: var(--ai-hot);
}

/* =============================================================================
   8. MOBILE NAV DRAWER  (wp-kit 03-nav-mobile; ds.css .sidebar.is-open)
       header.menu-mobile  /  .menu-mobile__header  /  .menu-mobile__list
       /  ul#mobile-menu.menu  /  .pix-mobile-menu-container
   ----------------------------------------------------------------------------- */
body.pix-theme-tone-arneiron .menu-mobile,
body.pix-theme-tone-arneiron .pix-mobile-menu-container {
  background: linear-gradient(180deg, #100608 0%, #050203 100%);
  border-right: 2px solid var(--ai-signal);
  box-shadow: 8px 0 24px rgba(0,0,0,.6);
}
/* faint grid texture down the drawer for depth */
body.pix-theme-tone-arneiron .menu-mobile {
  background-image:
    linear-gradient(180deg, #100608 0%, #050203 100%),
    linear-gradient(90deg, transparent 47px, var(--ai-hair) 47px);
  background-size: 100% 100%, 48px 48px;
}
body.pix-theme-tone-arneiron .menu-mobile__header {
  border-bottom: 2px solid var(--ai-grid-2);
  background: linear-gradient(180deg,#160608,#0a0405);
}
body.pix-theme-tone-arneiron .menu-mobile__header.black { background: linear-gradient(180deg,#160608,#070304); }
body.pix-theme-tone-arneiron .menu-mobile__list ul#mobile-menu,
body.pix-theme-tone-arneiron .menu-mobile__list ul.menu { list-style: none; padding: 0; margin: 0; }
body.pix-theme-tone-arneiron .menu-mobile__list li.menu-item { border-bottom: 1px solid var(--ai-grid); }
body.pix-theme-tone-arneiron .menu-mobile__list li.menu-item > a {
  display: block; padding: 14px 18px;
  font-family: var(--ai-f-ui); font-weight: 600; font-size: 15px;
  letter-spacing: 1px; text-transform: uppercase; color: var(--ai-ink-dim);
  border-left: 3px solid transparent;
  transition: color 120ms steps(3,end), background 120ms steps(3,end),
              border-color 120ms steps(3,end);
}
body.pix-theme-tone-arneiron .menu-mobile__list li.menu-item > a:hover,
body.pix-theme-tone-arneiron .menu-mobile__list li.menu-item.current-menu-item > a {
  color: var(--ai-signal); background: var(--ai-panel-2);
  border-left-color: var(--ai-signal);
}
/* nested mobile sub-menus indent + dim rail */
body.pix-theme-tone-arneiron .menu-mobile__list li .sub-menu li > a { /* ASSUMED nesting */
  padding-left: 34px; font-size: 13px; color: var(--ai-ink-faint);
}
body.pix-theme-tone-arneiron .menu-mobile__list li .sub-menu li > a:hover { color: var(--ai-signal); }
/* the mobile language/table select (.pix-mobile-table-select) -> terminal chip */
body.pix-theme-tone-arneiron .pix-mobile-table-select {
  font-family: var(--ai-f-mono); color: var(--ai-ink);
  background: var(--ai-well); border: 2px solid var(--ai-grid-2); border-radius: 0;
}
/* mobile drawer's own search + close reuse the header tokens */
body.pix-theme-tone-arneiron .menu-mobile .search-container { background: transparent; }

/* =============================================================================
   9. FOOTER  (ds.css §4 .app-footer; wp-kit 05-footer)
       footer.pix-footer  /  .pix-footer__bottom  /  .footer-copyright
       /  .footer-created_by   (+ ASSUMED widget-column structure)
   ----------------------------------------------------------------------------- */
body.pix-theme-tone-arneiron .pix-footer,
body.pix-theme-tone-arneiron footer.pix-footer {
  position: relative;
  background: var(--ai-obsidian);
  border-top: 2px solid var(--ai-grid-2);
  color: var(--ai-ink-faint);
  font-family: var(--ai-f-body);
}
/* top hairline ramp accent (red ramp = system color) */
body.pix-theme-tone-arneiron .pix-footer::before {
  content: ""; position: absolute; left: 0; right: 0; top: -2px; height: 2px;
  pointer-events: none; opacity: .8; background: var(--ai-grad-ramp);
}
/* faint corner glow + grid to echo the body canvas */
body.pix-theme-tone-arneiron .pix-footer::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .6;
  background:
    radial-gradient(600px 300px at 100% 0%, rgba(255,42,42,.06), transparent 60%),
    linear-gradient(90deg, transparent 47px, var(--ai-hair) 47px);
  background-size: 100% 100%, 48px 48px;
}
body.pix-theme-tone-arneiron .pix-footer > * { position: relative; z-index: 1; }

/* footer widget columns (ASSUMED structure; degrade gracefully) */
body.pix-theme-tone-arneiron .pix-footer .pix-footer__widgets { /* ASSUMED */
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px;
  padding: 56px 0;
}
body.pix-theme-tone-arneiron .pix-footer .pix-footer__col .widget-title,
body.pix-theme-tone-arneiron .pix-footer .widget-title,
body.pix-theme-tone-arneiron .pix-footer .widgettitle {
  font-family: var(--ai-f-ui); font-weight: 700; letter-spacing: 1px;
  text-transform: uppercase; color: var(--ai-ink);
  padding-bottom: 8px; margin-bottom: 14px;
  border-bottom: 2px solid var(--ai-grid-2);
}
body.pix-theme-tone-arneiron .pix-footer a {
  color: var(--ai-ink-dim);
  transition: color 110ms steps(3,end), text-shadow 110ms steps(3,end);
}
body.pix-theme-tone-arneiron .pix-footer a:hover {
  color: var(--ai-signal); text-shadow: var(--ai-sh-glow-soft);
}
body.pix-theme-tone-arneiron .pix-footer ul { list-style: none; padding: 0; margin: 0; }
body.pix-theme-tone-arneiron .pix-footer .widget ul li {
  border-bottom: 1px solid var(--ai-grid); padding: 7px 0;
}
body.pix-theme-tone-arneiron .pix-footer .widget ul li a::before {
  content: "> "; color: var(--ai-ink-faint); font-family: var(--ai-f-mono);
}
body.pix-theme-tone-arneiron .pix-footer .widget ul li a:hover::before { color: var(--ai-signal); }

/* footer newsletter (ASSUMED .pix-footer-newsletter) -> terminal-prompt input */
body.pix-theme-tone-arneiron .pix-footer .pix-footer-newsletter input[type="email"],
body.pix-theme-tone-arneiron .pix-footer .pix-newsletter input[type="email"],
body.pix-theme-tone-arneiron .pix-footer input[type="email"] {
  font-family: var(--ai-f-mono); color: var(--ai-ink);
  background: var(--ai-well); border: 2px solid var(--ai-grid-2); border-radius: 0;
}
body.pix-theme-tone-arneiron .pix-footer input[type="email"]:focus {
  outline: none; border-color: var(--ai-signal);
  box-shadow: 0 0 0 1px var(--ai-signal), var(--ai-sh-glow-soft);
}
body.pix-theme-tone-arneiron .pix-footer .pix-footer-newsletter button,
body.pix-theme-tone-arneiron .pix-footer .pix-newsletter button {
  font-family: var(--ai-f-ui); font-weight: 700; letter-spacing: 2px;
  text-transform: uppercase; color: var(--ai-base);
  background: var(--ai-grad-primary); border: 2px solid var(--ai-whitehot);
  box-shadow: 4px 4px 0 0 var(--ai-oxblood); border-radius: 0;
}

/* footer social (ASSUMED .pix-footer-social) -> pixel icon chips */
body.pix-theme-tone-arneiron .pix-footer .pix-footer-social a,
body.pix-theme-tone-arneiron .pix-footer .social-links a,
body.pix-theme-tone-arneiron .pix-footer .pix-social a {
  display: inline-grid; place-items: center; width: 36px; height: 36px;
  color: var(--ai-ink-dim);
  background: var(--ai-well); border: 2px solid var(--ai-grid-2); border-radius: 0;
  transition: color 120ms steps(3,end), border-color 120ms steps(3,end),
              box-shadow 120ms steps(3,end), transform 90ms steps(3,end);
}
body.pix-theme-tone-arneiron .pix-footer .pix-footer-social a:hover,
body.pix-theme-tone-arneiron .pix-footer .social-links a:hover,
body.pix-theme-tone-arneiron .pix-footer .pix-social a:hover {
  color: var(--ai-signal); border-color: var(--ai-signal);
  box-shadow: var(--ai-sh-glow-soft); transform: translate(-1px,-1px);
}

/* footer bottom bar (live: .pix-footer__bottom / .footer-copyright / .footer-created_by) */
body.pix-theme-tone-arneiron .pix-footer__bottom {
  border-top: 1px solid var(--ai-grid-2);
  background: linear-gradient(180deg, transparent, rgba(255,42,42,.03));
  font-family: var(--ai-f-mono); font-size: 12px; letter-spacing: 1px;
  color: var(--ai-ink-faint);
}
body.pix-theme-tone-arneiron .pix-footer__bottom .footer-copyright,
body.pix-theme-tone-arneiron .pix-footer__bottom .footer-created_by {
  font-family: var(--ai-f-mono); color: var(--ai-ink-faint);
}
body.pix-theme-tone-arneiron .pix-footer__bottom a { color: var(--ai-ink-dim); }
body.pix-theme-tone-arneiron .pix-footer__bottom a:hover { color: var(--ai-signal); }

/* =============================================================================
   10. BACK-TO-TOP FAB  (wp-kit 10-back-to-top-fab)  — ASSUMED selectors
   ----------------------------------------------------------------------------- */
body.pix-theme-tone-arneiron .pix-back-to-top,
body.pix-theme-tone-arneiron .scroll-top,
body.pix-theme-tone-arneiron a#scrollUp {
  background: var(--ai-grad-primary); color: var(--ai-base);
  border: 2px solid var(--ai-whitehot); border-radius: 0;
  box-shadow: 4px 4px 0 0 var(--ai-oxblood);
  transition: transform 90ms steps(4,end), box-shadow 90ms steps(4,end);
}
body.pix-theme-tone-arneiron .pix-back-to-top:hover,
body.pix-theme-tone-arneiron .scroll-top:hover,
body.pix-theme-tone-arneiron a#scrollUp:hover {
  background: var(--ai-grad-primary-hover);
}
body.pix-theme-tone-arneiron .pix-back-to-top:active,
body.pix-theme-tone-arneiron .scroll-top:active,
body.pix-theme-tone-arneiron a#scrollUp:active {
  transform: translate(4px,4px); box-shadow: 0 0 0 0 var(--ai-oxblood);
}

/* =============================================================================
   11. REDUCED MOTION — kill the steps/drop animations for a11y
   ----------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  body.pix-theme-tone-arneiron .pix-header.sticky,
  body.pix-theme-tone-arneiron .pix-header.pix-header-sticky,
  body.pix-theme-tone-arneiron .pix-header.sticky-active { animation: none; }
  body.pix-theme-tone-arneiron .pix-main-menu li.menu-item > a::after { transition: none; }
}
