/* === VARIABLES === */

:root {
  --color-primary: #d0317d;
  --color-secondary: #f9e9ee;
  --color-pro: #aed8d7;
  --color-etu: #FFCBCB;
  --color-dark-text: #212529;
  --color-dark-grey: #464653;
  --color-grey-text: #757575;
  --color-text-dark: #333;
  --color-light-bg: #f8f8f8;
  --color-hover-bg: #f5f5f5;
  --color-border: #E9E9E9;
  --color-white: #fff;
  --color-promo: #ec008c;
  --transition-base: all 0.3s ease-in-out 0s;
  --transition-banner: background-color 200ms cubic-bezier(0.215, 0.61, 0.355, 1), color 200ms cubic-bezier(0.215, 0.61, 0.355, 1);
  --heading-font: 'Poppins', sans-serif;
  --text-font: 'Arial', sans-serif;
  --primary-color: #d0317d;
  --secondary-color: #d0317d;
  --text-color: #333;
  --background-color: #f8f8f8;
  --border-radius: 0px;
  --transition-speed: 0.3s;
}

/* === RESET / BASE === */

@font-face {
  font-family: 'Optima';
  font-style: normal;
  font-weight: normal;
  src: local('Optima'), url('../font/OptimaLTPro-Bold.otf') format('otf');
}

a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
  color: var(--color-dark-text);
  text-decoration: none;
}

#wrapper {
  background: var(--color-white);
}

#page {
  overflow: hidden;
}

.left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.wi-100 {
  width: 100%;
}

.none {
  display: none;
}

.hidden-product {
  display: none;
}

.transition {
  -webkit-transition: var(--transition-base);
  -o-transition: var(--transition-base);
  transition: var(--transition-base);
}

.bg-white {
  background: var(--color-white);
  padding: 15px;
}

.bg-grey {
  background: var(--color-light-bg);
  padding: 15px;
}

.bg-cover {
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: cover;
  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px);
  background-color: rgba(182, 182, 182, 0.2);
}

.twic-done,
.yall-loaded {
  opacity: 1;
}

.animated {
  transition: all 0.3s ease 0s;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
}

.animated-full * {
  transition: all 0.3s ease 0s;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
}

.valign-middle > * {
  display: inline-block;
  float: none;
  font-size: 16px;
  vertical-align: middle;
}

/* === LAYOUT === */

.bl-middle-xxs {
  align-items: center;
  align-self: center;
}

.bl-nowrap {
  flex-wrap: nowrap;
}

.bl-col,
.bl-flex,
.bl-row {
  box-sizing: border-box;
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  justify-content: space-between;
}

.ns-pad-0 {
  padding: 0;
}

.ns-pad-15 {
  padding: 15px 0;
}

.ns-pad-25 {
  padding: 25px 0;
  position: relative;
  display: inline-block;
}

.ns-pad-25-2 {
  padding: 25px 0;
}

.ns-pad-25-25 {
  padding: 25px;
}

.ns-pad-25-25-0 {
  padding: 25px 25px 0 25px;
}

.ns-flex-25 {
  padding: 25px 0;
}

.ns-pad-50 {
  padding: 50px 0;
  position: relative;
  display: inline-block;
}

.ns-pad-50-50 {
  padding: 50px;
  position: relative;
  display: inline-block;
}

.ns-pad-50-50-0-50 {
  padding: 50px 50px 0 50px;
  position: relative;
  display: inline-block;
}

.ns-flex-50 {
  padding: 50px 0;
}

.ns-pad-100 {
  padding: 100px 0;
  position: relative;
  display: inline-block;
}

.ns-pattern {
  position: relative;
}

.ns-hspace {
  padding: 0 30px;
}

.ns-h-hspace {
  padding: 50px 30px 0 30px;
}

.ns-lospace {
  padding: 30px;
}

.color-1 {
  background-color: var(--color-light-bg);
}

.color-2 {
  background-color: var(--color-secondary);
}

.color-pro .color-2 {
  background-color: #eafefd;
}

.color-etu .color-2 {
  background-color: #f6d8e2;
}

body.page-index #wrapper .container {
  max-width: 100%;
  width: 100%;
  padding: 0;
}

/* === HEADER === */

#header {
  position: relative;
  color: var(--color-dark-text);
}

#header .header-nav {
  max-height: 50px;
  border-bottom: #f6f6f6 1px solid;
}

.color-pro #header .header-nav {
  background-color: var(--color-pro);
}

.color-etu #header .header-nav {
  background-color: var(--color-etu);
}

#_desktop_logo {
  margin-top: 10px;
}

#footer .footer-container .header-nav {
  max-height: 50px;
  background-color: var(--color-primary);
  border-bottom: #f6f6f6 1px solid;
  margin: 25px 0 0 0;
}

.color-pro #footer .footer-container .header-nav {
  background-color: var(--color-pro);
}

.color-etu #footer .footer-container .header-nav {
  background-color: var(--color-etu);
}

#header .header-top {
  padding: 0;
  background: var(--color-primary);
}

#header .header-bottom {
  padding: 0;
  background: #f5f3f3;
}

.ns-header-img {
  position: relative;
  z-index: 0;
  height: 15vh;
  margin-bottom: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-bottom: 2px solid var(--color-primary);
}

.color-pro .ns-header-img {
  border-bottom: 2px solid var(--color-pro);
}

.color-etu .ns-header-img {
  border-bottom: 2px solid var(--color-etu);
}

.ns-header-img .ns-bg-1 {
  position: absolute;
  float: right;
  max-height: 35%;
  right: 0;
  bottom: -2px;
}

.ns-bg-2 {
  position: absolute;
  right: 43%;
  top: 0;
  align-items: center;
}

.ns-bg-3,
.ns-bg-4,
.ns-bg-5 {
  position: relative;
  margin: -0.3rem 0.3rem;
}

#_mobile_logo {
  display: inline-block;
  position: relative;
}

#index .ns-header-img {
  height: 25vh;
}

/* Header Banner */

.header-banner {
  background: var(--color-primary);
  color: var(--color-white);
  position: relative;
  text-align: center;
  z-index: 1;
  height: 25px;
}

.color-pro .header-banner {
  background: var(--color-pro);
}

.color-etu .header-banner {
  background: var(--color-etu);
}

.header-banner a {
  font-size: 0.8rem;
  color: var(--color-white);
  display: inline-block;
}

/* Header Banner Nav */

.header-banner-nav {
  color: var(--color-grey-text);
}

.header-banner-nav-links {
  display: flex;
}

.header-banner-nav-link + .header-banner-nav-link:not([data-buying-guide]):not([data-blog]) {
  border-left: 1px solid var(--color-border);
}

.header-banner-nav-link a {
  display: block;
  padding: 6px 15px;
  font-size: 12px;
  line-height: 22px;
  font-weight: bold;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.header-banner-nav-link a:hover {
  color: #000;
  text-decoration: underline;
}

.header-banner-nav-link[data-blog] a {
  color: #000;
  background-color: var(--color-hover-bg);
}

.header-banner-nav-link[data-blog] a:hover {
  color: #000;
  background-color: var(--color-border);
}

.header-banner-nav-link[data-buying-guide] a {
  color: var(--color-white);
  background-color: #DF7C34;
}

.header-banner-nav-link[data-buying-guide] a:hover {
  color: var(--color-white);
  background-color: #ECA800;
}

/* Header Banner Nav Social - single rule for fill */
.header-banner-nav-social svg use,
.header-banner-nav-social svg path {
  /* override theme SVG fill */
  fill: currentColor !important;
}

/* Entry title / intro */

.entry-title {
  color: var(--color-white);
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.4;
  text-transform: uppercase;
}

.entry-title:after {
  content: "";
  display: block;
  width: 40px;
  height: 2px;
  margin: 14px 0 30px;
  transition: width .3s, margin .3s;
  background-color: var(--color-primary);
}

.color-pro .entry-title:after {
  background-color: var(--color-pro);
}

.color-etu .entry-title:after {
  background-color: var(--color-etu);
}

.entry-pre-title {
  color: var(--color-white);
  font-size: 1rem;
  line-height: 1.2;
  margin: 0 0 5px 0;
}

.home-slider .entry-pre-title {
  font-weight: 800;
}

.entry-headline {
  -ms-transform: translateY(300px);
  transform: translateY(300px);
  transition: transform .3s .2s;
  color: var(--color-white);
  font-size: 0.875rem;
  line-height: 1.11rem;
}

.entry-intro {
  display: block;
  position: relative;
  z-index: 2;
  top: -120px;
  width: 100%;
  -ms-transform: translateY(470px);
  transform: translateY(470px);
  transition: transform .5s, top .5s;
  background-color: transparent;
  pointer-events: none;
}

.product-slider .entry-intro,
.articles-slider .entry-intro {
  display: block;
  position: relative;
  z-index: 2;
  top: -285px;
  width: 100%;
  -ms-transform: translateY(380px);
  transform: translateY(380px);
  transition: transform .5s, top .5s;
  background-color: transparent;
  pointer-events: none;
}

/* Title wrappers */

#index .ns-title-wrapper {
  max-width: 100%;
  position: absolute;
  top: 135px;
  z-index: 2;
}

.ns-title-wrapper {
  max-width: 100%;
  position: absolute;
  top: 60px;
  z-index: 2;
}

.ns-title-wrapper .ns-header-container-column h1 {
  color: var(--color-white);
  text-transform: uppercase;
}

#product.ns-title-wrapper {
  top: 75px;
}

.ns-title-wrapper .heading-h1 em {
  font-weight: 100;
  font-style: normal;
}

.ns-title-wrapper .heading-h1 {
  font-size: 1.575rem;
  line-height: 1.1286;
  font-weight: bold;
  color: var(--color-white);
  text-transform: uppercase;
  display: inherit;
  width: 100%;
}

/* Paragraph headings */

.paragraph-image-text .product-container .heading-h1 em {
  font-size: 1.563rem;
  line-height: 1.1286;
  font-weight: bold;
  color: var(--color-dark-grey);
}

.paragraph-image-text .product-container .heading-h1 {
  font-weight: 100;
  font-style: normal;
  color: #5a6a78;
  text-transform: uppercase;
  display: inherit;
  width: 100%;
  text-align: center;
  margin: 0 0 55px 0;
}

.paragraph-image-text.home .heading-h2 em,
.page-cms .heading-h2 em,
.no-account .heading-h2 em,
.login-form .heading-h2 em {
  font-size: 1.875rem;
  line-height: 1.1286;
  font-weight: bold;
  color: var(--color-dark-grey);
  font-style: normal;
}

.paragraph-image-text.home .heading-h2 b,
.page-cms .heading-h2 b,
.no-account .heading-h2 b,
.login-form .heading-h2 b {
  color: var(--color-primary);
}

.color-pro .paragraph-image-text.home .heading-h2 b,
.color-pro .page-cms .heading-h2 b,
.color-pro .no-account .heading-h2 b,
.color-pro .login-form .heading-h2 b {
  color: var(--color-pro);
}

.color-etu .paragraph-image-text.home .heading-h2 b,
.color-etu .page-cms .heading-h2 b,
.color-etu .no-account .heading-h2 b,
.color-etu .login-form .heading-h2 b {
  color: var(--color-etu);
}

.paragraph-image-text.home .heading-h2,
.page-cms .heading-h2,
.no-account .heading-h2,
.login-form .heading-h2 {
  font-size: 1.875rem;
  font-weight: 100;
  font-style: normal;
  color: var(--color-dark-grey);
  text-transform: uppercase;
  display: inherit;
  width: 100%;
  text-align: left;
  margin: 25px 0;
}

.paragraph-image-text.home .heading-h3 em {
  font-size: 1.563rem;
  line-height: 1.1286;
  font-weight: bold;
  color: var(--color-dark-grey);
  text-transform: uppercase;
}

.paragraph-image-text.home .heading-h3 {
  font-weight: 100;
  font-size: 0.875rem;
  font-style: normal;
  color: var(--color-dark-grey);
  text-transform: none;
  display: inherit;
  width: 100%;
  text-align: center;
  margin: 0 0 35px 0;
  position: relative;
}

#cms .ns-title-wrapper .heading-h1 {
  font-size: 1.375rem;
  line-height: 1.1286;
  font-weight: bold;
  color: var(--color-white);
  text-transform: uppercase;
  display: inherit;
  width: 85%;
}

/* === NAVIGATION === */

/* Slick slider */

.custom-dots-container {
  position: absolute;
  top: 50%;
  right: 20px;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.slick-slider {
  box-sizing: border-box;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list,
.slick-slider {
  position: relative;
  display: block;
}

.slick-list {
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-list,
.slick-slider .slick-track {
  -ms-transform: translateZ(0);
  transform: translateZ(0);
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin: 0 auto;
}

.slick-track:after,
.slick-track:before {
  display: table;
  content: "";
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}

[dir=rtl] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* Images slider */

.images-slider {
  position: relative;
  height: 380px;
  overflow: hidden;
  cursor: grab;
}

.images-slider .owl-nav {
  display: block;
}

.images-slider .owl-nav .owl-next,
.images-slider .owl-nav .owl-prev {
  color: #a7d083;
  font-size: 20px;
  cursor: pointer;
}

.images-slider .owl-stage {
  display: flex;
  justify-content: space-between;
}

.images-slider .owl-item {
  width: 490px;
  height: 330px;
}

.images-slider .owl-item.center .slide {
  box-shadow: 0 0 0 var(--color-white);
}

.images-slider .owl-item.center .caption,
.images-slider .owl-item.center .slide {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  opacity: 1;
}

.images-slider .slide {
  display: block;
  width: 490px;
  height: 330px;
  transition: box-shadow .3s, opacity .3s;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";
  opacity: .3;
  background-image: none;
  box-shadow: 10px 10px 25px 5px rgba(0, 0, 0, .3);
}

.images-slider .slide img {
  display: block;
}

.images-slider .slide:hover {
  background-image: none;
}

.images-slider .caption {
  display: block;
  margin-top: 15px;
  transition: opacity .2s;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  opacity: 0;
  color: #4a525d;
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: 2px;
  line-height: 1.2;
  text-align: left;
  text-transform: uppercase;
}

.images-slider .caption:before {
  background-color: #4a525d;
}

/* Home slider */

.home .h2-like {
  max-width: 450px;
  margin: 0 auto;
}

.home-slider {
  position: relative;
  height: 520px;
  overflow: hidden;
  top: 25px;
  margin: 0 0 100px 0;
  display: inline-block;
  z-index: 0;
}

#product .home-slider,
#category .home-slider {
  width: 100%;
}

.product-slider {
  position: relative;
  height: auto;
  overflow: hidden;
  top: 0px;
  display: inline-block;
  z-index: 3;
}

.articles-slider {
  position: relative;
  height: auto;
  overflow: hidden;
  top: 25px;
  display: inline-block;
  z-index: 3;
}

/* Top menu */

.top-menu[data-depth="1"] {
  margin: .625rem;
}

.top-menu[data-depth="0"] {
  margin-bottom: 0;
}

.top-menu a:not([data-depth="0"]) {
  display: block;
  padding: .625rem;
  font-weight: 400;
  color: #7a7a7a;
}

.top-menu a.dropdown-submenu {
  font-weight: 600;
  color: #232323;
  text-transform: uppercase;
}

.top-menu a[data-depth="0"] {
  padding: .925rem;
  font-size: .825rem;
  font-weight: 600;
}

.top-menu a[data-depth="1"],
.top-menu a[data-depth="2"] {
  padding: 0 .625rem .625rem 0;
}

.top-menu .collapse {
  display: inherit;
}

.top-menu .sub-menu {
  z-index: 18;
  width: calc(100% - 30px);
  min-width: calc(100% - 30px);
  margin-left: .9375rem;
  border: 0;
  box-shadow: 2px 1px 11px 2px rgba(0, 0, 0, .1);
  transition: opacity .5s ease, visibility .5s ease;
}

.top-menu .sub-menu,
.top-menu .sub-menu.collapse {
  visibility: hidden;
  opacity: 0;
}

#_desktop_top_menu .top-menu[data-depth="0"] li:hover .sub-menu,
.top-menu .sub-menu.collapse.in {
  visibility: visible;
  opacity: 1;
}

.top-menu .sub-menu ul[data-depth="1"] > li {
  float: left;
  margin: 0 1.25rem;
}

.top-menu .popover {
  max-width: inherit;
  border-radius: 0;
}

/* Cart layout */

.cart-layout i {
  font-size: 30px;
  margin-right: 4px;
  border-radius: 30px;
}

.cart-layout i.icon-cart,
.cart-layout-icon i.icon-cart {
  font-size: 31px;
  height: 30px;
  text-align: center;
}

#mobile_top_menu_wrapper .cart-layout {
  position: relative;
  display: inline-block;
  width: 40px;
  height: 40px;
  margin-left: 25px;
  float: right;
}

.cart-layout i.icon-cart:before {
  z-index: 1;
  position: relative;
}

.cart-layout .ajax_cart_quantity {
  padding-left: 10px;
}

.cart-layout > a,
.blockcart > a {
  display: block;
  font-size: 20px;
  color: #929394;
  margin-top: 0;
  position: relative;
  text-align: center;
}

.cart-layout .icon-panier {
  position: relative;
  float: right;
}

.cart-layout .icon-panier i {
  color: var(--color-primary);
}

.color-pro .cart-layout .icon-panier i {
  color: var(--color-pro);
}

.color-etu .cart-layout .icon-panier i {
  color: var(--color-etu);
}

.cart-layout .nb-total-product,
.cart-layout-icon .nb-total-product {
  font-size: 8px;
  text-align: center;
  background-color: #575756;
  color: var(--color-white);
  border-radius: 30px;
  height: 18px;
  width: 18px;
  line-height: 18px;
  position: absolute;
  z-index: 1;
  bottom: 56px;
  opacity: 1;
  left: 70px;
  top: 20px;
}

.right-nav {
  float: right;
  margin-top: 20px;
}

.cart-layout .open-panel .icon-cart {
  margin-top: -19px;
}

.cart-layout.empty-cart #button_order_cart,
.cart-layout.empty-cart .cart-prices-line {
  display: none;
}

.cart-layout .link-when-empty {
  display: none;
}

.cart-layout.empty-cart .cart-buttons .link-when-empty {
  display: block;
}

#header .cart-layout .block-layout .ajax_cart_no_product {
  background-color: #e9e9e9;
  padding-bottom: 15px;
  font-size: 14px;
}

