Les imparfaits

Les produits imparfaits sont des produits avec des défauts visibles sur les contenants et/ou l’emballage. Ce sont des produits visuellement « moins beaux » de l’extérieur, mais tout autant de qualité à l’intérieur.

Jours
Heures
Minutes
Secondes
Scroll to Top

Filtres


Prix


Catégories

Catégories

Bienfaits

Bienfaits

Disponibilités

Disponibilités

Produits

Produits

/* Pied du popup filtre : les boutons restent visibles en bas, peu importe la longueur de la liste */ .elementor-widget:has(.tptf-filtre-footer) { position: sticky; bottom: 0; z-index: 5; background: #ffffff; } .tptf-filtre-footer { display: grid; gap: 10px; padding: 16px 0 20px; border-top: 1px solid #e8e8e8; background: #ffffff; } .tptf-filtre-footer button { width: 100%; margin: 0; padding: 16px 18px; font-size: 14px; line-height: 1.2; letter-spacing: 1.5px; text-transform: uppercase; text-align: center; cursor: pointer; border-radius: 0; border: 1px solid #211747; transition: background-color .2s ease, color .2s ease, border-color .2s ease; } .tptf-filtre-footer .tptf-effacer-filtres { background: #ffffff; color: #211747; } .tptf-filtre-footer .tptf-effacer-filtres:hover { background: #211747; color: #ffffff; } .tptf-filtre-footer .tptf-voir-resultats { background: #211747; color: #ffffff; } .tptf-filtre-footer .tptf-voir-resultats:hover { background: #838DC8; border-color: #838DC8; } /* Session admin : la barre d'administration décale le popup, on évite que le bas soit coupé */ body.admin-bar .elementor-popup-modal .dialog-message { max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); } @media (max-width: 782px) { body.admin-bar .elementor-popup-modal .dialog-message { max-height: calc(100vh - 46px); max-height: calc(100dvh - 46px); } } // Les cases à cocher, le curseur de prix et les pastilles sont gérés par le snippet WPCode « Filtre produits » // (fonctions tptfAller, tptfUrlAvecPrix et voile de chargement). Ce bloc gère les deux boutons du bas. function tptfNaviguer(url) { if (window.tptfAller) { window.tptfAller(url); } else { window.location.href = url; } } // Voir les résultats : applique le prix choisi sur le curseur (retiré s'il est aux extrémités). document.getElementById('btn-voir-resultats').addEventListener('click', function() { var url = window.tptfUrlAvecPrix ? window.tptfUrlAvecPrix() : window.location.href; tptfNaviguer(url); }); // Effacer tout : retire tous les filtres de l'URL et revient à la page 1. document.getElementById('tptf-effacer-filtres').addEventListener('click', function() { var url = new URL(window.location.href); var aRetirer = []; url.searchParams.forEach(function(value, key) { if (key.indexOf('filter_') === 0 || key.indexOf('query_type_') === 0 || key === 'min_price' || key === 'max_price' || key === 'produits' || key === 'categories' || key === 'dispo' || key === 'bienfaits' || key === 'peau' || key === 'paged') { aRetirer.push(key); } }); aRetirer.forEach(function(key) { url.searchParams.delete(key); }); url.pathname = url.pathname.replace(/\/page\/\d+\/?$/, '/'); tptfNaviguer(url.toString()); });