/** Classic WooCommerce archives. Deliberately scoped away from product details. */
.oz-shop-archive #main.site-main {
 width: min(var(--oz-container-normal), calc(100% - 2 * var(--oz-container-padding)));
 max-width: none;
 margin-inline: auto;
 padding-block: var(--oz-space-xl) var(--oz-section-spacing);
}
.oz-shop-archive .woocommerce-breadcrumb { color: var(--oz-color-text-muted); font-size: .8125rem; overflow-wrap: anywhere; margin-bottom: var(--oz-space-lg); }
.oz-shop-archive .woocommerce-breadcrumb a { color: var(--oz-color-text-muted); text-underline-offset: .2em; }
.oz-shop-archive .woocommerce-products-header {
 background: var(--oz-color-surface);
 border-radius: var(--oz-radius-xl);
 padding: clamp(1.5rem, 3vw, 2.25rem);
 margin-bottom: var(--oz-space-xl);
 border: 1px solid var(--oz-color-border);
}
.oz-shop-archive .woocommerce-products-header h1 { font-size: clamp(2rem, 1.5rem + 2vw, 3rem); margin: 0 0 .75rem; }
.oz-shop-archive .woocommerce-products-header .page-description,
.oz-shop-archive .woocommerce-products-header .term-description { max-width: var(--oz-container-narrow); font-size: var(--oz-font-size-lead); }
.oz-shop-archive .woocommerce-products-header p:last-child { margin-bottom: 0; }
.oz-shop-categories ul { display: flex; flex-wrap: wrap; gap: .5rem .625rem; padding: 0; margin: 0 0 1.25rem; list-style: none; }
.oz-shop-categories li { max-width: 100%; }
.oz-shop-categories a { display: flex; align-items: center; min-height: var(--oz-control-min-height); border: 1px solid var(--oz-color-border); border-radius: var(--oz-radius-pill); padding: .5rem 1rem; font-size: .875rem; font-weight: var(--oz-font-weight-semibold); background: var(--oz-color-white); color: var(--oz-color-ink); text-decoration: none; overflow-wrap: anywhere; }
.oz-shop-categories a:hover { border-color: var(--oz-color-primary); color: var(--oz-color-primary); }
.oz-shop-categories a[aria-current="page"] { background: var(--oz-color-accent); color: var(--oz-color-on-accent); border-color: transparent; font-weight: var(--oz-font-weight-bold); }
.oz-shop-archive.woocommerce .woocommerce-result-count,
.oz-shop-archive.woocommerce .woocommerce-ordering { float: none; margin: 0; }
.oz-shop-archive .woocommerce-result-count { color: var(--oz-color-text-muted); font-size: var(--oz-font-size-small); }
.oz-shop-archive .woocommerce-ordering select { width: 100%; max-width: 100%; min-height: var(--oz-control-min-height); border: 1px solid var(--oz-color-border); border-radius: var(--oz-radius-pill); padding: .625rem 1rem; background: var(--oz-color-white); color: var(--oz-color-text); font: inherit; text-overflow: clip; }
.oz-shop-archive.woocommerce ul.products { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; padding: 0; margin: 1.5rem 0; clear: both; }
.oz-shop-archive.woocommerce ul.products::before,
.oz-shop-archive.woocommerce ul.products::after { display: none; }
.oz-shop-archive.woocommerce nav.woocommerce-pagination ul { display: flex; flex-wrap: wrap; gap: var(--oz-space-xs); justify-content: center; border: 0; margin: var(--oz-space-xl) 0 0; }
.oz-shop-archive.woocommerce nav.woocommerce-pagination ul li { border: 0; float: none; overflow: visible; }
.oz-shop-archive.woocommerce nav.woocommerce-pagination ul li :is(a, span) { display: flex; align-items: center; justify-content: center; min-width: var(--oz-control-min-height); min-height: var(--oz-control-min-height); border-radius: var(--oz-radius-pill); padding: .75rem; background: var(--oz-color-surface); color: var(--oz-color-ink); }
.oz-shop-archive.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--oz-color-primary); color: var(--oz-color-on-primary); }
.oz-shop-archive.woocommerce nav.woocommerce-pagination ul li a:hover { background: var(--oz-color-accent); color: var(--oz-color-on-accent); }
.oz-shop-empty { border: 1px solid var(--oz-color-border); border-radius: var(--oz-radius-xl); padding: clamp(1.5rem, 4vw, 3rem); margin-block: var(--oz-space-xl); }
.oz-shop-empty h2 { font-size: var(--oz-font-size-h3); margin-top: 0; }
.oz-shop-empty p { max-width: 42rem; color: var(--oz-color-text-muted); margin-bottom: var(--oz-space-lg); }
.oz-shop-archive #main :is(a, button, select):focus-visible { outline: 2px solid var(--oz-color-focus); outline-offset: 3px; box-shadow: var(--oz-focus-ring); }
.oz-shop-toolbar { display: flex; flex-direction: column; gap: .625rem; padding: .25rem 0; }
.oz-shop-toolbar > * { min-width: 0; }
@media (min-width: 48rem) {
 .oz-shop-archive.woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .oz-shop-toolbar { flex-direction: row; align-items: center; justify-content: space-between; }
 .oz-shop-archive.woocommerce .woocommerce-ordering { width: min(100%, 19rem); }
}
@media (min-width: 64rem) { .oz-shop-archive.woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 80rem) { .oz-shop-archive.woocommerce ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* Grid owns card widths; override native WooCommerce column floats. */
.oz-shop-archive.woocommerce ul.products li.product { float: none; width: auto; margin: 0; }

/* Both presentations share the native archive products and pagination. */
.oz-shop-controls{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.oz-shop-view-toggle{display:flex;border:1px solid var(--oz-color-primary);border-radius:999px;padding:3px;flex-shrink:0;gap:3px;margin-bottom:1.25rem}
.oz-shop-view-toggle button{display:flex;gap:.4rem;align-items:center;border:0;border-radius:999px;padding:.5rem .8rem;background:transparent;color:var(--oz-color-primary);min-height:40px;font:inherit}
.oz-shop-view-toggle button[aria-pressed=true],.oz-shop-view-toggle button:hover{background:var(--oz-color-primary);color:white}
.oz-shop-archive [hidden]{display:none!important}
.oz-shop-table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0 .75rem;font-size:.875rem}
.oz-shop-table th{font-weight:600;text-align:left;padding:.75rem}
.oz-shop-table>thead th:first-child{width:27%}.oz-shop-table>thead th:nth-child(2){width:17%}.oz-shop-table>thead th:nth-child(3){width:23%}
.oz-shop-table>tbody>tr>td{padding:1rem .75rem;vertical-align:top;background:var(--oz-color-surface);border-block:1px solid var(--oz-color-border);overflow-wrap:anywhere}
.oz-shop-table>tbody>tr>td:first-child{border-left:1px solid var(--oz-color-border);border-radius:16px 0 0 16px}.oz-shop-table>tbody>tr>td:last-child{border-right:1px solid var(--oz-color-border);border-radius:0 16px 16px 0}
.oz-shop-details{display:flex;gap:.75rem;align-items:flex-start}.oz-shop-details>a{flex:0 0 64px}.oz-shop-details img{width:64px;height:72px;object-fit:contain}.oz-shop-details>div>a{font-weight:600;color:var(--oz-color-text);text-decoration:none}
.oz-shop-details .oz-compare-toggle{display:flex;margin-top:.75rem}
.oz-shop-buy{display:flex;align-items:center;gap:2px;flex-wrap:wrap}.oz-shop-buy button{min-height:40px;min-width:30px;padding:4px;border:1px solid var(--oz-color-border);border-radius:8px;color:var(--oz-color-primary);background:white}.oz-shop-buy .quantity{margin:0!important;float:none!important}.oz-shop-buy input.qty{width:3.5rem;min-height:40px;padding:4px;text-align:center}.oz-shop-buy .oz-shop-submit{background:var(--oz-color-primary);color:white;border-color:var(--oz-color-primary);margin-left:4px;min-width:40px}.oz-shop-buy button:disabled{opacity:.5;cursor:wait}
.oz-shop-add [data-shop-message]{font-size:.8rem;margin:.5rem 0 0}.oz-shop-tiers{margin-top:.5rem}.oz-shop-tiers summary{color:var(--oz-color-primary);cursor:pointer}.oz-shop-tiers .ozb2b-tiers h2{display:none}.oz-shop-tiers table{font-size:.75rem;width:100%;table-layout:fixed}.oz-shop-tiers th,.oz-shop-tiers td{padding:.25rem!important;overflow-wrap:anywhere}.oz-shop-table .stock{margin:0 0 .5rem}
@media(max-width:1279px){.oz-shop-table,.oz-shop-table>tbody,.oz-shop-table>tbody>tr,.oz-shop-table>tbody>tr>td{display:block;width:100%}.oz-shop-table>thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.oz-shop-table>tbody>tr{border:1px solid var(--oz-color-border);border-radius:16px;margin-bottom:1rem;overflow:hidden}.oz-shop-table>tbody>tr>td{border:0!important;border-radius:0!important;padding:.65rem 1rem}.oz-shop-table>tbody>tr>td::before{content:attr(data-label);display:block;font-weight:600;margin-bottom:.3rem}.oz-shop-table>tbody>tr>td:first-child::before{display:none}.oz-shop-tiers{max-width:28rem}}
.oz-shop-archive .oz-shop-view-toggle button[aria-pressed=false]{background:transparent;color:var(--oz-color-primary)}
.oz-shop-archive .oz-shop-view-toggle button[aria-pressed=false]:hover{background:var(--oz-color-surface);color:var(--oz-color-primary)}
.oz-shop-table>thead th{border:0;background:var(--oz-color-surface)}
.oz-shop-table>tbody>tr>td{border-inline:0}.oz-shop-table>tbody>tr>td a{color:var(--oz-color-primary)}
.oz-shop-table>tbody>tr>td .oz-shop-details a{color:var(--oz-color-text)}

/* Shared dialog surface; tier rows never expand the archive layout. */
.oz-shop-view-toggle svg{width:18px;height:18px;flex:none}
.oz-shop-buy .oz-shop-submit svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.oz-shop-archive .oz-shop-tiers-open{display:block;margin-top:.5rem;padding:0;border:0;background:transparent;color:var(--oz-color-primary);font:inherit;text-decoration:underline;text-underline-offset:.2em;min-height:32px}
.oz-shop-archive .oz-shop-tiers-open:hover{background:transparent;color:var(--oz-color-primary)}
.oz-shop-tiers-dialog [data-shop-tiers-product]{margin-block:1rem;color:var(--oz-color-text-muted)}
.oz-shop-tiers-dialog .ozb2b-tiers h2{display:none}
.oz-shop-tiers-dialog table{width:100%;table-layout:fixed;border-collapse:collapse}
.oz-shop-tiers-dialog th,.oz-shop-tiers-dialog td{padding:.75rem;text-align:left;overflow-wrap:anywhere;border:1px solid var(--oz-color-border)}
@media(min-width:1280px){.oz-shop-table>thead{position:sticky;top:var(--oz-shop-sticky-top,0px);z-index:2}.oz-shop-table>thead th{background:var(--oz-color-surface);box-shadow:0 1px 0 var(--oz-color-border)}}
