/*
 * Archives — feuille commune (F-130), charte graphique des Serviteurs de Jésus et de Marie
 * reprise de hotellerie.serviteurs.org (app.css / admin.css) : bleu SJM, or, Oswald pour la navigation
 * et les titres, Roboto pour le texte. Surcharges de Bootstrap 5 uniquement ; polices auto-hébergées
 * (webroot/vendor/fonts, licence OFL), aucun CDN.
 */

/* ------------------------------------------------------------------ polices */
@font-face { font-family: "Roboto"; font-style: normal; font-weight: 300; font-display: swap; src: url("../vendor/fonts/roboto-latin-300-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212, U+FEFF; }
@font-face { font-family: "Roboto"; font-style: normal; font-weight: 300; font-display: swap; src: url("../vendor/fonts/roboto-latin-ext-300-normal.woff2") format("woff2"); unicode-range: U+0100-02AF, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Roboto"; font-style: normal; font-weight: 400; font-display: swap; src: url("../vendor/fonts/roboto-latin-400-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212, U+FEFF; }
@font-face { font-family: "Roboto"; font-style: normal; font-weight: 400; font-display: swap; src: url("../vendor/fonts/roboto-latin-ext-400-normal.woff2") format("woff2"); unicode-range: U+0100-02AF, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Roboto"; font-style: italic; font-weight: 400; font-display: swap; src: url("../vendor/fonts/roboto-latin-400-italic.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212, U+FEFF; }
@font-face { font-family: "Roboto"; font-style: italic; font-weight: 400; font-display: swap; src: url("../vendor/fonts/roboto-latin-ext-400-italic.woff2") format("woff2"); unicode-range: U+0100-02AF, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Roboto"; font-style: normal; font-weight: 500; font-display: swap; src: url("../vendor/fonts/roboto-latin-500-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212, U+FEFF; }
@font-face { font-family: "Roboto"; font-style: normal; font-weight: 500; font-display: swap; src: url("../vendor/fonts/roboto-latin-ext-500-normal.woff2") format("woff2"); unicode-range: U+0100-02AF, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Roboto"; font-style: normal; font-weight: 700; font-display: swap; src: url("../vendor/fonts/roboto-latin-700-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212, U+FEFF; }
@font-face { font-family: "Roboto"; font-style: normal; font-weight: 700; font-display: swap; src: url("../vendor/fonts/roboto-latin-ext-700-normal.woff2") format("woff2"); unicode-range: U+0100-02AF, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Oswald"; font-style: normal; font-weight: 300; font-display: swap; src: url("../vendor/fonts/oswald-latin-300-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212, U+FEFF; }
@font-face { font-family: "Oswald"; font-style: normal; font-weight: 300; font-display: swap; src: url("../vendor/fonts/oswald-latin-ext-300-normal.woff2") format("woff2"); unicode-range: U+0100-02AF, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Oswald"; font-style: normal; font-weight: 400; font-display: swap; src: url("../vendor/fonts/oswald-latin-400-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212, U+FEFF; }
@font-face { font-family: "Oswald"; font-style: normal; font-weight: 400; font-display: swap; src: url("../vendor/fonts/oswald-latin-ext-400-normal.woff2") format("woff2"); unicode-range: U+0100-02AF, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Oswald"; font-style: normal; font-weight: 500; font-display: swap; src: url("../vendor/fonts/oswald-latin-500-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212, U+FEFF; }
@font-face { font-family: "Oswald"; font-style: normal; font-weight: 500; font-display: swap; src: url("../vendor/fonts/oswald-latin-ext-500-normal.woff2") format("woff2"); unicode-range: U+0100-02AF, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* --------------------------------------------------------- charte (jetons) */
:root {
    --sjm-blue: #5782bd;
    --sjm-blue-rgb: 87, 130, 189;
    --sjm-blue-deep: #39557a;
    --sjm-blue-dark: #2c4260;
    --sjm-blue-soft: #eef3fa;
    --sjm-gold: #d1971b;
    --sjm-gold-dark: #aa7610;
    --sjm-ink: #31465f;
    --sjm-muted: #6d7b8d;
    --sjm-line: #dbe3ee;
    --sjm-paper: #ffffff;
    --sjm-bg: #f4f6f9;
    --sjm-shadow: 0 28px 70px rgba(49, 70, 95, .14);
    --sjm-shadow-soft: 0 12px 32px rgba(49, 70, 95, .09);
    --archives-papier: #fbf8f2;            /* fond des transcriptions et vignettes */

    --bs-primary: var(--sjm-blue);
    --bs-primary-rgb: var(--sjm-blue-rgb);
    --bs-body-font-family: "Roboto", Arial, sans-serif;
    --bs-body-font-size: 1rem;
    --bs-body-color: var(--sjm-ink);
    --bs-body-bg: var(--sjm-bg);
    --bs-link-color: var(--sjm-blue-deep);
    --bs-link-color-rgb: 57, 85, 122;
    --bs-link-hover-color: var(--sjm-gold-dark);
    --bs-link-hover-color-rgb: 170, 118, 16;
    --bs-border-color: var(--sjm-line);
    --bs-border-radius: .55rem;
    --bs-border-radius-lg: .85rem;
    --bs-secondary-color: var(--sjm-muted);
    --bs-tertiary-bg: #eef2f7;
}

body {
    min-width: 320px;
    background:
        radial-gradient(circle at 90% 0, rgba(var(--sjm-blue-rgb), .08), transparent 30rem),
        linear-gradient(180deg, #fafbfd 0, var(--sjm-bg) 34rem);
    color: var(--sjm-ink);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

a { text-underline-offset: .16em; }

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: "Oswald", Arial, sans-serif;
    font-weight: 400;
    letter-spacing: .015em;
    color: var(--sjm-blue-dark);
}
main h1, main .h3:first-child { font-weight: 300; }

/* ------------------------------------------------------- en-tête / menu */
.site-header { z-index: 1030; }

.site-navbar {
    min-height: 76px;
    padding: .45rem 0;
    background-color: var(--sjm-blue) !important;
    background-image:
        linear-gradient(90deg, rgba(255, 255, 255, .035), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, .025), rgba(0, 0, 0, .04));
    border-bottom: 3px solid var(--sjm-gold);
    box-shadow: 0 9px 26px rgba(44, 66, 96, .22);
}

.site-navbar .navbar-brand { min-width: 0; margin-right: 1.8rem; padding: .25rem 0; color: #fff; text-decoration: none; }
.site-navbar .navbar-brand:hover, .site-navbar .navbar-brand:focus { color: #fff; }
.brand-logo { display: block; width: auto; height: 42px; max-width: 168px; object-fit: contain; margin-right: 1rem; }
.brand-copy { display: flex; min-width: 0; flex-direction: column; line-height: 1.05; }
.brand-copy strong {
    color: #fff;
    font-family: "Oswald", Arial, sans-serif;
    font-size: clamp(1.1rem, 1.7vw, 1.4rem);
    font-weight: 400;
    letter-spacing: .035em;
    text-transform: uppercase;
    white-space: nowrap;
}
.brand-copy small {
    margin-top: .35rem;
    color: rgba(255, 255, 255, .78);
    font-size: .66rem;
    letter-spacing: .09em;
    text-transform: uppercase;
    white-space: nowrap;
}

.site-navbar .nav-link,
.btn-nav-outline,
.btn-nav-light {
    font-family: "Oswald", Arial, sans-serif;
    font-size: 1rem;
    font-weight: 300;
    letter-spacing: .055em;
    text-transform: uppercase;
}
.site-navbar .nav-link {
    position: relative;
    margin: .1rem .3rem;
    padding: .7rem .6rem !important;
    color: #fff !important;
    opacity: .95;
}
.site-navbar .nav-link::before {
    content: "";
    position: absolute;
    right: .6rem;
    bottom: .4rem;
    left: .6rem;
    height: 2px;
    background: var(--sjm-gold);
    opacity: 0;
    transform: scaleX(.3);
    transition: opacity .18s ease, transform .18s ease;
}
.site-navbar .nav-link:hover, .site-navbar .nav-link:focus { opacity: 1; }
.site-navbar .nav-link:hover::before,
.site-navbar .nav-link:focus::before,
.site-navbar .nav-link.show::before { opacity: 1; transform: scaleX(1); }

.site-navbar .dropdown-menu {
    min-width: 16rem;
    max-height: calc(100vh - 95px);
    overflow-y: auto;
    border: 1px solid rgba(49, 70, 95, .15);
    border-radius: .5rem;
    box-shadow: 0 14px 32px rgba(36, 52, 72, .17);
}
.site-navbar .dropdown-item { padding: .45rem .9rem; color: var(--sjm-ink); font-size: .9rem; }
.site-navbar .dropdown-item:hover, .site-navbar .dropdown-item:focus { color: var(--sjm-blue-deep); background: var(--sjm-blue-soft); }
.site-navbar .dropdown-menu form { margin: 0; }
.site-navbar .dropdown-menu form .dropdown-item { width: 100%; text-align: left; background: transparent; border: 0; }

.btn-nav-outline, .btn-nav-light { padding: .5rem .9rem; border-radius: .45rem; transition: all .18s ease; }
.btn-nav-light { color: var(--sjm-blue-deep); background: #fff; border: 1px solid #fff; }
.btn-nav-light:hover, .btn-nav-light:focus { color: #fff; background: var(--sjm-gold); border-color: var(--sjm-gold); }
.btn-nav-outline { color: #fff; background: transparent; border: 1px solid rgba(255, 255, 255, .76); }
.btn-nav-outline:hover, .btn-nav-outline:focus { color: var(--sjm-blue-deep); background: #fff; border-color: #fff; }

/* champ de recherche du bandeau */
.site-navbar .recherche-bandeau .form-control {
    min-height: 2.4rem;
    color: #fff;
    background: rgba(255, 255, 255, .12);
    border-color: rgba(255, 255, 255, .45);
}
.site-navbar .recherche-bandeau .form-control::placeholder { color: rgba(255, 255, 255, .75); }
.site-navbar .recherche-bandeau .form-control:focus { background: #fff; color: var(--sjm-ink); }
.site-navbar .navbar-toggler { padding: .55rem; }

/* -------------------------------------------------------------- contenu */
.site-main { min-width: 0; }

.card {
    border-color: var(--sjm-line);
    box-shadow: var(--sjm-shadow-soft);
}
.card-title {
    color: var(--sjm-blue-deep);
    font-family: "Oswald", Arial, sans-serif;
    font-weight: 300;
    letter-spacing: .015em;
}

.btn { border-radius: .45rem; }
.btn-primary {
    --bs-btn-bg: var(--sjm-blue);
    --bs-btn-border-color: var(--sjm-blue);
    --bs-btn-hover-bg: var(--sjm-blue-deep);
    --bs-btn-hover-border-color: var(--sjm-blue-deep);
    --bs-btn-active-bg: var(--sjm-blue-dark);
    --bs-btn-active-border-color: var(--sjm-blue-dark);
    --bs-btn-disabled-bg: var(--sjm-blue);
    --bs-btn-disabled-border-color: var(--sjm-blue);
}
.btn-outline-primary {
    --bs-btn-color: var(--sjm-blue-deep);
    --bs-btn-border-color: var(--sjm-blue);
    --bs-btn-hover-bg: var(--sjm-blue);
    --bs-btn-hover-border-color: var(--sjm-blue);
    --bs-btn-active-bg: var(--sjm-blue-deep);
    --bs-btn-active-border-color: var(--sjm-blue-deep);
}
.btn-sjm {
    padding: .7rem 1.4rem;
    color: #fff;
    background: var(--sjm-blue);
    border: 1px solid var(--sjm-blue);
    font-family: "Oswald", Arial, sans-serif;
    font-size: 1.05rem;
    font-weight: 300;
    letter-spacing: .055em;
    text-transform: uppercase;
    box-shadow: 0 10px 22px rgba(var(--sjm-blue-rgb), .18);
}
.btn-sjm:hover, .btn-sjm:focus { color: #fff; background: var(--sjm-blue-deep); border-color: var(--sjm-blue-deep); }
.text-bg-primary { background-color: var(--sjm-blue) !important; }
.badge.text-bg-secondary { background-color: var(--sjm-blue-deep) !important; }
.nav-tabs .nav-link.active { color: var(--sjm-blue-dark); border-bottom-color: var(--bs-body-bg); }
.nav-tabs .nav-link { color: var(--sjm-blue-deep); }
.page-link { color: var(--sjm-blue-deep); }
.active > .page-link, .page-link.active { background-color: var(--sjm-blue); border-color: var(--sjm-blue); }
.breadcrumb { font-size: .88rem; }

.form-label { color: var(--sjm-blue-deep); font-size: .9rem; font-weight: 500; }
.form-control, .form-select { border-color: #cbd6e4; color: var(--sjm-ink); }
.form-control::placeholder { color: #9aa6b4; opacity: 1; }
.form-check-input { border: 1.5px solid #657b92; }
.form-control:focus, .form-select:focus, .form-check-input:focus {
    border-color: var(--sjm-blue);
    box-shadow: 0 0 0 .22rem rgba(var(--sjm-blue-rgb), .13);
}
.form-check-input:checked { background-color: var(--sjm-blue); border-color: var(--sjm-blue); }

.alert {
    border: 0;
    border-left: 4px solid currentColor;
    border-radius: .55rem;
    box-shadow: 0 6px 18px rgba(49, 70, 95, .06);
}

.table { --bs-table-bg: transparent; }
.table > thead th {
    color: var(--sjm-blue-dark);
    font-family: "Oswald", Arial, sans-serif;
    font-weight: 400;
    font-size: .86rem;
    letter-spacing: .04em;
    text-transform: uppercase;
    border-bottom-color: var(--sjm-blue);
}
.table-striped > tbody > tr:nth-of-type(odd) > * { --bs-table-bg-type: rgba(var(--sjm-blue-rgb), .045); }
.table-hover > tbody > tr:hover > * { --bs-table-bg-state: #fbf6ea; }

/* --------------------------------------------------------------- connexion */
.auth-shell {
    position: relative;
    overflow: hidden;
    max-width: 62rem;
    margin: 1rem auto 2rem;
    background: var(--sjm-paper);
    border: 1px solid rgba(var(--sjm-blue-rgb), .20);
    border-radius: 1.15rem;
    box-shadow: var(--sjm-shadow);
}
.auth-shell::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    z-index: 5;
    height: 4px;
    background: linear-gradient(90deg, var(--sjm-gold), #edb62e 30%, var(--sjm-blue) 72%);
}
.auth-form-panel { padding: clamp(1.75rem, 4vw, 3.5rem); }
.section-kicker { color: var(--sjm-blue); font-family: "Oswald", Arial, sans-serif; font-size: .85rem; letter-spacing: .12em; text-transform: uppercase; }
.auth-title {
    color: var(--sjm-blue-deep);
    font-family: "Oswald", Arial, sans-serif;
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 300;
    line-height: 1.05;
    text-transform: uppercase;
}
.auth-lead { color: var(--sjm-muted); }
.auth-form-panel .form-control { min-height: 3.2rem; }
.auth-aside {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 15% 5%, rgba(255, 255, 255, .12), transparent 23rem),
        linear-gradient(145deg, var(--sjm-blue-deep), var(--sjm-blue) 62%, #6b94ca);
    color: #fff;
}
.auth-aside::after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: -90px;
    width: 260px;
    height: 260px;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 50%;
    box-shadow: 0 0 0 38px rgba(255, 255, 255, .035), 0 0 0 78px rgba(255, 255, 255, .025);
}
.auth-aside-content { position: relative; z-index: 2; padding: clamp(1.75rem, 4vw, 3.5rem); }
.auth-logo { display: block; width: min(190px, 62%); height: auto; padding: .9rem; background: #fff; border-radius: .9rem; filter: drop-shadow(0 8px 18px rgba(24, 39, 57, .18)); }
.auth-aside-title { color: #fff; font-family: "Oswald", Arial, sans-serif; font-size: clamp(1.8rem, 3vw, 2.6rem); font-weight: 300; line-height: 1.1; text-transform: uppercase; }
.auth-aside-text { color: rgba(255, 255, 255, .86); }

/* mot de passe oublié, réinitialisation : carte étroite */
.carte-connexion { max-width: 30rem; margin-top: 1rem; border-top: 4px solid var(--sjm-gold); }

/* page d'erreur : même bandeau */
.bg-archives { background-color: var(--sjm-blue) !important; border-bottom: 3px solid var(--sjm-gold); }

/* -------------------------------------------------------------- pied de page */
.site-footer { color: #758194; background: #fff; border-top: 1px solid var(--sjm-line); }
.footer-logo { width: auto; height: 34px; opacity: .9; }
.footer-title { color: var(--sjm-blue-deep); font-family: "Oswald", Arial, sans-serif; font-size: .95rem; letter-spacing: .035em; text-transform: uppercase; }
.footer-copy { font-size: .8rem; }

/* -------------------------------------------------- matrice des droits */
.matrice { font-size: .9rem; }
.matrice thead th { position: sticky; top: 0; background: var(--bs-body-bg); z-index: 1; }
.matrice td.droit { text-align: center; width: 6rem; }
.matrice td.droit .form-check-input { float: none; margin: 0; }
.matrice td.droit.verrouille .form-check-input { opacity: .5; }

/* ------------------------------------------------------ menu du plan (F-21) */
.plan-colonne { background: rgba(255, 255, 255, .7); border-color: var(--sjm-line) !important; }
@media (min-width: 992px) {
    .plan-colonne .offcanvas-lg { position: sticky; top: calc(76px + 1rem); max-height: calc(100vh - 76px - 2rem); overflow-y: auto; }
}
.plan-colonne h2 { font-family: "Oswald", Arial, sans-serif; letter-spacing: .08em; color: var(--sjm-blue) !important; }
.plan { font-size: .875rem; }
.plan li { margin: .125rem 0; }
.plan-lien { text-decoration: none; color: var(--sjm-ink); }
.plan-lien:hover, .plan-lien:focus { color: var(--sjm-blue-deep); text-decoration: underline; }
.plan-lien.active { color: var(--sjm-blue-dark); font-weight: 600; box-shadow: inset 3px 0 0 var(--sjm-gold); padding-left: .3rem; }
.plan-cote { font-weight: 600; font-variant-numeric: tabular-nums; color: var(--sjm-blue-deep); }
.plan-bascule { width: 1.1rem; line-height: 1.2; color: var(--bs-secondary-color); }
.plan-bascule .bi { display: inline-block; transition: transform .15s; }
.plan-bascule:not(.collapsed) .bi { transform: rotate(90deg); }
.plan-bascule-vide { display: inline-block; width: 1.1rem; flex: none; }

/* ------------------------------------------- plan (accueil), notices, galerie */
.arbre-niveau-1 { padding-left: 1.5rem !important; }
.arbre-niveau-2 { padding-left: 3rem !important; }
.arbre-niveau-3 { padding-left: 4.5rem !important; }
.galerie img { width: 100%; height: 150px; object-fit: contain; background: var(--archives-papier); }
.galerie .ratio-vignette { border: 1px solid var(--bs-border-color); border-radius: var(--bs-border-radius); background: #fff; }
.texte-transcription { font-family: Georgia, "Times New Roman", serif; line-height: 1.7; }
.texte-transcription p { margin-bottom: .5rem; }
.metadonnees dt { color: var(--sjm-muted); font-weight: 500; }

/* lecture des lettres : papier, typographie de livre */
.lettre {
    max-width: 48rem;
    margin: 0 auto;
    padding: 2rem 2.5rem;
    font-family: Georgia, "Times New Roman", serif;
    line-height: 1.7;
    background: var(--archives-papier);
    border: 1px solid var(--bs-border-color);
    border-radius: .6rem;
    box-shadow: var(--sjm-shadow-soft);
}
.registre th, .registre td { font-size: .85rem; }

/* liste de notices : sur petit écran le tableau défile au lieu de s'écraser */
.liste-notices td.objet { min-width: 16rem; }

/* recherche (F-82, F-85) : mots trouvés surlignés dans les extraits */
.resultats-recherche .extrait, .table td.small { line-height: 1.55; }
.resultats-recherche .card { box-shadow: none; }
.resultats-recherche .card:hover { border-color: rgba(var(--sjm-blue-rgb), .45); box-shadow: 0 10px 24px rgba(49, 70, 95, .09); }
mark { padding: 0 .1em; border-radius: .15rem; background-color: #fbe7b5; color: inherit; }

/* ------------------------------------------------------------ petits écrans */
.site-navbar .nav-link { white-space: nowrap; }
@media (min-width: 992px) and (max-width: 1399.98px) {
    /* barre dépliée mais compacte (comme hotellerie entre 992 et 1399 px) */
    .brand-copy small { display: none; }
    .site-navbar .navbar-brand { margin-right: 1rem; }
    .brand-logo { height: 36px; margin-right: .7rem; }
    .site-navbar .nav-link { margin: .1rem .1rem; padding: .6rem .45rem !important; font-size: .92rem; }
    .site-navbar .recherche-bandeau .form-control { width: 11rem; }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
    .brand-logo { display: none; }
}
@media (max-width: 991.98px) {
    .site-navbar .navbar-collapse { padding: .5rem 0 1rem; }
    .site-navbar .nav-link::before { display: none; }
    .brand-copy small { display: none; }
}
@media (max-width: 575.98px) {
    .brand-logo { height: 34px; margin-right: .6rem; }
    .lettre { padding: 1.25rem 1rem; }
}

/* ---------------------------------------------------------------- impression */
@media print {
    nav, footer, .no-print, .btn, .site-header { display: none !important; }
    body { background: #fff; }
    main { padding: 0 !important; }
    .plan-colonne { display: none !important; }
    .card { box-shadow: none; }
    .lettre { border: none; padding: 0; max-width: none; box-shadow: none; }
    a[href]::after { content: none !important; }
}
