@charset "utf-8";

/***********************************************************************/
/*********** THEME Custom personnalisable depuis Splendid Nice *********/
/***********************************************************************/

.color-text {
    color: var(--text);
}

/* STYLES BOUTONS */

.btn-custom,
.button {
    display: inline-block;
    border: solid 1px;
    border-radius: 0;
    cursor: pointer;
    transition: all .3s ease-in;
    padding: 1.7rem 4.5rem;
    line-height: 1.5;
    text-transform: uppercase;
}

.btn-custom.btn-p-light,
.button.btn-p-light {
    padding: .5rem 2rem;
}

.btn-custom_c {
    display: inline-block;
}

/* Bouton 2 */
.btn-custom.btn-primary {
    display: inline-block;
    background: var(--fond);
    border: 1px solid var(--color5);
    color: var(--color5);
    text-transform: uppercase;
}

.btn-custom.btn-primary:hover,
.btn-custom.btn-primary:active,
.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled):active:focus {
    background: var(--color5);
    color: #fff;
    border-color: var(--color5);
    box-shadow: none;
}

.btn-primary:focus,
.btn-primary:active:focus {
    box-shadow: none;
}

/* Bouton 1 */
#fContact .btn-outline-primary,
.btn-secondary {
    background: var(--color5);
    border: 1px solid var(--color5);
    color: #fff;
    text-transform: uppercase;
}

#fContact .btn-outline-primary:not(:disabled):not(.disabled):hover,
#fContact .btn-outline-primary:not(:disabled):not(.disabled):active,
#fContact .btn-outline-primary:not(:disabled):not(.disabled):focus,
.btn-secondary:not(:disabled):not(.disabled):hover,
.btn-secondary:not(:disabled):not(.disabled):active,
.btn-secondary:not(:disabled):not(.disabled):focus {
    background: var(--fond);
    color: var(--color5);
    border: 1px solid var(--color5);
    box-shadow: none;
}

.btn-custom.btn-transparent {
    color: var(--color3);
    background-color: transparent;
    border-color: var(--color3);
}

.btn-custom.btn-transparent:hover {
    color: #fff;
    background-color: var(--color3);
    border-color: var(--color3);
}

.btn-custom.btn-outline-primary {
    color: var(--color1);
    background: none;
    border-color: var(--color1);
    text-transform: uppercase;
}

.btn-custom.btn-outline-primary:hover,
.btn-custom.btn-outline-primary:active {
    background-color: var(--color1);
    border-color: var(--color1);
    color: #fff;
}

.btn-outline-primary:not(:disabled):not(.disabled):active,
.btn-outline-primary:not(:disabled):not(.disabled).active,
.show > .btn-outline-primary.dropdown-toggle {
    background-color: var(--color3);
    border-color: var(--color3);
}

.btn-outline-primary:not(:disabled):not(.disabled):active:focus,
.btn-outline-primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-primary.dropdown-toggle:focus,
.btn-outline-primary:focus,
.btn-outline-primary.focus {
    box-shadow: none;
}

.btn-custom.disabled, .btn-custom:disabled {
    opacity: 0.7;
    pointer-events: none;
    cursor: not-allowed;
}

.btn-custom.btn-dark {
    background: var(--color3);
    color: #fff;
}

.btn-custom.btn-dark:hover {
    background: #b49e7f;
    color: #fff;
    border-color: #b49e7f;
}

.btn-custom.btn-light {
    background: transparent;
    color: var(--color2);
    border-color: var(--color2);
    text-transform: uppercase;
}

.btn-custom.btn-light:hover {
    color: #fff;
}

.btn-lg {
    display: inline-block;
    text-transform: uppercase;
    padding: 1.5rem 5rem;
    line-height: 1.5;
}

.btn-md {
    /*display: inline-block; Supprimer pour la popin ajout panier*/
    text-transform: uppercase;
    line-height: 1.5;
}

.btn-md:hover {
    color: var(--color2);
    border-color: var(--color2);
}

.btn-sm {
    padding: 0.5rem 2rem;
    font-size: 1.2rem;
    line-height: 1;
}

.double_border_c {
    position: relative;
    text-align: center;
}

.double_border {
    position: absolute;
    top: 2.6rem;
    left: 0;
    background-color: var(--color5);
    height: .2rem;
    width: 100%;
}

.double_border_c .btn_c {
    display: inline-block;
    position: relative;
    padding-left: 4rem;
    padding-right: 4rem;
    background-color: var(--fond);
}

/* FIN STYLES BOUTONS */

/* Bouton fixed offir */
.cta-mobile-fixed a {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    display: none;
    justify-content: center;
    align-items: center;
    height: 50px;
    color: var(--color6);
    background-color: var(--color5);
    font-size: 2rem;
    border-top: .1rem solid var(--color5);
}

.cta-mobile-fixed a:hover {
    color: var(--color5);
    background-color: var(--color6);
}

.cta-mobile-fixed a p {
    margin-bottom: 0;
}

