/* ---------------------- Colors ---------------------- */
/* ---------------------- end Colors ---------------------- */
/* ---------------------- RADIUS ---------------------- */
/* ---------------------- end RADIUS ---------------------- */
/* ---------------------- BREAKPOINTS ---------------------- */
/* ---------------------- end BREAKPOINTS ---------------------- */
/* ------------ classic ------------ */
/* ------------ highlight ------------ */
/* ------------ ShoppingCart ------------ */
/* ---------------- loader ---------------- */
@keyframes scaleUp {
  0% {
    transform: translate(-50%, -50%) scale(0);
  }
  60%, 100% {
    transform: translate(-50%, -50%) scale(1);
  }
}
@keyframes pulse {
  0%, 60%, 100% {
    transform: scale(1);
  }
  80% {
    transform: scale(1.2);
  }
}
/* ---------------- end loader ---------------- */
@keyframes rotateMenu {
  0% {
    transform: rotateX(-90deg);
  }
  70% {
    transform: rotateX(30deg);
  }
  100% {
    transform: rotateX(0deg);
  }
}
/* ---------------- Layer Right ---------------- */
@keyframes dialogRight2Left {
  from {
    transform: translateX(150%);
  }
  to {
    transform: translateX(-50%);
  }
}
@keyframes dialogLeft2Right {
  from {
    transform: translateX(-50%);
  }
  to {
    transform: translateX(150%);
  }
}
@keyframes backdrop-fade-in {
  0% {
    background-color: rgba(0, 0, 0, 0);
  }
  100% {
    background-color: rgba(0, 0, 0, 0.5);
  }
}
@keyframes dialogBottom2Top {
  from {
    bottom: -100%;
  }
  to {
    bottom: 0;
    top: 5%;
  }
}
@keyframes dialogTop2Bottom {
  from {
    bottom: 0;
    top: 5%;
  }
  to {
    top: unset;
    bottom: -100%;
  }
}
/* ---------------- end Layer Right ---------------- */
.btn-pill {
  border: none;
  font-size: 16px;
  font-weight: 700;
  border-radius: 200px;
  padding: 13px 20px;
}

.btn-primary {
  padding-block: 29px;
}

.btn-primary-text-blue {
  background-color: #3275F9;
  color: #FFFFFF;
}
.btn-primary-text-blue:not([disabled]):hover {
  background-color: #1457DB;
}

.btn-light-purple-blue, .btn-light-blue {
  color: #3275F9;
  height: max-content;
}
.btn-light-purple-blue, .btn-light-blue {
  border: none;
  font-size: 16px;
  font-weight: 700;
  border-radius: 200px;
  padding: 13px 20px;
}
.btn-light-purple-blue:focus, .btn-light-purple-blue:hover, .btn-light-blue:focus, .btn-light-blue:hover {
  outline: 3px solid #c4cee3;
}

.btn-light-blue {
  background-color: #EEF3FE;
}
.btn-light-blue:hover, .btn-light-blue:active {
  background-color: #E2EBFE;
}
.btn-light-blue:hover {
  color: #1457DB;
}
.btn-light-blue:active {
  color: #1340AA;
}

.btn-light-purple-blue {
  background-color: #E2EBFE;
}

.btn-img {
  border: none;
  background-color: transparent;
  cursor: pointer;
}

.increase-btn, .decrease-btn {
  cursor: pointer;
}

.text-btn {
  display: block;
  border: none;
  background-color: transparent;
  font-weight: bold;
}
.text-btn.text-blue:hover {
  color: #1457DB;
}
.text-btn.text-blue:active {
  color: #1340AA;
}

.btn-text-red {
  color: #FF4D4D;
}
.btn-text-red:hover {
  color: #FF4D4D;
}
.btn-text-red:active {
  color: #D20707;
}

.text-btn, .btn-pill, .btn-light-blue,
.btn-text-light-blue, .circle-close-btn,
.btn-primary-blue {
  cursor: pointer;
  font-weight: bold;
}

:where(.btn-pill)[disabled] {
  background-color: #D7DDEB;
  cursor: not-allowed;
}

.btn-basic {
  color: #3275F9;
}
.btn-basic:hover {
  background-color: #E2EBFE;
  color: #1457DB;
}

.btn-special-1, .btn-primary-1 {
  display: flex;
  align-items: center;
  padding: 8px;
}
.btn-special-1 .label-text, .btn-primary-1 .label-text {
  margin: 0 auto;
}

.btn-primary-1 .img-element-wrapper {
  display: flex;
  place-content: center;
}
.btn-primary-1 .label-text {
  font-weight: 700;
}

.btn-special-1 .img-element-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 64px;
}
.btn-special-1 .img-element-wrapper.pink-bg {
  background-color: #FE67F8;
}

.btn-primary:disabled, .btn-special-1:disabled {
  background-color: #D7DDEB;
}
.btn-primary:disabled .img-element-wrapper, .btn-special-1:disabled .img-element-wrapper {
  background-color: #BDC4D7;
}

.btn-dark-blue:not([disabled]):hover {
  background-color: #10368E;
}

.btn-cancel-red {
  color: white;
  background-color: #FF4D4D;
}
.btn-cancel-red:hover {
  background-color: #F20D0D;
}
.btn-cancel-red:focus, .btn-cancel-red:active {
  background-color: #D20707;
}

.theme-2024 input[type=text]:not(#yourPhone), .theme-2024 input[type=password]:not(#yourPhone) {
  height: initial;
  line-height: initial;
}

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: "Manrope", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 14px;
}
body.filter-open {
  overflow: hidden;
}

header {
  transition: opacity 0.2s ease-in-out;
}
header.filter-open {
  opacity: 0.2;
}

h2, h3, p {
  margin: 0;
}

ul {
  list-style: none;
  padding: 0;
}

a:not(.link-btn, .classic_link, .btn-primary-dark-blue, .btn-pink, .btn-transparent, .btn-secondary-blue) {
  text-decoration: none;
  color: inherit;
}

.link-btn {
  display: inline-block;
  text-decoration: none;
}

a[download] {
  color: #3275F9;
}

a.classic_link {
  text-decoration: underline;
  color: black;
}

figure {
  margin: 0;
}

input, button, select, textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

.container-2024 {
  margin: auto;
  width: 100%;
  padding: 0 20px;
  max-width: 1320px;
}
.container-2024 .row {
  max-width: 100%;
}

img {
  vertical-align: middle;
}

dialog {
  border: none;
}

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

a.base_anchor {
  text-decoration: none;
  color: #3275F9;
}

.position-relative {
  position: relative;
}

@media screen and (min-width: 768px) {
  .mobile-only {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .desktop-only {
    display: none;
  }
}

small {
  color: #7D879F;
}

@media screen and (min-width: 768px) {
  .only-tablet {
    display: none;
  }
}
dialog header[tabindex] {
  outline: none;
}

.text-white {
  color: white;
}

.text-black {
  color: #1A1D24;
}

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

.text-red {
  color: #F20D0D;
}

.text-danger {
  color: #a94442;
}

.text-medium-gray {
  color: #BDC4D7;
}

.text-light-gray {
  color: #7D879F;
}

.text-blue {
  color: #3275F9;
}

.text-light-blue {
  color: #1457DB;
}

.error {
  color: #e32b9c;
}

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

.font-medium {
  font-size: 16px;
}

.font-large {
  font-size: 18px;
}

.font-heading {
  font-size: 20px;
}

.font-heading-title {
  font-size: 24px;
}

.text-lvl-1 {
  font-size: 16px;
}

.text-lvl-2 {
  font-size: 14px;
  line-height: 19.6px;
}

.text-lvl-3 {
  font-size: 12px;
  line-height: 16.8px;
}

.balanced-wrap {
  text-wrap: balance;
}

.text-grey {
  color: #7D879F;
}

.text-grey-2 {
  color: #393F4D;
}

.text-font-600 {
  font-weight: 600;
}

.theme-2024 .base_form input {
  padding: 1em;
  background-color: #F7F9FF;
  border-radius: 0.25em;
  border: none;
}
.theme-2024 .base_form input.error {
  border: 1.5px solid #FF4D4D;
}
.theme-2024 .base_form input[type=search]::-webkit-search-decoration,
.theme-2024 .base_form input[type=search]::-webkit-search-cancel-button,
.theme-2024 .base_form input[type=search]::-webkit-search-results-button,
.theme-2024 .base_form input[type=search]::-webkit-search-results-decoration {
  display: none;
}

.base_form button {
  border: none;
  padding: 1em 2em;
  cursor: pointer;
}
.base_form .btn-blue:not(:disabled) {
  background-color: #3275F9;
}

.btn-submit {
  border-radius: 2em !important;
  transition: background-color 0.3s ease-in-out;
}
.btn-submit:hover {
  background-color: #162D6A !important;
  color: #FFFFFF !important;
}

.form-group {
  position: relative;
}

* {
  /* mobile experimental font-size correction */
  text-size-adjust: 100%;
}

.container {
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 576px) {
  .container {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .container {
    max-width: 1140px;
  }
}
@media (min-width: 1400px) {
  .container {
    max-width: 1320px;
  }
}

.d-none {
  display: none !important;
}

form[tabindex] {
  outline: none;
}
form.close-dialog-form {
  margin: 0px;
}
form .circle-close-btn {
  border: none;
  height: 3em;
  width: 3em;
  clip-path: circle(40%);
  background-color: #EEF3FE;
  position: absolute;
  font-weight: bold;
  padding: 0px;
}
form .circle-close-btn:focus, form .circle-close-btn:hover {
  outline: 3px solid #c4cee3;
}

dialog.right-sidebar-popup {
  right: -100%;
  max-height: 100%;
  top: 0px;
  bottom: 0px;
  height: 100%;
  max-width: 500px;
  min-width: 450px;
  transition: all 0.2s ease-in-out;
  border-top-left-radius: 1.5em;
  padding: 40px;
  border-bottom-left-radius: 1.5em;
}
dialog.right-sidebar-popup[open]::backdrop {
  animation: backdrop-fade-in 0.3s ease-out forwards;
  cursor: url("../../../images/2024/svg/close-solid.svg") 16 16, auto;
}
dialog.right-sidebar-popup .circle-close-btn {
  position: static;
}
dialog.right-sidebar-popup .left-close {
  position: relative;
  display: flex;
  align-items: center;
  padding-bottom: 16px;
}
dialog.right-sidebar-popup .left-close, dialog.right-sidebar-popup .close-dialog-form {
  display: flex;
  align-items: center;
}
dialog.right-sidebar-popup header.left-close.has-tabindex {
  outline: none;
}
dialog.right-sidebar-popup header.left-close h2, dialog.right-sidebar-popup header.left-close p.title {
  padding-left: 32px;
}
@media screen and (max-width: 768px) {
  dialog.right-sidebar-popup header.left-close h2, dialog.right-sidebar-popup header.left-close p.title {
    font-size: 1.5em;
  }
}
dialog.right-sidebar-popup header.left-close .circle-close-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  clip-path: none;
  border-radius: 100%;
}
dialog.right-sidebar-popup header.left-close .circle-close-btn:focus, dialog.right-sidebar-popup header.left-close .circle-close-btn:hover {
  outline: 3px solid #c4cee3;
}
@media screen and (min-width: 768px) {
  dialog.right-sidebar-popup {
    right: 0px;
    margin-left: auto;
    margin-right: 0px;
    animation: popupRight2Left 0.5s forwards;
  }
  dialog.right-sidebar-popup[open].hideDialog {
    animation: popupLeft2Right 0.5s forwards;
  }
}
@media screen and (max-width: 768px) {
  dialog.right-sidebar-popup {
    top: 40px;
    right: 0px;
    left: 0px;
    width: 100%;
    max-width: none;
    min-width: fit-content;
    border-top-right-radius: 1.5em;
  }
  dialog.right-sidebar-popup[open] {
    animation: dialogBottom2Top 0.5s forwards;
  }
  dialog.right-sidebar-popup[open].hideDialog {
    animation: dialogTop2Bottom 0.5s forwards;
  }
}

@keyframes popupRight2Left {
  from {
    right: -100%;
  }
  to {
    right: 0px;
  }
}
@keyframes popupLeft2Right {
  from {
    right: 0px;
  }
  to {
    right: -100%;
  }
}
body:has(.loading)::before, main:has(.loading)::before, div:has(.loading)::before {
  content: "";
  width: 100%;
  height: 100%;
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.1);
  z-index: 4;
}

.loading:before, .loading-pulse:before {
  content: "";
  position: fixed;
  width: 90px;
  height: 90px;
  border: 8px solid #3275F9;
  border-radius: 50%;
  inset: 0;
  margin: auto;
  transform-origin: center;
  animation: pulse 1s linear infinite;
  z-index: 5;
}
.loading:after, .loading-pulse:after {
  content: "";
  position: fixed;
  width: 48px;
  height: 48px;
  border: 8px solid #3275F9;
  border-radius: 50%;
  inset: 0;
  margin: auto;
  transform-origin: center;
  animation: scaleUp2 1s linear infinite;
  z-index: 5;
}

@keyframes scaleUp2 {
  0% {
    transform: scale(0);
  }
  60%, 100% {
    transform: scale(1);
  }
}
.theme-2024 .btn, .theme-2024 .btn-primary-white, .theme-2024 .btn-primary-light-red, .theme-2024 .btn-primary-light-blue-2, .theme-2024 .btn-primary-light-blue, .theme-2024 .btn-primary-dark-blue, .theme-2024 .btn-primary-red, .theme-2024 .btn-primary-blue {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 4px 8px;
  font-size: 16px;
  border-radius: 100px;
  border: none;
  cursor: pointer;
}
.theme-2024 .btn:disabled, .theme-2024 .btn-primary-white:disabled, .theme-2024 .btn-primary-light-red:disabled, .theme-2024 .btn-primary-light-blue-2:disabled, .theme-2024 .btn-primary-light-blue:disabled, .theme-2024 .btn-primary-dark-blue:disabled, .theme-2024 .btn-primary-red:disabled, .theme-2024 .btn-primary-blue:disabled {
  background-color: #D7DDEB;
  cursor: not-allowed;
}
.theme-2024 .btn:disabled:hover, .theme-2024 .btn-primary-white:disabled:hover, .theme-2024 .btn-primary-light-red:disabled:hover, .theme-2024 .btn-primary-light-blue-2:disabled:hover, .theme-2024 .btn-primary-light-blue:disabled:hover, .theme-2024 .btn-primary-dark-blue:disabled:hover, .theme-2024 .btn-primary-red:disabled:hover, .theme-2024 .btn-primary-blue:disabled:hover {
  background-color: #D7DDEB;
}
.theme-2024 .btn span, .theme-2024 .btn-primary-white span, .theme-2024 .btn-primary-light-red span, .theme-2024 .btn-primary-light-blue-2 span, .theme-2024 .btn-primary-light-blue span, .theme-2024 .btn-primary-dark-blue span, .theme-2024 .btn-primary-red span, .theme-2024 .btn-primary-blue span {
  /*padding: 8px 20px;*/
}

.btn-primary-blue {
  background-color: #3275F9;
  color: #FFFFFF;
}
.btn-primary-blue:hover {
  background-color: #1457DB;
  color: #FFFFFF;
}
.btn-primary-blue img {
  margin-left: 8px;
}
.btn-primary-blue span {
  padding: 8px 20px 8px 10px;
}
.btn-primary-red {
  background-color: #FF4D4D;
  color: #FFFFFF;
}
.btn-primary-red:hover {
  background-color: #F20D0D;
  color: #FFFFFF;
}
.btn-primary-red img {
  margin-left: 8px;
}
.btn-primary-red span {
  padding: 8px 20px 8px 10px;
}
.btn-primary-dark-blue {
  background-color: #1340AA;
  color: #F7F9FF;
  flex-direction: row-reverse;
}
.btn-primary-dark-blue:hover {
  background-color: #10368E;
  color: #F7F9FF;
}
.btn-primary-dark-blue img {
  margin-right: 8px;
}
.btn-primary-dark-blue span {
  padding: 8px 10px 8px 20px;
}
.btn-primary-light-blue {
  padding: 12px 22px;
  background-color: #EEF3FE;
  color: #3275F9;
}
.btn-primary-light-blue:hover {
  background-color: #EEF3FE;
  color: #1457DB;
}
.btn-primary-light-blue span {
  padding: 0;
  margin-left: 10px;
}
.btn-primary-light-blue-2 {
  padding: 12px 22px;
  background-color: #1457DB;
  color: #FFFFFF;
}
.btn-primary-light-blue-2:hover {
  background-color: #3275F9;
  color: #FFFFFF;
}
.btn-primary-light-blue-2 span {
  padding: 0;
  margin-left: 10px;
}
.btn-primary-light-red {
  padding: 12px 22px;
  background-color: #EEF3FE;
  color: #FF4D4D;
  border: 2px solid #FF4D4D;
}
.btn-primary-light-red span {
  padding: 0;
  margin-left: 10px;
}
.btn-primary-rounded-corners {
  border-radius: 100px;
  border: none;
}
.btn-primary-white {
  padding: 12px 22px;
  background-color: #FFFFFF;
  color: #3275F9;
}
.btn-primary-white:hover {
  background-color: #FFFFFF;
  color: #1457DB;
}
.btn-primary-white span {
  padding: 0;
  margin-left: 10px;
}

.btn-shopping-cart {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  background-color: #EEF3FE;
  border-radius: 50%;
  position: relative;
}
.btn-shopping-cart span {
  display: none;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  background-color: #3275F9;
  color: #FFFFFF;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  position: absolute;
  top: -5px;
  right: -3px;
  font-size: 10px;
}

#user, .btn-account {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  background-color: #EEF3FE;
  border-radius: 2em;
  padding: 1em;
  flex-wrap: nowrap;
  gap: 8px;
}
#user > span, .btn-account > span {
  text-wrap: nowrap;
}

#recommander {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
}

.btn-blue {
  color: white;
}

.btn-dark-blue {
  border: none;
  color: white;
  background-color: #1340AA;
}

.btn-text-light-blue {
  font-weight: bold;
  padding: 12px 22px;
  background-color: #EEF3FE;
  color: #3275F9;
  font-size: 16px;
  border-radius: 100px;
  border: none;
  cursor: pointer;
}
.btn-text-light-blue:hover {
  color: #1457DB;
}
.btn-text-light-blue:focus, .btn-text-light-blue:hover {
  outline: 3px solid #c4cee3;
}

