.h1-p1 {
    font-size: 50px;
    text-transform: uppercase;
    display: block;
    line-height: 0.3em !important;
}

.magasin-sub-title {
    font-size: 26px;
}

.h1-ville {
    display: inline-block;
    text-transform: lowercase;
}

.h1-ville::first-letter {
    text-transform: uppercase;
}

.card-img-article-magasin {
    aspect-ratio: 1/1;
    object-fit: cover;
}

.card-title-magasin {
    height: 40px;
}

.h1-p2 {
    display: block;
    margin-top: 16px;
    margin-bottom: 12px;
}



.savoir-faire {
    background-color: #FFFFFF;
}

.savoir-faire-content h2, .savoir-faire-content h3 {
    color: #2A3E47;
}

.savoir-faire-content p {
    color: rgba(41, 61, 70, 0.6);
    font-weight: normal;
}

/* Reseaux sociaux */
a.rs {
    text-decoration: none;
    color: #A4C7B2 !important;
}

a.rs :hover {
    /* color:#FFFFFF !important; */
    text-decoration: none;
}

.emblem-logo {
    height: 50px;
    width: auto;
}

/* equipe / formulaire */
.equipe, .ac {
    background-color: white;
}

.equipe-nom {
    color: rgba(41, 61, 70, 1);
    font-weight: bold;
    font-size: 16px;
    height: 33px;
}

.equipe-description, .formulaire {
    color: rgba(41, 61, 70, 1);
    font-size: .9rem;
}

.equipe-description {
    display: block;
    height: 150px;
    overflow: hidden;
}

.equipe-titre, .formulaire-titre {
    font-size: 30px;
    font-weight: 300;
    color: #2A3E47;
}

.equipe-image {
    height: auto;
    max-width: 100%;
}

.input-formulaire {
    -webkit-border-radius: 50px !important;
    -moz-border-radius: 50px !important;
    border-radius: 50px !important;
    height: 40px;
    width: 100%;
    font-size: 14px;
    margin-bottom: 20px;
    padding-left: 10px;
    border: 1px solid black;
}

.form-check-label {
    font-size: 14px;
}

.input-formulaire::-webkit-input-placeholder {
    text-align: center;
}

.input-formulaire:-moz-placeholder { /* Firefox 18- */
    text-align: center;
}

.input-formulaire::-moz-placeholder { /* Firefox 19+ */
    text-align: center;
}

.input-formulaire:-ms-input-placeholder {
    text-align: center;
}

.formulaire .btn-quadro-principal {
    height: 60px;
    margin-top: 40px;
}

/* Desciption magasin */
.magasin-titre {
    font-size: 24px;
}

.left-banner-magasin h1{
    font-size:100px;
}

.magasin-info {
    color: rgb(31, 31, 31);
    font-size: 15px;
    font-weight: 500;
}

#map {
    height: 300px;
    width: 100%;
}

/* Prise de rdv */
.button-prise-rdv {
    padding: 9px 12px;
    text-align: center;
    font-size: 20px;
    font-weight: 600;
    text-transform: uppercase;
    border: none;
    outline: none !important;
    background-color: #FFFFFF;
    color: #2A3E47;
}

.button-prise-rdv:hover, .button-prise-rdv.active, .button-prise-rdv:focus {
    background-color: #11A7AF;
    color: #FFFFFF;
}

/* Active campaign */
#_form_15_ input[type="text"]._has_error,
#_form_15_ textarea._has_error {
    border: #FF0000 1px solid;
}

#_form_15_ input[type="checkbox"]._has_error {
    outline: #FF0000 1px solid;
}

#_form_15_ ._error {
    display: block;
    position: absolute;
    font-size: 13px;
    z-index: 10000001;
}

#_form_15_ ._error._above {
    padding-bottom: 4px;
    bottom: 39px;
    right: 0;
}

#_form_15_ ._error._below {
    padding-top: 4px;
    top: 100%;
    right: 0;
}

#_form_15_ ._error._above ._error-arrow {
    bottom: 0;
    right: 15px;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid #FF0000;
}

#_form_15_ ._error._below ._error-arrow {
    top: 0;
    right: 15px;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-bottom: 5px solid #FF0000;
}

#_form_15_ ._error-inner {
    padding: 8px 12px;
    background-color: #FFFFFF;
    font-size: 13px;
    font-family: arial, sans-serif;
    color: #FF0000;
    outline: none;
    border: #FF0000 1px solid;;
    text-align: center;
    text-decoration: none;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
}

