ul.products {
display: grid;
grid-template-columns: repeat(var(--colonnes, 4), minmax(0, 1fr));
gap: 40px 22px;
margin: 0;
padding: 0 0 46px;
list-style: none;
}
ul.products.columns-3 { --colonnes: 3; }
ul.products.columns-2 { --colonnes: 2; }
ul.products li.product { position: relative; display: flex; flex-direction: column; min-width: 0; }
ul.products li.product:nth-child(even) { transform: translateY(46px); }
.woocommerce-LoopProduct-link { display: flex; flex-direction: column; gap: 14px; color: var(--e); text-decoration: none; flex: 1; }
.imp-carte__visuel {
position: relative;
display: block;
aspect-ratio: 1;
overflow: hidden;
border-radius: 16px;
background: var(--blanc);
}
.imp-carte__visuel img { width: 100%; height: 100%; object-fit: contain; transition: transform .5s cubic-bezier(.2, .7, .2, 1); }
.woocommerce-LoopProduct-link:hover .imp-carte__visuel img { transform: scale(1.04); }
.imp-carte__ligne { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; padding: 0 14px; }
.woocommerce-loop-product__title {
margin: 0;
font: 500 18px/1.25 var(--texte);
color: var(--e);
text-transform: none;
letter-spacing: 0;
display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.imp-carte__ligne .price { flex: none; color: var(--r); font-weight: 600; font-size: 18px; white-space: nowrap; text-align: right; }
.price del { display: block; color: var(--doux); font-weight: 400; font-size: .85em; }
.price ins { text-decoration: none; }
.imp-carte__extrait {
padding: 0 14px;
color: var(--doux);
font-size: 14px;
display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
ul.products li.product .button { align-self: flex-start; margin: 16px 0 0 14px; min-height: 44px; padding: 0 20px; font-size: 15px; }
ul.products li.product .added_to_cart { display: none; }
ul.products li.product .button.est-ajoute { background: var(--olive); }
.onsale.imp-pastille-promo,
.imp-carte__visuel .onsale {
position: absolute; top: 12px; left: 12px; z-index: 1;
padding: 5px 12px;
border-radius: 999px;
background: var(--r); color: var(--c);
font-size: 13px; font-weight: 600;
} .imp-carte__epuise {
position: absolute; top: 12px; right: 12px; z-index: 1;
padding: 5px 12px;
border-radius: 999px;
background: var(--e); color: var(--c);
font-size: 13px; font-weight: 600;
}
.imp-carte__visuel:has(.imp-carte__epuise) img { opacity: .55; }
@media (max-width: 1000px) {
ul.products { --colonnes: 3; }
}
@media (max-width: 760px) {
ul.products, ul.products.columns-3 { --colonnes: 2; gap: 28px 14px; }
.imp-carte__ligne { flex-direction: column; gap: 4px; padding: 0 4px; }
.imp-carte__ligne .price { text-align: left; font-size: 16px; }
.woocommerce-loop-product__title { font-size: 16px; }
.imp-carte__extrait { padding: 0 4px; font-size: 13px; }
ul.products li.product .button { margin: 12px 0 0 4px; min-height: 44px; padding: 0 16px; font-size: 14px; }
ul.products li.product:nth-child(even) { transform: translateY(32px); }
}.imp-boutique-page { max-width: 1180px; margin: 0 auto; padding: 42px var(--gouttiere) 90px; }
.woocommerce-products-header { margin-bottom: 28px; }
.woocommerce-products-header__title { font-size: clamp(46px, 7vw, 84px); margin: 0 0 14px; }
.term-description, .page-description { max-width: 760px; font-size: 17px; color: var(--e); }
.term-description p, .page-description p { margin: 0 0 .6em; }
.imp-pastilles { margin: 0 0 18px; }
.imp-pastilles ul { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.imp-pastille {
display: inline-flex; align-items: baseline; gap: 7px;
min-height: 44px; padding: 10px 14px;
border-radius: 999px;
background: var(--blanc); color: var(--e);
font-size: 15px; font-weight: 500; text-decoration: none; white-space: nowrap;
}
.imp-pastille span { font-size: 13px; color: var(--doux); }
.imp-pastille:hover { color: var(--r); }
.imp-pastille.est-active { background: var(--r); color: var(--c); }
.imp-pastille.est-active span { color: color-mix(in srgb, var(--c) 80%, transparent); }
.imp-outils {
display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px;
margin-bottom: 40px; padding-bottom: 18px;
border-bottom: 1px solid color-mix(in srgb, var(--e) 12%, transparent);
}
.imp-resultats { margin: 0; color: var(--doux); font-size: 14px; }
.imp-resultats b { color: var(--e); font-weight: 600; }
.woocommerce-ordering { display: flex; align-items: center; gap: 10px; margin: 0; }
.woocommerce-ordering::before { content: "Trier"; color: var(--doux); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.woocommerce-ordering select { min-width: 190px; background-color: var(--blanc); font-weight: 500; }
.woocommerce-pagination ul { display: flex; justify-content: center; gap: 8px; margin: 40px 0 0; padding: 0; list-style: none; }
.woocommerce-pagination li .page-numbers {
display: grid; place-items: center; min-width: 44px; height: 44px; padding: 0 12px;
border-radius: 999px; background: var(--blanc); color: var(--e); font-weight: 600; text-decoration: none;
}
.woocommerce-pagination li .page-numbers.current { background: var(--r); color: var(--c); }
.woocommerce-info { margin: 0 0 40px; }
@media (max-width: 760px) {
.imp-boutique-page { padding-top: 26px; }
.imp-pastilles { margin-right: calc(var(--gouttiere) * -1); }
.imp-pastilles ul { flex-wrap: nowrap; overflow-x: auto; padding-right: var(--gouttiere); scrollbar-width: none; }
.imp-pastilles ul::-webkit-scrollbar { display: none; }
.imp-resultats { display: none; }
.imp-outils { justify-content: flex-end; margin-bottom: 26px; }
} .imp-faq {
position: relative;
overflow: hidden;
margin: 90px 0 0;
padding: 56px 48px 44px;
border-radius: var(--rayon);
background: var(--pale);
}
.imp-faq::before { content: ""; position: absolute; inset: 0 0 auto; height: 12px; background: var(--vichy); }
.imp-faq h2 { font-size: clamp(32px, 3.6vw, 48px); margin-bottom: 28px; }
.imp-faq-liste { display: grid; gap: 12px; }
.imp-faq-item { border: 2px solid transparent; border-radius: 16px; background: var(--blanc); }
.imp-faq-item[open] { border-color: var(--r); }
.imp-faq-item summary {
display: flex; align-items: center; justify-content: space-between; gap: 18px;
padding: 18px 20px;
color: var(--e); font-size: 18px; font-weight: 600;
list-style: none; cursor: pointer;
}
.imp-faq-item[open] summary { color: var(--r); }
.imp-faq-item summary::-webkit-details-marker { display: none; }
.imp-faq-item summary::after {
content: "+";
flex: none; display: grid; place-items: center;
width: 34px; height: 34px; border-radius: 50%;
background: var(--r); color: var(--c); font-size: 22px; line-height: 1;
}
.imp-faq-item[open] summary::after { content: "−"; }
.imp-faq-reponse { padding: 0 20px 20px; font-weight: 400; }
.imp-faq-reponse p:last-child { margin: 0; }
@media (max-width: 760px) {
.imp-faq { margin: 70px calc(var(--gouttiere) * -1 + 12px) 0; padding: 44px 16px 20px; }
.imp-faq-item summary { font-size: 16px; }
}