/* iniw - styles projet (surcharges Bootstrap) */

/* Sticky footer : quand le contenu est court, le footer se cale
   au bas du viewport ; quand il déborde, il se place juste après. */
html,
body {
    min-height: 100vh;
}

body {
    display: flex;
    flex-direction: column;
}

body > main {
    flex: 1 0 auto;
}

/* Menu « Fichier » : même couleur que la marque « iniw.fr »
   (au repos, au survol et menu ouvert). */
.navbar .nav-link.dropdown-toggle,
.navbar .nav-link.dropdown-toggle:hover,
.navbar .nav-link.dropdown-toggle:focus,
.navbar .nav-link.dropdown-toggle.show {
    color: var(--bs-navbar-brand-color);
}

/* Écran large (menu déplié) : « iniw.fr » et « Fichier » alignés
   sur la même ligne de base du texte. */
@media (min-width: 992px) {
    .navbar > .container-fluid,
    .navbar .navbar-collapse {
        align-items: baseline;
    }
}

/* Accueil : bloc d'introduction (2 lignes sous le titre)
   barre verticale bleue à gauche + fond très léger. */
.intro {
    border-left: 4px solid var(--bs-primary);
    background-color: var(--bs-tertiary-bg);
    padding: .5rem 1rem;
    border-radius: 0 var(--bs-border-radius) var(--bs-border-radius) 0;
}

/* Code Prism dans une carte : pas de marge autour du bloc,
   défilement horizontal pour les lignes longues. */
.card-body pre[class*="language-"] {
    margin: 0;
    font-size: .8rem;
}

/* Titres de cartes (balises h2 pour la hiérarchie SEO) :
   même rendu qu'un simple .card-header. */
h2.card-header {
    line-height: var(--bs-body-line-height);
}

/* Images agrandissables (caractères spéciaux) : largeur/hauteur
   déclarées dans le HTML (évite les décalages de mise en page). */
img.zoomable {
    max-width: 100%;
    height: auto;
    cursor: zoom-in;
}