.cart-layout.empty-cart .nb-total-product {
  opacity: 0;
  overflow: hidden;
}

.cart-layout .icon-arrow-down {
  font-size: 7px;
  top: -2px;
  position: relative;
}

.cart-layout.emptyCart .icon-arrow-down {
  display: none;
}

.cart-layout .block-layout .inner.block_content,
.cart-layout-product .block-layout .inner.block_content,
.cart-layout-various .block-layout .inner.block_content {
  opacity: 0;
}

.cart-layout .block-layout.open .inner.block_content,
.cart-layout-product .block-layout.open .inner.block_content,
.cart-layout-various .block-layout.open .inner.block_content {
  padding: 0px;
  max-height: 100%;
  overflow: auto;
  opacity: 1;
  display: flex;
  flex-flow: column nowrap;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
}

.cart-layout .block-layout.open .inner.block_content .cart_block_list,
.cart-layout-product .block-layout.open .inner.block_content .cart_block_list,
.cart-layout-various .block-layout.open .inner.block_content .cart_block_list {
  padding: 25px;
}

#mobile_top_menu_wrapper .panel-slide-right.open > .inner {
  right: 0;
  width: 60%;
  min-width: 230px;
  max-width: 500px;
}

.cart-layout .block-layout.open .inner.block_content .block_title-info {
  align-items: center;
  background-color: var(--color-primary);
  display: flex;
  justify-content: space-between;
  padding: 60px;
}

.color-pro .cart-layout .block-layout.open .inner.block_content .block_title-info {
  background-color: var(--color-pro);
}

.color-etu .cart-layout .block-layout.open .inner.block_content .block_title-info {
  background-color: var(--color-etu);
}

.cart-layout .block-layout.open .inner.block_content .block_title-info .name {
  margin-bottom: 30px;
  font-weight: 700;
  font-size: 2rem;
  color: var(--color-white);
  line-height: 3.12rem;
  text-align: center;
  width: 100%;
}

.cart-layout .block-layout.open .inner.block_content .block_title,
.cart-layout-product .block-layout.open .inner.block_content .block_title,
.cart-layout-various .block-layout.open .inner.block_content .block_title {
  align-items: center;
  background-color: #F4F4F4;
  display: flex;
  justify-content: space-between;
  padding: 10px 30px;
  font-size: 18px;
}

.cart-layout .block-layout.open .inner.block_content .cart-grid-body,
.cart-layout-product .block-layout.open .inner.block_content .cart-grid-body,
.cart-layout-various .block-layout.open .inner.block_content .cart-grid-body {
  margin: 0px;
  padding: 0px;
}

.cart-layout .block-layout.open .inner.block_content .card {
  box-shadow: none;
  margin-bottom: .75rem;
  background-color: none;
  border-radius: 0;
  border: none;
}

#header-cart.cart-layout.emptyCart .nb-total-product,
.cart-layout.emptyCart .ajax_quote_quantity {
  display: none;
}

.cart-layout .block-layout footer {
  padding-bottom: 5px;
  padding-top: 20px;
  background-color: #f6f6f6;
}

.cart-layout .total {
  display: none;
}

.cart-layout .btn:hover {
  background-color: var(--color-primary);
  border-color: transparent;
  color: var(--color-white);
}

.color-pro .cart-layout .btn:hover {
  color: var(--color-pro);
}

.color-etu .cart-layout .btn:hover {
  color: var(--color-etu);
}

.cart-layout .cart-prices {
  font-size: 16px;
}

/* Panel slide right */

.panel-slide-right {
  position: relative;
  pointer-events: none;
}

.panel-slide-right.open {
  pointer-events: auto;
  z-index: 15000;
}

.panel-slide-right > .inner {
  position: fixed;
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
}

.panel-slide-right .inner .box {
  position: relative;
}

.panel-slide-right .overlay {
  opacity: 0;
  transition: 0.3s ease;
}

.panel-slide-right.open .overlay {
  content: '';
  opacity: 1;
  background: rgba(0, 0, 0, 0.75);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.panel-slide-right.open > .inner {
  background: var(--color-white);
  padding: 20px 30px;
}

.panel-slide-right .inner > .icon-close {
  right: 0px;
  top: 5px;
  font-size: 35px;
  position: absolute;
  opacity: 0.8;
  cursor: pointer;
}

#mobile_top_menu_wrapper .panel-slide-right .inner > .icon-close {
  right: 25px;
  top: 35px;
  font-size: 35px;
  position: absolute;
  opacity: 0.8;
  cursor: pointer;
}

.panel-slide-right > .inner {
  right: -100%;
  top: 0;
  bottom: 0;
}

.panel-slide-right.open > .inner {
  right: 0;
  width: 60%;
  min-width: 230px;
  max-width: 500px;
}

#mobile_top_menu_wrapper .panel-slide-right.open > .inner {
  right: 0;
  width: 60%;
  min-width: 230px;
  max-width: 500px;
}

/* Go to top */

#gototop {
  bottom: 50px;
  cursor: pointer;
  opacity: 0.7;
  position: fixed;
  right: -200px;
  -webkit-transition: var(--transition-base);
  -o-transition: var(--transition-base);
  transition: var(--transition-base);
  z-index: 500;
}

#gototop.active {
  right: 50px;
}

#gototop:hover {
  opacity: 1;
}

/* No-account / login */

.no-account {
  text-align: right;
  margin-bottom: 25px;
}

.no-account a {
  text-align: right;
  text-decoration: underline;
  font-size: 0.825rem;
}

#lpsproaccount {
  margin-bottom: 25px;
  height: 50px;
}

.note {
  margin-bottom: 30px;
  font-size: 1rem;
  line-height: 1.24rem;
  font-weight: 600;
}

.create-account-info p {
  font-size: .825rem;
  line-height: 1rem;
  text-align: justify;
}

.acces-account {
  display: grid;
  grid-template-columns: 1fr 6fr 6fr 1fr;
  padding: 75px 0;
}

.block-new-account {
  padding-right: 50px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
  box-sizing: border-box;
  text-align: center;
}

.block-customer-login {
  padding-left: 50px;
  position: relative;
  width: 100%;
  box-sizing: border-box;
  text-align: center;
}

.acces-account:after,
.acces-account:before {
  content: '';
  display: table;
}

/* Custom text */

#custom-text .page-content.page-cms ul,
#custom-text p,
.page-content.page-cms #custom-text ul {
  font-size: .875rem;
  font-weight: 400;
  color: #232323;
}

#custom-text .page-content.page-cms ul .dark,
#custom-text p .dark,
.page-content.page-cms #custom-text ul .dark {
  font-size: 1.125rem;
  font-weight: 600;
  color: #232323;
}

#custom-text img {
  max-width: 100%;
  height: 100%;
}

#custom-text {
  padding: 0;
  margin-bottom: 1.5rem;
  text-align: left;
  width: 50%;
  float: right;
  position: relative;
  display: inline-block;
}

#custom-text h1 {
  color: #eb1e5b;
  font-size: 40px;
  position: relative;
  left: 0;
  bottom: 0;
  z-index: 20;
  background: none;
  text-align: center;
  margin-bottom: 25px;
  font-weight: 200;
}

#custom-text .column .row {
  display: block;
}

#custom-text .column {
  display: table-cell;
}

#custom-text .column .row:nth-child(n+2) {
  margin-top: 20px;
}

#custom-text .column.column_left {
  padding-right: 22px;
}

#custom-text .column.column_right {
  padding-left: 22px;
}

#home-custom-text {
  position: relative;
}

#index .page-home #custom-text {
  padding: 0;
  margin-bottom: 1.5rem;
  text-align: left;
  float: right;
  position: relative;
  display: inline-block;
}

#index .paragraph-image-text.home.center #custom-text {
  padding: 0;
  margin-bottom: 1.5rem;
  width: 100%;
  float: right;
  position: relative;
  display: inline-block;
}

.paragraph-image-text.home #custom-text {
  padding: 0;
  margin-bottom: 1.5rem;
  width: 100%;
  float: right;
  position: relative;
  display: inline-block;
}

#category .paragraph-image-text.home #custom-text,
#manufacturer .paragraph-image-text.home #custom-text {
  padding: 0;
  margin-bottom: 0rem;
}

.paragraph-image-text.left.home #custom-text {
  text-align: justify;
}

.paragraph-image-text.home #custom-text:before,
#index .paragraph-image-text.home.center #custom-text:before {
  content: none;
}

#custom-text:before {
  content: "";
  position: absolute;
  border-left: 1px solid var(--color-border);
  height: 150px;
  top: 0px;
  margin: 0 0 0 -15px;
}

#custom-text h2,
#custom-text.info h2 {
  text-transform: uppercase;
  color: var(--color-dark-text);
  font-size: 13px;
  font-weight: 700;
}

#custom-text p,
#custom-text.info p {
  color: var(--color-dark-text);
  font-weight: 400;
  font-size: .775rem;
  line-height: 1rem;
}

#custom-text p .dark,
#custom-text.info p .dark {
  color: var(--color-dark-text);
  font-weight: 400;
}

/* Filter toggle */

.btn-filter-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: var(--color-promo);
  color: var(--color-white);
  border: none;
  font-weight: bold;
  padding: 10px 16px;
  font-size: 14px;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.3s ease;
  width: 100%;
}

.btn-filter-toggle:hover {
  background-color: #c30075;
}

.btn-filter-toggle .icon {
  width: 18px;
  height: 18px;
  fill: var(--color-white);
  margin-left: 10px;
}

/* Buttons */

.btn {
  background: var(--color-primary);
  border: 1px solid #fafafa;
  padding: 20px;
  letter-spacing: 1.7px;
  font-size: .75rem;
  line-height: 1.1667;
  text-transform: uppercase;
  color: var(--color-white);
  display: inline-block;
  transition: ease, 0.5s;
  text-align: center;
  float: right;
}

.color-pro .btn {
  background: var(--color-pro);
}

.color-etu .btn {
  background: var(--color-etu);
}

.input-group-btn-vertical .btn {
  min-width: 30px;
  color: var(--color-text-dark);
}

#lpsproaccount .btn {
  min-width: 100%;
  color: var(--color-white);
}

.btn.btn-5 {
  background: var(--color-light-bg);
  border: 1px solid var(--color-light-bg);
  color: var(--color-dark-text);
}

.btn.btn-5:hover {
  background: var(--color-primary);
  border: 1px solid var(--color-white);
  color: var(--color-white);
}

.color-pro .btn.btn-5:hover {
  background: var(--color-pro);
}

.color-etu .btn.btn-5:hover {
  background: var(--color-etu);
}

.btn.btn3 {
  background: var(--color-primary);
  border: 1px solid var(--color-primary);
  color: var(--color-white);
}

.color-pro .btn.btn3 {
  background: var(--color-pro);
  border: 1px solid var(--color-pro);
}

.color-etu .btn.btn3 {
  background: var(--color-etu);
  border: 1px solid var(--color-etu);
}

.btn.btn3:hover {
  background: var(--color-white);
  border: 1px solid var(--color-primary);
  color: var(--color-dark-text);
}

.color-pro .btn.btn3:hover {
  border: 1px solid var(--color-pro);
}

.color-etu .btn.btn3:hover {
  border: 1px solid var(--color-etu);
}

.btn.btn4,
a.btn.btn4 {
  background-image: none;
  background: var(--color-light-bg);
  border: 0;
  font-size: 9px;
  padding: 10px;
  color: var(--color-dark-text);
  letter-spacing: 1.4px;
  width: 100%;
}

.btn.btn4:hover {
  background: var(--color-dark-text);
  color: var(--color-white);
}

.btn.btn5,
a.btn.btn5 {
  background-image: none;
  background: var(--color-dark-grey);
  border: 0;
  font-size: 9px;
  padding: 10px;
  color: var(--color-white);
  border-radius: 0px;
  width: 100%;
}

.btn.btn6 {
  background: none;
  border: 1px solid var(--color-dark-grey);
  color: var(--color-dark-grey);
  float: left;
  min-width: 160px;
  padding: 10px;
}

.btn.btn6:hover {
  background: none;
  border: 1px solid var(--color-primary);
  color: var(--color-primary);
}

.color-pro .btn.btn6:hover {
  border: 1px solid var(--color-pro);
  color: var(--color-pro);
}

.color-etu .btn.btn6:hover {
  border: 1px solid var(--color-etu);
  color: var(--color-etu);
}

.btn.btn7 {
  background: var(--color-primary);
  border: 1px solid var(--color-primary);
  color: var(--color-white);
  padding: 10px;
  margin: 10px 0 0 0;
}

.color-pro .btn.btn7 {
  border: 1px solid var(--color-pro);
  background: var(--color-pro);
}

.color-etu .btn.btn7 {
  border: 1px solid var(--color-etu);
  background: var(--color-etu);
}

.btn.btn8 {
  background: var(--color-white);
  border: 1px solid var(--color-primary);
  color: var(--color-dark-text);
  width: 100%;
}

.color-pro .btn.btn8 {
  border: 1px solid var(--color-pro);
}

.color-etu .btn.btn8 {
  border: 1px solid var(--color-etu);
}

.btn.btn8:hover {
  background: var(--color-primary);
  border: 1px solid var(--color-primary);
  color: var(--color-white);
}

.color-pro .btn.btn8:hover {
  border: 1px solid var(--color-pro);
  background: var(--color-pro);
}

.color-etu .btn.btn8:hover {
  border: 1px solid var(--color-etu);
  background: var(--color-etu);
}

.btn.btn9,
a.btn.btn9 {
  background-image: none;
  background: var(--color-light-bg);
  border: 0;
  font-size: 9px;
  padding: 15px;
  color: var(--color-dark-text);
  letter-spacing: 1.4px;
  width: 100%;
  margin: 65px 0;
}

.product-miniature .product-description .btn.btn9 {
  margin: 0px 0;
}

.btn.btn9:hover {
  background: var(--color-dark-text);
  color: var(--color-white);
}

.btn-primary,
.btn-secondary,
.btn-tertiary {
  text-transform: uppercase;
  font-weight: 600;
  padding: 1rem 1.25rem;
}

/* === PRODUCT CARDS === */

