/* ===================================================================
   ZF CATALOG — чистий і структурований стиль
   =================================================================== */

/* ---------------------------- 1) Змінні ---------------------------- */

#zf-app .zf-topbar {
  margin-top: -8px !important;   /* уменьшаем зазор (подбери число по вкусу) */
}
#zf-app{
  /* Кнопки карток/акцент Woo */
  --btn-green:       #2e7d32;
  --btn-green-dark:  #133315;
  --card-bg:         #e8f3e8;

  /* Фільтри (верхня смуга і лівий сайдбар) */
  --accent:          #014916;   /* звичайний стан */
  --accent-dark:     #87BF60;   /* активна кнопка */

  /* Геометрія */
  --sidebar-w: 280px;           /* ширина лівого фільтра */
  --topbar-h: 56px;             /* висота верхньої смуги */
}

/* Прибрати заокруглення у «великих» контейнерів (а не у кнопок) */
#zf-app,
#zf-app .wp-block-group,
#zf-app .wp-block-columns,
#zf-app .wp-block-column{
  border-radius: 0 !important;
}

/* Скидання внутрішніх відступів Gutenberg тільки в нашому блоці */
#zf-app .wp-block-group,
#zf-app .wp-block-columns,
#zf-app .wp-block-column{
  margin:0 !important;
  padding:0 !important;
}

/* Прибрати випадкові <br> всередині наших блоків */
#zf-app br{ display:none !important; }

/* Невеликий відступ під верхніми фільтрами і над вітриною */
#zf-app .zf-topbar{ margin-bottom:18px; }
#zf-app .zf-catalog{ margin-top:20px; }

/* ---------------------------- 2) Верхня смуга (класи) ---------------------------- */
/* Підтримуємо всі варіанти обгорток, які може повернути шорткод */
#zf-app .zf-topbar,
#zf-app .zf-classes,
#zf-app ul#zf-classes,
#zf-app .zf-classes-nav{
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
  height:var(--topbar-h);
  padding:0 16px;
  background:var(--accent);
  list-style:none;
  margin:0;
  box-sizing:border-box;
}

/* Зліва — «Фільтр >», одночасно резервуємо місце шириною лівого фільтра */

/* Кнопки на верхній смузі */
#zf-app .zf-topbar a,
#zf-app .zf-classes a,
#zf-app ul#zf-classes a,
#zf-app .zf-classes-nav a{
  display:flex;
  align-items:center;
  justify-content:center;
  height:100%;
  padding:0 20px;
  background:var(--accent);
  color:#fff;
  font-weight:700;
  text-decoration:none;
  border-radius:12px;
  transition:background .2s ease, filter .2s ease;
}
#zf-app .zf-topbar a:hover,
#zf-app .zf-classes a:hover,
#zf-app ul#zf-classes a:hover,
#zf-app .zf-classes-nav a:hover{
  filter:brightness(0.95);
  background: #133315;
}
#zf-app .zf-topbar .is-active,
#zf-app .zf-classes .is-active,
#zf-app ul#zf-classes .is-active,
#zf-app .zf-classes-nav .is-active{
  background:var(--accent-dark);
}

/* ---------------------------- 3) Макет: дві колонки ---------------------------- */
#zf-app .wp-block-columns.zf-layout{
  display:grid;
  grid-template-columns: var(--sidebar-w) 1fr;
  gap:24px;
  align-items:start;
}
#zf-app .wp-block-columns.zf-layout > .wp-block-column{
  margin:0 !important;
  min-width:0; /* щоб права колонка не «роз’їжджалась» */
}

/* ---------------------------- 4) Лівий сайдбар (види) ---------------------------- */
#zf-app .zf-sidebar{
  background:var(--accent);
  color:#fff;
  padding:10px;
  box-sizing:border-box;
}

/* Список видів може бути <ul> — приводимо до колонки з рівними інтервалами */
#zf-app .zf-species{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:10px;
}
#zf-app .zf-species li{ margin:0; padding:0; }

/* Універсальний стиль кнопок у сайдбарі (і <a>, і можливі <button>) */
#zf-app .zf-sidebar .zf-btn,
#zf-app .zf-species a,
#zf-app .zf-sidebar .zf-item{
  display:grid;                 /* дає ідеальне центрування */
  place-items:center;
  width:100%;
  min-height:56px;
  padding:0 16px;
  box-sizing:border-box;

  background:var(--accent);
  color:#fff;
  border:none;
  border-radius:12px;
  text-decoration:none;
  font-weight:700;
  line-height:1;
  cursor:pointer;
  transition:background .15s ease, filter .15s ease;
}
#zf-app .zf-sidebar .zf-btn:hover,
#zf-app .zf-species a:hover,
#zf-app .zf-sidebar .zf-item:hover{
  filter:brightness(0.95);
  background: #133315;
}
#zf-app .zf-sidebar .zf-btn.is-active,
#zf-app .zf-species a.is-active,
#zf-app .zf-sidebar .zf-item.zf-active{
  background:var(--accent-dark);
}

/* ---------------------------- 5) Вітрина товарів ---------------------------- */
/* П’ять карток у рядок + адаптив */
#zf-app ul.products{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;

  display:grid !important;
  grid-template-columns:repeat(5, minmax(0,1fr));
  gap:28px;
}
@media (max-width:1600px){ #zf-app ul.products{ grid-template-columns:repeat(4,1fr); } }
@media (max-width:1200px){ #zf-app ul.products{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:900px) { #zf-app ul.products{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px) { #zf-app ul.products{ grid-template-columns:1fr; } }

/* Картка */
#zf-app ul.products li.product{
  float:none !important;
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  clear:none !important;

  background:var(--card-bg);
  border:1px solid rgba(0,0,0,.06);
  border-radius:10px;
  overflow:hidden;
  padding:0 !important;
  transition:box-shadow .15s ease, transform .06s ease;
}
#zf-app ul.products li.product:hover{
  box-shadow:0 10px 18px rgba(0,0,0,.07);
  transform:translateY(-1px);
}

