:root {
    /* COULEUR */
    --color-principal: #f2f2f2; /* Couleur principal */

    --color-btn-menu: #686868; /* Couleur pour la plupart des bouton */
    --color-btn-menu-press: #1A1A1A; 
    --color-btn-disable: #C9C9C9;

    --color-shadow: #DCDCDC;
    --color-base-shopping: #ECECEC;

    --color-contour-search: #EBE9E9;
    --color-fontsearch: #ffffff;
    --color-search: #AAAAAA;
    --color-champ-placeholder: #686868;
    --color-champ: #1A1A1A;

    --color-button2: #ECEBEB;
    --color-button2-press: #3C3E41;

    --color-textGrandPage: #1A1A1A;

    --radius-shadow: 20px;
    --round-corner1: 3px;
    --round-corner2: 30px;

    --promo-background: #1A1A1A;
    --promo-color: #FFFFFF;

    --voirproduit-background: #1A1A1A;
    --voirproduit-color: #FFFFFF;

    --produit-nom-color: #AAAAAA;
    --produit-prix-color: #1A1A1A;
    --produit-prix-ancien-color: #AAAAAA;

    --font-family: "Poppins";

    --grid-margin: 24px;
    --grid-max-width: 1280px;

    --logo-webshop: url('../Images/logo_organica.png');
    --logo-webshop-footer: url('../Images/logo_organica.png');
    --logo-404: url('../Images/404.svg');
    --image-header: url('../Images/image_header.png');

    --footer-bar-color: #DCDCDC;
    --footer-background: #F2F2F2;
    --footer-text-color: #686868;
    --footer-title-color: #1A1A1A;

    --footer-follow-background: #1A1A1A;
    --footer-follow-color: #FFFFFF;

    --padding-page1: 8vw;
    --padding-page2: 18.3vw;

    --description-produit-color: #838383;
    --selector-color: #686868;
    --selector-background: #FFFFFF;
    --selector-press: #1A1A1A;
    --selector-border-color: #DCDCDC;
    --selector-color-label: #838383;

    --shop-background: #F5F5F5;

    /* MODAL */
    --modal-color-titre: #1A1A1A;
    --modal-color-close: #AAAAAA;
    --modal-color-border: #ECECEC;
    --modal-border-color-clair: #DCDCDC;
    --modal-color-clair: #686868;
    --modal-background-clair-hover: #3C3E41;
    --modal-color-clair-hover: #F2F2F2;
    --modal-color-produit: #686868;
    --modal-color-produit2: #838383;

    --icone-rond-background: #1A1A1A;
    --icone-rond-color: #FFFFFF;
    --icone-rond-background-clair: #F5F5F5;
    --icone-rond-color-clair: #686868;

}

/*---------- FONT_FAMILY ---------- */

.poppins-thin {
    font-family: "Poppins", sans-serif;
    font-weight: 100;
    font-style: normal;
}
.poppins-extralight {
    font-family: "Poppins", sans-serif;
    font-weight: 200;
    font-style: normal;
}
.poppins-light {
    font-family: "Poppins", sans-serif;
    font-weight: 300;
    font-style: normal;
}
.poppins-regular {
    font-family: "Poppins", sans-serif;
    font-weight: 400;
    font-style: normal;
}
.poppins-medium {
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    font-style: normal;
}
.poppins-semibold {
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    font-style: normal;
}
.poppins-bold {
    font-family: "Poppins", sans-serif;
    font-weight: 700;
    font-style: normal;
}
.poppins-extrabold {
    font-family: "Poppins", sans-serif;
    font-weight: 800;
    font-style: normal;
}
.poppins-black {
    font-family: "Poppins", sans-serif;
    font-weight: 900;
    font-style: normal;
}
.poppins-thin-italic {
    font-family: "Poppins", sans-serif;
    font-weight: 100;
    font-style: italic;
}
.poppins-extralight-italic {
    font-family: "Poppins", sans-serif;
    font-weight: 200;
    font-style: italic;
}
.poppins-light-italic {
    font-family: "Poppins", sans-serif;
    font-weight: 300;
    font-style: italic;
}
.poppins-regular-italic {
    font-family: "Poppins", sans-serif;
    font-weight: 400;
    font-style: italic;
}
.poppins-medium-italic {
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    font-style: italic;
}
.poppins-semibold-italic {
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    font-style: italic;
}
.poppins-bold-italic {
    font-family: "Poppins", sans-serif;
    font-weight: 700;
    font-style: italic;
}
.poppins-extrabold-italic {
    font-family: "Poppins", sans-serif;
    font-weight: 800;
    font-style: italic;
}
.poppins-black-italic {
    font-family: "Poppins", sans-serif;
    font-weight: 900;
    font-style: italic;
}

/* -------------------- HEADER - MENU -------------------- */
body {
    margin: 0;
}
.header-navbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 104px; /*100%*/
    background-color: var(--color-principal);
}
.header-navbar-col {
    width: 100%;
    display: flex;
    padding: 0 var(--padding-page1); /* espace gauche/droite responsive */
    align-items: center;     /* centre verticalement */
    justify-content: space-between;
    margin-top: 27px;
    margin-bottom: 27px;
}
.logo-navbar {
    width: 127px;      /* largeur du logo */
    height: 28px;       /* hauteur du logo */
    background-image: var(--logo-webshop);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.logo-navbar .logo-principal{
    display: block;
    width: 100%;
    height: 100%;
}

.navbar-buttons {
    display: flex;
    gap: 40px;
}

.navbar-buttons {
    background: none;
    border: none;
}
.navbar-buttons .elem-menu{
    display: flex;
    align-items: center;
}
.navbar-buttons .elem-menu a:hover, .menu-burger-items .elem-menu a:hover {
    color: var(--color-btn-menu-press);
}
.elem-menu a {
    text-decoration: none;
    color: var(--color-btn-menu);
    font-family: var(--font-family);
    font-weight: 500;
    font-style: normal;
    font-size: 16px;
    transition: 400ms ease-in-out;
    cursor: pointer;
}

.navbar-icons {
    display: flex;
    gap: 25px;
    align-items: center;     /* centre verticalement */
}

.nomprenomwebshop {
    color: var(--color-btn-menu);
    font-family: var(--font-family);
    font-weight: 500;
    cursor: default;
    font-size: 15px;
}

/* On peut retrouver ses icons dans "Mon profil" aussi mais sans le hover (car gérer autre part) */
.backicone-menu{
    display: flex;
    width: 20px;
    height: 20px;
    background-repeat: no-repeat;
    background-position: center center;
    cursor: pointer;
}
.backicon-burger {
    width: 30px;
    height: 30px;
}

.icone-menu {
    background-color: var(--color-btn-menu);
    width: 100%;
    height: 100%;
    margin: auto;
    transition: 400ms ease-in-out;
}
.navbar-icons .icone-menu:hover {
    background-color: var(--color-btn-menu-press);
}
.link-icon-menu {
    width: 100%;
    height: 100%;
    text-decoration: none;
}

/* AUTRE ICON */
.backicone-confirm{
    display: flex;
    min-height: 50px;
    min-width: 50px;
    width: 50px;
    height: 50px;
    background-repeat: no-repeat;
    background-position: center center;
    background-color: var(--color-textGrandPage);
    border-radius: 50px;
}
.icone-menu-confirm {
    background-color: #FFFFFF;
    width: 52%;
    height: 52%;
    margin: auto;
}

/* -------------------- Icones -------------------- */
.user{
    -webkit-mask: url(../Images/Icons/user.svg) no-repeat center center /100% 100%;
    mask: url(../Images/Icons/user.svg) no-repeat center center /100% 100%;
}
.whishlist{
    -webkit-mask: url(../Images/Icons/whishlist.svg) no-repeat center center /100% 100%;
    mask: url(../Images/Icons/whishlist.svg) no-repeat center center /100% 100%;
}
.panier{
    -webkit-mask: url(../Images/Icons/panier.svg) no-repeat center center /100% 100%;
    mask: url(../Images/Icons/panier.svg) no-repeat center center /100% 100%;
}
.burger-menu{
    -webkit-mask: url(../Images/Icons/burger-menu-btn.svg) no-repeat center center /100% 100%;
    mask: url(../Images/Icons/burger-menu-btn.svg) no-repeat center center /100% 100%;
}
.confirm{
    -webkit-mask: url(../Images/Icons/confirm.svg) no-repeat center center /100% 100%;
    mask: url(../Images/Icons/confirm.svg) no-repeat center center /100% 100%;
}
.search{
    -webkit-mask: url(../Images/Icons/search.svg) no-repeat center center /100% 100%;
    mask: url(../Images/Icons/search.svg) no-repeat center center /100% 100%;
}
.emailsend {
    -webkit-mask: url(../Images/Icons/emailsend.svg) no-repeat center center /100% 100%;
    mask: url(../Images/Icons/emailsend.svg) no-repeat center center /100% 100%;
}
.vue-grille{
    -webkit-mask: url(../Images/Icons/vue-grille.svg) no-repeat center center /18px 18px;
    mask: url(../Images/Icons/vue-grille.svg) no-repeat center center /18px 18px;
}
.vue-ligne{
    -webkit-mask: url(../Images/Icons/vue-ligne.svg) no-repeat center center /18px 18px;
    mask: url(../Images/Icons/vue-ligne.svg) no-repeat center center /18px 18px;
}
.flechedrop{
    -webkit-mask: url(../Images/Icons/drop-menu.svg) no-repeat center center /15px 8px;
    mask: url(../Images/Icons/drop-menu.svg) no-repeat center center /15px 8px;
}
.icon-whishlist {
    -webkit-mask: url(../Images/Icons/whilist-prod.svg) no-repeat center center /18px 17px;
    mask: url(../Images/Icons/whilist-prod.svg) no-repeat center center /18px 17px;
}
.wishlist-icon:hover .icon-whishlist {
    -webkit-mask: url(../Images/Icons/whilist-produit2.svg) no-repeat center center /18px 17px;
    mask: url(../Images/Icons/whilist-produit2.svg) no-repeat center center /18px 17px;
}
.icocommande{
    -webkit-mask: url(../Images/Icons/commande.svg) no-repeat center center /100% 100%;
    mask: url(../Images/Icons/commande.svg) no-repeat center center /100% 100%;
}
.icodeconnexion{
    -webkit-mask: url(../Images/Icons/deconnexion.svg) no-repeat center center /100% 100%;
    mask: url(../Images/Icons/deconnexion.svg) no-repeat center center /100% 100%;
}
#sedeconnecterbtn .icodeconnexion {
    width: 18px;
    height: 18px;
}

.footer-social-networks.facebook {
    -webkit-mask: url(../Images/Icons/facebook.svg) no-repeat center center;
    mask: url(../Images/Icons/facebook.svg) no-repeat center center;
}
.footer-social-networks.tiktok {
    -webkit-mask: url(../Images/Icons/tiktok.svg) no-repeat center center;
    mask: url(../Images/Icons/tiktok.svg) no-repeat center center;
}
.footer-social-networks.instagram {
    -webkit-mask: url(../Images/Icons/instagram.svg) no-repeat center center;
    mask: url(../Images/Icons/instagram.svg) no-repeat center center;
}
.footer-social-networks.xancientwitter {
    -webkit-mask: url(../Images/Icons/x.svg) no-repeat center center;
    mask: url(../Images/Icons/x.svg) no-repeat center center;
}
.footer-social-networks.linkedin {
    -webkit-mask: url(../Images/Icons/linkedin.svg) no-repeat center center;
    mask: url(../Images/Icons/linkedin.svg) no-repeat center center;
}
.closemodal {
    -webkit-mask: url(../Images/Icons/close-modal.svg) no-repeat center center;
    mask: url(../Images/Icons/close-modal.svg) no-repeat center center;
}

