/* White catalog content area */
body.komilfo-shop-page #main,
body.komilfo-shop-page #main .wf-wrap,
body.komilfo-shop-page #main .wf-container-main,
body.komilfo-shop-page .woocommerce .woocommerce-notices-wrapper {
	background: #fff;
	color: #000;
}

body.komilfo-shop-page .woocommerce {
	background: #fff;
}

/* Komilfo shop archive */
body.komilfo-shop-page,
body.komilfo-shop-page .komilfo-shop-layout {
	font-family: 'Roboto', Arial, sans-serif;
}

.komilfo-shop-layout {
	display: grid;
	grid-template-columns: minmax(240px, 280px) minmax(0, 1fr);
	gap: 2rem;
	align-items: start;
	margin-top: 0;
}

.komilfo-shop-layout__main {
	grid-column: 2;
	grid-row: 1;
	min-width: 0;
}

.komilfo-shop-layout .komilfo-filter {
	grid-column: 1;
	grid-row: 1;
}

/* Archive page header (breadcrumbs block) */
.komilfo-shop-page .breadcrumbs-container {
	padding: 2rem 0 2.5rem;
	text-align: center;
}

.komilfo-shop-page .breadcrumbs-container h1.cat-name {
	font-size: 28px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
	margin: 0;
	color: #000;
}

.komilfo-shop-page .breadcrumbs-container .breadcrumbs {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 14px;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .03em;
}

.komilfo-shop-page .breadcrumbs-container .breadcrumbs a,
.komilfo-shop-page .breadcrumbs-container .breadcrumbs .current {
	color: #999 !important;
	opacity: 1;
	text-decoration: none;
}

.komilfo-shop-page .breadcrumbs-container .breadcrumbs .current {
	color: #666 !important;
}

/* Toolbar */
.komilfo-shop-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.5rem;
	flex-wrap: wrap;
}

.komilfo-shop-layout__main .woocommerce-result-count {
	margin: 0;
	font-size: 13px;
	color: #888;
	order: 2;
}

.komilfo-shop-layout__main .woocommerce-ordering {
	margin: 0;
	order: 1;
}

.komilfo-shop-layout__main .woocommerce-ordering select {
	min-width: 220px;
	padding: 8px 12px;
	border: 1px solid #ddd;
	border-radius: 0;
	background: #fff;
	font-size: 13px;
	color: #333;
	appearance: auto;
}

/* Product grid */
.komilfo-shop-layout__main ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem;
	margin: 0 0 2.5rem !important;
	padding: 0 !important;
	list-style: none !important;
}

.komilfo-shop-layout__main ul.products::before,
.komilfo-shop-layout__main ul.products::after {
	display: none !important;
}

.komilfo-shop-layout__main ul.products li.product,
.komilfo-shop-card {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	height: auto !important;
	min-height: 0 !important;
	display: flex !important;
	flex-direction: column !important;
}

/* Product card */
.komilfo-product-card--archive {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 auto !important;
	height: 100% !important;
	background: #fff !important;
	border-radius: 16px !important;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .03) !important;
	border: 1px solid #f2f2f2 !important;
	padding: 1.25rem 1.25rem 1.5rem 1.25rem !important;
	text-align: center !important;
	box-sizing: border-box !important;
	transition: transform .3s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow .3s cubic-bezier(0.165, 0.84, 0.44, 1), border-color .3s ease !important;
}

.komilfo-product-card--archive:hover {
	transform: translateY(-5px) !important;
	box-shadow: 0 20px 40px rgba(185, 105, 221, 0.12) !important;
	border-color: rgba(185, 105, 221, 0.3) !important;
}

