/* ============================================================
   Next Pro — Shop / Archive page
   Templates: archive-product.php, woocommerce/content-product.php
   Uses theme tokens from main.css (:root)
   ============================================================ */

:root{
    --rust-soft:#e6f7f7;
}

/* ── category strip ───────────────────────────────────────── */
.cat-strip{
    background:#fff;border-bottom:1px solid var(--line);
    overflow-x:auto;white-space:nowrap;
}
.cat-strip .container{display:flex;gap:6px;padding-top:10px;padding-bottom:10px;}
.cat-link{
    display:inline-block;padding:7px 16px;border-radius:20px;
    font-size:13px;font-weight:600;color:var(--ink);
    border:1.5px solid var(--line);transition:.15s;flex-shrink:0;
}
.cat-link:hover{border-color:var(--rust);color:var(--rust);}
.cat-link.active{background:var(--ink);border-color:var(--ink);color:#fff;}

/* ── page heading / count / mobile filter btn ─────────────── */
.archive-head{
    display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px;
}
.archive-head h1{font-size:22px;font-weight:800;margin:0 0 4px;}
.archive-head .count{font-size:13px;color:var(--muted);}
.mobile-filter-btn{
    display:none;align-items:center;gap:6px;
    border:1.5px solid var(--line);border-radius:10px;
    padding:9px 16px;font-size:13px;font-weight:600;background:#fff;
}

/* ── filter sidebar ────────────────────────────────────────── */
.filter-box{
    background:#fff;border:1px solid var(--line);border-radius:var(--radius);
    padding:18px;position:sticky;top:16px;
}
.filter-box > h6{font-size:14.5px;font-weight:800;margin:0 0 14px;}

.filter-group{border-top:1px solid var(--line);padding:14px 0;}
.filter-group:first-of-type{border-top:none;padding-top:0;}

.ftitle{
    display:flex;align-items:center;justify-content:space-between;
    font-size:13.5px;font-weight:700;cursor:pointer;margin-bottom:10px;
    -webkit-user-select:none;user-select:none;
}
.ftitle .chev{font-size:11px;color:var(--muted);transition:transform .15s;}

.check-row{
    display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink);
    padding:5px 0;cursor:pointer;
}
.check-row input[type="checkbox"]{
    width:16px;height:16px;accent-color:var(--rust);flex-shrink:0;cursor:pointer;
}
.check-row .cnt{margin-inline-start:auto;color:var(--muted);font-size:11.5px;}
.check-row .stars-sm{color:var(--gold);font-size:12px;letter-spacing:1px;}

.price-range-inputs{display:flex;align-items:center;gap:8px;margin-bottom:10px;}
.price-range-inputs input{
    width:100%;border:1.5px solid var(--line);border-radius:8px;
    height:38px;padding:0 10px;font-size:12.5px;text-align:center;
    font-family:'Vazirmatn',sans-serif;color:var(--ink);outline:none;
}
.price-range-inputs input:focus{border-color:var(--rust);}
.price-range-inputs span{color:var(--muted);}

input[type="range"]#priceRange{
    width:100%;accent-color:var(--rust);cursor:pointer;height:4px;
}

.swatch-mini{
    width:24px;height:24px;border-radius:50%;display:inline-block;
    border:1.5px solid var(--line);cursor:pointer;position:relative;
}
.swatch-mini.active{outline:2px solid var(--rust);outline-offset:2px;}

.btn-apply-filters{
    width:100%;background:var(--rust);color:#fff;border:none;border-radius:10px;
    padding:12px;font-size:13.5px;font-weight:700;margin-top:8px;transition:.15s;
}
.btn-apply-filters:hover{background:var(--rust-dark);}
.btn-clear-filters{
    color:var(--muted);font-size:12.5px;text-decoration:underline;
}
.btn-clear-filters:hover{color:var(--rust);}

/* ── active filter chips ──────────────────────────────────── */
.chip-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;}
.chip{
    display:inline-flex;align-items:center;gap:6px;
    background:var(--teal-soft);color:var(--teal);
    border-radius:20px;padding:6px 12px;font-size:12px;font-weight:600;
}
.chip .x{color:var(--teal);opacity:.7;font-size:11px;}
.chip .x:hover{opacity:1;}
.chip-clear-all{font-size:12px;color:var(--muted);text-decoration:underline;}
.chip-clear-all:hover{color:var(--rust);}

