@media (max-width: 1280px) {
	body.archive.woocommerce-page .archive-main .products.row {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 992px) {
	body.archive.woocommerce-page .archive-page--storefront {
		width: calc(100% - 24px);
		margin: 12px auto 24px;
	}

	body.archive.woocommerce-page .archive-layout {
		flex-direction: column;
	}

	body.archive.woocommerce-page .archive-right {
		order: 1;
		width: 100%;
		max-width: none;
		flex-basis: auto;
	}

	body.archive.woocommerce-page .archive-sidebar {
		order: 2;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		top: auto;
		width: auto;
		flex-basis: auto;
		height: min(68dvh, 500px);
		padding: 8px 14px 12px;
		border-top: 1px solid var(--sicomp-border);
		border-right: 0;
		border-bottom: 0;
		border-left: 0;
		border-radius: 18px 18px 0 0;
		background: var(--sicomp-card);
		box-shadow: 0 8px 24px rgba(var(--sicomp-shadow-rgb), 0.04);
		z-index: 52;
		transform: translateY(calc(100% + 24px));
		opacity: 0;
		visibility: hidden;
		transition: transform 0.22s ease, opacity 0.22s ease, visibility 0.22s ease;
	}

	body.archive.woocommerce-page .filter-box-title-wrap {
		position: relative;
		display: block;
		min-height: 18px;
		margin-bottom: 4px;
		padding-right: 28px;
	}

	body.archive.woocommerce-page .archive-filter-panel-title {
		display: block;
		font-size: 14px;
		line-height: 1.2;
		font-weight: 700;
		color: var(--sicomp-secondary-active);
	}

	body.archive.woocommerce-page .archive-sidebar-body {
		max-height: none;
		height: calc(100% - 24px);
		padding: 0 2px max(16px, env(safe-area-inset-bottom)) 0;
		border: 0;
		border-radius: 0;
		background: transparent;
	}

	body.archive.woocommerce-page .archive-filter-backdrop {
		display: block;
		position: fixed;
		inset: 0;
		background: var(--sicomp-overlay);
		backdrop-filter: blur(2px);
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.22s ease, visibility 0.22s ease;
		z-index: 51;
	}

	body.archive.woocommerce-page .archive-page.filter-open .archive-filter-backdrop {
		opacity: 1;
		visibility: visible;
	}

	body.archive.woocommerce-page .archive-page.filter-open .archive-sidebar {
		transform: translateY(0);
		opacity: 1;
		visibility: visible;
	}

	body.archive.woocommerce-page .archive-filter-toggle {
		display: inline-flex;
	}
}

@media (max-width: 768px) {
	body.archive.woocommerce-page {
		--archive-filter-control-height: 36px;
		--archive-filter-choice-min-height: 44px;
	}

	body.archive.woocommerce-page .archive-page--storefront {
		width: calc(100% - 32px);
		margin: 24px auto;
		padding: 0 0 24px;
	}

	body.archive.woocommerce-page .archive-heading-shell {
		width: calc(100% - 32px);
		margin: 24px auto 12px;
	}

	body.archive.woocommerce-page .archive-heading-shell .camap-global-breadcrumb {
		margin: 0 0 12px;
	}

	body.archive.woocommerce-page .archive-title {
		font-size: 24px;
		line-height: 30px;
	}

	body.archive.woocommerce-page .archive-main {
		padding: 0 14px 20px;
		border-radius: 8px;
		background: var(--sicomp-card);
	}

	body.archive.woocommerce-page .archive-bottom-content {
		padding: 24px 16px;
		border-radius: 16px;
	}

	body.archive.woocommerce-page .archive-toolbar {
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
		padding: 12px 0 10px;
		margin: 0 0 16px;
		border: 0;
		background: transparent;
		box-shadow: none;
	}

	body.archive.woocommerce-page .archive-toolbar-left {
		display: none;
	}

	body.archive.woocommerce-page .archive-toolbar-right {
		width: 100%;
		display: grid;
		grid-template-columns: max-content minmax(0, 1fr);
		align-items: center;
		gap: 8px;
	}

	body.archive.woocommerce-page .archive-active-filters--toolbar {
		display: none !important;
	}

	body.archive.woocommerce-page .archive-active-filters--drawer:not([hidden]) {
		display: flex;
		margin: 0 0 10px;
		padding: 8px;
		background: var(--sicomp-soft);
	}

	body.archive.woocommerce-page .archive-sort-wrap {
		width: auto;
		min-width: 0;
		justify-self: end;
		display: inline-grid;
		grid-template-columns: max-content max-content;
		align-items: center;
		gap: 6px;
	}

	body.archive.woocommerce-page .toolbar-label {
		display: inline-flex;
		font-size: 12px;
		font-weight: 650;
	}

	body.archive.woocommerce-page .archive-active-filter,
	body.archive.woocommerce-page .archive-active-filter-reset {
		min-height: 28px;
		padding: 0 10px;
		font-size: 11.5px;
	}

	body.archive.woocommerce-page .archive-mobile-category-shell {
		position: relative;
		display: block;
		width: calc(100% + 28px);
		margin: 0 -14px 12px;
		padding: 2px 14px 4px;
		overflow: hidden;
	}

	body.archive.woocommerce-page .archive-mobile-category-row {
		display: flex;
		align-items: center;
		gap: 8px;
		overflow-x: auto;
		overflow-y: hidden;
		padding: 4px 0 8px;
		scrollbar-width: none;
		-ms-overflow-style: none;
		-webkit-overflow-scrolling: touch;
	}

	body.archive.woocommerce-page .archive-mobile-category-row::-webkit-scrollbar {
		display: none;
	}

	body.archive.woocommerce-page .archive-mobile-category-chip {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: 36px;
		padding: 0 15px;
		border: 1px solid var(--sicomp-border);
		border-radius: 999px;
		background: var(--sicomp-surface-blue);
		color: var(--sicomp-text-soft);
		font-size: 14px;
		line-height: 18px;
		font-weight: 500;
		white-space: nowrap;
		cursor: pointer;
		flex-shrink: 0;
	}

	body.archive.woocommerce-page .archive-mobile-category-chip.is-active {
		background: var(--sicomp-primary);
		border-color: var(--sicomp-primary);
		color: var(--sicomp-text-inverse);
		font-weight: 600;
		box-shadow: 0 8px 16px rgba(var(--sicomp-primary-rgb), 0.18);
	}

	body.archive.woocommerce-page .archive-mobile-category-fade {
		position: absolute;
		top: 0;
		right: 0;
		width: 30px;
		height: 100%;
		background: linear-gradient(270deg, var(--sicomp-text-inverse) 20%, rgba(255,255,255,0) 100%);
		pointer-events: none;
	}

	body.archive.woocommerce-page .archive-filter-toggle {
		width: max-content;
		min-width: 0;
		height: 32px;
		padding: 0 10px;
		border-radius: var(--archive-filter-radius);
		background: var(--sicomp-soft);
		font-size: 12px;
	}

	body.archive.woocommerce-page .archive-sort {
		width: auto;
		min-width: 0;
		height: 32px;
		padding: 0 26px 0 8px;
		font-size: 12px;
	}

	body.archive.woocommerce-page .archive-filter-close {
		position: absolute;
		top: 0;
		right: 0;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 20px;
		height: 20px;
		padding: 0;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
		color: var(--sicomp-text-muted);
		font-size: 18px;
		line-height: 1;
		font-weight: 400;
	}

	body.archive.woocommerce-page .archive-filter-close:hover {
		color: var(--sicomp-text-soft);
	}

	body.archive.woocommerce-page .archive-filter-close span {
		display: block;
		line-height: 20px;
	}

	body.archive.woocommerce-page .filter-group {
		margin-top: 13px;
		padding-top: 13px;
	}

	body.archive.woocommerce-page .filter-group-title {
		margin-bottom: 10px;
		font-size: 14.5px;
	}

	body.archive.woocommerce-page .filter-list.filter-list--brand-grid,
	body.archive.woocommerce-page .filter-list--choice-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px 10px;
	}

	body.archive.woocommerce-page .filter-list.filter-list--brand-grid .filter-item,
	body.archive.woocommerce-page .filter-list--choice-grid .filter-item,
	body.archive.woocommerce-page .filter-list.filter-list--brand-grid .filter-item + .filter-item,
	body.archive.woocommerce-page .filter-list--choice-grid .filter-item + .filter-item {
		width: 100%;
	}

	body.archive.woocommerce-page .filter-list.filter-list--brand-grid .filter-item > label,
	body.archive.woocommerce-page .filter-list--choice-grid .filter-item > label {
		width: 100%;
	}

	body.archive.woocommerce-page .filter-list.filter-list--brand-grid .filter-item > label > span,
	body.archive.woocommerce-page .filter-list--choice-grid .filter-item > label > span {
		width: 100%;
		grid-template-columns: minmax(0, 1fr) max-content;
	}

	body.archive.woocommerce-page .archive-brand-chip-media {
		width: 100px;
		height: 54px;
		padding: 8px 14px;
	}

	body.archive.woocommerce-page .archive-filter-option-body {
		max-width: none;
		min-height: 44px;
		padding: 7px 10px;
		font-size: 13px;
	}

	body.archive.woocommerce-page .archive-main .products.row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px 16px;
	}

	body.archive.woocommerce-page .product-specs {
		display: none;
		min-height: 0;
		margin: 0;
	}

	body.archive.woocommerce-page .product-name {
		min-height: 0;
		margin-bottom: 6px;
		font-size: 13px;
		line-height: 18px;
		-webkit-line-clamp: 2;
	}

	body.archive.woocommerce-page .product-card {
		min-height: 0 !important;
	}

	body.archive.woocommerce-page .product-actions {
		flex-direction: column;
		align-items: stretch;
		gap: 8px;
	}

	body.archive.woocommerce-page .product-status-wrap {
		gap: 4px;
		min-height: 0;
	}

	body.archive.woocommerce-page .product-action {
		width: 100%;
		height: 36px;
		line-height: 36px;
		border-radius: 999px;
		gap: 7px;
		box-shadow: none;
	}

	body.archive.woocommerce-page .product-action:hover {
		box-shadow: none;
	}

	body.archive.woocommerce-page .product-action-label {
		display: inline;
		font-size: 12.5px;
		line-height: 1;
		font-weight: 700;
		white-space: nowrap;
	}

	body.archive.woocommerce-page .filter-list.scroll {
		max-height: none;
		overflow: visible;
		padding-right: 0;
	}
}