#products .products,
.featured-products .products,
.product-accessories .products {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

#products .products-section-title,
.featured-products .products-section-title,
.product-accessories .products-section-title {
  margin: 2.5rem 0;
  font-weight: 500;
  text-align: center;
}

#products .all-product-link,
.featured-products .all-product-link,
.product-accessories .all-product-link {
  margin: 1.5rem 0;
  clear: both;
  font-weight: 500;
  color: var(--color-dark-text);
}

.product-items {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}

.products-grid .product-item {
  display: inline-block;
  padding: 0;
  width: calc((100% - 6%) / 4);
}

.products-grid .product-item:nth-child(4n + 1) {
  margin-left: 0;
}

.product.grid-2-2 .products-grid .product-item {
  margin-left: 4%;
  width: calc((100% - 4%) / 2);
}

.product.grid-2-2 .products-grid .product-item:nth-child(2n + 1) {
  margin-left: 0;
}

.product-miniature,
.product-miniature .product {
  display: flex;
  justify-content: center;
  position: relative;
  z-index: 0;
  margin: 0 0 25px 0;
}

.product-miniature .product {
  padding: 0;
  margin: 0 .8125rem;
}

.page-index .product-miniature .product,
.page-search .product-miniature .product {
  width: 25%;
  min-width: 250px;
}

.product-miniature .product-thumbnail {
  display: block;
}

.product-miniature .product-title a {
  font-size: .825rem;
  text-align: left;
  text-decoration: none;
  font-weight: 600;
}

.product-miniature .thumbnail-container {
  position: relative;
  height: auto;
  overflow: hidden;
  background: var(--color-white);
  width: 100%;
  padding: 10px;
  z-index: 100;
  -webkit-transition: var(--transition-base);
  -o-transition: var(--transition-base);
  transition: var(--transition-base);
}

.product-miniature .thumbnail-container:hover {
  box-shadow: 0 0 8px 0 rgba(35, 38, 59, 0.2);
  -webkit-transition: var(--transition-base);
  -o-transition: var(--transition-base);
  transition: var(--transition-base);
}

.product-miniature .thumbnail-container:focus .highlighted-informations,
.product-miniature .thumbnail-container:hover .highlighted-informations {
  top: calc(100% - 4.4rem);
}

.product-miniature .thumbnail-container:focus .highlighted-informations::after,
.product-miniature .thumbnail-container:hover .highlighted-informations::after {
  opacity: 1;
}

.product-miniature .thumbnail-container:focus .highlighted-informations.no-variants,
.product-miniature .thumbnail-container:hover .highlighted-informations.no-variants {
  top: calc(100% - 2.5rem);
}

.product-miniature .thumbnail-container .product-thumbnail {
  position: relative;
  height: calc(100% - 70px);
}

.product-miniature .thumbnail-container .product-thumbnail img {
  position: relative;
  display: block;
  max-width: 100%;
  height: auto;
  margin: auto;
}

.product-miniature .product-title {
  text-align: left;
  text-transform: capitalize;
  min-height: 40px;
  line-height: .825rem;
  text-align: justify;
}

.product-miniature .product-price-and-shipping {
  font-weight: 700;
  color: var(--color-dark-text);
  text-align: center;
}

.product-miniature .product-price-and-shipping .discount-product {
  display: none;
}

.product-miniature .variant-links {
  position: relative;
  top: -.25em;
  width: 100%;
  min-height: 2.5rem;
  padding-top: .1875rem;
  text-align: center;
  background: var(--color-white);
}

.product-miniature .thumbnail-top {
  position: relative;
  overflow: hidden;
}

.product-miniature .highlighted-informations {
  position: absolute;
  top: 100%;
  z-index: 2;
  width: 50%;
  height: auto;
  padding: .625rem 0;
  text-align: center;
  transition: .3s;
  right: 0px;
}

.product-miniature .highlighted-informations .quick-view {
  font-size: 1rem;
  color: var(--color-dark-text);
}

.product-miniature .highlighted-informations .quick-view:hover {
  color: var(--color-primary);
}

.color-pro .product-miniature .highlighted-informations .quick-view:hover {
  color: var(--color-pro);
}

.color-etu .product-miniature .highlighted-informations .quick-view:hover {
  color: var(--color-etu);
}

.product-description p {
  font-size: .875rem;
  font-weight: 400;
  color: var(--color-dark-text);
}

.product-information {
  margin: 15px 0;
  padding: 0;
}

.product-marque {
  display: block;
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
  height: 19px;
}

.product-marque a {
  display: block;
}

.product-miniature .product-description {
  position: relative;
  bottom: 0;
  height: auto;
  background: var(--color-white);
  width: 100%;
}

.product-miniature .product-information .product-description,
.modal-content .product-description {
  width: 100%;
}

.product-miniature .product-information .product-actions,
.modal-content .product-actions {
  position: relative;
  width: 100%;
  display: inline-block;
}

#product-description-short ol li,
#product-description-short ul li,
.product-information .product-description ol li,
.product-information .product-description ul li {
  font-size: .775rem;
  color: #7a7a7a;
}

.product-miniature .product_desc,
.product-miniature .product-description p,
.product-description {
  font-size: .775rem;
  font-weight: 600;
  color: var(--color-dark-text);
  text-align: justify;
  text-decoration: none;
  min-height: 5px;
  margin: 0;
  position: relative;
}

.product-miniature .product-flags li.product-flag,
.product-flags .out_of_stock {
  display: none;
  min-width: 3.125rem;
  min-height: 1.875rem;
  font-weight: 600;
}

.product-miniature .product-flags li.product-flag.online-only {
  top: 13.1rem;
}

.product-miniature .comments_note {
  color: var(--color-dark-text);
  text-align: center;
}

.product-miniature .regular-price {
  display: inline-block;
  font-size: 0.875rem;
  font-weight: 300;
  color: var(--color-dark-text);
  text-decoration: line-through;
  margin: 0 3px 0 0;
}

.product-miniature .count {
  position: relative;
  bottom: .5rem;
  font-weight: 700;
  color: var(--color-dark-text);
}

.product-miniature .ns-btn {
  width: 50%;
  float: right;
}

.product-miniature .ns-features {
  width: 100%;
  float: right;
}

.ns-features-13,
.ns-features-17,
.ns-features-15 {
  background-color: var(--color-light-bg);
  width: 100%;
  float: right;
  position: relative;
  padding: 5px;
}

.ns-features-14,
.ns-features-16,
.ns-features-18 {
  background-color: var(--color-white);
  width: 100%;
  float: right;
  position: relative;
  padding: 5px;
}

/* Product flags custom */

.product-flags-custom {
  display: flex;
  gap: 8px;
  margin-bottom: 8px;
  flex-wrap: wrap;
  position: absolute;
  z-index: 100000;
}

.product-flags-custom .flag {
  padding: 3px 12px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  display: inline-block;
  white-space: nowrap;
}

.flag-promo {
  background-color: var(--color-promo);
  color: var(--color-white);
}

.flag-new {
  background-color: #fdd4e6;
  color: #222;
}

.flag-best {
  background-color: #def7cc;
  color: #222;
}

.js-qv-mask {
  display: none;
}

/* Stock / Reference */

.stock,
.product-reference {
  padding: 0 12px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 20px;
  font-weight: 400;
  font-size: 0.75rem;
  line-height: 1.68rem;
  border-radius: 10px;
}

.stock.available:before {
  background-color: #44d3a8;
}

.stock:before {
  margin-right: 6px;
  display: flex;
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 4px;
}

.stock.outofstock {
  background-color: #fed8da;
}

.stock.outofstock:before {
  background-color: #ff3d48;
}

.stock-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  background-color: #00e0b8;
  border-radius: 50%;
  margin-right: 6px;
  vertical-align: middle;
}

/* Product pricing */

.product-prix {
  position: relative;
  padding: 7px 0 5px;
}

.text-prix-pro {
  color: #e7276f;
  font-size: 11px;
  padding-right: 0;
  position: unset;
  font-weight: 300;
  text-transform: uppercase;
}

.product-prix .prix {
  margin-left: 10px;
  padding-left: 0;
  font-weight: 500;
}

.product-price-and-shipping-tax {
  align-items: baseline;
  flex-direction: row-reverse;
}

.product-price-and-shipping-tax .current-price-pro,
.text-price-pro {
  font-weight: 800;
  font-size: 1.275rem;
  line-height: 1.0625rem;
  color: var(--color-primary);
  float: left;
  width: 100%;
}

#product .product-information .product-price .prix .product-price-and-shipping-tax .current-price-pro,
#product .product-information .product-price .text-price-pro {
  font-weight: 800;
  font-size: 1.675rem;
  line-height: 1.0625rem;
  color: var(--color-primary);
}

/* Product list / info cards */

.product-list .product-info-card {
  position: relative;
  padding: 10px 0;
}

.product-list .product-info-card img {
  display: block;
  margin: 0 auto;
  max-width: 70%;
  height: auto;
}

.product-list .product-info-card .hover {
  bottom: 0;
  left: 0;
  opacity: 0;
  position: absolute;
  right: 0;
  text-align: center;
  -webkit-transition: var(--transition-base);
  -o-transition: var(--transition-base);
  transition: var(--transition-base);
  cursor: pointer;
}

.product-list .inner:hover .product-info-card .hover {
  opacity: 1;
  -webkit-transition: var(--transition-base);
  -o-transition: var(--transition-base);
  transition: var(--transition-base);
}

.product-list .product-info-card .hover a {
  left: 50%;
  margin: -21px 0 0 -75px;
  padding: 7px 15px;
  position: absolute;
  top: 35%;
  width: 150px;
}

.product-list .product-info-card .hover a.add_to_cart {
  left: 50%;
  margin: -21px 0 0 -75px;
  padding: 7px 15px;
  position: absolute;
  top: 70%;
  width: 150px;
}

.product-list .product-info-card .sticky {
  right: 5px;
  top: 5px;
  position: absolute;
}

.product-list .product-info-card .sticky-product {
  left: 5px;
  top: 5px;
  position: absolute;
}

.product-list .product-info-card .sticky-product-top {
  right: 50px;
  top: 5px;
  position: absolute;
}

.pb-left-column .sticky {
  right: 5px;
  top: 5px;
  position: absolute;
}

.product-list .product-info-card .sticky .reduction-sticky,
.product-list .product-info-card .sticky-product .reduction-sticky,
.pb-left-column .sticky .reduction-sticky {
  border-radius: 50%;
  color: var(--color-white);
  background: #cb0538 none repeat scroll 0 0;
  font-size: 12px;
  font-weight: 200;
  height: 50px;
  line-height: 12px;
  text-align: center;
  width: 50px;
  position: absolute;
  left: 0px;
  padding-top: 8px;
}

.product-list .product-info-card .sticky .offer-sticky,
.product-list .product-info-card .sticky-product .offer-sticky,
.pb-left-column .sticky .offer-sticky {
  border-radius: 50%;
  color: var(--color-white);
  background: #f20707 none repeat scroll 0 0;
  font-size: 10px;
  height: 70px;
  line-height: 12px;
  text-align: center;
  width: 70px;
  position: absolute;
  right: 0;
  padding: 10px;
  left: 0px;
}

.product-list .product-info-card .sticky .top-sticky,
.product-list .product-info-card .sticky-product-top .top-sticky,
.pb-left-column .sticky .top-sticky {
  border-radius: 50%;
  color: var(--color-white);
  background: #78BB89 none repeat scroll 0 0;
  font-size: 12px;
  font-weight: 200;
  height: 50px;
  line-height: 50px;
  text-align: center;
  width: 50px;
  position: absolute;
  right: 0;
}

.product-list .product-info-card .sticky .new-sticky,
.product-list .product-info-card .sticky-product .new-sticky,
.pb-left-column .sticky .new-sticky {
  border-radius: 50%;
  color: var(--color-white);
  background: #575756 none repeat scroll 0 0;
  font-size: 18px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  width: 50px;
  position: absolute;
  left: 0px;
}

.product-list .product-info-card .sticky .sale-sticky,
.product-list .product-info-card .sticky-product .sale-sticky,
.pb-left-column .sticky .sale-sticky {
  border-radius: 50%;
  color: var(--color-white);
  background: #E45025 none repeat scroll 0 0;
  font-size: 14px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  width: 50px;
  position: absolute;
  left: 0px;
}

/* Featured products */

.featured-products-category {
  background-color: var(--color-light-bg);
  padding: 25px 100px 100px 100px;
}

.featured-products-marque {
  background-color: var(--color-secondary);
  padding: 25px 100px 100px 100px;
}

.featured-products {
  background-color: var(--color-light-bg);
  padding: 50px 100px;
}

.featured-products.category {
  background-color: var(--color-light-bg);
  padding: 0px;
}

.featured-products.application {
  background-color: var(--color-light-bg);
  padding: 100px 0;
}

.featured-products.tabs {
  background-color: var(--color-white);
  padding: 0;
}

.featured-products.info {
  background-color: var(--color-white);
  padding: 0 100px 25px 100px;
}

.featured-products.blog {
  background-color: var(--color-secondary);
  padding: 25px 100px;
}

.featured-products.account {
  background-color: var(--color-white);
  margin: 0 200px;
  border: 1px solid #dbdbdb;
  padding: 0;
}

#identity .featured-products.account {
  margin: 0;
}

.featured-products.footer {
  position: relative;
  background-color: var(--color-primary);
  padding: 50px;
  margin: 0 0 50px 0;
}

.color-pro .featured-products.footer {
  background-color: var(--color-pro);
}

.color-etu .featured-products.footer {
  background-color: var(--color-etu);
}

.featured-products.footer:after {
  background-image: url(../img/bg-top-right-footer.svg);
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0px;
}

#voirsuite-text-cat {
  right: 0px;
  bottom: 0px;
  display: inline-block;
  color: #5a6a78;
  transition: ease, 0.5s;
  position: absolute;
}

#voirsuite-text-cat-1 {
  float: right;
  top: 0px;
  display: inline-block;
  color: #5a6a78;
  transition: ease, 0.5s;
  position: relative;
}

/* === PRODUCT PAGE === */

.product-container .h1 {
  margin-bottom: 1.875rem;
  font-size: 1.875rem;
  line-height: 2rem;
  font-weight: 600;
  font-family: Optima;
}

.product-information .h3 {
  font-size: 1.625rem;
  font-weight: 600;
  color: var(--color-primary);
  text-align: left;
  text-decoration: none;
}

.color-pro .product-information .h3 {
  color: var(--color-pro);
}

.color-etu .product-information .h3 {
  color: var(--color-etu);
}

/* Product features */

.product-features {
  margin-top: 0;
  margin-left: .3125rem;
}

.product-features > dl.data-sheet,
.product-flags {
  display: flex;
  flex-wrap: wrap;
}

.product-features > dl.data-sheet {
  align-items: stretch;
  margin-bottom: 0rem;
  font-size: .775rem;
}

.product-features > dl.data-sheet dd.value,
.product-features > dl.data-sheet dt.name {
  flex: 1 0 40%;
  text-transform: capitalize;
  word-break: normal;
  margin-bottom: 0.3rem;
  padding: 10px;
}

.img-eq-1 img {
  border-radius: 50%;
  margin: 0 0 15px 0;
}

.bloc-cms {
  margin-bottom: 10rem;
}

#product-additional-info {
  position: relative;
  display: inline-block;
  width: 75%;
}

#product-additional-info .btn-primary {
  width: 100%;
}

#product-additional-info .tabs {
  padding: 0rem;
  margin-top: 0rem;
}

#product-additional-info .tabs .mt-1 {
  /* override theme default margin */
  margin-top: 0rem !important;
}

.grid-4 {
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 1rem;
}

.grid-row {
  display: grid;
}

.bloc-cms.grid-4 {
  row-gap: 6rem;
}

.bloc-cms.grid-4 .grid-item {
  display: flex;
  flex-direction: column;
}

.bloc-cms.grid-4 .item-cta {
  justify-self: flex-end;
  margin-top: 20px;
}

.bloc-cms .grid-item .item-image {
  margin-bottom: 20px;
}

.bloc-cms .grid-item .item-image img {
  width: 100%;
}

.bloc-cms .grid-item .item-title {
  margin-top: 0;
  border-bottom: 1px solid var(--color-primary);
  position: relative;
  padding-bottom: 6px;
  display: inline-block;
  font-weight: bold;
}

.color-pro .bloc-cms .grid-item .item-title {
  border-bottom: 1px solid var(--color-pro);
}

.color-etu .bloc-cms .grid-item .item-title {
  border-bottom: 1px solid var(--color-etu);
}

.product-info-manufacturer {
  font-weight: 600;
  text-transform: uppercase;
}

.product-prices-info {
  position: relative;
}

.favorite-store-container {
  margin-bottom: 1.875rem;
  border: 1px solid #ebebeb;
  border-radius: 4px;
  box-shadow: 0 0 8px 0 rgba(35, 38, 59, 0.2);
  padding: .8125rem 1.25rem 1.125rem;
  font-size: .8125rem;
  line-height: 1.1;
}

.product-reassurance {
  margin-top: 20px;
}

.reassurance-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 15px 30px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.reassurance-list li {
  display: flex;
  align-items: center;
  font-size: 15px;
  color: #222;
}

