/* Burke knowledgebase article. Extends the Breakdance global tokens (global-settings.css); adds only
   derived variables prefixed --kb-, never changes an existing token. */
.kb {
  --kb-ink: var(--bde-palette-color-3, #1a1a1b);
  --kb-navy: var(--bde-palette-color-2, #111727);
  --kb-green: var(--bde-palette-color-1, #017260);
  --kb-mint: var(--bde-palette-color-8, #E9FEF6);
  --kb-mist: var(--bde-palette-light-bg-5d4f3b3e-80b1-40e8-a1f1-8bf0c437ee22-13, #F3F7F5);
  --kb-red: var(--bde-palette-red-color-2df4552e-ec13-401c-9a7f-f00a296eca50-11, #DA2E2E);
  --kb-red-hover: var(--bde-palette-hover-red-b8c452b1-794b-43cc-8301-676e235811ee-12, #574240);
  --kb-rule: var(--grey-200, #e5e7eb);
  --kb-muted: var(--grey-600, #4b5563);
  --kb-radius: var(--bde-button-border-radius, 3px);
  --kb-measure: 68ch;
  --kb-sticky-offset: 72px; /* clears the site's sticky top bar (about 42px) */
  --kb-h1: clamp(2rem, 1.4rem + 2.6vw, 3rem);
  --kb-h2: clamp(1.5rem, 1.2rem + 1.1vw, 1.875rem);
  --kb-h3: 1.25rem;
  color: var(--kb-ink);
  font-family: var(--bde-body-font-family);
  font-size: var(--bde-body-font-size, 18px);
  line-height: 1.65;
  background: var(--bde-background-color, #fff);
}
.kb *, .kb *::before, .kb *::after { box-sizing: border-box; }
.kb-wrap { max-width: var(--bde-section-width, 1120px); margin: 0 auto; padding: 0 var(--bde-section-horizontal-padding, 20px); }

/* Header band */
.kb-head { background: var(--kb-mist); border-bottom: 1px solid var(--kb-rule); padding: 28px 0 32px; }
.kb-crumbs ol { list-style: none; margin: 0 0 20px; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 0; font-size: 15px; color: var(--kb-muted); }
.kb-crumbs li { display: inline-flex; align-items: center; }
.kb-crumbs li + li::before { content: "/"; margin: 0 10px; color: var(--grey-400, #9ca3af); }
.kb-crumbs a { color: var(--kb-muted); text-decoration: underline; text-underline-offset: 3px; }
.kb-crumbs a:hover { color: var(--kb-ink); }
.kb-crumbs [aria-current] { color: var(--kb-ink); }
.kb .kb-title { margin: 0; max-width: 22ch; color: var(--kb-ink); font-family: var(--bde-heading-font-family); font-size: var(--kb-h1); font-weight: 800; line-height: 1.1; letter-spacing: -.01em; text-wrap: balance; }
.kb-cred { margin: 18px 0 0; max-width: 72ch; font-size: 15px; line-height: 1.6; color: var(--kb-muted); }
/* The separator travels with the reading time, so a wrap never starts a line with a stray dot. */
.kb-cred span + span { white-space: nowrap; }
.kb-cred span + span::before { content: "\00B7"; margin: 0 .45em; }
/* On small screens the H1 already names the page; the current crumb only wraps. */
@media (max-width: 767px) { .kb-crumbs li[aria-current] { display: none; } }

/* Featured image (optional): sits on the seam between the header band and the article */
.kb .kb-hero { margin: 0 auto; padding-top: 32px; } /* outranks Breakdance's .breakdance figure reset */
.kb-hero__img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--kb-radius); background: var(--kb-mist); }
.kb-hero figcaption { margin-top: 8px; font-size: 14px; color: var(--kb-muted); }
.kb-hero + .kb-grid { padding-top: 32px; }

/* Layout: reading column + rail */
.kb-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 48px; padding-top: 40px; padding-bottom: 64px; }
@media (min-width: 1024px) { .kb-grid { grid-template-columns: minmax(0, var(--kb-measure)) 280px; justify-content: space-between; } }
.kb-article { min-width: 0; }

/* Signature: the short-answer docket */
.kb-docket { margin: 0 0 36px; padding: 24px 28px 28px; background: var(--kb-navy); color: #fff; border-top: 4px solid var(--kb-red); border-radius: var(--kb-radius); }
.kb .kb-docket__label { margin: 0 0 8px; color: #fff; opacity: .8; font-family: var(--bde-heading-font-family); font-size: 16px; font-weight: 700; }
.kb-docket__text { margin: 0; font-family: var(--bde-heading-font-family); font-size: clamp(1.125rem, 1rem + .45vw, 1.3125rem); font-weight: 600; line-height: 1.5; }
.kb-docket a { color: #fff; }

/* Contents */
.kb-toc ol { margin: 0; padding: 0; list-style: none; counter-reset: none; }
.kb-toc a { display: block; padding: 7px 0; color: var(--kb-ink); text-decoration: none; line-height: 1.35; }
.kb-toc a:hover { color: var(--kb-green); text-decoration: underline; }
.kb-toc--inline { margin: 0 0 32px; border: 1px solid var(--kb-rule); border-radius: var(--kb-radius); }
.kb-toc--inline summary { cursor: pointer; padding: 14px 18px; font-family: var(--bde-heading-font-family); font-weight: 700; min-height: 48px; display: flex; align-items: center; }
.kb-toc--inline ol { padding: 0 18px 12px; font-size: 16px; }
.kb-rail { display: none; }
@media (min-width: 1024px) {
  .kb-toc--inline { display: none; }
  .kb-rail { display: block; }
  .kb-rail__sticky { position: sticky; top: var(--kb-sticky-offset); max-height: calc(100vh - var(--kb-sticky-offset) - 24px); overflow: auto; }
  .kb-toc--rail { font-size: 15px; border-left: 2px solid var(--kb-rule); padding-left: 18px; margin-bottom: 28px; }
  .kb-toc--rail a[aria-current="true"] { color: var(--kb-green); font-weight: 600; }
}
.kb-rail__h { margin: 0 0 8px; color: var(--kb-ink); font-family: var(--bde-heading-font-family); font-size: 16px; font-weight: 700; }
.kb-rail__next { padding: 20px; background: var(--kb-mist); border-radius: var(--kb-radius); font-size: 16px; }
.kb-rail__link { display: block; margin-bottom: 12px; color: var(--kb-ink); font-weight: 600; }
.kb-rail__phone { display: inline-flex; align-items: center; min-height: 48px; padding: 14px 24px; background: var(--kb-red); color: #fff; font-size: 15px; font-weight: 600; letter-spacing: .02em; text-transform: uppercase; text-decoration: none; border-radius: var(--kb-radius); transition: background-color var(--bde-transition-duration, 300ms) ease-in-out; }
.kb-rail__phone:hover { background: var(--kb-red-hover); color: #fff; }

/* Body typography */
.kb-body > * { max-width: var(--kb-measure); }
.kb-body p, .kb-body ul, .kb-body ol { margin: 0 0 1.1em; }
.kb-body ul, .kb-body ol { padding-left: 1.3em; }
.kb-body li { margin-bottom: .4em; }
.kb .kb-body h2 { margin: 2.2em 0 .6em; color: var(--kb-ink); font-family: var(--bde-heading-font-family); font-size: var(--kb-h2); font-weight: 800; line-height: 1.2; scroll-margin-top: calc(var(--kb-sticky-offset) + 8px); text-wrap: balance; }
.kb .kb-body h3 { margin: 1.6em 0 .4em; color: var(--kb-ink); font-family: var(--bde-heading-font-family); font-size: var(--kb-h3); font-weight: 700; line-height: 1.3; text-transform: none; }
.kb-body a { color: var(--kb-ink); text-decoration: underline; text-decoration-color: var(--kb-red); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.kb-body a:hover { color: var(--kb-red-hover); }
.kb-body strong { font-weight: 600; color: var(--kb-ink); }

/* Tables scroll inside their own region */
.kb-body .tbl { max-width: 100%; margin: 0 0 1.5em; overflow-x: auto; border: 1px solid var(--kb-rule); border-radius: var(--kb-radius);
  background: linear-gradient(to right, #fff 30%, rgba(255,255,255,0)), linear-gradient(to left, #fff 30%, rgba(255,255,255,0)) 100% 0,
              linear-gradient(to right, rgba(17,23,39,.12), rgba(17,23,39,0)), linear-gradient(to left, rgba(17,23,39,.12), rgba(17,23,39,0)) 100% 0;
  background-repeat: no-repeat; background-size: 40px 100%, 40px 100%, 12px 100%, 12px 100%; background-attachment: local, local, scroll, scroll; }
.kb-body .tbl:focus-visible { outline: 3px solid var(--kb-green); outline-offset: 2px; }
.kb-body table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 16px; line-height: 1.45; }
.kb-body th, .kb-body td { padding: 11px 14px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--kb-rule); }
.kb-body thead th { background: var(--kb-mist); font-family: var(--bde-heading-font-family); font-weight: 700; color: var(--kb-ink); }
.kb-body tbody tr:last-child td { border-bottom: 0; }

/* Queensland rule callout */
.kb-body .qld { margin: 1.8em 0; padding: 20px 22px; background: var(--kb-mint); border: 1px solid rgba(1,114,96,.25); border-radius: var(--kb-radius); font-size: 17px; }
.kb-body .qld-h { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; color: var(--kb-green); font-family: var(--bde-heading-font-family); font-size: 16px; font-weight: 700; }
.kb-body .qld-h::before { content: ""; width: 14px; height: 14px; flex: none; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 0 1 3v4c0 4.4 3 8.2 7 9 4-.8 7-4.6 7-9V3L8 0zm-1 11.4L3.6 8 5 6.6l2 2 4-4L12.4 6 7 11.4z'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 0 1 3v4c0 4.4 3 8.2 7 9 4-.8 7-4.6 7-9V3L8 0zm-1 11.4L3.6 8 5 6.6l2 2 4-4L12.4 6 7 11.4z'/%3E%3C/svg%3E") center/contain no-repeat; }
.kb-body .qld > :last-child { margin-bottom: 0; }
.kb-body .src-line, .kb-body .small { font-size: 15px; color: var(--kb-muted); }

/* Checklists: the order is the real sequence of tasks */
.kb-body ol.check { list-style: none; padding: 0; counter-reset: kbstep; }
.kb-body ol.check > li { position: relative; padding: 12px 0 12px 44px; margin: 0; border-bottom: 1px solid var(--kb-rule); counter-increment: kbstep; }
.kb-body ol.check > li::before { content: counter(kbstep); position: absolute; left: 0; top: 12px; width: 28px; height: 28px; display: grid; place-items: center; border: 2px solid var(--kb-green); border-radius: 50%; color: var(--kb-green); font-family: var(--bde-heading-font-family); font-size: 14px; font-weight: 800; }

/* FAQ (Rank Math block; same text as the FAQPage JSON-LD) */
.kb-body .wp-block-rank-math-faq-block { margin: 0 0 1.5em; border-top: 1px solid var(--kb-rule); }
.kb-body .rank-math-faq-item { padding: 18px 0; border-bottom: 1px solid var(--kb-rule); }
.kb .kb-body .rank-math-question { margin: 0 0 6px; font-size: 1.125rem; }
.kb-body .rank-math-answer > :last-child { margin-bottom: 0; }

/* Closing CTA: quiet surface, the site's red button */
.kb-body .kb-cta { margin: 2.5em 0 0; padding: 26px 28px; background: var(--kb-mist); border-radius: var(--kb-radius); }
.kb .kb-body .kb-cta h2 { margin-top: 0; font-size: 1.5rem; }
.kb-body .kb-cta > a:not(.small a) { transition: background-color var(--bde-transition-duration, 300ms) ease-in-out; display: inline-flex; align-items: center; min-height: 48px; margin: 4px 0 14px; padding: 14px 26px; background: var(--kb-red); color: #fff; font-size: 15px; font-weight: 600; letter-spacing: .02em; text-transform: uppercase; text-decoration: none; border-radius: var(--kb-radius); }
.kb-body .kb-cta > a:not(.small a):hover { background: var(--kb-red-hover); color: #fff; }
.kb-body .kb-cta .small { margin: 0; }

/* Sources */
.kb-body ol.kb-sources { padding-left: 1.4em; font-size: 15px; line-height: 1.5; color: var(--kb-muted); }
.kb-body ol.kb-sources li { margin-bottom: .6em; overflow-wrap: anywhere; }
.kb-body ol.kb-sources a { color: var(--kb-ink); text-decoration-thickness: 1px; }

/* Related guides */
.kb-related { padding: 48px 0 64px; background: var(--kb-mist); border-top: 1px solid var(--kb-rule); }
.kb .kb-related h2 { margin: 0 0 18px; color: var(--kb-ink); font-family: var(--bde-heading-font-family); font-size: var(--kb-h2); font-weight: 800; }
.kb-related ul { list-style: none; margin: 0 0 18px; padding: 0; display: grid; gap: 12px; }
@media (min-width: 768px) { .kb-related ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.kb-related li a { transition: border-color var(--bde-transition-duration, 300ms) ease-in-out; display: block; height: 100%; padding: 18px 20px; background: #fff; border: 1px solid var(--kb-rule); border-radius: var(--kb-radius); color: var(--kb-ink); font-family: var(--bde-heading-font-family); font-weight: 700; text-decoration: none; }
.kb-related li a:hover { border-color: var(--kb-green); }
.kb-related p a { color: var(--kb-ink); font-weight: 600; }

/* Focus and motion */
.kb a:focus-visible, .kb summary:focus-visible { outline: 3px solid var(--kb-green); outline-offset: 2px; border-radius: 2px; }
@media (prefers-reduced-motion: no-preference) { html:has(.kb) { scroll-behavior: smooth; } }

/* Print */
@media print {
  .kb-rail, .kb-toc, .kb-related, .kb-body .kb-cta > a { display: none !important; }
  .kb-head { background: none; border: 0; }
  .kb-docket { background: none; color: #000; border: 2px solid #000; }
  .kb .kb-docket__label { color: #000; }
  .kb-body ol.kb-sources a::after { content: " (" attr(href) ")"; }
  .kb-body .tbl, .kb-body .qld, .kb-body table { break-inside: avoid; overflow: visible; }
}

/* Links: Breakdance's `.breakdance a { text-decoration: none }` loads after this file with equal
   specificity, so body links rendered without an underline. Doubled class restores it. */
.kb.kb .kb-body a, .kb.kb .kb-crumbs a, .kb.kb .kb-rail__link, .kb.kb .kb-related p a { text-decoration: underline; text-underline-offset: 3px; }
.kb.kb .kb-body a { text-decoration-color: var(--kb-red); text-decoration-thickness: 2px; }
.kb.kb .kb-body ol.kb-sources a { text-decoration-thickness: 1px; }
.kb.kb .kb-body .kb-cta > a:not(.small a), .kb.kb .kb-rail__phone, .kb.kb .kb-related li a, .kb.kb .kb-toc a { text-decoration: none; }
/* Same load-order issue for colour: Breakdance's link colour beat the white text on the red call button. */
.kb.kb .kb-rail__phone, .kb.kb .kb-rail__phone:hover, .kb.kb .kb-body .kb-cta > a:not(.small a), .kb.kb .kb-body .kb-cta > a:not(.small a):hover { color: #fff; }
