:root {
    /* --color_blanc: #FFFDF5;
    --color_creme: #FFF8ED;
    --color_noir: rgb(1, 1, 1);
    --color_rouge: #B60E0D;
    --color_jaune: #EDC25C;
    --color_vert: #6FA033;
    --color_texte: #5F1212;
    --color_bleu: #61A0AF;
    --color_jaune-hover: #fff2c6;
    --color_gris_fonce: #222222;
    --color_menu: var(--color_jaune);
    --filter_jaune: brightness(0) saturate(100%) invert(84%) sepia(12%) saturate(1935%) hue-rotate(350deg) brightness(97%) contrast(91%);
    --filter_noir: brightness(0) saturate(100%); */


    --color_blanc: #FFFDF5;
    --color_creme: #F5E6C8;
    --color_noir: #2B2B2B;

    --color_jaune: #D9B24C;
    --color_vert: #7FAE3B;
    --color_brun: #5A3E2B;

    --color_rouge: #5A3E2B;
    --color_bleu: #7FAE3B;
    --color_texte: #4A3426;
    --color_jaune-hover: #E8CC7A;
    --color_gris_fonce: #4A3426;
    --color_brun_fonce: #4A3426;
    --color_vert_doux: #93B85C;

    --color_menu: var(--color_jaune);

    --filter_jaune: brightness(0) saturate(100%) invert(73%) sepia(33%) saturate(566%) hue-rotate(10deg) brightness(92%) contrast(90%);
    --filter_noir: brightness(0) saturate(100%);

    --filter_brun: brightness(0) saturate(100%) invert(26%) sepia(20%) saturate(1012%) hue-rotate(350deg) brightness(94%) contrast(90%);
    --filter_vert: brightness(0) saturate(100%) invert(58%) sepia(27%) saturate(769%) hue-rotate(49deg) brightness(92%) contrast(87%);

    --padding_LR: 9.3vw;
    --padding_LR-services: 5vw;
    --header_height: 80vh;
    --navbar_height: 80px;
    --width_services: 192px;
    --swiper-theme-color: var(--color_jaune);
    --swiper-pagination-bullet-inactive-color: var(--color_jaune);
    --swiper-pagination-bullet-width: 13px;
    --swiper-pagination-bullet-height: 13px;
    --swiper-pagination-bullet-horizontal-gap: 12px;

    --font_principal: 'Poppins', sans-serif;
    --font_titres: 'Merienda', cursive;
}

body {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: var(--font_principal);
    background-color: var(--color_creme);
    background-image: url('/themes/jvflex/assets/images/background-fromagerie.webp');
    background-repeat: repeat;
    background-size: 35%; /* au lieu de 50% */
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    background: var(--color_creme); /* ta couleur de fond */
    opacity: 0.35; /* ajuste ici */
    pointer-events: none;
    z-index: -1;
}

body.no-scroll {
    overflow: hidden;
}

* {
    box-sizing: border-box;
}

.jvflex {
    position: fixed;
    z-index: 9999;
    top: 70px;
    left: 16px;
}

.jvflex>a {
    border-radius: 24px;
    cursor: pointer;
    display: block;
    height: 48px;
    line-height: 48px;
    opacity: .9;
    position: absolute;
    text-align: center;
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    speak: none;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    width: 48px;
    background: url("/themes/jvflex/assets/images/theme-preview.png"), #f8f6f5;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    box-shadow: 0px 0px 3px 1px rgb(0 0 0 / 30%);
}

.swiper-pagination-bullet{
    border: 1.5px solid var(--swiper-pagination-bullet-inactive-color);
    background-color: unset;
    opacity: unset;
}
.swiper-pagination-bullet-active {
    background-color: var(--swiper-pagination-bullet-inactive-color);
}

img {
    display: block;
    max-width: 100%;
}

