/* CSS CUSTOM S2I EVOLUTION */

#stores #locationSelect {
  margin: 20px 0px;
}

.mm-close:after {
  font-size: 30px !important;
}

.mm-page {
  background: #fff !important;
}

#relatedproducts {
  padding: auto 0px;
}

.newsletter-group i,
.widget-social i {
  vertical-align: middle !important;
}

/* STYLE HEADER */
.header1 #header-main {
  background: #e42540 !important;
}

/* */
/* img.logo {
  width: 100%;
  object-fit: cover;
} */

/** YJ Nouvelle top bar **/

.header3 #topbar {
  height: 42px;
  background: #ffcf21 !important;
  color: #2d2c78 !important;
  padding: 0;
  font-weight: 500;
  font-size: 0.95em;
  font-family: "Montserrat", serif;
  /* contain: layout; */
  /* Ajouter ceci - isole le layout */
  /* will-change: auto; */
  /* Évite les optimisations GPU prématurées */
}

.header3 #topbar a {
  color: #2d2c78 !important;
}

.topbar .container {
  height: 42px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0px 15px;
}

/* Dimensions minimales pour chaque top-item */
#top-delivery {
  min-width: 150px;
}

#top-ref {
  min-width: 200px;
}

#top-destockage {
  min-width: 110px;
}

#top-catalog {
  min-width: 160px;
}

#top-tel {
  min-width: 220px;
}

@media (max-width: 1380px) {
  .topbar .container {
    /* padding: 4px 10px 4px 100px; */
    padding: 0 10px 0 100px;
  }

  .header3 #topbar {
    font-size: 0.9em;
  }
}

@media (max-width: 1048px) {
  .header3 #topbar {
    font-size: 0.85em;
  }

  .topbar .container {
    justify-content: flex-end;
  }

  .top-item {
    margin-right: 15px;
  }
}

.top-item {
  display: flex;
  align-items: center;
  height: 28px;
  line-height: 1;
}

/* .top-item span {
  display: inline-block;
  display: inline-block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: max-content;
} */

.top-item#top-catalog a {
  display: flex;
  align-items: center;
}

/* .icone-catalog {
  transform: rotate(-10deg);
  animation: pulse-catalog 2s infinite;
}

@keyframes pulse-catalog {
  0% {
    transform: rotate(-10deg) scale(1);
  }

  50% {
    transform: rotate(-10deg) scale(1.1);
  }

  100% {
    transform: rotate(-10deg) scale(1);
  }
} */

/* .top-item ion-icon {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  margin-right: 8px;
} */

/* Forcer les dimensions des icônes immédiatement */
.top-item ion-icon {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  margin-right: 8px;
  display: block;
  min-width: 28px;
  min-height: 28px;
}

/* Forcer le rendu des icônes ion-icon */
.top-item ion-icon::part(native) {
  width: 28px;
  height: 28px;
}

/* Alternative : cibler le contenu du shadow DOM */
.top-item ion-icon svg {
  width: 28px;
  height: 28px;
  display: block;
}

#button-destockage {
  background: #da0404;
  border: none;
  padding-top: 3px;
  padding-bottom: 3px;
}

.button-destockage {
  color: #f1f1f1;
  font-size: 16px;
  font-weight: 500;
}

#top-tel a {
  font-size: 1em;
  display: flex;
  align-items: center;
}

#top-tel .text-container {
  display: flex;
  flex-direction: column;
}

/* #top-tel .text-container span {
  line-height: 1.3;
} */

/** Fin Nouvelle top bar **/

/** YJ Nouvelle header main 'contenant logo, recherche et mon compte et navigation **/

.header3 #header-main {
  display: flex;
  align-items: center;
  padding: 0 120px 6px 120px;
  min-height: 188px;
}

@media (max-width: 992px) {
  .header3 #header-main {
    display: none;
  }
}

.container-droite {
  display: flex;
  flex-direction: column;
}

@media (min-width: 1200px) {
  .container-droite.container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

@media (max-width: 1240px) {
  .container-droite.container {
    width: 100% !important;
  }

  .header3 #header-main {
    padding: 0 20px;
  }
}

.row-container-droite.row {
  margin-left: 0 !important;
  margin-right: 0 !important;
  min-height: 75px;
}

/* hack pour éviter les saut d'affichage en fonction de l'affichage Bureau ou ecole*/
/* Cacher les deux items par défaut */
.megamenu>li.c9,
.megamenu>li.c10 {
  display: none !important;
}

/* Afficher selon le contexte */
.main-menu.school .megamenu>li.c9 {
  display: flex !important;
}

.main-menu:not(.school) .megamenu>li.c10 {
  display: flex !important;
}

/* fin hack */

.header3 #header-main,
.header3 #pts-mainnav,
.header3 #pts-mainnav .inner {
  background: transparent;
  border: none;
}

.header3 #pts-mainnav {
  width: 100% !important;
}

.header3 #pts-mainnav .container {
  width: 100% !important;
}

.header3 #header_logo {
  padding: 10px;
  width: 148px;
  height: 178px;
  position: absolute;
  top: 6px;
  z-index: 9992;
}

@media (max-width: 1680px) {
  .header3 #header_logo {
    width: 140px;
    left: 22px;
  }
}

@media (max-width: 1580px) {
  .header3 #header_logo {
    width: 130px;
  }
}

/* Style ligne recherche, commande facile et mon compte */
.row-container-droite {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: "Montserrat", serif !important;
}

/* Bloc recherche, pour le style la liste des résultats proposés, voir ptsblocksearch.css du theme pf_golmart*/
.header-search {
  flex: 1.8;
  min-width: 200px;
  margin-right: 20px;
}

.ac_results {
  position: absolute;
  top: 100%;
  left: 0;
  box-sizing: border-box;
  background: white;
  z-index: 999;
  border-radius: 3px;
  border: none;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  -webkit-font-smoothing: antialiased;
}

.ac_results ul {
  max-height: 600px;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-content: flex-start;
}

.ac_results li {
  padding: 10px;
  font-weight: normal;
  color: #686666;
  font-size: 13px;
  line-height: 22px;
  width: calc(50% - 20px);
  margin: 5px;
  box-sizing: border-box;
  flex: 1 1 calc(50% - 20px);
}

.ac_results li:first-child {
  border-top: 0;
}

.ac_results li .name {
  color: #000;
  margin-bottom: 15px;
}

.ac_results li.ac_odd {
  background: white;
}

.ac_results li:hover,
.ac_results li.ac_over {
  background: #f3f9fe;
}

.more-results {
  margin: 20px;
}

/* @media (max-width: 767px) {
  .header-search {
    display: none;
  }
} */

/* @media (max-width: 767px) {
  #pts_search_block_top .button-search {
    background: #f18700 !important;
    border-radius: 0px;
  }
} */

/* Bloc compte */
.header3 .header-right {
  flex: 2;
  display: flex;
  justify-content: space-between;
  margin-bottom: 0;
  margin-left: 20px;
  margin-right: 20px;
}

/* commande facile */
#commande-facile,
.my_account,
#panier-rapide {
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
  position: relative;
}

#commande-facile {
  flex: 1;
}

#commande-facile span {
  color: #f8f8ff;
}

.my_account {
  flex: 2;
}

#panier-rapide {
  flex: 1;
}

.my-account-container {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.my-account-container ion-icon {
  margin-right: 10px;
}

/* YJ Integration de la feuille de style blockuserinfo.css dans le costum.css
 */
/* block top user information */

#header_right #header_user {
  clear: both;
  float: right;
  margin-top: 8px;
}

#header_right #header_user.header_user_catalog {
  margin-top: 15px;
  min-height: 60px;
}

#header_user #header_nav {
  list-style-type: none;
  float: right;
}

/* cart */
.lt-ie6 #shopping_cart {
  width: 130px;
}

#shopping_cart a {
  height: 15px;
  padding: 15px 27px 10px 43px;
  background: url('img/icon/cart.gif') no-repeat 10px 9px #eee;
  min-width: 130px;
  /* 200 */
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  display: block
}

#shopping_cart a:hover span {
  text-decoration: none
}

#header_user #shopping_cart .ajax_cart_quantity {
  font-weight: bold;
  font-size: 18px
}

#header_user #shopping_cart .ajax_cart_total {
  display: none !important;
}


/* account */
#header_user #your_account {
  display: none;
}

#header_user #your_account a {
  background-image: url('img/icon/my-account.gif')
}

/* user infos */
#header_user_info {
  clear: both;
  float: right;
  margin-top: 10px;
  padding: 0 10px 0 0;
  font-size: 12px
}

.rtl #header_user_info {
  padding-left: 10px;
  padding-right: inherit;
}

#header_user_info a {
  display: inline-block;
  margin: 0 0 0 10px;
  padding: 3px 0 0 34px;
  line-height: 11px;
  border-left: 1px solid #000
}

#header_user_info a:hover {
  text-decoration: underline;
}

#header_user_info a.account {
  border: none;
  display: inline;
  margin: 0;
  padding: 0;
}

.header_user_info ul li {
  line-height: 24px;
  font-size: 11px;
}

.header_user_info ul li i {
  margin-right: 6px;
}

.rtl .header_user_info ul li i {
  margin-left: 6px;
  margin-right: inherit;
}

.header_user_info ul li a:hover {
  font-weight: bold;
}

*:first-child+html #header_user_info a {
  line-height: 14px;
}

#header_user_info a.login {
  background: url('img/icon/login.gif') no-repeat 10px 0
}

#header_user_info a.logout {
  background: url('img/icon/logout.png') no-repeat 10px -1px
}


/* FinIntegration de la feuille de style blockuserinfo.css dans le costum.css
 */

.user-info {
  display: flex;
  flex-direction: column;
}

.nom-user-connecte,
.compagny-user-connecte {
  color: #f8f8ff;
  text-transform: uppercase;
  font-size: 13px;
  text-align: center;
}

.nom-user-connecte {
  font-weight: 600;
}

.login_btn {
  text-align: center;
  color: #f8f8ff;
  cursor: pointer;
}

.login_btn:hover {
  color: #ffcf21;
}

#commande-facile ion-icon,
.my_account ion-icon {
  margin-bottom: 10px;
}

.commande-facile-dropdown,
.account-dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background-color: #f8f8ff;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  z-index: 1000;
  border-radius: 3px;
}

.commande-facile-dropdown::before,
.account-dropdown::before {
  content: "";
  position: absolute;
  top: -20px;
  left: 10px;
  border-width: 10px;
  border-style: solid;
  border-color: transparent transparent #f8f8ff transparent;
  z-index: 1001;
}

.commande-facile-dropdown::before {
  left: 10px;
}

.account-dropdown::before {
  left: 30px;
}

.commande-facile-dropdown {
  width: 200px;
}

.account-dropdown {
  width: 300px;
}

.commande-facile-dropdown ul,
.account-dropdown ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.commande-facile-dropdown ul li,
.account-dropdown ul li {
  padding: 10px;
  margin: 0;
  width: 100%;
}

.commande-facile-dropdown ul li:hover,
.account-dropdown ul li:hover {
  background-color: #f3f9fe;
  border-radius: 3px;
}

.commande-facile-dropdown ul li a,
.account-dropdown ul li a {
  text-decoration: none;
  color: #333;
  display: flex;
  align-items: center;
}

#commande-facile .commande-facile-dropdown ul li a ion-icon,
.my_account .account-dropdown ul li a ion-icon {
  margin-right: 12px;
  margin-bottom: 0;
}

.my_account .account-dropdown ul li a .icone-logout {
  margin-right: 6px;
}

#commande-facile:hover .commande-facile-dropdown,
.my_account:hover .account-dropdown {
  display: block;
}

/* Animation pour un effet plus fluide */
.commande-facile-dropdown,
.account-dropdown {
  opacity: 0;
  transition: opacity 0.3s ease;
}

#commande-facile:hover .commande-facile-dropdown,
.my_account:hover .account-dropdown {
  opacity: 1;
}

/* fin commande facile */

.row-container-droite-haut {
  padding-top: 15px;
  padding-bottom: 10px;
}

@media (max-width: 1580px) {
  .row-container-droite-haut {
    padding-right: 15px;
    padding-left: 40px;
  }
}

@media (max-width: 1240px) {
  .header3 #header_logo {
    width: 120px;
  }

  .row-container-droite-haut {
    padding-right: 0;
    padding-left: 100px;
  }

  .row-container-droite-haut .header-right {
    margin-left: 0;
    margin-right: 0;
    max-width: 380px;
  }

  .row-container-droite-haut .header-search {
    max-width: 400px;
  }
}

@media (max-width: 991px) {
  .header-right {
    display: none;
  }
}

/* Fin style ligne recherche et mon compte */

@media (max-width: 991px) {
  .header-right {
    display: none;
  }
}

/** Fin Nouvelle header main 'contenant logo, recherche et mon compte **/

.layered_filter_ul li span {
  /* color: grey !important; */
}

@media screen and (min-width: 992px) and (max-width: 1199px) {
  #baseline_logo {
    font-size: 12px;
  }
}

/* @media screen and (min-width: 992px) {
  #search_item {
    display: none;
  }
} */

/** Header et navigation en mobile **/
@media screen and (max-width: 992px) {
  #header-main-mobile {
    background: #ffcf21 !important;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 50px;
  }

  #header-main-mobile #header_logo_mobile {
    flex: 0 0 auto;
    padding: 10px;
  }

  #header_logo_mobile img {
    width: 65px;
  }

  .user-info {
    align-items: center;
  }

  .nom-user-connecte,
  .compagny-user-connecte {
    font-size: 16px;
    font-weight: 500;
  }

  .user-info img {
    width: 60%;
  }

  .PM_ASBlockOutput .title_block {
    border: 2px solid #333;
    text-align: center;
    margin-bottom: 10px;
    cursor: pointer;
  }

  .PM_ASBlockOutput .title_block:hover {
    background: #333;
    color: white;
  }

  .pophelp {
    position: fixed;
    top: 27px;
    left: 27px;
    padding: 10px 20px 10px 20px;
    background: #fff;
    z-index: 99999;
    box-shadow: #b4b4b4 2px 2px 4px;
  }

  .pophelp a {
    color: #e42540;
  }

  .close_pophelp_btn {
    cursor: pointer;
    color: red;
    text-align: right;
  }

  #left-icon i,
  #left-icon i:hover {
    color: #1f318c !important;
    font-size: 20px;
    cursor: pointer;
  }

  #item1,
  #item2 {
    z-index: 9999999;
    font-size: 20px;
  }

  #search_item {
    margin-bottom: 10px;
    background: inherit;
    display: none;
  }

  #item1 .mm-panels .block .block_content {
    font-size: 40px;
  }

  button[class="navbar-toggle"] {
    display: none;
  }

  .navbar {
    min-height: 0px !important;
  }

  .header3 .topbar,
  .main-menu,
  #pts-mainnav {
    display: none !important;
  }

  #cart {
    display: flex;
    justify-content: center;
    align-items: center;
    background: url(../img/data/icon-shopping-cart-mobile.png) center center no-repeat;
    content: "";
    width: 26px;
    height: 23px;
    margin: 0 auto;
  }

  #button_order_cart a {
    color: #fff !important;
  }

  #mini-cart-count-price,
  .ajax_cart_total {
    font-size: 14px !important;
    font-weight: bold !important;
  }

  .mobile-nav .past {
    top: -8px;
    left: 20px;
    line-height: 18px;
    min-width: 18px;
  }

  .mm-opened .list-unstyled {
    display: block !important;
  }

  span .grower {
    display: none !important;
  }
}

@media screen and (max-width: 480px) {
  #header_logo_mobile img {
    width: 50px;
  }

  #header-main-mobile #header_logo_mobile {
    padding: 5px;
  }

  #header-main-mobile {
    padding: 0 20px;
  }
}

@media screen and (max-width: 990px) {
  .grower {
    display: none !important;
  }
}

@media screen and (min-width: 993px) {

  .mobile-nav,
  #item1,
  #item1bis,
  #left-icon,
  .pophelp {
    display: none;
  }
}

@media screen and (max-width: 1319px) {
  .dropdown-toggle {
    padding: 8px 20px !important;
  }
}

/* mobile nav */
.item1 .mm-navbar {
  background: #222222;
  height: 100%;
}

.mobile-nav ul li,
.mobile-nav ul li a,
.mobile-nav ul li a:hover,
.mobile-nav ul li a:visited {
  color: #fff !important;
}

.mobile-nav {
  width: 100%;
  z-index: 999;
  padding: 0px !important;
}

#mobile-nav {
  width: 100%;
}

#mobile-nav ul {
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px;
  list-style: none;
}

#mobile-nav ul li {
  flex: 1;
  text-align: center;
}

#mm-blocker {
  background: #000 !important;
  opacity: 0.4 !important;
}

/* main nav */

.pts-mainnav {
  z-index: 999;
}

/* YJ Style éléments du dropmenu mobilier */
.lien-destockage {
  font-size: 20px;
  padding: 45px 20px 30px 20px;
}

.lien-destockage a {
  color: #da0404;
  line-height: 30px;
}

#pts-top-menu {
  display: flex !important;
  justify-content: space-between !important;
  /* Ou utilisez space-around, space-evenly selon vos besoins */
}

@media screen and (min-width: 991px) and (max-width: 1068px) {
  #pts-top-menu {
    margin-top: -16px;
  }
}

.navbar-nav {
  display: flex !important;
  width: 100% !important;
}

#pts-top-menu>ul>li.c10.aligned-fullwidth.parent.dropdown>div>div>div:nth-child(2)>div {
  width: 100% !important;
  padding: 30px 20px;
}

.adresse-showroom {
  font-size: 22px;
  text-align: center;
  color: #666666;
}

.adresse-showroom a:hover {
  color: #1f318b;
}

/* YJ Fin style éléments du dropmenu mobilier */

#pts-verticalmenu .title_block {
  font-size: 20px !important;
}

.header1 #pts-mainnav,
.header1 #pts-mainnav .inner {
  z-index: 999;
  background: #222222 !important;
}

.verticalmenu .title_block span:first-child {
  font-family: "Afacad", serif;
  font-weight: 500;
}

.lienCatFR .dropdown-toggle {
  padding: 13px 20px !important;
}

.btn-logg {
  position: absolute;
  left: 45px;
  top: 32px;
  font-size: 16px;
}

/* cart */
.past {
  display: block !important;
  position: absolute;
  top: -4px;
  left: 30px;
  background: #ffcf21;
  line-height: 22px;
  min-width: 22px;
  text-align: center;
  color: #2d2c78;
  padding: 0 3px;
  font-size: 12px;
  font-weight: 600;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  -ms-border-radius: 100%;
  -o-border-radius: 100%;
  border-radius: 100%;
}

.header3 #cart .mini-cart a:before {
  background: url(../img/data/icon-shopping-cart.png) center center no-repeat;
  content: "";
  display: inline-block;
  width: 46px;
  height: 40px;
}

.mini-cart .cart-inner {
  position: relative;
  height: 100% !important;
}

#pts-mini-cart {
  padding: 0;
}

.cart-title,
.ajax_cart_total,
.mini-cart-count {
  font-size: 16px !important;
  color: #f8f8ff;
}

.identify {
  text-decoration: underline;
}

.identify:hover {
  text-decration: none;
}

/* vertical menu */
div.verticalmenu .navbar-nav>li>a {
  color: #222222 !important;
}

.verticalmenu {
  cursor: pointer;
}

/* FIN STYLE HEADER */

/* DEBUT STYLE FOOTER */

/* .biopaj {
  padding: 10px;
  text-align: right;
}

.biopaj img {
  border-radius: 5px;
} */
.footer-top {
  display: table;
  vertical-align: middle;
  width: 100%;
  padding: 15px 0;
}

.newsletter,
.biopaj {
  display: table-cell;
  vertical-align: middle;
}

