/* =========================================================================
   КУЗНЯ КАВИ — каталог / архів категорії
   Токени з kk-header.css (:root)
   HUSKY (WOOF) filter: класи .woof, .woof_container, .woof_list ...
   ========================================================================= */

body.woocommerce-page,
body.archive.woocommerce { background: #FAF8F0; }

/* Відступ між хедером і контентом на каталозі */
body.woocommerce-page .site-content,
body.archive.woocommerce .site-content { padding-top: 40px; padding-bottom:40px;}

.woocommerce-page .entry-content {position:relative;}
/* Прибираємо зайвий фон статті на каталозі (але НЕ чіпаємо .site-content — це ламає сітку сайдбара GP) */
.woocommerce-page article,
.woocommerce-page .inside-article,
.woocommerce-page .entry-content { background: transparent; box-shadow: none; padding: 0; margin: 0; }

/* ---------- Шапка каталогу (штатний заголовок + сортування) ---------- */
.woocommerce-products-header { position: relative; min-height: 46px; margin-bottom: 34px; padding-right: 260px; }
.woocommerce-products-header__title,
.woocommerce-products-header .page-title {
	font-size: clamp(24px, 3vw, 34px); font-weight: 800; text-transform: uppercase; margin: 0; color: var(--kk-text-dark);
}
/* Сортування — праворуч, на рівні заголовка */
.woocommerce-ordering { position: absolute; top: 50%; right: 0; transform: translateY(-50%); margin: 0; z-index: 2; }

/* Сортування-дропдаун */
.woocommerce-ordering select.orderby {
	appearance: none; -webkit-appearance: none;
	background: #FAFAF2 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%231B1A18' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center;
	border: 1px solid rgb(25 25 25 / 10%); border-radius: 6px;
	padding: 7px 40px 7px 16px; font-size: 15px; color: var(--kk-text-dark); cursor: pointer; outline: none;
	min-width: 240px;
}
.kk-cat__title {position: absolute; top: 0;}
#woof_widget-4 {width: 255px !important;}
.woof_price_search_container form .price_slider_wrapper {max-width:min-content;}
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) ul.products li.product .price {
    color: unset;
    font-size: unset;
    font-weight: unset;
    margin-bottom: unset;
}

/* ---------- Сітка товарів ---------- */
.woocommerce ul.products,
ul.products {
	display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 26px;
	margin: 0 !important; padding: 0 !important; list-style: none;
}
.woocommerce ul.products li.product,
ul.products li.product,
ul.products li.kk-cat__item {
	width: auto !important; margin: 0 !important; float: none !important; clear: none !important; padding: 0 !important;
}
.woocommerce ul.products li.product::before { display: none; }

/* WC-результати (ховаємо стандартний count) */
.woocommerce-result-count { display: none; }

