body {
    overflow-x: hidden;
}
header > img {
    position: absolute;
}
#headerImg {
    width: 8%;
    position: absolute;
    margin-top: -20px;
    max-width: 130px;
}
.header-background {
    /*background: url("../images/cuisine/plat-6-Zn2mC2e.png");*/
    /*background-position: center 150px;*/
    /*background-size: cover;*/
    /*background-repeat: no-repeat;*/
    /*height: 700px;*/
    /*position: relative;*/
    /*z-index: 2;*/
}
.header-background h1 {
    position: relative;
    z-index: 2;
}
.golden-background {
    background-color: #dac373;
    z-index: 1;
    margin-top: -250px;
    padding: 250px 50px 0 50px;
}
.golden-background-blog {
    background-color: #dac373;
    z-index: 1;
    margin-top: -150px;
    padding: 150px 50px 0 50px;
}
.white-background {
    z-index: 2;
    background-color: #fff;
    margin-top: -180px;
    padding: 50px 50px 0 50px;
}
.white-background-blog {
    z-index: 2;
    background-color: #fff;
    margin-top: -10px;
    padding: 50px 50px 0 50px;
}
footer {
    background-color: #1B1E1F;
    color: #FFFFFF;
    margin-top: -100px;
    padding: 250px 50px 0 50px;
    margin-bottom: -25px
}
.display-inline {
    display: inline;
}
.headerBackgroundImage {
    z-index: 1;
    width: 100%;
    height: 550px;
    overflow: hidden;
    position: relative;
    margin-top: -145px;
    border-radius: 20px;
}
.headerBackgroundImageBlog {
    z-index: 1;
    width: 100%;
    height: 250px;
    overflow: hidden;
    position: relative;
    margin-top: -66px;
    border-radius: 20px;
}
.headerBackgroundImage img {
    width: 100%;
    height: inherit;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 20px;
}
.socialNetworkFooterLink {
    margin-left: 10px;
    color: #fff !important;
}
@font-face {
    font-family: 'ACaslonPro-Bold';
    src: url("../fonts/ACaslonPro-Bold-SXQuFri.otf") format('opentype');
}

@font-face {
    font-family: 'Almarena-Mono-Bold';
    src: url("../fonts/Almarena-Mono-Bold-S3GpszB.otf") format('opentype');
}

@font-face {
    font-family: 'Almarena-Mono-Light';
    src: url("../fonts/Almarena-Mono-Light-xNYKGIg.otf") format('opentype');
}

@font-face {
    font-family: 'TIMMONSNY';
    src: url("../fonts/TIMMONSNY-zY8s7-j.ttf") format('truetype');
}

