/*
 * Brand primary color: #0B4F6C, hover #08394D — single source of truth for this color.
 * dashboard-nav.css's .to-nav-link-active and profile-form.css's ACF button override
 * both duplicate the same values directly (they target markup this class can't reach),
 * so keep all three in sync if this color ever changes.
 */
/*
 * Brand primary color: #0B4F6C, hover #08394D — single source of truth for this color.
 * dashboard-nav.css's .to-nav-link-active and profile-form.css's ACF button override
 * both duplicate the same values directly (they target markup this class can't reach),
 * so keep all three in sync if this color ever changes.
 *
 * line-height: 1.7 is set explicitly on both button classes below — <button> and <a>
 * elements get different default line-heights from the browser even with identical
 * padding/font-size, which otherwise makes a <button class="to-btn-primary"> (e.g. the
 * "I'm Interested" or "Filter" buttons) render visibly shorter than an
 * <a class="to-btn-secondary"> (e.g. "View / Download Résumé") sitting right next to
 * it. Setting the same explicit line-height on both normalizes their height regardless
 * of which tag is actually used.
 */
.to-btn-primary {
    display: inline-block;
    padding: 10px 18px;
    border-radius: 6px;
    background: #0B4F6C;
    color: #ffffff;
    text-decoration: none;
    font-size: 14px;
    line-height: 1.7;
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: background 0.15s ease;
}
.to-btn-primary:hover { background: #08394D; color: #ffffff; }

.to-btn-secondary {
    display: inline-block;
    padding: 10px 18px;
    border-radius: 6px;
    background: #ffffff;
    color: #0B4F6C;
    text-decoration: none;
    font-size: 14px;
    line-height: 1.7;
    font-weight: 600;
    border: 1px solid #0B4F6C;
    cursor: pointer;
    transition: background 0.15s ease;
}
.to-btn-secondary:hover { background: #E6EEF1; }

.to-btn-small { padding: 6px 12px; font-size: 13px; }

.to-link-muted { color: #6b7280; font-size: 13px; text-decoration: underline; }

/* Info/success notices — "check your email", "profile updated", "already signed in". */
.to-notice {
    background: #E6EEF1;
    border-left: 4px solid #0B4F6C;
    padding: 12px 16px;
    border-radius: 4px;
    color: #0B2C3D;
    margin: 12px 0;
}
.to-notice a { color: #0B4F6C; text-decoration: underline dashed; }

/* Amber/warning variant — approval-pending / incomplete-profile states. */
.to-notice-pending {
    background: #FEF3E2;
    border-left-color: #B45309;
    color: #78350F;
}

.to-empty-state { color: #6b7280; font-style: italic; }

/* .to-form — [to_register_*_form] and [to_login_form]. */
.to-form label {
    display: block;
    margin-top: 12px;
    font-weight: 600;
    color: #555;
}
.to-checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-weight: 400 !important;
    margin-top: 16px !important;
    line-height: 1.4;
}
.to-checkbox-label input[type="checkbox"] { margin-top: 3px; }

.to-form input[type="email"],
.to-form input[type="text"] {
    width: 100%;
    max-width: 400px;
    padding: 8px;
    margin-top: 4px;
}
.to-form button[type="submit"] { margin-top: 16px; }
.to-form-help { color: #6b7280; font-size: 13px; margin-top: 8px; }

.to-error { color: #b32d2e; }

.to-pill {
    display: inline-block;
    background: #F1F5F9;
    color: #0B4F6C;
    border-radius: 999px;
    padding: 3px 12px;
    font-size: 12px;
    font-weight: 600;
    margin-top: 6px;
}
