/* NUMARIX — supplemental CSS (ported from Stitch <style> blocks + WCAG focus).
   Tailwind utilities do the heavy lifting; this covers the signature effects
   and the code-level accessibility focus ring the design system mandates. */

/* Signature Tricolor Strip — exact gradient from the Stitch export */
.tricolor-strip{
  background:linear-gradient(90deg,#9f000f 0%,#9f000f 33.33%,#0e6d26 33.33%,#0e6d26 66.66%,#744000 66.66%,#744000 100%);
  height:6px;
}

/* Material Symbols baseline */
.material-symbols-outlined{ font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24; vertical-align:middle; }

/* Hover lift for interactive cards (Stitch) */
.hover-lift{ transition:all .3s cubic-bezier(0.16,1,0.3,1); }
.hover-lift:hover{ transform:translateY(-4px); box-shadow:0 4px 20px rgba(0,0,0,.05); border-color:#313030; }

/* Image hover-zoom container (listing cards) */
.hover-zoom > div{ transition:transform .5s cubic-bezier(0.16,1,0.3,1); }
.hover-zoom:hover > div{ transform:scale(1.06); }

/* Gated financials blur lock overlay (Stitch) */
.blur-lock{ backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }

/* WCAG 2.2 AA — mandated code-level focus ring: 3px solid #0050B3, 2px offset.
   Overrides any demo focus styling so keyboard focus is unmistakable. */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,[tabindex]:focus-visible,summary:focus-visible{
  outline:3px solid #0050B3 !important; outline-offset:2px !important; border-radius:2px;
}
/* Never remove focus for keyboard users */
:focus:not(:focus-visible){ outline:none; }

/* Skip link (first focusable element) */
.numarix-skip-link{
  position:absolute; left:8px; top:-60px; z-index:1000;
  background:#1c1b1b; color:#fff; padding:12px 20px; border-radius:8px;
  font-weight:700; transition:top .2s ease;
}
.numarix-skip-link:focus{ top:8px; }

/* Off-canvas mobile nav */
#numarix-offcanvas{ visibility:hidden; }
#numarix-offcanvas.is-open{ visibility:visible; }
#numarix-offcanvas .numarix-oc-backdrop{ opacity:0; transition:opacity .3s ease; background:rgba(28,27,27,.55); }
#numarix-offcanvas.is-open .numarix-oc-backdrop{ opacity:1; }
#numarix-offcanvas .numarix-oc-panel{ transform:translateX(100%); transition:transform .3s ease-in-out; }
#numarix-offcanvas.is-open .numarix-oc-panel{ transform:translateX(0); }
@media (prefers-reduced-motion:reduce){
  #numarix-offcanvas .numarix-oc-panel,#numarix-offcanvas .numarix-oc-backdrop,.hover-lift,.hover-zoom > div{ transition:none !important; }
}

/* Ensure minimum 44px touch targets on primary interactive controls */
.numarix-tap{ min-height:44px; min-width:44px; }

/* WP editor content inside legal/long-form pages */
.numarix-prose h2{ font-family:Outfit; font-weight:700; font-size:32px; line-height:1.25; margin:2rem 0 1rem; }
.numarix-prose h3{ font-family:Outfit; font-weight:700; font-size:24px; line-height:1.3; margin:1.5rem 0 .75rem; }
.numarix-prose p{ font-size:18px; line-height:1.75; margin-bottom:1rem; color:#1c1b1b; }
.numarix-prose ul,.numarix-prose ol{ margin:0 0 1rem 1.25rem; line-height:1.75; }
.numarix-prose ul{ list-style:disc; } .numarix-prose ol{ list-style:decimal; }
.numarix-prose a{ color:#9f000f; text-decoration:underline; }