.btn-newsletter i {
  transform: rotate(0deg) !important;
}

@media screen and (max-width: 767px) {
  #layered_block_left h4 {
    cursor: pointer;
  }

  #layered_block_left h4:after {
    content: "+";
    font-size: 25px;
    position: absolute;
    right: 0;
  }

  #layered_block_left h4.active:after {
    content: "-";
    font-size: 25px;
    position: absolute;
    right: 0;
  }

  /* .biopaj {
    text-align: center;
  } */
  .newsletter .newsletter-group,
  .newsletter-v8 {
    width: 100%;
  }
}

.footer-bottom {
  margin: 10px 0 -20px 0 !important;
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
}

.footer-assign {
  text-align: center;
  height: 150px;
  display: table;
  width: 100%;
}

.footer-assign i {
  font-size: 50px;
}

.footer-assign p {
  width: 100%;
  display: table-cell;
  vertical-align: middle !important;
  font-size: 16px;
}

.footer-assign .title {
  font-family: Verdana;
  font-weight: bold;
}

.footer-assign .info {
  font-size: 14px;
}

/* .biopaj_footer p {
  font-size: 12px !important;
  line-height: 15px;
} */

.nav-links a:hover {
  color: #1f318b !important;
}

/* FIChE PRODUIT */

.sendtofriend {
  display: none;
}

.more_infos {
  display: none !important;
}

.others_link_tab {
  cursor: pointer;
}

.more-btn {
  cursor: pointer;
  color: #1f318b;
}

/* attributs du produit version mobile */
@media only screen and (max-width: 600px) {
  .more_infos {
    display: inline-block !important;
    float: right;
  }

  .others_link_tab {
    display: none !important;
  }

  #product_comments_block_tab p {
    display: block !important;
  }

  #new_comment_tab_btn {
    font-size: 10px !important;
    width: 100% !important;
  }

  .more_infos {
    float: right;
    cursor: pointer;
  }

  .infos-active {
    font-size: 15px !important;
  }

  .tab {
    cursor: pointer;
  }
}

/* Masque le texte des icones socialSharing */
@media screen and (max-width: 991px) {
  .social_span {
    display: none;
  }

  .socialsharing_product button {
    padding: 0px 5px;
  }

  .content_prices .price .content_prices .price {
    font-size: 1.1em !important;
  }
}

/* REDUCTION % ET NOUVEAUTE */
/* conteneur pour réduction et nouveauté */
.product-labels {
  position: absolute;
  top: 5px;
  right: -1px;
  display: flex;
}

.product-label {
  position: static;
  /* on enlève le absolute ici définie dans global.css*/
  padding: 2px 6px;
}

.product-label-prod span {
  font-size: 16px;
  padding: 6px !important;
}

.product-label.sale-box.nouveaute span {
  background-color: #7cb0b2 !important;
}

@media screen and (max-width: 480px) {
  .product-labels {
    top: 2px;
    right: 0;
  }

  .product-label {
    padding: 2px;
  }

  .product-label-prod span {
    font-size: 16px;
  }
}

/* LAYER CART */
#layer_cart {
  font-size: 16px;
  width: 800px;
  right: 0px !important;
  left: inherit !important;
}

@media screen and (max-width: 991px) {
  #breadcrumb {
    margin-top: 50px;
  }
}

.pts-condition {
  padding: 0px !important;
  border: none !important;
}

/* IMG-BLOCK */
#image-block {
  border: 1px solid #e1e1e1;
}

/* YJ Thumbnails sous image produit */

#thumbs_list li {
  border: none;
}

#view_scroll_left:before,
#view_scroll_right:before {
  color: #1f318b;
}

#view_scroll_left:hover:before,
#view_scroll_right:hover:before {
  color: #f1e904;
}

#thumbs_list ul#thumbs_list_frame {
  margin-top: 4px;
  height: 100px;
}

#thumbs_list li img {
  width: 100%;
  height: 100%;
}

#thumbs_list li a:hover,
#thumbs_list li a.shown {
  border: 0.5px solid #dbdbdb;
}

/* Fin style personnalisé thumnails */

.pb-right-column {
  padding: 0px 20px;
}

#product p {
  font-size: 1.1em;
}

/* Titre h1*/
.product-title p {
  padding-bottom: 10px;
}

#stars {
  padding: 0 10px;
}

#stars i,
#link-stars i {
  padding: 0 3px;
}

#stars i {
  color: #fdbf20;
}

/* REFERENCE PRODUIT */

/* SIZE */
/* #group_4 {
  width: 70px;
} */
.sizediv ul {
  display: table;
  width: 100%;
}

.sizediv ul li {
  display: inline-block;
}

.attribute_label {
  font-size: 16px;
}

/* COLOR */
.colordiv {
  padding-left: 5px;
  border-left: 3px solid #e42540;
}

.colordiv ul {
  display: table;
  width: 100%;
}

.colordiv ul li {
  display: table-cell;
  vertical-align: top;
}

#colorTitle {
  font-size: 16px;
  padding-right: 5px;
  width: 86px;
}

#color_to_pick_list {
  padding-top: 2px;
  padding-left: 2px;
}

#pricedelay_span:hover {
  color: red;
}

#pricedelay_span {
  cursor: pointer;
}

#attributes .attribute_list #color_to_pick_list li img {
  border: 1px solid #000;
}

#attributes .attribute_list #color_to_pick_list li.selected img {
  border: 1px solid red;
}

/* QUANTITE */
#quantity_wanted_p {
  position: relative;
  font-size: 16px;
  margin: 18px 0 20px 0;
}

/* PRIX */

.content_prices .price {
  font-size: 25px !important;
  font-weight: 700;
  color: #1f318b;
}

.content_prices {
  padding: 15px 0 5px;
}

.prices_item {
  padding: auto 0px !important;
  display: block important;
}

.content_prices .price {
  font-size: 25px;
}

.our_price_display {
  font-size: 25px;
  margin-bottom: 0;
}

#old_price {
  padding-right: 5px !important;
  float: none !important;
  padding-left: 5px;
  font-size: 16px !important;
}

#old_price_display {
  /* font-size: 16px !important; */
  /* color: #e42540; */
}

.info_product_right_column {
  padding: 15px 0;
}

.add_section {
  padding-top: 20px;
}

/* SIZE */
#Wsize {
  text-decoration: underline;
  padding-left: 15px;
  font-size: 16px;
  cursor: pointer;
}

.description_right {
  padding: 35px 0 35px 15px;
}

.description_right {

  h2,
  h3 {
    color: #1f318b;
  }
}

.description_right h2,
.description-courte h2 {
  font-size: 24px;
  font-weight: 600;
  font-style: italic;
}

.description_right h3,
.description-courte h3 {
  font-size: 22px;
  font-weight: 500;
  font-style: italic;
}

.short-description {
  color: #1F318B;
  font-size: 1.1em;
  text-align: justify;
  display: -webkit-box;
  -webkit-line-clamp: 5;
  /* ou le nombre de lignes souhaité */
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* YJ Ne pas afficher la description en version mobile */
@media (max-width: 992px) {
  .description_right {
    display: none;
  }

  .short-description {
    display: none;
  }
}

.form_price_demand {
  color: red !important;
}

/* SHARING */

.social_send {
  border-top: 2px solid #ccc;
}

.social_send_title,
.social_send_btns {
  text-align: center;
}

.social_send_title {
  background: #fff;
  margin-top: -14px;
  width: 160px;
  margin-left: auto;
  margin-right: auto;
}

/* ADD TO CART BTN */
#add_to_cart button {
  border-radius: 3px;
  width: 100%;
  height: 51px;
  outline: none;
  background: #1f318b !important;
  border-color: #1f318b !important;
  transition: all linear 0.2s;
}

#add_to_cart button:hover {
  background: #f1e904 !important;
  border-color: #f1e904 !important;
  color: #1f318b;
}

#add_to_cart a.btn {
  border-radius: 3px;
  width: 100%;
  /*height: 51px;*/
  outline: none;
  background: #424f93 !important;
  border-color: #424f93 !important;
  color: #fff !important;
  transition: all linear 0.2s;
  font-weight: 900;

  display: inline-block;
  margin-bottom: 0;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  border: 1px solid transparent;
  white-space: nowrap;
  font-size: 11px;
  line-height: 1.625;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  text-transform: uppercase;
  padding: 13px 15px;
  cursor: not-allowed;
}

#add_to_cart a.btn:hover {
  color: #fff !important;
}

#cart-icon {
  padding-right: 13px;
}

#cart-txt {
  position: relative;
  top: 2px;
}

/* INFOS */
#review-product {
  margin: 20px 0;
  width: 100%;
}

.infos {
  padding-top: 20px;
  padding-bottom: 20px;
}

@media screen and (max-width: 1024px) {
  .infos {
    margin-top: 20px;
  }
}

.infos ul.tab {
  padding: 0;
  display: block;
  margin-bottom: 0px !important;
}

.infos ul.tab li {
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  vertical-align: top;
  display: inline-block;
  padding: 10px 10px;
}

#add-question-form .title-rev {
  color: #1f318b !important;
}

#button-bottom-add-question {
  margin-top: 15px;
}

.ui-dialog {
  z-index: 999;
}

.ancre {
  padding-top: 10px;
  position: absolute;
  top: -85px;
}

/* ESTIMATION */
#bloc_pricedelay,
#explication_pricedelay,
#table_pricedelay {
  width: 100% !important;
}

/* RELATED PRODUCTS */
.related-product .title_block {
  padding-top: 10px;
  border-top: 3px solid #e42540;
  color: #1f318b;
}

.related-product {
  border-top: none !important;
  background-color: rgb(255, 255, 255);
}

/* SEND TO A FRIEND */
#send_friend_button {
  color: #4b4b4b !important;
}

#send_friend_button:hover {
  text-decoration: underline;
}

/* LISTING PRODUIT - CATEGORIE */

/* CATEGORY */
/* YJ Style description longue d'une catégorie */
.category-description-long ul {
  padding: 10px;
  margin: 20px 0;
}

.category-description-long ul {
  list-style-type: none;
  /* Supprime les puces par défaut */
  padding-left: 0;
  font-size: 1.3em;
}

.category-description-long ul li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 10px;
}

.category-description-long ul li::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 0;
  font-size: 30px;
  line-height: 25px;
}

/* YJ Fin Style description longue d'une catégorie */

.sub_sub_cat_liste {
  padding-left: 95px;
  margin-top: -46px;
}

/* @media screen and (max-width: 1000px) {

  .sub_cat_liste_menu {
    max-height: 600px;
  }

  .sub_cat_liste_elem_menu {
    min-width: 200px;
    padding-bottom: 12px;
  }
} */

.sub_cat_liste_menu {
  max-height: 600px;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-content: flex-start;
}

.sub_cat_liste_elem_menu {
  min-width: 280px;
  padding-bottom: 12px;
}

.c9 .sub_cat_liste_menu {
  max-height: 650px;
}

.c9 .sub_cat_liste_elem_menu {
  min-width: 290px;
  padding-bottom: 0;
}

.sub_cat_liste_elem_menu a:hover {
  cursor: pointer;
}

.sub_sub_cat_liste a {
  font-size: 16px;
}

.content-title_liste {
  padding-bottom: 15px;
}

.content-title_liste img {
  padding: 4px;
  background: #f2f2f2;
  border: 1px solid #d0d0d0;
  position: relative;
  z-index: 20;
}

.content-title_liste h4 {
  font-size: 16px;
  display: inline-block;
  padding: 10px 0 10px 80px;
  background: #939393;
  width: 89%;
  top: 0px;
  border-radius: 3px;
  left: 15px;
  position: absolute;
  z-index: 10;
}

.content-title_liste_menu span {
  font-size: 17px;
  font-weight: 600;
  z-index: 10;
}

.content-title_liste h4 a,
.content-title_liste h5 a {
  color: #fff;
}

.content-title_liste h4 a {
  margin-left: 15px;
}

/* liste */
.default.list {
  margin: 0;
  padding: 0;
}

.RC {
  padding-left: 15px !important;
  padding-right: 15px !important;
}

/* MODULE FILTRES */
.layered_slider_container .ui-slider-range {
  background: #1f318b !important;
  height: 5px;
}

/* bordure list product -- LIST */
.ajax_block_product {
  border: 1px solid #e1e1e1 !important;
  position: relative;

  .s_title_block {
    margin-bottom: 10px;
  }

  .s_title_block h3.product-name {
    color: #292733;
    font-size: 14px;
    font-weight: 500;
    font-style: normal;
    line-height: 20px;
    height: 40px;
    display: block;
    overflow: hidden;
  }

  .s_title_block h3.product-name:hover {
    color: #1f318b;
  }

  .price {
    font-size: 1.2em;
    font-weight: 700;
  }

  /* i {
    font-size: 20px;
  } */

  .ion-bag {
    font-size: 16px;
  }
}

.ajax_block_product:hover {
  box-shadow: 0 0 5px #999999;
  z-index: 85;
}

.order-container {
  display: flex;
  justify-content: center;
  align-items: center;

  a {
    width: 40%;
    height: 42px;
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  p {
    width: 60%;
    display: flex;
    margin: 0 3px 0 0;

    a,
    input {
      height: 42px;
    }

    input {
      text-align: center;
      border: 1px solid #e1e1e1;
      width: 50%;
    }

    a {
      line-height: 42px !important;
      width: 20%;

      display: flex;
      align-items: center;
      justify-content: center;
    }
  }
}

/* TITTRE ARTICLE */

.product-block .order-container {
  margin: 10px auto;
  width: 80%;
}

.grid .product-block {
  padding-bottom: 5px;
}

.grid .product-block .name {
  text-align: center !important;
}

.list .product-block .name {
  text-align: left;
}

/* BREADCRUMB */
.breadcrumb {
  top: 3px !important;
}

.topImg-cat {
  margin-top: -20px;
}

/* TRI LEFT */
.PM_ASBlockOutputVertical .PM_ASBlockNbProduct {
  text-align: left !important;
}

/* SORT */

.product-block .name a {
  color: #292733;
  font-size: 14px;
  font-family: "Afacad", serif;
  font-weight: 900;
  line-height: 20px;
  text-decoration: none;
  height: 40px;
  display: block;
  overflow: hidden;
}

#uniform-selectProductSort {
  width: auto !important;
}

.star {
  position: relative;
  top: -1px;
  float: left;
  width: 13px;
  overflow: hidden;
  cursor: pointer;
  font-size: 14px;
  font-weight: normal;
  line-height: 14px;
  text-align: center;
}

.star_on:after {
  color: #fdbf20 !important;
}

.nb-comments {
  float: left;
}

.products-block.list .product-block {
  text-align: left;
  margin: 0;
  width: 100%;
}

.list .product-image-container img {
  max-width: 61% !important;
}

.product-image-container {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  /* Garde une hauteur uniforme */
  position: relative;
}

/* YJ format papier : A5, A4/A5, A4, A3, A3+, A2, SRA2, GEANT*/
.format-papier {
  font-size: 20px;
  font-weight: 500;
  color: #f1f1f1;
  background-color: #8495f4;
  /*couleur par défaut si le format n'est pas dans la liste */
  padding: 0 4px;
  position: absolute;
  top: 0;
  left: 0;
}

.format-papier-fiche-produit {
  margin-top: -1px;
  margin-left: -1px;
  font-size: 26px;
  padding: 4px 8px;
}

.A5 {
  background-color: orangered;
}

.A4A5 {
  background: linear-gradient(to right,
      blue 0%,
      blue 50%,
      #000000 50%,
      orangered 50%,
      orangered 100%);
}

.A4 {
  background-color: blue;
}

.A3 {
  background-color: green;
}

.A2,
.SRA2 {
  background-color: grey;
}

.GEANT {
  background-color: black;
}

/* YJ affichage des caractéristiques : origine, alerte... et du logo fabricant */
.product-features-listing {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 40px;
}

.logo-fabricant-produit-listing {
  width: 65px;
  height: 100%;
}

.origine-fiche-produit-listing {
  width: 25px;
}

.logo-fabricant-produit-placeholder,
.origine-fiche-produit-placeholder {
  height: 100%;
  display: block;
  visibility: hidden;
}

.alerte,
.points-forts {
  text-transform: uppercase;
  text-align: center;
  min-height: 3em;
  line-height: 1.2em;
  font-size: 13px;
  font-weight: 500;
  color: #f1f1f1;
  padding: 2px 8px;
  margin-top: 5px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;

}

.alerte {
  background-color: #f18700;
}

.points-forts {
  background-color: green;
}

.points-forts ion-icon,
.alerte ion-icon {
  flex-shrink: 0;
  /* empêche l’icône de se réduire */
}

.alerte-fiche-produit,
.points-forts-fiche-produit {
  box-sizing: border-box;
  margin-bottom: -1px;
  font-size: 20px;
  padding: 4px 8px;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0);
  width: calc(100% + 2px);
}

.origine-fiche-produit {
  width: 40px;
  position: absolute;
  bottom: 40px;
  right: 13px;
}

.origine-fiche-produit img {
  background: none !important;
}

@media screen and (max-width: 680px) {
  .origine-fiche-produit {
    width: 30px;
  }
}

@media screen and (max-width: 380px) {
  .origine-fiche-produit {
    bottom: 5px;
    right: 5px;
  }
}

.offre-fiche-produit {
  display: inline-block;
  font-size: 20px;
  background-color: #f18700;
  color: #fff;
  border-radius: 3px;
  text-align: center;
  float: right;
  padding: 8px;
}

.offre-fiche-produit-listing {
  font-size: 16px;
  padding: 4px;
  background-color: #f18700;
  color: #fff;
  border-radius: 3px;
  text-align: center;
  z-index: 80;
  position: absolute;
  top: 2px;
  right: 2px;
}

@media screen and (max-width: 480px) {
  .right-block {
    padding: 0 5px;
  }
}

.right-block {
  padding: 0 20px;
}

/* YJ responsive vignettes liste des produits */
@media screen and (max-width: 480px) {
  .right-block {
    padding: 0 5px;
  }

  /* YJ alerte version mobile */
  .alerte,
  .points-forts {
    padding: 2px 2px;
    line-height: 12px;
  }
}

.grid .right-block .product-meta {
  text-align: center;
}

.grid .right-block .product-meta .sub_meta {
  padding: 15px 0;
}

.list .right-block .product-meta {
  margin-top: 25px;
}

.list .right-block .product-meta .sub_meta .sub_meta_price,
.list .right-block .product-meta .sub_meta .sub_meta_left {
  float: left !important;
  display: block;
}

.list .sub_meta_price {
  text-align: right;
}

.sub_meta {
  font-size: 14px;
}

.sub_meta_price {
  font-size: 18px;
}

.specific_price_list {
  color: #1f318b !important;
  /* font-size: 16px; */
}

.options-produit {
  text-align: center;
  font-size: 14px;
  min-height: 24px;
  display: inline-flex;
  /* Pour aligner icône + texte */
  align-items: center;
  justify-content: center;
  width: 100%;
}

/* Réserver l'espace pour l'icône pour eviter CLS */
.options-produit ion-icon {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px;
  min-height: 24px;
  flex-shrink: 0;
  /* Empêche l'icône de rétrécir */
  margin-right: 6px;
  /* Espacement entre icône et texte */
}



.specific_price_list_suffixe {
  font-size: 11px;
}

.public_price {
  display: block;
  font-size: 11px;
  font-weight: 300;
}

.sub_meta_ref {
  font-size: 16px;
  font-family: "Afacad", sans-serif;
}

@media screen and (max-width: 500px) {

  /* .sub_meta_left,
  .sub_meta_price {
    display: block;
    text-align: center;
  } */
  /* YJ format papier et alerte version mobile */
  .format-papier {
    font-size: 16px;
  }

  .alerte {
    font-size: 14px;
    font-weight: 400;
    padding: 1px 2px;
  }
}

