/*
// © Copyright 1990-2026 Toptronic® Ltd, all rights reserved; no part of
// this document may be reproduced, modified or stored in a retrieval
// system, or transmitted in any form or by any means, electronic,
// mechanical, photocopying, recording or otherwise, without the prior
// written permission of Toptronic Limited.
// For copyright inquiries: jacques@toptronic.com
 */
/*
 * PLWS :: Plazdiez Website — "GO BOKKIES" palette layer (session 0108)
 * Project: Paul Lambourn Web Site (PLWS) — www.plazdiez.co.za
 * Generated/Updated on: 2026-09-18T07:46:04+10:00
 * Audience: Jacques (hardware/C background), Ryan (14), Ava (9),
 *           students, and the Master's-level reader who wants the why.
 *
 * THIS FILE IS GENERATED — do not hand-edit it. Change the colour map
 * docs/_0108/PLWS_Theme_Map_0108.json and re-run:
 *     python tools/PLWS_gen_theme_palette_0108.py
 *
 * WHAT IT IS: the Springbok (green + gold) version of every colour the
 * classic sheets declare. Each rule below is a copy of a real rule from
 * css/styles_001.css … styles_013.css, carrying ONLY its colour
 * declarations, under the prefix html[data-theme="bokkies"]. With no
 * data-theme attribute, or with data-theme="classic", not one of these
 * lines applies and the site is exactly the site Jacques approved.
 *
 * -- Ava: this is the green-and-gold tracing paper. Take the paper off
 *    and the old picture is still there, untouched.
 * -- Jacques: same comparator idea as css/styles_010.css — one selector,
 *    one switch, no !important and no source-order gamble.
 *
 * PART 1 of 2 of the layer.
 */

/* ---- the shared colour tokens (drives the JS diagrams too) --- */
html[data-theme="bokkies"] {
  --clr-accent: #f2a900;
  --clr-accent-hover: #d99a00;
  --clr-beige: #eef3ec;
  --clr-bok-gold: #FFB612;
  --clr-bok-gold-deep: #c99400;
  --clr-bok-green: #00432a;
  --clr-bok-green-deep: #003a24;
  --clr-bok-green-hover: #00552e;
  --clr-brand: #f2a900;
  --clr-brand-deep: #7a4d00;
  --clr-brand-ink: #0e2a1f;
  --clr-charcoal: #12301f;
  --clr-dark-bg: #1a3a2c;
  --clr-focus: #ffc94d;
  --clr-green: #2ecc71;
  --clr-grey: #b8c4bc;
  --clr-hairline: rgba(14, 42, 31, 0.08);
  --clr-hairline-strong: rgba(14, 42, 31, 0.1);
  --clr-ink: #0e2a1f;
  --clr-light: #eef2ee;
  --clr-paper: #f4f7f2;
  --clr-steel: #8fa396;
  --clr-steel-deep: #55665e;
  --clr-success: #1f9d63;
  --clr-surface: #16352a;
  --clr-text: #1e3a2e;
  --clr-white: #ffffff;
  --gl-head-shade: rgba(14, 42, 31, 0);
  --gl-ink-soft: #1e3a2e;
  --gl-muted: #5a6b63;
  --gl-pill-bg: #eef2ee;
  --gl-rule: rgba(14, 42, 31, 0.10);
  --gl-tint-flash: rgba(242,169,0,0.25);
  --gl-tint-hover: rgba(242,169,0,0.10);
  --gl-tint-mark: rgba(242,169,0,0.30);
  --gl-tint-quiet: rgba(14, 42, 31, 0.04);
  --proc-deck-hairline: rgba(14, 42, 31, 0.08);
  --proc-deck-ink: #0e2a1f;
  --proc-deck-rule: rgba(14, 42, 31, 0.1);
  --proc-deck-tint: rgba(242, 169, 0, 0.12);
}