#_form_15_ ._error-inner._form_error {
    margin-bottom: 5px;
    text-align: left;
}

#_form_15_ ._button-wrapper ._error-inner._form_error {
    position: static;
}

#_form_15_ ._error-inner._no_arrow {
    margin-bottom: 10px;
}

#_form_15_ ._error-arrow {
    position: absolute;
    width: 0;
    height: 0;
}

#_form_15_ ._error-html {
    margin-bottom: 10px;
}

/* Active campaign */
#_form_106_ input[type="text"]._has_error,
#_form_106_ textarea._has_error {
    border: #FF0000 1px solid;
}

#_form_106_ input[type="checkbox"]._has_error {
    outline: #FF0000 1px solid;
}

#_form_106_ ._error {
    display: block;
    position: absolute;
    font-size: 13px;
    z-index: 10000001;
}

#_form_106_ ._error._above {
    padding-bottom: 4px;
    bottom: 39px;
    right: 0;
}

#_form_106_ ._error._below {
    padding-top: 4px;
    top: 100%;
    right: 0;
}

#_form_106_ ._error._above ._error-arrow {
    bottom: 0;
    right: 106px;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid #FF0000;
}

#_form_106_ ._error._below ._error-arrow {
    top: 0;
    right: 106px;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-bottom: 5px solid #FF0000;
}

#_form_106_ ._error-inner {
    padding: 8px 12px;
    background-color: #FFFFFF;
    font-size: 13px;
    font-family: arial, sans-serif;
    color: #FF0000;
    outline: none;
    border: #FF0000 1px solid;;
    text-align: center;
    text-decoration: none;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
}

#_form_106_ ._error-inner._form_error {
    margin-bottom: 5px;
    text-align: left;
}

#_form_106_ ._button-wrapper ._error-inner._form_error {
    position: static;
}

#_form_106_ ._error-inner._no_arrow {
    margin-bottom: 10px;
}

#_form_106_ ._error-arrow {
    position: absolute;
    width: 0;
    height: 0;
}

#_form_106_ ._error-html {
    margin-bottom: 10px;
}

.article-mag .card figure {
    width: 100%;
    overflow: hidden;
    align-self: center;
}

.article-mag .card figure img {
    height: 350px;
}

.article-mag .card .btn-article,
.equipe .btn-membre {
    box-shadow: none;
    background: #95BDA5;
    text-transform: uppercase;
    color: #FFFFFF;
    margin-left: 0;
    display: block;
    padding: 10px 20px;
}

.produits .card .btn-produit{
    box-shadow: none;
    background: #95BDA5;
    text-transform: uppercase;
    color: #FFFFFF;
    margin-left: 10px;
    margin-bottom: 20px;
    display: block;
    padding: 10px 20px;
}

.btn-contact-magasin {
    border: 1px solid #F08561;
    background: #F08561;
    padding: 9px 12px;
    text-align: center;
    font-size: 20px;
    font-weight: 600;
    text-transform: uppercase;
}

.btn-contact-magasin:hover {
    background: #FFFFFF;
    color: #F08561;
}

.modal {
    color: #28363E;
}

span.infos {
    color: rgba(41, 61, 70, 0.6);
}

.form-content-magasin{
    display: flex;
    flex-direction: column;
}

.form-content-magasin .label-formulaire {
    font-size: 14px;
    font-weight: 500;
     color: black;
    margin-bottom: 0;
    margin-top: 0.7rem;
}

.form-content-magasin .input-formulaire {
    -webkit-border-radius: 50px !important;
    -moz-border-radius: 50px !important;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: #FFFFFF;
    border-radius: 50px !important;
    height: 36px;
    width: 100%;
    color: #757575;
    border: 1px solid #757575;
}

.form-content-magasin .textarea-formulaire {
    -webkit-border-radius: 15px !important;
    -moz-border-radius: 15px !important;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: #FFFFFF;
    border-radius: 15px !important;
    height: 100px;
    width: 100%;
    color: #757575;
}

.form-content-magasin .row-text-protection-formulaire,
.form-content-magasin .row-text-info-formulaire{
    margin: 0;
}

.form-content-magasin .row-text-protection-formulaire .text-protection-formulaire,
.form-content-magasin .row-text-info-formulaire .text-info-formulaire{
    padding-left: 15px;
    margin-bottom: 0!important;
}

