/* Only for dev delete after */
/* #region variables */
:root {
  /* Colors */
  --value-color-orange: 7.66, 90.38%, 59.22%;
  --color-orange: hsl(var(--value-color-orange));
  --color-orange-50: hsla(var(--value-color-orange), 0.5);

  --value-color-black: 225, 6.25%, 12.55%;
  --color-black: hsl(var(--value-color-black));
  --color-black-50: hsla(var(--value-color-black), 0.5);

  --value-color-grey: 0, 0%, 36.08%;
  --color-grey: hsl(var(--value-color-grey));
  --color-grey-50: hsla(var(--value-color-grey), 0.5);

  --value-color-white: 0, 0%, 100%;
  --color-white: hsl(var(--value-color-white));
  --color-white-50: hsla(var(--value-color-white), 0.5);

  --value-color-beige: 45, 28.57%, 94.51%;
  --color-beige: hsl(var(--value-color-beige));
  --color-beige-50: hsla(var(--value-color-beige), 0.5);

  /* Fonts */
  /* Families */
  --font-family-space-grotesk: "Space Grotesk", sans-serif;
  --font-family-gantari: "Gantari", sans-serif;

  /* Line heights */
  --line-height-none: 1;
  --line-height-tight: 1.2;
  --line-height-normal: 1.4;
  --line-height-loose: 1.6;

  /* Font sizes (rem) */
  /* Mobile */
  /* Headlines */
  --font-size-h1: 2.5rem;
  --font-size-h2: 2.25rem;
  --font-size-h3: 1.75rem;
  --font-size-h4: 1.25rem;
  --font-size-h5: 1.1875rem;
  --font-size-h6: 1.125rem;

  /* Body */
  --font-size-body: 1rem;
  --font-size-small: 0.875rem;

  /* Tagline */
  --font-size-tagline: 1.125rem;

  /* Image patterns */
  --image-pattern-1: url("/modules/octablocks/views/images/bg1.png");
}

@media screen and (min-width: 768px) {
  :root {
    /* Desktop */
    /* Headlines */
    --font-size-h1: 3.5rem;
    --font-size-h2: 2.5rem;
    --font-size-h3: 1.75rem;
    --font-size-h4: 1.25rem;
    --font-size-h5: 1.1875rem;
    --font-size-h6: 1.125rem;

    /* Body */
    --font-size-body: 1.125rem;

    /* Tagline */
    --font-size-tagline: 3.125rem;

    /* Button */
    --font-size-btn: 1.25rem;
  }
}
/* #endregion */

/* Delete after dev end */

.product-container {
  margin-block: 6.25vw !important;
  & > .row {
    gap: 5.20833vw;
    margin-left: 4.16667vw;

    & > div {
      flex: 1 1 calc(50% - 5.20833vw) !important;
    }
  }

  & .product-infos-col {
    padding-block: 5.20833vw !important;
    padding-inline: 4.16667vw !important;
    box-shadow: 0 0 50px 0 rgba(0, 0, 0, 0.15);
  }

  & .product-details {
    max-width: 626px;
  }

  & h1 {
    color: #37383a;
    font-family: var(--font-family-space-grotesk);
    font-size: 2.5rem !important;
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase;
  }

  & .product-date {
    color: #37383a;
    font-family: var(--font-family-space-grotesk);
    font-size: 2.1875rem;
    font-weight: 700;
    line-height: 1.74;
    text-transform: uppercase;
    font-variant-numeric: tabular-nums;
  }

  & .product-important-numbers {
    margin-top: 10px;
    gap: 20px;
    margin-bottom: 2.86458vw;
  }

  & .product-description-short {
    color: #1e1f22;
    font-family: var(--font-family-space-grotesk);
    font-size: 1.1875rem;
    font-weight: 500;
    line-height: 1.74;
    margin-bottom: 2.86458vw;
    max-width: 465px;
  }

  & .product-prices-container {
    display: flex;
    align-items: center;
    gap: 25px;
    margin-bottom: 2.86458vw;

    & > span {
      color: #1e1f22;
      font-family: var(--font-family-space-grotesk);
      font-size: 1.3125rem;
      font-weight: 500;
      line-height: 1.74;
    }

    & .product-prices > span {
      border-radius: 80px;
      background: var(--color-beige);
      padding-inline: 20px;
      padding-block: 5px;
      color: var(--color-orange);
      font-family: var(--font-family-gantari);
      font-size: 2.5rem;
      font-weight: 700;
      line-height: 1.74;
    }

    & .product-discount > del {
      color: #5c5c5c !important;
      font-family: var(--font-family-gantari);
      font-size: 1.875rem !important;
      font-weight: 700;
      line-height: 1.74;
      text-decoration-line: line-through;
    }
  }
}

