/* =========================================================
   RECHERCHE PRODUITS — JULIETTE
========================================================= */

.juliette-search {
  width: 100%;
  font-family: 'Goudy Bookletter', serif;
  color: #305214;
}


/* =========================================================
   BARRE DE RECHERCHE
========================================================= */

.juliette-search-bar {
  position: relative;
  width: 100%;
  max-width: 760px;
  margin: 0 auto 30px;
}

.juliette-search-input {
  width: 100% !important;
  height: 60px !important;

  padding: 0 60px !important;

  background: transparent !important;

  border: 1px solid #305214 !important;
  border-radius: 0 !important;
  box-shadow: none !important;

  color: #305214 !important;

  font-family: 'Goudy Bookletter', serif !important;
  font-size: 18px !important;
  line-height: 60px !important;

  text-align: center !important;

  outline: none !important;
  box-sizing: border-box !important;

  -webkit-appearance: none;
  appearance: none;
}

.juliette-search-input::placeholder {
  color: #305214 !important;
  opacity: .6;
  text-align: center;
}


/* Retire la croix native du champ search */

.juliette-search-input::-webkit-search-cancel-button,
.juliette-search-input::-webkit-search-decoration {
  -webkit-appearance: none;
  appearance: none;
  display: none;
}

.juliette-search-input:focus {
  border-color: #CD3D7C !important;
  box-shadow: none !important;
}


/* =========================================================
   LOUPE
========================================================= */

.juliette-search-icon {
  position: absolute;

  left: calc(50% - 130px);
  top: 50%;
  transform: translateY(-50%);

  display: flex;
  align-items: center;
  justify-content: center;

  width: 22px;
  height: 22px;

  color: #305214;

  pointer-events: none;
  z-index: 2;
}

.juliette-search-icon svg {
  display: block;

  width: 22px;
  height: 22px;

  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
}


/* =========================================================
   CROIX POUR EFFACER
========================================================= */

button.juliette-search-clear {
  display: none;

  position: absolute;
  right: 17px;
  top: 50%;
  transform: translateY(-50%);

  width: 30px !important;
  height: 30px !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;

  border: none !important;
  border-radius: 0 !important;

  color: #CD3D7C !important;

  font-family: 'Goudy Bookletter', serif !important;
  font-size: 26px !important;
  font-weight: 400 !important;
  line-height: 1 !important;

  text-transform: none !important;

  box-shadow: none !important;

  cursor: pointer;
  z-index: 3;
}

button.juliette-search-clear:hover {
  background: transparent !important;
  border: none !important;
  color: #EEA2A8 !important;
}

.juliette-search.has-search button.juliette-search-clear {
  display: flex !important;
  align-items: center;
  justify-content: center;
}


/* =========================================================
   FILTRES
========================================================= */

.juliette-search-filters {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;

  gap: 10px;

  margin: 0 0 55px;
}

button.juliette-filter {
  padding: 12px 22px !important;

  background: transparent !important;

  border: 1px solid #CD3D7C !important;
  border-radius: 0 !important;

  color: #CD3D7C !important;

  font-family: 'Goudy Bookletter', serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1 !important;

  text-transform: none !important;

  box-shadow: none !important;

  cursor: pointer;

  transition:
    background-color .25s ease,
    color .25s ease,
    border-color .25s ease;
}

button.juliette-filter:hover {
  background: #EEA2A8 !important;
  border-color: #EEA2A8 !important;
  color: #FFFFFF !important;
}

button.juliette-filter.is-active {
  background: #CD3D7C !important;
  border-color: #CD3D7C !important;
  color: #FFFFFF !important;
}


/* =========================================================
   H2
========================================================= */

.juliette-search-heading {
  margin: 0 0 35px !important;

  color: #305214 !important;

  text-align: center;

  font-family: 'Goudy Bookletter', serif !important;
}



/* =========================================================
   COMPTEUR DE RÉSULTATS
========================================================= */

.juliette-search-count {
  margin: -20px 0 35px;

  text-align: center;

  font-family: 'Goudy Bookletter', serif;
  font-size: 16px;

  color: #305214;
}


/* =========================================================
   GRILLE PRODUITS
========================================================= */

.juliette-search-results {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));

  gap: 45px 22px;
}


/* =========================================================
   CARTE PRODUIT
========================================================= */

.juliette-search-product {
  min-width: 0;
}

.juliette-search-product-link {
  display: block;

  color: inherit !important;
  text-decoration: none !important;
}

.juliette-search-product-image {
  width: 100%;
  aspect-ratio: 1 / 1.15;

  overflow: hidden;

  background: #FEF8EC;
}

.juliette-search-product-image img {
  display: block;

  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;

  object-fit: cover !important;
  object-position: center !important;

  transition: transform .35s ease;
}