.form-content-magasin .row-checkbox-commercial{
    display: flex;
}

.form-content-magasin .row-checkbox-commercial span{
    padding-left: 15px;
}

.row.produits{
    /*flex-wrap: wrap;*/
    background-color: white;
}

.row.produits .produit{
    background: rgb(40, 54, 62, 0.21);
    /*flex: 0 0 1;*/
    /*background-color: transparent;*/
    /*padding-left: 15px;*/
    /*padding-right: 15px;*/
    /*margin-bottom: 15px;*/
    /*margin-top: 15px;*/
}

.row.produits .produit .produit-image{
    max-width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.row.produits .produit .produit-sous-titre{
    min-height: 90px;
    padding-left: 15px;
    padding-right: 15px;
    padding-top: .5rem !important;
    padding-bottom: .5rem !important;
    color: rgba(41, 61, 70, 1);
}
.row.produits .produit .produit-image-container{
    background: rgb(40, 54, 62, 0.21);
    position: relative;
    min-width: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.row.produits .produit .produit-titre{
    background-color: rgb(40, 54, 62, 0.5);
    width: 100%;
    padding: 5px 15px;
    text-align: center;
    position: absolute;
    bottom: 0;
    color: white;
    font-weight: bold;
    font-size: 16px;
}

/* Extra small devices (portrait phones, less than 576px) */
@media (max-width: 575.98px) {
    .left-banner-magasin h1{
        font-size:initial;
    }
    .h1-p2 {
        font-size: 20px;
    }

    .h1-p1 {
        line-height: 1em !important;
    }

    h1.magasin-sub-title {
        line-height: 0.8em
    }

    .magasin-prise-rdv-row {
        display: flex;
        flex-wrap: wrap;
    }

    #button-prise-rdv {
        flex: 1 1 100%;
        margin-bottom: 20px;
    }

    .sidemenu {
        margin: 0;
        position: fixed;
        bottom: 70px;
        height: 56px;
        width: 100%;
        z-index: 1011;
        left: 0;
        right: 0;
        border-bottom: #FFFFFF 1px solid;
    }

    .sidemenu-container {
        /* display: flex;
        background-color: #EFEFEF; */
        height: 100%;
        width: 100%;
    }

    .sidemenu-content {
        position: relative;
        display: flex;
        justify-content: space-around;
        text-align: inherit;
        width: 100%;
        height: 100%;
    }

    .sidemenu-content a {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: right;
        align-items: center;
        width: 100%;
        font-weight: 400;
        font-size: 10px;
        text-transform: none;
    }

    .body-126 {
        margin-bottom: 126px !important;
    }

    #carouselMembres .carousel-item>div:not(.modal)>div:first-child{
        display: flex;
        align-items: center;
        flex-direction: column;
    }
}

@media (min-width: 576px) {
    .sidemenu {
        margin: 0;
        position: fixed;
        top: 40%;
        right: 0;
        width: auto;
        z-index: 101;
    }

    .sidemenu-container {
        position: relative;
        text-align: right;
    }

    .sidemenu-content {
        position: relative;
        display: block;
        text-align: inherit;
        width: auto;
        margin-bottom: 0.25rem;
    }

    .sidemenu-content a {
        height: 46px;
        position: relative;
        display: inline-block;
        text-align: left;
        width: 50px;
        overflow: hidden;
        border-bottom-left-radius: 5px;
        border-top-left-radius: 5px;
        padding-left: 0;
        white-space: nowrap;
    }

    .sidemenu, .sidemenu-container, .sidemenu-content, .sidemenu-content a {
        -webkit-transition: width ease-in .5s;
        transition: width ease-in .5s;
    }

    .sidemenu-content-text {
        font-weight: bold;
    }

    .sidemenu-content a:hover, .prise-rdv-start {
        width: 280px !important;
    }
}

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) and (max-width: 767.98px) {
    .h1-p2 {
        font-size: 25px;
    }
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) and (max-width: 991.98px) {
    .h1-p2 {
        font-size: 30px;
    }

    .reviews .card{
        height: unset;
    }

    #carouselMembres .carousel-item>div:not(.modal){
        display: flex;
        align-items: center;
        flex-direction: column;
    }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) and (max-width: 1199.98px) {
    .h1-p2 {
        font-size: 35px;
    }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
    #carouselMembres .carousel-item.active .row{
        justify-content: center;
    }
}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
    .h1-p2 {
        font-size: 40px;
    }

    .coordonnees {
        background: #95BDA5;
        /* width: 100%; */
        height: 300px;
    }

    .acces {
        width: 100%;
        height: 300px;
    }

    .entete {
        height: 300px;
    }
}