/* ICONES */
.icon-time {
    content: url("../../img/theme_custom/time.svg");
    display: inline-block;
    width: 3rem;
    height: 3rem;
    margin-bottom: -1rem;
}

.icon-calendar-bicolor {
    content: url("../../img/theme_custom/calendar.svg");
    display: inline-block;
    width: 5rem;
    height: 5rem;
    position: absolute;
    left: 30px;
    top: -33px;
}

.panier_prestations .custom_select,
.panier_boncadeau .custom_select {
    margin-top: .2rem;
    background: var(--color5);
}

.panier_prestations .product_line,
.panier_boncadeau .product_line {
    color: var(--color8);
}

.panier_prestations .reservation_block,
.panier_boncadeau .reservation_block {
    color: var(--color8);
}

.panier_prestations .reservation_block #icon-time,
.panier_boncadeau .reservation_block #icon-time {
    fill: var(--color7);
}

#panier .text-groupage {
    color: var(--text);
}

/* FIN ICONES */


/*********** CAROUSEL **************/

.bx-wrapper .bx-prev {
    left: 4rem;
}

.bx-wrapper .bx-next {
    right: 4rem;
}

.bx-wrapper .bx-pager.bx-default-pager a {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background-color: rgba(256, 256, 256, .6);
}

.main_slider .bx-wrapper .bx-pager {
    padding-top: 0;
    bottom: 9rem;
}

/* LOGIN/REGISTER */

/*#espaceClient h4,*/
/*#espaceClient label {*/
/*    color: #fff;*/
/*}*/

/*#espaceClient .bgcolor2 {*/
/*    background-color: var(--color2);*/
/*}*/

/*#espaceClient .bgcolor2 .btn-primary {*/
/*    border-color: #fff;*/
/*}*/

/*#espaceClient .bgcolor2 h1 {*/
/*    color: #fff;*/
/*}*/

/*#espaceClient .bgcolor2 .color2 a {*/
/*    color: #fff;*/
/*}*/

/* PANIER */
#panier .section_title_cart::before,
#panier .section_title_cart::after,
.step li.active .step_panier::after,
.step li.active .step_panier::before,
.step li .step_panier::before,
.step li .step_panier::after {
    content: none;
}

.step .white_arrow_before,
.step .white_arrow_after {
    display: none;
}

.step li {
    font-size: 1.5rem;
    background: var(--color5) ;
    border: 1px solid var(--color5);
    color: var(--fond);
    text-transform: uppercase;
}

.step li.active {
    background: var(--fond);
    border: 1px solid var(--color5);
    color: var(--color5);
    text-transform: uppercase;
}

#panier .section_title_cart {
    color: #fff;
    background-color: var(--color5);
}

.sticky_block h1,
#panier #espaceClientInt h1 {
    color: var(--color7);
    text-align: left;
}

.sticky_block h1 {
    line-height: 1.2;
    margin-bottom: 2.2rem;
}

#panier .icon-poubelle {
    color: var(--color7);
    font-size: 2rem;
}

#panier #espaceClientInt h3 {
    color: var(--color7);
}

#panier .title_container {
    margin-bottom: 3.9rem;
    margin-top: 2rem;
}

#panier .section_title_cart .text,
.step .marginleft {
    margin-left: 0;
}

#panier .sep_panier {
    background: var(--color5);
}

.panier_prestations .libelle_block,
.panier_boncadeau .libelle_block {
    color: var(--color7);
    font-family: var(--font2), Sans-serif;
}

#panier-recap-content .nom-presta,
.libelle_block .nom-presta {
    font-size: 2.2rem;
    line-height: 1;
    font-family: var(--font2), Sans-serif;
}

#panier-recap-content .product_line.product_line_total {
    border-top: .1rem solid #fff;
}

#panier-recap-content #commentaire {
    background-color: var(--fond);
}

#panier-recap-content input[type="text"] {
    border-color: #fff;
}

.product_line > div.prix_block {
    color: var(--color7);
}

#espaceClientInt .icon-user--or {
    font-size: 2.5rem;
    color: var(--color7);
}

.blue_sep {
    height: .1rem;
    background-color: #fff;
}

#panier-recap #panier-recap-content {
    color: #fff;
    border: none;
    background-color: var(--color5);
}

#panier-recap #panier-recap-content  form {
    color: #fff;
}

#panier-recap #panier-recap-content .h4,
#panier-recap #panier-recap-content .h5 {
    color: #fff;
}

#panier-recap-content .product_line.product_line_total .pl-2 {
    padding-left: 0 !important;
}

#panier-recap #panier-recap-content .btn-custom + div {
    line-height: 1.1;
}

/********** MENU ***********/
/********** MENU HAUT ***********/
#header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 11rem;
    color: var(--color4);
    background-color: var(--color2);
    z-index: 4;
}

#header .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
    font-size: 1.8rem;
}

.menu_launcher_c,
#header .align-items-center {
    margin-top: 1rem;
    margin-bottom: auto;
}