h1 {
    font-family: 'TIMMONSNY', serif;
    font-size: 15em;
    color: #1B1E1F;
    margin-top: -30px;
}
h2 {
    font-family: 'TIMMONSNY', serif;
    font-size: 8em;
    color: #e42223 !important;
}
.footer-title {
    color: #fff !important;
    font-size: 1em;
    font-family: 'Almarena-Mono-Light', sans-serif;
    letter-spacing: 2px;
    margin-bottom: 30px;
}
.rounded {
    border-radius: 20px !important;
}
.kitchen-presentation {
    padding: 0 100px;
    font-size: 1.5em;
    font-family: 'Arial', sans-serif;
    font-weight: bold;
    line-height: 1.3;
}
#img-decoration-2 {
    margin-top: 75px;
}
.about h3, p {
    font-family: 'Almarena-Mono-Light', sans-serif;
    letter-spacing: 2px;
    line-height: 2;
    font-size: 1em;
}
.red-mention {
    display: block;
    color: #e42223 !important;
    font-family: 'Almarena-Mono-Bold', serif;
    font-size: 2rem;
    letter-spacing: 4px;
    margin-top: -23px;
    position: relative;
    z-index: 3;
}
.short-icon-mofusan {
    width: 20%;
    margin-left: 30px;
}
.mt-0 {
    margin-top: 0;
}
.mt-80 {
    margin-top: 80px;
}
.mr-50 {
    margin-right: 50px;
}
.pl-50 {
    padding-left: 50px;
}
.pb-50 {
    padding-bottom: 50px !important;
}
.border-bottom, .desktop-border-bottom {
    border-bottom: #1B1E1F 2px solid !important;
}
.nav-link {
    color: #000;
    font-weight: 600;
}
.px-2 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
}
.link-secondary {
    color: #e42223 !important;
}
.btn-outline-primary {
    color: #1B1E1F;
    font-weight: 700;
    letter-spacing: 1.5px;
    border: #1B1E1F 2px solid;
    border-radius: 10px;
}
#hauteCuisineBadge {
    display: block;
    position: absolute;
    margin-top: -65px;
}
.footer-bottom-content {
    font-family: Arial,sans-serif !important;
    letter-spacing: .5px;
}
.footer-bottom-content p {
    font-family: Arial,sans-serif !important;
    letter-spacing: .5px;
    font-size: .8em;
}
.link-body-emphasis {
    color: #fff !important;
    text-decoration: none !important;
    font-size: .8em;
}
.link-body-emphasis:hover {
    color: #fff !important;
}
.footer-bottom-content a {
    color: #D9C372;
    text-decoration: none;
}
.footer-bottom-content a:hover {
    color: #D9C372;
    text-decoration: underline;
}
#footerFont ul li a {
    color: #fff !important;
    font-family: 'Arial', sans-serif;
    font-weight: 300;
}
.footer-sub-title {
    font-size: .8em;
    font-weight: 500;
    color: #fff !important;
    margin-bottom: 35px;
    font-family: 'Arial', sans-serif !important;
}
.footer-content {
    font-family: 'Arial', sans-serif !important;
    font-weight: 600;
    line-height: 25px;
    letter-spacing: 1px;
}
.footer-content a {
    color: #fff;
    text-decoration: none;
}
.footer-picture {
    width: 300px;
    height:300px
}
.btn-outline-primary-white {
    display: inline;
    border: 2px solid #fff;
    color: #fff;
    font-family: 'Almarena-Mono-Bold', serif;
    border-radius: 10px;
    font-weight: 700;
    letter-spacing: 1.5px;
    padding-left: 20px;
    padding-right: 20px;
}
.btn-outline-primary-white:hover {
    border: 2px solid #fff;
    color: #1B1E1F;
    background-color: #fff;
}
.btn-outline-primary {
    padding-left: 20px;
    padding-right: 20px;
}
.btn-outline-primary:hover {
    border: 2px solid #1B1E1F;
    color: #fff;
    background-color: #1B1E1F;
}
.btn-outline-primary:active {
    border: 2px solid #1B1E1F !important;
    color: #fff !important;
    background-color: #1B1E1F !important;
}
.btn-outline-primary:focus {
    border: 2px solid #1B1E1F !important;
    color: #fff !important;
    background-color: #1B1E1F !important;
}
#inkBackground1 {
    position: absolute;
    right: 0;
    margin-top: -120px;
    margin-right: -100px;
    width: 35%;
}
#inkBackground2 {
    position: absolute;
    left: 0;
    margin-top: -120px;
    margin-left: -100px;
    width: 35%;
}
#img-decoration-2 {
    margin-top: 3rem;
}
.align-right {
    text-align: right;
}
.nav-link:hover {
    color: #e42223;
}
.link-secondary:hover {
    color: #000 !important;
}
.mb-40 {
    margin-bottom: 40px;
}
.mt-40 {
    margin-top: 40px;
}
.img-profile {
    max-height: 500px;
    object-fit: cover;
    object-position: top;
}
@media screen and (max-width: 767px) {
    #headerImg {
        position: relative;
        margin-top: 0;
        width: 20%;
        margin-left: 40%;
    }
    .header-background-image {
        margin-top: 58px;
    }

    #inkBackground1, #inkBackground2 {
        display: none;
    }
    .bookButton {
        float: left !important;
        margin-bottom: 25px;
        margin-top: 20px !important;
    }
    #firstSpan {
        float: left !important;
        margin-bottom: 0 !important;
        margin-top: 0 !important;
    }
    #secondSpan {
        float: left !important;
        margin-bottom: 0 !important;
        margin-top: 15px !important;
    }
    #secondPresentation1 {
        order: 2;
    }
    #secondPresentation2 {
        order: 1;
    }
    .pr-0 {
        padding-right: 0 !important;
    }
    .container, .container-sm {
         max-width: none;
    }
    .containerHeader {
        padding-left: 0 !important;
    }
    .me-2 {
         margin-right: 0 !important;
    }
    .mt-80 {
        margin-top: 25px;
    }
    .mobile-mt-40 {
        margin-top: 40px;
    }
    .mobile-mt-80 {
        margin-top: 80px;
    }
    .mobile-mt-75 {
        margin-top: 75px;
    }
    .mobile-mt-240 {
        margin-top: 90px;
    }
    .desktop-border-bottom {
        border-bottom: none !important;
    }
    .mobile-display-none {
        display: none;
    }
    h1 {
        font-size: 8em;
        margin-top: -15px;
    }
    h2 {
        font-size: 5em;
    }
    #img-decoration-2 {
        margin-top: 40px;
    }
    .kitchen-presentation {
        padding: 0;
        font-size: 1.2em;
        margin-bottom: -20px;
    }
    #cuisine-restaurant-bistronomique-lyon-mofusan {
        text-align: center;
    }
    .footer-picture {
        margin-top: 40px;
        width: 90%;
        margin-left: 5%;
        height: auto;
    }
    .prml-0 {
        margin-right: 0 !important;
        padding-right: 0 !important;
    }
    .footerButton {
        display: block;
        width: 60%;
        margin-bottom: 10px;
    }
    footer {
        padding-top: 100px;
    }
    #footerFont {
        margin-top: 30px;
    }
    .footer-bottom-content a {
        display: inline-block;
    }
    .desktop-text-end {
        text-align: center !important;
    }
}
@media screen and (min-width: 768px) and (max-width: 991px) {
    .desktop-text-end {
        text-align: right !important;
        width: 100% !important;
    }
    #inkBackground1 {
        display: none;
    }
}
@media screen and (min-width: 992px) and (max-width: 1199px) {
    .desktop-text-end {
        text-align: right !important;
        /*width: 100% !important;*/
    }
}
@media screen and (min-width: 2000px) {
    .desktop-text-end {
        text-align: right !important;
        /*width: 100% !important;*/
    }
}
@media screen and (min-width: 768px) {
    .col-md-6, .col-6 {
        width: 45%;
        margin-right: 2.5%;
        margin-left: 2.5%;
    }
    .pt-170 {
        padding-top: 175px;
    }
    .mln-100 {
        margin-left: -100px;
    }
    .mln-250 {
        margin-left: -250px;
    }
    .mln-180 {
        margin-left: -180px;
    }
    .mln-110 {
        margin-left: -110px;
    }
    .mln-40 {
        margin-left: -40px;
    }
    .mln-30 {
        margin-left: -30px;
    }
    .ml-40 {
        margin-left: 40px;
    }
    .ml-110 {
        margin-left: 110px;
    }
    .mobile-mt-240 {
        margin-top: -50px;
    }
    #cuisine-restaurant-bistronomique-lyon-mofusan {
        margin-top: 20px;
    }
}
.articleTitle {
    font-size: 6em !important;
}
.lire-article-title {
    font-size: 4em;
}
.blog-picture {
    height: 250px !important;
    object-fit: cover;
}
/* --- Sélecteur de langue (drapeaux, dernier élément du menu) --- */
.language-switcher-item,
.language-switcher {
    /* Sans cela, le menu saturé rétrécit le sélecteur jusqu'à le faire
       disparaître : c'est le seul élément sans largeur minimale de contenu. */
    flex: 0 0 auto;
}
.language-switcher {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
/* Un seul drapeau est affiché, celui de la langue vers laquelle on bascule :
   c'est une action, donc pleine couleur. Le liseré reste neutre et discret,
   juste pour détacher les bandes blanches des drapeaux du fond blanc. */
.language-switcher-flag {
    flex: 0 0 auto;
    display: inline-flex;
    line-height: 0;
    border-radius: 2px;
    overflow: hidden;
    text-decoration: none;
    box-shadow: 0 0 0 1px rgba(27, 30, 31, .15);
    transition: opacity .15s ease-in-out;
}
/* Dimensions explicites : une largeur « auto » n'offrirait aucun plancher au
   flex du menu, qui écraserait le drapeau quand la place vient à manquer. Les
   deux drapeaux partagent le même gabarit 3:2, donc la même règle. */
.language-switcher-flag svg {
    display: block;
    width: 30px;
    height: 20px;
}
a.language-switcher-flag:hover,
a.language-switcher-flag:focus-visible {
    opacity: .7;
}
@media screen and (max-width: 767px) {
    .language-switcher {
        margin-top: 8px;
    }
    .language-switcher-flag svg {
        width: 36px;
        height: 24px;
    }
}

/* --- Badge Restaurant Guru (pied de page, sous « Nous suivre ») --- */
/* Deux sortes de règles. Celles qui annulent les styles globaux du site restent
   peu spécifiques, pour ne jamais prendre le pas sur Restaurant Guru. Celles qui
   corrigent leur feuille de style, chargée après celle-ci (dans le pied de
   page), ont besoin de #b-rcircle préfixé de .restaurant-guru-badge pour l'emporter. */

/* Le badge force `margin: 0 !important` sur lui-même : l'espacement se règle
   donc sur son conteneur. */
.restaurant-guru-badge {
    margin-top: 30px;
}
/* La règle globale des <p> faisait sortir l'année dans la police du site et
   espaçait trop les lettres de « Recommandé ». */
.restaurant-guru-badge p {
    font-family: inherit;
    letter-spacing: inherit;
}
/* Bootstrap aligne les <svg> au milieu de la ligne : le texte courbe
   « Restaurant Guru » descendait de 4px et mordait sur les lauriers. */
.restaurant-guru-badge svg {
    vertical-align: baseline;
}
/* La boîte du badge (150 à 170px) est plus large que son dessin (148px), centré
   dedans : il apparaissait décalé de 10px par rapport aux liens au-dessus. */
.restaurant-guru-badge #b-rcircle {
    min-width: 0;
    max-width: 148px;
}
/* Bug de la variante blanche de Restaurant Guru : un `filter: invert(1)` passe
   en noir le texte « Restaurant Guru », qu'ils ont pourtant rempli en blanc. Il
   devenait invisible sur un fond sombre. */
.restaurant-guru-badge #b-rcircle:not(.b-rcircle_black) .b-rcircle_heading__link {
    filter: none;
}
/* Sur le fond sombre, le rouge de « Recommandé » (#972428) n'offre qu'un
   contraste de 2:1 : on l'affiche en blanc, comme le reste du pied de page. La
   variante blanche prévoit bien un bandeau blanc, mais Restaurant Guru colore
   directement le paragraphe en rouge, ce qui l'emporte sur le blanc hérité. On
   vise tous les paragraphes du bandeau, au cas où un futur badge afficherait
   son texte sur deux lignes. */
.restaurant-guru-badge #b-rcircle:not(.b-rcircle_black) .b-rcircle_bottom p {
    color: #fff;
}

/* --- Page Presse --- */
.press-media {
    color: #DAC373;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}
.press-picture {
    height: 250px !important;
    object-fit: cover;
}