.btn-secondary-blue {
  background-color: #EEF3FE;
  color: #3275F9;
}
.btn-secondary-blue:hover {
  background-color: #e4ecfd;
}

.btn-large {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  padding: 24px;
  font-size: 16px;
  border-radius: 100px;
  border: none;
  cursor: pointer;
  gap: 12px;
}
.btn-large:disabled {
  background-color: #D7DDEB;
  cursor: not-allowed;
}
.btn-large:hover {
  background-color: #D7DDEB;
}
.btn-large.btn-large-primary {
  background-color: #3275F9;
  color: #FFFFFF;
}
.btn-large.btn-large-primary:hover {
  background-color: #1457DB;
  color: #FFFFFF;
}
.btn-large.btn-large-primary:disabled {
  background-color: #D7DDEB;
  cursor: not-allowed;
}
.btn-large.w-100-center {
  width: 100%;
  text-align: center;
}

.btn-with-circle .circle-background {
  display: flex;
  background: #E2EBFE;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
}
.btn-with-circle .circle-background.big-circle {
  width: 64px;
  height: 64px;
}
.btn-with-circle .circle-background.small-circle {
  width: 32px;
  height: 32px;
}
.btn-with-circle .circle-background.pink-background {
  background: #FE67F8;
}

.btn-circle {
  border: none;
  height: 32px;
  width: 32px;
  clip-path: circle(48%);
  padding: 0;
  background: #3275F9;
  background: #3275F9;
}
.btn-circle img {
  padding: 6px;
}
.btn-circle:not(:disabled) {
  cursor: pointer;
}
.btn-circle:disabled {
  background: #D7DDEB;
}

.theme-2024 .loader-container {
  display: block;
  position: fixed;
  z-index: 10;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
}
.theme-2024 .loader-container div:first-child {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.theme-2024 .loader {
  width: 90px;
  height: 90px;
  border: 8px solid #3275F9;
  border-radius: 50%;
  display: inline-block;
  box-sizing: border-box;
  position: relative;
  animation: pulse 1s linear infinite;
  margin: auto;
}
.theme-2024 .loader:after {
  content: "";
  position: absolute;
  width: 48px;
  height: 48px;
  border: 5px solid #3275F9;
  border-radius: 50%;
  display: inline-block;
  box-sizing: border-box;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  animation: scaleUp 1s linear infinite;
}

select {
  border-radius: 8px;
  border: none;
  box-shadow: none;
  height: 48px;
  background: #F7F9FF;
  padding: 8px 12px;
  color: #7D879F;
  width: 100%;
}
select:hover, select:focus-visible {
  outline: #3275F9 solid 2px;
}

.custom-param-selectbox-wrapper .product_param_comp {
  border-radius: 8px !important;
  cursor: default;
  width: 100%;
}
.custom-param-selectbox-wrapper .product_param_comp:hover, .custom-param-selectbox-wrapper .product_param_comp:focus-visible {
  outline: #3275F9 solid 2px;
}
.custom-param-selectbox-wrapper .product_param_comp.error::placeholder {
  color: #FF4D4D !important;
}
.custom-param-selectbox-wrapper .product_param_comp::placeholder {
  color: #7D879F !important;
}
.custom-param-selectbox-wrapper .custom_select_list {
  position: absolute;
  height: 0;
  margin: 0;
  margin-right: 2em;
  transition-delay: 0s;
  overflow: auto;
  background-color: white;
}
.custom-param-selectbox-wrapper .custom_select_list .no-option {
  pointer-events: none;
}
.custom-param-selectbox-wrapper .custom_select_list .param-option {
  padding: 0.5em;
  z-index: 3;
  text-align: center;
  cursor: default;
  color: #393F4D;
}
.custom-param-selectbox-wrapper .custom_select_list .param-option:hover {
  background-color: #F7F9FF;
}
.custom-param-selectbox-wrapper .custom_select_list .param-single-option {
  grid-column: span 2;
  text-align: center;
  padding: 0.5em;
}
.custom-param-selectbox-wrapper .custom_select_list .param-single-option:hover {
  cursor: default;
  background-color: #F7F9FF;
}
.custom-param-selectbox-wrapper .custom_select_list [data-positive="0"] {
  grid-column: 1;
}
.custom-param-selectbox-wrapper .custom_select_list [data-positive="1"] {
  grid-column: 2;
}
.custom-param-selectbox-wrapper input {
  cursor: default;
}
@media screen and (max-width: 576px) {
  .custom-param-selectbox-wrapper input {
    padding-right: 35px;
  }
}

.custom_select_list.list-open,
.product_param_comp:focus + .custom_select_list {
  visibility: visible;
  position: absolute;
  left: 0px;
  right: 0px;
  top: -0.5em;
  border-radius: 1em;
  height: auto;
  max-height: 170px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-auto-flow: dense;
  width: 100%;
  z-index: 2;
  border: 2px solid #EEF3FE;
}
@media screen and (max-width: 430px) {
  .custom_select_list.list-open:has(.param-option),
  .product_param_comp:focus + .custom_select_list:has(.param-option) {
    width: calc(100% + 15px);
  }
}

.custom_select_list::-webkit-scrollbar {
  -webkit-appearance: none;
  width: 8px;
}

.custom_select_list::-webkit-scrollbar-track {
  background: #F3F5FB;
}

.custom_select_list::-webkit-scrollbar-thumb {
  border-radius: 0.5em;
  background-color: rgba(0, 0, 0, 0.5);
  -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, 0.5);
  border: 2px solid #F3F5FB;
}

.custom-select-wrapper {
  position: relative;
}

.custom-select-wrapper::after {
  content: url("../../../images/2024/svg/arrow-down-black-short.svg");
  width: 20px;
  height: 20px;
  position: absolute;
  right: 0.5em;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}

.custom-select-wrapper:has(select:focus-visible):after {
  content: url("../../../images/2024/svg/arrow-up-blue.svg");
}

.custom-select-wrapper:has(.select-input:focus-visible):after {
  content: url("../../../images/2024/svg/arrow-up-blue.svg");
}

:root {
  --badge-padding: 1.2em;
}

.badge {
  position: absolute;
  left: var(--badge-padding);
  top: var(--badge-padding);
  padding-block: 0.5em;
  padding-left: 0.7em;
  padding-right: 1em;
  border-radius: 0.5em;
  line-height: 1.3em;
  font-size: 12px;
  font-weight: bold;
  vertical-align: middle;
  text-transform: capitalize;
}
.badge > span {
  vertical-align: middle;
  line-height: 1em;
  color: #121E3C;
  display: flex;
  align-items: center;
  gap: 0.5em;
}
.badge.badge-new {
  background-color: #CAFFE9;
}
.badge.badge-new > span::before {
  content: url("../../../images/2024/svg/stars.svg");
  height: 17px;
  width: auto;
}
.badge.badge-stopped {
  background-color: #FF4D4D;
}
.badge.badge-stopped > span {
  color: #FFFFFF;
}
.badge.badge-stopped > span::before {
  content: url("../../../images/2024/svg/danger.svg");
  height: 16px;
  width: auto;
}
.badge.badge-promo {
  background-color: #FFE989;
}
.badge.badge-promo > span::before {
  content: url("../../../images/2024/svg/promo.svg");
  height: 16px;
  width: auto;
}

/* The switch - the box around the slider */
.switch {
  --inset-width: 2px;
  position: relative;
  display: inline-block;
  width: 40px;
  height: 20px;
  min-width: 40px;
}

@media screen and (max-width: 576px) {
  .switch {
    padding-right: 40px; /*small screen issue*/
  }
}
/* Hide default HTML checkbox */
.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

/* The slider */
.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: var(--inset-width);
  bottom: 0;
  background-color: #BDC4D7;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

.slider:before {
  position: absolute;
  content: "";
  height: calc(100% - 2 * var(--inset-width));
  aspect-ratio: 1;
  width: auto;
  inset: var(--inset-width);
  background-color: #FFFFFF;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

input:checked + .slider {
  background-color: #3275F9;
}

input:focus + .slider {
  box-shadow: 0 0 1px #3275F9;
}

input:checked + .slider:before {
  -webkit-transform: translateX(18px);
  -ms-transform: translateX(18px);
  transform: translateX(18px);
}

/* Rounded sliders */
.slider.round {
  border-radius: 1em;
}

.slider.round:before {
  border-radius: 50%;
}

.tooltip-information {
  display: inline-block;
  position: relative;
}
.tooltip-information .tooltip-text {
  visibility: hidden;
  max-width: 200px;
  width: max-content;
  background-color: #FFFFFF;
  box-shadow: 0 0 3px 1px #7D879F;
  border-radius: 8px;
  padding: 10px;
  position: absolute;
  z-index: 1;
  bottom: 125%;
  left: 50%;
  margin-left: -60px;
  opacity: 0;
  transition: opacity 0.3s;
}
.tooltip-information:hover {
  cursor: help;
}
.tooltip-information:hover .tooltip-text {
  visibility: visible;
  opacity: 1;
}
.tooltip-information.tooltip-with-img-icon {
  border: none;
}

.btn-input-number {
  background-color: #F7F9FF;
  display: flex;
  height: 48px;
  border-radius: 8px;
}
.btn-input-number:hover, .btn-input-number:focus-visible {
  outline: #3275F9 solid 2px;
}
.btn-input-number button {
  border: 0;
  background-color: #F7F9FF;
  padding: 8px 16px;
  cursor: pointer;
  width: 40px;
  font-size: 1.3em;
}
@media (max-width: 1200px) {
  .btn-input-number button {
    width: 30px;
    padding: 8px 10px;
  }
}
.btn-input-number button:disabled {
  color: #7D879F;
  cursor: default;
}
.btn-input-number button.decrease-btn {
  border-bottom-left-radius: 8px;
  border-top-left-radius: 8px;
}
.btn-input-number button.increase-btn {
  border-bottom-right-radius: 8px;
  border-top-right-radius: 8px;
  font-weight: 700;
}
.btn-input-number input {
  border: 0;
  background-color: #F7F9FF;
  padding: 0;
}
.btn-input-number input:focus-visible {
  outline: 0;
}

section.seo-editorial[data-position=footer] {
  margin-top: 40px;
}
section.seo-editorial header {
  font-weight: bold;
  font-size: 18px;
  margin-bottom: 0.5em;
  padding-block: 0px !important;
}
section.seo-editorial .seo-content-container {
  container-name: seo-editorial;
  container-type: inline-size;
  margin-bottom: 30px;
}
section.seo-editorial summary {
  cursor: pointer;
  margin-top: 16px;
  list-style: none;
}
section.seo-editorial summary::marker {
  display: none;
}
@media screen and (max-width: 768px) {
  section.seo-editorial summary {
    text-align: center;
  }
}
section.seo-editorial summary span {
  color: #3275F9;
  font-weight: bold;
  margin-top: 20px;
}
section.seo-editorial details[open] [data-action=expanse] {
  display: none;
}
section.seo-editorial details:not([open]) [data-action=collapse] {
  display: none;
}
section.seo-editorial .clamped-container:has(details:not([open])) .seo-content {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  section.seo-editorial .clamped-container:has(details:not([open])) .seo-content {
    -webkit-line-clamp: 2;
  }
}

[data-clamp-text="0"] details {
  display: none;
}

.seo-question-container {
  display: grid;
  row-gap: 10px;
}
.seo-question-container h2 {
  font-size: 18px;
}
.seo-question-container details summary {
  display: grid;
  grid-template-columns: 1fr max-content;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #3275F9;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  padding: 12px;
}
.seo-question-container details summary img {
  width: 16px;
}
.seo-question-container details > p {
  margin-top: 20px;
  padding-left: 20px;
}
.seo-question-container details[open] {
  max-height: 1000px;
}
.seo-question-container details[open] img {
  transform: rotate(180deg);
  -webkit-transition: -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
  transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
}

body > header {
  top: 0px;
  position: sticky;
  z-index: 3;
  background-color: white;
  container-type: inline-size;
  container-name: header-container;
  box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 15px;
  /*?? */
}
body > header .mx-3, body > header .mx-5 {
  margin: 0px;
}
body > header #banner-comm {
  font-size: 1em;
  text-align: center;
  padding: 0.5em;
  background-color: #3275F9;
  color: #FFFFFF;
}
body > header #banner-comm p {
  text-align: center;
}
body > header > nav {
  display: grid;
  grid-template-columns: max-content 5fr 1fr;
  transition: width 500ms ease-in-out;
  column-gap: 1em;
  padding-top: 1em !important;
  padding-bottom: 1em !important;
  align-items: center;
  container-type: inline-size;
  container-name: nav-container;
}
@media screen and (max-width: 768px) {
  body > header > nav {
    grid-template-columns: 1fr 1fr;
    row-gap: 0.5em;
  }
}
@media screen and (min-width: 768px) and (max-width: 992px) {
  body > header > nav > .logo {
    width: 140px;
  }
  body > header > nav > .logo > img {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  body > header > nav > .logo > img {
    width: 100%;
    max-width: 170px;
  }
}
body > header #scannAndOcr {
  width: 25px;
}
body > header #scannAndOcr:hover {
  cursor: pointer;
}
body > header #scannAndOcr img {
  cursor: pointer;
}
body > header .left-nav {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  column-gap: 1em;
  container-type: inline-size;
  container-name: left-nav;
  position: relative;
}
@media screen and (max-width: 768px) {
  body > header .left-nav {
    grid-template-columns: 1fr;
  }
}
body > header .left-nav #search_form {
  margin: 0px;
  min-width: 200px;
}
body > header .left-nav #search_form #search-catalogue {
  padding-right: 35px;
}
body > header .left-nav #search_form:has(#scanner) #search-catalogue {
  padding-right: 80px;
}
@media screen and (max-width: 768px) {
  body > header .left-nav #search_form {
    position: relative;
  }
}
body > header .left-nav #search_form > button {
  position: absolute;
  background-color: transparent;
  border: none;
  right: 1em;
  padding: 1em 0px;
}
body > header .left-nav #search_form > button[type=reset] {
  display: none;
}
body > header .left-nav #search_form > span {
  display: flex;
  position: absolute;
  right: 1em;
  top: 0;
  align-items: center;
  gap: 1em;
}
body > header .left-nav #search_form > span > :is([type=submit], #scanner) {
  display: block;
}
body > header .left-nav #search_form > span > button {
  background-color: transparent;
  border: none;
  padding: 1em 0px;
}
body > header .left-nav #search_form > span > button[type=reset] {
  display: none;
}
@media screen and (min-width: 768px) {
  body > header .left-nav #search_form #search-catalogue {
    transition: left 0.3s ease-in;
    left: 50%;
  }
  body > header .left-nav #search_form #search-catalogue:focus {
    transition: left 0.3s ease-in;
    position: absolute;
    left: 0px;
    right: 0px;
    top: -1em;
    width: auto;
  }
  body > header .left-nav #search_form #search-catalogue:focus ~ button {
    top: -1em;
  }
  body > header .left-nav #search_form:has([type=search]:focus) > span {
    margin-top: -1em;
  }
}
body > header .left-nav #search-catalogue {
  width: 100%;
}
body > header .right-nav-end {
  height: max-content;
  display: grid;
  grid-auto-flow: column;
  justify-content: end;
  align-items: center;
  column-gap: 1em;
}
body > header .right-nav-end #recommander > span {
  text-wrap: nowrap;
}
body > header .right-nav-end img {
  display: inherit;
  max-width: inherit;
}
body > header .right-nav-end #logo-burger {
  border: none;
  background-color: white;
  margin-left: 20px;
  cursor: pointer;
  background-image: url("../../../images/2024/svg/burger.svg");
  background-repeat: no-repeat;
  background-position: center;
  width: 22px;
  height: 22px;
  transition: background-image 0.4s ease;
}
body > header .right-nav-end #logo-burger.nav-mobile-open {
  background-image: url("../../../images/2024/svg/close-blue.svg");
}
@media screen and (min-width: 768px) {
  body > header .right-nav-end #logo-burger {
    display: none;
  }
}
body > header #user.connected > span {
  display: none;
}
@media screen and (max-width: 768px) {
  body > header #user > span {
    display: none;
  }
}
body > header #mobile-search {
  display: none;
}
body > header #banner-info {
  background-color: #B9CEFE;
  color: #121E3C;
}
body > header #banner-info:has(div.yellow-banner) {
  background-color: #FFE989;
}
body > header #banner-info .banner-info-container {
  padding-top: 0.5em !important;
  padding-bottom: 0.5em !important;
}
body > header #banner-info .banner-info-container .banner-info-item {
  display: flex;
  align-items: center;
  gap: 5px;
}
body > header #banner-info .banner-info-container:has(.banner-promo-text) {
  display: grid;
  grid-template-columns: 1fr max-content;
}
body > header #banner-info .banner-info-container:not(:has(.banner-promo-text)) {
  display: flex;
  justify-content: end;
}
body > header #banner-info .banner-right-info {
  justify-self: right;
  display: grid;
  grid-auto-flow: column;
  column-gap: 1em;
  display: none;
}
@media screen and (min-width: 768px) {
  body > header #banner-info .banner-right-info {
    display: flex;
  }
}
body > header #banner-info .banner-right-info > div.banner-info-item {
  display: none;
}
@media screen and (min-width: 991px) {
  body > header #banner-info .banner-right-info > div.banner-info-item {
    display: flex;
  }
}
body > header #result-search-catalogue-container {
  position: relative;
  margin: 0 auto;
  height: 0px; /* hack for position */
}
body > header #result-search-catalogue-container output {
  display: inline-block;
}
body > header #result-search-catalogue {
  top: 0px;
  background-color: #F7F9FF;
  transform: translateY(-208vh);
  position: fixed;
  padding: 16px;
  transition: all 0.5s ease-in-out;
  z-index: 2;
  overflow: auto;
  max-height: 80vh;
}
body > header #result-search-catalogue:not(.open) {
  width: var(--search-catalog-width);
  margin: 0 auto;
}
body > header #result-search-catalogue header [type=reset] {
  border: none;
  background-color: transparent;
  position: absolute;
  right: 1em;
  cursor: pointer;
}
body > header #result-search-catalogue:not(.has-matches) #search-results {
  display: none;
}
body > header #result-search-catalogue #search-results, body > header #result-search-catalogue .search-results {
  transition: opacity 0.25s ease-in-out;
}
body > header #result-search-catalogue #no-results {
  margin-top: 150px;
}
body > header #result-search-catalogue.has-matches #no-results {
  display: none;
}
body > header #result-search-catalogue.open {
  transform: translateY(0);
  position: sticky;
  border-radius: 16px;
  box-shadow: 0 1px 1px 1px rgba(183, 182, 182, 0.8980392157);
}
body > header #result-search-catalogue > .header-result-search {
  width: 100%;
  font-size: 24px;
  margin: 20px 0;
  color: #1A1D24;
  font-weight: 700;
}
body > header #result-search-catalogue > .header-result-search span {
  font-size: inherit;
}
body > header #result-search-catalogue #loader-search {
  display: flex;
  margin: 25px 0;
}
body > header #result-search-catalogue #loader-search .loader {
  width: 90px;
  height: 90px;
  border: 8px solid #3275F9;
  border-radius: 50%;
  display: inline-block;
  box-sizing: border-box;
  position: relative;
  animation: pulse 1s linear infinite;
  margin: auto;
}
body > header #result-search-catalogue #loader-search .loader:after {
  content: "";
  position: absolute;
  width: 48px;
  height: 48px;
  border: 5px solid #3275F9;
  border-radius: 50%;
  display: inline-block;
  box-sizing: border-box;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  animation: scaleUp 1s linear infinite;
}
body > header #result-search-catalogue section #nb-results-product p {
  color: #7D879F;
  font-size: 18px;
  font-weight: 700;
}
body > header #result-search-catalogue section #nb-products, body > header #result-search-catalogue section #nb-brands {
  font-weight: bold;
}
body > header #result-search-catalogue section span {
  margin-left: 0 !important;
  font-weight: bold;
}
body > header #result-search-catalogue section span:nth-child(3) {
  margin-left: 3px;
}
body > header #result-search-catalogue section a {
  font-weight: bold;
}
body > header #result-search-catalogue section#search-results {
  display: flex;
  flex-wrap: wrap;
  container-type: inline-size;
  container-name: search-results-container;
  margin-bottom: 20px;
}
body > header #result-search-catalogue section#search-results > div {
  display: grid;
  grid-template-columns: 1fr max-content;
  width: 100%;
  margin-bottom: 10px;
}
body > header #result-search-catalogue section#search-results > div.search-results {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 1em;
}
@media screen and (min-width: 768px) {
  body > header #result-search-catalogue section#search-results > div.search-results {
    max-height: 390px;
    overflow: auto;
  }
}
body > header #result-search-catalogue section#search-results > div.search-results article {
  display: flex;
  align-items: center;
  background-color: #FFFFFF;
  justify-content: space-between;
  width: 100%;
  margin: 5px 0;
  border-radius: 8px;
  cursor: pointer;
  max-height: 147px;
  overflow: hidden;
}
body > header #result-search-catalogue section#search-results > div.search-results article figure {
  height: 120px; /*to use container height*/
}
@media screen and (max-width: 768px) {
  body > header #result-search-catalogue section#search-results > div.search-results article figure {
    height: 120px;
  }
}
body > header #result-search-catalogue section#search-results > div.search-results article figure img {
  height: 100%;
}
body > header #result-search-catalogue section#search-results > div.search-results article div {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 68%;
  margin-left: 50px;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  body > header #result-search-catalogue section#search-results > div.search-results article div {
    width: 75%;
  }
}
body > header #result-search-catalogue section#search-results > div.search-results article div h3 {
  width: 100%;
  color: #000000;
  font-size: 18px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
