/*--------------------------------------------------------------
  APG — Shop Archive / Store
--------------------------------------------------------------*/

:root {
	--apg-accent: #ff930d;
	--apg-accent-dark: #e17f00;
	--apg-accent-darker: #c96f00;
	--apg-ink: #001740;
	--apg-muted: #6b7280;
	--apg-faint: #9aa1ab;
	--apg-line: #ece6d8;
	--apg-line-2: #d6dae0;
	--apg-surface: #ffffff;
	--apg-surface-2: #fcfaf7;
	--apg-surface-3: #f5f6f8;
	--apg-radius: 16px;
	--apg-radius-sm: 10px;
	--apg-shadow-sm: 0 2px 10px rgba(17, 24, 39, .05);
	--apg-shadow-md: 0 14px 40px rgba(17, 24, 39, .10);
	--apg-shadow-lg: 0 26px 70px rgba(17, 24, 39, .16);
	--apg-ease: cubic-bezier(.22, .61, .36, 1);
}

/* ---------- Page shell ---------- */
.apg-store {
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 1.25rem 3rem;
	width: 100%;
}

body.apg-shop main.container {
	padding-top: 1.5rem;
	padding-bottom: 3rem;
	max-width: 1320px;
	display: block; /* override flex from plugin/global CSS so .apg-store fills the width */
}

/* Remove the legacy heading-arrow decorator inside the store hero */
.apg-store__hero h1:before,
.apg-store .woocommerce-products-header__title:before {
	display: none !important;
}

/* ---------- Hero header ---------- */
.apg-store__hero {
	position: relative;
	padding: 1.75rem 0 1.25rem;
	margin-bottom: 1.5rem;
	background: transparent;
}

.apg-store__hero .container {
	padding: 0;
}

.apg-store__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--apg-accent-dark);
	margin: 0 0 .7rem;
}
.apg-store__eyebrow i { font-size: .82rem; }

.apg-store__hero h1,
.apg-store .woocommerce-products-header__title.page-title {
	font-family: 'CreatoDisplay', sans-serif !important;
	font-size: clamp(1.85rem, 3.8vw, 2.6rem) !important;
	font-weight: 800 !important;
	line-height: 1.15 !important;
	color: var(--apg-ink) !important;
	margin: 0 0 .6rem !important;
	letter-spacing: -.02em;
}

.apg-store__lede,
.apg-store .term-description,
.apg-store .page-description,
.apg-store .woocommerce-archive-description p {
	max-width: 720px;
	font-size: 1.075rem;
	line-height: 1.65;
	color: var(--apg-muted);
	margin: 0 0 1rem;
}
.apg-store .woocommerce-archive-description { margin: 0; }
.apg-store__lede a,
.apg-store .term-description a,
.apg-store .page-description a {
	color: var(--apg-accent-dark);
	font-weight: 600;
	text-decoration: none;
	border-bottom: 1px solid rgba(255, 147, 13, .35);
	transition: border-color .18s var(--apg-ease), color .18s var(--apg-ease);
}
.apg-store__lede a:hover,
.apg-store .term-description a:hover,
.apg-store .page-description a:hover {
	color: var(--apg-accent-darker);
	border-bottom-color: var(--apg-accent);
}

/* Helper link pills under the lede */
.apg-store__helpers {
	display: flex;
	flex-wrap: wrap;
	gap: .55rem;
	margin-top: 1.4rem;
}
.apg-store__helpers a {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	padding: .5rem 1rem .45rem;
	font-size: .88rem;
	font-weight: 600;
	color: var(--apg-ink);
	text-decoration: none;
	background: var(--apg-surface);
	border: 1px solid var(--apg-line);
	border-radius: 999px;
	box-shadow: var(--apg-shadow-sm);
	transition: border-color .2s var(--apg-ease), color .2s var(--apg-ease), transform .2s var(--apg-ease), box-shadow .2s var(--apg-ease);
}
.apg-store__helpers a i { color: var(--apg-accent); font-size: .82rem; transition: transform .2s var(--apg-ease); }
.apg-store__helpers a:hover {
	border-color: var(--apg-accent);
	color: var(--apg-accent-dark);
	transform: translateY(-2px);
	box-shadow: var(--apg-shadow-md);
}
.apg-store__helpers a:hover i { transform: translateX(2px); }