/* ===== from css/styles_001.css ===== */
html[data-theme="bokkies"] { --clr-charcoal: #12301f; --clr-beige: #eef3ec; --clr-dark-bg: #1a3a2c; --clr-accent: #f2a900; --clr-accent-hover: #d99a00; --clr-light: #eef2ee; --clr-grey: #b8c4bc; --clr-text: #1e3a2e; --clr-white: #ffffff; --clr-green: #2ecc71; }
html[data-theme="bokkies"] .site-header { border-bottom: 1px solid rgba(14,42,31,0.03); }
html[data-theme="bokkies"] .header-nav a.active { background-color: rgba(242,169,0,0); }
html[data-theme="bokkies"] .lang-btn:hover { background-color: rgba(242,169,0,0); }
html[data-theme="bokkies"] .hero-frame { background: linear-gradient(135deg, var(--clr-charcoal) 0%, #1b382c 100%); border: 1px solid rgba(242,169,0,0); }

/* ===== from css/styles_002.css ===== */
html[data-theme="bokkies"] .carousel-arrow { background-color: rgba(18, 48, 31, 0.8); box-shadow: 0 0 8px rgba(242,169,0,0); }
html[data-theme="bokkies"] .carousel-arrow:hover, html[data-theme="bokkies"] .carousel-arrow:focus { box-shadow: 0 0 16px rgba(242, 169, 0, 0.6); }
html[data-theme="bokkies"] .carousel-thumb { background-color: #12301f; }
@media screen and (max-width: 820px) {
  html[data-theme="bokkies"] .carousel-caption { background-color: rgba(18, 48, 31, 0.8); }
}
@media screen and (max-width: 820px) {
  html[data-theme="bokkies"] .carousel-pause-btn { background-color: rgba(18, 48, 31, 0.8); }
}
@media screen and (max-width: 820px) {
  html[data-theme="bokkies"] .carousel-counter { background-color: rgba(18, 48, 31, 0.8); }
}
@media screen and (max-width: 820px) {
  @media (prefers-reduced-motion: reduce) {
    html[data-theme="bokkies"] .fullscreen-arrow { background-color: rgba(255, 255, 255, 0.12); }
  }
}

/* ===== from css/styles_003.css ===== */
@media screen and (max-width: 480px) {
  html[data-theme="bokkies"] .header-nav a { border-bottom: 1px solid rgba(255, 255, 255, 0.12); }
}

/* ===== from css/styles_004.css ===== */
html[data-theme="bokkies"] { --clr-ink: #0e2a1f; --clr-surface: #16352a; --clr-paper: #f4f7f2; --clr-brand: #f2a900; --clr-brand-ink: #0e2a1f; --clr-steel: #8fa396; --clr-success: #1f9d63; --clr-focus: #ffc94d; }
@media screen and (max-width: 820px) {
  @supports (transform: translateX(1px)) {
    html[data-theme="bokkies"] .header-nav a { border-bottom: 1px solid rgba(255, 255, 255, 0.12); }
  }
}
@media screen and (max-width: 820px) {
  @supports (transform: translateX(1px)) {
    html[data-theme="bokkies"] .header-nav a:hover, html[data-theme="bokkies"] .header-nav a:focus { background-color: rgba(242,169,0,0); }
  }
}
@media screen and (max-width: 820px) {
  @supports (transform: translateX(1px)) {
    html[data-theme="bokkies"] .footer-copyright { border-top: 1px solid rgba(143, 163, 150, 0.25); }
  }
}
@media screen and (max-width: 820px) {
  @supports (transform: translateX(1px)) {
    html[data-theme="bokkies"] .card { border: 1px solid rgba(14,42,31,0.03); }
  }
}
@media screen and (max-width: 820px) {
  @supports (transform: translateX(1px)) {
    @media (hover: hover) {
      html[data-theme="bokkies"] .chip { background: rgba(242,169,0,0); border: 1px solid rgba(242,169,0,0); }
    }
  }
}

/* ===== from css/styles_005.css ===== */
html[data-theme="bokkies"] .page-hero { border-bottom: 1px solid rgba(14,42,31,0.03); }
html[data-theme="bokkies"] .timeline::before { background: rgba(14,42,31,0.03); }
html[data-theme="bokkies"] .timeline-card { border: 1px solid rgba(14,42,31,0.03); }
html[data-theme="bokkies"] .contact-direct { border: 1px solid rgba(14,42,31,0.03); }

/* ===== from css/styles_006.css ===== */
html[data-theme="bokkies"] { --clr-brand-deep: #7a4d00; --clr-steel-deep: #55665e; }
html[data-theme="bokkies"] ::selection { background: rgba(242,169,0,0); }
@media (hover: hover) {
  html[data-theme="bokkies"] .chip:hover { background: rgba(242,169,0,0); border-color: rgba(242, 169, 0, 0.6); }
}
@media (hover: hover) {
  @media (min-width: 900px) {
    @media (hover: hover) {
      html[data-theme="bokkies"] .carousel img { border: 1px solid rgba(14,42,31,0.03); }
    }
  }
}
@media (hover: hover) {
  @media (min-width: 900px) {
    @media (hover: hover) {
      html[data-theme="bokkies"] .trust-strip { border-top: 1px solid rgba(14,42,31,0.03); border-bottom: 1px solid rgba(14,42,31,0.03); }
    }
  }
}
@media (hover: hover) {
  @media (min-width: 900px) {
    @media (hover: hover) {
      @media (max-width: 480px) {
        @media (max-width: 640px) {
          @media (hover: none) {
            @media (pointer: coarse) {
              html[data-theme="bokkies"] { --clr-hairline: rgba(14, 42, 31, 0.08); --clr-hairline-strong: rgba(14, 42, 31, 0.1); }
            }
          }
        }
      }
    }
  }
}
@media (hover: hover) {
  @media (min-width: 900px) {
    @media (hover: hover) {
      @media (max-width: 480px) {
        @media (max-width: 640px) {
          @media (hover: none) {
            @media (pointer: coarse) {
              html[data-theme="bokkies"] .partner-quote-link:hover { background-color: rgba(242,169,0,0); }
            }
          }
        }
      }
    }
  }
}
@media (hover: hover) {
  @media (min-width: 900px) {
    @media (hover: hover) {
      @media (max-width: 480px) {
        @media (max-width: 640px) {
          @media (hover: none) {
            @media (pointer: coarse) {
              html[data-theme="bokkies"] .partner-quote-link:focus-visible { background-color: rgba(242,169,0,0); }
            }
          }
        }
      }
    }
  }
}

/* ===== from css/styles_007.css ===== */
html[data-theme="bokkies"] .cs-duo-item { border: 1px solid var(--clr-hairline, rgba(14,42,31,0.03)); }
html[data-theme="bokkies"] .cs-duo-item figcaption { border-top: 1px solid var(--clr-hairline, rgba(14,42,31,0.03)); }
html[data-theme="bokkies"] .cs-card { border: 1px solid var(--clr-hairline, rgba(14,42,31,0.03)); }
@media (hover: hover) {
  html[data-theme="bokkies"] .cs-hero-figure { border: 1px solid var(--clr-hairline, rgba(14,42,31,0.03)); }
}
@media (hover: hover) {
  html[data-theme="bokkies"] .cs-proof { border-top: 1px solid var(--clr-hairline, rgba(14,42,31,0.03)); border-bottom: 1px solid var(--clr-hairline, rgba(14,42,31,0.03)); }
}

/* ===== from css/styles_008.css ===== */
html[data-theme="bokkies"] { --proc-deck-ink: #0e2a1f; }
html[data-theme="bokkies"] .procdeck__card { border: 1px solid var(--clr-hairline, rgba(14,42,31,0.03)); }
html[data-theme="bokkies"] .procdeck__phase { color: var(--clr-brand-deep, #a06a00); }
html[data-theme="bokkies"] .procdeck__controls { border-top: 1px solid var(--clr-hairline, rgba(14,42,31,0.03)); }
html[data-theme="bokkies"] .procdeck__counter { color: var(--clr-steel-deep, #46554e); }
html[data-theme="bokkies"] .procdeck__btn:focus-visible { outline: 2px solid var(--clr-focus, #ffc94d); }
html[data-theme="bokkies"] .procdeck__progress { background: var(--clr-hairline, rgba(14,42,31,0.03)); }

/* ===== from css/styles_009.css ===== */
html[data-theme="bokkies"] { --proc-deck-hairline: rgba(14, 42, 31, 0.08); --proc-deck-rule: rgba(14, 42, 31, 0.1); --proc-deck-tint: rgba(242, 169, 0, 0.12); }
html[data-theme="bokkies"] .procdeck__heading { color: var(--clr-charcoal, #12301f); }
html[data-theme="bokkies"] .procdeck__stage { color: var(--clr-steel-deep, #55665e); }
html[data-theme="bokkies"] .procdeck__jump { color: var(--clr-brand-deep, #7a4d00); }
html[data-theme="bokkies"] .procdeck__card { box-shadow: var(--shadow-md, 0 4px 12px rgba(0, 0, 0, 0.5)); }
html[data-theme="bokkies"] .procdeck__progress-fill { background: var(--clr-brand, #f2a900); }
html[data-theme="bokkies"] .procdeck__head { background: var(--clr-paper, #f4f7f2); }
html[data-theme="bokkies"] .procdeck__step { color: var(--clr-steel-deep, #55665e); }
html[data-theme="bokkies"] .procdeck__phase { color: var(--clr-brand-deep, #7a4d00); }
html[data-theme="bokkies"] .procdeck__title { color: var(--clr-ink, #0e2a1f); }
html[data-theme="bokkies"] .procdeck__bullets li { color: var(--clr-text, #213e31); }
html[data-theme="bokkies"] .procdeck__bullets li::before { background: var(--clr-brand, #f2a900); }
html[data-theme="bokkies"] .procdeck__note { border-left: 3px solid var(--clr-brand, #f2a900); color: var(--clr-text, #213e31); }
html[data-theme="bokkies"] .procdeck__note-label { color: var(--clr-brand-deep, #7a4d00); }
html[data-theme="bokkies"] .procdeck__visual { background: var(--clr-paper, #f4f7f2); }
html[data-theme="bokkies"] .procdeck__controls { background: var(--clr-paper, #f4f7f2); }
html[data-theme="bokkies"] .procdeck__counter { color: var(--clr-steel-deep, #55665e); }
html[data-theme="bokkies"] .procdeck__btn { border: 1px solid var(--clr-ink, #0e2a1f); color: var(--clr-ink, #0e2a1f); }
html[data-theme="bokkies"] .procdeck__btn:hover { border-color: var(--clr-brand-deep, #7a4d00); }
html[data-theme="bokkies"] .procdeck__btn--next { background: var(--clr-brand, #f2a900); border-color: var(--clr-brand, #f2a900); color: var(--clr-brand-ink, #0e2a1f); }
html[data-theme="bokkies"] .procdeck__btn--next:hover { background: var(--clr-accent-hover, #d99a00); border-color: var(--clr-accent-hover, #d99a00); }
html[data-theme="bokkies"] .procdeck__btn[disabled]:hover, html[data-theme="bokkies"] .procdeck__btn--prev[disabled]:hover { border-color: var(--clr-ink, #0e2a1f); }
html[data-theme="bokkies"] .procdeck__btn--next[disabled]:hover { background: var(--clr-brand, #f2a900); border-color: var(--clr-brand, #f2a900); }
html[data-theme="bokkies"] .procdeck__dot { color: var(--clr-steel-deep, #55665e); }
html[data-theme="bokkies"] .procdeck__dot:hover::before { border-color: var(--clr-brand-deep, #7a4d00); }
html[data-theme="bokkies"] .procdeck__dot[aria-current="true"] { color: var(--clr-brand-ink, #0e2a1f); }
html[data-theme="bokkies"] .procdeck__dot[aria-current="true"]::before { background: var(--clr-brand, #f2a900); border-color: var(--clr-brand, #f2a900); }
html[data-theme="bokkies"] .procdeck__print > button, html[data-theme="bokkies"] .procdeck__print > a { color: var(--clr-steel-deep, #55665e); }
html[data-theme="bokkies"] .procdeck__print > button:hover, html[data-theme="bokkies"] .procdeck__print > a:hover { background: var(--clr-paper, #f4f7f2); border-color: var(--clr-brand-deep, #7a4d00); color: var(--clr-ink, #0e2a1f); }
html[data-theme="bokkies"] .procdeck__print p, html[data-theme="bokkies"] .procdeck__print small, html[data-theme="bokkies"] .procdeck__print span { color: var(--clr-steel-deep, #55665e); }
html[data-theme="bokkies"] .procdeck__btn:focus-visible, html[data-theme="bokkies"] .procdeck__dot:focus-visible, html[data-theme="bokkies"] .procdeck__jump:focus-visible, html[data-theme="bokkies"] .procdeck__print > button:focus-visible, html[data-theme="bokkies"] .procdeck__print > a:focus-visible { outline: 2px solid var(--clr-ink, #0e2a1f); box-shadow: 0 0 0 4px rgba(242,169,0,0); }

/* ===== from css/styles_010.css ===== */
html[data-theme="bokkies"] { --gl-muted: #5a6b63; --gl-rule: rgba(14, 42, 31, 0.10); }
@media screen and (min-width: 821px) and (max-width: 1199px) {
  @supports (transform: translateX(1px)) {
    html[data-theme="bokkies"] .header-nav a { border-bottom: 1px solid rgba(255, 255, 255, 0.12); }
  }
}
@media screen and (min-width: 821px) and (max-width: 1199px) {
  @supports (transform: translateX(1px)) {
    html[data-theme="bokkies"] .header-nav a:hover, html[data-theme="bokkies"] .header-nav a:focus { background-color: rgba(242,169,0,0); }
  }
}
@media screen and (min-width: 821px) and (max-width: 1199px) {
  @supports (transform: translateX(1px)) {
    @media screen and (min-width: 1200px) {
      @media screen and (min-width: 1340px) {
        html[data-theme="bokkies"] .gl-search { background: #ffffff; border: 2px solid rgba(14,42,31,0.03); }
      }
    }
  }
}
@media screen and (min-width: 821px) and (max-width: 1199px) {
  @supports (transform: translateX(1px)) {
    @media screen and (min-width: 1200px) {
      @media screen and (min-width: 1340px) {
        html[data-theme="bokkies"] .gl-clear { border: 2px solid rgba(14,42,31,0.03); }
      }
    }
  }
}
@media screen and (min-width: 821px) and (max-width: 1199px) {
  @supports (transform: translateX(1px)) {
    @media screen and (min-width: 1200px) {
      @media screen and (min-width: 1340px) {
        html[data-theme="bokkies"] .gl-chip { background: rgba(14,42,31,0.03); border: 1px solid rgba(14,42,31,0.03); }
      }
    }
  }
}
@media screen and (min-width: 821px) and (max-width: 1199px) {
  @supports (transform: translateX(1px)) {
    @media screen and (min-width: 1200px) {
      @media screen and (min-width: 1340px) {
        html[data-theme="bokkies"] .gl-table { background: #ffffff; border: 1px solid rgba(14,42,31,0.03); }
      }
    }
  }
}
@media screen and (min-width: 821px) and (max-width: 1199px) {
  @supports (transform: translateX(1px)) {
    @media screen and (min-width: 1200px) {
      @media screen and (min-width: 1340px) {
        html[data-theme="bokkies"] .gl-table th, html[data-theme="bokkies"] .gl-table td { border-bottom: 1px solid rgba(14,42,31,0.03); }
      }
    }
  }
}
@media screen and (min-width: 821px) and (max-width: 1199px) {
  @supports (transform: translateX(1px)) {
    @media screen and (min-width: 1200px) {
      @media screen and (min-width: 1340px) {
        html[data-theme="bokkies"] .gl-table tbody tr:nth-child(even) { background: rgba(14,42,31,0.03); }
      }
    }
  }
}
@media screen and (min-width: 821px) and (max-width: 1199px) {
  @supports (transform: translateX(1px)) {
    @media screen and (min-width: 1200px) {
      @media screen and (min-width: 1340px) {
        html[data-theme="bokkies"] .gl-table tbody tr:hover { background: rgba(242,169,0,0); }
      }
    }
  }
}
@media screen and (min-width: 821px) and (max-width: 1199px) {
  @supports (transform: translateX(1px)) {
    @media screen and (min-width: 1200px) {
      @media screen and (min-width: 1340px) {
        html[data-theme="bokkies"] .gl-talk-demand { color: #1e3a2e; }
      }
    }
  }
}
@media screen and (min-width: 821px) and (max-width: 1199px) {
  @supports (transform: translateX(1px)) {
    @media screen and (min-width: 1200px) {
      @media screen and (min-width: 1340px) {
        html[data-theme="bokkies"] .gl-talk-demand::before { color: var(--clr-brand-deep, #7a4d00); }
      }
    }
  }
}
@media screen and (min-width: 821px) and (max-width: 1199px) {
  @supports (transform: translateX(1px)) {
    @media screen and (min-width: 1200px) {
      @media screen and (min-width: 1340px) {
        @media screen and (max-width: 820px) {
          html[data-theme="bokkies"] .gl-table tbody tr { border-bottom: 1px solid rgba(14,42,31,0.03); }
        }
      }
    }
  }
}
@media screen and (min-width: 821px) and (max-width: 1199px) {
  @supports (transform: translateX(1px)) {
    @media screen and (min-width: 1200px) {
      @media screen and (min-width: 1340px) {
        @media screen and (max-width: 820px) {
          @media print {
            html[data-theme="bokkies"] .gl-table thead th { background: #ffffff; color: #000000; }
          }
        }
      }
    }
  }
}
@media screen and (min-width: 821px) and (max-width: 1199px) {
  @supports (transform: translateX(1px)) {
    @media screen and (min-width: 1200px) {
      @media screen and (min-width: 1340px) {
        @media screen and (max-width: 820px) {
          @media print {
            html[data-theme="bokkies"] .gl-table { border-color: #8a9a90; }
          }
        }
      }
    }
  }
}
@media screen and (min-width: 821px) and (max-width: 1199px) {
  @supports (transform: translateX(1px)) {
    @media screen and (min-width: 1200px) {
      @media screen and (min-width: 1340px) {
        @media screen and (max-width: 820px) {
          @media print {
            @media (prefers-reduced-motion: reduce) {
              html[data-theme="bokkies"] .gl-nojs { border: 1px solid rgba(14,42,31,0.03); background: #ffffff; }
            }
          }
        }
      }
    }
  }
}
