/* ==========================================================================
   Prido — filtros plegables r5 (2026-10-24)
   r5 = r4 + §9: el panel mide lo visible de la pantalla (--pfold-h, lo calcula el JS)
   para que el pie «Ver N productos» quede siempre a la vista, y sin la fila de chips
   dentro del panel en escritorio (la barra de la cornisa ya los muestra).
   ----- r4 -----
   Prido — filtros plegables r4 (2026-10-24)
   r4 = r3 + §8 «variante A»: botón Filtros de 44 px en la barra de la cornisa
   (contorno → sólido al abrir), chips activos en la barra y SIN riel: plegado,
   la columna mide 0 y la grilla arranca en el borde.
   ----- r3 (2026-10-23) -----
   r3 = r2 + §7: sección «Ofertas» con el interruptor «Solo productos en oferta»
   (lo arma el JS sobre la etiqueta `en-oferta`; solo ≥1025).
   r2 = r1 + §6: el panel con la piel 1:1 del lienzo «Tienda Prido · filtros
   plegables» (cabecera, acordeones, casillas, color con muestra y conteo, en una
   columna porque los nombres reales no caben en dos).
   El precio sigue siendo slider (el motor no filtra por tramos).
   La columna de filtros se pliega a un riel de 56 px y la grilla suma una
   columna (4→5, 3→4): el sidebar mide casi lo que una card, así que las cards
   conservan su ancho y la tipografía de [data-columns="4"] sigue sirviendo.
   Solo ≥1025 px (la hoja móvil y la tablet no cambian). Lo carga el mu
   prido-filtros-plegables.php; el estado lo pone `html.prido-fold-closed`.
   El sidebar vive dentro del inner con zoom:.9: las medidas van × --v2-k
   (1,111 desde 1360 px), igual que la piel v3.
   ========================================================================== */

.prido-fold-toggle,
.prido-fold-rail,
.prido-fold-close { display: none; }