/* Notices inside hero */
.apg-store__hero .woocommerce-notices-wrapper,
.apg-store__hero .woocommerce-message { margin: 0 0 1rem; }

/* ---------- Before-loop wrapper (holds result count + filter bar) ---------- */
.apg-store__beforeloop { margin: 0 0 1.5rem; }

/* Result count line (rendered first by woocommerce_before_shop_loop) */
.apg-store__beforeloop > .col-lg-12.separator,
.apg-store__beforeloop > .separator {
	width: auto;
	margin: 0 0 1rem !important;
	padding: .6rem 1rem !important;
	border: 0 !important;
	text-align: left;
	background: var(--apg-surface-3);
	border-radius: var(--apg-radius-sm);
}
.apg-store__beforeloop > .separator .container,
.apg-store__beforeloop > .separator .row,
.apg-store__beforeloop > .separator .col-lg-12,
.apg-store__beforeloop > .separator .col-lg-6 {
	width: auto;
	margin: 0;
	padding: 0;
	display: block;
}
.apg-store__beforeloop > .separator p {
	margin: 0;
	padding: 0;
	font-size: .9rem;
	font-weight: 700;
	color: var(--apg-ink);
	letter-spacing: .01em;
}
.apg-store__beforeloop > .separator p strong { color: var(--apg-accent-dark); }

/* ---------- Toolbar (filters + sort) ---------- */
.apg-store__beforeloop > .product-filter {
	position: sticky;
	top: 0;
	z-index: 20;
	background: rgba(255, 255, 255, .88);
	backdrop-filter: blur(14px) saturate(140%);
	-webkit-backdrop-filter: blur(14px) saturate(140%);
	border: 1px solid var(--apg-line);
	border-radius: var(--apg-radius);
	box-shadow: var(--apg-shadow-sm);
	padding: .7rem 1rem;
	margin: 0 0 1.5rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .75rem 1rem;
}

.apg-store__beforeloop > .product-filter .container {
	width: auto;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .75rem 1rem;
}
.apg-store__beforeloop > .product-filter .container > div {
	display: inline-flex;
	margin: 0 !important;
}

.apg-store__beforeloop > .product-filter .woocommerce-perpage {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	margin: 0 !important;
}
.apg-store__beforeloop > .product-filter .woocommerce-perpage label {
	padding: 0 !important;
	min-width: 0 !important;
	font-size: .85rem;
	font-weight: 600;
	color: var(--apg-muted);
	white-space: nowrap;
}
.apg-store__beforeloop > .product-filter .select-wrapper {
	position: relative;
	display: inline-flex;
	align-items: center;
	width: auto !important;
}
/* Kill bootstrap's ::before/::after custom arrow on select-wrapper */
.apg-store__beforeloop > .product-filter .select-wrapper::before,
.apg-store__beforeloop > .product-filter .select-wrapper::after {
	content: none !important;
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	background: none !important;
}
.apg-store__beforeloop > .product-filter select {
	appearance: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	-ms-appearance: none !important;
	height: 2.45rem;
	padding: 0 2.4rem 0 .9rem;
	font-size: .88rem;
	font-weight: 600;
	color: var(--apg-ink);
	background-color: var(--apg-surface);
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3e%3cpath d='M2 4l4 4 4-4' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: right .85rem center;
	background-size: 12px;
	border: 1px solid var(--apg-line);
	border-radius: 999px;
	cursor: pointer;
	transition: border-color .2s var(--apg-ease), box-shadow .2s var(--apg-ease), background-color .2s var(--apg-ease);
}
/* Kill native dropdown arrow on all browsers */
.apg-store__beforeloop > .product-filter select::-ms-expand { display: none !important; }
.apg-store__beforeloop > .product-filter select::-moz-focus-inner { border: 0; }
.apg-store__beforeloop > .product-filter .filter-category select { min-width: 230px; }
.apg-store__beforeloop > .product-filter .filter-per_page select { min-width: 80px; }
.apg-store__beforeloop > .product-filter .filter-ordering select { min-width: 230px; }
.apg-store__beforeloop > .product-filter select:hover {
	border-color: var(--apg-line-2);
	background-color: var(--apg-surface-2);
}
.apg-store__beforeloop > .product-filter select:focus {
	outline: none;
	border-color: var(--apg-accent);
	box-shadow: 0 0 0 3px rgba(255, 147, 13, .18);
	background-color: var(--apg-surface);
}