#header a {
    position: relative;
    color: var(--color4);
}

#header a:hover {
    opacity: .8;
}

#header .nom-spa,
#menu-desktop .nom-spa {
    display: inline-block;
    font-family: var(--font2);
    text-transform: uppercase;
}

#header .nom-spa {
    max-width: 18rem;
}

#menu-desktop .nom-spa {
    max-width: 24rem;
}

#header a .icon {
    font-size: 3rem;
    color: var(--color4);
}

#header #logo {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

#header .header-tel a {
    display: flex;
    align-items: center;
    margin-top: .5rem;
}

#header .header-tel a .icon {
    font-size: 2rem;
    margin-right: .4rem;
    color: var(--color4);
}

#header .header-tel a .text {
    color: var(--color4);
}

.menu_header {
    width: calc(100% - 60rem);
    margin-top: auto;
    margin-bottom: 1rem;
}

.menu_header ul {
    display: flex;
    justify-content: space-around;
    padding: 0;
}

#header #infos {
    display: block;
    line-height: 1;
    text-align: right;
    margin-right: 1.5rem;
    font-size: 1.4rem;
}

#header .nb_article {
    position: absolute;
    left: 10px;
    top: -2px;
    color: #fff;
    background-color: var(--color4);
    border-radius: 50%;
    width: 18px;
    height: 18px;
    line-height: 18px;
    font-size: 1.2rem;
    text-align: center;
    z-index: 1;
}

.lang-header {
    display: flex;
    flex-direction: column;
    margin-left: 2rem;
}

#header .lang-header a {
    color: var(--color8);
    font-size: 1.4rem;
    margin-right: .2rem;
}

#header .lang-header a img {
    width: 3.5rem;
    margin-bottom: .5rem;
    margin-top: .5rem;
}

.lang-header a:first-child {
    border-bottom: 1px solid var(--color4);
}

.lang-header span {
    display: none;
}

#header .lang-header a:not(.current):hover {
    color: var(--color1);
}

#espaceclientheader {
    max-width: 75px;
}

#espaceclientheader .text,
#panierheader .text {
    font-size: 1.2rem;
    margin-top: .5rem;
}

/*********** STICKY ************/
#header.sticky {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 5;
    height: 11rem;
    margin-top: 0;
    width: 100%;
}

#header.sticky .searchbar {
    top: 2px;
}

#header.sticky ~ #contenu {
    margin-top: 11rem;
}

/*******   FOOTER  ********/

#footer #qualispa {
    position: static;
    display: inline-flex;
    background-color: #fff;
    box-shadow: none;
    margin-top: 1rem;
    margin-left: 0;
    min-width: 204px;
}

#menu_footer ul li a,
#menu_footer ul li span {
    color: var(--color5);
}

#footer .footer_bot_c {
    font-size: 1.2rem;
    background-color: var(--color1);
}

#footer .footer_bot {
    display: flex;
    justify-content: space-between;
    margin-bottom: 3rem;
    padding-left: 0;
    padding-right: 0;
}

#footer .footer_bot_links,
#footer .right-col {
    width: 100%;
}

#footer .right-col {
    text-align: right;
}

#logo_f {
    display: flex;
    justify-content: center;
    min-width: 24rem;
}

#footer .footer_contact {
    color: var(--color1);
}

#footer .footer_bot_links ul {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    padding-left: 0;
    margin-left: -1.5rem;
    gap: .6rem 0;
}

#footer .footer_bot_links li {
    display: flex;
    align-items: center;
}

#footer .footer_bot_links li::after {
    content: "";
    display: block;
    height: 1rem;
    width: .1rem;
    margin-left: 1.5rem;
    background-color: var(--color3);
}

#footer .footer_bot_links li:last-child::after {
    content: none;
}

#footer .btn-primary,
#footer .btn-custom {
    position: relative;
    padding: 0;
    color: var(--color3);
    border: none;
    background-color: transparent;
}

#footer .btn-primary::after,
#footer .btn-custom::after {
    content: "";
    position: absolute;
    bottom: -.1rem;
    display: block;
    height: .1rem;
    width: 100%;
    background-color: var(--color3);
    transition: background-color .3s;
}

#footer .btn-primary:hover::after,
#footer .btn-custom:hover::after {
    background-color: transparent;
}

/* Breadcrumb */

#chemin {
    position: fixed;
    top: 11rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .4rem 1rem;
    height: 3.2rem;
    line-height: 0;
    padding-top: .4rem;
    padding-bottom: .4rem;
    z-index: 99;
}

#chemin::before {
    content: '';
    display: block;
    width: 200vw;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -50vw;
    z-index: -1;
    background-color: var(--color4);
}

#chemin .bread_link {
    font-size: 1.4rem;
    color: var(--color2);
}

#chemin a:hover {
    text-decoration: underline;
}

#chemin a::after {
    content: ">";
    display: inline-block;
    margin-left: 1rem;
    color: var(--color2);
}

/* Produits cards */