@media screen and (min-width: 768px) and (max-width: 990px) {
  .grid .right-block .product-meta .sub_meta {
    padding-top: 0px;
  }
}

/* PRIX */

.sub_meta_price {
  font-weight: 700;
}

.content_price {
  text-align: right;
}

/* commentaires */
.ratingText {
  display: none;
}

#uniform-selectProductSort span {
  display: none;
}

/* Description */
.description-tab {
  padding: 20px 10px 0 10px !important;

  h2,
  h3 {
    color: #1f318b;
  }

  h2 {
    font-size: 24px;
    font-weight: 600;
    font-style: italic;
  }

  h3 {
    font-size: 22px;
    font-weight: 500;
    font-style: italic;
  }
}

/* features */
.feature_list_item {
  display: inline-block;
}

.featured_content_list {
  padding: 5px 20px;
  text-align: center;
}

.feature-desc {
  padding: 10px 0;
}

.feature-desc img {
  height: 100px;
  width: auto;
  padding: 5px 0;
}

/* GUIDE DES TAILLES */
.guide-main-container {
  margin-top: 10px;
}

.swipe_expl {
  display: none;
}

/* Portrait */
@media (max-device-width: 1500px) and (orientation: portrait) {
  .swipe_expl {
    display: block;
  }

  .swipe img {
    height: 20px !important;
  }
}

/* Landscape */
@media (max-device-width: 1280px) and (orientation: landscape) {
  .swipe_expl {
    display: block;
    margin-bottom: 15px;
  }

  .swipe img {
    height: 20px !important;
  }
}

.guide-main-container table {
  width: 100%;
  text-align: center;
}

.guide-main-container td {
  padding: 5px 10px;
  text-align: center;
}

/*
.guide-main-container th {
	text-align: center;
	padding: 5px 0;
	background: #A2A2A2;
	color:#fff;
}
*/
.guide-main-container .tailles {
  text-align: center;
  padding: 2px 0;
  background: #a2a2a2;
  color: #fff;
}

.guide-main-container .tailles td {
  padding: 2px 0;
}

.guide-main-container th {
  text-align: center;
  padding: 2px 0;
  font-weight: bold;
}

.guide-left-container {
  text-align: center;
  background: #e42540;
  width: 150px;
  float: left;
  color: #fff;
  margin: auto;
  border-right: 1px solid #fff;
}

.guide-right-container {
  overflow: auto;
}

.guide-right-container-element {
  background: #333;
  border-right: 1px solid #fff;
  color: #fff;
  text-align: center;
  float: left;
  width: 100px;
}

/* EXPLANATIONS GUIDE DES TAILLES */
.explanations {
  display: table;
  margin: 20px 0 0 0;
}

.vcenter {
  display: inline-block;
  vertical-align: middle;
}

.explanations ul {
  list-style-type: none;
}

.explanations ul li {
  font-size: 15px;
  padding: 10px 0;
}

.explanations ul li span {
  font-weight: bold;
}

.image-right {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}

.text-left {
  display: table-cell;
  vertical-align: middle;
  padding: 30px;
}

.text-left h3 {
  font-size: 25px;
  color: #e42540;
  font-family: "Afacad", serif;
  font-weight: 500;
}

.number {
  font-family: "Afacad", serif;
  font-weight: 500;
  margin-right: 15px;
  text-transform: uppercase;
  font-size: 15px;
  background-color: #e42540;
  -moz-border-radius: 1000px;
  -webkit-border-radius: 1000px;
  border-radius: 1000px;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  color: #fff;
  width: 22px;
  height: 22px;
  display: inline-block;
  vertical-align: middle;
  text-align: center;
  font-weight: 600;
}

/* commande */
button[name="submitGuestAccount"] {
  color: white !important;
  background-color: #333333 !important;
  border-color: #333333 !important;
}

button[name="submitGuestAccount"]:hover {
  color: white !important;
  background-color: #e42540 !important;
  border-color: #e42540 !important;
}

#order-list {
  font-size: 14px !important;
}

/* magasins test */
.row-results {
  border-top: 2px solid #e42540;
  width: 100%;
  padding: 20px 0px;
  font-size: 16px;
  margin-right: 0px !important;
  margin-left: 0px !important;
}

@media screen and (max-width: 991px) {

  .name,
  .adress {
    text-align: center;
  }

  .name span {
    display: block;
  }
}

/* */
#stores .store-content {
  padding-bottom: 0px !important;
}

.address-input {
  padding-top: 5px;
  border-top: 2px solid #e42540;
}

/*  */
@media screen and (max-width: 400px) {
  .grid .product-block {
    height: 250px;
  }
}

@media screen and (min-width: 401px) and (max-width: 767px) {
  .grid .product-block {
    height: 318px;
  }
}

@media screen and (min-width: 768px) {
  .grid .product-block {
    /* height: 271px; */
  }
}

@media screen and (min-width: 991px) {
  .grid .product-block {
    /* height: 264px; */
  }
}

@media screen and (min-width: 1199px) {
  .grid .product-block {
    height: 295px;
  }
}

/* test */
.homme-widg a,
.femme-widg a,
.enfant-widg a,
.accessoires-widg a {
  display: block;
  width: 100%;
}

.homme-widg a img,
.femme-widg a img,
.enfant-widg a img,
.accessoires-widg a img {
  width: 100%;
}

.home_left_img .widget-inner a,
.home_right_img .widget-inner a,
.home_thumb a {
  display: block;
  width: 100%;
}

.home_thumb {
  margin-bottom: 0px !important;
}

.home_thumb img {
  width: 100%;
}

.home_left_img img,
.home_right_img img {
  width: 99%;
}

.home_left_img img {
  float: left;
}

.home_right_img img {
  float: right;
}

/* cart commande test*/
/* @media screen and (max-width: 768px) {
  .cart_product,
  .cart_description,
  .cart_unit,
  li[class="price"],
  .cart_delete,
  .cart_total {
    text-align: center !important;
  }
  .cart_quantity_button {
    margin: auto !important;
    width: 55px !important;
    display: block !important;
  }
  .cart_quantity_input {
    margin: auto;
  }
  .standard-checkout,
  .button-exclusive {
    font-size: 8px;
  }
  .cart_voucher fieldset #discount_name {
    width: 165px;
  }

  .home_left_img img,
  .home_right_img img,
  .home_thumb img {
    width: 100%;
  }
} */

/* Panier mobile */

@media screen and (max-width: 767px) {
  #order-detail-content #cart_summary thead tr {
    display: none;
  }

  /* Reduire padding breadcrumb en mobile */
  .breadcrumb {
    padding-bottom: 8px !important;
  }

  #order-detail-content #cart_summary tr.cart_item {
    border-bottom: 2px solid #666666;
    padding-bottom: 12px;
    padding-top: 12px;
  }

  #order-detail-content #cart_summary tr {
    border-bottom: 1px solid #cccccc;
    padding-bottom: 7px;
    overflow: hidden;
    position: relative;

    font-size: 90%;
  }

  #order-detail-content #cart_summary tr {
    display: block;
  }

  #order-detail-content #cart_summary td.cart_product {
    text-align: left;
    width: 30%;
  }

  #order-detail-content #cart_summary td {
    border: none;
    position: relative;
    float: left;
    white-space: normal;
    padding: 7px 10px 7px 10px;
  }

  #order-detail-content #cart_summary td {
    display: block;
  }

  #order-detail-content #cart_summary tbody td.cart_description {
    width: 60%;
    text-align: left;

    p.product-name {
      margin-bottom: 3px;
    }

    p.product-name a {
      font-size: 110%;
    }
  }

  #order-detail-content #cart_summary td.cart_unit {
    width: 33%;
    text-align: right;
    min-height: 70px;
    clear: both;

    li.price {
      font-weight: 400;
    }
  }

  #order-detail-content #cart_summary td.cart_quantity {
    width: 33%;
    min-height: 70px;
    border-left: 1px solid #cccccc;
    border-right: 1px solid #cccccc;
    clear: none;
    text-align: center !important;
  }

  .cart_quantity_input {
    margin: 0 auto;
  }

  .table tbody>tr>td.cart_quantity .cart_quantity_button a {
    float: none;
  }

  #order-detail-content #cart_summary td.cart_delete {
    position: absolute;
    right: 10px;
    top: 5px;
    width: 10%;
  }

  #order-detail-content #cart_summary td.cart_delete a {
    font-size: 15px;
  }

  #order-detail-content #cart_summary td.cart_total {
    width: 33%;
    min-height: 70px;
    text-align: right;
    font-weight: bold;
    color: #555555;
    font-size: 16px;
  }

  #order-detail-content #cart_summary td.cart_delete:before {
    display: none;
  }

  #order-detail-content #cart_summary tfoot td.cart_voucher {
    float: none;
    width: 100%;
  }

  #cart_summary tfoot td.text-right {
    width: 50%;
  }

  #cart_summary tfoot td.price {
    width: 50%;
    text-align: right;
  }
}

@media screen and (max-width: 480px) {
  #order-detail-content #cart_summary tr {
    font-size: 80%;
  }

  #order-detail-content #cart_summary tbody td.cart_description {}

  .table tbody>tr>td.cart_quantity .cart_quantity_button a {
    margin: 0;
  }
}

.box-panier {
  background-color: none;
  border: 1px solid #e1e1e1;
  border-radius: 8px;
  box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.1);
  padding: 15px;
  margin-bottom: 30px;
}

/* Titre du panier */
#cart-infos {
  display: flex;
  flex-direction: row;
  align-items: baseline;

  .heading-counter {
    font-size: 1.5em;
    margin-bottom: 1em;
    margin-left: 1em;
  }
}

@media screen and (max-width: 780px) {
  #cart-infos {
    display: flex;
    flex-direction: column;
  }
}

/* Adapter le label du champ message */
.label-message-mobile {
  display: none;
}

.label-message-desktop {
  font-size: larger;
  display: inline-block;
}

/* Grossir et centrer le bouton commander et confirmer commande*/
#cart-command,
#cart-adress-command,
#cart-command-carrier,
#cart-command-validation {
  display: flex;
  align-items: center;
  justify-content: center;
}

#cart-adress-command {
  padding: 0 12px;
}

#command-btn,
#command-adress-btn,
#command-btn-carrier,
#command-btn-validation {
  font-size: 1.55em !important;
  letter-spacing: 2px;
  width: 100%;
  height: 70px;
  border-radius: 8px;
}

#command-btn:focus,
#command-adress-btn:focus,
#command-btn-carrier:focus,
#command-btn-validation:focus {
  outline: 0;
}

/* Supprimer les titres des étapes panier */

#cart_title-confirmation,
#cart_title-payment,
#cart_title-validation {
  display: none;
}

@media screen and (max-width: 780px) {

  #cart-infos,
  #cart-infos-payment {
    .heading-counter {
      font-size: 1.25em;
      margin: 0 0 15px 0;
    }
  }

  /* Grossir et centrer le bouton commander */
  #cart-command,
  #cart-adress-command,
  #cart-command-carrier,
  #cart-command-validation {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  #command-btn,
  #command-adress-btn,
  #command-btn-carrier {
    font-size: 2em;
    letter-spacing: 2px;
    width: 100%;
    height: 100px;
  }

  /* Supprimer 'Qui sommes nous' du footer */
  #footer-about {
    display: none;
  }

  /* Adapter le label du champ message */
  .label-message-mobile {
    display: inline-block;
    text-align: justify;
  }

  .label-message-desktop {
    display: none;
  }
}

@media screen and (max-width: 480px) {
  #cart-command-validation {
    font-size: 95%;
  }

  #command-btn,
  #command-adress-btn,
  #command-btn-carrier,
  #command-btn-validation {
    font-size: 1.5em;
    letter-spacing: 1.5px;
    width: 100%;
    height: 80px;
  }

  #command-btn-validation {
    font-size: 1em;
    letter-spacing: 1.1px;
  }
}

@media (min-width: 333px) and (max-width: 479px) {
  #cart-command-validation {
    font-size: 65%;
  }

  #command-btn,
  #command-adress-btn,
  #command-btn-carrier,
  #command-btn-validation {
    font-size: 1.5em;
    /* letter-spacing: 1.5px; */
    /* width: 100%; */
    height: 65px;
  }

  /* #command-btn-validation {
    font-size: 1em;
    letter-spacing: 1.1px;
  } */
}

/* Fin Panier mobile */

/* Progress bar */

.step_current span,
.step_done a {
  color: #1f318b !important;
  border-bottom: 3px solid #1f318b !important;
  text-shadow: none;
}

span.desktop-step {
  border-bottom: none !important;
}

ul.step li.step_done span.desktop-step {
  color: #1f318b !important;
}

span.responsive-step {
  display: none !important;
}

@media screen and (max-width: 780px) {
  ul.step {
    border-bottom: none;
  }

  ul.step li.step_current,
  ul.step li.step_todo,
  ul.step li.step_done {
    display: inline-flex;
    justify-content: center;
    flex-direction: row;
    padding: 0 10px;

    a,
    span {
      font-size: smaller;
      padding-left: 0;
      padding-right: 0;
      border-bottom: none !important;
    }

    span.desktop-step {
      display: none;
    }

    span.responsive-step {
      display: block !important;
    }
  }

  .step_current span.responsive-step,
  .step_done span.responsive-step,
  .step_todo span.responsive-step {
    text-shadow: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;

    cursor: pointer;
    text-align: center;

    i {
      position: relative;
      top: -4px;
      font-size: 18px;
    }
  }

  .step_current span.responsive-step,
  .step_done span.responsive-step {
    color: #fff !important;

    background-color: #f18700;
  }

  .step_todo span.responsive-step {
    background-color: grey;
  }

  .step_todo span.responsive-step i {
    color: #fff;
  }
}

@media screen and (max-width: 480px) {

  .step_current span.responsive-step,
  .step_done span.responsive-step,
  .step_todo span.responsive-step {
    text-shadow: none;
    width: 38px;
    height: 38px;
    border-radius: 50%;

    cursor: pointer;
    text-align: center;

    i {
      position: relative;
      top: -6px;
      font-size: 16px;
    }
  }

  ul.step li.step_current,
  ul.step li.step_todo,
  ul.step li.step_done {
    display: inline-flex;
    justify-content: center;
    flex-direction: row;
    padding: 0 5px;
  }
}

.cart_navigation button,
.cart_navigation .standard-checkout,
#button_order_cart,
.button-container a span,
.cart_navigation button,
.cart_navigation .standard-checkout,
#button_order_cart,
.button-container a:hover span {
  font-size: 14px;
  color: #fff !important;
}

.button-container a:hover {
  color: #1f318b !important;
}

.button-container a:hover span,
.standard-checkout:hover span,
.btn-default:hover span {
  color: #1f318b !important;
}

.layer_cart_cart .button-container .exclusive-medium,
.cart_navigation .button-exclusive {
  font-size: 14px;
  background-color: #5d5f69;
  border-color: #5d5f69;
}

.layer_cart_cart .button-container .exclusive-medium:hover {
  color: #fff;
  background-color: #a2a2a2;
  border-color: #a2a2a2;
}

/* enleve le padding du leo slider */
.layerslider-wrapper {
  padding: 0px;
}

/* correction gub affichage delivery logo*/
.delivery_option_logo img {
  max-width: inherit !important;
}

/* color white sur commande rapide btn */
.box-info-product input[type="submit"] {
  color: #fff !important;
}

/*  paymznt paypal module */
.payment_module img {
  height: 65px !important;
}

/*  */
.line_carrier .delivery_option_price,
td.delivery_option_radio {
  text-align: center !important;
}

.delivery_option_logo {
  text-align: center;
}

td.delivery_option_logo img[alt^="mon "] {
  width: inherit !important;
}

/* YJ Style des filtres de recherche du module advanced search4 */
.PM_ASCriterionsGroupTitle {
  font-weight: bold;
  display: inline-block;
  text-transform: uppercase;
  color: #333333;
  border-bottom: 2px solid #000 !important;
}

/* Style checkbox */
.PM_ASCriterionGroupCheckbox .PM_ASLabelCheckbox .PM_ASLabelLink:hover {
  font-weight: 400;
}

/* .PM_ASCriterionGroupCheckbox .checker{
    padding-right: 8px;
  } */

/* .PM_ASLabelCheckbox {
    padding-left: 8px !important;
  } */

.PM_ASLabelCheckbox {
  padding-left: 5px;
  top: 3px;
  position: relative;
}

/* Lien Supprimer les filtres*/
a.PM_ASResetSearch {
  text-decoration: none;
  padding-top: 4px;
  font-size: 110%;

  i {
    color: red;
    padding-right: 3px;
  }
}

/* YJ Style des filtres de recherche du module advanced search4 */
/*  */
.stock_overlay a {
  display: block;
  position: absolute;
  height: 100%;
  width: 100%;
  z-index: 95;
  text-align: center;
}

.overlay_link {
  display: block;
  height: 100%;
  width: 100%;
  position: absolute;
}

.stock_overlay {
  display: block;
  width: 100%;
  padding: 10px 0;
  height: 25px 0;
  position: absolute;
  top: 38%;
  margin-top: -46px;
  background-color: rgba(255, 0, 0, 0.35);
  z-index: 95;
  text-align: center;
}

.stock_overlay i {
  font-size: 40px;
  color: #fff;
}

.stock_overlay h4 {
  color: #fff;
  font-weight: bold;
}

@media screen and (max-width: 480px) {
  .stock_overlay {
    height: 15px 0;
    top: 30%;
  }

  .stock_overlay i {
    font-size: 20px;
  }
}

/* paiement différé */
p.payment_module a.cash {
  padding: 40px 40px 40px 80px !important;
  background-position: 15px center !important;
}

.product-block {
  height: auto !important;
  margin-bottom: 0px !important;
  border: none;
}

/* =====================================================================
   Style haut de la page d'accueil : Slider homepage + cartes à droite
===================================================================== */
/* Correction CSS pour eviter que les 2 images affichent l'une au dessus de l'autre en attendant que bxslider initialise le slider avec le js après le chargementr  */
#homepage-slider {
  min-height: 410px;
  contain: layout;
}

#homeslider {
  opacity: 0;
  border-radius: 30px;
  overflow: hidden;
  height: 380px;
  transition: opacity 0.2s ease;
}

#homeslider li {
  border-radius: 30px;
}

#homeslider li:not(:first-child) {
  display: none;
}

#homeslider img {
  border-radius: 30px;
}

.bx-wrapper {
  border-radius: 30px;
  /* Une fois bxSlider chargé */
}

.bx-wrapper #homeslider,
.bx-viewport {
  opacity: 1 !important;
  border-radius: 30px;
}

.bx-wrapper li {
  display: block !important;
}

/* Fin correction css */

/* Container global */
.pts-containe-custom-homeslider {
  height: 460px;
  position: relative;
  padding-top: 20px;
  padding-bottom: 30px;
  overflow: visible;
  font-family: "Montserrat", serif;
}

.pts-containe-custom-homeslider .row {
  display: flex;
  justify-content: center;
  align-items: center;
}

.pts-containe-custom-homeslider .block-style8 {
  margin-bottom: 0;
}

#homepage-slider .bx-wrapper {
  position: relative;
  margin: 0;
  padding: 0;
  border-radius: 30px;
  background: transparent;
  box-shadow: none;
  overflow: visible;
  border: none;
  z-index: 1;
}

#homepage-slider .bx-wrapper .bx-viewport {
  height: 410px !important;
  overflow: hidden;
  border-radius: 30px;
}

/* Chaque slide */
#homepage-slider .bx-wrapper li {
  position: relative;
  float: left;
  height: 380px;
  overflow: visible;
  box-sizing: border-box;
}