.reassurance-list .icon {
  width: 24px;
  height: 24px;
  margin-right: 10px;
  fill: none;
  stroke: #222;
  stroke-width: 1.5px;
}

.product-details {
  padding: 0 0 10px 0;
}

.product-plusieurs-fois {
  padding: 0 15px 25px 15px;
  text-align: center;
}

.product-miniature .product-details {
  padding: 0 0 10px 0;
}

.product-info-left {
  width: 40%;
}

.product-info-left-title {
  width: 90%;
}

.product-info-center {
  width: 30%;
}

.product-info-right {
  width: 30%;
}

.product-info-right-add {
  width: 10%;
}

.product-info-right-image img {
  width: 40%;
  height: 40%;
  float: right;
}

.product-stock {
  float: right;
  position: relative;
  display: inline-block;
}

.product-info-right-image {
  position: relative;
  display: inline-block;
}

.pf-text {
  display: inline-flex;
  white-space: nowrap;
  align-items: flex-start;
  justify-content: left;
  margin-left: 0;
  margin-right: 3px;
}

.pf-price {
  font-weight: 700;
  display: inherit;
  color: var(--color-text-dark);
}

.pf-infos-paypal {
  margin: 0 0 0 5px;
}

/* Attachment / title tabs */

.attachment {
  height: 50px;
  padding: 15px 0 10px 0;
  float: left;
  width: 100%;
}

.ns-p-title {
  font-size: 1.25rem;
  line-height: 1.1286;
  font-weight: bold;
  text-transform: uppercase;
  color: var(--color-dark-text);
}

.ns-title-tab {
  position: relative;
  width: 100%;
  display: inline-block;
  vertical-align: top;
  height: 80px;
  padding: 25px 25px 25px 0;
}

.attachment .ns-p-title,
.accesoires-description .ns-p-title {
  font-size: 0.85rem;
  line-height: 1.5286;
  margin: 0;
  display: inline-block;
}

.all_questions .attachment .ns-p-title {
  font-size: 0.85rem;
  line-height: 1.5286;
  margin: 0;
  width: 90%;
  display: inline-block;
}

.attachment .ns-p-title-video {
  font-size: 0.85rem;
  line-height: 1.5286;
  margin: 0;
  display: inline-block;
}

#category-description {
  font-size: .775rem;
  line-height: 1.175rem;
}

/* Declinaisons */

.display_combinations .ref {
  width: 80px;
  height: 15px;
}

.display_combinations .price {
  height: 15px;
}

.cart-layout .block-layout .cart-prices {
  overflow: hidden;
}

.panel-footer {
  background: #f7f7f7;
  padding: 30px;
  height: 250px;
}

#total_block {
  position: sticky;
  bottom: 0;
  z-index: 10;
  /* override theme padding */
  padding: 0rem !important;
}

.viewmycart {
  padding-top: 5px;
  /* override theme radius */
  border-radius: 4px !important;
}

.viewmycart a {
  color: var(--color-white);
}

.viewmycart .btn-secondary {
  width: 100%;
}

.panel-content {
  flex: 0 100%;
  height: 100%;
  overflow-y: auto;
  padding: 15px;
}

/* Quickview */

.modal-content {
  position: relative;
  background-color: var(--color-secondary);
  background-clip: padding-box;
  outline: 0;
}

.quickview .modal-dialog {
  width: calc(100% - 30px);
  max-width: 75rem;
}

.quickview .modal-content {
  width: 100%;
  min-height: 28.13rem;
}

.quickview .modal-header {
  padding: 0rem;
  border: 0;
  position: absolute;
}

.quickview .modal-body {
  min-height: 23.75rem;
}

.quickview .layer {
  display: none;
}

.quickview .product-cover img {
  width: 100%;
  height: auto;
}

.quickview .images-container {
  z-index: 1;
  display: flex;
  min-height: 21.88rem;
}

.quickview .images-container .product-images > li.thumb-container > .thumb {
  width: 100%;
  max-width: 4.938rem;
  height: auto;
  margin-bottom: .8125rem;
  background: var(--color-white);
}

.quickview .mask {
  width: 35%;
  max-height: 22.5rem;
  margin-left: .625rem;
  overflow: hidden;
}

.quickview .arrows {
  position: absolute;
  top: 0;
  right: 5rem;
  bottom: 0;
  z-index: 0;
  max-height: 22.5rem;
}

.quickview .arrows .arrow-up {
  margin-top: -3.125rem;
  cursor: pointer;
  opacity: .2;
}

.quickview .arrows .arrow-down {
  position: absolute;
  bottom: -1.875rem;
  cursor: pointer;
}

.quickview .social-sharing {
  margin-top: 0;
  margin-left: 2.5rem;
}

/* Cart layout detail */

#header .cart-layout .total {
  float: left;
  font-weight: 500;
  margin-top: 2px;
  position: static;
}

#header .cart-layout .total span {
  color: #bd0132;
}

#header .cart-layout .block-layout .ajax_cart_no_product,
#header .cart-layout .block-layout .cart_block_no_products {
  padding: 20px;
}

.cart-layout .block-layout .products {
  margin-bottom: 0;
  padding-top: 0px;
}

.cart-layout .block-layout .products dt {
  font-size: 0;
  position: relative;
  padding: 15px 0px 10px 0;
}

.cart-layout .block-layout .products dt::after {
  content: '';
  display: block;
  border-bottom: 1px solid #e5e5e5;
  padding-top: 17px;
  margin: 0;
}

.cart-layout .block-layout .products dt a.cart-images {
  display: inline-block;
  vertical-align: top;
  width: 25%;
  padding-left: 0;
}

.cart-layout .block-layout .products dt a.cart-images img {
  display: block;
  width: 100%;
}

.cart-layout .block-layout .products dt .cart-info {
  display: inline-block;
  font-size: 12px;
  line-height: 16px;
  padding: 0;
}

.cart-layout .block-layout .product-attributes {
  font-size: 11px;
}

.cart-layout .block-layout .products dt .quantity-formated {
  font-weight: normal;
  font-size: 13px;
}

.cart-layout .block-layout .products dt .cart-info .product-name {
  margin-bottom: 5px;
  font-size: 20px;
  line-height: 22px;
}

.cart-layout .block-layout .products dt .cart-info .product-name a {
  display: block;
}

.cart-layout .block-layout .products dt .cart-info .price {
  color: #4f3528;
  text-align: right;
  font-size: 20px;
}

.cart-layout .block-layout .products dt .cart-info .product-atributes {
  font-size: 14px;
}

.cart-layout .block-layout .products dt .cart-info .product-atributes a {
  display: block;
  margin-bottom: 5px;
  font-size: 11px;
  text-transform: uppercase;
  font-weight: normal;
}

.cart-layout .block-layout .products dt .cart-info .quantity-formated {
  display: block;
  font-size: 14px;
  float: none;
}

.cart-layout .block-layout .products dt .remove_link {
  top: 36px;
  margin: auto;
  height: 15px;
  position: absolute;
  right: -35px;
}

.cart-layout .block-layout .products dt .remove_link i {
  font-size: 14px;
}

.cart-layout .block-layout .cart-prices {
  overflow: hidden;
}

.cart-layout .block-layout .cart-prices .cart-prices-line {
  padding: 15px 0;
  overflow: hidden;
}

.cart-layout .block-layout .cart-prices .delete_voucher i {
  color: #666;
  float: right;
  font-size: 16px;
  padding-left: 10px;
}

.cart-layout .block-layout .cart-prices-line.vouchers {
  margin-bottom: 15px;
  padding: 0 15px;
}

.cart-layout .block-layout .cart-prices-line.vouchers > div {
  padding-top: 5px;
  padding-bottom: 10px;
  border-bottom: 1px solid #dcdcdc;
}

.cart-layout .block-layout .cart-prices-line.vouchers > div .price {
  float: right;
}

.cart-layout .block-layout .cart-prices-line.vouchers i {
  font-size: 16px;
  float: right;
  padding-left: 10px;
}

.cart-layout .block-layout .cart-prices .cart-prices-line span {
  float: left;
  padding: 0 0 5px 0;
}

.cart-layout .block-layout .cart-prices .cart-prices-line.last-line {
  color: #42444f;
  border-bottom: none;
  font-size: 20px;
}

.cart-layout .block-layout .cart-prices .cart-prices-line span.price {
  float: right;
  padding: 0;
}

.cart-layout .block-layout .cart-prices .cart-prices-line.last-line span.ajax_cart_total {
  /* override PrestaShop inline style */
  display: inline-block !important;
}

.cart-layout .block-layout .cart-prices .cart-prices-line span.price-total,
.cart-layout .block-layout .cart-prices .cart-prices-line span.price {
  padding: 0;
}

.cart-layout .block-layout .cart-buttons {
  padding: 0 20px;
  padding-bottom: 20px;
  text-align: center;
  margin-bottom: 0;
  margin-top: 35px;
}

.cart-layout .ctn-price {
  text-align: right;
  padding-right: 0;
}

.cart-layout .ctn-price .price {
  font-weight: bold;
  font-size: 20px;
  margin-bottom: 3px;
  display: block;
  margin-top: 18px;
}

/* Breadcrumb */

#wrapper .ns-header-img .breadcrumb li a {
  color: var(--color-white);
}

#wrapper .ns-header-img .breadcrumb li:last-child {
  margin: 0;
  color: var(--color-white);
  content: "/";
}

#wrapper .ns-header-img .breadcrumb li::after {
  margin: .3125rem;
  color: var(--color-white);
  content: "/";
}

/* === CATEGORY PAGE === */

/* Universe categories */

.universe-cat-ctn {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 5px;
  row-gap: 5px;
}

.information-blog {
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(3, 1fr);
}

.category-id-68 .universe-cat-ctn,
.category-id-61 .universe-cat-ctn {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
}

.category-id-63 .universe-cat-ctn {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
}

.category-id-67 .universe-cat-ctn,
.category-id-68 .universe-cat-ctn {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
}

.category-id-69 .universe-cat-ctn {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(1, 1fr);
}

.category-id-64 .universe-cat-ctn {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(1, 1fr);
}

.universe-cat-content,
.post-item {
  display: flex;
  flex-wrap: wrap;
}

.post-wrapper .image-wrapper {
  overflow: hidden;
  transform: translate(0, 0);
  display: flex;
  width: 100%;
  position: relative;
  transition: 0.5s ease-in-out;
}

.post-wrapper {
  position: relative;
  width: 100%;
  transition: 0.3s ease-in-out;
  background: var(--color-light-bg);
}

.universe-cat {
  display: flex;
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
  text-align: center;
  transition: 0.3s ease-in-out;
}

.universe-cat-link {
  align-items: center;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: space-between;
}

.post-wrapper .content-wrapper {
  text-align: center;
  padding: 10px;
  position: relative;
  z-index: 10;
  min-height: 90px;
}

.post-wrapper .content-wrapper .product-title {
  min-height: 30px;
  text-align: center;
  margin: 10px 0 0 0;
}

.post-wrapper .content-wrapper .text-wrapper {
  min-height: 120px;
}

.post-wrapper .text-wrapper p {
  color: var(--color-dark-text);
  font-weight: 400;
  font-size: .775rem;
  line-height: 1rem;
  margin: 15px 0 0 0;
}

.universe-cat-title {
  font-weight: 600;
  color: var(--color-white);
  text-transform: uppercase;
  left: 20px;
  position: absolute;
  right: 20px;
  bottom: 20px;
  z-index: 1;
}

.universe-cat-title b {
  color: var(--color-primary);
}

.color-pro .universe-cat-title b {
  color: var(--color-pro);
}

.color-etu .universe-cat-title b {
  color: var(--color-etu);
}

.universe-cat-img {
  height: auto;
  transition: transform .5s;
  width: 100%;
}

.universe-cat-img-ctn {
  display: block;
  padding-bottom: 59.44%;
}

.universe-cat-img:hover {
  transform: scale(1.05);
}

.image-wrapper {
  overflow: hidden;
  display: flex;
  transform: translate(0, 0);
  width: 100%;
  transition: 0.6s ease;
}

.lazy-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.6s ease;
}

.post-wrapper .image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.6s ease;
}

/* Layout grid tiles */

.layout-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: 1fr;
  row-gap: 10px;
  column-gap: 10px;
}

.layout-grid.tiles-layout-25 {
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(3, 1fr);
}

.universe-cat-ctn.layout-grid.tiles-layout-1 {
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(2, 1fr);
}

.universe-cat-ctn.layout-grid.tiles-layout-1 .post-item:nth-child(5n+1) {
  grid-row: span 2;
  grid-column: span 2;
}

.layout-grid.tiles-layout-25 .post-item:nth-child(5n+4) .post-wrapper .image-wrapper {
  float: left;
  width: 50%;
}

.layout-grid.tiles-layout-25 .post-item:nth-child(5n+4) .post-wrapper .content-wrapper {
  width: 50%;
  float: left;
}

.universe-cat-ctn.layout-grid.tiles-layout-2 {
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(2, 1fr);
}

.universe-cat-ctn.layout-grid.tiles-layout-2 .post-item:nth-child(4n+1) {
  grid-row: span 2;
  grid-column: span 2;
}

.universe-cat-ctn.layout-grid.tiles-layout-2 .post-item:nth-child(4n+2) {
  grid-row: span 2;
}

.universe-cat-ctn.layout-grid.tiles-layout-3 {
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(2, 1fr);
}

.universe-cat-ctn.layout-grid.tiles-layout-3 .post-item:nth-child(4n+1) {
  grid-row: span 2;
  grid-column: span 2;
}

.universe-cat-ctn.layout-grid.tiles-layout-3 .post-item:nth-child(4n+3) {
  grid-row: span 2;
}

.universe-cat-ctn.layout-grid.tiles-layout-4 {
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(2, 1fr);
}

.universe-cat-ctn.layout-grid.tiles-layout-4 .post-item:nth-child(4n+1) {
  grid-row: span 2;
  grid-column: span 2;
}

.universe-cat-ctn.layout-grid.tiles-layout-4 .post-item:nth-child(4n+2) {
  grid-column: span 2;
}

.universe-cat-ctn.layout-grid.tiles-layout-5 {
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(2, 1fr);
}

.universe-cat-ctn.layout-grid.tiles-layout-5 .post-item:nth-child(4n+1) {
  grid-row: span 2;
  grid-column: span 2;
}

.universe-cat-ctn.layout-grid.tiles-layout-5 .post-item:nth-child(4n+4) {
  grid-column: span 2;
}

.universe-cat-ctn.layout-grid.tiles-layout-6 {
  grid-template-columns: repeat(4, 1fr);
}

.universe-cat-ctn.layout-grid.tiles-layout-6 .post-item:nth-child(3n+1) {
  grid-column: span 2;
}

.universe-cat-ctn.layout-grid.tiles-layout-7 {
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(2, 1fr);
}

.universe-cat-ctn.layout-grid.tiles-layout-7 .post-item:nth-child(5n+2) {
  grid-row: span 2;
  grid-column: span 2;
}

.universe-cat-ctn.layout-grid.tiles-layout-8 {
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(2, 1fr);
}

.universe-cat-ctn.layout-grid.tiles-layout-8 .post-item:nth-child(5n+1) {
  grid-row: span 2;
}

.universe-cat-ctn.layout-grid.tiles-layout-8 .post-item:nth-child(5n+3) {
  grid-column: span 2;
}

.universe-cat-ctn.layout-grid.tiles-layout-8 .post-item:nth-child(5n+4) {
  grid-column: span 2;
}

.universe-cat-ctn.layout-grid.tiles-layout-9 {
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(2, 1fr);
}

.universe-cat-ctn.layout-grid.tiles-layout-9 .post-item:nth-child(5n+2) {
  grid-column: span 2;
}

.universe-cat-ctn.layout-grid.tiles-layout-9 .post-item:nth-child(5n+4) {
  grid-column: span 2;
}

.universe-cat-ctn.layout-grid.tiles-layout-9 .post-item:nth-child(5n+5) {
  grid-column: span 2;
}

.universe-cat-ctn.layout-grid.tiles-layout-10 {
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
}

.universe-cat-ctn.layout-grid.tiles-layout-10 .post-item:nth-child(3n+1) {
  grid-row: span 2;
}

.universe-cat-ctn.layout-grid.tiles-layout-11 {
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 1fr);
}

.universe-cat-ctn.layout-grid.tiles-layout-11 .post-item:nth-child(3n+1) {
  grid-column: span 2;
  grid-row: span 2;
}

.universe-cat-ctn.layout-grid.tiles-layout-12 {
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 1fr);
}