.remove {
    -webkit-mask: url(../Images/Icons/remove.svg) no-repeat center center;
    mask: url(../Images/Icons/remove.svg) no-repeat center center;
}
.edit {
    -webkit-mask: url(../Images/Icons/edit.svg) no-repeat center center;
    mask: url(../Images/Icons/edit.svg) no-repeat center center;
}
.panier-wishlist {
    -webkit-mask: url(../Images/Icons/panier.svg) no-repeat center center /20px 18px;
    mask: url(../Images/Icons/panier.svg) no-repeat center center /20px 18px;
}

/* -------------------- Barre de recherche -------------------- */
.navbar-search-container {
    display: flex;
    align-items: center;
}
.navbar-search-bar {
    position: relative;
    width: 275px;
    height: 50px;
    background: var(--color-fontsearch);
    border: 1px solid var(--color-contour-search);
    border-radius: 100px;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    transition: border 300ms ease-in-out;
    padding: 0 25px;
}
.navbar-search-bar input {
    flex: 1;
    height: 100%;
    border: none;
    outline: none;
    font-size: 14px;
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-search);
    background-color: transparent;
}
.navbar-search-bar input::placeholder {
    color: var(--color-search); 
}
.navbar-search-bar.focused  {
    border: 1px solid var(--color-btn-menu-press);
}
.navbar-search-bar.filled {
    border: 1px solid var(--color-contour-search);
}

.navbar-search-bar .backsearch-menu{
    display: flex;
    width: 20px;
    height: 20px;
    background-repeat: no-repeat;
    background-position: center center;
    cursor: pointer;
}
.navbar-search-bar .icone-menu {
    background-color: var(--color-search);
    width: 100%;
    height: 100%;
    margin: auto;
    transition: 400ms ease-in-out;
}

/* -------------------- HEADER Après Menu -------------------- */
.afterHeader-page {
    display: flex;
    height: 326px;
    background-color: var(--color-principal);
    padding: 104px var(--padding-page1) 0 var(--padding-page1);
}
.afterHeader-page .afterHeader-page-container {
    display: flex;
    flex-direction: row;
    width: 100%;
}
.afterHeader-page .containerTextHeader {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 475px;
    gap: 25px;
}
.afterHeader-page .textDescriptionPage {
    display: flex;
    font-family: var(--font-family);
    font-weight: 600;
    font-style: normal;
    font-size: 50px;
    text-align: left;
    color: var(--color-textGrandPage);
    align-items: center;
}

.afterHeader-page .btnDetailHeader {
    background: #FFFFFF 0% 0% no-repeat padding-box;
    box-shadow: 0px 0px 30px var(--color-button2);
    border: 1px solid var(--color-shadow);
    border-radius: 25px;
    width: 185px;
    transition: 400ms ease-in-out;
    cursor: pointer;
}
.afterHeader-page .btnDetailHeader .textDetailHeader {
    text-align: center;
    font-family: var(--font-family);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    padding-top: 12px;
    padding-bottom: 11px;
    color: var(--color-btn-menu);
    transition: 400ms ease-in-out;
}

.afterHeader-page .btnDetailHeader:hover {
    background-color: var(--color-button2-press);
}
.afterHeader-page .btnDetailHeader:hover .textDetailHeader {
    color: var(--color-principal);
}

.afterHeader-page .containerImgHeader{
    width: calc(100% - 475px);
    display: flex;
    justify-content: center;
}
.afterHeader-page .imgHeader{
    background: var(--image-header) no-repeat bottom right;
    width: 100%;
    margin-right: 3vw;
}

/* -------------------- MAIN SHOPPING -------------------- */
.main-shopping {
    display: flex;
    /*padding: 0 12vw;*/
    margin-top: 125px;
    flex-direction: row;
    margin-left: auto;
    margin-right: auto;
    max-width: calc(var(--grid-max-width) - var(--grid-margin) * 2);
    gap: 40px;
}
.shopping-left {
    width: 275px;
}

.shopping-search-container{
    display: flex;
    align-items: center;
}

.shopping-search {
    position: relative;
    width: 275px;
    height: 50px;
    background: var(--color-fontsearch);
    border-radius: 100px;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    transition: border 300ms ease-in-out;
    padding: 0 25px;
    box-shadow: 0px 0px 30px var(--color-base-shopping);
    border: 1px solid var(--color-base-shopping);
}
.shopping-search input {
    flex: 1;
    height: 100%;
    border: none;
    outline: none;
    font-size: 14px;
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-search);
    background-color: transparent;
}
.shopping-search input::placeholder {
    color: var(--color-search); 
}
.shopping-search.focused  {
    border: 1px solid var(--color-champ);
}
.shopping-search.filled {
    border: 1px solid var(--color-base-shopping);
}

.shopping-search .backsearch-menu{
    display: flex;
    width: 20px;
    height: 20px;
    background-repeat: no-repeat;
    background-position: center center;
    cursor: pointer;
}
.shopping-search .icone-menu {
    background-color: var(--color-btn-menu);
    width: 100%;
    height: 100%;
    margin: auto;
    transition: 400ms ease-in-out;
}


/* -------------------- PARTIE DE DROITE / SHOPPING -------------------- */
.shopping-right {
    display: flex;
    width: 100%;
    flex-direction: column;
}

