/* Archive layout leaves the theme's filters/content columns intact. */
body.pt-shop .pt-shop-tiles { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:0 0 16px; }
body.pt-shop .pt-shop-tile { display:flex; align-items:center; justify-content:center; min-height:64px; padding:12px; border:1px solid var(--pt-line); border-radius:12px; background:#faf8f6; color:var(--pt-ink); text-align:center; font-weight:700; text-decoration:none; }
body.pt-shop .pt-shop-tile:hover { border-color:var(--pt-red); color:var(--pt-red); }
body.pt-shop .pt-shop-trust { list-style:none; display:flex; flex-wrap:wrap; gap:8px 20px; padding:12px 0; margin:0 0 16px; border-block:1px solid var(--pt-line); color:var(--pt-muted); font-size:13px; }
body.pt-shop .pt-shop-controls { clear:both; margin-bottom:18px; }
body.pt-shop .pt-shop-bar { display:flex; gap:12px; align-items:center; justify-content:flex-end; background:#fff; }
body.pt-shop .pt-shop-filter { display:none; }
body.pt-shop .pt-shop-sort form.woocommerce-ordering { float:none; margin:0; }
body.pt-shop .pt-shop-sort select { max-width:100%; min-height:44px; border:1px solid var(--pt-line); border-radius:8px; color:var(--pt-ink); background:#fff; }
body.pt-shop .pt-shop-chips { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
body.pt-shop .pt-shop-clear { color:var(--pt-red); font-size:14px; text-decoration:underline; }
body.pt-shop .pt-shop-chips .wpc-chip-reset-all { display:none; }
body.pt-shop .pt-shop-chips .wpc-filter-chip a { border:1px solid var(--pt-line); border-radius:20px; background:#faf8f6; color:var(--pt-ink); }
body.pt-shop ul.products { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px 18px; padding:0; }
body.pt-shop ul.products::before, body.pt-shop ul.products::after { display:none!important; }
body.pt-shop ul.products > li.pt-shop-card { float:none; width:auto!important; max-width:100%; margin:0!important; padding:0; display:flex; flex-direction:column; gap:10px; text-align:left; }
body.pt-shop .pt-shop-card .pth2-card__link { display:flex; flex-direction:column; gap:8px; color:var(--pt-ink); text-decoration:none; }
body.pt-shop .pt-shop-card .pth2-card__img { display:block; aspect-ratio:1; padding:16px; border:1px solid var(--pt-line); border-radius:20px; background:#fff; }
body.pt-shop .pt-shop-card img { width:100%; height:100%; aspect-ratio:1; object-fit:contain; margin:0; }
body.pt-shop .pt-shop-card .pth2-card__brand { font-size:12px; color:var(--pt-muted); text-transform:uppercase; font-weight:700; min-height:1.5em; }
body.pt-shop .pt-shop-card .pth2-card__name { font-size:16px; line-height:1.35; font-weight:700; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.7em; }
body.pt-shop .pt-shop-card .pth2-card__facts { display:flex; flex-direction:column; gap:4px; font-size:12px; }
body.pt-shop .pt-shop-card .pth2-stock { color:#376345; }
body.pt-shop .pt-shop-card.outofstock .pth2-stock, body.pt-shop .pt-shop-card .pth2-free { color:var(--pt-muted); }
body.pt-shop .pt-filter-section { border-bottom:1px solid var(--pt-line); padding-block:12px; }
body.pt-shop .pt-filter-heading { display:flex; align-items:center; justify-content:space-between; width:100%; border:0; padding:6px 0; text-align:left; color:var(--pt-ink); background:transparent; font:inherit; font-weight:700; cursor:pointer; }
body.pt-shop .pt-filter-heading::after { content:'−'; font-size:22px; }
body.pt-shop .pt-filter-heading[aria-expanded=false]::after { content:'+'; }
body.pt-shop .pt-filter-section .wpc-filter-header::after, body.pt-shop .pt-filter-section .wpc-filter-title::after { display:none; }
body.pt-shop .pt-filter-section .wpc-filter-content:not([hidden]) { display:block!important; }
body.pt-shop .pt-filter-more { border:0; background:transparent; color:var(--pt-red); text-decoration:underline; padding:8px 0; min-height:44px; cursor:pointer; }
body.pt-shop .pt-shop-widget .wpc-filters-widget-content { display:block!important; position:static!important; inset:auto!important; transform:none!important; width:auto!important; max-width:none!important; height:auto!important; max-height:none!important; overflow:visible!important; opacity:1!important; visibility:visible!important; box-shadow:none; }
body.pt-shop .pt-shop-widget .wpc-filters-open-button-container { display:none!important; }
body.pt-shop .pt-filter-section [hidden], body.pt-shop .pt-shop-drawer[hidden], body.pt-shop .pt-shop-filter[hidden] { display:none!important; }
body.pt-shop .pt-shop-drawer { position:fixed; inset:0; z-index:100000; color:var(--pt-ink); }
body.pt-shop .pt-shop-shade { position:absolute; inset:0; background:rgb(0 0 0 / 45%); }
body.pt-shop .pt-shop-panel { position:absolute; inset:0 0 0 auto; width:min(440px,100%); height:100dvh; display:flex; flex-direction:column; background:#fff; }
body.pt-shop .pt-shop-panel header { display:flex; align-items:center; justify-content:space-between; padding:16px 20px; border-bottom:1px solid var(--pt-line); }
body.pt-shop .pt-shop-panel h2 { font-size:22px; margin:0; }
body.pt-shop .pt-shop-panel button { cursor:pointer; }
body.pt-shop .pt-shop-panel header button { min-width:44px; min-height:44px; border:0; background:transparent; color:var(--pt-ink); font-size:28px; }
body.pt-shop .pt-shop-filter-content { flex:1; min-height:0; padding:8px 20px; overflow-y:auto; overscroll-behavior:contain; }
body.pt-shop .pt-shop-panel footer { flex-shrink:0; padding:16px 20px max(16px,env(safe-area-inset-bottom)); background:#fff; border-top:1px solid var(--pt-line); }
body.pt-shop .pt-shop-panel footer button { width:100%; min-height:48px; border:0; border-radius:8px; background:var(--pt-red); color:#fff; font:inherit; font-weight:700; }
body.pt-shop :is(.pt-filter-heading,.pt-filter-more,.pt-shop-filter,.pt-shop-tile,.pt-shop-panel button):focus-visible { outline:3px solid var(--pt-red); outline-offset:3px; }
@media (max-width:1200px) and (min-width:601px) {
    body.pt-shop ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:900px) {
    body.pt-shop .pt-shop-sidebar { display:none!important; }
    body.pt-shop .pt-shop-filter { display:block; min-height:44px; padding:8px 12px; border:1px solid var(--pt-red); border-radius:8px; color:var(--pt-red); background:#fff; font-weight:700; }
    body.pt-shop .pt-shop-controls { position:sticky; top:0; z-index:50; background:#fff; padding-block:8px; }
    body.admin-bar.pt-shop .pt-shop-controls { top:46px; }
    body.pt-shop .pt-shop-bar { justify-content:space-between; }
    body.pt-shop .pt-shop-sort { flex:1; min-width:0; }
    body.pt-shop .pt-shop-sort select { width:100%; }
    body.pt-shop .pt-shop-tiles { display:flex; overflow-x:auto; padding-bottom:8px; }
    body.pt-shop .pt-shop-tile { flex:0 0 130px; }
}
@media (max-width:600px) {
    body.pt-shop ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 12px; }
    body.pt-shop .pt-shop-card .pth2-card__img { padding:10px; border-radius:14px; }
    body.pt-shop .pt-shop-card .pth2-card__name { font-size:15px; }
    body.pt-shop .pt-shop-trust { font-size:12px; }
}