.img_fit {
    object-fit: cover;
    object-position: center;
}
.img_full {
    width: 100%;
    height: 100%;
    position: absolute;
}
section.full,
.section-full {
    margin: 0 calc(-1 * var(--padding_LR));
    padding: 0 var(--padding_LR);
    max-width: unset;
}
section+section {
    margin-top:5vh;
}
h1 {
    margin: 0;
    font-weight: 700;
    font-size: 64px;
    line-height: 1.15;
}
.title-container {
    text-align: center;
}
.title {
    font-weight: 700;
    font-size: 3.75rem;
    text-align: center;
    color: var(--color_texte);
    display: inline-block;
    margin: 2rem 0;
}
.title::after {
    content:"";
    margin-top: 2px;
    width: 100%;
    height: 25px;
    display: block;
    background-size: contain;
    background-repeat: no-repeat;
    background-position:center;
}
h1.title{
    color: var(--color_blanc);
}
h1.title::after {
    background-image: url("data:image/svg+xml,%3Csvg width='808' height='25' viewBox='0 0 808 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M807.3 7.57616C793.656 8.3081 774.438 8.00519 766.535 7.76224C761.876 7.89414 757.045 7.72124 752.269 7.55025C750.2 7.47622 748.142 7.40255 746.112 7.35414C731.671 7.02647 717.258 6.65977 702.821 6.29096C681.053 5.72068 659.271 5.02049 637.492 4.32035C628.997 4.04725 620.502 3.77418 612.008 3.50882C548.292 1.51223 484.632 0.253066 421.189 0.340188C358.059 0.413885 295.056 1.49413 232.362 3.43121C230.584 3.49287 228.829 3.55664 227.07 3.67528C218.999 3.93263 210.949 4.20582 202.899 4.49273C205.545 4.25851 207.932 4.00849 210.279 3.76255C213.436 3.43186 216.522 3.1085 220.076 2.84073C210.068 3.32521 203.804 3.73085 198.981 4.09985C195.887 4.41664 193.37 4.70232 190.828 5.01328C185.195 5.32351 178.182 5.80021 170.228 6.35831C169.686 6.32433 169.698 6.2395 169.71 6.15234C169.722 6.07472 169.733 5.99524 169.353 5.94817C163.099 6.5205 158.478 7.03212 154.457 7.54216C138.299 8.77419 119.89 10.2605 101.599 11.7849C93.2686 12.2289 84.997 13.0155 76.7464 13.8001C72.8391 14.1717 68.9366 14.5428 65.0349 14.8769C60.5479 15.2641 56.0612 15.6495 51.5731 16.035C43.9651 16.6885 36.3535 17.3423 28.7316 18.0061C21.4892 18.6418 14.223 19.2755 6.95923 19.8817C6.82742 19.8929 6.69715 19.9037 6.56841 19.9144C4.52842 20.0835 2.86895 20.2212 1.45278 21.2121C0.713091 21.7263 -0.580874 22.8264 0.407408 23.5784C1.34079 24.3064 3.94087 24.1975 5.61635 24.1273C5.95369 24.1131 6.25355 24.1006 6.49478 24.0967C10.6083 24.1754 13.4037 24.2603 14.5185 24.3879C15.3518 24.1724 16.9292 23.9408 19.0831 23.6917C32.116 23.133 51.1801 22.0924 72.4884 20.8662L111.553 19.035C118.054 19.3613 107.156 19.9919 93.7068 20.7701C84.704 21.291 74.5582 21.8781 67.7234 22.4843C99.5892 20.8087 103.447 20.4575 113.018 19.5861C117.832 19.1478 124.091 18.578 136.086 17.6419C144.888 17.1779 156.71 16.2726 168.273 15.3872L168.771 15.3491C188.917 14.2537 205.998 13.436 216.321 13.187C215.622 13.2349 214.917 13.2754 214.213 13.3159C213.509 13.3564 212.805 13.3969 212.106 13.4448C221.023 13.1112 229.919 13.2872 238.943 13.6404C245.877 13.9196 252.778 13.7189 259.653 13.519C260.542 13.4932 261.43 13.4673 262.318 13.4425C259.968 13.3724 257.631 13.2907 255.29 13.2088C254.179 13.1699 253.066 13.131 251.951 13.0933C250.585 13.0548 249.186 13.0537 247.776 13.0527C245.24 13.0508 242.672 13.0489 240.212 12.8282C254.985 12.6467 269.779 12.4947 284.594 12.3723L273.891 12.5871C275.139 12.5753 276.407 12.563 277.683 12.5506C294.781 12.3842 313.273 12.2044 305.014 13.0842C306.752 13.066 308.497 13.0518 310.247 13.0375C319.893 12.9589 329.678 12.8792 339.091 12.1324C349.513 12.1135 359.957 12.1242 370.4 12.1486C366.716 12.42 359.985 12.5856 354.395 12.7231C344.581 12.9645 338.284 13.1194 358.174 13.6089L384.927 12.8571C386.711 13.0277 394.097 13.1671 402.42 13.3242C415.82 13.577 431.65 13.8757 430.45 14.4245C438.423 14.4168 442.839 14.2713 447.039 14.1328C450.789 14.0093 454.368 13.8913 460.155 13.8822C471.689 14.5712 480.293 15.0802 494.937 14.7213C461.32 13.7103 427.83 12.8766 394.298 12.5367C395.488 12.3531 402.454 12.4112 409.346 12.4904L395.091 12.2346C441.904 12.4666 488.758 13.0615 535.73 14.4962C536.285 14.5399 536.707 14.5802 537.011 14.6174C536.733 14.6088 536.455 14.6002 536.177 14.5915C536.559 14.612 536.92 14.6319 537.259 14.6512C538.968 14.9122 534.553 15.0165 530.3 15.117C527.488 15.1835 524.746 15.2483 523.892 15.3556C533.793 15.7816 543.655 15.9056 553.516 16.0296C565.19 16.1765 576.864 16.3233 588.599 16.9712C560.462 16.2866 573.449 16.9189 590.984 17.7727C601.784 18.2986 614.309 18.9084 620.014 19.3463C611.873 18.2016 603.536 17.6612 595.317 17.1314C584.957 16.4372 574.585 15.8802 564.201 15.4602C596.202 16.6027 628.254 17.9846 660.3 19.4351C664.801 19.641 669.304 19.853 673.807 20.0649C700.76 21.3335 727.724 22.6026 754.554 22.5812C763.825 22.5835 773.217 22.5689 782.342 22.0467C789.035 21.6657 795.842 20.5347 800.895 18.0857C805.922 15.6619 809.123 11.6646 807.3 7.57616ZM537.259 14.6512C541.107 14.87 542.308 15.0161 543.364 15.1445C545.009 15.3445 546.3 15.5016 556.695 15.8236L556.694 15.8373L560.159 15.3879C552.459 15.111 544.736 14.8576 537.011 14.6174C537.105 14.629 537.187 14.6402 537.259 14.6512Z' fill='%235A3E2B'/%3E%3C/svg%3E%0A");
}
h2.title::after {
    background-image: url("data:image/svg+xml,%3Csvg width='808' height='25' viewBox='0 0 808 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M807.3 7.57616C793.656 8.3081 774.438 8.00519 766.535 7.76224C761.876 7.89414 757.045 7.72124 752.269 7.55025C750.2 7.47622 748.142 7.40255 746.112 7.35414C731.671 7.02647 717.258 6.65977 702.821 6.29096C681.053 5.72068 659.271 5.02049 637.492 4.32035C628.997 4.04725 620.502 3.77418 612.008 3.50882C548.292 1.51223 484.632 0.253066 421.189 0.340188C358.059 0.413885 295.056 1.49413 232.362 3.43121C230.584 3.49287 228.829 3.55664 227.07 3.67528C218.999 3.93263 210.949 4.20582 202.899 4.49273C205.545 4.25851 207.932 4.00849 210.279 3.76255C213.436 3.43186 216.522 3.1085 220.076 2.84073C210.068 3.32521 203.804 3.73085 198.981 4.09985C195.887 4.41664 193.37 4.70232 190.828 5.01328C185.195 5.32351 178.182 5.80021 170.228 6.35831C169.686 6.32433 169.698 6.2395 169.71 6.15234C169.722 6.07472 169.733 5.99524 169.353 5.94817C163.099 6.5205 158.478 7.03212 154.457 7.54216C138.299 8.77419 119.89 10.2605 101.599 11.7849C93.2686 12.2289 84.997 13.0155 76.7464 13.8001C72.8391 14.1717 68.9366 14.5428 65.0349 14.8769C60.5479 15.2641 56.0612 15.6495 51.5731 16.035C43.9651 16.6885 36.3535 17.3423 28.7316 18.0061C21.4892 18.6418 14.223 19.2755 6.95923 19.8817C6.82742 19.8929 6.69715 19.9037 6.56841 19.9144C4.52842 20.0835 2.86895 20.2212 1.45278 21.2121C0.713091 21.7263 -0.580874 22.8264 0.407408 23.5784C1.34079 24.3064 3.94087 24.1975 5.61635 24.1273C5.95369 24.1131 6.25355 24.1006 6.49478 24.0967C10.6083 24.1754 13.4037 24.2603 14.5185 24.3879C15.3518 24.1724 16.9292 23.9408 19.0831 23.6917C32.116 23.133 51.1801 22.0924 72.4884 20.8662L111.553 19.035C118.054 19.3613 107.156 19.9919 93.7068 20.7701C84.704 21.291 74.5582 21.8781 67.7234 22.4843C99.5892 20.8087 103.447 20.4575 113.018 19.5861C117.832 19.1478 124.091 18.578 136.086 17.6419C144.888 17.1779 156.71 16.2726 168.273 15.3872L168.771 15.3491C188.917 14.2537 205.998 13.436 216.321 13.187C215.622 13.2349 214.917 13.2754 214.213 13.3159C213.509 13.3564 212.805 13.3969 212.106 13.4448C221.023 13.1112 229.919 13.2872 238.943 13.6404C245.877 13.9196 252.778 13.7189 259.653 13.519C260.542 13.4932 261.43 13.4673 262.318 13.4425C259.968 13.3724 257.631 13.2907 255.29 13.2088C254.179 13.1699 253.066 13.131 251.951 13.0933C250.585 13.0548 249.186 13.0537 247.776 13.0527C245.24 13.0508 242.672 13.0489 240.212 12.8282C254.985 12.6467 269.779 12.4947 284.594 12.3723L273.891 12.5871C275.139 12.5753 276.407 12.563 277.683 12.5506C294.781 12.3842 313.273 12.2044 305.014 13.0842C306.752 13.066 308.497 13.0518 310.247 13.0375C319.893 12.9589 329.678 12.8792 339.091 12.1324C349.513 12.1135 359.957 12.1242 370.4 12.1486C366.716 12.42 359.985 12.5856 354.395 12.7231C344.581 12.9645 338.284 13.1194 358.174 13.6089L384.927 12.8571C386.711 13.0277 394.097 13.1671 402.42 13.3242C415.82 13.577 431.65 13.8757 430.45 14.4245C438.423 14.4168 442.839 14.2713 447.039 14.1328C450.789 14.0093 454.368 13.8913 460.155 13.8822C471.689 14.5712 480.293 15.0802 494.937 14.7213C461.32 13.7103 427.83 12.8766 394.298 12.5367C395.488 12.3531 402.454 12.4112 409.346 12.4904L395.091 12.2346C441.904 12.4666 488.758 13.0615 535.73 14.4962C536.285 14.5399 536.707 14.5802 537.011 14.6174C536.733 14.6088 536.455 14.6002 536.177 14.5915C536.559 14.612 536.92 14.6319 537.259 14.6512C538.968 14.9122 534.553 15.0165 530.3 15.117C527.488 15.1835 524.746 15.2483 523.892 15.3556C533.793 15.7816 543.655 15.9056 553.516 16.0296C565.19 16.1765 576.864 16.3233 588.599 16.9712C560.462 16.2866 573.449 16.9189 590.984 17.7727C601.784 18.2986 614.309 18.9084 620.014 19.3463C611.873 18.2016 603.536 17.6612 595.317 17.1314C584.957 16.4372 574.585 15.8802 564.201 15.4602C596.202 16.6027 628.254 17.9846 660.3 19.4351C664.801 19.641 669.304 19.853 673.807 20.0649C700.76 21.3335 727.724 22.6026 754.554 22.5812C763.825 22.5835 773.217 22.5689 782.342 22.0467C789.035 21.6657 795.842 20.5347 800.895 18.0857C805.922 15.6619 809.123 11.6646 807.3 7.57616ZM537.259 14.6512C541.107 14.87 542.308 15.0161 543.364 15.1445C545.009 15.3445 546.3 15.5016 556.695 15.8236L556.694 15.8373L560.159 15.3879C552.459 15.111 544.736 14.8576 537.011 14.6174C537.105 14.629 537.187 14.6402 537.259 14.6512Z' fill='%237FAE3B'/%3E%3C/svg%3E%0A");
}
.subtitle {
    font-style: normal;
font-weight: 700;
font-size: 2rem;
text-align: center;
color: var(--color_texte);
}
.page-carte .subtitle{
    color: var(--color_menu);
}
header {
    background: linear-gradient(to left, #41414142 50%, #3333336b 75%), url(/themes/jvflex/assets/images/background_header.webp), var(--color_texte);
    background-position: bottom;
    background-size: cover;
    background-repeat: no-repeat;
    box-shadow: 0px 4px 30px rgba(0, 0, 0, 0.1);
    min-height: 75vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}

header #header-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: var(--navbar_height);
    background-color: var(--color_creme);
    padding: 0.5rem 2rem;
    border: 1px solid var(--color_jaune);
    border-radius: 20px;
    width: 1000px;
    margin:45px 0;
}