.apg-store__beforeloop > .product-filter .filter-ordering {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
}
.apg-store__beforeloop > .product-filter .filter-ordering > label {
	padding: 0 !important;
	font-size: .85rem;
	font-weight: 600;
	color: var(--apg-muted);
	white-space: nowrap;
}
.apg-store__beforeloop > .product-filter .filter-ordering form { margin: 0; }

/* ---------- Product grid ---------- */
.apg-store__grid {
	margin: 0 auto;
}
.apg-store__grid .product-list {
	display: block;
	text-align: left;
	margin: 0;
}
.apg-store__grid .product-list .container {
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	gap: 1rem;
	margin: 0 !important;
	padding: 0 !important;
}
@media (min-width: 576px) {
	.apg-store__grid .product-list .container {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.25rem;
	}
}
@media (min-width: 768px) {
	.apg-store__grid .product-list .container {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 1.5rem;
	}
}
@media (min-width: 992px) {
	.apg-store__grid .product-list .container {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 1.5rem;
	}
}

/* Each grid cell (override bootstrap col widths) */
.apg-store__grid .single-product {
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* ---------- Product card ---------- */
.apg-store__grid .single-product {
	position: relative;
	height: 100%;
}

.apg-store__grid .single-product .apg-card {
	position: relative;
	display: block;
	height: 100%;
}

/* The WooCommerce loop link is the actual card surface */
.apg-store__grid a.woocommerce-LoopProduct-link {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 0 !important;
	color: var(--apg-ink) !important;
	border: 1px solid var(--apg-line) !important;
	border-radius: var(--apg-radius) !important;
	background: var(--apg-surface);
	overflow: hidden;
	box-shadow: var(--apg-shadow-sm);
	transition: transform .3s var(--apg-ease), box-shadow .3s var(--apg-ease), border-color .3s var(--apg-ease);
}
.apg-store__grid a.woocommerce-LoopProduct-link:hover {
	border-color: rgba(255, 147, 13, .45) !important;
	transform: translateY(-6px);
	box-shadow: var(--apg-shadow-lg);
}
/* Remove the old white overlay on hover */
.apg-store__grid a:hover.woocommerce-LoopProduct-link:after {
	display: none !important;
}

/* Image area */
.apg-store__grid .woocommerce-LoopProduct-link figure,
.apg-store__grid .woocommerce-LoopProduct-link .woocommerce-product-gallery__image {
	margin: 0;
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--apg-surface);
	aspect-ratio: 1 / 1;
	padding: 1.25rem;
	overflow: hidden;
	border-bottom: 1px solid var(--apg-line);
}
.apg-store__grid .woocommerce-LoopProduct-link img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	transition: transform .55s var(--apg-ease);
}
.apg-store__grid a.woocommerce-LoopProduct-link:hover img {
	transform: scale(1.07);
}

/* Sale flash */
.apg-store__grid .onsale {
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 3;
	background: linear-gradient(135deg, var(--apg-accent), var(--apg-accent-dark));
	color: #fff;
	font-size: .66rem;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
	padding: .32rem .72rem .28rem;
	border-radius: 999px;
	box-shadow: 0 6px 16px rgba(255, 147, 13, .35);
}

/* Card body (title + category + price) */
.apg-store__grid .woocommerce-LoopProduct-link .woocommerce-loop-product__title,
.apg-store__grid .woocommerce-LoopProduct-link h2,
.apg-store__grid .woocommerce-LoopProduct-link h4 {
	flex: 0 0 auto;
	margin: 0 !important;
	padding: .85rem 1.1rem .2rem;
	font-family: 'CreatoDisplay', sans-serif !important;
	font-size: 1.35rem !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	color: var(--apg-ink) !important;
	letter-spacing: -.01em;
	text-align: center;
	transition: color .2s var(--apg-ease);
}
.apg-store__grid a.woocommerce-LoopProduct-link:hover .woocommerce-loop-product__title,
.apg-store__grid a.woocommerce-LoopProduct-link:hover h2,
.apg-store__grid a.woocommerce-LoopProduct-link:hover h4 {
	color: var(--apg-accent-dark) !important;
}
.apg-store__grid .woocommerce-LoopProduct-link .woocommerce-loop-product__title:before,
.apg-store__grid .woocommerce-LoopProduct-link h2:before,
.apg-store__grid .woocommerce-LoopProduct-link h4:before { display: none !important; }

