/* =========================================================
   SOUQDENT PRODUCTS + PRODUCT CATEGORY PAGES
   ========================================================= */


/* =========================================================
   PAGE
   ========================================================= */

.sd-products-page{
	background:#fff;
}


/* =========================================================
   CATEGORY BREADCRUMB
   ========================================================= */

.sd-products-category-breadcrumb{
	padding-top:28px;
}


.sd-product-breadcrumb{
	display:flex;
	flex-wrap:wrap;
	align-items:center;

	gap:7px;

	margin:0;

	color:#7a8796;

	font-size:13px;
	line-height:1.4;
}


.sd-product-breadcrumb a{
	color:#617083;

	text-decoration:none;
}


.sd-product-breadcrumb a:hover{
	color:#d99000;
}


.sd-product-breadcrumb-current{
	color:#172230;

	font-weight:700;
}


/* =========================================================
   PAGE / CATEGORY HEADER
   ========================================================= */

.sd-products-header{
	padding:42px 0 28px;

	border-bottom:1px solid #edf0f3;
}


.sd-product-category-page
.sd-products-header{
	padding-top:22px;
}


.sd-products-heading{
	max-width:760px;
}


.sd-products-kicker{
	display:block;

	margin-bottom:8px;

	color:#7a8797;

	font-size:12px;
	font-weight:800;

	letter-spacing:.14em;
	text-transform:uppercase;
}


.sd-products-heading h1{
	margin:0;

	color:#111820;

	font-size:40px;
	font-weight:800;
	line-height:1.15;

	letter-spacing:-.025em;
}


.sd-products-heading p{
	max-width:680px;

	margin:14px 0 0;

	color:#687586;

	font-size:16px;
	line-height:1.65;
}


/* =========================================================
   SUBCATEGORIES
   ========================================================= */

.sd-products-subcategories{
	padding:28px 0 0;
}


.sd-products-subcategories-heading{
	margin-bottom:16px;
}


.sd-products-subcategories-heading h2{
	margin:0;

	color:#172230;

	font-size:24px;
	font-weight:800;
	line-height:1.2;
}


.sd-products-subcategories-list{
	display:grid;

	grid-template-columns:
		repeat(4,minmax(0,1fr));

	gap:12px;
}


.sd-products-subcategory{
	display:flex;
	align-items:center;
	justify-content:space-between;

	gap:14px;

	min-width:0;
	min-height:58px;

	padding:0 16px;

	background:#fff;

	border:1px solid #e4e8ed;
	border-radius:10px;

	color:#172230;

	text-decoration:none;

	transition:
		border-color .18s ease,
		background .18s ease,
		transform .18s ease;
}


.sd-products-subcategory:hover{
	background:#fffaf0;

	border-color:#ffad00;

	color:#172230;

	transform:translateY(-1px);
}


.sd-products-subcategory-name{
	min-width:0;

	font-size:14px;
	font-weight:800;
	line-height:1.3;
}


.sd-products-subcategory-count{
	display:flex;
	align-items:center;
	justify-content:center;

	flex:0 0 auto;

	min-width:26px;
	height:26px;

	padding:0 7px;

	background:#f3f5f7;

	border-radius:999px;

	color:#7b8795;

	font-size:11px;
	font-weight:700;
}


/* =========================================================
   MAIN PRODUCTS AREA
   ========================================================= */

.sd-products-main{
	padding:32px 0 64px;
}


.sd-products-layout{
	display:grid;

	grid-template-columns:
		260px
		minmax(0,1fr);

	gap:34px;

	align-items:start;
}


/* =========================================================
   FILTER SIDEBAR
   ========================================================= */

.sd-products-sidebar{
	min-width:0;
}


.sd-product-filters{
	padding:22px;

	background:#fff;

	border:1px solid #e5e9ee;
	border-radius:12px;
}


.sd-product-filter-header{
	display:flex;
	align-items:center;
	justify-content:space-between;

	gap:12px;

	margin-bottom:22px;
}


.sd-product-filter-header h2{
	margin:0;

	color:#172230;

	font-size:20px;
	font-weight:800;
}


.sd-product-filter-clear{
	color:#d99000;

	font-size:13px;
	font-weight:700;

	text-decoration:none;
}


.sd-product-filter-clear:hover{
	text-decoration:underline;
}


/* =========================================================
   FILTER SECTION
   ========================================================= */

.sd-product-filter-section{
	padding-top:18px;

	border-top:1px solid #edf0f3;
}


.sd-product-filter-section
+
.sd-product-filter-section{
	margin-top:18px;
}


.sd-product-filter-title{
	margin:0 0 12px;

	color:#172230;

	font-size:15px;
	font-weight:800;
}


/* =========================================================
   CATEGORY FILTER
   ========================================================= */

.sd-product-category-filter{
	display:flex;
	flex-direction:column;

	gap:4px;
}


.sd-product-category-option{
	display:flex;
	align-items:center;
	justify-content:space-between;

	gap:12px;

	padding:9px 10px;

	border-radius:7px;

	color:#4f5d6e;

	text-decoration:none;

	font-size:14px;
	line-height:1.35;
}


