/* Fast Shop — visual clone of the Minimal Shop (archive-product-minimal.php inline <style>, copied verbatim).
   Served as a static, versioned, browser-cacheable file instead of ~28KB inline on every page. */
	.minimal-shop-page {
		--mp-bg: #ffffff;
		--mp-bg-soft: var(--a-soft, #f4f6f8);
		--mp-border: var(--a-border, #e4e7ec);
		--mp-text: var(--a-text, #1d2939);
		--mp-muted: var(--a-muted, #667085);
		--mp-accent: #005d7c;
		--mp-accent-warm: #e77103;
		--mp-radius: 8px;
		--mp-radius-sm: 8px;

		max-width: 1300px;
		margin: 0 auto;
		padding: 1.5rem 1rem 4rem;
		color: var(--mp-text);
	}

	/* Layout */
	.minimal-shop-page__layout {
		display: grid;
		grid-template-columns: 1fr;
		gap: 0.5rem;
		align-items: start;
	}

	@media (min-width: 992px) {
		.minimal-shop-page__layout {
			grid-template-columns: 292px 1fr;
		}
	}

	/* Sidebar */
	.minimal-shop-sidebar {
		background: transparent;
		display: flex;
		flex-direction: column;
		gap: 0.85rem;
	}

	.minimal-shop-sidebar__header {
		display: none;
	}

	.minimal-shop-sidebar__overlay {
		display: none;
	}

	.minimal-filter-block {
		background: var(--mp-bg);
		border: 1px solid var(--mp-border);
		border-radius: var(--mp-radius);
		padding: 1rem 1.1rem;
	}

	.minimal-filter-block > details > summary {
		font-size: 0.85rem;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.04em;
		color: var(--mp-text);
		cursor: pointer;
		list-style: none;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0.5rem;
		transition: color 0.15s ease;
	}

	.minimal-filter-block > details > summary:hover {
		color: var(--mp-accent);
	}

	.minimal-filter-block > details[open] > summary {
		margin-bottom: 0.85rem;
	}

	.minimal-filter-block > details > summary::-webkit-details-marker,
	.minimal-filter-block > details > summary::marker {
		display: none;
	}

	.minimal-filter-block > details > summary::after {
		content: '›';
		display: inline-block;
		font-weight: 400;
		font-size: 1.4rem;
		line-height: 1;
		color: var(--mp-muted);
		flex-shrink: 0;
		transform: rotate(90deg);
		transition: transform 0.2s ease;
	}

	.minimal-filter-block > details[open] > summary::after {
		transform: rotate(-90deg);
	}

	/* Category tree */
	.minimal-cat-tree,
	.minimal-cat-tree__children {
		list-style: none;
		margin: 0;
		padding: 0;
	}

	.minimal-cat-tree__children {
		padding-left: 1rem;
		margin-top: 0.4rem;
	}

	.minimal-cat-tree__item {
		margin: 0.35rem 0;
	}

	.minimal-cat-tree a {
		color: var(--mp-text);
		text-decoration: none;
		font-size: 0.85rem;
	}

	.minimal-cat-tree a:hover {
		color: var(--mp-accent);
	}

	.minimal-cat-tree__item.is-active > a {
		color: var(--mp-accent);
		font-weight: 700;
	}

	.minimal-cat-tree__count {
		display: inline-block;
		margin-left: 0.3rem;
		color: var(--mp-muted);
		font-size: 0.72rem;
		background: var(--mp-bg-soft);
		border: 1px solid var(--mp-border);
		border-radius: 999px;
		padding: 0.05rem 0.45rem;
	}

	.minimal-cat-tree details > summary {
		cursor: pointer;
		list-style: none;
		display: flex;
		align-items: center;
		gap: 0.35rem;
	}

	.minimal-cat-tree details > summary::-webkit-details-marker,
	.minimal-cat-tree details > summary::marker {
		display: none;
	}

	.minimal-cat-tree details > summary > a {
		flex: 1;
		min-width: 0;
	}

	.minimal-cat-tree details > summary::after {
		content: '›';
		display: inline-block;
		font-weight: 400;
		font-size: 1.1rem;
		color: var(--mp-muted);
		flex-shrink: 0;
		transform: rotate(90deg);
		transition: transform 0.2s ease;
	}

	.minimal-cat-tree details[open] > summary::after {
		transform: rotate(-90deg);
	}

	.minimal-cat-back {
		display: inline-flex;
		align-items: center;
		gap: 0.35rem;
		font-size: 0.8rem;
		color: var(--mp-muted);
		text-decoration: none;
		margin-bottom: 0.5rem;
		font-weight: 500;
		transition: color 0.15s;
	}

	.minimal-cat-back:hover {
		color: var(--mp-accent);
	}

	.minimal-cat-tree-scroll {
		overflow-x: hidden;
		overflow-y: auto;
	}

	/* Brand search input */
	.minimal-brand-search {
		display: block;
		width: 100%;
		margin: 0 0 0.6rem;
		padding: 0.35rem 0.65rem;
		font-size: 0.82rem;
		color: var(--mp-text);
		background: var(--mp-bg-soft);
		border: 1px solid var(--mp-border);
		border-radius: var(--mp-radius-sm);
		outline: none;
		box-sizing: border-box;
	}

	.minimal-brand-search::placeholder {
		color: var(--mp-muted);
	}

	/* Price slider */
	.minimal-price-slider {
		position: relative;
		height: 16px;
		margin: 0.3rem 0.4rem 1rem;
	}

	.minimal-price-slider__track {
		position: absolute;
		top: 50%;
		left: 0;
		right: 0;
		height: 4px;
		margin-top: -2px;
		background: var(--mp-border);
		border-radius: 999px;
	}

	.minimal-price-slider__range {
		position: absolute;
		top: 0;
		height: 100%;
		left: 0;
		right: 0;
		background: var(--mp-accent);
		border-radius: 999px;
	}

	.minimal-price-slider__input {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 16px;
		margin: 0;
		background: transparent;
		pointer-events: none;
		-webkit-appearance: none;
		appearance: none;
	}

	.minimal-price-slider__input:focus {
		outline: none;
	}

	.minimal-price-slider__input--max {
		z-index: 2;
	}

	.minimal-price-slider__input::-webkit-slider-runnable-track {
		background: transparent;
		border: none;
	}

	.minimal-price-slider__input::-moz-range-track {
		background: transparent;
		border: none;
	}

	.minimal-price-slider__input::-webkit-slider-thumb {
		pointer-events: auto;
		-webkit-appearance: none;
		appearance: none;
		width: 16px;
		height: 16px;
		border-radius: 50%;
		background: #fff;
		border: 2px solid var(--mp-accent);
		box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
		cursor: pointer;
	}

	.minimal-price-slider__input::-moz-range-thumb {
		pointer-events: auto;
		width: 16px;
		height: 16px;
		border-radius: 50%;
		background: #fff;
		border: 2px solid var(--mp-accent);
		box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
		cursor: pointer;
	}

	.minimal-price-slider__input:focus-visible::-webkit-slider-thumb {
		outline: 2px solid var(--mp-accent);
		outline-offset: 2px;
	}

	.minimal-price-slider__input:focus-visible::-moz-range-thumb {
		outline: 2px solid var(--mp-accent);
		outline-offset: 2px;
	}

	/* Price range */
	.minimal-price-range {
		position: relative;
		z-index: 5;
		display: flex;
		align-items: center;
		gap: 0.4rem;
		margin-top: 0.75rem;
		margin-bottom: 0.25rem;
	}


	.minimal-price-range__field {
		display: flex;
		align-items: center;
		flex: 1;
		min-width: 0;
		background: var(--mp-bg-soft);
		border: 1.5px solid var(--mp-border);
		border-radius: var(--mp-radius-sm);
		padding: 0 0.5rem;
		height: 36px;
		transition: border-color 0.15s;
	}

	.minimal-price-range__field:focus-within {
		border-color: var(--mp-border);
		background: #fff;
	}

	.minimal-price-range__currency {
		font-size: 0.75rem;
		color: var(--mp-muted);
		flex-shrink: 0;
		line-height: 1;
		padding-right: 2px;
	}

	.minimal-price-range input[type="number"] {
		width: 100%;
		min-width: 0;
		border: none;
		padding: 0;
		margin: 0;
		background: none;
		box-shadow: none;
		font-size: 0.85rem;
		font-weight: 500;
		color: var(--mp-text);
		line-height: 1;
		-moz-appearance: textfield;
		appearance: textfield;
	}

	.minimal-price-range input[type="number"]:focus,
	.minimal-price-range input[type="number"]:focus-visible {
		outline: none !important;
		box-shadow: none !important;
		border: none !important;
	}

	.minimal-price-range input[type="number"]::-webkit-outer-spin-button,
	.minimal-price-range input[type="number"]::-webkit-inner-spin-button {
		-webkit-appearance: none;
		margin: 0;
	}

	.minimal-price-range__sep {
		color: var(--mp-muted);
		font-size: 0.8rem;
		flex-shrink: 0;
		line-height: 1;
	}

	/* Checkbox-style filter options */
	.minimal-filter-options {
		list-style: none;
		margin: 0;
		padding: 0;
		max-height: 240px;
		overflow-x: hidden;
		overflow-y: auto;
	}

	.minimal-filter-options li {
		margin: 0.15rem 0;
	}

	.minimal-filter-option {
		display: flex;
		align-items: center;
		gap: 0.55rem;
		font-size: 0.85rem;
		color: var(--mp-text);
		text-decoration: none;
		padding: 0.3rem 0.35rem;
		margin: 0 -0.35rem;
		border-radius: 6px;
		transition: background-color 0.15s ease;
	}

	.minimal-filter-option:hover {
		background-color: var(--mp-bg-soft);
	}

	.minimal-checkbox {
		width: 16px;
		height: 16px;
		flex-shrink: 0;
		border: 1.5px solid var(--mp-border);
		border-radius: 4px;
		position: relative;
		transition: border-color 0.15s ease, background 0.15s ease;
	}

	.minimal-filter-option.is-active .minimal-checkbox {
		background: var(--mp-accent);
		border-color: var(--mp-accent);
	}

	.minimal-filter-option.is-active .minimal-checkbox::after {
		content: '';
		position: absolute;
		left: 4px;
		top: 1px;
		width: 4px;
		height: 8px;
		border: solid #fff;
		border-width: 0 2px 2px 0;
		transform: rotate(45deg);
	}

	.minimal-filter-option__label {
		flex: 1;
	}

	.minimal-filter-option__count {
		color: var(--mp-muted);
		font-size: 0.72rem;
		background: var(--mp-bg-soft);
		border: 1px solid var(--mp-border);
		border-radius: 999px;
		padding: 0.05rem 0.45rem;
	}

	.minimal-filter-option:hover .minimal-checkbox {
		border-color: var(--mp-accent);
	}

	/* Active filter chips */
	.minimal-shop-subbar {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 0.75rem;
		margin: -0.75rem 0 1.25rem;
	}

	.minimal-active-filters {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 0.5rem;
	}

	.minimal-active-filters__chip {
		display: inline-flex;
		align-items: center;
		gap: 0.35rem;
		background: var(--mp-bg-soft);
		border: 1px solid var(--mp-border);
		border-radius: 999px;
		padding: 0.3rem 0.7rem;
		font-size: 0.78rem;
		text-decoration: none;
		color: var(--mp-text);
	}

	.minimal-active-filters__chip:hover {
		border-color: var(--mp-accent);
		color: var(--mp-accent);
	}

	.minimal-active-filters__clear {
		display: inline-block;
		font-size: 0.78rem;
		color: var(--mp-muted);
		text-decoration: underline;
	}

	.minimal-active-filters__clear:hover {
		color: var(--mp-accent);
	}

	/* Toolbar */
	.minimal-shop-toolbar {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 1rem;
		flex-wrap: wrap;
		margin-bottom: 1.5rem;
		padding: 0.85rem 1.1rem;
		background: var(--mp-bg);
		border: 1px solid var(--mp-border);
		border-radius: var(--mp-radius);
	}

	.minimal-shop-toolbar__count {
		margin: 0 0 0 auto;
		font-size: 0.85rem;
		color: var(--mp-muted);
		white-space: nowrap;
	}

	.minimal-shop-toolbar__sort {
		order: 3;
		margin: 0;
	}

	.minimal-shop-toolbar__sort select {
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		margin: 0;
		border: 1.5px solid var(--mp-border);
		border-radius: var(--mp-radius-sm);
		padding: 0.4rem 1.8rem 0.4rem 0.8rem;
		font-size: 0.85rem;
		color: var(--mp-text);
		box-shadow: none;
		background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") no-repeat right 0.6rem center / 14px 14px;
		cursor: pointer;
		transition: border-color 0.15s ease;
	}

	.minimal-shop-toolbar__sort select:hover {
		border-color: var(--mp-accent);
	}

	.minimal-shop-toolbar__filter-btn {
		display: none;
		align-items: center;
		gap: 0.4rem;
		border: 1.5px solid var(--mp-border);
		background: #fff;
		border-radius: var(--mp-radius-sm);
		padding: 0.45rem 0.9rem;
		font-size: 0.85rem;
		font-weight: 700;
		color: var(--mp-text);
		cursor: pointer;
		order: 1;
	}

	.minimal-shop-toolbar__instock {
		display: inline-flex;
		align-items: center;
		gap: 0.4rem;
		font-size: 0.82rem;
		font-weight: 600;
		color: var(--mp-text);
		text-decoration: none;
		white-space: nowrap;
	}

	.minimal-shop-toolbar__instock .minimal-checkbox {
		width: 15px;
		height: 15px;
	}

	.minimal-shop-toolbar__instock.is-active .minimal-checkbox {
		background: var(--mp-accent);
		border-color: var(--mp-accent);
	}

	.minimal-shop-toolbar__instock.is-active .minimal-checkbox::after {
		content: '';
		position: absolute;
		left: 4px;
		top: 1px;
		width: 4px;
		height: 7px;
		border: solid #fff;
		border-width: 0 2px 2px 0;
		transform: rotate(45deg);
	}

	.minimal-shop-toolbar__instock:hover .minimal-checkbox {
		border-color: var(--mp-accent);
	}

	.minimal-shop-toolbar__filter-count {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 18px;
		height: 18px;
		padding: 0 5px;
		border-radius: 999px;
		background: var(--mp-accent);
		color: #fff;
		font-size: 0.7rem;
		font-weight: 700;
	}

	/* Grid + cards */
	.minimal-shop-page__grid {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
		list-style: none;
		margin: 0 0 2rem;
		padding: 0;
	}

	@media (min-width: 640px) {
		.minimal-shop-page__grid {
			grid-template-columns: repeat(3, 1fr);
		}
	}

	@media (min-width: 992px) {
		.minimal-shop-page__grid {
			grid-template-columns: repeat(4, 1fr);
		}
	}

	.minimal-shop__card {
		background: var(--mp-bg);
		border: 1px solid var(--mp-border);
		border-radius: var(--mp-radius);
		overflow: hidden;
		display: flex;
		flex-direction: column;
		box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
		transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
	}

	.minimal-shop__card:hover {
		border-color: #dcdce2;
		box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
		transform: translateY(-3px);
	}

	.minimal-shop__link {
		display: flex;
		flex-direction: column;
		flex: 1;
		text-decoration: none;
		color: inherit;
	}

	.minimal-shop__image {
		position: relative;
		aspect-ratio: 1 / 1;
		background: #fff;
		overflow: hidden;
	}


	.minimal-shop__image img {
		width: 100%;
		height: 100%;
		object-fit: contain;
		padding: 14px;
		display: block;
		position: relative;
		z-index: 2;
	}

	.minimal-shop__card.outofstock .minimal-shop__image img {
		opacity: 0.45;
		filter: grayscale(0.2);
	}

	.minimal-shop__badge {
		position: absolute;
		top: 10px;
		left: 10px;
		z-index: 2;
		font-size: 0.72rem;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.03em;
		padding: 4px 10px;
		border-radius: 999px;
		color: #fff;
	}

	.minimal-shop__badge--sale {
		background: var(--mp-accent-warm);
	}

	.minimal-shop__badge--new {
		background: #0e9f6e;
	}

	.minimal-shop__badge--stock {
		background: var(--mp-muted);
	}

	.minimal-shop__title {
		width: auto;
		font-size: 0.9rem;
		font-weight: 600;
		line-height: 1.4;
		margin: 14px 16px 6px;
		color: var(--mp-text);
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
		min-height: 2.58em;
	}

	.minimal-shop__rating {
		margin: 0 16px 6px;
		line-height: 1;
	}

	.minimal-shop__rating .star-rating {
		font-size: 0.8rem;
		margin: 0;
	}

	.minimal-shop__footer {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0.5rem;
		margin-top: auto;
		padding: 8px 14px 14px;
	}

	.minimal-shop__price {
		font-size: 1.1rem;
		font-weight: 800;
		min-width: 0;
		color: var(--mp-text);
	}

	.minimal-shop__price del {
		color: var(--mp-muted);
		font-weight: 400;
		margin-right: 6px;
		text-decoration: line-through;
	}

	.minimal-shop__price ins {
		text-decoration: none;
		color: var(--mp-accent);
	}

	.minimal-shop__action {
		position: relative;
		flex-shrink: 0;
	}

	.minimal-shop__action .button {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 38px;
		height: 38px;
		padding: 0;
		border-radius: var(--mp-radius-sm);
		border: 1.5px solid var(--mp-border);
		background: #fff;
		color: var(--mp-text);
		font-size: 0;
		line-height: 0;
		text-decoration: none;
		transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
	}

	.minimal-shop__action .add_to_cart_button::before,
	.minimal-shop__action .button:not(.add_to_cart_button)::before {
		content: '';
		width: 16px;
		height: 16px;
		flex-shrink: 0;
		background-color: currentColor;
	}

	.minimal-shop__action .add_to_cart_button::before {
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E") no-repeat center / contain;
		mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E") no-repeat center / contain;
	}

	.minimal-shop__action .button:not(.add_to_cart_button)::before {
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12 5 19 12 12 19'/%3E%3C/svg%3E") no-repeat center / contain;
		mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12 5 19 12 12 19'/%3E%3C/svg%3E") no-repeat center / contain;
	}

	.minimal-shop__action .button.loading::before {
		display: none;
	}

	.minimal-shop__action .button:hover {
		border-color: var(--mp-accent);
		background: var(--mp-accent);
		color: #fff;
	}

	.minimal-shop__action .added_to_cart {
		display: none;
	}

	/* Pagination */
	.minimal-shop-page .woocommerce-pagination {
		display: flex;
		justify-content: center;
		margin-top: 1rem;
	}

	.minimal-shop-page .woocommerce-pagination ul {
		display: flex;
		gap: 6px;
		list-style: none;
		padding: 0;
		margin: 0;
		flex-wrap: wrap;
	}

	.minimal-shop-page .woocommerce-pagination .page-number {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 38px;
		height: 38px;
		padding: 0 10px;
		border: 1.5px solid var(--mp-border);
		border-radius: var(--mp-radius-sm);
		text-decoration: none;
		color: var(--mp-text);
		font-size: 0.85rem;
		font-weight: 600;
	}

	.minimal-shop-page .woocommerce-pagination .page-number.current,
	.minimal-shop-page .woocommerce-pagination a.page-number:hover {
		border-color: var(--mp-accent);
		background: var(--mp-accent);
		color: #fff;
	}

	.minimal-shop-page .woocommerce-info {
		grid-column: 1 / -1;
		border: 1px solid var(--mp-border);
		border-radius: var(--mp-radius-sm);
		padding: 1rem 1.25rem;
		background: var(--mp-bg-soft);
		color: var(--mp-text);
		list-style: none;
	}

	/* Responsive */
	@media (max-width: 600px) {
		.minimal-shop-page {
			padding: 1.25rem 0.75rem 3rem;
		}

		.minimal-shop-page__grid {
			gap: 10px;
			grid-template-columns: repeat(2, 1fr);
		}

		.minimal-shop-toolbar__count {
			width: 100%;
			margin-left: 0;
			text-align: right;
			white-space: normal;
		}

		.minimal-shop-toolbar {
			gap: 0.6rem 0.75rem;
		}

		.minimal-shop-toolbar__filter-btn,
		.minimal-shop-toolbar__instock {
			flex: 0 0 auto;
		}

		.minimal-shop-toolbar__sort {
			flex: 1 1 100%;
			order: 4;
		}

		.minimal-shop-toolbar__sort select {
			width: 100%;
		}
	}

	/* Mobile off-canvas sidebar */
	@media (max-width: 991px) {
		.minimal-shop-toolbar__filter-btn {
			display: flex;
		}

		.minimal-shop-sidebar {
			position: fixed;
			top: 0;
			left: 0;
			bottom: 0;
			width: min(320px, 85vw);
			background: #ffffff;
			z-index: 1100;
			transform: translateX(-100%);
			transition: transform 0.25s ease;
			overflow-y: auto;
			padding: 1rem;
			/* box-shadow: 4px 0 24px rgba(0, 0, 0, 0.12); */
		}

		.minimal-shop-sidebar.is-open {
			transform: translateX(0);
		}

		.minimal-shop-sidebar__header {
			display: flex;
			align-items: center;
			/* justify-content: space-between; */
			/* margin-bottom: 1.25rem; */
			/* padding-bottom: 1rem; */
			/* border-bottom: 1px solid var(--mp-border); */
		}

		.minimal-shop-sidebar__header h2 {
			margin: 0;
			font-size: 1.1rem;
			font-weight: 800;
		}

		.minimal-shop-sidebar__close {
			border: none;
			background: none;
			line-height: 1;
			cursor: pointer;
			color: var(--mp-text);
			padding: 0;
			margin: 0;
		}

		.minimal-shop-sidebar__overlay.is-visible {
			display: block;
			position: fixed;
			inset: 0;
			background: rgba(0, 0, 0, 0.4);
			z-index: 1090;
		}
	}

	@media (min-width: 992px) {
		.minimal-shop-sidebar {
			position: sticky;
			top: 20px;
			padding-right: 0.5rem;
		}
	}

	body.minimal-shop-no-scroll {
		overflow: hidden;
	}

	/* Add-to-cart AJAX feedback */
	.minimal-shop__action .button.loading {
		color: transparent !important;
		pointer-events: none;
		position: relative;
	}

	.minimal-shop__action .button.loading::after {
		content: '';
		position: absolute;
		top: 50%;
		left: 50%;
		width: 16px;
		height: 16px;
		margin: -8px 0 0 -8px;
		border: 2px solid rgba(0, 0, 0, 0.15);
		border-top-color: var(--mp-accent);
		border-radius: 50%;
		animation: minimal-shop-spin 0.6s linear infinite;
	}

	.minimal-shop__action .button.added {
		border-color: var(--mp-accent);
		background: var(--mp-accent);
		color: #fff;
	}

	@keyframes minimal-shop-spin {
		to { transform: rotate(360deg); }
	}

	@keyframes minimal-shop-shimmer {
		0%   { background-position:  200% 0; }
		100% { background-position: -200% 0; }
	}

	/* Accessible keyboard focus — simple border-color only (Flatsome disables :focus-visible globally) */
	.minimal-shop-page a:focus-visible,
	.minimal-shop-page button:focus-visible,
	.minimal-shop-page select:focus-visible,
	.minimal-shop-page input:focus-visible,
	.minimal-shop-page summary:focus-visible {
		outline: none !important;
		box-shadow: none !important;
		border-color: var(--mp-accent) !important;
	}

	/* Respect reduced-motion preference */
	@media (prefers-reduced-motion: reduce) {
		.minimal-shop-page *,
		.minimal-shop-page *::before,
		.minimal-shop-page *::after {
			transition-duration: 0.01ms !important;
			animation-duration: 0.01ms !important;
			animation-iteration-count: 1 !important;
		}
	}

	/* Recently viewed strip */
	.minimal-recently-viewed {
		margin-top: 2.5rem;
		padding-top: 1.5rem;
		border-top: 1px solid var(--mp-border);
	}

	.minimal-recently-viewed[hidden] {
		display: none;
	}

	.minimal-recently-viewed__title {
		margin: 0 0 1rem;
		font-size: 1.1rem;
		font-weight: 800;
		color: var(--mp-text);
	}

	.minimal-recently-viewed__list {
		display: flex;
		gap: 10px;
		overflow-x: auto;
		padding-bottom: 4px;
		scrollbar-width: thin;
	}

	.minimal-recently-viewed__item {
		flex: 0 0 140px;
		display: flex;
		flex-direction: column;
		text-decoration: none;
		color: inherit;
		background: var(--mp-bg);
		border: 1px solid var(--mp-border);
		border-radius: var(--mp-radius-sm);
		overflow: hidden;
		transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
	}

	.minimal-recently-viewed__item:hover {
		border-color: #dcdce2;
		box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
		transform: translateY(-2px);
	}

	.minimal-recently-viewed__item-image {
		aspect-ratio: 1 / 1;
		background: #fff;
	}

	.minimal-recently-viewed__item-image img {
		width: 100%;
		height: 100%;
		object-fit: contain;
		padding: 10px;
		display: block;
	}

	.minimal-recently-viewed__item-title {
		margin: 0;
		padding: 0 10px;
		font-size: 0.8rem;
		font-weight: 600;
		line-height: 1.4;
		color: var(--mp-text);
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
		min-height: 2.24em;
	}

	.minimal-recently-viewed__item-price {
		margin: 4px 10px 10px;
		font-size: 0.85rem;
		font-weight: 800;
		color: var(--mp-text);
	}

	.minimal-recently-viewed__item-price del {
		color: var(--mp-muted);
		font-weight: 400;
		margin-right: 4px;
		text-decoration: line-through;
	}

	.minimal-recently-viewed__item-price ins {
		text-decoration: none;
		color: var(--mp-accent);
	}

	@media (max-width: 600px) {
		.minimal-recently-viewed__item {
			flex: 0 0 110px;
		}
	}

	/* No-results empty state */
	.minimal-no-results {
		text-align: center;
		padding: 4rem 2rem;
		color: var(--mp-muted);
	}

	.minimal-no-results__icon {
		width: 56px;
		height: 56px;
		opacity: 0.25;
		margin-bottom: 1rem;
	}

	.minimal-no-results__title {
		font-size: 1.15rem;
		font-weight: 700;
		color: var(--mp-text);
		margin: 0 0 0.5rem;
	}

	.minimal-no-results__text {
		font-size: 0.875rem;
		margin: 0 0 1.5rem;
	}

	.minimal-no-results__cta {
		display: inline-block;
		padding: 0.55rem 1.4rem;
		background: var(--mp-accent);
		color: #fff;
		border-radius: var(--mp-radius-sm);
		text-decoration: none;
		font-size: 0.85rem;
		font-weight: 600;
		transition: filter 0.2s ease;
	}

	.minimal-no-results__cta:hover {
		filter: brightness(1.1);
		color: #fff;
	}

	/* Back-to-top button */
	.minimal-back-to-top {
		position: fixed;
		bottom: 1.75rem;
		right: 1.5rem;
		z-index: 999;
		width: 42px;
		height: 42px;
		border-radius: 50%;
		background: var(--mp-accent);
		color: #fff;
		border: none;
		cursor: pointer;
		display: flex;
		align-items: center;
		justify-content: center;
		box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
		opacity: 0;
		transform: translateY(8px);
		transition: opacity 0.25s ease, transform 0.25s ease;
		pointer-events: none;
	}

	.minimal-back-to-top.is-visible {
		opacity: 1;
		transform: translateY(0);
		pointer-events: auto;
	}

	.minimal-back-to-top:hover {
		filter: brightness(1.12);
	}

	/* ── AJAX loading state ─────────────────────────────────────────── */
	/* Product grid shows skeleton cards instead of dimming (see fsShopRenderSkeleton) —
	   reuses the same shimmer gradient/animation as the real card image placeholder. */
	.minimal-shop__skel-shimmer {
		background: linear-gradient(
			90deg,
			var(--mp-bg-soft) 0%,
			var(--mp-border) 40%,
			var(--mp-bg-soft) 80%
		);
		background-size: 200% 100%;
		animation: minimal-shop-shimmer 1.4s ease-in-out infinite;
	}

	.minimal-shop__skel-card {
		background: var(--mp-bg);
		border: 1px solid var(--mp-border);
		border-radius: var(--mp-radius);
		overflow: hidden;
		display: flex;
		flex-direction: column;
	}

	.minimal-shop__skel-image {
		aspect-ratio: 1 / 1;
	}

	.minimal-shop__skel-line {
		border-radius: 4px;
		height: 11px;
	}

	.minimal-shop__skel-line--title1 {
		margin: 14px 16px 8px;
		width: 88%;
	}

	.minimal-shop__skel-line--title2 {
		margin: 0 16px 16px;
		width: 55%;
	}

	.minimal-shop__skel-footer {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0.5rem;
		margin-top: auto;
		padding: 8px 14px 14px;
	}

	.minimal-shop__skel-line--price {
		width: 64px;
		height: 18px;
	}

	.minimal-shop__skel-action {
		width: 38px;
		height: 38px;
		border-radius: var(--mp-radius-sm);
		flex-shrink: 0;
	}

	/* Sidebar facets resolve slightly after the grid (see fsShopNavigate) — dim
	   just the filter content while they refresh so it reads as "updating",
	   not stuck. Header (title + close button) stays interactive throughout. */
	.minimal-shop-sidebar.is-ajax-loading > *:not(.minimal-shop-sidebar__header) {
		opacity: 0.45;
		pointer-events: none;
		transition: opacity 0.15s;
	}

	/* ── RTL layout support ─────────────────────────────────────────── */
	[dir="rtl"] .minimal-shop__badge {
		left: auto;
		right: 10px;
	}

	[dir="rtl"] .minimal-shop-toolbar__count {
		margin: 0 auto 0 0;
	}

	[dir="rtl"] .minimal-shop-toolbar__sort select {
		padding: 0.4rem 0.8rem 0.4rem 1.8rem;
		background-position: left 0.6rem center;
	}

	[dir="rtl"] .minimal-cat-back svg {
		transform: scaleX(-1);
	}

	[dir="rtl"] .minimal-cat-tree__children {
		padding-left: 0;
		padding-right: 1rem;
	}

	[dir="rtl"] .minimal-filter-option.is-active .minimal-checkbox::after,
	[dir="rtl"] .minimal-shop-toolbar__instock.is-active .minimal-checkbox::after {
		left: auto;
		right: 4px;
	}

	[dir="rtl"] .minimal-back-to-top {
		right: auto;
		left: 1.5rem;
	}

	@media ( max-width: 991px ) {
		[dir="rtl"] .minimal-shop-sidebar {
			left: auto;
			right: 0;
			transform: translateX(100%);
			box-shadow: -4px 0 24px rgba(0,0,0,0.12);
		}

		[dir="rtl"] .minimal-shop-sidebar.is-open {
			transform: translateX(0);
		}

		[dir="rtl"] .minimal-shop-toolbar__count {
			margin: 0;
		}
	}

/* ── Fast Shop additions ─────────────────────────────────────────────── */

/* Sidebar placeholder shown until the lazily-fetched facets land. */
.minimal-shop-sidebar__skel { padding: 4px 0; }
.minimal-shop-sidebar__skel-block { margin-bottom: 22px; }
.minimal-shop-sidebar__skel-title { height: 14px; width: 45%; border-radius: 6px; margin-bottom: 14px; }
.minimal-shop-sidebar__skel-row { height: 11px; border-radius: 6px; margin-bottom: 10px; }
.minimal-shop-sidebar__skel-row:nth-child(3n)   { width: 70%; }
.minimal-shop-sidebar__skel-row:nth-child(3n+1) { width: 85%; }
.minimal-shop-sidebar__skel-row:nth-child(3n+2) { width: 60%; }

/* Cards past the first two rows: skip layout/paint until scrolled near. */
.minimal-shop-page__grid > .minimal-shop__card:nth-child(n+9) {
	content-visibility: auto;
	contain-intrinsic-size: auto 380px;
}
