/*
Theme Name: Designenvue
Author: Christophe Lefloch Power4Web
Description: Design driver par Stéphane Duron
Requires at least: 6.7
Tested up to: 6.8
Requires PHP: 7.2
Version: 1.0
Text Domain: designenvue
*/

@font-face {font-family: 'Btp';src: url('webfonts/aa_btp.otf');}
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  line-height: normal;
}

body {
  font-family: 'Btp', sans-serif;
  background: #fff;
  font-size: 15px;
  line-height: 21px;
  width: 1170px;
  margin: auto;

}

a{ text-decoration: none; color: inherit; }
ol, ul {
  box-sizing: border-box;
  list-style: none;
  text-decoration: none;
  color: #000;
  font-weight: 500;
  line-height: 0.8;
}
p { margin: 0 0 10px; }
h1{
  font-size: 18px;
  line-height: 34px;
  font-weight: 400;
  margin: 20px auto;
  text-align: center;
}
h2{
  font-size: 18px;
  margin-bottom: 20px;
}
h3{
font-weight: 100;
}
h4{
  font-weight: 100;
  margin: 20px auto;
}

hr {
  margin: 20px 0;
  border: 0;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #fff;
}


body > header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 40px;
}

.header-left .logo {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.2;
}
.logo span {
  font-size: 0.8rem;
  color: #555;
}

.header-right {
  display: flex;
  flex-direction: column;
  text-align: right;
}
.header-right a {
  text-decoration: none;
  color: #000;
  font-weight: 500;
  line-height: 1.2;
}
li.current-menu-item a {
  color: #b88945;
}
.text-block {
  padding: 0 4rem 2rem 0;
  max-width: 300px;
  color: #c2c2c2;
  font-weight: bold;
  line-height: normal;
}
.image-layout {
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, auto);
  grid-template-rows: repeat(15, auto);
  grid-column-gap: 37px;
  grid-row-gap: 20px;
  margin: auto;
}
.img-container{
  position: relative;
  overflow: hidden;
}
.img1{ width: 198px; height: 265px; }
.img2{ width: 234px; height: 265px; }
.img3{ width: 200px; height: 237px; }
.img4{ width: 213px; height: 243px; }
/* .img5{ width: 280px; height: 181px; } */
.img5{ width: 362px;  height: 235px; }
.img6{ width: 273px; height: 153px; }

.img-container img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}