header #navbar {
    justify-self: center;
}

header #navbar ul {
    display: flex;
    padding: 0;
    list-style: none;
    gap: 1.875rem;
    align-items: center;
}

header #navbar ul a.nav-link {
    color: var(--color_brun);
    text-decoration: none;
    font-family: var(--font_principal);
    font-style: normal;
    font-weight: 400;
    font-size: 25px;
    padding:0.5rem 0;
}
header #header-bottom {
    padding: 0 var(--padding_LR) 4rem;
    display: flex;
    flex-direction: column;
    align-items: center;
}
header #header-bottom .paragraph {
    font-weight: 700;
    font-size: 1.2rem;
    color: var(--color_blanc);
    text-align: center;
    max-width: 800px;
}

header #header-bottom #menu_carte {
    display: none;
    padding: 10px;
    margin: 0;
    list-style: none;
    gap: 1.5rem;
    background-color: var(--color_creme);
    border-radius: 10px;
    position: absolute;
    bottom: 0;
    transform: translateY(50%);
    box-shadow: 0px 4px 31px rgba(0, 0, 0, 0.25);
}
.page-accueil header #header-bottom #menu_carte, .page-carte header #header-bottom #menu_carte {
    display: flex;
}
header #header-bottom #menu_carte li a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    color: inherit;
    padding: 10px;
    font-weight: 700;
    font-size: 1.05rem;
    gap: 0.25rem;
    border-radius: 10px;
}