#add-to-cart-or-refresh > .list-unstyled {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;

  & > li {
    flex: 0 1 calc(50% - 5px);
  }

  & .btn {
    padding-inline: 10px;
    width: 100%;
  }
}

.cz-preview {
  pointer-events: none;
  margin: 0 !important;
}

.cz-carousel {
  overflow: hidden;
}

.cz-thumblist-container {
  position: relative;
  width: 100%; /* Assurez-vous que le conteneur occupe la largeur disponible */
  overflow: hidden; /* Masque le défilement */
}

.cz-thumblist {
  display: flex;
  overflow-x: auto;
  overflow-y: hidden; /* Cache le défilement vertical */
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  flex-wrap: nowrap;
  width: 100%;
  padding: 25px;
  gap: 25px;
}

.nav-arrow {
  position: absolute;
  top: 50%; /* Centre verticalement */
  transform: translateY(-50%); /* Ajuste le décalage */
  border: none;
  padding: 10px;
  cursor: pointer;
  z-index: 10; /* Assurez-vous qu'ils sont au-dessus des éléments */
  font-size: 20px; /* Taille de la flèche */
  background: none;
  color: #fff;
  background-color: hsla(var(--value-color-grey), 0.75);
  border-radius: 9999px;
  width: 40px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.left-arrow {
  left: 10px; /* Positionne la flèche à gauche */
}

.right-arrow {
  right: 10px; /* Positionne la flèche à droite */
}

.cz-thumblist-item {
  border-radius: 0;
  scroll-snap-align: center;
  padding: 0;
  height: unset;
  width: unset;
  overflow: hidden;
  margin: 0 !important;
  border: none !important;
  transition: transform 0.3s ease;
  position: relative;

  &::after {
    content: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTciIGhlaWdodD0iNTYiIHZpZXdCb3g9IjAgMCA1NyA1NiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTU1LjU0NDMgNDguODA2NEwzOC44MTEzIDMyLjMyODJDMzguNDA1NyAzMS45Mjg4IDM3Ljg1NTkgMzEuNzA0NSAzNy4yODIzIDMxLjcwNDVDMzYuNzU3NSAzMS43MDQ1IDM2LjI1NCAzMS44OTQxIDM1Ljg2MTIgMzIuMjMxOUwzMy41MDAzIDI5LjkwN0MzOS4xNDEgMjIuODgwMiAzOC43MzA0IDEyLjU4NzIgMzIuMDYxIDYuMDE5MjJDMjQuOTI3MiAtMS4wMDU5NyAxMy4zMTk2IC0xLjAwNjE5IDYuMTg1NDggNi4wMTkyMkMtMC45NjQ2MDYgMTMuMDYwNiAtMC45NjU2ODcgMjQuNDU4NCA2LjE4NTQ4IDMxLjUwMDhDMTIuNzYwNCAzNy45NzU2IDIzLjIxODYgMzguNTI0OCAzMC40NDEyIDMyLjkxN0wzMi44MDM2IDM1LjI0MzRDMzIuMDYwNyAzNi4wNzk4IDMyLjA5MTYgMzcuMzUxIDMyLjkwMTMgMzguMTQ4Mkw0OS42MzQyIDU0LjYyNjZDNTAuNDc4MSA1NS40NTc2IDUxLjg0NzggNTUuNDU3OSA1Mi42OTIxIDU0LjYyNjZMNTQuMTE3OSA1My4yMjI0QzU0LjExOCA1My4yMjIzIDU0LjExODEgNTMuMjIyMiA1NC4xMTgxIDUzLjIyMjJDNTQuMTE4MSA1My4yMjIyIDU0LjExODIgNTMuMjIyIDU0LjExODMgNTMuMjIxOUw1NS41NDQxIDUxLjgxNzhDNTYuMzg4NSA1MC45ODYxIDU2LjM4ODUgNDkuNjM4IDU1LjU0NDMgNDguODA2NFpNMjkuMDAzMiAyOC40ODk0QzIzLjU0MjggMzMuODY2NyAxNC43MDQ1IDMzLjg2NzMgOS4yNDM0MSAyOC40ODk0QzMuNzgzMTYgMjMuMTEyNSAzLjc4MjE5IDE0LjQwODMgOS4yNDM0MSA5LjAzMDI4QzE0LjY5MSAzLjY2NTYgMjMuNTU1MyAzLjY2NTI4IDI5LjAwMzIgOS4wMzAyOEMzNC40NjM0IDE0LjQwNzMgMzQuNDY0NSAyMy4xMTE1IDI5LjAwMzIgMjguNDg5NFoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=");
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: hsla(var(--value-color-orange), 0.75);
    opacity: 0;
    transition: opacity 0.3s ease;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  &:hover::after {
    opacity: 1;
  }
}

.cz-thumblist-item img {
  display: block;
  width: 100%;
  object-fit: cover;
  aspect-ratio: 303/240;
  height: 100%;
}

.cz-thumblist::-webkit-scrollbar {
  display: none;
}

/* Product infos */

.product-infos {
  background-color: var(--color-beige);
  padding-block: 7.552083333vw;
  padding-inline: 8.645833333vw;
  position: relative;

  &::before {
    content: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzk1IiBoZWlnaHQ9IjQwMiIgdmlld0JveD0iMCAwIDM5NSA0MDIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik03Ny4xMzUzIDM2NS4wNThMMy40MTIxMiAzNjUuMDU5TDE4Ny4xOSAzNi44ODE5TDI1Ni4wNzYgMzYuODgyTDc3LjEzNTMgMzY1LjA1OFoiIGZpbGw9IndoaXRlIiBzdHJva2U9IiNGNUYzRUQiIHN0cm9rZS13aWR0aD0iNCIvPgo8cGF0aCBkPSJNMjE0LjI3NyAzNjUuMzE3TDE0MC4xNjMgMzY1LjMxN0wzMjEuMDYzIDM3LjA3MjNMMzkxLjY0NiAzNy4wNzE5TDIxNC4yNzcgMzY1LjMxN1oiIGZpbGw9IndoaXRlIiBzdHJva2U9IiNGNUYzRUQiIHN0cm9rZS13aWR0aD0iNCIvPgo8L3N2Zz4K");
    position: absolute;
    top: -260px;
    right: 130px;
  }
}

.complementary-informations div[role="tablist"] {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
}

.complementary-informations button[role="tab"] {
  padding: 10px;
  outline: 3px solid #d4d1c7;
  outline-offset: -3px;
  transition: all 0.2s ease-in-out;
}

.complementary-informations button[role="tab"][aria-selected="true"] {
  background: #fff;
}

.complementary-informations button[role="tab"] span {
  color: var(--color-orange);
  padding: 14px 66px;
  border-radius: 10px;
  transition: all 0.2s ease-in-out;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  font-size: 2.0625rem;
  font-style: normal;
  line-height: 1.4;
  font-family: var(--font-family-gantari);
}

.complementary-informations button[role="tab"][aria-selected="true"] span {
  color: var(--color-orange);
}

.complementary-informations [role="tab"]:hover,
.complementary-informations [role="tab"]:focus,
.complementary-informations [role="tab"]:active,
.complementary-informations [role="tab"]:focus-visible {
  outline-color: var(--color-orange);
}

.complementary-informations [role="tab"] span {
  outline: none !important;
}

.complementary-informations [role="tabpanel"] {
  color: #1e1f22;
  font-size: 1.1875rem;
  font-weight: 500;
  line-height: 1.74;
}

.complementary-informations [role="tabpanel"]:not(.hidden) {
  outline: 3px solid #d4d1c7;
  outline-offset: -3px;
  padding: 4.166666667vw;
}

.product-features {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(500px, 1fr));
  gap: 4.166666667vw;
}

.feature-card {
  display: flex;
  gap: 4.166666667vw;
  align-items: center;
}

.feature-icon {
  content: "";
  position: relative;
  background: #fff;
  width: 162px;
  height: 162px;
  border-radius: 9999px;
  aspect-ratio: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

.feature-name {
  color: var(--color-orange);
  font-family: var(--font-family-space-grotesk);
  font-size: 1.5625rem;
  font-weight: 700;
  line-height: 1.74;
  text-transform: uppercase;
}

.feature-content {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.product-description {
  line-height: 1.74;
}

.product-description [data-block] {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* Paragraphes et textes */
.product-description p {
  margin: 0.8em 0;
}
.product-description strong {
  font-weight: 700;
}
.product-description em {
  font-style: italic;
}
.product-description u {
  text-decoration: underline;
}
.product-description mark {
  background: var(--color-orange-50);
  padding: 0 0.2em;
}
.product-description code {
  background: #fff;
  padding: 0.2em 0.4em;
  border-radius: 3px;
  font-size: 0.9em;
  color: currentColor;
}

/* Liens */
.product-description a {
  color: var(--color-orange);
  text-decoration: underline;
}
.product-description a:hover {
  text-decoration: none;
}

/* Blockquote */
.product-description blockquote {
  border-left: 4px solid var(--color-orange);
  padding-left: 1em;
  margin: 1em 0;
  font-style: italic;
}

/* Listes */
.product-description ul,
.product-description ol {
  padding-left: 1.5em;
  margin: 0.8em 0;
}
.product-description li {
  margin: 0.3em 0;
}

/* Tableaux */
.product-description table {
  width: 100%;
  border-collapse: collapse;
  margin: 1em 0;
  font-size: 0.95em;
}
.product-description th,
.product-description td {
  border: 1px solid #ddd;
  padding: 0.6em;
  text-align: left;
}
.product-description th {
  background: #f7f7f7;
  font-weight: 600;
}

/* Médias */
.product-description img,
.product-description video,
.product-description audio {
  max-width: 100%;
  height: auto;
  margin: 1em 0;
  display: block;
}

/* Divers */
.product-description hr {
  border: none;
  border-top: 1px solid var(--color-grey-50);
  margin: 2em 0;
}
.product-description del {
  color: var(--color-grey);
}
.product-description ins {
  background: var(--color-orange-50);
  text-decoration: none;
}
.product-description sub,
.product-description sup {
  font-size: 0.8em;
}

.product-description address {
  margin-top: 2em;
  font-size: 0.9em;
}
.complementary-informations{
  max-width: 100%;
}




/* Featured products */

.featured-products {
  padding-top: 4.427083333vw;
  padding-inline: 8.645833333vw;
  padding-bottom: 2.34375vw;

  & h2 {
    color: var(--color-orange);
    font-family: var(--font-family-gantari);
    font-size: 2.0625rem !important;
    font-weight: 700;
    line-height: 1.4;
    position: relative;
    margin-bottom: 4.6875vw;
    padding-bottom: 20px;
    width: fit-content;

    &::before {
      content: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNiIgaGVpZ2h0PSIyMyIgdmlld0JveD0iMCAwIDI2IDIzIiBmaWxsPSJub25lIj4KICA8ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfMTU2XzY3MCkiPgogICAgPHBhdGggZD0iTTI1Ljk5MjYgNi44Njg2NEgyNS45OTE2QzI1Ljk5NTMgNi43ODExOCAyNS45OTg0IDYuNjkzNzEgMjUuOTk4NCA2LjYwNTczQzI1Ljk5OSAzLjA2NzM5IDIyLjk1MDkgMCAxOS4xOTEgMEMxNi40NDIxIDAgMTQuMDc1MyAxLjczMjY5IDEzLjAwMDggMy45NDA0NkgxMi45OTkyQzExLjkyNDcgMS43MzI2OSA5LjU1Nzk2IDAgNi44MDkwOCAwQzMuMDQ5MTEgMCAwLjAwMTA3NTggMy4wNjczOSAwLjAwMTA3NTggNi42MDU3M0MwLjAwMTA3NTggNi42OTM3MSAwLjAwNDI0Njk5IDYuNzgxMTggMC4wMDc5NDY3IDYuODY4NjRIMC4wMDY4ODk2NEMwLjAwNjg4OTY0IDYuODY4NjQgLTAuMzc3MzUyIDExLjA3MiA0LjQwMDAzIDE1LjY2MTRDNi41NzIzIDE3Ljc5MjYgOS4wMDE0MiAxOS44MTc3IDEyLjk5OTggMjNDMTYuOTk4MSAxOS44MTc3IDE5LjQyNzIgMTcuNzkyNiAyMS41OTk1IDE1LjY2MTRDMjYuMzc2OSAxMS4wNzIgMjUuOTkyNiA2Ljg2ODY0IDI1Ljk5MjYgNi44Njg2NFoiIGZpbGw9IiNGNTUxMzkiLz4KICA8L2c+CiAgPGRlZnM+CiAgICA8Y2xpcFBhdGggaWQ9ImNsaXAwXzE1Nl82NzAiPgogICAgICA8cmVjdCB3aWR0aD0iMjYiIGhlaWdodD0iMjMiIGZpbGw9IndoaXRlIi8+CiAgICA8L2NsaXBQYXRoPgogIDwvZGVmcz4KPC9zdmc+");
      position: absolute;
      right: -40px;
    }

    &::after {
      position: absolute;
      background: #000;
      width: 151px;
      height: 3px;
      content: "";
      bottom: 0;
      left: 0;
    }
  }

  & .product-list {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-inline: 8.333333333vw;
  }
}
@media(max-width:1625px){
  .product-infos {
    &::before {
    content: none;
    }
    }
}
@media (min-width: 1024px) and (max-width:1625px ){

    .product-container {
    & .product-prices-container {
        flex-wrap: wrap;
    
      & span:not(.product-prices span , .product-discount span ){
        width: 100%;
        padding:0 15px;
      }
    }
  }
}

@media(max-width:1450px){

  .featured-products {
    & .product-list {
        display: flex;
        gap: 40px;
        flex-direction: row;
            flex-wrap: wrap;
            padding-inline: unset !important;
        
        & article{
          width: 43%;
        }
}
  }
}

@media(max-width:950px){

.featured-products {
    & .product-list {
        & article{
          width: 100%;
        }
}
  }
}

@media(max-width:900px){
  .feature-card {
    flex-direction: column;
    width: 100%;
  }
  .complementary-informations div[role="tablist"]{
  flex-direction: column !important;
  }
  .product-features{
    display: flex !important;
        gap: 4.166666667vw;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: center;
  }
  .product-infos{
   margin: 1.645833vw;
  }
  .feature-content{
    width:100%;
  }
}


@media(max-width:700px){
  .product-miniature {
    & .product-price {
            flex-direction: column;
    }
  }
  .featured-products {

    padding-inline: 2.645833333vw;
    & .product-list {
    padding-inline: 2.333333333vw;
    }
  }
  
}


@media (max-width:561px ){

    .product-container {
      & .justify-content-center {
            flex-direction: column;
      }
    & .product-prices-container {
        flex-wrap: wrap;
    
      & span:not(.product-prices span , .product-discount span ){
        width: 100%;
        padding:0 15px;
      }
    }
  }
}

@media(max-width:1357px) and (min-width:1200px){
  #add-to-cart-or-refresh > .list-unstyled{
        flex-direction: column;
  }
}

@media(max-width:1200px){
.product-container > .row{
        flex-direction: column;
  }
  .product-container {
    & .product-details {
        max-width: unset;
    }
}
    .product-container > .row {
        flex-direction: column;
    }
.product-container {
    & > .row {
        margin: 4.16667vw;
    }
}
}
@media(max-width:560px){
  #add-to-cart-or-refresh > .list-unstyled{
        flex-direction: column;
  }

}
