body {
    background-color: skyblue;
}

.card-header {
    border-bottom: 3px solid #0d6efd;
}
.form-label {
    color: #495057;
    margin-bottom: 0.5rem;
}
.form-control:focus,
.form-select:focus {
    border-color: #0d6efd;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
body .btn-lg {
    font-weight: 600;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
}
body .btn-lg:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
/*
 * Échelle typographique globale : titres nettement plus compacts que les valeurs Bootstrap
 * par défaut. Les sélecteurs sont préfixés par `body` pour primer sur bootstrap.min.css,
 * qui est chargé après cette feuille.
 */
body h1, body .h1 {
    font-size: 1.5rem;
    font-weight: 600;
}
body h2, body .h2 {
    font-size: 1.25rem;
    font-weight: 600;
}
body h3, body .h3 {
    font-size: 1.1rem;
    font-weight: 600;
}
body h4, body .h4 {
    font-size: 1rem;
    font-weight: 600;
}
body h5, body .h5 {
    font-size: 0.95rem;
    font-weight: 600;
}
body h6, body .h6 {
    font-size: 0.9rem;
    font-weight: 600;
}

/*
 * Échelle des boutons : les trois tailles Bootstrap sont réduites, en conservant leur
 * hiérarchie relative. Même préfixe `body` que pour les titres, pour la même raison
 * de cascade. Les utilitaires d'espacement (`px-5`, etc.) restent prioritaires car
 * Bootstrap les génère en `!important`.
 */
body .btn {
    font-size: 0.875rem;
    padding: 0.25rem 0.625rem;
    border-radius: 0.3rem;
}
body .btn-lg {
    font-size: 0.95rem;
    padding: 0.375rem 0.875rem;
    border-radius: 0.3rem;
}
body .btn-sm {
    font-size: 0.8rem;
    padding: 0.15rem 0.5rem;
    border-radius: 0.25rem;
}