footer .footer-navigation ul a.nav-link:hover,
footer .footer-links a:hover,
footer .footer-legals a:hover {
    color: var(--color_jaune);
}

header #navbar ul a.nav-link.active {
    font-weight: 500;
}

header #navbar ul a.nav-link:hover::before, header #navbar ul a.nav-link:hover::after, header #navbar ul a.nav-link.active::before, header #navbar ul a.nav-link.active::after {
    content: "";
    background-color: var(--color_jaune);
    width: 100%;
    height: 5px;
    display: block;
    border-radius: 5px;
}
header #navbar ul a.nav-link:hover::before, header #navbar ul a.nav-link.active::before {
    border-bottom-right-radius: 0px;
    border-bottom-left-radius: 0px;
}
header #navbar ul a.nav-link:hover::after, header #navbar ul a.nav-link.active::after {
    border-top-right-radius: 0px;
    border-top-left-radius: 0px;
}

header #navbar ul .header-icon {
    display: none;
}

header#layout-header>#header-top>#burger-menu {
    display: none;
}

.button-container {
    display: flex;
    margin: 0;
}

.button-container.btn>a,
.btn {
    appearance: none;
    border-radius: 5px;
    border: none;
    font-family: var(--font_principal);
    cursor: pointer;
    padding: 0.625rem 1.875rem;
    background-color: var(--color_brun);
    text-decoration: none;
    color: var(--color_blanc);
    font-style: normal;
    font-weight: 400;
    font-size: 1rem;
    text-transform: uppercase;
    transition: background-color 0.35s;
}