.universe-cat-ctn.layout-grid.tiles-layout-12 .post-item:nth-child(4n+1) {
  grid-column: span 3;
}

.universe-cat-ctn.layout-grid.tiles-layout-13 {
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 1fr);
}

.universe-cat-ctn.layout-grid.tiles-layout-13 .post-item:nth-child(6n+1) {
  grid-column: span 2;
  grid-row: span 2;
}

.universe-cat-ctn.layout-grid.tiles-layout-14 {
  grid-template-columns: repeat(6, 1fr);
  grid-template-rows: repeat(2, 1fr);
}

.universe-cat-ctn.layout-grid.tiles-layout-14 .post-item {
  grid-column: span 2;
}

.universe-cat-ctn.layout-grid.tiles-layout-14 .post-item:nth-child(5n+1) {
  grid-column: span 3;
}

.universe-cat-ctn.layout-grid.tiles-layout-14 .post-item:nth-child(5n+2) {
  grid-column: span 3;
}

.universe-cat-ctn.layout-grid.tiles-layout-15 {
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 1fr);
}

.universe-cat-ctn.layout-grid.tiles-layout-15 .post-item:nth-child(4n+1) {
  grid-row: span 2;
}

.universe-cat-ctn.layout-grid.tiles-layout-15 .post-item:nth-child(4n+2) {
  grid-row: span 2;
}

.universe-cat-ctn.layout-grid.tiles-layout-16 {
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 1fr);
}

.universe-cat-ctn.layout-grid.tiles-layout-16 .post-item:nth-child(5n+2) {
  grid-row: span 2;
}

.universe-cat-ctn.layout-grid.tiles-layout-17 {
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 1fr);
}

.universe-cat-ctn.layout-grid.tiles-layout-17 .post-item:nth-child(5n+1) {
  grid-row: span 2;
}

.universe-cat-ctn.layout-grid.tiles-layout-18 {
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 1fr);
}

.universe-cat-ctn.layout-grid.tiles-layout-18 .post-item:nth-child(5n+3) {
  grid-row: span 2;
}

.universe-cat-ctn.layout-grid.tiles-layout-19 {
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 1fr);
}

.universe-cat-ctn.layout-grid.tiles-layout-19 .post-item:nth-child(4n+1) {
  grid-column: span 2;
}

.universe-cat-ctn.layout-grid.tiles-layout-19 .post-item:nth-child(4n+4) {
  grid-column: span 2;
}

.universe-cat-ctn.layout-grid.tiles-layout-20 {
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(2, 1fr);
}

.universe-cat-ctn.layout-grid.tiles-layout-20 .post-item:nth-child(5n+3) {
  grid-column: span 2;
  grid-row: span 2;
}

.universe-cat-ctn.layout-grid.tiles-layout-21 {
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 1fr);
}

.universe-cat-ctn.layout-grid.tiles-layout-21 .post-item:nth-child(4n+1) {
  grid-column: span 2;
  grid-row: span 3;
}

.universe-cat-ctn.layout-grid.tiles-layout-22 {
  grid-template-columns: repeat(5, 1fr);
  grid-template-rows: repeat(2, 1fr);
}

.universe-cat-ctn.layout-grid.tiles-layout-22 .post-item:nth-child(n) {
  grid-column: span 2;
}

.universe-cat-ctn.layout-grid.tiles-layout-22 .post-item:nth-child(3n+1) {
  grid-column: span 3;
  grid-row: span 2;
}

.universe-cat-ctn.layout-grid.tiles-layout-23 {
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 1fr);
}

.universe-cat-ctn.layout-grid.tiles-layout-23 .post-item:nth-child(6n+5) {
  grid-column: span 2;
  grid-row: span 2;
}

.universe-cat-ctn.layout-grid.tiles-layout-24 {
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(2, 1fr);
}

.universe-cat-ctn .universe-cat-content.tiles-layout-24 .post-item:nth-child(4n+1) {
  grid-row: span 2;
}

.universe-cat-ctn .universe-cat-content.tiles-layout-24 .post-item:nth-child(4n+2) {
  grid-column: span 2;
  grid-row: span 2;
}

.universe-cat-ctn.layout-grid.tiles-layout-25 {
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(1, 1fr);
  grid-auto-rows: 0fr;
}

.universe-cat-ctn .universe-cat-content:nth-child(5n+1),
.universe-cat-ctn .universe-cat-content:nth-child(5n+5) {
  grid-row: span 2;
  height: 412px;
}

.category-id-69 .universe-cat-ctn .universe-cat-content:nth-child(5n+3) {
  grid-row: span 2;
  grid-column: span 1;
  height: 412px;
}

.category-id-69 .universe-cat-ctn .universe-cat-content:nth-child(5n+2),
.category-id-69 .universe-cat-ctn .universe-cat-content:nth-child(5n+4),
.category-id-69 .universe-cat-ctn .universe-cat-content:nth-child(5n+6) {
  grid-row: span 1;
  grid-column: span 1;
  height: 203px;
}

.category-id-560 .universe-cat-ctn .universe-cat-content:nth-child(5n+4) {
  grid-row: span 2;
  grid-column: span 1;
  height: 412px;
}

.category-id-560 .universe-cat-ctn .universe-cat-content:nth-child(5n+1),
.category-id-560 .universe-cat-ctn .universe-cat-content:nth-child(5n+5) {
  grid-row: span 2;
  height: 412px;
}

.category-id-560 .universe-cat-ctn .universe-cat-content:nth-child(5n+2),
.category-id-560 .universe-cat-ctn .universe-cat-content:nth-child(5n+3),
.category-id-560 .universe-cat-ctn .universe-cat-content:nth-child(5n+6) {
  grid-row: span 1;
  grid-column: span 1;
  height: 203px;
}

.universe-cat-ctn .universe-cat-content:nth-child(5n+2),
.universe-cat-ctn .universe-cat-content:nth-child(5n+3),
.universe-cat-ctn .universe-cat-content:nth-child(5n+4),
.universe-cat-ctn .universe-cat-content:nth-child(5n+6) {
  grid-row: span 1;
  grid-column: span 1;
  height: 203px;
}

/* Marques */

.ns-marques {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  row-gap: 15px;
  padding: 25px;
}

.ns-marques h2.maj-title {
  font-size: 16px;
  text-transform: uppercase;
  font-weight: normal;
  margin: 0 2rem 0 0;
}

.ns-marques .tex-title {
  width: 65%;
}

.ns-marques .tex-title p {
  font-size: .775rem;
  text-align: justify;
}

.ns-marques .img-title {
  width: 15%;
}

.ns-marques ul {
  display: flex;
  column-gap: 10px;
  row-gap: 10px;
}

.ns-marques ul li:not(:last-of-type) {
  margin-right: 40px;
}

.ns-marques a.btn-plain {
  margin-left: 50px;
}

/* Brand section */

.brand-section .brand-info {
  flex: 1 1 55%;
  max-width: 750px;
}

.brand-section .brand-info h2 {
  font-size: 24px;
  font-weight: 700;
  color: var(--text-color);
  margin-bottom: 15px;
}

.brand-section .brand-info .brand-name {
  color: var(--secondary-color);
  font-weight: bold;
}

.brand-section .brand-info p {
  font-size: .875rem;
  margin-bottom: 20px;
}

.brand-section .brand-button {
  display: inline-block;
  padding: 12px 24px;
  border: 1px solid var(--secondary-color);
  color: var(--secondary-color);
  font-weight: 600;
  text-transform: uppercase;
  border-radius: var(--border-radius);
  text-decoration: none;
  transition: all var(--transition-speed) ease-in-out;
}

.brand-section .brand-button:hover {
  background-color: var(--secondary-color);
  color: var(--color-white);
}

.brand-section .brand-image {
  flex: 1 1 35%;
  text-align: center;
}

.brand-section .brand-image img {
  max-width: 100%;
  height: auto;
  border-radius: var(--border-radius);
}

/* Listing filters */

.listing-filters-toggle-bar {
  align-items: center;
  display: none;
  /* override theme layout */
  justify-content: flex-start !important;
  margin: 0 0 1rem;
  text-align: left;
  width: 100%;
}

.listing-filters-toggle-btn {
  align-self: flex-start;
  align-items: center;
  display: inline-flex;
  gap: 0.35rem;
  justify-content: center;
  /* override theme left margin */
  margin-left: 0 !important;
  margin-right: auto;
  min-width: 11.5rem;
  white-space: nowrap;
}

.listing-filters-toggle-btn:hover,
.listing-filters-toggle-btn:focus,
.listing-filters-toggle-btn:active {
  /* override theme left margin */
  margin-left: 0 !important;
  margin-right: auto;
  /* override theme hover transform */
  transform: none !important;
}

.ps-listing-page.has-listing-filters .listing-filters-toggle-bar {
  display: flex;
}

.ps-listing-page.has-listing-filters #left-column {
  overflow: hidden;
  transition: flex-basis 0.24s ease, max-width 0.24s ease, width 0.24s ease,
    opacity 0.2s ease, padding 0.24s ease, margin 0.24s ease;
}

.ps-listing-page.has-listing-filters #content-wrapper {
  transition: flex-basis 0.24s ease, max-width 0.24s ease, width 0.24s ease;
}

.ps-listing-page.has-listing-filters #products .products {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -10px;
}

.ps-listing-page.has-listing-filters #products .products > * {
  padding: 0 10px;
  transition: flex-basis 0.24s ease, max-width 0.24s ease,
    padding-left 0.16s ease, padding-right 0.16s ease;
}

/* === FOOTER === */

.footer-bottom {
  background-color: var(--color-light-bg);
  padding: 15px 20px;
  text-align: center;
  font-size: 14px;
  color: #444;
}

.footer-bottom ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}

.footer-bottom ul li a {
  color: #444;
  text-decoration: none;
  transition: color 0.3s;
}

.footer-bottom ul li a:hover {
  color: var(--primary-color);
}

.footer-container {
  overflow: hidden;
}

.infos {
  border-bottom: 1px solid #ccc;
  border-top: 1px solid #ccc;
  padding: 32px 0;
}

.product-miniature .thumbnail-container .infos,
.modal-body .infos {
  border-bottom: none;
  border-top: 1px solid #ccc;
  padding: 22px 0;
  position: relative;
  display: inline-block;
  width: 100%;
}

.infos .block {
  float: left;
  width: 50%;
  font-size: .85714rem;
  text-align: center;
  color: #8e8e8e;
  text-transform: uppercase;
}

.product-miniature .thumbnail-container .infos .block,
.modal-body .infos .block {
  font-size: 0.625rem;
}

.infos .block.right {
  border-left: 1px solid #ccc;
  float: right;
  width: 49%;
}

.infos .block .title {
  display: block;
  color: var(--color-dark-text);
  font-weight: bold;
  font-size: 2.14286rem;
  padding-bottom: 10px;
}

.product-miniature .thumbnail-container .infos .block .title,
.modal-body .infos .block .title {
  font-size: 1.25rem;
  padding-bottom: 0px;
}

.infos .block i {
  margin-right: 5px;
  vertical-align: -2px;
}

.infos .block:hover .title {
  opacity: .6;
  filter: alpha(opacity=60);
}

#reinsurance_footer {
  background: var(--color-primary);
}

#reinsurance_footer ul li {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  width: 19%;
  text-align: center;
}

#reinsurance_footer ul li i,
#reinsurance_footer ul li .text {
  display: inline-block;
  vertical-align: middle;
  width: 100%;
  margin: 15px 0 0 0;
  color: var(--color-white);
}

#reinsurance_footer ul li i.tel small,
#reinsurance_footer ul li i.tel .title,
#reinsurance_footer ul li .text.tel small,
#reinsurance_footer ul li .text.tel .title {
  vertical-align: middle;
}

#reinsurance_footer ul li i.tel small,
#reinsurance_footer ul li .text.tel small {
  margin-left: 7px;
}

#reinsurance_footer ul li .title {
  display: inline-block;
  font-size: 1rem;
  font-weight: bold;
}

#reinsurance_footer ul li .small {
  display: inline-block;
  font-size: 0.938rem;
}

#reinsurance_footer ul li i {
  display: inline-block;
  height: 50px;
  width: 50px;
}

.color-pro #reinsurance_footer ul li i {
  background: var(--color-pro);
}

#reinsurance_cart ul li {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  width: 100%;
  text-align: center;
}

#reinsurance_cart ul li i,
#reinsurance_cart ul li .text {
  display: inline-block;
  vertical-align: middle;
  width: 80%;
  margin: 15px 0 0 0;
  text-transform: uppercase;
}

#reinsurance_cart ul li i.tel small,
#reinsurance_cart ul li i.tel .title,
#reinsurance_cart ul li .text.tel small,
#reinsurance_cart ul li .text.tel .title {
  vertical-align: middle;
}

#reinsurance_cart ul li i.tel small,
#reinsurance_cart ul li .text.tel small {
  margin-left: 7px;
}

#reinsurance_cart ul li .title {
  display: inline-block;
  font-size: 1rem;
  font-weight: bold;
}

#reinsurance_cart ul li .small {
  display: inline-block;
  font-size: 0.938rem;
}

#reinsurance_cart ul li i {
  display: inline-block;
  background: var(--color-primary);
  height: 55px;
  width: 55px;
  border-radius: 100px;
  padding: 10px;
  float: left;
}

.color-pro #reinsurance_cart ul li i {
  background: var(--color-pro);
}

.color-etu #reinsurance_cart ul li i {
  background: var(--color-etu);
}

/* Footer info */

.footer-info {
  background-color: var(--color-hover-bg);
  padding: 40px 30px;
  text-align: left;
  color: var(--text-color);
}

.footer-info h3 {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 10px;
  color: var(--text-color);
}

.footer-info p {
  font-size: 15px;
  margin: 4px 0;
  color: #555;
}

.footer-info strong {
  font-size: 18px;
  font-weight: 700;
  display: inline-block;
  margin-top: 5px;
}

.footer-info .payment-icons,
.footer-info .shipping-icons,
.footer-info .social-icons {
  display: flex;
  align-items: center;
  gap: 15px;
  margin: 15px 0;
  flex-wrap: wrap;
}

.footer-info .payment-icons img,
.footer-info .shipping-icons img,
.footer-info .social-icons img {
  width: 48px;
  height: auto;
  transition: transform 0.3s;
}

.footer-info .payment-icons img:hover,
.footer-info .shipping-icons img:hover,
.footer-info .social-icons img:hover {
  transform: scale(1.1);
}

/* Footer social */

.footer-social {
  padding-bottom: 30px;
  padding-top: 10px;
}

.footer-social-list {
  text-align: center;
}

.footer-social-item {
  display: inline-block;
  vertical-align: top;
  padding: 0 22px;
}

.footer-social-item-link {
  display: flex;
  height: 22px;
  align-items: center;
  justify-content: center;
}

/* Customer account */

.customer-dropdown-menu li {
  padding: 10px 0;
  border-bottom: 1px solid var(--color-light-bg);
  margin: 10px;
}

#cart_block_list .customer-dropdown-menu li a {
  color: var(--color-text-dark);
}

#content-wrapper .customer-dropdown-menu {
  border-right: 1px solid red;
  margin-right: 10px;
}

.psgdprinfo17 {
  margin: 15px 0;
  background: #f1f1f1;
  padding: 20px;
}

.avantage-compte {
  text-align: justify;
}

.avantage-compte p,
.avantage-compte ul,
.avantage-compte li {
  font-size: .8375rem;
  font-weight: 400;
  color: var(--color-dark-text);
  line-height: 1.2rem;
}

.avantage-compte h2 {
  text-align: center;
  float: right;
  border-radius: 100px;
  border: 0;
  font-size: 14px;
  padding: 15px;
  color: var(--color-dark-text);
  letter-spacing: 1.4px;
  width: 100%;
}

.avantage-compte h2.color-4,
.avantage-compte h2.color-5,
.avantage-compte h2.color-6 {
  background: #e0bf78;
}

/* Story */

.ns-fero-story {
  font-size: 0rem;
  display: block;
}

.ns-fero-story-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 0 47px;
}

.ns-fero-story-timeline {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 16px;
  height: 16px;
  display: block;
  border-radius: 100%;
  background-color: #eab8ba;
  z-index: 1;
}

.ns-fero-story-timeline-point {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  border-radius: 100%;
  width: 6px;
  height: 6px;
  background-color: var(--color-primary);
}

.ns-fero-story .ns-wrapper {
  position: relative;
  overflow: hidden;
}

.ns-fero-story .ns-wrapper:before {
  content: '';
  display: block;
  border-left: 2px dashed #d5d5d5;
  position: absolute;
  left: 50%;
  top: 2px;
  height: 100%;
}