/* Category label between title and price */
.apg-store__grid .apg-card__category {
	flex: 0 0 auto;
	display: block;
	padding: 0 1.1rem;
	margin: 0 0 .3rem;
	font-size: .75rem;
	font-weight: 600;
	color: var(--apg-muted);
	letter-spacing: .02em;
	text-align: center;
}

/* SKU — hidden in grid view, shown in list view */
.apg-store__grid .apg-card__sku {
	display: none;
}
/* Short description — hidden in grid view, shown in list view */
.apg-store__grid .apg-card__desc {
	display: none;
}
/* Title wrapper — transparent in grid view (just a passthrough) */
.apg-store__grid .apg-card__titlewrap {
	display: block;
}

/* Price row — centered */
.apg-store__grid .woocommerce-LoopProduct-link .price,
.apg-store__grid .woocommerce-LoopProduct-link span.price,
.apg-store__grid .woocommerce-LoopProduct-link .woocommerce-Price-amount {
	flex: 0 0 auto;
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: .4rem;
	padding: .1rem 1.1rem 1.1rem;
	margin: 0 !important;
	font-family: 'CreatoDisplay', sans-serif !important;
	font-size: 1.15rem !important;
	font-weight: 800 !important;
	color: var(--apg-accent-dark) !important;
	line-height: 1.1 !important;
	text-align: center;
}
.apg-store__grid .woocommerce-LoopProduct-link .price del,
.apg-store__grid .woocommerce-LoopProduct-link .woocommerce-Price-amount del {
	color: var(--apg-faint) !important;
	font-weight: 500 !important;
	text-decoration: line-through;
	font-size: .88rem !important;
}
.apg-store__grid .woocommerce-LoopProduct-link .price ins,
.apg-store__grid .woocommerce-LoopProduct-link .woocommerce-Price-amount ins {
	text-decoration: none;
}

/* Rating (if present) */
.apg-store__grid .woocommerce-LoopProduct-link .star-rating {
	margin: 0 1.1rem .25rem;
	color: #f5a623;
	font-size: .85rem;
}

/* Stock badge inside card — hidden (not rendered on frontend) */
.apg-store__grid .woocommerce-LoopProduct-link .stock {
	display: none !important;
}

/* Loop add-to-cart button (if rendered) */
.apg-store__grid .single-product .button,
.apg-store__grid .single-product a.button {
	display: block;
	margin: 0 1.1rem 1.1rem;
	width: calc(100% - 2.2rem);
	min-width: 0;
	height: 2.45rem;
	padding-top: .55rem !important;
	font-size: .88rem !important;
	border-radius: var(--apg-radius-sm);
}

/* ---------- Empty state ---------- */
.apg-store .woocommerce-info.woocommerce-no-products-found,
.apg-store p.woocommerce-info {
	max-width: 640px;
	margin: 2.5rem auto;
	padding: 2.5rem 2rem;
	text-align: center;
	background:
		radial-gradient(80% 100% at 50% 0%, rgba(255, 147, 13, .06), transparent 60%),
		var(--apg-surface-2);
	border: 1px solid var(--apg-line) !important;
	border-radius: var(--apg-radius);
	color: var(--apg-ink);
	font-size: 1.05rem;
	box-shadow: var(--apg-shadow-sm);
}

/* ---------- Pagination ---------- */
.woocommerce-pagination {
	margin: 2.5rem 0;
}