/* Зображення */
#zf-app ul.products li.product a.woocommerce-LoopProduct-link img{
  display:block;
  width:100% !important;
  height:auto !important;
  aspect-ratio:4 / 3;
  object-fit:cover;
  background:#f7faf7;
}

/* Текст і ціна */
#zf-app ul.products li.product .woocommerce-loop-product__title,
#zf-app ul.products li.product .price,
#zf-app ul.products li.product .button{
  margin-left:14px;
  margin-right:14px;
}
#zf-app ul.products li.product .woocommerce-loop-product__title{
  margin-top:12px;
  margin-bottom:8px;
  font-size:20px;
  line-height:1.3;
  font-weight:700;
  color:#153a18;
  white-space:normal;
  word-break:break-word;
}
#zf-app ul.products li.product .price{
  color:#49674c;
  margin-bottom:12px;
}

/* Кнопка «Обрати опції» на картці */
#zf-app ul.products li.product .button{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  background:var(--btn-green) !important;
  color:#fff !important;
  border-radius:26px;
  padding:10px 16px !important;
  font-weight:700;
  border:none;
  cursor:pointer;
  margin-bottom:16px;
  transition:background .12s ease, transform .05s ease;
}
#zf-app ul.products li.product .button:hover{
  background:var(--btn-green-dark) !important;
}
/* --- прибрати дубль «Фільтр >» --- */
/* Залишаємо псевдоелемент тільки у .zf-topbar */
#zf-app .zf-classes::before,
#zf-app ul#zf-classes::before,
#zf-app .zf-classes-nav::before {
  content: none !important;
}

/* --- кнопки у верхній смузі на всю висоту, вирівнювання по центру --- */
#zf-app .zf-topbar {
  height: 56px;                 /* висота всієї зеленої смуги */
  display: flex;
  align-items: center;
  gap: 12px;
}

#zf-app .zf-topbar li {
  height: 100%;                  /* li розтягуємо по висоті смуги */
  display: flex;
}
/* === Фікс вирівнювання верхніх кнопок (Хвойні / Листяні) === */
#zf-app .zf-topbar,
#zf-app .zf-classes,
#zf-app ul#zf-classes,
#zf-app .zf-classes-nav {
  --zf-topbar-h: 56px; 
  height: var(--zf-topbar-h) !important;
  display: flex;
  align-items: stretch !important; 
  gap: 12px;
  padding: 0 16px;
}

#zf-app .zf-topbar br,
#zf-app .zf-classes br,
#zf-app ul#zf-classes br,
#zf-app .zf-classes-nav br {
  display: none !important;
}

#zf-app .zf-topbar li,
#zf-app .zf-classes li,
#zf-app ul#zf-classes li,
#zf-app .zf-classes-nav li {
  list-style: none;
  margin: 0;
  padding: 0;
  height: 100%;
  display: flex;
}

#zf-app .zf-topbar a,
#zf-app .zf-classes a,
#zf-app ul#zf-classes a,
#zf-app .zf-classes-nav a {
  height: 100% !important;     
  padding: 0 20px !important;    
  display: grid !important;      
  place-items: center !important;
  line-height: 1 !important;
  box-sizing: border-box;
}

#zf-app .zf-topbar::before,
#zf-app .zf-classes::before,
#zf-app ul#zf-classes::before,
#zf-app .zf-classes-nav::before {
  display: grid;
  place-items: center;
  height: 100%;
}
/* Шрифт без перекресленого нуля */
#zf-app {
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'Liberation Sans', sans-serif;
}
#zf-app ul.products li.product .woocommerce-loop-product__title{
  color:#153a18; /* цвет названия залишаємо як еталон */
}
/* Ціна: темніша (як у назви), жирніша, трохи більша */
#zf-app ul.products li.product .price{
  color:#153a18;    
  font-weight:800;       
  font-size:18px;        
  line-height:1.2;
  margin-bottom:12px;
}
/* Кнопка (напис тепер "Купити" прилетить з PHP) */
#zf-app ul.products li.product .button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--btn-green) !important;
  color:#fff !important;
  border-radius:26px;
  padding:10px 16px !important;
  font-weight:700;
  border:none;
  cursor:pointer;
  margin-bottom:16px;
  transition:background .12s ease, transform .05s ease;
}
#zf-app ul.products li.product .button:hover{
  background:var(--btn-green-dark) !important;
}
/* --- Карточка: плотнее заголовок, цена всегда на новой строке --- */
#zf-app ul.products li.product .woocommerce-loop-product__title{
  margin-top:12px;
  margin-bottom:6px;         /* было 8px */
}

/* У разных шаблонов .price бывает <span> — принудительно блочная */
#zf-app ul.products li.product .price{
  display:block;             /* цена всегда отдельной строкой */
  margin:0 14px 10px;        /* убираем лишний воздух */
  color:#153a18;
  font-weight:800;
  font-size:18px;
  line-height:1.2;
}

/* --- Кнопка: без подчеркивания и строго ниже цены --- */
#zf-app ul.products li.product .button{
  display:inline-flex;        /* как и было, но... */
  text-decoration:none !important;   /* убираем подчеркивание у <a> */
  margin-top:2px;             /* небольшой отступ от цены */
  margin-bottom:16px;
}

