/* Polices d'écriture */
@font-face {font-family: "EB-Regular";src: url("../fonts/EB-Regular.woff2") format("woff2");font-weight: 400;font-style: normal;font-display: swap;}
@font-face {font-family: "EufoniemOne";src: url("../fonts/EufoniemOne.woff2") format("woff2");font-weight: 400;font-style: normal;font-display: swap;}
@font-face {font-family: "Rubik-Italic";src: url("../fonts/Rubik-Italic.woff2") format("woff2");font-weight: 400;font-style: normal;font-display: swap;}
@font-face {font-family: "Rubik-Regular";src: url("../fonts/Rubik-Regular.woff2") format("woff2");font-weight: 400;font-style: normal;font-display: swap;}
@font-face {font-family: "Rubik-Bold";src: url("../fonts/Rubik-Bold.woff2") format("woff2");font-weight: 400;font-style: normal;font-display: swap;}
@font-face {font-family: "Literata-BI";src: url("../fonts/Literata-BI.woff2") format("woff2");font-weight: 400;font-style: normal;font-display: swap;}

:root {
  --bs-primary: #001F5A;
  --bs-secondary: #FFC20E;
  --bs-primary-rgb: 0, 31, 90;
  --bs-secondary-rgb: 255, 194, 14;
  --bs-light:#FFF8E6;
  --bs-light-rgb: 255, 248, 230;
  --bs-body-color:#111111;
  --bs-body-font-size: 1.15rem;
  --bs-body-line-height: 2;
}

.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
    --bs-gutter-x:2.5rem;
}