body > header #result-search-catalogue section#search-results > div.search-results article div p {
  width: 100%;
  text-overflow: ellipsis;
}
@media screen and (min-width: 768px) {
  body > header #result-search-catalogue section#search-results > div.search-results article div p {
    overflow: hidden;
    white-space: nowrap;
  }
}
body > header #result-search-catalogue section#search-results > div.search-results article div p:first-child {
  font-size: 18px;
}
body > header #result-search-catalogue section#search-results > div.search-results article div p:last-child {
  font-size: 16px;
  color: #3275F9;
  font-weight: bold;
}
body > header #result-search-catalogue section#search-results-brands {
  display: none;
}
body > header .banner-right-tel {
  width: 300px;
}
body > header .banner-right-tel a {
  float: right;
}
body > header .container-2024.light-version {
  padding: 0;
}
@media screen and (max-width: 768px) {
  body > header > nav .left-nav {
    grid-row: 2;
    grid-column: span 2;
  }
  body > header > nav.light-version {
    display: block;
  }
  body > header > nav.light-version a {
    float: left;
    margin-left: 15px;
  }
  body > header .banner-right-tel {
    display: none;
  }
}

body:not(.user-connected) #mobile_recommander, body:not(.user-connected) #recommander {
  display: none !important;
}
@media screen and (min-width: 768px) {
  body:not(.user-connected) #user::after {
    content: attr(aria-label);
    white-space: nowrap;
    font-weight: bold;
  }
}

body.user-connected #nav-connection .singup-info {
  display: none;
}

body.search-results-open main {
  opacity: 0.1;
}
@media screen and (min-width: 768px) {
  body.search-results-open #result-search-catalogue-container {
    width: 80%;
  }
}
@media screen and (min-width: 992px) {
  body.search-results-open #result-search-catalogue-container {
    width: 68%;
  }
}

body:not(.search-results-open) #result-search-catalogue-container {
  width: var(--search-catalog-width);
}

@media screen and (min-width: 768px) {
  #nav-connection {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  body {
    --bottom-links-padding: 3em;
  }
  body > header:has(#banner-comm) {
    --bottom-links-padding: 5em;
  }
  .nav-links {
    animation-delay: 0.1s;
    transition: transform 0.5s ease-in;
    height: 100%;
    transform: translateX(-100%);
  }
  .nav-links .nav-links-list {
    display: grid !important;
    grid-auto-flow: row !important;
    height: 100%;
    align-items: center;
  }
  .nav-links .nav-links-list > a {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    font-size: 24px;
    margin: 20px 0;
    width: 100%;
    justify-content: space-between;
  }
  .nav-links .nav-links-list > a:after {
    margin-left: 1em;
    content: url("../../../images/2024/svg/arrow-right-blue.svg");
  }
  .nav-links .nav-links-list > a:after > span {
    max-width: 210px;
  }
  body.nav-mobile > header {
    position: fixed; /* to see on the refactor*/
    z-index: 4;
    right: 0px;
    left: 0px;
    bottom: 0px;
    background-color: white;
  }
  body.nav-mobile > header > nav {
    height: 100%;
    grid-template-rows: max-content 1fr;
    align-items: start;
  }
  body.nav-mobile > header > nav > .left-nav {
    height: 100%;
    grid-template-rows: max-content;
  }
  body.nav-mobile > header > nav > .left-nav > .nav-links {
    /*grid-auto-rows: max-content;*/
    height: 100%;
    padding-bottom: var(--bottom-links-padding);
    transform: translateX(0);
  }
  body.nav-mobile > header #banner-info {
    display: none;
  }
  .nav-links {
    grid-row: 2;
    background-color: white;
    grid-auto-flow: row !important;
    height: fit-content;
  }
  .nav-links #nav-connection {
    display: flex;
    justify-content: center;
  }
  .nav-links #nav-connection #mobile_recommander {
    padding: 1em;
    border-radius: 2em;
    display: grid;
    grid-template-columns: max-content max-content;
    column-gap: 0.5em;
    background-color: #1340AA;
    color: #F7F9FF;
  }
  .nav-links #nav-connection #mobile_recommander > div {
    display: flex;
    flex-direction: column;
  }
  .nav-links #nav-connection #mobile_recommander > div > small {
    font-size: 0.7em;
  }
  .nav-links #nav-connection .singup-info p a {
    margin-left: 0.75em;
  }
  .nav-links #nav-connection #mobile_user {
    display: flex;
    justify-content: center;
    margin-bottom: 1em;
    padding: 1em;
  }
  .nav-links #nav-connection p > a {
    font-weight: bold;
    color: #3275F9;
  }
  body:not(.nav-mobile) .nav-links {
    height: 0px;
    overflow: hidden;
  }
}
#recommander, #dropdown_recommander {
  text-decoration: none;
}
#recommander:visited, #dropdown_recommander:visited {
  color: white;
}
#recommander.btn-primary-dark-blue img, #dropdown_recommander.btn-primary-dark-blue img {
  margin-right: 0px;
}

@container header-container (width < 600px) {
  #recommander {
    display: none;
  }
}
@container header-container (width < 804px) {
  .banner-info-container:not(:has(.banner-promo-text)) {
    display: none !important;
  }
}
@container left-nav (width < 600px) {
  body:not(.nav-mobile) .nav-links #promo-menu-link {
    display: none !important;
  }
}
@container nav-container (width < 1072px) {
  #recommander {
    display: none !important;
  }
}
@container nav-container (width < 1020px) {
  body:not(.nav-mobile) #user > span {
    display: none !important;
  }
}
@container nav-container (width < 980px) {
  body:not(.nav-mobile) .right-nav-end #user > span {
    display: none !important;
  }
}
@container nav-container (width < 900px) {
  body:not(.nav-mobile) #search_form {
    min-width: 80px !important;
  }
}
@container search-results-container (width < 724px) {
  .search-results {
    /*overflow: auto;*/
    grid-template-columns: 1fr !important;
    max-height: max-content !important;
  }
}
.nav-links {
  display: grid;
  grid-auto-flow: column;
  column-gap: 2em;
  align-items: center;
}
.nav-links .nav-links-list {
  display: grid;
  grid-auto-flow: column;
  column-gap: 1em;
  height: 100%;
}
.nav-links .nav-links-list > a {
  display: flex;
  align-items: center;
  height: 100%;
  color: #162D6A;
}
.nav-links .nav-links-list > a:hover {
  color: #3275F9;
}
@media screen and (min-width: 768px) {
  .nav-links .nav-links-list {
    justify-content: space-evenly;
  }
}
.nav-links #promo-menu-link {
  position: relative;
}
.nav-links #promo-menu-link > span {
  position: relative;
}
.nav-links #promo-menu-link > span > img {
  width: 105%;
  min-width: 100px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
.nav-links .menu-dropdown-overlay {
  display: none;
  position: absolute;
  top: 100%;
  padding-top: 6px;
  max-width: 1300px;
}
@media screen and (min-width: 991px) {
  .nav-links .menu-dropdown-overlay {
    left: -190px;
    right: -280px;
  }
}
@media screen and (min-width: 991px) and (max-width: 1240px) {
  .nav-links .menu-dropdown-overlay {
    left: -190px;
    width: calc(100vw - 50px);
  }
  @-moz-document url-prefix() {
    .nav-links .menu-dropdown-overlay {
      /* firefox */
      width: 100vw;
    }
  }
}
@media screen and (max-width: 990px) {
  .nav-links .menu-dropdown-overlay {
    left: -180px;
    width: calc(100vw - 14px);
  }
  @-moz-document url-prefix() {
    .nav-links .menu-dropdown-overlay {
      /* firefox */
      width: 100vw;
    }
  }
}
@media screen and (min-width: 992px) {
  .nav-links .menu-dropdown-overlay {
    left: -190px;
    right: -280px;
  }
}
.nav-links .menu-dropdown {
  display: flex;
  background-color: white;
  min-height: 270px;
  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
}
.nav-links .categ-list {
  width: 270px;
  padding: 2em;
  background-color: #EEF3FE;
}
@media screen and (max-width: 990px) {
  .nav-links .categ-list {
    width: auto;
    padding: 16px;
  }
}
.nav-links .product-list {
  padding: 2em;
  flex: 1;
  columns: 3;
  column-gap: 1em;
}
.nav-links .menu-img-preview-container {
  min-width: 200px;
}
@media screen and (max-width: 992px) {
  .nav-links .menu-img-preview-container {
    display: none;
  }
}
.nav-links .brand-li > a {
  color: #3275F9;
  font-weight: bold;
  display: flex;
  flex-wrap: wrap;
}
.nav-links .brand-li > a span {
  margin-right: 20px;
  font-size: 12px;
}
.nav-links .brand-li > a span img {
  margin-left: 4px;
  width: 10px;
}
.nav-links .brand-sublinks {
  margin-top: 0.5em;
}
@media screen and (min-width: 768px) {
  .nav-links .nav-links-list > a:hover + .menu-dropdown-overlay {
    display: block;
  }
  .nav-links .menu-dropdown-overlay:hover {
    display: block;
  }
}
.nav-links .brand-li {
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  break-inside: avoid;
  margin-bottom: 1em;
}
.nav-links .prod-li > img {
  display: none;
  position: absolute;
  top: 1em;
  right: 1em;
  width: 220px;
}
.nav-links .prod-li {
  line-height: 1.8em;
}
.nav-links .prod-li > a:hover {
  color: #3275F9;
}
@media screen and (min-width: 992px) {
  .nav-links .prod-li > a:hover + img {
    display: block;
  }
}
.nav-links .categ-li > a {
  color: #162D6A;
}
.nav-links .categ-list > a:hover, .nav-links .categ-li > a:hover {
  text-decoration: underline;
}
.nav-links .all-brand-type-li {
  margin-top: 0.5em;
  margin-bottom: 1em;
}
.nav-links .categs-section-link {
  line-height: 30px;
  font-weight: bold;
}
.nav-links .link-button-udnerlined {
  padding-bottom: 5px;
  color: #3275F9;
  font-weight: bold;
  text-decoration: underline;
}
.nav-links .link-button-udnerlined img {
  margin-left: 4px;
  width: 10px;
}

#userInfoPopup {
  height: 100%;
  max-height: 100%;
  border-top-left-radius: 1em;
  border-bottom-left-radius: 1em;
  padding: 2em 2em 1em 2em;
  right: -100%;
  transition: all 0.2s ease-in-out;
}
#userInfoPopup > header {
  display: grid;
  justify-items: center;
  grid-auto-rows: max-content;
  row-gap: 1em;
}
#userInfoPopup > header [method=dialog] {
  margin: 0px;
  justify-self: start;
}
#userInfoPopup > header [method=dialog] .circle-close-btn {
  clip-path: none;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  #userInfoPopup > header picture img {
    height: 18px;
    aspect-ratio: 1/1;
  }
}
@media screen and (min-width: 768px) {
  #userInfoPopup > header picture img {
    height: 18px;
    aspect-ratio: 1/1;
  }
}
#userInfoPopup > header #dropdown_top_link {
  display: grid;
  gap: 8px;
  font-size: 1.8em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  #userInfoPopup > header #dropdown_top_link {
    justify-items: center;
  }
}
@media screen and (max-width: 768px) {
  #userInfoPopup > header #dropdown_top_link {
    align-items: center;
  }
}
#userInfoPopup > header #userInfo {
  font-size: 24px !important;
  font-weight: 600 !important;
  color: #162D6A;
}
#userInfoPopup > header #userInfo img {
  width: 24px;
  height: 24px;
  margin-right: 0.25em;
}
#userInfoPopup > header #userInfo .userInfoName {
  padding-inline: 60px;
  text-align: center;
}
#userInfoPopup > header .userInfoStatus {
  display: flex;
  justify-content: center;
  font-size: 16px !important;
  font-weight: 500 !important;
}
#userInfoPopup > header .userInfoStatus.essentiel {
  color: #05A3B8;
}
#userInfoPopup > header .userInfoStatus.premium {
  color: #EA48E3;
}
#userInfoPopup > header .userInfoStatus.vip {
  color: #FFAE00;
}
#userInfoPopup > header .userInfoStatus span {
  margin-left: 0.25em;
}
#userInfoPopup > header .userInfoStatus img {
  margin-right: 0.5em;
}
#userInfoPopup > header .userInfoStatus:has(> span:empty) {
  display: none;
}
@media screen and (min-width: 768px) {
  #userInfoPopup nav {
    margin-top: 2em;
  }
}
#userInfoPopup nav ul {
  display: grid;
  row-gap: 8px;
}
@media screen and (max-width: 768px) {
  #userInfoPopup nav ul {
    margin-top: 24px;
  }
}
#userInfoPopup nav ul > li {
  padding: 16px;
  background-color: #F7F9FF;
  border-radius: 16px;
}
@media screen and (max-width: 768px) {
  #userInfoPopup nav ul > li {
    padding: 12px 19px;
  }
}
#userInfoPopup nav ul > li > a {
  display: grid;
  align-items: center;
  grid-template-columns: max-content 1fr max-content;
  align-items: center;
  gap: 24px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #userInfoPopup nav ul > li > a {
    font-size: 16px;
  }
}
#userInfoPopup nav ul > li > a:after {
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  content: "";
  background-image: url("../../../images/2024/svg/myaccount/arrow-right-blue.svg");
  background-repeat: no-repeat;
  background-position: center;
  width: 32px;
  height: 32px;
}
@media screen and (min-width: 768px) {
  #userInfoPopup nav ul > li > a:after {
    background-size: 10px 10px;
  }
}
@media screen and (max-width: 768px) {
  #userInfoPopup nav ul > li > a:after {
    background-color: #E2EBFE;
    width: 42px;
    height: 42px;
    border-radius: 100%;
    background-position: center;
    background-size: 6px;
  }
}
#userInfoPopup nav ul > li [data-link]:hover {
  color: #3275F9;
}
@media screen and (min-width: 768px) {
  #userInfoPopup nav ul > li [data-link]:hover::before {
    -webkit-filter: invert(34%) sepia(86%) saturate(1749%) hue-rotate(210deg) brightness(99%) contrast(105%);
    filter: invert(34%) sepia(86%) saturate(1749%) hue-rotate(210deg) brightness(99%) contrast(105%);
  }
}
#userInfoPopup nav ul > li [data-link]::before {
  content: "";
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 768px) {
  #userInfoPopup nav ul > li [data-link]::before {
    background-color: #E2EBFE;
    border: 3px solid #EEF3FE;
    width: 42px;
    aspect-ratio: 1/1;
    border-radius: 100%;
  }
}
#userInfoPopup nav ul > li [data-link=my-dashboard]::before {
  background-image: url("../../../images/2024/svg/myaccount/my-dashboard.svg");
}
#userInfoPopup nav ul > li [data-link=my-orders]::before {
  background-image: url("../../../images/2024/svg/menu/my-orders.svg");
}
#userInfoPopup nav ul > li [data-link=fidelity-points]::before {
  background-image: url("../../../images/2024/svg/menu/fidelity-ponts.svg");
}
#userInfoPopup nav ul > li [data-link=coupons]::before {
  background-image: url("../../../images/2024/svg/menu/coupons.svg");
}
#userInfoPopup nav ul > li [data-link=reference]::before {
  background-image: url("../../../images/2024/svg/menu/reference.svg");
}
#userInfoPopup nav ul > li [data-link=my_communications]::before {
  background-image: url("../../../images/2024/svg/menu/my_communications.svg");
}
#userInfoPopup nav ul > li [data-link=settings]::before {
  background-image: url("../../../images/2024/svg/menu/settings.svg");
}
#userInfoPopup nav ul > li [data-link=help]::before {
  background-image: url("../../../images/2024/svg/menu/help-2.svg");
}
@media screen and (max-width: 768px) {
  #userInfoPopup nav ul > li .promo-highlight {
    display: inline-block;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100%;
    height: 30px;
    background-image: url("../../../images/2024/svg/union.svg");
  }
}
#userInfoPopup nav ul > li .link-subinfo {
  color: #3275F9;
  font-size: 14px;
  font-weight: bold;
}
#userInfoPopup[open] {
  animation: dialogRight2Left 0.4s forwards;
  display: grid;
  grid-template-rows: max-content max-content max-content;
}
#userInfoPopup[open].hideDialog {
  right: -150%;
}
#userInfoPopup[open]::backdrop {
  animation: backdrop-fade-in 0.6s ease-out forwards;
  cursor: url("../../../images/2024/svg/close-solid.svg") 16 16, auto;
}
#userInfoPopup footer {
  align-self: center;
  margin: 26px 0;
}
@media screen and (max-width: 768px) {
  #userInfoPopup footer {
    margin-top: 16px;
    padding-bottom: 48px;
  }
}