/* На всякий случай уберем наследование подчеркивания у всех ссылок в карточке-кнопке */
#zf-app ul.products li.product a.button:link,
#zf-app ul.products li.product a.button:visited,
#zf-app ul.products li.product a.button:hover,
#zf-app ul.products li.product a.button:active{
  text-decoration:none !important;
}

/* Если где-то глобально задано underline для всех ссылок — перестрахуемся */
#zf-app ul.products li.product a{
  text-decoration:none;
  display: block; 
}
/* === Фікс для бейджу "Розпродаж!" === */

/* Карточка */
#zf-app ul.products li.product {
  position: relative;
  text-align: center;
  border-radius: 10px;     /* заокруглення */
  overflow: hidden;        /* обрезает все что выступает за границы */
}

/* Бейдж "Розпродаж!" */
#zf-app ul.products li.product .onsale {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 2;

  display: inline-block;
  background: #d32f2f;
  color: #fff;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.2;
  padding: 4px 10px;
  border-radius: 20px;
}
#zf-app .zf-topbar {
  margin-top: -20px !important;  /* подгоняем вровень */
}
/* --- Sticky footer fix for block theme --- */
html, body {
  height: 100%;
  margin: 0;
}

.wp-site-blocks {
  min-height: 100vh;          /* растягиваем страницу */
  display: flex;
  flex-direction: column;
}

/* тянем только контент */
#zf-app {
  flex: 1 0 auto;
}

/* футер уходит вниз */
.wc-blocks-footer-pattern {
  margin-top: auto !important;
}
/* 1) #zf-app становится колонковым flex-контейнером */
#zf-app{
  display:flex;
  flex-direction:column;
}

/* 2) Верхняя смуга фикс высоты, витрина тянется */
#zf-app .zf-topbar{ flex:0 0 auto; }
#zf-app .wp-block-columns.zf-layout{
  flex:1 1 auto;              /* занимать всё, что между топбаром и футером */
  align-items:stretch !important;  /* ВАЖНО: тянем колонки по высоте */
  min-height:0;               /* чтобы не было переполнений */
}

/* 3) Левая колонка реально на всю высоту ряда */
#zf-app .zf-sidebar{
  height:100%;                /* фон сайдбара на всю высоту */
  display:flex;               /* опционально, если внутри нужна колонка */
  flex-direction:column;
}
#zf-app .zf-sale {
  max-width: 1600px;   /* подбери значение: 1200–1400px обычно красиво */
  margin: 0 auto;      /* центрируем */
  padding: 0 12px;     /* небольшой внутренний отступ слева/справа */
}
#zf-app .zf-sale ul.products {
  grid-template-columns: repeat(4, 1fr); /* вместо 5 → карточки шире */
}

@media (max-width: 1200px) {
  #zf-app .zf-sale ul.products {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 900px) {
  #zf-app .zf-sale ul.products {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 560px) {
  #zf-app .zf-catalog.zf-sale ul.products {
    grid-template-columns: 1fr;
  }
}

/* === 1) Липкий хедер сайта (template-part) === */
.wp-site-blocks > *:first-child{
  position: sticky;
  top: 0;
  z-index: 1100;
  background: #d2d6d2;            /* чтобы не просвечивал */
}
.admin-bar .wp-site-blocks > *:first-child{ top: 32px; }
@media (max-width: 782px){
  .admin-bar .wp-site-blocks > *:first-child{ top: 46px; }
}

/* === 2) Липкая верхняя полоса фильтров сразу под хедером === */
:root{ --zf-header-h: 0px; }    /* сюда положим реальную высоту хедера через JS */

#zf-app .zf-topbar{
  position: sticky;
  top: var(--zf-header-h);
  z-index: 1090;               /* чуть ниже хедера, но выше контента */
  background: var(--accent);
  flex-shrink: 0;              /* чтобы flex не сжимал полосу */
  margin-top: 0 !important;    /* убираем прежние отриц. отступы, чтобы ничего не «расло» */
}

/* учёт админ-панели */
.admin-bar #zf-app .zf-topbar{
  top: calc(var(--zf-header-h) + 32px);
}
@media (max-width: 782px){
  .admin-bar #zf-app .zf-topbar{
    top: calc(var(--zf-header-h) + 46px);
  }
}
/* 0) Корневой паддинг темы (убирает 4px сверху и зазор снизу) */
:root{
  --wp--style--root--padding-top: 0px !important;
  --wp--style--root--padding-bottom: 0px !important;
}
.wp-site-blocks{
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* 1) Хедер вплотную к верху окна */
.wp-site-blocks > *:first-child{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* 2) Фильтры вплотную к хедеру (без промежутка) */
#zf-app .zf-topbar{
  margin-top: 0 !important;     /* перебиваем прежние -8px / -20px */
  margin-bottom: 0 !important;
}

/* 3) Низ страницы — без лишних отступов вокруг футера */
.wp-site-blocks > .wp-block-template-part[area="footer"],
.wp-site-blocks > *:last-child{
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
/* Убрать межблочный зазор темы между соседними блоками */
.wp-site-blocks{
  --wp--style--block-gap: 0 !important; /* обнуляем переменную темы */
}
.wp-site-blocks > * + *{
  margin-block-start: 0 !important;     /* перебиваем правило «сосед + сосед» */
}
/* На всякий случай обнулим верхний отступ у нашего контейнера */
#zf-app{
  margin-top: 0 !important;
}
/* Если это НЕ отдельный абзац, а первая строка внутри одного абзаца */
.woocommerce-Tabs-panel--description p:first-of-type::first-line{
  font-size: 140%;          /* +20% к текущему размеру */
}
/* Карточка: более выразительная тень на hover/focus */
#zf-app ul.products li.product{
  will-change: transform, box-shadow;
}