/* Images du haut */
@media (max-width: 767.98px) {
    .row-footer-titre>div:first-child{
        display: flex;
    }

    .footer-img-div{
        text-align: center;
        left: -25px;
    }

    .row-footer-titre>div:first-child>p:first-child{
        padding-right: 20px;
    }

    .coordonnees {
        background: #95BDA5;
        /* width: 100%; */
        /* height: 315px; */
    }

    .acces {
        width: 100%;
        /* height: 315px; */
    }

    .entete {
        /* height: 630px; */
        width: 100%;
        margin: 0;
        padding: 0;
    }
}


@media (min-width: 768px) {
    .coordonnees {
        background: #95BDA5;
        /* width: 100%; */
        height: 300px;
    }

    .acces {
        width: 100%;
        height: 300px;
    }

    .entete {
        height: 300px;
        /*width: 100%;*/
    }
}

.magasin-hero .bg-cover {
    background-size: cover;
    background-position: center;
}
/*.magasin-hero{*/
/*    padding: 0 15px;*/
/*}*/

.overlay-gradient {
    background: linear-gradient(to right, rgba(0, 0, 0, 0.8), transparent 70%);
    top: 0;
    left: 0;
}
.overlay-mask {
    background-color: rgba(6, 5, 2, 0.4);
    pointer-events: none;
}


#map {
    width: 100%;
}
.lead{
    font-weight: 400;
    max-width:900px;
    font-size:16px;
    line-height:29px;
}
.left-banner-magasin {
    text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.8);
}

.article-card, .ambiance-link {
    overflow: hidden;
}

.article-overlay {
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.55);
    opacity: 0;
    transition: opacity 0.4s ease;
    z-index: 2;
    text-align: center;
    color: white;
    pointer-events: none;
}

.article-card:hover .article-overlay, .ambiance-link:hover .article-overlay {
    opacity: 1;
}

.article-card:hover .card-title,
.article-card:hover .card-text {
    color: #212529 !important;
}
.form-content-magasin img {
    max-width: 50px;
}

.img-top-offcanvas{
    width: 100%;
    max-height: 300px;
    object-fit: cover;
}
.img-right{
    max-height:160px;
}
.btn-contact {
    /*background-color: #D35353;*/
    background-color: #F08561;
    color: white;
    border-radius: 999px;
    padding: 0.5rem 1.5rem;
    display: inline-flex;
    align-items: center;
    transition: background-color 0.3s ease;
    text-decoration: none;
    border: none;
}

.btn-contact i {
    font-size: 1rem;
}

.btn-contact:hover {
    background-color: #bb4444;
    color: white;
}
.page-magasin{
    font-size:20px;
    line-height:38px;
    background-color: #fff !important;
}
.page-magasin .navbar{
    line-height: 1em;
    font-size: 1em;
}
.membre-card {
    min-height: 465px;
    background: transparent;
}
.rounded-button{
    border-radius:999px;
}
.shadow-none{
    text-shadow: none;
}
/* OFFCANVAS VISITE 3D */

#offcanvasVisite3D {
    height: 100vh;
    width: 100vw !important;
    max-width: 100vw;
    border-radius: 0;
    background-color: #fff;
    color: #000;
    z-index: 1060;
    padding: 0;
    overflow-y: auto;
}

/* Animation personnalisée (slide depuis le bas) */
.offcanvas-bottom.show-from-bottom {
    transform: translateY(100%);
    transition: transform 0.4s ease-in-out;
}

.offcanvas-bottom.show-from-bottom.show {
    transform: translateY(0);
}

/* Centrage de la croix */
#offcanvasVisite3D .offcanvas-header {
    height: 60px;
}

#offcanvasVisite3D .btn-close {
    font-size: 1.5rem;
}

/* Centrage de l'iframe (elle garde sa propre taille) */
#offcanvasVisite3D .iframe-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

/* Surcharge utile si l’iframe est dans un <p> centré */
#offcanvasVisite3D .iframe-wrapper p {
    margin: 0;
    text-align: center;
}

