/*!***************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/Readmore.css ***!
  \***************************************************************************************************************************/
.readmore-truncate {
    mask-image: linear-gradient(
        to top,
        rgba(0, 0, 0, 0) 0px,
        rgba(0, 0, 0, 1) 100px
    );
    -webkit-mask-image: linear-gradient(
        to top,
        rgba(0, 0, 0, 0) 0px,
        rgba(0, 0, 0, 1) 100px
    );
}

/*!**************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/v5/gmi.owl.theme/gmi.owl.theme.css ***!
  \**************************************************************************************************************************************/
#owlPartner {
    z-index: 3;
    max-width: 100%;
    margin: 0 auto;
    margin-top: 15px;
}

#owlPartner.xl {
    z-index: 3;
    max-width: 510px;
    margin: 0 auto;
    margin-top: 15px;
}

/* #owlPartner.xl > .owl-carousel > .owl-stage-outer { */
#owlPartner > .owl-carousel > .owl-stage-outer {
    padding: unset;
}

/* #owlPartner.xl > .owl-carousel > .owl-stage-outer > .owl-stage { */
#owlPartner > .owl-carousel > .owl-stage-outer > .owl-stage {
    overflow: hidden;
}

#owlPartner.xl > .owl-carousel > .owl-nav div {
    bottom: unset;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 40px;
    color: #d7ca32;
}

#owlPartner.xl > .owl-carousel > .owl-nav div.owl-prev {
    left: -30px;
}

#owlPartner.xl > .owl-carousel > .owl-nav div.owl-next {
    right: -30px;
}

.owl-carousel-wrapper {
    position: relative;
}

/* .owl-carousel-wrapper .owl-carousel .owl-stage-outer {
    padding: 4px;
} */

.owl-carousel-wrapper .owl-carousel .owl-nav {
    overflow: hidden;
    height: 0px;
}
.owl-carousel-wrapper .owl-theme .owl-dots .owl-dot.active span,
.owl-carousel-wrapper .owl-theme .owl-dots .owl-dot:hover span {
    background: var(--yellowGM);
}

.owl-carousel-wrapper .owl-theme.owl-red-theme .owl-dots .owl-dot.active span,
.owl-carousel-wrapper .owl-theme.owl-red-theme .owl-dots .owl-dot:hover span {
    background: var(--redGM);
}

/* card alignment */
/* .owl-carousel-wrapper .owl-carousel.owl-drag .owl-item {
    display: flex;
    justify-content: center;
} */

/* allows navigation arrows to be inside carousel */
/* .owl-carousel-wrapper .owl-carousel {
    padding:0 15px;
} */

/* .owl-carousel .owl-stage-outer .owl-stage {
    display: flex;
    gap: 0 20px;
} */

/* Dots */
.owl-carousel .owl-stage-outer {
    padding-bottom: 10px;
}

/* Navigation buttons wrapping the carousel */
.owl-nav div {
    position: absolute;
    top: 0;
    bottom: 0;
}

.owl-theme .owl-nav [class*="owl-"] {
    display: flex;
    align-items: center;
    margin: unset;
    color: var(--yellowGM);
    background: unset;
    font-size: 40px;
}

.owl-theme.owl-red-theme .owl-nav [class*="owl-"] {
    color: var(--redGM);
}

.owl-prev {
    left: 0px;
}

.owl-next {
    right: 0px;
}

.owl-theme .owl-nav [class*="owl-"]:hover {
    background: unset;
    color: var(--yellowGM);
    text-decoration: unset;
}

.owl-theme.owl-red-theme .owl-nav [class*="owl-"]:hover {
    color: var(--redGM);
}

.owl-theme.owl-red-theme .owl-nav [class*="owl-"].disabled {
    display: none;
}

/* @media (max-width: 575.98px)
{
   
}

@media (max-width: 400px) 
{
    
} */

/*!********************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/v5/gmi.owl.theme/gmi.owl.blogs.theme.css ***!
  \********************************************************************************************************************************************/
.owl-carousel-wrapper.owl-carousel-wrapper-blogs {
    --blogs-carousel-aspect-ratio: 2;
    position: relative;
    width: 100%;
    aspect-ratio: var(--blogs-carousel-aspect-ratio);
    overflow: hidden;
    /* border: 1px solid red; */
}

.owl-carousel-wrapper.owl-carousel-wrapper-blogs .owl-carousel {
    height: 100%;
    overflow: hidden;
}

.owl-carousel-wrapper.owl-carousel-wrapper-blogs
    .owl-carousel
    .owl-stage-outer {
    padding-bottom: unset;
}

.owl-carousel-wrapper.owl-carousel-wrapper-blogs
    .owl-carousel
    .owl-stage-outer {
    aspect-ratio: var(--blogs-carousel-aspect-ratio);
}

.owl-carousel-wrapper.owl-carousel-wrapper-blogs .owl-carousel .owl-stage {
    height: 100%;
}

.owl-carousel-wrapper.owl-carousel-wrapper-blogs .owl-carousel img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.owl-carousel-wrapper.owl-carousel-wrapper-blogs .owl-carousel .nav-button {
    border: 5px solid var(--yellowGM);
    height: 65px;
    width: 65px;
    align-self: center;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.5s linear;
}

.owl-carousel-wrapper.owl-carousel-wrapper-blogs .owl-carousel .nav-button i {
    color: var(--yellowGM);
    transition: all 0.5s linear;
}

.owl-carousel-wrapper.owl-carousel-wrapper-blogs
    .owl-carousel
    .nav-button:hover {
    background-color: var(--yellowGM);
}

.owl-carousel-wrapper.owl-carousel-wrapper-blogs
    .owl-carousel
    .nav-button:hover
    > i {
    color: var(--redGM);
}

/*!**************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/ads/Ads.css ***!
  \**************************************************************************************************************************/
.full-banner {
    text-align: center;
    max-height: 300px;
}

.grand-angle {
    width: var(--tileWidth);
    height: 600px;
}

.grand-angle.partner-add {
    --dkYellowGm: #d7ca32ed;
    padding: 20px;
    background-color: #fcfae4;
    border: 6px solid var(--dkYellowGm);
}

.grand-angle.partner-add .partnerRow1 {
    color: #707070;
    font: normal normal 600 32px / 36px "Source Serif 4";
}

.grand-angle.partner-add .partnerRow2 {
    font: normal normal 900 46px / 50px "Source Serif 4";
}

.grand-angle.partner-add .imgWrapper {
    padding-top: 20px;
    height: 100px;
    /* border:1px solid red; */
}

.grand-angle.partner-add .imgWrapper > svg {
    max-width: 120px;
    margin: unset;
}

.grand-angle.partner-add .partnerButton {
    background-color: var(--dkYellowGm);
}

@media (max-width: 999.98px) {
    .full-banner {
        overflow: hidden;
        max-height: 50px;
        max-width: 320px;
    }
}

@media (min-width: 1000px) {
    .full-banner {
        margin: 0px calc(-1 * var(--horizontalContentPadding)) -10px;
    }
}

/*!*************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/buttons/CardButton.css ***!
  \*************************************************************************************************************************************/
.CardButton {
    position: relative;
    z-index:5;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    column-gap:5px;
    width: 100%;
    /* max-width: 180px; */
    min-height: 40px;
    padding-left: 10px;
    padding-right: 10px;
    border: 1px solid #D1D1D1;
    border-radius: 10px;
    margin: 0 auto;
    overflow: hidden;
    font: normal normal bold 13px/16px "Montserrat";
}

.CardButton.HeaderButton {
    min-height: 24px;
    margin:unset;
    margin-right: auto;
}

.CardButton .text {
    /* flex: 1 1 auto; */
    flex: 0 1 auto;
    /* font: normal normal bold 13px/16px "Montserrat"; */
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
}

.CardButton.HeaderButton .text {
    font: normal normal bold 10px/13px Montserrat;
    text-transform: uppercase;
}

a.CardButtonLink.nabVersion {
    border-radius: 15px;
}

a.CardButtonLink.nabVersion .CardButton {
    padding: 20px 28px;
}

a.CardButtonLink.nabVersion .text {
    font: normal normal bold 17px/23px Montserrat;
}

/* .CardButton svg {
    flex: 0 0 auto;
    margin-left:auto;
    stroke-width:0.4px;
    stroke:black;
} */

/*Removing base class anchor effects*/
a.CardButtonLink:hover{
    border:unset;
    border-bottom:unset !important;
}

a.CardButtonLink .CardButton {
    background: linear-gradient(to left, white 50%, var(--yellowGM) 50%);
    background-size: 200% 100%;
    background-position: bottom right;
    transition: all .25s ease-out;
    height: 100%;
    width:100%;
}

a.CardButtonLink .CardButton:hover{
    background-position: bottom left;
}

a.CardButtonLink .bg-yellow {
    background: var(--yellowGM);
}

a.CardButtonLink.w40 {
    max-width: 40px;
    width:40px;
}

a.CardButtonLink.w120 {
    max-width: 120px;
    width:120px;
}

a.CardButtonLink.w160 {
    border-radius: 15px;
    max-width: 160px;
    width:160px;
    max-height:60px;
    height:60px;
}

a.CardButtonLink.w260 {
    max-width: 260px;
    width:260px;
}

a.CardButtonLink.xxl .CardButton {
    font: normal normal bold 17px/23px Montserrat;
}
/*!******************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/buttons/CardInfosButton.css ***!
  \******************************************************************************************************************************************/
.CardInfosButton {
    position: relative;
    z-index:5;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    width: 100%;
    min-height: 40px;
    padding-left: 10px;
    padding-right: 10px;
    border: 1px solid #D1D1D1;
    border-radius: 8px;
}

.CardInfosButton .caption {
    font: normal normal normal 8px/10px Montserrat;
    flex: 0 0 35%;
    overflow: hidden;
    text-overflow: ellipsis;
}