.image-layout .svg-deco { position: absolute; z-index: 3; fill: #b88945; }


.rect-svg { width: 25px; height: 100px; }
.vis-svg { height: 50px; width: 50px; }

.image-layout .img1-rect { top: 20px; left: 255px; transform: rotate(120deg); }
.rect1 { width: 12px; height: 50px; }
.image-layout .img2-rect { top: 42px; right: 220px; transform: rotate(60deg); }
.rect2 { width: 10px; height: 50px; }
.image-layout .img3-rect { bottom: 206px; left: 219px; transform: rotate(408deg); }
.rect3 { width: 12px; height: 60px; }
.image-layout .img4-rect { bottom: 214px; right: 325px; transform: rotate(150deg); }
.rect4 { width: 12px; height: 60px; }
.img5-vis {   bottom: 204px; right: 11px; transform: rotate(78deg); }
.img6-vis {   bottom: 7px; right: 420px; transform: rotate(45deg); }

.img-container {
  position: relative;
}
.img-container img {
  display: block;
  border-radius: 4px;
}

/* Placement des images selon la maquette */
.div1 { grid-area: 5 / 1 / 10 / 6; }
.div2 { grid-area: 4 / 5 / 9 / 9; }
.div3 { grid-area: 1 / 10 / 7 / 15; }
.div4 { grid-area: 4 / 16 / 7 / 21; }
.div5 { grid-area: 10 / 1 / 15 / 6; }
.div6 { grid-area: 12 / 6 / 14 / 13; }
/* .div6 { grid-area: 12 / 8 / 14 / 13; } */
.div7 { grid-area: 11 / 14 / 14 / 20; }

footer {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  font-size: 0.9rem;
  margin-top: 40px;
  margin-bottom: 40px;
}

.footer-left,
.footer-right {
  max-width: 50%;
}
.footer-left p {
  margin: 0;;
  width: 245px;
}
.footer-right {
  text-align: right;
}

.footer-right a {
  color: #000;
  text-decoration: none;
  display: block;
}

.socials {
  display: flex;
  justify-content: flex-end;
}
.socials a {
  height: 32px;
}
.social {
  width: 32px;
  height: 32px;
  background-image: url(assets/images/social-icons-mono2.png);
  display: block;
}
.icon_instagram { background-position: 128px 0; }
.icon_facebook { background-position: -32px 0; }
.icon_pinterest { background-position: 160px 0; }
.icon_linkedin { background-position: -192px 0; }
.icon_whatsapp { background-position: -64px 0; }
.icon_email { background-position: 0 0; }
a:hover{ color: #b38242; }
a:hover .social{ background-image: url(assets/images/social-icons-mono-hover.png); }
 
/* Page Contacts */
#contact-page.contact-container {
  position: relative;
  display: grid;
  grid-template-columns: 2fr 1fr 1fr; /* gauche, milieu, droite */
  gap: 80px;
  max-width: 1200px;
  margin: 50px auto;
  align-items: start;
}

.contact-container .svg-deco { position: absolute; z-index: 3; fill: #b88945; }

.contact-container .img1-rect { top: -8px; left: 45px; transform: rotate(125deg); width: 34px; height: 130px; }
.rect1 { width: 12px; height: 50px; }
.contact-container .img2-rect { bottom: 195px; left: 535px; transform: rotate(45deg); }
.rect2 { width: 10px; height: 40px; }
.contact-container .img3-rect { bottom: 10px; right: 40px; transform: rotate(155deg); width: 35px; height: 110px; }
.rect3 { width: 12px; height: 50px; }
.contact-container .img1-vis {   top: 60px; right: 130px; transform: rotate(65deg); }
.contact-container .img2-vis {   bottom: -34px; left: 358px; transform: rotate(40deg); }

section.contact-left {
  margin-top: 60px;
}
.contact-left img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
section.contact-middle {
  text-align: center;
  color: #c2c2c2;
  padding: 0 32px;
  font-size: 20px;
  font-weight: 500;
}
.contact-middle p{
  line-height: 1;
  margin-bottom: 20px;
}

section.contact-right{
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  height: 550px;
  font-weight: 700;
  font-size: 20px;
}
.info-contact {
  text-align: center;
  margin: 12px 0;
}

.grid-brand {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
  gap: 15px; /* espace entre les images */
}

.grid-brand img {
  width: 100%;
  height: 250px; /* fixe la hauteur (optionnel) */
  object-fit: cover; /* évite les déformations */
  border-radius: 8px;
  transition: transform 0.3s ease;
}


/* Articles connexes */
.related-wrap {
  height: auto;
  overflow: hidden;
  padding-top: 30px;
}
.related-item figure {
  width: 100%;
  min-height: 68px;
  position: relative;
  overflow: hidden;
}
figure a{
  display: block;
}
figure:hover > .overlay {
  opacity: 0.9;
  -moz-opacity: 0.9;
  filter: alpha(opacity=90);
  margin-top: -1.6px;
  padding-bottom: 1.6px;
}
figure:hover .overlay {
  display: flex;
  justify-content: center;
  align-items: center;
}
figure .overlay {
  background-color: #c99443;
  color: #fff;
}

figure .overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  display: none;
  z-index: 3;
  opacity: 0;
  -moz-opacity: 0;
  filter: alpha(opacity=0);
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  margin-left: -0.6px;
  padding-right: 0.6px;
}
figure .overlay svg {
  width: 40px;
  height: 40px;
  fill: #fff;
    fill: #fff;
  stroke: white;
  stroke-width: 8px;
}
.related-item figure img{
  display: block;
}

figure img {
  width: 100%;
  height: auto;
}

.row {
  display: flex;
  flex-direction: row;
  /* justify-content: center; */
}
aside.sidebar.left-sidebar { 
  margin-right: 20px;
}
aside section{
  width: 200px;
}

h4{
    position: relative;
    text-align: center;
    line-height: 100%;
    overflow:hidden;
}
h4:before, h4:after{
    content :".";
    border-bottom: solid 2px #000;
    position: absolute;
    line-height: 45%;
    width: 100%;

}
h4:before{ margin-left: -105%; }
h4:after{ margin-left: 5px; }
/* Niveau 0 (racine) */
.wc-block-product-categories-list--depth-0 { margin-left: 0;}
.wc-block-product-categories-list--depth-0 > li > a { border-bottom: 1px solid #e4e4e4; padding-bottom: 2px; }
/* Niveau 1 */
.wc-block-product-categories-list--depth-1 { margin-left: 20px;}
/* Niveau 2 */
.wc-block-product-categories-list--depth-2 { margin-left: 40px; }
/* Niveau 3 (et ainsi de suite) */
.wc-block-product-categories-list--depth-3 { margin-left: 60px; }

.widget ul li > a {
  padding: 8px 0;
  display: block;
}
.widget ul li > a:checked {
  color: #b88945;
  font-weight: 700;
}
.widget ul li > a:before {
  content: ">";
  display: block;
  float: right;
  text-decoration: inherit;
  font-size: 10px;
}

.woocommerce-widget-layered-nav-dropdown select, .woocommerce-ordering select {
    appearance: none; /* Supprime le style natif du navigateur */
    -webkit-appearance: none;
    -moz-appearance: none;

    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 10px 12px;
    font-size: 13px;
    width: 100%;
    cursor: pointer;

  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23222' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px;
  padding-right: 36px;
}
ul li.chosen {
  display: inline-flex;
  align-items: center;
  background-color: #c78a2b; /* couleur de fond */
  color: #fff !important;               /* texte blanc */
  padding: 0 10px 0 10px !important;
  border-radius: 4px;
  font-size: 14px;
}

ul li.chosen a {
  color: #fff;                /* lien en blanc */
  text-decoration: none;      /* supprime le souligné */
  display: flex;
  align-items: center;
}

ul li.chosen a::before {
  content: "×" !important;
  width: 15px;
  height: 15px;
  border: 1px solid #fff;
  border-radius: 50%;
  display: flex;
  align-items: stretch;
  justify-content: center;
  color: white !important;
  font-weight: bold;
  font-size: 14px;
  background: transparent;
}

.woocommerce ul.products li.product a img{
  box-shadow: rgb(0 0 0) 0 20px 15px -25px;
  -webkit-box-shadow: 0 20px 15px -25px rgb(0, 0, 0);
}


/* Conteneur de l'image produit */
.woocommerce ul.products li.product a .secondary-image {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    width: 100%;
    object-fit: cover;
}

/* Au hover sur le produit, afficher la deuxième image */
.woocommerce ul.products li.product a:hover .secondary-image {
    opacity: 1;
}

/* S'assurer que l'image principale reste en dessous */
.woocommerce ul.products li.product a img {
    display: block;
}

/* Conteneur général */
.woocommerce-pagination {
    text-align: center;
    margin: 30px 0;
    font-weight: normal;
}

/* Liste des pages */
.woocommerce-pagination ul.page-numbers {
    list-style: none;
    padding: 0;
    display: inline-flex;
    gap: 8px; /* espacement entre les boutons */
}

/* Boutons de pagination */
.woocommerce nav.woocommerce-pagination{
  text-align: right;
  border-top: #e4e4e4 1px solid;
  padding-top: 30px;
}

.woocommerce-pagination ul.page-numbers li a,
.woocommerce-pagination ul.page-numbers li span {
    padding: 13px !important;
    line-height: 15px !important;
    min-width: 41px !important;
    height: 41px !important;
}

/* Bouton actif */
.woocommerce-pagination ul.page-numbers li span.current {
    background-color: #b88945 !important; /* couleur de fond */
    color:  #fff!important;           /* texte blanc */
    border:none;
    font-size: 16px !important;
    min-width: 1em;
}


.woocommerce-pagination ul.page-numbers li a.prev::before {
    content: "‹";
    margin-right: 8px;
    font-size: 20px;
}
.woocommerce-pagination ul.page-numbers li a.next::after {
    content: "›";
    margin-left: 8px;
    font-size: 20px;
}


/* Page produit */
.article-body-wrap{
  display: flex;
  gap: 50px;
  margin: 50px auto;
}
.my-slider {
  position: relative;
  max-width: 500px;
  margin: auto;
  text-align: center;
}

.my-slider .main-image img ,
.my-slider .thumbs img{
  -webkit-box-shadow: 0 8px 6px -7px #ccc;
  -moz-box-shadow: 0 8px 6px -7px #ccc;
  box-shadow: 0 8px 6px -7px #ccc;
}

.my-slider .main-image img {
  width: 100%;
  height: auto;
  display: block;
}

.my-slider .thumbs {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 10px;
}

.my-slider .thumb {
  width: 60px;
  height: 60px;
  object-fit: cover;
  cursor: pointer;
  border: 2px solid transparent;
  transition: border 0.2s;
}

.my-slider .thumb.active {
  border: 2px solid #c78a2b;
}

.my-slider button.prev,
.my-slider button.next {
  position: absolute;
  top: 45%;
  color: #000000;
  background: transparent;
  border: none;
  padding: 10px;
  font-size: large;
  cursor: pointer;
}

.my-slider button.prev { left: 10px; }
.my-slider button.next { right: 10px; }

.product-share{ display: flex; align-items: center; }

.eael-entry-media{
  -webkit-box-shadow: 0 8px 6px -7px #999;
  -moz-box-shadow: 0 8px 6px -7px #999;
  box-shadow: 0 8px 6px -7px #999;
}
.eael-entry-media:hover .eael-entry-thumbnail img{
  transform: scale(1.2);
  transition: transform 0.3s ease;
}

ul.related-items.row{
  gap: 20px;
}
li.related-item.span3 a figure {
  width: 270px;
  height: 170px;
  margin-bottom: 10px;
}

li.related-item.span3 a figure .overlay::before {
  content: "";
  display: block;
  width: 40px; /* taille de l’icône */
  height: 40px;
  background: no-repeat center / contain url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'><path d='M45,11.1c-3.7,1.3-6.3,2.9-9,6c-2.4,2.7-3.5,4.6-4.5,8.2c-0.7,2.3-0.7,12-0.6,104L31,230.7l1.8,3.5c1.8,3.7,5.8,7.9,9,9.5c4.8,2.5,0,2.3,87.2,2.3l80.5-0.1l2.7-1.1c5.1-2.1,9.9-6.9,11.9-11.9l1.1-2.7l0.1-65.7c0.1-48.1,0-66.6-0.4-69.1c-1.2-7.2-5.5-17-9.6-21.7c-1.2-1.3-13.9-13.9-28.4-28c-18.6-18.2-27.2-26.2-29.6-27.8c-3.9-2.5-9.9-5.2-14.9-6.6c-3.6-1-3.8-1-49-1.1L48,10L45,11.1z M133.5,52.2l0.2,32.3l1.6,3.2c2.1,4.2,5.7,7.9,10,10l3.2,1.6l33.4,0.2l33.4,0.2v64.8v64.8l-1,1.8c-1.2,2.1-2.1,3-4.3,4.2c-1.6,0.8-4.3,0.9-82.1,0.9H47.6l-1.9-1c-2.6-1.4-4.2-3.6-4.7-6.7c-0.3-1.6-0.4-36.7-0.4-102l0.1-99.6l1-1.8c1.2-2.4,3.7-4.3,6.2-4.8c1.1-0.2,20.8-0.4,43.8-0.3l41.7,0L133.5,52.2z M148.2,23.9c4.6,2.3,4.5,2.2,36.8,33.7c12.7,12.4,23.7,23.3,24.3,24.3c1.2,1.8,4,7.2,4,7.7c0,0.1-14,0.2-31.1,0.2c-22.2,0-31.5-0.1-32.6-0.6c-2.4-0.8-4-2.1-5.2-4.2l-1-1.9l-0.1-30.6c-0.1-24.1,0-30.5,0.5-30.5C144.1,22,146.1,22.9,148.2,23.9z'/></svg>");
  margin: auto;
  filter: invert(1); /* passe le SVG en blanc */
}

.slideimg, .slideimg a {
  position: relative;
  overflow: hidden;
  display: flex;
}

.div2.slideimg img:nth-child(1), .div2.slideimg img:nth-child(2){ animation-delay: 0s; }
.div3.slideimg img:nth-child(1), .div3.slideimg img:nth-child(2) { animation-delay: 1s; }
.div4.slideimg img:nth-child(1), .div4.slideimg img:nth-child(2) { animation-delay: 2s; }
.div5.slideimg img:nth-child(1), .div5.slideimg img:nth-child(2) { animation-delay: 3s; }
.div6.slideimg img:nth-child(1), .div6.slideimg img:nth-child(2) { animation-delay: 4s; }
.div7.slideimg img:nth-child(1), .div7.slideimg img:nth-child(2) { animation-delay: 5s; }
.slideimg img:nth-child(1) {
  width: 100%;         /* chaque image prend 100% de largeur */
  object-fit: cover;
  animation: slide 10s infinite;
}
/* Chaque image démarre avec un délai différent */
.slideimg img:nth-child(2) {
  position: absolute;
  animation: slide2 10s infinite;
  z-index: -1;
}

@keyframes slide {
  0%, 40%   { opacity: 1; }
  50%, 90%  { opacity: 0; }
  100%      { opacity: 1; }
}
@keyframes slide2 {
  0%, 40%   { opacity: 0; }
  50%, 90%  { opacity: 1; }
  100%      { opacity: 0; }
}

section.related.products h2{ text-align: center; }
section.related.products h2::before, section.related.products h2::after {
  content:'';
  width:40%;
  border-bottom: #000 solid 1px;
  display:inline-block;
  vertical-align:middle;
}
section.related.products h2::before { margin-left:-100%; margin-right:1em }
section.related.products h2::after { margin-right:-100%; margin-left:1em; }
  
.woocommerce .widget_layered_nav_filters ul{
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 2px;
  padding: 0;
}


/* Responsive */
@media (max-width: 1024px) {
  h1{ font-size: 15px; }
  .image-layout {
    display: flex;
    flex-direction: column;
  }
  .img-container {
    width: 100%;
  }
  .footer-left,
  .footer-right {
    max-width: 100%;
  }
}
@media (width <= 1250px) {
  body {
    width: 90%;
    font-size: 12px;
  }
  img.custom-logo {
    width: 180px;
    height: auto;
  }
  main{
    margin-top: 20px;
  }

#contact-page.contact-container {
  display: flex;
  flex-direction: column;
  margin: 0;
}
section.contact-right{
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-content: center;
  height: 204px;
  font-weight: 700;
  font-size: 20px;
  margin: auto;
}
section.contact-right .info-contact {
  text-align: center;
  margin: 12px 0;
}
section.contact-right .socials {
  display: flex;
  justify-content: center;
}
.contact-container .img1-rect { top: -8px; left: 45px; transform: rotate(125deg); width: 34px; height: 130px; }
.contact-container .img2-rect { top: 495px; left: 185px; transform: rotate(45deg); }
.contact-container .img3-rect { bottom: 10px; right: 40px; transform: rotate(155deg); width: 35px; height: 110px; }
.contact-container .img1-vis {   top: 165px; right: -5px; transform: rotate(65deg); }
.contact-container .img2-vis {   bottom: 250px; left: 70px; transform: rotate(40deg); }



  .image-layout .img1-rect { top: 40px; left: 255px; transform: rotate(130deg); }
  .image-layout .img2-rect { top: 355px; right: 200px; transform: rotate(78deg); }
  .image-layout .img3-rect { top: 630px; left: 219px; transform: rotate(408deg); }
  .image-layout .img4-rect { bottom: 510px; left: 0; transform: rotate(150deg); }
  .img5-vis {   bottom: 295px; right: -21px; transform: rotate(78deg); }
  .img6-vis {   bottom: -29px; right: 280px; transform: rotate(45deg); }
  aside section{ width: 100px; }

  aside .widget.woocommerce.widget_layered_nav_filters { width: 100px; }
  aside .widget.woocommerce.widget_layered_nav_filters ul li a{ font-size: 10px; }

  .my-slider .thumbs{ display: inline-grid; }
  ul.related-items { overflow-x: auto; }

  footer{
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .footer-right {
    margin-top: 20px;
    text-align: center;
  }
  .footer-right .socials {
    justify-content: center;
  }
  .my-slider .thumbs{
    flex-wrap: wrap;
    width: 130px;
    display: flex;
  }
  .article-body-wrap{ gap: 20px; }

  .my-slider button.next { right: -15px; top: 60px; }
  .my-slider button.prev { left: -15px; top: 60px; }
}

