/* S09: one card is one native WooCommerce SKU. */
.catalog-list{align-items:stretch}
.configuration-card .catalog-note{margin:var(--space-2) 0 0;padding-top:var(--space-2);border-top:1px solid var(--line);font-size:var(--font-small);line-height:1.45;color:var(--ink)}
.configuration-card .catalog-receiving{margin-top:var(--space-3)}
.configuration-card .catalog-receiving p{margin:0;overflow-wrap:anywhere}
.configuration-card .catalog-receiving p+p{margin-top:var(--space-1)}
.configuration-card .catalog-card-actions{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-1);margin-top:auto;padding-top:var(--space-3)}
.configuration-card .catalog-card-actions .button{display:flex;align-items:center;justify-content:center;min-height:var(--touch);padding:var(--space-2);font-size:var(--font-small);line-height:1.25;text-align:center;white-space:normal}
.configuration-card .catalog-card-actions .catalog-detail-link{justify-content:space-between;margin:0;padding-inline:var(--space-1);font-size:var(--font-small)}
.configuration-card .catalog-add-form{margin:0}
.configuration-card .catalog-add-form .button{width:100%}
.configuration-card .catalog-card-actions .commerce-in-cart{background:var(--surface);color:var(--action);border:1px solid var(--action)}
.configuration-card .cart-feedback:not([hidden]){margin-top:var(--space-3);padding:var(--space-3);border:1px solid var(--line);background:var(--surface)}
.configuration-card .cart-feedback h2{font-family:var(--font-body);font-size:1rem}
.configuration-card .cart-confirm-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.configuration-card .cart-confirm-actions .button{font-size:var(--font-small)}
.catalog-page-status{margin:var(--space-5) 0 var(--space-2);text-align:center;color:var(--ink-muted);font-size:var(--font-small)}
.catalog-pagination{margin-top:var(--space-2)}
.catalog-pagination .current{font-weight:700}
@media(max-width:700px){
  .catalog-list{grid-template-columns:1fr}
  .catalog-list .configuration-card{padding:var(--space-4)}
  .catalog-list .configuration-card-link{display:grid;grid-template-columns:minmax(7rem,34%) minmax(0,1fr);column-gap:var(--space-4);align-items:start}
  .catalog-list .configuration-card-link .configuration-figure{grid-column:1;grid-row:1 / span 2;height:8.5rem;min-height:8.5rem;margin:0}
  .catalog-list .configuration-card-link h2{grid-column:2;margin:0 0 var(--space-2);font-size:1rem;line-height:1.3}
  .catalog-list .configuration-card-link .configuration-summary{grid-column:2;min-height:0;margin:0;font-size:var(--font-small)}
  .catalog-list .catalog-offer{min-height:0;margin-top:var(--space-3);padding:0}
  .catalog-list .configuration-price{font-size:1.25rem}
  .catalog-list .catalog-card-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-3)}
  .catalog-list .catalog-card-actions .button{min-height:var(--touch)}
  .catalog-list .catalog-card-actions .catalog-detail-link{white-space:nowrap}
}
@media(max-width:370px){
  .catalog-list .configuration-card-link{grid-template-columns:minmax(6rem,30%) minmax(0,1fr);column-gap:var(--space-3)}
  .catalog-list .catalog-card-actions{grid-template-columns:1fr}
}