@media (max-width: 520px) {
	body.archive.woocommerce-page .archive-sidebar {
		height: min(66dvh, 480px);
		padding-right: 16px;
		padding-left: 16px;
	}

	body.archive.woocommerce-page .filter-box-title-wrap {
		margin-bottom: 4px;
	}

	body.archive.woocommerce-page .archive-filter-panel-title {
		font-size: 14px;
	}

	body.archive.woocommerce-page .archive-mobile-category-shell {
		margin-bottom: 10px;
	}

	body.archive.woocommerce-page .archive-mobile-category-chip {
		min-height: 32px;
		padding: 0 12px;
		font-size: 12.5px;
	}

	body.archive.woocommerce-page .archive-filter-toggle {
		padding: 0 10px;
		font-size: 12px;
	}

	body.archive.woocommerce-page .archive-sort {
		width: auto;
		min-width: 0;
		padding: 0 24px 0 8px;
		font-size: 12px;
	}

	body.archive.woocommerce-page .archive-main {
		padding: 0 10px 16px;
	}

	body.archive.woocommerce-page .archive-main .products.row {
		gap: 14px 12px;
	}

	body.archive.woocommerce-page .filter-list.scroll {
		overflow-x: hidden;
	}

	body.archive.woocommerce-page .product-image img {
		padding: 0;
	}

	body.archive.woocommerce-page .product-text {
		padding-top: 6px !important;
	}

	body.archive.woocommerce-page .product-name {
		min-height: var(--sicomp-product-card-title-min-height);
		margin-bottom: 7px;
		font-size: var(--sicomp-product-card-title-size);
		line-height: var(--sicomp-product-card-title-line);
	}

	body.archive.woocommerce-page .price-old {
		font-size: var(--sicomp-product-card-old-price-size);
	}

	body.archive.woocommerce-page .price-sale {
		font-size: var(--sicomp-product-card-price-size);
		line-height: var(--sicomp-product-card-price-line);
	}

	body.archive.woocommerce-page .product-status,
	body.archive.woocommerce-page .product-gift {
		font-size: var(--sicomp-product-card-status-size);
		line-height: var(--sicomp-product-card-status-line);
	}

	body.archive.woocommerce-page .status-icon,
	body.archive.woocommerce-page .gift-icon {
		width: var(--sicomp-product-card-meta-icon-size);
		height: var(--sicomp-product-card-meta-icon-size);
	}

	body.archive.woocommerce-page .product-action {
		height: var(--sicomp-product-card-action-size);
		gap: 6px;
	}

	body.archive.woocommerce-page .product-action-label {
		font-size: 11.5px;
	}

	body.archive.woocommerce-page .archive-bottom-content {
		padding: 24px 14px;
		font-size: 14px;
		line-height: 21px;
	}
}
