/* ==========================================================================
   Products archive (/products/) — mockup 08.
   Only archive-specific rules live here; tokens, breadcrumb, disclosure,
   cards, buttons, and pagination are already in assets/css/main.css.
   ========================================================================== */

.products-archive section.sec{padding:24px 0 64px;}

/* ===== PAGE HEAD ===== */
.products-archive .page-head{margin-top:6px;}
.products-archive .page-head h1{font-size:32px; margin:8px 0 10px;}
.products-archive .page-head .lead{font-size:15px; color:var(--bark-soft); max-width:680px; margin-bottom:14px;}

/* Disclosure spans the content column on this page. */
.products-archive .disclosure-banner{max-width:none; margin:0 0 26px;}

/* ===== TOOLBAR ===== */
.products-archive .toolbar{display:flex; align-items:center; gap:12px; background:var(--paper); border:1px solid var(--border); border-radius:var(--r-lg); padding:12px 16px; margin-bottom:24px; flex-wrap:wrap;}
.products-archive .search-box{flex:1; min-width:200px; display:flex; align-items:center; gap:8px; border:1px solid var(--border); border-radius:999px; padding:9px 16px; background:var(--cream);}
.products-archive .search-box svg{width:16px; height:16px; stroke:var(--bark-soft); flex-shrink:0;}
.products-archive .search-box input{border:none; background:none; font-family:var(--font-body); font-size:13.5px; flex:1; outline:none; color:var(--bark); min-width:0;}
.products-archive .filter-toggle{display:none; align-items:center; gap:6px; background:var(--forest-light); color:var(--forest-deep); border:none; padding:9px 16px; border-radius:999px; font-weight:700; font-size:13px; font-family:var(--font-body); cursor:pointer;}
.products-archive .filter-toggle svg{width:15px; height:15px;}
.products-archive .filter-toggle:hover{background:var(--olive-light);}
.products-archive .result-count{font-size:12.5px; color:var(--bark-soft); white-space:nowrap;}
.products-archive .sort-select{border:1px solid var(--border); border-radius:999px; padding:9px 14px; font-family:var(--font-body); font-size:13px; font-weight:600; color:var(--forest-deep); background:var(--paper); cursor:pointer;}

/* ===== LAYOUT ===== */
.products-archive .products-layout{display:grid; grid-template-columns:250px 1fr; gap:32px; align-items:start; margin-bottom:20px;}

/* ===== FILTER SIDEBAR ===== */
.products-archive .filter-panel{background:var(--paper); border:1px solid var(--border); border-radius:var(--r-lg); padding:20px; position:sticky; top:88px;}
.products-archive .filter-group{border:none; border-bottom:1px solid var(--border); padding:0 0 16px; margin:0 0 16px; min-width:0;}
.products-archive .filter-group:last-of-type{border-bottom:none; margin-bottom:0; padding-bottom:0;}
.products-archive .filter-group legend{float:left; width:100%; padding:0; font-size:11px; text-transform:uppercase; letter-spacing:.05em; color:var(--olive); font-weight:800; margin-bottom:10px;}
.products-archive .cb-row{display:flex; align-items:center; justify-content:space-between; gap:8px; padding:5px 0; font-size:13.5px; cursor:pointer; clear:both;}
.products-archive .cb-row .label{display:flex; align-items:center; gap:8px;}
.products-archive .cb-row input{accent-color:var(--forest); margin:0;}
.products-archive .cb-row .count{color:var(--bark-soft); font-size:12px;}
.products-archive .clear-btn{width:100%; background:none; border:1px solid var(--border); border-radius:999px; padding:9px; font-size:12.5px; font-weight:700; color:var(--bark-soft); margin-top:16px; font-family:var(--font-body); cursor:pointer;}
.products-archive .clear-btn:hover{background:var(--olive-light); color:var(--forest-deep);}

/* ===== GRID ===== */
.products-archive .product-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.products-archive .product-grid .is-hidden{display:none !important;}

/* ===== EMPTY STATE ===== */
.products-archive .empty-state{text-align:center; padding:60px 20px; background:var(--paper); border:1px dashed var(--border); border-radius:var(--r-lg);}
.products-archive .empty-state[hidden]{display:none;}
.products-archive .empty-state svg{width:44px; height:44px; stroke:var(--olive); margin:0 auto 14px;}
.products-archive .empty-state h3{font-size:18px; margin-bottom:6px;}
.products-archive .empty-state p{font-size:13.5px; color:var(--bark-soft); margin-bottom:16px;}

/* Fallback in case the parent stylesheet's .screen-reader-text is unavailable. */
.products-archive .screen-reader-text{border:0; clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; width:1px; margin:-1px; overflow:hidden; padding:0; position:absolute; word-wrap:normal;}

/* ===== RESPONSIVE ===== */
@media(max-width:980px){
	.products-archive .product-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:760px){
	.products-archive .filter-toggle{display:inline-flex;}
	.products-archive .products-layout{grid-template-columns:1fr;}
	.products-archive .filter-panel{position:static; display:none;}
	.products-archive .filter-panel.open{display:block;}
}
@media(max-width:620px){
	.products-archive .product-grid{grid-template-columns:1fr;}
	.products-archive .page-head h1{font-size:26px;}
}