/* Wrapper interne pour l'image */
#homepage-slider .bx-wrapper li .slide-inner {
  width: 100%;
  height: 380px;
  overflow: hidden;
  border-radius: 30px;
}

/* Image */
#homepage-slider .bx-wrapper li img {
  width: 100%;
  height: 100%;
  /* object-fit: contain; */
  display: block;
  border-radius: 30px;
}

/* Description flottante */
#homepage-slider .homeslider-description {
  position: absolute;
  /* bottom: -30px; */
  bottom: 0;
  right: 0;
  z-index: 10;
  background-color: #2D2C78;
  color: #fff;
  padding: 20px 40px 20px 15px;
  border-radius: 30px;
  letter-spacing: -0.9px;
  text-transform: uppercase;
  white-space: nowrap;
}

#homepage-slider .homeslider-description p {
  margin: 0;
  font-weight: 700;
  font-size: 4.5rem;
  line-height: 1;
}

/* ---------- Cartes à droite ---------- */
.home-right-banners {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 30px;
  height: 410px;
  position: relative;
}

.banner-item {
  display: flex;
  align-items: center;
  position: relative;
  border-radius: 30px;
  overflow: visible;
  text-decoration: none;
  transition: all 0.3s ease;
}

.banner-item:hover {
  transform: scale(1.08);
  z-index: 10;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.25);
}

/* Carte Catalogue */
.banner-item.catalogue {
  background-color: #FFCF21;
  height: 160px;
}

.banner-item.catalogue .image-container {
  margin-left: -24px;
  z-index: 1;
  display: flex;
  align-items: center;
}

.banner-item.catalogue .content-container {
  font-size: 17px;
  text-align: left;
  margin-right: -17px;
  margin-left: auto;
  position: relative;
}

.banner-item.catalogue img {
  height: 180px;
  object-fit: cover;
}

.banner-item.catalogue .badge {
  position: absolute;
  top: -52px;
  right: 30px;
  background-color: #FFAA21;
  color: #fff;
  font-weight: 500;
  font-size: 18px;
  font-style: italic;
  padding: 6px 12px;
  border-radius: 15px;
  z-index: 2;
}

.banner-item.catalogue p {
  margin: 0;
  font-size: 18px;
  line-height: 1.2;
  color: #000;
}

.banner-item.catalogue p strong {
  font-weight: 900;
}

/* Carte Sélection */
.banner-item.selection {
  background-color: #2D2C78;
  height: 160px;
  margin-bottom: 30px;
}

.banner-item.selection .image-container {
  margin-top: 60px;
  margin-left: -44px;
  z-index: 1;
  display: flex;
  align-items: center;
}

.banner-item.selection .content-container {
  margin-left: 20px;
  text-align: left;
  flex: 1;
}

.banner-item.selection img {
  max-width: 200px;
  height: 200px;
  object-fit: cover;
}

.banner-item.selection p {
  margin: 0;
  font-size: 16px;
  line-height: 1;
  color: white;
}

.banner-item.selection p strong {
  font-weight: 700;
  font-size: 5rem;
}

/* --- Ciblage Mobile / Tablette --- *
/* ≤768px : on masque le slider */
@media (max-width: 768px) {

  #homepage-slider,
  #homepage-slider .homeslider-description {
    display: none !important;
  }

  .pts-containe-custom-homeslider .row {
    display: block !important;
  }

  .home-right-banners {
    height: auto;
    gap: 15px;
  }

  .banner-item {
    width: 100%;
  }
}

/* 481px–768px : cartes en ligne (2 colonnes) avec le slider toujours cachés */
@media (min-width: 581px) and (max-width: 768px) {
  .home-right-banners {
    flex-direction: row;
    justify-content: center;
    gap: 20px;
    padding-left: 20px;
    padding-right: 20px;
  }

  .banner-item {
    flex: 0 1 48%;
    width: 48%;
    max-width: 300px;
  }

  .banner-item.catalogue img {
    height: 150px;
  }

  .banner-item.selection img {
    height: 170px;
  }

  /* .banner-item.selection .image-container {
    margin-left: -20px;
  }
  .banner-item.selection .image-container {
    margin-top: 60px;
    margin-left: -44px;
    z-index: 1;
    display: flex;
    align-items: center;
} */
}

/* ≥769px (tablette paysage + desktop) : slider + cartes */
@media (min-width: 769px) and (max-width: 1024px) {
  .pts-containe-custom-homeslider .row {
    display: flex !important;
    justify-content: center;
    align-items: center;
  }

  #homepage-slider .homeslider-description p {
    font-size: 3.5rem;
  }

  .home-right-banners {
    flex-direction: column;
    justify-content: center;
    height: 410px;
    gap: 30px;
  }

  .item.catalogue .content-container {
    margin-left: 0;
  }

  .banner-item.catalogue img {
    height: 150px;
  }

  .banner-item.selection img {
    height: 140px;
  }
}

/* Fin style haut de la page d'accueil */

/* YJ style des chevrons slider des produits associés  */
@media (max-width: 991px) {
  .bx-wrapper {
    width: 100% !important;
  }

  .bx-wrapper img {
    margin: 0 auto;
  }

  .bx-viewport {
    height: auto !important;
  }
}

@media (min-width: 992px) and (max-width: 1280px) {
  .bx-wrapper {
    width: 93% !important;
  }
}

.bx-prev {
  left: -50px !important;
}

.bx-next {
  right: -50px !important;
}

.bx-pager {
  position: relative !important;
  padding-top: 0 !important;
}

/* YJ Slider produits similaires et complémentaires */

.bx-pager-item {
  display: inline-block;
  padding: 5px 10px;
  background: #e6e6e6;
  margin-right: 5px;
  text-decoration: none;
}

/*--------------------header3--------------------*/
/*-----------------------------------------------*/
/* Le style suivant est recupéré de la feuille de style \modules\ptsmegamenu\ptsmegamenu.css qui n'a pas d'utilité */

/* MEGAMENU STYLE */
/* .pts-megamenu {
  position: relative;
}
.pts-megamenu .dropdown:hover > .dropdown-menu {
  display: block;
}
.pts-megamenu .dropdown-menu > .dropdown-menu-inner {
  padding: 10px;
}
.pts-megamenu .mega-group .caret {
  display: none;
}
.pts-megamenu .mega-group > .dropdown-toggle {
  display: block;
  font-weight: bold;
  padding: 6px 5px;
  text-transform: uppercase;
  border-bottom: solid 1px #e5e5e5;
}
.pts-megamenu .mega-group .dropdown-mega .mega-col-inner > ul > li a {
  margin-left: 6px;
}
.pts-megamenu .mega-col .mega-col-inner > ul {
  list-style: none outside none;
  margin: 0;
  padding: 0;
}
.pts-megamenu .mega-col .mega-col-inner > ul > li {
  list-style: none;
  margin-left: 0;
}

.pts-megamenu .mega-col .mega-col-inner > ul > li > a {
  clear: both;
  color: #555555;
  display: block;
  line-height: 20px;
}
.pts-megamenu .dropdown-submenu:hover .dropdown-menu {
  display: block;
}
.pts-megamenu .cols2 {
  width: 420px;
}
.pts-megamenu .cols3 {
  width: 620px;
}
.pts-megamenu .cols4 {
  width: 820px;
} */

/* WIDGET STYLES */

/* .leo-widget .widget-heading {
  text-transform: uppercase;
  font-weight: bold;
  font-size: 110%;
  padding-bottom: 5px;
  margin-bottom: 5px;
  border-bottom: solid 1px #f3f3f3;
}

.widget-products img {
  width: 60px;
  height: 60px;
  float: left;
  margin-right: 12px;
}

.widget-banner .w-banner {
  margin: 6px 10px;
  float: left;
}

.widget-images .images-list {
  clear: both;
}

.widget-images .images-list > div {
  position: relative;
  float: left;
}

.widget-images .images-list > div > div {
  padding: 3px;
}

.widget-images .images-list > div img {
  max-width: 100%;
}
.sub-title{
    display: block;
    font-size: 80%;
    line-height: 1.25em;
    margin-bottom: 7px;
    text-shadow: none ;
} */


@media (min-width: 991px) {
  .header3 .pts-megamenu .megamenu>li {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    /* border: 1px dashed lightcoral; */
  }

  /* YJ adapter l'affichage du big menu pour les 9 items */
  .pts-megamenu .dropdown-menu .dropdown-menu-inner {
    padding: 20px 30px 20px 40px;
  }

  .pts-megamenu .megamenu>li>a .menu-title {
    font-weight: 600;
  }

  .pts-megamenu .megamenu>li.dropdown>a {
    /* padding: 20px 6px; */
    padding: 25px 6px 15px 6px;
  }


  .megamenu .dropdown .dropdown-toggle {
    /* padding: 8px 6px !important; */
  }

  .header3 .pts-megamenu .megamenu .parent>a,
  .header3 .pts-megamenu .megamenu .c10>a {
    text-align: center;
  }

  /* Élargissement spécifique au menu .c9 */
  /* Élargir uniquement le méga-menu de "Dessin et loisirs scolaires" */
  .pts-megamenu .megamenu>li.c9>.dropdown-menu {
    width: 1400px !important;
    width: 100%;
    left: auto;
    /* pour éviter les dépassements forcés */
    right: 0;
    /* ou left: 0 selon ton alignement global */
  }

  .pts-megamenu .megamenu>li.c9 .dropdown-menu-inner {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
  }

  .pts-megamenu .megamenu>li.c9 .mega-group {
    width: 200px;
    /* ou calc(100% / 5) pour 5 colonnes, adapte si besoin */
  }


  .header3 .pts-megamenu .megamenu>li a:after {
    content: "";
    width: 100%;
    height: 2px;
    display: block;
  }
}

/*  */
.cat_title,
.cat_img_content,
.sub_cat_content {
  float: left;
}

.cat_title {
  width: 200px;
}

.cat_title a {
  font-size: 16px;
}

.pts-megamenu .dropdown-menu li a {
  font-size: 16px;
  line-height: 14px;
}

.megamenu .caret {
  display: none;
}

.megamenu>li {
  border-radius: 3px;
}

.megamenu>li>a .menu-title,
.navbar-nav>li>a {
  font-family: "Montserrat", serif !important;
  color: white;
}

.megamenu>li:hover>a .menu-title,
.navbar-nav>li>a:hover {
  font-family: "Montserrat", serif;
  color: #ffcf21 !important;
}

.breadcrumb,
.breadcrumbs,
.default.products-block {
  font-size: 18px;
  background: transparent !important;
  padding-bottom: 30px;
}

.breadcrumb .navigation-pipe {
  margin: 0 3px;
  /* marge de 5px à gauche et à droite de la pipe */
}

/* YJ suppression du padding pour les blocks produits */
.default.products-block {
  padding-bottom: 0;
}

.c1 .dropdown-toggle:after {
  background: #0054b1;
}

.c1 .dropdown-menu {
  border-bottom: 5px solid #0054b1;
}

.c2 .dropdown-toggle:after {
  background: #1f318b;
}

.c2 .dropdown-menu {
  border-bottom: 5px solid #1f318b;
}

.c3 .dropdown-toggle:after {
  background: #d30c53;
}

.c3 .dropdown-menu {
  border-bottom: 5px solid #d30c53;
}

.c4 .dropdown-toggle:after {
  background: #0a7a82;
}

.c4 .dropdown-menu {
  border-bottom: 5px solid #0a7a82;
}

.c5 .dropdown-toggle:after {
  background: #ba5fae;
}

.c5 .dropdown-menu {
  border-bottom: 5px solid #ba5fae;
}

.c6 .dropdown-toggle:after {
  background: #a9d11f;
}

.c6 .dropdown-menu {
  border-bottom: 5px solid #a9d11f;
}

.c7 .dropdown-toggle:after {
  background: #de1c17;
}

.c7 .dropdown-menu {
  border-bottom: 5px solid #de1c17;
}

.c8 .dropdown-toggle:after {
  background: #008fe1;
}

.c8 .dropdown-menu {
  border-bottom: 5px solid #008fe1;
}

.c9 .dropdown-toggle:after {
  background: #f1e904;
}

.c9 .dropdown-menu {
  border-bottom: 5px solid #f1e904;
}

.c10 .dropdown-toggle:after {
  background: #f18700;
}

.c10 .dropdown-menu {
  border-bottom: 5px solid #f18700;
}

.c1 a.dropdown-toggle,
.c2 a.dropdown-toggle,
.c3 a.dropdown-toggle,
.c4 a.dropdown-toggle,
.c5 a.dropdown-toggle,
.c6 a.dropdown-toggle,
.c7 a.dropdown-toggle,
.c8 a.dropdown-toggle,
.c9 a.dropdown-toggle {
  cursor: default;
}

.titre-sous-categorie {
  font-size: 18px;
  text-transform: uppercase;
  /* text-align: left; */
}

.titre-sous-categorie a {
  font-size: 18px !important;
}

.c1 .titre-sous-categorie,
.c1 .titre-sous-categorie a {
  color: #0054b1;
}

.c2 .titre-sous-categorie,
.c2 .titre-sous-categorie a {
  color: #1f318b;
}

.c3 .titre-sous-categorie,
.c3 .titre-sous-categorie a {
  color: #d30c53;
}

.c4 .titre-sous-categorie,
.c4 .titre-sous-categorie a {
  color: #0a7a82;
}

.c5 .titre-sous-categorie,
.c5 .titre-sous-categorie a {
  color: #ba5fae;
}

.c6 .titre-sous-categorie,
.c6 .titre-sous-categorie a {
  color: #a9d11f;
}

.c7 .titre-sous-categorie,
.c7 .titre-sous-categorie a {
  color: #de1c17;
}

.c8 .titre-sous-categorie,
.c8 .titre-sous-categorie a {
  color: #008fe1;
}

.c9 .titre-sous-categorie,
.c9 .titre-sous-categorie a {
  color: #f1e904;
}

.c10 .titre-sous-categorie,
.c10 .titre-sous-categorie a {
  color: #f18700;
}

/* YJ Animation liens dropmenus du magamenus */
.label-with-arrow {
  display: flex;
  align-items: center;
  padding-bottom: 5px;
}

.arrow-link {
  margin-left: 8px;
}

.label-with-arrow-animate {
  transition-property: translateX(0px);
  transition-duration: 0.7s;
}

.label-with-arrow-animate:hover {
  transform: translateX(15px);
  color: #1f318b;
}

/* Style d'un label avec icone animée plus général */
.label-with-icon {
  cursor: pointer;
  display: flex;
  align-items: center;
}

.label-with-icon-animate {
  transition-property: translateX(0px);
  transition-duration: 0.7s;
}

.label-with-icon-animate a {
  text-decoration: none;
  color: inherit;
  display: flex;
  align-items: center;
}

.label-with-icon-animate a ion-icon {
  margin-left: 8px;
}

.label-with-icon-animate:hover {
  transform: translateX(15px);
}

/* YJ Fin animation liens dropmenus du magamenus */

/* YJ Titres avec images */
.label-with-image {
  display: flex;
  align-items: center;
}

.label-with-image img {
  margin-left: 10px;
}

.ref_list {
  text-align: center;
}

.content_sortPagiBar .page-heading {
  padding: 0 0 0 20px;
}

.product-meta {
  padding: 0 !important;
}

.product-block .name {
  margin: 0 !important;
}

.product-block .name h2 {
  font-size: 15px;
}

.infos .tab {
  border-bottom: 1px solid #1f318b;
}

.infos .tab li {
  margin: 0 10px 0 0;
  /* background: #e6e6e6; */
  position: relative;
}

.infos .tab .infos-active {
  color: #fff;
}

.infos-active {
  background: #1f318b !important;
}

.infos-active a,
.infos-active a:hover {
  color: #fff;
}

.infos-active:after {
  content: "";
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 10px solid #1f318b;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 44px;
}

/* test */
.category-12 .cat-12 {
  background: #ff5f10;
  padding: 10px 0;
  color: #fff;
}

/* SHOPPING_LIST */
#shopping-list {
  margin: 0 0 20px 0;
}

#shopping-list th,
#shopping-list td {
  text-align: center;
}

a.add-shopping-list,
a.back-shopping-list,
a.add-all {
  padding: 15px 20px;
  height: 51px;
  transition: all linear 0.2s;
}

/* YJ */
.lien-shoppinglist-actif {
  color: #000;
  font-size: 105%;
  font-weight: 500;
}

.lien-shoppinglist-inactif {
  color: #666666;
}

.icon-btn {
  background: transparent !important;
  border: none !important;
}

.icon-btn i {
  color: #1f318b !important;
  font-size: 18px;
  transition: all 0.1s linear;
}

.icon-btn:hover i {
  transform: scale(1.2);
}

.icon-btn ion-icon {
  color: #1f318b !important;
  font-size: 18px;
  transition: all 0.1s linear;
}

.icon-btn:hover ion-icon {
  transform: scale(1.2);
}

.sub_cat_liste_elem {
  padding: 10px 0;
}

.box-shopping-list {
  text-align: center;
  z-index: 9999999;
  position: fixed;
  width: 60%;
  max-width: 400px;
  padding: 20px;
  left: 50%;
  top: -5%;
  transform: translateX(-50%);
  border-radius: 3px;
  background: #1f318b;
  color: #fff;
  font-size: 130%;
  font-weight: 500;
  -moz-box-shadow: 0px 2px 3px 1px rgba(74, 74, 74, 0.31);
  -webkit-box-shadow: 0px 2px 3px 1px rgba(74, 74, 74, 0.31);
  -o-box-shadow: 0px 2px 3px 1px rgba(74, 74, 74, 0.31);
  box-shadow: 0px 2px 3px 1px rgba(74, 74, 74, 0.31);
  filter: progid:DXImageTransform.Microsoft.Shadow(color=rgba(74, 74, 74, 0.31), Direction=180, Strength=1);
}

.close-shopping-box {
  width: 36px;
  height: 36px;
  line-height: 36px;
  border-radius: 50%;
  background: #f1e904;
  position: absolute;
  right: -15px;
  top: -15px;
  color: #1f318b;
  text-align: center;
  font-size: 20px;
  box-shadow: 0px 2px 3px 1px rgba(74, 74, 74, 0.31);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.close-shopping-box ion-icon {
  font-size: 20px;
  pointer-events: none;
}

/* YJ Style système d'accordéon pour fermer les catégories de plus de 5 produits */
.category-header-inner {
  display: flex;
  align-items: center;
  /* justify-content: center; */
  gap: 10px;
  font-weight: bold;
  font-size: 1.2em;
  line-height: 1.2;
}

.toggle-category {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
}

.toggle-category ion-icon {
  transition: transform 0.3s ease;
  font-size: 1.2em;
}

.toggle-category.opened ion-icon {
  transform: rotate(90deg);
}

@keyframes chevron-pulse {

  0%,
  100% {
    transform: translateX(0);
  }

  50% {
    transform: translateX(4px);
  }
}

/* Appliquée uniquement quand l'élément est fermé */
.toggle-category:not(.opened) ion-icon {
  animation: chevron-pulse 1.5s infinite ease-in-out;
}

/* YJ Fin style système d'accordéon pour fermer les catégories de plus de 5 produits */
.biopaj-txt {
  font-family: "Open sans", sans-serif;
  font-weight: 300;
  font-size: 14px;
}

.header_current_cat {
  width: 100%;
  border-radius: 4px;
}

.header_current_cat h1 {
  font-family: "Afacad", serif;
  font-size: 24px;
  font-weight: 400;
  text-transform: uppercase;
  line-height: 33px !important;
  color: #fff;
  padding: 5px 20px;
}

@media screen and (max-width: 767px) {
  .header_current_cat h1 {
    font-size: 24px;
    padding: 5px 10px;
    margin-top: 10px;
  }
}

/* TEST */

.search .sortPagiBar i {
  color: #000;
}

.sortPagiBar i {
  color: #fff;
}

.content_sortPagiBar {
  margin-top: -40px;
}

.content_sortPagiBar .row {
  margin: 0;
}

@media screen and (max-width: 767px) {
  .content_sortPagiBar {
    margin-top: -15px;
  }
}

.content_sortPagiBar h1 {
  line-height: 33px !important;
}

#selectProductSort {
  height: 32px !important;
}

