﻿/* ==========================================================================
   Lemcool Enterprises, LLC

   Everything that Bootstrap 5.3 can express is expressed with Bootstrap
   classes in the views. This file holds only what it genuinely has no
   utility for. Nothing here declares a colour literal: every value is a
   --bs-* custom property, so light/dark is entirely Bootstrap's to drive.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Blueprint frame - the design's signature device.
   The border, radius and padding come from Bootstrap utilities in the markup
   (.border .rounded-0 .p-4); this only positions the registration marks.
   -------------------------------------------------------------------------- */
.bp { position: relative; }

.bp-c {
    position: absolute;
    width: 11px;
    height: 11px;
    color: var(--bs-tertiary-color);
}

.bp-c::before,
.bp-c::after { content: ""; position: absolute; background: currentColor; }
.bp-c::before { left: 5px; top: 0; width: 1px; height: 100%; }
.bp-c::after { top: 5px; left: 0; width: 100%; height: 1px; }

.bp-c.tl { top: -6px; left: -6px; }
.bp-c.tr { top: -6px; right: -6px; }
.bp-c.bl { bottom: -6px; left: -6px; }
.bp-c.br { bottom: -6px; right: -6px; }

/* --------------------------------------------------------------------------
   Letter-spacing. Bootstrap ships no tracking utilities, and the design's
   uppercase kickers and tight display headings depend on them.
   -------------------------------------------------------------------------- */
.tracking-wide { letter-spacing: .18em; }
.tracking-mono { letter-spacing: .1em; }
.tracking-brand { letter-spacing: .05em; }
.tracking-tight { letter-spacing: -.022em; }

/* --------------------------------------------------------------------------
   Active nav underline. Bootstrap's .nav-link.active recolours the text but
   draws no rule; the transparent border keeps inactive items from shifting.
   -------------------------------------------------------------------------- */
.navbar .nav-link { border-bottom: 2px solid transparent; }
.navbar .nav-link.active { border-bottom-color: var(--bs-primary); }

/* --------------------------------------------------------------------------
   Badge artwork drawn on white needs a white plate to stay legible in dark
   mode. This is intentionally not theme-aware.
   -------------------------------------------------------------------------- */
.plate { background: #fff; }

/* --------------------------------------------------------------------------
   MVC's unobtrusive validation emits its own class rather than Bootstrap's
   .is-invalid, so map it onto Bootstrap's invalid border colour.
   -------------------------------------------------------------------------- */
.input-validation-error { border-color: var(--bs-form-invalid-border-color) !important; }

/* Headings and copy wrap better with this, and it degrades silently. */
h1, h2, h3, h4, p, li { text-wrap: pretty; }