a.link-logout {
  color: red;
  display: flex;
  justify-content: center;
  gap: 0.5em;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  #userInfoPopup {
    right: 0;
    width: 100%;
    max-width: 768px;
    border-bottom-left-radius: 1em;
  }
  #userInfoPopup > header > picture > img {
    height: 35px;
  }
  #userInfoPopup[open] {
    animation: dialogBottom2Top 0.5s forwards;
  }
}
.white-bg-layer {
  display: none;
}

#header-shopping-cart {
  display: none;
}

@media screen and (min-width: 768px) {
  .cart-link-wrapper:hover #header-shopping-cart {
    display: block;
  }
  .cart-link-wrapper:hover .white-bg-layer {
    display: block;
    pointer-events: none;
    background-color: rgba(255, 255, 255, 0.5);
    position: fixed;
    width: 200vw;
    left: -20%;
    top: 0px;
    height: 100vh;
  }
}
.filter-parent .filter-title {
  background-color: #B9CEFE !important;
}

.layout_mobile_footer {
  z-index: 3 !important;
}

.param-title {
  margin-top: 20px;
  margin-bottom: 10px;
}

#miniCartDialog {
  height: 100%;
  max-height: 100%;
  border-top-left-radius: 1em;
  padding: 2em 2em 1em 2em;
  width: 100%;
  max-height: 1200px;
  background-color: #F7F9FF;
}
@media screen and (max-width: 768px) {
  #miniCartDialog {
    border-top-right-radius: 1em;
    bottom: -100%;
    max-width: 100%;
  }
}
@media screen and (min-width: 768px) {
  #miniCartDialog {
    right: -100%;
    max-width: 475px;
    border-bottom-left-radius: 1em;
  }
}
#miniCartDialog[open] {
  animation: dialogBottom2Top 0.5s forwards;
}
@media screen and (min-width: 768px) {
  #miniCartDialog[open] {
    display: flex;
    flex-direction: column;
    animation: dialogRight2Left 0.5s forwards;
  }
}
#miniCartDialog[open]::backdrop {
  animation: backdrop-fade-in 0.3s ease-out forwards;
  cursor: url("../../../images/2024/svg/close-solid.svg") 16 16, auto;
}
#miniCartDialog[open].hideDialog {
  animation: dialogTop2Bottom 0.5s forwards;
}
@media screen and (min-width: 768px) {
  #miniCartDialog[open].hideDialog {
    animation: dialogLeft2Right 0.5s forwards;
  }
}
#miniCartDialog .close-dialog-form .circle-close-btn {
  top: 1.8em;
  right: var(--side-padding-width);
  clip-path: none;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
#miniCartDialog header {
  padding: 0.25em 0 0;
  width: 100%;
}
#miniCartDialog header > span {
  font-size: 1.5em;
  text-align: center;
  width: 100%;
  display: block;
}
#miniCartDialog .discount {
  display: inline-block;
  background-color: #FFE989;
  padding: 8px 10px;
  font-weight: 600;
}
#miniCartDialog .prices {
  margin-top: 6px;
}
#miniCartDialog form:not(.close-dialog-form) {
  display: flex;
  flex-direction: column;
  gap: 1em;
}
#miniCartDialog .action_buttons {
  display: flex;
  flex-wrap: wrap;
  margin: 1.5em 0;
}
#miniCartDialog .action_buttons form {
  width: 100%;
  margin: 0.5em 0;
}
#miniCartDialog .action_buttons form button {
  border: none;
  display: block;
  border-radius: 100px;
  width: 100%;
  font-weight: bold;
  font-size: 16px;
  padding-block: 13px;
  cursor: pointer;
  transition: all 0.4s ease-in-out;
}
#miniCartDialog .action_buttons form button.btn-next {
  background-color: #3275F9;
}
#miniCartDialog .action_buttons form button.btn-next:hover {
  background-color: #1340AA;
}
#miniCartDialog .mini-product-card-list {
  display: grid;
  row-gap: 12px;
  padding: 15px 0;
  column-gap: 6px;
  grid-template-columns: max-content 1fr max-content;
}
#miniCartDialog .mini-product-card-list:has(.empty-cart-container) {
  grid-template-columns: auto;
}
#miniCartDialog .mini-product-card-list article.min-product-card {
  display: grid;
  margin: 0;
  padding: 20px 16px;
  grid-template-columns: subgrid;
  grid-column: span 3;
  background-color: white;
  border-radius: 16px;
  cursor: pointer;
  border: 1px solid transparent;
  transition: all 0.25s ease-in-out;
}
#miniCartDialog .mini-product-card-list article.min-product-card:hover {
  box-shadow: 0 4px 16px -3px rgba(0, 0, 0, 0.25);
}
#miniCartDialog .mini-product-card-list article.min-product-card.remove-cart {
  animation: removeProductMiniCart 0.6s ease-in-out forwards;
}
#miniCartDialog .mini-product-card-list article.min-product-card > a img {
  width: 126px;
}
@media screen and (min-width: 768px) {
  #miniCartDialog .mini-product-card-list article.min-product-card > a img {
    width: 103px;
  }
}
#miniCartDialog .mini-product-card-list article.min-product-card .brand {
  color: #3275F9;
}
#miniCartDialog .mini-product-card-list article.min-product-card .total-line-price {
  font-weight: 600;
  justify-self: center;
}
#miniCartDialog .mini-product-card-list article.min-product-card footer {
  margin-top: 0px;
  display: grid;
  align-content: space-between;
}
#miniCartDialog .mini-product-card-list article.min-product-card footer .btn-img {
  display: inline-block;
  padding: 0px;
  justify-self: end;
  width: 20px;
  height: 26px;
}
#miniCartDialog .mini-product-card-list article.min-product-card footer .btn-img img {
  transition: all 0.5s ease-in-out;
  width: 100%;
  height: 100%;
}
#miniCartDialog .mini-product-card-list article.min-product-card footer .btn-img:hover img {
  transform: rotate(360deg);
}
#miniCartDialog .net-price {
  font-size: 18px;
}
#miniCartDialog footer button {
  width: 20px;
  height: 26px;
  background-color: transparent;
  right: 17px;
}
#miniCartDialog .empty-cart-container {
  margin-top: 32px;
  justify-self: center;
  text-align: center;
  display: grid;
  row-gap: 48px;
  width: 100%;
}
#miniCartDialog .empty-cart-container .link-btn {
  width: 100%;
}
#miniCartDialog #loader-total {
  text-align: center;
}
#miniCartDialog .loader {
  width: 90px;
  height: 90px;
  border: 8px solid #3275F9;
  border-radius: 50%;
  display: inline-block;
  box-sizing: border-box;
  position: relative;
  animation: pulse 1s linear infinite;
  margin: auto;
}
#miniCartDialog .loader:after {
  content: "";
  position: absolute;
  width: 48px;
  height: 48px;
  border: 5px solid #3275F9;
  border-radius: 50%;
  display: inline-block;
  box-sizing: border-box;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  animation: scaleUp 1s linear infinite;
}
#miniCartDialog #mini-cart-total {
  border-top: 2px solid #1A1D24;
  border-bottom: 2px solid black;
  padding: 1em 0;
  margin: 1em 0;
}
#miniCartDialog #mini-cart-total .grid-2-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  row-gap: 16px;
}
#miniCartDialog #mini-cart-total .grid-2-col .shipping-info-row {
  grid-column: span 2;
  display: grid;
  justify-content: space-between;
  grid-template-columns: max-content 1fr;
  align-items: center;
  row-gap: 8px;
}
@media screen and (min-width: 768px) {
  #miniCartDialog #mini-cart-total .grid-2-col .shipping-info-row {
    grid-template-columns: max-content max-content;
  }
}
#miniCartDialog #mini-cart-total .grid-2-col .shipping-promo {
  grid-column: 1/-1;
  display: flex;
  font-size: 14px;
  color: #121E3C;
  align-items: center;
  gap: 4px;
  justify-content: center;
  text-align: center;
}
#miniCartDialog #mini-cart-total .grid-2-col .shipping-promo::before {
  content: url("../../../images/2024/svg/promo.svg");
  width: 16px;
  height: 17px;
}
#miniCartDialog #mini-cart-total .grid-2-col .promo-label {
  background-color: #FFE989;
  padding: 8px 10px;
  border-radius: 8px;
}
#miniCartDialog #mini-cart-total .grid-2-col .value {
  justify-self: end;
  padding: 4px 8px;
  min-width: 80px;
  text-align: right;
}
#miniCartDialog #mini-cart-total .grid-2-col .value.discount {
  background-color: #FFE989;
  padding: 4px 8px;
  font-weight: bold;
  border-radius: 8px;
}
#miniCartDialog #mini-cart-total .grid-2-col .value.coupon-conde-reduction {
  align-self: end;
}
#miniCartDialog #mini-cart-total .grid-2-col .recap-col-1 {
  font-size: 16px;
}
#miniCartDialog #mini-cart-total .grid-2-col .total {
  font-size: 20px;
  font-weight: 600;
}
#miniCartDialog #mini-cart-total .grid-2-col .uc-first {
  text-align: center;
}

@keyframes removeProductMiniCart {
  0% {
    opacity: 1;
    height: auto;
  }
  90% {
    opacity: 0;
    height: auto;
  }
  100% {
    height: 0;
    opacity: 0;
    display: none;
  }
}
#scandit button, #scandit a {
  transition: box-shadow 0.25s ease-in-out;
  border-radius: 100px;
  border: none;
  font-size: 16px;
  text-align: center;
}
#scandit button:hover, #scandit a:hover {
  cursor: pointer;
  box-shadow: 0 4px 16px -3px rgba(0, 0, 0, 0.25);
}
#scandit section {
  width: 100%;
}
#scandit section p {
  font-size: 16px;
  margin: 0.5em 0;
}
#scandit section#scandit-steps {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 330px;
  margin: auto;
  position: relative;
}
#scandit section#scandit-steps::after {
  content: "";
  left: 50%;
  top: 10px;
  width: calc(100% - 150px);
  height: 5px;
  background: #3275F9;
  z-index: -1;
  position: absolute;
  transform: translate(-50%);
}
#scandit section#scandit-steps.left::after {
  background: #07c69f;
}
#scandit section#scandit-steps > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100px;
}
#scandit section#scanner-barcode {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  justify-content: center;
}
#scandit section#scanner-barcode div#scan-action {
  width: 100%;
  height: 250px;
}
#scandit section#scanner-barcode div#scan-action .scandit-container {
  width: 100%;
  margin: auto;
}
#scandit section#scanner-barcode #product-result .product {
  max-width: 500px;
  border-radius: 1em;
  padding: 1em 1.5em;
  margin: 1.2em 0;
  background-color: #F7F9FF;
  display: flex;
  flex-wrap: wrap;
  row-gap: 0 !important;
}
#scandit section#scanner-barcode #product-result .product > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  width: 100%;
  margin: 0.5em 0;
}
#scandit section#scanner-barcode #product-result .product > div.header {
  background-color: #FFFFFF;
  border-radius: 1em;
  font-family: "Manrope", sans-serif;
  width: 100%;
}
#scandit section#scanner-barcode #product-result .product > div.header img {
  width: 38%;
}
#scandit section#scanner-barcode #product-result .product > div.header > div {
  display: flex;
  flex-wrap: wrap;
  width: 60%;
  flex-direction: column;
  justify-content: center;
}
#scandit section#scanner-barcode #product-result .product > div.header > div h3 {
  text-align: left;
  font-size: 18px;
  font-weight: 600;
}
#scandit section#scanner-barcode #product-result .product > div.header > div p:first-child {
  font-size: 14px;
  font-weight: 500;
  color: #7D879F;
}
#scandit section#scanner-barcode #product-result .product > div.header > div p:last-child {
  font-size: 16px;
  font-weight: 700;
  color: #3275F9;
}
#scandit section#scanner-barcode #product-result .product > div.params-div {
  width: 100%;
}
#scandit section#scanner-barcode #product-result .product > div.params-div span {
  font-size: 14px;
  font-weight: 500;
  color: #7D879F;
}
#scandit section#scanner-barcode #product-result .product > div.params-div strong {
  font-size: 14px;
  font-weight: 700;
  color: #393F4D;
}
#scandit section#scanner-barcode #product-result .product > div.btn-input-number {
  width: auto;
  display: flex;
  flex-wrap: wrap;
  padding: 0 1em;
  align-items: center;
  justify-content: left;
  background-color: #FFFFFF;
}
#scandit section#scanner-barcode #product-result .product > div.btn-input-number button, #scandit section#scanner-barcode #product-result .product > div.btn-input-number input {
  background-color: #FFFFFF;
  color: #1A1D24;
}
#scandit section#scanner-barcode #product-result .product > div.btn-input-number button:hover {
  box-shadow: none;
}
#scandit section#scanner-barcode div#scan-process {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
}
#scandit section#scanner-barcode div#scan-process .requirements {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 1em 0;
}
#scandit section#scanner-barcode div#scan-process .requirements p {
  width: 70%;
  text-align: center;
  margin: 0.5em auto;
}
@media screen and (max-width: 768px) {
  #scandit section#scanner-barcode div#scan-process .requirements p {
    width: 100%;
  }
}
#scandit section#scanner-barcode div#scan-process .requirements p[data-step] {
  font-size: 20px;
  font-weight: 700;
  color: #1A1D24;
}
#scandit section#scanner-barcode div#scan-process .requirements p.access {
  font-size: 16px;
  font-weight: 500;
  color: #7D879F;
}
#scandit section#scanner-barcode div#scan-process .after-scan {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}
#scandit section#scanner-barcode div#scan-process .not-found {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  gap: 60px 0;
}
@media screen and (max-width: 768px) {
  #scandit section#scanner-barcode div#scan-process .not-found {
    width: 100%;
  }
}
#scandit section#scanner-barcode div#scan-process .not-found p.no-result-string, #scandit section#scanner-barcode div#scan-process .not-found .scan-error-message {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  animation: bounce 1s ease-in-out infinite;
  width: 100%;
  margin: 4em 0 2em;
}
#scandit section#scanner-barcode div#scan-process .not-found p.no-result-string span, #scandit section#scanner-barcode div#scan-process .not-found .scan-error-message span {
  margin: auto;
  background-color: #CAFEE9;
  border-radius: 8px;
  padding: 10px;
  box-shadow: rgba(0, 0, 0, 0.2) 0 0 15px;
}
#scandit section#scanner-barcode #endSection {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 30px;
  align-items: center;
}
#scandit section#scanner-barcode #endSection p {
  font-size: 18px;
  font-weight: 700;
  padding: 1em 0;
}
#scandit section#scanner-barcode #endSection a, #scandit section#scanner-barcode #endSection button {
  width: 260px;
}
#scandit section#scanner-barcode #endSection form {
  width: 100%;
  text-align: center;
}
#scandit section#scanner-barcode #endSection form button:hover {
  box-shadow: 0 4px 16px -3px rgba(0, 0, 0, 0.25);
}
#scandit section button, #scandit section a {
  padding: 10px 20px;
  font-weight: bold;
  background-color: #3275F9;
  color: #FFFFFF;
}
#scandit section button[data-action=ignore], #scandit section button[data-action=retry], #scandit section button[data-action=empty], #scandit section button[data-action=search], #scandit section a[data-action=ignore], #scandit section a[data-action=retry], #scandit section a[data-action=empty], #scandit section a[data-action=search] {
  background-color: #EEF3FE;
  color: #3275F9;
}
#scandit section#endSection {
  padding: 20px 0;
}
#scandit section#endSection p {
  text-align: center;
}
#scandit .loader {
  width: 90px;
  height: 90px;
  border: 8px solid #3275F9;
  border-radius: 50%;
  display: inline-block;
  box-sizing: border-box;
  position: relative;
  animation: pulse 1s linear infinite;
  margin: 20px auto;
}
#scandit .loader:after {
  content: "";
  position: absolute;
  width: 48px;
  height: 48px;
  border: 5px solid #3275F9;
  border-radius: 50%;
  display: inline-block;
  box-sizing: border-box;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  animation: scaleUp 1s linear infinite;
}
#scandit .scandit-container .scandit-paintboard {
  border-radius: 16px;
  box-shadow: rgba(0, 0, 0, 0.2) 0 0 15px;
}
#scandit .scandit-container .scandit-paintboard video {
  border-radius: 16px;
}

#scanner {
  position: relative;
}
#scanner .new-badge {
  position: absolute;
  top: -10px;
  right: -18px;
  background-color: #CAFFE9;
  color: #1A1D24;
  font-size: 12px;
  padding: 2px 6px;
  border-radius: 10px;
  font-weight: bold;
  animation: bounce 1.2s infinite;
}

