/* ==========================================================================
   Shop archive — unique styles only.
   .grid-p / .card (product grid) live in global.css and are shared with
   every other product grid in the theme. .ahead was added to global.css
   alongside this file. Do not redeclare either here.
   ========================================================================== */

.arch{display:grid;grid-template-columns:250px minmax(0,1fr);gap:var(--sp7);
  max-width:var(--w);margin:0 auto;padding:0 var(--gut) var(--sp9);align-items:start}

/* --- filter sidebar --- */
.filters__title{font-size:var(--h3);margin-bottom:var(--sp4);display:flex;align-items:center;
  justify-content:space-between;gap:12px}
.filters__clear{font-size:var(--t-sm);font-weight:600;color:var(--action);text-decoration:none}
.fgroup{border-top:1px solid var(--line-2);padding:var(--sp2)}
.fgroup:first-of-type{border-top:none;0px 15px 15px 15px;margin-bottom: 10px;}
.fgroup__legend{font-family:var(--f-body);font-size:var(--t-xs);font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;color:var(--mute);margin-bottom:10px;padding:0}
.fopt{display:flex;align-items:center;gap:10px;min-height:38px;padding:3px 0;cursor:pointer;font-size:var(--t-md)}
.fopt input{width:17px;height:17px;accent-color:var(--action);flex-shrink:0;margin:0}
.fopt__n{margin-left:auto;font-size:var(--t-xs);color:var(--mute);font-variant-numeric:tabular-nums}
.fprice{display:flex;gap:10px;align-items:center}
.fprice input{width:100%;min-height:42px;font:inherit;font-size:var(--t-md);border:1.5px solid var(--line);
  border-radius:var(--r-sm);padding:9px 11px}
.fprice input:focus{outline:none;border-color:var(--ink)}

/* --- toolbar --- */
.tools{display:flex;align-items:center;justify-content:space-between;gap:var(--sp4);flex-wrap:wrap;
  padding-bottom:var(--sp4);margin-bottom:var(--sp5);border-bottom:1px solid var(--line-2)}
.tools__count{font-size:var(--t-sm);color:var(--slate);font-variant-numeric:tabular-nums}
.tools__right{display:flex;align-items:center;gap:var(--sp3);margin-left:auto}
.tools__sort{min-height:42px;border:1.5px solid var(--line);border-radius:var(--r-full);
  padding:9px 16px;font:inherit;font-size:var(--t-md);background:#fff;color:var(--ink);cursor:pointer}
.tools__sort:focus{outline:none;border-color:var(--ink)}
.tools__toggle{display:none}

/* AJAX loading state on the grid wrapper */
#shopGrid{transition:opacity .15s}

/* --- pagination --- */
.pg{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;margin-top:var(--sp7)}
.pg__link{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;
  padding:0 14px;border:1.5px solid var(--line);border-radius:var(--r-full);text-decoration:none;
  font-size:var(--t-md);font-weight:500;background:none;cursor:pointer}
.pg__link:hover{border-color:var(--ink)}
.pg__link[aria-current]{background:var(--ink);color:#fff;border-color:var(--ink)}
.pg__gap{color:var(--mute);padding:0 4px}
.pg__note{width:100%;text-align:center;font-size:var(--t-sm);color:var(--mute);margin-top:var(--sp3)}

/* --- empty state --- */
.empty{text-align:center;padding:var(--sp8) var(--sp5);border:1.5px dashed var(--line);border-radius:var(--r)}
.empty__t{font-size:var(--h3);margin-bottom:8px}
.empty__d{font-size:var(--t-md);color:var(--slate);max-width:48ch;margin:0 auto var(--sp5)}

.archive.tax-product_cat .ahead p {
    color: var(--slate);
    font-size: var(--t-lg);
    padding: 6px 0px;
}
.archive .ahead__count, .cat-header {
    max-width: var(--w);
    margin: 0 auto var(--sp6) auto;
    padding: var(--sp4) var(--gut) var(--sp5);
}
.cat-header,.products-wrap {
    border-bottom: 1px solid var(--line-2);
}
.archive.tax-product_cat .ahead__count {
    padding: var(--sp6) var(--gut) var(--sp5);
}
/* --- mobile filter drawer --- */
@media (max-width:960px){
  .arch{grid-template-columns:1fr;gap:0}
  .filters{position:fixed;inset:0;z-index:140;background:#fff;overflow-y:auto;
    padding:0 var(--gut) 96px;display:none}
  .filters.is-open{display:block}
  .filters__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;
    position:sticky;top:0;background:#fff;padding:14px 0;border-bottom:1px solid var(--line);
    margin-bottom:var(--sp4);z-index:2}
  .filters__done{position:fixed;left:var(--gut);right:var(--gut);bottom:16px;z-index:3}
  .tools__toggle{display:inline-flex}
}
@media (min-width:961px){
  .filters__bar,.filters__done{display:none}
}