#zf-app ul.products li.product:hover,
#zf-app ul.products li.product:focus-within{
  transform: translateY(-4px);
  border-color: rgba(27,110,43,.22);
  box-shadow:
    0 18px 38px rgba(0,0,0,.16),
    0 6px 14px rgba(27,110,43,.12); /* лёгкий зелёный оттенок */
}

#zf-app ul.products li.product:active{
  transform: translateY(-2px);
  box-shadow:
    0 12px 24px rgba(0,0,0,.14),
    0 4px 10px rgba(27,110,43,.10);
}

/* уважение к настройкам пользователя */
@media (prefers-reduced-motion: reduce){
  #zf-app ul.products li.product{ transition: none; }
  #zf-app ul.products li.product:hover,
  #zf-app ul.products li.product:focus-within{ transform: none; }
}
/* === Іконки соцмереж === */
.zf-social {
  display: flex;
  gap: 12px;
  align-items: center;
}
.zf-social__link img {
  width: 28px;
  height: 28px;
  display: block;
  transition: transform .2s ease, opacity .2s ease;
}
.zf-social__link:hover img {
  transform: scale(1.1);
  opacity: 0.85;
}
/* === Іконки соцмереж (вирівнювання) === */
.zf-social {
  display: flex;
  gap: 12px;
  align-items: center;
}

.zf-social__link img {
  width: 32px;      /* фиксированная ширина */
  height: 32px;     /* фиксированная высота */
  object-fit: contain;  /* масштабируем, не искажаем */
  display: block;
}
/* === Кнопка «Фільтр» у верхній смузі ================================== */
/* Прибрали псевдоелемент із написом */
#zf-app .zf-topbar::before,
#zf-app .zf-classes::before,
#zf-app ul#zf-classes::before,
#zf-app .zf-classes-nav::before { content: none !important; }

/* Обгортка фільтра займає місце сайдбару */
#zf-app .zf-filter{
  position: relative;
  flex: 0 0 var(--sidebar-w);
}

#zf-app .zf-filter__btn{
  width: 100%;
  height: var(--topbar-h);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-weight: 800;
  color: #fff;
  background: var(--accent);
  border: 0;
  border-radius: 12px;
  cursor: pointer;
  transition: filter .15s ease, background .15s ease;
}
#zf-app .zf-filter__btn:hover{ filter: brightness(.95); background: #133315; }
#zf-app .zf-filter__btn[aria-expanded="true"]{ background: var(--accent-dark); }

/* Панель випадає під кнопкою */
#zf-app .zf-filter__panel[hidden]{ display: none !important; }
#zf-app .zf-filter__panel{
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  z-index: 20;
  width: min(320px, 96%);
  background: #f7faf7;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 12px;
  box-shadow: 0 14px 24px rgba(0,0,0,.18);
  padding: 12px;
}
/* Убираем лишние абзацы внутри панели фильтра */
#zf-app .zf-filter__panel p{
  display:none !important;
  margin:0 !important;
  padding:0 !important;
}
#zf-app #zf-species.zf-nav.zf-species {
  margin-top: 4px;  /* можно 2px–6px, подбери на вкус */
}
#zf-app .zf-filter__row{ display: grid; gap: 6px; margin-bottom: 10px; }
#zf-app .zf-filter__row label{ font-weight: 700; color: #fff; }
#zf-app .zf-topbar .zf-filter__row label{ color: #87BF60; }

#zf-app .zf-filter__panel input,
#zf-app .zf-filter__panel select{
  width: 100%;
  min-height: 36px;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,.15);
  padding: 6px 10px;
  background: #fff;
}

#zf-app .zf-filter__price{
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 6px;
  align-items: center;
}

#zf-app .zf-filter__actions{
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}
#zf-app .zf-filter__apply,
#zf-app .zf-filter__clear{
  appearance: none;
  border: 0;
  border-radius: 24px;
  padding: 8px 14px;
  font-weight: 800;
  cursor: pointer;
}
#zf-app .zf-filter__apply{ background: var(--accent-dark); color: #103415; }
#zf-app .zf-filter__clear{ background: #e9f3e8; color: #17421c; }
#zf-app .zf-filter__apply:hover{ filter: brightness(.97); }
#zf-app .zf-filter__clear:hover{ filter: brightness(.96); }

/* ВЕРХНЯ СМУГА — единая высота и выравнивание */
#zf-app .zf-topbar{
  display:flex;
  align-items:center;            /* вертикальное центрирование содержимого */
  height: var(--topbar-h);       /* задаём реальную высоту смуги */
  --wp--style--block-gap: 0;     /* отключаем гутенберговские зазоры */
}

/* Каждый прямой ребёнок смуги растягиваем по высоте смуги */
#zf-app .zf-topbar > *{
  align-self: stretch !important;
  display:flex;
  align-items:center;
  margin:0 !important;
}

/* Контейнер фильтра фиксирован по ширине сайдбара и растянут по высоте */
#zf-app .zf-filter{
  flex: 0 0 var(--sidebar-w);
  position:relative;
  height: 100%;
}

/* Кнопка = ровно высота смуги, без UA-padding, текст по центру */
#zf-app .zf-filter__btn{
  width:100%;
  height:100%;
  margin:0px 2px;                /* только горизонтальные отступы */
  line-height:1;                 /* убираем возможный baseline-сдвиг */
  box-sizing:border-box;
}