.CardInfosButton .text {
    font: normal normal 500 12px/18px Montserrat;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.CardInfosButton svg {
    flex: 0 0 auto;
    margin-left:auto;
    stroke-width:0.4px;
    stroke:black;
}

/*Removing base class anchor effects*/
a.CardInfosButtonLink:hover{
    border:unset;
    border-bottom:unset !important;
}

a.CardInfosButtonLink .CardInfosButton {
    background: linear-gradient(to left, transparent 50%, var(--yellowGM) 50%);
    background-size: 200% 100%;
    background-position: bottom right;
    transition: all .25s ease-out;
}

a.CardInfosButtonLink .CardInfosButton:hover{
    background-position: bottom left;
}
/*!*********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/cards/BaseCard.css ***!
  \*********************************************************************************************************************************/
:root {
    --baseCardHeight:450px;
    --cardHeaderHeight:40px;
    --baseCardMaxWidth:300px;
    --baseCardMaxWidth15:475px;
    --baseCardMaxWidth23:650px;
    --paddingCard:20px;
}

.BaseCard {
    position:relative;
    border: var(--card-border);
    max-width:var(--baseCardMaxWidth); 
    width:100%; 
    height:var(--baseCardHeight);
    max-height:var(--baseCardHeight);
    background-color: white;
    text-align:center; 
    padding:0px;
    display:flex; 
    flex-direction: column; 
    overflow:hidden;
    transition: transform 0.1s linear;
}

.BaseCard.fullwidthAnim {
    position: relative;
    z-index:10;
    max-width: var(--containerMaxWidth);
}

.BaseCard.withHeader {
    height: calc(var(--baseCardHeight) + var(--cardHeaderHeight));
    max-height: calc(var(--baseCardHeight) + var(--cardHeaderHeight));
}

.BaseCard .headerCard {
    padding: 8px 10px;
}

.BaseCard h3 {
    display: -webkit-box; 
    line-clamp: 3;
    -webkit-line-clamp: 3; 
    -webkit-box-orient: vertical; 
    overflow: hidden;
    text-align:left;
    font: normal normal 900 24px/26px "Source Serif 4";
    letter-spacing: 0px;
    margin: unset;
    margin-top:5px;
    /* padding: 0px 0px 2px 0px; */
}

.BaseCard .topImageCard {
    width:100%;
    /* height:200px; */
    aspect-ratio: 3/2;
}

.BaseCard > .contentCard {
    display:flex;
    flex-direction: column;
    align-items: flex-start;
    height:100%;
    padding:15px 15px 20px;
}

.BaseCard.BaseCardAnim:hover {
    border:1px solid var(--yellowGM);
    box-shadow: 0px 6px 18px #0000002E;
    /* transform: scale(1.05); */
}

.BaseCard.BaseCardAnim.sponsored:hover {
    border:1px solid rgba(62, 61, 56, 0.8);
}

@media (min-width: 992px) {
    .BaseCard.horizontalMode {
        flex-direction: row;
        max-width: 100%;
        height: auto;
        max-height: unset;
    }

    .BaseCard.horizontalMode .topImageCard {
        width: 400px;
        height: auto;
        /* max-width: 400px; */
        /* height: unset !important; */
        /* aspect-ratio: 1.5; */
        /* object-fit: cover; */
    }

    .BaseCard.horizontalMode .contentCard {
        flex: 1 1 0;
    }

    .BaseCard.responsive23 {
        flex: 1 1 0;
        min-width: var(--baseCardMaxWidth);
        max-width: 100%;
    }

    .BaseCard.BaseCard.fullwidthAnim.responsive23 {
        max-width: unset;
    }
    
}

@media (max-width: 479.98px) {
    :root {
        --card-separator-border: 5px solid #D1D1D1;
    }

    .BaseCard {
        border: unset;
        border-bottom: var(--card-separator-border);
        height:500px;
        max-height: 500px;
        max-width: 100%;
        transition: unset;
    }

    /* .BaseCard:first-child {
        border-top: var(--card-separator-border);
    }

    .BaseCard:first-child:hover {
        border-top: var(--card-separator-border);
    } */

    .BaseCard.BaseCardAnim:hover {
        border:unset;
        border-bottom: var(--card-separator-border);
        box-shadow: unset;
        transform: unset;
    }

    .BaseCard.BaseCardAnim.sponsored:hover {
        border:unset;
        border-bottom: var(--card-separator-border);
    }

    .BaseCard > .contentCard {
        padding:10px 18px 18px;
    }

    .BaseCard .topImageCard {
        /* width:100%;
        height: 270px;
        object-fit: cover; */
    }
}
/*!***********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/cards/CardHeader.css ***!
  \***********************************************************************************************************************************/
.CardHeader {
    display: flex;
    flex-direction: row;
    /* align-items: center; */
    width: 100%;
    height: 100%;
    max-height: 40px;
    font: normal normal 500 9px/11px Montserrat;
}

.CardHeader > svg {
    display: block;
    margin-right: 11px;
    align-self: center;
}

.CardHeader .textContainer {
    display: flex;
    flex-direction: column;
    flex:1 1;
    text-align: start;
    overflow: hidden;
}

.CardHeader .headerTitle {
    font-weight: bold;
    text-transform: uppercase;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.CardHeader .headerSubTitle {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/*!**************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/cards/Format475Card.css ***!
  \**************************************************************************************************************************************/
.Format475Card {
    position:relative;
    border: var(--card-border);
    max-width:475px; 
    width:100%; 
    background-color: white;
    overflow:hidden;
    transition: transform 0.1s linear;
}

/* hack to hider borders on 475Card */
.Format475Card.noBorder{
    border:none;
}
/*!**************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/cards/FullWidthCard.css ***!
  \**************************************************************************************************************************************/
.FullWidthCard {
    position:relative;
    border: var(--card-border);
    /* max-height:600px; */
    max-width:1000px; 
    width:100%; 
    background-color: white;
    overflow:hidden;
    transition: transform 0.1s linear;
}

.FullWidthCard:hover {
    border:1px solid var(--yellowGM);
    /* transform: scale(1.05); */
}

.FullWidthCard h3 {
    display: -webkit-box; 
    line-clamp: 3;
    -webkit-line-clamp: 3; 
    -webkit-box-orient: vertical; 
    overflow: hidden;
    text-align: center;
    font: normal normal 900 30px/32px "Source Serif 4";
    letter-spacing: 0px;
    margin: unset;
}

.line-clamp-2 {
    line-clamp: 2;
    -webkit-line-clamp: 2; 
}

.FullWidthCard .topImageCard {
    width:100%;
    /* height: 440px; */
    height: auto;
    object-fit: cover;
}

.FullWidthCard .contentCard {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    padding: 16px;
    height: 160px;
}

.FullWidthCard .contentCard .leftContentCard {
    position:relative;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    flex:0 1 65%;
}

.FullWidthCard .contentCard .leftContentCard .leftTitle {
   margin: auto 0;
}


.FullWidthCard .contentCard .rightContentCard {
    display: flex;
    flex-direction: column;
    /* border:1px solid green; */
    flex:1 1 35%;
    padding-left:60px;
}

.FullWidthCard.blog .contentCard .rightContentCard {
    justify-content: center;
}

.FullWidthCard.blog .contentCard .rightContentCard span.resume {
    display: -webkit-box; 
    line-clamp: 5;
    -webkit-line-clamp: 5; 
    -webkit-box-orient: vertical; 
    overflow: hidden;
    text-align:left;
    justify-content: center;
    font: normal normal 500 14px/18px Montserrat;
    letter-spacing: 0px;
}

.FullWidthCard.blog .contentCard .rightContentCard .infos {
    display: flex;
    flex-direction: column;
    gap: 6px 0px;
    width: 100%;
    justify-content: center;
    font: normal normal 500 12px/24px Montserrat;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.FullWidthCard.blog .themeTag {
    position:absolute;

    top: 0%;
    left: 50%;
    transform: translate(-50%, -110%);

    display: flex;
    align-items: center;
    height:100%;
    max-height:30px;
    font: normal normal bold 12px/14px Montserrat;
    letter-spacing: 0px;
    white-space: nowrap;
    text-transform: capitalize;
    margin:0 auto;
}

.FullWidthCard.blog .contentCard .rightContentCard .moreInformations {
    font: normal normal bold 9px/11px Montserrat;
    flex: 1 1;
    display: flex;
    align-items: flex-end;
    min-height:40px;
    max-height: 40px;;
}
/*!***************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/cards/HorizontalCard.css ***!
  \***************************************************************************************************************************************/
.HorizontalCard {
    width: 100%;
    max-width:100%;
    height: 268px;
    display: flex;
    overflow: hidden;
}

.HorizontalCard > .leftContent > .imgwrapper {
    width:400px;
    height: 100%;
}

.HorizontalCard > .leftContent > .imgwrapper img{
    width: 100%;
    height: 100%;
}

.HorizontalCard > .rightContent {
    flex:1 1 0;
    height: 100%;
    padding:20px;
}

/* WINERY TEMPLATE */
.HorizontalCard > .rightContent {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    overflow:hidden;
    row-gap:10px;
}

.HorizontalCard.Winery > .rightContent .title h3 {
    all:unset;
    display: block;
    letter-spacing: 0px;
    text-align: left;
    font: normal normal 900 36px / 42px "Source Serif 4";
}

.HorizontalCard.Winery > .rightContent .descrip {
    font: normal normal 500 16px / 22px Montserrat;
    flex-grow: 3;
    min-height: 0px;
    overflow: hidden;
    text-align: start;
    align-content: center;
}

.HorizontalCard.Winery > .rightContent .bottomContainer {
    flex-grow: 1;
    overflow: hidden;
    column-gap:10px;
    align-items: flex-end;
}

.HorizontalCard.Winery > .rightContent .infos {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    text-align: start;
    overflow: hidden;
    row-gap: 5px;
}

.HorizontalCard.Winery > .rightContent .infos > div {
    display: flex;
    width: 100%;
    align-items: center;
}

.HorizontalCard.Winery > .rightContent .infos > div > :first-child {
    width: 80px;
    flex-shrink: 0;
}

.HorizontalCard.Winery > .rightContent .infos > div > :last-child {
    flex:1;
}

.HorizontalCard.Winery > .rightContent .descrip:empty + .bottomContainer {
    flex-grow: 2;
}

/* END WINERY TEMPLATE */
/*!**************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/cards/ItineraryCard.css ***!
  \**************************************************************************************************************************************/
.ItineraryCard .firstRowContainer {
    display: flex;
    flex-direction: row;
    align-items:start;
    justify-content:start;
    gap:0px 10px;
    height: 30px;
    max-height:30px;
    width:100%;
    max-width: 100%;
}

.ItineraryCard .kmTag {
    display: flex;
    align-items: center;
    height:100%;
    font: normal normal bold 12px/14px Montserrat;
    letter-spacing: 0px;
    white-space: nowrap;
    text-transform: capitalize;
}

.ItineraryCard h3 {
    line-clamp: 2;
    -webkit-line-clamp: 2;
}

.ItineraryCard .contentCard .resume {
    text-align: left;
    font: normal normal 500 13px / 20px Montserrat;
    letter-spacing: 0px;
    margin-top: auto;
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
/*!********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/cards/MapCard.css ***!
  \********************************************************************************************************************************/
.MapCard {
    height: 510px;
    max-height: 510px;
}

.MapCard.columnSize1-5 {
    max-width: var(--baseCardMaxWidth15);
    width: 100%;
}

.MapCard.columnSize2 {
    max-width: var(--baseCardMaxWidth23);
    width: 100%;
}

.MapCard > .headerContent {
    padding: 1px 10px;
    display: flex;
    flex-direction: row;
    align-items: center;
    column-gap: 10px;
    width: 100%;
    min-height: 40px;
    max-height: 40px;
    /* font: normal normal bold 14px/17px Montserrat; */
    font: normal normal bold 14px/16px Montserrat;
    text-transform: uppercase;
}

.MapCard .mapWrapper {
    position: relative;
}

.MapCard .mapWrapper .mapImage {
    width: 100%;
    height: 340px;
    object-fit: cover;
}

.MapCard .mapWrapper .mapCopyright {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    text-align: right;
    padding-right: 5px;
    background-color: rgba(255, 255, 255, 0.6);
    font: normal normal 600 11px / 24px Montserrat;
}

.MapCard > .bodyContent {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px;
    font: normal normal 500 14px/20px Montserrat;
    text-align: start;
    height: 100%;
}

.MapCard > .bodyContent > .addressWrapper {
    display: flex;
    flex-direction: row;
    column-gap: 20px;

    /* display: flex;
    flex-direction: column;
    align-items: center;
    column-gap: 20px;
    letter-spacing: 0px; */
}

.MapCard > .bodyContent > .addressWrapper > .labelValue {
    font-weight: bold;
}

.MapCard > .bodyContent > .addressWrapper > .address {
    font: normal normal bold 14px/20px Montserrat;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

@media (max-width: 479.98px) {
    .MapCard > .headerContent {
        display: none;
    }

    .MapCard > .bodyContent > .addressWrapper {
        justify-content: center;
    }

    .MapCard .mapImage {
        height: 360px;
    }
}

/*!*********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/cards/MenuCard.css ***!
  \*********************************************************************************************************************************/
.MenuCard {
    height: 600px;
    max-height: 600px;
    background-color: #EDECE4;
    border: unset;
    padding: 33px 15px 40px 15px;
    align-items: center;
    overflow: hidden;
}

.MenuCard > div > svg.menuSvg {
    display: block;
    height: 35px;
    width: 35px;
}

.MenuCard > .headerTitle {
    font: normal normal 900 30px/38px "Source Serif 4";
    text-transform: uppercase;
    margin-top:6px;
}

.MenuCard > .subTitle {
    font: normal normal bold 12px/15px "Montserrat";
    text-transform: uppercase;
    margin-top:38px;
    margin-bottom:18px;
}

.MenuCard > .menuList {
    /* max-height: 320px; */
    height:auto;
    flex-grow: 0;
    flex-shrink: 1;
    overflow: hidden;
    gap: 25px 25px;
    margin-bottom: 25px;
}

.MenuCard > .menuList.max-height-menu {
    max-height: 320px;
}

.MenuCard.fullwidthAnim > .menuList {
    /* overflow-y: auto; */
    /* width:100%; */
}

.MenuCard > .menuList .menuListCategory {
    width:100%;
    max-width:270px;
}

.MenuCard > .menuList .categoryMenu {
    font: normal normal 600 21px / 24px "Source Serif 4";
    letter-spacing: 0px;
    text-transform: uppercase;
}

.MenuCard > .menuList .itemTitle {
    position:relative;
    font: normal normal normal 16px/20px "Montserrat";
    margin-top:25px;
}

.MenuCard > .menuList .itemTitle::before {
    content:"•";
    position:absolute;
    top:-25px;
    left:50%;
    transform: translateX(-50%);
    font-size:35px;
}

.MenuCard > .menuList .itemPrice {
    font: normal normal bold 16px/20px "Montserrat";
    padding-top: 5px;
}

@media (max-width: 479.98px) {
    .MenuCard.fullwidthAnim {
        height:unset;
        max-height: unset;
    }

    .MenuCard.fullwidthAnim .menuList {
        max-height: unset;
        overflow-y: none;
        line-clamp: unset;
        -webkit-line-clamp: unset;
    }
}
/*!****************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/cards/OpeningDaysCard.css ***!
  \****************************************************************************************************************************************/
.OpeningDaysCard {
    height: 510px;
    max-height: 510px;
    background-color: var(--yellowGM);
    border: unset;
    padding-top: 37px;
    align-items: center;
}

.OpeningDaysCard > svg {
    display: block;
    height: 30px;
    width: 30px;
}

.OpeningDaysCard > .headerTitle {
    font: normal normal 900 30px/38px "Source Serif 4";
    text-transform: uppercase;
    margin-top:6px;
}

.OpeningDaysCard > #isOpenBlock {
    display: flex;
    margin-top:8px;
    width: 174px;
    height: 35px;
    background: #00AD64 0% 0% no-repeat padding-box;
    border-radius: 12px;
    font: normal normal bold 12px/15px Montserrat;
    letter-spacing: 0px;
    color: #FEFEFE;
    align-items: center;
    justify-content: center;
    visibility:hidden;
}


.OpeningDaysCard > .daysWrapper {
    position: relative;
    margin-top:20px;
    font: normal normal bold 16px/40px Montserrat;
    letter-spacing: 0px;
    text-align: left;
    width: 100%;
}

.OpeningDaysCard > .daysWrapper .dayWrapper {
    position: relative;
    padding-left:15px;
}

.OpeningDaysCard > .daysWrapper .dayWrapper:not(:last-child)::after {
    content : "";
    position: absolute;
    left    : 50%;
    bottom  : 0;
    transform: translate(-50%);
    width   : 85%;
    opacity: 0.65;
    border-bottom:1px solid white;
}

.OpeningDaysCard > .daysWrapper .openingCircle {
    display: block;
    align-self: center;
    color: transparent;
    height:10px;
    width:10px;
    margin-right: 10px;
}

.OpeningDaysCard > .daysWrapper .openingCircle.active {
    color:#00AD64;
}

.OpeningDaysCard > .daysWrapper .openingCircle.passive {
    color:white;
}

.OpeningDaysCard > .daysWrapper .day {
    min-width:100px;
    width:125px;
}

.OpeningDaysCard > .daysWrapper .daytime {
    font-weight: 500;
    width:60px;
}

.OpeningDaysCard > .daysWrapper .daytime.bold {
    font-weight: bold;
}


@media (max-width: 479.98px) {
    
}
/*!***************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/cards/PeopleListCard.css ***!
  \***************************************************************************************************************************************/
.PeopleListCard {
    height: 600px;
    max-height: 600px;
}

.PeopleListCard > .headerContent {
    padding: 1px 10px;
    display: flex;
    flex-direction: row;
    align-items: center;
    column-gap: 10px;
    width: 100%;
    min-height: 40px;
    max-height: 40px;
    font: normal normal bold 14px/16px Montserrat;
    text-transform: uppercase;
}

.PeopleListCard > .bodyContent {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px 10px;
    font: normal normal bold 10px/18px Montserrat;
    height:100%;
}

.PeopleListCard > .bodyContent > .d-flex {
    justify-content: space-between;
}

.PeopleListCard > .bodyContent .col50 {
    display: flex;
    flex-direction: column;
    width:100%;
    max-width:130px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.PeopleListCard > .bodyContent .chefImage {
    width:100px;
    height: 100px;
    object-fit: cover;
    border-radius: 8px;
    box-shadow: 0px 2px 4px #00000014;
    border: 1px solid #FFFFFF;
}

.PeopleListCard > .bodyContent .chefName {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;
}

.PeopleListCard > .bodyContent .chefName.large {
    font: normal normal bold 14px/18px Montserrat;
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    line-clamp: 4; 
    -webkit-box-orient: vertical;
}

.PeopleListCard > .bodyContent .chefRole {
    font: normal normal 500 9px/17px Montserrat;
    letter-spacing: 0px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;
}

@media (min-width:480px) {
    .PeopleListCard > .bodyContent {
        flex-direction: column;
        row-gap: 10px;
    }

    /*.PeopleListCard > .bodyContent > div.only-Desktop:nth-child(n+5) {*/
    .PeopleListCard > .bodyContent > div:nth-child(n+5 of .only-Desktop) {
        border:1px solid red;
        display: none !important;
    }

    .PeopleListCard > .bodyContent .only-Mobile {
        display: none !important;
    }
}

@media (max-width: 479.98px) {
    /* .PeopleListCard > .headerContent {
        display: none;
    } */

    .PeopleListCard {
        height: unset;
        max-height: unset;
    }

    .PeopleListCard > .bodyContent {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px 10px;
    }

    .PeopleListCard > .bodyContent .chefImage {
        width: 160px;
        height: 160px;
    }

    .PeopleListCard > .bodyContent .col50 {
        width:100%;
        max-width:100%;
        overflow: hidden;
    }

    .PeopleListCard > .bodyContent .only-Mobile {
        display: inherit;
    }

    .PeopleListCard > .bodyContent .only-Desktop {
        display: none !important;
    }

}
/*!*****************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/cards/PresentationCard.css ***!
  \*****************************************************************************************************************************************/
.PresentationCard {
    /* height: 510px; */
    /* min-height: 255px; */
    /* max-height: 255px; */
    max-width: unset;
    max-height:unset;
    height:unset;
}

.PresentationCard > .headerContent {
    padding: 1px 10px;
    display: flex;
    flex-direction: row;
    align-items: center;
    column-gap: 10px;
    width: 100%;
    min-height: 40px;
    max-height: 40px;
    font: normal normal bold 14px/16px Montserrat;
    text-transform: uppercase;
}

.PresentationCard > .bodyContent {
    display: flex;
    flex-direction: column;
    padding: 20px;
    font: normal normal 500 14px/20px Montserrat;
    text-align: start;
    height:100%;
    overflow: hidden;
}

.PresentationCard > .bodyContent > .descriptionReview {
    font: normal normal 500 14px/22px Montserrat;
    letter-spacing: 0px;
    margin-bottom: 25px;
}


.PresentationCard.fullwidthAnim .descriptionReview {
    overflow-y: auto;
    display:block; 
}

.PresentationCard.fullwidthAnim {
    height:unset;
    max-height: unset;
}

@media (min-width: 992px) {
    .PresentationCard {
        /* border:unset; */
    }
}


@media (max-width: 479.98px) {
    .PresentationCard > .headerContent {
         /* display: none; */
         justify-content: center;
         min-height: unset;
    }


    .PresentationCard > .bodyContent {
        padding: 10px 20px 20px 20px;
    }

    .PresentationCard.fullwidthAnim {
        height:unset;
        max-height: unset;
    }

    .PresentationCard.fullwidthAnim .descriptionReview {
        overflow-y: none;
        line-clamp: unset;
        -webkit-line-clamp: unset;
    }
}
/*!*****************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/cards/ReviewBottleCard.css ***!
  \*****************************************************************************************************************************************/
.ReviewBottleCard {
    height: 510px;
    min-height: 510px;
    max-height: 510px;
}

.ReviewBottleCard > .headerContent {
    padding: 1px 10px;
    display: flex;
    flex-direction: row;
    align-items: center;
    column-gap: 10px;
    width: 100%;
    min-height: 40px;
    max-height: 40px;
    font: normal normal bold 14px/16px Montserrat;
    text-transform: uppercase;
}

.ReviewBottleCard > .headerContent > svg {
    width:24px;
    height:18px;
    fill: black;
    stroke: black;
    stroke-width:1.5px;
}

.ReviewBottleCard > .headerContent > svg.large {
    width:30px;
    height:30px;
    fill: unset;
    stroke: unset;
    stroke-width:unset;
}

.ReviewBottleCard > .bodyContent {
    display: flex;
    flex-direction: column;
    padding: 10px 20px 20px;
    font: normal normal 500 14px/20px Montserrat;
    text-align: start;
    height:100%;
    overflow: hidden;
}

.ReviewBottleCard > .bodyContent .markText {
    display: flex;
    flex-direction: row;
    align-items: center;
    font: normal normal 500 24px/25px Montserrat;
    letter-spacing: 0px;
}

.ReviewBottleCard > .bodyContent .markText > b {
    font-size:24.7px;
}

.ReviewBottleCard > .bodyContent > .descriptionReview {
    font: normal normal 500 14px/22px Montserrat;
    letter-spacing: 0px;
    margin-bottom: 25px;
}

.ReviewBottleCard.fullwidthAnim .descriptionReview {
    /* overflow-y: auto; */
}


@media (max-width: 479.98px) {
    .ReviewBottleCard > .headerContent {
        justify-content: center;
        min-height: unset;
    }

    .ReviewBottleCard > .bodyContent {
        padding: 10px 20px 20px 20px;
    }

    .ReviewBottleCard.fullwidthAnim {
        height:unset;
        max-height: unset;
    }

    .ReviewBottleCard.fullwidthAnim .descriptionReview {
        overflow-y: none;
        line-clamp: unset;
        -webkit-line-clamp: unset;
    }

    .ReviewBottleCard.allContentShown {
        min-height: unset;
    }
}
/*!***********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/cards/ReviewCard.css ***!
  \***********************************************************************************************************************************/
.ReviewCard {
    height: 510px;
    min-height: 510px;
    max-height: 510px;
}

.ReviewCard > .headerContent {
    padding: 1px 10px;
    display: flex;
    flex-direction: row;
    align-items: center;
    column-gap: 10px;
    width: 100%;
    min-height: 40px;
    max-height: 40px;
    font: normal normal bold 14px/16px Montserrat;
    text-transform: uppercase;
}

.ReviewCard > .headerContent > svg {
    width:24px;
    height:18px;
    fill: black;
    stroke: black;
    stroke-width:1.5px;
}

.ReviewCard > .headerContent > svg.large {
    width:30px;
    height:30px;
    fill: unset;
    stroke: unset;
    stroke-width:unset;
}

.ReviewCard > .bodyContent {
    display: flex;
    flex-direction: column;
    padding: 20px;
    font: normal normal 500 14px/20px Montserrat;
    text-align: start;
    height:100%;
    overflow: hidden;
}

.ReviewCard > .bodyContent > .topWrapper {
    width:100%;
    /* max-width: 95px; */
    height:35px;
    max-height: 35px;
    column-gap: 14px;
    margin-bottom:20px;
}

.ReviewCard > .bodyContent > .topWrapper > .markText {
    display: flex;
    flex-direction: row;
    align-items: center;
    font: normal normal 500 24px/25px Montserrat;
    letter-spacing: 0px;
}

.ReviewCard > .bodyContent > .topWrapper > .markText > b {
    font-size:24.7px;
}

.ReviewCard > .bodyContent > .nomenclature {
    text-align: center;
    font: normal normal 900 20px/20px "Source Serif 4";
    letter-spacing: 0px;
    text-transform: uppercase;
    margin-bottom:30px;
}

.ReviewCard > .bodyContent > .descriptionReview {
    font: normal normal 500 14px/22px Montserrat;
    letter-spacing: 0px;
    margin-bottom: 25px;
}

.ReviewCard.fullwidthAnim .descriptionReview {
    /* overflow-y: auto; */
}


@media (max-width: 479.98px) {
    .ReviewCard > .headerContent {
        /* display: none; */
        justify-content: center;
        min-height: unset;
    }

    .ReviewCard > .bodyContent {
        padding: 10px 20px 20px 20px;
    }

    .ReviewCard.fullwidthAnim {
        height:unset;
        max-height: unset;
    }

    .ReviewCard.fullwidthAnim .descriptionReview {
        overflow-y: none;
        line-clamp: unset;
        -webkit-line-clamp: unset;
    }
}
/*!******************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/cards/ReviewProductCard.css ***!
  \******************************************************************************************************************************************/
.ReviewProductCard {
    height: 510px;
    min-height: 510px;
    max-height: 510px;
}

.ReviewProductCard > .headerContent {
    padding: 1px 10px;
    display: flex;
    flex-direction: row;
    align-items: center;
    column-gap: 10px;
    width: 100%;
    min-height: 40px;
    max-height: 40px;
    font: normal normal bold 14px/16px Montserrat;
    text-transform: uppercase;
}

.ReviewProductCard > .headerContent > svg {
    width:24px;
    height:18px;
    fill: black;
    stroke: black;
    stroke-width:1.5px;
}

.ReviewProductCard > .headerContent > svg.large {
    width:30px;
    height:30px;
    fill: unset;
    stroke: unset;
    stroke-width:unset;
}

.ReviewProductCard > .headerContent > .headerTitle {
    flex: 1 1 0;
    text-align: start;
}

.ReviewProductCard > .headerContent > .markText {
    display: flex;
    flex-direction: row;
    align-items: center;
    font: normal normal 500 24px/25px Montserrat;
    letter-spacing: 0px;
}

.ReviewProductCard > .headerContent > .markText > b {
    font-size:24.7px;
}

.ReviewProductCard > .bodyContent {
    display: flex;
    flex-direction: column;
    padding: 20px;
    font: normal normal 500 14px/20px Montserrat;
    text-align: start;
    height:100%;
    overflow: hidden;
}

.ReviewProductCard > .bodyContent > .topWrapper {
    width:100%;
    /* max-width: 95px; */
    height:35px;
    max-height: 35px;
    column-gap: 14px;
    margin-bottom:20px;
}

.ReviewProductCard > .bodyContent > .topWrapper > .markText {
    display: flex;
    flex-direction: row;
    align-items: center;
    font: normal normal 500 24px/25px Montserrat;
    letter-spacing: 0px;
}

.ReviewProductCard > .bodyContent > .topWrapper > .markText > b {
    font-size:24.7px;
}

.ReviewProductCard > .bodyContent > .nomenclature {
    text-align: center;
    font: normal normal 900 20px/20px "Source Serif 4";
    letter-spacing: 0px;
    text-transform: uppercase;
    margin-bottom:30px;
}

.ReviewProductCard > .bodyContent > .descriptionReview {
    font: normal normal 500 14px/22px Montserrat;
    letter-spacing: 0px;
    margin-bottom: 25px;
}

.ReviewProductCard.fullwidthAnim .descriptionReview {
    /* overflow-y: auto; */
}


@media (max-width: 479.98px) {
    .ReviewProductCard > .headerContent {
        /* display: none; */
        justify-content: center;
        min-height: unset;
    }

    .ReviewProductCard > .bodyContent {
        padding: 10px 20px 20px 20px;
    }

    .ReviewProductCard.fullwidthAnim {
        height:unset;
        max-height: unset;
    }

    .ReviewProductCard.fullwidthAnim .descriptionReview {
        overflow-y: none;
        line-clamp: unset;
        -webkit-line-clamp: unset;
    }

    .ReviewProductCard.allContentShown {
        height: auto;
        min-height:unset;
        max-height: unset;
    }
}
/*!******************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/cards/SpecificationCard.css ***!
  \******************************************************************************************************************************************/
.SpecificationCard {
    height: 510px;
    min-height: 510px;
    max-height: 510px;
}

.SpecificationCard > .headerContent {
    padding: 0px 20px;
    display: flex;
    flex-direction: row;
    align-items: center;
    column-gap: 10px;
    width: 100%;
    min-height: 40px;
    max-height: 40px;
    font: normal normal bold 14px/16px Montserrat;
    text-transform: uppercase;
    border-bottom: var(--card-border);
}

.SpecificationCard > .headerContent > .headerTitle {
    text-align: start;
}

.SpecificationCard > .bodyContent {
    padding: 0px 20px 20px;
    text-align: start;
    height: 100%;
    overflow: hidden;
}

.SpecificationCard > .bodyContent .specTable {
    overflow: hidden;
    height: auto;
    row-gap: 12px;
    padding-top: 10px;
    padding-left: 10px;
    padding-right: 10px;
}

.SpecificationCard > .bodyContent .specTable.max-height-content {
    max-height: 380px;
    mask-image: linear-gradient(
        to top,
        rgba(0, 0, 0, 0) 0px,
        rgba(0, 0, 0, 1) 30px
    );
    -webkit-mask-image: linear-gradient(
        to top,
        rgba(0, 0, 0, 0) 0px,
        rgba(0, 0, 0, 1) 30px
    );
}

.SpecificationCard .key-value-row {
    display: flex;
    flex-direction: row;
}

.SpecificationCard.forceColumnMode .key-value-row {
    flex-direction: column;
}

.SpecificationCard.forceColumnMode.fullwidthAnim .key-value-row {
    flex-direction: row;
}

.SpecificationCard .key-value-row .key {
    font: normal normal 500 14px / 20px Montserrat !important;
    width: 200px;
    flex-shrink: 0;
}
.SpecificationCard .key-value-row .value {
    font: normal normal 700 14px / 20px Montserrat;
    flex-grow: 1;
}

.SpecificationCard > .bodyContent > .topWrapper {
    width: 100%;
    /* max-width: 95px; */
    height: 35px;
    max-height: 35px;
    column-gap: 14px;
    margin-bottom: 20px;
}

@media (max-width: 479.98px) {
    .SpecificationCard > .headerContent {
        /* display: none; */
        padding: 10px 20px;
        justify-content: center;
        min-height: unset;
    }

    .SpecificationCard > .bodyContent {
        padding: 10px 20px 20px 20px;
    }

    .SpecificationCard.forceColumnMode .key-value-row {
        flex-direction: column;
    }

    .SpecificationCard.fullwidthAnim {
        height: unset;
        max-height: unset;
    }

    .SpecificationCard.forceColumnMode.fullwidthAnim .key-value-row {
        flex-direction: column;
    }

    .SpecificationCard.fullwidthAnim .descriptionReview {
        overflow-y: none;
        line-clamp: unset;
        -webkit-line-clamp: unset;
    }

    .SpecificationCard.allContentShown {
        height: auto;
        min-height: unset;
        max-height: unset;
    }
}

/*!*************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/cards/TwoThirdCard.css ***!
  \*************************************************************************************************************************************/
.TwoThirdCard {
    position:relative;
    border: var(--card-border);
    max-height:600px;
    max-width:650px; 
    width:100%; 
    background-color: white;
    overflow:hidden;
    transition: transform 0.1s linear;
}

.TwoThirdCard:hover {
    border:1px solid var(--yellowGM);
    /* transform: scale(1.05); */
}

.TwoThirdCard .headerCard {
    padding: 8px 10px;
}

.TwoThirdCard h3 {
    display: -webkit-box; 
    line-clamp: 2;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical; 
    overflow: hidden;
    text-align: center;
    font: normal normal 900 30px/34px "Source Serif 4";
    letter-spacing: 0px;
    margin: unset;
}

.TwoThirdCard .topImageCard {
    width:100%;
    height: 400px;
    object-fit: cover;
}

.TwoThirdCard .contentCard {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap:2px 0px;
    padding: 16px 32px;
    height: 160px;
}

.TwoThirdCard .contentCard span.resume {
    display: -webkit-box; 
    line-clamp: 3;
    -webkit-line-clamp: 3; 
    -webkit-box-orient: vertical; 
    overflow: hidden;
    text-align:left;
    justify-content: center;
    font: normal normal 500 14px/18px Montserrat;
    letter-spacing: 0px;
    margin-top:auto;
}

.TwoThirdCard .contentCard .moreInformations {
    font: normal normal bold 9px/11px Montserrat;
}

.TwoThirdCard .contentCard .infos {
    display: flex;
    flex-direction: row;
    margin-top: auto;
    gap: 0px 6px;
}

.TwoThirdCard .contentCard .infos > a {
    flex: 1 1 auto;
}

.TwoThirdCard.blog .themeTag {
    position:absolute;
    top:384px;
    left:50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    height:100%;
    max-height:30px;
    font: normal normal bold 12px/14px Montserrat;
    letter-spacing: 0px;
    white-space: nowrap;
    text-transform: capitalize;
}

.TwoThirdCard.blog .themeTag.withHeader {
    top:424px;
}
/*!*******************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/buttons/CardButton.css ***!
  \*******************************************************************************************************************************************/
.figma-cardButton {
    --left-color-anim: white;
    --figma-button-border-radius: var(--GMI-buttonborderradius);

    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    column-gap: 10px;
    height: 40px;
    width: 260px;
    background-color: var(--GMI-carddefaultbackground);
    border: 1px solid;
    border-color: var(--GMI-buttonbordercolor);
    border-radius: var(--figma-button-border-radius);
    box-sizing: border-box;
    overflow: hidden;
    padding: 12px 10px;
    z-index: 5;

    color: var(--GMI-black);
    font-family: var(--button-label-font-family);
    font-size: var(--button-label-font-size);
    font-style: var(--button-label-font-style);
    font-weight: var(--button-label-font-weight);
    letter-spacing: var(--button-label-letter-spacing);
    line-height: var(--button-label-line-height);

    background: linear-gradient(
        to left,
        var(--left-color-anim) 50%,
        var(--yellowGM) 50%
    );
    background-size: 200% 100%;
    background-position: bottom right;
    transition: all 0.25s ease-out;
}

.figma-cardButton.transparent-button {
    --left-color-anim: transparent;
}

.figma-cardButton.horizontal {
    --figma-button-border-radius: 15px;

    align-items: center;
    background-color: var(--GMI-carddefaultbackground);
    border: 1px solid;
    border-color: var(--GMI-buttonbordercolor);
    display: flex;
    flex-direction: column;
    height: 60px;
    justify-content: center;
    overflow: hidden;
    padding: 12px 10px;
    position: relative;
    width: 160px;
    font-family: var(--card-horizontal-button-font-font-family);
    font-size: var(--card-horizontal-button-font-font-size);
    font-style: var(--card-horizontal-button-font-font-style);
    font-weight: var(--card-horizontal-button-font-font-weight);
    letter-spacing: var(--card-horizontal-button-font-letter-spacing);
    line-height: var(--card-horizontal-button-font-line-height);
}

.figma-cardButton:hover {
    border: unset; /* disabling button effets */
    background-position: bottom left;
    border: 1px solid;
    border-color: var(--GMI-buttonbordercolor);
    border-radius: var(--figma-button-border-radius);
}

.figma-cardButton.captionCardButton .caption {
    flex: 0 0 auto;
    color: var(--GMI-black);
    font-family: "Montserrat", Helvetica;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 15.8px;
    width: 60px;
    text-transform: capitalize;
}

.figma-cardButton.captionCardButton .chevron {
    flex: 0 0 auto;
}

.figma-cardButton.captionCardButton .button-text-wrapper {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    width: 100%;
    overflow: hidden;
}

.figma-cardButton.captionCardButton .button-text-wrapper .f-700 {
    font-weight: 700;
}

.figma-cardButton.captionCardButton .button-text-wrapper .f-500 {
    font-weight: 500;
}

.figma-cardButton.xs {
    flex: 0 0 auto;
    width: 40px;
}

.figma-cardButton.lg {
    flex: 0 0 auto;
    width: 130px;
}

.figma-cardButton.yellow {
    background: unset;
    background-color: var(--yellowGM);
}

/*!************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/buttons/PlaceCardButton.css ***!
  \************************************************************************************************************************************************/
.figma-placeCardButton {
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    column-gap: 10px;
    /* width: 94px; */
    width: auto;
    height: 26px;
    background-color: var(--GMI-carddefaultbackground);
    border: 1px solid;
    border-color: var(--GMI-buttonbordercolor);
    border-radius: var(--GMI-buttonborderradius);
    box-sizing: border-box;
    overflow: hidden;
    padding: 12px 10px;
    z-index: 5;

    color: var(--GMI-black);
    font-family: var(--button-label-font-family);
    font-size: var(--button-label-font-size);
    font-style: var(--button-label-font-style);
    font-weight: var(--button-label-font-weight);
    letter-spacing: var(--button-label-letter-spacing);
    line-height: var(--button-label-line-height);

    background: linear-gradient(to left, white 50%, var(--yellowGM) 50%);
    background-size: 200% 100%;
    background-position: bottom right;
    transition: all 0.25s ease-out;
}

.figma-placeCardButton:hover {
    border: unset; /* disabling button effets */
    background-position: bottom left;
    border: 1px solid;
    border-color: var(--GMI-buttonbordercolor);
    border-radius: var(--GMI-buttonborderradius);
}

/*!***********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/cards/Card.css ***!
  \***********************************************************************************************************************************/
.cardkind-empty {
    width: 100%;
    height: auto;
    background-color: var(--GMI-carddefaultbackground);
    border: unset;
    border: 1px solid var(--GMI-cardbordercolor);
    padding-bottom: 20px;
}

/* Hover en mobile : minimal */
.cardkind-empty:hover {
    border-color: var(--GMI-cardbordercolor);
    box-shadow: unset;
}

/* Améliorations pour écrans plus larges */
@media (min-width: 576px) {
    .cardkind-empty {
        width: var(--GMI-defaultcardwidth);
        height: var(--GMI-defaultcardheight);
        /* border: 1px solid var(--GMI-cardbordercolor); */
        /* border-bottom: unset; */
        transition: border-color 0.3s ease, box-shadow 0.3s ease;
    }

    .cardkind-empty:hover {
        border-color: var(--yellowGM);
        box-shadow: 0px 6px 18px #0000002e;
    }

    .cardkind-empty.sponsored {
        --yellowGM: var(--GMI-sponsored-bgColor);
    }
}

/*!******************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/cards/ArtisanCard.css ***!
  \******************************************************************************************************************************************/
.cardkind-artisan {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    /* background-color: var(--GMI-carddefaultbackground);
    border: 1px solid;
    border-color: var(--GMI-cardbordercolor);
    padding-bottom: 20px; */
}

.cardkind-artisan > .thumbnail-wrapper {
    width: 100%;
    position: relative;
    padding-top: 66.66%; /* Ratio 3:2 pour 666x444 */
    background-color: var(
        --GMI-carddefaultbackground
    ); /* ou autre couleur neutre */
    overflow: hidden;
}

.cardkind-artisan > .thumbnail-wrapper .thumbnail-frame {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cardkind-artisan .details {
    display: flex;
    position: relative;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    gap: 3px;
    width: 100%;
}

/*!************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/cards/BecomePartnerCard.css ***!
  \************************************************************************************************************************************************/
.cardkind-become-partner {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    background-color: #fefce5;
    height: 400px;

    color: var(--GMI-black);
    font-family: "Source Serif 4", Helvetica;
    font-size: 41px;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 38px;
    text-align: center;
}

.cardkind-become-partner .stretched-link::after {
    z-index: 100; /* au-dessus des autres enfants positionnés */
}

.cardkind-become-partner > .cardPaddingContainer > .button-more {
    background: unset;
    background-color: var(--yellowGM);
    border-color: var(--yellowGM);
    justify-self: center;
}

/* Améliorations pour écrans plus larges */
@media (min-width: 576px) {
    .cardkind-become-partner {
        border: 1px solid #d7ca32;
    }
}

/*!***************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/cards/BlogCard.css ***!
  \***************************************************************************************************************************************/
.cardkind-blog {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}

.cardkind-blog > .thumbnail-wrapper {
    width: 100%;
    position: relative;
    padding-top: 66.66%; /* Ratio 3:2 pour 666x444 */
    background-color: var(--GMI-carddefaultbackground);
    overflow: hidden;
}

.cardkind-blog > .thumbnail-wrapper .thumbnail-frame {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cardkind-blog > .themeTag {
    --h-block: 30px;

    align-items: center;
    background-color: var(--GMI-outlinedyellow);
    border-radius: 8px;
    display: inline-flex;
    gap: 10px;
    height: var(--h-block);
    justify-content: center;
    padding: 0px 12px;
    position: absolute;
    margin-top: calc(66.66% - (var(--h-block) / 2));

    font-family: var(--news-categories-yellow-font-family);
    font-size: var(--news-categories-yellow-font-size);
    font-style: var(--news-categories-yellow-font-style);
    font-weight: var(--news-categories-yellow-font-weight);
    letter-spacing: var(--news-categories-yellow-letter-spacing);
    line-height: var(--news-categories-yellow-line-height);
    white-space: nowrap;
}

.cardkind-blog .synopsis {
    color: var(--GMI-black);
    font-family: var(--news-card-text-font-family);
    font-size: var(--news-card-text-font-size);
    font-style: var(--news-card-text-font-style);
    font-weight: var(--news-card-text-font-weight);
    letter-spacing: var(--news-card-text-letter-spacing);
    line-height: var(--news-card-text-line-height);
}

.cardkind-blog .buttonsContainer {
    display: flex;
    position: relative;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
    width: 100%;
}

/*!****************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/cards/HotelCard.css ***!
  \****************************************************************************************************************************************/
.cardkind-hotel {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}

.cardkind-hotel > .thumbnail-wrapper {
    width: 100%;
    position: relative;
    padding-top: 66.66%; /* Ratio 3:2 pour 666x444 */
    background-color: var(
        --GMI-carddefaultbackground
    ); /* ou autre couleur neutre */
    overflow: hidden;
}

.cardkind-hotel > .thumbnail-wrapper .thumbnail-frame {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cardkind-hotel .details {
    display: flex;
    position: relative;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
    width: 100%;
}

.cardkind-hotel .details > .details-toques > :first-child {
    align-self: center;
}

.cardkind-hotel .details > .details-toques > .toques {
    margin: 0px var(--GMI-carddetailhorizontalpaddingh);
}

/*!*******************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/cards/PartnersCard.css ***!
  \*******************************************************************************************************************************************/
.cardkind-partners {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    background-color: #fefce5;
    height: 360px;
    padding: 20px;
    overflow: hidden;
}

.cardkind-partners > .title-container {
    margin-top: 10px;

    color: var(--GMI-black);
    font-family: var(--partners-main-title-font-family);
    font-size: var(--partners-main-title-font-size);
    font-style: var(--partners-main-title-font-style);
    font-weight: var(--partners-main-title-font-weight);
    letter-spacing: var(--partners-main-title-letter-spacing);
    line-height: var(--partners-main-title-line-height);
    text-align: center;
    white-space: nowrap;
}

.cardkind-partners > .description-container {
    margin-top: 30px;
    color: var(--GMI-black);
    font-family: var(--partners-text-font-family);
    font-size: var(--partners-text-font-size);
    font-style: var(--partners-text-font-style);
    font-weight: var(--partners-text-font-weight);
    letter-spacing: var(--partners-text-letter-spacing);
    line-height: var(--partners-text-line-height);
    text-align: center;
}

/* .cardkind-become-partner > .cardPaddingContainer > .button-more {
    background: unset;
    background-color: var(--yellowGM);
    border-color: var(--yellowGM);
    justify-self: center;
} */

/* Améliorations pour écrans plus larges */
@media (min-width: 576px) {
    .cardkind-partners {
        border: 1px solid #d7ca32;
    }

    .uneDeux-card.uneDeux-card-partners {
        background-color: var(--GMI-partnersbackgroundcolor);
        border: 1px solid var(--GMI-partnersbordercolor);
        height: 400px;
    }

    .uneDeux-card.uneDeux-card-partners > .title-container {
        margin-top: 30px;

        color: var(--GMI-black);
        font-family: var(--partners-main-title-font-family);
        font-size: var(--partners-main-title-font-size);
        font-style: var(--partners-main-title-font-style);
        font-weight: var(--partners-main-title-font-weight);
        letter-spacing: var(--partners-main-title-letter-spacing);
        line-height: var(--partners-main-title-line-height);
        text-align: center;
        white-space: nowrap;
    }

    .uneDeux-card.uneDeux-card-partners > .description-container {
        margin-top: 30px;
        color: var(--GMI-black);
        font-family: var(--partners-text-font-family);
        font-size: var(--partners-text-font-size);
        font-style: var(--partners-text-font-style);
        font-weight: var(--partners-text-font-weight);
        letter-spacing: var(--partners-text-letter-spacing);
        line-height: var(--partners-text-line-height);
        text-align: center;
        max-width: 246px;
        align-self: center;
    }
}

/*!*****************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/cards/PeopleCard.css ***!
  \*****************************************************************************************************************************************/
.cardkind-people {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}

.cardkind-people > .svg-wrapper {
    width: 100%;
    position: relative;
    padding-top: 66.66%; /* Ratio 3:2 pour 666x444 */
    background-color: rgb(237, 236, 228);
    overflow: hidden;
}

.cardkind-people > .thumbnail-wrapper {
    width: 100%;
    position: relative;
    padding-top: 66.66%; /* Ratio 3:2 pour 666x444 */
    background-color: var(--GMI-carddefaultbackground);
    overflow: hidden;
}

.cardkind-people > .thumbnail-wrapper .thumbnail-frame,
.cardkind-people > .svg-wrapper .thumbnail-frame {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cardkind-people .titleContainer {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    width: 100%;
    overflow: hidden;
    gap: 5px;
}

.cardkind-people .titleContainer > .subTitle {
    display: inline-block;
    color: var(--GMI-black);
    font-family: var(--people-role-title-font-family);
    font-size: var(--people-role-title-font-size);
    font-style: var(--people-role-title-font-style);
    font-weight: var(--people-role-title-font-weight);
    letter-spacing: var(--people-role-title-letter-spacing);
    line-height: var(--people-role-title-line-height);
    text-transform: uppercase;
}

.cardkind-people .details {
    display: flex;
    position: relative;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
    width: 100%;
}

/*!****************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/cards/PlaceCard.css ***!
  \****************************************************************************************************************************************/
.place-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: auto;
    background-color: var(--GMI-carddefaultbackground);
    border: unset;
    border: 1px solid var(--GMI-cardbordercolor);
    /* padding-bottom: 20px; */
    overflow: hidden;
    position: relative;
}

/* Hover en mobile : minimal */
.place-card:hover {
    border-color: var(--GMI-cardbordercolor);
    box-shadow: unset;
}

.place-card .cardkind-empty {
    border: unset;
}

/* Empêche l'effet hover sur une carte quand elle est dans une place-card */
.place-card .cardkind-empty:hover {
    border-color: unset;
    box-shadow: unset;
}

.place-card-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px;
    width: 100%;
    height: 40px;
    min-height: 40px;
    border-bottom: 1px solid var(--GMI-cardbordercolor);
    background-color: white;
    overflow: hidden;
}

.place-card-header.xl {
    height: 50px;
    min-height: 50px;
}

.place-card-header > svg {
    flex: 0 0 auto;
    width: 26px;
    height: 26px;
}

.place-card-header.xl > svg {
    width: 34px;
    height: 34px;
}

.place-card-header .place-card-header-title {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    overflow: hidden;
}

.place-card-header .place-card-header-title > .title {
    font-family: var(--news-header-title-font-family);
    font-weight: var(--news-header-title-font-weight);
    color: var(--GMI-black);
    font-size: var(--news-header-title-font-size);
    letter-spacing: var(--news-header-title-letter-spacing);
    line-height: var(--news-header-title-line-height);
    font-style: var(--news-header-title-font-style);
}

.place-card-header.xl .place-card-header-title > .title {
    color: var(--GMI-black);
    font-family: var(--product-place-header-font-family);
    font-size: var(--product-place-header-font-size);
    font-style: var(--product-place-header-font-style);
    font-weight: var(--product-place-header-font-weight);
    letter-spacing: var(--product-place-header-letter-spacing);
    line-height: var(--product-place-header-line-height);
}

.place-card-header .place-card-header-title > .subTitle {
    font-family: var(--news-header-title-font-family);
    font-weight: 300;
    color: var(--GMI-black);
    font-size: 10px;
    letter-spacing: 0;
    line-height: 12px;
}

.place-card-header.xl .place-card-header-title > .subTitle {
    color: var(--GMI-black);
    font-family: var(--product-header-description-font-family);
    font-size: var(--product-header-description-font-size);
    font-style: var(--product-header-description-font-style);
    font-weight: var(--product-header-description-font-weight);
    letter-spacing: var(--product-header-description-letter-spacing);
    line-height: var(--product-header-description-line-height);
}

/* Améliorations pour écrans plus larges */
@media (min-width: 576px) {
    .place-card {
        width: var(--GMI-defaultcardwidth);
        height: var(--GMI-theplacecardheight);

        /* border-bottom: unset; */
        transition: border-color 0.3s ease, box-shadow 0.3s ease;
    }

    .place-card.place-selection-card {
        width: 380px;
        height: auto;
    }

    .place-card.place-partner-card {
        height: auto;
    }

    .place-card:hover {
        border-color: var(--yellowGM);
        box-shadow: 0px 6px 18px #0000002e;
    }

    .place-card.sponsored {
        --yellowGM: var(--GMI-sponsored-bgColor);
    }
}

/*!******************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/cards/ProductCard.css ***!
  \******************************************************************************************************************************************/
.cardkind-product {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}

.cardkind-product .titleContainer {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    width: 100%;
    /* height: 130px; */
    overflow: hidden;
    gap: 5px;
}

.cardkind-product .titleContainer > .subTitle {
    display: inline-block;
    font-family: var(--bottle-card-productor-font-family);
    font-weight: var(--bottle-card-productor-font-weight);
    color: var(--GMI-black);
    font-size: var(--bottle-card-productor-font-size);
    letter-spacing: var(--bottle-card-productor-letter-spacing);
    line-height: var(--bottle-card-productor-line-height);
    font-style: var(--bottle-card-productor-font-style);
    text-transform: uppercase;
}

.cardkind-product .image-and-details {
    flex: 1 1 auto;
    display: flex;
    align-items: flex-start;
    gap: 20px;
    overflow: hidden;
}

.cardkind-product .image-and-details > .image-wrapper {
    min-width: 120px;
    max-width: 120px;
    align-self: stretch;
    overflow: hidden;
}

.cardkind-product .image-and-details > .image-wrapper img {
    width: 100%;
}

.cardkind-product .image-and-details .featured-container {
    position: absolute; /* Conteneur qui positionne .featured par rapport à .ProductCard */
    top: 50px;
    left: 0; /* Aligne au bord gauche */
    z-index: 1;
}

.cardkind-product .image-and-details .featured-container div.featured {
    display: flex;
    align-items: baseline;
    width: 29px;
    min-height: 94px;
    gap: 6px;
    justify-content: unset;
    font: normal normal bold 10px / 13px Montserrat;
    letter-spacing: 0px;
    white-space: nowrap;
    writing-mode: vertical-rl;
    text-align: start;
    text-transform: uppercase;
    transform: rotate(-180deg);
    padding: 9px 6px;
    border-radius: 10px 0px 0px 10px;
    background-color: var(--yellowGM);
}

.cardkind-product .image-and-details .featured-container div.featured svg {
    transform: rotate(90deg);
}

.cardkind-product .image-and-details > .details {
    min-width: 120px;
    max-width: 120px;
    align-self: stretch;
    gap: 10px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.cardkind-product .image-and-details > .details .varieties {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 5px;
    width: 100%;
}

.cardkind-product .image-and-details > .details .varieties > :nth-child(2) {
    flex-shrink: 0;
}

.cardkind-product .image-and-details > .details .colors {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 5px;
    width: 100%;
    line-height: 0px;
}

.cardkind-product .image-and-details > .details .colors > :nth-child(2) {
    flex-shrink: 0;
}

/* Améliorations pour écrans plus larges */
@media (min-width: 576px) {
    .cardkind-product .titleContainer {
        height: 130px;
    }
}

/*!*********************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/cards/RestaurantCard.css ***!
  \*********************************************************************************************************************************************/
.cardkind-restaurant {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}

.cardkind-restaurant > .thumbnail-wrapper {
    width: 100%;
    position: relative;
    padding-top: 66.66%; /* Ratio 3:2 pour 666x444 */
    background-color: var(
        --GMI-carddefaultbackground
    ); /* ou autre couleur neutre */
    /* overflow: hidden; */
}

.cardkind-restaurant > .thumbnail-wrapper .thumbnail-frame {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cardkind-restaurant .details {
    display: flex;
    position: relative;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    gap: 3px;
    width: 100%;
}

/*!********************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/cards/SelectionCard.css ***!
  \********************************************************************************************************************************************/
.cardkind-selection {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    height: auto;
}

.cardkind-selection > .thumbnail-wrapper {
    width: 100%;
    position: relative;
    padding-top: 73%; /* Ratio 3:2 pour 666x444 */
    background-color: var(
        --GMI-carddefaultbackground
    ); /* ou autre couleur neutre */
    overflow: hidden;
}

.cardkind-selection > .thumbnail-wrapper .thumbnail-frame {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.cardkind-selection > .yellow-separator {
    background-color: var(--GMI-outlinedyellow);
    height: 5px;
    position: relative;
    width: 100%;
}

.cardkind-selection > .logo-gm {
    all: unset;
    max-width: 125px;
    margin-top: 10px;
    fill: var(--redGM);
    display: block;
    justify-self: center;
}

.cardkind-selection > .our-selection {
    color: var(--GMI-black);
    font-family: var(--product-selection-font-family);
    font-size: var(--product-selection-font-size);
    font-style: var(--product-selection-font-style);
    font-weight: var(--product-selection-font-weight);
    letter-spacing: var(--product-selection-letter-spacing);
    line-height: var(--product-selection-line-height);
    text-align: center;
    white-space: nowrap;
}

.cardkind-selection > .selection-title {
    margin-top: 12px;
    color: var(--GMI-black);
    font-family: var(--product-main-title-font-family);
    font-size: var(--product-main-title-font-size);
    font-style: var(--product-main-title-font-style);
    font-weight: var(--product-main-title-font-weight);
    letter-spacing: var(--product-main-title-letter-spacing);
    line-height: var(--product-main-title-line-height);
    text-align: center;
}

.cardkind-selection .buttonsContainer {
    display: flex;
    position: relative;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
    width: 100%;
}

/* Améliorations pour écrans plus larges */
@media (min-width: 576px) {
    .cardkind-selection {
        width: 380px;
        height: 471px;
    }
}

/*!****************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/cards/TenthCard.css ***!
  \****************************************************************************************************************************************/
.TenthCard {
    flex: 1 1 0;
    position: relative;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    width: 100%;
    border: 1px solid var(--GMI-cardbordercolor);
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.TenthCard > .tenth-spacer {
    flex: 1 1 0;
    min-width: 0;
    min-height: 0;
    display: none;
}

.TenthCard > hr {
    border: none;
    border-top: 1px solid var(--GMI-cardbordercolor);
    text-align: center;
    height: 5px;
    width: 75%;
    align-self: center;
}

.TenthCard > .cardkind-empty {
    max-width: 100%;
    border: unset;
    pointer-events: none; /* discutable , il vaut peut être mieux désactiver les effets manuellement*/
}

.TenthCard:hover {
    border-color: var(--yellowGM);
    box-shadow: 0px 6px 18px #0000002e;
}

/* Animation du bouton "Lire Plus" au survol de la TenthCard */
.TenthCard:hover .figma-cardButton {
    background-position: bottom left;
    border-color: var(--GMI-buttonbordercolor);
}

@media (min-width: 576px) {
    .TenthCard {
        max-width: var(--GMI-defaultcardwidth);
    }

    .TenthCard .cardkind-empty {
        height: unset;
    }
}

/* passage en 2 colonnes */
@media (min-width: 1001px) {
    .TenthCard {
        flex-direction: row;
        max-width: 650px;
    }

    .TenthCard > hr {
        display: none;
    }

    .TenthCard > .tenth-spacer {
        display: flex;
    }

    .TenthCard .cardkind-empty {
        width: var(--GMI-defaultcardwidth);
        height: var(--GMI-defaultcardheight);
        transition: border-color 0.3s ease, box-shadow 0.3s ease;
    }
}

/*!**********************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/cards/TenthReviewCard.css ***!
  \**********************************************************************************************************************************************/
/* ===== Base mobile-first ===== */
.TenthReviewCard {
    display: flex;
    flex-direction: column;
    /* box-sizing: border-box; */
    overflow: hidden; /* pas de débordement visuel */
    max-height: 510px; /* ne jamais dépasser 510px */

    padding-bottom: unset !important;
    border: unset;
}

.TenthReviewCard > .headerContent {
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center; /* mobile centré */
    column-gap: 10px;
    width: 100%;
    font: normal normal bold 14px/16px Montserrat;
    text-transform: uppercase;
    flex: 0 0 auto; /* ne s’étire pas */
}

.TenthReviewCard > .headerContent > svg {
    width: 24px;
    height: 18px;
    fill: black;
    stroke: black;
    stroke-width: 1.5px;
}
.TenthReviewCard > .headerContent > svg.large {
    width: 30px;
    height: 30px;
    fill: unset;
    stroke: unset;
    stroke-width: unset;
}

.TenthReviewCard > .bodyContent {
    display: flex;
    flex-direction: column;
    padding: 10px 20px 20px 20px;
    font: normal normal 500 14px/20px Montserrat;
    text-align: start;

    flex: 1 1 auto; /* occupe l’espace restant */
    min-height: 0; /* évite les dépassements dans un parent flex */
    height: auto; /* supprime l’ancien height:100% */
    overflow: visible; /* pas de masquage en mobile */
}

.TenthReviewCard > .bodyContent > .nomenclature {
    text-align: center;
    font: normal normal 900 20px/20px "Source Serif 4";
    text-transform: uppercase;
    margin-bottom: 30px;
}

.TenthReviewCard > .bodyContent > .descriptionReview {
    font: normal normal 500 14px/22px Montserrat;
    letter-spacing: 0px;
    margin-bottom: 25px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 9; /* limite à 15 lignes */
    overflow: hidden; /* coupe proprement */
}

/* ===== ≥480px : header réaligné ===== */
@media (min-width: 480px) {
    .TenthReviewCard > .headerContent {
        justify-content: flex-start;
        min-height: 40px;
        max-height: 40px;
        padding: 1px 10px;
    }
}

/* ===== ≥576px : padding plus généreux ===== */
@media (min-width: 576px) {
    .TenthReviewCard > .bodyContent {
        padding: 20px;
    }
}

/* ===== ≥992px : clamp 15 lignes, sans bouton, carte toujours ≤ 510px ===== */
@media (min-width: 1001px) {
    .TenthReviewCard > .bodyContent > .descriptionReview {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 15; /* limite à 15 lignes */
        overflow: hidden; /* coupe proprement */
    }
}

/*!********************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/cards/TourVideoCard.css ***!
  \********************************************************************************************************************************************/
.tour-video-card {
    border-radius: var(--GMI-tourvideoradius);
    display: flex;
    flex-direction: column;
    height: 400px;
    overflow: hidden;
    position: relative;
    width: 232px;
    padding: 20px;
    border: 2px solid transparent;
}

.tour-video-card::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100px; /* hauteur de l’ombre */
    /* background: linear-gradient(to top, rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0)); */
    background: linear-gradient(
        0deg,
        rgba(0, 0, 0, 1) 0%,
        rgba(0, 0, 0, 0) 100%
    );
    pointer-events: none; /* pour ne pas bloquer les clics */
}

.tour-video-card .video-play {
    top: 42%;
    left: 50%;
    transform: translate(-42%, -50%);
}

.tour-video-card .thumbnail-frame {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}

.tour-video-card .bottomContent {
    display: flex;
    flex-direction: column;
    gap: 10px;
    justify-content: start;
    z-index: 2;
    min-height: 112px;
}

.tour-video-card .bottomContent .tour-video-card-title {
    font-family: var(--tour-video-title-font-family);
    font-size: var(--tour-video-title-font-size);
    font-style: var(--tour-video-title-font-style);
    font-weight: var(--tour-video-title-font-weight);
    letter-spacing: var(--tour-video-title-letter-spacing);
    line-height: var(--tour-video-title-line-height);
    color: white;
    text-align: left !important;
}

@media (min-width: 576px) {
    .tour-video-card:hover {
        border-color: var(--yellowGM);
        box-shadow: 0px 6px 18px #0000002e;
    }
}

/*!**************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/cards/UneCard.css ***!
  \**************************************************************************************************************************************/
.une-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    background-color: var(--GMI-carddefaultbackground);
    overflow: hidden;
    position: relative;
    max-width: 1000px;
    height: 506px;
    border: 1px solid var(--GMI-cardbordercolor);
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.une-card:hover {
    border-color: var(--yellowGM);
    box-shadow: 0px 6px 18px #0000002e;
}

.une-card.sponsored {
    --yellowGM: var(--GMI-sponsored-bgColor);
}

.une-card .details {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
}

.une-card .details > .contentColumn {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    width: 300px;
    padding-bottom: 20px;
}

.une-card .details > .thumbnail-wrapper {
    width: 700px;
    position: relative;
    background-color: var(
        --GMI-carddefaultbackground
    ); /* ou autre couleur neutre */
    overflow: hidden;
}

.une-card .details > .thumbnail-wrapper .thumbnail-frame {
    width: 100%;
    height: 100%;
}

.une-card .details > .contentColumn .themeTagWrapper {
    align-items: center;
    background-color: var(--GMI-outlinedyellow);
    border-radius: 8px;
    display: inline-flex;
    gap: 10px;
    height: 30px;
    justify-content: center;
    padding: 0px 12px;
    font-family: var(--news-categories-yellow-font-family);
    font-size: var(--news-categories-yellow-font-size);
    font-style: var(--news-categories-yellow-font-style);
    font-weight: var(--news-categories-yellow-font-weight);
    letter-spacing: var(--news-categories-yellow-letter-spacing);
    line-height: var(--news-categories-yellow-line-height);
    white-space: nowrap;
    overflow: hidden;
    max-width: 100%;
}

.une-card .details > .contentColumn .synopsis {
    color: var(--GMI-black);
    font-family: var(--news-card-text-font-family);
    font-size: var(--news-card-text-font-size);
    font-style: var(--news-card-text-font-style);
    font-weight: var(--news-card-text-font-weight);
    letter-spacing: var(--news-card-text-letter-spacing);
    line-height: var(--news-card-text-line-height);
    overflow: hidden;
    max-width: 100%;
}

.une-card .details > .contentColumn .buttonsContainer {
    display: flex;
    position: relative;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    width: 100%;
}

/*!******************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/cards/UneDeuxCard.css ***!
  \******************************************************************************************************************************************/
@media (min-width: 576px) {
    .uneDeux-card {
        display: flex;
        flex-direction: column;
        width: 100%;
        background-color: var(--GMI-carddefaultbackground);
        overflow: hidden;
        position: relative;
        max-width: 650px;
        height: 600px;
        border: 1px solid var(--GMI-cardbordercolor);
        transition: border-color 0.3s ease, box-shadow 0.3s ease;
        padding-bottom: 20px;
    }

    .uneDeux-card:hover {
        border-color: var(--yellowGM);
        box-shadow: 0px 6px 18px #0000002e;
    }

    .uneDeux-card.sponsored {
        --yellowGM: var(--GMI-sponsored-bgColor);
    }

    .uneDeux-card > .thumbnail-wrapper {
        width: 100%;
        height: 400px;
        position: relative;
        background-color: var(--GMI-carddefaultbackground);
    }

    .uneDeux-card > .thumbnail-wrapper .thumbnail-frame {
        width: 100%;
        height: 100%;
    }

    .uneDeux-card > .thumbnail-wrapper > .themeTagWrapper {
        position: absolute;
        bottom: calc(0px - 30px / 2);
        left: 50%;
        transform: translateX(-50%);
        align-items: center;
        background-color: var(--GMI-outlinedyellow);
        border-radius: 8px;
        display: inline-flex;
        gap: 10px;
        height: 30px;
        justify-content: center;
        padding: 0px 12px;
        font-family: var(--news-categories-yellow-font-family);
        font-size: var(--news-categories-yellow-font-size);
        font-style: var(--news-categories-yellow-font-style);
        font-weight: var(--news-categories-yellow-font-weight);
        letter-spacing: var(--news-categories-yellow-letter-spacing);
        line-height: var(--news-categories-yellow-line-height);
        white-space: nowrap;
        overflow: hidden;
        max-width: 100%;
    }

    .uneDeux-card .titleContainer {
        width: 100%;
        flex-grow: 1;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .uneDeux-card .buttonsContainer {
        display: flex;
        position: relative;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 20px;
        width: 100%;
    }
}

/*!*****************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/cards/WineryCard.css ***!
  \*****************************************************************************************************************************************/
.cardkind-winery {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    /* background-color: var(--GMI-carddefaultbackground);
    border: 1px solid;
    border-color: var(--GMI-cardbordercolor);
    padding-bottom: 20px; */
}

.cardkind-winery > .winery-title {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    width: 100%;
    column-gap: 5px;
}

.cardkind-winery > .winery-title > .card-title {
    flex: 1 1 auto;
}

.cardkind-winery > .winery-title > .producer-kind {
    flex: 0 0 auto;
}

.cardkind-winery > .thumbnail-wrapper {
    width: 100%;
    position: relative;
    padding-top: 66.66%; /* Ratio 3:2 pour 666x444 */
    background-color: var(
        --GMI-carddefaultbackground
    ); /* ou autre couleur neutre */
    overflow: hidden;
}

.cardkind-winery > .thumbnail-wrapper .thumbnail-frame {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cardkind-winery .details {
    display: flex;
    position: relative;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    gap: 3px;
    width: 100%;
}

/*!**********************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/cards/horizontal/Card.css ***!
  \**********************************************************************************************************************************************/
/* Card for desktop devices */
.cardkind-horizontal-empty {
    width: 100%;
    max-width: 1000px;
    height: auto;
    background-color: var(--GMI-carddefaultbackground);
    border: 1px solid var(--GMI-cardbordercolor);
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    overflow: hidden;
}

.cardkind-horizontal-empty:hover {
    border-color: var(--yellowGM);
    box-shadow: 0px 6px 18px #0000002e;
}

.cardkind-horizontal-empty.sponsored {
    --yellowGM: var(--GMI-sponsored-bgColor);
}

.cardkind-horizontal-empty > .thumbnail-wrapper {
    max-width: 400px;
    min-width: 400px;
    flex: 0 0 auto;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    overflow: hidden;
}

.cardkind-horizontal-empty > .thumbnail-wrapper .thumbnail-frame {
    width: 100%;
}

.cardkind-horizontal-empty > .rightContent {
    flex: 0 1 auto;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 10px;
    padding: 20px;
    width: 100%;
    overflow: hidden;
}

/*!*****************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/cards/horizontal/ArtisanCard.css ***!
  \*****************************************************************************************************************************************************/
/* .cardkind-horizontal-artisan > .rightContent .description-winery {
    color: var(--GMI-black);
    font-family: "Montserrat", Helvetica;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 22px;
} */

.cardkind-horizontal-artisan > .rightContent > .MarkRibbonActivity {
    max-width: fit-content;
}

.cardkind-horizontal-artisan > .rightContent > .horizontal-container {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 20px;
    width: 100%;
    overflow: hidden;
    flex: 1 0 auto;
}

.cardkind-horizontal-artisan
    > .rightContent
    > .horizontal-container
    > .details {
    flex: 0 1 auto;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    /* gap: 10px; */
    /* width: 66%; */
    max-width: 390px;
    width: 100%;
    overflow: hidden;
}

.cardkind-horizontal-artisan
    > .rightContent
    > .horizontal-container
    > .button-container {
    flex: 1 0 auto;
}

/*!**************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/cards/horizontal/BlogCard.css ***!
  \**************************************************************************************************************************************************/
.cardkind-horizontal-blog > .rightContent > .horizontal-container {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 20px;
    width: 100%;
    overflow: hidden;
}

.cardkind-horizontal-blog > .rightContent > .horizontal-container > .synopsis {
    flex: 1 1 auto;
    max-width: 390px;
    width: 100%;
    overflow: hidden;
    color: var(--GMI-black);
    font-family: var(--recipe-synopsis-font-family);
    font-size: var(--recipe-synopsis-font-size);
    font-style: var(--recipe-synopsis-font-style);
    font-weight: var(--recipe-synopsis-font-weight);
    letter-spacing: var(--recipe-synopsis-letter-spacing);
    line-height: var(--recipe-synopsis-line-height);
}

.cardkind-horizontal-blog
    > .rightContent
    > .horizontal-container
    > .button-container {
    flex: 1 0 auto;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 10px;
}

/*!***************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/cards/horizontal/HotelCard.css ***!
  \***************************************************************************************************************************************************/
.cardkind-horizontal-hotel > .rightContent > .horizontal-container {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 20px;
    width: 100%;
    overflow: hidden;
}

.cardkind-horizontal-hotel > .rightContent > .horizontal-container > .details {
    flex: 0 1 auto;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    /* gap: 10px; */
    /* width: 66%; */
    max-width: 390px;
    width: 100%;
    overflow: hidden;
}

.cardkind-horizontal-hotel
    > .rightContent
    > .horizontal-container
    > .button-container {
    flex: 1 0 auto;
}

/*!********************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/cards/horizontal/RestaurantCard.css ***!
  \********************************************************************************************************************************************************/
.cardkind-horizontal-restaurant > .rightContent > .horizontal-container {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 20px;
    width: 100%;
    overflow: hidden;
}

.cardkind-horizontal-restaurant
    > .rightContent
    > .horizontal-container
    > .details {
    flex: 0 1 auto;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    /* gap: 10px; */
    /* width: 66%; */
    max-width: 390px;
    width: 100%;
    overflow: hidden;
}

.cardkind-horizontal-restaurant
    > .rightContent
    > .horizontal-container
    > .button-container {
    flex: 1 0 auto;
}

/*!****************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/cards/horizontal/WineryCard.css ***!
  \****************************************************************************************************************************************************/
.cardkind-horizontal-winery > .rightContent .description-winery {
    color: var(--GMI-black);
    font-family: "Montserrat", Helvetica;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 22px;
}

.cardkind-horizontal-winery > .rightContent > .horizontal-container {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 20px;
    width: 100%;
    overflow: hidden;
    flex: 1 0 auto;
}

.cardkind-horizontal-winery > .rightContent > .horizontal-container > .details {
    flex: 0 1 auto;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    /* gap: 10px; */
    /* width: 66%; */
    max-width: 390px;
    width: 100%;
    overflow: hidden;
}

.cardkind-horizontal-winery
    > .rightContent
    > .horizontal-container
    > .button-container {
    flex: 1 0 auto;
}

/*!************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/layouts/AuthorContainer.css ***!
  \************************************************************************************************************************************************/
.AuthorContainer {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    padding: 10px 0px;
    border-top: 1px solid #d1d1d1;
    border-bottom: 1px solid #d1d1d1;
    gap: 10px;
    text-align: left;
}

.AuthorContainer > .author-image {
    width: 40px;
    height: 40px;
    background-color: #f4f3ee;
    border-radius: 50%; /* rend le conteneur circulaire */
    overflow: hidden; /* masque les parties qui dépassent */
    display: inline-block; /* utile si plusieurs avatars alignés */
}

.AuthorContainer > .author-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
}

.AuthorContainer > .author-info > .author-name {
    font-family: "Montserrat", Helvetica;
    font-weight: 700;
    color: #000000;
    font-size: 12px;
    letter-spacing: 0;
    line-height: 15px;
}

.AuthorContainer > .author-info > .publication-date {
    font-family: "Montserrat", Helvetica;
    font-weight: 400;
    color: #7b7b7b;
    font-size: 12px;
    letter-spacing: 0;
    line-height: 15px;
}

.AuthorContainer > .author-social {
    display: flex;
    flex-direction: row;
    align-items: center;
    margin-left: auto;
    gap: 20px;
}

.AuthorContainer > .author-social > * {
    cursor: pointer;
}

/*!***************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/layouts/CardBottomNotation.css ***!
  \***************************************************************************************************************************************************/
.CardBottomNotation {
    align-items: center;
    background-color: var(--GMI-outlinedyellow);
    display: flex;
    flex-direction: row;
    height: 34px;
    justify-content: center;
    gap: 5px;
    position: relative;
    width: 100%;
    color: var(--GMI-black);
    font-family: "Montserrat", Helvetica;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 18px;
    white-space: nowrap;
    overflow: hidden;
}

.CardBottomNotation.gold {
    background-color: var(--GMI-toquegoldcolor);
}

.CardBottomNotation .markText {
    font-weight: 600;
    font-size: 16px;
    line-height: 20px;
}

/*!**********************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/layouts/CardDetailHor.css ***!
  \**********************************************************************************************************************************************/
.cardDetailHor {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    width: 100%;
    overflow: hidden;
}

.cardDetailHor > :first-child {
    flex-basis: 32%; /* Largeur fixe */
    flex-shrink: 0; /* Empêche la réduction */
}

.cardDetailHor.horizontal > :first-child {
    flex-basis: 95px; /* Largeur fixe */
    flex-shrink: 0; /* Empêche la réduction */
}
.cardDetailHor > :nth-child(2) {
    /* flex: 1 1 auto; Occupe tout l'espace restant */
    min-width: 0; /* Assure une gestion correcte du texte */
}

/*!*****************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/layouts/CardDetailHorizontal.css ***!
  \*****************************************************************************************************************************************************/
.size-adjust-frame-wrapper.one-row {
    flex-wrap: wrap;
    align-content: space-between;
    width: 100%;
    align-items: baseline;
    justify-content: space-around;
    flex: 0 0 auto;
    display: flex;
    position: relative;
}

.size-adjust-frame-wrapper.two-rows {
    display: inline-flex;
    flex-wrap: wrap;
    align-content: space-between;
    min-height: 18px;
    max-height: 36px;
    align-items: baseline;
    position: relative;
    flex: 1;
    flex-grow: 1;
}

.size-adjust-frame-wrapper.outlined {
    display: flex;
    align-items: flex-end;
    justify-content: space-around;
    /* gap: 51px; */
    position: relative;
    align-self: stretch;
    width: 100%;
    flex: 0 0 auto;
}

.size-adjust-frame-wrapper > .one-row,
.size-adjust-frame-wrapper > .two-rows {
    display: flex;
    width: 100%;
    align-items: flex-end;
    justify-content: space-between;
    position: relative;
}

.size-adjust-frame-wrapper > .outlined {
    display: flex;
    width: 100%;
    align-items: baseline;
    justify-content: space-between;
    position: relative;
}

.size-adjust-frame-wrapper > .one-row {
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    /* gap: 56px 56px; */
    flex: 1;
    flex-grow: 1;
    display: flex;
    position: relative;
}

.size-adjust-frame-wrapper .label {
    width: 32%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    /* -webkit-box-orient: vertical; */
    position: relative;
    font-family: var(--card-detail-label-font-family);
    font-weight: var(--card-detail-label-font-weight);
    color: var(--GMI-black);
    font-size: var(--card-detail-label-font-size);
    letter-spacing: var(--card-detail-label-letter-spacing);
    line-height: var(--card-detail-label-line-height);
    font-style: var(--card-detail-label-font-style);
}

.size-adjust-frame-wrapper .label-2 {
    width: 32%;
    position: relative;
    font-family: var(--card-detail-label-font-family);
    font-weight: var(--card-detail-label-font-weight);
    color: var(--GMI-black);
    font-size: var(--card-detail-label-font-size);
    letter-spacing: var(--card-detail-label-letter-spacing);
    line-height: var(--card-detail-label-line-height);
    font-style: var(--card-detail-label-font-style);
}

.size-adjust-frame-wrapper > .one-row > .div-wrapper {
    /* display: flex;
    width: 177px;
    height: 18px;
    align-items: flex-start;
    padding: 0px 5px;
    position: relative; */

    width: 68%;
    max-height: 36px;
    height: 18px;
    align-items: flex-start;
    padding: 0px 5px;
    display: flex;
    position: relative;
}

.size-adjust-frame-wrapper > .one-row > .div-wrapper > .text-wrapper {
    flex: 1;
    align-self: stretch;
    white-space: nowrap;
    position: relative;
    font-family: var(--card-detail-value-font-family);
    font-weight: var(--card-detail-value-font-weight);
    color: var(--GMI-black);
    font-size: var(--card-detail-value-font-size);
    letter-spacing: var(--card-detail-value-letter-spacing);
    line-height: var(--card-detail-value-line-height);
    overflow: hidden;
    text-overflow: ellipsis;
    font-style: var(--card-detail-value-font-style);
}

.size-adjust-frame-wrapper > .two-rows > .value-wrapper {
    width: 177px;
    max-height: 36px;
    height: 18px;
    align-items: flex-start;
    padding: 0px 5px;
    display: flex;
    position: relative;
}

.size-adjust-frame-wrapper > .two-rows > .value-wrapper > .value {
    /* flex: 1;
    position: relative;
    align-self: stretch;
    font-family: var(--card-detail-value-caps-font-family);
    font-weight: var(--card-detail-value-caps-font-weight);
    color: var(--GMI-black);
    font-size: var(--card-detail-value-caps-font-size);
    letter-spacing: var(--card-detail-value-caps-letter-spacing);
    line-height: var(--card-detail-value-caps-line-height);
    font-style: var(--card-detail-value-caps-font-style); */

    flex: 1;
    margin-bottom: -17px;
    -webkit-line-clamp: 2;
    position: relative;
    margin-top: -1px;
    font-family: var(--card-detail-value-font-family);
    font-weight: var(--card-detail-value-font-weight);
    color: var(--GMI-black);
    font-size: var(--card-detail-value-font-size);
    letter-spacing: var(--card-detail-value-letter-spacing);
    line-height: var(--card-detail-value-line-height);
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    font-style: var(--card-detail-value-font-style);
}

.size-adjust-frame-wrapper > .outlined > .overlay-frame {
    display: flex;
    flex-direction: column;
    max-width: 68%;
    width: 68%;
    height: 24px;
    align-items: flex-start;
    padding: 2px 5px;
    position: relative;
    background-color: var(--GMI-outlinedyellow);
    border-radius: 8px;
}

.size-adjust-frame-wrapper > .outlined > .overlay-frame > .p {
    align-self: stretch;
    height: 18px;
    white-space: nowrap;
    position: relative;
    font-family: var(--card-detail-value-font-family);
    font-weight: var(--card-detail-value-font-weight);
    color: var(--GMI-black);
    font-size: var(--card-detail-value-font-size);
    letter-spacing: var(--card-detail-value-letter-spacing);
    line-height: var(--card-detail-value-line-height);
    overflow: hidden;
    text-overflow: ellipsis;
    font-style: var(--card-detail-value-font-style);
}

/*!**********************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/layouts/CardDetailVer.css ***!
  \**********************************************************************************************************************************************/
.cardDetailVer {
    display: flex;
    flex-direction: column;
    align-items: baseline;
    width: 100%;
    overflow: hidden;
    flex-shrink: 0;
}

.cardDetailVer > :nth-child(2) {
    /* flex: 1 1 auto; Occupe tout l'espace restant */
    min-width: 0; /* Assure une gestion correcte du texte */
}

/*!**********************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/layouts/CardLicensedRandomCountry.css ***!
  \**********************************************************************************************************************************************************/
.CardLicensedRandomCountry {
    position: relative;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: center;
    height: 600px;
    width: var(--tileWidth);
    padding: 20px;
    background: linear-gradient(to bottom, #f9fafc, #f1f5f8);
}

.CardLicensedRandomCountry > .titleWrapper {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: 15px;
}

.CardLicensedRandomCountry > .titleWrapper span {
    font-family: "Source Serif 4", Helvetica;
    font-size: 31px;
    font-weight: 900;
    left: 0;
    letter-spacing: 0;
    line-height: 31px;
}

.CardLicensedRandomCountry > .countryGmlogo {
    width: 200px;
    fill: var(--redGM);
    margin-top: auto;
}

.CardLicensedRandomCountry .licensedCountry {
    position: relative;
    display: inline-block;
    overflow: hidden; /* Rien ne dépasse */
    width: 175px; /* Largeur fixe */
    height: 175px; /* Hauteur fixe */
    border-radius: 50%; /* Si image circulaire */

    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.CardLicensedRandomCountry .licensedCountry picture,
.CardLicensedRandomCountry .licensedCountry img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover; /* Remplit le conteneur sans déformation */
}

.CardLicensedRandomCountry .licensedCountry .label {
    position: absolute;
    inset: 0; /* occupe tout l'espace */
    display: flex; /* FLEX : centrage */
    align-items: center;
    justify-content: center;
    text-align: center;
    pointer-events: none; /* ne bloque pas l'image */
}

.CardLicensedRandomCountry .licensedCountry .label span {
    font-family: Montserrat;
    font-size: 20px;
    max-width: 100%;
    overflow-wrap: break-word; /* retour à la ligne si mot trop long */
    word-break: break-word;
    line-height: 1.1;
    font-weight: 800;
    color: #fff;
    text-transform: uppercase;
    text-shadow: 0 4px 6px black; /* ombrage issu de ton exemple */
}

@media (min-width: 576px) {
}

/*!*****************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/layouts/CardPaddingContainer.css ***!
  \*****************************************************************************************************************************************************/
.cardPaddingContainer {
    padding: 20px 20px 0px;
    position: relative;
    width: 100%;
}

/*!********************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/layouts/HotelRating.css ***!
  \********************************************************************************************************************************************/
.hotelRating {
    display: flex;
    align-items: center;
    gap: 10px;
    position: relative;
    align-self: stretch;
    width: 100%;
    flex: 0 0 auto;
}

.hotelRating > .stars {
    flex: 0 0 auto;
}

.hotelRating > .description {
    all: unset;
    position: relative;
    width: fit-content;
    font-family: var(--hotel-note-text-font-family);
    font-weight: var(--hotel-note-text-font-weight);
    color: var(--GMI-black);
    font-size: var(--hotel-note-text-font-size);
    letter-spacing: var(--hotel-note-text-letter-spacing);
    line-height: var(--hotel-note-text-line-height);
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    font-style: var(--hotel-note-text-font-style);
}

/*!*****************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/layouts/HrSpacer.css ***!
  \*****************************************************************************************************************************************/
.hr-spacer {
    position: relative;
    flex: 1;
    align-self: stretch;
    width: 100%;
    flex-grow: 1;
}

/*!*********************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/layouts/LicensedCountryContainer.css ***!
  \*********************************************************************************************************************************************************/
.licensedCountryContainer {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
    background: linear-gradient(to bottom, #f9fafc, #f1f5f8);
    padding: 53px 42px 62px 42px;
    gap: 45px;
}

.licensedCountryContainer > .titleWrapper {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: 15px;
}

.licensedCountryContainer > .titleWrapper span {
    font-family: "Source Serif 4", Helvetica;
    font-size: 31px;
    font-weight: 900;
    left: 0;
    letter-spacing: 0;
    line-height: 31px;
}

.licensedCountryContainer > .titleWrapper .countryGmlogo {
    width: 156px;
    fill: var(--redGM);
}

.licensedCountryContainer > .countryWrapper {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    background: linear-gradient(to bottom, #f9fafc, #f1f5f8);
    gap: 26px 50px;
}

.licensedCountryContainer .licensedCountry {
    position: relative;
    display: inline-block;
    overflow: hidden; /* Rien ne dépasse */
    width: 90px; /* Largeur fixe */
    height: 90px; /* Hauteur fixe */
    border-radius: 50%; /* Si image circulaire */
}

.licensedCountryContainer .licensedCountry picture,
.licensedCountryContainer .licensedCountry img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover; /* Remplit le conteneur sans déformation */
}

.licensedCountryContainer .licensedCountry .label {
    position: absolute;
    inset: 0; /* occupe tout l'espace */
    display: flex; /* FLEX : centrage */
    align-items: center;
    justify-content: center;
    text-align: center;
    pointer-events: none; /* ne bloque pas l'image */
}

.licensedCountryContainer .licensedCountry .label span {
    font-family: Montserrat;
    font-size: 10px;
    max-width: 100%;
    overflow-wrap: break-word; /* retour à la ligne si mot trop long */
    word-break: break-word;
    line-height: 1.1;
    font-weight: 800;
    color: #fff;
    text-transform: uppercase;
    text-shadow: 0 4px 6px black; /* ombrage issu de ton exemple */
}

@media (min-width: 576px) {
    .licensedCountryContainer .licensedCountry {
        width: 125px; /* Largeur fixe */
        height: 125px; /* Hauteur fixe */
    }

    .licensedCountryContainer .licensedCountry .label span {
        font-size: 15px;
    }
}

/*!***************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/layouts/MarkRibbonActivity.css ***!
  \***************************************************************************************************************************************************/
.MarkRibbonActivity {
    display: flex;
    width: 100%;
    height: 40px;
    align-items: baseline;
    justify-content: space-between;
    padding: 10px;
    position: relative;
    background-color: var(--GMI-outlinedyellow);
    border-radius: var(--GMI-borderradius);
    column-gap: 5px;
    overflow: hidden;
    font-family: var(--bottle-note-sur-100-font-family);
    font-weight: var(--bottle-note-sur-100-font-weight);
    color: var(--GMI-black);
    font-size: var(--bottle-note-sur-100-font-size);
    letter-spacing: var(--bottle-note-sur-100-letter-spacing);
    line-height: var(--bottle-note-sur-100-line-height);
    white-space: nowrap;
    font-style: var(--bottle-note-sur-100-font-style);
}

.MarkRibbonActivity.sponsored {
    --GMI-outlinedyellow: var(--GMI-sponsored-bgColor);
}

.MarkRibbonActivity > .leftText {
    color: var(--GMI-black);
    font-family: "Montserrat-Bold", Helvetica;
    font-size: 16px;
    font-weight: 700;
    left: 0;
    letter-spacing: 0;
    line-height: 19px;
    flex-shrink: 0;
}

.MarkRibbonActivity > .rightText {
    color: var(--GMI-black);
    font-family: "Montserrat", Helvetica;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 19px;
    overflow: hidden;
    text-align: right;
}

/*!**************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/layouts/MarkRibbonProduct.css ***!
  \**************************************************************************************************************************************************/
.MarkRibbonProduct {
    display: flex;
    width: 100%;
    height: 40px;
    align-items: baseline;
    justify-content: space-between;
    padding: 10px;
    position: relative;
    background-color: var(--GMI-outlinedyellow);
    border-radius: var(--GMI-borderradius);
    column-gap: 5px;
    overflow: hidden;
    font-family: var(--bottle-note-sur-100-font-family);
    font-weight: var(--bottle-note-sur-100-font-weight);
    color: var(--GMI-black);
    font-size: var(--bottle-note-sur-100-font-size);
    letter-spacing: var(--bottle-note-sur-100-letter-spacing);
    line-height: var(--bottle-note-sur-100-line-height);
    white-space: nowrap;
    font-style: var(--bottle-note-sur-100-font-style);
}

.MarkRibbonProduct > .mrMark {
    font-family: var(--bottle-note-font-family);
    font-weight: var(--bottle-note-font-weight);
    color: var(--GMI-black);
    font-size: var(--bottle-note-font-size);
    letter-spacing: var(--bottle-note-letter-spacing);
    line-height: var(--bottle-note-line-height);
    white-space: nowrap;
    font-style: var(--bottle-note-font-style);
}

.MarkRibbonProduct > .mrDescription {
    font-family: var(--bottle-card-kind-font-family);
    font-weight: var(--bottle-card-kind-font-weight);
    color: var(--GMI-black);
    font-size: var(--bottle-card-kind-font-size);
    text-align: right;
    letter-spacing: var(--bottle-card-kind-letter-spacing);
    line-height: var(--bottle-card-kind-line-height);
    font-style: var(--bottle-card-kind-font-style);
}

/*!*****************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/layouts/Notation.css ***!
  \*****************************************************************************************************************************************/
.notation {
    display: flex;
    align-items: center;
    gap: 10px;
    position: relative;
    align-self: stretch;
    width: 100%;
    flex: 0 0 auto;
}

.notation > .toques {
    flex: 0 0 auto;
}

.notation .note-and-description {
    display: flex;
    flex-direction: column;
    /* height: 30px; */
    align-items: flex-start;
    justify-content: center;
    position: relative;
    flex: 1;
    flex-grow: 1;
}

.notation .note {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    position: relative;
    flex: 0 0 auto;
}

.notation .text-wrapper {
    position: relative;
    width: fit-content;
    margin-top: -1px;
    font-family: var(--note-bold-font-family);
    font-weight: var(--note-bold-font-weight);
    color: var(--GMI-black);
    font-size: var(--note-bold-font-size);
    letter-spacing: var(--note-bold-letter-spacing);
    line-height: var(--note-bold-line-height);
    white-space: nowrap;
    font-style: var(--note-bold-font-style);
}

.notation .element {
    position: relative;
    width: fit-content;
    margin-top: -1px;
    font-family: var(--note-20-font-family);
    font-weight: var(--note-20-font-weight);
    color: var(--GMI-black);
    font-size: var(--note-20-font-size);
    letter-spacing: var(--note-20-letter-spacing);
    line-height: var(--note-20-line-height);
    white-space: nowrap;
    font-style: var(--note-20-font-style);
}

.notation .description {
    all: unset;
    position: relative;
    /* align-self: stretch; */
    font-family: var(--notation-legend-font-family);
    font-weight: var(--notation-legend-font-weight);
    color: var(--GMI-black);
    font-size: var(--notation-legend-font-size);
    letter-spacing: var(--notation-legend-letter-spacing);
    line-height: var(--notation-legend-line-height);
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    font-style: var(--notation-legend-font-style);
}

.notation .descriptionGold {
    all: unset;
    position: relative;
    /* align-self: stretch; */
    font-family: var(--notation-legend-font-family);
    font-weight: var(--notation-legend-font-weight);
    color: var(--GMI-black);
    font-size: var(--notation-legend-font-size);
    letter-spacing: var(--notation-legend-letter-spacing);
    line-height: var(--notation-legend-line-height);
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    font-style: var(--notation-legend-font-style);
}

/*!**************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/layouts/PageContentFooter.css ***!
  \**************************************************************************************************************************************************/
.page-content-footer {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 50px;

    color: var(--GMI-black);
    font-family: "Montserrat", Helvetica;
    font-size: 13px;
    font-weight: 700;
    left: 0;
    letter-spacing: 0;
    line-height: 17px;
    text-transform: uppercase;
}

.page-content-footer-left,
.page-content-footer-right {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 10px;
}

.page-content-footer-right {
    margin-left: auto;
}

@media (min-width: 576px) {
    .page-content-footer {
        flex-direction: row;
    }
}

/*!**************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/layouts/Stars.css ***!
  \**************************************************************************************************************************************/
.stars {
    display: flex;
    width: 100px;
    height: 30px;
    align-items: center;
    justify-content: center;
    gap: 3px;
    position: relative;
    background-color: var(--GMI-outlinedyellow);
    border-radius: var(--GMI-overlayradius);
    overflow: hidden;

    font-family: var(--news-categories-yellow-font-family);
    font-size: var(--news-categories-yellow-font-size);
    font-style: var(--news-categories-yellow-font-style);
    font-weight: var(--news-categories-yellow-font-weight);
    letter-spacing: var(--news-categories-yellow-letter-spacing);
    line-height: var(--news-categories-yellow-line-height);
    text-align: center;
}

.stars .stars-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.stars.sponsored {
    background-color: var(--GMI-sponsored-bgColor);
}

.stars.sponsored .stars-wrapper svg {
    display: block;
    fill: var(--GMI-sponsored-svgColor);
    width: 20px;
    height: 20px;
}

.stars .star {
    all: unset;
    position: relative;
    width: 12px;
    height: 11px;
}

/*!***************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/layouts/Toques.css ***!
  \***************************************************************************************************************************************/
.toques {
    display: flex;
    width: 100px;
    height: 30px;
    align-items: center;
    justify-content: center;
    gap: 3px;
    position: relative;
    background-color: var(--GMI-outlinedyellow);
    border-radius: var(--GMI-overlayradius);
    overflow: hidden;
    flex: 0 0 auto;
}

.toques.sm {
    width: 80px;
    height: 24px;
}

.toques.gold {
    /* background-color: var(--GMI-white); */
    background-color: white;
    border: 2px solid;
    border-color: var(--GMI-toquegoldcolor);
}

.toques.sponsored {
    background-color: var(--GMI-sponsored-bgColor);
    border: unset;
}

.toques .toque-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.toques .toque-wrapper > span {
    font-family: var(--news-categories-yellow-font-family);
    font-size: var(--news-categories-yellow-font-size);
    font-style: var(--news-categories-yellow-font-style);
    font-weight: var(--news-categories-yellow-font-weight);
    letter-spacing: var(--news-categories-yellow-letter-spacing);
    line-height: var(--news-categories-yellow-line-height);
    text-align: center;
}

.toques .toque {
    all: unset;
    position: relative;
}

.toques.gold .toque {
    all: unset;
    position: relative;
    stroke-width: 0.2px;
    stroke: var(--GMI-toquegoldcolor);
}

.toques.sm .toque {
    height: 16px;
}

/*!********************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/layouts/misc/Colors.css ***!
  \********************************************************************************************************************************************/
.figma-colors {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 10px;
}

.figma-colors.wineryHorizontalCard {
    margin-left: 5px;
    align-self: center;
}

/*!**********************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/layouts/misc/Distance.css ***!
  \**********************************************************************************************************************************************/
.distance-layout {
    display: none; /* par défaut, caché */
    position: absolute;
    top: 10px;
    left: 10px;
    background-color: rgba(255, 235, 0, 0.9); /* blanc semi-transparent */
    border-radius: 12px;
    padding: 3px 6px;
    font: normal normal bold 10px / 13px Montserrat;
    color: var(--GMI-black);
    letter-spacing: 0px;
    transition: background-color 0.5s ease-in-out;
    z-index: 5;
    pointer-events: none;
}

.distance-layout.has-distance {
    display: inline-block; /* ou block, selon où tu l'utilises */
}

/*!**********************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/layouts/misc/Favorite.css ***!
  \**********************************************************************************************************************************************/
.favorite-layout {
    position: absolute;
    bottom: -15px;
    right: 10px;
    z-index: 5;
}

.favorite-layout.favorite-icon-only {
    all: unset;
}

.favorite-layout > .favorite-button {
    background-color: var(--yellowGM); /* jaune doré */
    border: none;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.favorite-layout > .favorite-button:hover {
    transform: scale(1.05);
}

.favorite-button .icon-favorite {
    display: none;
    font-size: 24px; /* adapter à ton icon font-size */
    line-height: 1;
    color: var(--redGM); /* rouge GM */
}

.favorite-layout.is-favorite .icon-favorite-fill {
    display: inline-block;
}

.favorite-layout:not(.is-favorite) .icon-favorite-empty {
    display: inline-block;
}

/*!**********************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/pagecontentcards/Card.css ***!
  \**********************************************************************************************************************************************/
.pagecontent-cardkind-empty {
    --pagecontent-cardkind-empty-padding: 20px;
    --pagecontent-cardkind-empty-height: 510px;
    --pagecontent-cardkind-empty-gap: 30px;
    /* flex: 1 0 var(--colspan-width-1); */
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    width: 100%;
    background-color: var(--GMI-carddefaultbackground);
    border: unset;
    border: 1px solid var(--GMI-cardbordercolor);
    flex: 1 0 auto;
    height: auto;
}

.pagecontent-cardkind-empty.no-border {
    border: unset;
}

/* Améliorations pour écrans plus larges */
@media (min-width: 576px) {
    .pagecontent-cardkind-empty {
        min-height: var(--pagecontent-cardkind-empty-height);
        max-height: var(--pagecontent-cardkind-empty-height);
        width: var(--colspan-width-1);
        max-width: 100%;
        /* min-width: var(--colspan-width-1);
        max-width: var(--colspan-width-1); */
        overflow: hidden;
    }

    .pagecontent-cardkind-empty.colspan-2 {
        width: var(--colspan-width-2);
        max-width: 100%;
        /* min-width: var(--colspan-width-2);
        max-width: var(--colspan-width-2); */
    }

    .pagecontent-cardkind-empty.colspan-1-2 {
        width: var(--colspan-width-1-2);
        max-width: 100%;
        /* min-width: var(--colspan-width-1-2);
        max-width: var(--colspan-width-1-2); */
    }
}

/*!*****************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/pagecontentcards/ContentCard.css ***!
  \*****************************************************************************************************************************************************/
.pagecontent-cardkind-content {
    padding: var(--pagecontent-cardkind-empty-padding);
    gap: var(--pagecontent-cardkind-empty-gap);
}

/* Améliorations pour écrans plus larges */
@media (min-width: 576px) {
}

/*!*************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/pagecontentcards/MapCard.css ***!
  \*************************************************************************************************************************************************/
.pagecontent-cardkind-map-card > .content-wrapper {
    width: 100%;
    flex: 1 1;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 0px;
}

.pagecontent-cardkind-map-card > .content-wrapper > .location-wrapper {
    width: 100%;
    position: relative;
    padding-top: 50%;
    background-color: var(--GMI-carddefaultbackground);
    overflow: hidden;
    padding: var(--pagecontent-cardkind-empty-padding);
}

.pagecontent-cardkind-map-card
    > .content-wrapper
    > .location-wrapper
    > .mapCopyright {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    text-align: right;
    padding-right: 5px;
    background-color: rgba(255, 255, 255, 0.6);
    font: normal normal 600 11px / 24px Montserrat;
}

.pagecontent-cardkind-map-card.colspan-2
    > .content-wrapper
    > .location-wrapper {
    aspect-ratio: 640 / 342;
}

.pagecontent-cardkind-map-card.colspan-1-2
    > .content-wrapper
    > .location-wrapper {
    /* padding-top: 50%; */
}

.pagecontent-cardkind-map-card
    > .content-wrapper
    > .location-wrapper
    .thumbnail-frame {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pagecontent-cardkind-map-card > .content-wrapper > .address-wrapper {
    margin-top: auto;
    width: 100%;
    flex: 1 1;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: center;
    padding: 20px;
    gap: 5px;
}

/*!*****************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/pagecontentcards/PictureCard.css ***!
  \*****************************************************************************************************************************************************/
.pagecontent-cardkind-picture {
    padding: unset;
}

figure.pagecontent-cardkind-picture {
    padding: unset; /* carefull side effect with tinymce*/
    margin: unset; /* carefull side effect with tinymce*/
}

.pagecontent-cardkind-picture > .thumbnail-wrapper {
    width: 100%;
    position: relative;
    padding-top: 170%;
    background-color: var(
        --GMI-carddefaultbackground
    ); /* ou autre couleur neutre */
    overflow: hidden;
}

.pagecontent-cardkind-picture > .thumbnail-wrapper .thumbnail-frame {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/*!*********************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/pagecontentcards/ProductMarkCard.css ***!
  \*********************************************************************************************************************************************************/
.pagecontent-cardkind-product-mark-card {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    overflow: hidden;
}

.pagecontent-cardkind-product-mark-card > .specifications-container {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    overflow: hidden;
    gap: 20px;
    max-width: 100%;
}

.pagecontent-cardkind-product-mark-card > .specifications-container .colors {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    max-width: 100%;
    gap: 5px;
}

/*!***********************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/pagecontentcards/ProductReviewCard.css ***!
  \***********************************************************************************************************************************************************/
.pagecontent-cardkind-product-review-card {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    overflow: hidden;
}

.pagecontent-cardkind-product-review-card > .review-text {
    flex: 1 1;
    color: var(--GMI-black);
    font-family: "Montserrat", Helvetica;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 19px;
    overflow: hidden;
}

.pagecontent-cardkind-product-review-card.maximised {
    flex-grow: 1 !important;
    flex-basis: 0 !important;
    max-width: unset !important;
    width: auto !important;
    max-height: auto !important;
}

/*!******************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/pagecontentcards/ProductSpecificationCard.css ***!
  \******************************************************************************************************************************************************************/
.pagecontent-cardkind-product-specification-card {
    flex-wrap: nowrap;
    overflow: hidden;
}

.pagecontent-cardkind-product-specification-card > .content-wrapper {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 20px;
    overflow: hidden;
    flex: 1 1;
    width: 100%;
    padding-top: var(--pagecontent-cardkind-empty-gap);
}

.pagecontent-cardkind-product-specification-card > .content-wrapper .colors {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    max-width: 100%;
    gap: 5px;
}

@media (min-width: 576px) {
    .pagecontent-cardkind-product-specification-card.maximised {
        flex-grow: 1 !important;
        flex-basis: 0 !important;
        max-width: unset !important;
        width: auto !important;
        min-height: unset !important;
        max-height: unset !important;
    }
}

/*!**********************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/pagecontentcards/TitleContentCard.css ***!
  \**********************************************************************************************************************************************************/
.pagecontent-cardkind-title-content > .header-wrapper {
    width: 100%;
    min-height: 40px;
    max-height: 40px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    padding: 0px var(--pagecontent-cardkind-empty-padding);
    flex: 0 0 auto;
}

.pagecontent-cardkind-title-content.bottomBorder > .header-wrapper {
    border-bottom: 1px solid var(--GMI-cardbordercolor);
}

.pagecontent-cardkind-title-content.contentPadding > .content-wrapper {
    overflow: hidden;

    padding-left: var(--pagecontent-cardkind-empty-padding);
    padding-right: var(--pagecontent-cardkind-empty-padding);
}

.pagecontent-cardkind-title-content.contentPadding > .footer-wrapper {
    padding-bottom: var(--pagecontent-cardkind-empty-padding);
}

/*!****************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/pagecontentcards/WineryPresentationCard.css ***!
  \****************************************************************************************************************************************************************/
.pagecontent-cardkind-winery-presentation-card > .content-wrapper {
    display: flex;
    flex: 1 1;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 20px;
    overflow: hidden;
    padding-top: 20px;
    width: 100%;
}

.winery-feature-people .place-card-header-title > .title {
    color: var(--GMI-black);
    font-family: var(--page-detail-avis-GM-title-font-family);
    font-size: var(--page-detail-avis-GM-title-font-size);
    font-style: var(--page-detail-avis-GM-title-font-style);
    font-weight: var(--page-detail-avis-GM-title-font-weight);
    letter-spacing: var(--page-detail-avis-GM-title-letter-spacing);
    line-height: var(--page-detail-avis-GM-title-line-height);
    text-transform: uppercase;
}

@media (min-width: 576px) {
    .pagecontent-cardkind-winery-presentation-card {
        min-height: 520px;
    }

    .pagecontent-cardkind-winery-presentation-card.maximised {
        flex-grow: 1 !important;
        flex-basis: 0 !important;
        max-width: unset !important;
        width: auto !important;
        /* min-height: unset !important; */
        max-height: unset !important;
    }

    .pagecontent-cardkind-winery-presentation-card.no-min-height {
        min-height: unset !important;
    }
}

/*!******************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/pagecontentcards/WorldMapCard.css ***!
  \******************************************************************************************************************************************************/
.pagecontent-cardkind-worldmap {
    padding: unset;
}

figure.pagecontent-cardkind-worldmap {
    padding: unset; /* carefull side effect with tinymce*/
    margin: unset; /* carefull side effect with tinymce*/
}

.pagecontent-cardkind-worldmap > .thumbnail-wrapper {
    width: 100%;
    position: relative;
    aspect-ratio: 510 / 640;
    /* padding-top: 170%; */
    background-color: var(--GMI-carddefaultbackground);
    overflow: hidden;
}

.pagecontent-cardkind-worldmap > .thumbnail-wrapper .thumbnail-frame {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/*!*************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/pagecontents/PageContent.css ***!
  \*************************************************************************************************************************************************/
.page-content-empty {
    justify-self: center;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    width: 100%;
    gap: 50px;
    background-color: var(--whiteGM);
}

/* Améliorations pour écrans plus larges */
@media (min-width: 576px) {
    .page-content-empty {
        max-width: 1000px;
        padding: 0px var(--horizontalContentPadding);
    }
}

/*!*************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/pagecontents/PageContentProductsWine.css ***!
  \*************************************************************************************************************************************************************/
.page-content-wine .actionButtonsContainer-mobile {
    flex: 1 1 auto;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.page-content-wine > .titleContainerLeft {
    /* display: flex; */
    display: none;
    flex-direction: column;
    flex-wrap: wrap;
    flex: 1 1;
}

/* Améliorations pour écrans plus larges */
@media (min-width: 576px) {
    .page-content-wine > .titleContainerLeft {
        display: flex;
    }
    .page-content-wine .actionButtonsContainer-desktop {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 10px;
        flex: 0 1 auto;
    }
}

/*!*********************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/pagecontents/PageContentProducts.css ***!
  \*********************************************************************************************************************************************************/
.page-content-products-empty > .page-content-products-title-container {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    flex: 1 1 auto;
    gap: 10px 0px;
}

.page-content-products-empty
    > .page-content-products-title-container
    > .titleContainerLeft {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    flex: 1 1;
}

/* Améliorations pour écrans plus larges */
@media (min-width: 576px) {
    .page-content-empty {
        max-width: 1000px;
        padding: 0px var(--horizontalContentPadding);
    }

    .page-content-products-empty > .page-content-products-title-container {
        flex-direction: row;
    }

    .page-content-products-empty
        > .page-content-products-title-container
        > .titleContainerLeft {
        padding-right: 20px;
    }
}

/*!*******************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/texts/CaptionValue.css ***!
  \*******************************************************************************************************************************************/
.figmaCaptionValue {
    font-family: var(--card-detail-value-font-family);
    font-weight: var(--card-detail-value-font-weight);
    color: var(--GMI-black);
    font-size: var(--card-detail-value-font-size);
    letter-spacing: var(--card-detail-value-letter-spacing);
    line-height: var(--card-detail-value-line-height);
    font-style: var(--card-detail-value-font-style);
    padding: 0px var(--GMI-carddetailhorizontalpaddingh);
}

.figmaCaptionValue.vertical {
    padding: 0px;
}

.figmaCaptionValue.vertical.sm {
    color: var(--GMI-black);
    font-family: var(--card-detail-vertical-value-12-font-family);
    font-size: var(--card-detail-vertical-value-12-font-size);
    font-style: var(--card-detail-vertical-value-12-font-style);
    font-weight: var(--card-detail-vertical-value-12-font-weight);
    letter-spacing: var(--card-detail-vertical-value-12-letter-spacing);
    line-height: var(--card-detail-vertical-value-12-line-height);
}

.figmaCaptionValue.vertical.xl {
    color: var(--GMI-black);
    font-family: var(--page-detail-vertical-value-16-font-family);
    font-size: var(--page-detail-vertical-value-16-font-size);
    font-style: var(--page-detail-vertical-value-16-font-style);
    font-weight: var(--page-detail-vertical-value-16-font-weight);
    letter-spacing: var(--page-detail-vertical-value-16-letter-spacing);
    line-height: var(--page-detail-vertical-value-16-line-height);
}

.figmaCaptionValue.outlined {
    border-radius: 8px;
    background-color: var(--GMI-outlinedyellow);
    padding: 2px var(--GMI-carddetailhorizontalpaddingh);
}

.sponsored .figmaCaptionValue.outlined {
    --GMI-outlinedyellow: var(--GMI-sponsored-bgColor);
}

/*!**************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/texts/Caption.css ***!
  \**************************************************************************************************************************************/
.figmaCaption {
    font-family: var(--card-detail-label-font-family);
    font-weight: var(--card-detail-label-font-weight);
    color: var(--GMI-black);
    font-size: var(--card-detail-label-font-size);
    letter-spacing: var(--card-detail-label-letter-spacing);
    line-height: var(--card-detail-label-line-height);
    font-style: var(--card-detail-label-font-style);
}

.figmaCaption.sm {
    color: var(--GMI-black);
    font-family: var(--card-detail-vertical-12-font-family);
    font-size: var(--card-detail-vertical-12-font-size);
    font-style: var(--card-detail-vertical-12-font-style);
    font-weight: var(--card-detail-vertical-12-font-weight);
    letter-spacing: var(--card-detail-vertical-12-letter-spacing);
    line-height: var(--card-detail-vertical-12-line-height);
}

.figmaCaption.xl {
    color: var(--GMI-black);
    font-family: var(--page-detail-vertical-label-16-font-family);
    font-size: var(--page-detail-vertical-label-16-font-size);
    font-style: var(--page-detail-vertical-label-16-font-style);
    font-weight: var(--page-detail-vertical-label-16-font-weight);
    letter-spacing: var(--page-detail-vertical-label-16-letter-spacing);
    line-height: var(--page-detail-vertical-label-16-line-height);
}

/*!****************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/texts/CardTitle.css ***!
  \****************************************************************************************************************************************/
.card-title {
    position: relative;
    /* flex: 1; */
    font-family: var(--card-title-font-family);
    font-weight: var(--card-title-font-weight);
    color: var(--GMI-black);
    font-size: var(--card-title-font-size);
    letter-spacing: var(--card-title-letter-spacing);
    line-height: var(--card-title-line-height);
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    font-style: var(--card-title-font-style);
}

.card-title.horizontal {
    font-family: var(--card-horizontal-title-font-family);
    font-size: var(--card-horizontal-title-font-size);
    font-style: var(--card-horizontal-title-font-style);
    font-weight: var(--card-horizontal-title-font-weight);
    letter-spacing: var(--card-horizontal-title-letter-spacing);
    line-height: var(--card-horizontal-title-line-height);
}

/*!***************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/texts/PageContentCardTitle.css ***!
  \***************************************************************************************************************************************************/
.page-content-card-title {
    flex: 0 0 auto;
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 10px;
    overflow: hidden;

    color: var(--GMI-black);
    font-family: var(--page-detail-avis-GM-title-font-family);
    font-size: var(--page-detail-avis-GM-title-font-size);
    font-style: var(--page-detail-avis-GM-title-font-style);
    font-weight: var(--page-detail-avis-GM-title-font-weight);
    letter-spacing: var(--page-detail-avis-GM-title-letter-spacing);
    line-height: var(--page-detail-avis-GM-title-line-height);
    text-transform: uppercase;
}

.page-content-card-title > .title-container {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: center;
    overflow: hidden;
}

.page-content-card-title > .title-container > .subTitle {
    color: var(--GMI-black);
    font-family: "Montserrat", Helvetica;
    font-size: 14px;
    font-weight: 300;
    letter-spacing: 0;
    line-height: 17px;
}

.page-content-card-title > .title-icon {
    flex: 0 0 auto;
}

/*!******************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/texts/PageContentSectionTitle.css ***!
  \******************************************************************************************************************************************************/
.page-content-section-title {
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 10px;
    overflow: hidden;
}

.page-content-section-title > h3 {
    all: unset;
    color: var(--GMI-black);
    font-family: "Montserrat", Helvetica;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 20px;
    white-space: nowrap;
    text-transform: uppercase;
}

.page-content-section-title > .title-icon {
    flex: 0 0 auto;
}

/*!**************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/texts/PageContentSubtitle.css ***!
  \**************************************************************************************************************************************************/
h2.page-content-subtitle {
    color: var(--GMI-black);
    font-family: var(--page-detail-main-title-font-family);
    font-size: var(--page-detail-main-title-font-size);
    font-style: var(--page-detail-main-title-font-style);
    font-weight: var(--page-detail-main-title-font-weight);
    letter-spacing: var(--page-detail-main-title-letter-spacing);
    line-height: var(--page-detail-main-title-line-height);
}

/*!***********************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/figma/texts/PageContentTitle.css ***!
  \***********************************************************************************************************************************************/
h1.page-content-title {
    font-family: var(--page-detail-sub-title-font-family);
    font-size: var(--page-detail-sub-title-font-size);
    font-style: var(--page-detail-sub-title-font-style);
    font-weight: var(--page-detail-sub-title-font-weight);
    letter-spacing: var(--page-detail-sub-title-letter-spacing);
    line-height: var(--page-detail-sub-title-line-height);
    color: var(--GMI-black);
}

/*!******************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/hotel/Stars.css ***!
  \******************************************************************************************************************************/
.HotelStars {
    display:inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap:0px 3px;
    border-radius: 8px;
    background-color: var(--yellowGM);
    padding: 5px 6px;
    height: 100%;
    max-height: 100%;
    width:80px;
    min-width:80px;
    line-height: 0px;
}

.HotelStars.noStars {
    background-color: #FFEB0433;
}

.HotelStars.sponsored {
    background-color: var(--sponsoredGM);
}


.HotelStars > svg {
    display: block;
    height:100%;
}
/*!************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/layout/MarkRibbon.css ***!
  \************************************************************************************************************************************/
.MarkRibbon {
    width: 100%;
    height:100%;
    background: var(--yellowGM) 0% 0% no-repeat padding-box;
    border-radius: 10px;
    padding:0px 10px;
    font: normal normal 300 18px/21px Montserrat;
    column-gap:5px;
}

.MarkRibbon > .mrMark {
    font-weight: 900;
    letter-spacing: 0px;
}

.MarkRibbon > .mrDescription {
    font-weight: 600;
}
/*!**********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/layout/Readmore.css ***!
  \**********************************************************************************************************************************/
.Readmore .line-clamp {
    overflow : hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
}

.Readmore.no-max-height {
    height: auto !important;
    max-height: unset !important;
}

@media (max-width: 479.98px) {
    .Readmore {
        height: auto !important;
    }
}
/*!*********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/layout/Vintage.css ***!
  \*********************************************************************************************************************************/
.Vintage {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    column-gap:4px;
    border-radius: 10px;
    background-color: var(--yellowGM);
    padding: 8px 13px;
    font: normal normal normal 12px/14px Montserrat;
    letter-spacing: 0px;
    color: #000000;
}

.Vintage .year {
    font-weight: bold;
}

.Vintage .text {
    font: normal normal bold 12px/14px Montserrat;
    letter-spacing: 0.6px;
}

@media (max-width: 479.98px) {
    .Vintage {
        font-size: 13px;
    }
}
/*!*********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/media/Triptych.css ***!
  \*********************************************************************************************************************************/
.Triptych {
    display:flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 10px 10px;
    width:100%;
    height:auto;
    max-height:440px;
    overflow: hidden;
}

.Triptych .photoCounter {
    position: absolute;
    right:10px;
    bottom:10px;
    display: inline-flex;
    justify-content: center;
    height: 30px;
    background-color: white;
    min-width:88px;
    align-items: center;
    font: normal normal bold 8px/16px Montserrat;
    letter-spacing: 0px;
    white-space: nowrap;
    pointer-events: none;
}

.Triptych .mainView {
    flex: 0 1 660px;
    max-width: 660px;
    height: auto;
}

.Triptych .mainView.oneImage {
    flex: 1 1 100%;
    max-width: 100%;
    overflow: hidden;
}

.Triptych .secondView {
    flex: 0 1 330px;
    max-width: 330px;
    height: auto;
    gap: inherit;
}

.Triptych .mainView > .wrapper > picture > img, .Triptych .secondView > .wrapper > picture > img {
    width: 100%;
    max-width: 100%;
    /* height:100%; */
    aspect-ratio: 1.5;
    /* object-fit: cover; */
}

.Triptych.pointer .mainView > .wrapper > picture > img, .Triptych.pointer .secondView > .wrapper > picture > img {
    cursor: pointer;
}

/* .Triptych .mainView.oneImage > img {
    aspect-ratio: unset;
} */

@media (max-width: 991.98px) {
    .Triptych {
        max-height:unset;
        gap:unset;
    }

    .Triptych .mainView {
        flex: 1 1 auto;
        max-width: 100%;
    }

    /* .Triptych .mainView > .wrapper > picture > img {
        max-height:400px;
    } */

    .Triptych .secondView {
        flex: 1 1 auto;
        max-width:100%;
    }

    .Triptych .secondView > .wrapper {
        width: 50%;
        max-width:50%;
    }

    /* .Triptych .secondView > .wrapper > img {
        width: 50%;
        max-width:50%;
    } */
}

@media (max-width: 479.98px) {
    .Triptych .photoCounter {
        position: absolute;
        right:10px;
        top:10px;
        bottom:unset;
        font-size:12px;
    }
}
/*!***************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/media/_TripTychModal.css ***!
  \***************************************************************************************************************************************/
.triptychmodal .modal-header {
    background-color: var(--yellowGM);
    border-bottom: 2px solid var(--redGM);
}

.triptychmodal .modal-body {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    background-color: black;
}

.triptychmodal .modal-body > .owl-carousel .owl-stage {
    display: flex;
    align-items: center;
}

.triptychmodal .modal-body > .owl-carousel img {
    /* border:1px solid red; */
    max-width:1296px;
    max-height:80vh;
    object-fit: contain;
    margin: 0px auto;
}

@media (min-width: 768px) {
    .triptychmodal .modal-body > .owl-carousel .nav-button {
        border:5px solid var(--yellowGM);
        height:65px;
        width:65px;
        align-self: center;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        transition: all 0.5s linear;
    }

    .triptychmodal .modal-body > .owl-carousel .nav-button i {
        color: var(--yellowGM);
        transition: all 0.5s linear;
    }

    .triptychmodal .modal-body > .owl-carousel .nav-button:hover {
        background-color: var(--yellowGM);
    }

    .triptychmodal .modal-body > .owl-carousel .nav-button:hover > i {
        color: var(--redGM);
    }
}

@media (max-width: 479.98px) {
    .triptychmodal .modal-body > .owl-carousel img {
        max-width: 480px;
    }
}
/*!******************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/media/Video.css ***!
  \******************************************************************************************************************************/
.Video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 5;
    color: white;
}

.Video > a {
    position: relative;
    color: white;
    font-family: "Font Awesome 6 Pro";
    text-shadow: 0 0 14px #000;
    cursor: pointer;
}

.Video.sm {
    font-size: 6em;
}

.Video.sm > a > svg {
    width: 84px;
    height: 84px;
}

.Video.md {
    font-size: 8em;
}

.Video.md > a > svg {
    width: 92px;
    height: 92px;
}

.Video.lg {
    font-size: 10em;
}

.Video.lg > a > svg {
    width: 96px;
    height: 96px;
}

.Video > a:hover {
    border: 0px;
    color: var(--yellowGM) !important;
}

/*!************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/media/_VideoModal.css ***!
  \************************************************************************************************************************************/
.videomodal .modal-header {
    background-color: var(--yellowGM);
    border-bottom: 2px solid var(--redGM);
}

.videomodal .modal-body {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    background-color: black;
}
/*!*********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/pages/BasePage.css ***!
  \*********************************************************************************************************************************/
/* Hack to remove v3-5 specific container */
#headerContainer {
    display: none !important;
}

.BasePage {
    --leftColumnWidth: 650px;
    --rightColumnWidth: 330px;
    max-width: 100%;
    background-color: var(--whiteGM);
    /* overflow: hidden; */
}

.BasePage .headerPage,
.BasePage .headerContent {
    /* padding-left:10px;
    padding-right:10px; */
}

.BasePage h1 {
    display: -webkit-box;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-align: left;
    font: normal normal 900 40px/46px "Source Serif 4";
    letter-spacing: 0px;
}

.BasePage .titleH2 {
    font: normal normal 900 30px/34px "Source Serif 4";
    text-transform: uppercase;
    letter-spacing: 0px;
    margin: unset; /* hack due to bootstrap */
}

.BasePage > .headerPage {
    gap: 10px 10px;
}

.BasePage > .headerPage .leftColumn,
.BasePage > .headerPage .rightColumn {
    gap: 10px 10px;
}

.BasePage .Social > a > svg {
    width: 20px;
    margin-right: 10px;
}

.BasePage .Social > a:hover {
    border: unset !important;
    border-bottom: unset !important;
    color: var(--yellowGM) !important;
}

@media (max-width: 479.98px) {
    .BasePage {
        padding-left: unset;
        padding-right: unset;
    }

    .BasePage h1 {
        line-clamp: unset;
        -webkit-line-clamp: unset;
        overflow: unset;
    }
}

@media (min-width: 1000px) {
    .BasePage {
        max-width: 1000px;
        justify-self: center;
    }
}

/*!************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/pages/ArtisanPage.css ***!
  \************************************************************************************************************************************/
.ArtisanPage > .headerPage .leftColumn .address {
    margin-top: auto;
    font: normal normal 500 14px/16px Montserrat;
    letter-spacing: 0px;
    text-transform: uppercase;
}

.ArtisanPage > .headerPage .rightColumn > .artisanTopInfos {
    align-items: center;
    gap: 10px 10px;
}

.ArtisanPage > .headerPage .rightColumn .ChiefHatsWrapper {
    width:90px;
    max-width: 90px;
    height:35px;
    max-height: 35px;
    flex:1;
}

.ArtisanPage .el {
    font: normal normal 500 20px/22px Montserrat;
    letter-spacing: 0px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ArtisanPage .el.row1 {
    font: normal normal 500 12px/13px Montserrat;
    letter-spacing: 0px;
}
  
.ArtisanPage > .headerContent {
    gap:0px 10px;
    font: normal normal 500 14px/25px Montserrat;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;

    margin-bottom:50px; /* TO REMOVE */
}

.ArtisanPage > .headerContent .rightColumn {
    flex:1;
}

.ArtisanPage > .headerContent .rowItem {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    /* align-items: center; */
    align-items: start;
}

.ArtisanPage > .headerContent .column1 {
    flex: 1 1 auto;
    color: #707070;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 120px;
    max-width:180px;
    width:100%;
}
 
.ArtisanPage > .headerContent .column2 {
     overflow: hidden;
     text-overflow: ellipsis;
     font-weight: 500;
}

.ArtisanPage > .headerContent .column2.line-2 {
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
}

.ArtisanPage > .headerContent .positonedManual {
    position: relative;
    padding: 0px 8px;
    right: 8px;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (min-width: 992px) {

    .ArtisanPage > .headerPage {
        padding-left: 10px;
    }

    .ArtisanPage > .headerPage .leftColumn {
        flex: 0 1 var(--leftColumnWidth);
    }

    .ArtisanPage > .headerPage .rightColumn {
        flex: 1 1 var(--rightColumnWidth);
    } 

    .ArtisanPage > .headerContent {
        padding-left: 10px;
    }

    .ArtisanPage > .headerContent .leftColumn {
        flex: 0 1 var(--leftColumnWidth);
        overflow:hidden;
    }

    .ArtisanPage > .headerContent .rightColumn {
        flex: 1 1 var(--rightColumnWidth);
    } 

    .ArtisanPage > .padLR-10 {
        padding-left: 10px;
        padding-right: 10px;
    }
}

@media (max-width: 991.98px) {
    .ArtisanPage > .headerContent .rightColumn {
        margin-top:20px;
        display: flex;
        justify-content: center;
    }

    .ArtisanPage > .headerContent .column1 {
        max-width: 120px;
    }
}

@media (max-width: 479.98px) {
    .ArtisanPage > .headerContent .column2.line-2 {
        -webkit-line-clamp: 5;
        line-clamp: 5;
    }
}
/*!************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/pages/BlogPageNew.css ***!
  \************************************************************************************************************************************/
.BlogPageNew > .headerContent {
    margin-bottom: 40px;
}

.BlogPageNew > .blog-content-wrapper {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
}

.BlogPageNew > .blog-content-wrapper > .left-col {
    flex: 1 1 auto;
    min-width: 0;
    max-width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 28px 24px; /* row gap 28, col gap plus serré en mobile */
    justify-content: center;
    padding: 0px 20px;
}

.BlogPageNew > .blog-content-wrapper > .right-col {
    display: none;
}

.BlogPageNew > .blog-content-wrapper > .left-col > .header-content {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.BlogPageNew > .blog-content-wrapper > .left-col > .header-content > h1.title {
    all: unset;
    font-family: "Source Serif 4", Helvetica;
    font-weight: 900;
    color: #000000;
    font-size: 42px;
    letter-spacing: 0;
    line-height: 45px;
}

.BlogPageNew
    > .blog-content-wrapper
    > .left-col
    > .header-content
    > h2.synopsys {
    all: unset;
    font-family: "Montserrat", Helvetica;
    font-weight: 600;
    color: #000000;
    font-size: 16px;
    letter-spacing: 0;
    line-height: 20px;
}

@media (min-width: 601px) {
    .BlogPageNew
        > .blog-content-wrapper
        > .left-col
        > .header-content
        > h1.title {
        font-size: 59px;
        line-height: 64px; /* 90.722% */
    }
}

/* passage en 2 colonnes */
@media (min-width: 1001px) {
    .BlogPageNew > .blog-content-wrapper {
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: stretch;
        gap: 50px;
        justify-content: center;
    }

    .BlogPageNew > .blog-content-wrapper > .left-col {
        flex: 0 1 calc(100% - 300px); /* prend tout l’espace restant à côté des 300px */
        min-width: 300px;
        gap: 20px 50px; /* on retrouve l’écart horizontal large du desktop */
        justify-content: center;
        padding: unset;
    }

    .BlogPageNew > .blog-content-wrapper > .right-col {
        display: flex; /* visible à partir de 651px */
        flex: 0 0 300px;
        width: 300px;
        /* background-color: #dccacd; */
        align-self: stretch; /* s'étire à la hauteur du wrapper (fond pleine hauteur) */
        flex-direction: column; /* évite d'étirer le contenu sticky */
    }

    /* Le bloc interne qui DOIT être sticky (ton composant) */
    .BlogPageNew > .blog-content-wrapper > .right-col > *:first-child {
        position: sticky;
        top: var(--header-body-offset);
        align-self: flex-start; /* ne PAS s'étirer, sinon le sticky "disparaît" */
    }
}

/*!*****************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/pages/ChampagnePageNab.css ***!
  \*****************************************************************************************************************************************/
.ChampagnePageNab .LeftBlock {
    padding-top:40px;
    padding-bottom:40px;
}

.ChampagnePageNab .RightBlock {
    padding: 28px 38px 40px;
}

.ChampagnePageNab .LeftBlock, .ChampagnePageNab .RightBlock {
    flex: 1 1 0;
    min-height: 752px;
}

.ChampagnePageNab .RightBlock .Vintage.winePage {
    position: relative;
    left: -10px;
    height: 46px;
    border-radius: 16px;
    padding: 8px 16px;
    font: normal normal normal 14px/17px Montserrat;
}

.ChampagnePageNab .RightBlock .titleBlock {
    height:250px;
}

.ChampagnePageNab .RightBlock .titleBlock h2 {
    font: normal normal 900 51px/57px "Source Serif 4" !important;
}

.ChampagnePageNab .RightBlock .titleBlock h1 {
    font: normal normal normal 23px/27px Montserrat !important;
}

.ChampagnePageNab .RightBlock .infos {
    row-gap: 20px;
    flex: 1 1 0;
    justify-content: center;
}

.ChampagnePageNab .RightBlock .labelTitle {
    font: normal normal 500 18px/25px Montserrat;
}

.ChampagnePageNab .RightBlock .labelValue {
    font: normal normal bold 18px/25px Montserrat;
}

.ChampagnePageNab .RightBlock .colorRow {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap:0px 10px;
    overflow: hidden;
}

.ChampagnePageNab .RightBlock .colorRow svg {
    display: block;
}

.ChampagnePageNab .RightBlock .varieties {
    column-gap: 10px;
}

.ChampagnePageNab > .domain {
    font: normal normal 500 26px / 28px Montserrat;
    text-align: start;
    text-transform: uppercase;
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
 }
    
@media (max-width: 991.98px) {
    
}
/*!**************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/pages/ChampagnePage.css ***!
  \**************************************************************************************************************************************/
.ChampagnePage > .headerPage {
    gap: 0px 40px;
    font: normal normal 500 14px/25px Montserrat;
    text-align: left;
    overflow: hidden;
}

.ChampagnePage > .headerPage .leftColumn, .ChampagnePage > .headerPage .rightColumn {
    flex: 1 1 0px;
}

.ChampagnePage > .headerPage .leftColumn {
    align-items: end;
}

.ChampagnePage > .headerPage .rightColumn .markText {
    font: normal normal 500 24px/14px Montserrat;
    padding-top:15px;
}

.ChampagnePage > .headerPage .rightColumn .vintage {
    text-align: start;
    font: normal normal 500 12px/16px Montserrat;
    letter-spacing: 0px;
    width:fit-content;
}

.ChampagnePage > .headerPage .rightColumn .labelTitle {
    font-weight: bold;
}

.ChampagnePage > .headerPage .rightColumn .colorRow {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap:0px 5px;
    overflow: hidden;
}

.ChampagnePage > .headerPage .rightColumn .colorRow svg {
    display: block;
}

.ChampagnePage > .headerPage .rightColumn .mt12 {
    margin-top:12px;
}

.ChampagnePage > .headerPage .rightColumn .mt15 {
    margin-top:12px;
}

.ChampagnePage > .headerPage .rightColumn .mt19 {
    margin-top:19px;
}

.ChampagnePage > .headerPage .rightColumn .varieties {
    width: 100%;
}

.ChampagnePage > .headerPage .rightColumn .varieties > div {
    display: flex;
    flex-direction: row;
    line-height: 17px;
}

.ChampagnePage > .headerPage .rightColumn .varieties .column1 {
    flex: 1 1 0px;
    max-width: 250px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
 }
 
.ChampagnePage > .headerPage .rightColumn .varieties .column2 {
     overflow: hidden;
     white-space: nowrap;
     text-overflow: ellipsis;
     font-weight: 500;
     padding-left:5px;
 }

 .ChampagnePage > .headerPage .domain {
    font: normal normal 500 26px / 28px Montserrat;
    text-align: start;
    text-transform: uppercase;
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
 }
    


@media (max-width: 991.98px) {
    .ChampagnePage > .headerPage {
        gap: 20px 0px;
    }

    .ChampagnePage > .headerPage .leftColumn .imgWrapper img {
        width: auto;
        max-height: 540px;
        overflow: hidden;
    }
}
/*!**********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/pages/HotelPage.css ***!
  \**********************************************************************************************************************************/
.HotelPage > .headerPage .leftColumn .address {
    margin-top: auto;
    font: normal normal 500 14px/16px Montserrat;
    letter-spacing: 0px;
    text-transform: uppercase;
}

.HotelPage > .headerPage .rightColumn > .restaurantTopInfos {
    align-items: center;
    gap: 10px 10px;
}

.HotelPage > .headerPage .rightColumn .HotelHatsWrapper {
    width:90px;
    max-width: 90px;
    height:35px;
    max-height: 35px;
    flex:1;
}

.HotelPage .el {
    font: normal normal 500 20px/22px Montserrat;
    letter-spacing: 0px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.HotelPage .el.row1 {
    font: normal normal 500 12px/13px Montserrat;
    letter-spacing: 0px;
}
  
.HotelPage > .headerContent {
    gap:0px 10px;
    font: normal normal 500 14px/25px Montserrat;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;

    margin-bottom:50px; /* TO REMOVE */
}

.HotelPage > .headerContent .rightColumn {
    flex:1;
}

.HotelPage > .headerContent .rowItem {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    /* align-items: center; */
    align-items: start;
}

.HotelPage > .headerContent .column1 {
    flex: 1;
    color: #707070;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width:120px;
    min-width:120px;
}
 
.HotelPage > .headerContent .column2 {
     overflow: hidden;
     text-overflow: ellipsis;
     font-weight: 500;
}

.HotelPage > .headerContent .column2.line-2 {
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
}

.HotelPage > .headerContent .positonedManual {
    position: relative;
    padding: 0px 8px;
    right: 8px;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (min-width: 992px) {

    .HotelPage > .headerPage {
        padding-left: 10px;
    }

    .HotelPage > .headerPage .leftColumn {
        flex: 0 1 var(--leftColumnWidth);
    }

    .HotelPage > .headerPage .rightColumn {
        flex: 1 1 var(--rightColumnWidth);
    } 

    .HotelPage > .headerContent {
        padding-left: 10px;
    }

    .HotelPage > .headerContent .leftColumn {
        flex: 0 1 var(--leftColumnWidth);
        overflow:hidden;
    }

    .HotelPage > .headerContent .rightColumn {
        flex: 1 1 var(--rightColumnWidth);
    } 

    .HotelPage > .padLR-10 {
        padding-left: 10px;
        padding-right: 10px;
    }
}

@media (max-width: 991.98px) {
    .HotelPage > .headerContent .rightColumn {
        margin-top:20px;
        display: flex;
        justify-content: center;
    }
}

@media (max-width: 479.98px) {
    .HotelPage > .headerContent .column2.line-2 {
        -webkit-line-clamp: 5;
        line-clamp: 5;
    }
}
/*!**************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/pages/ItineraryPage.css ***!
  \**************************************************************************************************************************************/
.ItineraryPage > .headerContent {
    gap: 0px 10px;
    font: normal normal 500 14px/25px Montserrat;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;

    margin-bottom: 50px; /* TO REMOVE */
}

.ItineraryPage .synopsys {
    font: normal normal bold 18px/24px Montserrat;
}

.ItineraryPage #itinerary-map {
    gap: unset;
}

.ItineraryPage #itinerary-map #map-establishment {
    /* overriding sticky position from div.sticky */
    top: 150px;
    overflow: hidden;
}

.ItineraryPage .BaseCard .cardMarker {
    position: absolute;
    text-align: center;
    z-index: 2;
    top: 20px;
    right: 20px;
    width: 50px;
    height: 50px;
}

.ItineraryPage .BaseCard .cardMarker img {
    position: relative;
    width: 100%;
    height: 100%;
    color: #fed403;
}

.ItineraryPage .BaseCard .cardMarker .markerText {
    position: absolute;
    font-size: 1.2em;
    font-weight: bold;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 3;
}

.ItineraryPage .BaseCard .cardMarker .markerText:hover {
    cursor: pointer;
}

.ItineraryPage .BaseCard .cardMarkerMoment {
    position: absolute;
    background-color: var(--yellowGM);
    color: var(--redGM);
    padding: 3px 5px 3px 12px;
    font-weight: bold;
    bottom: unset;
    top: 150px;
    left: -8px;
    text-transform: uppercase;
}

@media (max-width: 991.98px) {
    /* mapBox itinerary */
    .ItineraryPage #itinerary-map #map-establishment {
        top: unset; /* overriding sticky position from div.sticky */
        height: 500px;
    }
}

/*!***********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/pages/PeoplePage.css ***!
  \***********************************************************************************************************************************/
.PeoplePage > .headerPage {
    gap: 0px 20px;
    font: normal normal 500 14px/25px Montserrat;
    text-align: left;
    overflow: hidden;
}

.PeoplePage > .headerPage .leftColumn .imgWrapper > svg {
    max-width: 420px;
    height: auto;
}

.PeoplePage > .headerPage .leftColumn, .PeoplePage > .headerPage .rightColumn {
    flex: 1 1 0px;
}

.PeoplePage > .headerPage .leftColumn {
    align-items: end;
}

.PeoplePage > .headerPage .rightColumn {
    max-width:500px;
}

.PeoplePage > .headerPage .synopsys {
    text-align: center;
    font-weight: bold;
    margin-top:10px;
}

.PeoplePage > .padLR-10 {
    /* padding-left: 10px;
    padding-right: 10px; */
}

@media (min-width: 992px) {

    
}

@media (max-width: 991.98px) {
    .PeoplePage > .headerPage {
        gap: 20px 0px;
    }

    .PeoplePage > .headerPage .leftColumn .imgWrapper {
        width: 100%;
        max-height: 540px;
        overflow: hidden;
    }
}
/*!************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/pages/ProductPage.css ***!
  \************************************************************************************************************************************/
.ProductPage .LeftBlock {
    padding-top:40px;
    padding-bottom:40px;
}

.ProductPage .RightBlock {
    padding: 28px 38px 40px;
}

.ProductPage .LeftBlock, .ProductPage .RightBlock {
    flex: 1 1 auto;
    height: 752px;
    min-width: 475px;
    max-width: 475px;
    min-height: 752px;
    max-height: 752px;
    overflow: hidden;
}

.ProductPage .LeftBlock .imgWrapper {
    min-height: 672px;
    max-height: 672px;
}

.ProductPage .LeftBlock .imgWrapper, .ProductPage .LeftBlock .imgWrapper img {
    /* width:100%; */
    height:100%;
}

.ProductPage .RightBlock .Vintage.winePage {
    position: relative;
    left: -10px;
    height: 46px;
    border-radius: 16px;
    padding: 8px 16px;
    font: normal normal normal 14px/17px Montserrat;
}

.ProductPage .RightBlock .titleBlock {
    height:250px;
}

.ProductPage .RightBlock .titleBlock h2 {
    font: normal normal 900 51px/57px "Source Serif 4" !important;
}

.ProductPage .RightBlock .titleBlock h1 {
    font: normal normal normal 23px/27px Montserrat !important;
}

.ProductPage .RightBlock .infos {
    row-gap: 20px;
    flex: 1 1 0;
    justify-content: center;
}

.ProductPage .RightBlock .labelTitle {
    font: normal normal 500 18px/25px Montserrat;
}

.ProductPage .RightBlock .labelValue {
    font: normal normal bold 18px/25px Montserrat;
}

.ProductPage .RightBlock .colorRow {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap:0px 10px;
    overflow: hidden;
}

.ProductPage .RightBlock .colorRow svg {
    display: block;
}

.ProductPage .RightBlock .varieties {
    column-gap: 10px;
}

.ProductPage > .domain {
    font: normal normal 500 26px / 28px Montserrat;
    text-align: start;
    text-transform: uppercase;
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
 }
    
@media (max-width: 991.98px) {
    
}
/*!***************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/pages/RestaurantPage.css ***!
  \***************************************************************************************************************************************/
.RestaurantPage > .headerPage .leftColumn .address {
    margin-top: auto;
    font: normal normal 500 14px/16px Montserrat;
    letter-spacing: 0px;
    text-transform: uppercase;
}

.RestaurantPage > .headerPage .rightColumn > .restaurantTopInfos {
    align-items: center;
    gap: 10px 10px;
}

.RestaurantPage > .headerPage .rightColumn .ChiefHatsWrapper {
    width:90px;
    max-width: 90px;
    height:35px;
    max-height: 35px;
    flex:1;
}

.RestaurantPage .el {
    display: flex;
    flex-direction: row;
    align-items: center;
    font: normal normal 500 20px/20px Montserrat;
    letter-spacing: 0px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.RestaurantPage .el > b {
    font-size: 22.7px;
}

.RestaurantPage .el.row1 {
    font: normal normal 500 12px/13px Montserrat;
    letter-spacing: 0px;
}
  
.RestaurantPage > .headerContent {
    gap:0px 10px;
    font: normal normal 500 14px/25px Montserrat;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;

    margin-bottom:50px; /* TO REMOVE */
}

.RestaurantPage > .headerContent .rightColumn {
    flex:1;
}

.RestaurantPage > .headerContent .rowItem {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
}

.RestaurantPage > .headerContent .column1 {
    flex: 1;
    color: #707070;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width:120px;
    min-width:120px;
}
 
.RestaurantPage > .headerContent .column2 {
     overflow: hidden;
     text-overflow: ellipsis;
     font-weight: 500;
}

.RestaurantPage > .headerContent .positonedManual {
    position: relative;
    padding: 0px 8px;
    right: 8px;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (min-width: 992px) {

    .RestaurantPage > .headerPage {
        padding-left: 10px;
    }

    .RestaurantPage > .headerPage .leftColumn {
        flex: 0 1 var(--leftColumnWidth);
    }

    .RestaurantPage > .headerPage .rightColumn {
        flex: 1 1 var(--rightColumnWidth);
    } 

    .RestaurantPage > .headerContent {
        padding-left: 10px;
    }

    .RestaurantPage > .headerContent .leftColumn {
        flex: 0 1 var(--leftColumnWidth);
        overflow:hidden;
    }

    .RestaurantPage > .headerContent .rightColumn {
        flex: 1 1 var(--rightColumnWidth);
    } 

    .RestaurantPage > .padLR-10 {
        padding-left: 10px;
        padding-right: 10px;
    }
}

@media (max-width: 991.98px) {
    .RestaurantPage > .headerContent .rightColumn {
        margin-top:20px;
        display: flex;
        justify-content: center;
    }
}

@media (max-width: 479.98px) {
    .RestaurantPage > .headerContent > .leftColumn > .rowItem:not(:first-child) > .column2  {
        white-space: normal;
    }
}


/*!**********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/pages/TenthPage.css ***!
  \**********************************************************************************************************************************/
.TenthPage {
    --t-shadow: 2px 2px 6px rgba(0, 0, 0, 0.35);
}

.TenthPage .full-banner-mobile-only {
    display: block;
}

.TenthPage .headerContent {
    width: 100%;
    position: relative;
}

.TenthPage .headerContent > h1.title {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: var(--GM-White, var(--color-white-solid, #fff));
    text-align: center;
    font-family: "Source Serif 4";
    font-style: normal;
    font-weight: 900;
    font-size: 34px;
    line-height: 37px;

    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -webkit-line-clamp: 2 !important;

    text-shadow: var(--t-shadow);
}

.TenthPage .headerContent > h2.synopsys {
    position: absolute;
    width: 100%;
    bottom: 38px;
    left: 50%;
    transform: translateX(-50%);
    color: var(--GM-White, var(--color-white-solid, #fff));
    text-align: center;
    font-family: Montserrat;
    font-size: 17px;
    font-style: normal;
    font-weight: 600;
    line-height: 19px; /* 111.765% */
    text-transform: uppercase;

    bottom: 10%;
    font-size: 14px;
    line-height: 17px;

    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis !important;

    text-shadow: var(--t-shadow);
}

.TenthPage .headerContent > .themeTag {
    position: absolute;
    bottom: calc(0px - 30px / 2);
    left: 50%;
    transform: translateX(-50%);
    align-items: center;
    background-color: var(--GMI-outlinedyellow);
    border-radius: 8px;
    display: inline-flex;
    gap: 10px;
    height: 30px;
    padding: 0px 12px;
    font-family: Montserrat;
    font-size: 13px;
    font-style: normal;
    font-weight: 700;
    line-height: 18px;
    white-space: nowrap;
    overflow: hidden;
    max-width: 100%;
    text-transform: uppercase;
}

.TenthPage .textContent {
    max-width: 750px;
    text-align: center;
    font-family: Montserrat;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 25px; /* 156.25% */
}

/* Reprendre en mobile first */

/* Base (mobile) : une seule colonne, la colonne 2 est masquée */
.TenthPage .tenth-wrapper {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 28px;
    justify-content: flex-start;
    width: 100%;
}

/* Colonne principale : plein écran, grille interne conservée */
.TenthPage .tenth-wrapper > *:first-child {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 28px 24px; /* row gap 28, col gap plus serré en mobile */
    justify-content: center;
}

/* Colonne secondaire : cachée en mobile */
.TenthPage .tenth-wrapper > *:nth-child(2) {
    display: none;
}

/* ≥ 651px : passage en 2 colonnes, 2e colonne visible et sticky interne */
@media (min-width: 601px) {
    .TenthPage .headerContent > h1.title {
        font-size: 97px;
        line-height: 88px; /* 90.722% */
        max-width: 100%;
        -webkit-line-clamp: 3 !important;
    }

    .TenthPage .headerContent > h2.synopsys {
        bottom: 38px;
        font-size: 17px;
        line-height: 19px;
        white-space: unset;
        text-overflow: unset;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        overflow: hidden;
        -webkit-line-clamp: 2 !important;
    }

    .TenthPage .tenth-wrapper {
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: stretch;
        gap: 50px;

        justify-content: center;
    }

    /* Colonne principale (2/3), min 300px, occupe le reste */
    .TenthPage .tenth-wrapper > *:first-child {
        flex: 0 1 300px; /* prend tout l’espace restant à côté des 300px */
        min-width: 300px;
        gap: 28px 50px; /* on retrouve l’écart horizontal large du desktop */
        justify-content: center;
    }

    /* Le bloc interne qui DOIT être sticky (ton composant) */
    .TenthPage .tenth-wrapper > *:nth-child(2) > *:first-child {
        position: sticky;
        top: var(--header-body-offset);
        align-self: flex-start; /* ne PAS s'étirer, sinon le sticky "disparaît" */
    }

    /* passage en 3 colonnes */
    @media (min-width: 1001px) {
        .TenthPage .full-banner-mobile-only {
            display: none;
        }

        /* Colonne principale (2/3), min 300px, occupe le reste */
        .TenthPage .tenth-wrapper > *:first-child {
            flex: 0 1 calc(100% - 300px); /* prend tout l’espace restant à côté des 300px */
        }

        /* Colonne secondaire (1/3) fixe à 300px : conteneur de fond */
        .TenthPage .tenth-wrapper > *:nth-child(2) {
            display: flex; /* visible à partir de 651px */
            flex: 0 0 300px;
            width: 300px;
            /* background-color: #dccacd; */
            align-self: stretch; /* s'étire à la hauteur du wrapper (fond pleine hauteur) */
            flex-direction: column; /* évite d'étirer le contenu sticky */
        }
    }
}

/*!************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/pages/WinePageNab.css ***!
  \************************************************************************************************************************************/
.WinePageNab .LeftBlock {
    padding-top:40px;
    padding-bottom:40px;
}

.WinePageNab .RightBlock {
    padding: 28px 38px 40px;
}

.WinePageNab .LeftBlock, .WinePageNab .RightBlock {
    flex: 1 1 0;
    min-height: 752px;
}

.WinePageNab .RightBlock .Vintage.winePage {
    position: relative;
    left: -10px;
    height: 46px;
    border-radius: 16px;
    padding: 8px 16px;
    font: normal normal normal 14px/17px Montserrat;
}

.WinePageNab .RightBlock .titleBlock {
    height:250px;
}

.WinePageNab .RightBlock .titleBlock h2 {
    font: normal normal 900 51px/57px "Source Serif 4" !important;
}

.WinePageNab .RightBlock .titleBlock h1 {
    font: normal normal normal 23px/27px Montserrat !important;
}

.WinePageNab .RightBlock .infos {
    row-gap: 20px;
    flex: 1 1 0;
    justify-content: center;
}

.WinePageNab .RightBlock .labelTitle {
    font: normal normal 500 18px/25px Montserrat;
}

.WinePageNab .RightBlock .labelValue {
    font: normal normal bold 18px/25px Montserrat;
}

.WinePageNab .RightBlock .colorRow {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap:0px 10px;
    overflow: hidden;
}

.WinePageNab .RightBlock .colorRow svg {
    display: block;
}

.WinePageNab .RightBlock .varieties {
    column-gap: 10px;
}

.WinePageNab > .domain {
    font: normal normal 500 26px / 28px Montserrat;
    text-align: start;
    text-transform: uppercase;
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
 }
    
@media (max-width: 991.98px) {
    
}
/*!*********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/pages/WinePage.css ***!
  \*********************************************************************************************************************************/
.WinePage > .headerPage {
    gap: 0px 40px;
    font: normal normal 500 14px/25px Montserrat;
    text-align: left;
    overflow: hidden;
}

.WinePage > .headerPage .leftColumn, .WinePage > .headerPage .rightColumn {
    flex: 1 1 0px;
}

.WinePage > .headerPage .leftColumn {
    align-items: end;
}

.WinePage > .headerPage .rightColumn .markText {
    font: normal normal 500 24px/14px Montserrat;
    padding-top:15px;
}

.WinePage > .headerPage .rightColumn .vintage {
    text-align: start;
    font: normal normal 500 12px/16px Montserrat;
    letter-spacing: 0px;
    width:fit-content;
}

.WinePage > .headerPage .rightColumn .labelTitle {
    font-weight: bold;
}

.WinePage > .headerPage .rightColumn .colorRow {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap:0px 5px;
    overflow: hidden;
}

.WinePage > .headerPage .rightColumn .colorRow svg {
    display: block;
}

.WinePage > .headerPage .rightColumn .mt12 {
    margin-top:12px;
}

.WinePage > .headerPage .rightColumn .mt15 {
    margin-top:12px;
}

.WinePage > .headerPage .rightColumn .mt19 {
    margin-top:19px;
}

.WinePage > .headerPage .rightColumn .varieties {
    width: 100%;
}

.WinePage > .headerPage .rightColumn .varieties > div {
    display: flex;
    flex-direction: row;
    line-height: 17px;
}

.WinePage > .headerPage .rightColumn .varieties .column1 {
    flex: 1 1 0px;
    max-width: 250px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
 }
 
.WinePage > .headerPage .rightColumn .varieties .column2 {
     overflow: hidden;
     white-space: nowrap;
     text-overflow: ellipsis;
     font-weight: 500;
     padding-left:5px;
 }

 .WinePage > .headerPage .domain {
    font: normal normal 500 26px / 28px Montserrat;
    text-align: start;
    text-transform: uppercase;
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
 }
    


@media (max-width: 991.98px) {
    .WinePage > .headerPage {
        gap: 20px 0px;
    }

    .WinePage > .headerPage .leftColumn .imgWrapper img {
        width: auto;
        max-height: 540px;
        overflow: hidden;
    }
}
/*!***********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/pages/WineryPage.css ***!
  \***********************************************************************************************************************************/
.WineryPage > .headerPage .leftColumn .address {
    margin-top: auto;
    font: normal normal 500 14px/16px Montserrat;
    letter-spacing: 0px;
    text-transform: uppercase;
}

.WineryPage > .headerPage .rightColumn > .wineryTopInfos {
    align-items: center;
    gap: 10px 10px;
}

.WineryPage > .headerPage .rightColumn .ChiefHatsWrapper {
    width:90px;
    max-width: 90px;
    height:35px;
    max-height: 35px;
    flex:1;
}

.WineryPage .el {
    font: normal normal 500 20px/22px Montserrat;
    letter-spacing: 0px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.WineryPage .el.row1 {
    font: normal normal 500 12px/13px Montserrat;
    letter-spacing: 0px;
}
  
.WineryPage > .headerContent {
    gap:0px 10px;
    font: normal normal 500 14px/25px Montserrat;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;

    margin-bottom:50px; /* TO REMOVE */
}

.WineryPage > .headerContent .rightColumn {
    flex:1;
}

.WineryPage > .headerContent .rowItem {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    /* align-items: center; */
    align-items: start;
}

.WineryPage > .headerContent .column1 {
    flex: 1 1 auto;
    color: #707070;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 120px;
    max-width:180px;
    width:100%;
}
 
.WineryPage > .headerContent .column2 {
     overflow: hidden;
     text-overflow: ellipsis;
     font-weight: 500;
}

.WineryPage > .headerContent .column2.line-2 {
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
}

.WineryPage > .headerContent .positonedManual {
    position: relative;
    padding: 0px 8px;
    right: 8px;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (min-width: 992px) {

    .WineryPage > .headerPage {
        padding-left: 10px;
    }

    .WineryPage > .headerPage .leftColumn {
        flex: 0 1 var(--leftColumnWidth);
    }

    .WineryPage > .headerPage .rightColumn {
        flex: 1 1 var(--rightColumnWidth);
    } 

    .WineryPage > .headerContent {
        padding-left: 10px;
    }

    .WineryPage > .headerContent .leftColumn {
        flex: 0 1 var(--leftColumnWidth);
        overflow:hidden;
    }

    .WineryPage > .headerContent .rightColumn {
        flex: 1 1 var(--rightColumnWidth);
    } 

    .WineryPage > .padLR-10 {
        padding-left: 10px;
        padding-right: 10px;
    }
}

@media (max-width: 991.98px) {
    .WineryPage > .headerContent .rightColumn {
        margin-top:20px;
        display: flex;
        justify-content: center;
    }

    .WineryPage > .headerContent .column1 {
        max-width: 120px;
    }
}

@media (max-width: 479.98px) {
    .WineryPage > .headerContent .column2.line-2 {
        -webkit-line-clamp: 5;
        line-clamp: 5;
    }
}
/*!************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/restaurant/Budget.css ***!
  \************************************************************************************************************************************/
.Budget {
    flex:1;
    display: flex;
    flex-direction: row;
    align-items: center;
    align-self: center;
    gap: 0px 15px;
    overflow:hidden;
    padding-left: 24px;
    padding-right: 16px;
    height:100%;
    min-height: 70px;
    max-width:362px;
    border: 2px solid var(--yellowGM);
    border-radius: 12px;
    /* width: 100%; */
    /* height: 100%; */

}

.Budget .currency {
    font: normal normal bolder 20px/14px Montserrat;
}

.Budget .text {
    flex:1;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    max-width: 120px;
    gap: 3px 0px;
    font: normal normal 500 9px/10px Montserrat;
    white-space: normal;
    overflow: hidden;
}

.Budget .text .rowPrice {
    font: normal normal bold 14px/14px Montserrat;
    text-transform: uppercase;
}

.Budget .price {
    flex:1;
    /* display: flex;
    flex-direction: column;
    flex-wrap: wrap; */
    font: normal normal bolder 20px/14px Montserrat;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}
/*!***************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/restaurant/ChiefHats.css ***!
  \***************************************************************************************************************************************/
.ChiefHats {
    display:inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap:0px 3px;
    border-radius: 8px;
    background-color: var(--yellowGM);
    padding: 5px 6px;
    height: 100%;
    max-height: 100%;
    width:80px;
    min-width:80px;
    line-height: 0px;
}

.ChiefHats.toqueOr {
    background-color: unset;
    border: 2px solid var(--academicGM);
}

.ChiefHats.fullwidth {
    width:100%;
    max-width:95px;
}

.ChiefHats.fullwidthPeople {
    width:100%;
    max-width:150px;
    height:40px;
}

.ChiefHats.noToques {
    background-color: #FFEB0433;
}

.ChiefHats.sponsored {
    background-color: var(--sponsoredGM);
}

.ChiefHats p {
    margin:unset;
}

.ChiefHats > svg {
    display: block;
    fill:black;
    stroke:black;
    stroke-width:1.5px;
    height:100%;
    max-height:16px;
}

.ChiefHats.svg_12_17 > svg {
    max-height:17px;
}

.ChiefHats.svg_12_23 > svg {
    max-height:23px;
}

.ChiefHats.toqueOr > svg {
    fill:var(--academicGM);
    stroke:var(--academicGM);
}

.ChiefHats.noToques > svg {
    stroke: unset;
}


/*!*********************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/restaurant/OpeningDaysInfo.css ***!
  \*********************************************************************************************************************************************/
.OpeningDaysInfo > .openingHours {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 0px 3px;
    position: absolute;
    height: 20px;
    top: 10px;
    right: 10px;
    min-width: 62px;
    text-align: left;
    text-transform: capitalize;
    font: normal normal bold 10px/13px Montserrat;
    letter-spacing: 0px;
    color: #fefefe;
    border-radius: 12px;
    line-height: 0px;
    padding: 6px;
    transition: opacity 0.5s ease-in-out;
    z-index: 1;
}

.OpeningDaysInfo > .openingHours > svg {
    display: block;
    height: 100%;
}

.OpeningDaysInfo > .openingHours.isOpen {
    color: #fefefe;
    background-color: #00ad64;
    opacity: 0;
}

.OpeningDaysInfo > .openingHours.isOpen.show {
    opacity: 1;
}

/*!********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/winery/Colors.css ***!
  \********************************************************************************************************************************/
.Colors svg {
    margin-right:10px;
}
/*!*************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/components/winery/ProductRank.css ***!
  \*************************************************************************************************************************************/
.ProductRank {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    column-gap:4px;
    font: normal normal 300 20px/24px Montserrat;
    letter-spacing: 0px;
    color: #000000;
}

.ProductRank .bold {
    font-weight: bold;
    font-size:23px;
}

@media (max-width: 479.98px) {
    .ProductRank {
        font-size: 23px;
    }

    .ProductRank .bold {
        font-size:26px;
    }
}
/*!***************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/v6/root.css ***!
  \***************************************************************************************************************/
:root {
    --whiteGM: #ffffff !important;
    --yellowGM: #ffeb00 !important;
    --redGM: #e10600;
    --academicGM: #dcb253;
    --sponsoredGM: #f3efc8;
    --card-border: 1px solid #d0cdba;
    --row-comp-mb-x: 50px;
    --row-comp-mb-y: 30px;
    --gap: var(--row-comp-mb-y) var(--row-comp-mb-x);

    --row-gap: 20px;
    --column-gap: 0px;

    --colspan-width-1: var(--GMI-defaultcardwidth);
    --colspan-width-2: var(--GMI-defaultcardwidth);
    --colspan-width-1-2: var(--GMI-defaultcardwidth);

    /* DO NOT CLEAR FOLLWING GLOBALS */
    --GMI-sponsored-bgColor: #e6f7ff;
    --GMI-sponsored-svgColor: #004666;
}

.container {
    background-color: white !important;
}

.row-layout {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    gap: var(--row-gap) var(--column-gap);
}

.section-layout {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 20px;
    width: 100%;
}

.h1Title {
    margin-top: 10px;
}

.ellipsis {
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis !important;
}

.clamp-2,
.clamp-3,
.clamp-4,
.clamp-5,
.clamp-6,
.clamp-7,
.clamp-8 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.clamp-2 {
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
}

.clamp-3 {
    -webkit-line-clamp: 3 !important;
    line-clamp: 3 !important;
}

.clamp-4 {
    -webkit-line-clamp: 4 !important;
    line-clamp: 4 !important;
}

.clamp-5 {
    -webkit-line-clamp: 5 !important;
    line-clamp: 5 !important;
}

.clamp-6 {
    -webkit-line-clamp: 6 !important;
    line-clamp: 6 !important;
}

.clamp-7 {
    -webkit-line-clamp: 7 !important;
    line-clamp: 7 !important;
}

.clamp-8 {
    -webkit-line-clamp: 8 !important;
    line-clamp: 8 !important;
}

.gmiCaption {
    font: normal normal 500 12px/15px Montserrat;
    letter-spacing: 0px;
}

.gmiCaptionValue {
    font: normal normal 700 12px/15px Montserrat;
    letter-spacing: 0px;
}

h3.gmiCardTitle {
    all: unset;
    display: block;
    font: normal normal 900 27px/30px "Source Serif 4";
    letter-spacing: 0px;
    text-align: left;
}

.gmiPageSectionTitle {
    column-gap: 10px;
}

.gmiPageSectionTitle > h3 {
    all: unset;
    flex: 1 1 auto;
    min-width: 0;
    font: normal normal 900 16px/19px Montserrat;
    letter-spacing: 0px;
    text-align: left;
    display: flex; /* ← clé ici pour contenir le span */
    align-items: center; /* ← aligne verticalement si besoin */
}

.gmiPageSectionTitle h3 > span {
    display: block;
    overflow: hidden;
    min-width: 0;
    width: 100%;
}

.spacer-20 {
    height: 20px;
}

.spacer-30 {
    height: 30px;
}

.roundedText {
    border-radius: 8px;
    background-color: var(--yellowGM);
    padding: 4px 8px;
}

.roundedText.sponsored {
    background-color: var(--sponsoredGM);
}

.only-Desktop {
    display: initial;
}

.only-Mobile {
    display: none;
}

@media (max-width: 999.98px) {
    :root {
        --row-comp-mb: 20px;
    }
}

@media (min-width: 480px) {
    .only-mobile-new {
        display: none !important;
    }
}

@media (max-width: 479.98px) {
    :root {
        --gap: 0px 0px;
    }

    .only-Desktop {
        display: none;
    }

    .only-desktop-new {
        display: none !important;
    }

    .only-Mobile {
        display: initial;
    }

    .noClamp-Mobile {
        -webkit-line-clamp: unset !important;
        line-clamp: unset !important;
    }

    .noEllipsis-Mobile {
        white-space: unset;
    }
}

@media (min-width: 576px) {
    :root {
        --row-gap: 40px;
        --column-gap: 40px;

        --colspan-width-2: calc(var(--colspan-width-1) * 2 + var(--column-gap));
        --colspan-width-1-2: calc(
            var(--colspan-width-1) + var(--colspan-width-1) / 2 +
                var(--column-gap) / 2
        );
    }

    .row-layout {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: flex-start;
    }
}

/*!*********************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/v6/styleguide.css ***!
  \*********************************************************************************************************************/
:root {
    --bottle-card-kind-font-family: "Montserrat", Helvetica;
    --bottle-card-kind-font-size: 16px;
    --bottle-card-kind-font-style: normal;
    --bottle-card-kind-font-weight: 500;
    --bottle-card-kind-letter-spacing: 0px;
    --bottle-card-kind-line-height: 19px;
    --bottle-card-productor-font-family: "Montserrat", Helvetica;
    --bottle-card-productor-font-size: 15px;
    --bottle-card-productor-font-style: normal;
    --bottle-card-productor-font-weight: 600;
    --bottle-card-productor-letter-spacing: 0px;
    --bottle-card-productor-line-height: 18px;
    --bottle-note-font-family: "Montserrat", Helvetica;
    --bottle-note-font-size: 16px;
    --bottle-note-font-style: normal;
    --bottle-note-font-weight: 700;
    --bottle-note-letter-spacing: 0px;
    --bottle-note-line-height: 19px;
    --bottle-note-sur-100-font-family: "Montserrat", Helvetica;
    --bottle-note-sur-100-font-size: 16px;
    --bottle-note-sur-100-font-style: normal;
    --bottle-note-sur-100-font-weight: 300;
    --bottle-note-sur-100-letter-spacing: 0px;
    --bottle-note-sur-100-line-height: 19px;
    --buton-establishment-label-font-family: "Montserrat", Helvetica;
    --buton-establishment-label-font-size: 13px;
    --buton-establishment-label-font-style: normal;
    --buton-establishment-label-font-weight: 700;
    --buton-establishment-label-letter-spacing: 0px;
    --buton-establishment-label-line-height: 15.847000122070312px;
    --buton-people-label-font-family: "Montserrat", Helvetica;
    --buton-people-label-font-size: 13px;
    --buton-people-label-font-style: normal;
    --buton-people-label-font-weight: 700;
    --buton-people-label-letter-spacing: 0px;
    --buton-people-label-line-height: 15.847000122070312px;
    --button-cathegory-text-font-family: "Montserrat", Helvetica;
    --button-cathegory-text-font-size: 9px;
    --button-cathegory-text-font-style: normal;
    --button-cathegory-text-font-weight: 400;
    --button-cathegory-text-letter-spacing: 0px;
    --button-cathegory-text-line-height: 23px;
    --button-establishment-place-font-family: "Montserrat", Helvetica;
    --button-establishment-place-font-size: 13px;
    --button-establishment-place-font-style: normal;
    --button-establishment-place-font-weight: 500;
    --button-establishment-place-letter-spacing: 0px;
    --button-establishment-place-line-height: 15.847000122070312px;
    --button-label-font-family: "Montserrat", Helvetica;
    --button-label-font-size: 13px;
    --button-label-font-style: normal;
    --button-label-font-weight: 600;
    --button-label-letter-spacing: 0px;
    --button-label-line-height: 15.847000122070312px;
    --button-text-font-family: "Montserrat", Helvetica;
    --button-text-font-size: 13px;
    --button-text-font-style: normal;
    --button-text-font-weight: 700;
    --button-text-letter-spacing: 0px;
    --button-text-line-height: 18px;
    --card-detail-label-font-family: "Montserrat", Helvetica;
    --card-detail-label-font-size: 14px;
    --card-detail-label-font-style: normal;
    --card-detail-label-font-weight: 300;
    --card-detail-label-letter-spacing: 0.014000000432133675px;
    --card-detail-label-line-height: 18px;
    --card-detail-value-caps-font-family: "Montserrat", Helvetica;
    --card-detail-value-caps-font-size: 14px;
    --card-detail-value-caps-font-style: normal;
    --card-detail-value-caps-font-weight: 700;
    --card-detail-value-caps-letter-spacing: 0.014000000432133675px;
    --card-detail-value-caps-line-height: 18px;
    --card-detail-value-font-family: "Montserrat", Helvetica;
    --card-detail-value-font-size: 14px;
    --card-detail-value-font-style: normal;
    --card-detail-value-font-weight: 700;
    --card-detail-value-letter-spacing: 0.014000000432133675px;
    --card-detail-value-line-height: 18px;
    --card-detail-vertical-12-font-family: "Montserrat", Helvetica;
    --card-detail-vertical-12-font-size: 12px;
    --card-detail-vertical-12-font-style: normal;
    --card-detail-vertical-12-font-weight: 500;
    --card-detail-vertical-12-letter-spacing: 0.014000000432133675px;
    --card-detail-vertical-12-line-height: 16px;
    --card-detail-vertical-value-12-font-family: "Montserrat", Helvetica;
    --card-detail-vertical-value-12-font-size: 12px;
    --card-detail-vertical-value-12-font-style: normal;
    --card-detail-vertical-value-12-font-weight: 700;
    --card-detail-vertical-value-12-letter-spacing: 0.014000000432133675px;
    --card-detail-vertical-value-12-line-height: 16px;
    --card-horizontal-button-font-font-family: "Montserrat", Helvetica;
    --card-horizontal-button-font-font-size: 17px;
    --card-horizontal-button-font-font-style: normal;
    --card-horizontal-button-font-font-weight: 600;
    --card-horizontal-button-font-letter-spacing: 0px;
    --card-horizontal-button-font-line-height: 20px;
    --card-horizontal-title-font-family: "Source Serif 4", Helvetica;
    --card-horizontal-title-font-size: 36px;
    --card-horizontal-title-font-style: normal;
    --card-horizontal-title-font-weight: 900;
    --card-horizontal-title-letter-spacing: 0px;
    --card-horizontal-title-line-height: 42px;
    --card-restaurant-opened-font-family: "Montserrat", Helvetica;
    --card-restaurant-opened-font-size: 10px;
    --card-restaurant-opened-font-style: normal;
    --card-restaurant-opened-font-weight: 700;
    --card-restaurant-opened-letter-spacing: 0px;
    --card-restaurant-opened-line-height: normal;
    --card-title-font-family: "Source Serif 4", Helvetica;
    --card-title-font-size: 24px;
    --card-title-font-style: normal;
    --card-title-font-weight: 900;
    --card-title-letter-spacing: 0px;
    --card-title-line-height: 28px;
    --filter-count-font-family: "Montserrat", Helvetica;
    --filter-count-font-size: 12px;
    --filter-count-font-style: normal;
    --filter-count-font-weight: 400;
    --filter-count-letter-spacing: 0px;
    --filter-count-line-height: 13px;
    --filter-count-value-font-family: "Montserrat", Helvetica;
    --filter-count-value-font-size: 12px;
    --filter-count-value-font-style: normal;
    --filter-count-value-font-weight: 300;
    --filter-count-value-letter-spacing: 0px;
    --filter-count-value-line-height: 13px;
    --filter-label-active-font-family: "Montserrat", Helvetica;
    --filter-label-active-font-size: 12px;
    --filter-label-active-font-style: normal;
    --filter-label-active-font-weight: 700;
    --filter-label-active-letter-spacing: 0px;
    --filter-label-active-line-height: 13px;
    --filter-search-mode-text-font-family: "Montserrat", Helvetica;
    --filter-search-mode-text-font-size: 11px;
    --filter-search-mode-text-font-style: normal;
    --filter-search-mode-text-font-weight: 700;
    --filter-search-mode-text-letter-spacing: 0px;
    --filter-search-mode-text-line-height: 13px;
    --filter-sort-button-title-font-family: "Montserrat", Helvetica;
    --filter-sort-button-title-font-size: 10px;
    --filter-sort-button-title-font-style: normal;
    --filter-sort-button-title-font-weight: 300;
    --filter-sort-button-title-letter-spacing: 0px;
    --filter-sort-button-title-line-height: 12px;
    --filter-title-font-family: "Montserrat", Helvetica;
    --filter-title-font-size: 14px;
    --filter-title-font-style: normal;
    --filter-title-font-weight: 700;
    --filter-title-letter-spacing: 0px;
    --filter-title-line-height: 13px;
    --filters-clear-font-family: "Montserrat", Helvetica;
    --filters-clear-font-size: 10px;
    --filters-clear-font-style: normal;
    --filters-clear-font-weight: 500;
    --filters-clear-letter-spacing: 0px;
    --filters-clear-line-height: 13px;
    --footer-links-font-family: "Montserrat", Helvetica;
    --footer-links-font-size: 13px;
    --footer-links-font-style: normal;
    --footer-links-font-weight: 400;
    --footer-links-letter-spacing: 0px;
    --footer-links-line-height: 18px;
    --footer-tiltes-font-family: "Montserrat", Helvetica;
    --footer-tiltes-font-size: 13px;
    --footer-tiltes-font-style: normal;
    --footer-tiltes-font-weight: 600;
    --footer-tiltes-letter-spacing: 2.5999999046325684px;
    --footer-tiltes-line-height: 18px;
    --GMI-artisancontentcolor: rgba(213, 105, 19, 1);
    --GMI-black: rgba(0, 0, 0, 1);
    --GMI-borderradius: 8px;
    --GMI-bordersize: 1px;
    --GMI-bottlecolororange: rgba(245, 131, 49, 1);
    --GMI-bottlewinecolorpink: rgba(255, 172, 172, 1);
    --GMI-bottlewinecolorred: rgba(176, 51, 79, 1);
    --GMI-bottlewinecolorwhite: rgba(251, 255, 159, 1);
    --GMI-bottlewinewhite: rgba(251, 255, 159, 1);
    --GMI-buttonbordercolor: rgba(181, 181, 181, 1);
    --GMI-buttonborderradius: var(--GMI-borderradius);
    --GMI-cardborder: var(--GMI-cardbordercolor);
    --GMI-cardbordercolor: rgba(209, 209, 209, 1);
    --GMI-carddefaultbackground: rgba(255, 255, 255, 1);
    --GMI-carddetailhorizontalpaddingh: 5px;
    --GMI-cardimageratio: 66.66000366210938px;
    --GMI-cardradius: 0px;
    --GMI-champagnecontentcolor: rgba(13, 106, 85, 1);
    --GMI-circleoutsideborder: rgba(181, 181, 181, 1);
    --GMI-color: var(--GMI-bottlewinecolorpink);
    --GMI-defaultcardheight: 480px;
    --GMI-defaultcardwidth: 300px;
    --GMI-filterbackgroundcolor: rgba(248, 248, 248, 1);
    --GMI-filterbordercolor: rgba(209, 209, 209, 1);
    --GMI-filtersearchradius: 10px;
    --GMI-filtersearchtitledisabled: rgba(181, 181, 181, 1);
    --GMI-filtersearchtitleenabled: var(--GMI-black);
    --GMI-fiterbackgroundcolor: rgba(248, 248, 248, 1);
    --GMI-gmred: rgba(221, 10, 0, 1);
    --GMI-hotelcontentcolor: rgba(53, 74, 153, 1);
    --GMI-newscontentcolor: rgba(246, 165, 20, 1);
    --GMI-newsheadingtheme: rgba(123, 123, 123, 1);
    --GMI-outlinedyellow: rgba(255, 231, 0, 1);
    --GMI-overlayradius: 8px;
    --GMI-pagecolor: rgba(255, 255, 255, 1);
    --GMI-pagecontenthorizontalpadding: 5px;
    --GMI-pagecontentwidth: 990px;
    --GMI-partnersbackgroundcolor: rgba(254, 252, 229, 1);
    --GMI-partnersbordercolor: rgba(215, 202, 50, 1);
    --GMI-peoplecontentcolor: rgba(116, 23, 80, 1);
    --GMI-recipecontentcolor: rgba(225, 35, 115, 1);
    --GMI-restaurantcontentcolor: rgba(204, 29, 31, 1);
    --GMI-spiritcolor: rgba(0, 137, 164, 1);
    --GMI-spiritscontentcolor: rgba(0, 137, 164, 1);
    --GMI-stickerheight: 30px;
    --GMI-stickerradius: 12px;
    --GMI-theplacecardheight: 520px;
    --GMI-toquegoldcolor: rgba(215, 169, 73, 1);
    --GMI-tourvideoradius: 20px;
    --GMI-utensilcontentcolor: rgba(231, 108, 165, 1);
    --GMI-winecontentcolor: rgba(46, 176, 145, 1);
    --GMI-winerycontentcolor: rgba(8, 153, 122, 1);
    --hotel-note-text-font-family: "Montserrat", Helvetica;
    --hotel-note-text-font-size: 12px;
    --hotel-note-text-font-style: normal;
    --hotel-note-text-font-weight: 500;
    --hotel-note-text-letter-spacing: 0px;
    --hotel-note-text-line-height: 14px;
    --menu-barre-selected-section-font-family: "Montserrat", Helvetica;
    --menu-barre-selected-section-font-size: 11px;
    --menu-barre-selected-section-font-style: normal;
    --menu-barre-selected-section-font-weight: 400;
    --menu-barre-selected-section-letter-spacing: 0px;
    --menu-barre-selected-section-line-height: 20px;
    --news-1-title-font-family: "Source Serif 4", Helvetica;
    --news-1-title-font-size: 27px;
    --news-1-title-font-style: normal;
    --news-1-title-font-weight: 900;
    --news-1-title-letter-spacing: 0px;
    --news-1-title-line-height: 30px;
    --news-card-text-font-family: "Montserrat", Helvetica;
    --news-card-text-font-size: 14px;
    --news-card-text-font-style: normal;
    --news-card-text-font-weight: 500;
    --news-card-text-letter-spacing: 0px;
    --news-card-text-line-height: 18px;
    --news-categories-yellow-font-family: "Montserrat", Helvetica;
    --news-categories-yellow-font-size: 12px;
    --news-categories-yellow-font-style: normal;
    --news-categories-yellow-font-weight: 600;
    --news-categories-yellow-letter-spacing: 0px;
    --news-categories-yellow-line-height: 23px;
    --news-header-button-text-font-family: "Montserrat", Helvetica;
    --news-header-button-text-font-size: 12px;
    --news-header-button-text-font-style: normal;
    --news-header-button-text-font-weight: 700;
    --news-header-button-text-letter-spacing: 0.23999999463558197px;
    --news-header-button-text-line-height: 15px;
    --news-header-title-font-family: "Montserrat", Helvetica;
    --news-header-title-font-size: 12px;
    --news-header-title-font-style: normal;
    --news-header-title-font-weight: 600;
    --news-header-title-letter-spacing: 0px;
    --news-header-title-line-height: 15px;
    --news-heading-theme-font-family: "Montserrat", Helvetica;
    --news-heading-theme-font-size: 12px;
    --news-heading-theme-font-style: normal;
    --news-heading-theme-font-weight: 500;
    --news-heading-theme-letter-spacing: 0px;
    --news-heading-theme-line-height: 23px;
    --news-heding-title-font-family: "Source Serif 4", Helvetica;
    --news-heding-title-font-size: 27px;
    --news-heding-title-font-style: normal;
    --news-heding-title-font-weight: 900;
    --news-heding-title-letter-spacing: 0px;
    --news-heding-title-line-height: 30px;
    --news-most-read-title-font-family: "Source Serif 4", Helvetica;
    --news-most-read-title-font-size: 27px;
    --news-most-read-title-font-style: normal;
    --news-most-read-title-font-weight: 900;
    --news-most-read-title-letter-spacing: 0px;
    --news-most-read-title-line-height: 30px;
    --notation-legend-font-family: "Montserrat", Helvetica;
    --notation-legend-font-size: 12px;
    --notation-legend-font-style: normal;
    --notation-legend-font-weight: 500;
    --notation-legend-letter-spacing: 0px;
    --notation-legend-line-height: 14px;
    --note-20-font-family: "Montserrat", Helvetica;
    --note-20-font-size: 14px;
    --note-20-font-style: normal;
    --note-20-font-weight: 500;
    --note-20-letter-spacing: 0px;
    --note-20-line-height: 13px;
    --note-bold-font-family: "Montserrat", Helvetica;
    --note-bold-font-size: 14px;
    --note-bold-font-style: normal;
    --note-bold-font-weight: 700;
    --note-bold-letter-spacing: 0px;
    --note-bold-line-height: 13px;
    --page-detail-avis-GM-title-font-family: "Montserrat", Helvetica;
    --page-detail-avis-GM-title-font-size: 14px;
    --page-detail-avis-GM-title-font-style: normal;
    --page-detail-avis-GM-title-font-weight: 700;
    --page-detail-avis-GM-title-letter-spacing: 0px;
    --page-detail-avis-GM-title-line-height: 17px;
    --page-detail-main-title-font-family: "Montserrat", Helvetica;
    --page-detail-main-title-font-size: 20px;
    --page-detail-main-title-font-style: normal;
    --page-detail-main-title-font-weight: 500;
    --page-detail-main-title-letter-spacing: 0.014999999664723873px;
    --page-detail-main-title-line-height: 24px;
    --page-detail-sub-title-font-family: "Source Serif 4", Helvetica;
    --page-detail-sub-title-font-size: 40px;
    --page-detail-sub-title-font-style: normal;
    --page-detail-sub-title-font-weight: 900;
    --page-detail-sub-title-letter-spacing: 0px;
    --page-detail-sub-title-line-height: 40px;
    --page-detail-title-font-family: "Source Serif 4", Helvetica;
    --page-detail-title-font-size: 40px;
    --page-detail-title-font-style: normal;
    --page-detail-title-font-weight: 900;
    --page-detail-title-letter-spacing: 0px;
    --page-detail-title-line-height: 63px;
    --page-detail-vertical-label-16-font-family: "Montserrat", Helvetica;
    --page-detail-vertical-label-16-font-size: 16px;
    --page-detail-vertical-label-16-font-style: normal;
    --page-detail-vertical-label-16-font-weight: 400;
    --page-detail-vertical-label-16-letter-spacing: 0px;
    --page-detail-vertical-label-16-line-height: 20px;
    --page-detail-vertical-value-16-font-family: "Montserrat", Helvetica;
    --page-detail-vertical-value-16-font-size: 16px;
    --page-detail-vertical-value-16-font-style: normal;
    --page-detail-vertical-value-16-font-weight: 700;
    --page-detail-vertical-value-16-letter-spacing: 0px;
    --page-detail-vertical-value-16-line-height: 20px;
    --page-number-text-font-family: "Montserrat", Helvetica;
    --page-number-text-font-size: 13px;
    --page-number-text-font-style: normal;
    --page-number-text-font-weight: 700;
    --page-number-text-letter-spacing: 0.013000000268220901px;
    --page-number-text-line-height: 20px;
    --partner-card-title-font-family: "Source Serif 4", Helvetica;
    --partner-card-title-font-size: 41px;
    --partner-card-title-font-style: normal;
    --partner-card-title-font-weight: 900;
    --partner-card-title-letter-spacing: 0px;
    --partner-card-title-line-height: 38px;
    --partners-main-title-font-family: "Source Serif 4", Helvetica;
    --partners-main-title-font-size: 46px;
    --partners-main-title-font-style: normal;
    --partners-main-title-font-weight: 900;
    --partners-main-title-letter-spacing: 0px;
    --partners-main-title-line-height: 43px;
    --partners-text-font-family: "Montserrat", Helvetica;
    --partners-text-font-size: 11px;
    --partners-text-font-style: normal;
    --partners-text-font-weight: 600;
    --partners-text-letter-spacing: 0px;
    --partners-text-line-height: 14px;
    --people-role-title-font-family: "Montserrat", Helvetica;
    --people-role-title-font-size: 14px;
    --people-role-title-font-style: normal;
    --people-role-title-font-weight: 400;
    --people-role-title-letter-spacing: 0px;
    --people-role-title-line-height: 17px;
    --product-header-description-font-family: "Montserrat", Helvetica;
    --product-header-description-font-size: 12px;
    --product-header-description-font-style: normal;
    --product-header-description-font-weight: 300;
    --product-header-description-letter-spacing: 0px;
    --product-header-description-line-height: 15px;
    --product-main-title-font-family: "Source Serif 4", Helvetica;
    --product-main-title-font-size: 34px;
    --product-main-title-font-style: normal;
    --product-main-title-font-weight: 900;
    --product-main-title-letter-spacing: 0px;
    --product-main-title-line-height: 45px;
    --product-place-header-font-family: "Montserrat", Helvetica;
    --product-place-header-font-size: 15px;
    --product-place-header-font-style: normal;
    --product-place-header-font-weight: 600;
    --product-place-header-letter-spacing: 0px;
    --product-place-header-line-height: 18px;
    --product-selection-font-family: "Montserrat", Helvetica;
    --product-selection-font-size: 13px;
    --product-selection-font-style: normal;
    --product-selection-font-weight: 400;
    --product-selection-letter-spacing: 0px;
    --product-selection-line-height: 17px;
    --recipe-synopsis-font-family: "Montserrat", Helvetica;
    --recipe-synopsis-font-size: 12px;
    --recipe-synopsis-font-style: normal;
    --recipe-synopsis-font-weight: 600;
    --recipe-synopsis-letter-spacing: 0.012000000104308128px;
    --recipe-synopsis-line-height: 17px;
    --search-barre-text-font-family: "Montserrat", Helvetica;
    --search-barre-text-font-size: 14px;
    --search-barre-text-font-style: normal;
    --search-barre-text-font-weight: 600;
    --search-barre-text-letter-spacing: 0px;
    --search-barre-text-line-height: 17px;
    --search-box-font-family: "Montserrat", Helvetica;
    --search-box-font-size: 14px;
    --search-box-font-style: normal;
    --search-box-font-weight: 400;
    --search-box-letter-spacing: 0px;
    --search-box-line-height: 13px;
    --small-card-map-details-font-family: "Montserrat", Helvetica;
    --small-card-map-details-font-size: 14px;
    --small-card-map-details-font-style: normal;
    --small-card-map-details-font-weight: 700;
    --small-card-map-details-letter-spacing: 0px;
    --small-card-map-details-line-height: 18px;
    --small-card-map-title-font-family: "Montserrat", Helvetica;
    --small-card-map-title-font-size: 18px;
    --small-card-map-title-font-style: bold;
    --small-card-map-title-font-weight: 700;
    --small-card-map-title-letter-spacing: 0px;
    --small-card-map-title-line-height: 24px;
    --synopsis-text-font-family: "Montserrat", Helvetica;
    --synopsis-text-font-size: 18px;
    --synopsis-text-font-style: normal;
    --synopsis-text-font-weight: 500;
    --synopsis-text-letter-spacing: 0px;
    --synopsis-text-line-height: 22px;
    --the-tenth-synopsis-font-family: "Montserrat", Helvetica;
    --the-tenth-synopsis-font-size: 16px;
    --the-tenth-synopsis-font-style: normal;
    --the-tenth-synopsis-font-weight: 600;
    --the-tenth-synopsis-letter-spacing: 0px;
    --the-tenth-synopsis-line-height: 18px;
    --the-tenth-title-font-family: "Source Serif 4", Helvetica;
    --the-tenth-title-font-size: 40px;
    --the-tenth-title-font-style: normal;
    --the-tenth-title-font-weight: 900;
    --the-tenth-title-letter-spacing: 0px;
    --the-tenth-title-line-height: 36px;
    --toque-24-text-font-family: "Montserrat", Helvetica;
    --toque-24-text-font-size: 10px;
    --toque-24-text-font-style: normal;
    --toque-24-text-font-weight: 600;
    --toque-24-text-letter-spacing: 0px;
    --toque-24-text-line-height: 23px;
    --tour-video-title-font-family: "Source Serif 4", Helvetica;
    --tour-video-title-font-size: 20px;
    --tour-video-title-font-style: normal;
    --tour-video-title-font-weight: 900;
    --tour-video-title-letter-spacing: 0px;
    --tour-video-title-line-height: 24px;
    --vertical-text-menu-barre-font-family: "Montserrat", Helvetica;
    --vertical-text-menu-barre-font-size: 8px;
    --vertical-text-menu-barre-font-style: normal;
    --vertical-text-menu-barre-font-weight: 600;
    --vertical-text-menu-barre-letter-spacing: 0px;
    --vertical-text-menu-barre-line-height: 13px;
}

/*!******************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/v6/styleguide-override.css ***!
  \******************************************************************************************************************************/
:root {
    --containerMaxWidth: 1000px;
    --horizontalContentPadding: 10px;
    --button-label-line-height: 16px;
    --page-detail-sub-title-line-height: 43px;
}

/*!***********************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/v6/search-react.css ***!
  \***********************************************************************************************************************/
@media (min-width: 1280px) {
    .search-react.fluid {
        padding: unset;
    }
}

/*!*********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/react/components/Button/style.css ***!
  \*********************************************************************************************************************************/
/* Variables pour thème par défaut */
:root {
    --btn-bg: var(--fab-bg, #ff006e);
    --btn-fg: var(--fab-fg, #000);
    --btn-py: 5px; /* padding vertical */
    --btn-px: 10px; /* padding horizontal */
    --btn-gap: 10px;
    --btn-radius: var(--GMI-overlayradius, 9999px);
}

/* Bouton générique */
.button {
    display: inline-flex;
    align-items: center;
    gap: var(--btn-gap);
    padding: var(--btn-py) var(--btn-px);
    border-radius: var(--btn-radius);
    border: none;
    background: var(--yellowGM);
    color: black;
    font-family: Montserrat, sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    min-height: 40px;
    transition: transform 150ms ease, box-shadow 150ms ease;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.25);
}

/* Hover / focus */
.button:hover,
.button:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3);
    outline: none;
}

/* Icône */
.button__icon {
    display: block;
    width: 12px;
    height: 16px;
}

/* Label */
.button__label {
    white-space: nowrap;
}

/*!*******************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/react/components/CitySearchButton/style.css ***!
  \*******************************************************************************************************************************************/
.city-search-button {
    flex: 1 1 auto;
    font-family: Montserrat, sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 17px;
    height: 40px;

    background: unset;
    text-align: left;
    /* align-self: center; */

    display: flex;
    align-items: center;
    gap: 10px;
    padding: 5px 10px;

    border-radius: 13px;
    border: 1px solid var(--GMI-buttonbordercolor);

    max-width: 100%;

    text-transform: uppercase;
}

.city-search-button__label {
    position: relative;
    left: 10px;
}

.city-search-button__icon {
    flex: 0 0 auto;
}

.city-search-button > .search-btn-clear {
    display: flex; /* affiche toujours */
    align-items: center; /* centre verticalement */
    justify-content: center; /* centre horizontalement */
    width: 18px; /* diamètre du cercle */
    height: 18px;
    background: #d3d3d3; /* gris clair */
    border: none;
    border-radius: 50%; /* cercle parfait */
    cursor: pointer;
    pointer-events: none;
    opacity: 0; /* transparent par défaut */
    transition: opacity 0.2s ease, background 0.2s ease;
    padding: 0; /* pas de padding superflu */
    margin-left: calc(
        -1 * var(--margin-close-btn)
    ); /* ajuste la position dans l’input */
    z-index: 5;
}

/* Dès qu'il y a un caractère, on fait apparaître en fade */
.city-search-button > .search-btn-clear.visible {
    opacity: 1;
    pointer-events: auto;
}

/* Hover / focus du bouton */
.city-search-button > .search-btn-clear:hover,
.city-search-button > .search-btn-clear:focus {
    background: var(--yellowGM);
    outline: none;
}

@media (min-width: 1280px) {
    .city-search-button {
        font-size: 14px;
    }
}

/*!*********************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/react/components/ConsentPlaceholder/style.css ***!
  \*********************************************************************************************************************************************/
.consent-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f5f5f5;
    border: 2px dashed #ccc;
    flex-direction: column;
    padding: 2rem;
    text-align: center;
    box-sizing: border-box;
}

.consent-placeholder-content {
    max-width: 600px;
}

.consent-placeholder-title {
    margin-bottom: 1rem;
    color: #333;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.consent-placeholder-description {
    margin-bottom: 1.5rem;
    color: #666;
    line-height: 1.6;
}

.consent-placeholder-actions {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}

.consent-placeholder-actions button {
    margin-top: 0.5rem;
}

/*!*******************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/react/components/FilterSearchMode/style.css ***!
  \*******************************************************************************************************************************************/
.filter-search-mode {
    border: 1px solid;
    background-color: var(--GMI-filterbackgroundcolor);
    border-color: var(--GMI-cardbordercolor);
    border-radius: 10px;
    align-items: center;
    display: flex;
    justify-content: center;
    padding: 4px;
    position: relative;
    width: 100%;
    max-width: 270px;
    -webkit-user-select: none; /* Safari */
    -ms-user-select: none; /* IE/Edge */
    user-select: none; /* 💡 This disables text selection */
}

.filter-search-mode .filter-search-mode-list {
    align-items: center;
    border-radius: 7px;
    display: flex;
    flex: 1;
    flex-grow: 1;
    gap: 7px;
    height: 30px;
    justify-content: center;
    position: relative;
    cursor: pointer;
}

.filter-search-mode .filter-search-mode-map {
    align-items: center;
    border-radius: 7px;
    display: flex;
    flex: 1;
    flex-grow: 1;
    gap: 7px;
    height: 30px;
    justify-content: center;
    position: relative;
    cursor: pointer;
}

.filter-search-mode .filter-search-mode-list.active {
    background-color: var(--GMI-outlinedyellow);
    cursor: default;
}

.filter-search-mode .filter-search-mode-map.active {
    background-color: var(--GMI-outlinedyellow);
    cursor: default;
}

.filter-search-mode svg.list-symbol {
    height: 10.78px;
    position: relative;
    width: 14px;
}

.filter-search-mode .text-wrapper {
    color: var(--GMI-black);
    font-family: var(--filter-search-mode-text-font-family);
    font-size: var(--filter-search-mode-text-font-size);
    font-style: var(--filter-search-mode-text-font-style);
    font-weight: var(--filter-search-mode-text-font-weight);
    letter-spacing: var(--filter-search-mode-text-letter-spacing);
    line-height: var(--filter-search-mode-text-line-height);
    position: relative;
    text-align: center;
    white-space: nowrap;
    width: fit-content;
}

.filter-search-mode svg.map-symbol {
    height: 14.03px;
    position: relative;
    width: 14.34px;
}

/*!*************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/react/components/EstablishmentSearchBar/style.css ***!
  \*************************************************************************************************************************************************/
.search-menu-bar-sticky {
    display: none; /* caché au départ */
    /* position: sticky; */
    /* top: 56px; par défaut, hauteur du header seulement */
    /* z-index: 91; */
    background-color: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(
        4px
    ); /* optionnel : floute le fond pour effet "frosted glass" */
    padding: 8px 12px;
    /* box-shadow: 0 1px 6px rgba(0, 0, 0, 0.05); */
    width: calc(var(--vw, 1vw) * 100);
    /* transition: top 0.3s ease, filter 0.25s ease-out, transform 0.3s ease; */
    /* transition: top 0.3s ease, filter 0.25s ease !important; */
}

/* #searchMenuBarStickyContainer {
    transition: filter 0.25s ease-out;
} */

.search-menu-bar-sticky.stuck {
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.18));
}

.search-menu-bar-sticky > #react-search-bar-root {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 10px;
    width: 100%;
    max-width: var(--containerFluidMaxWidth);
}

#searchMenuBarStickyContainer[data-hydrated="true"] {
    display: flex; /* affiché uniquement quand React a injecté */
    align-items: center;
    justify-content: center;
    max-width: 100%;
}

.search-menu-bar-sticky .mobile-container {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    width: 100%;
    gap: 10px;
}

.search-menu-bar-sticky .mobile-container .mobile-container-row {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    width: 100%;
    gap: 10px;
}

.search-menu-bar-sticky .inputs-group {
    position: relative;
    display: flex;
    flex-direction: row;
    width: 100%;
    border-radius: 13px;
    font-family: var(--search-box-font-family);
    font-size: var(--search-box-font-size);
    font-style: var(--search-box-font-style);
    font-weight: var(--search-box-font-weight);
    letter-spacing: var(--search-box-letter-spacing);
    line-height: var(--search-box-line-height);
    border: 1px solid var(--GMI-buttonbordercolor);
    min-height: 40px;
    overflow: hidden;
    background-color: white;
}

/* sécurise les coins : on enlève la bordure par défaut des champs */
.search-menu-bar-sticky .inputs-group .form-control {
    border: none;
    box-shadow: none;
}

.search-menu-bar-sticky .inputs-group input {
    border: unset;
    flex: 1 1 0;
}

.search-menu-bar-sticky .inputs-group input:focus,
.search-menu-bar-sticky .inputs-group input:focus-visible {
    box-shadow: none; /* supprime le halo violet */
    outline: none;
}

.search-menu-bar-sticky .inputs-group > * + * {
    position: relative; /* contexte pour le pseudo-élément */
    /* padding-left: 1rem; espace après la barre */
}

.search-menu-bar-sticky .inputs-group > * + *::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 100%;
    background: var(--GMI-buttonbordercolor);
}

.search-menu-bar-sticky .input-group-text {
    background: unset;
    border: unset;
}

.search-menu-bar-sticky input.form-control {
    padding-left: unset;
}

/* le 1ᵉʳ enfant de .inputs-group prendra 2 fois plus de place */
.search-menu-bar-sticky .inputs-group > :first-child {
    flex: 2 1 0;
}

/* le deuxième garde son ratio 1 : il occupe donc 1/3 de la largeur */
.search-menu-bar-sticky .inputs-group > :nth-child(2) {
    flex: 4 1 0;
}

.city-search-results {
    margin-top: 20px;

    padding: 10px;
    box-sizing: content-box;
    background: #fff;
    border: 1px solid var(--GMI-buttonbordercolor);
    border-radius: 13px 0px 0px 13px;
    width: calc(var(--vw, 1vw) * 45);
    max-width: 500px;
    max-height: 45vh;
    overflow-y: auto;
    overscroll-behavior: contain;
    z-index: 1050;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
    scrollbar-gutter: stable;
}

.city-search-results .list-group-item {
    cursor: pointer;
    border: unset;
    min-height: 60px;
    display: flex;
    align-items: center;
    border-radius: 13px;
    gap: 20px;

    font: normal normal bold 14px / 17px Montserrat;
    letter-spacing: 0px;
    text-transform: uppercase;
}

.city-search-results .list-group-item .img-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--GMI-buttonbordercolor);
    padding: 11px;
    width: 40px;
    height: 40px;
    border-radius: 13px;
}

.city-search-results .list-group-item img {
    flex: 0 0 0;
    /* border: 1px solid var(--GMI-buttonbordercolor);
    padding: 11px;
    width: 40px;
    height: 40px;
    border-radius: 13px; */
}

.city-search-results .list-group-item .departement {
    font: normal normal 500 11px / 16px Montserrat;
    letter-spacing: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    text-transform: capitalize;
    white-space: nowrap;
}

/* état survolé OU sélectionné au clavier */
.city-search-results .list-group-item.active,
.city-search-results .list-group-item:hover {
    border: unset;
    background-color: var(--GMI-partnersbackgroundcolor);
    color: var(--blackGM);
}

.city-search-results::-webkit-scrollbar-button {
    display: none;
    height: 0;
    width: 0;
}

/* Pour Webkit (Chrome, Safari, Edge) */
.city-search-results::-webkit-scrollbar {
    width: 5px;
    /* position: absolute; */
}

.city-search-results::-webkit-scrollbar-track {
    background: transparent;
}

.city-search-results::-webkit-scrollbar-thumb {
    background-color: #ccc;
    border-radius: 4px;
}

.city-search-results:hover::-webkit-scrollbar-thumb {
    background-color: #999;
}

/*!**************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/react/components/MainSearchBar/countries/style.css ***!
  \**************************************************************************************************************************************************/

/*!************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/react/components/Hits/EstablishmentHit/style.css ***!
  \************************************************************************************************************************************************/

/*!****************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/react/components/MainSearchBar/style.css ***!
  \****************************************************************************************************************************************/
/* Search Bar */
.main-search-wrapper {
    flex: 1 1 auto;
    display: flex;
    justify-content: center;
    max-width: 740px;
}

.main-search-wrapper-mobile {
    flex: 1 1 0;
    padding: 0 10px;
}

/* ─────────────────────────── 1.  Bouton fermeture ─────────────────────────── */
#search-ajax-results-close {
    position: absolute;
    top: 5px;
    right: 5px;
    z-index: 1400;
}
#search-ajax-results-close:hover {
    background-color: var(--yellowGM) !important;
    border: 1px solid var(--borderButton) !important;
}

/* ─────────────────────────── 2.  POP-UP : base mobile ─────────────────────── */
.search-ajax-results-publicAjax {
    --color-red-sponsored: #cc1d20;
    position: relative;
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    background-color: var(--whiteGM);
    max-width: 100%;
    width: 100%;
    height: -moz-available;
    /* height: -webkit-fill-available; */
    /* height: fill-available; */
    height: 100%;
    overflow-x: hidden;
    left: 0;
    right: 0;
    overflow-y: auto;
    /* padding: 20px; */
    z-index: 1500;
}
/* scrollbar, min-height, etc. : inchangés */
.search-ajax-results-publicAjax::-webkit-scrollbar-button {
    display: none;
    height: 0;
    width: 0;
}
.search-ajax-results-publicAjax::-webkit-scrollbar {
    width: 5px;
}
.search-ajax-results-publicAjax::-webkit-scrollbar-track {
    background: transparent;
}
.search-ajax-results-publicAjax::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 4px;
}
.search-ajax-results-publicAjax:hover::-webkit-scrollbar-thumb {
    background: #999;
}

/* ─────────────────────────── 3.  Rangée principale ────────────────────────── */
#search-ajax-results-data-publicAjax {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column; /* mobile : empile les colonnes */
    overflow: visible;
}

/* ─────────────────────────── 4.  Colonne “Villes” (mobile 100 %) ──────────── */
.search-ajax-results-publicAjax .city-wrapper {
    flex: 0 0 auto;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    border-radius: 12px;
    background: #edece44d;
}
.search-ajax-results-publicAjax .city-wrapper.full {
    flex: 1 1 100%;
    max-width: 100%;
}

/* sticky interne (inchangé) */
.search-ajax-results-publicAjax .city-scroll {
    flex: 1 1 auto;
    overflow-y: visible;
    overscroll-behavior: auto;
}
.search-ajax-results-publicAjax .city-scroll .resultDataTypeGroup {
    overflow: visible !important;
}
.search-ajax-results-publicAjax .city-scroll .rowTitle {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #fff;
}

/* ─────────────────────────── 5.  Colonne Masonry (mobile 100 %) ───────────── */
.search-ajax-results-publicAjax .masonry-column {
    flex: 0 0 auto;
    max-width: 100%;
    overflow-y: visible;
    overscroll-behavior: auto;
    padding: unset;
    display: flex;
}
.search-ajax-results-publicAjax .masonry-column.full {
    flex: 1 1 100%;
    max-width: 100%;
}

/* ─────────────────────────── 6.  Masonry : 1 colonne mobile ───────────────── */
.search-ajax-results-publicAjax .masonry-grid {
    position: relative;
    flex: 1 1 0;
}
.search-ajax-results-publicAjax .grid-sizer,
.search-ajax-results-publicAjax .masonry-item {
    width: 100%;
}
.search-ajax-results-publicAjax .grid-sizer.full,
.search-ajax-results-publicAjax .masonry-item.full {
    width: 100%;
}
.search-ajax-results-publicAjax .masonry-item {
    position: relative;
}

/* ─────────────────────────── 7.  Catégories, listes… (identique) ─────────── */
.search-ajax-results-publicAjax .resultDataTypeGroup {
    overflow: hidden;
    padding: 10px;
}
.search-ajax-results-publicAjax .resultDataTypeGroup .rowTitle {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    column-gap: 10px;
    border-bottom: 2px solid #edece4;
    padding-bottom: 12px;
    height: 60px;
    min-height: 60px;
}
.search-ajax-results-publicAjax .resultDataTypeGroup .rowTitle svg {
    max-width: 30px;
    margin-right: 10px;
}
.search-ajax-results-publicAjax .resultDataTypeGroup .rowTitle h3 {
    margin-right: 10px;
    text-align: left;
    font: normal normal bold 14px/17px Montserrat;
    letter-spacing: 0;
    text-transform: uppercase;
    margin-top: unset;
    margin-bottom: unset;
}
.search-ajax-results-publicAjax .resultDataTypeGroup .rowTitle .allResultBtn {
    border: 1px solid var(--borderButton);
    border-radius: var(--border-radius);
    font: normal normal bold 11px/18px Montserrat;
    letter-spacing: 0;
    white-space: nowrap;
    align-self: center;
}
.search-ajax-results-publicAjax
    .resultDataTypeGroup
    .rowTitle
    .allResultBtn:hover {
    background-color: var(--yellowGM);
    border: 1px solid var(--borderButton);
}

.search-ajax-results-publicAjax .resultDataTypeGroup .list-group-item {
    background-color: unset;
    padding: 0 10% 0 13px;
    max-height: 60px;
    height: 60px;
    gap: 20px;
}

.search-ajax-results-publicAjax
    .resultDataTypeGroup
    .list-group-item
    .thumbWrapper {
    width: 50px;
    height: 50px;
    flex: 0 0 50px; /* fixe la largeur */
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 4px;
}

.search-ajax-results-publicAjax .resultDataTypeGroup .list-group-item:hover {
    background-color: #edece4;
    cursor: pointer;
}

.search-ajax-results-publicAjax .resultDataTypeGroup .list-group-item::after {
    content: "\f054";
    font-family: "Font Awesome 6 Pro";
    font-weight: 600;
    display: block;
    position: absolute;
    right: 10px;
}

.search-ajax-results-publicAjax
    .resultDataTypeGroup
    .list-group-item
    .sponsoredRow {
    font-size: 9px;
    line-height: 12px;
    font-weight: 500;
    text-transform: uppercase;
}

.search-ajax-results-publicAjax
    .resultDataTypeGroup
    .list-group-item
    .primaryRow {
    font: normal normal bold 12px/15px Montserrat;
    letter-spacing: 0px;
    text-transform: uppercase;
}

.search-ajax-results-publicAjax
    .resultDataTypeGroup
    .list-group-item
    .secondaryRow {
    font: normal normal 600 11px/14px Montserrat;
    letter-spacing: 0px;
    text-transform: capitalize;
}

.search-ajax-results-publicAjax
    .resultDataTypeGroup
    .list-group-item
    .secondaryRow.noTextTransform {
    text-transform: unset;
}

.search-ajax-results-publicAjax
    .resultDataTypeGroup
    .list-group-item
    .chiefRow {
    font: normal normal 600 11px/14px Montserrat;
    letter-spacing: 0px;
    text-transform: capitalize;
    color: var(--color-red-sponsored);
}

.search-ajax-results-publicAjax
    .resultDataTypeGroup
    .list-group-item
    .chiefRow.noTextTransform {
    text-transform: unset;
}

.search-ajax-results-publicAjax .resultDataTypeGroup .list-group-item .city {
    /* bloc de gauche  */
    flex: 1 1 auto; /* prend tout le reste */
    min-width: 0; /* <-- permet le rétrécissement */
    overflow: hidden; /* sécurité */
}

.search-ajax-results-publicAjax
    .resultDataTypeGroup
    .list-group-item
    .city
    .sponsoredRow.proximity {
    font-size: 8px;
    line-height: 12px;
    font-weight: 700;
    color: var(--color-red-sponsored);
    text-transform: lowercase;
}

.search-ajax-results-publicAjax
    .resultDataTypeGroup
    .list-group-item
    .city-count-wrapper {
    /* bloc compteur à droite */
    flex: 0 0 70px; /* largeur fixe (ajuste si besoin) */
    text-align: center;
    max-width: 70px;
}

.search-ajax-results-publicAjax
    .resultDataTypeGroup
    .list-group-item
    .city-count-wrapper
    .city-count {
    text-align: center;
    font: normal normal 700 10px/13px Montserrat;
    letter-spacing: 0px;
    color: var(--color-red-sponsored);
    text-transform: uppercase;
    width: 100%;
}

.search-ajax-results-publicAjax
    .resultDataTypeGroup
    .list-group-item
    .city-count-wrapper
    .city-dataType {
    text-align: center;
    font: normal normal 700 8px/11px Montserrat;
    letter-spacing: 0px;
    color: #000000;
    text-transform: capitalize;
    width: 100%;
}

.search-ajax-results-publicAjax .search-ajax-no-results {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px;
    gap: 10px;
}

.search-ajax-results-publicAjax .search-ajax-no-results h3 {
    font: normal normal bold 19px/22px Montserrat;
    letter-spacing: 0;
    text-transform: uppercase;
}

.search-ajax-results-publicAjax .search-ajax-no-results .searchTerms {
    font: normal normal bold 19px/22px Montserrat;
    color: var(--redGM);
    letter-spacing: 0;
    overflow-wrap: anywhere;
    text-transform: uppercase;
    margin-bottom: 20px;
}

/* ─────────────────────────── 8.  Desktop ≥ 768 px ─────────────────────────── */
@media (min-width: 1280px) {
    .search-ajax-results-publicAjax {
        border: 3px solid var(--yellowGM);
        border-radius: 12px;
        box-shadow: 1px 1px 30px -4px rgba(0, 0, 0, 0.75);
        -webkit-box-shadow: 1px 1px 30px -4px rgba(0, 0, 0, 0.75);
        -moz-box-shadow: 1px 1px 30px -4px rgba(0, 0, 0, 0.75);
        max-width: 1100px;
        padding: unset;
    }

    .search-ajax-results-publicAjax
        .resultDataTypeGroup
        .list-group-item::after {
        all: unset;
    }

    .search-ajax-results-publicAjax
        .resultDataTypeGroup
        .list-group-item:hover::after {
        content: "\f054";
        font-family: "Font Awesome 6 Pro";
        font-weight: 600;
        display: block;
        position: absolute;
        right: 10px;
    }

    /* Colonnes côte à côte */
    #search-ajax-results-data-publicAjax {
        flex-direction: row;
    }

    .search-ajax-results-publicAjax .masonry-column {
        padding: 0 15px;
    }

    /* Villes : 1/3 quand Masonry présent */
    .search-ajax-results-publicAjax .city-wrapper:not(.full) {
        flex: 0 0 33.333%;
        max-width: 33.333%;
    }

    /* Masonry : 2/3 quand Villes présente */
    .search-ajax-results-publicAjax .masonry-column:not(.full) {
        flex: 1 1 66.666%;
        max-width: 66.666%;
    }

    /* Masonry desktop : 2 colonnes */
    .search-ajax-results-publicAjax .grid-sizer.half,
    .search-ajax-results-publicAjax .masonry-item.half {
        width: 50%;
    }
}

/*!**************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/react/components/InputSearch/style.css ***!
  \**************************************************************************************************************************************/
/* Mobile First */

.search-input-container {
    position: relative;
    flex: 1 1 auto;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 5px;
    padding: 0px 10px;
    height: 42px;
    background-color: white;
    border-radius: var(--border-radius);
    overflow: hidden;

    --margin-close-btn: 24px; /* Valeur par défaut */
}

.search-input-container.withBorder {
    border-radius: 13px;
    border: 1px solid var(--GMI-buttonbordercolor);
}

.search-input-container.withShadow {
    box-shadow: 0px 4px 10px #0000001a;
}

.search-input-container.withBorder:focus-within {
    border: 2px solid black;
}

.search-input-container > .search-input-icon {
    flex: 0 0 auto;
}

.search-input-container > .search-input-wrapper {
    position: relative;
    flex: 1;
    width: 100%;
    height: 100%;
}

.search-input-container > .search-input-wrapper > .search-input-placeholder {
    position: absolute;
    display: flex;
    flex-direction: column;
    gap: 2px;
    top: 50%;
    left: 10px;
    transform: translateY(-50%);
    width: 100%;
    pointer-events: none;
    z-index: 2;
}

.search-input-container
    > .search-input-wrapper
    > .search-input-placeholder
    span.firstRow {
    font: normal normal normal 10px/13px Montserrat;
    letter-spacing: 0px;
    color: #707070;
    text-transform: capitalize;
}

.search-input-container
    > .search-input-wrapper
    > .search-input-placeholder
    span.secondRow {
    font: normal normal bold 12px/16px Montserrat;
    letter-spacing: 0px;
    color: #000000;
    white-space: nowrap;
}

.search-input-container > .search-input-wrapper > input.search-input {
    font-size: 16px;
    border: unset; /* supprime la bordure par défaut */
    padding-right: var(--margin-close-btn);
    width: 100%;
    height: 100%;
}

.search-input-container > .search-input-wrapper > input.search-input:focus {
    border: unset; /* supprime la bordure par défaut */
    outline: none; /* supprime le contour natif */
    box-shadow: none; /* supprime toute ombre par défaut */
}

/* Bouton toujours présent en flex, mais invisible par défaut */
.search-input-container > .search-btn-clear {
    display: flex; /* affiche toujours */
    align-items: center; /* centre verticalement */
    justify-content: center; /* centre horizontalement */
    width: 18px; /* diamètre du cercle */
    height: 18px;
    background: #d3d3d3; /* gris clair */
    border: none;
    border-radius: 50%; /* cercle parfait */
    cursor: pointer;
    pointer-events: none;
    opacity: 0; /* transparent par défaut */
    transition: opacity 0.2s ease, background 0.2s ease;
    padding: 0; /* pas de padding superflu */
    margin-left: calc(
        -1 * var(--margin-close-btn)
    ); /* ajuste la position dans l’input */
    z-index: 5;
}

/* Dès qu'il y a un caractère, on fait apparaître en fade */
.search-input-container > .search-btn-clear.visible {
    opacity: 1;
    pointer-events: auto;
}

/* Hover / focus du bouton */
.search-input-container > .search-btn-clear:hover,
.search-input-container > .search-btn-clear:focus {
    background: var(--yellowGM);
    outline: none;
}

@media (min-width: 1280px) {
    .search-input-container > .search-input-wrapper > input.search-input {
        font-size: 14px;
    }
}

/*!****************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/react/components/OverlayPortal/style.css ***!
  \****************************************************************************************************************************************/
.locked {
    overflow: hidden;
    padding-right: 0px;
}

.overlayPortal.overlay-container {
    --olp-padding: 0px 0px;
    display: flex;
    flex-direction: column;
    min-height: 0;
    position: fixed;
    left: 0;
    right: 0;
    top: 0; /* set via effect */
    bottom: 0;
    padding: var(--olp-padding);
    background: rgba(0, 0, 0, 0.65);
    opacity: 1;
    z-index: 1040;
}

.overlayPortal.overlay-container > .overlay-content {
    position: relative;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    max-height: 100%;
    height: 100%;
}

@media (min-width: 768px) {
    .overlayPortal.overlay-container {
        --olp-padding: 20px 0px;
    }

    .overlayPortal.overlay-container > .overlay-content {
        height: auto;
    }
}

/*!*******************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/react/components/FilterDateToggle/style.css ***!
  \*******************************************************************************************************************************************/
.filter-facet-content .form-check.form-switch {
    gap: 10px;
    display: inline-flex;
    align-items: center;
}

.filter-facet-content .form-check.form-switch #filter-date-toggle {
    --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27%23FFEB00%27/%3e%3c/svg%3e");
    width: 35px;
    margin: unset;
    margin-left: -2.5em;
    height: 20px;
    background-image: var(--bs-form-switch-bg);
    background-position: left center;
    border: 1px solid #d1d1d1;
    border-radius: 2em;
    transition: background-position 0.15s ease-in-out;
}

.filter-facet-content .form-check.form-switch #filter-date-toggle:checked {
    background-position: right center;
    --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27%23fff%27/%3e%3c/svg%3e");
    background-color: var(--yellowGM);
    border-color: var(--yellowGM);
}

#filter-date-toggle:focus,
#filter-date-toggle:focus:active {
    outline: none;
    box-shadow: none;
}

/*!***************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/react/components/FilterHeader/style.css ***!
  \***************************************************************************************************************************************/
.filter-header {
    height: 40px;
    width: 100%;
    background-color: var(--GMI-pagecolor);
}

.filter-header .size-adjust-frame {
    align-items: center;
    border: 1px solid;
    border-color: var(--GMI-cardbordercolor);
    border-radius: var(--GMI-filtersearchradius) var(--GMI-filtersearchradius)
        0px 0px;
    display: flex;
    gap: 10px;
    height: 100%;
    padding: 13px 20px;
    position: relative;
    width: 100%;
}

.filter-header .filter-symbol {
    background-image: url(/build/images/filter.ee4ba1d2.svg);
    background-position: 50% 50%;
    background-size: cover;
    height: 13.24px;
    position: relative;
    width: 14.58px;
}

.filter-header .filters-title {
    color: var(--GMI-black);
    font-family: var(--filter-title-font-family);
    /* font-size: var(--filter-title-font-size); */
    font-size: 18px;
    font-style: var(--filter-title-font-style);
    font-weight: var(--filter-title-font-weight);
    letter-spacing: var(--filter-title-letter-spacing);
    /* line-height: var(--filter-title-line-height); */
    line-height: 20px;
    position: relative;
    white-space: nowrap;
    width: fit-content;
}

.filter-header .spacer {
    flex: 1;
    flex-grow: 1;
    height: 16px;
    position: relative;
}

.filter-header .delete-text {
    all: unset;
    display: flex;
    align-items: center;
    color: var(--redGM);
    gap: 5px;
    font-family: var(--filters-clear-font-family);
    font-size: calc(var(--filters-clear-font-size) + 2px);
    font-style: var(--filters-clear-font-style);
    font-weight: 600;
    letter-spacing: var(--filters-clear-letter-spacing);
    line-height: 14px;
    opacity: 0.47;
    position: relative;
    white-space: nowrap;
    width: fit-content;
}

.filter-header .delete-text.enabled {
    opacity: 1;
    cursor: pointer;
}

.filter-header .filter-delete-symbol {
    height: 10.9px;
    position: relative;
    width: 10.88px;
}

.filter-header .filter-delete-symbol.enabled {
    cursor: pointer;
}

/*!******************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/react/components/FilterSortAlpha/style.css ***!
  \******************************************************************************************************************************************/
.filter-sort-alpha {
  all: unset;
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 5px;
  position: relative;
  width: 50px;
  cursor: pointer;
}

.filter-sort-alpha .frame {
  border: 1px solid;
  border-color: var(--GMI-cardbordercolor);
  border-radius: var(--GMI-filtersearchradius);
  height: 40px;
  position: relative;
  width: 50px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  font-family: "Montserrat-Bold", Helvetica;
  font-size: 15px;
  font-weight: 700;
  color: var(--GMI-black);
  -webkit-user-select: none; /* Safari */
  -ms-user-select: none;     /* IE/Edge */
  user-select: none; /* 💡 This disables text selection */
}

.filter-sort-alpha .frame.sort-asc  {
    background-color: var(--GMI-outlinedyellow);
}

.filter-sort-alpha .frame.sort-desc  {
    background-color: var(--GMI-outlinedyellow);
}


.filter-sort-alpha .a-z {
  position: relative;
}


.filter-sort-alpha .trac {
}


.filter-sort-alpha .name {
  font-family: var(--filter-sort-button-title-font-family);
  font-size: var(--filter-sort-button-title-font-size);
  font-style: var(--filter-sort-button-title-font-style);
  font-weight: var(--filter-sort-button-title-font-weight);
  letter-spacing: var(--filter-sort-button-title-letter-spacing);
  line-height: var(--filter-sort-button-title-line-height);
  position: relative;
  white-space: nowrap;
}

.filter-sort-alpha.sort-asc .name {
  color: var(--GMI-filtersearchtitleenabled);
}

.filter-sort-alpha.sort-desc .name {
  color: var(--GMI-filtersearchtitleenabled);
}

.filter-sort-alpha.no-sort .name {
  color: var(--GMI-filtersearchtitledisabled);
}

/*!*********************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/react/components/FilterSortDistance/style.css ***!
  \*********************************************************************************************************************************************/
.filter-sort-distance {
    align-items: center;
    border-radius: var(--GMI-filtersearchradius);
    display: flex;
    flex-direction: column;
    gap: 5px;
    position: relative;
    width: 50px;
  }
  
  .filter-sort-distance .button {
    align-items: center;
    border-radius: var(--GMI-filtersearchradius);
    display: flex;
    height: 40px;
    justify-content: center;
    position: relative;
    width: 50px;
  }
  
  .filter-sort-distance .frame {
    background-position: 50% 50%;
    background-size: cover;
    height: 21.41px;
    position: relative;
    width: 16.33px;
  }
  
  .filter-sort-distance .proximity {
    font-family: var(--filter-sort-button-title-font-family);
    font-size: var(--filter-sort-button-title-font-size);
    font-style: var(--filter-sort-button-title-font-style);
    font-weight: var(--filter-sort-button-title-font-weight);
    letter-spacing: var(--filter-sort-button-title-letter-spacing);
    line-height: var(--filter-sort-button-title-line-height);
    position: relative;
    text-align: center;
    white-space: nowrap;
    width: fit-content;
  }
  
  .filter-sort-distance .no-sort {
    border: 1px solid;
    border-color: var(--GMI-cardbordercolor);
  }
  
  .filter-sort-distance .sorted {
    background-color: var(--GMI-outlinedyellow);
  }
  
  .filter-sort-distance .style-0-no-sort {
    color: var(--GMI-filtersearchtitledisabled);
  }
  
  .filter-sort-distance .style-0-sorted {
    color: var(--GMI-filtersearchtitleenabled);
  }
  
  .filter-sort-distance .button.no-sort .frame {
    background-image: url(/build/images/pinpoint.9bbc2f7e.svg);
  }
  
  .filter-sort-distance .button.sorted .frame {
    background-image: url(/build/images/pinpoint.9bbc2f7e.svg);
  }
/*!******************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/react/components/FilterSortPrice/style.css ***!
  \******************************************************************************************************************************************/
.filter-sort-price {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 5px;
    position: relative;
    width: 50px;
  }
  
  .filter-sort-price .button {
    border-radius: var(--GMI-filtersearchradius);
    height: 40px;
    position: relative;
    width: 50px;
  }
  
  .filter-sort-price .euro {
    position: relative;
  }
  
  .filter-sort-price .div {
    background-position: 50% 50%;
    background-size: cover;
    height: 17px;
    left: 0;
    position: absolute;
    width: 17px;
  }
  
  .filter-sort-price .trac {
    height: 14px;
    left: 23px;
    position: absolute;
    width: 6px;
  }
  
  .filter-sort-price .prix {
    font-family: var(--filter-sort-button-title-font-family);
    font-size: var(--filter-sort-button-title-font-size);
    font-style: var(--filter-sort-button-title-font-style);
    font-weight: var(--filter-sort-button-title-font-weight);
    letter-spacing: var(--filter-sort-button-title-letter-spacing);
    line-height: var(--filter-sort-button-title-line-height);
    position: relative;
    white-space: nowrap;
  }
  
  .filter-sort-price.no-sort {
    height: 40px;
  }
  
  .filter-sort-price.sort-asc .button {
    background-color: var(--GMI-outlinedyellow);
  }
  
  .filter-sort-price.sort-desc .button {
    background-color: var(--GMI-outlinedyellow);
  }
  
  .filter-sort-price.no-sort .button {
    align-items: center;
    border: 1px solid;
    border-color: var(--GMI-buttonbordercolor);
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  
  .filter-sort-price.sort-asc .euro {
    height: 18px;
    left: 16px;
    top: 12px;
    width: 34px;
  }
  
  .filter-sort-price.sort-desc .euro {
    height: 18px;
    left: 16px;
    top: 12px;
    width: 34px;
  }
  
  .filter-sort-price.no-sort .euro {
    background-image: url(/build/images/noSort.3948381b.svg);
    background-position: 50% 50%;
    background-size: cover;
    height: 16.79px;
    width: 17.33px;
  }
  
  .filter-sort-price.sort-asc .div {
    background-image: url(/build/images/sortAsc.2031f9f2.svg);
    top: 1px;
  }
  
  .filter-sort-price.sort-desc .div {
    background-image: url(/build/images/sortDesc.6206a42f.svg);
    top: 0;
  }
  
  .filter-sort-price.no-sort .div {
    background-image: url(/build/images/noSort.3948381b.svg);
    top: 1px;
  }
  
  .filter-sort-price.sort-asc .trac {
    top: 2px;
  }
  
  .filter-sort-price.sort-desc .trac {
    top: 1px;
  }
  
  .filter-sort-price.no-sort .trac {
    top: 2px;
  }
  
  .filter-sort-price.sort-asc .prix {
    color: var(--GMI-filtersearchtitleenabled);
    height: 12px;
    width: 19px;
  }
  
  .filter-sort-price.sort-desc .prix {
    color: var(--GMI-filtersearchtitleenabled);
    height: 12px;
    width: 19px;
  }
  
  .filter-sort-price.no-sort .prix {
    color: var(--GMI-filtersearchtitledisabled);
    margin-bottom: -16.00px;
    text-align: center;
    width: fit-content;
  }
/*!*******************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/react/components/FilterSortToques/style.css ***!
  \*******************************************************************************************************************************************/
.filter-sort-toques {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 5px;
    position: relative;
    width: 50px;
  }
  
  .filter-sort-toques .button {
    align-items: center;
    border-radius: var(--GMI-filtersearchradius);
    display: flex;
    flex-direction: column;
    height: 40px;
    justify-content: center;
    position: relative;
    width: 50px;
  }
  
  .filter-sort-toques .frame {
    background-size: 100% 100%;
    height: 24.02px;
    position: relative;
    width: 17.41px;
  }
  
  .filter-sort-toques .toques {
    font-family: var(--filter-sort-button-title-font-family);
    font-size: var(--filter-sort-button-title-font-size);
    font-style: var(--filter-sort-button-title-font-style);
    font-weight: var(--filter-sort-button-title-font-weight);
    height: 12px;
    letter-spacing: var(--filter-sort-button-title-letter-spacing);
    line-height: var(--filter-sort-button-title-line-height);
    position: relative;
    white-space: nowrap;
    width: 36px;
  }
  
  .filter-sort-toques .no-sort {
    border: 1px solid;
    border-color: var(--GMI-cardbordercolor);
  }
  
  .filter-sort-toques .sorted {
    background-color: var(--GMI-outlinedyellow);
  }
  
  .filter-sort-toques .style-0-no-sort {
    color: var(--GMI-filtersearchtitledisabled);
  }
  
  .filter-sort-toques .style-0-sorted {
    color: var(--GMI-filtersearchtitleenabled);
  }
  
  .filter-sort-toques .button.no-sort .frame {
    background-image: url(/build/images/toque.d53b3106.svg);
  }
  
  .filter-sort-toques .button.sorted .frame {
    background-image: url(/build/images/toque.d53b3106.svg);
  }
/*!*********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/react/components/sortBy/style.css ***!
  \*********************************************************************************************************************************/
.sort-by {
    height: 13px;
    position: relative;
    width: 87px;
  }
  
  .sort-by .text-wrapper {
    color: var(--GMI-black);
    font-family: var(--filter-title-font-family);
    font-size: var(--filter-title-font-size);
    font-style: var(--filter-title-font-style);
    font-weight: var(--filter-title-font-weight);
    left: 25px;
    letter-spacing: var(--filter-title-letter-spacing);
    line-height: var(--filter-title-line-height);
    position: absolute;
    top: -1px;
    white-space: nowrap;
  }
  
  .sort-by .groupe {
    background-image: url(/build/images/symbol.f9de68af.svg);
    background-position: 50% 50%;
    background-size: cover;
    height: 13px;
    left: 0;
    position: absolute;
    top: 0;
    width: 16px;
  }
/*!************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/react/components/FilterSortRestaurants/style.css ***!
  \************************************************************************************************************************************************/
.filter-sort {
    background-color: var(--GMI-filterbackgroundcolor);

    align-items: flex-start;
    border: 1px solid;
    /* border-top: 0px; */
    border-color: var(--GMI-cardbordercolor);
    display: flex;
    flex-direction: column;
    gap: 20px;
    /* height: 132px; */
    padding: 20px;
    position: relative;
    width: 100%;
}

.filter-sort .sort-by-instance {
    height: 13.16px !important;
}

.filter-sort .design-component-instance-node {
    /* background-image: url(./symbol.svg) !important; */
}

.filter-sort .buttons {
    align-items: flex-start;
    display: inline-flex;
    flex: 0 0 auto;
    gap: 10px;
    position: relative;
}

.filter-sort .frame-2 {
    height: 18px;
    left: 16px;
    position: relative;
    top: 12px;
    width: 34px;
}

.filter-sort .text-wrapper-3 {
    color: var(--GMI-filtersearchtitleenabled);
    font-family: var(--filter-sort-button-title-font-family);
    font-size: var(--filter-sort-button-title-font-size);
    font-style: var(--filter-sort-button-title-font-style);
    font-weight: var(--filter-sort-button-title-font-weight);
    height: 12px;
    letter-spacing: var(--filter-sort-button-title-letter-spacing);
    line-height: var(--filter-sort-button-title-line-height);
    position: relative;
    white-space: nowrap;
    width: 19px;
}

/*!**************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/react/components/FilterStars/style.css ***!
  \**************************************************************************************************************************************/
/* src/styles/ToquesCountFilter.css */
.toques-filter {
    margin-bottom: 1.5rem;
  }

  .toques-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
  }

  .toque-pill {
    display: flex;
    align-items: center;
    border: 1px solid #ccc;
    border-radius: 25px;
    padding: 0.5rem 1rem;
    background-color: white;
    cursor: pointer;
    font-size: 1rem;
    transition: all 0.2s ease-in-out;
  }

  .toque-pill:hover {
    background-color: #f0f0f0;
  }

  .toque-pill.active {
    background-color: #222;
    color: white;
    border-color: #222;
  }

  .toque-icon {
    width: 24px;
    height: 24px;
    margin-right: 0.5rem;
  }

  .toque-count {
    font-size: 0.85rem;
    opacity: 0.75;
  }
  .custom-checkbox {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid #aaa;
    margin-right: 8px;
    vertical-align: middle;
  }

  .custom-checkbox.checked {
    background-color: #007bff;
    border-color: #007bff;
  }

/*!***************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/react/components/FilterToques/style.css ***!
  \***************************************************************************************************************************************/
/* src/styles/ToquesCountFilter.css */
.toques-filter {
    margin-bottom: 1.5rem;
  }

  .toques-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
  }

  .toque-pill {
    display: flex;
    align-items: center;
    border: 1px solid #ccc;
    border-radius: 25px;
    padding: 0.5rem 1rem;
    background-color: white;
    cursor: pointer;
    font-size: 1rem;
    transition: all 0.2s ease-in-out;
  }

  .toque-pill:hover {
    background-color: #f0f0f0;
  }

  .toque-pill.active {
    background-color: #222;
    color: white;
    border-color: #222;
  }

  .toque-icon {
    width: 24px;
    height: 24px;
    margin-right: 0.5rem;
  }

  .toque-count {
    font-size: 0.85rem;
    opacity: 0.75;
  }

/*!********************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/react/components/FloatingContainer/style.css ***!
  \********************************************************************************************************************************************/
.fab-container {
    position: fixed;
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 1000;
    gap: var(--fab-gap, 1rem);
}

/* Décalage géré via variable CSS --fab-offset ou inline style */
.fab-container.top {
    top: var(--fab-offset, 1.5rem);
}
.fab-container.bottom {
    bottom: var(--fab-offset, 1.5rem);
}
.fab-container.left {
    left: var(--fab-offset, 1.5rem);
}
.fab-container.center {
    left: 50%;
    transform: translateX(-50%);
}
.fab-container.right {
    right: var(--fab-offset, 1.5rem);
}

/*!*************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/react/components/IconButton/style.css ***!
  \*************************************************************************************************************************************/
.icon-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    background: transparent;
    border: none;
    cursor: pointer;
}

.icon-button.withBorder {
    border: 1px solid var(--borderButton);
    border-radius: var(--border-radius);
}

.icon-button:active,
.icon-button:focus {
    all: unset;
}

.icon-button img {
    display: block;
    width: inherit;
    height: inherit;
}

/*!***************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/react/components/IconButton/IconButtonWithBadge.css ***!
  \***************************************************************************************************************************************************/
/* IconButtonWithBadge.css */

.icon-button-with-badge {
    position: relative;
    display: flex;
}

.icon-button-with-badge .badge {
    position: absolute;
    top: 0;
    right: 0;
    transform: translate(50%, -50%);
    display: inline-block;
    padding: 3px 6px;
    font-size: 12px;
    line-height: 12px;
    font-weight: 900;
    border-radius: 999px;
    background-color: var(--redGM);
    color: #fff;

    /* Empêche le curseur de changer et bloque tout événement de pointeur */
    pointer-events: none;

    /* Désactive la sélection de texte sur le badge */
    user-select: none;
}

/*!**********************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/react/components/ItineraryMapSection/style.css ***!
  \**********************************************************************************************************************************************/
.itinerary-map-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    --IMSbgColor: rgba(255, 255, 255, 0.7);
}

/* Contrôles de profil de route */
.route-profile-control {
    position: absolute;
    bottom: 20px;
    left: 10px;
    z-index: 1000;
    pointer-events: auto;
}

.route-profile-control .leaflet-control {
    padding: 10px;
    border-radius: 4px;
}

.route-info {
    background-color: var(--IMSbgColor);
    padding: 8px 12px;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 500;
    min-width: 120px;
}

.route-info div {
    display: flex;
    align-items: center;
    margin-bottom: 4px;
}

.route-info div:last-child {
    margin-bottom: 0;
}

.route-info i {
    color: #000000;
    width: 20px;
}

/* Boutons de profil */
.route-profile-control .btn-group {
    display: flex;
    border: 1px solid var(--yellowGM);
    background-color: var(--IMSbgColor);
}

.route-profile-control .btn {
    padding: 8px 12px;
    font-size: 16px;
    border: 1px solid #dee2e6;
}

.route-profile-control .btn:hover {
    color: var(--redGM);
    background-color: transparent;
}

.route-profile-control .active {
    color: var(--redGM);
    background-color: transparent;
}

/* Marqueurs numérotés personnalisés */
.itinerary-marker {
    background: transparent !important;
    border: none !important;
}

.marker-circle {
    width: 48px;
    height: 48px;
    background: #ffffff;
    border: 4px solid var(--yellowGM);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: border-color 0.2s ease;
    cursor: pointer;
}

.itinerary-marker:hover .marker-circle {
    border-color: var(--redGM);
}

.marker-number {
    font-size: 16px;
    font-weight: bold;
    color: #333;
    user-select: none;
}

/* Tooltip personnalisé */
.leaflet-tooltip {
    background-color: white;
    border: 2px solid var(--yellowGM);
    border-radius: 4px;
    padding: 8px 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    font-size: 14px;
    line-height: 1.3;
    white-space: nowrap;
    color: black;
    max-height: none;
    height: auto;
}

/* Supprimer les styles par défaut de Leaflet */
.leaflet-tooltip::before {
    display: none !important;
}

.leaflet-tooltip .text-container {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin: 0;
    padding: 0;
}

.leaflet-tooltip .text-container .title {
    font-weight: bold;
    line-height: 1.2;
    margin: 0;
    padding: 0;
}

.leaflet-tooltip .text-container .description {
    font-size: 12px;
    font-weight: 300;
    line-height: 1.2;
    margin: 0;
    padding: 0;
}

/* Responsive */
@media (max-width: 768px) {
    .route-profile-control {
        left: 5px;
        bottom: 10px;
    }

    .route-profile-control .btn {
        padding: 6px 10px;
        font-size: 14px;
    }

    .route-info {
        font-size: 12px;
        min-width: 100px;
        padding: 6px 10px;
    }

    .marker-circle {
        width: 36px;
        height: 36px;
        border-width: 3px;
    }

    .marker-number {
        font-size: 14px;
    }
}

/*!**************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/react/components/LazyContent/style.css ***!
  \**************************************************************************************************************************************/
.lazy-content {
    width: 100%;
    height: auto;
    min-height: 400px; /* Reserve space for the content */
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
}

.lazy-content.loaded {
    opacity: 1;
    min-height: unset; /* Release reserved space once loaded */
}

@media (min-width: 576px) {
    .lazy-content {
        width: 300px;
        height: 480px;
        min-height: unset;
    }

    .lazy-content.horizontal {
        width: auto;
        height: auto;
        min-height: unset;
    }
}

/*!*************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/react/components/MapSection/style.css ***!
  \*************************************************************************************************************************************/
.map-wrapper {
    /* le container qui entoure <MapContainer> */
    position: relative;
    height: calc(100vh - var(--header-body-offset));
    overflow: hidden;
    flex: 1 1 auto;
    width: 100%;
}

.map-wrapper .lazy-overlay {
    position: absolute;
    bottom: 20px;
    left: 50%;
    width: 100%;
    min-width: 300px;
    transform: translateX(-50%) scale(0.75);
    z-index: 2002;
}

.map-wrapper .lazy-overlay.v-center {
    transform: translate(-50%, -50%) scale(0.75);
    top: 50%;
    bottom: unset;
}

/* Override Leaflet Popup Default Styling */
.leaflet-popup .leaflet-popup-content-wrapper {
    background: transparent;
    border: none;
    box-shadow: none;
}

.leaflet-popup .leaflet-popup-content {
    margin: 0;
    padding: 0;
    background: transparent;
}

.leaflet-popup .leaflet-popup-tip-container {
    display: none;
}

.leaflet-popup .leaflet-popup-close-button {
    display: none;
}

/*!************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/react/components/OffCanvas/style.css ***!
  \************************************************************************************************************************************/
.offcanvas-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.5);
    opacity: 0;
    transition-property: opacity;
    transition-timing-function: ease-out;
}
.offcanvas-backdrop.animate-in {
    opacity: 1;
}

.offcanvas-panel {
    position: fixed;
    top: 0;
    left: 0;
    /* width: 100vw; */
    /* height: 100vh; */
    width: 100dvw;
    height: 100dvh;
    background-color: #fff;
    display: flex;
    flex-direction: column;
}

/*Direction modifiers */
.offcanvas-panel.bottom-to-top {
    transform: translateY(100%);
    transition: transform ease-out;
}
.offcanvas-panel.left-to-right {
    transform: translateX(-100%);
    transition: transform ease-out;
}
.offcanvas-panel.animate-in {
    transform: translate(0, 0);
}

.offcanvas-header {
    flex: 0 0 auto;
    gap: 10px;
    display: flex;
    align-items: center;
    background: var(--yellowGM);
    border-bottom: 1px solid #ddd;
    height: 60px;
    padding: 0px 12px;
}
.offcanvas-logo {
    height: 12px;
    fill: var(--redGM);
    margin-right: 8px;
}
.offcanvas-title {
    margin: 0;
    flex: 1;
    font-family: "Montserrat", sans-serif;
    font-weight: bolder;
    text-transform: uppercase;
    font-size: 18px;
    line-height: 21px;
    text-transform: uppercase;
}
.offcanvas-subtitle {
    font-size: 12px;
    font-weight: 100;
    text-transform: unset;
}
.offcanvas-back-btn {
    margin-right: 8px;
    background: none;
    border: none;
    font-size: 1rem;
    cursor: pointer;
    color: #007bff;
}
.offcanvas-close {
    height: 24px;
    margin-right: 8px;
    cursor: pointer;
}

.offcanvas-header-content {
    padding: 8px 12px;
    border-bottom: 1px solid #eee;
}
.offcanvas-body {
    flex: 1 1 auto;
    overflow-y: auto;
}

.offcanvas-footer {
    position: sticky; /* stays at the bottom of the scroll box */
    bottom: 0; /* no overlap, because 100dvh excludes nav bar */
    padding: 8px 12px;
}

/* Fallback for engines without dvh */
@supports not (height: 100dvh) {
    .offcanvas {
        height: 100vh;
    }
}

@supports not (width: 100dvw) {
    .offcanvas {
        width: 100vw;
    }
}

/*!********************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/react/components/RestaurantCardMap/style.css ***!
  \********************************************************************************************************************************************/
.restaurant-card-map {
    align-items: center;
    background-color: #ffffff;
    border: 1px solid;
    border-color: #d1d1d1;
    border-radius: 15px;
    display: flex;
    height: 122px;
    overflow: hidden;
    position: relative;
    width: 352px;
}

.restaurant-card-map .thumbnail {
    height: 120px;
    width: 120px;
    object-fit: cover;
}

.restaurant-card-map .thumbnail-placeholder {
    width: 120px;
    height: 120px;
    /* Add any background color or border for visualization */
    /* background-color: #f0f0f0; */
    /* border: 1px solid #ccc; */
    /* You might want to add margin to space it from the details */
    /* margin-right: 10px; */
}

.restaurant-card-map .details {
    align-items: flex-start;
    align-self: stretch;
    display: flex;
    flex: 1;
    flex-direction: column;
    flex-grow: 1;
    gap: 5px;
    padding: 10px;
    position: relative;
}

/* .restaurant-card-map .title {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    line-clamp: 1;
    align-self: stretch;
    color: #000000;
    display: -webkit-box;
    font-family: var(--small-card-map-title-font-family);
    font-size: var(--small-card-map-title-font-size);
    font-style: var(--small-card-map-title-font-style);
    font-weight: var(--small-card-map-title-font-weight);
    letter-spacing: var(--small-card-map-title-letter-spacing);
    line-height: var(--small-card-map-title-line-height);
    margin-top: -1px;
    overflow: hidden;
    position: relative;
    text-overflow: ellipsis;
} */

.restaurant-card-map .details p.title {
    color: #000000;
    display: -webkit-box;
    font-family: var(--small-card-map-title-font-family);
    font-size: var(--small-card-map-title-font-size);
    font-style: var(--small-card-map-title-font-style);
    font-weight: var(--small-card-map-title-font-weight);
    letter-spacing: var(--small-card-map-title-letter-spacing);
    line-height: var(--small-card-map-title-line-height);

    -webkit-line-clamp: 2; /* Limit to 2 lines */
    -webkit-box-orient: vertical; /* Required for -webkit-line-clamp */
    overflow: hidden; /* Hide any text that exceeds the 2 lines */
    text-overflow: ellipsis; /* Add ellipsis (...) to indicate truncated text */

    /* Ensure it doesn't have a fixed height or min-height that forces two lines */
    height: auto;
    min-height: 0;
    margin-top: 0px;
    margin-bottom: 0px;
}

.restaurant-card-map .cuisine-and-toques {
    align-items: center;
    align-self: stretch;
    display: flex;
    flex: 0 0 auto;
    gap: 5px;
    position: relative;
    width: 100%;
}

.restaurant-card-map .cuisine {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    line-clamp: 1;
    color: #000000;
    display: -webkit-box;
    flex: 1;
    font-family: var(--small-card-map-details-font-family);
    font-size: var(--small-card-map-details-font-size);
    font-style: var(--small-card-map-details-font-style);
    font-weight: var(--small-card-map-details-font-weight);
    /* height: 23px; */
    letter-spacing: var(--small-card-map-details-letter-spacing);
    /* line-height: var(--small-card-map-details-line-height); */
    /* margin-top: -1px; */
    height: auto;
    min-height: 0;
    overflow: hidden;
    position: relative;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 110px;
}

.restaurant-card-map .toques-24 {
    position: relative !important;
}

.restaurant-card-map p.gm-selected {
    position: relative !important;
    background-color: var(--GMI-outlinedyellow);
    border-radius: 8px;
    width: 100px;
    height: 30px;
    color: black;
    font-family: var(--news-categories-yellow-font-family);
    font-size: var(--news-categories-yellow-font-size);
    font-style: var(--news-categories-yellow-font-style);
    font-weight: var(--news-categories-yellow-font-weight);
    letter-spacing: var(--news-categories-yellow-letter-spacing);
    line-height: var(--news-categories-yellow-line-height);
    text-align: center;
}

.restaurant-card-map p.sponsored {
    position: relative !important;
    background-color: var(--GMI-sponsored-bgColor);
    border-radius: 8px;
    width: 100px;
    height: 30px;
    color: black;
    font-family: var(--news-categories-yellow-font-family);
    font-size: var(--news-categories-yellow-font-size);
    font-style: var(--news-categories-yellow-font-style);
    font-weight: var(--news-categories-yellow-font-weight);
    letter-spacing: var(--news-categories-yellow-letter-spacing);
    line-height: var(--news-categories-yellow-line-height);
    text-align: center;
}


.restaurant-card-map .distance-and-place {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    line-clamp: 1;
    align-self: stretch;
    color: #000000;
    display: -webkit-box;
    font-family: var(--small-card-map-details-font-family);
    font-size: var(--small-card-map-details-font-size);
    font-style: var(--small-card-map-details-font-style);
    font-weight: var(--small-card-map-details-font-weight);
    letter-spacing: var(--small-card-map-details-letter-spacing);
    line-height: var(--small-card-map-details-line-height);
    overflow: hidden;
    position: relative;
    text-overflow: ellipsis;
}

/*!*************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/react/components/SearchPage/style.css ***!
  \*************************************************************************************************************************************/
.hits-container .search-hits .oneColumn {
    max-width: 300px;
}

.search-hits {
    align-items: center;
    background-color: var(--GMI-pagecolor);
    display: flex;
    flex-wrap: wrap;
    gap: 15px 50px;
    padding: 0px 0px;
    /* position: relative; */
    width: 100%;
    max-width: 1000px;
    /* margin: 0 auto; */
}

body {
    font-family: sans-serif;
}

.search-page-content {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 10px;
    /* margin-top: 1em; */
    /* width: fit-content; */
}

:root {
    /* valeur par défaut : search-bar seule (48 px) */
    --search-bar-bottom: 48px;
}

.left-panel {
    position: sticky;
    /* top: var(--search-bar-bottom); */
    top: calc(var(--header-body-offset));
    height: calc(100vh - var(--header-body-offset));
    display: flex;
    flex-direction: column;
    min-height: 0; /* ← indispensable */
    max-width: 270px;
    flex: 0 0 270px;
    z-index: 90;

    /* ➊ adoucit le déplacement vertical : */
    transition: top 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
    will-change: top, height; /* hint perf */
}

.map-list-toggle {
    width: 100%;
    z-index: 10;
}

.filter-spacer {
    height: 10px;
}

.map {
    display: none;
}

.map.active {
    display: block;
    width: 100%;
    height: 100%;
}

.map-container {
    position: relative;
    width: 100%;
    height: 500px;
    flex: 1 1 auto;
    border: 1px solid red;
}

.right-panel {
    background-color: var(--GMI-pagecolor);
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    row-gap: 10px;
    flex: 1 1 auto;
}

/* .contents {
    width: 1000px;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: inherit;
} */

/* 2️⃣  Le wrapper que RestaurantFilters rend autour des facettes
       (dans tes CSS actuels c’est .filter-container) doit aussi
       pouvoir se tasser. */
.filter-container {
    flex: 1 1 auto;
    min-height: 0; /* ← empêche le bloc de forcer la hauteur */
    display: flex;
    flex-direction: column;
}

/* 3️⃣  Vrai bloc scrollable  */
.filter-facet-container {
    flex: 1 1 auto;
    min-height: 0; /* ← fait apparaître le scroll */
    overflow-y: auto;
    background: var(--GMI-filterbackgroundcolor);
    border: 1px solid var(--GMI-cardborder);
    border-top: unset;
}

.filter-container.mobile .filter-facet-container {
    background: unset;
    border: unset;
}

.filter-facet-container::-webkit-scrollbar-button {
    display: none;
    height: 0;
    width: 0;
}

/* Pour Webkit (Chrome, Safari, Edge) */
.filter-facet-container::-webkit-scrollbar {
    width: 5px;
    /* position: absolute; */
}

.filter-facet-container::-webkit-scrollbar-track {
    background: transparent;
}

.filter-facet-container::-webkit-scrollbar-thumb {
    background-color: #ccc;
    border-radius: 4px;
}

.filter-facet-container:hover::-webkit-scrollbar-thumb {
    background-color: #999;
}

.filter-facet-content {
    align-items: flex-start;
    /* border-top: 1px solid var(--GMI-cardborder); */
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 20px;
}

.filter-facet-content + .filter-facet-content {
    border-top: 1px solid var(--GMI-cardborder);
}

/* applique la bordure uniquement si ce n’est pas le dernier élément */
.filter-container.mobile .filter-facet-content:last-child {
    border-bottom: unset;
}

.filter-facet-content .titre {
    align-self: stretch;
    color: var(--GMI-black);
    font-family: var(--filter-title-font-family);
    /* font-size: var(--filter-title-font-size); */
    font-size: 16px;
    font-style: var(--filter-title-font-style);
    font-weight: var(--filter-title-font-weight);
    letter-spacing: var(--filter-title-letter-spacing);
    line-height: var(--filter-title-line-height);
    margin-top: -0.5px;
    position: relative;
}

.filter-facet-content .botom-border {
    border-bottom: 1px;
}

.ais-InfiniteHits-sentinel {
    width: 100%;
}

.infinite-hits-container {
    background-color: var(--GMI-pagecolor);
    display: flex;
    flex-wrap: wrap;
    gap: 20px 50px;
    flex: 1 1 auto;
    justify-content: center;
}

/* .infinite-hits-container > .lazy-content {
    min-height: 200px;
    width: 100%;
} */

.filter-facet-content .ais-RefinementList {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* ul.ais-RefinementList-list {
  all: unset;
} */

input.ais-SearchBox-input {
    all: unset;
    padding-left: 40px;
    /* rto le 03.06
    height: 40px;
    */
    border-radius: 13px;
    border: 1px solid var(--GMI-buttonbordercolor);
    color: var(--GMI-black);
    font-family: var(--search-box-font-family);
    font-size: var(--search-box-font-size);
    font-style: var(--search-box-font-style);
    font-weight: var(--search-box-font-weight);
    letter-spacing: var(--search-box-letter-spacing);
    line-height: var(--search-box-line-height);
    width: -webkit-fill-available;
    background-color: white;
    min-height: 40px;
}

svg.ais-SearchBox-submitIcon {
    all: unset;
    width: 20px;
    height: 20px;
}

button.ais-SearchBox-submit {
    background: none;
    border: 0;
    position: absolute;
    left: 10px;
}

.ais-SearchBox-reset {
    visibility: hidden;
}

.ais-RefinementList-showMore {
    all: unset;
    cursor: pointer;
    color: var(--GMI-black);
    font-family: var(--filter-count-font-family);
    font-size: var(--filter-count-font-size);
    font-style: var(--filter-count-font-style);
    font-weight: var(--filter-count-font-weight);
    letter-spacing: var(--filter-count-letter-spacing);
    line-height: var(--filter-count-line-height);
    opacity: 0.3;
    white-space: nowrap;
}

.filter-facet-content .ais-RefinementList-list {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 5px;
    position: relative;
    width: 100%;
    padding: unset;
}

.filter-facet-content .ais-RefinementList-list .ais-RefinementList-item {
    display: flex;
    gap: 9px;
    width: 100%;
}

.filter-facet-content .ais-RefinementList-list .ais-RefinementList-label {
    display: flex;
    gap: 5px;
    align-items: center;
    width: 100%;
}

.filter-facet-content .ais-RefinementList-label .ais-RefinementList-labelText {
    color: var(--GMI-black);
    font-family: var(--filter-label-active-font-family);
    /* font-size: var(--filter-label-active-font-size); */
    font-size: 14px;
    font-style: var(--filter-label-active-font-style);
    font-weight: var(--filter-label-active-font-weight);
    letter-spacing: var(--filter-label-active-letter-spacing);
    /* line-height: var(--filter-label-active-line-height); */
    line-height: 17px;
    position: relative;
    /* white-space: nowrap; */

    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
}

.ais-RefinementList-count {
    all: unset;
    color: var(--GMI-black);
    font-family: var(--filter-count-value-font-family);
    font-size: var(--filter-count-value-font-size);
    font-style: var(--filter-count-value-font-style);
    font-weight: var(--filter-count-value-font-weight);
    letter-spacing: var(--filter-count-value-letter-spacing);
    line-height: var(--filter-count-value-line-height);
    position: relative;
    text-align: right;
    white-space: nowrap;
    flex: 1;
}

.ais-ClearRefinements {
    margin: 1em 0;
}

.ais-SearchBox-form {
    flex: 1 1 auto;
    position: relative;
}

.ais-Pagination {
    margin-top: 1em;
}

.ais-Hits-list {
    gap: 20px 50px;
}

.ais-InfiniteHits-item,
.ais-InfiniteResults-item,
.ais-Hits-item,
.ais-Results-item {
    border: unset;
    box-shadow: unset;
    width: auto;
}

.hit-name {
    margin-bottom: 0.5em;
}

.hit-description {
    color: grey;
    margin-bottom: 0.5em;
}

.hit-info {
    font-size: 90%;
}

/* @media (min-width: 1280px) {
    .infinite-hits-container > .lazy-content {
        width: unset;
    }
} */

