/* Filtres V2 — maquette « Colonne / Filtres — 260 » (SOCLE : vert #11A138, vert foncé #1C7A34,
   vert action #60D669, vert doux #EAF7EC, filet vert #CDECCF, ink #2A2A2F, atténué #7A7A82, filet #E4E4E7). */
.qfs-filtres { display: flex; flex-direction: column; gap: 16px; font-size: 15px; color: #2A2A2F; }
.qfs-filtres details > summary { list-style: none; cursor: pointer; }
.qfs-filtres details > summary::-webkit-details-marker { display: none; }

.qfs-f-actifs { background: #EAF7EC; border-radius: 20px; padding: 16px; }
.qfs-f-actifs-tete { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 12px; }
.qfs-f-actifs-tete span { font-weight: 700; color: #1C7A34; }
.qfs-f-effacer { font-size: 14px; color: #2A2A2F !important; text-decoration: none !important; font-weight: 600; }
.qfs-f-puces { display: flex; flex-wrap: wrap; gap: 8px; }
.qfs-f-puce { display: inline-flex; align-items: center; gap: 6px; background: #fff; border: 1px solid #CDECCF; border-radius: 999px;
    padding: 4px 12px; font-size: 13px; font-weight: 600; color: #1C7A34 !important; text-decoration: none !important; }
.qfs-f-puce:hover { border-color: #11A138; }

.qfs-f-bloc { background: #fff; border: 1px solid #E4E4E7; border-radius: 20px; padding: 16px 20px; }
.qfs-f-bloc > summary { display: flex; justify-content: space-between; align-items: center; font-weight: 700; font-size: 16px; }
.qfs-f-bloc > summary::after { content: '⌃'; font-size: 14px; color: #7A7A82; transition: transform .2s; }
.qfs-f-bloc:not([open]) > summary::after { transform: rotate(180deg); }
.qfs-f-bloc[open] > summary { margin-bottom: 12px; }
.qfs-f-liste, .qfs-f-enfants { display: flex; flex-direction: column; gap: 4px; }

.qfs-f-option { display: flex; align-items: center; gap: 10px; padding: 5px 0; cursor: pointer; line-height: 1.3; margin: 0; }
.qfs-f-option input { width: 18px; height: 18px; margin: 0; flex: 0 0 18px; accent-color: #11A138; cursor: pointer; }
.qfs-f-libelle { flex: 1 1 auto; }
.qfs-f-compte { font-size: 13px; color: #7A7A82; margin-left: 8px; }
.qfs-f-option input:checked ~ .qfs-f-libelle { color: #11A138; font-weight: 600; }
.qfs-f-vide { opacity: .45; cursor: default; }
.qfs-f-vide input { cursor: default; }

.qfs-f-branche > summary { display: flex; align-items: center; }
.qfs-f-branche > summary::before { content: '▸'; width: 16px; flex: 0 0 16px; color: #7A7A82; font-size: 12px; transition: transform .2s; }
.qfs-f-branche[open] > summary::before { transform: rotate(90deg); }
.qfs-f-branche > summary .qfs-f-option { flex: 1 1 auto; }
.qfs-f-feuille { padding-left: 16px; }
.qfs-f-enfants { padding-left: 42px; margin-bottom: 6px; }

.qfs-f-interrupteur { display: flex; align-items: center; gap: 12px; cursor: pointer; margin: 0; }
.qfs-f-interrupteur input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.qfs-f-glissiere { position: relative; width: 36px; height: 20px; flex: 0 0 36px; border-radius: 999px; background: #E4E4E7; transition: background .2s; }
.qfs-f-glissiere::after { content: ''; position: absolute; top: 2px; left: 2px; width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.2); transition: transform .2s; }
.qfs-f-interrupteur input:checked + .qfs-f-glissiere { background: #11A138; }
.qfs-f-interrupteur input:checked + .qfs-f-glissiere::after { transform: translateX(16px); }
.qfs-f-interrupteur input:focus-visible + .qfs-f-glissiere { outline: 2px solid #1C7A34; outline-offset: 2px; }
.qfs-f-interrupteur .qfs-f-libelle { color: #1C7A34; font-weight: 600; }

.qfs-barre-resultats { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 20px; flex-wrap: wrap; }
.qfs-nb-resultats { margin: 0 !important; padding: 0 !important; font-weight: 700; font-size: 16px; }
.qfs-tri { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 14px; color: #55555C; }
.qfs-tri select { border: 1px solid #E4E4E7; border-radius: 10px; padding: 6px 10px; font-size: 14px; background: #fff; }
.qfs-f-ouvrir { display: none; }
.qfs-f-mobile-actions { display: none; }
body.qfs-f-chargement #wc-product-results { opacity: .5; transition: opacity .2s; }

@media (max-width: 999px) {
    .qfs-f-ouvrir { display: inline-flex; align-items: center; gap: 8px; position: sticky; bottom: 16px; border: 0; border-radius: 999px;
        background: #121212; color: #fff; font-weight: 700; padding: 10px 18px; font-size: 15px; }
    .qfs-f-ouvrir-nb { background: #60D669; color: #121212; border-radius: 999px; min-width: 22px; padding: 0 6px; font-size: 13px; text-align: center; }
    body:not(.qfs-f-ouvert) #sidebar:has(.qfs-filtres) { display: none !important; }
    body.qfs-f-ouvert { overflow: hidden; }
    /* plus spécifique que la règle de Salient (.archive.woocommerce .container-wrap > .main-content #sidebar) */
    body.qfs-f-ouvert.qfs-f-ouvert.qfs-f-ouvert .main-content #sidebar:has(.qfs-filtres) { display: block !important; position: fixed !important; inset: 0; z-index: 100000; width: 100% !important;
        margin: 0 !important; padding: 96px 20px 120px !important; background: #F6F6F7; overflow-y: auto; transform: none !important;
        left: 0 !important; top: 0 !important; opacity: 1 !important; visibility: visible !important; height: 100% !important; }
    .qfs-f-mobile-actions { display: flex; gap: 12px; position: fixed; left: 0; right: 0; bottom: 0; padding: 16px 20px; background: #fff;
        border-top: 1px solid #E4E4E7; z-index: 100001; }
    .qfs-f-appliquer { flex: 1 1 auto; border: 0; border-radius: 999px; background: #60D669; color: #121212; font-weight: 700; font-size: 16px; padding: 14px; }
    .qfs-f-appliquer[disabled] { background: #E4E4E7; color: #7A7A82; }
    .qfs-f-fermer { border: 1px solid #E4E4E7; border-radius: 999px; background: #fff; padding: 14px 18px; font-weight: 600; }
}

/* Aucun résultat : pistes pour élargir */
.qfs-elargir { margin: 0 0 28px; }
.qfs-elargir-titre { font-weight: 600; margin: 16px 0 8px !important; padding: 0 !important; }
.qfs-pistes { list-style: none; margin: 0 !important; padding: 0 !important; display: flex; flex-wrap: wrap; gap: 8px; }
.qfs-pistes li { margin: 0 !important; padding: 0 !important; list-style: none; }
.qfs-pistes li::before { display: none !important; }
.qfs-pistes a { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border: 1px solid #1E9E3E; border-radius: 999px; color: #1E9E3E; text-decoration: none; font-size: 15px; line-height: 1.2; }
.qfs-pistes a:hover, .qfs-pistes a:focus { background: #1E9E3E; color: #fff; }
.qfs-pistes li { display: flex; align-items: center; gap: 6px; }
.qfs-piste-nb { color: #6b6b72; font-size: 13px; }