@keyframes bounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-4px);
  }
}
#scannOcr {
  max-width: 1000px;
  width: 80%;
  border-radius: 1em;
  padding: 2em;
}
@media screen and (max-width: 768px) {
  #scannOcr {
    width: 100%;
    height: 100%;
  }
  #scannOcr[open] {
    animation: dialogBottom2Top 0.5s forwards;
  }
}
@media screen and (max-width: 768px) and (min-width: 768px) {
  #scannOcr[open] {
    align-content: space-around;
    display: grid;
    grid-template-rows: max-content max-content;
    animation: dialogRight2Left 0.5s forwards;
  }
}
@media screen and (max-width: 768px) {
  #scannOcr[open]::backdrop {
    animation: backdrop-fade-in 0.3s ease-out forwards;
  }
  #scannOcr[open].hideDialog {
    animation: dialogTop2Bottom 0.5s forwards;
  }
}
@media screen and (max-width: 768px) and (min-width: 768px) {
  #scannOcr[open].hideDialog {
    animation: dialogLeft2Right 0.5s forwards;
  }
}
#scannOcr header {
  padding: 0.5em 0 0;
  width: 100%;
  margin: 1.5em 0;
}
#scannOcr header h2 {
  text-align: center;
}
#scannOcr header form button {
  top: 2.3em;
  right: var(--side-padding-width);
  clip-path: none;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
#scannOcr section#scann-ocr-choices {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  #scannOcr section#scann-ocr-choices {
    flex-direction: column;
  }
}
#scannOcr section#scann-ocr-choices div {
  border-radius: 1em;
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  background-color: #F7F9FF;
  width: 32%;
  text-align: center;
  padding: 20px 20px 30px;
  transition: box-shadow 0.25s ease-in-out;
}
@media screen and (max-width: 768px) {
  #scannOcr section#scann-ocr-choices div {
    width: 100%;
    margin: 10px 0;
    align-items: center;
  }
}
#scannOcr section#scann-ocr-choices div:hover {
  box-shadow: 0 4px 16px -3px rgba(0, 0, 0, 0.25);
}
#scannOcr section#scann-ocr-choices div figure {
  width: 100%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items: center;
}
@media screen and (min-width: 576px) and (max-width: 768px) {
  #scannOcr section#scann-ocr-choices div figure {
    width: 50%;
  }
}
#scannOcr section#scann-ocr-choices div figure img {
  width: 240px;
  height: 240px;
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  #scannOcr section#scann-ocr-choices div figure img {
    width: 200px;
    height: 200px;
  }
}
#scannOcr section#scann-ocr-choices div button {
  background-color: #E2EBFE;
  padding: 15px 25px;
  flex-wrap: nowrap;
  transition: box-shadow 0.2s ease-in-out;
}
@media screen and (min-width: 576px) and (max-width: 768px) {
  #scannOcr section#scann-ocr-choices div button {
    width: 50%;
    height: 60px;
  }
}
#scannOcr section#scann-ocr-choices div button:hover {
  box-shadow: 0 4px 16px -3px rgba(0, 0, 0, 0.25);
}
#scannOcr section#scann-ocr-choices div button img {
  margin-left: 20px;
  width: 20px;
  height: 20px;
}
#scannOcr section#ocr {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  width: 100%;
}
#scannOcr section#ocr #camera {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}
@media screen and (max-width: 768px) {
  #scannOcr section#ocr #camera {
    flex-direction: column;
    align-items: center;
  }
}
#scannOcr section#ocr #camera div.camera {
  width: 65%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
#scannOcr section#ocr #camera div.camera video {
  box-shadow: 0 4px 16px -3px rgba(0, 0, 0, 0.25);
  border-radius: 1em;
}
@media screen and (max-width: 768px) {
  #scannOcr section#ocr #camera div.camera video {
    height: 350px;
  }
}
#scannOcr section#ocr #camera div.camera canvas {
  box-shadow: 0 4px 16px -3px rgba(0, 0, 0, 0.25);
  border-radius: 1em;
}
@media screen and (max-width: 768px) {
  #scannOcr section#ocr #camera div.camera canvas {
    height: 350px;
  }
}
#scannOcr section#ocr #camera div.camera-validate {
  width: 35%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  #scannOcr section#ocr #camera div.camera-validate {
    width: 90%;
    margin-top: 1em;
  }
}
#scannOcr section#ocr #camera div.camera-validate p {
  text-align: center;
}
#scannOcr section#ocr #camera div.camera-validate p:first-child {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 10px;
}
#scannOcr section#ocr #camera div.camera-validate p:nth-child(2) {
  font-size: 14px;
  font-weight: 500;
  font-style: italic;
}
#scannOcr section#ocr #camera div.camera-validate p.blue {
  color: #3275F9;
}
#scannOcr section#ocr #upload {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 768px) {
  #scannOcr section#ocr #upload {
    flex-direction: column;
  }
}
#scannOcr section#ocr #upload .upload {
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
#scannOcr section#ocr #upload .upload.open {
  width: 65%;
  display: flex;
  height: 478px;
}
#scannOcr section#ocr #upload .upload.open #image-preview, #scannOcr section#ocr #upload .upload.open #pdf-preview {
  height: 100%;
}
#scannOcr section#ocr #upload .upload-validate {
  display: flex;
  justify-content: space-around;
  flex-direction: row-reverse;
  width: 100%;
}
@media screen and (max-width: 768px) {
  #scannOcr section#ocr #upload .upload-validate {
    flex-direction: column;
    margin-top: 25%;
  }
}
#scannOcr section#ocr #upload .upload-validate.open {
  justify-content: center;
  width: 35%;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 768px) {
  #scannOcr section#ocr #upload .upload-validate.open {
    margin-top: 1.5em;
    flex-direction: row-reverse;
    justify-content: space-around;
    width: 100%;
    flex-wrap: wrap;
  }
  #scannOcr section#ocr #upload .upload-validate.open button.validate-select-file, #scannOcr section#ocr #upload .upload-validate.open button.back {
    width: 30%;
  }
}
#scannOcr section#loading-ocr {
  text-align: center;
  padding: 20px;
}
#scannOcr section#loading-ocr .loader {
  width: 90px;
  height: 90px;
  border: 8px solid #3275F9;
  border-radius: 50%;
  display: inline-block;
  box-sizing: border-box;
  position: relative;
  animation: pulse 1s linear infinite;
  margin: 20px auto;
}
#scannOcr section#loading-ocr .loader:after {
  content: "";
  position: absolute;
  width: 48px;
  height: 48px;
  border: 5px solid #3275F9;
  border-radius: 50%;
  display: inline-block;
  box-sizing: border-box;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  animation: scaleUp 1s linear infinite;
}
#scannOcr section#loading-ocr .loading-texts {
  position: relative;
  min-height: 72px;
}
#scannOcr section#loading-ocr .loading-texts p {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
  margin: 0;
  text-align: center;
  font-size: 20px;
  font-weight: 700;
}
#scannOcr section#loading-ocr .loading-texts p.active {
  opacity: 1;
  position: relative;
}
#scannOcr section#loading-ocr .loading-texts p span {
  opacity: 0;
  display: inline-block;
  margin-left: 5px;
  animation: fadeIn 0.5s ease-in-out forwards;
  animation-delay: calc(var(--span-index) * 0.75s);
}
#scannOcr section#loading-ocr .loading-texts p span:first-child {
  color: #000000;
}
#scannOcr section#loading-ocr .loading-texts p span:nth-child(2) {
  color: #1340AA;
}
#scannOcr section#loading-ocr .loading-texts p span:last-child {
  color: #7D879F;
}
#scannOcr section#products-display {
  padding: 0;
  text-align: center;
}
#scannOcr section#products-display h3 {
  text-align: center;
  margin-bottom: 2em;
}
#scannOcr section#products-display #products-list {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  gap: 2%;
  justify-content: space-evenly;
}
#scannOcr section#products-display #products-list .product-bloc {
  display: flex;
  flex-wrap: wrap;
  padding: 20px;
  background-color: #F7F9FF;
  border-radius: 1em;
  max-width: 500px;
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  #scannOcr section#products-display #products-list .product-bloc {
    width: 100% !important;
    max-width: 100%;
    margin: 0.5em auto;
  }
}
#scannOcr section#products-display #products-list .product-bloc div.header {
  border-radius: 1em;
  display: flex;
  flex-wrap: wrap;
  background-color: #FFFFFF;
  width: 100%;
  justify-content: space-between;
  margin-bottom: 1em;
}
#scannOcr section#products-display #products-list .product-bloc div.header img {
  width: 38%;
}
#scannOcr section#products-display #products-list .product-bloc div.header div {
  width: 60%;
  padding: 5px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: left;
}
#scannOcr section#products-display #products-list .product-bloc div.header div h4 {
  color: #1A1D24;
  font-size: 20px;
  font-weight: 700;
}
#scannOcr section#products-display #products-list .product-bloc div.header div p:nth-child(2) {
  color: #7D879F;
  font-size: 16px;
  font-weight: 500;
}
#scannOcr section#products-display #products-list .product-bloc div.header div p:last-child {
  color: #3275F9;
  font-size: 12px;
  font-weight: 500;
}
#scannOcr section#products-display #products-list .product-bloc div.main {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
#scannOcr section#products-display #products-list .product-bloc div.main .eye {
  text-align: start;
  width: 100%;
  color: #3275F9;
  font-size: 18px;
  font-weight: 700;
  padding: 0.5em 0;
}
#scannOcr section#products-display #products-list .product-bloc div.main .params {
  padding: 1em 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 100%;
}
#scannOcr section#products-display #products-list .product-bloc div.main .params > div span:first-child {
  text-transform: capitalize;
  color: #7D879F;
  font-size: 16px;
  font-weight: 500;
}
#scannOcr section#products-display #products-list .product-bloc div.main .params > div span:last-child {
  color: #393F4D;
  font-size: 16px;
  font-weight: 700;
}
#scannOcr section#products-display #products-list .product-bloc div.main .btn-input-number {
  border-radius: 1em;
}
#scannOcr section#products-display .actions {
  display: flex;
  justify-content: space-around;
}
#scannOcr section#products-display .actions button {
  width: auto !important;
  padding: 1em;
}
#scannOcr section#products-display .actions button img {
  margin-left: 8px;
}
#scannOcr section#ocr button:not(.btn-number), #scannOcr section#products-display button:not(.btn-number) {
  margin-top: 1em;
  border: none;
  display: block;
  border-radius: 100px;
  width: 100%;
  font-weight: bold;
  font-size: 16px;
  padding-block: 13px;
  cursor: pointer;
  transition: background-color 0.3s ease-in-out, box-shadow 0.25s ease-in-out;
}
#scannOcr section#ocr button:not(.btn-number):hover, #scannOcr section#products-display button:not(.btn-number):hover {
  box-shadow: 0 4px 16px -3px rgba(0, 0, 0, 0.25);
}
#scannOcr section#ocr button:not(.btn-number).validate, #scannOcr section#products-display button:not(.btn-number).validate {
  background-color: #3275F9;
  color: #FFFFFF;
}
#scannOcr section#ocr button:not(.btn-number).validate:hover, #scannOcr section#products-display button:not(.btn-number).validate:hover {
  cursor: pointer;
  background-color: #1340AA;
}
#scannOcr section#ocr button:not(.btn-number).back, #scannOcr section#products-display button:not(.btn-number).back {
  background-color: #EEF3FE;
  color: #3275F9;
}
#scannOcr section#ocr button:not(.btn-number).back:hover, #scannOcr section#products-display button:not(.btn-number).back:hover {
  cursor: pointer;
  color: #1340AA;
}
#scannOcr section#ocr button.btn-number, #scannOcr section#ocr input.input-number, #scannOcr section#products-display button.btn-number, #scannOcr section#products-display input.input-number {
  background-color: #FFFFFF;
}
#scannOcr section#error-ocr {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
}
#scannOcr section#error-ocr p {
  margin: 1em 0;
}
#scannOcr section#error-ocr p:first-child {
  font-size: 20px;
  font-weight: 700;
  color: #1A1D24;
}
#scannOcr section#error-ocr p:nth-child(2) {
  font-size: 16px;
  font-weight: 700;
  color: #7D879F;
}
#scannOcr section#error-ocr a {
  padding: 15px 20px;
  background-color: #EEF3FE;
  color: #3275F9;
  margin: 1em 0;
  border: none;
  display: block;
  border-radius: 100px;
  font-weight: bold;
  font-size: 20px;
  padding-block: 13px;
  cursor: pointer;
  transition: background-color 0.3s ease-in-out, box-shadow 0.25s ease-in-out;
}
#scannOcr section#error-ocr a:hover {
  box-shadow: 0 4px 16px -3px rgba(0, 0, 0, 0.25);
}

@keyframes fadeIn {
  to {
    opacity: 1;
  }
}
.btn-input-number {
  background-color: #F7F9FF;
  display: flex;
  height: 48px;
  border-radius: 8px;
}
.btn-input-number:hover, .btn-input-number:focus-visible {
  outline: #3275F9 solid 2px;
}
.btn-input-number button {
  border: 0;
  background-color: #F7F9FF;
  padding: 8px 16px;
  cursor: pointer;
  width: 40px;
  font-size: 1.3em;
}
@media (max-width: 1200px) {
  .btn-input-number button {
    width: 30px;
    padding: 8px 10px;
  }
}
.btn-input-number button:disabled {
  color: #7D879F;
  cursor: default;
}
.btn-input-number button.decrease-btn {
  border-bottom-left-radius: 8px;
  border-top-left-radius: 8px;
}
.btn-input-number button.increase-btn {
  border-bottom-right-radius: 8px;
  border-top-right-radius: 8px;
  font-weight: 700;
}
.btn-input-number input {
  border: 0;
  background-color: #F7F9FF;
  padding: 0;
}
.btn-input-number input:focus-visible {
  outline: 0;
}

#loginDialog, #forgotPasswordDialog {
  height: 100%;
  max-height: 100%;
  border-top-left-radius: 1em;
  padding: 2em 2em 1em 2em;
  width: 100%;
  max-height: 1200px;
}
@media screen and (max-width: 768px) {
  #loginDialog, #forgotPasswordDialog {
    border-top-right-radius: 1em;
    bottom: -100%;
    max-width: 100%;
  }
}
@media screen and (min-width: 768px) {
  #loginDialog, #forgotPasswordDialog {
    right: -100%;
    max-width: 450px;
    border-bottom-left-radius: 1em;
  }
}
#loginDialog[open], #forgotPasswordDialog[open] {
  animation: dialogBottom2Top 0.5s forwards;
}
@media screen and (min-width: 768px) {
  #loginDialog[open], #forgotPasswordDialog[open] {
    align-content: space-around;
    display: grid;
    grid-template-rows: max-content max-content;
    animation: dialogRight2Left 0.5s forwards;
  }
}
#loginDialog[open]::backdrop, #forgotPasswordDialog[open]::backdrop {
  animation: backdrop-fade-in 0.3s ease-out forwards;
  cursor: url("../../../images/2024/svg/close-solid.svg") 16 16, auto;
}
#loginDialog[open].hideDialog, #forgotPasswordDialog[open].hideDialog {
  animation: dialogTop2Bottom 0.5s forwards;
}
@media screen and (min-width: 768px) {
  #loginDialog[open].hideDialog, #forgotPasswordDialog[open].hideDialog {
    animation: dialogLeft2Right 0.5s forwards;
  }
}
#loginDialog .close-dialog-form .circle-close-btn, #forgotPasswordDialog .close-dialog-form .circle-close-btn {
  top: 1.8em;
  right: var(--side-padding-width);
  display: flex;
  align-items: center;
  justify-content: center;
  clip-path: none;
  border-radius: 100%;
}
#loginDialog header, #forgotPasswordDialog header {
  padding-top: 1.5em;
}
#loginDialog header > span, #forgotPasswordDialog header > span {
  font-size: 1.5em;
  text-align: center;
  width: 100%;
  display: block;
}
#loginDialog form:not(.close-dialog-form), #forgotPasswordDialog form:not(.close-dialog-form) {
  display: flex;
  flex-direction: column;
  gap: 1em;
}

#forgotPasswordDialog header {
  padding-top: 15%;
}
#forgotPasswordDialog header > span {
  font-size: 1.5em;
  text-align: center;
  width: 100%;
  display: block;
}
#forgotPasswordDialog[open] {
  animation: dialogBottom2Top 0.5s forwards;
}
@media screen and (min-width: 768px) {
  #forgotPasswordDialog[open] {
    animation: dialogRight2Left 0.5s forwards;
    display: unset;
    align-content: unset;
  }
}

#login-section {
  margin-bottom: 2%;
}
@media screen and (max-width: 768px) {
  #login-section {
    margin-bottom: 2em;
  }
}
#login-section .form-group {
  position: relative;
}
#login-section .btn-submit {
  background-color: #3275F9;
  color: white;
}
#login-section #toggle-password {
  cursor: pointer;
  position: absolute;
  top: 2.57em;
  right: 1em;
  height: 20px;
}
@media screen and (max-width: 768px) {
  #login-section #toggle-password {
    top: 2.65em;
  }
}
#login-section #login_email:not(.invalid-value) ~ #error_invalid_email {
  display: none;
}
#login-section #password-input:not(.invalid-value) ~ #error_invalid_password {
  display: none;
}
#login-section .error {
  min-width: 368px;
  width: min-content;
  margin: 0.5em 0;
}

#singup-section .btn-submit {
  background-color: white;
  color: #3275F9;
}
#singup-section header {
  padding: 0 0 30px 0;
  text-align: center;
}
@media screen and (max-width: 576px) {
  #singup-section header {
    padding-top: 2em;
  }
}

#login-section, #singup-section form {
  display: flex;
  flex-direction: column;
  gap: 2em;
}
#login-section .form-group, #singup-section form .form-group {
  display: flex;
  flex-direction: column;
  gap: 0.25em;
}

.login_dialog_separator {
  width: 100%;
  text-align: center;
  border-bottom: 1px solid #000;
  line-height: 0.1em;
  margin: 1.75em 0;
}

.login_dialog_separator span {
  background: #fff;
  padding: 0 10px;
}

.family-join-card {
  overflow: hidden;
  position: relative;
  background-color: #3275F9;
  padding: 2em;
  border-radius: 1em;
  cursor: pointer;
}
.family-join-card > p {
  margin-top: 1em;
  inline-size: 65%;
  position: relative;
  z-index: 1;
}
.family-join-card button.btn-submit {
  z-index: 10;
  position: relative;
}
.family-join-card #art-element {
  position: absolute;
  right: -10%;
  top: 50%;
  transform: translate(0, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background-color: #8FB4FF;
  background-clip: content-box;
  border: 30px solid #508AFF;
}
.family-join-card #art-element > div {
  width: 100px;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(255, 255, 255, 0.8);
  clip-path: circle(40%);
}