.ns-fero-story:nth-child(2) .ns-wrapper:before,
.ns-fero-story:nth-last-child(1) .ns-wrapper:before,
.ns-fero-story:nth-last-child(4) .ns-wrapper:before,
.ns-fero-story:nth-last-child(5) .ns-wrapper:before {
  height: 50%;
}

.ns-fero-story:nth-child(2) .ns-wrapper:before {
  top: 50%;
}

.ns-fero-story.left {
  background-color: var(--color-light-bg);
}

.ns-fero-story-img:first-child {
  z-index: 0;
}

.ns-fero-story-img-mask {
  z-index: 2;
}

.ns-fero-story-img,
.ns-fero-story-content {
  width: 50%;
}

.ns-fero-story-img {
  margin-right: 17.52%;
}

.ns-fero-story-img img {
  max-width: 400px;
  padding: 45px 0 0 0;
}

.ns-fero-story-content {
  max-width: 400px;
}

.ns-fero-story-content-inner {
  margin: 0;
}

.ns-fero-story-content-title {
  padding-bottom: 10px;
}

.ns-fero-story-content-date {
  color: var(--color-primary);
}

.ns-fero-story-content .ns-text p {
  padding: 10px 0;
}

.ns-fero-story.right .ns-fero-story-img {
  order: 2;
  margin-right: 0;
  margin-left: 35.52%;
}

.ns-fero-story.right .ns-fero-story-content {
  margin: 0;
}

.ns-fero-story.right .ns-fero-story-content-inner {
  margin: 0;
}

.ns-fe-h3 {
  font-size: 30px;
  line-height: 36px;
  font-weight: normal;
}

.ns-fe-h2 {
  font-size: 30px;
  line-height: 48px;
  font-weight: normal;
}

/* Offer partenaire */

.offer-part {
  align-items: center;
  background-color: var(--color-white);
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 40px 15px;
  position: relative;
  margin: 0 0 15px 0;
}

.offer-part p {
  color: var(--color-dark-text);
  font-weight: 400;
  font-size: .775rem;
  line-height: 1rem;
}

/* Wordpress / info post */

.info-post {
  position: relative;
  display: inline-block;
}

/* Search */

.ui-menu.ui-jolisearch:after {
  background-color: black;
  opacity: 0.5;
  position: fixed;
  top: 0px;
  left: 0;
  right: 0;
  bottom: 0;
}

/* Header search */

header#header .header-search.search-widget #search-widget-bar {
  position: absolute;
  top: 60%;
  left: -30%;
  width: 150%;
  padding: 15px;
  z-index: 10000;
}

header#header .header-search.search-widget #search-widget-bar button {
  bottom: inherit;
  top: 50%;
  transform: translate(0, -50%);
  right: 15px;
}

header#header .header-search.search-widget #search-widget-bar input {
  border-radius: 25px;
  color: #777777;
  background: var(--color-white);
  z-index: 1000;
  position: relative;
  height: 45px;
}

header#header .header-search.search-widget #search-widget-bar input::-moz-placeholder {
  color: #777777;
  opacity: 1;
}

header#header .header-search.search-widget #search-widget-bar input:-ms-input-placeholder {
  color: #777777;
}

header#header .header-search.search-widget #search-widget-bar input::-webkit-input-placeholder {
  color: #777777;
}

header#header .header-search.search-widget #search-widget-bar i {
  position: static;
  background: var(--color-white);
  color: #353535;
  width: 55px;
  height: 55px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}

.overlay-search {
  background-color: black;
  opacity: 0.5;
  position: fixed;
  top: 0px;
  left: 0;
  right: 0;
  bottom: 0;
}

#_desktop_search {
  display: flex;
  width: 25px;
}

.header-links {
  text-transform: uppercase;
  padding: 15px 10px;
  font-family: 'roboto-medium';
}

.header-links a:hover {
  color: #aeb2b6;
}

.header-search > .inner {
  display: block;
  position: absolute;
  color: var(--color-white);
  right: 0;
  left: 0;
  width: 100%;
  height: 85px;
  transition: 0.5s all;
  z-index: 99;
}

.header-search .title {
  padding-right: 45px;
}

body.open-search {
  padding-top: 85px;
}

body.open-search .header-search .inner {
  top: 0;
  box-shadow: 0 -5px 11px rgba(0, 0, 0, 0.1) inset;
  background-color: var(--color-primary);
  padding: 20px 0;
}

body .color-pro .open-search .header-search .inner {
  background-color: var(--color-pro);
}

body.color-etu .open-search .header-search .inner {
  background-color: var(--color-etu);
}

.header-search .form-group {
  margin: 0;
  position: relative;
}

.header-search input {
  background: transparent;
  float: left;
  font-size: 16px;
  height: 48px;
  width: 100%;
}

.header-search button {
  background: transparent;
  border: 0;
  height: 32px;
  padding: 0 10px;
  position: absolute;
  right: 2px;
  top: 4px;
}

.header-search button i {
  font-size: 20px;
  margin-top: 0;
  padding-right: 2px;
  cursor: pointer;
}

.header-search button i:hover {
  color: #aeb2b6;
}

#searchbox {
  width: 89%;
}

.header-search > a {
  display: block;
  padding: 0 15px;
}

.header-search i,
.toggle-search {
  font-size: 20px;
  color: var(--color-text-dark);
  margin-top: 0px;
  position: relative;
}

.header-search .icon-close {
  cursor: pointer;
  font-size: 25px;
  position: absolute;
  right: 20px;
  top: 33px;
}

.header-search .icon-close:hover {
  color: #aeb2b6;
}

.toggle-search {
  font-size: 26px;
  text-align: center;
  width: 50px;
}

.toggle-search i {
  text-align: center;
}

.header-search a i:after,
.toggle-search:after {
  content: '';
  position: absolute;
  top: 0px;
  left: 0px;
  bottom: 0px;
  right: 0px;
  background-color: var(--color-white);
  border-radius: 30px;
  z-index: 0;
  transition: 0.5s all;
  transform: scale(0);
}

.header-search a:hover i,
.toggle-search:hover i {
  color: #aeb2b6;
}

.totmanufacturer_name {
  text-transform: uppercase;
}

/* Promos */

.promos {
  max-width: 1200px;
  margin: 0 auto;
  padding: 24px 16px;
}

.promos__title {
  text-align: center;
  margin: 6px 0 18px;
  font: 600 20px/1.2 system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  letter-spacing: .12em;
  color: var(--text);
}

.promos__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

.promoCard {
  position: relative;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow: hidden;
  min-height: 280px;
  background:
    linear-gradient(90deg, rgba(0,0,0,0) 50%, rgba(255,255,255,0) 50%),
    var(--bg-image) center / cover no-repeat;
}

.promoCard__panel {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 46%;
  min-width: 340px;
  background: var(--panel-bg);
  backdrop-filter: blur(2px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 22px 22px 18px;
  text-align: center;
}

.promoCard__logo {
  max-width: 180px;
  height: auto;
  display: block;
  margin-bottom: 2px;
}

.promoCard__discount {
  font: 800 56px/1 system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--text);
  letter-spacing: -.02em;
}

.promoCard__text {
  font: 500 20px/1.05 system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--text);
}

.promoCard__brand {
  font-weight: 700;
}

.promoCard__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 18px;
  border-radius: 100px;
  background: #e7481e;
  color: var(--color-white);
  text-decoration: none;
  font: 700 14px/1 system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  letter-spacing: .06em;
  transition: ease, 0.5s;
}

.color-promo-1 {
  color: #e7481e;
}

.color-promo-2 {
  background: #e7481e;
}

.color-promo-3 {
  color: #e7481e;
}

.color-promo-4 {
  background: #3683b1;
}

.promoCard__cta:hover {
  opacity: .92;
  transition: ease, 0.5s;
}

.promoCard__note {
  position: absolute;
  right: 14px;
  bottom: 10px;
  font: 700 10px/1.2 system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: rgba(0,0,0,.55);
  text-transform: uppercase;
  letter-spacing: .06em;
}

/* === ANIMATIONS === */

/* Scroll animations */

.product-miniature {
  opacity: 0;
  transform: translateY(25px) scale(0.98);
  transition: opacity 0.45s ease-out, transform 0.45s ease-out;
  will-change: transform, opacity;
}

.product-miniature.visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.js-product:hover .product-miniature {
  transform: translateY(-4px) scale(1.01);
  box-shadow: 0 8px 24px rgba(0,0,0,0.10);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.product-cover {
  opacity: 0;
  transform: scale(0.97);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
  will-change: transform, opacity;
}

.product-cover.visible {
  opacity: 1;
  transform: scale(1);
}

.product-info-left-title {
  opacity: 0;
  transform: translateX(25px);
  transition: opacity 0.6s ease-out 0.1s, transform 0.6s ease-out 0.1s;
  will-change: transform, opacity;
}

.product-info-left-title.visible {
  opacity: 1;
  transform: translateX(0);
}

[id*="add-to-cart"] .btn:hover,
.product-add-to-cart .btn:hover {
  transform: scale(1.03);
  box-shadow: 0 6px 20px rgba(0,0,0,0.12);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

#reinsurance_footer .clearfix > *,
#reinsurance_footer > * {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
  will-change: transform, opacity;
}

#reinsurance_footer .clearfix > *.visible,
#reinsurance_footer > *.visible {
  opacity: 1;
  transform: translateY(0);
}

.footer-container.ns-flex-50 > * {
  opacity: 0;
  transform: translateY(15px);
  transition: opacity 0.45s ease-out, transform 0.45s ease-out;
  will-change: transform, opacity;
}

.footer-container.ns-flex-50 > *.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Footer social hover */

@media screen and (min-width: 1081px) {
  .footer-social-item-link svg {
    transition: fill ease-in-out 300ms;
  }
  .footer-social-item-link svg * {
    transition: fill ease-in-out 300ms;
  }
  .footer-social-item-link:hover:not([disabled]) svg,
  .footer-social-item-link:hover:not([disabled]) svg * {
    fill: #d10b39;
  }
  body .footer-social-item svg {
    fill: var(--color-primary);
  }
  body.color-pro .footer-social-item svg {
    fill: var(--color-pro);
  }
  body.color-etu .footer-social-item svg {
    fill: var(--color-etu);
  }
}

/* === RESPONSIVE === */

/* --- ns-wrapper breakpoints --- */

@media (min-width: 320px) {
  .ns-wrapper {
    padding: 0 15px;
  }
}

@media (min-width: 576px) {
  .ns-wrapper {
    max-width: 100%;
    align-items: center;
    flex-flow: row wrap;
    margin: 0 auto;
  }
}

@media (min-width: 667px) {
  .ns-wrapper {
    max-width: 100%;
    align-items: center;
    flex-flow: row wrap;
    margin: 0 auto;
  }
}

@media (min-width: 767px) {
  .ns-wrapper {
    max-width: 100%;
    align-items: center;
    flex-flow: row wrap;
    margin: 0 auto;
  }
}

@media (min-width: 810px) {
  .ns-wrapper {
    max-width: 100%;
    align-items: center;
    flex-flow: row wrap;
    margin: 0 auto;
  }
}

@media (min-width: 912px) {
  .ns-wrapper {
    max-width: 912px;
    align-items: center;
    flex-flow: row wrap;
    margin: 0 auto;
  }
}

@media (min-width: 992px) {
  .ns-wrapper {
    max-width: 892px;
    align-items: center;
    flex-flow: row wrap;
    margin: 0 auto;
  }
}

@media (min-width: 1180px) {
  .ns-wrapper {
    max-width: 1160px;
    align-items: center;
    flex-flow: row wrap;
    margin: 0 auto;
  }
}

@media (min-width: 1200px) {
  .ns-wrapper {
    max-width: 1180px;
    align-items: center;
    flex-flow: row wrap;
    margin: 0 auto;
  }
}

@media (min-width: 1280px) {
  .ns-wrapper {
    max-width: 1260px;
    align-items: center;
    flex-flow: row wrap;
    margin: 0 auto;
  }
}

@media (min-width: 1320px) {
  .ns-wrapper {
    max-width: 1300px;
    align-items: center;
    flex-flow: row wrap;
    margin: 0 auto;
    padding: 0px 20px;
  }
}

/* --- Header banner responsive (min-width) --- */

@media screen and (min-width: 375px) {
  .header-banner-nav-links {
    padding-left: 0px;
    margin-bottom: 0;
  }
  .header-banner-nav-socials {
    display: flex;
    border-left: 1px solid var(--color-border);
  }
  .header-banner-nav-social {
    position: relative;
    display: block;
    width: 46px;
    color: var(--color-grey-text);
    transition: var(--transition-banner);
  }
  .header-banner-nav-social svg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
  }
  .header-banner-nav-social:hover {
    color: #000;
    background-color: var(--color-hover-bg);
  }
  .header-banner-nav-contact {
    border-left: 1px solid var(--color-border);
  }
  .header-banner-nav-contact a {
    display: block;
    padding: 2px 4px;
    font-size: 8px;
    line-height: 15px;
    letter-spacing: 0;
    text-transform: uppercase;
  }
  .header-banner-nav-contact a:hover {
    color: #000;
    background-color: var(--color-hover-bg);
  }
  .header-banner-nav-login {
    border-left: 1px solid var(--color-border);
  }
  .header-banner-nav-login a {
    position: relative;
    display: block;
    padding: 6px 15px;
    font-size: 12px;
    line-height: 22px;
    font-weight: bold;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--color-white);
    transition: var(--transition-banner);
  }
  .header-banner-nav-login a:hover {
    color: #000;
    background-color: var(--color-hover-bg);
  }
  .header-banner-nav-login a[data-notify-rgpd]:before {
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #DF7C34;
    position: absolute;
    top: 8px;
    left: 8px;
    animation: notify-rgpd 1000ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 200ms infinite;
  }
  .header-banner-nav-link a {
    display: none;
    padding: 6px 15px;
    font-size: 10px;
    line-height: 22px;
    font-weight: bold;
    letter-spacing: .5em;
    text-transform: uppercase;
    transition: var(--transition-banner);
  }
}

@media screen and (min-width: 414px) {
  .header-banner-nav-contact a {
    display: block;
    padding: 2px 4px;
    font-size: 9px;
    line-height: 15px;
    letter-spacing: 0;
    text-transform: uppercase;
  }
}

@media screen and (min-width: 575px) {
  .header-banner-nav-contact a {
    display: block;
    padding: 6px 15px;
    font-size: 9px;
    line-height: 16px;
    font-weight: bold;
    letter-spacing: .10em;
    text-transform: uppercase;
    color: var(--color-white);
    transition: var(--transition-banner);
  }
}

@media screen and (min-width: 769px) {
  .header-banner-nav-contact {
    border-left: 1px solid var(--color-border);
    border-bottom: none;
  }
  .header-banner-nav-contact a {
    display: block;
    padding: 6px 15px;
    font-size: 10px;
    line-height: 16px;
    font-weight: bold;
    letter-spacing: 0;
    text-transform: uppercase;
    color: var(--color-white);
    transition: var(--transition-banner);
    text-align: center;
  }
  .header-banner-nav-login a {
    position: relative;
    display: block;
    padding: 6px 15px;
    font-size: 12px;
    line-height: 22px;
    font-weight: bold;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--color-grey-text);
    transition: var(--transition-banner);
  }
}

@media screen and (min-width: 992px) {
  .header-banner-nav {
    display: block;
  }
  .header-banner-nav-inner {
    display: flex;
  }
  .header-banner-nav-links {
    margin-bottom: 0;
  }
  .header-banner-sep {
    margin-left: auto;
    z-index: 3;
  }
  .header-banner-nav-link a {
    display: block;
    padding: 6px 15px;
    font-size: 12px;
    line-height: 22px;
    font-weight: 300;
    letter-spacing: .15em;
    text-transform: uppercase;
  }
  .header-banner-nav-socials {
    display: flex;
    border-left: 1px solid var(--color-border);
  }
  .header-banner-nav-social {
    position: relative;
    display: block;
    width: 46px;
    color: var(--color-grey-text);
  }
  .header-banner-nav-social svg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
  }
  .header-banner-nav-social:hover {
    color: #000;
    background-color: var(--color-hover-bg);
  }
  .header-banner-nav-contact {
    border-left: 1px solid var(--color-border);
  }
  #header .header-banner-nav-contact a,
  #footer .footer-container .header-banner-nav-contact a {
    display: block;
    padding: 6px 15px;
    font-size: 10px;
    line-height: 20px;
    font-weight: bold;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--color-white);
    transition: var(--transition-banner);
  }
  #header .header-banner-nav-contact a:hover,
  #footer .footer-container .header-banner-nav-contact a:hover {
    color: #000;
  }
  .header-banner-nav-login {
    border-left: 1px solid var(--color-border);
  }
  #header .header-banner-nav-login a,
  #footer .footer-container .header-banner-nav-login a {
    position: relative;
    display: block;
    padding: 6px 15px;
    font-size: 11px;
    line-height: 20px;
    font-weight: bold;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--color-white);
    transition: var(--transition-banner);
  }
  .header-banner-nav-login a:hover {
    color: #000;
    background-color: var(--color-hover-bg);
  }
  .header-banner-nav-login a[data-notify-rgpd]:before {
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #DF7C34;
    position: absolute;
    top: 8px;
    left: 8px;
    animation: notify-rgpd 1000ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 200ms infinite;
  }
}