/* Top pagination (above the grid) — tighter bottom gap */
.apg-store__beforeloop + .woocommerce-pagination {
	margin: 0 0 1.5rem;
}
/* Bottom pagination (after the grid) — extra breathing room in list view */
.apg-store__grid.apg-view--list ~ .woocommerce-pagination,
.apg-store__grid.apg-view--list + .woocommerce-pagination {
	margin-top: 6rem;
}
.woocommerce-pagination .container {
	padding: 0;
	display: flex;
	justify-content: center;
}
.woocommerce-pagination ul {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .35rem;
	margin: 0;
	padding: 0;
	list-style: none;
	border: 0 !important;
}
.woocommerce-pagination ul li {
	border: 0 !important;
	margin: 0 !important;
}
/* Use ul in selector to match bootstrap's specificity (.woocommerce-pagination ul .page-numbers) */
.woocommerce-pagination ul .page-numbers {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	height: 2.5rem;
	padding: 0 .6rem;
	font-size: .95rem !important;
	font-weight: 700;
	color: var(--apg-ink) !important;
	text-decoration: none;
	background: var(--apg-surface) !important;
	border: 0 !important;
	border-radius: 999px;
	transition: none;
}
.woocommerce-pagination ul .page-numbers:hover {
	color: var(--apg-accent-dark) !important;
	background: var(--apg-surface) !important;
	transform: none;
}
.woocommerce-pagination ul .page-numbers.current,
.woocommerce-pagination ul .page-numbers.current:hover {
	background: linear-gradient(135deg, var(--apg-accent), var(--apg-accent-dark)) !important;
	color: #fff !important;
	box-shadow: 0 8px 18px rgba(255, 147, 13, .3);
}
.woocommerce-pagination ul .page-numbers i { font-size: 1rem; }
/* Override bootstrap's carousel image + font-size:0 on prev/next */
.woocommerce-pagination ul .page-numbers.prev,
.woocommerce-pagination ul .page-numbers.next {
	font-size: .95rem !important;
	background: var(--apg-surface) !important;
}

/* Style the "..." dots in pagination — no hover, no border, no background */
.woocommerce-pagination ul .page-numbers.dots {
	display: inline-flex;
	align-items: flex-end;
	justify-content: center;
	min-width: 2.6rem;
	height: 2.6rem;
	padding: 0 .4rem;
	font-size: 1rem;
	font-weight: 700;
	color: var(--apg-faint) !important;
	background: transparent !important;
	border: 0 !important;
	transform: none !important;
	box-shadow: none !important;
	pointer-events: none;
}
/* Ensure prev/next text is hidden, only icon shows */
.woocommerce-pagination .screen-reader-text {
	display: none !important;
}
.woocommerce-pagination ul .prev .fa,
.woocommerce-pagination ul .next .fa {
	font-size: 1.1rem;
}

/* ---------- Responsive toolbar ---------- */
@media (max-width: 991px) {
	.apg-store__beforeloop > .product-filter {
		position: static;
		flex-direction: column;
		align-items: stretch;
	}
	.apg-store__beforeloop > .product-filter .woocommerce-perpage,
	.apg-store__beforeloop > .product-filter .filter-ordering {
		flex-direction: column;
		align-items: stretch;
		gap: .35rem;
	}
	.apg-store__beforeloop > .product-filter .woocommerce-perpage label,
	.apg-store__beforeloop > .product-filter .filter-ordering > label {
		padding: 0 !important;
		margin: 0 !important;
	}
	.apg-store__beforeloop > .product-filter .filter-category select,
	.apg-store__beforeloop > .product-filter .filter-ordering select { width: 100%; min-width: 0; }
	.apg-store__beforeloop > .product-filter .container { flex-direction: column; align-items: stretch; gap: .5rem; }
}

@media (max-width: 575px) {
	.apg-store__hero { padding: 1.25rem 0 1rem; }
	.apg-store__helpers a { font-size: .82rem; }
}