.shopping-vue-haut {
    display: flex;
    align-content: flex-start;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.shopping-btn-vue-container {
    display: flex;
    align-items: center;
    gap: 10px;
}

.shopping-btn-vue {
    display: flex;
    width: 40px;
    height: 40px;
    background-repeat: no-repeat;
    background-position: center center;
    cursor: pointer;
    background-color: #FFFFFF;
    border-radius: var(--round-corner1);
    border: 1px solid var(--color-base-shopping);
}
.shopping-btn-vue.actif {
    background-color: var(--color-base-shopping);
}
.shopping-btn-vue .icone-shop {
    background-color: var(--color-btn-menu);
    width: 100%;
    height: 100%;
    margin: auto;
}

/* TRIER PAR */
.shopping-drop {
    position: relative;
    display: inline-block;
    font-family: var(--font-family);
}
.shopping-drop-toggle {
    background: #FFFFFF;
    border: 1px solid var(--color-base-shopping);
    border-radius: 25px;
    padding: 13.5px 25px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 5px;
    color: var(--color-btn-menu);
    font-size: 14px;
    font-family: var(--font-family);
}
.shopping-drop-menu {
    position: absolute;
    top: calc(100% + 5px);
    border: 1px solid var(--color-base-shopping);
    left: 0;
    background-color: #FFFFFF;
    border-radius: 20px;
    min-width: 230px;
    z-index: 1000;
    display: none;
    padding-top: 7.5px;
    padding-bottom: 7.5px;
}
.shopping-drop.actif .shopping-drop-menu {
    display: block;
}
.shopping-drop-item {
    padding: 7.5px 15px;
    font-size: 14px;
    color: var(--color-btn-menu);
    cursor: pointer;
    white-space: nowrap;
}
.shopping-drop-item:hover {
    background-color: var(--shop-background);
}
.shopping-drop-item.actif {
    background-color: var(--shop-background);
}
.drop-fondicon {
    display: flex;
    width: 15px;
    height: 8px;
    background-repeat: no-repeat;
    background-position: center center;
    cursor: pointer;
    margin-left: 10px;
}
.drop-fondicon .drop-icon {
    background-color: var(--color-btn-menu);
    width: 100%;
    height: 100%;
    margin: auto;
}
/* -------------------- CARD -------------------- */

.shop-vue {
    display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-column-gap: 40px;
	grid-row-gap: 40px;
	position: relative;
    margin-top: 40px;
}
.shop-vue.liste-vue {
    display: flex;
    flex-direction: column;
    gap: 40px;
}
.shop-product-image-container {
    position: relative;
    overflow: hidden;
    border-radius: var(--round-corner1);
    background: var(--color-base-shopping);
    width: 275px;
    min-width: 275px;
    height: 300px;
    min-height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.shop-vue .shop-product-card {
    transition: transform 0.3s ease, opacity 0.3s ease, margin 0.3s ease;
}
.shop-vue.liste-vue .shop-product-card {
    display: flex;
    gap: 40px;
}
.shop-vue.liste-vue .shop-product-info{
    margin-top: 0;
}
.shop-vue.liste-vue .shop-product-name {
    color: var(--color-textGrandPage);
    font: normal normal normal 32px/48px var(--font-family);
}
.shop-vue .shop-product-description {
    display: none;
}
.shop-vue.liste-vue .shop-product-description {
    display: block;
    margin-top: 25px;
    font: normal normal normal 16px/35px var(--font-family);
    color: var(--description-produit-color);
}
.shop-vue .shop-product-btnliste {
    display: none;
}
.shop-vue.liste-vue .shop-product-btncard {
    display: none;
}
.shop-vue.liste-vue .shop-product-btnliste {
    display: flex;
    flex-direction: row;
    margin-top: 30px;
    justify-content: left;
    align-items: flex-end;
    gap: 10px;
}
.shop-vue.liste-vue .wishlist-icon-list {
    position: relative;
    bottom: 0;
    right: 0;
    opacity: 1;
}

.shop-product-card {
  transition: all 0.3s ease;
}
.shop-vue.transition-out .shop-product-card{
    opacity: 0;
    transform: translateX(20px);
    pointer-events: none;
    animation: 300ms ease-in-out;
}

/* Animation d’entrée */
.shop-vue.transition-in .shop-product-card{
    opacity: 0;
    transform: translateX(-20px);
    animation: fadeInUp 300ms ease-in-out forwards;
}

@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


.shop-product-image {
    height: 100%;
    width: auto;
    max-height: 245px;
    display: block;
    transition: 400ms ease-in-out;
    filter: drop-shadow(2px 2px 6px rgba(0, 0, 0, 0.3));
}

/* Badge Promotion */
.badge-promo {
    position: absolute;
    top: 15px;
    left: 15px;
    background-color: var(--promo-background);
    color: var(--promo-color);
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 14px;
    padding: 10px 20px;
    border-radius: var(--round-corner1);
    z-index: 2;
    cursor: default;
}
.badge-epuise {
    background-color: #f8d7da;
    color: #dd3c4c;
}

/* Bouton au hover */
.shop-product-button {
    position: absolute;
    bottom: 15px;
    left: 15px;
    background-color: var(--voirproduit-background);
    color: var(--voirproduit-color);
    padding: 12.5px 37px;
    border-radius: 25px;
    border: none;
    opacity: 0;
    transition: 400ms ease-in-out;
    cursor: pointer;
    z-index: 2;
    font: normal normal normal 16px/25px var(--font-family);
}
.shop-product-button:hover {
    background-color: var(--color-button2-press);
}
.shop-product-image-container:hover .shop-product-button, .shop-product-image-container:hover .wishlist-icon {
    opacity: 1;
}
.shop-product-image-container:hover .shop-product-image {
    transform: scale(1.05);
}

/* Wishlist (ex: coeur vide) */
.wishlist-icon {
    position: absolute;
    bottom: 15px;
    right: 15px;
    width: 50px;
    height: 50px;
    background-color: #FFFFFF;
    border-radius: 50%;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    z-index: 2;
    opacity: 0;
    cursor: pointer;
    transition: 400ms ease-in-out;
}
.wishlist-icon .icon-whishlist {
    background-color: var(--color-btn-menu);
    width: 100%;
    height: 100%;
    margin: auto;
    transition: background-image 400ms ease-in-out;
}
.wishlist-icon:hover {
    background-color: var(--color-button2-press);
}
.wishlist-icon:hover .icon-whishlist {
    background-color: var(--voirproduit-color);
}
.wishlist-profil {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 40px;
}
.wishlist-profil .shop-product-image-container {
    width: 225px;
    min-width: 225px;
    height: 255px;
}

.footer-liste-envies {
    display: block;
    width: 100%;
}

.shop-product-info {
    margin-top: 20px;
}
.shop-product-name {
    color: var(--produit-nom-color);
    margin-bottom: 5px;
    font-family: var(--font-family);
    font-size: 16px;
    font-weight: 500;
    text-align: left;
}
.shop-product-prices {
    display: flex;
    gap: 8px;
    align-items: center;
}
.shop-product-prices .price-current {
    font-family: var(--font-family);
    font-size: 16px;
    font-weight: 400;
    color: var(--produit-prix-color);
}
.shop-product-prices .price-old {
    font-family: var(--font-family);
    font-size: 16px;
    font-weight: 400;
    color: var(--produit-prix-ancien-color);
    text-decoration: line-through;
}

.bloc-footer-page-suivante {
    margin-top: 120px;
    display: flex;
    flex-direction: row;
    gap: 40px;
    align-items: center;
    justify-content: left;
    margin-left: 25%;
}
.libelle-page-suivante {
    font: normal normal normal 16px/25px var(--font-family);
    color: var(--modal-color-clair);
}

/* -------------------- FOOTER -------------------- */

.footer-section {
    margin-left: auto;
    margin-right: auto;
    width: auto;
    padding: 60px var(--padding-page1) 15px var(--padding-page1);
    background-color: var(--footer-background);
}

.footer-container {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 20px
}
.footer-items {
    display: flex;
    flex-direction: column;
}
.footer-logo { 
    width: 127px;
    height: 28px;
    background-image: var(--logo-webshop-footer);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.footer-title {
    font: normal normal 500 17px/26px var(--font-family);
    margin-bottom: 20px;
    color: var(--footer-title-color);
}
.footer-content {
    display: flex;
    flex-direction: column;
}
.footer-anchor {
    display: flex;
    flex-direction: row;
    text-decoration: none;
}
.footer-text {
    font: normal normal normal 16px/35px var(--font-family);
    gap: 0px 10px;
    align-items: center;
    color: var(--footer-text-color);
}

.footer-newsletter-container{
    display: flex;
    align-items: center;
}

.footer-newsletter {
    position: relative;
    width: 90%;
    height: 50px;
    background: var(--color-fontsearch);
    border-radius: 100px;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    transition: border 300ms ease-in-out;
    padding: 0 25px;
    border: 1px solid var(--footer-bar-color);
}
.footer-newsletter input {
    flex: 1;
    height: 100%;
    border: none;
    outline: none;
    font-size: 14px;
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-search);
    background-color: transparent;
}
.footer-newsletter input::placeholder {
    color: var(--color-search); 
}
.footer-newsletter.focused  {
    border: 1px solid var(--color-champ);
}
.footer-newsletter.filled {
    border: 1px solid var(--footer-bar-color);
}

.footer-newsletter .backsearch-menu{
    display: flex;
    width: 16px;
    height: 16px;
    background-repeat: no-repeat;
    background-position: center center;
    cursor: pointer;
}
.footer-newsletter .icone-menu {
    background-color: var(--color-search);
    width: 100%;
    height: 100%;
    margin: auto;
    transition: 400ms ease-in-out;
}

.footer-grid-col-1 {
    grid-column: 1;
}
.footer-grid-col-2 {
    grid-column: 2;
}
.footer-grid-col-3 {
    grid-column: 3;
}
.footer-grid-col-4 {
    grid-column: 4;
}
.footer-grid-col-5 {
    grid-column: 5;
}
.footer-social-networks {
    background-color: var(--footer-follow-color);
    width: 100%;
    height: 100%;
    margin: auto;
}
.horizontal-bar {
    width: 100%;
    margin-top: 60px;
    margin-bottom: 15px;
    height: 0.5px;
    background: var(--footer-bar-color);
}

.footer-barinf {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    max-width: 1920px;
    margin-left: auto;
    margin-right: auto;
}

.footer-barinf-items {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0px 40px;
}
.footer-barinf-text {
    font: normal normal normal 14px/21px var(--font-family);
    color: var(--footer-text-color);
}
.footer-items-image {
    width: 18%;
}
.footer-items-contact {
    width: 12%;
}
.footer-items-trouve {
    width: 16%;
}
.footer-items-news {
    width: 38%;
}
.btn-social-network {
    display: block;
    width: 40px;
    height: 40px;
    background-color: var(--footer-follow-background);
    border-radius: 20px;
}
.flex-row {
    display: flex;
    flex-direction: row;
}


/* ----------- PRODUIT ---------- */
.produit-detail {
    display: flex;
    flex-direction: column;
    margin-left: auto;
    margin-right: auto;
    padding: 104px var(--padding-page2) 40px var(--padding-page2);
}
.chemin-mark {
    display: flex;
    font: normal normal normal 14px/35px var(--font-family);
    margin-top: 50px;
    margin-bottom: 50px;
}
.chemin-precedent {
    color: var(--produit-nom-color);
}
.chemin-courant {
    color: var(--produit-prix-color);
}

.produit-contenu {
    /*display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    column-gap: 40px;*/
    display: flex;
    gap: 40px;
    align-items: flex-start;
}

/* GAUCHE */
.produit-left {
    display: flex;
    flex-direction: column;
    gap: 25px;
    width: 490px;
}
.produit-img-principal {
    position: relative;
    overflow: hidden;
    border-radius: var(--round-corner1);
    background: var(--color-base-shopping);
    
    width: 29vw;
    max-width: 490px;
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
}
.produit-autre-img {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: auto;
    column-gap: 26px;
}
.produit-img-detail {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
    display: block;
    filter: drop-shadow(2px 2px 6px rgba(0, 0, 0, 0.3));
}
.produit-img-principal .produit-img-detail {
    cursor: zoom-in
}
.produit-autre-img-detail .produit-img-detail {
    width: 95%; /*95%*/
    height: 95%;
    object-fit: contain;
    object-position: center center;
    display: block;
}
.produit-autre-img-detail {
    position: relative;
    overflow: hidden;
    border-radius: var(--round-corner1);
    background: var(--color-base-shopping);
    width: 128px;
    /*height: 145px;*/
    display: flex;
    align-items: center;
    justify-content: center;

    width: calc((29vw - 78px) / 4);
    max-width: calc((490px - 78px) / 4);
    cursor: pointer; /* Maintenant selectionnable*/
}

/* Coté Droit */

.produit-right {
    display: flex;
    flex-direction: column;
    min-width: 412px;
}
.produit-detail-titre {
    font: normal normal normal 32px/48px var(--font-family);
    color: var(--voirproduit-background);
    padding-bottom: 5px;
    margin-top: -5px;
}
.produit-detail-sstitre {
    font: normal normal normal 32px/48px var(--font-family);
    color: var(--voirproduit-background);
    padding-bottom: 10px;
}
.produit-detail-sstitre-original {
    font: normal normal normal 32px/48px var(--font-family);
    color: var(--voirproduit-background);
}
.produit-detail-description {
    font: normal normal normal 16px/35px var(--font-family);
    color: var(--description-produit-color);
    padding-bottom: 15px;
}
.produit-detail-prixautre {
    font: normal normal normal 16px/35px var(--font-family);
    color: var(--description-produit-color);
    text-decoration: line-through;
    margin-left: 14px;
}
.produit-detail-container-prix {
    padding-bottom: 10px;
    display: flex;
    flex-direction: row;
    align-items: baseline;
}
.produit-detail-contenu {
    font: normal normal normal 16px var(--font-family);
    color: var(--voirproduit-background);
    margin-bottom: 20px;
}
.produit-detail-contenu-petit {
    font: normal normal normal 15px var(--font-family);
    color: var(--voirproduit-background);
    margin-bottom: 15px;
}
.produit-detail-articleinf-titre {
    font: normal normal normal 22px var(--font-family);
    color: var(--voirproduit-background);
    margin-bottom: 20px;
}
.produit-detail-articleinf-titre-petit {
    font: normal normal normal 17px var(--font-family);
    color: var(--voirproduit-background);
    margin-bottom: 15px;
}
.mtEntreArticle {
    margin-top: 20px;
}
.mtEntreArticle-petit {
    margin-top: 15px;
}
.produit-detail-separateur-bundle {
    margin-bottom: 20px;
}
.produit-detail-separateur-bundle-petit {
    margin-bottom: 15px;
}

.selector {
    font-family: var(--font-family);
}

.selector-detail {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.selector-detail input[type="radio"] {
    display: none;
}
.selector label {
    border: 1px solid var(--selector-border-color);
    border-radius: 50%;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--selector-color);
    font: normal normal normal 14px/21px var(--font-family);
    transition: 400ms ease-in-out;
}
.petit-format.selector label {
    width: 38px;
    height: 38px;
}
.selector.longSelector label {
    padding: 0 10px;
    border-radius: 25px;
}
.petit-format.selector.longSelector label {
    padding: 0 15px;
}
.selector input[type="radio"]:checked + label {
    background-color: var(--selector-press);
    color: var(--selector-background);
    border-color: var(--selector-press);
}
.selector-title {
    font: normal normal normal 16px/25px var(--font-family);
    color: var(--selector-press);
    padding-bottom: 10px;
}
.petit-format .selector-title{
    font: normal normal normal 15px/23px var(--font-family);
}
.marginProduit {
    margin-top: 20px;
    margin-bottom: 25px;
}
.marginProduit-petit {
    margin-top: 20px;
    margin-bottom: 20px;
}

/* COUNTER */
.counter {
    font-family: var(--font-family);
}
.produitBoutique {
    width: 76px;
}
.counter-title {
    font: normal normal normal 16px/25px var(--font-family);
    color: var(--selector-press);
    padding-bottom: 10px;
}
.petitcounter .counter-detail {
    height: 28px;
}
.mediumcounter .counter-detail {
    height: 38px;
}
.counter-detail {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 1px solid var(--selector-border-color);
    border-radius: 25px;
    width: 76px;
    height: 48px;
}
.counter-detail .counter-btn {
    border: none;
    background: none;
    font: normal normal normal 16px var(--font-family);
    cursor: pointer;
    color: var(--selector-color);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: background-color 0.3s ease;
}
.counter-detail .counter-btn.minus {
    padding-left: 13px;
}
.counter-detail .counter-btn.plus {
    padding-right: 13px;
}

.counter-detail .counter-btn:active {
    color: var(--selector-press);
}

.counter-detail .counter-value {
    font: normal normal normal 14px var(--font-family);
    text-align: center;
    transition: opacity 0.4s ease;
    opacity: 1;
    color: var(--selector-color);
}
.counter-stock {
    display: flex;
    flex-direction: row;
    gap: 10px;
}
.counter-gauche {
    display: flex;
    flex-direction: row;
    gap: 40px;
}
.counter-info-stock {
    font: normal normal normal 14px var(--font-family);
    color: var(--produit-nom-color);
    margin-top: 60px;
    /*white-space: nowrap;*/
    min-width: 200px;
    max-width: 336px;
    width: 100%;
}
.full-height {
    height: 100vh !important;
}
.stock-dispo {
    display: flex;
    justify-content: center;
    text-align: center;
    align-items: center;
    width: 50px;
    height: 50px;
    background-color: var(--shop-background);
    border-radius: 50%;
}
.stock-dispo-value {
    font: normal normal normal 14px var(--font-family);
    color: var(--selector-color);
}

.ajouter-au-panier {
    background-color: var(--selector-press);
    color: var(--selector-background);
    width: 100%;
    max-width: 352px;
    border-radius: 25px;
    font: normal normal normal 16px var(--font-family);
    padding: 11.5px 0;
    border: 1px solid var(--selector-press);
    cursor: pointer;
    transition: 400ms ease-in-out;
}
.ajouter-au-panier:hover {
    background-color: var(--color-button2-press);
    border: 1px solid var(--color-button2-press);
}
.wishlist-produit-detail {
    opacity: 1;
    position: relative;
    bottom: 0;
    right: 0;
    left: 0;
    top: 0;
    min-width: 50px;
    min-height: 50px;
    background-color: var(--shop-background);
    box-shadow: none;
}
.footer-btn-produit {
    display: flex; 
    flex-direction: row;
    margin-top: 30px;
    gap: 10px;
}

.fade-visibility {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.fade-visibility.show {
  opacity: 1;
  visibility: visible;
}

/* ----------- PRODUIT / DESCRIPTION ---------- */

.produit-descbas {
    padding-top: 125px;
    padding-bottom: 125px;

}
.produit-tabs {
    display: flex;
    gap: 59px;
    padding-bottom: 25px;
    border-bottom: 1px solid var(--color-base-shopping);
}

.produit-tab-item {
    font-size: 20px;
    font-family: var(--font-family);
    font-weight: 500;
    cursor: pointer;
    color: var(--selector-color);
    position: relative;
}

.produit-tab-item.active {
    color: var(--selector-press);
}

.produit-tab-item.active::after {
    content: "";
    position: absolute;
    color: var(--selector-press);
}
.produit-tabs-content {
    padding-top: 40px;
}
.produit-tabs-content .produit-tab-panel {
    font: normal normal normal 16px var(--font-family);
    color: var(--description-produit-color);
    display: none;
    animation: fade 0.3s ease;
}

.produit-tabs-content .produit-tab-panel.active {
    display: block;
}

@keyframes fade {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* ---------- CARD MODAL ---------- */
/* Overlay noir semi-transparent */
.cart-overlay, .menu-burger-overlay {
    position: fixed;
    inset: 0;
    background-color: rgba(26, 26, 26, 0.6);
    opacity: 0;
    pointer-events: none;
    transition: opacity 400ms cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 1000;
}
.cart-overlay2 {
    position: fixed;
    inset: 0;
    background-color: rgba(26, 26, 26, 0.6);
    opacity: 0;
    pointer-events: none;
    transition: opacity 400ms cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 1002;
}
/* Modal panier */
.cart-modal {
    position: fixed;
    top: 0;
    right: 0;
    width: 480px;
    max-width: 100%;
    height: 100vh;
    background: #FFFFFF;
    box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
    transform: translateX(100%);
    transition: transform 400ms cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 1001;
    display: flex;
    flex-direction: column;
}
.cart-modal2 {
    position: fixed;
    top: 0;
    right: 0;
    width: 480px;
    max-width: 100%;
    height: auto;
    background: #FFFFFF;
    box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
    transform: translateX(100%);
    transition: transform 400ms cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 1003;
    display: flex;
    flex-direction: column;
    border-radius: 3px 0px 0px 3px;
}

/* États ouverts */
.cart-overlay.active,.cart-overlay2.active,.menu-burger-overlay.active {
    opacity: 1;
    pointer-events: auto;
}
.cart-modal.active, .cart-modal2.active {
    transform: translateX(0);
}
.menu-burger-items {
    overflow-y: auto;
    padding: 25px;
    display: flex;
    flex-direction: column;
}
.menu-burger-items .elem-menu a {
    font-size: 18px;
}
.menu-burger-items .elem-menu {
    margin-bottom: 10px;
}
.menu-burger-items .navbar-search-bar {
    width: 100%;
    margin-bottom: 20px;
}

/* Header & contenu */
.cart-header {
    padding: 20px;
    border-bottom: 1px solid var(--modal-color-border);
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.cart-content {
    flex: 1;
    overflow-y: auto;
    padding: 25px;
    display: flex;
    flex-direction: column;
}
.cart-content2 {
    border-top: 1px solid var(--modal-border-color-clair);
}
.simple-libelle-modal {
    font: normal normal normal 14px var(--font-family);
    color: var(--modal-color-produit2);
}
.flex-none {
    flex: none;
}
.cart-titre {
    color: var(--modal-color-titre);
    font-family: var(--font-family);
    font-weight: 500;
    font-size: 24px;
    text-align: left;
}
.close-cart {
    width: 15px;
    height: 15px;
    transition: 400ms ease-in-out;
    cursor: pointer;
}
.close-cart .closemodal {
    background-color: var(--modal-color-close);
    width: 100%;
    height: 100%;
    margin: auto;
    transition: background-image 400ms ease-in-out;
}
.cart-footer {
    border-top: 1px solid var(--modal-color-border);
    padding: 25px;
}
.cart-footer .subtotal{
    font-family: var(--font-family);
    font-size: 18px;
    color: var(--modal-color-titre);
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.cart-footer .subtotal span {
    font-weight: 500;
}
.cart-btn-fonce {
    margin-top: 15px;
    background-color: var(--selector-press);
    color: var(--selector-background);
    border: 1px solid var(--selector-press);
    width: 100%;
    border-radius: 25px;
    font: normal normal normal 16px var(--font-family);
    padding: 11.5px 0;
    cursor: pointer;
    transition: 400ms ease-in-out;
}
.cart-btn-fonce:hover {
    background-color: var(--modal-background-clair-hover);
    color: var(--modal-color-clair-hover);
    border: 1px solid var(--modal-background-clair-hover);
}
.cart-btn-fonce.taille-auto {
    width: auto;
    padding: 12.5px 25px;
}
.cart-btn-shadow.taille-auto {
    width: auto;
    padding: 12.5px 25px;
}
.cart-btn-shadow.btn-taille-suivant,.cart-btn-fonce.btn-taille-suivant {
    padding: 14px 25px;
    width: auto;
}
.cart-btn-fonce.taille-auto-grand {
    width: auto;
    padding: 14.5px 25px;
    margin-top: 0;
}
.cart-btn-fonce.taille-medium {
    width: 50%;
    min-width: 280px;
}

.cart-btn-clair {
    margin-top: 15px;
    background-color: #FFFFFF;
    color: var(--modal-color-clair);
    width: 100%;
    border-radius: 25px;
    font: normal normal normal 16px var(--font-family);
    padding: 11.5px 0;
    border: 1px solid var(--modal-border-color-clair);
    cursor: pointer;
    transition: 400ms ease-in-out;
}
.cart-btn-clair-ecart {
    margin-top: 25px;
}
.cart-btn-clair:hover {
    background-color: var(--modal-background-clair-hover);
    border-color: var(--modal-background-clair-hover);
    color: var(--modal-color-clair-hover);
}
.cart-btn-shadow {
    margin-top: 15px;
    background-color: #FFFFFF;
    border: 1px solid #FFFFFF;
    color: var(--modal-color-clair);
    width: 100%;
    border-radius: 25px;
    font: normal normal normal 16px/21px var(--font-family);
    padding: 11.5px 0;
    box-shadow: 0px 0px 30px var(--color-button2);
    cursor: pointer;
    transition: 400ms ease-in-out;
}
.cart-btn-shadow-ecart {
    margin-top: 25px;
}
.cart-btn-shadow:hover {
    background-color: var(--modal-background-clair-hover);
    border-color: var(--modal-background-clair-hover);
    color: var(--selector-background);
}
p {
    margin: 0;
}
.decoration-none {
    text-decoration: none;
}
.footer-connexion-modal {
    display: flex;
    flex-direction: row;
    gap: 20px;
}
.petit-link-footer {
    font: normal normal normal 12px var(--font-family);
    color: var(--modal-color-produit2);
    text-decoration: none;
}

.icon-dans-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
}
.icon-dans-button .icone-precsuiv {
    display: flex;
    width: 15px;
    height: 15px;
    background-repeat: no-repeat;
    background-position: center center;
}
.icon-dans-button .icone-precsuiv .icon-btn {
    width: 100%;
    height: 100%;
    margin: auto;
    transition: 400ms ease-in-out;
}
.icon-rotate-gauche {
    rotate: 90deg;
}
.icon-rotate-droite {
    rotate: -90deg;
}
.cart-btn-shadow.icon-dans-button .icone-precsuiv .icon-btn{
    background-color: var(--modal-color-clair);
}
.cart-btn-shadow.icon-dans-button:hover .icone-precsuiv .icon-btn{
    background-color: var(--modal-color-clair-hover);
}
.cart-btn-fonce.icon-dans-button .icone-precsuiv .icon-btn{
    background-color: var(--selector-background);
}
.cart-btn-fonce.icon-dans-button:hover .icone-precsuiv .icon-btn{
    background-color: var(--modal-color-clair-hover);
}
.btnPrecSuivNonVisible {
    visibility: hidden;
}
.panier-vide {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: var(--modal-color-produit2);
    font: normal normal normal 18px var(--font-family);
}

/* ---------- MODAL ALERTE ---------- */
.modalalerte-overlay {
    position: fixed;
    inset: 0;
    background-color: rgba(26, 26, 26, 0.6);
    opacity: 0;
    pointer-events: none;
    transition: opacity 300ms cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 1010;
}
.modalalerte-overlay.active {
    opacity: 1;
    pointer-events: auto;
}
.modalalerte-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #FFFFFF;
    border-radius: 30px;
    opacity: 0;
    transition: opacity 2000ms ease-in-out;
    z-index: 1011;
    max-width: 500px;
    width: 500px;
    display: none;
}
.modalalerte-modal.active {
    opacity: 1;
}
.modalalerte-titre {
    color: var(--modal-color-titre);
    font-family: var(--font-family);
    font-weight: 500;
    font-size: 20px;
    text-align: left;
}
.modalalerte-header {
    padding: 25px;
    border-bottom: 1px solid var(--modal-color-border);
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.modalalerte-content {
    flex: 1;
    overflow-y: auto;
    padding: 25px;
    display: flex;
    flex-direction: column;
    font: normal normal normal 16px/35px var(--font-family);
    color: var(--modal-color-produit2);
}
.modalalerte-footer {
    display: flex;
    flex-direction: row;
    padding: 0px 25px 25px 25px;
    gap: 15px;
    align-items: baseline;
    justify-content: flex-end;
}
.modalalerte-footer .cart-btn-fonce{
    width: auto;
    padding-left: 25px;
    padding-right: 25px;
    margin-top: 0px;
}

/* --------- Panier ---------- */
.panier-produit-item {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}
.panier-produit-item:first-child {
    padding-bottom: 25px;
    border-bottom: 1px solid var(--modal-color-border);
}
.panier-produit-item:last-child:not(:first-child) {
    padding-top: 25px;
}
.panier-produit-item:not(:first-child):not(:last-child) {
    padding-top: 25px;
    padding-bottom: 25px;
    border-bottom: 1px solid var(--modal-color-border);
}
.panier-produit-left {
    display: flex;
    flex-direction: row;
}
.panier-produit-left a {
    text-decoration: none;
}
.panier-produit-sous-ens {
    display: flex;
    flex-direction: column;
}
.panier-produit-error {
    margin-top: 25px;
    font: normal normal normal 14px var(--font-family);
    color: var(--produit-nom-color);
    width: calc(100% + 78px);
}
.panier-produit-image {
    position: relative;
    overflow: hidden;
    border-radius: var(--round-corner1);
    background: var(--color-base-shopping);
    width: 80px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.panier-produit-image-detail {
    width: 100%;
}
.panier-produit-info {
    margin-left: 15px;
}
.panier-produit-info a {
    text-decoration: none;
}
.produit-info-titre {
    font: normal normal 500 14px/21px var(--font-family);
    color: var(--modal-color-produit);
}
.produit-info-prix {
    font: normal normal 400 14px/21px var(--font-family);
    color: var(--modal-color-produit);
}
.table-comorder .produit-info-prix {
    font: normal normal 500 14px/21px var(--font-family);
    color: var(--modal-color-produit);
}
.produit-info-detail {
    font: normal normal 400 14px/21px var(--font-family);
    color: var(--modal-color-produit2);
}
.produit-info-detail-petit {
    font: normal normal 400 12px/18px var(--font-family);
    color: var(--modal-color-produit2);
}
.table-comorder .produit-info-detail {
    font: normal normal 500 13px/20px var(--font-family);
    color: var(--modal-color-produit2);
}
.padSepPanierDetailFromTitre {
    padding-top: 5px;
    padding-bottom: 10px;
}
.panier-produit-icon {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin-top: 10px;
    gap: 5px;
}
.panier-produit-option .marginProduit {
    margin-top: 0;
}
.table-commandes.ta-ident .panier-produit-icon {
    margin-top: 0;
    justify-content: flex-start;
}

.backicone-rond {
    display: flex;
    width: 30px;
    height: 30px;
    border-radius: 18px;
    background-repeat: no-repeat;
    background-position: center center;
    cursor: pointer;
    transition: 400ms ease-in-out;
}
.backicone-rond .icone-rond {
    width: 100%;
    height: 100%;
    margin: auto;
    transition: 400ms ease-in-out;
}
.backicone-rond.icone-fonce {
    background-color: var(--icone-rond-background);
}
.backicone-rond.icone-fonce .icone-rond {
    background-color: var(--icone-rond-color);
}
.backicone-rond.icone-clair {
    background-color: var(--icone-rond-background-clair);
}
.backicone-rond.icone-clair .icone-rond {
    background-color: var(--icone-rond-color-clair);
}

.backicone-rond.icone-fonce:hover, .backicone-rond.icone-clair:hover {
    background-color: var(--color-button2-press);
}
.backicone-rond.icone-fonce:hover .icone-rond, .backicone-rond.icone-clair:hover .icone-rond {
    background-color: #FFFFFF;
}

.icon-badge {
    width: 17px;
    height: 17px;
    background-color: var(--icone-rond-background);
    font: normal normal normal 11px var(--font-family);
    color: var(--icone-rond-color);
    border-radius: 999px;
    display: none;
    text-align: center;
    position: absolute;
    margin-top: 6px;
    margin-left: 15px;
    padding-left: 1px;
    padding-top: 1px;
}
.icon-badge-comm {
    width: 20px;
    height: 19px;
    background-color: var(--icone-rond-color-clair);
    font: normal normal normal 12px var(--font-family);
    color: var(--icone-rond-color);
    border-radius: 999px;
    display: none;
    text-align: center;
    position: absolute;
    margin-top: -6px;
    margin-left: 66px;
    padding-left: 1px;
    padding-top: 2px;
}

.content-panier-edit {
    display: flex;
    flex-direction: column;
    padding-top: 25px;
    max-height: calc(100vh - 377px);
}

/* ---------- VOTRE PANIER ---------- */

.gen1-container {
    display: flex;
    flex-direction: column;
    margin-left: auto;
    margin-right: auto;
    padding: 104px var(--padding-page1) 40px var(--padding-page1);
    /*visibility: hidden;*/
    opacity: 0;
    transition: opacity 400ms ease-in-out;
}
.gen1-visible {
    opacity: 1;
}
.gen1-haut {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-top: 125px;
}
.gen1-haut, .gen1-titre {
    font: normal normal normal 32px var(--font-family);
    color: var(--color-textGrandPage);
}
.gen1-new-marge {
    padding-bottom: 42px; /*NEW*/
}
.gen1-new-link {
    padding-bottom: 42px;
    display: flex;
    text-align: right;
    justify-content: end;
    margin-top: 27px;
}
.panier-link-retour {
    font: normal normal normal 14px var(--font-family);
    color: var(--color-textGrandPage);
    text-decoration: underline;
    text-underline-offset: 5px;
    text-align: start;
}
.panier-bas {
    /*padding-top: 42px;*/ /*NEW*/
    margin-top: 125px; /*NEW*/
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 60px;
}
.panier-details {
    width: 100%;
}
.thproduit {
    width: 55%;
    text-align: left;
}
.panier-bas th:not(.thproduit) {
    width: 15%;
}
.panier-bas th {
    font-family: var(--font-family);
    font-size: 15px;
    font-weight: 500;
    color: var(--color-textGrandPage);
}
.panier-scroll-droite {
    position: sticky;
    top: calc(105px + 50px);
}
.panier-soustotal {
    border: 1px solid var(--selector-border-color);
    padding: 40px;
    border-radius: 30px;
    min-width: 280px;
}
.panier-soustotalup {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}
.panier-soustotal-titre {
    font: normal normal 500 18px/27px var(--font-family);
    color: var(--color-textGrandPage);
}
.commande-soustotalcontain .panier-soustotal-titre {
    font: normal normal 600 18px/27px var(--font-family);
    color: var(--color-textGrandPage);
}
.panier-soustotal-montant {
    font-family: var(--font-family);
    font-weight: 600;
    font-size: 32px;
    color: var(--color-textGrandPage);
}
.panier-soustotal-montanttout {
    font: normal normal 700 18px/27px var(--font-family);
    color: var(--color-textGrandPage);
}
.panier-soustotalpetit-montant {
    font: normal normal 600 14px/21px var(--font-family);
    color: var(--color-textGrandPage);
}
.panier-soustotalpetit-titre {
    font: normal normal 500 14px/21px var(--font-family);
    color: var(--color-textGrandPage);
}
.panier-petitephrase {
    margin-top: 40px;
    font: normal normal normal 16px var(--font-family);
    color: var(--description-produit-color);
}
.panier-soustotal .cart-btn-fonce {
    margin-top: 74px;
}
.commande-soustotalcontain {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-top: 25px;
}
.commande-soustotalcontain .panier-soustotalup:last-child {
    margin-top: 8px;
}

.votrepanier-produit {
    display: flex;
    flex-direction: row;
}

.votrepanier-produit .votrepanier-produit-image {
    position: relative;
    overflow: hidden;
    border-radius: var(--round-corner1);
    background: var(--color-base-shopping);
    width: 120px;
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.votrepanier-produit-image-detail {
    /*width: 100%;*/ /* Adaptation le 22/08/2025*/
    height: 100%;
    width: auto;
    max-height: 245px;
}
.votrepanier-produit-item {
    display: flex;
    flex-direction: row;
    gap: 15px;
}
.votrepanier-produit-item a {
    text-decoration: none;
}
.votrepanier-detail a {
    text-decoration: none;
}
.votrepanier-info {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.votrepanier-titre-produit {
    font-family: var(--font-family);
    font-weight: 600;
    font-size: 14px;
    color: var(--color-btn-menu);
}

.votrepanier-produit-td {
    vertical-align: top;
    text-align: center;
}
.votrepanier-produit-ligne {
    display: flex;
    justify-content: center;
}
.votrepanier-produit-ligne .marginProduit {
    margin-top: 0px;
}
.table-panier {
    width: 100%;
    border-spacing: 0px;
}
.table-panier tbody td {
    padding: 25px 0;
    border-top: 1px solid var(--color-base-shopping);
}
.table-panier thead th {
    padding-bottom: 20px;
}

.votrepanier-info .panier-produit-icon {
    justify-content: start;
    text-align: left;
    margin-top: 0px;
}

/* COMMANDE */
.commande-container {
    display: flex;
    flex-direction: column;
    margin-left: auto;
    margin-right: auto;
    /*padding: 104px var(--padding-page2) 40px var(--padding-page2);*/
    max-width: calc(var(--grid-max-width) - var(--grid-margin) * 2);
    padding: 104px 0 40px 0;
    opacity: 0;
    transition: opacity 400ms ease-in-out;
}
.commande-details {
    display: flex;
    flex-direction: column;
    align-items: start;
    width: 55%;
}
.panier-passercomm {
    width: 45%;
}
.table-comorder {
    width: 100%;
    border-spacing: 0px;
}
.table-comorder .votrepanier-produit .votrepanier-produit-image{
    width: 80px;
    height: 80px;
    min-width: 80px;
    min-height: 80px;
}
.table-comorder .votrepanier-produit-image-detail {
    width: calc(100% - 12px);
    height: auto;
}
.table-comorder tr td {
    padding-bottom: 25px;
    padding-top: 25px;
    border-bottom: 1px solid var(--color-base-shopping);
}
.table-comorder tr:first-child td:first-child {
    padding-top: 0;
}


.zg-container {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
}
.zg-libelle {
    font-family: var(--font-family);
    font-size: 20px;
    font-weight: 500;
    color: var(--color-textGrandPage);
}
.souszg .zg-libelle {
    font: normal normal 500 15px var(--font-family);
}
.souszg {
    padding-bottom: 20px;
    border-bottom: 1px solid var(--color-base-shopping);
}
.libelle-faq .zg-libelle {
    font: normal normal normal 32px var(--font-family);
}

.champ-container {
    display: flex;
    align-items: center;
    width: 100%;
}
.champ {
    position: relative;
    width: 100%;
    height: 50px;
    background: var(--color-fontsearch);
    border: 1px solid var(--color-contour-search);
    border-radius: 100px;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    transition: border 300ms ease-in-out;
    padding: 0 25px;
}
.champ.nolimite {
    padding: 0 1px 0 25px;
}
.champ input {
    flex: 1;
    height: 100%;
    border: none;
    outline: none;
    font-size: 14px;
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-champ-placeholder);
    background-color: transparent;
    width: 100%;
}
.champ textarea {
    flex: 1;
    height: 100%;
    border: none;
    outline: none;
    font-size: 14px;
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-champ-placeholder);
    background-color: transparent;
    width: 100%;
    resize: none;
    overflow: hidden;
    padding-top: 25px;
}
.champ .placeholder {
    font-family: var(--font-family);
    font-size: 14px;
    font-weight: 400;
    max-width: calc(100% - 50px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--color-champ-placeholder);
    margin-left: 2px;

    position: absolute;
    -moz-transition: all 300ms ease;
    -webkit-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    transition: all 300ms ease;
}
.champ input:focus + .placeholder, .champ input.nonvide + .placeholder {
    color: var(--color-champ);
    font-family: var(--font-family);
    font-weight: 500;
    font-size: 12px;
    margin: -50px 0px 0px -9px;
    background-color: #FFFFFF;
    padding: 0px 10px 0px 10px;
    opacity: 1;
}
.champ.focused  {
    border: 1px solid var(--color-champ);
}
.champ.filled {
    border: 1px solid var(--color-contour-search);
}
.champtextarea {
    height: 100%;
    border-radius: 25px;
}
.champtextarea .placeholder {
    top: 15px;
}
.champ textarea:focus + .placeholder, .champ textarea.nonvide + .placeholder {
    color: var(--color-champ);
    font-family: var(--font-family);
    font-weight: 500;
    font-size: 12px;
    margin: -25px 0px 0px -9px;
    background-color: #FFFFFF;
    padding: 0px 10px 0px 10px;
    opacity: 1;
}
.mtZGCommande {
    margin-top: 40px;
}
.semichamp-container {
    display: flex;
    flex-direction: row;
    width: 100%;
    gap: 20px;
}
.zonegauchedroitespace {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
}

.champ-drop {
    position: relative;
    display: inline-block;
    font-family: var(--font-family);
    width: 100%;
}
.champ-drop-toggle {
    background: #FFFFFF;
    border: 1px solid var(--color-contour-search);
    border-radius: 25px;
    padding: 13.5px 25px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 5px;
    color: var(--color-champ-placeholder);
    font-size: 14px;
    font-family: var(--font-family);
    width: 100%;
    min-width: 130px;
    transition: border 300ms ease-in-out;
}
.champ-drop-toggle .drop-fondicon {
    margin-right: 0;
    margin-left: auto;
}
.champ-drop-menu {
    position: absolute;
    top: calc(100% + 5px);
    border: 1px solid var(--color-base-shopping);
    left: 0;
    background-color: #FFFFFF;
    border-radius: 20px;
    min-width: 230px;
    z-index: 1000;
    display: none;
    padding-top: 7.5px;
    padding-bottom: 7.5px;

    max-height: 36vh;
    min-height: 200px;
    overflow-y: auto;
    overflow-x: hidden;
    width: 100%;
}
.champ-drop.actif .champ-drop-menu {
    display: block;
}
.drop-heightauto .champ-drop-menu {
    min-height: auto;
}
.champ-drop-item {
    padding: 7.5px 15px;
    font-size: 14px;
    color: var(--color-btn-menu);
    cursor: pointer;
    white-space: nowrap;
}
.champ-drop-item:hover {
    background-color: var(--shop-background);
}
.champ-drop .placeholder {
    font-family: var(--font-family);
    font-size: 14px;
    font-weight: 400;
    max-width: calc(100% - 50px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--color-champ-placeholder);
    margin: -35px 0 0px 26px;
    cursor: pointer;

    position: absolute;
    -moz-transition: all 300ms ease;
    -webkit-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    transition: all 300ms ease;
}

.champ-drop.nonvide .placeholder {
    color: var(--color-champ);
    font-family: var(--font-family);
    font-weight: 500;
    font-size: 12px;
    margin: -58px 0px 0px 18px;
    background-color: #FFFFFF;
    padding: 0px 10px 0px 10px;
    opacity: 1;
    cursor: initial;
}
.champ-drop.actif .champ-drop-toggle {
    border: 1px solid var(--color-champ);
}
.champ-drop.petit-champ {
    max-width: 180px;
    min-width: 170px;
}
.champ-blocradio {
    display: block;
    position: relative;
    width: 100%;
}
.champ-blocradio .champ-radio {
    padding: 13.5px 25px 13.5px 55px;
    display: block;
    position: relative;
    cursor: pointer;
    border: 1px solid var(--color-contour-search);
    border-radius: 25px;
    -moz-transition: all 400ms ease-in-out;
    -webkit-transition: all 400ms ease-in-out;
    -o-transition: all 400ms ease-in-out;
    transition: all 400ms ease-in-out;
}
.champ-blocradio input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}
.champ-blocradio .checkmark {
    border-radius: 100px;
    left: 25px;
    height: 18px;
    width: 18px;
    background-color: var(--selector-background);
    border: 1px solid var(--selector-border-color);
    position: absolute;
    top: 14px;
    -moz-transition: all 400ms ease-in-out;
    -webkit-transition: all 400ms ease-in-out;
    -o-transition: all 400ms ease-in-out;
    transition: all 400ms ease-in-out;
}

.champ-blocradio .champ-radio:has(input:checked) {
    background-color: var(--shop-background);
    border: 1px solid var(--shop-background) ;
}
.champ-blocradio .checkmark:after {
    top: 5px;
    left: 5px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--selector-background);
    content: "";
    position: absolute;
}
.champ-blocradio input:checked ~ .checkmark {
    background-color: var(--selector-press);
}
.champ-blocradio input:checked ~ .checkmark:after {
    display: block;
}
.champ-blocradio .champ-radio-option {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}
.champ-blocradio .champ-radio-libelle {
    font: normal normal normal 14px var(--font-family);
    color: var(--selector-color);
}
.champ-blocradio .champ-radio-supplement {
    font: normal normal 600 14px var(--font-family);
    color: var(--selector-color);
}

.champ-bloccheck {
    display: block;
    position: relative;
}
.champ-checkbox {
    display: block;
    position: relative;
    cursor: pointer;
    padding: 0px 5px 0px 55px;
    font: normal normal normal 13px var(--font-family);
    color: var(--selector-color-label);
    user-select: none;
}
.champ-bloccheck input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}
.champ-bloccheck .checkmark {
    background-color: var(--selector-background);
    border: 1px solid var(--selector-border-color);
    position: absolute;
    top: 0px;
    left: 26px;
    height: 14px;
    width: 14px;
    border-radius: 3px;
    -moz-transition: all 400ms ease-in-out;
    -webkit-transition: all 400ms ease-in-out;
    -o-transition: all 400ms ease-in-out;
    transition: all 400ms ease-in-out;
}
.champ-bloccheck input:checked ~ .checkmark {
    background-color: var(--selector-press);
    border: 1px solid var(--selector-press);
}
.champ-bloccheck .checkmark:after {
    display: block;
    left: 4px;
    top: 1px;
    width: 4px;
    height: 7px;
    border: solid white;
    border-width: 0 2px 2px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    content: "";
    position: absolute;
}
.champ-blocradio.radioSansCadre .checkmark {
    left: 0;
    top: 0;
    height: 16px;
    width: 16px;
}
.champ-blocradio.radioSansCadre .champ-radio {
    padding: 0 0 0 28px;
    border: none;
}
.champ-blocradio.radioSansCadre .checkmark:after {
    top: 4px;
    left: 4px;
}
.champ-blocradio.radioSansCadre .champ-radio:has(input:checked) {
    background-color: transparent;
    border: none;
}

.filter-box {
    font-family: var(--font-family);
    padding-top: 40px;
}
.filter-header {
    font: normal normal 500 15px/23px var(--font-family);
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    color: var(--selector-press);
}
.petiteligne {
    border: none;
    border-top: 1px solid var(--modal-color-border);
}
.filter-content {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.produit-detail-personnalise .champ-bloccheck .checkmark {
    left: 0;
    top: 2px;
}
.produit-detail-personnalise .champ-checkbox {
    padding-left: 29px;
    font-size: 14px;
}
.produit-detail-personnalise {
    padding-bottom: 12px;
}
.divtextepersonnalise {
    opacity: 0;
    max-height: 0;
    -webkit-transition: all 400ms ease-in-out;
    -o-transition: all 400ms ease-in-out;
    transition: all 400ms ease-in-out;
}
.divtextepersonnalise.show {
    opacity: 1;
    max-height: 200px;
}
.maxtaillecounter {
    font-family: var(--font-family);
    font-size: 14px;
    font-weight: 400;
    color: var(--color-champ-placeholder);
}

/* PAGE 404 */
.page404 {
    height: 100vh;
}
.container-404 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding-top: 94px;
    height: calc(100% - 104px);
}
.img-404 {
    width: 100%;      /* largeur du logo */
    height: 100%;       /* hauteur du logo */
    max-width: 451px;
    background-image: var(--logo-404);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.titre-page404 {
    margin-top: 30px;
    font: normal normal 600 50px/76px var(--font-family);
    color: var(--modal-color-titre);
}
.petit-titre-page404 {
    margin-top: 40px;
    font: normal normal normal 16px/35px var(--font-family);
    color: var(--modal-color-produit2);
}
.folddepliable {
    background: var(--color-principal);
    border-radius: 37px;
    width: 100%;
    padding: 25px;
}
.folddepliable .folddepliable-header {
    font: normal normal 500 15px/23px var(--font-family);
    color: var(--selector-press);
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    user-select: none;
    align-items: center;
}
.folddepliable .folddepliable-content {
    font: normal normal normal 14px/25px var(--font-family);
    color: var(--selector-color);
    display:none;                     /* caché par défaut, géré par jQuery */
    overflow:hidden;
}
.folddepliable .inner{
    transform: translateY(-20px);
    opacity: 0;
    transition: transform .4s ease-in-out, opacity .4s ease-in-out;
    padding-top: 18px;              /* même padding latéral + bas */
}
.folddepliable.open .inner{
  transform: translateY(0);
  opacity: 1;
}
.folddepliable .folddepliable-header .deployer-fold::before, .folddepliable .folddepliable-header .deployer-fold::after, .toggle-filter .toggle-filtre-deploy::before, .toggle-filter .toggle-filtre-deploy::after {
    content: '';
    position: absolute;
    background: var(--selector-press);
    transition: transform 400ms ease-in-out;
}
.folddepliable .folddepliable-header .deployer-fold::before, .toggle-filter .toggle-filtre-deploy::before{
    width: 2px;
    height: 8px;
    transform: translate(-50%,-50%); /*  taille normale  */
}
  /* barre horizontale */
.folddepliable .folddepliable-header .deployer-fold::after, .toggle-filter .toggle-filtre-deploy::after {
    width: 8px;
    height: 2px;
    transform: translate(-50%,-50%);
}
  /* quand ouvert → la barre verticale se rétracte (plus de “+”)*/
.folddepliable.open .folddepliable-header .deployer-fold::before, .toggle-filter.open .toggle-filtre-deploy::before{
    transform: translate(-50%,-50%) scaleY(0);
}
.folddepliable.open .folddepliable-header .deployer-fold::after {
    background: var(--selector-color);
}
.toggle-filter.open .toggle-filtre-deploy::after {
    background: var(--selector-press);
}


.folddeployer,.toggle-filter {
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    width: 20px;
    height: 16px;
}

/* ---------- MON PROFIL ----------*/
.profil-container {
    margin-top: 40px;
    display: flex;
    flex-direction: row;
    width: 100%;
    gap: 60px;
}

.btn-profil-gauche {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    background-color: #FFFFFF;
    border-radius: 5px;
    border: none;
    border-bottom: 1px solid var(--color-base-shopping);
    padding: 30px 0px 30px 20px;
    width: 295px;
    max-width: 295px;
    cursor: pointer;
    gap: 10px;
}
.btn-profil-gauche.active {
    background-color: var(--color-principal);
}
.btn-titre-choix-profil {
    font: normal normal 500 15px/23px var(--font-family);
    color: var(--color-btn-menu);
    transition: 400ms ease-in-out;
}
.btn-profil-gauche.active .btn-titre-choix-profil {
    color: var(--color-btn-menu-press);
}
.btn-profil-gauche:hover .icone-menu {
    background-color: var(--color-btn-menu-press);
}
.btn-profil-gauche:hover .btn-titre-choix-profil {
    color: var(--color-btn-menu-press);
}
.btn-profil-gauche.active .icone-menu {
    background-color: var(--color-btn-menu-press);
}

.section-profil {
    display: none;
    transition: opacity 400ms ease-in-out;
    position: relative;
}
.section-profil.active {
    display: block;
}

.profil-droit {
    width: 100%;
}
.table-commandes {
    width: 100%;
    border-spacing: 0px;
}
.table-commandes tbody td {
    padding: 40px 0;
    border-bottom: 1px solid var(--color-base-shopping);
}
.table-commandes thead th {
    padding-bottom: 20px;
    width: calc(100% / 6);
    border-bottom: 1px solid var(--color-base-shopping);
    vertical-align: top;
}
.table-commandes th {
    font-family: var(--font-family);
    font-size: 15px;
    font-weight: 500;
    color: var(--color-textGrandPage);
    text-align: center;
}
.table-commandes.ta-ident thead th:not(.ta-mail, .ta-comleft, .ta-comright) {
    width: 18.5%;
}
.table-commandes.ta-ident thead th.ta-mail{
    width: 26%;
}
.table-commandes.ta-ident thead th.ta-comleft{
    width: 50%;
}
.table-commandes.ta-ident thead th.ta-comright{
    width: 50%;
}

.table-commandes.ta-ident th.ta-left {
    text-align: left;
}

.table-commandes td {
    font-family: var(--font-family);
    font-size: 14px;
    font-weight: 500;
    color: var(--modal-color-produit);
    text-align: center;
}
.table-commandes.ta-ident td{
    text-align: left;
    font-weight: normal;
}
.table-commandes.ta-ident tbody td{
    border-bottom: none;
    padding: 20px 0;
}
.label-disable {
    font-weight: normal !important;
    color: var(--color-btn-disable) !important;
}
.link-in-table {
    font-family: var(--font-family);
    font-size: 14px;
    font-weight: 500;
    color: var(--modal-color-produit);
    text-align: center;
    text-decoration: underline;
    text-underline-offset: 5px;
}
.lineh25{
    line-height: 25px;
}
.minhAdr {
    min-height: 140px;
}

.repture-de-stock {
    text-align: center;
    font: normal normal normal 16px var(--font-family);
    color: var(--color-btn-disable);
    padding: 12.5px 0;
    cursor: default;
    width: 100%;
}

.disabled-counter {
    background-color: #ffffff;
    opacity: 0.5;
    border: 1px solid transparent;
}
/* ---------- Confirmation Commande ---------- */
.confirm-titre {
    display: flex;
    gap: 20px;
    flex-direction: row;
    align-items: flex-start;
}
.confirm-titre-commande {
    color: var(--description-produit-color);
}
.text-confirm {
    font: normal normal normal 15.5px/35px var(--font-family);
    color: var(--description-produit-color);
}

.split-detail-commande {
    display: flex;
    flex-direction: row;
    width: 100%;
    align-items: flex-start;
    margin-top: 40px;
}
.split-second-table-commande {
    margin-top: 20px;
}
.container-adresse-commande {
    font: normal normal normal 14px/25px var(--font-family);
    color: var(--modal-color-clair);
}
.container-btn-conf-commande {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
    gap: 10px;
    margin-top: 45px;
}
.padleft-forright {
    padding-left: 10px !important;
}

.statut-commande-container {
    width: 100%;
}
.statut-commande {
    border: 1px solid var(--color-shadow);
    border-radius: 30px;
    padding: 40px 40px 28px 40px;
}

.statut-commande .statut-commande-titre {
    font: normal normal 500 20px/30px var(--font-family);
    margin-bottom: 20px;
}

.statut-commande-time {
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
}

.statut-commande-time.avecBarreStatut::before {
    content: '';
    position: absolute;
    top: 20px;
    left: 2.7px;
    width: 1px;
    height: 54px;
    background-color: var(--color-textGrandPage);
}

.statut-commande-time li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 20px;
}

.statut-commande-time li::before {
    content: '';
    position: absolute;
    top: 10px;
    left: 0px;
    width: 6px;
    height: 6px;
    background-color: var(--color-textGrandPage);
    border-radius: 50%;
}

.statut-commande-time .statut-commande-label {
    font: normal normal 500 15px/23px var(--font-family);
    color: var(--color-textGrandPage);
}

.statut-commande-time .statut-commande-date {
    font: normal normal normal 14px/21px var(--font-family);
    color: var(--modal-color-produit2);
    margin-top: 4px;
}
/* ---------- RECHERCHE ---------- */

.recherche-search-container{
    display: flex;
    align-items: center;
}

.recherche-search {
    position: relative;
    width: 100%;
    height: 50px;
    background: var(--color-fontsearch);
    border-radius: 100px;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    transition: border 300ms ease-in-out;
    padding: 0 25px;
    box-shadow: 0px 0px 30px var(--color-base-shopping);
    border: 1px solid var(--color-base-shopping);
}
.recherche-search input {
    flex: 1;
    height: 100%;
    border: none;
    outline: none;
    font-size: 14px;
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-search);
    background-color: transparent;
}
.recherche-search input::placeholder {
    color: var(--color-search); 
}
.recherche-search.focused  {
    border: 1px solid var(--color-champ);
}
.recherche-search.filled {
    border: 1px solid var(--color-base-shopping);
}

.recherche-search .backsearch-menu{
    display: flex;
    width: 20px;
    height: 20px;
    background-repeat: no-repeat;
    background-position: center center;
    cursor: pointer;
}
.recherche-search .icone-menu {
    background-color: var(--color-search);
    width: 100%;
    height: 100%;
    margin: auto;
    transition: 400ms ease-in-out;
}
.recherche-text-simple {
    font: normal normal normal 16px/35px var(--font-family);
    color: var(--description-produit-color);
}

.container-result {
    display: flex;
    margin-top: 40px;
    flex-direction: row;
    width: 100%;
    gap: 40px;
}

/* ---------- GÉNÉRAL ---------- */

.disabledfonc,.disabledfonc:hover {
    /*opacity: 0.3;*/
    background-color: #FAFAFA;
    color: #C9C9C9;
    border-color: #FAFAFA;
    cursor: default;
}
.cart-btn-disabled,.cart-btn-disabled:hover {
    background-color: #FAFAFA;
    color: #C9C9C9;
    border-color: #FAFAFA;
    cursor: default;
}
.cart-notransition {
    transition: none !important;
}
.lineSeparerSsArt {
    border-top: 1px solid var(--modal-border-color-clair);
}

/* GENERAL */
input {
    padding-block: 0px;
    padding-inline: 0px;
}

/* Style de la scrollbar */
.scrollable::-webkit-scrollbar {
    width: 8px; /* largeur visible */
}

/* Masquer les flèches (haut/bas) */
.scrollable::-webkit-scrollbar-button {
    display: none;
}

/* Thumb : partie mobile */
.scrollable::-webkit-scrollbar-thumb {
    background-color: var(--color-btn-menu);
    border-radius: 4px;
}

/* Track : fond de la scrollbar */
.scrollable::-webkit-scrollbar-track {
    background-color: transparent;
}
.mt0 {
    margin-top: 0px;
}
.mtm10 {
    margin-top: -10px;
}
.mt10 {
    margin-top: 10px;
}
.mt15 {
    margin-top: 15px;
}
.mt20 {
    margin-top: 20px;
}
.mt25 {
    margin-top: 25px;
}
.mt30 {
    margin-top: 30px;
}
.mt40 {
    margin-top: 40px;
}
.mt60 {
    margin-top: 60px;
}
.mt5 {
    margin-top: 5px;
}
.pt125 {
    padding-top: 125px;
}
.pb125 {
    padding-bottom: 125px;
}
.margeFaqTitre {
    margin-top: 60px;
}
.marge-sous-titre-profil {
    margin-top: 30px;
    padding-bottom: 25px;
}
.forme-btn {
    background-color: transparent;
    padding-inline: 0px;
    border: 0;
    cursor: pointer;
}
.barre-bottom-25 {
    margin-bottom: 25px;
    border-bottom: 1px solid var(--modal-color-border);
}
.dblock {
    display: block;
}
.minh100 {
    min-height: calc(100vh - 104px);
}
.pad0 {
    padding: 0 !important;
}

.champ input:-webkit-autofill{
    background-color: #FFFFFF !important;
}
.champ input:-webkit-autofill:focus{
    background-color: #FFFFFF !important;
}

.gen1-sous-titre {
    font: normal normal 500 20px var(--font-family);
    color: var(--color-textGrandPage);
}

.ul-for-modal {
    padding-inline-start: 25px;
}

.contact-detail {
    display: flex;
    flex-direction: row;
    gap: 80px;
}

.contact-left {
    width: 36%;
}

.contact-right {
    width: 64%;
}
.notviselement {
    box-shadow: none;
    border: none;
    visibility: hidden;
    background: transparent;
}

.contact-info {
    display: flex;
    font: normal normal normal 16px/35px var(--font-family);
    color: var(--modal-color-produit2);
    text-decoration: none;
}

.btn-social2 {
    background-color: var(--color-base-shopping);
}
.btn-social2 .footer-social-networks{
    background-color: var(--modal-color-produit);
}

input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px white inset !important;
    -webkit-text-fill-color: var(--color-champ-placeholder) !important;
}

input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px white inset !important;
}