/* ── toolbar: sort + view toggle ──────────────────────────── */
.toolbar{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    margin-bottom:16px;flex-wrap:wrap;
}
.sort-select{
    border:1.5px solid var(--line);border-radius:8px;
    padding:8px 12px;font-size:12.5px;font-family:'Vazirmatn',sans-serif;
    color:var(--ink);background:#fff;outline:none;cursor:pointer;
}
.view-toggle{display:flex;gap:4px;border:1.5px solid var(--line);border-radius:8px;padding:3px;}
.view-toggle button{
    width:30px;height:28px;display:flex;align-items:center;justify-content:center;
    border-radius:6px;color:var(--muted);
}
.view-toggle button.active{background:var(--ink);color:#fff;}

/* ── pagination ────────────────────────────────────────────── */
.pagination-shop{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:28px;}
.pagination-shop a{
    display:flex;align-items:center;justify-content:center;
    min-width:36px;height:36px;border-radius:8px;
    font-size:13px;font-weight:600;color:var(--ink);
    border:1.5px solid var(--line);padding:0 6px;
}
.pagination-shop a:hover{border-color:var(--rust);color:var(--rust);}
.pagination-shop a.active{background:var(--ink);border-color:var(--ink);color:#fff;}
.pagination-shop a.nav-arrow{font-size:16px;}

/* ============================================================
   Product card — shop / archive loop
   (woocommerce/content-product.php → .product-card.shop-card)
   Scoped to .shop-card so it never touches the related-products
   card style defined in main.css.
   ============================================================ */

.shop-card{
    display:block;border:1px solid var(--line);border-radius:var(--radius);
    background:#fff;overflow:hidden;padding:0;height:100%;
    transition:.18s;color:var(--ink);
}
.shop-card:hover{box-shadow:0 10px 24px rgba(0,0,0,.07);transform:translateY(-2px);}
.shop-card.out-of-stock{opacity:.75;}

.shop-card .pimg-wrap{position:relative;background:var(--paper);}
.shop-card .pimg-wrap img{
    display:block;width:100%;height:170px;object-fit:contain;padding:14px;
}

.shop-card .pbadge{
    position:absolute;top:10px;inset-inline-start:10px;
    background:#c0392b;color:#fff;font-size:11px;font-weight:700;
    padding:4px 10px;border-radius:20px;line-height:1.4;z-index:1;
}
.shop-card .pbadge.new{background:var(--teal);}

.shop-card .plike{
    position:absolute;top:10px;inset-inline-end:10px;z-index:1;
    width:30px;height:30px;border-radius:50%;background:#fff;
    display:flex;align-items:center;justify-content:center;
    color:var(--muted);box-shadow:0 2px 6px rgba(0,0,0,.08);transition:.15s;
}
.shop-card .plike:hover{color:#c0392b;}
.shop-card .plike.active{color:#c0392b;}

.shop-card .oos-tag{
    position:absolute;inset:0;background:rgba(248,246,242,.72);
    display:flex;align-items:center;justify-content:center;z-index:1;
}
.shop-card .oos-tag span{
    background:var(--ink);color:#fff;font-size:11.5px;font-weight:700;
    padding:5px 14px;border-radius:20px;
}

.shop-card .pbody{padding:14px;}

.shop-card .pbrand{font-size:11px;color:var(--muted);font-weight:600;margin-bottom:4px;}

.shop-card .pname{
    font-size:13px;font-weight:600;line-height:1.7;
    min-height:44px;margin-bottom:6px;color:var(--ink);
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}

.shop-card .prating{display:flex;align-items:center;gap:5px;font-size:11.5px;color:var(--muted);margin-bottom:8px;}
.shop-card .stars-sm{color:var(--gold);font-size:12px;letter-spacing:1px;}

.shop-card .pprice-row{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;margin-bottom:10px;}
.shop-card .pprice-row .woocommerce-Price-amount{font-size:15px;font-weight:800;color:var(--ink);}
.shop-card .pprice-row del .woocommerce-Price-amount{
    font-size:12px;font-weight:500;color:var(--muted);opacity:.8;
}
.shop-card .pprice-row ins{text-decoration:none;}
.shop-card .pprice-row ins .woocommerce-Price-amount{color:#c0392b;}
.shop-card .pprice-row .toman{font-size:11px;color:var(--muted);}

.shop-card .add-cart-mini{
    width:100%;background:var(--rust);color:#fff;border:none;border-radius:8px;
    padding:9px;font-size:12.5px;font-weight:700;transition:.15s;
}
.shop-card .add-cart-mini:hover{background:var(--rust-dark);}
.shop-card .add-cart-mini:disabled{background:var(--line);color:var(--muted);cursor:not-allowed;}

/* ── list view mode (JS toggles #productGrid.list-view + col-12) ── */
#productGrid.list-view .shop-card{display:flex;flex-direction:row;align-items:stretch;}
#productGrid.list-view .shop-card .pimg-wrap{width:160px;flex-shrink:0;}
#productGrid.list-view .shop-card .pimg-wrap img{height:100%;}
#productGrid.list-view .shop-card .pbody{flex:1;display:flex;flex-direction:column;justify-content:center;}
#productGrid.list-view .shop-card .pname{-webkit-line-clamp:2;min-height:0;}
#productGrid.list-view .shop-card .add-cart-mini{width:auto;padding:9px 22px;align-self:flex-start;}

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width:991px){
    .mobile-filter-btn{display:flex;}
    .filter-sidebar{
        position:fixed;inset-inline-start:0;top:0;bottom:0;width:280px;
        background:#fff;z-index:1050;padding:18px;overflow-y:auto;
        transform:translateX(110%);transition:transform .25s;box-shadow:-4px 0 20px rgba(0,0,0,.1);
    }
    html[dir="rtl"] .filter-sidebar{transform:translateX(-110%);}
    .filter-sidebar.open{transform:translateX(0);}
    .filter-box{position:static;border:none;padding:0;}
}

@media (max-width:575px){
    .archive-head h1{font-size:18px;}
    .shop-card .pimg-wrap img{height:130px;padding:10px;}
    .shop-card .pbody{padding:10px;}
    #productGrid.list-view .shop-card .pimg-wrap{width:110px;}
}
