/*
 * Gemkibo Clean — Shop (archive-product)
 */

.gk-shop { padding-block: var(--gk-sp-6); }
.gk-shop__header { margin-bottom: var(--gk-sp-5); }
.gk-shop__title {
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	font-weight: 800;
	margin: 0 0 var(--gk-sp-3);
}

/* Breadcrumbs (WC native) */
.gk-shop__header .woocommerce-breadcrumb {
	font-size: .875rem;
	color: var(--gk-c-text-muted);
	margin-bottom: var(--gk-sp-3);
}
.gk-shop__header .woocommerce-breadcrumb a {
	color: var(--gk-c-text-muted);
	text-decoration: none;
}
.gk-shop__header .woocommerce-breadcrumb a:hover { color: var(--gk-c-accent); }

/* === LAYOUT: sidebar + main === */
.gk-shop__layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--gk-sp-5);
}
@media (min-width: 1024px) {
	.gk-shop__layout {
		grid-template-columns: 260px 1fr;
		gap: var(--gk-sp-7);
	}
}

/* === Mobile: sidebar w drawer (off-canvas slide-in) === */
@media (max-width: 1023px) {
	.gk-shop__sidebar {
		position: fixed;
		top: 0; left: 0;
		width: 320px;
		max-width: 90vw;
		height: 100vh;
		background: #fff;
		padding: 24px;
		overflow-y: auto;
		transform: translateX(-100%);
		transition: transform .3s ease;
		z-index: var(--gk-z-modal);
		box-shadow: 4px 0 16px rgba(0, 0, 0, 0.15);
	}
	.gk-shop__sidebar.is-open { transform: translateX(0); }
	.gk-shop__sidebar::before {
		content: '×';
		position: absolute;
		top: 12px; right: 12px;
		width: 32px; height: 32px;
		display: flex; align-items: center; justify-content: center;
		cursor: pointer;
		font-size: 28px;
		font-weight: 300;
		color: rgb(17, 17, 17);
		background: rgb(247, 247, 247);
		border-radius: 50%;
	}
	.gk-shop__filters-trigger {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		padding: 10px 16px;
		background: rgb(17, 17, 17);
		color: #fff;
		border: 0;
		border-radius: 35px;
		font-size: 13px;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.5px;
		cursor: pointer;
		margin-bottom: 16px;
	}
	.gk-shop__filters-trigger:hover { background: rgb(93, 169, 53); }
	body.gk-shop-filters-open {
		overflow: hidden;
	}
	body.gk-shop-filters-open::after {
		content: '';
		position: fixed;
		inset: 0;
		background: rgba(0, 0, 0, 0.5);
		z-index: calc(var(--gk-z-modal) - 1);
	}
}
@media (min-width: 1024px) {
	.gk-shop__filters-trigger { display: none; }
}

/* === SIDEBAR === */
.gk-shop__sidebar { font-size: .9375rem; }
.gk-widget {
	margin-bottom: var(--gk-sp-5);
	padding-bottom: var(--gk-sp-5);
	border-bottom: 1px solid var(--gk-c-border);
}
.gk-widget:last-child { border-bottom: 0; }
.gk-widget__title {
	font-size: 1rem;
	font-weight: 700;
	margin: 0 0 var(--gk-sp-3);
	color: var(--gk-c-text);
}
.gk-widget ul {
	list-style: none; margin: 0; padding: 0;
	display: flex; flex-direction: column; gap: var(--gk-sp-2);
}
.gk-widget a {
	color: var(--gk-c-text);
	text-decoration: none;
	transition: color .15s;
}
.gk-widget a:hover { color: var(--gk-c-accent); }

/* WC price slider */
.gk-shop__sidebar .price_slider_wrapper {
	margin-top: var(--gk-sp-3);
}
.gk-shop__sidebar .price_slider {
	background: var(--gk-c-border);
	border-radius: 999px;
	height: 4px;
	position: relative;
	margin: var(--gk-sp-3) 0;
}
.gk-shop__sidebar .ui-slider-range {
	background: var(--gk-c-accent);
	height: 4px;
	position: absolute;
	border-radius: 999px;
}
.gk-shop__sidebar .ui-slider-handle {
	width: 16px; height: 16px;
	background: var(--gk-c-accent);
	border-radius: 50%;
	border: 2px solid #fff;
	box-shadow: var(--gk-shadow-sm);
	cursor: grab;
	position: absolute;
	top: -6px;
}
.gk-shop__sidebar .price_slider_amount .button {
	background: var(--gk-c-accent);
	color: #fff; border: 0;
	padding: var(--gk-sp-2) var(--gk-sp-4);
	border-radius: 999px;
	cursor: pointer;
	font-weight: 600;
}