.page_catalogue .produit_card .header_pack_c {
    height: 15.1rem;
    padding: 2.2rem;
}

.produit_card .header_pack .icon {
    font-size: 4rem;
    color: var(--color7);
}

.produit_card .header_pack .icon_pack {
    width: 4rem;
    height: 4rem;
    margin-left: .2rem;
    margin-right: .2rem;
}

.produit_card .header_pack .sep_hori {
    display: block;
    height: .1rem;
    border: 1px dashed var(--color7);
    width: 25%;
    min-width: 3.5rem;
}

.produit_card .header-text {
    color: var(--color7);
    margin-top: 1rem;
    opacity: .8;
}

.produit_card > .link_block_card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    padding-bottom: 2rem;
    background-color: var(--fond);
    background-repeat: no-repeat;
    background-size: cover;
    box-shadow: 3px 3px 6px 0 #cfcfcf;
}

.produit_card > .link_block_card h2.h4 {
    color: var(--color7);
    font-family: var(--font2), sans-serif;
}

.produit_card > .link_block_card li {
    color: var(--text);
    font-size: 1.4rem;
}

.produit_card:hover > .link_block_card {
    box-shadow: 3px 3px 6px 0 var(--color5);
    filter: progid:DXImageTransform.Microsoft.Shadow(color=var(--color5), Direction=135, Strength=6);
    color: var(--color2);
}


.produit_card > .link_block_card .detail_pack_c {
    padding-left: 1rem;
    padding-right: 1rem;
    color: var(--text);
    font-size: 1.4rem;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    -webkit-box-orient: vertical;
    box-orient: vertical;
    overflow: hidden;

}

.produit_card > .link_block_card .img_c {
    margin-bottom: 2rem;
}

.produit_card .forfait-prix {
    top: -1.3rem;
    font-size: 1rem;
    color: var(--color2);
}

.produit_card .duration_presta {
    height: 20px;
    color: var(--color8);
    font-weight: 500;
}

/*Page rubriques*/

.list_rubrique_c .header_rubrique {
    text-align: center;
    margin-top: 25px;
    margin-bottom: 20px;
    line-height: 1.4;
    color: var(--text);
}

.list_rubrique_c .header_rubrique .header_rubrique_desc {
    font-size: 1.6rem;
    font-family: var(--font1), sans-serif;
}

.list_rubrique li a {
    position: relative;
    background-color: color-mix(in srgb, var(--color5) 60%, transparent);
}

.list_rubrique_c .link_rubrique {
    height: auto;
    aspect-ratio: 1;
}

.list_rubrique_c .libelle_rubrique {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    font-size: 2rem;
    background-color: color-mix(in srgb, var(--color5) 80%, transparent);
    transition: background-color .3s;
}

.list_rubrique li a:hover .libelle_rubrique {
    background-color: color-mix(in srgb, var(--color5) 60%, transparent);
}

#liste_presta .right_block .sep_hori {
    display: inline-block;
    width: 60px;
    height: 1px;
    vertical-align: middle;
    margin-right: 10px;
    border-top: 1px dashed var(--color1);
}

#liste_presta li {
    margin-bottom: .5rem;
}

#liste_presta li .btn-custom {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 4rem;
    margin-top: auto;
    margin-bottom: auto;
}

.list_rubrique {
    justify-content: center;
    padding-left: 0;
}

#liste_presta .right_block .libelle {
    text-align: left;
}

#liste_presta .right_block .slibelle {
    display: inline-block;
    font-size: 1.8rem;
    margin-right: .6rem;
}

.cat_header_menu ul {
    margin-left: 0;
    margin-right: 0;
}

.cat_header_menu li.current a {
    border-color: var(--color5);
    transition: none;
}

#liste_presta .h2 {
    color: var(--color5);
    font-weight: 700;
}

#liste_presta .right_block .presta-libelle {
    max-width: calc(100% - 105px);
}

#liste_presta .right_block .presta-libelle .h4 {
    color: var(--color7);
    font-family: var(--font2);
}

#liste_presta li form {
    min-width: 36.5rem;
    gap: 1rem;
    margin-left: 1rem;
}

/* Page présentation */
.full-width-image-wrapper {
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    width: 100vw;
}

.full-width-image-wrapper img {
    width: 100%;
    object-fit: cover;
}

#pdv_page p {
    line-height: 1.1;
}

#pdv_page .schedule {
    width: 100%;
    max-width: 45rem;
    font-size: 2rem;
    color: var(--color8);
}

#pdv_page .schedule .day {
    width: 12rem;
}

#map {
    filter: grayscale(.6);
}

#pdv_page .box img {
    aspect-ratio: 1;
    object-fit: cover;
    width: 100%;
}

#pdv_page .image-block .flex {
    display: flex;
}

#pdv_page .coordonnes-spa,
#pdv_page .coordonnes-spa a {
    font-weight: 500;
    color: var(--color7);
}

.main_image_noslider > li:nth-child(1) > figure:nth-child(1) {
    aspect-ratio: 445/485;
}

