/* Booton en WOFF2, déclarée après kiwi.css pour remplacer ses TTF. Le sous-ensemble latin, déclaré en dernier, sert au texte courant ;
   la police complète ne se télécharge que pour un autre caractère. font-display: swap affiche le texte sans attendre la police. */
@font-face {
    font-family: "booton";
    src: url("../fonts/Booton-Regular-VudI99M.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "booton";
    src: url("../fonts/Booton-Medium-3sgnkqs.woff2") format("woff2");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "booton";
    src: url("../fonts/Booton-SemiBold-Cc-bVJM.woff2") format("woff2");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "booton";
    src: url("../fonts/Booton-Regular-latin-jCJKyfN.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "booton";
    src: url("../fonts/Booton-Medium-latin-STaohIE.woff2") format("woff2");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "booton";
    src: url("../fonts/Booton-SemiBold-latin-uRNlRcG.woff2") format("woff2");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

.bandeau-apercu {
    position: sticky;
    top: 0;
    z-index: 1000;
    padding: .5rem 1rem;
    background: #ffc107;
    color: #000;
    font: 600 .9rem/1.4 sans-serif;
    text-align: center;
}

/* Bandeau du footer : l'animation Lottie occupe le fond, le contenu passe devant */
.lotti-kiwi-footer {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
}

footer .banniere-footer,
footer .banniere-footer * {
    position: relative;
    z-index: 1;
}

.liens-legaux {
    gap: 0 15px;
}

/* Sélecteur de langue du header */
.mega-menu .langue .nav-link {
    font-weight: 600;
}

/* Chevron du menu : le thème le tirait de Font Awesome, qui n'est pas chargé */
.mega-menu .page-1 .nav-link.dropdown-toggle::after {
    content: "";
    width: 0.75rem;
    height: 0.75rem;
    align-self: center;
    background-color: currentColor;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1.5 4l4.5 4.5L10.5 4' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 0.75rem no-repeat;
}

/* Le thème cible div#main ; le contenu est ici dans un <main> */
main#main {
    position: relative;
}

/* Hero d'accueil : l'animation Lottie en fond, le contenu devant */
.lotti-kiwi-acc {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
}

.banniere-accueil > article {
    z-index: 1;
    overflow: visible;
}

.banniere-accueil .container,
.banniere-accueil .container * {
    position: relative;
    z-index: 1;
}

/* Un texte d'un seul paragraphe s'affiche comme un texte libre du thème, sans marge finale ;
   les cartes de l'aperçu, saisies en paragraphes sur le site actuel, gardent la leur */
:is(.post-content, .accordion-body):not(.marges-paragraphes) > p:only-child {
    margin-bottom: 0;
}

/* Tableau saisi en Markdown : texte en 14 px sur la hauteur de ligne du thème, en-tête aligné en haut */
.post-tableau thead {
    vertical-align: top;
}

.post-tableau th,
.post-tableau td {
    font-size: 14px;
    line-height: 1.5rem;
    color: var(--sombre);
}

/* Icônes reprises de Font Awesome (SVG en ligne, à la taille du texte comme la police d'origine) */
.icone-fa {
    box-sizing: content-box;
    width: 0.875em;
    height: 1em;
    vertical-align: -0.125em;
}

/* Chronologie : colonne de titre collante sous le header, listes en retrait (styles en ligne du thème) */
.composant-historique .sticky-lg-top {
    top: 100px;
}

.historique-item ul {
    margin-left: 20px;
}

/* Icône carrée (loupe de la recherche du blog) */
.btn-ok-search .icone-fa {
    width: 1em;
}

/* Formulaire RGPD : sur le site actuel, ses libellés s'affichent comme du texte courant */
.form-dp .form-label {
    display: block;
    margin-bottom: 0;
    padding-left: 0.25em;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5rem;
    text-transform: none;
}

/* Blocs de code des articles : le style que les rédacteurs appliquaient à la main sur le site actuel */
.blog-detail-billet pre {
    background-color: #5b5650;
    color: #f8f8f2;
    padding: 15px;
    border-radius: 5px;
    font-family: 'Courier New', Courier, monospace;
    overflow-x: auto;
}
.blog-detail-billet pre code {
    color: inherit;
    font-family: inherit;
}