/* Transition invisible qui masque les flashs de couleur */
input:-webkit-autofill {
    transition: background-color 5000s ease-in-out 0s !important;
}

/*--- GOOGLE MAP ---*/
.containerCarte {
    padding: 40px 0px 40px 0px;
	width: 100%;
	height: 260px !important;
}
.carteGoogle {
	height: calc(100% + 30px) !important;
	top: 0px;
    border-radius: 30px;
}
gmp-internal-camera-control {
    display: none !important;
}
.gm-style-cc {
	display: none !important;
}
.gm-style a[rel="noopener"] {
	display: none !important;
}
.gm-style-pbc {
	display: none !important;
}
.gm-control-active {
    border-radius: 35px;
}
.gmnoprint div:first-child {
    background-color: transparent !important;
    box-shadow: none !important;
}
.gmnoprint div:first-child button {
    width: 35px !important;
    height: 35px !important;
    box-shadow: rgba(0, 0, 0, 0.3) 0px 1px 4px -1px !important;
}
.gmnoprint div:first-child button img {
    width: 23px !important;
    height: 23px !important;
    left: 52% !important;
}
.gmnoprint div:first-child button:first-child{
    margin-top: -10px !important;
}
.gmnoprint div:first-child div {
    display: none !important;
}
.gmnoprint div:first-child button:last-child {
    margin-top: 20px !important;
}
.adresseOverlay {
    gap: 5px;
    bottom: 79px;
    background-color: #FFFFFF;
    padding: 15px;
    border-radius: 15px;
    pointer-events: none; /* empêche les clics dessus */
    position: relative;
    width: fit-content;
    box-shadow: rgba(0, 0, 0, 0.3) 0px 1px 4px -1px !important;
    margin-left: 15px;
    margin-top: -15px;
    display: flex;
    flex-direction: column;
}
.titre-popup-map {
    font: normal normal 500 15px/23px var(--font-family);
    color: var(--modal-color-clair);
}
.sstitre-popup-map {
    font: normal normal normal 14px/21px var(--font-family);
    color: var(--modal-color-clair);
}
.dflex {
    display: flex;
}
.dnone {
    display: none;
}
/*--- FIN GMAP ---*/