.button-container.btn>a:hover,
.btn:hover {
    background-color: var(--color_jaune);
    color: var(--color_brun);
}

main {
    padding: 7vh var(--padding_LR);
    margin: 0 auto;
}
.swiper-container {
    overflow: hidden;
}
.swiper-pagination {
    position: unset!important;
    margin-top: 30px;
}
.menu_list, .qdn_list {
    align-items: center;
    margin-bottom:15px;
}

.menu_list .menu_item, .engagements_list .engagements_item {
    background: var(--color_blanc);
    border: 1px solid var(--color_menu);
    box-shadow: 15px 15px 0px var(--color_menu);
    margin-bottom: 15px;
    border-radius: 10px;
    padding: 20px;
    max-width: 360px;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 20px;
    position: relative;
    overflow: hidden;
    user-select: none;
}
.menu_list .menu_item .menu_item_img, .menu_list .menu_item .menu_item_img img {
    width: 100%;
}
.menu_list .menu_item .menu_item_img img {
    border-radius: 10px;
}
.menu_list .menu_item .menu_item_content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}
.menu_list .menu_item .menu_item_title, .menu_list .menu_item .menu_item_price {
    font-style: normal;
    font-weight: 700;
    font-size: 24px;
    color: var(--color_rouge);
    margin: 0;
}

