/* =========================================================
   FILTROS A MEDIDA — Arqe
   ========================================================= */
.arqe-filter{ margin-bottom:1.6rem; padding-bottom:1.4rem; border-bottom:1px solid hsl(var(--border)/.7); }
.arqe-filter:last-of-type{ border-bottom:0; }
.arqe-filter__title{
  font-family:"Archivo",sans-serif; font-weight:700; font-size:1rem; text-transform:capitalize; letter-spacing:-.01em;
  color:var(--c-fg); margin:0 0 .9rem;
}
.arqe-filter__list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:0; }

.arqe-check{ display:flex; align-items:center; gap:.6rem; cursor:pointer; font-size:.9rem; color:var(--c-fg); position:relative; padding:.3rem 0; }
.arqe-check input{ position:absolute; opacity:0; width:1px; height:1px; }
.arqe-check__box{
  width:1.15rem; height:1.15rem; border:1.5px solid var(--c-border); border-radius:.3rem; flex:none;
  display:flex; align-items:center; justify-content:center; transition:.15s; background:var(--c-card);
}
.arqe-check input:checked + .arqe-check__box{ background:var(--c-navy); border-color:var(--c-navy); }
.arqe-check input:checked + .arqe-check__box::after{
  content:""; width:.5rem; height:.28rem; border-left:2px solid #fff; border-bottom:2px solid #fff;
  transform:rotate(-45deg) translateY(-1px);
}
.arqe-check__label{ flex:1; }
.arqe-check:hover .arqe-check__label{ color:var(--c-orange); }
.arqe-check__count{ font-size:.75rem; color:var(--c-mutedfg); }
.arqe-check input:focus-visible + .arqe-check__box,
.arqe-check input:focus-visible + .arqe-swatch{ outline:2px solid var(--c-orange); outline-offset:2px; }

/* Swatches de color */
.arqe-swatch{
  width:1.2rem; height:1.2rem; border-radius:999px; flex:none;
  border:1px solid hsl(var(--border)); box-shadow:0 0 0 2px transparent; transition:.15s;
}
.arqe-check--color input:checked + .arqe-swatch{ box-shadow:0 0 0 2px var(--c-navy); }

/* Slider de precio (doble rango) */
.arqe-price{ position:relative; padding:.25rem .2rem 0; }
.arqe-price__track{ position:relative; height:4px; background:var(--c-border); border-radius:999px; margin:.6rem 0 1rem; }
.arqe-price__fill{ position:absolute; height:100%; background:var(--c-orange); border-radius:999px; }
.arqe-price input[type=range]{
  position:absolute; top:.45rem; left:0; width:100%; margin:0; height:0; background:transparent;
  -webkit-appearance:none; appearance:none; pointer-events:none;
}
.arqe-price input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none; pointer-events:auto; width:1.1rem; height:1.1rem; border-radius:999px;
  background:var(--c-navy); border:2px solid #fff; box-shadow:0 1px 4px rgba(0,0,0,.3); cursor:pointer;
}
.arqe-price input[type=range]::-moz-range-thumb{
  pointer-events:auto; width:1.1rem; height:1.1rem; border-radius:999px;
  background:var(--c-navy); border:2px solid #fff; cursor:pointer;
}
.arqe-price__vals{ display:flex; justify-content:space-between; font-family:"Archivo",sans-serif; font-weight:700; font-size:.82rem; color:var(--c-fg); }

/* Botón limpiar */
.arqe-filters-clear{
  margin-top:.25rem; background:transparent; border:1px solid var(--c-border); border-radius:999px;
  padding:.55rem 1.1rem; font-family:"Archivo",sans-serif; font-weight:700; font-size:.72rem;
  text-transform:uppercase; letter-spacing:.08em; cursor:pointer; color:var(--c-fg); transition:.2s;
}
.arqe-filters-clear:hover{ border-color:var(--c-navy); color:var(--c-navy); background:transparent; }

/* Barra superior */
.arqe-shop-toolbar{ display:flex; align-items:center; gap:1rem; flex-wrap:wrap; margin-bottom:1.5rem; }
.arqe-result-count{ font-size:.85rem; color:var(--c-mutedfg); }
.arqe-active-filters{ display:flex; flex-wrap:wrap; gap:.4rem; flex:1; }
.arqe-chip{
  display:inline-flex; align-items:center; gap:.4rem; background:var(--c-secondary); border-radius:999px;
  padding:.3rem .35rem .3rem .75rem; font-size:.75rem; font-family:"Archivo",sans-serif; font-weight:600; color:var(--c-fg);
}
.arqe-chip button{ border:0; background:transparent; cursor:pointer; color:var(--c-mutedfg); font-size:1.05rem; line-height:1; padding:0 .2rem; }
.arqe-chip button:hover{ color:var(--c-orange); }
.arqe-orderby{
  margin-left:auto; border:1px solid var(--c-border); border-radius:999px; padding:.55rem 1.1rem;
  font-family:"Archivo",sans-serif; font-size:.78rem; background:var(--c-card); color:var(--c-fg); cursor:pointer;
}

/* Estado de carga + sin resultados */
#arqe-shop-results{ position:relative; transition:opacity .2s ease; }
#arqe-shop-results.is-loading{ opacity:.45; pointer-events:none; }
.arqe-noresults{ padding:3rem 1rem; text-align:center; color:var(--c-mutedfg); font-size:.95rem; }

/* Paginación AJAX */
.arqe-pagination{ display:flex; justify-content:center; gap:.4rem; margin-top:3rem; }
.arqe-pagination a, .arqe-pagination span{
  min-width:2.4rem; height:2.4rem; padding:0 .6rem; display:flex; align-items:center; justify-content:center;
  border-radius:999px; border:1px solid var(--c-border); background:var(--c-card);
  font-family:"Archivo",sans-serif; font-weight:700; font-size:.85rem; color:var(--c-fg); transition:.2s; text-decoration:none;
}
.arqe-pagination span.current{ background:var(--c-orange); color:#fff; border-color:var(--c-orange); }
.arqe-pagination a:hover{ border-color:var(--c-orange); color:var(--c-orange); }