/* ---------- Entrance animation ---------- */
@keyframes apgStoreFadeUp {
	from { opacity: 0; transform: translateY(14px); }
	to   { opacity: 1; transform: translateY(0); }
}
.apg-store__grid .single-product {
	animation: apgStoreFadeUp .5s var(--apg-ease) both;
}
.apg-store__grid .single-product:nth-child(1)  { animation-delay: .03s; }
.apg-store__grid .single-product:nth-child(2)  { animation-delay: .07s; }
.apg-store__grid .single-product:nth-child(3)  { animation-delay: .11s; }
.apg-store__grid .single-product:nth-child(4)  { animation-delay: .15s; }
.apg-store__grid .single-product:nth-child(5)  { animation-delay: .19s; }
.apg-store__grid .single-product:nth-child(6)  { animation-delay: .23s; }
.apg-store__grid .single-product:nth-child(7)  { animation-delay: .27s; }
.apg-store__grid .single-product:nth-child(8)  { animation-delay: .31s; }

@media (prefers-reduced-motion: reduce) {
	.apg-store__grid .single-product { animation: none; }
	.apg-store__grid a.woocommerce-LoopProduct-link:hover img { transform: none; }
}

/*--------------------------------------------------------------
  Active filter chip
--------------------------------------------------------------*/
.apg-store__active-filter {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem;
	margin: 0 0 1.25rem;
}
.apg-filter-chip {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	padding: .4rem .8rem .4rem 1rem;
	font-size: .85rem;
	font-weight: 600;
	color: var(--apg-ink);
	background: var(--apg-surface);
	border: 1px solid var(--apg-accent);
	border-radius: 999px;
	box-shadow: 0 2px 8px rgba(255, 147, 13, .12);
}
.apg-filter-chip a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	color: var(--apg-muted);
	text-decoration: none;
	background: var(--apg-surface-3);
	font-size: .7rem;
	transition: color .18s var(--apg-ease), background .18s var(--apg-ease);
}
.apg-filter-chip a:hover {
	color: #fff;
	background: var(--apg-accent-dark);
}

/*--------------------------------------------------------------
  Grid / List view toggle
--------------------------------------------------------------*/
.apg-view-toggle {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	margin-left: auto;
	padding: 2px;
	background: var(--apg-surface-3);
	border-radius: 999px;
}
.apg-view-toggle__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--apg-muted);
	cursor: pointer;
	font-size: .85rem;
	transition: color .18s var(--apg-ease), background .18s var(--apg-ease);
}
.apg-view-toggle__btn:hover {
	color: var(--apg-ink);
}
.apg-view-toggle__btn.is-active {
	background: var(--apg-surface);
	color: var(--apg-accent-dark);
	box-shadow: var(--apg-shadow-sm);
}
/* Hide grid/list toggle on mobile — only grid view on small screens */
@media (max-width: 767px) {
	.apg-view-toggle { display: none !important; }
}

/* List view layout — full width rows with image, title, category, price */
/* Override .row flex behavior on product-list */
.apg-store__grid.apg-view--list .product-list {
	display: block !important;
	margin: 0 !important;
}
/* Hide the loading div so it doesn't interfere with flex gap */
.apg-store__grid.apg-view--list .product-list .loading {
	display: none !important;
}
.apg-store__grid.apg-view--list .product-list .container {
	display: flex !important;
	flex-direction: column;
	gap: 5rem !important;
	max-width: 100% !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}