.form-control {
  font-size: 18px;
  padding-top: 0;
}

/* .infinitescroll-bottom-message{
 display: block;
 width: 300px;
 text-align:center;
 padding: 10px 13px;
 border: 1px solid;
 margin: 30px auto;
 font-size:18px;
} */
.infinitescroll-bottom-message.infinitescroll-load-more {
  text-align: center;
}

/* .infinitescroll-bottom-message:hover {
  color: #f1e904 !important;
} */

/* .infinitescroll-bottom-message a:hover{
	color: #1f318b !important;
} */

.infinitescroll-bottom-message {
  color: white;
  background-color: #1f318b;
  border: 1px solid #1f318b;
  border-radius: 4px;
  clear: both;
  transition: all 0.3s ease;
  display: block;
  width: 300px;
  text-align: center;
  padding: 10px 13px;
  margin: 30px auto;
  font-size: 18px;
}


.infinitescroll-bottom-message:hover {
  color: #1f318b !important;
  /* texte bleu */
  background-color: #f1e904;
  /* fond jaune */
  border: 1px solid #f1e904;
}

.infinitescroll-bottom-message a {
  color: inherit;
  /* hérite du parent (blanc ou bleu) */
  text-decoration: none;
}

.infinitescroll-bottom-message a:hover {
  color: inherit !important;
  /* garde la couleur héritée même au hover */
}


.infinitescroll-reached-bottom-message {
  color: white;
  background-color: #1f318b;
  border: 1px solid #1f318b;
}


.infinitescroll-reached-bottom-message:hover {
  color: #1f318b;
  background-color: #f1e904;
}

.infinitescroll-reached-bottom-message a {
  color: inherit;
  text-decoration: none;
}

.infinitescroll-reached-bottom-message a:hover {
  color: inherit;
}



.subnone {
  display: none;
}

.image-item img {
  width: 100%;
}

/* 404 */
#pagenotfound .pagenotfound .text-lager {
  font-size: 140px;
  font-weight: 800;
  line-height: 140px;
  color: #1f318b;
}

/* test */
.error-message {
  visibility: hidden;
  color: red;
  margin-top: 2px;
}

.error-message.visible {
  visibility: visible;
}

.error-border {
  border: 1px solid red;
}

.login_form {
  position: fixed;
  max-width: 900px;
  width: 90%;
  top: 50%;
  left: 50%;
  margin-left: -350px;
  margin-top: -153px;
  margin-bottom: 0;
  z-index: 99999;
  border-radius: 5px;
  border: 10px #fff solid;
  box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.8);
  padding: 15px 20px;
}

/* YJ Code commenté suite à la suppression de la modale de login */

/* .login_form_clone {
  position: fixed;
  max-width: 900px;
  width: 90%;
  top: 50%;
  left: 50%;
  margin-left: -350px;
  margin-top: -153px;
  margin-bottom: 0;
  z-index: 99999;
  border-radius: 5px;
  border: 10px #fff solid;
  box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.8);
  padding: 15px 20px;
} */

/* .overlay_login {
  position: fixed;
  height: 100%;
  width: 100%;
  background: rgba(0, 0, 0, 0.5);
  top: 0;
  left: 0;
  z-index: 888;
} */

/* .close_btn {
  position: absolute;
  right: -22px;
  top: -22px;
  background: #fff;
  border-radius: 30px;
  cursor: pointer;
  box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.5);
} */

/* .close_btn i {
  text-align: center;
  padding: 5px 7px;
  border-radius: 39px;
  font-size: 25px;
} */

.login_right {
  border-left: 1px solid #ccc;
}

.login_right label,
.login_left label {
  font-size: 1.2em;
}

.login_right form,
.login_left form {
  margin-bottom: 80px;
}

.login_container {
  position: relative;
  flex-direction: row;
}

.centered_button {
  margin-top: auto;
  align-self: center;
  width: 100%;
  display: flex;
  justify-content: center;
  position: absolute;
  bottom: 0;
}

@media screen and (max-width: 767px) {
  .login_container {
    position: relative;
    flex-direction: column-reverse;
    /* flex-direction: column; */
  }

  .centered_button {
    margin-top: 5px;
    position: static;
    /* revient dans le flux normal */
    bottom: auto;
  }

  .login_right {
    padding-top: 0;
    padding-bottom: 0;
    border-top: none;
    border-bottom: 1px solid #ccc;
    border-left: none !important;
  }

  .login_left {
    padding: 10px 0 0 0;
    border-left: none !important;
  }

  .login_right form,
  .login_left form {
    margin-bottom: 0;
  }

  .login_left form .form-group {
    margin: 0;
  }

  .login_left_txt {
    font-size: 14px;
  }

}

.accroche-accueil {

  h1,
  h2 {
    font-family: "Montserrat", serif !important;
    line-height: 48px;
    font-weight: 700;
    margin: 10px 0 0 0;
    color: #333333;
    border: none !important;
    text-align: center;
  }

  h1 {
    font-size: 26px !important;
    text-transform: uppercase;
  }

  h2 {
    font-size: 26px !important;
    text-transform: none;
    margin-bottom: 10px;
  }

  p {
    font-size: 120%;
    text-align: justify;
    line-height: 25px;
  }
}

@media (max-width: 768px) {
  .accroche-accueil {

    h1,
    h2 {
      line-height: 44px;
      font-weight: 600;
    }

    h1 {
      font-size: 22px !important;
    }

    h2 {
      font-size: 20px !important;
      margin-top: 14px;
    }
  }
}

@media (max-width: 480px) {
  .accroche-accueil {

    h1,
    h2 {
      line-height: 40px;
      font-weight: 600;
    }

    h1 {
      font-size: 20px !important;
    }

    h2 {
      font-size: 19px !important;
    }
  }
}

.prod-recommandes .title_block {
  font-size: 32px !important;
  font-family: "Montserrat", serif !important;
  line-height: 48px;
  font-weight: 700;
  margin: 10px 0 0 0;
  color: #333333;
  border: none !important;
  text-align: center;
  text-transform: none;
}

@media (max-width: 768px) {
  .prod-recommandes .title_block {
    font-size: 28px !important;
    line-height: 38px;
    margin: 0 0 10px 0;
  }
}

.widget-manufacture .title_block {
  font-size: 32px !important;
  font-family: "Montserrat", serif !important;
  line-height: 48px;
  font-weight: 700;
  margin: 10px 0 0 0;
  color: #333333;
  border: none !important;
  text-align: center;
  text-transform: none;
}

@media (max-width: 768px) {
  .widget-manufacture .title_block {
    font-size: 28px !important;
    line-height: 38px;
    margin: 0 0 10px 0;
  }
}

.block-borderbox.block-borderbox {
  border: none !important;
}

.cartouches-toner {
  margin-bottom: 0;
}

.cartouches-toner .title_block {
  font-family: "Montserrat", serif !important;
  font-size: 27px;
  font-weight: 800;
  text-align: center;
  background-color: #fff;
  color: #0054b1;
  background-color: #f3f9fe;
}

.conteneur-cartouches {
  padding-bottom: 20px;
}

.conteneur-cartouches .pts-inner .row-level-1 {
  padding: 15px 15px 0 15px;
  background-color: #f3f9fe;
}

/* .conteneur-cartouches .cartouches-toner .title_block {}

.prod-nouveautes .title_block {
  font-family: "Noto Sans", sans-serif;
  font-weight: 600 !important;
  background-color: #7cb0b2 !important;
  border-bottom: none !important;
  color: #fff !important;
  padding: 10px 20px;
} */

/* .prod-nouveautes {
  border: 2px solid #7cb0b2 !important;
}

.prod-destockage .title_block {
  font-family: "Noto Sans", sans-serif;
  font-weight: 600 !important;
  background-color: #b54455 !important;
  border-bottom: none !important;
  color: #fff !important;
  padding: 10px 20px;
}

.prod-destockage {
  border: 2px solid #b54455 !important;
} */

.image_rear {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  background: blue;
}

.top_block_content {
  max-width: 1200px;
  height: 441px;
  margin: auto;
  background: #fff;
  cursor: initial;
}

/* .column_princ {
  cursor: pointer;
  background: url("../img/bg_interactif.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: fixed;
} */

/* YJ Style bloc Biopaj */
.container-biopaj {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 220px;
  box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, 0.19),
    0px 6px 6px 0px rgba(0, 0, 0, 0.23);
}

.logo-biopaj {
  height: 100%;
  width: 25%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2%;
}

.container-txt-biopaj {
  height: 100%;
  width: 75%;
  font-size: calc(3vmin + 10px);
  padding: 1rem 0.5rem 1rem 2rem;
  background: linear-gradient(to right, #d2b993, #ddccb2);
}

.container-txt-biopaj h2 a {
  color: #009d44;
}

.container-txt-biopaj h2 {
  font-size: 1em;
  line-height: 1.2;
  font-family: "Satisfy", sans-serif;
  font-family: "Satisfy", cursive;
  font-weight: 500;
  font-style: normal;
}

.container-txt-biopaj p a {
  color: #333333;
}

.container-txt-biopaj p {
  font-family: "Afacad", sans-serif;
  font-size: 0.8em;
  font-weight: 400;
  line-height: 1.2;
  margin-top: 10px;
}

/* en version mobile, intégrer le logo dans la zone de texte */
@media (max-width: 767px) {
  .container-biopaj {
    display: block;
    height: 200px;
  }

  .container-txt-biopaj {
    position: relative;
    width: 100%;
    padding-bottom: 0;
  }

  .container-txt-biopaj {
    padding: 1rem 0 0 2rem;
  }

  .container-txt-biopaj p {
    width: 80%;
  }

  .logo-biopaj {
    height: auto;
    position: absolute;
    top: 0;
    right: 0;
  }
}

@media (max-width: 650px) {
  .container-biopaj {
    height: 180px;
  }
}

@media (max-width: 480px) {
  .container-biopaj {
    height: 160px;
  }

  /* slider responsive */
  .bx-wrapper {
    width: 100% !important;
    margin-bottom: 0;
  }

  .bx-viewport {
    height: auto !important;
  }
}

/**** YJ Style page CMS mobilier de bureau ****/
.cms-wrapper {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
}

.cms-content {
  max-width: 1500px;
  width: 100%;
  margin: 0 auto;
  position: relative;
}

@media (max-width: 1480px) {
  .cms-content {
    padding-left: 50px;
    padding-right: 50px;
  }
}

@media (max-width: 1024px) {
  .cms-content {
    padding-left: 30px;
    padding-right: 30px;
  }
}

@media (max-width: 980px) {
  .cms-content {
    padding-left: 15px;
    padding-right: 15px;
  }
}

/** Style encart domaines et expertise **/
.container-bureau {
  padding: 20px 20px 20px 20px;
  margin: 15px auto;
  background: url(/img/box-bureau/plan-filaire.svg),
    linear-gradient(to right, #f18700, #f18900c5);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  color: #f8f8ff;
  box-shadow: 0px 6px 6px 0px rgba(0, 0, 0, 0.23),
    0px 6px 6px 0px rgba(0, 0, 0, 0.23);
  margin-bottom: 15px;
  height: auto;
}

/* Entête */
.entete {
  display: flex;
  justify-content: center;
  align-items: center;
  /* margin-bottom: 30px; */
}

.entete .titre {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  text-align: center;
}

.entete .element {
  width: 100%;
  display: flex;
  justify-content: center;
}

.entete h1,
.entete h2 {
  width: 100%;
  font-size: 35px;
  margin-top: 0;
  margin-bottom: 10px;
  font-weight: 700;
  font-family: "Montserrat", serif !important;
  color: #21180f;
  text-transform: uppercase;
}

/* les 2 élments de l'entête s'affichent sous forme de block (p s'étire pour avoir même largeur que h2) */
.entete .titre p {
  font-size: 31px;
  font-family: "Montserrat", serif !important;
  color: #21180f;
  font-weight: 500;
  line-height: 30px !important;
  margin: 0;
  width: 100%;
  display: inline-block;
  text-align: justify;
}

.entete .titre p::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 0;
}

@media (max-width: 1024px) {
  .entete h2 {
    font-size: 26px;
  }

  .entete .titre p {
    font-size: 26px;
  }
}

@media (max-width: 980px) {
  .entete h2 {
    font-size: 24px;
  }

  .entete .titre p {
    font-size: 24px;
  }
}

@media (max-width: 768px) {
  .entete h2 {
    font-size: 22px;
  }

  .entete .titre p {
    font-size: 22px;
  }
}

@media (max-width: 680px) {
  .entete {
    margin-bottom: 0;
  }

  .entete h2 {
    font-size: 19px;
  }

  .entete .titre p {
    font-size: 19px;
  }
}

@media (max-width: 480px) {
  .entete h2 {
    font-size: 18px;
  }

  .entete .titre p {
    font-size: 16px;
    text-align: center;
  }
}

.container-bureau h3 {
  margin-top: 0;
  font-size: 28px;
  color: #21180f;
  font-style: italic;
}

@media (max-width: 1024px) {
  .container-bureau h3 {
    font-size: 26px;
  }
}

@media (max-width: 980px) {
  .container-bureau h3 {
    font-size: 24px;
  }
}

@media (max-width: 480px) {
  .container-bureau h3 {
    font-size: 22px;
  }
}

.container-domaines-expertise {
  display: flex;
  justify-content: space-between;
  padding-left: 110px;
}

.column-services {
  flex-basis: 60%;
}

.column-expertise {
  flex-basis: 40%;
  padding: 0 30px;
}

@media (max-width: 1480px) {
  .container-domaines-expertise {
    padding-left: 50px;
  }

  .column-expertise {
    padding: 0 20px;
  }
}

@media (max-width: 780px) {
  .container-domaines-expertise {
    flex-direction: column;
    padding: 0 20px;
  }

  .column-services,
  .column-expertise {
    flex-basis: 100%;
  }

  .column-expertise {
    padding: 0;
    margin-top: 10px;
  }
}

@media (max-width: 480px) {
  .container-domaines-expertise {
    padding: 0 5px;
  }
}

.item-services-expertise {
  line-height: 20px;
  padding-bottom: 10px;
  display: flex;
  align-items: center;
}

.icone-xx-small {
  width: 12px;
  height: 12px;
}

.icone-x-small {
  width: 16px;
  height: 16px;
}

.icone-small {
  width: 20px;
  height: 20px;
}

.icone-medium {
  width: 22px;
  height: 22px;
}

.icone-x-medium {
  width: 26px;
  height: 26px;
}

.icone-large {
  width: 28px;
  height: 28px;
}

.icone-x-large {
  width: 32px;
  height: 32px;
}

.icone-xx-large {
  width: 40px;
  height: 40px;
}

.icone-black {
  color: #000;
}

.icone-blue {
  color: #2d2c78;
}

.icone-yellow {
  color: #ffcf21;
}

.icone-red {
  color: #a62639;
}

.icone-white {
  color: #f8f8ff;
}

.icon-text-align {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: "Afacad", serif;
}

/* YJ supprimer à terme cette classe après le remplacement des anciennes icones par les nouvelles */
.icone {
  font-size: 10px;
  margin-right: 8px;
}

.item-services-expertise ion-icon {
  margin-right: 12px;
  font-size: 1.5rem;
  flex-shrink: 0;
}

.item-services-expertise span {
  font-size: 24px;
  font-family: "Afacad", serif;
  line-height: 1.5;
  flex-grow: 1;
}

@media (max-width: 980px) {
  .item-services-expertise ion-icon {
    font-size: 1.3rem;
  }

  .item-services-expertise span {
    font-size: 22px;
  }
}

@media (max-width: 480px) {
  .item-services-expertise ion-icon {
    margin-right: 10px;
    font-size: 1.1rem;
  }

  .item-services-expertise span {
    font-size: 20px;
  }
}

/* Signature qualité */
.row .signature {
  display: flex;
  align-items: center;
  justify-content: center;
}

.row .signature span {
  font-size: 24px !important;
  font-weight: 400;
  font-style: italic;
}

.icon-thumb-up {
  width: 45px;
  height: 45px;
  margin-right: 10px;
}

@media (max-width: 1024px) {
  .row .signature span {
    font-size: 22px !important;
  }
}

@media (max-width: 980px) {
  .row .signature span {
    font-size: 20px !important;
    padding: 5px 15px;
  }
}

@media (max-width: 780px) {
  .row .signature {
    padding: 0 20px;
  }

  .row .signature span {
    text-align: center;
    padding: 0 10px;
  }

  .icon-thumb-up {
    width: 50px;
    height: 50px;
    margin-right: 0;
  }
}

@media (max-width: 480px) {
  .row .signature span {
    font-size: 18px !important;
    text-align: center;
    padding: 0 5px;
  }

  .icon-thumb-up {
    width: 90px;
    height: 90px;
  }
}

/** Style listing catégories dans la page mobilier **/
#category-container {
  padding: 15px 0;
}

@media (max-width: 768px) {
  #category-container {
    padding: 15px 20px;
  }
}

/* Style pour le bloc de catégories */
.category-block {
  margin-bottom: 30px;
}

/* Style pour les titres de niveau 0 */
.category-title {
  font-size: 38px;
  font-family: "Montserrat", serif !important;
  line-height: 48px;
  font-weight: 700;
  text-align: center;
  margin: 0 0 15px;
}

.category-description {
  font-size: 20px;
  line-height: 30px !important;
  text-align: center;
  margin: 0 0 15px;
}

.category-description p {
  font-size: 20px;
  line-height: 30px !important;
  text-align: center;
  margin: 0 0 15px;
}

/* Conteneur de cartes */
.cards-container {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: space-between;
}

/* Style pour chaque carte */
.card-category {
  height: 100%;
  list-style: none;
  flex-grow: 1;
  flex-basis: calc(25% - 20px);
  /* Chaque carte occupe environ un tiers de la ligne (sans l'écart) */
  max-width: calc(25% - 20px);
  /* Limite la largeur maximale à un tiers */
  box-sizing: border-box;
  border: none;
  border-radius: 5px;
  overflow: hidden;
  background-color: #fff;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
  padding: 0 !important;
}

@media (max-width: 768px) {
  .card-category {
    flex-basis: calc(50% - 20px);
    max-width: calc(50% - 20px);
  }
}

@media (max-width: 480px) {
  .card-category {
    flex-basis: 100%;
    max-width: 100%;
  }
}

/* Image de la carte */
.card-category-img {
  width: 100%;
  height: auto;
}

/* Contenu de la carte */
.card-category-body {
  padding: 10px;
  text-align: center;
  font-size: 25px;
}

@media (max-width: 1180px) {
  .card-category-body {
    padding: 8px;
    font-size: 20px;
  }
}

@media (max-width: 980px) {
  .card-category-body {
    padding: 0;
    font-size: 17px;
  }
}

@media (max-width: 768px) {
  .card-category-body {
    padding: 8px;
    font-size: 22px;
  }
}

@media (max-width: 680px) {
  .card-category-body {
    padding: 3px;
    font-size: 20px;
  }
}

/* Lien de la carte */
.card-category-link {
  display: block;
  padding: 15px 10px;
  background-color: #000;
  color: #f8f8ff;
  text-align: center;
  text-decoration: none;
  width: 100%;
  box-sizing: border-box;
  transition: background-color 0.3s ease, color 0.3s ease;
}

