/*
 * Candidate-facing consistency pass (UI review round, Andrew 2026-09-26).
 *
 * Additive overlay, loaded after every other front-end stylesheet.
 * Deliberately conservative: focus states, tap targets, transitions and
 * small-screen form ergonomics only — no layout or palette rewrites, so
 * nothing existing can visually break.
 */

/* Every interactive control gets a visible, on-brand keyboard focus. */
.btn:focus-visible,
.btn-primary:focus-visible,
.btn-secondary:focus-visible,
.btn-pill:focus-visible,
button:focus-visible,
a.button:focus-visible,
input[type="submit"]:focus-visible {
    outline: 2px solid var(--color-primary, #003366);
    outline-offset: 2px;
}

/* Consistent hover/press feel across every button family. */
.btn,
.btn-primary,
.btn-secondary,
.btn-pill,
input[type="submit"] {
    transition: background-color .15s ease, color .15s ease,
                box-shadow .15s ease, transform .05s ease;
    cursor: pointer;
}
.btn:active,
.btn-primary:active,
.btn-secondary:active,
.btn-pill:active,
input[type="submit"]:active {
    transform: translateY(1px);
}

/* Form fields: one focus treatment everywhere. */
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="date"]:focus,
select:focus,
textarea:focus {
    outline: none;
    border-color: var(--color-primary, #003366);
    box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb, 0, 51, 102), .15);
}

::placeholder { color: #8a94a8; opacity: 1; }

/* Images never overflow their card. */
.site-main img, .entry-content img { max-width: 100%; height: auto; }

/* Phone ergonomics: comfortable tap targets and full-width actions. */
@media (max-width: 600px) {
    .btn,
    .btn-primary,
    .btn-secondary,
    input[type="submit"] {
        min-height: 44px;
    }
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="password"],
    input[type="search"],
    input[type="number"],
    input[type="date"],
    select,
    textarea {
        font-size: 16px; /* stops iOS zoom-on-focus */
    }
}

@media (prefers-reduced-motion: reduce) {
    .btn, .btn-primary, .btn-secondary, .btn-pill, input[type="submit"] {
        transition: none;
    }
}