.sd-product-category-option:hover{
	background:#f7f8fa;

	color:#172230;
}


.sd-product-category-option.is-active{
	background:#fff7e6;

	color:#d99000;

	font-weight:800;
}


.sd-product-category-name{
	min-width:0;
}


.sd-product-category-count{
	flex:0 0 auto;

	color:#98a1ad;

	font-size:12px;
}


.sd-product-category-option.is-active
.sd-product-category-count{
	color:#d99000;
}


/* =========================================================
   BRAND FILTER
   ========================================================= */

.sd-product-brand-filter{
	display:flex;
	flex-direction:column;

	gap:4px;
}


.sd-product-brand-option{
	display:flex;
	align-items:center;
	justify-content:space-between;

	gap:12px;

	padding:9px 10px;

	border-radius:7px;

	color:#4f5d6e;

	text-decoration:none;

	font-size:14px;
	line-height:1.35;
}


.sd-product-brand-option:hover{
	background:#f7f8fa;

	color:#172230;
}


.sd-product-brand-option.is-active{
	background:#fff7e6;

	color:#d99000;

	font-weight:800;
}


.sd-product-brand-name{
	min-width:0;
}


.sd-product-brand-count{
	flex:0 0 auto;

	color:#98a1ad;

	font-size:12px;
}


.sd-product-brand-option.is-active
.sd-product-brand-count{
	color:#d99000;
}


/* =========================================================
   PRICE FILTER
   ========================================================= */

.sd-product-price-filter{
	display:flex;
	flex-direction:column;

	gap:12px;
}


.sd-product-price-fields{
	display:grid;

	grid-template-columns:
		1fr
		1fr;

	gap:10px;
}


.sd-product-price-field{
	display:flex;
	flex-direction:column;

	gap:6px;
}


.sd-product-price-field label{
	color:#697687;

	font-size:12px;
	font-weight:700;
}


.sd-product-price-field input{
	width:100%;
	height:38px;

	padding:0 10px;

	background:#fff;

	border:1px solid #dfe4ea;
	border-radius:7px;

	color:#172230;

	font-size:13px;

	box-sizing:border-box;
}


.sd-product-price-field input:focus{
	outline:none;

	border-color:#ffad00;
}


.sd-product-price-button{
	min-height:38px;

	padding:0 14px;

	background:#111820;
	color:#fff;

	border:0;
	border-radius:7px;

	font-size:13px;
	font-weight:800;

	cursor:pointer;
}


.sd-product-price-button:hover{
	background:#ffad00;
	color:#111820;
}


/* =========================================================
   RESULTS AREA
   ========================================================= */

.sd-products-results,
.sd-product-results{
	min-width:0;
}


/* =========================================================
   RESULTS TOOLBAR
   ========================================================= */

.sd-product-results-toolbar{
	display:flex;
	align-items:center;
	justify-content:space-between;

	gap:20px;

	margin-bottom:22px;

	padding:18px 20px;

	background:#fff;

	border:1px solid #e5e9ee;
	border-radius:12px;
}


.sd-product-results-heading{
	display:flex;
	align-items:baseline;

	gap:12px;
}


.sd-product-results-heading h2{
	margin:0;

	color:#172230;

	font-size:24px;
	font-weight:800;
	line-height:1.2;
}


.sd-product-results-count{
	color:#7b8795;

	font-size:13px;
}


/* =========================================================
   PRODUCT GRID
   =========================================================
   Individual card design lives in:
   product-card.css
   ========================================================= */

.sd-product-grid{
	display:grid;

	grid-template-columns:
		repeat(3,minmax(0,1fr));

	gap:22px;
}


/* =========================================================
   EMPTY RESULTS
   ========================================================= */

.sd-product-empty{
	padding:36px;

	background:#fff;

	border:1px solid #e5e9ee;
	border-radius:12px;

	text-align:center;
}


.sd-product-empty h3{
	margin:0 0 8px;

	color:#172230;

	font-size:20px;
}


.sd-product-empty p{
	margin:0;

	color:#758090;

	font-size:14px;
	line-height:1.6;
}


/* =========================================================
   PAGINATION
   ========================================================= */

.sd-product-pagination{
	margin-top:32px;
}


.sd-product-pagination .page-numbers{
	display:flex;
	flex-wrap:wrap;

	gap:8px;

	margin:0;
	padding:0;

	list-style:none;
}


.sd-product-pagination .page-numbers li{
	margin:0;
}


.sd-product-pagination a.page-numbers,
.sd-product-pagination span.page-numbers{
	display:flex;
	align-items:center;
	justify-content:center;

	min-width:38px;
	height:38px;

	padding:0 10px;

	background:#fff;

	border:1px solid #e2e6eb;
	border-radius:7px;

	color:#172230;

	text-decoration:none;

	font-size:13px;
	font-weight:700;

	box-sizing:border-box;
}


.sd-product-pagination a.page-numbers:hover{
	border-color:#ffad00;

	color:#d99000;
}