/* === TOOLBAR (before shop loop) === */
.woocommerce-result-count {
	margin: 0 0 var(--gk-sp-3);
	font-size: .875rem;
	color: var(--gk-c-text-muted);
}
.woocommerce-ordering {
	display: inline-block;
	margin: 0 0 var(--gk-sp-4);
}
.woocommerce-ordering select {
	padding: var(--gk-sp-2) var(--gk-sp-3);
	border: 1px solid var(--gk-c-border);
	border-radius: var(--gk-radius-md);
	background: var(--gk-c-bg);
	font-size: .875rem;
}

/* === PRODUCT GRID (parity: 4-col desktop) — GLOBAL na wszystkie strony === */
/* High specificity .woocommerce ul.products to beat WC core CSS — działa zarówno
   na .gk-shop archive jak i na [products] shortcode pages (promocje, custom) */
.woocommerce ul.products,
.woocommerce-page ul.products,
body .gk-shop .products,
body .gk-shop .products.columns-3,
body .gk-shop .products.columns-4,
.woocommerce ul.products.columns-3,
.woocommerce ul.products.columns-4 {
	list-style: none; margin: 0; padding: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
	float: none !important;
	width: 100% !important;
}
@media (min-width: 768px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products,
	body .gk-shop .products,
	body .gk-shop .products.columns-3,
	body .gk-shop .products.columns-4 { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1024px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products,
	body .gk-shop .products,
	body .gk-shop .products.columns-3,
	body .gk-shop .products.columns-4 { grid-template-columns: repeat(4, 1fr); }
}

/* Override WC default li.product widths/margins/floats — globally */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
body .gk-shop .products li.product,
body .gk-shop .products .product {
	width: 100% !important; max-width: 100% !important;
	margin: 0 !important;
	float: none !important;
	clear: none !important;
}

/* === PRODUCT CARD na sklep — identyczna struktura jak bestsellery (gk-product-card__wrap/__thumb/__body/__footer) === */
/* CSS dla shop product card jest w strona-glowna.css (.gk-product-card) — bo collon collon używane */

/* WC default selektory które WC ładuje natively — apply nasze brand styling przez wyższą specificity */
.gk-shop .gk-product-card .price {
	font-size: 18px;
	font-weight: 700;
	color: rgb(93, 169, 53);
	margin: 0;
	line-height: 1.2;
}
.gk-shop .gk-product-card .price del {
	color: rgb(155, 155, 155);
	font-weight: 400;
	font-size: 14px;
	margin-right: 6px;
}
.gk-shop .gk-product-card .price ins {
	background: transparent;
	text-decoration: none;
}
.gk-shop .gk-product-card .iworks-omnibus {
	font-size: 11px;
	color: rgb(87, 87, 87);
	margin-top: 4px;
	line-height: 1.4;
}
/* WC native onsale badge — w prod niewidoczne, mamy własne .gk-product-card__badge */
.gk-shop .gk-product-card .onsale {
	display: none;
}
.gk-product-card .button:hover,
.gk-product-card .add_to_cart_button:hover {
	background: var(--gk-c-accent-dark);
	color: #fff;
}
.gk-product-card .added_to_cart {
	display: block; text-align: center;
	margin-top: var(--gk-sp-2);
	font-size: .875rem;
	color: var(--gk-c-accent);
}

/* === PAGINATION === */
.woocommerce-pagination {
	margin-top: var(--gk-sp-6);
	text-align: center;
}
.woocommerce-pagination ul {
	display: inline-flex; gap: var(--gk-sp-1);
	list-style: none; padding: 0; margin: 0;
	border: 0 !important;
}
.woocommerce-pagination ul li {
	border: 0 !important;
	display: inline-block;
}
.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 40px; height: 40px;
	padding: 0 var(--gk-sp-3);
	border-radius: var(--gk-radius-md);
	color: var(--gk-c-text);
	text-decoration: none;
	font-weight: 600;
	background: var(--gk-c-bg);
	border: 1px solid var(--gk-c-border);
}
.woocommerce-pagination ul li span.current {
	background: var(--gk-c-accent);
	color: #fff;
	border-color: var(--gk-c-accent);
}