#forgot-password {
  color: #3275F9;
}
#forgot-password:hover {
  text-decoration: underline;
}

#forgotPasswordDialog {
  padding-bottom: 2em;
}
#forgotPasswordDialog > header {
  margin-bottom: 2em;
}
#forgotPasswordDialog > p {
  margin: 1em 0px;
}
#forgotPasswordDialog #lostPWD_email:not(.invalid-value) ~ #lostpswd_error_invalid_email {
  display: none;
}
#forgotPasswordDialog:not(.submitted) .lostPWD-confirmMsg {
  display: none;
}
#forgotPasswordDialog.submitted #forgotPasswordDialogForm, #forgotPasswordDialog.submitted .lostPWD_msg {
  display: none;
}

#hardBounced_notification section {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
#hardBounced_notification section a {
  width: max-content;
}
#hardBounced_notification section button {
  margin-top: 16px;
}
#hardBounced_notification section .hiddenWithAnimation {
  transform: scale(0.95) !important;
  opacity: 0 !important;
  visibility: hidden;
  pointer-events: none;
}

nav#nav-mobile {
  display: block;
  width: 100%;
  height: 100vh;
  position: absolute;
  bottom: 0;
  background: #FFFFFF;
  z-index: 2;
  transform: translateX(-100%);
  transition: transform 0.5s ease-in-out;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
nav#nav-mobile.open {
  transform: translateX(0);
}
nav#nav-mobile > section {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
}
nav#nav-mobile > section#nav-links {
  padding: 120px 30px 0 30px;
}
nav#nav-mobile > section#nav-links a {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-size: 24px;
  margin: 20px 0;
  width: 100%;
  justify-content: space-between;
}
nav#nav-mobile > section#nav-links a:last-child span {
  background: url("../../../images/2024/svg/union.svg") no-repeat left;
  background-size: 100%;
}
nav#nav-mobile > section#nav-connection {
  justify-content: center;
}
nav#nav-mobile > section#nav-connection .btn-primary-dark-blue {
  margin: auto;
  padding: 10px 20px;
  width: 285px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
nav#nav-mobile > section#nav-connection .btn-primary-dark-blue div {
  width: 70%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
nav#nav-mobile > section#nav-connection .btn-primary-dark-blue div span {
  padding: 0;
}
nav#nav-mobile > section#nav-connection .btn-primary-dark-blue div span:first-child {
  font-size: 12px;
  color: #B9CEFE;
}
nav#nav-mobile > section#nav-connection .btn-primary-dark-blue div span:last-child {
  font-size: 20px;
}
nav#nav-mobile > section#nav-connection .btn-primary-dark-blue img {
  width: 56px;
  height: 56px;
}
nav#nav-mobile > section#nav-connection div .btn-primary-light-blue {
  justify-content: center;
  width: 285px;
}
nav#nav-mobile > section#nav-connection div p {
  margin-top: 15px;
  text-align: center;
  font-size: 14px;
}
nav#nav-mobile > section#nav-connection div p span {
  color: #7D879F;
}
nav#nav-mobile > section#nav-connection div p a {
  font-weight: bold;
  color: #3275F9;
}
@media screen and (min-width: 768px) {
  nav#nav-mobile {
    display: none;
  }
}

main {
  padding-top: 25px;
  transition: opacity 0.4s ease-in-out;
  background-color: #F5F5F5;
  width: 100%;
}
main.search-open {
  opacity: 0.1;
}

@media (min-width: 576px) and (max-width: 991px) {
  .container-sm, .container {
    max-width: revert;
  }
}
a.disabled {
  pointer-events: none;
  opacity: 0.4;
}

.dialog-animation {
  height: 100%;
  max-height: 100%;
  padding: 2em 2em 1em 2em;
  right: -100%;
  transition: all 0.2s ease-in-out;
}
@media screen and (min-width: 768px) {
  .dialog-animation {
    width: 630px;
    border-top-left-radius: 1em;
    border-bottom-left-radius: 1em;
  }
}
.dialog-animation[open] {
  animation: dialogRight2Left 0.4s forwards;
  display: grid;
  grid-template-rows: max-content max-content max-content;
}
.dialog-animation[open].hideDialog {
  animation: dialogTop2Bottom 0.5s forwards;
}
@media screen and (min-width: 768px) {
  .dialog-animation[open].hideDialog {
    animation: dialogLeft2Right 0.5s forwards;
  }
}
.dialog-animation[open]::backdrop {
  animation: backdrop-fade-in 0.6s ease-out forwards;
  cursor: url("../../../images/2024/svg/close-solid.svg") 16 16, auto;
}
.dialog-animation .modal-header {
  display: flex;
  align-items: center;
  margin-bottom: 24px;
  gap: 16px;
}
.dialog-animation .modal-header h2 {
  font-weight: 600 !important;
}
.dialog-animation .modal-header .close-modal-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
}
.dialog-animation .close-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #EEF3FE;
  width: 48px;
  height: 48px;
  border-radius: 100%;
  border: none;
  cursor: pointer;
}
.dialog-animation .close-btn.primary {
  background-color: #3275F9;
}
.dialog-animation .modal-footer {
  display: flex;
  align-items: center;
  gap: 16px;
}

@media screen and (max-width: 768px) {
  .dialog-animation {
    right: 0;
    width: 100%;
    max-width: 768px;
    border-radius: 1em 1em 0 0;
  }
  .dialog-animation[open] {
    animation: dialogBottom2Top 0.5s forwards;
  }
}
.success-message {
  background: #F7F9FF;
  color: #03C69F;
  font-weight: bold;
  margin-top: 10px;
  padding: 5px;
}
.success-message::before {
  content: url("../../../images/2024/svg/success-tick-green.svg");
  padding-inline: 6px;
}

body .main-footer {
  padding: 40px 0;
  background: #121E3C;
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
body .main-footer .footer-text {
  color: #F7F9FF;
  padding: 20px 0px 50px;
  font-size: 9px;
}
body .main-footer .footer-text a {
  color: #F7F9FF !important;
  font-size: 9px;
}
body .main-footer .version-number {
  border-left: 1px solid #F7F9FF;
  padding-left: 5px;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  body .main-footer.has-sticky-btn .footer-text {
    padding-bottom: 3.125em;
  }
}
body .main-footer section {
  display: flex;
  flex-wrap: wrap;
  max-width: 1280px;
  width: 100%;
}
body .main-footer section h2, body .main-footer section p.title {
  color: #F7F9FF;
  font-size: 16px;
  font-weight: bold;
}
body .main-footer section h2 a, body .main-footer section p.title a {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
}
body .main-footer section a:any-link:hover {
  text-decoration: underline;
}
body .main-footer section#top #footer-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
}
@media screen and (min-width: 768px) {
  body .main-footer section#top #footer-links {
    justify-content: unset;
  }
}
@media screen and (min-width: 768px) {
  body .main-footer section#top #footer-links .footer-bloc-link:nth-child(4), body .main-footer section#top #footer-links .footer-bloc-link:nth-child(8) {
    text-align: right;
  }
}
body .main-footer section#top #footer-links .footer-bloc-link:nth-child(4) a, body .main-footer section#top #footer-links .footer-bloc-link:nth-child(8) a {
  font-weight: bold;
}
body .main-footer section#top #footer-links .footer-bloc-link:nth-child(4) a#tel-contact, body .main-footer section#top #footer-links .footer-bloc-link:nth-child(8) a#tel-contact {
  font-size: 20px;
}
body .main-footer section#top #footer-links .footer-bloc-link:nth-child(4) a.contact-support-link > span, body .main-footer section#top #footer-links .footer-bloc-link:nth-child(8) a.contact-support-link > span {
  text-decoration: underline;
}
body .main-footer section#top #footer-links .footer-bloc-link ul {
  margin-top: 16px;
}
body .main-footer section#top #footer-links .footer-bloc-link ul li {
  margin: 5px 0;
  color: #E2EBFE;
  font-size: 14px;
}
body .main-footer section#top #footer-links .footer-bloc-link ul li a {
  color: inherit;
  font-size: inherit;
}
@media screen and (min-width: 768px) {
  body .main-footer section#top #footer-links #footer-partners {
    justify-content: end;
  }
}
body .main-footer section#top #footer-links #footer-partners h2 {
  width: 100%;
  height: 22px;
}
@media screen and (min-width: 768px) {
  body .main-footer section#top #footer-links #footer-partners h2 {
    text-align: end;
  }
}
body .main-footer section#top #footer-links #footer-partners ul {
  display: flex;
  text-align: end;
  flex-wrap: wrap;
  flex-direction: column;
}
@media screen and (max-width: 768px) {
  body .main-footer section#top #footer-links #footer-partners ul {
    flex-direction: row;
    gap: 1em;
  }
}
@media screen and (max-width: 576px) {
  body .main-footer section#top #footer-links #footer-partners ul {
    justify-content: center;
  }
}
body .main-footer section#top #footer-links #footer-partners ul a {
  text-align: end;
  width: 70px;
  height: auto;
}
@media screen and (min-width: 768px) {
  body .main-footer section#top #footer-links #footer-partners ul a img {
    width: auto;
  }
}
body .main-footer section#logos {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}
body .main-footer section#logos div {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 0;
}
@media screen and (max-width: 992px) {
  body .main-footer section#logos div#countries {
    margin-bottom: 22px;
  }
}
body .main-footer section#logos div#countries a {
  width: 24px;
  margin-right: 10px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
body .main-footer section#logos div#countries a img {
  width: 100%;
  height: 100%;
}
body .main-footer section#logos div#payments img {
  height: 20px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-left: 10px;
}
body .main-footer section#bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  body .main-footer section#bottom {
    flex-direction: row;
  }
}
body .main-footer section#bottom div, body .main-footer section#bottom a {
  color: #F7F9FF;
}
body .main-footer section#bottom span {
  font-weight: bold;
}
body .main-footer section#bottom > div #right-reserved {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin-bottom: 2%;
}
@media screen and (min-width: 768px) {
  body .main-footer section#bottom > div #right-reserved {
    justify-content: start;
  }
}
@media screen and (max-width: 768px) {
  body .main-footer section#bottom > div #right-reserved {
    display: block;
  }
}
body .main-footer section#bottom > div #right-reserved span:not(:last-child) {
  border-right: 1px solid #FFFFFF;
  margin-right: 5px;
  padding-right: 5px;
}
body .main-footer section#bottom > div #right-reserved span:last-child {
  margin-left: 5px;
}
body .main-footer section#bottom > div #right-reserved img {
  height: 20px;
  margin-bottom: -3px;
  margin-left: 5px;
}
@media screen and (max-width: 768px) {
  body .main-footer section#bottom > div #right-reserved a {
    display: block;
  }
}
body .main-footer section#bottom > div #legal-infos {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: unset;
  gap: 10px;
}
@media screen and (min-width: 768px) {
  body .main-footer section#bottom > div #legal-infos {
    flex-direction: row;
    margin-top: 16px;
    justify-content: start;
  }
}
@media screen and (max-width: 768px) {
  body .main-footer section#bottom > div #legal-infos {
    margin-bottom: 2%;
  }
}
body .main-footer section#bottom > div:last-child {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 20px;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  body .main-footer section#bottom > div:last-child {
    justify-content: end;
  }
}
@media screen and (max-width: 768px) {
  body .main-footer section#bottom > div:last-child {
    display: -webkit-box;
    padding: 0;
  }
}
body .main-footer section#bottom > div:last-child a {
  display: flex;
  height: 24px;
  margin: 0 5px;
}
@media screen and (max-width: 768px) {
  body .main-footer section#bottom .social-logo-wrapper {
    margin-top: 16px;
  }
}
body .main-footer hr {
  width: 100%;
  border: 1px solid #E2EBFE;
  max-width: 1280px;
}
body .main-footer .logo.left-footer-logo {
  float: left;
  width: 100%;
}

#container-footer-suppliers {
  border-top: 1px solid #dddedf;
}
#container-footer-suppliers .footer-partners {
  border-top: none;
}
@media (max-width: 720px) {
  #container-footer-suppliers {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  body:has(.navbar-fixed-bottom) .footer-text {
    padding-bottom: 3.125em;
  }
}

body .main-footer section#top #footer-links {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
@media screen and (max-width: 767px) {
  body .main-footer section#top #footer-links {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 576px) and (max-width: 767px) {
  body .main-footer section#top #footer-links {
    margin-inline: 24px;
  }
}
@media screen and (max-width: 576px) {
  body .main-footer section#top #footer-links {
    grid-template-columns: 1fr;
  }
}
body .main-footer section#top #footer-links .footer-bloc-link {
  margin-bottom: 16px;
  margin-top: 48px;
  padding: 0;
}
@media screen and (min-width: 768px) {
  body .main-footer section#top #footer-links .footer-bloc-link {
    margin-bottom: 0;
  }
}

#bottom > div:not(.social-logo-wrapper) {
  flex: 0 0 auto;
  width: 75%;
}
@media screen and (max-width: 767px) {
  #bottom > div:not(.social-logo-wrapper) {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  #bottom .social-logo-wrapper {
    flex: 0 0 auto;
    width: 25%;
  }
}
#bottom .right-reserved {
  margin-right: 1rem;
}

#logos {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
#logos div {
  flex: 0 0 auto;
  width: 100%;
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 992px) {
  #logos div {
    width: 50%;
  }
  #logos div#countries {
    justify-content: flex-start;
  }
  #logos div#payments {
    justify-content: end;
  }
}

#top > div:not(#footer-links) {
  justify-content: center;
  display: flex;
  width: 100%;
  flex: 0 0 auto;
}

@media screen and (max-width: 767px) {
  body .main-footer section#logos {
    flex-direction: row;
    justify-content: center;
  }
  #bottom div:last-child {
    margin-bottom: 20px;
  }
}
.rating-column-wrapper .rating-review {
  background-color: #F7F9FF;
  border-radius: 25px;
  height: 200px;
}
.rating-column-wrapper .rating-review .star-rating-row .rating-star.full-star {
  background-image: url("../../../images/2024/svg/rating/star-small-full.svg");
}
.rating-column-wrapper .rating-review .star-rating-row .rating-star.half-star {
  background-image: url("../../../images/2024/svg/rating/star-big-half-full.svg");
  background-size: 17px 16px;
}
@media screen and (max-width: 576px) {
  .rating-column-wrapper .rating-review:last-child, .rating-column-wrapper .rating-review:nth-child(2) {
    display: none;
  }
}

.trusted-logo {
  margin-left: 10px;
}

.rating {
  border-top: 1px solid #dddedf;
  padding-top: 20px;
  display: grid;
  gap: 0.5em;
  position: relative;
}
@media screen and (max-width: 768px) {
  .rating {
    padding-top: 100px;
  }
}
.rating .reviews-count-annotation {
  margin-top: 0.5em;
}
.rating .rating-container-title {
  font-size: 2.37em;
  font-weight: 600;
}
.rating .number-rating {
  font-size: 24px;
  margin-left: 10px;
  font-weight: bold;
  color: #1A1D24;
}
@media screen and (max-width: 768px) {
  .rating .number-rating {
    color: #1A1D24;
  }
}
.rating .annotation {
  font-size: 16px;
  color: #7D879F;
  font-weight: bold;
}
.rating .star-rating-row {
  margin-top: 8px;
  align-items: center;
}
.rating .star-rating-row .rating-star {
  margin-left: 3px;
  margin-right: 3px;
}
.rating .star-rating-row .rating-star {
  width: 24px;
  height: 24px;
  background-position: center;
  background-repeat: no-repeat;
}
.rating .star-rating-row .rating-star.full-star {
  background-image: url("../../../images/2024/svg/rating/star-big-full.svg");
}
.rating .star-rating-row .rating-star.half-star {
  background-image: url("../../../images/2024/svg/rating/star-big-half-full.svg");
}
.rating .reviews-arrow img {
  position: absolute;
  top: 0px;
  left: 0px;
}
@media (max-width: 768px) {
  .rating .reviews-arrow img {
    top: -90px;
    left: 0;
  }
}
@media screen and (min-width: 768px) {
  .rating {
    padding: 80px 0 40px 0;
  }
}
@media screen and (max-width: 768px) {
  .rating {
    padding: 100px 24px 40px;
  }
  .rating .rating-container-title {
    font-size: 1.25em;
    line-height: 1.7em;
    text-wrap: balance;
  }
}

.star-rating-row {
  display: flex;
  align-items: center;
}

.rating {
  display: grid;
  justify-content: center;
}
.rating .star-rating-row {
  justify-content: center;
}
.rating .reviews-count-annotation {
  text-align: center;
}

.footer-rating {
  margin-bottom: 80px;
}

@media screen and (max-width: 768px) {
  .rating #footer-rating-title.rating-container-title {
    text-align: center;
    font-weight: bold;
    font-size: 20px;
  }
  .footer-rating {
    margin-bottom: 40px;
  }
}
.footer-rating-slider {
  max-width: 1040px !important;
  margin: 0 auto;
  padding-inline: 40px;
}
@media screen and (max-width: 768px) {
  .footer-rating-slider {
    padding-inline: 20px;
  }
}
.footer-rating-slider.with-buttons {
  display: grid;
  grid-template-columns: max-content 1fr max-content;
  gap: 12px;
  align-items: center;
  justify-content: center;
}
.footer-rating-slider :is(.left-direction, .right-direction) {
  border: none;
  background-color: transparent;
  background-repeat: no-repeat;
  width: 16px;
  height: 20px;
  background-position: center;
  cursor: pointer;
  transform: scale(1.5, 1.5);
}
.footer-rating-slider .right-direction {
  background-image: url("../../../images/2024/svg/arrow-right-gray.svg");
}
.footer-rating-slider .left-direction {
  background-image: url("../../../images/2024/svg/arrow-right-gray.svg");
  transform: scale(-1.5, 1.5);
}

