/* ==========================================================================
   Boutique et catégories Wouly
   ========================================================================== */

/* Bandeau de titre (base dans base.css) : sous-catégories */
.wf-ptitle__cats { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 30px; margin: 20px 0 0; padding: 0; list-style: none; }
.wf-ptitle__cats li { margin: 0; }
.wf-ptitle__cats a { position: relative; color: var(--wh-nav); font-size: 15px; font-weight: 600; text-decoration: none; }
.wf-ptitle__cats a:hover { color: var(--wh-primary); }
.wf-ptitle__count { position: relative; top: -7px; margin-left: 2px; font-size: 11px; font-weight: 400; color: var(--wh-text); }

.wouly-catalog .storefront-breadcrumb { display: none; }
.wouly-catalog .woocommerce-products-header { padding: 0; margin: 0; }
.wouly-catalog .woocommerce-products-header:empty { display: none; }
.wouly-catalog .term-description, .wouly-catalog .page-description { max-width: 820px; margin: 0 auto 30px; text-align: center; color: var(--wh-text); }

/* Barre d'outils */
.wf-toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 15px 30px; margin: 0 0 25px; }
.wf-toolbar__left, .wf-toolbar__right { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 30px; }
.wf-toolbar__filters { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: var(--wh-nav); }
.wf-toolbar__filters:hover { color: var(--wh-primary); }
.wf-toolbar__badge { display: inline-flex; align-items: center; justify-content: center; min-width: 18px; height: 18px; padding: 0 5px; box-sizing: border-box; border-radius: 9px; background: var(--wh-primary); color: #fff; font-size: 11px; font-weight: 600; }

.wf-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.wf-chips li { margin: 0; }
.wf-chips a { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 35px; background: #f5f5f5; color: var(--wh-nav); font-size: 13px; text-decoration: none; }
.wf-chips a:hover { background: #ebebeb; }
.wf-chips a span[aria-hidden] { font-size: 15px; line-height: 1; }
.wf-chips .wf-chips__clear { background: none; text-decoration: underline; text-underline-offset: 3px; padding-left: 4px; }

.wf-perpage { display: flex; align-items: center; gap: 6px; font-size: 14px; color: #a5a5a5; }
.wf-perpage > span:first-child { color: var(--wh-nav); font-weight: 600; margin-right: 2px; }
.wf-perpage a { color: #a5a5a5; text-decoration: none; }
.wf-perpage a:hover, .wf-perpage a[aria-current] { color: var(--wh-nav); font-weight: 600; }
.wf-cols { display: flex; align-items: center; gap: 12px; }
.wf-cols a { display: flex; color: #cfcfcf; }
.wf-cols a:hover, .wf-cols a[aria-current] { color: var(--wh-nav); }
.wf-cols svg { height: 17px; width: auto; fill: currentColor; }

.wf-toolbar .woocommerce-ordering { margin: 0; }
.wf-toolbar .woocommerce-ordering select {
	min-width: 190px; padding: 6px 28px 6px 0; border: 0; border-bottom: 2px solid rgba(0, 0, 0, .1); border-radius: 0;
	background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 2px center / 12px;
	font-family: var(--wh-font); font-size: 14px; font-weight: 600; color: var(--wh-nav);
	-webkit-appearance: none; appearance: none; box-shadow: none; cursor: pointer;
}
.wf-toolbar .woocommerce-ordering select:focus { border-bottom-color: var(--wh-primary); }

/* Seconde image au survol : voir base.css */

/* Pagination */
.wouly-catalog .woocommerce-pagination { margin: 20px 0 0; text-align: center; }
.wouly-catalog .woocommerce-pagination ul.page-numbers { display: inline-flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; border: 0; list-style: none; }
.wouly-catalog .woocommerce-pagination ul.page-numbers li { margin: 0; border: 0; float: none; }
.wouly-catalog .woocommerce-pagination .page-numbers li .page-numbers {
	display: inline-flex; align-items: center; justify-content: center; min-width: 38px; height: 38px; padding: 0 8px; box-sizing: border-box;
	border-radius: 35px; background: transparent; color: var(--wh-nav); font-size: 14px; font-weight: 600; text-decoration: none;
}
.wouly-catalog .woocommerce-pagination .page-numbers li a.page-numbers:hover { background: #f5f5f5; }
.wouly-catalog .woocommerce-pagination .page-numbers li .page-numbers.current { background: var(--wh-primary); color: #fff; }

/* Aucun résultat */
.wouly-catalog .woocommerce-info { margin-top: 10px; }

/* --------------------------------------------------------------------------
   Panneau des filtres
   -------------------------------------------------------------------------- */
.wf-filters { width: min(340px, 88vw); }
.wf-filters__body { padding: 10px 20px 30px; }
.wf-filter { margin: 0 0 10px; padding: 18px 0; border: 0; border-bottom: 1px solid var(--wh-border); background: none; min-width: 0; }
fieldset.wf-filter legend { float: left; width: 100%; background: none; border: 0; padding: 0; margin-left: 0; }
fieldset.wf-filter legend + * { clear: both; }
.wf-filters__form .wf-filter:last-of-type { border-bottom: 0; }
.wf-filter__title { display: block; margin: 0 0 14px; padding: 0; font-size: 16px; font-weight: 600; color: var(--wh-title); }
.wf-filter__cats ul { margin: 0; padding: 0; list-style: none; }
.wf-filter__cats ul ul { padding-left: 14px; }
.wf-filter__cats li { margin: 0; }
.wf-filter__cats a { display: flex; justify-content: space-between; gap: 10px; padding: 6px 0; color: var(--wh-text); font-size: 14px; text-decoration: none; }
.wf-filter__cats a:hover { color: var(--wh-nav); }
.wf-filter__cats a[aria-current] { color: var(--wh-nav); font-weight: 600; }
.wf-filter__count { min-width: 26px; padding: 0 6px; box-sizing: border-box; border: 1px solid var(--wh-border); border-radius: 35px; font-size: 11px; line-height: 20px; text-align: center; color: var(--wh-text); font-weight: 400; }

.wf-price__slider { position: relative; height: 24px; margin: 6px 8px 12px; }
.wf-price__slider::before { content: ""; position: absolute; left: 0; right: 0; top: 10px; height: 4px; border-radius: 4px; background: rgba(0, 0, 0, .1); }
.wf-price__range { position: absolute; top: 10px; height: 4px; border-radius: 4px; background: var(--wh-primary); }
.wf-price__slider input[type="range"] {
	position: absolute; left: -8px; right: -8px; top: 0; width: calc(100% + 16px); height: 24px; margin: 0; padding: 0;
	background: none; border: 0; pointer-events: none; -webkit-appearance: none; appearance: none;
}
.wf-price__slider input[type="range"]::-webkit-slider-runnable-track { background: none; height: 24px; }
.wf-price__slider input[type="range"]::-moz-range-track { background: none; }
.wf-price__slider input[type="range"]::-webkit-slider-thumb {
	-webkit-appearance: none; pointer-events: auto; width: 16px; height: 16px; margin-top: 4px; border-radius: 50%;
	background: #fff; border: 2px solid var(--wh-primary); cursor: pointer;
}
.wf-price__slider input[type="range"]::-moz-range-thumb {
	pointer-events: auto; width: 14px; height: 14px; border-radius: 50%; background: #fff; border: 2px solid var(--wh-primary); cursor: pointer;
}
.wf-price__slider input[type="range"]:focus-visible { outline: none; }
.wf-price__slider input[type="range"]:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 3px rgba(19, 134, 112, .35); }
.wf-price__slider input[type="range"]:focus-visible::-moz-range-thumb { box-shadow: 0 0 0 3px rgba(19, 134, 112, .35); }
.wf-price__fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.wf-price__fields label { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--wh-text); }
.wf-price__fields label span { flex: none; white-space: nowrap; }
.wf-price__fields input[type="number"] { width: 100%; min-width: 0; padding: 6px 8px; border-radius: 4px; font-size: 14px; }

.wf-check { display: flex; align-items: center; gap: 10px; padding: 5px 0; font-size: 14px; color: var(--wh-nav); cursor: pointer; }
.wf-check input { width: 16px; height: 16px; margin: 0; accent-color: var(--wh-primary); }

.wf-filters__actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 18px; }
.wf-filters__actions .wf-btn { flex: 1; border: 0; cursor: pointer; }
.wf-filters__reset { font-size: 13px; color: var(--wh-text); text-decoration: underline; text-underline-offset: 3px; }

/* Tablette et mobile */
@media (max-width: 1024px) {
	.wf-perpage, .wf-cols { display: none; }
}
@media (max-width: 767px) {
	.wf-ptitle__cats { gap: 6px 18px; margin-top: 14px; }
	.wf-ptitle__cats a { font-size: 14px; }
	.wf-toolbar { gap: 12px; margin-bottom: 18px; }
	.wf-toolbar__left { flex: 1; gap: 12px; }
	.wf-chips { order: 2; width: 100%; }
	.wf-toolbar .woocommerce-ordering select { min-width: 0; max-width: 170px; }
}