/* ---------- POPUP ---------- */

#popupwebshop {
    position: fixed;
    box-shadow: 0px 1px 4px -1px rgba(0, 0, 0, 0.3);
    -webkit-box-shadow: 0px 1px 4px -1px rgba(0, 0, 0, 0.3);
    -moz-box-shadow: 0px 1px 4px -1px rgba(0, 0, 0, 0.3);
    width: 700px;
    top: -60px;
    left: calc(50% - 350px - 50px);
    z-index: 2147483647;
    font-family: var(--font-family);
    font-size: 16px;
    font-weight: 400px;
    color: #323232;
    opacity: 1;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
    padding: 10px 50px;
    line-height: 21px;
    min-height: 30px;
}
#popupwebshop.valide {
    background-color: #d4fec0;
}
#popupwebshop.error {
    background-color: #fec0c0;
}

/* Version mobile */
.navbar-header-items-burger {
    display: none;
    align-items: center;
}
.navbar-show-pc {
    display: flex;
    gap: 40px;
}
.mobile-commandes-liste {
    display: none;
}
.mobile-info-liste {
    display: none;
}

@media screen and (max-width: 1708px) {
    .produit-detail .produit-img-principal {
        width: 100%;
    }
}

@media screen and (max-width: 1280px) { /*NIV 1.*/
    .main-shopping {
        max-width: 980px;
    }
    .commande-container {
        max-width: 980px;
    }
    .container-result {
        max-width: 980px;
    }
    .shop-product-image-container {
        width: 200px;
        height: 222.22px;
        min-width: 200px;
        min-height: 222.22px;
    }
    .shop-product-image {
        max-height: 200px;
    }
    .footer-section {
        margin-left: auto;
        margin-right: auto;
        padding-left: 15px;
        padding-right: 15px;
        width: auto;
    }
    .produit-detail.contact-detail { /**/
        padding-right: 0;
        padding-left: 0;
        margin-left: 104px;
        margin-right: 104px;
    }
    .shop-product-button {
        padding: 8.5px 12.5px;
        font: normal normal normal 14px/25px var(--font-family);
    }
    .shop-product-btncard.wishlist-icon {
        width: 42px;
        height: 42px;
    }
    .produit-detail-article {
        padding-right: 0;
        padding-left: 0;
        margin-left: 104px;
        margin-right: 104px;
    }
    .produit-detail-article .produit-img-principal {
        width: 100%;
    }
    .produit-autre-img-detail {
        width: 100%;
        height: auto;
    }
}