/* Effet au survol */
.card-category-link:hover {
  background-color: #333;
  color: #f18700;
}

/* Effet au survol */
.card-category:hover {
  transform: scale(1.03);
}

/** Style encart showroom **/
.container-showroom {
  height: 504px;
  display: flex;
  justify-content: space-around;
  align-items: center;
}

.image-container-showroom {
  width: 60%;
  background: url("/img/box-bureau/facade-jeanneret-mobilier.png");
  background-repeat: no-repeat;
  background-size: contain;
  height: 100%;
  background-position: bottom;
  position: relative;
}

.infos-container-showroom {
  position: absolute;
  top: 10%;
  width: 100%;
  display: flex;
  text-align: center;
  flex-direction: column;
}

.infos-container-showroom h3 {
  line-height: 35px;
  color: #f8f8ff;
}

.coordonnees-container-showroom {
  padding-top: 15px;
  display: flex;
  justify-content: space-around;
}

.coordonnees-container-showroom a,
.coordonnees-container-showroom p {
  font-size: 18px;
  line-height: 1.5em !important;
  color: #f8f8ff;
}

.icon-location,
.icon-time {
  vertical-align: middle;
}

.icon-time {
  margin-right: 20px;
}

.icon-location {
  margin-right: 8px;
}

@media (max-width: 680px) {
  .icon-time {
    margin-right: 4px;
  }

  .icon-location {
    margin-right: 0;
  }
}

.align-icon {
  display: flex;
  align-items: center;
  justify-content: center;
}

.address-showroom {
  display: inline-block;
  vertical-align: middle;
}

.address-showroom:hover {
  color: #21180f;
}

.video-container-showroom {
  width: 20%;
  height: 100%;
  overflow: hidden;
  background-color: transparent;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.video-container-showroom video {
  width: 100%;
  height: 100%;
  object-fit: fill;
  object-position: center;
}

@media (max-width: 1480px) {
  .video-container-showroom {
    width: 25%;
  }
}

@media (max-width: 1280px) {
  .video-container-showroom {
    width: 26%;
  }
}

@media (max-width: 1180px) {
  .video-container-showroom {
    width: 30%;
  }
}

@media (max-width: 1140px) {
  .video-container-showroom {
    width: 28%;
  }
}

@media (max-width: 780px) {
  .video-container-showroom {
    width: 30%;
  }
}

@media (max-width: 680px) {
  .video-container-showroom {
    width: 33%;
  }
}

@media (max-width: 580px) {
  .video-container-showroom {
    width: 80%;
    height: auto;
  }
}

@media (max-width: 780px) {
  .container-showroom {
    height: 350px;
    justify-content: space-between;
  }

  .image-container-showroom {
    width: 65%;
  }

  .infos-container-showroom h3 {
    font-size: 18px;
    line-height: 1.2em;
  }

  .coordonnees-container-showroom {
    font-size: 15px;
    line-height: 1.2em;
  }
}

@media (max-width: 680px) {
  .coordonnees-container-showroom p {
    font-size: 16px;
    line-height: 1.2em !important;
  }
}

@media (max-width: 580px) {
  .espace-mobilier-bureau {
    padding-top: 0;
  }

  .container-showroom {
    height: auto;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
  }

  .image-container-showroom {
    width: 100%;
    height: auto;
    min-height: 400px;
  }

  .infos-container-showroom {
    order: 2;
    /* Assure que le texte vient après l'image */
  }

  .infos-container-showroom h3 {
    font-size: 20px;
    line-height: 1.2em;
    text-align: justify;
  }

  .coordonnees-container-showroom {
    font-size: 16px;
    line-height: 1.2em;
    display: flex;
    flex-direction: column;
  }

  .video-container-showroom {
    order: 3;
    /* Assure que la vidéo vient après le texte */
    margin-top: 40px;
  }
}

/** Style formulaire mobilier **/
.formulaire-contact-mobilier {
  padding: 10px;
  border-radius: 3px;
  background-color: #000000;
  margin: 30px 0 0 0;
}

.formulaire-contact-mobilier input,
.formulaire-contact-mobilier textarea {
  border: 0.5px;
  border-radius: 3px;
  margin-bottom: 4px;
}

.formulaire-contact-mobilier legend {
  font-family: "Montserrat", serif !important;
  font-size: 18px;
  font-weight: 600;
  padding: 5px;
  color: #f8f8ff;
  border-bottom: 1px solid #757575;
}

.formulaire-contact-mobilier #submit-message-btn {
  font-size: 14px;
  color: #21180f;
  background-color: #f18700;
  border: none;
  border-radius: 3px;
}

.formulaire-contact-mobilier #submit-message-btn:hover {
  color: #f8f8ff !important;
}

@media (max-width: 991px) {
  .formulaire-contact-mobilier input {
    margin-bottom: 10px;
  }
}

@media (max-width: 780px) {
  .formulaire-contact-mobilier legend {
    font-size: 16px;
    font-weight: 500;
  }
}

@media (max-width: 580px) {
  .formulaire-contact-mobilier {
    margin-left: 0;
    margin-right: 0;
  }
}

@media (max-width: 480px) {
  .formulaire-contact-mobilier legend {
    font-size: 15px;
    font-weight: 400;
  }
}

#form-result {
  margin-bottom: 5px;
}

/* YJ Fin style container aménagement bureau */

#identity p.required {
  font-size: 1.3em;
}

/* YJ message d'information pour la saisie de nouvelles adresses pour les écoles */
.message-info-panier {
  /* font-size: calc(1.4vmin + 5px); */
  font-size: 1.2em;
  padding: 0.4em 0.8em;
  color: #fff;
  background-color: #f18700;
  border-radius: 3px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 1em;

  i {
    font-size: 1.8em;
    font-weight: 500;
  }

  p {
    margin-left: 12px;
    margin-bottom: 0;
    line-height: 1.3em;
  }
}

/* YJ messages terme livraison et paiement étape 3 */
.infos-terms {
  font-size: 120%;
  display: flex;
  align-items: center;

  /* p {
    width: 100%;
    padding: 5px;
    color: #404040;
    background-color: #b5b5b5;
  } */

  ion-icon {
    font-size: 1.5em;
    margin-right: 0.5em;
  }
}

/* YJ Personnalisation du style select2 dans étape Adresse du tunnel de commande */

/* .select2-search--dropdown{
  background-color: #000;
  color: white;
}
.select2-search__field{
  background-color: #000;
  color: white;
}
.select2-results { 
  background-color: #000;
  color: rgb(255, 255, 255);
} */

.select2-container {
  z-index: 0;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: #1f318b !important;
  color: #fff !important;
  font-size: 1.2em !important;
  z-index: 0;
}

.select2-results__options[id*="id_address_delivery"] li[id*="choice_new_delivery"],
.select2-results__options[id*="id_address_invoice"] li[id*="choice_new_invoice"] {
  background-color: #f1e904 !important;
  color: #1f318b !important;
}

/* .select2-results { 
  background-color: #000;
  color: rgb(255, 255, 255);
}  */

/* .select2-container--default .select2-results__option[id*="new_address_delivery"]{
  background-color: red !important;
} */

/* .select2-container--default .select2-results__option["#new_address_delivery"] {
  background-color: #1f318b !important;
  color: red !important; 
  font-size: 1em !important;
} */

/* YJ logo fabricant */
.logo-fabricant {
  /* margin-top:20px; */
  padding: 20px 0 0 0;
  /* margin-left:-13px; */
}

@media screen and (max-width: 768px) {
  .logo-fabricant {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}

/* YJ Lien produits Wow */
.link-wow {
  font-size: 1.7em !important;
  font-weight: 500;
  margin-bottom: 0;
  /* margin-top: -20px;
  margin-bottom: 1em; */
  /* margin-left: -13px; */

  position: absolute;
  left: 50%;
  transform: translateX(-50%);

  border: 0.3px solid #e1e1e1;
  border-radius: 5px;
  padding: 10px;
  text-align: center;
  width: 75%;
  background-image: linear-gradient(to right,
      #f42c89,
      #8b1e9f,
      #036c84,
      #8b9203,
      #e3e303,
      #fcb102,
      #acada8);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  box-shadow: 0 0 0 0 #e1e1e1;
  animation: pulse 1.3s infinite;
}

@keyframes pulse {
  to {
    box-shadow: 0 0 0 10px rgb(225, 225, 225, 0.01);
  }
}

@media screen and (max-width: 768px) {
  .link-wow {
    font-size: 1.2em !important;
    width: 60%;
    margin-bottom: 1.8em;
    margin-top: -18px;
  }
}

/* YJ Encart pour lien produits de l'offre 2 achetés 3ième offert dans la fiche produit */
.lien-mobile {
  display: none;
}

.container-offre23 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  /* Centre le contenu horizontalement */
  padding-left: 25px;
  width: 100%;
  margin: auto;
}

.link-offre23 {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #1f318b;
  border-radius: 8px;
  padding: 10px 10px 10px 80px;
  width: 100%;
  color: white;
  z-index: 0;
}

.image-offre23 {
  position: absolute;
  left: -26px;
  height: 115%;
  width: auto;
  z-index: 10;
}

.link-offre23 p {
  flex: 2.5;
  font-size: 1.2em !important;
  margin: 0;
}

.link-offre23 a {
  flex: 1;
  font-size: 1.35em;
  font-weight: 600;
  color: white;
  background-color: #f18700;
  padding: 6px;
  text-align: center;
  border-radius: 3px;
  box-shadow: 0 0 0 0 #f3ab4ccc;
  animation: pulse-offre 1.3s infinite;
}

@keyframes pulse-offre {
  to {
    box-shadow: 0 0 0 6px rgb(225, 225, 225, 0.01);
  }
}

@media screen and (max-width: 991px) {
  .link-offre23 {
    width: 90%;
  }
}

@media screen and (max-width: 768px) {
  .container-offre23 {
    padding: 10px;
  }

  .link-offre23 {
    width: 93%;
    padding: 10px 15px 10px 60px;
  }

  .link-offre23 p {
    font-size: 1.1em !important;
  }

  .link-offre23 a {
    font-size: 1.1em;
  }
}

@media screen and (max-width: 520px) {
  .container-offre23 {
    padding: 0 4px;
  }

  .link-offre23 {
    padding: 10px 15px 10px 75px;
  }

  .image-offre23 {
    left: 15px;
    width: 50px;
    height: auto;
  }

  .link-offre23 p {
    font-size: 1.1em !important;
  }

  .lien-desktop {
    display: none;
  }

  .lien-mobile {
    display: block;
  }

  .link-offre23 a {
    flex: 0;
    font-size: 1.6em !important;
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

@media screen and (max-width: 380px) {
  .link-offre23 {
    padding: 10px 15px 10px 60px;
  }

  .image-offre23 {
    left: 10px;
    width: 45px;
  }

  .link-offre23 a {
    font-size: 1.4em !important;
    width: 40px;
    height: 40px;
  }
}

/* Fin encart pour lien produits de l'offre 2 achetés 3ième offert dans la fiche produit */

/* YJ Description courte fiche produit */
.description-courte h3 {
  color: #1f318b;
  font-weight: 500;
}

.description-courte p {
  font-size: 111%;
  color: #1f318b;
}

.description-courte ul,
.description_right ul,
.description-tab ul {
  padding-left: 30px;
}

.description-courte ul li,
.description_right ul li,
.description-tab ul li {
  font-size: 111%;
  color: #1f318b;
  list-style: disc;
}

#bandeau-information {
  text-align: center;
  padding: 10px;
  background: #f18700;
  text-transform: uppercase;

  p {
    color: #f8f8ff;
    font-size: 20px;
    margin: 0;
  }
}

#bandeau-destockage {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 10px;
  background: #da0404;
  text-transform: uppercase;

  p {
    color: #f1f1f1;
  }
}

#logo-destockage {
  color: #f1f1f1;
  font-weight: 500;
  opacity: 0;
  animation: blinking 1.8s linear infinite;
}

@media screen and (max-width: 580px) {
  #bandeau-destockage {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    p {
      text-align: center;
      font-size: 16px;
      margin: 0 10px;
    }
  }

  #logo-destockage {
    font-size: 25px;
    margin-bottom: 5px;
  }
}

@media screen and (min-width: 581px) {
  #bandeau-destockage {
    p {
      font-size: 20px;
      margin: 0 40px;
    }
  }

  #logo-destockage {
    font-size: 38px;
    margin: 0 40px;
  }
}

@keyframes blinking {

  from,
  49.9% {
    opacity: 0;
  }

  50%,
  to {
    opacity: 0.6;
  }
}

/* YJ Mot de passe oublié */

.pwd-oublie {
  padding-top: 20px;
  padding-left: 20px;

  .form-group {
    margin-bottom: 25px;
  }

  p {
    font-size: 125%;
  }

  label {
    text-align: left !important;
    padding-left: 65px;
    padding-right: 0;
  }

  .form-horizontal .control-label {
    text-align: left;
  }
}

/* YJ Toggle champs mots de passe */
.toggle-container {
  position: relative;
}

.password-wrapper {
  position: relative;
}

.toggle-container .pswd {
  padding-right: 2.2em;
  position: relative;
  z-index: 1;
}

.toggle-container .field_icon {
  color: #666;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  cursor: pointer;
  z-index: 2;
}

.password-wrapper .field_icon {
  right: 5px !important;
}

/* Bouton Remonter en haut du site */
.sticky-back-to-top {
  position: fixed;
  bottom: 30px;
  right: 30px;
  background-color: #2d2c78;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4);
  outline: none;
  border: none;
  color: #fff;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  cursor: pointer;
  display: none;
  z-index: 100;
}

.sticky-back-to-top ion-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.sticky-back-to-top:hover {
  opacity: 0.8;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.4);
}

@media screen and (max-width: 1024px) {
  .sticky-back-to-top {
    bottom: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
  }
}

@media screen and (max-width: 581px) {
  .sticky-back-to-top {
    opacity: 0.8;
  }

  .sticky-back-to-top ion-icon {
    width: 20px;
    height: 20px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}

/* Fin Bouton Remonter en haut du site */

/* Bouton Valider ma commande, visible si le grand bouton Commander n'est pas visible */
#sticky-back-to-order {
  position: fixed;
  bottom: 30px;
  left: 80px;
  cursor: pointer;
  display: none;
  z-index: 100;
}

@media screen and (max-width: 1024px) {
  #sticky-back-to-order {
    bottom: 20px;
    left: 20px;
  }
}

.sticky-back-to-order-btn {
  display: flex !important;
  justify-content: center;
  align-items: center;
  font-size: 22px;
  padding: 8px 10px;
  background-color: #2d2c78;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4);
  border-radius: 6px;
  outline: none;
  border: none;
  color: #fff;
}

.sticky-back-to-order-btn ion-icon {
  margin-left: 5px;
}

@media screen and (max-width: 581px) {
  #sticky-back-to-order {
    opacity: 0.8;
  }

  .sticky-back-to-order-btn {
    font-size: 18px;
    padding: 6px 8px;
  }
}

/* Fin Bouton Valider ma commande */

/* Slider mobilier */
.slider-container {
  position: relative;
  width: 100%;
  margin: 0 auto 20px auto;
  overflow: hidden;
  height: 380px;
}

.slider-slide {
  position: absolute;
  width: 100%;
  height: 100%;
  text-align: center;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 1s ease-in-out;
}

.slider-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.slider-slide.active {
  opacity: 1;
  z-index: 10;
}

.offer-box {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  padding: 20px;
  /* background-color: rgba(31, 49, 139, 0.95); */
  background-color: rgba(112, 171, 88, 0.9);
  color: #ffffff;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
  border-radius: 10px;
  z-index: 20;
  text-align: center;
  width: 300px;
  height: 97%;
}

.title-offer-box {
  font-size: 22px;
  font-weight: 600;
}

.image23-offer-box {
  position: absolute;
  top: 40px;
  right: 30px;
  width: 50px;
  height: auto;
  z-index: 30;
}

.imagefauteuil-offer-box {
  display: block;
  margin: 0 auto !important;
  height: 200px !important;
  width: auto;
}

.text-offer-box {
  font-size: 16px !important;
  z-index: 25;
}

.link-offer-box {
  font-size: 1.3em;
  font-weight: 500;
  color: white;
  background-color: #f18700;
  padding: 4px;
  border-radius: 3px;
  box-shadow: 0 0 0 0 #f3ab4ccc;
  animation: pulse-offre 1.3s infinite;
}

.link-offer-box:hover {
  color: #1b5703 !important;
}

@keyframes pulse-offre {
  to {
    box-shadow: 0 0 0 6px rgb(225, 225, 225, 0.01);
  }
}

@media screen and (max-width: 768px) {
  .slider-container {
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .offer-box {
    position: relative;
    top: auto;
    right: auto;
    left: auto;
    transform: none;
    width: 100%;
    height: auto;
    margin: 245px auto 0 auto;
    padding: 15px;
  }

  .image23-offer-box {
    position: absolute;
    top: 40px;
    right: 70px;
    width: 80px;
    height: auto;
    z-index: 30;
  }
}

@media screen and (max-width: 680px) {
  .offer-box {
    margin: 220px auto 0 auto;
  }

  .image23-offer-box {
    top: 40px;
    right: 30px;
  }
}

@media screen and (max-width: 580px) {
  .offer-box {
    margin: 180px auto 0 auto;
  }
}

@media screen and (max-width: 480px) {
  .offer-box {
    margin: 140px auto 0 auto;
  }

  .image23-offer-box {
    width: 60px;
  }
}

@media screen and (max-width: 380px) {
  .offer-box {
    margin: 118px auto 0 auto;
  }

  .image23-offer-box {
    width: 50px;
  }
}

/* Fin Slider mobilier */

/* YJ Augmentation et adaptation de la lageur de la div container pour le listing produit et la page produit */

.custom-product-listing {
  width: 80%;
  margin: 0 auto;
}

@media (max-width: 1480px) {
  .custom-product-listing {
    width: 90%;
    margin: 0 auto;
  }
}

@media (max-width: 1280px) {
  .custom-product-listing {
    width: 95%;
    margin: 0 auto;
  }
}

.custom-product-page {}

/* Style galerie mobilier */
.gallery-description h1 {
  font-size: 30px;
  font-family: "Montserrat", serif !important;
  font-weight: 600;
  text-align: center;
  margin: 0 0 10px 0;
}

.gallery-description h4 {
  font-size: 20px;
  font-family: "Montserrat", serif !important;
  line-height: 26px;
  font-weight: 500;
  margin: 12px 0 8px 0;
}

@media (max-width: 780px) {
  .gallery-description h1 {
    font-size: 22px;
  }

  .gallery-description h4 {
    font-size: 20px;
  }
}

.gallery-description p {
  font-size: 18px;
  line-height: 30px !important;
  text-align: justify;
  margin: 0 0 15px;
}

@media (max-width: 580px) {
  .gallery-description h1 {
    font-size: 20px;
  }

  .gallery-description h4 {
    font-size: 18px;
  }

  .gallery-description p {
    font-size: 16px;
    line-height: 26px !important;
  }
}

.gallery-description a {
  text-decoration: underline;
}

.gallery-description ul {
  margin: 0;
}

.gallery-description ul {
  list-style-type: none;
  padding-left: 0;
  font-size: 18px;
}

.gallery-description ul li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 8px;
}

.gallery-description ul li::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 0;
  font-size: 30px;
  line-height: 25px;
}

.row-gallery {
  display: flex;
  flex-wrap: wrap;
  padding: 0 4px;
}

.column-gallery {
  flex: 33.33%;
  max-width: 33.33%;
  padding: 0 8px;
}

.column-gallery img {
  margin-top: 8px;
  vertical-align: middle;
  width: 100%;
  border-radius: 15px;
  transition: transform 0.3s ease, margin 0.3s ease;
}