@media (min-width: 1025px) {

    /* ---------- 1 · botón en la cornisa (junto a orden y densidad) ---------- */
    .prido-archive-v3 .prido-cornice__tools .prido-fold-toggle {
        display: inline-flex; align-items: center; gap: 8px; height: 36px; margin: 0; padding: 0 14px 0 12px;
        border: 1px solid var(--v3-line-strong); border-radius: 999px; background: var(--v3-surface); color: var(--v3-ink);
        font-family: var(--v3-ui); font-size: 13px; font-weight: 500; line-height: 1; white-space: nowrap; cursor: pointer;
        transition: border-color var(--v3-dur) var(--v3-ease), background-color var(--v3-dur) var(--v3-ease);
    }
    .prido-archive-v3 .prido-cornice__tools .prido-fold-toggle:hover { border-color: var(--v3-ink); }
    .prido-fold-toggle svg,
    .prido-fold-rail svg,
    .prido-fold-close svg { flex: none; display: block; }
    .prido-fold-badge {
        display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 6px;
        border-radius: 10px; background: #B84F17; color: #fff; letter-spacing: 0;
        font-family: var(--v3-heading); font-size: 11px; font-weight: 700; line-height: 1;
    }
    .prido-fold-badge[hidden] { display: none; }

    .prido-fold-toggle:focus-visible,
    .prido-fold-rail:focus-visible,
    .prido-fold-close:focus-visible { outline: 2px solid var(--v3-teal-deep); outline-offset: 2px; }

    /* ---------- 2 · botón «‹» en la cabecera del panel ----------
       Su hueco se reserva desde el CSS (padding de la fila) y el botón va en absoluto:
       insertarlo con JS no mueve «Borrar todo». */
    .prido-archive-v3 .prido-catalog-archive .prido-filters-panel .prido-fhead-row {
        position: relative; padding-right: calc(50px * var(--v2-k, 1)) !important;
    }
    .prido-archive-v3 .prido-filters-panel .prido-fhead-row .prido-fold-close {
        position: absolute; top: 50%; right: 0; transform: translateY(-50%);
        display: inline-flex; align-items: center; justify-content: center;
        width: calc(40px * var(--v2-k, 1)); height: calc(40px * var(--v2-k, 1)); margin: 0; padding: 0;
        border: 0; border-radius: calc(10px * var(--v2-k, 1)); background: var(--pf1-hover, #F3F4F7); color: var(--pf1-ink, #1C1A3A);
        cursor: pointer; transition: background-color var(--v3-dur) var(--v3-ease);
    }
    .prido-archive-v3 .prido-filters-panel .prido-fhead-row .prido-fold-close:hover { background: var(--pf1-line, #E3E5EC); }

    /* ---------- 3 · plegado: el ancho cambia de golpe (la grilla salta UNA vez y
       el JS anima las cards); el panel sale por encima con fundido ---------- */
    html.prido-fold-closed .prido-catalog-page,
    html.prido-fold-closed .prido-catalog-archive {
        --prido-filters-width: calc(56px * var(--v2-k, 1)) !important;
    }
    html.prido-fold-closed .prido-catalog-archive .prido-shop-sidebar { overflow: visible !important; }

    html.prido-fold-ready .prido-catalog-archive .prido-shop-sidebar .prido-filters-panel {
        transition: opacity .25s ease, transform .42s cubic-bezier(.22, .8, .24, 1), visibility 0s;
    }
    html.prido-fold-closed .prido-catalog-archive .prido-shop-sidebar .prido-filters-panel {
        position: absolute !important; top: 0; left: 0; z-index: 20;
        width: var(--pfold-w, calc(312px * var(--v2-k, 1))) !important; max-width: none !important;
        opacity: 0; transform: translateX(-32px); visibility: hidden; pointer-events: none;
    }
    html.prido-fold-ready.prido-fold-closed .prido-catalog-archive .prido-shop-sidebar .prido-filters-panel {
        transition: opacity .25s ease, transform .42s cubic-bezier(.22, .8, .24, 1), visibility 0s linear .42s;
    }

    /* ---------- 4 · riel ---------- */
    html.prido-fold-closed .prido-catalog-archive .prido-fold-rail {
        display: flex; flex-direction: column; align-items: center; gap: calc(12px * var(--v2-k, 1));
        width: 100%; min-height: calc(176px * var(--v2-k, 1)); margin: 0; padding: calc(16px * var(--v2-k, 1)) 0;
        border: 1px solid var(--v3-line-strong); border-radius: calc(18px * var(--v2-k, 1)); background: var(--v3-surface); color: var(--v3-ink);
        cursor: pointer; transition: border-color var(--v3-dur) var(--v3-ease), box-shadow var(--v3-dur) var(--v3-ease);
    }
    html.prido-fold-ready.prido-fold-closed .prido-catalog-archive .prido-fold-rail { animation: prido-fold-rail-in .3s var(--v3-ease) .12s both; }
    html.prido-fold-closed .prido-catalog-archive .prido-fold-rail:hover {
        border-color: var(--v3-ink); box-shadow: 0 8px 24px -14px rgba(26, 42, 58, .45);
    }
    .prido-fold-rail__txt {
        writing-mode: vertical-rl; transform: rotate(180deg);
        font-family: var(--v3-heading); font-size: calc(11px * var(--v2-k, 1)); font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
    }
    /* Antes de que corra el JS (recarga plegada): el hueco del riel ya pintado, sin salto. */
    html.prido-fold-closed:not(.prido-fold-ready) .prido-catalog-archive .prido-shop-sidebar::before {
        content: ""; display: block; height: calc(176px * var(--v2-k, 1)); box-sizing: border-box;
        border: 1px solid var(--v3-line-strong); border-radius: calc(18px * var(--v2-k, 1)); background: var(--v3-surface);
    }
    @keyframes prido-fold-rail-in {
        from { opacity: 0; transform: translateX(-8px); }
        to   { opacity: 1; transform: none; }
    }
}

/* ==========================================================================
   6 · PIEL 1:1 DEL LIENZO (r2). Mismo markup y mismo comportamiento (modo por
   lote incluido): solo cambia cómo se ve. Prefijo html + body.prido-archive-v3 +
   .prido-catalog-archive + clase repetida (0,4,2) para ganar a la §7/§8 de la v3
   (0,3,0) y al pie por lote (0,3,0). Medidas × --v2-k como la v3 (zoom .9).
   ========================================================================== */
@media (min-width: 1025px) {
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel {
        --pk: var(--v2-k, 1);
        --pf1-navy: #1E1A4D; --pf1-on: #ffffff; --pf1-ink: #1C1A3A; --pf1-muted: #6B6E80;
        --pf1-line: #E3E5EC; --pf1-soft: #EEF0F4; --pf1-hover: #F3F4F7; --pf1-hover2: #F7F8FA;
        --pf1-box: #B9BCCB; --pf1-teal: #17785B; --pf1-on-muted: #D5D3EA;
        /* el pie por lote toma el navy del lienzo */
        --pfb-accent: var(--pf1-navy); --pfb-cta-bg: var(--pf1-navy); --pfb-cta-fg: var(--pf1-on);
        border: 1px solid var(--pf1-line) !important; border-radius: calc(18px * var(--pk)) !important;
        background: var(--v3-surface, #fff) !important; color: var(--pf1-ink) !important;
        font-family: var(--v3-heading) !important;
    }
    :root[data-theme="dark"] body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel,
    html body.prido-archive-v3.woodmart-dark .prido-catalog-archive .prido-filters-panel.prido-filters-panel {
        --pf1-navy: #2dc6c1; --pf1-on: #0c1219; --pf1-ink: var(--v3-ink); --pf1-muted: var(--v3-muted);
        --pf1-line: var(--v3-line-strong); --pf1-soft: var(--v3-line); --pf1-hover: rgba(255, 255, 255, .07); --pf1-hover2: rgba(255, 255, 255, .04);
        --pf1-box: rgba(255, 255, 255, .34); --pf1-teal: #2dc6c1; --pf1-on-muted: rgba(12, 18, 25, .72);
    }

    /* --- cabecera: FILTROS [n] · Borrar todo · ‹ --- */
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .prido-fhead {
        margin: 0 !important; padding: calc(14px * var(--pk)) calc(12px * var(--pk)) calc(14px * var(--pk)) calc(20px * var(--pk)) !important;
        border-bottom: 0 !important;
    }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .prido-fhead-row {
        display: flex !important; align-items: center !important; gap: calc(10px * var(--pk)) !important; min-height: calc(40px * var(--pk));
    }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .prido-fhead-title {
        display: inline-flex !important; align-items: center !important; gap: calc(10px * var(--pk)) !important;
        font-family: var(--v3-heading) !important; font-size: calc(13px * var(--pk)) !important; font-weight: 700 !important;
        letter-spacing: .14em !important; text-transform: uppercase !important; color: var(--pf1-ink) !important;
    }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .prido-fhead-title .prido-fold-badge {
        min-width: calc(22px * var(--pk)); height: calc(22px * var(--pk)); border-radius: calc(11px * var(--pk)); font-size: calc(12px * var(--pk));
    }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .prido-fhead-clear {
        margin: 0 0 0 auto !important; padding: 0 calc(4px * var(--pk)) !important; min-height: calc(36px * var(--pk)) !important;
        border: 0 !important; background: none !important; border-radius: 6px !important;
        font-family: var(--v3-heading) !important; font-size: calc(14px * var(--pk)) !important; font-weight: 600 !important;
        letter-spacing: 0 !important; text-transform: none !important; color: var(--pf1-teal) !important;
        text-decoration: underline !important; text-underline-offset: 3px !important;
    }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .prido-fhead-clear:hover { background: none !important; color: var(--pf1-ink) !important; }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .prido-fhead-clear:disabled,
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .prido-fhead-clear[aria-disabled="true"] { color: var(--pf1-muted) !important; text-decoration: none !important; }
    /* el conteo de la cabecera no está en el lienzo: ya lo dicen la cornisa y el CTA del pie */
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .prido-fhead-count { display: none !important; }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .prido-filters-active-chips {
        padding: 0 calc(20px * var(--pk)) calc(12px * var(--pk)) !important;
    }

    /* --- secciones en acordeón --- */
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .prido-filters-body { padding: 0 !important; }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .prido-filter-section {
        margin: 0 !important; padding: 0 !important; border: 0 !important; border-top: 1px solid var(--pf1-soft) !important;
    }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .prido-filter-section-toggle {
        display: flex !important; align-items: center !important; gap: calc(8px * var(--pk)) !important; width: 100% !important;
        min-height: calc(52px * var(--pk)) !important; padding: 0 calc(20px * var(--pk)) !important; margin: 0 !important;
        border: 0 !important; border-radius: 0 !important; background: transparent !important; text-align: left !important; cursor: pointer;
    }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .prido-filter-section-toggle:hover { background: var(--pf1-hover2) !important; }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .prido-filter-section-label {
        font-family: var(--v3-heading) !important; font-size: calc(12px * var(--pk)) !important; font-weight: 700 !important;
        letter-spacing: .12em !important; text-transform: uppercase !important; color: var(--pf1-ink) !important;
    }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .prido-filter-section-count:not([hidden]) {
        display: inline-flex !important; align-items: center !important; justify-content: center !important;
        min-width: calc(20px * var(--pk)) !important; height: calc(20px * var(--pk)) !important; padding: 0 calc(6px * var(--pk)) !important;
        border-radius: calc(10px * var(--pk)) !important; background: var(--pf1-navy) !important; color: var(--pf1-on) !important;
        font-family: var(--v3-heading) !important; font-size: calc(11px * var(--pk)) !important; font-weight: 700 !important; letter-spacing: 0 !important;
    }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .prido-filter-chevron {
        margin-left: auto !important; width: calc(16px * var(--pk)) !important; height: calc(16px * var(--pk)) !important; color: var(--pf1-muted) !important;
    }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .prido-filter-section-body {
        padding: 0 calc(20px * var(--pk)) calc(14px * var(--pk)) !important;
    }

    /* --- casillas --- */
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .prido-filter-list { margin: 0 !important; padding: 0 !important; }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .prido-filter-list:not(.pf-sw-grid) .prido-filter-label {
        display: flex !important; align-items: center !important; gap: calc(12px * var(--pk)) !important;
        min-height: calc(40px * var(--pk)) !important; padding: 0 calc(8px * var(--pk)) !important; margin: 0 calc(-8px * var(--pk)) !important;
        border-radius: calc(10px * var(--pk)) !important; background: transparent !important; cursor: pointer;
    }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .prido-filter-list:not(.pf-sw-grid) .prido-filter-label:hover { background: var(--pf1-hover) !important; }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .prido-filter-check-icon {
        width: calc(20px * var(--pk)) !important; height: calc(20px * var(--pk)) !important; flex: none !important;
        border: 1.5px solid var(--pf1-box) !important; border-radius: calc(6px * var(--pk)) !important;
        background: transparent !important; color: transparent !important; box-shadow: none !important;
    }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .prido-filter-check-icon svg { width: calc(12px * var(--pk)) !important; height: calc(12px * var(--pk)) !important; }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .prido-filter-checkbox:checked + .prido-filter-check-icon,
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .prido-filter-item.is-active .prido-filter-check-icon,
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .prido-filter-label.is-checked .prido-filter-check-icon {
        background: var(--pf1-navy) !important; border-color: var(--pf1-navy) !important; color: var(--pf1-on) !important;
    }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .prido-filter-checkbox:focus-visible + .prido-filter-check-icon {
        outline: 2px solid #B84F17 !important; outline-offset: 2px !important;
    }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .prido-filter-name {
        flex: 1 1 auto !important; font-family: var(--v3-heading) !important; font-size: calc(15px * var(--pk)) !important;
        font-weight: 400 !important; color: var(--pf1-ink) !important;
    }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .prido-filter-checkbox:checked ~ .prido-filter-name { font-weight: 500 !important; }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .prido-filter-count {
        font-family: var(--v3-heading) !important; font-size: calc(13px * var(--pk)) !important; font-weight: 400 !important;
        color: var(--pf1-muted) !important; font-variant-numeric: tabular-nums;
    }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .prido-filter-show-more,
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .prido-cat-toggle {
        margin: calc(6px * var(--pk)) 0 0 !important; padding: 0 !important; min-height: calc(36px * var(--pk)) !important;
        border: 0 !important; background: none !important;
        font-family: var(--v3-heading) !important; font-size: calc(14px * var(--pk)) !important; font-weight: 600 !important;
        letter-spacing: 0 !important; text-transform: none !important; color: var(--pf1-teal) !important;
    }

    /* --- color: botones con muestra, nombre y conteo. El lienzo los pone en dos columnas,
       pero con nombres reales («Azul Galvánico», «Almendra Soft») cada celda deja ~45 px
       al nombre y se parte: van en una columna, con la misma piel de botón. --- */
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .pf-sw-grid {
        display: grid !important; grid-template-columns: minmax(0, 1fr) !important;
        gap: calc(6px * var(--pk)) !important; padding: 0 !important;
    }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .pf-sw-grid .prido-filter-item { min-width: 0 !important; }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .pf-sw-grid .prido-filter-item .prido-filter-label {
        display: flex !important; align-items: center !important; gap: calc(10px * var(--pk)) !important;
        flex: 1 1 auto !important; min-width: 0 !important; width: 100% !important;
        min-height: calc(42px * var(--pk)) !important; height: auto !important; aspect-ratio: auto !important;
        padding: 0 calc(12px * var(--pk)) !important; margin: 0 !important; gap: calc(10px * var(--pk)) !important;
        border: 1px solid var(--pf1-line) !important; border-radius: calc(12px * var(--pk)) !important;
        background: var(--v3-surface, #fff) !important; box-shadow: none !important; transform: none !important;
        transition: border-color .15s ease, background-color .15s ease;
    }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .pf-sw-grid .prido-filter-item .prido-filter-label:hover { border-color: var(--pf1-navy) !important; background: var(--v3-surface, #fff) !important; }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .pf-sw-grid .prido-filter-item .prido-filter-label::before {
        width: calc(20px * var(--pk)) !important; height: calc(20px * var(--pk)) !important;
        box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .15) !important;
    }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .pf-sw-grid .prido-filter-item .prido-filter-label:has(input:checked) {
        background: var(--pf1-navy) !important; border-color: var(--pf1-navy) !important;
    }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .pf-sw-grid .prido-filter-item .prido-filter-label:has(input:checked)::before {
        box-shadow: 0 0 0 1.5px rgba(255, 255, 255, .7) !important;
    }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .pf-sw-grid .prido-filter-item .prido-filter-label:has(input:focus-visible) {
        outline: 2px solid #B84F17 !important; outline-offset: 2px !important;
    }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .pf-sw-grid .prido-filter-item .prido-filter-name {
        flex: 1 1 auto !important; min-width: 0 !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important;
        font-size: calc(14px * var(--pk)) !important; font-weight: 400 !important; color: var(--pf1-ink) !important;
    }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .pf-sw-grid .prido-filter-item .prido-filter-label:has(input:checked) .prido-filter-name { color: var(--pf1-on) !important; }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .pf-sw-grid .prido-filter-item .prido-filter-count { font-size: calc(13px * var(--pk)) !important; }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .pf-sw-grid .prido-filter-item .prido-filter-label:has(input:checked) .prido-filter-count { color: var(--pf1-on-muted) !important; }

    /* --- precio: el slider se queda, con la paleta del lienzo --- */
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .prido-price-slider-track { height: calc(4px * var(--pk)) !important; background: var(--pf1-line) !important; }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .prido-price-slider-range { height: calc(4px * var(--pk)) !important; background: var(--pf1-navy) !important; }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel input[type="range"].prido-price-range-min::-webkit-slider-thumb,
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel input[type="range"].prido-price-range-max::-webkit-slider-thumb {
        width: 18px !important; height: 18px !important; background: var(--v3-surface, #fff) !important; border: 2px solid var(--pf1-navy) !important;
    }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel input[type="range"].prido-price-range-min::-moz-range-thumb,
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel input[type="range"].prido-price-range-max::-moz-range-thumb {
        width: 18px !important; height: 18px !important; background: var(--v3-surface, #fff) !important; border: 2px solid var(--pf1-navy) !important;
    }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .prido-price-currency,
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .prido-price-input {
        font-family: var(--v3-heading) !important; font-size: calc(13px * var(--pk)) !important; font-weight: 500 !important; color: var(--pf1-muted) !important;
    }

    /* --- «Más filtros (N)» y el pie por lote --- */
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .prido-fmore-btn {
        width: calc(100% - 40px * var(--pk)) !important; margin: calc(12px * var(--pk)) calc(20px * var(--pk)) calc(16px * var(--pk)) !important;
        min-height: calc(44px * var(--pk)) !important; border: 1px solid var(--pf1-line) !important; border-radius: calc(12px * var(--pk)) !important;
        background: var(--v3-surface, #fff) !important; color: var(--pf1-ink) !important;
        font-family: var(--v3-heading) !important; font-size: calc(14px * var(--pk)) !important; font-weight: 600 !important;
    }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .prido-fmore-btn:hover { border-color: var(--pf1-navy) !important; background: var(--v3-surface, #fff) !important; }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .pf-applybar {
        padding: calc(12px * var(--pk)) calc(20px * var(--pk)) !important; border-top: 1px solid var(--pf1-soft) !important;
        box-shadow: none !important; font-family: var(--v3-heading) !important;
    }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .pf-apply,
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .pf-clear {
        border-radius: calc(12px * var(--pk)) !important; font-family: var(--v3-heading) !important;
    }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel .pf-clear:not(:disabled) { color: var(--pf1-teal) !important; }
}

/* ==========================================================================
   7 · SECCIÓN «OFERTAS» con interruptor (r3). Primera del panel, como en el lienzo.
   ========================================================================== */
.prido-fold-sale { display: none; }
@media (min-width: 1025px) {
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel .prido-fold-sale:not([hidden]) {
        display: block; order: 0; margin: 0; padding: 0; border-top: 1px solid var(--pf1-soft, #EEF0F4);
    }
    .prido-fold-sale__h { margin: 0; }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel .prido-fold-sale__toggle {
        display: flex; align-items: center; gap: calc(8px * var(--pk, 1)); width: 100%;
        min-height: calc(52px * var(--pk, 1)); margin: 0; padding: 0 calc(20px * var(--pk, 1));
        border: 0; border-radius: 0; background: transparent; cursor: pointer; text-align: left;
        font-family: var(--v3-heading); font-size: calc(12px * var(--pk, 1)); font-weight: 700;
        letter-spacing: .12em; text-transform: uppercase; color: var(--pf1-ink, #1C1A3A);
    }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel .prido-fold-sale__toggle:hover { background: var(--pf1-hover2, #F7F8FA); }
    html body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel .prido-fold-sale__toggle:focus-visible { outline: 2px solid #B84F17; outline-offset: -2px; }
    .prido-fold-sale__chev { margin-left: auto; color: var(--pf1-muted, #6B6E80); transition: transform .25s ease; transform: rotate(180deg); }
    .prido-fold-sale.is-open .prido-fold-sale__chev { transform: none; }
    .prido-fold-sale__body { display: none; padding: 0 calc(20px * var(--pk, 1)) calc(14px * var(--pk, 1)); }
    .prido-fold-sale.is-open .prido-fold-sale__body { display: block; }

    .prido-fold-switch {
        position: relative; display: flex; align-items: center; gap: calc(10px * var(--pk, 1));
        min-height: calc(44px * var(--pk, 1)); cursor: pointer; white-space: nowrap;
        font-family: var(--v3-heading); font-size: calc(14px * var(--pk, 1)); color: var(--pf1-ink, #1C1A3A);
    }
    .prido-fold-switch__input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; }
    .prido-fold-switch__track {
        position: relative; flex: none; width: calc(40px * var(--pk, 1)); height: calc(24px * var(--pk, 1));
        border-radius: 999px; background: #C9CCD8; transition: background-color .2s ease;
    }
    .prido-fold-switch__track::after {
        content: ""; position: absolute; top: calc(3px * var(--pk, 1)); left: calc(3px * var(--pk, 1));
        width: calc(18px * var(--pk, 1)); height: calc(18px * var(--pk, 1)); border-radius: 50%;
        background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .25); transition: transform .2s ease;
    }
    .prido-fold-switch__input:checked + .prido-fold-switch__track { background: var(--pf1-navy, #1E1A4D); }
    .prido-fold-switch__input:checked + .prido-fold-switch__track::after { transform: translateX(calc(16px * var(--pk, 1))); }
    .prido-fold-switch__input:focus-visible + .prido-fold-switch__track { outline: 2px solid #B84F17; outline-offset: 2px; }
    .prido-fold-switch:has(.prido-fold-switch__input:disabled) { opacity: .45; cursor: default; }
    .prido-fold-switch__lab { flex: 1 1 auto; min-width: 0; }
    .prido-fold-switch__input:checked ~ .prido-fold-switch__lab { font-weight: 500; }
    .prido-fold-switch__count { flex: none; font-size: calc(13px * var(--pk, 1)); color: var(--pf1-muted, #6B6E80); font-variant-numeric: tabular-nums; }
    :root[data-theme="dark"] .prido-fold-switch__track { background: rgba(255, 255, 255, .22); }
}
@media (prefers-reduced-motion: reduce) {
    .prido-fold-switch__track, .prido-fold-switch__track::after, .prido-fold-sale__chev { transition: none; }
}

/* ==========================================================================
   8 · VARIANTE A (r4)
   ========================================================================== */
.prido-fold-chips { display: none; }
@media (min-width: 1025px) {
    /* botón: píldora de 44 px; cerrado contorno, abierto sólido */
    .prido-archive-v3 .prido-cornice__tools .prido-fold-toggle {
        height: 44px; padding: 0 18px 0 16px; gap: 10px;
        font-family: var(--v3-heading); font-size: 15px; font-weight: 600; color: var(--v3-ink);
        background: transparent; border-color: var(--v3-line-strong);
        transition: background-color .2s ease, color .2s ease, border-color .2s ease;
    }
    .prido-archive-v3 .prido-cornice__tools .prido-fold-toggle svg { width: 18px; height: 18px; }
    .prido-archive-v3 .prido-cornice__tools .prido-fold-toggle[aria-expanded="true"] {
        background: var(--v3-ink); border-color: var(--v3-ink); color: var(--v3-canvas);
    }
    .prido-archive-v3 .prido-cornice__tools .prido-fold-toggle .prido-fold-badge { min-width: 22px; height: 22px; border-radius: 11px; font-size: 12px; }

    /* sin riel: plegado, la columna mide 0 y se come su gap; la grilla queda en el borde */
    .prido-fold-rail { display: none !important; }
    html.prido-fold-closed:not(.prido-fold-ready) .prido-catalog-archive .prido-shop-sidebar::before { content: none !important; }
    html.prido-fold-closed .prido-catalog-page,
    html.prido-fold-closed .prido-catalog-archive { --prido-filters-width: 0px !important; }
    html.prido-fold-closed .prido-catalog-archive .prido-shop-sidebar {
        margin-right: calc(-1 * var(--prido-catalog-shell-gap, 24px)) !important;
    }

    /* chips activos en la barra (espejo de #prido-filters-chips) */
    .prido-archive-v3 .prido-cornice__tools .prido-fold-chips { display: contents; }
    .prido-fold-chip {
        display: inline-flex; align-items: center; gap: 8px; height: 36px; margin: 0; padding: 0 10px 0 14px;
        border: 1px solid var(--v3-line-strong); border-radius: 999px; background: transparent; color: var(--v3-ink);
        font-family: var(--v3-heading); font-size: 14px; font-weight: 500; line-height: 1; cursor: pointer;
        transition: border-color .2s ease;
    }
    .prido-fold-chip:hover { border-color: #E2702B; }
    .prido-fold-chip__dot { width: 12px; height: 12px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .18); }
    .prido-fold-clear {
        height: 36px; margin: 0; padding: 0 4px; border: 0; background: none; cursor: pointer;
        font-family: var(--v3-heading); font-size: 14px; font-weight: 600; color: var(--v3-teal-deep);
        text-decoration: underline; text-underline-offset: 3px;
    }
    .prido-fold-chip:focus-visible, .prido-fold-clear:focus-visible { outline: 2px solid #B84F17; outline-offset: 2px; }
}

/* ==========================================================================
   9 · PANEL A MEDIDA + SIN CHIPS DUPLICADOS (r5)
   Especificidad (0,7,2) + !important: gana al max-height de archive v3 §10, del
   cabecero r2 y al height fijo de prido-filtros.r12.
   ========================================================================== */
@media (min-width: 1025px) {
    html.prido-fold-fit.prido-fold-ready body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel.prido-filters-panel {
        height: var(--pfold-h, calc((100vh - 56px - 72px - 32px) / 0.9)) !important;
        max-height: none !important;
    }
    /* Los chips viven en la barra de la cornisa: la fila del panel sobra. El nodo se queda
       (el JS de filtros lo actualiza y la barra lo espeja); solo no se pinta. */
    body.prido-archive-v3 .prido-catalog-archive .prido-filters-panel .prido-filters-active-chips { display: none !important; }
}

/* ---------- 5 · una columna más con el panel plegado (≥2000 la auto-fill ya suma sola) ---------- */
/* 1025–1210: prido-grilla fija 3 columnas sea cual sea la densidad (y oculta el conmutador). */
@media (min-width: 1025px) and (max-width: 1210px) {
    html.prido-fold-closed body .prido-catalog-archive .prido-grilla-wrapper[data-columns] .prido-grilla-products.products {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}
@media (min-width: 1211px) and (max-width: 1999px) {
    html.prido-fold-closed body .prido-catalog-archive .prido-grilla-wrapper[data-columns="4"] .prido-grilla-products {
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    }
    html.prido-fold-closed body .prido-catalog-archive .prido-grilla-wrapper[data-columns="3"] .prido-grilla-products {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    html.prido-fold-ready .prido-catalog-archive .prido-shop-sidebar .prido-filters-panel,
    html.prido-fold-ready.prido-fold-closed .prido-catalog-archive .prido-shop-sidebar .prido-filters-panel { transition: none; }
    html.prido-fold-ready.prido-fold-closed .prido-catalog-archive .prido-fold-rail { animation: none; }
}