/* S10: a compact filter rail around real SKU counts, not a row of overlapping selects. */
.catalog-layout{display:grid;grid-template-columns:minmax(0,1fr) 18rem;column-gap:var(--space-6);align-items:start;margin-top:var(--space-5)}
.catalog-layout .facet-area{grid-column:2;grid-row:1 / span 2;min-width:0;border:1px solid var(--line);padding:var(--space-4);background:var(--surface)}
.catalog-layout .catalog-results{grid-column:1;grid-row:2;min-width:0}
.catalog-layout .facet-chips{grid-column:1;grid-row:1}
.catalog-layout .catalog-list{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}
.catalog-layout .catalog-page-status{margin-top:var(--space-5)}
.catalog-mobile-filter-bar{display:none}
.facet-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--line)}
.facet-result-count{font-size:var(--font-small);color:var(--ink-muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.facet-open,.facet-close{display:none}
.facet-desktop-title{margin:0;font-family:var(--font-body);font-size:1rem;font-weight:650}
.facet-panel-head{display:none}
.facet-group{margin:0;padding:var(--space-4) 0 var(--space-3);border:0;border-top:1px solid var(--line);min-width:0}
.facet-group-title{display:block;margin:0 0 var(--space-2);font-size:var(--font-label);font-weight:700;line-height:1.25}
.facet-values{display:grid;gap:0}
.facet-choice,.facet-stock-all{--facet-control-size:1.125rem;position:relative;display:grid;grid-template-columns:var(--facet-control-size) minmax(0,1fr) auto;align-items:center;gap:var(--space-2);min-height:2rem;padding:0;font-size:var(--font-small);cursor:pointer}
.facet-stock-all{grid-template-columns:var(--facet-control-size) minmax(0,1fr)}
.facet-choice input,.facet-stock-all input{position:absolute;width:1px;height:1px;margin:0;opacity:0}
.facet-control{position:relative;display:block;width:var(--facet-control-size);height:var(--facet-control-size);border:1px solid var(--control-line);border-radius:var(--radius-control);background:var(--surface)}
input[type="radio"]+.facet-control{border-radius:50%}
.facet-choice input:checked+.facet-control,.facet-stock-all input:checked+.facet-control{border-color:var(--action);background:var(--action)}
.facet-choice input:checked+.facet-control::after,.facet-stock-all input:checked+.facet-control::after{content:"";position:absolute;display:block}
input[type="checkbox"]:checked+.facet-control::after{width:.7rem;height:.7rem;left:50%;top:50%;background:var(--on-action);clip-path:polygon(9% 48%,24% 34%,42% 54%,76% 16%,91% 31%,43% 84%);transform:translate(-50%,-50%)}
input[type="radio"]:checked+.facet-control::after{width:.4rem;height:.4rem;left:50%;top:50%;border-radius:50%;background:var(--on-action);transform:translate(-50%,-50%)}
.facet-choice input:focus-visible+.facet-control,.facet-stock-all input:focus-visible+.facet-control{outline:3px solid var(--focus);outline-offset:3px}
.facet-choice input:disabled+.facet-control{border-color:var(--line);opacity:.55}
.facet-choice input:disabled~.facet-label,.facet-choice input:disabled~.facet-choice-count{color:var(--ink-muted);opacity:.55}
.facet-choice:has(input:disabled){cursor:not-allowed}
.facet-choice-count{color:var(--ink-muted);font-variant-numeric:tabular-nums}
.facet-choice input:checked~.facet-label{font-weight:650;color:var(--ink)}
.facet-price-fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}
.facet-price-fields label{display:grid;gap:var(--space-1);font-size:var(--font-small);color:var(--ink-muted)}
.facet-price-fields input,.facet-sort select{width:100%;min-width:0;min-height:2.5rem;border:1px solid var(--control-line);border-radius:0;background:var(--surface);padding:0 var(--space-2);color:var(--ink);font:inherit;font-size:var(--font-size)}
.facet-price-fields input[type="number"]{appearance:textfield;-moz-appearance:textfield}
.facet-price-fields input::-webkit-inner-spin-button,.facet-price-fields input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.facet-sort{display:grid;gap:var(--space-2);padding-block:var(--space-3);font-size:var(--font-small);font-weight:600}
.facet-sort-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}
.facet-sort-head label{font-size:var(--font-small)}
.facet-reset{font-weight:500;text-decoration:underline;white-space:nowrap}
.facet-sort-control{position:relative;min-width:0}
.facet-sort-control::after{content:"";position:absolute;right:var(--space-3);top:50%;width:.45rem;height:.45rem;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.facet-sort select{appearance:none;-webkit-appearance:none;padding-right:var(--space-6);text-overflow:ellipsis}
.facet-actions{display:grid;gap:var(--space-3);padding-top:var(--space-3)}
.facet-actions .button{width:100%;min-height:var(--touch);font-size:var(--font-small)}
.facet-reset{text-underline-offset:.2em}
.facet-live{margin:var(--space-2) 0 0;font-size:var(--font-small);color:var(--ink-muted)}
.facet-live:empty{display:none}
.facet-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);padding-bottom:var(--space-4)}
.facet-chips a{display:inline-flex;align-items:center;gap:var(--space-2);min-height:2.25rem;padding:var(--space-1) var(--space-2);border:1px solid var(--line);text-decoration:none;font-size:var(--font-small)}
.facet-chips a:hover,.facet-chips a:focus-visible{border-color:var(--action);color:var(--action)}
.facet-chips .facet-clear{border-color:transparent;text-decoration:underline;text-underline-offset:.2em}
.catalog-page-notice{margin-block:var(--space-3);color:var(--ink-muted)}
.catalog-layout .catalog-empty{padding-top:var(--space-5)}
.catalog-layout-search .catalog-list{margin-top:var(--space-5)}
@media(max-width:1100px){.catalog-layout{grid-template-columns:minmax(0,1fr) 16rem;column-gap:var(--space-4)}.catalog-layout .catalog-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
  .catalog-layout{display:block;margin-top:var(--space-3)}
  .catalog-layout .facet-area{position:static;max-height:none;overflow:visible;border:0;padding:0}
  .facet-sort{padding-block:var(--space-2)}
  .facet-reset{display:inline-flex;align-items:center;min-height:var(--touch)}
  .catalog-js .catalog-mobile-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:var(--touch);padding:var(--space-2) 0;border-block:1px solid var(--line)}
  .catalog-js .facet-bar{display:none}
  .facet-open{display:inline-flex;align-items:center;min-height:var(--touch);padding:0 var(--space-3);border:1px solid var(--line);border-radius:0;background:var(--surface);color:var(--ink);font:inherit;font-weight:650;cursor:pointer}
  .facet-desktop-title{display:none}
  .catalog-js .facet-panel{position:fixed;z-index:1001;inset:0 auto 0 0;display:block;width:min(26rem,100vw);height:100dvh;overflow:auto;padding:var(--space-4);background:var(--surface);transform:translateX(-101%);visibility:hidden;transition:transform .2s var(--ease)}
  .catalog-js .facet-panel.is-open{transform:none;visibility:visible}
  .facet-panel-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--line)}
  .facet-panel-head h2{margin:0;font-family:var(--font-body);font-size:1.25rem}
  .facet-close{display:inline-flex;align-items:center;min-height:var(--touch);padding:0 var(--space-2);border:1px solid var(--line);background:var(--surface);font:inherit;cursor:pointer}
  .facet-shade:not([hidden]){position:fixed;z-index:1000;inset:0;background:color-mix(in srgb,var(--ink) 38%,transparent)}
  .facet-panel-open{overflow:hidden}
  .facet-values{gap:var(--space-1)}
  .facet-choice,.facet-stock-all{min-height:var(--touch)}
  .facet-price-fields input,.facet-sort select{min-height:var(--touch)}
  .facet-actions{position:sticky;bottom:calc(-1 * var(--space-4));margin:0 calc(-1 * var(--space-4));padding:var(--space-3) var(--space-4);background:var(--surface);border-top:1px solid var(--line)}
  .facet-chips{padding:var(--space-3) 0}
  .catalog-layout .catalog-list{grid-template-columns:1fr;margin-top:var(--space-3)}
}
@media(prefers-reduced-motion:reduce){.catalog-js .facet-panel{transition:none}}