.rating-row-wrapper {
  overflow: hidden;
}
.rating-row-wrapper .owl-carousel {
  display: grid;
  grid-auto-flow: column;
}
.rating-row-wrapper .owl-carousel.transition {
  transition: 0.4s;
}
.rating-row-wrapper .rating-column-wrapper {
  display: grid;
  width: var(--slider-width);
  gap: 24px;
}
@media screen and (min-width: 900px) {
  .rating-row-wrapper .rating-column-wrapper {
    grid-auto-flow: column;
  }
}
@media screen and (min-width: 768px) {
  .rating-row-wrapper .rating-column-wrapper {
    grid-template-columns: repeat(3, minmax(250px, 1fr));
  }
}
@media (min-width: 900.5px) and (max-width: 950px) {
  .rating-row-wrapper .rating-column-wrapper {
    grid-template-columns: repeat(3, minmax(200px, 1fr));
  }
}
@media (min-width: 768px) and (max-width: 900.5px) {
  .rating-row-wrapper .rating-column-wrapper {
    grid-template-columns: repeat(2, minmax(250px, 1fr));
  }
  .rating-row-wrapper .rating-column-wrapper .rating-review:last-child {
    grid-column: span 2;
    justify-self: center;
    width: 50%;
    max-width: 350px;
  }
}
.rating-row-wrapper .rating-review {
  margin: 0px;
  padding: 32px;
  display: grid;
  gap: 8px;
  grid-template-rows: max-content max-content 1fr max-content;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.rating-row-wrapper .rating-review .star-rating-row {
  gap: 3px;
}
.rating-row-wrapper .rating-review .rating-star {
  width: 16px;
  height: 16px;
}
.rating-row-wrapper .rating-review .rating-date {
  font-size: 12px;
  color: #BDC4D7;
}
@media screen and (max-width: 500px) {
  .rating-row-wrapper .rating-review {
    width: 70vw !important;
    margin: 0 auto;
  }
}
.rating-row-wrapper .rating-description {
  text-overflow: ellipsis;
  overflow: hidden;
}
.rating-row-wrapper .hidden {
  display: none;
}

.tpp-active-dialog .tpp-warning-header {
  font-size: 24px;
  font-weight: 700;
}
.tpp-active-dialog .tpp-warning-header, .tpp-active-dialog .tpp-warning {
  text-align: center;
}
.tpp-active-dialog .tpp-warning {
  color: #FF4D4D;
  font-size: 16px;
  margin-top: 16px;
}

.cancel-confirmation-dialog #confirmCancelTppForm {
  display: grid;
  row-gap: 16px;
}

.tpp-active-dialog {
  max-width: 618px;
  padding: 40px;
  border-radius: 16px;
  font-size: 16px;
}
.tpp-active-dialog .circle-close-btn {
  font-size: 16px;
}
.tpp-active-dialog header:not(.left-close) {
  font-size: 24px;
  font-weight: 600;
  text-align: center;
  margin-bottom: 48px;
}
.tpp-active-dialog .buttons {
  margin-top: 72px;
  display: grid;
  row-gap: 16px;
}

#tp_vat_change_detected_dialog > footer > form {
  display: grid;
  gap: 16px;
}
@media screen and (min-width: 768px) {
  #tp_vat_change_detected_dialog > footer > form {
    grid-template-columns: max-content max-content;
  }
}

.cancel-confirmation-dialog .tpp-warning-header {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 48px;
}
@media screen and (min-width: 768px) {
  .cancel-confirmation-dialog footer #confirmCancelTppForm {
    display: flex;
    gap: 10px;
  }
}

#page_body {
  background-color: #F7F9FF;
}
@media screen and (min-width: 768px) {
  #page_body {
    padding-bottom: 96px;
  }
}
@media screen and (max-width: 768px) {
  #page_body {
    padding-top: 24px;
    padding-bottom: 64px;
  }
}

input[type=radio] {
  margin: 0px;
}

.product .label-text abbr {
  color: #7D879F;
}

.shipping-section {
  margin-top: 20px;
  display: grid;
  gap: 0.5em;
  line-height: 1.8em;
}
.shipping-section h3 {
  font-size: 20px;
  font-weight: 600;
}
.shipping-section #shippingTime {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.shipping-section #shippingTime .in-stock {
  color: #46B86C;
  width: 100%;
  order: 2;
}
.shipping-section #shippingTime .no-stock {
  color: #FF9500;
}
#error-params ~ .shipping-section #shippingTime .no-stock {
  display: none;
}
.shipping-section #shippingTime .invalid-params {
  color: #FF4D4D;
}
.shipping-section .tooltip-information {
  margin-left: 0.5em;
  display: inline-block;
  border: solid 2px #3275F9;
  border-radius: 1em;
  line-height: 1.4em;
  width: 1.6em;
  color: #3275F9;
  font-weight: 700;
  font-size: 0.9em;
  text-align: center;
  vertical-align: middle;
}
.shipping-section .tooltip-information.tooltip-full-row .tooltip-text {
  transform: translateX(-60%);
}
.shipping-section .tooltip-information .tooltip-text {
  color: black;
}
.shipping-section time {
  color: black;
  display: inline-flex;
  gap: 0.5em;
  font-weight: 700;
  vertical-align: middle;
}
.shipping-section time::before {
  content: url("../../../images/2024/svg/shipping/car.svg");
  padding-top: 1.3px; /* ?? flex align not working */
}

.product .same-correction {
  display: flex;
  gap: 2em;
}
@media screen and (max-width: 768px) {
  .product .same-correction {
    justify-content: space-between;
  }
}
.product .param-list {
  display: grid;
  grid-template-columns: max-content 1fr 1fr;
  margin-top: 1.5em;
  align-items: center;
  row-gap: 0.5em;
  column-gap: 1em;
}
@media screen and (max-width: 768px) {
  .product .param-list {
    row-gap: 1em;
  }
}
.product .param-list .eye-title {
  justify-self: center;
}
.product .param-list .hidden {
  display: none;
}
.product .param-list .param-label .label-text {
  display: flex;
  align-items: center;
  gap: 0.25em;
  line-height: 16px;
}
.product .param-list .param-label .label-text .tooltip-information img {
  display: block;
}
@media screen and (min-width: 768px) {
  .product .param-list .param-label .label-text .tooltip-information {
    padding-left: 0.5em;
  }
}
.product .param-list input:user-invalid, .product .param-list select:user-invalid {
  border-color: #FF9500;
}
@media screen and (max-width: 768px) {
  .product .param-list {
    column-gap: 8px;
  }
  .product .param-list .param-label {
    display: grid;
    column-gap: 3px;
    align-items: center;
    grid-template-columns: max-content max-content;
  }
  .product .param-list .param-label:first-of-type {
    margin-top: 0;
  }
  .product .param-list .param-label:not(:first-of-type) {
    margin-top: 0.5em;
  }
  .product .param-list .param-label .label-text {
    display: grid;
    align-items: center;
    width: max-content;
    padding: 0.5em 0;
  }
  .product .param-list .param-label .label-line {
    background-color: #F3F5FB;
    height: 2px;
  }
  .product .param-list .param-label > abbr {
    grid-row: 2;
  }
  .product .param-list .param-label .tooltip-with-img-icon {
    grid-row: 1;
    grid-column: 2;
  }
}
@media (width >= 768px) {
  .product .param-list .param-label .label-text b .desktop-only {
    display: block;
  }
}
@media screen and (max-width: 389px) {
  .product .param-list .param-label {
    grid-template-columns: auto;
  }
  .product .param-list .param-label .tooltip-with-img-icon {
    grid-row: 2;
    grid-column: 1;
  }
}
.product [data-eye-label] input {
  width: 100%;
}
.product select {
  -webkit-appearance: none;
  text-align: center;
  text-align: -webkit-center;
  text-align-last: center;
  color: #7D879F;
}
.product select:has(option:not([value=""]):checked) {
  color: #393F4D;
}
.product select option {
  color: #393F4D;
  font-weight: 500;
}
.product .product_param_comp {
  text-align: center;
}
.product .product_param_comp::placeholder {
  color: #393F4D;
}
@media screen and (max-width: 768px) {
  .product input:read-only {
    border-radius: 8px;
    padding: 1em;
    border: 2px solid #F3F5FB;
  }
}
.product input:read-only:not(.product_param_comp) {
  background-color: transparent;
  color: #393F4D;
  text-align: center;
}
.product input.input-number {
  /* Firefox */
  -moz-appearance: textfield;
  text-align: center;
  font-weight: 700;
  flex: 1;
}
.product input.input-number::-webkit-outer-spin-button, .product input.input-number::-webkit-inner-spin-button {
  -webkit-appearance: none;
}
.product .switch input:focus + .slider {
  outline: 2px solid #3275F9;
  outline-offset: 2px;
}
@media screen and (min-width: 768px) {
  .product .same-correction:has(.switch #use_same_configuration:checked) + .param-list {
    grid-template-columns: max-content 1fr;
  }
}
.product .same-correction:has(.switch #use_same_configuration:checked) + .param-list [data-eye=L] {
  display: none;
}
.product .same-correction:has(.switch #use_same_configuration:checked) + .param-list [data-eye=R] {
  justify-self: center;
  margin-inline: auto;
  width: 100%;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .product .same-correction:has(.switch #use_same_configuration:checked) + .param-list [data-eye=R] {
    grid-column: span 2;
  }
}
@media screen and (min-width: 768px) {
  .product .same-correction:has(.switch #use_same_configuration:checked) + .param-list [data-eye=R] {
    max-width: 180px;
  }
}
.product .arrow-promo {
  display: grid;
  align-items: center;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
}
.product .arrow-promo img {
  transform: scale(-1.2, 1.2) rotate(10deg);
  align-self: center;
  justify-self: right;
}

.breadcrumbs-nav {
  padding-bottom: 2em;
  font-weight: 500;
}
.breadcrumbs-nav > ul {
  display: flex;
  align-items: center;
  gap: 0.5em;
  margin-block: 0px;
}
@media screen and (max-width: 768px) {
  .breadcrumbs-nav > ul {
    flex-wrap: wrap;
    justify-content: center;
  }
}
.breadcrumbs-nav .breadcrumb-item::after {
  content: url('data:image/svg+xml;utf8,<svg width="4" height="8" viewBox="0 0 4 8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.5 7L3.5 4L0.5 1" stroke="gray" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  padding-left: 0.5em;
  color: #7D879F;
}
.breadcrumbs-nav a {
  color: #7D879F;
}

.reduced-price-wrapper {
  display: flex;
  gap: 0.8em;
  align-items: center;
}

.old-price {
  text-decoration: line-through;
  font-size: 0.9em;
}

.new-price, .promo-msg {
  background-color: #FFE989;
  padding: 0.4em 0.5em;
  border-radius: 0.5em;
}

.promo-msg {
  display: inline-block;
}

.arrow {
  border: solid #7D879F;
  border-width: 0 2.25px 2.25px 0;
  display: inline-block;
  padding: 2.25px;
  position: absolute;
  top: 17px;
  right: 8px;
}
.arrow.down {
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}

.lens-guide {
  container: lens-guide/inline-size;
}
.lens-guide span {
  color: #7D879F;
}
.lens-guide a {
  font-weight: bold;
}

@container lens-guide (width >= 60ch) {
  p span {
    padding-right: 16px;
  }
}
@container lens-guide (width < 60ch) {
  p {
    display: grid;
    row-gap: 16px;
  }
}
.product {
  --img-left-margin: 115px;
  display: grid;
}
.product header .base_anchor {
  font-weight: 700;
}
.product .extra-data {
  display: none;
}
@media screen and (max-width: 768px) {
  .product .ld-text {
    display: none;
  }
}
@media screen and (min-width: 870px) {
  .product {
    padding-bottom: 1em;
    grid-template-rows: max-content 1fr;
    row-gap: 1em;
    column-gap: 1em;
  }
  .product #product_image_section .extra-data {
    margin-top: 1em;
    display: grid;
    row-gap: 1em;
  }
}
@media screen and (min-width: 960px) {
  .product {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 870px) and (max-width: 959.5px) {
  .product {
    grid-template-columns: minmax(350px, 0.5fr) 1fr;
  }
}
@media screen and (min-width: 1150px) {
  .product {
    column-gap: 1em;
    position: relative;
  }
  .product .mb-text {
    display: none;
  }
  .product .more-views-containers ~ .ce-statement {
    grid-column: 2;
  }
  .product .product-img {
    position: sticky;
    top: 0px;
  }
  .product .product-info {
    grid-row: 1/span 2;
    grid-column: 2;
  }
  .product #product_image_section .has-image-list ~ .extra-data {
    margin-left: var(--img-left-margin);
  }
  .product #product_image_section .extra-data {
    grid-template-columns: 1fr 1fr;
    column-gap: 1em;
  }
  .product .description-group {
    grid-column: 2;
  }
}
@media screen and (max-width: 768px) {
  .product > .extra-data {
    display: grid;
    row-gap: 1em;
    grid-row: 4;
  }
}
@media screen and (max-width: 1150px) {
  .product {
    row-gap: 1.5em;
  }
  .product .more-views-containers {
    background-color: white;
    grid-row: 2;
    border-bottom-left-radius: 1em;
    border-bottom-right-radius: 1em;
    padding: 0 2em 1.31em 2em;
  }
  .product .ce-statement {
    margin-top: 1em;
  }
}
.product .product-info {
  background-color: white;
  padding: 2em;
}
@media screen and (max-width: 768px) {
  .product .product-info {
    padding: 16px;
  }
}
.product .product-info h1 {
  margin: 0;
}
.product .product-images {
  display: grid;
}
@media screen and (min-width: 1150px) {
  .product .product-images {
    column-gap: 1em;
    grid-template-rows: 400px 65px;
  }
  .product .product-images .images-list {
    width: 100px;
  }
  .product .product-images .more-views-containers {
    grid-row-start: 1;
  }
}
.product .product-images .images-list {
  display: grid;
  gap: 0.5em;
}
.product .product-images .images-list img {
  width: 100%;
  height: auto;
}
.product .product-images .images-list .img-border {
  border: 1.06px solid #D7DDEB;
  border-radius: 4.22px;
}
@media screen and (min-width: 768px) {
  .product .product-images .images-list .img-border {
    border: 2px solid #D7DDEB;
    border-radius: 8px;
  }
  .product .product-images .images-list .img-border:hover {
    border: 3px solid #3275F9;
  }
}
.product .product-images .images-list .img-border:hover {
  border: 2px solid #3275F9;
}
@media screen and (min-width: 1150px) {
  .product .product-images .images-list {
    max-height: 465px;
    overflow: auto;
    /* Hide scrollbar for IE, Edge and Firefox */
    -ms-overflow-style: none; /* IE and Edge */
    scrollbar-width: none; /* Firefox */
  }
  .product .product-images .images-list::-webkit-scrollbar {
    display: none;
  }
}
@media screen and (max-width: 1150px) {
  .product .product-images .images-list {
    display: flex;
    overflow: auto;
    max-width: calc(100vw - 7em);
  }
  .product .product-images .images-list img {
    width: 52.78px;
    height: 100%;
  }
}
.product .product-images .product-image-block {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.product .product-images .product-image-block .current-image {
  text-align: center;
  background-color: #FFFFFF;
  border-radius: 0.5em;
}
@media screen and (min-width: 1150px) {
  .product .product-images .product-image-block .current-image {
    padding: 24px 34px 0 34px;
  }
}
.product .product-images .product-image-block .current-image .product-image {
  width: 290px;
  height: 290px;
}
@media screen and (min-width: 1150px) {
  .product .product-images .product-image-block .current-image .product-image {
    width: 378px;
    height: 378px;
  }
}
.product h1 {
  font-size: 24px;
}
@media screen and (max-width: 768px) {
  .product h1, .product h2 {
    font-size: 20px;
  }
}
.product [role=doc-subtitle] {
  line-height: 2em;
}
.product .product-info {
  display: grid;
  row-gap: 1em;
  border-radius: 0.5em;
}
@media screen and (min-width: 576px) {
  .product .product-info {
    grid-template-rows: 0.2fr max-content 1fr;
  }
}
.product .product-switch-card {
  row-gap: 1em;
  border-radius: 8px;
  background: #F7F9FF;
  padding: 0.5em;
  flex: 1;
  border: 2px solid transparent;
}
.product .product-switch-card .price {
  font-size: 1.2em;
  margin-left: 1em;
}
.product .product-switch-card .cheapest-price {
  color: #3275F9;
  font-weight: 700;
}
.product .product-switch-card .cheapest-price:after {
  content: "!";
  padding-right: 2px;
}
.product .product-card-info-list {
  display: grid;
  row-gap: 1em;
}
@media screen and (min-width: 768px) {
  .product .product-card-info-list {
    grid-template-columns: 1fr 1fr;
    column-gap: 1em;
  }
}
@media screen and (max-width: 768px) {
  .product .product-card-info-list .arrow-promo {
    display: none;
  }
}
.product .product-card-info-list .product-switch-card .switch-text {
  display: flex;
  align-items: center;
  gap: 0.5em;
}
.product .product-card-info-list .product-switch-card:not(article):hover, .product .product-card-info-list .product-switch-card:has(input:checked) {
  border: 2px solid #3275F9;
}
.product .product-card-info-list.degressive {
  display: flex;
  flex-wrap: wrap;
}
.product .product-card-info-list.degressive .product-switch-card {
  display: flex;
  align-items: center;
  gap: 1em;
  width: 100%;
  flex: unset;
}
@media screen and (min-width: 576px) {
  .product .product-card-info-list.degressive .product-switch-card {
    width: 68%;
  }
}
.product .product-card-info-list.degressive .price {
  margin-left: 0;
}
.product .extra-data .extra-commerce-box {
  padding: 16px;
  background-color: #FFFFFF;
  display: grid;
  justify-items: center;
  gap: 8px;
  border-radius: 12px;
  margin-top: 0;
  margin-bottom: 0;
}
.product .extra-data .extra-commerce-box .tooltip-information {
  margin-left: 0.4em;
}
@media (min-width: 870px) and (max-width: 1150px) {
  .product .description-group {
    grid-column: span 2;
  }
}
.product .ce-statement {
  display: flex;
  gap: 16px;
  align-items: center;
  background: #FFFFFF;
  padding: 16px 24px;
  border-radius: 8px;
}
@media screen and (min-width: 768px) {
  .product .ce-statement {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }
}
.product .ce-statement span {
  font-size: 10px;
}
.product .submit-button {
  height: 8em;
  background-color: white;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .product .submit-button {
    padding: 1.5em;
  }
}
.product #submit_form {
  display: grid;
  row-gap: 1.5em;
  margin-top: 16px;
}
@media screen and (max-width: 768px) {
  .product #submit_form {
    row-gap: 1em;
  }
}
.product input, .product select {
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .product .submit-footer {
    margin-top: 2em;
    position: sticky;
    bottom: 1.25em;
  }
}
.product .submit-footer .btn-submit {
  cursor: pointer;
  margin-left: auto;
}
@media (min-width: 768px) and (max-width: 870px) {
  .product .submit-footer .btn-submit {
    margin-right: auto;
  }
}
@media screen and (max-width: 768px) {
  .product .submit-footer {
    position: fixed;
    bottom: 1em;
    left: 0;
    right: 0;
    z-index: 1;
    width: 100vw;
  }
  .product .submit-footer .btn-submit {
    margin-inline: auto;
    width: min(100vw - 64px, 406px);
  }
}

