/* ZCEBRA WooCommerce Filters — compact UI */
.zcebra-filters{
  --zf-black:#090909;
  --zf-border:#d9d9d9;
  --zf-muted:#767676;
  --zf-bg:#fff;
  box-sizing:border-box;
  width:100% !important;
  max-width:none !important;
  flex:0 0 100% !important;
  grid-column:1 / -1 !important;
  clear:both !important;
  float:none !important;
  align-self:stretch;
  margin:12px 0 28px !important;
  padding:16px 18px;
  border:1px solid var(--zf-border);
  background:var(--zf-bg);
  color:#111;
  font-family:"League Spartan",Arial,sans-serif !important;
  font-size:12px;
  line-height:1.25;
}
.zcebra-filters *{
  box-sizing:border-box;
  font-family:"League Spartan",Arial,sans-serif !important;
}
.zcebra-filters__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:0 0 13px;
}
.zcebra-filters__eyebrow{
  display:block;
  margin:0 0 2px;
  font-size:8px;
  line-height:1;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.zcebra-filters__title{
  margin:0 !important;
  padding:0 !important;
  font-family:"League Spartan",Arial,sans-serif !important;
  font-size:20px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:-.025em;
  text-transform:none;
}
.zcebra-filters__form{margin:0}
.zcebra-filter-grid{
  display:grid;
  grid-template-columns:minmax(160px,1.45fr) minmax(120px,.85fr) minmax(190px,1.1fr) minmax(125px,.85fr) minmax(150px,1fr);
  gap:10px;
  align-items:end;
}
.zcebra-filter-field{min-width:0;margin:0}
.zcebra-filter-field--search{grid-column:auto}
.zcebra-filter-field label{
  display:block;
  margin:0 0 5px;
  color:#111;
  font-size:8px !important;
  line-height:1;
  font-weight:800 !important;
  letter-spacing:.075em;
  text-transform:uppercase;
}
.zcebra-filter-field small{
  display:none;
}
.zcebra-filter-field input,
.zcebra-filter-field select{
  width:100%;
  height:36px;
  min-height:36px !important;
  margin:0 !important;
  padding:0 10px !important;
  border:1px solid #cfcfcf !important;
  border-radius:0 !important;
  box-shadow:none !important;
  outline:0;
  background:#fff !important;
  color:#111 !important;
  font-family:"League Spartan",Arial,sans-serif !important;
  font-size:11px !important;
  font-weight:500 !important;
  line-height:34px;
  appearance:auto;
}
.zcebra-filter-field input::placeholder{
  color:#8a8a8a;
  opacity:1;
}
.zcebra-filter-field input:focus,
.zcebra-filter-field select:focus{
  border-color:#111 !important;
  outline:1px solid #111;
  outline-offset:-1px;
}
.zcebra-filter-field select[multiple]{
  min-height:70px !important;
  height:70px;
  padding:6px 8px !important;
  line-height:1.2;
}
.zcebra-price-fields{
  display:grid;
  grid-template-columns:minmax(68px,1fr) 12px minmax(68px,1fr);
  gap:6px;
  align-items:center;
}
.zcebra-price-fields span{
  text-align:center;
  font-size:10px;
  color:#555;
}
.zcebra-filter-actions{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  margin:13px 0 0;
}
.zcebra-filter-submit,
.zcebra-filters__mobile-toggle{
  min-height:34px;
  border:1px solid #111 !important;
  border-radius:0 !important;
  background:#111 !important;
  color:#fff !important;
  padding:0 16px !important;
  font-family:"League Spartan",Arial,sans-serif !important;
  font-size:9px !important;
  line-height:32px;
  font-weight:800 !important;
  letter-spacing:.07em;
  text-transform:uppercase;
  cursor:pointer;
  box-shadow:none !important;
}
.zcebra-filter-submit:hover,
.zcebra-filters__mobile-toggle:hover{
  background:#fff !important;
  color:#111 !important;
}
.zcebra-filter-clear{
  color:#111 !important;
  font-size:9px !important;
  line-height:1;
  font-weight:800 !important;
  letter-spacing:.06em;
  text-decoration:none !important;
  text-transform:uppercase;
  border-bottom:1px solid #111;
}
.zcebra-filters__mobile-toggle{display:none}

/* Make sure common WooCommerce/theme wrappers don't place filters as a product card */
.woocommerce .zcebra-filters,
.woocommerce-page .zcebra-filters,
.woocommerce .products + .zcebra-filters,
.zcebra-filters + .woocommerce-notices-wrapper{
  width:100% !important;
}

@media (max-width:1300px){
  .zcebra-filter-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}
@media (max-width:980px){
  .zcebra-filter-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media (max-width:780px){
  .zcebra-filters{
    margin:10px 0 20px !important;
    padding:13px 14px;
  }
  .zcebra-filters__top{margin-bottom:0}
  .zcebra-filters__eyebrow{font-size:7px}
  .zcebra-filters__title{font-size:17px !important}
  .zcebra-filters__mobile-toggle{
    display:inline-block;
    flex:0 0 auto;
    padding:0 12px !important;
  }
  .zcebra-filters__form{display:none;margin-top:14px}
  .zcebra-filters.is-open .zcebra-filters__form{display:block}
  .zcebra-filter-grid{grid-template-columns:1fr 1fr;gap:9px}
  .zcebra-filter-field--search{grid-column:1 / -1}
  .zcebra-filter-actions{
    position:sticky;
    bottom:0;
    z-index:5;
    padding:10px 0 2px;
    background:#fff;
  }
}
@media (max-width:520px){
  .zcebra-filters__top{align-items:flex-start}
  .zcebra-filter-grid{grid-template-columns:1fr}
  .zcebra-filter-field--search{grid-column:auto}
  .zcebra-filters__title{max-width:150px}
  .zcebra-filter-actions{justify-content:space-between}
}


/* v1.2 — Layout vertical para shortcode en columna lateral (25%) */
.zcebra-filters{
  width:100% !important;
  max-width:100% !important;
  margin:0 0 24px !important;
  padding:18px 16px !important;
}

.zcebra-filters__top{
  display:block !important;
  margin-bottom:16px !important;
}

.zcebra-filters__eyebrow{
  font-size:9px !important;
  letter-spacing:.14em !important;
}

.zcebra-filters__title{
  font-size:22px !important;
  line-height:1.02 !important;
  margin:4px 0 0 !important;
}

.zcebra-filters__mobile-toggle{
  display:none !important;
}

.zcebra-filters__form{
  display:block !important;
  margin-top:0 !important;
}

.zcebra-filter-grid{
  display:flex !important;
  flex-direction:column !important;
  gap:12px !important;
  width:100% !important;
}

.zcebra-filter-field,
.zcebra-filter-field--search{
  width:100% !important;
  grid-column:auto !important;
  min-width:0 !important;
}

.zcebra-filter-field label{
  font-size:9px !important;
  margin-bottom:5px !important;
}

.zcebra-filter-field input,
.zcebra-filter-field select{
  width:100% !important;
  min-height:38px !important;
  height:auto !important;
  font-size:12px !important;
  padding:8px 9px !important;
}

.zcebra-filter-field select[multiple]{
  min-height:82px !important;
}

.zcebra-price-fields{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr) !important;
  gap:5px !important;
  width:100% !important;
}

.zcebra-price-fields input{
  min-width:0 !important;
  width:100% !important;
}

.zcebra-filter-actions{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:8px !important;
  margin-top:16px !important;
  padding:0 !important;
  position:static !important;
}

.zcebra-filter-submit{
  width:100% !important;
  min-height:40px !important;
  padding:10px 12px !important;
  font-size:10px !important;
}

.zcebra-filter-clear{
  width:100% !important;
  text-align:center !important;
  font-size:10px !important;
  padding:5px 0 !important;
}

/* En móvil sigue siendo vertical, pero sin forzar anchuras extrañas */
@media(max-width:780px){
  .zcebra-filters{
    padding:15px !important;
  }
  .zcebra-filters__title{
    font-size:20px !important;
  }
}
