/* Focus indicators must remain visible in the existing theme. */
/* The theme limits logo height; let intrinsic ratio determine its matching width. */
img.custom-logo {
    width: auto;
}

body :where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 3px solid #006386;
    outline-offset: 3px;
}

/* The landing-page theme overrides these two buttons with zero horizontal padding. */
body.home #main .spar-hero-content > a.spar-btn {
    box-sizing: border-box;
    max-width: 100%;
    min-height: 44px;
    padding: 14px 22px !important;
    margin: 0 4px 12px;
    line-height: 1.4;
    white-space: normal;
}

/* Retain the green palette with readable white button text. */
a.spar-btn.spar-green {
    background-color: #087b69 !important;
    color: #fff !important;
}
a.spar-btn.spar-green:hover {
    background-color: #076b5b !important;
}

#access .current-menu-item > a,
#access .current_page_item > a {
    color: #835900 !important;
}

/* Keep the existing typefaces; use the theme body face consistently. */
body { font-size: 16px; font-weight: 400; }
body .spar-new-home { font-family: inherit; }

/* Gold remains the accent background; text links need a darker shade on white. */
#site-title a,
#main .entry-content a:not(.spar-btn):not(.wp-block-button__link),
#main .entry-content .has-accent-1-color {
    color: #835900 !important;
}
#main .entry-content a:not(.spar-btn):not(.wp-block-button__link) {
    text-decoration: underline;
    text-underline-offset: 0.15em;
}
#main .spar-new-home .spar-card a,
#main .spar-new-home .spar-product a,
#main .spar-new-home .spar-hero .spar-small-title,
#main .spar-new-home .spar-hero h1 span {
    color: #087b69 !important;
}
#main .spar-new-home .spar-card p,
#main .spar-new-home .spar-product p,
#main .spar-new-home .spar-hero p {
    color: #526674 !important;
}
#main .has-accent-1-background-color,
#main .has-accent-1-background-color :where(p, strong, span, a),
#main a.wp-block-button__link.has-accent-1-background-color {
    color: #182f39 !important;
}
#main .has-sitetext-background-color.has-accent-1-color,
#main .has-sitetext-background-color.has-accent-1-color a,
#main .has-accent-2-background-color.has-accent-1-color,
#main .wp-block-cover .wp-block-cover__inner-container :where(h1, h1 strong, h2, h2 strong, p, p strong) {
    color: #fff !important;
}
#main code { color: #52616b; }
#main .post-views :where(.post-views-label, .post-views-count) {
    color: #52616b;
}

@media (max-width: 600px) {
    .nf-form-cont input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
    .nf-form-cont select,
    .nf-form-cont textarea {
        font-size: 16px;
    }
}

/* Honor the visitor's motion preference, including theme letter animations. */
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto !important; }
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}