.menu_list .menu_item .menu_item_title {
    color: var(--color_rouge);
}
.menu_list .menu_item .menu_item_price {
    color: var(--color_vert);
}
.menu_list .menu_item .menu_item_description , .menu_list .menu_item .menu_item_ingredients{
    font-weight: 700;
    font-size: 16px;
}
.menu_list .menu_item .menu_item_ingredients .menu_item_ingredients_title{
    margin-top:0;
}
.menu_list .menu_item .menu_item_ingredients .hover {
    visibility: hidden;
    position: absolute;
    bottom:0;
    left: 0;
    padding: 20px;
    border-radius: 10px;
    background-color: #F9F6E9;
    border-top: 1px solid var(--color_menu);
    width: 100%;
    transform: translateY(500px);
    transition: transform 0.35s, visibility 0.35s;
}
.menu_list .menu_item .menu_item_description {
    color:var(--color_noir);
}
.menu_list .menu_item .menu_item_ingredients {
    color:var(--color_vert);
}
.menu_list .menu_item .menu_item_ingredients .menu_item_ingredients_list {
    margin: 0.8rem 0 0;
}
.menu_list .menu_item:hover .menu_item_ingredients .menu_item_ingredients_list, .menu_list .menu_item:hover .menu_item_ingredients .hover,.menu_list .menu_item.active .menu_item_ingredients .menu_item_ingredients_list, .menu_list .menu_item.active .menu_item_ingredients .hover {
    display: block;
}
.menu_list .menu_item.active .menu_item_ingredients .hover {
    visibility: visible;
    position: absolute;
    transform: translateY(0);
}
@media all and (min-width:768px){
    .menu_list .menu_item:hover .menu_item_ingredients .hover {
        visibility: visible;
        position: absolute;
        transform: translateY(0);
    }
    .menu_list .menu_item:hover .menu_item_ingredients .default {
        transition: visibility 0.35s;
        visibility: hidden;
    }
}

.menu_list .menu_item .menu_item_ingredients .hover .cross {
    display: none;
}

.menu_list .menu_item.active .menu_item_ingredients .hover .cross {
    position: absolute;
    right: 10px;
    top: 10px;
    appearance: none;
    border-radius: 20px;
    width: 25px;
    height: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
    background-color: var(--color_blanc);
    border: 1px solid var(--color_menu);
    color: var(--color_texte);
    font-weight: 700;
    cursor: pointer;
}

.menu_list .menu_item.active .menu_item_ingredients .hover .cross:hover{
    background-color: var(--color_menu);
    color:var(--color_blanc);
}

.menu_red {
    --color_menu: var(--color_rouge);
    --swiper-theme-color: var(--color_rouge) !important;
    --swiper-pagination-bullet-inactive-color: var(--color_rouge) !important;
}
.menu_green {
    --color_menu: var(--color_vert);
    --swiper-theme-color: var(--color_vert) !important;
    --swiper-pagination-bullet-inactive-color: var(--color_vert) !important;
}
.menu_yellow {
    --color_menu: var(--color_jaune);
    --swiper-theme-color: var(--color_jaune) !important;
    --swiper-pagination-bullet-inactive-color: var(--color_jaune) !important;
}
.menu_blue {
    --color_menu: var(--color_bleu);
    --swiper-theme-color: var(--color_bleu) !important;
    --swiper-pagination-bullet-inactive-color: var(--color_bleu) !important;
}
.menu_marron {
    --color_menu: var(--color_texte);
    --swiper-theme-color: var(--color_texte) !important;
    --swiper-pagination-bullet-inactive-color: var(--color_texte) !important;
}
section#engagements {
    padding-top: 2rem;
}

section#engagements .engagements_title {
    color:var(--color_menu);
    margin: 0;
}
section#engagements .engagements_grid {
    display: flex;
    gap: 3rem;
}
section#engagements .engagements_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 1.5rem;
    
}
section#engagements .engagements_list .engagements_item {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    max-width: 500px;
}
section#engagements .engagement_caroussel {
    max-width: 500px;
    position: relative;
}
section#engagements .engagement_caroussel .swiper-pagination {
    position: absolute!important;
}
section#engagements .engagement_caroussel .swiper-slide{
    border-radius: 10px;
}
section#quoideneuf .paragraph {
text-align: center;
}
section#quoideneuf .swiperqdn {
    margin-top: 2rem;
}
.qdn_list .qdn_item {
    border: 1px solid var(--color_jaune);
    filter: drop-shadow(15px 15px 0px var(--color_jaune));
    border-radius: 20px;
    background-color: var(--color_jaune);
    position: relative;
    min-height: 205px;
    width: 100%;
    min-width: 350px;
    overflow: hidden;
}
.qdn_list .qdn_item.swiper-slide {
    width: unset;
}
.qdn_list .qdn_item .img_full {
    top:0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 0;
}
.qdn_list .qdn_item .qdn_date {
    display: flex;
    align-items: center;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
}
.qdn_list .qdn_item .qdn_date .event_date, .qdn_list .qdn_item .qdn_date .event_type {
    margin: 0;
}
.qdn_list .qdn_item .qdn_date .event_date {
    padding: 5px 20px;
    border-radius: 0px 0px 0px 20px;
    background-color: var(--color_creme);
    color: var(--color_brun);
}