/* На случай обёрток Gutenberg */
#zf-app .zf-topbar :where(.is-layout-flow){ gap:0 !important; }
#zf-app .zf-topbar :where(.is-layout-flow) > *{
  margin-block-start:0 !important;
  margin-block-end:0 !important;
}

/* Санитарка: убираем случайные <br> и текстовые узлы возле кнопки */
#zf-filter br{ display:none !important; }
#zf-filter{ font-size:0; line-height:0; }
#zf-filter .zf-filter__btn, #zf-filter .zf-filter__panel{ font-size:18px; line-height:1.2; }

/* === Стили панели фильтра (читаемость) ==================== */
#zf-app .zf-filter__panel label{
  font-weight: 700;
  color: #17421c;  /* тёмно-зелёный, хорошо читается на светлом фоне */
}

/* Общий цвет текста внутри панели */
#zf-app .zf-filter__panel{
  color: #17421c;
}

/* Ціновий ряд — выравнивание "від — до" */
#zf-app .zf-filter__price{
  display: flex;
  align-items: center;   /* вертикально по центру */
  gap: 6px;
}

#zf-app .zf-filter__price input{
  flex: 1;
  min-width: 0;
  text-align: center;   /* цифры аккуратно по центру */
}

/* Кнопки "Застосувати" / "Скинути" чуть компактнее */
#zf-app .zf-filter__apply,
#zf-app .zf-filter__clear{
  font-size: 14px;
  padding: 6px 14px;
}
#zf-app .zf-topbar{
  gap: 0;
}
/* ===== ZF FILTER: панель та кнопки ===== */

/* сама панель */
#zf-filter-panel{
  display:block;                 /* на всякий случай */
  max-height: calc(100vh - 150px);
  overflow: auto;                /* чтобы всё прокручивалось */
  padding: 12px;
  background: #fff;
}

/* рядки полів */
#zf-filter-panel .zf-filter__row{
  margin-bottom: 12px;
}

/* блок кнопок — ПРИБИТЬ ВНИЗ */
#zf-filter-panel .zf-filter__actions{
  position: sticky;
  bottom: 0;
  display: flex;
  gap: 10px;
  padding: 12px;
  background: #fff;
  border-top: 1px solid #e6e6e6;
  z-index: 10;                    /* чтобы не перекрывали select'ы */
}

/* сами кнопки */
#zf-filter-panel .zf-filter__apply,
#zf-filter-panel .zf-filter__clear{
  flex: 1 1 0;
  padding: 10px 12px;
  border-radius: 10px;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
}

#zf-filter-panel .zf-filter__apply{
  color:#fff;
  background: var(--accent, #014916);
  border:none;
}

#zf-filter-panel .zf-filter__apply:hover{
  background: var(--accent-dark, #0b5d22);
}

#zf-filter-panel .zf-filter__clear{
  color: var(--accent, #014916);
  background: #f3f6f1;
  border:1px solid #cdd8ca;
}

/* небольшой нижний отступ, чтобы sticky-кнопки не перекрывали последний селект */
#zf-filter-panel::after{
  content:"";
  display:block;
  height: 8px;
}

