/* Contenu Page qui sert de page Boutique = ID 7 pour le lancement */

body.page-id-7 {
    background-color: var(--ast-global-color-5);
}

/* Container */
.listing-produits {
  --gap: 24px;
  display: flex;
  flex-wrap: wrap;              /* wrap responsive [web:1040] */
  gap: var(--gap);              /* gap en flex moderne */
  align-items: stretch;         /* cartes même hauteur visuelle */
}

/* Base card */
.listing-produits .box-produit {
  position: relative;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  flex: 0 1 calc(33% - (var(--gap) * 3 / 4)); /* 4 colonnes desktop */
  min-width: 240px;             /* évite les cards trop serrées */
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 8px;
  overflow: hidden;
}

.box-produit.sticky {
    position: relative;
    background-size: cover!important;
    background-repeat: no-repeat!important;
    background-position: center!important;
    justify-content: flex-end;
}


.box-produit.sticky::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,.1);
    transition: var(--transitionRetour)
}

.box-produit.sticky:hover::before {
  background-color: rgba(0,0,0,.3);
  transition: var(--transitionAller)
}

/* lien plein bloc */
.box-produit__stretched-link {
  position: absolute;
  inset: 0;
  z-index: 1;
}

/* contenu normal sous le lien */
.box-produit__content,
.box-produit__media {
  position: relative;
  z-index: 2;
}

.box-produit__media,
.box-produit__media img {
  transition: var(--transitionRetour);
}

.box-produit__media:hover img {
  opacity: .7;
  transition: var(--transitionAller);
}

/* CTA au-dessus du stretched link pour rester cliquable */
.box-produit__cta,
.box-produit__cta * {
  position: relative;
  z-index: 3;
}

/* Lien pleine hauteur */
.listing-produits .box-produit__link{
  text-decoration: none;
}

.box-produit__content {
    padding: 2em 1.5em;
    background-color: white;
}

.box-produit.sticky .box-produit__content {
    background-color: transparent;
    color: white;
    z-index: 1;
}

.box-produit .box-produit__content a {
    text-decoration: none;
}

.box-produit.sticky .box-produit__content a,
.box-produit.sticky .box-produit__content h3 {
    color: white;
}

.box-produit__cta a {
  font-size: 0.9rem!important;
  font-weight: 400!important;
}

/* Media */
.listing-produits .box-produit__media img{
  display: block;
  width: 100%;
  height: auto;
}

/* Typo (à adapter à ta charte) */
.listing-produits .box-produit__title{
    margin: 0 0 0.3em;
    font-size: 20px;
    line-height: 1.25;
    font-weight: 400;
    transition: var(--transitionRetour);
}

.listing-produits .box-produit__title:hover {
  color: var(--ast-global-color-1);
  transition: var(--transitionAller);
}

/* Excerpt optionnel */
.listing-produits .box-produit__excerpt{
  margin: 0;
  opacity: .8;
  line-height: 1.4;
}

/* Prix en bas (flex column => margin-top auto pousse en bas) */
.listing-produits .box-produit__price{
  margin: .5em 0;
  font-size: 20px;
  font-weight: 600;
}

/* Réassurance : même gabarit, mais tu peux styliser différemment */
.listing-produits .box-produit--reassurance{
  display: flex;
  flex-direction: column;
}

.listing-produits .box-produit--reassurance .box-produit__reassurance-content{
  display: flex;
  height: 100%;        /* permet de s'étirer dans l'item [web:1070] */
  flex: 1 1 auto;      /* prend l'espace vertical restant */
}

.listing-produits .box-produit--reassurance .box-produit__reassurance-content .wp-block-column {
    flex-basis: 0;
    flex-grow: 1;
    justify-content: center;
    align-items: flex-start;
    display: flex;
    flex-direction: column;
}

.box-produit__tags {
  padding: 3px 10px !important;
  border-radius: 5px !important;
  background-color: var(--ast-global-color-0);
  display: inline-block;
   align-self: flex-start;
   color: white;
   font-size: .8em;
   margin-bottom: .5em;
}

/* Si WP contient des <p> margin, ça peut "casser" visuellement : */
.listing-produits .box-produit--reassurance .box-produit__reassurance-content > :first-child{
  margin-top: 0;
}
.listing-produits .box-produit--reassurance .box-produit__reassurance-content > :last-child{
  margin-bottom: 0;
}

/* Bouton Panier */

.added_to_cart.wc-forward {
    margin-left: 1em!important;
}

/* Responsive */

/* Sticky produit (le 1er featured) : prend 2 colonnes en desktop */
@media (min-width: 1025px){
  .listing-produits .box-produit.sticky{
    flex-basis: calc(66% - (var(--gap) / 2)); /* 2 colonnes sur 4 */
    min-width: 480px;
  }
}

/* Tablet : 2 colonnes */
@media (max-width: 1024px){
  .listing-produits{
    --gap: 18px;
  }
  .listing-produits .box-produit{
    flex-basis: calc(50% - (var(--gap) / 2));
    min-width: 260px;
  }
  /* Sticky = pleine largeur sur tablette (souvent mieux) */
  .listing-produits .box-produit.sticky{
    flex-basis: 100%;
    min-width: 0;
    min-height: 50vh;
  }
}

/* Mobile : 1 colonne */
@media (max-width: 600px){
  .listing-produits{
    --gap: 14px;
  }
  .listing-produits .box-produit{
    flex-basis: 100%;
    min-width: 0;
  }
}