/* --- Cart layout responsive (min-width) --- */

@media (min-width: 320px) {
  .cart-layout {
    position: relative;
    display: inline-block;
    width: 25px;
    height: 10px;
    float: right;
    margin-right: 5px;
    top: -35px;
  }
  #mobile_top_menu_wrapper.cart-layout {
    position: absolute;
    display: inline-block;
    width: 50px;
    height: 50px;
    right: 0px;
    margin-right: 10px;
    top: 35px;
  }
  .subtitle,
  .subtitle-pro {
    display: none;
  }
  .cart-layout .nb-total-product,
  .cart-layout-icon .nb-total-product {
    top: -15px;
    left: -5px;
  }
  #_desktop_logo_responsive {
    width: 43%;
    position: absolute;
    top: 35px;
    left: 90px;
  }
}

@media (min-width: 375px) {
  .cart-layout {
    position: relative;
    display: inline-block;
    width: 28px;
    height: 10px;
    float: right;
    margin-right: 5px;
    top: -50px;
  }
  #mobile_top_menu_wrapper.cart-layout {
    position: absolute;
    display: inline-block;
    width: 50px;
    height: 50px;
    right: 0px;
    margin-right: 10px;
    top: 35px;
  }
  .cart-layout .nb-total-product,
  .cart-layout-icon .nb-total-product {
    top: -15px;
    left: -5px;
  }
  #_desktop_logo_responsive {
    width: 43%;
    position: absolute;
    top: 35px;
    left: 90px;
  }
}

@media (min-width: 420px) {
  .cart-layout {
    position: relative;
    display: inline-block;
    width: 25px;
    height: 10px;
    float: right;
    margin-right: 15px;
    top: -35px;
  }
  .subtitle,
  .subtitle-pro {
    display: none;
  }
  #_desktop_logo_responsive {
    width: 43%;
    position: absolute;
    top: 35px;
    left: 90px;
  }
  .stock,
  .product-reference {
    font-size: 0.65rem;
  }
}

@media (min-width: 575px) {
  .cart-layout {
    position: relative;
    display: inline-block;
    width: 25px;
    height: 20px;
    float: right;
    margin-right: 35px;
    top: -34px;
  }
  .subtitle,
  .subtitle-pro {
    display: none;
  }
  #_desktop_logo_responsive {
    width: 43%;
    position: absolute;
    top: 35px;
    left: 90px;
  }
}

@media (min-width: 768px) {
  .cart-layout {
    position: relative;
    display: inline-block;
    width: 50px;
    height: 40px;
    float: right;
    margin-right: 15px;
    top: -25px;
  }
  .subtitle {
    font-size: 12px;
    font-weight: 300;
    display: inherit;
    line-height: 10px;
    margin-top: 10px;
    color: var(--color-text-dark);
  }
  .subtitle-pro {
    font-size: 12px;
    font-weight: 300;
    display: inherit;
    line-height: 10px;
    margin-top: 10px;
    color: var(--color-text-dark);
  }
  #_desktop_logo_responsive {
    width: 37%;
    position: absolute;
    top: 25px;
    left: 115px;
  }
  .ps-listing-page.has-listing-filters #products .products > * {
    flex: 0 0 33.3333%;
    max-width: 33.3333%;
  }
  .ps-listing-page.has-listing-filters.filters-off #left-column {
    flex: 0 0 0;
    margin: 0;
    max-width: 0;
    min-width: 0;
    opacity: 0;
    padding: 0;
    pointer-events: none;
    visibility: hidden;
    width: 0;
  }
  .ps-listing-page.has-listing-filters.filters-off #content-wrapper {
    float: none;
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
  }
}

@media (min-width: 820px) {
  .cart-layout {
    position: relative;
    display: inline-block;
    width: 50px;
    height: 40px;
    float: right;
    margin-right: 15px;
    top: -35px;
  }
  .subtitle {
    font-size: 12px;
    font-weight: 300;
    display: inherit;
    line-height: 10px;
    margin-top: 10px;
    color: var(--color-text-dark);
  }
  .subtitle-pro {
    font-size: 12px;
    font-weight: 300;
    display: inherit;
    line-height: 10px;
    margin-top: 10px;
    color: var(--color-text-dark);
  }
  #_desktop_logo_responsive {
    width: 37%;
    position: absolute;
    top: 25px;
    left: 115px;
  }
  #menu-icon .logo .img {
    width: 125%;
    height: 125%;
  }
}

@media (min-width: 992px) {
  .cart-layout {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 40px;
    top: 25px;
    float: right;
    margin-right: 25px;
  }
  .subtitle {
    font-size: 13px;
    font-weight: 300;
    display: inherit;
    line-height: 10px;
    margin-top: 10px;
    color: var(--color-text-dark);
  }
  .subtitle-pro {
    font-size: 13px;
    font-weight: 300;
    display: inherit;
    line-height: 10px;
    margin-top: 10px;
    color: var(--color-text-dark);
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  .ps-listing-page.has-listing-filters.filters-off #products .products > * {
    flex: 0 0 25%;
    max-width: 25%;
  }
}

@media (min-width: 1025px) {
  .universe-cat-ctn.layout-grid[class*="tiles-layout-"] .post-wrapper {
    /* override inline height on tiles */
    height: auto !important;
  }
}

@media (min-width: 1199px) {
  .cart-layout {
    position: relative;
    display: inline-block;
    width: 50px;
    height: 50px;
    float: right;
    margin-right: 5px;
    padding: 25px 0 0 0;
    top: 0px;
  }
  #reinsurance_footer .cart-layout {
    position: relative;
    display: inline-block;
    width: 0px;
    height: 0px;
    padding: 0;
  }
}

@media (min-width: 1200px) {
  .ps-listing-page.has-listing-filters.filters-on #products .products > * {
    flex: 0 0 33.3333%;
    max-width: 33.3333%;
  }
  .ps-listing-page.has-listing-filters.filters-off #products .products > * {
    flex: 0 0 25%;
    max-width: 25%;
  }
}

/* --- max-width breakpoints --- */

@media screen and (max-width: 1280px) {
  .category-id-65 .universe-cat-ctn {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
  }
  .category-id-69 .universe-cat-ctn {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
  }
}

@media screen and (max-width: 1180px) {
  #index .ns-title-wrapper,
  .ns-title-wrapper {
    top: 100px;
  }
  #index .page-home #custom-text {
    width: 100%;
  }
}

@media (max-width: 1150px) {
  .toggle-search {
    margin-left: 0;
    width: auto;
  }
}

@media only screen and (max-width: 1111px) {
  .ns-marques ul {
    position: relative;
    top: 0;
  }
  .ns-marques a.btn-plain {
    margin-left: 0;
  }
}

@media only screen and (max-width: 1092px) and (min-width: 872px) {
  .ns-marques h2.maj-title {
    margin-bottom: 10px;
  }
  .ns-marques ul {
    max-width: 55%;
  }
}

@media screen and (max-width: 1080px) {
  #index .page-home #custom-text {
    width: 100%;
  }
}

@media screen and (max-width: 1024px) {
  .promos__grid {
    grid-template-columns: 1fr;
  }
  .promoCard {
    min-height: 320px;
  }
  .promoCard__panel {
    width: 52%;
    min-width: 320px;
  }
  .grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }
  .universe-cat-ctn.layout-grid[class*="tiles-layout-"] {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(1, 1fr);
  }
  .universe-cat-ctn.layout-grid[class*="tiles-layout-"] .post-item:nth-child(1) {
    grid-row: span 1;
    grid-column: span 2;
  }
  .universe-cat-ctn.layout-grid[class*="tiles-layout-"] .post-item:nth-child(5n+2),
  .universe-cat-ctn.layout-grid[class*="tiles-layout-"] .post-item:nth-child(5n+3) {
    grid-row: span 1;
    grid-column: span 1;
  }
  .layout-grid.tiles-layout-25 .post-item:nth-child(5n+4) {
    grid-row: span 1;
    grid-column: span 2;
  }
}

@media screen and (max-width: 999px) {
  .ns-fero-story-img,
  .ns-fero-story-content {
    width: calc(50% - 20px);
  }
}

@media (max-width: 990px) {
  .cart-layout > a {
    padding-bottom: 0;
    top: 0px;
    position: relative;
  }
  #mobile_top_menu_wrapper.cart-layout > a {
    padding-bottom: 0;
    top: 0px;
    position: relative;
  }
  .cart-layout i {
    font-size: 25px;
    margin-right: 0;
  }
  .panel-slide-right .inner .icon-close {
    top: 15px;
    left: 15px;
  }
  .cart-layout .cart-info {
    max-width: 75%;
  }
  .cart-layout .ctn-price {
    text-align: left;
    margin-left: 25%;
    padding-left: 0;
    margin-top: 10px;
  }
  .toggle-search {
    padding-right: 15px;
  }
}

@media screen and (max-width: 900px) {
  .featured-products {
    background-color: var(--color-light-bg);
    padding: 50px 10px;
  }
  .featured-products-category {
    background-color: var(--color-light-bg);
    padding: 0 50px 50px 50px;
  }
  .featured-products.info {
    padding: 25px 10px;
  }
  .featured-products.account {
    background-color: var(--color-white);
    margin: 0;
    border: 1px solid #dbdbdb;
    padding: 0;
  }
}

@media only screen and (max-width: 871px) {
  .ns-marques {
    justify-content: center;
  }
  .ns-marques h2.maj-title {
    margin-right: 0;
    margin-bottom: 10px;
  }
  .ns-marques ul {
    flex-wrap: wrap;
    justify-content: center;
  }
  .ns-marques ul li {
    margin: 10px 20px;
  }
  .ns-marques ul li:not(:last-of-type) {
    margin: 10px 20px;
  }
  .ns-marques a.btn-plain {
    margin-top: 10px;
    margin-left: 0;
  }
}

@media (max-width: 821px) {
  .cart-layout .block-layout.open .inner.block_content .block_title,
  .cart-layout-product .block-layout.open .inner.block_content .block_title,
  .cart-layout-various .block-layout.open .inner.block_content .block_title {
    padding: 25px 30px 15px 50px;
    font-size: 17px;
  }
}

@media screen and (max-width: 820px) {
  #index .ns-title-wrapper,
  .ns-title-wrapper {
    top: 100px;
  }
  #index .page-home #custom-text {
    width: 100%;
  }
  #index .page-home #custom-text:before {
    border-left: none;
  }
  #custom-text {
    width: 100%;
  }
  .infos .block .title {
    font-size: 1.563rem;
  }
  .header-search .title {
    padding-right: 10px;
  }
  .header-search i,
  .toggle-search {
    font-size: 55px;
  }
  #_desktop_search {
    display: inline-block;
    width: 55px;
    position: absolute;
    top: -25px;
    left: 54px;
  }
  #header .header-top .position-static {
    position: relative;
    padding: 0;
  }
  .adtm_sub_image {
    display: none;
  }
  header#header .header-search.search-widget #search-widget-bar {
    position: absolute;
    top: -15%;
    left: -80%;
    width: 800px;
    padding: 15px;
    z-index: 10000;
  }
}

@media screen and (max-width: 768px) {
  .featured-products {
    background-color: var(--color-light-bg);
    padding: 50px 10px;
  }
  .featured-products-category {
    background-color: var(--color-light-bg);
    padding: 0 50px 50px 50px;
  }
  .featured-products.info {
    padding: 25px 10px;
  }
  .featured-products.account {
    background-color: var(--color-white);
    margin: 0;
    border: 1px solid #dbdbdb;
    padding: 0;
  }
  .footer-info {
    padding: 30px 20px;
    text-align: center;
  }
  .footer-info .payment-icons,
  .footer-info .shipping-icons,
  .footer-info .social-icons {
    justify-content: center;
  }
  .footer-info strong {
    display: block;
    margin-bottom: 5px;
  }
  .brand-section {
    flex-direction: column;
    text-align: center;
  }
  .brand-section .brand-info,
  .brand-section .brand-image {
    width: 100%;
  }
  .brand-section .brand-info h2 {
    font-size: 20px;
  }
  .brand-section .brand-info p {
    font-size: 15px;
  }
  .brand-section .brand-button {
    font-size: 14px;
    padding: 10px 20px;
  }
}

@media (max-width: 767.98px) {
  .ps-listing-page.has-listing-filters.filters-off #products .products {
    margin: 0 -6px;
    transition: margin-left 0.16s ease, margin-right 0.16s ease;
  }
  .ps-listing-page.has-listing-filters.filters-off #products .products > * {
    flex: 0 0 50%;
    margin-bottom: 12px;
    max-width: 50%;
    padding: 0 6px;
  }
}

@media (max-width: 767px) {
  #gototop {
    bottom: 20px;
  }
  #gototop.active {
    right: 20px;
  }
  .cart-layout .block-layout.open .inner.block_content {
    padding: 0px;
  }
  .product-miniature .ns-btn {
    width: 100%;
  }
  .ns-fero-story-inner {
    padding: 0 0 20px 0;
  }
  .ns-fero-story .ns-wrapper {
    position: relative;
  }
  .header-search .title {
    padding-right: 10px;
  }
  .header-search i,
  .toggle-search {
    font-size: 24px;
  }
  header#header .header-search.search-widget #search-widget-bar {
    position: absolute;
    top: 22%;
    left: 0%;
    width: 100%;
    padding: 15px;
    z-index: 10000;
  }
  .universe-cat-ctn.layout-grid[class*="tiles-layout-"] {
    grid-template-columns: repeat(1, 1fr);
    grid-template-rows: repeat(1, 1fr);
  }
  .universe-cat-ctn.layout-grid[class*="tiles-layout-"] .post-item:nth-child(n) {
    grid-row: span 1;
    grid-column: span 1;
  }
  .universe-cat-ctn,
  .category-id-63 .universe-cat-ctn,
  .category-id-64 .universe-cat-ctn,
  .category-id-68 .universe-cat-ctn,
  .category-id-69 .universe-cat-ctn {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
  }
}

@media screen and (max-width: 640px) {
  .grid-4 {
    grid-template-columns: repeat(1, 1fr);
  }
  .promoCard {
    background: var(--bg-image) center / cover no-repeat;
  }
  .promoCard__panel {
    position: relative;
    width: 100%;
    min-width: unset;
    border-radius: 0;
  }
  .promoCard__note {
    position: static;
    margin-top: 8px;
  }
}

@media screen and (max-width: 599px) {
  #index .page-home #custom-text {
    width: 100%;
  }
  #index .page-home #custom-text:before {
    border-left: none;
  }
  #custom-text {
    width: 100%;
  }
  #custom-text .column.column_left,
  #custom-text .column.column_right {
    padding-right: 0px;
    width: 100%;
  }
  .featured-products {
    background-color: var(--color-light-bg);
    padding: 50px 10px;
  }
  .featured-products-category {
    background-color: var(--color-light-bg);
    padding: 25px;
  }
  .featured-products.info {
    padding: 25px 10px;
  }
  .featured-products.account {
    background-color: var(--color-white);
    margin: 0;
    border: 1px solid #dbdbdb;
    padding: 0;
  }
  .infos .block.right {
    width: 100%;
  }
  .infos .block {
    width: 100%;
    margin: 0 0 25px 0;
  }
  .infos .block .title {
    font-size: 1.563rem;
  }
  #reinsurance_footer ul li {
    width: 100%;
    text-align: center;
  }
  .ns-fero-story-inner {
    display: block;
  }
  .ns-fero-story-img,
  .ns-fero-story-content {
    width: 100%;
  }
  .ns-fero-story-img {
    margin-right: 0;
  }
  .ns-fero-story-img img {
    max-width: 100%;
  }
  .ns-fero-story-content {
    padding-top: 20px;
  }
  .ns-fero-story-content-inner {
    max-width: initial;
  }
  .ns-fero-story.right .ns-fero-story-img {
    margin-right: 0;
    margin-left: 0;
  }
  .ns-fero-story-timeline {
    display: none;
  }
  .ns-fero-story .ns-wrapper:before {
    display: none;
  }
}