/* Global */
html{height:100%;}
body{font-family: 'Rubik-Regular', sans-serif;overflow-x: hidden;}
body.no-scroll {overflow: hidden;height: 100dvh;}
.vh-100{height:100svh !important;}
.z-n1 {z-index: -1!important;}
.z-0 {z-index: 0!important;}
.z-1 {z-index: 1!important;}
.z-2 {z-index: 2!important;}
.z-3 {z-index: 3!important;}
.z-4 {z-index: 4!important;}
.z-5 {z-index: 5!important;}
.opacity-5{opacity: 0.05;}
.opacity-10{opacity: 0.1;}
.opacity-20{opacity: 0.2;}
.opacity-70{opacity: 0.7;}
.overflow-hidden-x{overflow-x: hidden !important;}
.w-80{width:80% !important;}
.w-90{width:90% !important;}
.text-body-alt{color:var(--bs-body-color-alt)}
#page{/*overflow:hidden;*/}
.homepage{overflow: hidden;}
.type{overflow: hidden;}
.type.cat-produits, .type.evenements, .type.actualites{overflow: hidden;}
section{width:100%;scroll-margin-top: 100px;}
strong, b{font-weight: normal;font-family: 'Rubik-Bold', sans-serif;}
.smooth, a{-webkit-transition: all 0.4s ease-out;transition: all 0.4s ease-out;}
.ratio-43{aspect-ratio: 4/3;}
.ratio-11{aspect-ratio: 1/1;}
.ratio-auto{aspect-ratio: unset !important;}
.letter-spacing{letter-spacing: 0.05rem;}
.lh-xxs{line-height: 0.5 !important;}
.lh-xs{line-height: 1;}
.lh-xl{line-height: 3;}
.lh-15{line-height: 1.5 !important;}
.lh-neg{line-height: 0.5 !important;}
.italic-spacing{font-family: 'Rubik-Italic', sans-serif;font-style: none;letter-spacing: 0.1rem;}
.letter-spacing-0{letter-spacing: 0;}
.fw-r{font-weight:normal;font-family: 'Rubik-Regular', sans-serif !important;}
.fw-b, .fw-bold{font-weight:normal;font-family: 'Rubik-Bold', sans-serif;}
.fs-xxl{font-size: calc(1.625rem + 15.5vw);line-height: 1;}
.x-small{font-size: 0.875rem;}
h1, h2, h3, h4, h5, h6{font-weight: normal;}
.eb{ font-family: "EB-Regular", serif;text-transform: uppercase;}
.litbi{font-weight:normal;font-family: 'Literata-BI', sans-serif;text-transform: none;}
.manuscrit{ font-family: "EufoniemOne", cursive; }
.object-fit-cover{object-fit: cover;}
.object-fit-contain{object-fit: contain;}
.rotate90{transform: rotate(90deg);}
.rotate180{transform: rotate(180deg);}
.blend-multiply{mix-blend-mode: multiply;}
.dotted-line {height: 4px; background-image: radial-gradient(circle, var(--bs-secondary) 2px, transparent 2px); background-position: left center; background-size: 12px 4px; background-repeat: repeat-x; border: none; }
.dotted-line-left { position: relative; padding-left: 20px; }
.dotted-line-left::before { content: ""; position: absolute; left: 0; top: 0; width: 4px; height: 100%; background-image: radial-gradient(circle, #ffb300 2px, transparent 2px); background-position: center top; background-size: 4px 12px; background-repeat: repeat-y; }
.noselect {
    -webkit-touch-callout: none; /* iOS Safari */
      -webkit-user-select: none; /* Safari */
       -khtml-user-select: none; /* Konqueror HTML */
         -moz-user-select: none; /* Old versions of Firefox */
          -ms-user-select: none; /* Internet Explorer/Edge */
              user-select: none; /* Non-prefixed version, currently
                                    supported by Chrome, Edge, Opera and Firefox */
  }

  /* Boutons */
.btn{/*display: inline-flex !important;*/}
.btn, .btn *{-webkit-transition: all 0.1s ease-out;transition: all 0.1s ease-out;border-radius: 0.75rem;text-align: start;}
.btn-primary { background-color: var(--bs-primary) !important; border-color: var(--bs-primary) !important; color: #fff !important; }
.btn:hover img{transform: rotate(-10deg);}
.btn:hover img.rotate90{transform: rotate(70deg);}
.btn-secondary { background-color: var(--bs-secondary) !important; border-color: var(--bs-secondary) !important; color: var(--bs-primary) !important; }
.btn-big{font-weight: normal; font-family: "Rubik-Bold", serif;min-height: 55px;display: flex;align-items: center;justify-content: center;padding:0.5rem 2rem;}
.btn-souligne{position: relative;display: flex;justify-content: center;align-items: center;}
.btn-souligne:after{content:"";position:absolute;bottom:-0.75rem;left:0;width:100%;height:10px;background:url('../images/souligne.svg') no-repeat center center/cover;pointer-events:none;z-index:0;-webkit-transition: all 0.2s ease-out;transition: all 0.2s ease-out;}
.btn-souligne:hover:after{width:85% !important;}
.btn-souligne:hover img{transform: rotate(-10deg);}
.btn-souligne.btn-souligne-back:hover img{transform: rotate(190deg) !important;}
.btn-outline-white {border: 1px solid #ffffff; color: #ffffff;}
/* Return to top */
#btnReturnToTop {-webkit-transition: all 0.5s ease-out;transition: all 0.5s ease-out;
    opacity:0;
    transform:translateX(300px);
    position: fixed;
    bottom: 20px;
    right: 20px;
    width:3rem;height:3rem;
    z-index: 3;
}

#btnReturnToTop.show {
    opacity:1;
    transform:translateX(0px);
}

/* Homepage -----------------*/
/* Hero */
.homepage .hero-section{min-height: 600px;}
.hero-section{position: relative;}
.hero-section::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 50%; background: linear-gradient(to bottom, rgba(0, 31, 90, 1) 0%, rgba(0, 31, 90, 0) 100%); z-index: 1;opacity: 0.7;}
.hero-section .container { z-index: 2; }
.img-header-section{position: absolute;z-index: 0;width: 100%;height: 100%;mix-blend-mode: lighten; opacity: 0.6;top:0;left:0;}
.bg-cercle-jaune{ background-image: url('../images/cercle-jaune.svg'); background-repeat: no-repeat; background-position: center; background-size: contain; aspect-ratio: 1/1; display: flex;align-items: center; justify-content: center; text-align: center;padding:10%;flex-direction: column;}
.bg-cercle-bleu{ background-image: url('../images/cercle-bleu.svg'); background-repeat: no-repeat; background-position: center; background-size: contain; aspect-ratio: 1/1; display: flex; align-items: center; justify-content: center; text-align: center;padding:10%;flex-direction: column;}
.bg-cercle-bleu.display-6{font-size: calc(1.375rem + 0.4vw) !important;}
.cercle-decouvrez-home{padding:0;width:255px;height:255px;bottom:0%;right:0%;transform: translateY(60%);z-index: 3;}
.cercle-decouvrez-home .bg-cercle-bleu:before{content:"";position:absolute;top:65%;right:100%;width:135px;height:100px;background:url('../images/fleche-bleu-bis.svg') no-repeat center top/contain;pointer-events:none;z-index:0;transform: translateX(-2rem);}
.limite-b-before{position: relative;}
.limite-b-before::before{content:"";position:absolute;top:0;left:0;width:100%;height:100px;background:url('../images/limite-blanche-haut.svg') no-repeat center top/cover;transform:translateY(-99%);pointer-events:none;z-index:0;}
.cercle-explorez-home{padding:0;width:255px;height:255px;bottom:100%;left:40%;transform: translate(-50%, -75%);}
.cercle-explorez-home2{width:200px;height:200px;position: absolute;bottom:1rem;left:-2rem;}
.cercle-explorez-home .bg-cercle-jaune:before{content:"";position:absolute;top:65%;right:100%;width:135px;height:100px;background:url('../images/fleche-jaune-bis.svg') no-repeat center top/contain;pointer-events:none;z-index:0;transform: translateX(-2rem);}
.cercle-explorez-home2 .bg-cercle-jaune:before{transform:scaleY(-1) rotate(180deg) translate(-0.5rem, 2rem);content:"";position:absolute;top:50%;left:100%;width:100px;height:80px;background:url('../images/fleche-jaune-bis.svg') no-repeat center top/contain;pointer-events:none;z-index:0;}
/* Swiper et découverte */
.product-swiper{overflow: visible !important;}
.acces-card { position: relative; display: flex; flex-direction: column; justify-content: flex-end; width: 100%; min-height: 350px; border-radius:14px; text-decoration: none; overflow: visible !important; transition: transform 0.3s ease; }
.acces-card:hover { transform: translateY(-8px); }
.acces-card:hover .badge-label{transform: rotate(360deg); }
.badge-label { position: absolute; top: -20px; left: 20px; width: 70px; height: 70px; z-index: 30;transform-origin: center center; transform: rotate(0deg); transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1); }
.card-bg-img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 14px; z-index: 1; }
.card-gradient-overlay { position: absolute; left: 0; bottom: 0; width: 100%; height: 60%; background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0) 100%); border-radius: 0 0 14px 14px; z-index: 10; pointer-events: none; }
.card-content { position: relative; z-index: 20; padding: 1rem; }
.card-title { font-size: 1.4rem; margin: 0; letter-spacing: 0.5px; }
.tab-item {border:4px dotted transparent;background: none; border-radius: 15px; padding: 15px 25px; color: var(--bs-primary); text-transform: uppercase; cursor: pointer; transition: all 0.3s ease; }
.tab-item.active { border: 4px dotted #ffb300; }
.tab-item:hover:not(.active) { color: #ffb300; }
.swiper-content { display: none; }
.swiper-content.active { display: block; }
.custom-arrow-big{width:85px}
.custom-arrow-big svg{width:100%;height:100%;}
.custom-arrow-big.swiper-button-disabled svg path {fill:#d1d1d1;}
.section-decouverte{padding-top:8rem;padding-bottom:5rem;}
.section-decouverte::before, .limite-b-bis-before:before{content:"";position:absolute;top:0;left:0;width:100%;height:100px;background:url('../images/limite-blanche-haut2.svg') no-repeat center top/cover;pointer-events:none;z-index:1;}
.section-decouverte::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:70px;background:url('../images/limite-beige-haut.svg') no-repeat center top/cover;pointer-events:none;z-index:1;}
.section-decouverte .picto-gauche{position: absolute;left:0;top:50%;transform: translate(-100%, -50%);}
.section-decouverte .bloc-mise-en-avant{position: absolute;right:-6rem;padding:0;height:40%;z-index: 2;bottom:-6rem;}
.section-decouverte .image-circle {aspect-ratio:1/1;width: 100%; height: 100%; border-radius: 50%; overflow: hidden; position: relative; z-index: 5;background-color: var(--bs-light);}
.section-decouverte .bloc-mise-en-avant .image-container{position: relative;height:100%;}
.section-decouverte .bloc-mise-en-avant .image-container::after { content: ""; position: absolute; top: 50%; left: 50%; width: 115%; height: 115%; transform: translate(-50%, -50%); background-image: url('../images/masque-cercle-jaune.svg'); background-size: contain; background-repeat: no-repeat; background-position: center; z-index: 1; pointer-events: none; }
.section-decouverte .image-circle img { width: 100%; height: 100%; object-fit: cover; }
.swiper-prev-producteurs, .swiper-next-producteurs{cursor: pointer;}
#producteur-nom small{text-transform: none;font-size: 1rem;font-family: "Rubik-Regular", serif;}
/* Cartographie */
#cartographie-parent{margin-top:-15rem;position:relative;}
#cartographie-parent svg{width: 100%;height: auto;max-width: 100%;}
.pin{transform: scale(0.75);}
.pin > * {transform-origin: center;transform-box: fill-box;transition: all 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);}
.pin.is-hidden{pointer-events: none;}
.pin.is-hidden > * {transform: scale(0);opacity: 0;}
.pin:hover{transform: scale(1.05);transition: all 0.5s ease-out;}
.custom-select-container { position: relative; display: flex; align-items: center; background: #FFF8E6; border: 1px solid #FFB300; border-radius: 14px; padding: 0 0 0 15px ; height: 57px; transition: all 0.3s;}
.select-icon { width: 50px; height: 50px; object-fit: contain;object-position: center;}
.custom-select { width: 100%; border: none; background: transparent; color: var(--bs-primary); text-transform: uppercase; appearance: none; cursor: pointer; outline: none; }
.nice-select {background-color: transparent !important; border: none !important; color: #00235a !important; text-transform: uppercase; width: 100% !important; height: 100% !important; line-height: 57px !important;font-weight: normal !important; font-family: "Rubik-Bold", serif !important;font-size: 1rem !important;}
.nice-select::after { border: none !important; content: ""; display: block; height: 10px !important; width: 21px !important; background: url('../images/down-arrow.svg') no-repeat center center/contain; position: absolute; right: 20px; top: 50%; transform: translateY(-50%) !important; pointer-events: none; margin-top: 0 !important; }
.nice-select.open::after { transform: translate(-25%, -75%) rotate(180deg) !important; }
.nice-select-dropdown{width: 100%;}
.nice-select .list{background-color:#FFF8E6;border:1px solid #FFB300;border-radius: 14px !important;overflow:auto !important;max-height: unset !important;}
/*.nice-select .list::-webkit-scrollbar { width: 6px !important; }
.nice-select .list::-webkit-scrollbar-thumb { background: #FFB300 !important; border-radius: 10px !important; }
.nice-select .list::-webkit-scrollbar-track { background: #f1f1f1 !important; }*/
.nice-select .nice-select-dropdown{box-shadow: none !important;background: none !important;}
.nice-select .option:hover, .nice-select .option.focus, .nice-select .option.selected.focus{background-color: var(--bs-secondary) !important;}
#carte{visibility: hidden;}
#carte.visible{visibility: visible;}
.carte.hidden{visibility: hidden;}
/* Agenda */
.limite-b-after{position: relative;}
.limite-b-after::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:70px;background:url('../images/limite-blanche-haut.svg') no-repeat center top/cover;pointer-events:none;z-index:0;}
/* Une classe par ligne */
.nice-select.drop-up .nice-select-dropdown { bottom: 100% !important; top: auto !important; margin-top: 0 !important; margin-bottom: 4px !important; box-shadow: 0 -10px 20px rgba(0,0,0,0.1); }
.nice-select.drop-up.open:after { transform: rotate(-135deg); } /* On inverse la flèche */
.event-card {position: relative; display: flex; border-radius: 14px; transition: transform 0.3s ease; min-height: 350px;align-items: flex-end;}
.event-card:hover { transform: translateY(-5px); }
.event-card:hover .event-bg-img{opacity: 0.5;}
.event-bg-img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1;border-radius: 14px;transition: all 0.3s ease;}
.event-gradient-overlay { position: absolute; bottom: 0; left: 0; width: 100%; height: 50%; background: linear-gradient(to top, rgba(0,0,0,1) 0%, transparent 100%); z-index: 2;border-bottom-left-radius: 14px;border-bottom-right-radius: 14px;}
.event-location-badge { position: absolute; top: -20px; left: 2rem; z-index: 10; padding: 0.5rem 1rem; border-radius: 10px; display: flex; align-items: center; gap: 8px; }
.event-location-badge .pins-icon { width: 18px; height: auto; }
.event-location-badge .manuscrit { font-size: 1.4rem; line-height: 1; }
.event-content {z-index: 5;position: relative;padding:1rem;}
.event-arrow {transition: transform 0.3s ease; }
.event-card:hover .event-arrow { transform: translateX(10px); }
.event-title { font-size: 1.8rem; line-height: 1.1; }
.event-date { font-size: 1.2rem; letter-spacing: 0.5px; }
.img-a-la-une{max-height: 550px;}
.img-actu-home{height:230px;}

/* Header et navigation */
.navbar-brand .bgblanc{display: none;}
.navbar-brand{width:50%;}
.type .navbar-brand{width:5rem;}
header{z-index: 50;position: fixed;}
header .navbar .navbutton{margin-bottom:2.25rem;}
.type header .navbar .navbutton{margin-bottom:0rem;}
header.active .navbar .navbutton, header.fixed .navbar .navbutton{margin-bottom:0rem;}
header.active .navbar-brand, header.fixed .navbar-brand{width:5rem;}
header.fixed{background-color: rgba(0, 31, 90, 1);}
.navbutton {flex-shrink:0;width: 40px; height: 32px; position: relative; transition: .5s ease-in-out; cursor: pointer; display: flex; flex-direction: column; justify-content: space-between; padding: 0; border: none !important; background: none; }
.navbutton span { display: block; height: 4px; width: 100%; background-color: var(--bs-secondary); border-radius: 2px; transition: all 0.3s ease-in-out; transform-origin: center; }
.navbutton.open span:nth-child(1) { transform: translateY(14px) rotate(45deg);}
.navbutton.open span:nth-child(2) { opacity: 0; transform: translateX(-20px); }
.navbutton.open span:nth-child(3) { transform: translateY(-14px) rotate(-45deg); }
#custom-menu { position: fixed; top: 0; right: 0; height: 100dvh; background-color: var(--bs-primary); z-index: 4; transform: translateX(110%); transition: transform 0.5s ease-in-out; padding-top: 5.5rem; box-shadow: -10px 0 30px rgba(0,0,0,0.2); overflow-y: auto; }
#custom-menu.active { transform: translateX(0); }
.menu-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100dvh; background: rgba(0, 31, 90,0.5); z-index: 3; display: none; opacity: 0; transition: opacity 0.3s; }
.menu-overlay.active { display: block; opacity: 1; }
.menu-link img{width:60px;height:57px;object-fit: contain;object-position: center;}
.menu-link-second img{width:30px;height:30px;object-fit: contain;object-position: center;}
.menu-section-title{font-size: calc(1.25rem + 1vw);color:var(--bs-secondary) !important;}
.mySwiperMobile .swiper-slide{border:2px dotted #FFC20E;border-radius: 14px;line-height: 1;}
/* Thème clair */
.clair .hero-section-type::before{display: none;}
header.active .navbar-brand .bgblanc{display: none;}
header.active .navbar-brand .bgfonce{display: block;}
.clair .navbar-brand .bgblanc{display: block;}
.clair .navbar-brand .bgfonce{display: none;}
.clair header.fixed .navbar-brand .bgfonce{display: block ;}
.clair header.fixed .navbar-brand .bgblanc{display: none ;}
.content-menu-col .bgblanc{display: none;}
.clair .content-menu-col .bgblanc{display: block;}
.clair .content-menu-col .bgfonce{display: none;}
.clair .content-menu-col span{color:var(--bs-primary);}
.clair header.active .content-menu-col .bgblanc{display: none;}
.clair header.active .content-menu-col .bgfonce{display: block;}
.clair header.active .content-menu-col span{color:#fff;}
.clair header.fixed .content-menu-col .bgblanc{display: none ;}
.clair header.fixed .content-menu-col .bgfonce{display: block;}
.clair header.fixed .content-menu-col span{color:#fff;}

/* Footer */
footer{ background-color: #001A4B; color: #ffffff; padding-top: 3rem; padding-bottom: 1rem;position: relative;margin-top:3rem;}
footer:after{content:"";position:absolute;top:0;left:0;width:100%;height:70px;transform:translateY(-50%);background:url('../images/masque-footer.svg') no-repeat center top/cover;pointer-events:none;z-index:0;}
.social-icons a {flex-shrink:0;display: flex; width: 40px; height: 40px; border: 1px solid #ffffff; border-radius: 50%; padding: 8px; transition: all 0.3s ease;justify-content: center;align-items: center;}
.social-icons a:hover { background-color: rgba(255, 255, 255, 0.5); transform: scale(1.1); }
.social-icons img { width: 100%; height: 100%;object-fit: contain; }
.footer-bottom { border-top: 1px solid rgba(255, 255, 255, 0.2); margin-top: 2rem; padding-top: 1.5rem; font-size: 0.85rem; }
.footer-bottom a { color: #ffffff; text-decoration: none; margin-right: 1.5rem; opacity: 0.8; }
.footer-bottom a:hover { opacity: 1; text-decoration: underline; }
.conception-link { color: #ffffff; text-decoration: none; position: relative; transition: color 0.3s ease; }
.conception-link::after { content: ""; position: absolute; width: 100%; height: 2px; bottom: -2px; left: 0; background-color: #FFC20E; transform: scaleX(0); transform-origin: bottom right; transition: transform 0.3s ease-out; }
.conception-link:hover { text-decoration: none !important;color: #FFC20E; }
.conception-link:hover::after { transform: scaleX(1); transform-origin: bottom left; }
.produit footer, .recettes footer, .evenement footer{margin-top:0;}
.produit footer:after{display: none;}

/* Breadcrumb */
.breadcrumb{font-size: 0.875rem;}
.breadcrumb-item{padding:0 !important;}
.breadcrumb-item+.breadcrumb-item::before{display: none;}
.breadcrumb-list { display: flex; align-items: center; list-style: none; padding: 1rem 0; margin: 0; }
.breadcrumb-step { display: flex; align-items: center;}
.breadcrumb-link { color: #ffffff; text-decoration: underline; text-underline-offset: 4px; }
.breadcrumb-link:hover { opacity: 0.8; }
.breadcrumb-icon { width: 14px; height: auto; margin: 0 12px; }
.breadcrumb-current { color: #ffffff; font-weight: 400; text-decoration: none; }

/* Cat produits */
.cat-produits h1 span{font-family: "EufoniemOne", cursive;font-size:4rem !important;color:var(--bs-secondary);text-transform: none;line-height: 0.85 !important;margin-top:0.5rem;}
.mt-custom{margin-top: -12rem;}

/* Produit */
.hero-section-type{padding-top:80px;position: relative;}
.hero-section-type::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 60%; background: linear-gradient(to bottom, rgba(0, 31, 90, 1) 0%, rgba(0, 31, 90, 0) 100%); z-index: 1;opacity: 0.7;}
.hero-section-type .img-header-section{ opacity: 0.4;}
.picto-header-pdt{transform:translate(0%, -50%);right:1rem;}
.bloc-produit-droite-parent{margin-top: -9rem;}
.bloc-produit-droite-parent .img-produit{border-top-left-radius: 14px;border-top-right-radius: 14px;}
.bloc-produit-droite-img::after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:50px;background:url('../images/masque-produit-droite.svg') no-repeat center top/cover;pointer-events:none;z-index:1;}
.bloc-produit-droite-infos{border-bottom-left-radius: 14px;border-bottom-right-radius: 14px;padding:2rem;}
.bloc-produit-droite-infos ul { list-style: none; padding-left: 0; margin: 0; }
.bloc-produit-droite-infos li { position: relative; padding-left: 2.25rem; margin-bottom: 12px;}
.bloc-produit-droite-infos li::before { content: ""; position: absolute; left: 0; top: 4px; width: 25px; height: 27px; background: url('../images/fleche-jaune.svg') no-repeat center; background-size: contain; }
.limite-b-bis-before{position: relative;padding-top:7rem;}

/* Recettes */
.hero-swiper-recettes{z-index: 0 !important;}
.hero-pagination-recettes .swiper-pagination-bullet { width: 18px; height: 18px; background: transparent; border: 2px solid #ffffff; opacity: 1; margin: 0 8px !important; transition: all 0.3s ease; }
.hero-pagination-recettes .swiper-pagination-bullet-active { background: #FFC20E; border-color: #FFC20E; transform: scale(1.1); }
.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction{width:inherit !important;}
.gradient-diag-saison{min-width:50%;min-height:30%;background: linear-gradient(211deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.3) 35%, rgba(0, 0, 0, 0) 50%);border-top-right-radius:14px;display: flex;justify-content: end;}

/* Recette */
.qty-selector { border: 4px dotted #FFC20E; border-radius: 14px; justify-content: space-between; }
.btn-qty { font-size: 1.5rem; cursor: pointer; transition: transform 0.2s; }
.btn-qty:active { transform: scale(0.8); }
.ingredient-item img { box-shadow: 0 2px 15px rgba(0,0,0,0.05); }
.desc-recette h2,.desc-recette h3, .desc-recette h4{font-weight:normal;font-family: 'Literata-BI', sans-serif;text-transform: none;color:var(--bs-primary);font-size: 1.5rem;margin-top:1.5rem;}
.desc-recette h2:first-of-type,.desc-recette h3:first-of-type, .desc-recette h4:first-of-type{margin-top:0;}
.badge-recette{right:0;}
.recette .bloc-produit-droite-parent{margin-top:0;}

/* Evénements */
.title-bloc-h1 .fs-xxl{line-height: 0.75;}
.custom-date-input {padding-left:18px;border: none !important; background: transparent !important; color: #002D58 !important; text-transform: uppercase !important; font-size: 1rem !important; width: 100% !important; cursor: pointer !important; outline: none !important;    font-family: "Rubik-Bold", serif !important;}
.flatpickr-calendar { border: 2px solid #FFC20E !important; border-radius: 14px !important; box-shadow: 0 4px 15px rgba(0,0,0,0.1) !important; }
.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange { background: #FFC20E !important; border-color: #FFC20E !important; color: #002D58 !important; }
.flatpickr-day.inRange { background: #FFF9E7 !important; box-shadow: -5px 0 0 #FFF9E7, 5px 0 0 #FFF9E7 !important; }
.custom-date-input::placeholder{color:var(--bs-primary) !important;}
.flatpickr-innerContainer{border-bottom: 0 !important;}
.flatpickr-innerContainer{border-bottom-left-radius: 14px;border-bottom-right-radius: 14px;}
.flatpickr-months .flatpickr-month, .flatpickr-monthDropdown-months{background-color: var(--bs-primary) !important;}
.flatpickr-months .flatpickr-month{border-top-left-radius: 14px !important;border-top-right-radius: 14px !important;height:40px !important;}
.flatpickr-weekdays, span.flatpickr-weekday{background-color: var(--bs-secondary) !important;}
span.flatpickr-weekday{color:var(--bs-primary) !important;}
.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)), .flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)), .flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)){-webkit-box-shadow: -10px 0 0 #FFC20E !important;box-shadow: -10px 0 0 #FFC20E !important;}

/* Evénement */
#evenement .img-event{max-height: 500px;}
#evenement .bloc-produit-droite-parent{position: relative;top:unset;}
.titre-sortez{line-height:0.75;position: relative;z-index: 1;}
.titre-sortez span{line-height: 1;display:block;font-family: "EB-Regular", serif;text-transform: uppercase;color: var(--bs-primary);text-transform: uppercase;font-size: 2.5rem;position: relative;z-index: 2;}

/* Actualités */
.bloc-actualite-a-la-une{height: 550px;}
.actualites-droite .mini-actu:last-of-type{padding-bottom: 0 !important;}
.actualites-droite .mini-actu:hover h3{text-decoration: underline !important;}
.onglets-actualite a{text-transform: uppercase;font-weight:normal;font-family: 'Rubik-Bold', sans-serif;color:var(--bs-primary);text-decoration: none;position: relative;}
.onglets-actualite a.on:after{content:"";position:absolute;bottom:-0.25rem;left:0;width:100%;height:10px;background:url('../images/souligne.svg') no-repeat center center/cover;pointer-events:none;z-index:0;-webkit-transition: all 0.2s ease-out;transition: all 0.2s ease-out;}
.onglets-actualite a:hover{color:var(--bs-secondary)}
.onglets-actualite a.on:hover{color:var(--bs-primary);cursor: default;}
.actualites-droite .dotted-line-left { position: relative; padding-left: 0px; }
.actualites-droite .dotted-line-left::before {display:none;}

/* Actualité */
#actualite .bloc-produit-droite-img::after{display:none;}
#actualite .img-event{max-height: 500px;}
#actualite .bloc-produit-droite-parent .img-produit{border-radius: 14px;}
#actualite .bloc-produit-droite-parent{position: relative;top:unset;}
.bloc-actualite-info a{color:#fff;}

/* Animations */
@-webkit-keyframes fade {
  from {
      opacity: 0;
  }
  to {
      opacity: 1;
  }
}
@keyframes fade {
  from {
      opacity: 0;
  }
  to {
      opacity: 1;
  }
}
@-webkit-keyframes toleft {
  from {
      -webkit-transform: translateX(200px);
              transform: translateX(200px);
  }
  to {
      -webkit-transform: translateX(0px);
              transform: translateX(0px);
  }
}
@keyframes toleft {
  from {
      -webkit-transform: translateX(200px);
              transform: translateX(200px);
  }
  to {
      -webkit-transform: translateX(0px);
              transform: translateX(0px);
  }
}
@-webkit-keyframes toright {
  from {
      -webkit-transform: translateX(-200px);
              transform: translateX(-200px);
  }
  to {
      -webkit-transform: translateX(0px);
              transform: translateX(0px);
  }
}
@keyframes toright {
  from {
      -webkit-transform: translateX(-200px);
              transform: translateX(-200px);
  }
  to {
      -webkit-transform: translateX(0px);
              transform: translateX(0px);
  }
}
@-webkit-keyframes totop {
  from {
      -webkit-transform: translateY(200px);
              transform: translateY(200px);
  }
  to {
      -webkit-transform: translateY(0px);
              transform: translateY(0px);
  }
}
@keyframes totop {
  from {
      -webkit-transform: translateY(200px);
              transform: translateY(200px);
  }
  to {
      -webkit-transform: translateY(0px);
              transform: translateY(0px);
  }
}
@-webkit-keyframes tobottom {
  from {
      -webkit-transform: translateY(-200px);
              transform: translateY(-200px);
  }
  to {
      -webkit-transform: translateY(0px);
              transform: translateY(0px);
  }
}
@keyframes tobottom {
  from {
      -webkit-transform: translateY(-200px);
              transform: translateY(-200px);
  }
  to {
      -webkit-transform: translateY(0px);
              transform: translateY(0px);
  }
}

@-webkit-keyframes toscalein {
  from {
      -webkit-transform: scale(2);
              transform: scale(2);
  }
  to {
      -webkit-transform: scale(1);
              transform: scale(1);
  }
}
@keyframes toscalein {
  from {
      -webkit-transform: scale(2);
              transform: scale(2);
  }
  to {
      -webkit-transform: scale(1);
              transform: scale(1);
  }
}


.fadein-scroll {
  opacity:0;
}
.toleft-scroll {
  opacity:0;
  -webkit-transform: translateX(200px);
      -ms-transform: translateX(200px);
          transform: translateX(200px);
}
.toright-scroll {
  opacity:0;
  -webkit-transform: translateX(-200px);
      -ms-transform: translateX(-200px);
          transform: translateX(-200px);
}
.totop-scroll {
  opacity:0;
  -webkit-transform: translateY(200px);
      -ms-transform: translateY(200px);
          transform: translateY(200px);
}
.tobottom-scroll {
  opacity:0;
  -webkit-transform: translateY(-200px);
      -ms-transform: translateY(-200px);
          transform: translateY(-200px);
}

.toscalein-scroll {
  opacity:0;
  -webkit-transform: scale(2);
      -ms-transform: scale(2);
          transform: scale(2);
}

.fadein, .fadein-scroll.on {
  opacity:0;
  -webkit-animation: fade 1s ease;
          animation: fade 1s ease;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.toleft, .toleft-scroll.on {
  opacity:0;
  -webkit-transform: translateX(200px);
      -ms-transform: translateX(200px);
          transform: translateX(200px);
  -webkit-animation: toleft 1s ease, fade 1s ease;
          animation: toleft 1s ease, fade 1s ease;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.toright, .toright-scroll.on {
  opacity:0;
  -webkit-transform: translateX(-200px);
      -ms-transform: translateX(-200px);
          transform: translateX(-200px);
  -webkit-animation: toright 1s ease, fade 1s ease;
          animation: toright 1s ease, fade 1s ease;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.totop, .totop-scroll.on {
  opacity:0;
  -webkit-transform: translateY(200px);
      -ms-transform: translateY(200px);
          transform: translateY(200px);
  -webkit-animation: totop 1s ease, fade 1s ease;
          animation: totop 1s ease, fade 1s ease;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.tobottom, .tobottom-scroll.on {
  opacity:0;
  -webkit-transform: translateY(-200px);
      -ms-transform: translateY(-200px);
          transform: translateY(-200px);
  -webkit-animation: tobottom 1s ease, fade 1s ease;
          animation: tobottom 1s ease, fade 1s ease;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

.toscalein, .toscalein-scroll.on {
  opacity:0;
  -webkit-transform: scale(2);
      -ms-transform: scale(2);
          transform: scale(2);
  -webkit-animation: toscalein 1s ease, fade 1s ease;
          animation: toscalein 1s ease, fade 1s ease;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

  .delay0{-webkit-animation-delay: 0.1s !important;animation-delay: 0.1s !important;}
  .delay1{-webkit-animation-delay: 0.2s !important;animation-delay: 0.2s !important;}
  .delay2{-webkit-animation-delay: 0.3s !important;animation-delay: 0.3s !important;}
  .delay3{-webkit-animation-delay: 0.4s !important;animation-delay: 0.4s !important;}
  .delay4{-webkit-animation-delay: 0.5s !important;animation-delay: 0.5s !important;}
  .delay5{-webkit-animation-delay: 0.6s !important;animation-delay: 0.6s !important;}
  .delay6{-webkit-animation-delay: 0.7s !important;animation-delay: 0.7s !important;}  
  .delay7{-webkit-animation-delay: 0.8s !important;animation-delay: 0.8s !important;}  
  .delay8{-webkit-animation-delay: 0.9s !important;animation-delay: 0.9s !important;}    


/*
X-Small	None	<576px
Small	sm	≥576px
Medium	md	≥768px
Large	lg	≥992px
Extra large	xl	≥1200px
Extra extra large	xxl	≥1400px

/ Small devices (landscape phones, 576px and up)
@media (min-width: 576px) { ... }

// Medium devices (tablets, 768px and up)
@media (min-width: 768px) { ... }

// Large devices (desktops, 992px and up)
@media (min-width: 992px) { ... }

// X-Large devices (large desktops, 1200px and up)
@media (min-width: 1200px) { ... }

// XX-Large devices (larger desktops, 1400px and up)
@media (min-width: 1400px) { ... }
*/



@media (min-width: 576px) {
        .navbar-brand, .type .navbar-brand{width:7rem;}
        header .navbar .navbutton{margin-bottom:0rem;}
        header.active .navbar .navbutton, header.fixed .navbar .navbutton{margin-bottom:0rem;}
        header.active .navbar-brand, header.fixed .navbar-brand{width:7rem;}
        #custom-menu {padding-top: 6.5rem;}
        .mySwiperMobile .swiper-slide{width:50%;border:0;border-radius: 0;}
        .mySwiperMobile .swiper-wrapper{flex-wrap: wrap;}
        .menu-link-second img{width:60px;height:57px;}
        .menu-section-title{font-size: calc(1.375rem + 1.5vw);color:#fff !important;}
        .hero-section-type{padding-top:90px;position: relative;}

}


@media (min-width: 768px) {
        .container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        --bs-gutter-x:5rem;
        }
        .homepage .hero-section{min-height: 940px;}
        .navbar-brand, .type .navbar-brand{width:10rem;}
        #custom-menu{padding-top:10rem;}
        .fs-xxl{font-size: 10rem;line-height: 1;}
        header.fixed{position: fixed !important;padding-top:0rem !important;}
        header.fixed .content-menu-col{padding-top:0 !important}
        .hero-section-type{padding-top:150px;position: relative;}
        .cat-produits h1:before{content:"";height: 4px;width:1000%;background-image: radial-gradient(circle, var(--bs-secondary) 2px, transparent 2px);background-position: left center;background-size: 12px 4px;background-repeat: repeat-x;border: none;display: inline-block;position: absolute;right:100%;top:1rem;transform: translateX(-1rem);}
        .cat-produits h1:after{content:"";height: 4px;width:1000%;background-image: radial-gradient(circle, var(--bs-secondary) 2px, transparent 2px);background-position: left center;background-size: 12px 4px;background-repeat: repeat-x;border: none;display: inline-block;position: absolute;left:100%;top:1rem;transform: translateX(1rem);}
        .title-bloc-h1:before{content:"";height: 4px;width:1000%;background-image: radial-gradient(circle, var(--bs-secondary) 2px, transparent 2px);background-position: left center;background-size: 12px 4px;background-repeat: repeat-x;border: none;display: inline-block;position: absolute;right:100%;top:50%;}
        .title-bloc-h1:after{content:"";height: 4px;width:1000%;background-image: radial-gradient(circle, var(--bs-secondary) 2px, transparent 2px);background-position: left center;background-size: 12px 4px;background-repeat: repeat-x;border: none;display: inline-block;position: absolute;left:100%;top:50%;}
        .recette .bloc-produit-droite-parent{margin-top:-9rem;}
        .actualites-droite .dotted-line-left { position: relative; padding-left: 20px; }
        .actualites-droite .dotted-line-left::before {display:block;content: ""; position: absolute; left: 0; top: 0; width: 4px; height: 100%; background-image: radial-gradient(circle, #ffb300 2px, transparent 2px); background-position: center top; background-size: 4px 12px; background-repeat: repeat-y; }

}

@media (min-width: 992px) {
        .type{overflow: unset;}
        body.no-scroll {overflow: auto;height: auto;}
        .navbar-brand, .type .navbar-brand{width:12rem;}
        header{position: absolute;}
        header.fixed{position: fixed !important;padding-top:1rem !important;padding-bottom: 1rem !important;}
        header.fixed{background-color: rgba(0, 31, 90, 1);}
        #custom-menu.fixed{padding-top:6.5rem !important;padding-bottom:3rem !important;}
        header.fixed .navbar-brand{width:5rem;padding:0 !important;display: flex;align-items: center;justify-content: center;}
        header.fixed .container-xxl{padding-top:0 !important;padding-bottom: 0 !important;align-items: center !important;}
        .acces-card {min-height: 445px;}
        .card-content, .event-content {padding: 2rem; }
        .section-decouverte .bloc-mise-en-avant{position: absolute;right:-6rem;padding:0;height:50%;z-index: 2;bottom:-7rem;}
        .event-card {min-height: 530px;}
        footer {margin-top:10rem;}
        .pin{transform: scale(0.9);}
        .picto-header-pdt{transform:translate(20%, -50%);right:100%;}
        .bloc-produit-droite-parent{position: sticky;top:150px;}
        .hero-section-type{padding-top:184px;position: relative;}
        .limite-b-bis-before{position: relative;padding-top:10rem;}
        .badge-recette{right:unset;left:0;}
        .hero-pagination-recettes{position:absolute;bottom:0 !important;z-index:2;left:50% !important;transform: translateX(-50%);}
        .swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction{width:inherit !important;}
}



@media (min-width: 1200px) {
  .fs-1{font-size: 4rem !important;}
  .display-5{font-size: 2.65rem !important;}
  .display-6{font-size: 2rem !important;}
  .navbar-brand, .type .navbar-brand{width:14rem;}
  .cercle-decouvrez-home{right:30%;}
.section-decouverte .custom-ms{margin-left:2rem;}
.section-decouverte .bloc-mise-en-avant{position: absolute;right:-10rem;padding:0;height:88%;z-index: 2;bottom:unset;}
.container-fluid-xl { max-width: 100% !important; padding-left:0rem !important; padding-right: 0rem !important; }
.menu-section-title{font-size: 2rem !important;color:#fff !important;}
.pin{transform: scale(0.75);}



}

@media (min-width: 1400px) {
   .px-container-xtra{padding-left: 5rem;padding-right: 5rem;}
   .section-decouverte .custom-ms{margin-left:10rem;}
.pin{transform: scale(0.9);}
.qty-selector { min-width: 240px; }


}


@media (min-width: 1600px) {
  .container-xxl, .container {
    max-width: 1720px;
    margin-right: auto;
    margin-left: auto;
  }
  .px-container-xtra{padding-left: 10rem;padding-right: 10rem;}
  .section-decouverte .custom-ms{margin-left:20rem;}
  .bg-cercle-bleu.display-6{font-size: 2rem !important;}
  #cartographie-parent{margin-top:-19rem;}
  .pin{transform: scale(1);}
  .col-xxxl-custom{width:55%;}
}

@media (min-width: 1800px) {
        .container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        --bs-gutter-x:1.5rem;
        }
}