/* ======================= MOBILE (≤900px) — компактний топбар + шторка «Види» ======================= */
@media (max-width:760px){
  /* Змінні */
  #zf-app{ --topbar-h:44px; --sidebar-w:88vw; }

  /* Топбар: по центру дві кнопки — «Види» (45%) + «Фільтр» (55%) */
  #zf-app .zf-topbar{
    display:flex; align-items:center; justify-content:center;
    gap:8px; height:var(--topbar-h);
    padding:0 10px;
  }

  /* Ховаємо горизонтальну ленту класів (перенесено у шторку) */
  #zf-app .zf-classes{ display:none !important; }

  /* Ліва кнопка — «Види» */
  #zf-app #zf-species-btn{
    flex:0 0 45%; max-width:45%; width:45%;
    display:block; height:var(--topbar-h);
    padding:0 14px; white-space:nowrap;
    font-weight:700; font-size:15px; color:#fff;
    background:#133315; border:1px solid rgba(255,255,255,.12);
    border-radius:10px; line-height:1;
    transition:filter .15s ease, background .15s ease, border-color .15s ease;
  }
  #zf-app #zf-species-btn:hover{ filter:brightness(1.05); border-color:rgba(255,255,255,.2); }
  #zf-app #zf-species-btn[aria-expanded="true"]{ background:var(--accent-dark,#0f2e14); }

  /* Права кнопка — «Фільтр» (контейнер і саме тіло кнопки) */
  #zf-app #zf-filter{
    flex:0 0 55% !important; max-width:55% !important; width:55% !important;
  }
  #zf-app #zf-filter .zf-filter__btn{
    display:block; width:100%; height:var(--topbar-h);
    padding:0 14px; white-space:nowrap;
    font-weight:700; font-size:15px; color:#fff;
    background:#133315; border:1px solid rgba(255,255,255,.12);
    border-radius:10px; line-height:1;
    transition:filter .15s ease, background .15s ease, border-color .15s ease;
  }
  #zf-app #zf-filter .zf-filter__btn:hover{ filter:brightness(1.05); border-color:rgba(255,255,255,.2); }
  #zf-app #zf-filter .zf-filter__caret,
  #zf-app #zf-filter .dashicons,
  #zf-app #zf-filter .icon{ margin-left:6px; }

  /* Панель фільтра поверх контенту */
  #zf-app .zf-filter__panel{ z-index:1220; }

  /* -------- Шторка ліворуч (Види + Класи) -------- */
  #zf-app .zf-sidebar{
    position:fixed; top:var(--zf-header-h,0); left:0; bottom:0;
    width:var(--sidebar-w); max-width:420px; padding:12px 10px 18px;
    background:#0b3a17; box-shadow:0 8px 24px rgba(0,0,0,.35);
    transform:translateX(-105%); transition:transform .25s ease;
    z-index:1200; overflow-y:auto;
  }
  #zf-app.is-species-open .zf-sidebar{ transform:translateX(0); }
  #zf-app .wp-block-columns.zf-layout{
    display: flex !important;
  }
  /* Бекдроп під шторкою */
  #zf-app .zf-layout::before{
    content:''; position:fixed; inset:0; z-index:1195;
    background:rgba(0,0,0,.4); opacity:0; pointer-events:none; transition:opacity .2s ease;
  }
  #zf-app.is-species-open .zf-layout::before{ opacity:1; pointer-events:auto; }

  /* Групи всередині шторки: «Класи» (згенеровано JS) + «Види» (твій список) */
  #zf-app .zf-sidebar .zf-drawer-group{
    background:#0f2e14; border-radius:12px; padding:10px; margin:8px 0 12px;
  }
  #zf-app .zf-sidebar .zf-drawer-title{
    font-weight:800; font-size:14px; color:#e8f5e9; padding:2px 4px 8px; opacity:.95;
  }
  #zf-app .zf-sidebar .zf-drawer-list{ list-style:none; margin:0; padding:0 4px 2px; display:grid; gap:6px; }
  #zf-app .zf-sidebar .zf-drawer-list a{
    display:block; text-decoration:none; text-align:center;
    font-weight:700; color:#fff; background:#133315;
    border:1px solid rgba(255,255,255,.08); border-radius:10px; padding:11px 10px;
    transition:filter .15s ease, background .15s ease;
  }
  #zf-app .zf-sidebar .zf-drawer-list a:hover{ filter:brightness(.95); background:#133315; }
  #zf-app .zf-sidebar #zf-species{ margin-top:10px; }
}
@media (max-width:760px){
  /* обе кнопки считаем border-box, чтобы не "выпирали" */
  #zf-app .zf-topbar .zf-filter__btn,
  #zf-app .zf-topbar #zf-species-btn{
    box-sizing: border-box;
  }

  /* пропорции чуть меньше 100% суммарно */
  #zf-app #zf-species-btn{
    flex: 0 0 44%;
    max-width: 44%;
    width: 44%;
  }
  #zf-app #zf-filter{
    flex: 0 0 54% !important;
    max-width: 54% !important;
    width: 54% !important;
  }
}/* ===== Mobile: вертикальне вирівнювання кнопок у смузі ===== */
@media (max-width:760px){

  /* Смуга: без зайвих вертикальних відступів від редактора */
  .wp-block-group.alignfull.zf-topbar{
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Смуга: центр по вертикалі, висота — не менша за --topbar-h */
  #zf-app .zf-topbar{
    display: flex;
    align-items: center;          /* центруємо по вертикалі */
    justify-content: center;
    gap: 8px;
    min-height: var(--topbar-h, 44px);
    height: auto;                 /* дозволяємо рости, якщо треба */
    padding: 0 10px;
  }

  /* Прибираємо випадкові зовнішні маржини у дітей смуги */
  #zf-app .zf-topbar > *{ margin: 0 !important; }

  /* Пропорції та контейнер кнопки «Фільтр» */
  #zf-app #zf-species-btn{
    flex: 0 0 50%;
    max-width: 50%;
    width: 50%;
  }
  #zf-app #zf-filter{
    flex: 0 0 50% !important;
    max-width: 50% !important;
    width: 50% !important;
  }

  /* Кнопки займають всю висоту смуги */
  #zf-app #zf-species-btn,
  #zf-app #zf-filter .zf-filter__btn{
    box-sizing: border-box;
    display: flex;
    align-items: center;          /* вертикальне центрування тексту */
    justify-content: center;
    height: 100%;                 /* ключове: розтягуємось по смузі */
    padding: 0 14px;
    line-height: 1;
    border-radius: 10px;
  }
}
/* ===== Mobile каталог: 2 колонки товарів ===== */
/* Телефони: робимо грід на 2 колонки, без зовнішніх margin у <li> */
@media (max-width: 760px){
  #zf-app .zf-catalog ul.products{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 10px;                     /* відстань між картками */
  }
  #zf-app .zf-catalog ul.products li.product{
    width: auto !important;        /* прибираємо ширини Woo */
    margin: 0 !important;          /* прибираємо зовнішні відступи Woo */
  }
  /* Картинка всередині картки — на всю ширину гріда */
  #zf-app .zf-catalog ul.products li.product a img{
    width: 100% !important;
    height: auto !important;
    display: block;
  }
  /* Плашка "Розпродаж!" лишається у куті картки */
  #zf-app .zf-catalog ul.products li.product .onsale{
    top: 8px; left: 8px;
  }
  /* Трохи зменшимо типографіку під 2 колонки */
  #zf-app .zf-catalog ul.products li.product .woocommerce-loop-product__title{
    font-size: 15px;
    line-height: 1.25;
    margin: 10px 8px 6px;
  }
  #zf-app .zf-catalog ul.products li.product .price{
    font-size: 14px;
    margin: 0 8px 10px;
  }
  #zf-app .zf-catalog ul.products li.product .button{
    min-width: auto;               /* щоб кнопка не ламала грід */
    width: calc(100% - 16px);
    margin: 0 8px 12px;
  }
}