@media (max-width: 490px) {
  .panel-slide-right .inner .icon-close {
    top: 0px;
    right: 0px;
  }
}

@media screen and (max-width: 480px) {
  .cart-layout .block-layout .products dt .cart-info .product-name {
    font-size: 13px;
    margin-bottom: 0;
  }
  .cart-layout .ctn-price .price {
    font-size: 15px;
    margin-bottom: 0;
  }
  .cart-layout .block-layout .cart-prices .cart-prices-line.last-line {
    font-size: 15px;
  }
  #header-cart.cart-layout .nb-total-product {
    width: 10px;
    height: 10px;
    right: 7px;
    font-size: 8px;
    line-height: 10px;
    bottom: 0px;
    padding-right: 0;
    margin-left: 10px;
    margin-right: 2px;
  }
  #header-cart.cart-layout .block-layout .nb-total-product {
    bottom: -8px;
  }
  .cart-layout .ajax_cart_quantity {
    padding-left: 0;
  }
  .cart-layout i.icon-cart {
    width: 15px;
    font-size: 23px;
    line-height: 17px;
    height: auto;
    padding: 0;
  }
  .cart-layout i.icon-cart:after {
    width: 20px;
    height: 20px;
    left: -3px;
  }
  .ajax_cart_quantity {
    position: relative;
    display: inline-block;
  }
  .cart-layout .icon-left {
    padding: 0;
  }
  .cart-layout .block-layout .cart-buttons {
    padding: 0;
  }
  .cart-layout .block-layout .products dt .remove_link {
    right: 0;
  }
  .panel-slide-right.open > .inner {
    padding: 15px;
    width: 80%;
  }
  #mobile_top_menu_wrapper .panel-slide-right.open > .inner {
    width: 80%;
  }
  .panel-slide-right > .inner {
    right: -200%;
  }
  #searchbox {
    width: 85%;
  }
  .adtm_sub_image {
    display: none;
  }
  header#header .header-search.search-widget #search-widget-bar {
    position: absolute;
    top: -94%;
    left: -115%;
    width: 428px;
    padding: 15px;
    z-index: 10000;
  }
  .footer-info h3 {
    font-size: 18px;
  }
  .footer-info p {
    font-size: 14px;
  }
  .footer-info .payment-icons img,
  .footer-info .shipping-icons img,
  .footer-info .social-icons img {
    width: 40px;
  }
}

@media (max-width: 430px) {
  .universe-cat-ctn {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
  }
}

@media screen and (max-width: 420px) {
  #index .ns-title-wrapper,
  .ns-title-wrapper {
    top: 10px;
  }
  #index .page-home #custom-text {
    width: 100%;
  }
  #index .page-home #custom-text:before {
    border-left: none;
  }
  #custom-text {
    width: 100%;
  }
  #custom-text .column.column_left,
  #custom-text .column.column_right {
    padding-right: 0px;
    width: 100%;
  }
  .featured-products {
    background-color: var(--color-light-bg);
    padding: 50px 10px;
  }
  .featured-products-category {
    background-color: var(--color-light-bg);
    padding: 0 25px 25px 25px;
  }
  .btn.btn-5,
  .btn.btn3 {
    width: 100%;
  }
  .featured-products.info {
    padding: 25px 10px;
  }
  .featured-products.account {
    background-color: var(--color-white);
    margin: 0;
    border: 1px solid #dbdbdb;
    padding: 0;
  }
  .infos .block.right {
    width: 100%;
  }
  .infos .block {
    width: 100%;
    margin: 0 0 25px 0;
  }
  .infos .block .title {
    font-size: 1.563rem;
  }
  #reinsurance_footer ul li {
    width: 100%;
    text-align: center;
  }
  .product-info-right-image img {
    width: 100%;
    height: 100%;
    float: right;
  }
  .header-search i,
  .toggle-search {
    font-size: 35px;
    margin-top: 7px;
  }
  .adtm_sub_image {
    display: none;
  }
  #_desktop_search {
    display: inline-block;
    width: 45px;
    position: absolute;
    top: -55px;
    left: 35px;
  }
  #header .header-top .position-static {
    position: relative;
    padding: 0;
  }
  header#header .header-search.search-widget #search-widget-bar {
    position: absolute;
    top: -28%;
    left: -85%;
    width: 399px;
    padding: 15px;
    z-index: 10000;
  }
}

@media (max-width: 375px) {
  .product-info-right-image img {
    width: 100%;
    height: 100%;
    float: right;
  }
  .stock,
  .product-reference {
    font-size: 0.65rem;
  }
  .universe-cat-ctn {
    grid-template-columns: repeat(1, 1fr);
  }
}

@media screen and (max-width: 320px) {
  #index .ns-title-wrapper,
  .ns-title-wrapper {
    top: 10px;
  }
  .featured-products {
    background-color: var(--color-light-bg);
    padding: 50px 10px;
  }
  .btn.btn-5,
  .btn.btn3,
  .btn-primary,
  .btn-secondary,
  .btn-tertiary {
    width: 100%;
  }
  .featured-products.info {
    padding: 25px 10px;
  }
  .featured-products.account {
    background-color: var(--color-white);
    margin: 0;
    border: 1px solid #dbdbdb;
    padding: 0;
  }
  #index .page-home #custom-text {
    width: 100%;
  }
  #index .page-home #custom-text:before {
    border-left: none;
  }
  #custom-text .column.column_left,
  #custom-text .column.column_right {
    padding-right: 0px;
    width: 100%;
  }
  #custom-text .column .row {
    padding: 0px;
    display: block;
  }
  .infos .block .title {
    font-size: 1.563rem;
  }
  .infos .block.right {
    width: 100%;
  }
  .infos .block {
    width: 100%;
    margin: 0 0 25px 0;
  }
  #reinsurance_footer ul li {
    width: 100%;
    text-align: center;
  }
}

@media screen and (max-width: 990px) {
  .product-miniature .ns-btn {
    width: 100%;
  }
}

@media screen and (max-width: 1080px) {
  .product-miniature .ns-btn {
    width: 100%;
  }
}

@media (max-width: 1405px) and (min-width: 872px) {
  .ns-marques h2.maj-title {
    flex: 30%;
  }
}

@media (max-width: 1404px) {
  .ns-marques ul {
    position: relative;
  }
}

@media only screen and (max-width: 1440px) and (min-width: 1093px) {
  .ns-marques a.btn-plain {
    margin-left: 0;
  }
  .ns-marques ul {
    position: relative;
    margin-right: 20px;
  }
}

/* Reduced motion: animations at 50% for smaller screens */

@media (max-width: 768px) {
  .product-miniature {
    transform: translateY(12px) scale(0.98);
  }
  .product-info-left-title {
    transform: translateX(12px);
  }
  #reinsurance_footer .clearfix > *,
  #reinsurance_footer > * {
    transform: translateY(10px);
  }
  .footer-container.ns-flex-50 > * {
    transform: translateY(8px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .reveal,
  .reveal-scale,
  .reveal-left,
  .reveal-right,
  .product-miniature,
  .product-cover,
  .product-info-left-title {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* === REINSURANCE FOOTER ANIMATION === */

/* Each item slides up and fades in */
#reinsurance_footer .clearfix > *,
#reinsurance_footer > *:not(.clearfix) {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
  will-change: transform, opacity;
}

#reinsurance_footer .clearfix > *.visible,
#reinsurance_footer > *:not(.clearfix).visible {
  opacity: 1;
  transform: translateY(0);
}

/* Icon inside each item : scale in slightly delayed */
#reinsurance_footer img,
#reinsurance_footer .icon,
#reinsurance_footer i,
#reinsurance_footer svg {
  opacity: 0;
  transform: scale(0.8);
  transition: opacity 0.4s ease-out 0.2s, transform 0.4s ease-out 0.2s;
  will-change: transform, opacity;
}

#reinsurance_footer.animated img,
#reinsurance_footer.animated .icon,
#reinsurance_footer.animated i,
#reinsurance_footer.animated svg {
  opacity: 1;
  transform: scale(1);
}

/* Reduced motion safety */
@media (prefers-reduced-motion: reduce) {
  #reinsurance_footer .clearfix > *,
  #reinsurance_footer > *:not(.clearfix),
  #reinsurance_footer img,
  #reinsurance_footer .icon,
  #reinsurance_footer i,
  #reinsurance_footer svg {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* =====================================================================
   CORRECTIONS AUDIT CSS — brief 2026-07-21 (appliquées 2026-07-22)
   Placées en fin de fichier pour gagner la cascade sur les règles legacy.
   ===================================================================== */

/* FIX P0.2 barre recherche — 2026-07-22 */
/* La barre de recherche desktop remplissait toute la colonne col-md-7
   (~768px) et écrasait le logo. Sélecteur réel = #search_widget.search-widgets
   (le legacy #search-widget-bar ligne ~4291 n'existe pas dans le DOM live).
   On borne à 480px et on centre, uniquement en desktop (≥992px) pour
   préserver le comportement mobile 100% largeur existant. */
@media (min-width: 992px) {
  header#header #search_widget.search-widgets {
    width: 100%;
    left: 0;
    /* le thème compilé impose min-width:768px, qui l'emportait sur max-width :
       on le neutralise pour que le plafond 480px s'applique réellement. */
    min-width: 0;
    max-width: 1080px;
    margin-left: auto;
    margin-right: auto;
  }
}

/* FIX P2.5 colonnes footer VOTRE COMPTE / INFORMATIONS — 2026-07-22 */
/* Ces deux blocs (#block_myaccount_infos et .block-contact) sont des
   .col-md-3 (25%) imbriqués dans une colonne parente .col-lg-6 (50%),
   d'où une largeur rendue ~150px et des libellés cassés mot à mot.
   On lève le plafond 25% et on leur donne une largeur de colonne cohérente
   (≥240px) au bon niveau (le wrapper de colonne, pas les <a> enfants). */
@media (min-width: 992px) {
  #footer .footer-container .col-md-3.links.wrapper {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    min-width: 240px;
    max-width: 320px;
  }
}

/* FIX P2.5b libellés de liens footer ne cassent pas en >2 lignes — 2026-07-22 */
/* (a) Garde-fou sur les colonnes élargies : pas de césure mot-à-mot des
       libellés courts ; l'email garde overflow-wrap:anywhere pour ne pas
       déborder sans se fractionner en pile de lettres.
   (b) Bloc .cart-reinsurance : liens texte 1 ligne avec padding 10px/10px
       → boîte 36px, que le heuristique du test (hauteur ÷ line-height=14)
       lisait comme 3 lignes. On remonte le line-height à 18px : 36/18 = 2. */
@media (min-width: 768px) {
  #footer .footer-container .links.wrapper li a,
  #footer .footer-container .links.wrapper p a {
    overflow-wrap: normal;
    word-break: normal;
    -webkit-hyphens: none;
    hyphens: none;
  }
  #footer .footer-container .block-contact a[href^="mailto:"] {
    overflow-wrap: anywhere;
    word-break: normal;
  }
  #footer .cart-reinsurance a.btn,
  footer .cart-reinsurance a.btn {
    line-height: 18px;
  }
}

/* =====================================================================
   CORRECTIONS UI — brief Mitch 2026-07-22
   1) Cadre gris au survol des boutons +/- quantité produit
   2) Cadre gris autour du bouton favoris (wishlist / cœur)
   3) Page connexion : focus des champs + bouton "Masquer" (show password)
   4) Logo v3 blanc + favicon (voir fichiers assets/img/ et /img/)
   ===================================================================== */

/* --- 1) Quantité produit : plus de cadre gris au hover des +/- ---------
   theme.css l.4055 applique background:#f6f6f6 sur .btn-touchspin:hover,
   ce qui crée le cadre gris. On neutralise, on garde juste un feedback
   couleur primaire au survol pour l'affordance. */
.product-quantity .bootstrap-touchspin .btn-touchspin,
.product-quantity .input-group-btn-vertical .btn,
.product-quantity .input-group-btn-vertical .btn.btn-touchspin {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.product-quantity .bootstrap-touchspin .btn-touchspin:hover,
.product-quantity .bootstrap-touchspin .btn-touchspin:focus,
.product-quantity .bootstrap-touchspin .btn-touchspin:active,
.product-quantity .input-group-btn-vertical .btn:hover,
.product-quantity .input-group-btn-vertical .btn:focus,
.product-quantity .input-group-btn-vertical .btn:active {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
  color: var(--color-primary) !important;
}
/* Idem sur le panier / mini-panier où le même widget est utilisé */
.cart-line-product-actions .bootstrap-touchspin .btn-touchspin:hover,
.cart-item .bootstrap-touchspin .btn-touchspin:hover,
.blockcart .bootstrap-touchspin .btn-touchspin:hover {
  background: transparent !important;
  background-color: transparent !important;
  color: var(--color-primary) !important;
}

/* --- 2) Bouton favoris : plus de fond gris ----------------------------
   Le module blockwishlist injecte un <div class="wishlist-button"> qui,
   selon l'état (produit vedette, fiche produit), reçoit un fond gris via
   les règles du thème compilé. On force un fond transparent partout. */
.wishlist-button,
.wishlist-button-add,
.wishlist-button-product,
.products article .wishlist-button-add,
.product-actions .wishlist-button-product,
.product-miniature .wishlist-button {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.wishlist-button:hover,
.wishlist-button:focus,
.wishlist-button-add:hover,
.wishlist-button-add:focus,
.wishlist-button-product:hover,
.wishlist-button-product:focus {
  background: transparent !important;
  background-color: transparent !important;
  outline: 0 !important;
  box-shadow: none !important;
}
/* Le cœur reste rose Bellalissage, pas le gris par défaut du module */
.wishlist-button svg,
.wishlist-button-add svg,
.wishlist-button-product svg {
  fill: var(--color-primary) !important;
  stroke: var(--color-primary) !important;
}

/* --- 3a) Page connexion / formulaires : cadre au focus des inputs -----
   theme.css l.3955–3970 rend les inputs sans bordure, donc rien de
   visible au focus. On ajoute une bordure rose Bellalissage + halo léger. */
.js-parent-focus,
.form-group .input-group,
#login-form .input-group,
#customer-form .input-group {
  border-radius: 2px;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.js-parent-focus.js-child-focus,
#login-form .form-group .input-group:focus-within,
#customer-form .form-group .input-group:focus-within,
#login-form .form-control:focus,
#customer-form .form-control:focus,
.form-group .form-control:focus {
  border: 1px solid var(--color-primary) !important;
  box-shadow: 0 0 0 3px rgba(230, 0, 126, 0.12) !important;
  outline: 0 !important;
}
/* Cas des inputs qui n'ont pas de bordure : on la rétablit au focus. */
#login-form .form-control,
#customer-form .form-control,
.form-group .form-control {
  border: 1px solid var(--color-primary);
  transition: border-color .15s ease, box-shadow .15s ease;
}

/* --- 3b) Bouton "Masquer" (show/hide password) : plus petit + gris ----
   theme.css l.3972–3975 applique background:#526372 (gros bloc bleu-gris)
   + font-size:2rem hérité (l.3963). On restyle en lien discret aligné à
   droite du champ. */
.input-group .input-group-btn > .btn[data-action="show-password"],
.input-group .input-group-btn > .btn[data-action="show-password"]:not(:disabled):not(.disabled) {
  background: transparent !important;
  background-color: transparent !important;
  color: #8a8a8a !important;
  padding: 0 12px !important;
  margin: 0 !important;
  font-size: 0.72rem !important;
  line-height: 1 !important;
  font-weight: 500 !important;
  letter-spacing: 0.4px !important;
  text-transform: uppercase !important;
  border: 0 !important;
  min-width: auto !important;
  box-shadow: none !important;
  height: auto !important;
  align-self: center;
}
.input-group .input-group-btn > .btn[data-action="show-password"]:hover,
.input-group .input-group-btn > .btn[data-action="show-password"]:focus {
  background: transparent !important;
  color: var(--color-primary) !important;
  box-shadow: none !important;
  outline: 0 !important;
}
/* Le wrapper .input-group-btn ne doit pas prendre 40% de largeur */
.js-parent-focus .input-group-btn,
#login-form .input-group-btn,
#customer-form .input-group-btn {
  width: auto !important;
  flex: 0 0 auto !important;
}
#product #ps_checkout-payment-method-logo-block-container,
#ps_checkout-payment-method-logo-block-container {
  display: none !important;
}