#blocimg .main_image_noslider a img {
    height: 100%;
    object-fit: cover;
}

#pdv_page.form_contact .schedule {
    margin-left: 0;
}

/* bloc prix */
#prix .sep-right,
#prix .sep-left {
    width: 10rem;
    display: inline-block;
    border-top: 1px solid var(--color5);
    background-color: var(--color5);
    height: 2px;
}

/* Page contact */
#fContact label, .label-title {
    color: var(--text);
}

#coordonnees_contact .h6 {
    color: var(--color2);
}

/* Cookies */
#cookies_content {
    z-index: 99999;
}

#cookies_content .alert_txt a {
    color: var(--color7);
}

#cookies_content .alert_close a.accepted {
    border-radius: 0;
}

.alert_close a.save {
    background-color: var(--color2);
    border-color: var(--color2);
    border-radius: 0;
}

/* panierCodesRemises */

#panierCodesRemises input[type="text"] {
    width: calc(100% - 112px);
}

#panier-recap #panier-recap-content #panierCodesRemises input[type="submit"] {
    padding: 5px 15px;
    margin-left: -6px;
    min-width: 100px;
    color: var(--color2);
    border-color: var(--color2);
    background-color: #fff;
}

/* HOME PAGE */

/* Slider */

.slider_container .textslider {
    max-width: 50%;
    max-height: 19.2rem;
    font-size: 4rem;
    font-family: var(--font2), sans-serif;
    line-height: 1.2;
    color: var(--color6);
    overflow: hidden;
    margin-bottom: 3rem;
}

.slider_container .btn_slider {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
}

.slider_container .btn_slider .btn-custom {
    width: 100%;
    text-align: center;
    color: #fff;
    background-color: color-mix(in srgb, var(--color5) 80%, transparent);
    border: none;
}

.slider_container .btn_slider .btn-custom:hover {
    background-color: color-mix(in srgb, var(--color5) 100%, transparent);
}

.slider_container .descriptionslider {
    color: #fff;
}

.slider_container .bx-viewport,
.slider_container .slider,
.slider_container .noslideshow,
.slider_container .slide {
    height: 795px !important;
}


/* Offres et bon-chèque cadeau */

#offres_block {
    margin-top: 2rem;
    margin-left: auto;
    margin-right: auto;
}

#offres_block_moment {
    display: flex;
    gap: 2rem;
}

.offres_block_moment_card {
    position: relative;
    display: flex;
    justify-content: center;
    width: calc(100% / 3);
    text-align: center;
    aspect-ratio: 600/600;
    padding-left: 2rem;
    padding-right: 2rem;
    background-size: cover;
}

.offres_block_moment_card h2 {
    color: var(--color6);
    font-size: 2.8rem;
}

.offres_block_moment_card h3,
.offres_block_moment_card p {
    color: var(--color6);
}

.offres_block_content {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    padding-top: 6rem;
}

.offres_block_moment_card .btn-abs {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: color-mix(in srgb, var(--color5) 80%, transparent);
    padding-top: 1.6rem;
    padding-bottom: 1.6rem;
}

.offres_block_moment_card .offres_block_inputs {
    display: flex;
    gap: .6rem;
    position: absolute;
    bottom: 5.8rem;
    left: 2rem;
    right: 2rem;
}

.offres_block_moment_card .offres_block_inputs input {
    padding: 0;
    text-align: center;
    height: 5rem;
    border: none;
}

.offres_block_moment_card .offres_block_inputs button {
    padding: 1.4rem 4rem;
    height: 5.2rem;
}

#bandeau_home {
    margin-left: 0;
    margin-right: 0;
    padding-bottom: 16%;
}

/* Content home page */
#description_block {
    font-size: 1.8rem;
    padding: 5rem 3.5rem 6rem;
    margin: 0 -1.5rem 5rem;
}

#description_block p {
    max-width: 750px;
    margin-left: auto;
    margin-right: auto;
    line-height: 2.2rem;
}

#description_block .h4 {
    color: var(--color1);
    letter-spacing: 1px;
}

#description_block .h4:after {
    content: "\e929";
    font-family: kfont;
    display: block;
    font-size: 9rem;
    margin-top: 2rem;
    color: var(--color1);
}

#description_block .btn-custom_c {
    margin-top: 2.5rem;
}

#home_content #produits_block h2 {
    text-align: center;
    margin-bottom: 0;
    margin-top: .5rem;
    padding-left: 1rem;
    padding-right: 1rem;
    font-weight: 500;
}

#home_content #produits_block .double_border_c {
    margin: 4rem -15px 6rem;
}

.produit_card_header:before { /*id supprimé pour la page article.tpl Attention en fonction du nombre de card sur chaque ligne, 3 ou 4*/
    display: block;
    content: '';
    position: absolute;
    top: 22px;
    left: 25px;
    width: 70px;
    height: 70px;
}

/* Home Section univers */
.section-univers {
    max-width: 1140px;
    margin-left: auto;
    margin-right: auto;
}