/* ---------- Картка (self-contained) ---------- */
.kk-pcard { background: #FAFAF2; color: var(--kk-text-dark); border-radius: 16px; padding: 18px; overflow: hidden; display: flex; flex-direction: column; height: 100%; transition: background var(--kk-ease), color var(--kk-ease); }
.kk-pcard:hover { background: #56694C; color: #fff; }
.kk-pcard__media { position: relative; margin-bottom: 16px; }
.kk-pcard__img img { width: 100%; height: 250px; object-fit: contain; display: block; }
.kk-pcard__profile { display: none; min-height: 250px; }
.kk-pcard:hover .kk-pcard__img { display: none; }
.kk-pcard:hover .kk-pcard__profile { display: block; }
.kk-pcard__profile-title { font-size: 15px; font-weight: 700; margin: 0 0 8px; }
.kk-pcard__notes { font-size: 14px; line-height: 1.4; margin: 0 0 16px; color: rgba(255,255,255,.85); }
.kk-pcard__taste { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px; }
.kk-pcard__taste-label { display: block; font-size: 14px; margin-bottom: 6px; line-height: 1; }
.kk-dots { display: inline-flex; gap: 10px; }
.kk-dot { width: 10px; height: 10px; border-radius: 50%; background: rgba(27,26,24,.2); }
.kk-dot.is-on { background: var(--kk-text-dark); }
.kk-pcard:hover .kk-dot { background: rgba(255,255,255,.3); }
.kk-pcard:hover .kk-dot.is-on { background: #fff; }
.kk-pcard__body { flex: 1 1 auto; display: flex; flex-direction: column; }
.kk-pcard__cat { font-size: 14px; letter-spacing: .06em; opacity: .6; text-transform: uppercase; }
.kk-pcard__name { font-size: 20px; font-weight: 700; margin: 6px 0 24px; }
.kk-pcard__name a { color: inherit; text-decoration: none; }
.kk-pcard__opts { display: flex; gap: 8px; margin-bottom: 14px; flex-wrap: wrap; }
.kk-pcard__opt {border: 1px solid rgba(27, 26, 24, .25); background: transparent; color: inherit; border-radius: 6px; padding: 1px 8px; font-size: 13px; cursor: pointer; transition: background var(--kk-ease), border-color var(--kk-ease), color var(--kk-ease); }
.kk-pcard__opt.is-active { background: #171717; border-color: #171717; color: #FAFAF2; }
.kk-pcard:hover .kk-pcard__opt { border-color: rgba(255,255,255,.5); }
.kk-pcard:hover .kk-pcard__opt.is-active { background: #fff; color: #1b1a18; border-color: #fff; }
.kk-pcard .kk-pcard__opt:hover { border-color: rgba(255, 255, 255, .4); background: #FAFAF2; color: #171717; }
.kk-pcard__price .amount { font-weight: 600; }
.kk-pcard__price { font-size: 17px; margin-top: auto; margin-bottom: 14px; }
.kk-pcard__add { border: 0; cursor: pointer; background: #171717; color: #FAFAF2; font-weight: 700; font-size: 15px; padding: 13px; border-radius: var(--kk-pill); width: 100%; transition: background var(--kk-ease); }
.kk-pcard:hover .kk-pcard__add { background: #fff; color: #1b1a18; }

/* ---------- Пагінація WooCommerce ---------- */
.woocommerce nav.woocommerce-pagination { margin-top: 44px; text-align: left; }
.woocommerce nav.woocommerce-pagination ul { display: flex; gap: 10px; border: 0;     justify-content: center;}
.woocommerce nav.woocommerce-pagination ul li { border: 0; margin: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	min-width: 46px; height: 46px; line-height: 46px; padding: 0 10px; text-align: center;
	border: 1px solid rgba(27,26,24,.18); border-radius: 10px; background: #fff; color: var(--kk-text-dark);
	font-weight: 600;
}
.woocommerce nav.woocommerce-pagination ul li span.current { background: #171717; border-color: #171717; color: #fff; }

/* =========================================================================
   HUSKY / WOOF filter (сайдбар)
   ========================================================================= */
.widget-area .woof,
.sidebar .woof { font-size: 15px; }
.woof h4,
.woof .woof_container_inner > h4,
.woof_container .woof_container_inner > h4 {
	font-size: 16px; font-weight: 700; color: var(--kk-text-dark); text-transform: none;
	margin: 0 0 16px; padding: 0;
}
.woof_container { margin-bottom: 26px; padding-bottom: 26px; border-bottom: 1px solid rgba(27,26,24,.1); }
.woof_container:last-child { border-bottom: 0; }
.woof_container ul.woof_list { list-style: none; margin: 0; padding: 0; }
.woof_container ul.woof_list li { margin: 0 0 12px; padding: 0; display: flex; align-items: center; gap: 10px; }
.woof_container ul.woof_list li label { font-size: 15px; color: #4a4640; margin: 0; cursor: pointer; }
/*.woof input[type="checkbox"],*/
/*.woof input[type="radio"] { width: 18px; height: 18px; accent-color: #56694C; cursor: pointer; margin: 0; }*/


.woof input[type="checkbox"]:checked {
    accent-color: #56694C;
    appearance: auto;
}

.woof input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    background-color: #FAFAF2;
    border: 1px solid rgb(25 25 25 / 10%);
    border-radius: 4px;
    cursor: pointer;
    display: inline-block;
    position: relative;
}

/* Ціна */
.woof_price_filter,
.woof_price_search_container { margin-bottom: 10px; }
.woof_price_filter .price_slider_amount,
.woof .woof_price_search_container { display: flex; align-items: center; gap: 8px; }
.woof input.woof_input_text,
.woof .woof_price_search_container input {
	width: 74px; border: 1px solid rgba(27,26,24,.2); border-radius: 8px; padding: 8px 10px; font-size: 14px; text-align: center;
	background: #fff; color: var(--kk-text-dark); outline: none;
}
.woof .ui-slider,
.woof .woof_price_slider { position: relative; height: 4px; background: #E4DFD2; border: 0; border-radius: 999px; margin: 18px 4px; }
.woof .ui-slider .ui-slider-range { background: #56694C; height: 100%; border-radius: 999px; }
.woof .ui-slider .ui-slider-handle {
	width: 18px; height: 18px; background: #56694C; border: 2px solid #fff; border-radius: 50%;
	top: -7px; margin-left: -9px; box-shadow: 0 1px 4px rgba(0,0,0,.2); cursor: pointer;
}

/* Кнопка OK / застосувати */
.woof .woof_submit_search_form_container { margin-top: 4px; }
.woof input.woof_submit_search_form,
.woof button.woof_submit_search_form,
.woof .woof_submit_search_form {
	background: #171717; color: #fff; border: 0; border-radius: 8px; padding: 10px 18px;
	font-weight: 700; font-size: 14px; cursor: pointer; transition: background var(--kk-ease);
}
.woof input.woof_submit_search_form:hover { background: #000; }

/* Іконка «Особливі сорти» тощо — залишаємо як є */
.woof .woof_container_inner img { max-width: 20px; height: auto; }

/* ---------- Мобільна кнопка «Фільтри» ---------- */
.kk-cat-filter-toggle { display: none; }


/* =========================================================================
   АДАПТИВ
   ========================================================================= */
@media (max-width: 1024px) {
	.woocommerce ul.products, ul.products { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
    .woocommerce-archive-wrapper {padding: 0px 16px;}
	.woocommerce-ordering { position: static; margin-bottom: 18px; display: block; }
    .kk-cat__title { position: inherit; text-align: center;}
	/* Кнопка-тоглер фільтрів */
	.kk-cat-filter-toggle {
		display: inline-flex; align-items: center; justify-content: center; gap: 8px;
		width: 100%; margin-bottom: 18px; padding: 14px; border: 1px solid rgba(27,26,24,.2);
		background: #fff; color: var(--kk-text-dark); border-radius: 12px; font-weight: 700; cursor: pointer;
	}

	/* Сайдбар як off-canvas панель зліва */
	.left-sidebar.widget-area,
	.sidebar.widget-area {
		position: fixed; top: 0; left: 0; bottom: 0; z-index: 1000;
		width: 86%; max-width: 340px;
		background: #FAF8F0;
		padding: 24px 20px; margin: 0;
		overflow-y: auto; -webkit-overflow-scrolling: touch;
		transform: translateX(-100%);
		transition: transform .3s ease;
		box-shadow: 0 0 40px rgba(0,0,0,.15);
		display: block;
	}
	.left-sidebar.widget-area.is-open,
	.sidebar.widget-area.is-open { transform: translateX(0); }

	/* Кнопка закриття всередині панелі */
	.kk-cat-filter-close {
		display: inline-flex; align-items: center; justify-content: center;
		width: 36px; height: 36px; margin: 0 0 12px auto;
		border: 1px solid rgba(27,26,24,.2); background: #fff; border-radius: 8px;
		font-size: 20px; line-height: 1; color: var(--kk-text-dark); cursor: pointer;
	}

	/* Затемнення позаду панелі */
	.kk-cat-overlay {
		position: fixed; inset: 0; z-index: 999;
		background: rgba(27,26,24,.5);
		opacity: 0; visibility: hidden; transition: opacity .3s ease, visibility .3s ease;
	}
	.kk-cat-overlay.is-open { opacity: 1; visibility: visible; }

	/* Блокуємо скрол сторінки, коли панель відкрита */
	body.kk-filters-open { overflow: hidden; }
}

/* На десктопі кнопки-закриття не існує */
.kk-cat-filter-close { display: none; }
@media (max-width: 560px) {
	.woocommerce ul.products, ul.products { grid-template-columns: 1fr; }
	.kk-cat__head { gap: 14px; }
	.kk-cat__sort select { min-width: 0; width: 100%; }
	.woocommerce-products-header { margin-bottom: 0; padding-right: unset; }
	.woocommerce .woocommerce-ordering select { padding: 15px 40px 16px 16px; width: 100%; }
}

/* ================= Override'и ================= */
.sidebar .widget { background-color: unset; }
.is-left-sidebar { width: unset; }
.site-content .content-area { width: unset; }
.widget-area .widget { padding: 10px; }
.woocommerce ul.products::before { display: none; }
.kk-pcard { background: #F3F3E9; }
.woocommerce ul.products li.product,
ul.products li.product,
ul.products li.kk-cat__item { border-radius: 12px; }

/* ================= Override'и (обрізка тексту + слайдер ціни) ================= */
.kk-pcard__notes { font-size: 14px; line-height: 1.4; margin: 0 0 16px; color: rgba(255,255,255,.85); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; }
.woocommerce ul.products li.product a { text-decoration: none; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; }
.woocommerce .widget_price_filter .ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; border-radius: 1em; background-color: #56694C; }
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle { background-color: #56694C; }
.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content { border-radius: 1em; background-color: #d2d2d2; border: 0; }

/* Ховаємо порожні (disabled) терміни фільтра — заміна платної опції "Hide empty terms" */
.woof_container ul.woof_list li:has(input:disabled) { display: none !important; }
.woof_container ul.woof_list li.woof_disabled,
.woof_checkbox_disabled,
.woof_radio_disabled { display: none !important; }
/* Фолбек для браузерів без :has() — ховаємо хоча б сам disabled-інпут і його лейбл */
.woof_container ul.woof_list li input:disabled,
.woof_container ul.woof_list li input:disabled + label { opacity: 0; pointer-events: none; }