@media screen and (max-width: 1020px) { /*NIV 2*/
    .shop-vue {
        grid-template-columns: 1fr 1fr;
    }
    .main-shopping {
        max-width: 740px;
        margin-top: 80px;
    }
    .commande-container {
        max-width: 740px;
        margin-top: 0px;
    }
    .commande-container .gen1-haut {
        margin-top: 60px;
    }
    .gen1-container .gen1-haut {
        margin-top: 60px;
    }
    .panier-bas {
        margin-top: 60px;
    }
    .container-result {
        max-width: 740px;
        margin-top: 80px;
    }
    .shop-product-image-container {
        width: 195.86px;
        height: 217.61px;
        min-width: 195.86px;
        min-height: 217.61px;
    }
    .footer-section {
        margin-left: auto;
        margin-right: auto;
        padding-left: 60px;
        padding-right: 60px;
        width: auto;
    }
    .footer-container {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: auto;
        gap: 20px;
    }
    .footer-items-image, .footer-items-contact, .footer-items-trouve,.footer-items-news {
        width: 100%;
    }
    .produit-detail.contact-detail {
        padding: 60px 0 30px 0px;
        margin-left: 64px;
        margin-right: 64px;
        gap: 40px;
    }
    .gen1-container {
        width: auto;
        padding-left: 15px;
        padding-right: 15px;
    }
}