.qdn_list .qdn_item .qdn_date .event_type{
    padding: 5px 20px;
    color: var(--color_creme);
}

.qdn_list .qdn_item .qdn_date .event_type.nouveaute {
    background-color: var(--color_brun);
}
.qdn_list .qdn_item .qdn_date .event_type.evenement {
    background-color: var(--color_vert);
}
.qdn_list .qdn_item .qdn_name {
    margin:0;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    border-radius: 0px 20px 0px 0px;
    padding: 5px 20px;
    background-color: var(--color_creme);
    font-weight: 700;
    font-size: 1.1rem;
    color:var(--color_brun);
}
footer {
    background-color: var(--color_creme);
    color: var(--color_texte);
    padding: 5vh var(--padding_LR);
}

footer a,
footer p,
footer address {
    color: inherit;
    font-style: normal;
    font-weight: 400;
    font-size: 0.875rem;
    line-height: 1.5;
}

footer a {
    text-decoration: none;
}

footer p {
    margin: 0;
}

#footer-top {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap:0.75rem;
    margin-bottom: 0.75rem;
}

footer .footer_title {
    font-style: normal;
    font-weight: 700;
    font-size: 1.5rem;
    color: inherit;
    margin-bottom: 0.5rem;
    line-height: 1;
}

footer .footer-navigation ul {
    padding: 0;
    list-style: none;
    margin: 0;
}

footer .footer-socials {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    margin: 0.5rem 0;
}

footer .footer-socials a img {
    filter: var(--filter_brun);
    transition: filter 0.25s ease, transform 0.25s ease;
}

footer .footer-socials a:hover img {
    filter: var(--filter_vert);
    transform: translateY(-2px);
}

footer .footer-legals {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

footer .footer-legals .logo {
    display: flex;
    justify-content: center;
}

#footer-bottom {
    margin-top: 0.5rem;
    text-align: center;
}
.contact_form {
    display: flex;
    justify-content: center;
}

.contact_form form {
    width: 100%;
    max-width: 485px;
    display: flex;
    flex-direction: column;
    gap: 25px;
    background: rgba(255, 253, 245, 0.72);
    backdrop-filter: blur(2px);
    padding: 24px;
    border-radius: 12px;
}

.contact_form form .form-block {
    display: flex;
    flex-direction: column;
    row-gap: 7px;
    width: 100%;
}

.contact_form form .form-identity {
    display: flex;
    gap: 25px;
}

.contact_form form label,
.contact_form form .form-input {
    font-family: var(--font_principal);
    font-style: normal;
    font-weight: 400;
    font-size: 0.95rem;
    border-radius: 5px;
    width: 100%;
}

.contact_form form label {
    text-transform: uppercase;
    color: var(--color_brun);
    font-weight: 700;
    letter-spacing: 0.5px;
    font-size: 0.85rem;
}

.contact_form form .form-input {
    color: var(--color_texte);
    background-color: var(--color_blanc);
    border: 1px solid var(--color_brun);
    padding: 19px 20px;
    resize: none;
    box-shadow: 5px 5px 0px var(--color_vert);
    font-weight: 500;
}

.contact_form form .form-input::placeholder {
    color: #8a7a6a;
    opacity: 1;
}

.contact_form form .form-input:focus {
    outline: none;
    border-color: var(--color_vert);
    box-shadow: 0 0 0 3px rgba(127, 174, 59, 0.15), 5px 5px 0px var(--color_vert);
}