.apg-store__grid.apg-view--list .product-list .container .single-product {
	width: 100% !important;
	max-width: 100% !important;
	padding: 0 !important;
	flex: 0 0 auto;
}
.apg-store__grid.apg-view--list .single-product .apg-card {
	display: flex;
	align-items: stretch;
	width: 100%;
}
.apg-store__grid.apg-view--list .apg-card > a.woocommerce-LoopProduct-link {
	flex-direction: row !important;
	align-items: center;
	flex-wrap: nowrap;
	width: 100%;
	min-height: 130px;
	padding: .75rem !important;
	overflow: hidden !important;
}
.apg-store__grid.apg-view--list .apg-card a.woocommerce-LoopProduct-link figure,
.apg-store__grid.apg-view--list .apg-card a.woocommerce-LoopProduct-link .woocommerce-product-gallery__image {
	flex: 0 0 140px;
	width: 140px;
	max-width: 140px;
	height: 130px;
	aspect-ratio: auto;
	border-bottom: 0;
	border-right: 1px solid var(--apg-line);
	padding: .75rem;
	margin: 0;
}
/* Title + SKU wrapper — stacks vertically in list view */
.apg-store__grid.apg-view--list .apg-card .apg-card__titlewrap {
	flex: 1 1 180px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	padding: .5rem 1.25rem;
}
.apg-store__grid.apg-view--list .apg-card .apg-card__titlewrap h4,
.apg-store__grid.apg-view--list .apg-card .apg-card__titlewrap h2,
.apg-store__grid.apg-view--list .apg-card .apg-card__titlewrap .woocommerce-loop-product__title {
	flex: 0 0 auto;
	min-width: 0;
	padding: 0 0 .1rem;
	margin: 0 !important;
	font-size: 1.2rem !important;
	text-align: left;
	white-space: normal;
	word-break: break-word;
}
.apg-store__grid.apg-view--list .apg-card .apg-card__sku {
	display: block;
	flex: 0 0 auto;
	min-width: 0;
	padding: 0;
	margin: 0;
	font-size: .85rem;
	font-weight: 600;
	color: var(--apg-faint);
	text-align: left;
	white-space: nowrap;
}
.apg-store__grid.apg-view--list .apg-card .apg-card__desc {
	flex: 0 0 auto;
	min-width: 0;
	max-height: 4.5rem;
	padding: .25rem 0 0;
	margin: 0;
	font-size: .85rem;
	line-height: 1.5;
	color: var(--apg-muted);
	text-align: left;
	white-space: normal;
	word-break: break-word;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	-webkit-box-orient: vertical;
}
.apg-store__grid.apg-view--list .apg-card .apg-card__desc p {
	margin: 0 0 .2rem;
}
.apg-store__grid.apg-view--list .apg-card .apg-card__category {
	flex: 0 1 160px;
	min-width: 0;
	padding: 0 1.25rem;
	margin: 0;
	text-align: left;
	white-space: normal;
	word-break: break-word;
}
.apg-store__grid.apg-view--list .apg-card a.woocommerce-LoopProduct-link .price,
.apg-store__grid.apg-view--list .apg-card a.woocommerce-LoopProduct-link span.price {
	flex: 0 0 auto;
	min-width: 0;
	padding: .5rem 1.75rem .5rem 1rem;
	font-size: 1.2rem !important;
	white-space: nowrap;
	justify-content: flex-end;
}

/* Force grid view on mobile — list view toggle is hidden, reset list styles */
@media (max-width: 767px) {
	.apg-store__grid.apg-view--list .product-list .container {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 1rem !important;
	}
	.apg-store__grid.apg-view--list .product-list .container .single-product {
		width: auto !important;
	}
	.apg-store__grid.apg-view--list .apg-card > a.woocommerce-LoopProduct-link {
		flex-direction: column !important;
		flex-wrap: nowrap;
		align-items: stretch;
		min-height: auto;
		overflow: hidden !important;
	}
	.apg-store__grid.apg-view--list .apg-card a.woocommerce-LoopProduct-link figure,
	.apg-store__grid.apg-view--list .apg-card a.woocommerce-LoopProduct-link .woocommerce-product-gallery__image {
		flex: 1 1 auto;
		width: 100%;
		max-width: 100%;
		height: auto;
		aspect-ratio: 1 / 1;
		border-right: 0;
		border-bottom: 1px solid var(--apg-line);
	}
	.apg-store__grid.apg-view--list .apg-card a.woocommerce-LoopProduct-link h4,
	.apg-store__grid.apg-view--list .apg-card a.woocommerce-LoopProduct-link h2,
	.apg-store__grid.apg-view--list .apg-card a.woocommerce-LoopProduct-link .woocommerce-loop-product__title {
		flex: 0 0 auto;
		text-align: center;
		padding: .85rem 1.1rem .2rem;
		font-size: 1.15rem !important;
	}
	.apg-store__grid.apg-view--list .apg-card .apg-card__category {
		flex: 0 0 auto;
		text-align: center;
		padding: 0 1.1rem;
		min-width: 0;
	}
	.apg-store__grid.apg-view--list .apg-card a.woocommerce-LoopProduct-link .price,
	.apg-store__grid.apg-view--list .apg-card a.woocommerce-LoopProduct-link span.price {
		flex: 0 0 auto;
		justify-content: center;
		padding: .1rem 1.1rem 1.1rem;
		font-size: 1.15rem !important;
	}
}