.title_univers {
    margin-bottom: 2rem;
}

.title_univers .double_border {
    top: 2rem;
}

#univers_block .double_border {
    top: 2.2rem;
    left: -4rem;
    right: -4rem;
    width: calc(100% + 8rem);
}

#univers_block_content .cover_img .bg_degrade {
    display: flex;
    width: 100%;
    text-align: center;
    background: rgba(255, 255, 255, .1);
}

#univers_block_content .cover_img .text {
    font-size: 2.8rem;
    font-family: var(--font2), sans-serif;
    margin: auto;
    padding: 2rem;
    color: var(--color6);
    line-height: 1;
}

#univers_block_content .cover_img {
    height: 100%;
    aspect-ratio: 1;
}

#univers_block_content .bx-pager {
    display: none;
}

/* Home section actus + avis */

.block_actus_c .actus_bordered {
    position: relative;
    text-align: center;
    width: 100%;
    padding-top: 1.5rem;
    padding-bottom: 3rem;
    box-shadow: 3px 3px 6px 0 #cfcfcf;
}

.block_actus_c .bx-wrapper {
    box-shadow: none;
    height: 15.6rem;
    margin-bottom: 20px;
}

.block_actus_c .actu_spe .text {
    margin-top: 4rem;
    height: 62px;
    overflow: hidden;
}

.block_actus_c .bx-wrapper .icon-arrow-prec,
.block_actus_c .bx-wrapper .icon-arrow-next {
    color: var(--color5);
}

.note_avis > p.color1 {
    margin-right: 1rem;
    margin-bottom: 0;
    color: var(--color1);
}

.star_avis {
    width: 20px;
    margin: 0 1px;
}

#espaceClientLogin,
#espaceClientInscription,
#espaceClientPremiereConnexion {
    background-color: var(--color5);
    color: #fff;
}

#espaceClientLogin .btn-custom.btn-primary,
#espaceClientInscription .btn-custom.btn-primary,
#espaceClientPremiereConnexion .btn-custom.btn-primary {
    border: .1rem solid var(--fond);
}

#espaceClientLogin .h2,
#espaceClientInscription .h2,
#espaceClientPremiereConnexion .h2,
#espaceClientLogin .h2,
#espaceClientInscription .h2,
#espaceClientPremiereConnexion .h2,
#espaceClientLogin .h5,
#espaceClientInscription .h5,
#espaceClientPremiereConnexion .h5 {
    color: #fff;
}

#espaceClientPremiereConnexion .custom-form label,
#espaceClientInscription .custom-form label,
#espaceClientLogin .custom-form label {
    color: #fff;
    text-transform: uppercase;
}

#home_backoffice .btn-custom.btn-primary.btn-lg {
    display: flex;
    padding: 0.5rem 3rem;
    height: 65px;
    line-height: 1.2;
    font-size: 2rem;
    transition: all .3s;
}

#formLogin a:hover {
    color: var(--color3);
}

/* Page article */
#fiche .btnpanier .text {
    letter-spacing: 0;
}

#fiche .bloc_description {
    padding: 0;
}

#fiche #desproduit {
    text-align: center;
}

#fiche #desproduit .detail_pack {
    max-width: 70rem;
    font-size: 1.8rem;
    margin-left: auto;
    margin-right: auto;
    margin-top: 3rem;
    padding-left: 0;
}

#article #quantite {
    width: 100%;
    max-width: 20rem;
    margin-bottom: 2rem;
}

#article #quantite select {
    font-size: 1.6rem;
    text-align: center;
}

#fiche .bloc_tab {
    max-width: none;
}

#fiche .bloc_tab a{
    color: var(--text);
}

#fiche #contenufiche {
    text-align: center;
    margin-top: 10rem;
}

#fiche #contenufiche .select_forfait {
    top: -8rem;
}

#fiche #contenufiche .select_forfait #inpQty {
    font-size: 1.4rem;
}

#article .nav-tabs .nav-link {
    color: var(--color7);
    font-weight: 500;
}

#article .nav-tabs .nav-item.show .nav-link,
#article .nav-tabs .nav-link.active {
    color: var(--color7);
    border-bottom-color: var(--color5);
}

#article .nav-tabs {
    border-bottom-color: var(--color5);
}

#fiche .personnalisation .h1 {
    color: var(--color8);
    text-align: left;
}

#fiche #contenufiche .select_forfait .custom_select,
#fiche #contenufiche #quantite .custom_select {
    background-color: var(--fond);
    max-width: 30rem;
}

#fiche #contenufiche .select_forfait .custom_select::after,
#fiche #contenufiche #quantite .custom_select::after {
    color: var(--color5);
    top: -.2rem;
    right: -.2rem;
    z-index: 1;
}


#fiche #inpQty,
#fiche #inpQtyProduit {
    border: .1rem solid var(--color5);
    color: var(--color5);
    margin-bottom: 1rem;
    margin-left: 0;
    text-align: left;
}

