/* ============ JJC Mega Filtros ============ */
.jjcf-filtros{
  --_r:var(--jjcf-radius,12px);
  font-family:inherit;
  color:var(--jjcf-text,#0E0E0F);
}
.jjcf-filtros *{box-sizing:border-box}

/* Panel */
.jjcf-panel{
  background:var(--jjcf-surface,#fff);
  border:1px solid var(--jjcf-border,#e6e6e6);
  border-radius:var(--_r);
  padding:6px 18px 18px;
}
.jjcf-panel.is-sticky{position:sticky;top:24px}
.jjcf-panel-head{display:none;align-items:center;justify-content:space-between;padding:14px 0 4px}
.jjcf-panel-head strong{font-size:17px}
.jjcf-drawer-close{background:none;border:0;font-size:28px;line-height:1;cursor:pointer;color:var(--jjcf-text)}

/* Contador */
.jjcf-results-count{
  font-size:13px;font-weight:600;color:var(--jjcf-muted,#8a8a8a);
  padding:12px 0 4px;border-bottom:1px solid var(--jjcf-border);margin-bottom:4px;
}
.jjcf-results-count b{color:var(--jjcf-primary,#FF5000)}

/* Chips */
.jjcf-chips{display:flex;flex-wrap:wrap;gap:7px;padding:12px 0 4px}
.jjcf-chip{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--jjcf-primary,#FF5000);color:var(--jjcf-primary-text,#fff);
  border:0;border-radius:100px;padding:5px 8px 5px 12px;font-size:12px;font-weight:600;cursor:pointer;
}
.jjcf-chip span{font-size:15px;line-height:1;opacity:.85}
.jjcf-chip:hover{background:var(--jjcf-hover,#e64800)}

/* Grupos (acordeón) */
.jjcf-group{border-bottom:1px solid var(--jjcf-border,#e6e6e6);padding:4px 0}
.jjcf-group:last-of-type{border-bottom:0}
.jjcf-group-head{
  width:100%;display:flex;align-items:center;justify-content:space-between;
  background:none;border:0;cursor:pointer;padding:14px 2px;
  font-size:14px;font-weight:700;color:var(--jjcf-text);text-transform:uppercase;letter-spacing:.02em;
}
.jjcf-caret{transition:transform .22s ease;color:var(--jjcf-muted)}
.jjcf-group-head[aria-expanded="false"] .jjcf-caret{transform:rotate(-90deg)}
.jjcf-group-body{padding:2px 2px 14px;display:block}
.jjcf-group-head[aria-expanded="false"]+.jjcf-group-body{display:none}
.jjcf-group--toggle{padding:14px 2px}

/* Inputs */
.jjcf-input{
  width:100%;padding:11px 12px;border:1px solid var(--jjcf-border,#e6e6e6);
  border-radius:calc(var(--_r) - 4px);background:var(--jjcf-bg,#fff);color:var(--jjcf-text);
  font-size:14px;font-family:inherit;outline:none;transition:border-color .15s;
}
.jjcf-input:focus{border-color:var(--jjcf-primary,#FF5000)}
select.jjcf-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238a8a8a' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:34px}
.jjcf-term-search{margin-bottom:10px}

/* Términos + casillas */
.jjcf-terms{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;max-height:280px;overflow:auto}
.jjcf-terms--sub{margin:2px 0 2px 24px;max-height:none}
.jjcf-check{display:flex;align-items:center;gap:10px;cursor:pointer;padding:7px 4px;border-radius:8px;font-size:14px;transition:background .12s}
.jjcf-check:hover{background:color-mix(in srgb,var(--jjcf-primary,#FF5000) 8%,transparent)}
.jjcf-check input{position:absolute;opacity:0;width:0;height:0}
.jjcf-box{
  flex:0 0 auto;width:19px;height:19px;border:2px solid var(--jjcf-border,#ccc);border-radius:6px;
  display:inline-flex;align-items:center;justify-content:center;transition:all .15s;
}
.jjcf-check input:checked+.jjcf-box{background:var(--jjcf-primary,#FF5000);border-color:var(--jjcf-primary,#FF5000)}
.jjcf-check input:checked+.jjcf-box::after{content:"";width:5px;height:9px;border:2px solid var(--jjcf-primary-text,#fff);border-top:0;border-left:0;transform:rotate(45deg);margin-top:-2px}
.jjcf-check input:focus-visible+.jjcf-box{box-shadow:0 0 0 3px color-mix(in srgb,var(--jjcf-primary) 30%,transparent)}
.jjcf-term-name{flex:1}
.jjcf-term-count{font-size:12px;color:var(--jjcf-muted,#8a8a8a);font-variant-numeric:tabular-nums}
.jjcf-check input:checked~.jjcf-term-count{color:var(--jjcf-primary)}

/* Switch (stock / oferta) */
.jjcf-switch{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;font-weight:600}
.jjcf-switch input{position:absolute;opacity:0}
.jjcf-switch-track{position:relative;width:42px;height:24px;background:var(--jjcf-border,#ddd);border-radius:100px;transition:background .18s;flex:0 0 auto}
.jjcf-switch-track::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .18s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.jjcf-switch input:checked+.jjcf-switch-track{background:var(--jjcf-primary,#FF5000)}
.jjcf-switch input:checked+.jjcf-switch-track::after{transform:translateX(18px)}

/* Precio */
.jjcf-price{padding-top:6px}
.jjcf-price-slider{position:relative;height:34px}
.jjcf-price-track,.jjcf-price-fill{position:absolute;top:15px;height:4px;border-radius:4px}
.jjcf-price-track{left:0;right:0;background:var(--jjcf-border,#e6e6e6)}
.jjcf-price-fill{background:var(--jjcf-primary,#FF5000)}
.jjcf-price-slider input[type=range]{
  position:absolute;top:0;left:0;width:100%;height:34px;margin:0;background:none;pointer-events:none;-webkit-appearance:none;appearance:none;
}
.jjcf-price-slider input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;pointer-events:auto;width:20px;height:20px;border-radius:50%;
  background:var(--jjcf-bg,#fff);border:3px solid var(--jjcf-primary,#FF5000);cursor:grab;box-shadow:0 1px 4px rgba(0,0,0,.2);
}
.jjcf-price-slider input[type=range]::-moz-range-thumb{
  pointer-events:auto;width:20px;height:20px;border-radius:50%;
  background:var(--jjcf-bg,#fff);border:3px solid var(--jjcf-primary,#FF5000);cursor:grab;
}
.jjcf-price-vals{display:flex;justify-content:space-between;font-size:13px;font-weight:700;margin-top:8px}

/* Acciones */
.jjcf-panel-actions{display:flex;gap:10px;padding-top:16px}
.jjcf-apply,.jjcf-clear{
  flex:1;padding:12px;border-radius:calc(var(--_r) - 2px);font-size:14px;font-weight:700;cursor:pointer;
  font-family:inherit;transition:all .15s;border:1px solid var(--jjcf-border);
}
.jjcf-apply{background:var(--jjcf-primary,#FF5000);color:var(--jjcf-primary-text,#fff);border-color:var(--jjcf-primary)}
.jjcf-apply:hover{background:var(--jjcf-hover,#e64800)}
.jjcf-clear{background:transparent;color:var(--jjcf-text)}
.jjcf-clear:hover{border-color:var(--jjcf-text)}

/* Botón móvil / drawer */
.jjcf-drawer-toggle{
  display:none;align-items:center;gap:8px;width:100%;justify-content:center;
  background:var(--jjcf-text,#0E0E0F);color:#fff;border:0;border-radius:var(--_r);
  padding:13px;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;margin-bottom:14px;
}
.jjcf-count-badge{background:var(--jjcf-primary);color:var(--jjcf-primary-text);border-radius:100px;padding:1px 8px;font-size:12px}
.jjcf-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:99998}

/* Cargar más / paginación */
.jjcf-loadmore{
  display:block;margin:26px auto 0;padding:13px 30px;border-radius:var(--_r);
  background:var(--jjcf-text,#0E0E0F);color:#fff;border:0;font-weight:700;font-size:14px;cursor:pointer;font-family:inherit;
}
.jjcf-loadmore:hover{background:var(--jjcf-primary,#FF5000)}
.jjcf-loadmore[disabled]{opacity:.4;cursor:default}
.jjcf-pagination{display:flex;gap:6px;justify-content:center;margin-top:26px;flex-wrap:wrap}
.jjcf-pagination button{min-width:40px;height:40px;border:1px solid var(--jjcf-border);background:var(--jjcf-bg);border-radius:10px;font-weight:600;cursor:pointer;font-family:inherit;color:var(--jjcf-text)}
.jjcf-pagination button.is-active{background:var(--jjcf-primary);color:var(--jjcf-primary-text);border-color:var(--jjcf-primary)}
.jjcf-pagination button.jjcf-page-nav{font-size:18px;line-height:1}
.jjcf-page-gap{display:flex;align-items:flex-end;min-width:22px;height:40px;justify-content:center;color:var(--jjcf-muted)}

/* Estado sin resultados */
.jjcf-empty{padding:50px 20px;text-align:center;color:var(--jjcf-muted);font-size:15px}

/* Cargando */
.jjcf-is-loading{position:relative;min-height:200px}
.jjcf-is-loading::after{content:"";position:absolute;inset:0;background:var(--jjcf-bg,#fff);opacity:.6;z-index:5}
.jjcf-is-loading::before{
  content:"";position:absolute;top:60px;left:50%;width:34px;height:34px;margin-left:-17px;z-index:6;
  border:3px solid var(--jjcf-border);border-top-color:var(--jjcf-primary,#FF5000);border-radius:50%;
  animation:jjcf-spin .7s linear infinite;
}
@keyframes jjcf-spin{to{transform:rotate(360deg)}}

/* Responsive: drawer */
@media(max-width:1024px){
  .jjcf-drawer-toggle{display:flex}
  .jjcf-panel{
    position:fixed;top:0;left:0;height:100%;width:min(88vw,360px);z-index:99999;
    border-radius:0;overflow-y:auto;transform:translateX(-100%);transition:transform .28s ease;
    box-shadow:2px 0 24px rgba(0,0,0,.18);
  }
  .jjcf-panel.is-sticky{position:fixed;top:0}
  .jjcf-filtros.is-open .jjcf-panel{transform:translateX(0)}
  .jjcf-panel-head{display:flex}
  .jjcf-overlay{display:none}
  .jjcf-filtros.is-open .jjcf-overlay{display:block}
}

/* ============ Barra superior [jjc_barra] ============ */
.jjcf-barra{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  font-family:inherit;color:var(--jjcf-text,#0E0E0F);flex-wrap:wrap;
}
.jjcf-barra-count{font-size:20px;font-weight:800;letter-spacing:-.01em}
.jjcf-barra-count b{color:var(--jjcf-primary,#FF5000)}
.jjcf-barra-tools{display:flex;align-items:center;gap:8px}

.jjcf-barra-hide{
  display:inline-flex;align-items:center;gap:8px;
  background:transparent;border:1px solid transparent;border-radius:100px;
  padding:9px 14px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;color:var(--jjcf-text);
  transition:background .15s,border-color .15s;
}
.jjcf-barra-hide:hover{background:color-mix(in srgb,var(--jjcf-primary,#FF5000) 8%,transparent)}
.jjcf-barra-hide[aria-pressed="true"]{color:var(--jjcf-primary,#FF5000)}

.jjcf-barra-sort{position:relative}
.jjcf-barra-select{
  appearance:none;-webkit-appearance:none;
  background:transparent;border:1px solid transparent;border-radius:100px;
  padding:9px 34px 9px 14px;font-size:15px;font-weight:600;font-family:inherit;color:var(--jjcf-text);cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%230E0E0F' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;
  transition:background-color .15s;
}
.jjcf-barra-select:hover{background-color:color-mix(in srgb,var(--jjcf-primary,#FF5000) 8%,transparent)}
.jjcf-barra-select:focus{outline:none;border-color:var(--jjcf-border)}

/* Colapso del sidebar de filtros (clases que pones en TUS columnas de Elementor) */
/* El ancho lo anima el JS en px. El grid NO se fuerza al 100%: crece por flex
   a medida que la columna encoge, así no hay salto ni solape durante la animación. */
.jjc-col-grid{
  flex:1 1 0% !important;
  max-width:none !important;
  min-width:0;
}
/* El panel conserva su ancho al cerrar: se desliza fuera en vez de estrujarse. */
.jjc-col-filtros > .jjcf-filtros{min-width:240px}
.jjc-col-filtros{will-change:width}

/* En móvil el "Ocultar filtros" desktop se oculta: el panel ya usa su propio botón deslizante */
@media(max-width:1024px){
  .jjcf-barra-hide{display:none}
  .jjcf-barra-count{font-size:17px}
}

/* ============ Afinado a prueba de temas ============ */
.jjcf-filtros button, .jjcf-barra button{ box-shadow:none!important; text-transform:none; }
.jjcf-filtros input, .jjcf-filtros select, .jjcf-barra select{
  box-shadow:none!important; text-shadow:none!important; min-height:0!important;
}
.jjcf-panel{ padding:4px 20px 20px; border-color:#ECECEC; }

.jjcf-results-count{
  font-size:12px; text-transform:uppercase; letter-spacing:.03em;
  color:var(--jjcf-muted,#8a8a8a);
}
.jjcf-results-count b{ color:var(--jjcf-primary,#FF5000); }

.jjcf-filtros .jjcf-group-head{
  all:unset; box-sizing:border-box; display:flex;
  align-items:center; justify-content:space-between; width:100%; cursor:pointer;
  padding:16px 2px; font-size:12px; font-weight:800;
  letter-spacing:.06em; text-transform:uppercase; color:var(--jjcf-text,#0E0E0F);
}
.jjcf-filtros .jjcf-group-head:hover{ color:var(--jjcf-primary,#FF5000); }
.jjcf-filtros .jjcf-caret{ color:#bbb; flex:0 0 auto; }
.jjcf-filtros .jjcf-group-head[aria-expanded="false"] .jjcf-caret{ transform:rotate(-90deg); }

.jjcf-filtros .jjcf-input, .jjcf-filtros .jjcf-search{
  border:1px solid #E4E4E4; border-radius:10px; background:#fff;
  padding:11px 12px; font-size:14px; color:var(--jjcf-text,#0E0E0F); width:100%;
}
.jjcf-filtros .jjcf-input:focus, .jjcf-filtros .jjcf-search:focus{
  border-color:var(--jjcf-primary,#FF5000); outline:none;
}
.jjcf-filtros select.jjcf-sort{
  border:1px solid #E4E4E4; border-radius:10px; padding:11px 34px 11px 12px;
  background-color:#fff; font-size:14px; color:var(--jjcf-text,#0E0E0F);
}

.jjcf-filtros .jjcf-check{ padding:8px 4px; }
.jjcf-filtros .jjcf-box{ border:2px solid #D5D5D5; border-radius:6px; }
.jjcf-filtros .jjcf-term-name{ font-size:14px; color:var(--jjcf-text,#0E0E0F); }
.jjcf-filtros .jjcf-term-count{ color:#b9b9b9; font-size:12px; }

.jjcf-filtros .jjcf-switch-label{ font-size:14px; font-weight:600; }
.jjcf-filtros .jjcf-price-vals{ font-size:13px; font-weight:700; }

.jjcf-filtros .jjcf-clear, .jjcf-filtros .jjcf-apply{
  all:unset; box-sizing:border-box; text-align:center; cursor:pointer;
  flex:1; padding:12px; border-radius:10px; font-size:13px;
  font-weight:700; text-transform:uppercase; letter-spacing:.03em;
}
.jjcf-filtros .jjcf-clear{ border:1px solid #E0E0E0; color:var(--jjcf-text,#0E0E0F); }
.jjcf-filtros .jjcf-clear:hover{ border-color:var(--jjcf-text,#0E0E0F); }
.jjcf-filtros .jjcf-apply{ background:var(--jjcf-primary,#FF5000); color:#fff; }
.jjcf-filtros .jjcf-apply:hover{ background:var(--jjcf-hover,#E64800); }

/* ============ Perfil motos: rangos desde/hasta ============ */
.jjcf-rango{display:flex;align-items:center;gap:8px}
.jjcf-rango .jjcf-input{flex:1;min-width:0;text-align:center;padding:10px 8px!important}
.jjcf-rango-sep{color:var(--jjcf-muted,#8a8a8a);font-weight:700;flex:0 0 auto}
.jjcf-rango-uni{
  font-size:12px;font-weight:700;color:var(--jjcf-muted,#8a8a8a);
  flex:0 0 auto;min-width:24px;text-transform:uppercase;letter-spacing:.04em;
}
/* Quitamos las flechitas del input number: ensucian y estorban */
.jjcf-rango input[type=number]{-moz-appearance:textfield}
.jjcf-rango input[type=number]::-webkit-outer-spin-button,
.jjcf-rango input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
/* Desplegable de tipo de moto */
.jjcf-tipo optgroup{font-weight:800;color:var(--jjcf-muted,#8a8a8a);font-size:12px}
.jjcf-tipo option{font-weight:500;color:var(--jjcf-text,#0E0E0F);padding:4px}

/* Facetas: términos/grupos sin resultados para la selección actual */
.jjcf-term.jjcf-facet-hide,
.jjcf-group.jjcf-facet-hide{display:none !important}