.column-gallery img:hover {
  transform: scale(1.05);
  margin: -5px;
}

@media screen and (max-width: 800px) {
  .column-gallery {
    flex: 50%;
    max-width: 50%;
  }
}

@media screen and (max-width: 600px) {
  .column-gallery {
    flex: 100%;
    max-width: 100%;
  }
}

.modal-gallery {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10002;
}

.modal-gallery img {
  max-width: 90%;
  max-height: 90%;
  border-radius: 15px;
  transition: opacity 1s ease-in-out;
}

.fade-out {
  opacity: 0;
}

.fade-in {
  opacity: 1;
}

.modal-gallery-prev,
.modal-gallery-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: rgba(116, 114, 114, 0.7);
  border: none;
  padding: 10px;
  cursor: pointer;
  border-radius: 50%;
  z-index: 10001;
}

.modal-gallery-prev {
  height: 48px;
  left: 40px;
}

.modal-gallery-next {
  height: 48px;
  right: 40px;
}

.modal-gallery-prev:hover,
.modal-gallery-next:hover {
  background-color: rgba(116, 114, 114, 0.9);
}

@media screen and (max-width: 768px) {

  .modal-gallery-prev,
  .modal-gallery-next {
    background-color: transparent;
  }

  .modal-gallery-prev {
    left: 0px;
  }

  .modal-gallery-next {
    right: 0px;
  }

  .modal-gallery-prev:hover,
  .modal-gallery-next:hover {
    background-color: transparent;
  }
}

/* Fin style galerie */

/* Eco taxe */
.ecotax_display {
  color: #666;
  font-size: 95%;
  font-weight: 400;
}

/* Style custom de formulaires création compte, édition adresses... */
.page-subheading {
  border-bottom: 1px solid #e1e1e1;
  margin-bottom: 15px;
}

.required.form-group {
  margin-bottom: 15px;
}

.required.form-group label,
.required.form-group span {
  color: #666666;
}

/* YJ Style produits mis en avant : les nouveautés, les suggestion.... */
.highlighted-product {
  text-align: center;
  margin-bottom: -20px;
}

.highlighted-product h2 {
  font-size: 32px;
  font-family: "Montserrat", serif !important;
  line-height: 48px;
  font-weight: 700;
  margin: 15px 0 0 0;
}

/* Conteneur pour le texte et l'image */
.highlighted-product .product-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 3%;
}

/* Texte */
.highlighted-product .product-info {
  width: 85%;
  text-align: left;
}

.highlighted-product .product-info p {
  font-size: 20px;
  line-height: 30px !important;
}

/* Image */
.highlighted-product .product-media {
  width: 15%;
  text-align: end;
}

.highlighted-product .product-media img {
  width: auto;
  height: auto;
}

@media (max-width: 768px) {
  .highlighted-product h2 {
    font-size: 28px;
    line-height: 38px;
    margin: 0 0 15px 0;
  }

  .highlighted-product .product-content {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .highlighted-product .product-info {
    width: 100%;
    text-align: justify;
  }

  .highlighted-product .product-media {
    width: 100%;
    text-align: center;
    margin-top: 10px;
  }

  .highlighted-product .product-media img {
    width: 120px;
  }
}

/* Style bandeau exceptionnel */
.bandeau-exceptionnel {
  box-sizing: border-box;
}

#bandeau-inventaire {
  background-color: red;
}

#bandeau-inventaire p {
  font-size: 17px;
  font-weight: 400;
  padding: 5px 0;
  margin: 0;
  color: white;
  text-align: center;
}

/* Style personnalisation tampons */
#tampon-container {
  width: 500px;
  height: 150px;
  border: 1px solid #ccc;
  margin-top: 20px;
  position: relative;
}

/* YJ Style produits favoris : habitudes d'achats et adaptation des autres élements */
.ajax_block_product .favorite-product {
  outline: 1px solid rgba(255, 207, 33, 1);
  outline-offset: 0px;
}

.ajax_block_product:hover .favorite-product {
  box-shadow: 0 0 10px rgba(255, 207, 33, 0.8);
}

/* Personnalisation du tooltip */
.product-container.favorite-product {
  position: relative;
}

/* Tooltip par défaut en desktop, apparait au survol de la card produit*/
.product-container.favorite-product::after {
  content: "Déjà acheté lors d'une précédente commande";
  position: absolute;
  top: 45%;
  left: 50%;
  transform: translateX(-50%);
  background-color: rgba(45, 44, 120, 0.8);
  color: white;
  padding: 5px 10px;
  border-radius: 4px;
  font-size: 16px;
  width: 90%;
  z-index: 9999;
  cursor: default;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out;
}

/* Tooltip par défaut en mobile ou tablette, apparait en tap pendant 3 secondes */
.favorite-tooltip {
  position: absolute;
  top: 45%;
  left: 50%;
  transform: translateX(-50%);
  background-color: rgba(45, 44, 120, 0.8);
  color: white;
  padding: 5px 10px;
  border-radius: 4px;
  font-size: 16px;
  width: 90%;
  z-index: 9999;
  text-align: center;
  display: none;
  /* Caché par défaut */
}

/* Affichage du tooltip en hover (uniquement desktop) */
@media (hover: hover) {
  .product-container.favorite-product:hover::after {
    opacity: 1;
    visibility: visible;
  }
}

/* Affichage du tooltip en tap (uniquement mobile) */
@media (max-width: 991px) {
  .product-container.favorite-product.show-tooltip::after {
    opacity: 1;
    visibility: visible;
  }
}

.sub_meta_ref {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 10px;
}

/* Groupe étoile + référence */
.left-meta {
  display: flex;
  align-items: center;
  gap: 4px;
}

/* Étoile */
.favorite-floating-icon {
  background: rgba(255, 207, 33, 0.85);
  color: white;
  font-size: 18px;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  cursor: default;
  transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

.favorite-floating-icon:hover {
  transform: scale(1.1);
  box-shadow: 0 2px 8px rgba(255, 207, 33, 0.5);
}

/* Offre et réduction à droite */
.right-meta {
  margin-left: auto;
  text-align: right;
}

/* Fin Style produits favoris : habitudes d'achats */

/* Style info bulle Nouveautés et popup nouveautes*/
#bulle-nouveautes {
  position: fixed;
  top: 50%;
  left: 25px;
  z-index: 1;
  opacity: 0;
  transform: translateX(-100%);
  transition: opacity 0.6s ease, transform 0.6s ease;
  pointer-events: none;
}

#bulle-nouveautes.visible {
  opacity: 1;
  transform: translateX(0);
  pointer-events: auto;
}

.bulle-wrapper {
  background-color: #2d2c78;
  color: #fff;
  padding: 12px;
  border-radius: 10px;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  display: flex;
  align-items: center;
  font-size: 16px;
}

.bulle-wrapper .bulle-contenu {
  display: flex;
  align-items: center;
  gap: 6px;
}

.bulle-pointe {
  position: absolute;
  bottom: -8px;
  left: 20px;
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 10px solid #2d2c78;
  z-index: 1;
}

#popup-nouveautes-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 10000;
}

#popup-nouveautes {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: white;
  z-index: 10002;
  width: 90%;
  min-height: 340px;
  max-width: 920px;
  max-height: 620px;
  transition: max-width 0.3s ease, max-height 0.3s ease;
  overflow: hidden;
  border-radius: 5px;
  box-shadow: 0 5px 30px rgba(0, 0, 0, 0.3);
  display: none;
  padding: 20px 25px;
  margin: 0;
  box-sizing: border-box;
}

.popup-category-title {
  text-transform: uppercase;
  font-family: "Noto Sans", sans-serif;
  font-size: 1.5em;
  text-align: center;
  font-weight: 600;
  color: #1f318b;
  padding: 10px;
  margin: 0;
}

#popup-nouveautes .note-slide {
  display: flex;
  flex-direction: row;
  gap: 10px;
  align-items: center;
  flex-wrap: nowrap;
  overflow: visible;
  position: relative;
}

#popup-nouveautes .note-image-wrapper {
  position: relative;
  flex: 0 0 30%;
  padding: 30px;
  border-radius: 4px;
  overflow: hidden;
  z-index: 1;
  max-width: none;
  aspect-ratio: 3 / 4;
  display: flex;
  align-items: center;
  justify-content: center;
}

#popup-nouveautes .note-image-wrapper:hover {
  overflow: visible;
  z-index: 10;
}

#popup-nouveautes .note-image-wrapper img {
  max-width: 100%;
  max-height: 100%;
  border-radius: 4px;
  transition: transform 0.3s ease;
  transform-origin: center center;
  cursor: zoom-in;
}

#popup-nouveautes .note-image-wrapper:hover img {
  transform: scale(1.2);
}

#popup-nouveautes .note-text-container {
  flex: 1;
  min-width: 200px;
}

#popup-nouveautes .note-text-inner h3 {
  font-family: "Noto Sans", sans-serif;
  font-size: 1.3em;
  font-weight: 500;
  color: #1f318b;
  margin: 0 0 10px 0;
}

#popup-nouveautes .note-text-inner p {
  font-size: 1.3em;
  line-height: 1.6;
  color: #555;
  text-align: justify;
}

#popup-nouveautes .btn-note-ok {
  position: absolute;
  bottom: 0;
  right: 0;
  background-color: #1f318b;
  color: white;
  border: none;
  padding: 10px 18px;
  border-radius: 5px;
  cursor: pointer;
}

#popup-nouveautes .btn-note-ok:hover {
  background-color: #f1e904;
  color: #1f318b;
}

#popup-nouveautes .btn-note-ok:active {
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.3);
  transform: scale(0.98);
}

#close-popup-nouveautes {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 30px;
  cursor: pointer;
}

@media screen and (max-width: 992px) {
  #bulle-nouveautes {
    top: 50%;
    left: 20px;
    transform: translateX(-100%) translateY(-50%);
    transition: opacity 0.6s ease, transform 0.6s ease;
    max-width: 80%;
  }

  #bulle-nouveautes.visible {
    transform: translateX(0) translateY(-50%);
  }

  .bulle-wrapper {
    padding: 6px 8px;
    border-radius: 10px;
  }

  #bulle-nouveautes .bulle-contenu {
    font-size: 0;
    display: flex;
    align-items: center;
    gap: 6px;
    position: relative;
  }

  #bulle-nouveautes .bulle-contenu::before {
    content: "Évolutions du site";
    font-size: 18px;
    color: white;
  }

  #bulle-nouveautes ion-icon.icone-large {
    display: none;
  }

  .bulle-pointe {
    display: block;
    bottom: -8px;
    left: 16px;
    border-top: 10px solid #2d2c78;
  }
}

@media screen and (max-width: 581px) {
  .bulle-wrapper {
    opacity: 0.8;
  }
}

@media screen and (max-width: 880px) {
  #popup-nouveautes {
    max-height: none;
  }

  #popup-nouveautes .note-slide {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 20px;
    overflow-y: auto;
    max-height: 80vh;
    box-sizing: border-box;
    flex-grow: 1;
  }

  #popup-nouveautes .note-slide h2,
  #popup-nouveautes .note-slide h3 {
    margin-bottom: 10px;
    font-size: 18px;
  }

  #popup-nouveautes .note-image-wrapper {
    max-width: 90%;
    width: auto;
    padding: 20px;
    margin-bottom: 15px;
    overflow: hidden;
  }

  #popup-nouveautes .note-image-wrapper img {
    width: auto;
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    transition: transform 0.3s ease;
  }

  #popup-nouveautes .note-image-wrapper.zoomed img {
    transform: scale(1.1);
  }

  #popup-nouveautes .note-text-container {
    position: relative;
    text-align: justify;
    font-size: 15px;
    line-height: 1.5;
    margin-bottom: 20px;
    width: 100%;
    flex-grow: 1;
  }

  #popup-nouveautes .btn-note-ok {
    background-color: #1f318b;
    color: white;
    border: none;
    padding: 10px 18px;
    border-radius: 5px;
    cursor: pointer;
    display: block;
    align-self: center;
    bottom: -36px;
  }

  #popup-nouveautes .note-popup-inner {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    max-height: 90vh;
    padding: 20px;
    box-sizing: border-box;
    overflow-y: auto;
  }
}

/* Fin style info bulle Nouveautés et popup nouveautes*/

.highlighted-link {
  font-weight: 500;
  color: #1f318b !important;
}

/**** Style page CMS Autour de moi ****/
.autourdemoi-cms {
  padding-bottom: 20px;
  font-size: 1.1em;
}

.autourdemoi-cms h1 {
  text-align: center;
  font-size: 32px;
  font-family: Montserrat, serif !important;
  line-height: 48px;
  font-weight: 700;
  margin: 0;
  color: #333333;
}

.autourdemoi-cms h2 {
  text-align: center;
  font-size: 28px;
  font-family: Montserrat, serif !important;
  line-height: 48px;
  font-weight: 600;
  margin: 20px 0;
  color: #333333;
}

.autourdemoi-cms h3 {
  font-size: 22px;
  font-family: Montserrat, serif !important;
  line-height: 48px;
  font-weight: 500;
  margin: 20px 0;
  color: #333333;
}

.infos-lieu {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 30px;
}

#horaires-ouverture,
.photo-batiment {
  flex: 1 1 300px;
}

#horaires-ouverture {
  background: #f3f9fe;
  padding: 20px 30px;
}

.photo-batiment img {
  max-width: 100%;
  height: auto;
}

#horaires-ouverture ul {
  list-style: none;
  padding: 0;
}

#horaires-ouverture li {
  margin: 5px 0;
}

#horaires-ouverture .aujourdhui {
  color: #002b5c;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .infos-lieu {
    flex-direction: column;
  }
}

.ligne-icone {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 15px;
}

.ligne-icone ion-icon {
  font-size: 24px;
  color: #002b5c;
  flex-shrink: 0;
}

.ligne-icone p {
  margin: 0;
}

.ligne-icone ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

#autour-de-moi-infos {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  /* Les enfants s’étendent à la même hauteur */
  justify-content: space-between;
}

#autour-de-moi-infos .presentation {
  width: 66.66%;
  min-width: 300px;
}

#autour-de-moi-infos .services {
  width: 30%;
  min-width: 250px;
  font-size: 1.2em;
  background: #f3f9fe;
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  /* Forcer la même hauteur que le bloc texte */
  min-height: 100%;
  flex-grow: 1;
  margin-left: 15px;
}

#autour-de-moi-infos h3 {
  margin-top: 0;
  font-size: 1.3em;
}

#autour-de-moi-infos .services ul {
  list-style: disc;
  padding-left: 20px;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.7em;
}

#autour-de-moi-infos p {
  margin-bottom: 1em;
  line-height: 1.6;
}

@media screen and (max-width: 768px) {
  #autour-de-moi-infos {
    flex-direction: column;
    align-items: flex-start;
  }

  #autour-de-moi-infos .presentation,
  #autour-de-moi-infos .services {
    width: 100%;
    min-height: auto;
    flex-grow: 0;
    margin: 0;
  }
}

.offres-produits,
.catalogues-flyers {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  gap: 20px;
  width: 100%;
  box-sizing: border-box;
  padding: 20px 0;
  border-bottom: 1px solid #e1e1e1;
}

.offres-produits div,
.catalogues-flyers div {
  /* width: 160px; */
  text-align: center;
  font-size: 16px;
  font-family: Montserrat, serif !important;
  font-weight: 500;
  color: #333333;
}

.offres-produits div {
  width: 160px;
}

.catalogues-flyers div {
  width: 180px;
}

.offres-produits div img,
.catalogues-flyers div img {
  width: 100%;
  height: 180px;
  object-fit: contain;
}

.why-jeanneret {
  background: #f3f9fe;
  padding: 20px 30px;
  margin: 20px auto;
  width: 80%;
}

@media (max-width: 600px) {
  .why-jeanneret {
    width: 100%;
  }
}

.why-jeanneret ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.why-jeanneret li {
  font-size: 20px;
  position: relative;
  padding-left: 30px;
  margin-bottom: 10px;
  line-height: 1.5;
}

.why-jeanneret li::before {
  content: "✔";
  position: absolute;
  left: 0;
  top: 0;
  color: #002b5c;
  font-size: 1.1em;
}

.faq-wrapper {
  width: 100%;
  background: #f3f9fe;
  padding: 40px 20px;
  box-sizing: border-box;
}

.faq-item {
  border-bottom: 1px solid #ccc;
}

.faq-item:last-child {
  border-bottom: none;
}

.faq-question {
  width: 100%;
  padding: 15px 20px;
  font-size: 1.2em;
  font-weight: 600;
  text-align: left;
  background: none;
  border: none;
  outline: none;
  cursor: pointer;
  position: relative;
  color: #002b5c;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.faq-question .chevron {
  font-size: 1.2em;
  transition: transform 0.2s ease;
}

.faq-item.open .chevron {
  transform: rotate(180deg);
}

.faq-answer {
  display: none;
  padding: 0 20px 15px 20px;
  color: #333;
  line-height: 1.5;
}

.faq-answer ul {
  list-style: disc;
  padding-left: 20px;
}

ul.services-plus li::before {}

ul.faq-icon-list {
  list-style: none;
}

ul.faq-icon-list li {
  font-family: "Afacad", serif;
  /* remet la police par défaut du site */
  position: relative;
  padding-left: 2em;
  margin-bottom: 0.6em;
}

ul.faq-icon-list li::before {
  position: absolute;
  font-family: "Afacad", serif;
  /* utilise la même police que le texte (emoji natifs) */
  font-size: 1.1em;
  left: 0;
  top: 0;
}

/* Icônes personnalisées par ordre */
ul.modes-paiement li:nth-child(1)::before {
  content: "💳";
  /* carte bancaire */
}

ul.modes-paiement li:nth-child(2)::before {
  content: "🏦";
  /* virement bancaire */
}

ul.modes-paiement li:nth-child(3)::before {
  content: "✉️";
  /* LCR */
}

ul.modes-paiement li:nth-child(4)::before {
  content: "💼";
  /* Chorus Pro */
}

ul.modes-paiement li:nth-child(5)::before {
  content: "📝";
  /* chèque */
}

ul.modes-paiement li:nth-child(6)::before {
  content: "💶";
  /* espèces */
}

ul.services-plus li:nth-child(1)::before {
  content: "🖨️";
  /* Impression / reprographie */
}

ul.services-plus li:nth-child(2)::before {
  content: "📇";
  /* Tampons personnalisés */
}

ul.services-plus li:nth-child(3)::before {
  content: "🚚";
  /* Livraison express */
}

ul.services-plus li:nth-child(4)::before {
  content: "🤝";
  /* Conseils commerciaux */
}

.contact-form {
  background: #f7f7f7;
  padding: 10px 20px;
  width: 80%;
  margin: 20px auto;
}

.contact-form .form-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 15px;
}

.contact-form .form-group {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.contact-form label {
  margin-bottom: 5px;
  font-weight: bold;
}

.contact-form input,
.contact-form textarea {
  padding: 12px;
  border: 1px solid #ccc;
  border-radius: 4px;
  width: 100%;
  box-sizing: border-box;
}

.contact-form textarea {
  resize: vertical;
  min-height: 120px;
}

.contact-form input:focus,
.contact-form textarea:focus {
  border-color: #002b5c;
  outline: none;
  background-color: #f3f9fe;
  box-shadow: 0 0 3px rgba(0, 43, 92, 0.5);
}

.contact-form .form-actions {
  text-align: center;
  margin-top: 15px;
}

.contact-form .form-actions button {
  padding: 8x 30px;
  font-size: 20px !important;
  min-width: 160px;
}

.required {
  color: red;
}

.form-feedback {
  margin: -20px 0 0 0;
  padding: 10px;
  border-radius: 4px;
  opacity: 1;
  transition: opacity 1s ease;
}

.form-feedback.success {
  background: #eaf7d9;
  border: 1px solid #bbdf8d;
}

.form-feedback.error {
  background: #ffd1d1;
  border: 1px solid #f8acac;
}

@media (max-width: 600px) {
  .contact-form {
    width: 100%;
  }

  .contact-form .form-row {
    flex-direction: column;
  }
}

/**** PAGE CMS : SIÈGES D’ATELIER ****/
/* MINI-MENU SIEGES */
#sieges-mini-menu {
  text-align: center;
  margin: 10px 0;
}