#contenufiche #btn-acheter {
    justify-content: center;
    margin-bottom: 2rem;
    gap: 1rem;
}

#contenufiche #btn-acheter .btn-custom.btn-secondary {
    width: 100%;
    padding: .8rem;
    line-height: 1.1;
    height: 6rem;
    margin: 0 auto;
}

#fiche #desproduit .list_declinaison .link_declinaison {
    color: #fff;
    background-color: var(--color5);
    border-color: var(--color5);
}

#fiche #desproduit .list_declinaison.current .link_declinaison,
#fiche #desproduit .list_declinaison.current:hover .link_declinaison,
#fiche #desproduit .list_declinaison:hover .link_declinaison {
    color: var(--color5);
    background-color: #fff;
    border-color: var(--color5);
}

/* Espace collaborateur */
.bloc_cagnotte,
.planning_c .planning_card.current,
.planning_c .liste_horaires .planning_card.current::after {
    background-color: var(--color5);
}

.planning_c .liste_horaires {
    border: 3px solid var(--color5);
}

/**************** MEDIA QUERY ***********************/

@media screen and (max-width: 1200px) {

    .icon-sep-right, .icon-sep-left {
        font-size: 0.3rem;
    }

    .slider_container .bx-viewport,
    .slider_container .slider,
    .slider_container .noslideshow,
    .slider_container .slide {
        height: 515px !important;
    }

    .menu_header {
        width: calc(100% - 55rem);
    }

    .offres_block_moment_card .offres_block_inputs {
        left: 1rem;
        right: 1rem;
    }

}


@media screen and (max-width: 1024px) {
}

@media screen and (max-width: 991px) {

    #header.sticky,
    #header {
        height: 8rem;
    }

    #header.sticky ~ #contenu {
        margin-top: 8rem;
    }

    #header #infos {
        display: none;
    }

    .tablette-only {
        display: block;
    }

    .slider_container .bx-viewport,
    .slider_container .slider,
    .slider_container .noslideshow,
    .slider_container .slide {
        height: 360px !important;
    }

    .main_slider .bx-wrapper .bx-pager {
        bottom: 5rem;
    }

    .slider_container .textslider {
        font-size: 4rem;
    }

    .slider_container .descriptionslider {
        display: none;
    }

    #home_content #offres_block {
        margin-bottom: 4rem;
        gap: 2rem;
    }

    #liste_presta {
        margin-left: 0;
        margin-right: 0;
    }

    #liste_presta .cta-liste {
        margin-left: auto;
        width: 100%;
    }

    .footer_bot_links {
        margin-bottom: 2rem;
    }

    #panierCodesRemises input[type="text"] {
        width: calc(100% - 110px);
        padding-left: 3px;
    }

    #liste_presta li {
        border-bottom: none;
        margin-bottom: 1.5rem;
    }

    #liste_presta li form {
        gap: .8rem;
    }

    #liste_presta li form .space-btn {
        display: none;
    }

    #liste_presta li .btn-custom.btn-produit {
        width: 26rem;
        margin-left: auto;
    }

    #blocimg .main_image_noslider a img {
        width: calc(100% - 8rem);
        margin-left: 4rem;
        margin-right: 4rem;
        aspect-ratio: 1;
    }

    .main_image_noslider > li:nth-child(1) > figure:nth-child(1) {
        aspect-ratio: auto;
    }

    #prix .sep-right,
    #prix .sep-left {
        width: 30%;
    }

    #offres_block_moment {
        flex-direction: column;
    }

    .offres_block_moment_card {
        width: 100%;
        max-width: 40rem;
        margin-left: auto;
        margin-right: auto;
    }

}

@media screen and (max-width: 768px) {

    #home_content #offres_block {
        flex-wrap: wrap;
    }

    .bx-wrapper .bx-pager {
        bottom: 6%;
    }

    .mobile-only {
        display: block;
    }

    /* ----------------------------------------------------------------- */
    /* HOME
    /* ----------------------------------------------------------------- */
    .slider_container .bx-viewport {
        height: 360px !important;
    }

    .slider_container .card_slider {
        padding-right: 6rem;
    }

    .slider_container .textslider {

        max-width: 40rem;
    }

    .bx-wrapper .bx-prev {
        left: 15px;
    }

    .bx-wrapper .bx-next {
        right: 15px;
    }

    .block_actus_c .actus_bordered {
        margin-bottom: 2.5rem;
    }

    .produit_card .link_block_card .h3 {
        font-size: 2.5rem;
    }

    .planning_c .liste_jours .planning_card {
        border-bottom: 1px solid rgba(214, 185, 129, 0.7);
    }

    .btn-custom.btn-primary,
    .btn-custom.btn-secondary {
        padding: 0.8rem 3.2rem;
    }

    .double_border {
        top: 2rem;
    }

    #liste_presta li {
        padding-right: 0;
    }

    #liste_presta li form {
        flex-direction: row;
        flex-wrap: nowrap;
        width: calc(100% + .8rem);
        min-width: 0;
        gap: .4rem;
        margin-left: -.4rem;
        margin-right: -.4rem;
    }

    #liste_presta li .btn-custom {
        height: auto;
        width: 100%;
        max-width: 50%;
        outline: none;
    }

    #liste_presta .right_block .presta-libelle .mobile-link-product {
        margin-top: 10px;
        text-align: left;
    }

    #liste_presta li .btn-custom.btn-produit {
        display: none;
    }

    #liste_presta .right_block .presta-libelle .h4 {
        font-size: 2.2rem;
    }

    .produit_card > .link_block_card {
        padding-top: 3rem;
    }

    .produit_card > .link_block_card .img_c {
        aspect-ratio: 1;
        height: auto;
        width: calc(100% - 6rem);
        margin-left: auto;
        margin-right: auto;
    }

    .produit_card > .link_block_card .btn-custom.btn-primary {
        width: 100%;
    }

    .list_rubrique_c .header_rubrique {
        font-size: 2.5rem;
    }

    .cat_header_menu {
        margin-top: 2rem;
    }

    #w_container.pdv_page_c #chemin {
        margin-left: 0;
        margin-right: 0;
    }

    #w_container.pdv_page_c {
        padding: 0;
    }
}