.juliette-search-product-link:hover
.juliette-search-product-image img {
  transform: scale(1.025);
}


/* =========================================================
   CONTENU CARTE PRODUIT
========================================================= */

.juliette-search-product-content {
  padding-top: 18px;
  text-align: center;
}


/* =========================================================
   TITRES PRODUITS
========================================================= */

.juliette-search-product-title {
  margin: 0 0 18px !important;

  color: #305214 !important;

  font-family: 'Goudy Bookletter', serif !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;

  text-align: center !important;

  text-transform: none !important;
  letter-spacing: 0 !important;
}


/* =========================================================
   PRIX PRODUITS
========================================================= */

.juliette-search-product-price {
  display: flex;
  justify-content: center;
  align-items: center;

  color: #CD3D7C !important;

  font-family: 'Goudy Bookletter', serif !important;
  text-align: center !important;
  line-height: 1;
}

.juliette-search-product-price .woocommerce-Price-amount {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;

  padding: 0;

  background-image: none !important;

  color: #CD3D7C !important;

  font-family: 'Goudy Bookletter', serif !important;
  font-size: 26px !important;
  line-height: 1 !important;
}


/* Petit coeur devant le prix */

.juliette-search-product-price .woocommerce-Price-amount::before {
  content: "";

  display: inline-block;
  flex-shrink: 0;

  width: 15px;
  height: 15px;

  background-image: url('https://juliettebrieau.com/wp-content/uploads/2026/03/Juliette-Brieau-Cuilleres-gravees-Ceramiques-artisanales-Collection-de-tresors-vintage-Coeur-rose.webp');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;

  transform: translateY(3px);
}


/* Si WooCommerce affiche ancien prix + nouveau prix,
   évite d'avoir deux coeurs */

.juliette-search-product-price del .woocommerce-Price-amount::before {
  display: none;
}


/* =========================================================
   VOIR PLUS
========================================================= */

.juliette-search-more-wrapper {
  display: flex;
  justify-content: center;

  margin-top: 55px;
}

button.juliette-search-more {
  padding: 16px 40px !important;

  background: #CD3D7C !important;

  border: 1px solid #CD3D7C !important;
  border-radius: 0 !important;

  color: #FFFFFF !important;

  font-family: 'Goudy Bookletter', serif !important;
  font-size: 16px !important;

  text-transform: uppercase !important;

  box-shadow: none !important;

  cursor: pointer;

  transition: all .25s ease;
}

button.juliette-search-more:hover {
  background: #EEA2A8 !important;
  border-color: #EEA2A8 !important;
  color: #FFFFFF !important;
}


/* =========================================================
   AUCUN RÉSULTAT / CHARGEMENT
========================================================= */

.juliette-search-empty {
  padding: 60px 20px;

  text-align: center;

  color: #305214;

  font-family: 'Goudy Bookletter', serif;
  font-size: 20px;
}

.juliette-search.is-loading .juliette-search-results {
  opacity: .35;
  pointer-events: none;
}


/* =========================================================
   ÉLÉMENTS MASQUÉS
========================================================= */

.juliette-search-more[hidden],
.juliette-search-empty[hidden],
.juliette-search-count[hidden] {
  display: none !important;
}


/* =========================================================
   TABLETTE
========================================================= */

@media (max-width: 1024px) {

  .juliette-search-results {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

  .juliette-search-bar {
    margin-bottom: 22px;
  }

  .juliette-search-input {
    height: 54px !important;
    line-height: 54px !important;

    padding-left: 48px !important;
    padding-right: 48px !important;

    font-size: 16px !important;
  }

  .juliette-search-icon {
    left: calc(50% - 115px);

    width: 20px;
    height: 20px;
  }

  .juliette-search-icon svg {
    width: 20px;
    height: 20px;
  }


  /* Filtres scrollables horizontalement */

  .juliette-search-filters {
    justify-content: flex-start;
    flex-wrap: nowrap;

    overflow-x: auto;

    margin-bottom: 40px;
    padding-bottom: 5px;

    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .juliette-search-filters::-webkit-scrollbar {
    display: none;
  }

  button.juliette-filter {
    flex: 0 0 auto;

    padding: 11px 18px !important;

    font-size: 15px !important;
  }


  /* Produits */

 .juliette-search-results {
  grid-template-columns: 1fr;
  gap: 50px;
}

  .juliette-search-product-content {
    padding-top: 14px;
  }

.juliette-search-product-title {
  max-width: 90%;
  margin-left: auto !important;
  margin-right: auto !important;
}

  .juliette-search-product-price .woocommerce-Price-amount {
    font-size: 24px !important;
  }

}