.sd-product-pagination span.current{
	background:#ffad00;

	border-color:#ffad00;

	color:#111820;
}


/* =========================================================
   TABLET
   ========================================================= */

@media(max-width:1024px){

	.sd-products-header{
		padding-top:36px;
	}


	.sd-product-category-page
	.sd-products-header{
		padding-top:20px;
	}


	.sd-products-heading h1{
		font-size:34px;
	}


	.sd-products-subcategories-list{
		grid-template-columns:
			repeat(3,minmax(0,1fr));
	}


	.sd-products-layout{
		grid-template-columns:
			220px
			minmax(0,1fr);

		gap:24px;
	}


	.sd-product-grid{
		grid-template-columns:
			repeat(2,minmax(0,1fr));
	}

}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:760px){

	.sd-products-category-breadcrumb{
		padding-top:20px;
	}


	.sd-product-breadcrumb{
		font-size:12px;
	}


	.sd-products-header{
		padding:26px 0 22px;
	}


	.sd-product-category-page
	.sd-products-header{
		padding-top:16px;
	}


	.sd-products-heading h1{
		font-size:30px;
	}


	.sd-products-heading p{
		margin-top:10px;

		font-size:14px;
		line-height:1.6;
	}


	.sd-products-subcategories{
		padding-top:22px;
	}


	.sd-products-subcategories-heading h2{
		font-size:21px;
	}


	.sd-products-subcategories-list{
		grid-template-columns:
			repeat(2,minmax(0,1fr));

		gap:10px;
	}


	.sd-products-subcategory{
		min-height:52px;

		padding:0 12px;
	}


	.sd-products-subcategory-name{
		font-size:13px;
	}


	.sd-products-main{
		padding:22px 0 44px;
	}


	.sd-products-layout{
		display:block;
	}


	.sd-products-sidebar{
		margin-bottom:18px;
	}


	.sd-product-filters{
		padding:18px;
	}


	.sd-product-results-toolbar{
		padding:16px;
	}


	.sd-product-results-heading h2{
		font-size:21px;
	}


	.sd-product-grid{
		grid-template-columns:
			repeat(2,minmax(0,1fr));

		gap:12px;
	}

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media(max-width:480px){

	.sd-products-heading h1{
		font-size:27px;
	}


	.sd-products-subcategories-list{
		grid-template-columns:1fr;
	}

}


@media(max-width:420px){

	.sd-product-grid{
		grid-template-columns:1fr;
	}

}








/* =========================================================
   MOBILE FILTER TOOLBAR
   ========================================================= */

.sd-products-mobile-toolbar{
	display:none;
}


@media(max-width:760px){

	.sd-products-main{
		padding-top:16px;
	}


	.sd-products-mobile-toolbar{
		display:flex;

		align-items:center;
		justify-content:flex-start;

		margin-bottom:14px;
	}


	.sd-products-mobile-filter-button{
		display:inline-flex;
		align-items:center;
		justify-content:center;

		gap:8px;

		min-height:44px;

		padding:0 18px;

		background:#111820;
		color:#fff;

		border:0;
		border-radius:8px;

		font-size:14px;
		font-weight:800;

		cursor:pointer;
	}


	.sd-products-mobile-filter-button:hover{
		background:#ffad00;
		color:#111820;
	}


	.sd-products-mobile-filter-button .dashicons{
		width:18px;
		height:18px;

		font-size:18px;
		line-height:18px;
	}


	/*
	 * Hide full filter block on mobile by default.
	 */
	.sd-products-sidebar{
		display:none;

		margin-bottom:18px;
	}


	/*
	 * Show only after Filters button is clicked.
	 */
	.sd-products-sidebar.is-mobile-open{
		display:block;
	}


	/*
	 * Product results now appear immediately.
	 */
	.sd-products-layout{
		display:block;
	}


	.sd-product-results-toolbar{
		margin-bottom:14px;
	}


	.sd-products-header{
		padding-bottom:18px;
	}


	.sd-products-heading p{
		margin-top:8px;
	}

}




/* =========================================================
   BRAND ARCHIVE HEADER
   ========================================================= */

.sd-brand-identity{
	display:flex;
	align-items:center;

	gap:22px;
}


.sd-brand-logo{
	display:flex;
	align-items:center;
	justify-content:center;

	flex:0 0 auto;

	width:100px;
	height:100px;

	background:#fff;

	border:1px solid #e5eaf0;
	border-radius:14px;

	overflow:hidden;
}


.sd-brand-logo img{
	display:block;

	width:auto;
	height:auto;

	max-width:82%;
	max-height:82%;

	object-fit:contain;
}


.sd-brand-logo-placeholder{
	display:flex;
	align-items:center;
	justify-content:center;

	width:100%;
	height:100%;

	background:#fff;

	color:#9aa5b1;
}


.sd-brand-logo-placeholder .dashicons{
	width:32px;
	height:32px;

	font-size:32px;
	line-height:32px;
}


@media(max-width:760px){

	.sd-brand-identity{
		gap:14px;
	}


	.sd-brand-logo{
		width:76px;
		height:76px;

		border-radius:11px;
	}

}