@media screen and (max-width: 1050px) {
    .navbar-show-pc {
        display: none; /* cache les boutons sur petit écran */
    }
    .navbar-header-items-burger {
        display: flex;
    }
}
@media screen and (max-width: 900px) { /*CERTAIN*/
    .produit-contenu {
        flex-direction: column;
        align-items: center;
    }
    .produit-detail {
        padding: 60px 5vw 30px 5vw;
        margin-left: 0;
        margin-right: 0;
    }
    .produit-detail-article {
        padding-top: 104px;
    }
    .produit-img-principal {
        width: 100%;
    }
    .folddepliable  {
        padding: 25px 0px 25px 0px;
    }
    .folddepliable .folddepliable-header {
        padding: 0 25px 0 25px;
    }
    .folddepliable .folddepliable-content .inner {
        padding-left: 25px;
        padding-right: 25px;
    }
    .produit-right {
        width: 100%;
    }
}
@media screen and (max-width: 890px) { /* Panier */
    .panier-bas {
        flex-direction: column;
        gap: 15px;
    }
    .panier-passercomm {
        width: 100%;
    }
    .panier-passercomm .gen1-new-link {
        margin-top: 0;
    }
    .panier-scroll-droite {
        position: relative;
        top: 0;
    }
    .commande-container .panier-bas .commande-details {
        width: 100%;
    }
    .commande-container .panier-bas .commande-details #formNewCommande {
        width: 100%;
        padding-bottom: 25px;
    }
    .profil-container {
        flex-direction: column;
    }
    .profil-container .profil-gauche {
        display: flex;
        flex-direction: row;
    }
    .profil-container .profil-gauche .btn-profil-gauche {
        padding-top: 10px;
        padding-bottom: 10px;
    }
    .profil-container .profil-gauche .backicone-menu {
        min-width: 20px;
        min-height: 20px;
    }
    .wishlist-profil {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
    }
    .wishlist-profil .shop-product-image-container {
        width: 100%;
        height: auto;
        max-width: 326px;
        min-width: 160px;
        aspect-ratio: 326 / 362.22;
    }
}

