/* ==========================================================================
   Aplaid landing colour palette — derived from the AI gradient in the logo.
   Replaces Velzon's navy (--vz-primary) and teal (--vz-success) defaults.
   Loaded AFTER landing-bundle.min.css so :root overrides win.
   ========================================================================== */

:root,
[data-bs-theme="light"] {
    /* Primary — deep azure (start of AI gradient) */
    --vz-primary: #0A81F7;
    --vz-primary-rgb: 10, 129, 247;
    --vz-primary-text-emphasis: #0858B4;
    --vz-primary-bg-subtle: #E1EFFE;
    --vz-primary-border-subtle: #B8DCFD;

    /* Success / secondary accent — light sky (mid-to-end of AI gradient) */
    --vz-success: #38BDF8;
    --vz-success-rgb: 56, 189, 248;
    --vz-success-text-emphasis: #0A81F7;
    --vz-success-bg-subtle: #E5F5FE;
    --vz-success-border-subtle: #BCE5FB;

    /* Keep teal palette token aligned for any utility classes that use it */
    --vz-teal: #38BDF8;
    --vz-cyan: #0F6DEE;

    /* Exposed gradient stops for landing hero / accents */
    --aplaid-ai-grad-start: #0F6DEE;
    --aplaid-ai-grad-end: #7AD3FD;
}

[data-bs-theme="dark"] {
    --vz-primary: #38BDF8;
    --vz-primary-rgb: 56, 189, 248;
    --vz-success: #7AD3FD;
    --vz-success-rgb: 122, 211, 253;
}

/* ==========================================================================
   Top nav-bar — bundle hardcodes teal (#0ab39c) for active/hover; override.
   ========================================================================== */
.navbar-landing .navbar-nav .nav-item .nav-link.active,
.navbar-landing .navbar-nav .nav-item .nav-link:hover,
.navbar-landing .navbar-nav .nav-item .nav-link:focus {
    color: var(--vz-primary) !important;
}

/* ==========================================================================
   Hero feature cards — mobile compact styling (preserved from prior overrides)
   ========================================================================== */
@media (max-width: 575.98px) {
    .hero-features h6 {
        font-size: 0.7rem;
    }
}

/* ==========================================================================
   Accessibility — WCAG AA contrast fixes (Lighthouse 2026-05-22).
   - text-muted (#878a99) on white was 3.42:1, on bg-light was 3.16:1; failed AA.
   - Small text-primary (#0A81F7) eyebrows on white were 3.82:1; failed AA.
   - Inline links inside muted paragraphs had no underline → indistinguishable.
   - Dark-footer text-muted at #878a99 on #212529 was 4.49:1; failed AA by 0.01.
   ========================================================================== */
:root,
[data-bs-theme="light"] {
    /* Bootstrap/Velzon text-muted resolves to --vz-secondary-color.
       #4f5158 = 7.6:1 on white, 6.7:1 on #f3f6f9. */
    --vz-secondary-color: #4f5158;
    --vz-secondary-color-rgb: 79, 81, 88;
}

/* Eyebrow / small-cap text uses .fs-12 or .fs-13 + .text-primary.
   Swap to the darker primary-text-emphasis so 12px hits AA (≥4.5:1 on white). */
.fs-12.text-primary,
.fs-13.text-primary,
p.fs-12.text-primary {
    color: var(--vz-primary-text-emphasis) !important;
}

/* Inline links inside muted paragraphs need a non-colour cue (underline). */
p.text-muted a,
.text-muted a:not(.btn):not(.dropdown-item) {
    text-decoration: underline;
}

/* Footer is dark (bg-dark = #212529). text-muted needs to be lighter, not
   darker, to pass AA against the dark background. Override the inherited
   :root --vz-secondary-color inside the footer. */
.custom-footer .text-muted,
.custom-footer a.text-muted {
    color: #c2c6cd !important;
}
.custom-footer .text-white-50 {
    color: #c2c6cd !important;
}

/* ==========================================================================
   Accessibility round 2 — WCAG AA fixes from the integral landing audit
   (2026-05-22, Marina Tannenbaum). Three remaining contrast failures:

   1. .lead at font-weight: 300 reads thin even after the text-muted darken;
      the hero value-prop is the most important sentence on the site.
   2. .btn-primary uses --vz-primary (#0A81F7) — white text gives 3.82:1,
      below the 4.5:1 AA threshold for normal text.
   3. Eyebrows that use .text-success render as #38BDF8 (sky blue, ~1.8:1
      on white). The primary-blue eyebrows are already fixed above; the
      sky-blue ones in card grids are not.
   ========================================================================== */

/* (1) Hero / lead paragraphs — bump from weight 300 to 400. */
p.lead {
    font-weight: 400;
}

/* (2) Primary CTA button — swap the surface to --vz-primary-text-emphasis
   (#0858B4 → ~7.5:1 with white). Keep the lighter --vz-primary for accents,
   pills and links; only the solid button needs the darker fill. */
.btn-primary {
    --vz-btn-bg: var(--vz-primary-text-emphasis);
    --vz-btn-border-color: var(--vz-primary-text-emphasis);
    --vz-btn-hover-bg: #06448C;
    --vz-btn-hover-border-color: #06448C;
    --vz-btn-active-bg: #06448C;
    --vz-btn-active-border-color: #06448C;
}

/* (3) Sky-blue eyebrows on card grids — route them through the same darker
   primary token used for the primary-blue eyebrows in the override above. */
.fs-12.text-success,
.fs-13.text-success,
h5.fs-12.text-uppercase.text-success {
    color: var(--vz-primary-text-emphasis) !important;
}