.degressive-price-title > span {
  font-weight: bold;
}

.description-group {
  background-color: white;
  border-radius: 0.5em;
}
.description-group ul {
  margin: 0;
}
.description-group ul li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  padding: 24px;
}
.description-group ul li:hover {
  background-color: #F7F9FF;
}
.description-group ul li::after {
  content: "";
  width: 32px;
  height: 32px;
  background-image: url("../../../images/2024/svg/arrow-right-blue.svg");
  background-repeat: no-repeat;
  background-position: 13px center;
}
@media screen and (max-width: 768px) {
  .description-group ul li::after {
    background-image: url("../../../images/2024/svg/arrow-right-white.svg");
    background-position: 11px center;
    width: 28px;
    height: 28px;
    border-radius: 100%;
    background-color: #3275F9;
  }
}
.description-group ul li h2 {
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .description-group {
    padding-inline: 0.5em;
  }
  .description-group ul li:not(:last-of-type) {
    border-bottom: 3px solid #F3F5FB;
  }
  .description-group ul li:hover::after {
    background-color: #1340AA;
  }
}
@media screen and (min-width: 768px) {
  .description-group {
    border-radius: 1em;
    padding: 0.5em;
  }
  .description-group ul li {
    border-radius: 1em;
  }
}
@media (min-width: 870px) and (max-width: 1150px) {
  .description-group {
    grid-column: span 2;
  }
}

dialog.right-sidebar-popup td {
  padding: 0.4em;
}

.text-heading, #cross-sell-products .cross-sell-products h2, .description-group ul li h2 {
  font-size: 20px;
  margin: 0;
}

#cross-sell-products {
  padding-top: 6em;
  display: grid;
  gap: 2.5em;
}
#cross-sell-products .cross-sell-products {
  position: relative;
  justify-content: center;
  display: flex;
}
#cross-sell-products .cross-sell-products .product-card {
  width: clamp(163px, 25%, 312px);
}
@media screen and (max-width: 992px) {
  #cross-sell-products .cross-sell-products .product-card {
    width: clamp(163px, 33%, 312px);
  }
}
@media screen and (max-width: 768px) {
  #cross-sell-products {
    padding-top: 24px;
  }
  #cross-sell-products .cross-sell-products .product-card {
    width: clamp(163px, 50%, 312px);
  }
}

.btn-link {
  display: grid;
  place-items: center;
}

.circle-background {
  display: flex;
  background: #E2EBFE;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
}
.circle-background.big-circle {
  width: 64px;
  height: 64px;
}
.circle-background.small-circle {
  width: 32px;
  height: 32px;
}

button[name=add_cart_submit] {
  background-color: #1340AA;
  color: #FFFFFF;
  border-radius: 100px;
  border: none;
  height: 60px;
  display: flex;
  align-items: center;
  padding: 0 10px;
  width: 330px;
}
button[name=add_cart_submit].disabled {
  background-color: #7D879F;
  color: #e8e6e6;
  cursor: not-allowed !important;
}
button[name=add_cart_submit] .btn-text {
  flex: 1;
  text-align: center;
}
button[name=add_cart_submit] .circle-background {
  background-color: #FE67F8;
  height: 40px;
  width: 40px;
}

.R-eye.error, .L-eye.error {
  color: #FF4D4D;
  border: 2px solid #FF4D4D !important;
}

#description_dialog a:not(.classic_link, .btn-primary-dark-blue, .btn-pink, .btn-transparent) {
  color: revert;
}

section.seo-editorial[data-position=footer] {
  margin-top: 5em;
}

.seo-editorial[data-position=footer] + #cross-sell-products {
  padding-top: 3em;
}

.description-eol .btn.btn-pink, .description-eol .btn-pink.btn-primary-blue, .description-eol .btn-pink.btn-primary-red, .description-eol .btn-pink.btn-primary-dark-blue, .description-eol .btn-pink.btn-primary-light-blue, .description-eol .btn-pink.btn-primary-light-blue-2, .description-eol .btn-pink.btn-primary-light-red, .description-eol .btn-pink.btn-primary-white {
  width: 100%;
  background-color: #1340AA;
  color: white;
  text-align: center;
  padding: 1em;
  justify-content: center;
}
.description-eol [color="#a65273"] {
  color: #F20D0D !important;
}

dialog:not(.right-sidebar-popup) {
  border: 1px solid #D7DDEB;
  padding: 1.25rem;
  border-radius: 8px;
}
dialog:not(.right-sidebar-popup) button {
  border: none;
  border-radius: 8px;
}
dialog:not(.right-sidebar-popup)#positive-and-negative-modal > div:first-child {
  margin-bottom: 1.25rem;
}
dialog:not(.right-sidebar-popup)#positive-and-negative-modal .positive-and-negative-modal-buttons {
  display: grid;
  grid-auto-flow: column;
  grid-column-gap: 2.5rem;
}
dialog:not(.right-sidebar-popup)#positive-and-negative-modal .positive-and-negative-modal-buttons > button {
  text-align: center;
  font-size: inherit;
  padding-block: 8px;
  justify-content: center;
}

#continueCartDialog {
  padding: 0px;
  background-color: #F7F9FF;
}
#continueCartDialog > header {
  padding: 24px 24px 30px;
}
#continueCartDialog header, #continueCartDialog footer {
  text-align: center;
}
#continueCartDialog h2 {
  font-size: 1.25em;
}
#continueCartDialog article:not(.cross-sell-product) {
  padding-bottom: 24px;
  padding-inline: 48px;
  display: flex;
  flex-direction: column;
  gap: 35px;
  padding-top: 74px;
}
@media screen and (max-width: 768px) {
  #continueCartDialog article:not(.cross-sell-product) {
    padding-top: 24px;
  }
}
#continueCartDialog article:not(.cross-sell-product) .badge {
  position: static;
  margin-left: auto;
  margin-right: auto;
  width: fit-content;
  text-transform: none;
  margin-bottom: 16px;
}
#continueCartDialog article:not(.cross-sell-product) .brand {
  color: #3275F9;
  font-weight: bold;
}
#continueCartDialog .article-product-card {
  background-color: white;
  padding: 8px;
  border-radius: 16px;
  display: grid;
  grid-template-columns: max-content 1fr;
  align-items: center;
  height: max-content;
  border: 2px solid transparent;
}
#continueCartDialog .article-product-card:hover {
  border-color: #D7DDEB;
}
#continueCartDialog .article-product-card:hover .text-heading, #continueCartDialog .article-product-card:hover .description-group ul li h2, .description-group ul li #continueCartDialog .article-product-card:hover h2, #continueCartDialog .article-product-card:hover #cross-sell-products .cross-sell-products h2, #cross-sell-products .cross-sell-products #continueCartDialog .article-product-card:hover h2 {
  text-decoration: underline;
}
#continueCartDialog .product-info {
  padding: 24px;
}
#continueCartDialog .cta-promo-msg {
  margin-top: 16px;
  font-size: 10px;
}
#continueCartDialog .cta-promo-msg > span {
  font-weight: 700;
  color: #3275F9;
}
#continueCartDialog .btn-dark-blue {
  width: 100%;
  font-weight: bold;
  font-size: 16px;
  padding-block: 13px;
  cursor: pointer;
}
#continueCartDialog .btn-dark-blue:hover {
  background-color: #0d296b;
}
#continueCartDialog .action_buttons {
  gap: 8px;
  display: grid;
  padding-inline: 24px;
  padding-bottom: 18px;
}
#continueCartDialog .action_buttons button {
  border: none;
  display: block;
  border-radius: 100px;
  width: 100%;
  font-weight: bold;
  font-size: 16px;
  padding-block: 13px;
  cursor: pointer;
}
#continueCartDialog .btn-next {
  background-color: #3275F9;
  cursor: pointer;
}
#continueCartDialog .btn-next:hover {
  background-color: #1340AA;
}
#continueCartDialog .pill-shape {
  background-color: white;
  padding-block: 25px;
  border-radius: 100px;
}
#continueCartDialog[open][data-includes-samples="1"], #continueCartDialog[open][data-includes-switch="1"] {
  display: grid;
  grid-template-rows: max-content max-content 1fr;
}
@media screen and (min-width: 768px) {
  #continueCartDialog[open][data-includes-samples="1"] .action_buttons, #continueCartDialog[open][data-includes-switch="1"] .action_buttons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
}
@media screen and (max-width: 768px) {
  #continueCartDialog[open][data-includes-samples="1"], #continueCartDialog[open][data-includes-switch="1"] {
    display: grid;
    grid-template-rows: max-content max-content max-content;
  }
  #continueCartDialog[open][data-includes-samples="1"] > header, #continueCartDialog[open][data-includes-switch="1"] > header {
    padding-block: 16px;
  }
  #continueCartDialog[open][data-includes-samples="1"] header h2, #continueCartDialog[open][data-includes-switch="1"] header h2 {
    padding-left: 24px;
  }
  #continueCartDialog[open][data-includes-samples="1"] > footer, #continueCartDialog[open][data-includes-switch="1"] > footer {
    padding-bottom: 40px; /* mobile correction*/
  }
  #continueCartDialog[open][data-includes-samples="1"] .action_buttons, #continueCartDialog[open][data-includes-switch="1"] .action_buttons {
    padding-block: 24px;
    grid-row: 2; /* on second position */
  }
  #continueCartDialog[open][data-includes-samples="1"] article, #continueCartDialog[open][data-includes-switch="1"] article {
    display: grid;
  }
  #continueCartDialog[open][data-includes-samples="1"] article .offers, #continueCartDialog[open][data-includes-switch="1"] article .offers {
    padding: 24px;
  }
  #continueCartDialog[open][data-includes-samples="1"] article .offers header, #continueCartDialog[open][data-includes-switch="1"] article .offers header {
    background: none;
  }
}
#continueCartDialog[data-includes-samples="0"][data-includes-switch="0"] > header {
  background-color: white;
}
#continueCartDialog[data-includes-samples="0"][data-includes-switch="0"] .action_buttons {
  padding-bottom: 40px;
}
#continueCartDialog .offer-success-msg {
  display: none;
}
#continueCartDialog .offer-added #add_sample_button, #continueCartDialog .offer-added .cta-promo-msg {
  display: none;
}
#continueCartDialog .offer-added .offer-success-msg {
  color: #03C69F;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
#continueCartDialog .offer-added .offer-success-msg::before {
  content: url("../../../images/2024/svg/success-tick-green.svg");
  padding-inline: 6px;
}
@media screen and (min-width: 768px) {
  #continueCartDialog {
    width: 520px;
  }
}
#continueCartDialog #cross-sell {
  padding-bottom: 3em;
  position: relative;
}
#continueCartDialog #cross-sell h2 {
  padding-block: 24px;
  padding-inline: 48px;
}
#continueCartDialog #cross-sell #cross-sell-products-choice {
  display: flex;
  flex-wrap: wrap;
}
#continueCartDialog #cross-sell .product-added-confirmation {
  position: absolute;
  right: 10%;
  background: #03C69F;
  color: #FFFFFF;
  padding: 10px;
  border-radius: 8px;
  top: 10%;
}

.product-switch-article {
  padding: 24px;
  margin-top: 4%;
}

.product-switch-article .btn-switch {
  border-radius: 100px;
}

[itemprop=description] > header {
  padding-bottom: 16px;
  margin-bottom: 8px;
}

@media screen and (min-width: 768px) {
  .description-dialog {
    width: 520px;
  }
}
.product-card-list {
  display: grid;
  gap: 24px;
}
.product-card-list p.text-black {
  font-weight: bold;
}
.product-card-list h2, .product-card-list h3, .product-card-list p.text-black {
  font-size: 18px;
}
.product-card-list [data-img=product] {
  max-height: 204px;
  transition: transform 0.5s ease-in-out;
}
.product-card-list .product-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  grid-row: span 4;
  gap: 0px;
  position: relative;
  border-radius: 16px;
  background: #FFFFFF;
  padding: 24px;
  cursor: pointer;
  border: 1px solid transparent;
  transition: all 0.25s ease-in-out;
}
@media screen and (max-width: 576px) {
  .product-card-list .product-card {
    padding: 16px;
  }
}
.product-card-list .product-card:hover {
  box-shadow: 0 4px 16px -3px rgba(0, 0, 0, 0.25);
}
.product-card-list .product-card figure {
  text-align: center;
}
.product-card-list .product-card .subheading > p {
  padding-top: 4px;
}
.product-card-list .product-card .description {
  color: #7D879F;
}
.product-card-list .product-card .brand {
  color: #3275F9;
}
.product-card-list .product-card footer {
  container-type: inline-size;
  container-name: product-card-footer;
  margin-top: 24px;
  display: grid;
  grid-template-columns: 1fr max-content;
  column-gap: 6px;
  align-items: center;
}
.product-card-list .product-card.cross-sell-product.horizontal {
  width: 90%;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  gap: 0 !important;
  opacity: 1;
  transition: all 1.5s ease-in-out;
}
.product-card-list .product-card.cross-sell-product.horizontal > a {
  display: flex;
  flex-wrap: wrap;
  width: 30%;
  max-width: 130px;
  max-height: 130px;
}
.product-card-list .product-card.cross-sell-product.horizontal > a figure {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.product-card-list .product-card.cross-sell-product.horizontal > a figure img {
  width: 100%;
}
.product-card-list .product-card.cross-sell-product.horizontal > div:not(.badge) {
  width: 68%;
}
.product-card-list .product-card.cross-sell-product.horizontal div.badge {
  position: absolute;
  width: auto;
}
.product-card-list .product-card.cross-sell-product.horizontal button {
  position: absolute;
  bottom: 15px;
  right: 20px;
  border-radius: 50%;
  width: 48px;
  height: 48px;
  font-size: 25px;
  border: unset;
  cursor: pointer;
  transition: all 0.5s ease-in-out;
  display: flex;
  flex-wrap: wrap;
  padding: 0;
}
.product-card-list .product-card.cross-sell-product.horizontal button:hover {
  transform: rotate(360deg);
}
.product-card-list .product-card.cross-sell-product.horizontal button img {
  width: 100%;
  height: 100%;
}
.product-card-list .product-card.cross-sell-product.horizontal footer {
  container-type: normal;
  margin-top: 8px;
}
.product-card-list .prices span.net-price {
  font-size: 20px;
  color: #1A1D24;
  font-weight: bold;
}
@media screen and (min-width: 576px) {
  .product-card-list .prices span.net-price {
    padding-left: 8px;
  }
}
.product-card-list .prices span.net-price.promo {
  background: #FFE989;
  border-radius: 4px;
  padding-block: 4px;
  padding-inline: 8px;
}
@media screen and (min-width: 576px) {
  .product-card-list .prices span.net-price.promo {
    padding-inline: 4px;
  }
}
.product-card-list .prices span.brut-price {
  font-size: 16px;
  text-decoration: line-through;
  color: #393F4D;
}
@media screen and (max-width: 576px) {
  .product-card-list .prices span.brut-price {
    font-size: 12px;
  }
}
.product-card-list .prices .promo-msg {
  display: inline-block;
  background: #FFE989;
  border-radius: 4px;
  padding-block: 4px;
  padding-inline: 8px;
  font-weight: bold;
  margin-left: 1ch;
}
@media screen and (min-width: 576px) {
  .product-card-list .prices .promo-msg {
    font-size: 16px;
  }
}
.product-card-list .prices.promo {
  display: flex;
  gap: 16px;
  align-items: center;
}
@media screen and (max-width: 576px) {
  .product-card-list .prices.promo {
    gap: 8px;
  }
}
.product-card-list .arrow-blue-link img {
  width: 42px;
  height: 42px;
}
.product-card-list .arrow-blue-link img:last-child {
  display: none;
}
.product-card-list .arrow-blue-link:hover img:first-child {
  display: none;
}
.product-card-list .arrow-blue-link:hover img:last-child {
  display: block;
}
@media screen and (max-width: 576px) {
  .product-card-list .product_card {
    padding: 16px;
  }
  .product-card-list figure img {
    max-width: 128px;
  }
  .product-card-list h2 {
    font-size: 14px;
  }
  .product-card-list .prices span.net-price {
    font-size: 14px;
  }
}

@container product-card-footer (width < 160px) {
  .prices.promo {
    width: min-content;
    flex-wrap: wrap;
    justify-content: center;
  }
}
@media screen and (min-width: 768px) {
  #prodsPage .description-group h3 {
    margin-top: 20px;
    margin-bottom: 10px;
  }
}
.modal-dialog .close[data-dismiss=modal] {
  font-size: 28px;
}
.modal-dialog .tunnel-login .row .lostPassword[data-toggle] {
  color: #3275F9;
}
.modal-dialog .tunnel-login .row .inner-content p {
  margin-bottom: 10px;
  color: #7D879F;
}

#tppInfoDialog h2 {
  margin-top: 10px;
}

@media screen and (max-width: 768px) {
  .product-section .product-description .collapse-container .collapse.in {
    padding-block: 10px;
  }
  .register-and-login-column .register-title-container {
    padding-bottom: 40px;
  }
  .modal-dialog .tunnel-login .row {
    flex-direction: column;
    justify-content: center;
  }
  .modal-dialog .tunnel-login .row .col-sm-6 {
    width: 100% !important;
  }
}
.navbar-fixed-bottom {
  z-index: 1;
}

#orderReviewTotalBox .form-control[name=promo-code] {
  z-index: 1;
}

a.btn-pink {
  color: white;
}

.buttons-action-row .btn-devis {
  color: #eb2ba4;
}

@media (max-width: 992px) {
  .clientSpacePage .newAddressPage-labelContainer.col-lg-3 {
    width: auto;
  }
}

/*# sourceMappingURL=product.css.map */