@media screen and (max-width: 720px){
    .wishlist-profil {
        grid-template-columns: 1fr 1fr;
    }
    .wishlist-profil .shop-product-image {
        width: 100%;
        height: auto;
        max-height: none;
    }
}

@media screen and (max-width: 768px){ /*MOBILE*/
    .main-shopping {
        max-width: 100%;
        padding-right: 15px;
        padding-bottom: 0px;
        padding-left: 15px;
        flex-direction: column;
        margin-top: 60px;
    }
    .commande-container {
        max-width: 100%;
        padding-right: 15px;
        padding-bottom: 40px;
        padding-left: 15px;
        flex-direction: column;
    }
    
    .container-result {
        max-width: 100%;
        padding-right: 15px;
        padding-bottom: 0px;
        padding-left: 15px;
        flex-direction: column;
        margin-top: 60px;
    }
    .commande-container .container-result {
        padding-right: 0;
        padding-left: 0;
        margin-top: 0;
    }
    .commande-container .shopping-search-container {
        display: none;
    }
    .shop-vue {
        grid-column-gap: 30px;
        grid-row-gap: 25px;
    }
    .shopping-left {
        width: 100%;
    }
    .shopping-search-container .shopping-search {
        width: 100%;
    }
    .shop-product-image-container {
        width: 100%;
        height: auto;
        max-width: 326px;      /* taille max en largeur */
        min-width: 160px;      /* largeur minimale pour ne pas être illisible */
        aspect-ratio: 326 / 362.22; /* garde toujours le bon ratio */
    }
    .shop-product-image {
        /*width: 100%;
        height: auto;
        max-height: none;*/
        width: auto;
        max-height: 200px;
        height: 100%;
    }
    .footer-section {
        padding-left: 15px;
        padding-right: 15px;
    }
    .footer-container {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    .footer-grid-col-3 {
        grid-column: auto;
    }
    .produit-detail.contact-detail {
        flex-direction: column-reverse;
        margin-left: 0;
        margin-right: 0;
        padding: 60px 5vw 30px 5vw
    }
    .contact-right {
        width: 100%;
    }
    .contact-left {
        width: 100%;
    }
    .shop-product-button {
        padding: 12.5px 37px;
        font: normal normal normal 16px/25px var(--font-family);
    }
    .shop-product-btncard.wishlist-icon {
        width: 50px;
        height: 50px;
    }
    .profil-container .profil-gauche .btn-profil-gauche {
        width: 180px;
    }
    .wishlist-profil .shop-product-image {
        width: auto;
        max-height: 200px;
        height: 100%;
    }
}

@media screen and (max-width: 608px) {
    .profil-container .profil-gauche  {
        flex-direction: column;
    }
    .profil-container .profil-gauche .btn-profil-gauche {
        width: 100%;
        max-width: none;
    }
    .profil-container .table-commandes {
        display: none;
    }
    .table-commandes {
        display: none; /* on cache la table classique */
    } 
    .section-profil .gen1-sous-titre {
        margin-top: 0;
    }
    .mobile-commandes-liste {
        display: flex;
        flex-direction: column;
        gap: 20px;
        width: 100%;
    }
    /* On affiche les cartes en mobile */
    .mobile-commandes-card {
        border: 1px solid var(--selector-border-color);
        border-radius: 30px;
        padding: 40px;
        font-family: var(--font-family);
        font-size: 14px;
        font-weight: 500;
        color: var(--modal-color-produit);
    }
    .mobile-commandes-header {
        display: flex;
        justify-content: space-between;
        padding-bottom: 20px;
        border-bottom: 1px solid var(--color-base-shopping);
    }
    .mobile-commandes-row {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
    }
    .mobile-commandes-row strong {
        font-size: 15px;
        font-weight: 500;
        color: var(--color-textGrandPage);
    }
    .mobile-commandes-body {
        display: flex;
        gap: 10px;
        flex-direction: column;
        padding-top: 20px;
        padding-bottom: 20px;
    }
    .mobile-commandes-footer {
        padding-top: 20px;
        text-align: right;
        border-top: 1px solid var(--color-base-shopping);
        display: flex;
        justify-content: flex-end;
    }
    .mobile-commandes-footer a {
        font-size: 14px;
        color: var(--color-primary, #333);
        text-decoration: underline;
    }
    .mobile-info-liste {
        display: flex;
        flex-direction: column;
        gap: 20px;
        width: 100%;
    }
}

@media screen and (max-width: 525px){ /*MOBILE*/
    .shop-vue {
        grid-template-columns: 1fr;
        grid-column-gap: 40px;
        grid-row-gap: 40px;
    }
    .shop-product-image-container {
        max-width: 100%;
        min-width: 100%;
    }
    .afterHeader-page {
        height: auto;
    }
    .afterHeader-page .textDescriptionPage {
        font-size: 34px;
    }
    .afterHeader-page .containerTextHeader {
        padding-bottom: 20px;
    }
    .footer-container {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .footer-section {
        padding-top: 30px;
        padding-bottom: 30px;
    }
    .footer .horizontal-bar {
        margin-top: 20px;
        margin-bottom: 20px;
    }
    .footer-barinf-items {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        gap: 10px;
    }
    .footer-barinf {
        margin-left: 0;
        margin-right: auto;
    }
    .contact-right .semichamp-container {
        flex-direction: column;
        gap: 0;
    }
    .contact-right .semichamp-container .champ-drop.petit-champ {
        width: 100%;
        max-width: none;
    }
    .produit-left {
        width: 100%;
    }
    .produit-tabs {
        flex-wrap: wrap;
        gap: 10px 30px;
    }
    .produit-contenu {
        align-items: flex-start;
    }
    .produit-right {
        min-width: auto;
    }
    .produit-descbas {
        padding-bottom: 30px;
    }
    .produit-detail-article .counter-stock {
        flex-direction: column;
    }
    .produit-detail-article .counter-stock .counter-info-stock {
        margin-top: 15px;
    }
    .modalalerte-modal {
        width: calc(100% - 20px);
    }
    .shop-product-image {
        width: auto;
        max-height: 300px;
        height: 100%;
    }
    .wishlist-profil .shop-product-image-container {
        max-width: 100%;
        min-width: 100%;
    }
    .wishlist-profil .shop-product-image {
        width: auto;
        max-height: 300px;
        height: 100%;
    }
    .wishlist-profil {
        grid-template-columns: 1fr;
    }
}

@media screen and (max-width: 420px) {
    .votrepanier-produit .votrepanier-produit-item {
        flex-direction: column;
    }
    .panier-bas .thproduit {
        width: 40%;
    }
    .panier-bas th:not(.thproduit) {
        width: 20%;
    }
    .panier-soustotal {
        min-width: 120px;
    }
    .footer-connexion-modal {
        flex-direction: column;
    }
    .cart-modal .zonegauchedroitespace {
        flex-direction: column;
        gap: 10px;
    }
} 