/* Дуже вузькі екрани (наприклад, 320–360px): повертаємо 1 колонку */
@media (max-width: 320px){
  #zf-app .zf-catalog ul.products{
    grid-template-columns: 1fr;
  }
}
/* ===== Mobile fix: вирівнювання кнопки "Купити" в гріді ===== */
@media (max-width:760px){
  #zf-app .zf-catalog ul.products li.product{
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* розтягуємо: контент зверху, кнопка знизу */
  }

  #zf-app .zf-catalog ul.products li.product .button{
    margin: 8px 0 0 0 !important;   /* тільки зверху невеликий відступ */
    width: 100% !important;         /* кнопка на всю ширину карточки */
    box-sizing: border-box;
    text-align: center;
    display: block;
  }
}
/* ===== Mobile: компактні кнопки "Купити" ===== */
@media (max-width:760px){
  #zf-app .zf-catalog ul.products li.product .button{
    width: 80% !important;       /* кнопка вже не на всю ширину */
    margin: 10px auto 12px !important; /* центруємо її */
    padding: 8px 0;              /* менша висота */
    font-size: 14px;
    border-radius: 20px;         /* більш "пілюльна" форма */
  }
}
@media (max-width:760px){
  #zf-app .zf-filter__panel{
    left: auto !important;           /* убираем привязку */
    right: 0;                         /* прижимаем к правому краю */
    transform: none !important;       /* убираем translateX */
    max-width: 92vw;                  /* ограничиваем ширину */
    box-sizing: border-box;           /* чтобы паддинги не выпирали */
  }
}
@media (min-width:760px){
  /* Ховаємо мобільну кнопку "Види" */
  #zf-species-btn{ display:none !important; }

  /* Ховаємо мобільний блок "Класи" у шторці */
  #zf-app .zf-drawer-group--classes{ display:none !important; }

  /* Повертаємо відображення ленти класів і бокового меню */
  #zf-app .zf-classes{ display:flex !important; }
  #zf-app .zf-sidebar{ display:block !important; }
}
/* ===== Mobile fix: вирівнювання кнопок у панелі фільтрів ===== */
@media (max-width:760px){
  #zf-app .zf-filter__panel .actions{
    display: flex;
    justify-content: space-between;
    gap: 8px;
    margin-top: 10px;
  }
  #zf-app .zf-filter__panel .actions .button{
    flex: 1 1 50%;
    margin: 0 !important;          /* прибираємо різні відступи */
    text-align: center;
    padding: 10px 0;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 600;
  }
}
/* ===== Mobile: стиль кнопок у панелі фільтрів ===== */
@media (max-width:760px){
  #zf-app .zf-filter__panel .zf-filter__actions{
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-top: 12px;
  }

  #zf-app .zf-filter__panel .zf-filter__actions button{
    flex: 1 1 50%;
    height: 40px;
    border-radius: 25px;
    font-size: 14px;
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: background .2s ease, color .2s ease;
  }

  /* зелена кнопка */
  #zf-app .zf-filter__panel .zf-filter__actions .zf-filter__apply{
    background: #2e7d32;   /* темно-зелений */
    color: #fff;
  }
  #zf-app .zf-filter__panel .zf-filter__actions .zf-filter__apply:hover{
    background: #256628;
  }

  /* сіра кнопка */
  #zf-app .zf-filter__panel .zf-filter__actions .zf-filter__clear{
    background: #e0e0e0;
    color: #333;
  }
  #zf-app .zf-filter__panel .zf-filter__actions .zf-filter__clear:hover{
    background: #cfcfcf;
  }
}
/* ===== Mobile: стиль кнопок у шторці (класи + види) ===== */
@media (max-width:760px){
  /* общий стиль кнопок */
  #zf-app .zf-sidebar .zf-drawer-list a,
  #zf-app .zf-sidebar #zf-species a{
    display: block;
    background: #014916;
    color: #fff;
    font-weight: 700;
    border-radius: 12px;
    padding: 12px 10px;
    text-align: center;
    margin-bottom: 8px;
    transition: background .2s ease;
  }

  /* hover */
  #zf-app .zf-sidebar .zf-drawer-list a:hover,
  #zf-app .zf-sidebar #zf-species a:hover{
    filter: brightness(1.1);
  }

  /* активний (обраний) пункт */
  #zf-app .zf-sidebar .zf-drawer-list a.is-active,
  #zf-app .zf-sidebar #zf-species a.is-active{
    background: #87BF60;
    color: #fff;
  }
}
/* ===== Mobile: фон шторки і блоків у ній ===== */
@media (max-width:760px){
  /* фон самої шторки */
  #zf-app .zf-sidebar{
    background: #0b3a17 !important;
  }

  /* фон груп усередині (класи/види) */
  #zf-app .zf-sidebar .zf-drawer-group{
    background: #0b3a17 !important;
    padding: 10px;
    border-radius: 12px;
    margin: 8px 0 12px;
  }

  /* заголовки груп */
  #zf-app .zf-sidebar .zf-drawer-title{
    color: #fff;
    opacity: .9;
  }
}
@media (max-width:760px){
  #zf-app .zf-sidebar .zf-drawer-list a,
  #zf-app .zf-sidebar #zf-species a{
    display: flex;                 /* вместо block */
    align-items: center;           /* центр по вертикали */
    justify-content: center;       /* центр по горизонтали */
    background: #014916;
    color: #fff;
    font-weight: 700;
    border-radius: 12px;
    padding: 12px 10px;
    margin-bottom: 8px;
    transition: background .2s ease;
    text-align: center;            /* лишнее, но можно оставить */
  }
}