.komilfo-product-card--archive .komilfo-product-card__media {
	position: relative;
	margin-bottom: 1rem;
	background: #fafafa;
	border-radius: 12px;
	padding: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.komilfo-product-card--archive .komilfo-product-card__image {
	display: block;
	width: 100%;
	margin-bottom: 0;
	overflow: hidden;
	transition: transform 0.5s ease;
}

.komilfo-product-card--archive:hover .komilfo-product-card__image {
	transform: scale(1.05);
}

.komilfo-product-card--archive .komilfo-product-card__image img {
	width: 100%;
	height: auto;
	display: block;
}

.komilfo-product-card__badge,
.komilfo-product-card--archive .custom-onsale {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 6px;
	border-radius: 50%;
	background: #b969dd;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
}

.komilfo-product-card--archive .komilfo-product-card__title {
	margin: 0 0 .5rem;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	min-height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.komilfo-product-card--archive .komilfo-product-card__title a {
	color: #222;
	text-decoration: none;
	transition: color 0.2s ease;
}

.komilfo-product-card--archive .komilfo-product-card__title a:hover {
	color: #b969dd;
}

.komilfo-product-card--archive .komilfo-product-card__sku {
	margin: 0 0 .5rem;
	font-size: 11px;
	color: #aaa;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	display: block;
	text-align: center;
}

.komilfo-product-card--archive .komilfo-product-card__price {
	margin: 0 0 1.25rem;
	font-size: 16px;
	font-weight: 700;
	color: #111;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
}

.komilfo-product-card--archive .komilfo-product-card__price del {
	color: #999;
	font-size: 13px;
	font-weight: 400;
	margin-right: 4px;
	display: inline-block;
}

.komilfo-product-card--archive .komilfo-product-card__price ins {
	text-decoration: none;
	display: inline-block;
	font-size: 16px;
	font-weight: 700;
	color: #ff3366;
}

.komilfo-product-card--archive .button,
.komilfo-product-card--archive .add_to_cart_button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	box-sizing: border-box !important;
	min-height: 42px !important;
	margin: auto 0 0 !important;
	padding: 10px 14px !important;
	border: 0 !important;
	border-radius: 30px !important;
	background: #000 !important;
	color: #fff !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	text-align: center !important;
	text-transform: uppercase !important;
	letter-spacing: .05em !important;
	line-height: 1.2 !important;
	cursor: pointer !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
	transition: background .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease !important;
}

.komilfo-product-card--archive .button:hover,
.komilfo-product-card--archive .add_to_cart_button:hover {
	background: #b969dd !important;
	color: #fff !important;
	transform: translateY(-1px);
	box-shadow: 0 6px 16px rgba(185, 105, 221, 0.3) !important;
}

.komilfo-product-card--archive .button.loading,
.komilfo-product-card--archive .add_to_cart_button.loading {
	opacity: .8;
	pointer-events: none;
}

/* Filter sidebar */
.komilfo-filter {
	background: transparent;
	border: 0;
	padding: 0;
}

.komilfo-filter__toggle {
	display: none;
}

.komilfo-filter__heading {
	margin: 0 0 12px;
	font-size: 14px;
	font-weight: 600;
	color: #000;
}

.komilfo-filter__section {
	margin-bottom: 18px;
}

.komilfo-filter__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.komilfo-filter__tag {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	border: 1px solid #ddd;
	background: #fff;
	font-size: 13px;
	color: #333;
}

.komilfo-filter__tag-remove {
	color: #999;
	text-decoration: none;
	font-size: 18px;
	line-height: 1;
}

.komilfo-filter__price {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 12px;
}

.komilfo-filter__price input {
	width: 100%;
	padding: 8px 10px;
	border: 1px solid #ddd;
	font-size: 13px;
}

.komilfo-filter__price-sep {
	color: #999;
}

.komilfo-filter__range {
	position: relative;
	height: 24px;
	margin-top: 4px;
}

.komilfo-filter__range input[type="range"] {
	position: absolute;
	left: 0;
	right: 0;
	width: 100%;
	height: 4px;
	margin: 10px 0 0;
	appearance: none;
	background: transparent;
	pointer-events: none;
}

.komilfo-filter__range input[type="range"]::-webkit-slider-thumb {
	appearance: none;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #000;
	border: 0;
	pointer-events: auto;
	cursor: pointer;
}

.komilfo-filter__range-max {
	z-index: 2;
}

.komilfo-filter__accordion {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.komilfo-filter__section--accordion {
	margin-bottom: 0;
	border-top: 1px solid #eee;
}

.komilfo-filter__accordion-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 14px 0;
	border: 0;
	background: transparent;
	font-size: 14px;
	font-weight: 500;
	color: #000;
	cursor: pointer;
	text-align: left;
}

.komilfo-filter__accordion-toggle i {
	font-size: 11px;
	color: #999;
	transition: transform .2s ease;
}

.komilfo-filter__section--accordion.is-open .komilfo-filter__accordion-toggle i {
	transform: rotate(180deg);
}

.komilfo-filter__accordion-panel {
	display: none;
	padding: 0 0 14px;
}

.komilfo-filter__section--accordion.is-open .komilfo-filter__accordion-panel {
	display: block;
}

.komilfo-filter__options {
	list-style: none;
	margin: 0;
	padding: 0;
	max-height: 180px;
	overflow: auto;
}

.komilfo-filter__option {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: #444;
	padding: 4px 0;
	cursor: pointer;
}

.komilfo-filter__actions {
	margin-top: 1rem;
}


.komilfo-btn {
	display: inline-block;
	padding: 12px 16px;
	background: #000;
	color: #fff !important;
	text-decoration: none;
	text-transform: none;
	font-size: 14px;
	font-weight: 500;
	border: 0;
	text-align: center;
}

.komilfo-btn:hover {
	background: #222;
	color: #fff !important;
}

.komilfo-btn--filter {
	display: block;
	width: 100%;
	padding: 12px 16px;
	border: 0;
	cursor: pointer;
}

.komilfo-filter__cats--hidden {
	display: none;
}

/* Pagination */
.komilfo-shop-layout__main .woocommerce-pagination {
	margin-top: 1rem;
}

.komilfo-shop-layout__main .woocommerce-pagination ul {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	justify-content: center;
}

/* Mobile */
@media (max-width: 991px) {
	.komilfo-shop-layout {
		grid-template-columns: 1fr;
	}

	.komilfo-shop-layout__main,
	.komilfo-shop-layout .komilfo-filter {
		grid-column: 1;
	}

	.komilfo-shop-layout .komilfo-filter {
		grid-row: 1;
	}

	.komilfo-shop-layout__main {
		grid-row: 2;
	}

	/* Sticky mobile filter button (icon only) */
	.komilfo-filter__toggle {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		position: fixed !important;
		left: 0 !important;
		bottom: 140px !important;
		width: 44px !important;
		height: 44px !important;
		z-index: 9999 !important;
		padding: 0 !important;
		border: 1px solid rgba(185, 105, 221, 0.2) !important;
		border-left: 0 !important;
		border-radius: 0 12px 12px 0 !important;
		background: #000 !important;
		color: #fff !important;
		box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15) !important;
		cursor: pointer;
		transition: background 0.3s, transform 0.2s, right 0.3s, top 0.3s !important;
	}

	.komilfo-filter__toggle i {
		font-size: 16px !important;
		margin: 0 !important;
	}

	/* Fixed overlay backdrop when filter is open */
	.komilfo-filter.is-open {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		width: 100% !important;
		height: 100% !important;
		z-index: 10000 !important;
		background: rgba(0, 0, 0, 0.5) !important;
		display: flex !important;
		flex-direction: column !important;
		justify-content: flex-end !important;
	}

	.komilfo-filter__form {
		display: none;
	}

	.komilfo-filter.is-open .komilfo-filter__form {
		display: block !important;
		background: #fff !important;
		border-radius: 24px 24px 0 0 !important;
		padding: 2.5rem 1.5rem 2rem !important;
		max-height: 80vh !important;
		width: 100% !important;
		box-sizing: border-box !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch;
		box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.15) !important;
		animation: komilfoSlideUp 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
	}

	@keyframes komilfoSlideUp {
		from { transform: translateY(100%); }
		to { transform: translateY(0); }
	}

	.komilfo-shop-layout__main ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 1rem !important;
	}

	.komilfo-shop-toolbar {
		flex-direction: column;
		align-items: stretch;
	}

	.komilfo-shop-layout__main .woocommerce-ordering select {
		width: 100%;
	}
}

@media (max-width: 560px) {
	.komilfo-shop-layout__main ul.products {
		grid-template-columns: 1fr !important;
	}

	.komilfo-shop-page .breadcrumbs-container h1.cat-name {
		font-size: 22px;
	}
}


body.komilfo-filter-open {
	overflow: hidden;
}

	/* Turn the toggle button into a Close icon when open */
	.komilfo-filter.is-open .komilfo-filter__toggle {
		position: fixed !important;
		left: auto !important;
		right: 15px !important;
		top: 15px !important;
		bottom: auto !important;
		width: 40px !important;
		height: 40px !important;
		padding: 0 !important;
		border-radius: 50% !important;
		border: 1px solid #ddd !important;
		background: #fff !important;
		color: #000 !important;
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
		font-size: 0 !important;
	}

	.komilfo-filter.is-open .komilfo-filter__toggle i,
	.komilfo-filter.is-open .komilfo-filter__toggle span {
		display: none !important;
	}

	.komilfo-filter.is-open .komilfo-filter__toggle::before {
		content: "\f00d" !important;
		font-family: "Font Awesome 5 Free" !important;
		font-weight: 900 !important;
		font-size: 16px !important;
		display: inline-block !important;
	}