#offcanvasVisite3D .iframe-wrapper iframe {
    max-width: 100%;
    height: auto;
    min-height:600px;
}
.bloc-video {
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
}

.video-intro {
    font-size: 40px;
    line-height: 54px;
    font-weight: 400;
    color: #000;
}

.bloc-video .rounded-button {
    border-radius: 30px;
    padding: 0.75rem 1.5rem;
}

.attente-img {
    position: relative;
}

.player-background .circle {
    width: 80px;
    height: 80px;
    background: rgba(0, 0, 0, 0.6);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: auto;
}

.play-video-cascade {
    width: 24px;
    height: 24px;
    color: white;
}

.video-caracteristique {
    max-width: 100%;
    height: auto;
}

/*progress {*/
/*    width: 100%;*/
/*    height: 4px;*/
/*    background-color: #f1f1f1;*/
/*    border: none;*/
/*    margin-top: 10px;*/
/*}*/

/*progress::-webkit-progress-bar {*/
/*    background-color: #f1f1f1;*/
/*}*/

/*progress::-webkit-progress-value {*/
/*    background-color: #d6524f;*/
/*}*/

.img-ambiance{
    height: 500px;
    max-width: 100%;
    object-fit: cover;
}
.mt-100{
    margin-top:100px;
}
.magasin-ambiance h4{
    font-size:22px;
}
.magasin-ambiance .h1-btr {
    display: block;
    font-size: 18px;
    font-weight:400;
    margin-top: .5em;
    color: rgb(126, 132, 138);
}
.text-mini{
    font-size:0.8em;
}
.text-mini h6{
    font-size:22px;
}
.min-h-600 {
    min-height: 600px;
}
.overlay-social {
    width: 40px;
    height: 40px;
    background-color: rgba(200, 200, 200, 0.4);

    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-shadow: none;
    box-shadow: none !important;
    font-size: 0.9em;
}
.card {
     background: transparent;
 }
.h-1000 {
    height: 1000px;
}
.h-500 {
    height: 500px;
}
.start-10{
    left:10px;
}

@media (max-width: 991.98px) {
    .h-1000,
    .h-500 {
        height: auto;
    }
}
.bloc-video-centre {
    max-width: 600px;
    margin: 0 auto;
}

.page-magasin .fluid-newsletter{
   background-color: #191E28 !important
}
.phone-readable {
    letter-spacing: 0.08em;
    font-variant-numeric: tabular-nums; /* chiffres bien alignés */
}
.hm-img {
    height:400px;
    object-fit: cover;
    width: 100%;
}

.zone-back-btn button, .zone-back-btn a{
    padding: 10px 30px;
    font-size: 20px;
    line-height: 29px;
}
.img-savoirfaire {
    max-height:850px;
    object-fit:cover;
    width:100%;
}
.lh-md{
    line-height:1.5 !important;
}
.page-magasin hr, .page-magasin hr.text-muted{
    color: rgba(209, 209, 209, 1) !important;
}
.icon-black {
    fill: black;
    color: black;
    vertical-align: middle;
    display: inline-flex;
    align-items: center;
}

.icon-white {
    fill: white;
    color: white;
    vertical-align: middle;
    display: inline-flex;
    align-items: center;
}
.btn-cube:hover svg path, .btn-cube:hover{
    stroke:#F08561;
    color: #F08561;
}
.btn-cube svg path{
    transition: all 0.2s ease;
}
.btn-calendar:hover svg path, .btn-calendar:hover{
    stroke:#fff;
    color: #fff;
}
.btn-calendar svg path{
    transition: all 0.2s ease;
}
.btn-calendar, .btn-cube{
    display: inline-flex;
    align-items: center;
}
.offcanvas-avis .text-body, .textoffcanvas-membre-body{
    font-size:16px;
    line-height:22px;
}
#offcanvasAvisLabel{
    font-size:32px;
}
.offcanvas-avis .titre-off-avis, .titre-off-membre{
    font-size:22px;
}
.titre-blocs, .titre-blocs h2{
    font-size:38px;
    line-height:48px;
}
#offcanvasContact ._row._checkbox-radio {
    line-height: 28px;
}
.bloc-savoirfaire{
    margin-bottom:120px;
}

.full-article-magasin-container{
    padding: 0 20px;
}
.full-article-magasin-container article.prose a{
    text-decoration: underline;
}