/* ===== Фільтр: панель завжди всередині екрана (мобільні) ===== */
@media (max-width:760px){
  #zf-app .zf-filter__panel{
    position: fixed !important;                     /* відв'язуємо від кнопки */
    top: calc(var(--zf-header-h,0px) + var(--topbar-h,44px) + 8px) !important;
    left: 8px !important;
    right: 8px !important;                          /* 8px поля з боків */
    width: auto !important;
    max-width: none !important;

    /* щоб низ ніколи не обрізався */
    max-height: calc(100dvh - var(--zf-header-h,0px) - var(--topbar-h,44px) - 16px) !important;
    overflow: auto !important;

    /* косметика */
    border-radius: 12px;
    z-index: 1220;
  }
}

/* (опційно) на великих екранах трохи притиснути вправо, щоб не торкалась краю */
@media (min-width:761px){
  #zf-app .zf-filter__panel{ right: 8px; }
}
/* ===== Фильтр: всегда ниже хедера ===== */
@media (max-width:760px){
  #zf-app .zf-filter__panel{
    /* минимум 64px от верха + topbar */
    top: calc(64px + var(--topbar-h,44px) + 8px) !important;
  }
}
/* ===================== MOBILE FIX: панель фільтра з кнопками ===================== */
@media (max-width: 900px){
  /* 1) Коректна висота панелі: використовуємо 100dvh і запас під кнопки */
  #zf-filter-panel{
    /* замінює попередній max-height */
    max-height: none;
    height: calc(100dvh - 90px);         /* 90px — приблизна висота топбара/відступів */
    overflow: auto;
    padding-bottom: calc(88px + env(safe-area-inset-bottom)); /* місце під блок кнопок */
    -webkit-overflow-scrolling: touch;
    background:#fff;
  }

  /* 2) Кнопки — липнуть до низу та завжди поверх */
  #zf-filter-panel .zf-filter__actions{
    position: sticky;
    bottom: 0;
    left: 0; right: 0;
    padding: 12px 12px calc(12px + env(safe-area-inset-bottom));
    background: #fff;
    border-top: 1px solid #e6e6e6;
    display: flex; gap: 10px;
    z-index: 10;
  }

  /* 3) На випадок, якщо батьківський сайдбар обрізає вміст */
  .zf-sidebar{ overflow: visible; position: relative; z-index: 1; }
}

/* (опціонально) трохи збільшити клікабельність на мобілках */
@media (max-width: 900px){
  #zf-filter-panel .zf-filter__apply,
  #zf-filter-panel .zf-filter__clear{
    min-height: 44px;
    font-weight: 700;
    border-radius: 10px;
  }
}
/* ================= DESKTOP POPOVER-FILTER (не трогаем ширину сайдбара) ================= */
@media (min-width: 1200px){

  /* контейнер фильтра нужен как якорь для поповера */
  #zf-filter{ position: relative; }

  /* раскрытая панель — всплывающее окно поверх каталога */
  #zf-filter.is-open .zf-filter__panel{
    position: absolute;
    top: calc(100% + 10px);   /* ниже кнопки "Фільтр" */
    left: 0;
    width: 560px;             /* шире сайдбара, но не меняем макет */
    max-width: min(560px, calc(100vw - 40px));
    max-height: calc(100vh - 140px);
    overflow: auto;
    padding: 16px;  /* запас под кнопки */
    box-sizing: border-box;

    background: #fff;
    border-radius: 12px;
    box-shadow: 0 14px 30px rgba(0,0,0,.18);
    z-index: 1200;            /* поверх карточек товаров */
  }

  /* сетка внутри панели — 2 колонки с безопасной минимальной шириной */
  #zf-filter.is-open .zf-filter__panel{
    display: grid;
    grid-template-columns: repeat(2, minmax(240px, 1fr));
    column-gap: 14px;
    row-gap: 12px;
  }

  /* строки без внешних отступов */
  #zf-filter-panel .zf-filter__row{ margin: 0; }
  #zf-filter-panel .zf-filter__row label{
    display:block; margin:0 0 6px;
    font-weight:800; line-height:1.25;
    white-space:normal; word-break:break-word;
    font-size:15px;
  }
  #zf-filter-panel .zf-filter__row select,
  #zf-filter-panel .zf-filter__row input{
    width:100%; min-width:0; font-size:14px;
  }

  /* пара "від—до" в одну линию */
  #zf-filter-panel .zf-filter__price{
    display:flex; gap:8px; align-items:center;
  }
  #zf-filter-panel .zf-filter__price input{ flex:1 1 0; min-width:0; }

  /* кнопки — всегда видны, на всю ширину поповера */
  #zf-filter-panel .zf-filter__actions{
    grid-column: 1 / -1;
    position: sticky; bottom: 0;
    display:flex; gap:10px; padding:12px 0 12px;
    background:#fff; border-top:1px solid #e6e6e6;
    z-index: 10;
  }

  /* небольшая стрелочка-указатель (по желанию) */
  #zf-filter.is-open .zf-filter__panel::before{
    content:""; position:absolute; top:-8px; left:18px;
    width:14px; height:14px; transform:rotate(45deg);
    background:#fff; border-left:1px solid #e6e6e6; border-top:1px solid #e6e6e6;
  }
}

/* стили кнопок (на случай конфликтов) */
#zf-filter-panel .zf-filter__apply,
#zf-filter-panel .zf-filter__clear{
  flex:1 1 0; min-height:44px; font-weight:700; border-radius:10px; cursor:pointer;
}
#zf-filter-panel .zf-filter__apply{ color:#fff; background:var(--accent,#014916); border:none; }
#zf-filter-panel .zf-filter__apply:hover{ background:var(--accent-dark,#0b5d22); }
#zf-filter-panel .zf-filter__clear{ color:var(--accent,#014916); background:#f3f6f1; border:1px solid #cdd8ca; }
