/* Business-laws components (shared by napervilletaxcpa.com and aurorataxcpa.com; copied into each site's assets by build.py).
   Colors use the site's own variables with fallbacks: --navy/--rail (primary), --gold/--accent (highlight), --card, --line, --ink, --muted. */
.bl-banner { margin: 0 0 1.2rem; padding: .7rem .95rem; border: 1px solid var(--line, #dcdcdc); border-left: 4px solid var(--gold, var(--accent, #d9a63d)); background: var(--card, #fff); color: var(--ink, #1c2733); font-size: .92rem; line-height: 1.45; border-radius: 6px; }
.bl-banner a { white-space: nowrap; }
.bl-disclaimer { margin: 2.2rem 0 1rem; padding: 1rem 1.15rem; border: 1px solid var(--line, #dcdcdc); background: rgba(128, 128, 128, .06); color: var(--muted, #566272); font-size: .86rem; line-height: 1.55; border-radius: 6px; }
.bl-disclaimer h2 { margin: 0 0 .5rem; font-size: 1rem; color: var(--ink, #1c2733); }
.bl-disclaimer p { margin: 0 0 .6rem; }

/* slide shows: a plain list without JavaScript, a carousel with it */
.bl-slides { margin: 1.4rem 0; border: 1px solid var(--line, #dcdcdc); border-radius: 10px; background: var(--card, #fff); overflow: hidden; -webkit-user-select: none; user-select: none; }
.bl-cap { margin: 0; padding: .55rem 1rem; font-size: .8rem; letter-spacing: .04em; text-transform: uppercase; background: var(--navy, var(--rail, #1b3b66)); color: #fff; }
.bl-slide-list { list-style: none; margin: 0; padding: 0; counter-reset: bl; }
.bl-slide { counter-increment: bl; padding: 1rem 1.2rem 1.1rem 3.4rem; position: relative; border-top: 1px solid var(--line, #dcdcdc); }
.bl-slide:first-child { border-top: 0; }
.bl-slide::before { content: counter(bl); position: absolute; left: 1rem; top: 1rem; width: 1.6rem; height: 1.6rem; border-radius: 50%; background: var(--gold, var(--accent, #d9a63d)); color: #1c2733; font-weight: 700; font-size: .9rem; display: grid; place-items: center; }
.bl-slide h3 { margin: 0 0 .25rem; font-size: 1.08rem; }
.bl-slide p { margin: 0; font-size: 1rem; line-height: 1.5; }
.bl-slides.is-js .bl-slide-list { display: block; min-height: 9.5rem; }
.bl-slides.is-js .bl-slide { display: none; border-top: 0; padding-bottom: 1.4rem; }
.bl-slides.is-js .bl-slide.is-on { display: block; }
.bl-ctl { display: flex; align-items: center; gap: .6rem; padding: .55rem .9rem; border-top: 1px solid var(--line, #dcdcdc); background: rgba(128, 128, 128, .06); }
.bl-ctl button { font: inherit; font-size: .9rem; padding: .35rem .8rem; border: 1px solid var(--line, #bbb); background: var(--card, #fff); color: var(--ink, #1c2733); border-radius: 6px; cursor: pointer; }
.bl-ctl button:hover, .bl-ctl button:focus-visible { border-color: var(--navy, var(--rail, #1b3b66)); outline: 2px solid transparent; box-shadow: 0 0 0 2px var(--gold, var(--accent, #d9a63d)); }
.bl-count { margin-left: auto; font-size: .85rem; color: var(--muted, #566272); }

/* charts */
.bl-chart { margin: 1.4rem 0; padding: .9rem 1rem 1rem; border: 1px solid var(--line, #dcdcdc); border-radius: 10px; background: var(--card, #fff); -webkit-user-select: none; user-select: none; }
.bl-chart figcaption { margin-bottom: .7rem; font-size: 1rem; }
.bl-unit { color: var(--muted, #566272); font-size: .88rem; margin-left: .4rem; }
.bl-bar { display: grid; grid-template-columns: minmax(7rem, 36%) 1fr auto; gap: .6rem; align-items: center; margin: .4rem 0; font-size: .92rem; }
.bl-track { height: .9rem; background: rgba(128, 128, 128, .15); border-radius: 999px; overflow: hidden; }
.bl-track i { display: block; height: 100%; background: linear-gradient(90deg, var(--navy, var(--rail, #1b3b66)), var(--gold, var(--accent, #d9a63d))); border-radius: 999px; }
.bl-val { font-variant-numeric: tabular-nums; white-space: nowrap; }
.bl-timeline ol { list-style: none; margin: 0; padding: 0 0 0 .3rem; border-left: 3px solid var(--gold, var(--accent, #d9a63d)); }
.bl-timeline li { position: relative; margin: 0 0 .7rem; padding-left: 1rem; }
.bl-timeline li::before { content: ""; position: absolute; left: -.62rem; top: .35rem; width: .7rem; height: .7rem; border-radius: 50%; background: var(--navy, var(--rail, #1b3b66)); }
.bl-timeline time { display: block; font-weight: 700; font-size: .88rem; color: var(--navy, var(--rail, #1b3b66)); }
.bl-src { margin: .6rem 0 0; font-size: .8rem; color: var(--muted, #566272); }
@media (max-width: 600px) { .bl-bar { grid-template-columns: 1fr auto; } .bl-bar .bl-track { grid-column: 1 / -1; order: 3; } }

/* copy guard: tables and text stay selectable (accessibility); long selections are shortened by bizlaw.js */
.bl-guard ::selection { background: var(--gold, var(--accent, #d9a63d)); color: #1c2733; }
@media print {
  .bl-slides .bl-ctl { display: none; }
  .bl-slides.is-js .bl-slide { display: block; }
  .bl-guard::after { content: "General information only, not legal advice. Printed from " attr(data-bl-url); display: block; margin-top: 1rem; font-size: .8rem; }
}

/* law page switcher (Overview | Rules and numbers | Checklist and FAQs) and tier hub cards */
.bl-switch { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0 0 1rem; padding: 0; }
.bl-switch a { padding: .4rem .8rem; border: 1px solid var(--line, #dcdcdc); border-radius: 999px; background: var(--card, #fff); color: var(--ink, #1c2733); font-size: .9rem; text-decoration: none; }
.bl-switch a[aria-current="page"] { background: var(--navy, var(--rail, #1b3b66)); color: #fff; border-color: transparent; }
.bl-switch a:hover { border-color: var(--navy, var(--rail, #1b3b66)); }
.bl-lawcard a { text-decoration: none; color: inherit; }
.bl-chips { display: flex; flex-wrap: wrap; gap: .4rem; margin: .6rem 0 0; }
.bl-chips .chip { font-size: .8rem; }