@media all and (max-width: 1025px) {
    :root {
        --padding_LR: 7.3vw;
    }
    header #header-top {
        width: 92vw;
    }
    header #navbar ul {
        gap: 0;
    }
    header #navbar ul .nav-item+.nav-item{
        padding: 0 0.9375rem;
        border-right: 1px solid var(--color_jaune);
    }
    header #navbar ul .nav-item:last-child{
        border: none;
    }
    header #navbar ul .nav-page {
        display: none;
    }
    header #navbar ul .header-icon {
        display: block;
    }
    .title {
        font-size: 2.75rem;
    }
    section#engagements .engagements_grid {
        flex-direction: column;
        align-items: center;
    }
}
@media all and (max-width: 765px){
    header #header-bottom #menu_carte {
        gap:1rem;
    }
}
@media all and (max-width: 575px){
    header #header-bottom #menu_carte {
        gap:0.25rem;
        padding: 5px;
    }
    header #header-bottom #menu_carte li a {
        padding: 7px;
    }
    header #header-bottom #menu_carte li a .text {
        display: none;
    }
    section#engagements .engagements_list .engagements_item{
        flex-direction: column;
    }
    footer {
        padding: 8vh var(--padding_LR);
    }
    #footer-top {
        flex-direction: column;
        text-align: center;
        gap: 1.2rem;
    }
    footer .footer-socials {
        justify-content: center;
    }
    #footer-bottom {
        margin-top: 1.5rem;
    }
}
@media all and (max-width: 500px){
    .title {
        font-size: 2.25rem;
    }
    .qdn_list .qdn_item.swiper-slide {
        width: 100%;
        min-width: unset;
    }
    .contact_form form .form-identity {
        flex-direction: column;
    }
    .menu_list .menu_item .menu_item_img, .menu_list .menu_item .menu_item_img img {
        width: 100%;
        height: 25vh;
    }
}


/* === SVG menu carte : version optimisée === */

#menu_carte li a {
    transition: background-color 0.25s ease, transform 0.2s ease;
}

/* Icônes */
#menu_carte li a .icon-svg {
    width: 64px;
    height: 64px;
    display: block;
    object-fit: contain;
    transition: transform 0.25s ease, filter 0.25s ease;
    filter: grayscale(5%) brightness(0.98);
}

/* Hover */
#menu_carte li a:hover {
    background-color: rgba(217, 178, 76, 0.18); /* jaune très doux */
}

#menu_carte li a:hover .icon-svg {
    transform: translateY(-4px) scale(1.08);
    filter: brightness(1.05) drop-shadow(0px 4px 6px rgba(0, 0, 0, 0.12));
}

#menu_carte li a .text {
    transition: letter-spacing 0.2s ease;
}

#menu_carte li a:hover .text {
    letter-spacing: 0.4px;
}

/* === ÉTAT ACTIF (LE PLUS IMPORTANT) === */
#menu_carte li a.active,
#menu_carte li a[aria-current="page"] {
    background-color: rgba(217, 178, 76, 0.28); /* beaucoup plus doux */
    box-shadow: inset 0 0 0 2px var(--color_jaune);
}

#menu_carte li a.active .icon-svg,
#menu_carte li a[aria-current="page"] .icon-svg {
    transform: scale(1.05);
    filter: brightness(1.08);
}

/* Responsive */
@media all and (max-width: 765px) {
    #menu_carte li a .icon-svg {
        width: 50px;
        height: 50px;
    }
}

@media all and (max-width: 575px) {
    #menu_carte li a .icon-svg {
        width: 42px;
        height: 42px;
    }
}

@media all and (max-width: 380px) {
    #menu_carte li a .icon-svg {
        width: 36px;
        height: 36px;
    }
}

.title, h1, h2, h3 {
    font-family: var(--font_titres);
}

section#engagements .engagements_list .engagements_item {
    align-items: center;
    gap: 24px;
}

section#engagements .engagements_list .engagements_item .engagement_icon {
    width: 110px;
    min-width: 110px;
    height: 110px;
    min-height: 110px;
    border-radius: 50%;
    background: #efe2cb;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(90, 62, 43, 0.08);
    overflow: hidden;
}

section#engagements .engagements_list .engagements_item .engagement_icon img {
    width: 72px;
    height: 72px;
    display: block;
    object-fit: contain;
}

section#engagements .engagements_content .paragraph {
    line-height: 1.45;
}
section#engagements .engagements_list .engagements_item .engagement_icon img {
    width: 72px !important;
    height: 72px !important;
    max-width: none !important;
    max-height: none !important;
    display: block;
    object-fit: contain;
}
section#engagements .engagements_list .engagements_item .engagement_icon {
    width: 110px;
    min-width: 110px;
    height: 110px;
    min-height: 110px;
}