/* ===========================================================================
   BadHOA.com project styles — Canvas 8
   Palette via CSS variables (do not inherit demo teal). Print stylesheet.
   Audience: Arizona homeowners, older, mobile-heavy, often reading under stress.
   Goals: calm, trustworthy, high-contrast (WCAG AA), no commerce styling.
   =========================================================================== */

:root {
  /* Deep, accessible blue — ~5.6:1 on white (AA for text and button fills) */
  --cnvs-themecolor: #1e5aa8;
  --cnvs-themecolor-rgb: 30, 90, 168;
  --bs-primary: #1e5aa8;
  --bs-primary-rgb: 30, 90, 168;

  --bh-ink: #1c2733;          /* near-black slate for body text */
  --bh-muted: #5b6b7a;
  --bh-rule: #e3e8ee;
  --bh-amended: #b45309;      /* amber for "amended effective" callouts */
}

body { color: var(--bh-ink); }

/* Statute reading: comfortable measure and line-height for long legal text */
.statute-text { line-height: 1.7; }
.statute-text p { margin-bottom: 1rem; }
.statute-meta { color: var(--bh-muted); font-size: .9rem; }

/* Sticky statute side-nav */
.statute-sidenav { position: sticky; top: 90px; max-height: calc(100vh - 110px); overflow-y: auto; }
.statute-sidenav .nav-link { color: var(--bh-ink); padding: .3rem .5rem; border-radius: .3rem; }
.statute-sidenav .nav-link.active,
.statute-sidenav .nav-link:hover { background: rgba(var(--cnvs-themecolor-rgb), .10); color: var(--cnvs-themecolor); }

/* Visible keyboard focus (accessibility floor) */
a:focus-visible, button:focus-visible, .menu-link:focus-visible, .nav-link:focus-visible {
  outline: 3px solid var(--cnvs-themecolor);
  outline-offset: 2px;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  * { animation-duration: .001ms !important; animation-iteration-count: 1 !important;
      transition-duration: .001ms !important; scroll-behavior: auto !important; }
}

/* ---- Print: readers carry statute pages and generated letters into board meetings ---- */
@media print {
  #header, .primary-menu, .primary-menu-trigger, #footer, #gotoTop,
  .page-title .breadcrumb, .parallax-bg, .no-print { display: none !important; }
  body { color: #000; background: #fff; font-size: 12pt; }
  a { color: #000; text-decoration: none; }
  .statute-sidenav { display: none !important; }
  .container, .content-wrap, main { width: 100% !important; max-width: 100% !important; }
  .statute-text, .statute-text p { line-height: 1.5; }
  h1, h2, h3 { page-break-after: avoid; }
  .statute-section { page-break-inside: avoid; }
  /* Show the source citation URL after links so a printed page stays verifiable */
  .print-cite a[href]::after { content: " (" attr(href) ")"; font-size: 10pt; color: #333; }
}