#sieges-mini-menu ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 60px;
  flex-wrap: wrap;
}

#sieges-mini-menu li {
  display: flex;
  align-items: flex-end;
}

#sieges-mini-menu a {
  display: inline-block;
  text-transform: uppercase;
  font-size: 101%;
  font-weight: 500;
  text-decoration: none;
  color: white;
  text-align: center;
  line-height: 1.5;
  max-width: 120px;
  word-break: break-word;
  position: relative;
}

/* Trait coloré sous chaque lien */
#sieges-mini-menu a::after {
  content: "";
  display: block;
  height: 2px;
  width: 100%;
  margin: 0 auto;
}

/* Cas particulier : lien long */
#sieges-mini-menu a.long-item {
  max-width: 220px;
  white-space: normal;
  line-height: 1.5;
  text-align: center;
  word-break: normal;
  display: inline-block;
}

#sieges-mini-menu a.long-item br {
  display: none;
}

#sieges-mini-menu li:nth-child(1) a::after {
  background-color: #f18700;
}

#sieges-mini-menu li:nth-child(2) a::after {
  background-color: #f18700;
}

#sieges-mini-menu li:nth-child(3) a::after {
  background-color: #0a7a82;
}

#sieges-mini-menu li:nth-child(4) a::after {
  background-color: #0a7a82;
}

#sieges-mini-menu li:nth-child(5) a::after {
  background-color: #008fe1;
}

#sieges-mini-menu li:nth-child(6) a::after {
  background-color: #ffcf21;
}

#sieges-mini-menu a.active {
  color: #ffcf21;
}

#sieges-mini-menu a:hover {
  color: #ffcf21;
}

/* Page CMS */
#sieges-atelier {
  font-family: "Montserrat", serif;
}

.sieges-atelier__container {
  max-width: 1200px;
  margin: 0 auto;
}

.sieges-atelier__title {
  font-size: 2.7em;
  font-weight: 900;
  margin: 0 0 20px 0;
  text-align: left;
}

/* === SECTION VISUELS === */
.sieges-atelier__visuels {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
}

.visuels__item {
  border-radius: 10px;
  cursor: pointer;
  padding-right: 8px;
  box-sizing: border-box;
}

.visuels__item img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 34px;
  transition: transform 0.4s ease;
}

.visuels__item:hover img {
  transform: translateX(8px);
}

/* Image principale */
.visuels__item--principal {
  flex: 1 1 65%;
  min-height: 350px;
}

/* Colonne droite */
.visuels__colonne {
  flex: 1 1 30%;
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.visuels__colonne .visuels__item {
  flex: 1;
  min-height: 100px;
}

/* === SECTION PRODUITS === */
.produits__header {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.2em;
  margin-top: 20px;
}

.produits__title {
  margin: 0;
  text-align: center;
  font-size: 2em;
  font-weight: 600;
}

.produits__triangles {
  display: flex;
  gap: 2em;
  align-items: center;
}

.produits__triangles .triangle {
  width: 30px;
  height: 30px;
  background-image: url('/img/sieges-atelier/triangle.svg');
  background-repeat: no-repeat;
  background-size: contain;
  animation: updown 1.2s infinite alternate ease-in-out;
}

@keyframes updown {
  0% {
    transform: translateY(0);
  }

  100% {
    transform: translateY(-6px);
  }
}

/* === SECTION LISTING PRODUITS === */
.produits-listing {
  margin-top: 50px;
}

/* Grille responsive */
.produits-grille {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

/* Vignettes produits */
.produit-item,
.produit-aplat {
  border: 2px solid #E7E7E7;
  overflow: hidden;
  text-align: center;
  font-style: italic;
  cursor: pointer;
}

.produit-item {
  padding: 15px 0;
}

.produit-aplat {
  padding: 0;
}

.produit-item img {
  width: 100%;
  height: 250px;
  object-fit: contain;
  display: block;
  transition: transform 0.3s ease;
}

.produit-item:hover img {
  transform: scale(1.05);
}

.produit-aplat .media-aplat {
  width: 100%;
  height: 300px;
  object-fit: contain;
  display: block;
}

.produit-item span {
  display: block;
  font-size: 1.2em;
  color: #000;
  padding-top: 10px;
  line-height: 1.5;
  text-align: center;
  width: 50%;
  margin: 0 auto;
  white-space: normal;
  word-wrap: break-word;
}

/* === Aplats (ligne 2) : largeur de 2 colonnes === */
.produit-aplat {
  grid-column: span 2;
}

/* === Responsive tablette === */
@media (max-width: 992px) {
  #sieges #center_column {
    padding: 0;
  }

  .sieges-atelier__title {
    font-size: 2.2em;
  }

  /* image principale */
  .visuels__item--principal img {
    display: block;
    width: 100%;
    height: auto;
    margin-bottom: 0;
    vertical-align: bottom;
  }

  /* h2 + triangles plus petits pour une seule ligne */
  .produits__title {
    font-size: 1.5em;
  }

  .produits__triangles {
    gap: 1em;
  }

  .produits__triangles .triangle {
    width: 22px;
    height: 22px;
  }

  /* grille produits : 2 colonnes */
  .produits-grille {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    /* gap: 10px; */
  }

  .produit-item img,
  .produit-aplat img {
    height: 160px;
  }

  /* ligne 2 : aplat asynchrone seul sur une ligne */
  .produit-aplat:nth-of-type(3) {
    grid-column: span 2;
  }

  /* ligne 4 : bloc contact seul sur une ligne */
  .produit-contact {
    grid-column: span 2;
  }

  /* vignettes restantes en 2 par ligne */
}

/* === esponsive mobile === */
@media (max-width: 768px) {
  .sieges-atelier__container {
    padding: 4px;
  }

  #sieges #breadcrumb {
    margin-top: 0;
  }

  .sieges-atelier__title {
    font-size: 2em;
  }

  .sieges-atelier__visuels {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
    margin: 0;
    padding: 0;
  }

  .visuels__item--principal {
    flex: none;
    width: 100%;
    min-height: auto;
    margin: 0;
  }

  .visuels__item--principal img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0;
    padding: 0;
  }

  .visuels__colonne {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 15px;
  }

  .visuels__colonne .visuels__item {
    width: 100%;
    text-align: center;
  }

  .visuels__colonne .visuels__item img {
    height: auto;
    display: inline-block;
  }

  .visuels__colonne .visuels__item img[title="Sièges prémontés"] {
    margin-bottom: -8px;
    /* remonte légèrement l’image à cause des roulettes */
  }

  .produits__header {
    gap: 4px;
  }

  .produits__title {
    font-size: 1.1em;
  }

  .produits__triangles .triangle {
    width: 16px;
    height: 16px;
  }

  .produits__triangles {
    gap: 4px;
  }

  .produits-listing {
    margin-top: 20px;
  }

  .produits-listing .container {
    padding: 0;
    margin: 0;
  }

  .produits-grille {
    grid-template-columns: repeat(2, 1fr);
  }

  .produit-item span {
    font-size: 1em;
    width: 70%;
  }

  .produit-item img,
  .produit-aplat img {
    height: 140px;
  }

  .produit-aplat:nth-of-type(3) {
    grid-column: span 2;
  }

  .produit-contact {
    grid-column: span 2;
  }

  .contact-content {
    flex-direction: column;
    gap: 10px;
  }

  .contact-numero {
    font-size: 1.1em;
  }

  .contact-slogan {
    font-size: 0.9em;
  }
}

/* Bloc contact : occupe toute la colonne */
.produit-contact {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 20px;
  cursor: pointer;
  grid-column: span 2;
}

.contact-content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
}

.contact-icone {
  width: 80px;
  height: 80px !important;
  object-fit: contain;
  animation: bounce 1.5s infinite alternate ease-in-out;
}

.contact-numero {
  font-size: 1.8em;
  font-weight: 700;
  margin: 0;
  color: #2d2c78;
}

.contact-slogan {
  margin: 5px 0 0;
  font-size: 1em;
  color: #2d2c78;
  line-height: 1.3;
  max-width: 250px;
}

@keyframes bounce {
  0% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-10px);
  }

  100% {
    transform: translateY(0);
  }
}

/* === Bloc info général === */
.bloc-info {
  margin: 40px 0;
  color: #000;
}

.bloc-info h3 {
  font-size: 1.3em;
  font-weight: 700;
}

.bloc-info p {
  font-size: 1em;
  margin-bottom: 15px;
}

.bloc-info ul {
  list-style-type: disc;
  margin-left: 20px;
  padding-left: 10px;
}

.bloc-info li {
  margin-bottom: 8px;
  font-size: 0.95em;
  line-height: 1.5;
}

@media (max-width: 768px) {
  .bloc-info h3 {
    font-size: 1.2em;
  }
}

/* Fin style page CMS sièges atelier */


/* ====== my-account.css ====== */
/* $gray-lighter:        lighten($gray-base, 93.5%) !default; // #eee */
/**
 * Web Application Prefix Apply For Making Owner Styles
 */
/**
 *   Blocks Layout Selectors 
 */
/**
 * Product Item Selectors
 */
/***********************************************************************/
/* RIGHT TO LEFT */
/* BACKGROUND GRADIENT */
/* BACKGROUND RADIAL */
/* BACKGROUND SIZE */
/* BORDER RADIUS */
/* DOUBLE BORDERS */
/* TRIPLE BORDERS */
/* FONT FACE */
/* OPACITY */
/* TEXT SHADOW */
/**
* Transition-timing-function property@mixin 
*/
/*background RGBA
============================================*/
/****/
/**parallax**/
/**absolute**/
/*  
 * LAYOUT VARIABLES 
 */
/** CHECKOUT BY STEP */
/* --- SCSS For Accordion --- */
/* --- SCSS For Breadcrumb --- */
/* --- SCSS For Buttons --- */
/* --- SCSS For Call-to-action --- */
/* --- SCSS For Content-slider --- */
/*  */
/* carousel-controls-v1 */
/* carousel-controls-v2 */
/* carousel-controls-v3 */
/* Navigation Styles */
/* carousel-indicators-v1 */
/* carousel-indicators-v2 */
/* carousel-indicators-v3 */
/* carousel-indicators-v4 */
/* carousel-indicators-v5 */
/* carousel-indicators-v6 */
/* --- SCSS For Counters --- */
/* --- SCSS For Heading --- */
/* --- SCSS For Icon-box --- */
/* --- SCSS For Interactive-banner --- */
/* --- SCSS For Latest-posts --- */
/* latest posts */
/* --- SCSS For List --- */
/* variables for list */
/* variables for list light */
/* --- SCSS For Message --- */
/* --- SCSS For Newsletter --- */
/* --- SCSS For Piechart --- */
/* --- SCSS For Pricing --- */
/* --- SCSS For Process-steps --- */
/* process-steps */
/* --- SCSS For Service --- */
/* variables for tab style1 using as base of tab */
/* --- SCSS For Style-icon --- */
/* Variables icons default */
/* Variables icons bodered */
/* Variables icons darker */
/* Variables icons light */
/* Variables icons plain */
/* Variables icons outline */
/* Variables icons inverse */
/* Variables icons for light style */
/* --- SCSS For Table --- */
/* --- SCSS For Tabs --- */
/* variables for tab style1 using as base of tab */
/* tab style version 4 */
/* tab style version 5 */
/* tab style version 6 */
/* --- SCSS For Testimonials --- */
/* testimonials default */
/* testimonials-v1 */
/* testimonials light */
/* testimonials-v4 */
/* testimonials-v5 */
/* testimonials-v6 */
/* --- SCSS For Typography --- */

/* YJ nouveau style page mon compte */
.box-mon-compte {
  background-color: none;
}

.box-mon-compte .entete-account {
  display: flex;
  margin-top: -20px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}

.box-mon-compte .titre {
  flex: 0 0 50%;
  display: flex;
  flex-direction: column;
  align-items: start;
  justify-content: center;
}

.img-catalogue {
  flex: 0 0 25%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.img-catalogue-scolaire {
  flex: 0 0 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: end;
}

.img-catalogue img {
  width: 200px;
}

.img-catalogue .slogan {
  text-transform: uppercase;
  font-family: "Noto Sans", sans-serif;
  font-size: 1.2em;
  font-weight: 500;
  color: #1f318b;
  padding: 0;
  margin-top: -30px;
  text-align: center;
}

.box-mon-compte h1 {
  font-family: "Noto Sans", sans-serif;
  font-size: 2.5em;
  font-weight: 500;
  color: #1f318b;
  padding: 0;
  line-height: 49px;
}

@media screen and (max-width: 680px) {
  .box-mon-compte .entete-account {
    margin-top: 0;
    flex-direction: column;
  }

  .box-mon-compte .titre,
  .img-catalogue {
    flex: 1 1 100%;
    width: 100%;
    align-items: center;
  }

  .box-mon-compte h1 {
    font-size: 2em;
    text-align: center;
    font-weight: 400;
    line-height: 35px;
  }

  .img-catalogue-scolaire {
    align-items: center;
  }
}

.box-mon-compte p {
  font-size: 1.4em;
}

#my-account .info-account {
  margin-bottom: 20px;
}

#my-account .addresses-lists {
  margin-bottom: 50px;
}

#my-account ul.myaccount-link-list li {
  overflow: hidden;
  padding-bottom: 20px;
}

#my-account ul.myaccount-link-list li a {
  display: block;
  overflow: hidden;
  text-transform: uppercase;
  text-decoration: none;
  position: relative;
  color: white;
  background-color: #1f318b;
}

#my-account ul.myaccount-link-list li a ion-icon {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  padding: 0 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-right: 1px solid white;
}

.rtl #my-account ul.myaccount-link-list li a ion-icon {
  right: 0;
  left: auto;
}

.rtl #my-account ul.myaccount-link-list li a ion-icon {
  border-left: 1px solid #e1e1e1;
  border-right: inherit;
}

#my-account ul.myaccount-link-list li a span {
  display: block;
  padding: 8px 15px 10px 17px;
  overflow: hidden;
  margin-left: 45px;
  -moz-border-radius-topright: 5px;
  -webkit-border-top-right-radius: 5px;
  border-top-right-radius: 5px;
  -moz-border-radius-bottomright: 5px;
  -webkit-border-bottom-right-radius: 5px;
  border-bottom-right-radius: 5px;
}

#my-account ul.myaccount-link-list li a:hover {
  color: #1f318b;
  background-color: #f1e904;

  i {
    border-right: 1px solid #1f318b;
  }
}

.rtl #my-account ul.myaccount-link-list li a span {
  padding: 8px 17px 10px 15px;
}

.rtl #my-account ul.myaccount-link-list li a span {
  margin-right: 45px;
  margin-left: inherit;
}

.listes-courses {
  padding-left: 20px;
}

.listes-courses a {
  font-size: 16px;
}

.listes-courses a.btn {
  margin-top: 10px;
  position: absolute;
  left: 50%;
  transform: translate(-50%);
  z-index: 100;
}

.item-liste-courses {
  display: flex;
  align-items: center;
  font-size: 103%;
  line-height: 1.6;
  margin-bottom: 8px;
  border-bottom: 1px solid #e1e1e1;
  padding-bottom: 8px;
}

#switch-account-block {
  border-top: 1px solid #e1e1e1;
  padding: 20px 0;
  text-align: center;
}

#switch-account-block h3 {
  font-family: "Noto Sans", sans-serif;
  color: #666666;
  font-size: 1.5em;
  font-weight: 500;
  margin: 0 0 15px 0;
}

#switch-account-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}

.switch-account-card {
  background-color: #e8f0fe;
  cursor: pointer;
  padding: 10px 12px;
  border: 1px solid #d0d8f0;
  border-radius: 4px;
  transition: all 0.2s ease;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  min-width: 180px;
  max-width: 220px;
  text-align: left;
}

.switch-account-card:hover {
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1);
  transform: translateY(-1px);
  border-color: #aabbe8;
}

.switch-account-card strong {
  color: #1f318b;
}

.switch-account-card small {
  color: #333;
  display: inline-block;
  margin-top: 2px;
}

.coordonnees {
  font-size: 0.9em;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  border-top: 1px solid #e1e1e1;
  padding-top: 14px;
}

.coordonnees p {
  line-height: 1.5em;
  padding: 0 25px;
}

@media screen and (max-width: 600px) {
  .coordonnees {
    flex-direction: column;
  }

  .coordonnees p {
    padding: 0px;
  }
}

/* Style dernière commande */
#order-list td {
  text-align: center;
}

@media screen and (max-width: 480px) {
  #order-list td {
    padding: 10px 5px;
  }
}

.history_detail a {
  margin: 0 15px;
}

.derniere-commande {
  padding-top: 4.5em;
}

.derniere-commande .box {
  border: none !important;
  border-radius: 8px;
  background-color: #f3f9fe !important;
  box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.1);
  padding: 15px;
  margin-bottom: 30px;
}

.derniere-commande .entete {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
}

.derniere-commande .entete h3 {
  margin-top: 0;
}

.derniere-commande .entete a {
  font-size: 16px;
}

/* ====== Fin my-account.css ====== */
/* ====== addresses.css ====== */
#addresses #center_column .page-heading {
  margin: 0 0 22px;
}

#addresses #center_column p {
  margin: 0 0 13px;
}

#addresses #center_column p.p-indent {
  margin: 0 0 27px;
}

.address li.address_update {
  margin: 14px 0 6px 0;
}

.address li.address_update a {
  margin: 0 10px 0 0;
}

.rtl .address li.address_update a {
  margin: 0 0 0 10px;
}

/* YJ Nouveau style page adresses */

.main-page-indent {
  border-radius: 8px;
  background-color: #f3f9fe;
  box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.1);
}

.addresses h2 {
  font-family: "Noto Sans", sans-serif;
  font-size: 1.5em;
  font-weight: 500;
  text-align: center;
  color: #1f318b;
}

.addresses-box {
  border: none !important;
  border-radius: 8px;
  background-color: white;
  box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.1);
  padding: 15px;
  margin-bottom: 30px;
}

.addresses .row {
  margin: 0;
}

.addresses h3 {
  color: #1f318b;
}

.addresses .adresses-livraison {
  border-right: 1px dashed #e1e1e1;
}

@media (max-width: 991px) {
  .addresses .adresses-livraison {
    border-right: none;
  }
}

.info-addresses {
  font-size: 1.3em;
  margin-bottom: 15px;
}

.coordonnees {
  font-size: 1.2em;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}

.coordonnees p {
  line-height: 1.5em;
  padding: 20px 25px;
}

@media screen and (max-width: 600px) {
  .coordonnees {
    flex-direction: column;
  }

  .coordonnees p {
    padding: 0px;
  }
}

/* ====== Finaddresses.css ====== */

.pagebuilder {
  min-height: 3248px;
  display: block;
}

/* === Fix CLS bandeau cookies === */
/* Body de la home (adapter si besoin à d'autres pages) */
body.notlogged.index.hide-left-column.hide-right-column.lang_fr.layout-fullwidth {
  padding-bottom: 60px;
  /* >= min-height du bandeau (54px) */
}

/* Un peu plus de marge en mobile si le texte passe sur 2 lignes */
@media (max-width: 767px) {
  body.notlogged.index.hide-left-column.hide-right-column.lang_fr.layout-fullwidth {
    padding-bottom: 80px;
  }
}