@media only screen and (max-width: 575px) {

    #univers_block_content .bx-pager {
        display: block;
    }

    .lang-header {
        display: none;
    }

    #espaceclientheader .text,
    #panierheader .text {
        font-size: 1rem;
    }

    #header a .icon {
        font-size: 2.4rem;
    }

    #logo_f {
        display: none;
    }

    #footer .right-col {
        text-align: center;
    }

    .link-footer-facebook,
    .link-footer-instagram {
        position: absolute;
        bottom: -46px;
    }

    .link-footer-facebook {
        left: 30px;
    }

    .link-footer-instagram {
        right: 30px;
    }

    #footer .footer_bot .footer_bot_links {
        position: relative;
    }

    #footer .footer_bot_links li.link-footer-facebook::after,
    #footer .footer_bot_links li.link-footer-instagram::after {
        display: none;
    }

    #footer .footer_bot_links a:has(.icon) {
        margin-left: 0;
        margin-right: 0;
    }

    #footer .footer_bot_links a .icon {
        font-size: 20px;
    }

    .page_home .cta-mobile-fixed a,
    .page_news .cta-mobile-fixed a,
    .page_pdv .cta-mobile-fixed a,
    .page_cms .cta-mobile-fixed a,
    .page_avis .cta-mobile-fixed a {
        display: flex;
    }

    .btn-lg {
        padding: 1.5rem 3rem;
    }

    .slider_container .bx-viewport,
    .slider_container .slider,
    .slider_container .noslideshow, .slider_container .slide {
        height: 200px !important;
    }

    .slider_container .card_slider {
        padding-right: 7rem;
    }

    #description_block {

        margin-left: 1rem;
        margin-right: 1rem;
    }

    #description_block a {
        width: auto;
    }

    .block_actus_c .bx-wrapper .bx-prev, .block_actus_c .bx-wrapper .bx-next {
        display: block;
    }

    .produit_card .link_block_card h3,
    .produit_card .link_block_card .h3 {
        height: auto;
    }

    #btn-acheter > div::after {
        content: none;
    }

    #fiche #contenufiche form {
        display: flex;
        flex-direction: column;
    }

    #contenufiche #btn-acheter {
        margin-top: 2rem;
    }

    #contenufiche #panier {
        order: -1;
    }

    #fiche .select_forfait.nb1btn,
    #fiche .select_forfait.nb2btn,
    #fiche .select_forfait.nb3btn,
    #btn-acheter > div.nb1btn,
    #btn-acheter > div.nb2btn,
    #btn-acheter > div.nb3btn {
        width: calc(50% - .5rem);
    }

    #contenufiche .select_forfait_c {
        display: flex;
        width: 100% !important;
    }

    #fiche #contenufiche .select_forfait {
        margin-left: 0;
    }

    #contenufiche .select_forfait_c > * {
        width: calc(50% - .5rem) !important;
    }

    #contenufiche #btn-acheter .btn-custom.btn-primary {
        font-size: 1.3rem;
    }

    #fiche #contenufiche .select_forfait label {
        display: none;
    }

    .list_rubrique li:nth-child(4n + 2)::after {
        content: none;
    }

    .list_rubrique li:nth-child(4n + 3)::before {
        content: none;
    }

    #offres_block_moment {
        gap: 1rem;
    }

}

@media only screen and (max-width: 400px) {
    #fiche .select_forfait.nb1btn,
    #fiche .select_forfait.nb2btn,
    #fiche .select_forfait.nb3btn,
    #btn-acheter > div.nb1btn,
    #btn-acheter > div.nb2btn,
    #btn-acheter > div.nb3btn,
    #contenufiche .select_forfait_c > * {
        width: 100%!important;
    }

    #contenufiche .select_forfait_c {
        flex-direction: column;
        max-width: 30rem;
    }
}
