/*!
Theme Name: Chashifu
Theme URI: 
Author: Igor Zubyk
Author URI: https://www.upwork.com/freelancers/~01671796c0ba318ce3
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: Chashifu
Tags: custom-theme
*/

/* ==========================================================================
   GLOBAL RESET & BASE
   ========================================================================== */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
a {
  cursor: pointer;
  transition: all 0.5s;
}
body {
    font-family: "Open Sans", sans-serif;
  background-color: #fff;
  color: rgba(43, 43, 43, 1);
  line-height: 1.6;
}
.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  background-color: rgba(51, 67, 46, 1);
  scrollbar-gutter: stable;
}

:focus-visible {
	outline: none;
}

.logo {
	outline: none;
}

body {
  padding-top: 15px;
  margin: 0;
  font-family: sans-serif;
}

@media only screen and (max-width: 768px) { 
	body {
		padding-top: 15px;
		}
	
	}

/* ==========================================================================
   HEADER
   ========================================================================== */
   
   
   .header-cart { position: relative; }
.header-cart .carticon { position: relative; display: inline-flex; align-items: center; }
.header-cart .carticon img { display:block; }

.header-cart .cart-count{
  position:absolute; top:-6px; right:-8px;
  min-width:18px; height:18px; padding:0 6px;
  border-radius:999px; background:#2f4a2f; color:#fff;
  font-size:12px; line-height:18px; text-align:center; font-weight:600;
}

.main-nav > a,
.header-cart {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;   /* одна базовая линия со ссылками */
}

.header-cart {
  line-height: 0;           /* убираем «лишний» текстовый ряд */
}

.header-cart .carticon img {
  display: block;
}

/* Чистим маркеры списка внутри мини-корзины */
.header-cart .woocommerce-mini-cart,
.header-cart .woocommerce-mini-cart li{ list-style:none; margin:0; padding:0; }
.header-cart .woocommerce-mini-cart li{ padding:10px 0; border-bottom:1px solid #eee; }
.header-cart .woocommerce-mini-cart li:last-child{ border-bottom:none; }
.header-cart .woocommerce-mini-cart__total{ margin:12px 0; font-weight:600; }
.header-cart .woocommerce-mini-cart__buttons .button{ width:100%; margin-top:8px; }
   
/* Контейнер */

.search-popup__dialog {
  position: absolute;
  width: min(360px, 50vw);
  height: 56px;
  border-radius: 28px;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  top: 50% !important;
  right: 20%;
  transform-origin: right center;
  transform: translateY(-50%) scaleX(0);
  opacity: 0;
  transition: transform .28s ease, opacity .2s ease;
}

/* Когда попап открыт */
.search-popup.is-open .search-popup__dialog {
  transform: translateY(-50%) scaleX(1);
  opacity: 1;
  pointer-events: auto;
}

/* Инпут */
.search-popup input[type="search"] {
  flex: 1 1 auto;
  height: 40px;
  padding: 0 14px;
  border: 1px solid #e4e6e8;
  border-radius: 20px;
  background: #f8fafb;
  font-size: 16px;
  outline: none;
}

.search-popup input[type="search"]:focus {
  border-color: #2E533B;
  background: #fff;
}

/* Кнопка submit скрыта */
.product-search button {
  display: none;
}

/* Кнопка закрыть */
.search-popup__close {
  display:none;
}

.search-popup__close:hover{ opacity:1; }

/* Заголовок */
.search-popup__title { display: none; }

.search-popup__input:focus-visible {
   flex: 1 1 auto; height: 40px;
  padding: 0 14px;
  border: 1px solid #e4e6e8; border-radius: 20px;
  background:#f8fafb; font-size:16px; outline:0; 
    }
    .search-popup__input:focus{ border-color:#2E533B; background:#fff; }

/* Форма */
.product-search { display:flex; align-items:center; gap:10px; width:100%; }
.search-popup__input {
 flex:1 1 auto; height:40px;
  padding:0 14px;
  border:1px solid #e4e6e8; border-radius:20px;
  background:#f8fafb; font-size:16px; outline:0;
}
.search-popup__submit {
  display:none; }
.body--search-open .search-popup__dialog{ transform: translateY(-50%) scaleX(1);
  opacity: 1;
  pointer-events: auto; }
.body--search-open .search-popup__overlay{ opacity: 1; pointer-events: auto; }

/* Чипсы (необязательно) */
.search-popup__chips { margin-top: 12px; display: flex; gap: 8px; flex-wrap: wrap; }
.search-popup__chips button {
  border: 1px solid #eee; background: #f6f6f6; border-radius: 999px;
  padding: 6px 10px; cursor: pointer; font-size: 14px;
}

/* Блокировка скролла страницы при открытии */
.body--search-open { overflow: hidden; }

   
.site-header {
  margin: 0 0 15px 0;
   z-index: 1050;
  
  position: relative;
  }

@media screen and (min-width: 768px) {  
  .site-header-compact {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 6px 0; /* компактная высота */
  z-index: 1050;
  transform: translateY(-100%);
  opacity: 0;
  transition: transform 0.35s ease, opacity 0.35s ease;
}

.site-header-compact.is-visible {
  transform: translateY(0);
  opacity: 1;
}

.site-header-compact .logo img {
  height: 38px; /* уменьшенный логотип */
}

.site-header-compact nav a,
.site-header-compact .icons img {
  transform: scale(0.9);
  opacity: 0.9;
  transition: 0.25s;
}

}

.admin-bar .site-header{ top: var(--stick-top, 32px); }
.site-header .top-bar {
  background-color: rgba(51, 67, 46, 1);
  color: white;
  text-align: center;
  padding: 7px 0;
  font-size: 14px;
  font-weight: 300;
  letter-spacing: 0.5px;
  border-radius: 10px 10px 0 0;
}
.header, .header .container, .site-header-wrap{ overflow: visible; } 
:target{ scroll-margin-top: 90px; }
.site-header .main-header {
   padding: var(--header-pad-y, 0) 70px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}
.site-header .container {
  max-width: 1360px;
  margin: 0 auto;
  box-shadow:
    0px 10px 23px 0px rgba(0, 0, 0, 0.10),
    0px 41px 41px 0px rgba(0, 0, 0, 0.09),
    0px 92px 55px 0px rgba(0, 0, 0, 0.05),
    0px 164px 66px 0px rgba(0, 0, 0, 0.01),
    0px 256px 72px 0px rgba(0, 0, 0, 0);
  border-radius: 10px;
  background-color: #fff;
  position: relative;
  overflow: visible;
}
.logo img {
  height: var(--header-logo-h, 70px);
}

.main-nav,
.main-nav ul,
.main-nav li {
  margin: 0;
  padding: 0;
  list-style: none;
}

.main-nav > ul {
  display: flex;
  gap: 20px; /* или твой текущий отступ между пунктами */
}

.main-nav a {
  text-decoration: none;
  color: inherit;
  display: block;
  padding: 10px 0; /* подгони под свой макет */
}

/* основное меню */
.main-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  width: 60%;
  font-size: var(--header-font-size, 18px);
  font-weight: 300;
  letter-spacing: 0.5px;
}
.main-nav a,
.main-nav__link {
  color: rgba(43, 43, 43, 1);
  text-decoration: none;
  padding: 10px;
  display: inline-block;
  text-transform: uppercase;
}
.main-nav a:hover,
.main-nav__link:hover {
  color: rgba(109, 109, 109, 1);
}
.icons {
  display: flex;
  gap: 20px;
  align-items: center;
  font-size: 22px;
}
.icons .hearticon img {
	width: 26px;
	height: 26px;	
}
.icons a {
  height: 28px;
}
.carticon img {
  height: 28px;
}
.menu-toggle,
.search-bar {
  display: none;
}

/* ========== OFF-CANVAS MOBILE NAV ========== */
.mnav{
  position: fixed;
  inset: 0;
  z-index: 9999;
  visibility: hidden !important;
  pointer-events: none !important;
}
.mnav.is-open{
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Overlay */
.mnav__overlay{
  position: absolute; inset: 0;
  background: rgba(0,0,0,.35);
  opacity: 0 !important;
  transition: opacity .65s cubic-bezier(.22,.61,.36,1);
}
.mnav.is-open .mnav__overlay{ opacity: 1 !important; }

/* Panel */
.mnav__panel{
  position: absolute; top: 0; left: 0;
  height: 100dvh;
  width: 90vw; max-width: 520px;
  background: #F7F5ED;
  box-shadow: 0 20px 60px rgba(0,0,0,.25);
  border-right: 1px solid rgba(0,0,0,.05);
  display: flex; flex-direction: column;
  transform: translateX(-100%) !important;  /* закрыто по умолчанию */
  transition: transform .65s cubic-bezier(.22,.61,.36,1);
  border-radius: 0;
  will-change: transform;
}
.mnav.is-open .mnav__panel{ transform: translateX(0) !important; }

/* Content */
.mnav__scroll{
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  height: 100%;
  padding: 14px 12px 28px;
}
.mnav__close{
  position: absolute; top: 10px; left: 10px;
  width: 32px; height: 32px;
  border: 0; background: transparent; color: #A88667;
  font-size: 26px; cursor: pointer;
}

/* Menu */
.mnav__menu,
.mnav__menu ul{ list-style: none; padding: 0; margin: 0; }
.mnav__menu{ margin-top: 50px; }
.mnav__menu > li{ border-bottom: 1px solid #B08B69; }

.mnav__menu a{
  display: block; padding: 18px 12px;
  color: #33432E; text-decoration: none;
  font-size: 20px; font-weight: 400; text-transform: uppercase;
}

/* ===== Родители с подменю: grid-раскладка ===== */
.mnav__menu li.menu-item-has-children{
  display: grid;
  grid-template-columns: 1fr auto;     /* [текст] | [стрелка] */
  grid-auto-rows: min-content;
  align-items: center;
  row-gap: 8px;                         /* зазор между заголовком и UL */
}
.mnav__menu li.menu-item-has-children > a{
  grid-column: 1 / 2;
  padding-right: 12px;                  /* раньше было 44px под absolute */
}

/* Кнопка-стрелка — сосед после <a>, в своей колонке (SVG и поворот кнопки) */
.mnav__menu li.menu-item-has-children > .submenu-toggle {
  grid-column: 2 / 3;
  position: static;                     /* без absolute */
  transform: none;
  margin-left: 8px;
  width: 30px; height: 30px;
  border: 1px solid #B08B69; border-radius: 8px;
  cursor: pointer; touch-action: manipulation;
  display: inline-flex; align-items: center; justify-content: center;
  z-index: 1;
  border: none;
  border-radius: none;
  background-color: transparent;
  background-image: url('img/arrow_down.svg'); /* путь от корня темы (style.css) */
  background-repeat: no-repeat;
  background-position: center;
  background-size: 30px 30px;
  transition: transform .22s ease, background-color .18s ease, border-color .18s ease;
}
.mnav__menu li.menu-item-has-children > .submenu-toggle:hover{

}
/* при раскрытии разворачиваем кнопку (иконка — фон) */
.mnav__menu li.is-open > .submenu-toggle{
  transform: rotate(180deg);
}

/* Подменю — на следующей строке, на всю ширину */
.mnav__menu li.menu-item-has-children > ul{
  grid-column: 1 / -1;
  overflow: hidden;
  max-height: 0;
  transition: max-height .25s ease;
}
.mnav__menu li.is-open > ul{ max-height: 1000px; }

/* Внутренние пункты */
.mnav__menu li > ul a{
  font-size: 18px; font-weight: 500;
  padding: 14px 12px 14px 20px;
}
.mnav__menu li li > a{ padding-left: 28px; }
.mnav__menu li li li > a{ padding-left: 36px; }

.mnav__menu li > ul li{
  border-bottom: 1px solid rgba(0,0,0,.07);
}

/* Блокируем прокрутку документа при открытом меню */
.body--mnav-open{ overflow: hidden; }

/* Desktop: полностью выключаем off-canvas */
@media (min-width: 1025px){
  .mnav{ display: none !important; }
  .menu-toggle{ display: none; }
}

/* Уважение prefers-reduced-motion */
@media (prefers-reduced-motion: reduce){
  .mnav__overlay{ transition: none; }
  .mnav__panel{ transition: none; }
  .mnav__menu ul{ transition: none; }
}

/* ==========================================================================
   MEGA‑MENU
   ========================================================================== */

/* Отменяем relative у пункта — нужны только у .container */
.main-nav__item--has-children {
  position: static;
}

/* Базово скрыто */
.main-nav__item--has-children .mega-menu {
  display: none;
  position: absolute;
  top: 100%;    /* ровно сразу под .container */
  left: 0;
  right: 0;     /* тянем на всю ширину контейнера */
  background: #fff;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  padding: 40px 60px;
  border-radius: 10px;
  z-index: 20;
  margin-top: 1px;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.mega-menu::before {
  content: "";
  position: absolute;
  top: -30px;        /* захватываем 10px над меню */
  left: 0;
  width: 100%;
  height: 30px;     

}

/* Показываем только при наведении */
.main-nav__item--has-children:hover  .mega-menu,
.main-nav__item--has-children:focus-within .mega-menu,
.main-nav__item--has-children .mega-menu:hover {
  display: grid;
}

/* Колонки */
.mega-menu__col {
  padding: 0 30px;
}
.mega-menu__col:last-child {
  border: none;
}
.mega-menu__title {
  font-size: 20px;
  line-height: 1.3;
  font-weight: 600;
  text-transform: uppercase;   /* как на макете */
  color: #2b2b2b;
  margin-bottom: 24px;
}
.mega-menu__col ul {
 margin: 0;
  padding: 0;
  list-style: none;
}
.mega-menu__col li {
  margin-bottom: 16px;
  border-bottom: 1px solid #f5f2f0;
}
.mega-menu__col li:last-child {
  margin-bottom: 0;
}
.mega-menu__col a {
  display: block;              /* делаем ссылку на всю ширину */
  font-size: 21px;
  line-height: 1.4;
  font-weight: 300;
  color: #666666;
  padding: 15px 0;  
  text-transform: uppercase;
  transition: color 0.2s;
}
.mega-menu__col a:hover {
  color: #2b2b2b;
}

.mega-menu__col:first-child {
  border-right: 1px solid rgba(109, 109, 109, 1);
}

/* Промо‑карточка */
.mega-menu__col--promo {
  padding: 0 30px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
.promo-card {
  width: 100%;
  max-width: 280px;
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  text-align: center;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
  margin-top: 8px;
}
.promo-card img {
  width: 100%;
  display: block;
}
.promo-card__body {
  padding: 16px;
}
.promo-card__badge {
  display: block;
  font-size: 14px;
  font-weight: 300;
  margin-bottom: 12px;
  color: rgba(43, 43, 43, 1);
}

.promo-card__body a {
	font-size: 12px;
	color: #fff;
}
.promo-card__body a:hover {
	color: #fff;
}
.promo-card__btn {
  display: inline-block;
  padding: 8px 20px;
  background: #33432E;
  color: #fff;
  text-decoration: none;
  border-radius: 4px;
  transition: background .3s;
}
.promo-card__btn:hover {
  background: #2f4228;
}

/* ==========================================================================
   HERO
   ========================================================================== */


.hero-section {
  position: relative;
  z-index: 1;
  margin-top: -170px;      /* поднимаем под header */

}

.hero-swiper {
  width: 100%;
  height: 700px;        /* фиксируем высоту для фонового изображения */
  overflow: hidden;      /* обрезаем только содержимое слайдов */
  position: relative;
  z-index: 1;
}

/* Сами слайды */
.hero-slide {
  height: 100%;
  display: flex !important;
  align-items: end !important;
  justify-content: flex-start;
  background-size: cover;
  background-position: center;
}

.hero-content {
  max-width: 1200px;
  width: 100%;
  padding-right: 35%;
  padding-bottom: 50px;
  margin: 0 auto;
  color: #2b2b2b;
  z-index: 2;
  position: relative;
}

.hero-content h1 {
  font-size: 48px;
  line-height: 1.2;
  margin-bottom: 10px;
  font-weight: 400;
  text-transform: uppercase;
}
.hero-text {
	margin-bottom: 150px;
}

.hero-content p {
  font-size: 24px;
  line-height: 1.2;
  font-weight: 300;
  margin-bottom: 10px;
}

.hero-content .btn {
  padding: 10px 45px;
  background-color: rgba(51, 67, 46, 1);
  color: white;
  border-radius: 6px;
  text-decoration: none;
  font-size: 21px;
  line-height: 21px;
  font-weight: 300;
  letter-spacing: 0.5px;
  display: inline-block;
  margin-top: 30px;
  cursor: pointer;
  border: 1px solid rgba(51, 67, 46, 1);
}

.hero-content .btn:hover {
  background-color: rgba(247, 245, 240, 1);
  color: rgba(43, 43, 43, 1);
  border: 1px solid rgba(51, 67, 46, 1);
}

.hero-pagination {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  z-index: 1;
  justify-content: center;
  bottom: -30px !important;
}

.hero-bullet {
  width: 100px;
  height: 8px;
  background: #dcdcdc;
  border-radius: 2px;
  opacity: 1;
  transition: background 0.3s;
  cursor: pointer;
}
.hero-bullet-active {
  background: #2f4228;
}


@media (max-width: 768px) {
	
	.site-header {
		margin: 0 0 15px 0;
	}
	
	body.single-product .site-header {
		margin-bottom: 0;
	}
	
	body.single-product .single-product__container .product-meta a {
		text-decoration: none !important;
	}

  /* 1) Header: показываем бургер и прячем меню */
  .site-header .main-header {
    padding: 20px 10px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
 .site-header .logo img {
	  height: 50px;
  }
  .site-header .container {
	background-color: rgba(247, 245, 240, 1);
	border-radius: 0;
  }

  .site-header .main-header .menu-toggle {
    display: block;
    background: none;
    border: none;
    padding: 0;
    margin-right: 10px;
    z-index: 11;
  }
  .site-header .main-header .menu-toggle img {
  width: 25px;
    height: 25px;
    }
    .site-header .icons .carticon img {
	    width: 27px;
	    height: 27px;
    }
    
    .site-header .top-bar {
	    font-size: 12px;
    }
  
  .site-header .top-bar {
	  border-radius: 0;
  }
  
  

  .site-header .main-header .main-nav {
    display: none;
  }

  /* 2) Логотип по центру */
  .site-header .main-header .logo {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
  }

  /* 3) Иконки справа */
  .site-header .main-header .icons {
    order: 3;
  }
  
  .searchicon, .hearticon {
	  display: none;
  }

  /* 4) Поиск */
  .search-bar {
    display: flex;
    align-items: center;
    padding: 10px 20px;
    background-color: rgba(247, 245, 240, 1);
    border-top: 1px solid rgba(168, 134, 103, 1);
  }

  .search-bar input {
    flex: 1;
    border: none;
    font-size: 12px;
    padding: 8px;
    outline: none;
    background-color: rgba(247, 245, 240, 1);
  }

  .search-bar button {
    background: none;
    border: none;
    padding: 0 8px;
  }

  /* 5) Hero: уменьшаем высоту и центрируем текст */
  .hero-section {
    margin-top: -190px;  /* поднимаем hero под header */
  }

  .hero-swiper {
    height: 70vh;      /* 60% от высоты экрана */
    min-height: 300px; /* минимум */
  }

  .hero-slide {
    justify-content: center !important;
  }

  .hero-content {
    padding: 0 35px;
    text-align: center;
  }

  .hero-content h1 {
    font-size: 29px;
    margin-bottom: 8px;
  }

  .hero-content p {
    font-size: 20px;
    margin-bottom: 12px;
  }

  .hero-content .btn {
    font-size: 16px;
    padding: 10px 45px;
    margin-bottom: 30px;
  }
  
  .hero-text {
    margin-bottom: 130px;
}
  

  /* 6) Пагинация: внутри hero-section, уходим вниз картинки */
  .hero-pagination {
    position: absolute;
    bottom: -20px !important;             /* сразу под слайдером */
    left: 50%;
    transform: translateX(-50%);
   
  }

  .hero-bullet {
    width: 60px;
    height: 6px;
  }
}


/* ========== Секция категорий ========== */
.categories-nav {
  padding: 90px 0;
}
.categories-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 40px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.category-item {
  flex: 1;
  max-width: 180px;
}
.category-item a {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  color: rgba(43, 43, 43, 1);
  text-decoration: none;
  transition: transform .2s;
}
.category-item a:hover {
  transform: translateY(-4px);
}
.category-item img {
  width: 64px;
  height: auto;
  margin-bottom: 12px;
}
.category-item span {
  font-size: 24px;
  font-weight: 300;
  line-height: 1.2;
  color: rgba(43, 43, 43, 1);
}


/* ========== Адаптив ========== */
@media (max-width: 1024px) {
  .categories-list {
    gap: 0;
  }
  .category-item img {
    width: 70px;
  }
  .category-item span {
    font-size: 16px;
  }
}

@media (max-width: 768px) {
	.categories-nav {
    padding: 60px 0 30px 0;
}
	.categories-nav .container {
		padding-right: 15px;
		padding-left: 15px;
	}
  .categories-list {
    display: flex;
  flex-wrap: wrap;          /* позволяем перенос */
  overflow-x: visible;      /* убираем горизонтальный скролл */
  -webkit-overflow-scrolling: auto;
  scroll-snap-type: none;   /* отключаем прилипания */
  padding-bottom: 0;
  }
  
  .categories-list::-webkit-scrollbar {
  display: none;                 /* Chrome, Safari и Opera */
}

  .category-item {
   flex: 1 1 25%;      /* 4 иконки в ряд на мобилке */
  max-width: none;
  margin-right: 0;
  scroll-snap-align: none;            /* подгон под ширину мобильных */
  }

  .category-item img {
    width: 60px;
  }
  .category-item span {
    font-size: 14px;
  }
  
}


/* ===== Наші рекомендації ===== */
.recommendations-section {
  padding: 0 0 80px 0;
}
.recommendations-section__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 40px;
}
.recommendations-section__header-left {
  max-width: 60%;    /* при необходимости подкорректировать */
}
.recommendations-section__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0;
  display: block;
}
.recommendations-section__title {
  margin: 0;
  font-size: 40px;
  letter-spacing: 0.5px;
  font-weight: 300;
  text-transform: uppercase;
  color: rgba(43,43,43,1);
}

.recommendations-section__desc {
  margin: 0;
  font-size: 16px;
  font-weight: 300;
  color: rgba(43, 43, 43, 1);
}

.recommendations-section__header .tab-button {
	border: 1px solid rgba(229, 229, 229, 1);
	background-color: #fff;
	color: rgba(43, 43, 43, 1);
}

.recommendations-section__header .tab-button.is-active {
	background-color: rgba(247, 245, 240, 1);
	border: 1px solid rgba(51, 67, 46, 1);
	color: rgba(43, 43, 43, 1);
	
}

/* Табы */
.recommendations-section__tabs {
  display: flex;
  gap: 12px;
}
.recommendations-section__tabs {
  justify-content: flex-start;
  margin-top: 0;     /* если было margin‑bottom или margin‑top — отрегулируйте */
}
.tab-button {
	font-family: "Open Sans", sans-serif;
  padding: 10px 35px;
  border: 1px solid #33432E;
  color: #33432E;
  border-radius: 6px;
  background: rgba(247, 245, 240, 1);
  font-size: 21px;
  line-height: 21px;
  font-weight: 300;
  cursor: pointer;
  transition: background .3s, color .3s;
}
.tab-button.is-active {
  background: #33432E;
  color: #FFF;
}

/* Сетка продуктов */
.products.grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Карточка товара */
.product {
  display: flex;
  flex-direction: column;
  background: #FFF;
  overflow: hidden;
  padding: 0 0 24px 0;
  position: relative;
  box-sizing: border-box;
  }

/* Верхняя часть карточки — изображение */
.product__thumb {
  position: relative;
  overflow: hidden;
  margin-bottom: 16px;
   overflow: hidden;
}
.recommendations-section .product__thumb {
	 margin-bottom: 0;
}
body.single-post .recommendations-section .product__thumb, body.single-post .recommendations-section .product__meta {
margin-bottom: 10px;	
}

.product__thumb img.attachment-woocommerce_thumbnail {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  object-position: center;
  border: 1px solid rgba(229, 229, 229, 1);
  border-radius: 6px;
}

/* Бейдж SALE */
.badge {
  position: absolute;
  top: 8px;
  left: 8px;
  background: rgba(0, 0, 0, 0.05);
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 12px;
  text-transform: uppercase;
}

/* Кнопка "в обране" */
.wishlist-button {
  position: absolute;
  top: 8px;
  right: 8px;
  background: none;
  border: none;
  font-size: 20px;
  cursor: pointer;
}

/* Название товара */
.woocommerce-loop-product__title {
  font-size: 18px;
  font-weight: bold;
  margin: 0;
}

/* Подзаголовок — категория */
.woocommerce-loop-product__subtitle {
  display: block;
  font-size: 14px;
  color: #666;
  margin-bottom: 10px;
}

/* SKU */
.sku {
  display: block;
  font-size: 14px;
  color: #999;
  margin: 0;
}

/* Цена */
.price {
  display: block;
  font-size: 18px;
  font-weight: bold;
  margin: 0 0 16px 0;
}

/* Кнопка "Add to cart" */
.product form.cart,
.product a.button {
  margin-top: auto;
}

/* Общие стили кнопки */
.product .button {
  width: 100%;
  display: block;
  text-align: center;
  background: #3c4a32;
  color: white;
  padding: 10px 20px;
  border-radius: 6px;
  border: none;
  font-weight: 400;
  font-size: 12px;
  transition: background 0.3s;
  cursor: pointer;
}
.product .button:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt:hover, .also-like div.product form.cart .button:hover, .accessory-button button.button:hover {
  background: rgba(168, 134, 103, 1) !important;
}

/* Адаптив: 2 в ряд на планшете */
@media (max-width: 1024px) {
  .product {
    flex: 1 1 calc(50% - 20px);
  }
}

/* Адаптив: 1 в ряд на телефоне */
@media (max-width: 768px) {
  .product {
    flex: 1 1 100%;
  }
  .recommendations-section__inner {
	  padding-right: 15px;
	  padding-left: 15px;
  }
}


/* Информационная часть */
.woocommerce-loop-product__title a {
  font-size: 16px;
  font-weight: 300;
  text-transform: none;
  color: rgba(51, 67, 46, 1);
  text-decoration: none;
}
.woocommerce-loop-product__title a:hover {
	text-decoration: underline;
}
.woocommerce-loop-product__subtitle a {
  font-size: 14px;
  font-weight: 300;
  color: rgba(109,109,109,1);
  margin-bottom: 8px;
  text-decoration: none;
}
.woocommerce-loop-product__subtitle a:hover {
	text-decoration: underline;
}
.sku {
  font-size: 12px;
  color: rgba(168,168,168,1);
}
.price {
  font-size: 16px;
  font-weight: 400;
  color: #33432E;
  margin-left: auto;
  margin-bottom: 12px;
}

body.single-product .rightcol .price {
	font-size: 33px;
}

/* Вариации и кнопка */
.variation-select {
  width: 100%;
  padding: 8px;
  margin-bottom: 12px;
  border: 1px solid rgba(168,168,168,1);
  border-radius: 4px;
  appearance: none;
}
.add_to_cart_button {
  display: block;
  width: 100%;
  padding: 12px;
  background: #33432E;
  color: #FFF;
  text-align: center;
  border-radius: 6px;
  text-decoration: none;
  font-size: 16px;
  font-weight: 300;
  transition: background .3s;
  margin-top: auto;
}
.add_to_cart_button:hover {
  background: #2F4228;
}

/* Кнопка «Дивитись все» */
.recommendations-section__footer {
  text-align: center;
  margin-top: 60px;
}

.btn-view-all {
  display: inline-block;
  padding: 10px 35px;
  border: 1px solid #33432E;
  border-radius: 10px;
  background: transparent;
  color: #33432E;
  font-size: 21px;
  line-height: 21px;
  font-weight: 300;
  text-decoration: none;
  transition: background .3s, color .3s;
}
.btn-view-all:hover {
  background: #33432E;
  color: #FFF;
}

/* ===== Адаптив ===== */
@media (max-width: 1024px) {
  .products.grid { grid-template-columns: repeat(2,1fr); gap: 30px; }
}
@media (max-width: 768px) {
	
	.recommendations-section__header {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 12px;            /* расстояние между блоками */
    margin-bottom: 24px;  /* отступ под шапкой */
  }

  /* Левая часть (заголовок + описание) */
  .recommendations-section__header-left {
    width: 100%;
    max-width: 100%;
    padding: 0 0px;      /* отступы сбоку */
  }

  /* Табы — под шапкой, по центру */
  .recommendations-section__tabs {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    padding: 0 0px;
  }
.recommendations-section .ch-variation-row {
	margin-bottom: 15px;
}
  /* Кнопка‑таб — чтобы растягивались одинаково */
  .recommendations-section__tabs .tab-button {

    max-width: none;
  }
  .recommendations-section__title {
	  font-size: 24px;
	  line-height: 1.2;
	  text-align: left;
  }
  .recommendations-section__desc {
	  text-align: left;
  }
  .recommendations-section .tab-button {
	  font-size: 12px;
	  padding: 10px 25px;
  }
  /* 1) Оборачиваем грид в flex-строку */
  .recommendations-section .products.grid {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    gap: 20px;
    padding-bottom: 10px;       /* место под скролл */
    scroll-snap-type: x mandatory;
  }
  /* прячем «ползунок» */
  .recommendations-section .products.grid::-webkit-scrollbar {
    display: none;
  }
  .recommendations-section .products.grid {
    scrollbar-width: none;      /* Firefox */
    -ms-overflow-style: none;   /* IE10+ */
  }

  /* 2) Задаём ширину карточек */
  .recommendations-section .product {
    flex: 0 0 80%;               /* показываем по ~1 карточке + часть соседей */
    min-width: 80%;
    scroll-snap-align: start;
  }

  /* 3) Центруем кнопку «Дивитись все» */
  .recommendations-section__footer {
    text-align: center;
    margin-top: 20px;
  }
  .recommendations-section__footer .btn-view-all {
    width: 90%;
    max-width: 300px;
  }
}

/* ====== Featured Posts ====== */
.featured-posts {
  padding: 50px 0;
  background-color: #33432E; /* ваш фон */
  color: #F7F5F0;
}
.featured-posts .container {
  max-width: 1200px;
  margin: 0 auto;
}

/* Header: заголовок + кнопка */
.posts-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 40px;
}
.posts-header h2 {
  font-size: 40px;
  font-weight: 300;
  text-transform: uppercase;
  margin: 0;
}
.featured-posts .btn-outline {
  display: inline-block;
  padding: 10px 65px;
  background-color: #fff;
  font-weight: 300;
  letter-spacing: 0.5px;
  border: 2px solid #F7F5F0;
  border-radius: 10px;
  color: rgba(51, 67, 46, 1);
  text-decoration: none;
  font-size: 21px;
  line-height: 21px;
  transition: background 0.3s, color 0.3s;
}
.featured-posts .btn-outline:hover {
  background: #F7F5F0;
  color: #33432E;
}
.featured-posts .btn-mobile {
  display: none;
}

.featured-posts .btn-desktop {
  display: inline-block;
}

/* Grid of posts */
.posts-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
.post-item {
  background: transparent;
}
.featured-posts .post-image {
  display: block;
  overflow: hidden;
  border-radius: 10px;
}
.featured-posts .post-image img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  display: block;
}
.post-content {
  margin-top: 16px;
}
.post-title {
  font-size: 18px;
  font-weight: 300;
  letter-spacing: 0.5px;
  margin: 0 0 12px;
  color: #F7F5F0;
}
.post-excerpt {
  font-size: 14px;
  line-height: 1.5;
  font-weight: 300;
  margin: 0 0 16px;
  color: #F7F5F0;
}
.read-more {
  font-size: 16px;
  color: #F7F5F0;
  text-decoration: none;
  font-weight: 300;
  transition: color 0.3s;
  letter-spacing: 0.5px;
  position: relative;
}
.read-more:hover {
  text-decoration: underline;
}

.read-more:after {
    content: "";
    top: 0;
    right: -25px;
    height: 20px;
    width: 20px;
    position: absolute;
    background: url(img/arrow-right-up.svg);
}


/* Не даём тексту переноситься → высота не прыгает */
.add_to_cart_button,
.single_add_to_cart_button,
.button.is-view-cart {
  white-space: nowrap;
}

/* Состояние "Переглянути кошик" — новый фон */
.add_to_cart_button.is-view-cart,
.single_add_to_cart_button.is-view-cart,
a.button.is-view-cart {
  background-color: rgba(168, 134, 103, 1) !important;
  border-color: rgba(168, 134, 103, 1) !important;
  outline: none;
}

/* На всякий случай убираем нижний зазор у текста внутри кнопок */
.add_to_cart_button *,
.single_add_to_cart_button * { line-height: 1; }

a.added_to_cart.wc-forward { display: none !important; cursor: pointer;}

button.added {
	background: rgb(168 134 103) !important;
}

/* ========== Адаптив ========== */
@media (max-width: 1024px) {
  .posts-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
  }
  .posts-header h2 {
    font-size: 20px;
  }
  .posts-header .btn-outline {
    font-size: 16px;
    padding: 10px 40px;
  }
}
@media (max-width: 768px) {
	.featured-posts .container {
  padding-right: 15px;
  padding-left: 15px;
}
  .posts-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }
  .posts-header .btn-outline {
	  align-self: center;
    text-align: center;
  }
  .posts-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
 .featured-posts .btn-desktop {
    display: none;
  }

  /* Показываем мобильную копию под постами */
.featured-posts .posts-footer {
    text-align: center;       /* центрируем */
    margin-top: 30px;         /* отступ сверху */
  }
 .featured-posts .btn-mobile {
    display: inline-block;
    font-size: 18px;
    padding: 10px 40px;
  }
}

/* ====== ABOUT SECTION ====== */
.about-section {
  padding: 80px 0;
  background-color: #fff;
}

/* Скопируем контейнер под область About */
.about-section .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0;
}

.about-section .about-inner {
  display: flex;
  align-items: center;
  gap: 40px;
}

.about-section .about-media,
.about-section .about-content {
  flex: 1 1 50%;
  box-sizing: border-box;
}

.about-section .about-media img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  border-radius: 12px;
  display: block;
}


.about-section .about-content h2 {
  font-size: 40px;
  font-weight: 300;
  margin-bottom: 24px;
  color: #2b2b2b;
  text-transform: uppercase;
}

.about-section .about-content p {
  font-size: 16px;
  line-height: 1.6;
  color: rgba(43, 43, 43, 1);
  margin-bottom: 16px;
  font-weight: 300;
}

/* ========== Адаптив ========== */
@media (max-width: 992px) {
  .about-section .about-inner {
    flex-direction: column;
    gap: 20px;
  }
  .about-section .about-content h2 {
    text-align: center;
  }
}

@media (max-width: 768px) {
  .about-section .about-content p {
    font-size: 14px;
  }
  .about-section .about-inner {
    flex-direction: column-reverse; /* текст сверху, картинка снизу */
    gap: 20px;
  }
  .about-section .about-content h2 {
    text-align: center;
    font-size: 24px;
  }
  .about-section {
    padding: 30px 0;
}
.about-section .about-media img {
	width: 100%;
	height: 270px;
}
.about-section .about-content {
	padding-left: 15px;
	padding-right: 15px;
}

.single-product-page .single-product__container {
	padding: 15px;
}
 
}

/* ======== Відгуки ======== */
.reviews-section {
  padding: 30px 0;
  background: #F7F5F0;
}
.reviews-section__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0;
}
.reviews-section__title {
  font-size: 40px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-weight: 300;
  margin-bottom: 25px;
  color: rgba(43,43,43,1);
}

/* сам контейнер Swiper */
.reviews-section__carousel {
  position: relative;
  overflow: visible;
}

/* каждый отзыв */
.reviews-section__item {
  padding: 24px;
  border-radius: 8px;
  height: 100%;
}
.reviews-section__text {
  font-size: 16px;
  line-height: 1.5;
  margin-bottom: 16px;
  font-weight: 300;
  color: rgba(43, 43, 43, 1);
}
.reviews-section__author {
  font-weight: 600;
  margin: 10px 0;
  color: rgba(43,43,43,1);
}
.reviews-section__stars {
  display: flex;
  gap: 4px;
  color: #A88667;
}
.reviews-section__stars span {
  font-size: 18px;
}

/* пагинация‑полоски */
.reviews-section__pagination {
  /* статическое расположение под каруселью */
  position: relative !important;     /* или просто убрать вовсе */ 
  left: auto;
  transform: none;
  display: flex;
  justify-content: center;
  margin: 40px auto 0;    /* отступ сверху, центрирование */
  gap: 12px;
}

.reviews-section__pagination .reviews-section__bullet {
  width: 60px;
  height: 4px;
  background: #dcdcdc;
  border-radius: 2px;
  opacity: 1;
  cursor: pointer;
  transition: background .3s;
}
.reviews-section__pagination .reviews-section__bullet-active {
  background: #2f4228;
}

/* адаптив */
@media (max-width: 1024px) {
  .reviews-section__item {
    padding: 20px;
  }
}
@media (max-width: 768px) {
  .reviews-section__carousel {
    padding-bottom: 20px;
  }
  .reviews-section__pagination {
    bottom: -20px;
  }
  .reviews-section__title {
  font-size: 24px; 
  margin-bottom: 10px;
  }
  .reviews-section__container {
	  padding-left: 15px;
	  padding-right: 15px;
  }
}

/* ====== Footer ====== */
.site-footer {
  background: #fff;
}
.site-footer__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 40px;
  padding: 60px 0;
}
.site-footer__col {
  flex: 1 1 160px;
  min-width: 160px;
}
.site-footer__logo img {
  max-width: 100px;
  display: block;
  margin: 0;
}
.site-footer__heading {
  font-size: 16px;
  font-weight: 400;
  margin-bottom: 16px;
  color: rgba(43, 43, 43, 1);
}
.site-footer__map-img {
  width: 100%;
  max-width: 200px;
  height: auto;
  border-radius: 6px;
  display: block;
}
.site-footer__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.site-footer__item {
  display: flex;
  align-items: center;
  margin-bottom: 12px;
}
.site-footer__item:last-child {
  margin-bottom: 0;
}
.site-footer__icon {
  width: 24px;
  height: 24px;
  margin-right: 12px;
  border: 1px solid #A88667;
  border-radius: 50%;
  padding: 4px;
  box-sizing: content-box;
}
.site-footer__item a {
  color: rgba(109, 109, 109, 1);
  text-decoration: none;
  transition: color 0.3s;
  font-size: 14px;
}
.site-footer__item a:hover {
  color: #33432E;
}

/* Нижняя полоса */
.site-footer__bar {
  background: #33432E;
  color: #fff;
  padding: 20px 0;
}
.site-footer__bar .container {
  font-size: 14px;
  font-weight: 300;
}

/* === Footer: мобильная версия === */
@media (max-width: 768px) {
  /* Скрываем логотип */
  .site-footer .container {
	  padding-right: 15px;
	  padding-left: 15px; 
  }
  .site-footer__bar .container {
	  text-align: center;
  }
  .site-footer__logo {
    display: none;
  }

  /* Делаем контейнер строкой с переносами */
  .site-footer__inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 20px;
    padding: 30px 0;
    text-align: left;
  }

  /* Мапа и контакты — по 50% */
  .site-footer__map,
  .site-footer__contacts {
    flex: 0 0 45%;
    max-width: 45%;
  }

  /* Две навигации — тоже по 50% */
  .site-footer__col--nav {
    flex: 0 0 45%;
    max-width: 45%;
  }
}

/* ==========================================================================
   SINGLE PRODUCT
   ========================================================================== */
 
 body.single-product {
	 background-color: rgba(247, 245, 240, 1);
 }
   
   .single-product__container {
  display: grid;
  grid-template-columns: 9fr 11fr;
  gap: 80px;
  align-items: start;
  padding: 35px;
  max-width: 1360px;
  margin: 0 auto;
  background: #fff;
}

 .single-product__container .leftcol {
  width: 100%;
}

 .single-product__container .rightcol {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

 .single-product__container .product-title {
  font-size: 35px;
  line-height: 1.3em;
  font-weight: 300;
  margin-bottom: 0;
  color: rgba(40, 54, 69, 1);
  text-transform: uppercase;
}

@media only screen and (max-width: 768px) {
	.single-product__container .product-title, .single-product__container .price, .single-product__container .sku {
		 margin-bottom: 0;
		 margin-top: 0 !important
	}
	}

   .single-product-page .quantity input.qty {
  width: 60px;
  font-size: 16px;
  padding: 4px 10px;
  border: 1px solid rgba(224, 228, 226, 1);
  border-radius: 4px;
  background: #fff;
  appearance: none;
  -moz-appearance: textfield;
}

.single-product-page .quantity input.qty::-webkit-outer-spin-button,
.single-product-page .quantity input.qty::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}
   
.single-product-page {
  padding-top: 20px;
}

.single-product-page .flex-control-thumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  list-style: none;
  margin: 20px 0 0 0;
  padding: 0;
  justify-content: flex-start;
}

.single-product-page .flex-control-thumbs li {
  width: calc(20% - 8px); /* 5 в ряд с отступами */
  margin: 0;
  counter-increment: none;
}

.single-product-page .flex-control-thumbs li img {
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid #eee;
  border-radius: 4px;
  cursor: pointer;
  transition: border 0.3s;
}

.single-product-page .flex-control-thumbs li img:hover {
  border-color: #333;
}

.single-product-page .flex-control-thumbs ol,
.single-product-page .flex-control-thumbs li::marker {
  display: none !important;
}


.single-product__container .single-product .product-type-simple {
	display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start;
}
.woocommerce-page div.product div.images, .woocommerce-page div.product div.summary  {
	width: 100%;
}

.single-product-page .woocommerce-product-gallery__trigger {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 10;
  width: 32px;
  height: 32px;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1px 4px rgba(0,0,0,0.1);
  transition: background 0.3s ease;
}

.single-product-page .woocommerce-product-gallery__trigger:hover {
  background: #f0f0f0;
}

.single-product-page .woocommerce-product-gallery {
  position: relative;
}

.single-product-page .woocommerce-product-gallery__trigger {
  display: none !important;
}


.product-title {
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 10px;
  color: #2b2b2b;
}

.single-product__container .product-meta {
  font-size: 16px;
  line-height: 1.3em;
  font-weight: 300;
  color: rgba(109, 109, 109, 1);
  margin-bottom: 16px;
}
.single-product__container .product-meta a {
color: rgba(109, 109, 109, 1);
}
.single-product__container .product-meta a:hover {
	text-decoration: none;
}

.single-product__container .sku {
	margin-top: 15px;
	color: rgba(109, 109, 109, 1);
	font-size: 14px;
	font-weight: 300;
}

.single-product__container  p {
	color: rgba(40, 54, 69, 1);
	font-size: 14px;
	line-height: 1.6;
	font-weight: 300;
}

.single-product__container .product-price {
	color: rgba(43, 43, 43, 1);
	font-size: 40px;
	font-weight: 300;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt {
	margin-top: 25px;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt {
	width: 100%;
	text-align: center;
	background: rgba(51, 67, 46, 1);
}

.woocommerce-product-gallery__wrapper img {
	border: 1px solid #eee;
    border-radius: 4px;
}



.product-rating {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
}

.product-short-description {
  font-size: 15px;
  margin-bottom: 24px;
  color: #444;
}

.product-instructions {
  display: flex;
  gap: 24px;
  margin-bottom: 30px;
}

.instruction {
  text-align: center;
  font-size: 14px;
  color: #333;
}

.instruction img {
  width: 28px;
  height: 28px;
  margin-bottom: 6px;
}

.product-cart .single_add_to_cart_button {
  background: #33432E;
  color: #fff;
  padding: 14px;
  font-size: 16px;
  border: none;
  border-radius: 6px;
  width: 100%;
  transition: background .3s;
}
.product-cart .single_add_to_cart_button:hover {
  background: #2b3a24;
}

.single-product__description {
  background: #F7F5F0;
  padding: 60px 0;
  margin-top: 60px;
}

.description-container {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  max-width: 1200px;
  margin: 0 auto;
  align-items: center;
}

.description-image {
  flex: 1 1 40%;
  max-width: 40%;
}

.description-text {
  flex: 1 1 60%;
}

.description-text h2 {
  font-size: 28px;
  margin-bottom: 20px;
}

.description-text .content {
  font-size: 16px;
  line-height: 1.6;
  color: #333;
}

.single-product-page .quantity-row {
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: space-between;
}

.single-product-page .quantity-label {
  font-weight: 600;
  font-size: 16px;
  white-space: nowrap;
}

.single-product-page .quantity input.qty {
  width: 60px;
  text-align: center;
}
.product-quantity-label {
color: rgba(40, 54, 69, 1);
font-size: 16px;
font-weight: 500;
}

.product-details-section {
  background-color: rgba(247, 245, 240, 1);
  padding: 30px 15px;
}

.product-details-wrapper {
  max-width: 1360px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 2fr; /* 1/3 - 2/3 */
  gap: 60px;
  align-items: center;
}

.product-details-image img {
  width: 100%;
  height: 400px;
  border-radius: 16px;
  object-fit: cover;
  display: block;
}

.product-details-text {
  color: #1f1f1f;
}

.single-product-page .single-product__container{
  column-gap: 80px;   /* вместо gap */
  row-gap: 0;         /* убираем вертикальный */
}

/* Мобилка: одна колонка, можно добавить вертикальный зазор между блоками */
@media (max-width: 1024px){
  .single-product-page .single-product__container{
    grid-template-columns: 1fr;
    column-gap: 0;
    row-gap: 24px;    /* выбери свой размер */
  }
}

/* На всякий: мобильный заголовок не участвует в гриде на десктопе */
@media (min-width: 1025px){
  .single-product-page .sp-top-mobile{ display: none !important; }
}

.product-details-text h2 {
  font-size: 38px;
  margin-bottom: 25px;
  font-weight: 300;
  text-transform: uppercase;
  color: rgba(43, 43, 43, 1);
}

.product-full-description p {
  font-size: 16px;
  line-height: 1.7;
  font-weight: 300;
  color: rgba(43, 43, 43, 1);
  margin-bottom: 20px;
}

.tea-accessories-section {
  padding: 80px 0;
  background-color: #fff;
}

.tea-accessories-wrapper {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 60px;
  align-items: center;
}

.accessories-info {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.accessories-subtitle {
  font-size: 18px;
  text-transform: uppercase;
  color: rgba(43, 43, 43, 1);
  margin-bottom: 10px;
  letter-spacing: 1px;
  font-weight: 300;
}

.accessories-title {
  font-size: 24px;
  font-weight: 300;
  text-transform: uppercase;
  color: rgba(43, 43, 43, 1);
  line-height: 1.3;
  margin: 0;
  letter-spacing: 1px;
}

.accessories-products {
  display: flex;
  flex-direction: column;
}

.accessories-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* 4 товара в ряд */
  gap: 30px;
}

.accessory-item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  padding-bottom: 10px;
}

.accessory-thumb {
  width: 100%;
}

.accessory-thumb img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  border-radius: 5px;
}

.accessory-content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-grow: 1;
  padding: 10px 0 0;
}

.accessory-meta {
  margin-bottom: 10px;
}

.accessory-button {
  margin-top: auto;
}

.accessory-title {

display: block;
  font-size: 12px;
  margin-bottom: 5px;
  font-weight: 400;
  text-align: left;
}

.accessory-price {
  font-size: 14px;
  color: #333;
  margin-bottom: 5px;
  width: 100%;
  display: block;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button {
  background: rgba(51, 67, 46, 1);
  color: #fff;
  font-size: 12px;
  font-weight: 400;
}

@media screen and (max-width: 768px) {
	.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button {
		  font-size: 14px;
		
		}
	
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:hover {
  background: #2d3a26;
  color: #fff;
}

.accessory-button {
  margin-top: auto;
}

.accessory-button .button {
  background-color: #2f3b27;
  color: #fff;
  padding: 10px 20px;
  border-radius: 6px;
  transition: all 0.3s ease;
}

.accessory-button .button:hover {
  background-color: #4b5a3b;
}

@media (max-width: 1024px) {
  .accessories-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .accessories-grid {
    grid-template-columns: 1fr;
  }
}

body.single-product .recommendations-section {
	background: #fff;
	padding-top: 50px;
}

body.single-product .recommendations-section .recommendations-section__header-left {
	max-width: 100%;
}

body.single-product .recommendations-section .products.grid {
    display: grid
;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    list-style: none;
    margin: 0;
    padding: 0;
}
body.single-product .recommendations-section li.product {
    display: block;
    width: 100% !important;
    flex-direction: column;
    background: #FFF;
    overflow: hidden;
    padding: 0;
    margin-bottom: 0;
    position: relative;
    box-sizing: border-box;
}

body.single-product .recommendations-section .js-card-price {
	float: right;
    width: 50%;
    margin: 6px 0 8px;
    text-align: right;
}

body.single-product .recommendations-section form.ch-variations-light .js-variation-select {
	width: 50%;
}

body.single-product .recommendations-section form.ch-variations-light {
    clear: none;
    width: 100%;
    margin: 5px 0;
}

body.single-product .recommendations-section ul.products::before {
    display: none;
    }
    
body.single-product .recommendations-section .product__thumb a img {
    width: 100%;
    display: block;
 object-fit: cover !important;
    
}

body.single-product .recommendations-section ul.products li.product .price {
    font-size: 16px;
    font-weight: 400;
    color: #33432E;
    margin-left: auto;
    margin-top: 10px;
    margin-bottom: 10px;
}

body.single-product .recommendations-section ul.products li.product h3 {
	padding: 0;
}

body.single-product .recommendations-section li.product .button, .accessory-button button.button, .accessory-button button.button:hover {
    width: 100%;
    display: block;
    text-align: center;
    background: #3c4a32;
    color: white;
    padding: 10px 20px;
    border-radius: 6px;
    border: none;
    font-weight: 400;
    font-size: 12px;
    transition: background 0.3s;
    cursor: pointer;
}

body.single-product .recommendations-section li.product .button:hover {
    background: #2d3a26;
}

body.single-product  .recommendations-section__footer {
	margin-top: 15px;
}
body.single-product .recommendations-section__footer a.button {
	margin-top: 0;
	display: inline-block;
    padding: 10px 35px;
    border: 1px solid #33432E;
    border-radius: 10px;
    background: transparent;
    color: #33432E;
    font-size: 21px;
    line-height: 21px;
    font-weight: 300;
    text-decoration: none;
    transition: background .3s, color .3s;
}

body.single-product .recommendations-section__footer .btn-view-all:hover {
    background: #33432E;
    color: #FFF;
}

/* Адаптив */
@media (max-width: 1024px) {
  .product-details-wrapper {
    grid-template-columns: 1fr;
    gap: 40px;
  }



  .product-full-description p {
    text-align: left;
  }

  .product-details-image img {
    max-width: 100%;
    margin: 0 auto;
  }
}

@media (max-width: 1024px) {
  .single-product__container {
    grid-template-columns: 1fr;
  }
  .description-container {
    flex-direction: column;
  }
  .description-image, .description-text {
    max-width: 100%;
    flex: 1 1 100%;
  }
}
.chqr-msg.error {
	line-height: 1.3em;
}

.product-breadcrumbs {
  padding: 15px 0;
  font-size: 16px;
  color: rgba(111, 111, 110, 1);
  font-weight: 400;
}

.product-breadcrumbs__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

.product-breadcrumbs a {
  text-decoration: underline;
  color: rgba(111, 111, 110, 1);
  transition: color 0.3s ease;
  font-weight: 300;
}

.product-breadcrumbs a:hover {
  color: #2f3b27;
}

.breadcrumb-separator {
  color: #999;
  margin: 0 2px;
}

.breadcrumb-current {
  font-weight: 300;
  color: rgba(43, 43, 43, 1);
  text-decoration: none;
}

.breadcrumb-home {
  display: inline-flex;
  align-items: center;
  color: #000;
  margin-right: 2px;
}

.breadcrumb-home svg {
  width: 16px;
  height: 16px;
  vertical-align: middle;
}

@media (max-width: 768px) {
  body.single-product  .single-product__container {
	  display: block;
	  overflow: hidden;
  }
  .product-breadcrumbs {
	  display: none;
  }
  
 body.single-product .mobile-swiper-container {
    width: 100%;
    overflow: visible;
    margin-bottom: 20px;
	position: relative;
  }
  body.single-product .mobile-swiper-container .swiper-wrapper {
  max-width: 100%;
  display: flex;
  position: relative;
  gap: 15px;
}
.single-product-page {
    padding-top: 0;
}
.site-header .container {
	box-shadow: none;
}
.single-product__container .product-title {
	font-size: 24px;
	line-height: 1.3;
}
.single-product__container .product-price {
	font-size: 33px;
}
body.single-product .mobile-swiper-container .swiper-slide {
  flex-shrink: 0;
  width: 100% !important;
  height: auto;
}
    .product-details-text h2 {
	    font-size: 33px;
    }
    .product-details-wrapper {
	    flex-direction: column-reverse;
	    display: flex;
    }
 body.single-product .tea-accessories-wrapper {
	   display: block;
	   padding-right: 15px;
	   padding-left: 15px; 
    }
    .accessories-title {
	    margin-bottom: 15px;
    }

 body.single-product .mobile-swiper-container .swiper-slide img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 8px;
  }

 body.single-product .swiper-pagination {
    bottom: -20px;
    display: flex;
    justify-content: center;
    gap: 10px;
  }

 body.single-product .swiper-pagination-bullet {
    width: 30px;
    height: 6px;
    background-color: #dcdcdc;
    border-radius: 3px;
    opacity: 1;
  }

 body.single-product .swiper-pagination-bullet-active {
    background-color: #222;
  }
  
  body.single-product .tea-accessories-wrapper {
    display: block;
  }

 body.single-product .accessories-products {
    overflow-x: auto;
    padding-left: 10px;
    padding-right: 10px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  body.single-product .accessories-products::-webkit-scrollbar {
    display: none;
  }

  body.single-product .accessories-grid {
    display: flex;
    flex-wrap: nowrap;
    gap: 16px;
    width: max-content;
    position: relative;
  }

  body.single-product .accessory-item {
    max-width: 80%;
    scroll-snap-align: start;
    border-radius: 12px;
    background: #fff;
  }

  body.single-product .accessory-thumb img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    border-radius: 10px;
    display: block;
  }

  body.single-product .accessory-content {
    padding: 12px;
  }
  
 body.single-product .recommendations-section__inner {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    padding-left: 10px;
    padding-right: 10px;
  }

  body.single-product .recommendations-section__inner::-webkit-scrollbar {
    display: none;
  }

 body.single-product .recommendations-section .products {
    display: flex !important;
    flex-wrap: nowrap;
    gap: 16px;
    width: max-content;
  }
  
  body.single-product .recommendations-section .products.grid {
	  width: 100%;
  }

  body.single-product .recommendations-section .product {

    max-width: 80%;
    scroll-snap-align: start;
    background: #fff;
    border-radius: 12px;
    padding: 10px;
    box-sizing: border-box;
  }
  
     body.single-product .recommendations-section .product {
        flex: 0 0 60%;
        min-width: inherit;
    }
  
   body.single-product .recommendations-section .product__thumb {
  
    overflow: hidden;
    border-radius: 8px;
  }

   body.single-product .recommendations-section .product__thumb img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
  }
  @media only screen and (max-width: 768px) {
 body.single-product .recommendations-section .product__thumb img.cw-heart-img {
	 height: 18px;
	 width: auto;
 }
 }

 body.single-product .recommendations-section .woocommerce-loop-product__title {
    font-size: 16px;
    margin-top: 10px;
  }

  body.single-product .recommendations-section .price,
 body.single-product .recommendations-section .sku {
    display: block;
    margin-top: 4px;
  }

  body.single-product .recommendations-section .button {
    margin-top: 10px;
    width: 100%;
    text-align: center;
  }
     body.single-product .recommendations-section .products.grid {
	     gap: 15px;
  
}

}


/* Reviews: пагинация-полоски вместо точек */
.reviews-section .swiper-pagination {
  position: static;            /* как в макете — под слайдером */
  margin-top: 18px;
  display: flex;
  gap: 12px;                   /* расстояние между полосками */
  justify-content: center; /* по левому краю */
}

.reviews-section .swiper-pagination-bullet {
  width: 56px;
  height: 6px;
  border-radius: 2px;
  background: #DAD9D7;         /* пассивная полоса */
  opacity: 1;                  /* отключаем «приглушение» Swiper */
  margin: 0;                   /* Swiper по умолчанию ставит margin, убираем */
  transition: background .2s ease, transform .2s ease;
}

.reviews-section .swiper-pagination-bullet-active {
  background: #28412C;         /* активная полоса (твой тёмно-зелёный) */
}

/* на совсем маленьких экранах делаем полоски чуть короче */
@media (max-width: 400px){
  .reviews-section .swiper-pagination-bullet { width: 44px; height: 6px; }
}


/* ===== Recommendations: loading overlay & spinner ===== */
.recommendations-section .products {
  position: relative; /* для псевдо-элементов */
}

.recommendations-section .products.is-loading {
  pointer-events: none;
  min-height: 220px; /* чтобы зона не схлопывалась во время подгрузки */
}

/* полупрозрачный оверлей */
.recommendations-section .products.is-loading::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0.65);
  backdrop-filter: blur(2px);
  z-index: 5;
}

/* крутилка */
.recommendations-section .products.is-loading::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 36px;
  height: 36px;
  margin: -18px 0 0 -18px;
  border: 3px solid rgba(168,134,103,0.35);     /* брендовый цвет с прозрачностью */
  border-top-color: rgba(168,134,103,1);        /* активный сегмент */
  border-radius: 50%;
  animation: chashi-spin .8s linear infinite;
  z-index: 6;
}

@keyframes chashi-spin {
  to { transform: rotate(360deg); }
}

.hearticon { position: relative; display:inline-flex; align-items:center; }
.hearticon img { display:block; width:22px; height:22px; }
.hearticon .cw-badge{
  position:absolute; top:-6px; right:-8px;
  min-width:18px; height:18px; padding:0 4px;
  font-size:11px; line-height:18px; text-align:center;
  background:#E63946; color:#fff; border-radius:9px;
}

.ch-variation-row .js-variation-select {
	border: 1px solid #3c4a32;
	width: 100%;
	font-size: 13px;
	padding: 7px 7px 7px 7px;
	border-radius: 5px;
	color: #3c4a32;
	outline: none;

	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;


	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='20' height='20'><path d='M7 10l5 5 5-5' stroke='%237B8985' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");
	background-repeat: no-repeat;
	background-position: right 4px center; /* отступ от правого края */
	background-size: 16px;
}

.single-product-page .woocommerce-variation-price,
.single-product-page .woocommerce-variation .price {
  display: none !important;
}

.single-product-page .woocommerce-Price-amount {
	color: rgba(43, 43, 43, 1);
	font-weight: 300;
	font-size: 33px;
	
}

/* позиционируем контейнер правой колонки */
.single-product-page .rightcol{
  position: relative;
}

/* «плавающее» сердечко в правом верхнем углу */
.cw-wishlist-float{
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 15;
}

/* размеры/поведение кнопки из плагина */
.cw-wishlist-float .cw-wishlist-btn,
.cw-wishlist-float .hearticon{
  display: inline-flex;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.cw-wishlist-float .cw-wishlist-btn img,
.cw-wishlist-float .hearticon img{
  width: 100%;
  height: auto;
  display: block;
}

@media (max-width: 767px){
  .cw-wishlist-float{ top: 6px; right: 6px; }
  .cw-wishlist-float .cw-wishlist-btn,
  .cw-wishlist-float .hearticon{ width: 32px; height: 32px; }
  .single-product__container .rightcol p {
    display: none;
}
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt.disabled {
	background-color: rgb(51 67 46) !important;
}

.product-head{
  display:flex;
  align-items:flex-start;
  justify-content: space-between;
  gap:16px;

}
.product-head__aside{
  text-align: right;
  min-width:fit-content;
}
.product-title{
  margin:0;
  line-height:1.1;
  /* чтобы справа влезали сердце+цена, ограничим ширину заголовка */
}

/* кнопка-иконка из плагина в «строчном» варианте */
.cw-wishlist-inline .cw-wishlist-btn,
.cw-wishlist-inline .hearticon{
  display:inline-flex;
  width:34px;
  height:34px;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
}
.cw-wishlist-inline .cw-wishlist-btn img,
.cw-wishlist-inline .hearticon img{
  width:100%; height:auto; display:block;
}

/* цена справа — покрупнее и без переносов */
.product-head__aside .product-price{
  font-size: clamp(22px, 2.2vw, 40px);
  font-weight:600;
  white-space:nowrap;
}

/* адаптив: можно сложить в столбец на узких экранах */
@media (max-width: 768px){
  .product-head{ align-items:flex-start; gap:8px; }
  .product-title{ max-width:100%; }
  .product-head__aside{ align-self:flex-end; gap:12px; }
  .single-product__container .product-price {
	  margin: 0;
  }
  .cw-wishlist-inline .cw-wishlist-btn, .cw-wishlist-inline .hearticon {
	  width: 24px;
    height: 24px;
  }
  .single-product-page .woocommerce-Price-amount {
	  font-size: 23px;
  }
  .single-product-page .sp-top-cats a {
	  color: rgba(109, 109, 109, 1);
	  
  }
  .single-product-page .sp-top-mobile .sp-top-cats {
	  margin-bottom: 10px;
  }
   
}

/* Вариации: метка слева, селект справа */
.single-product-page table.variations{
  width:100%;
}
.single-product-page table.variations tr{
  display:flex;                 /* делаем строку гибкой */
  justify-content:space-between;
  align-items:center;
  gap:16px;
}
.single-product-page table.variations th.label{
  flex:1 1 auto;                /* тянется */
  text-align:left;
  padding:0;
  font-size: 14px;
  font-weight: 300;
  color: rgba(40, 54, 69, 1);
}
.single-product-page table.variations td.value{
  flex:0 0 auto;                /* по контенту */
  margin-left:auto;             /* прижимает к правому краю */
  text-align:right;
  padding:0;
}
.single-product-page table.variations td.value select{
  min-width: 240px;             /* можно подогнать под макет */
  max-width: 100%;
}

/* мобильный тюнинг (опционально) */
@media (max-width: 600px){
  .single-product-page table.variations tr{
    gap:12px;
  }
  .single-product-page table.variations td.value select{
    min-width: 180px;
  }
}
.single-product-page table.variations td.value select {
	border: 1px solid rgba(224, 228, 226, 1);
	border-radius: 4px;
	padding: 6px;
	color: rgba(109, 109, 109, 1);
	outline: none;
}
.single-product-page table.variations {
	margin-top: 15px;
}
.single-product .single-product__container .single_add_to_cart_button {
	font-size: 21px;
	font-weight: 400;
}

/* simple product: "Кількість" слева (используем настоящий label), инпут справа */
.single-product-page form.cart:not(.variations_form) .quantity{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin:18px 0 14px;
}

/* глушим наш старый псевдо-лейбл, чтобы не было дубликата */
.single-product-page form.cart:not(.variations_form) .quantity::before{
  content:none !important;
}

/* делаем встроенный label видимым (в т.ч. если у него класс screen-reader-text) */
.single-product-page form.cart:not(.variations_form) .quantity label{
	display: none;
  position:static !important;
  width:auto !important;
  height:auto !important;
  clip:auto !important;
  overflow:visible !important;
  margin:0;
  white-space:nowrap;
  font-weight:600;
  font-size:18px;
  line-height:1.2;
}

/* поле количества справа фиксированной ширины */
.single-product-page form.cart:not(.variations_form) .quantity .qty{
  text-align:center;
}

/* на вариативных товарах поле количества скрываем */
.single-product-page form.variations_form .quantity{
  display:none !important;
}

/* Список миниатюр (thumbnails) под главным фото */
.leftcol .flex-control-thumbs,
.leftcol .flex-control-nav {
  display: flex !important;
  gap: 14px;
  flex-wrap: wrap;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}

.leftcol .flex-control-nav li {
  width: 92px;
  flex: 0 0 92px;
}

.leftcol .flex-control-nav img {
  width: 100%;
  height: 92px;
  object-fit: cover;
  border-radius: 10px;
  display: block;
}


/* --- правая колонка не должна распирать грид --- */
.single-product-page .rightcol{min-width:0;}

/* --- контейнер блока --- */
.also-like{margin-top:28px;overflow:hidden; padding-left: 25px; padding-right: 25px;}
.also-like__head{text-align: center;margin:8px 0 18px;}
.also-like__title{font-size:22px;line-height:1.2;
	color: rgba(168, 134, 103, 1);
	font-weight: 300;
	text-transform: uppercase;
	font-size: 18px;
	text-align: center;
}

/* --- размеры swiper внутри rightcol --- */
.rightcol .alsolike-swiper{width:100%;}
.rightcol .alsolike-swiper .swiper-wrapper{box-sizing:border-box;}
.rightcol .alsolike-swiper .swiper-slide{
  /* не шире колонки */
  width:auto;
  height:auto;
  display:flex;           /* чтобы карточка растягивалась по высоте */
}

/* --- нейтрализуем "ширины/флоаты" Woo у карточек в нашей карусели --- */
.rightcol .alsolike-swiper .product,
.rightcol .alsolike-swiper li.product{
  width:auto!important;
  max-width:100%;
  float:none!important;
  margin:0!important;
  box-sizing:border-box;
  display:block;
  flex-direction:column;
}

.alsolike-swiper .js-card-price, .alsolike-swiper .price {
	float: right;
    width: 50%;

    text-align: right;
}

.alsolike-swiper .product__meta-left {
	line-height: 1.1em;
}

.alsolike-swiper .product__meta {
	margin-top: 5px !important;
	margin-bottom: 5px !important;
}

.alsolike-swiper form.ch-variations-light {
	clear: none;
    width: 100%;
    margin: 5px 0;
}

/* изображение строго вписывается */
.rightcol .alsolike-swiper .product__thumb,
.rightcol .alsolike-swiper .product__thumb img{
  width:100%;
  height:auto;
  display:block;
}

/* кнопка по ширине карточки (если у тебя уже так — можно убрать) */
.rightcol .alsolike-swiper .product .button{width:100%;}

/* --- "полосочная" пагинация --- */
.rightcol .alsolike-swiper .swiper-pagination{
  display:flex;justify-content:center;gap:12px;margin-top:14px;
}
.rightcol .alsolike-swiper .swiper-pagination-bullet{
  width:64px;height:6px;border-radius:999px;background:#DFE4DE;opacity:1;
}
.rightcol .alsolike-swiper .swiper-pagination-bullet-active{background:#263823;}

.also-like .cw-wishlist-btn {
	width: 23px;
    height: 23px;
}

.also-like .woocommerce-loop-product__title a {
	font-size: 14px;
	text-transform: none;
	margin: 0;
}
.also-like .woocommerce-loop-product__title {
	line-height: 1.2;
}
/* Скрываем категорию и "Код товару" только в карусели на single */
.rightcol .also-like .woocommerce-loop-product__subtitle,
.rightcol .also-like .sku,
.rightcol .rcp-upsell .woocommerce-loop-product__subtitle,
.rightcol .rcp-upsell .sku,
.alsolike-swiper .woocommerce-loop-product__subtitle,
.alsolike-swiper .sku {
  display: none !important;
}
.single-product-page .also-like .woocommerce-Price-amount {
	font-size: 16px;
}
.also-like div.product form.cart .button {
	color: rgba(255, 255, 255, 1);
	font-size: 12px !important;
	background: rgba(51, 67, 46, 1);
}
  @media only screen and (max-width: 768px) { 
	  .also-like div.product form.cart .button {
		  margin-top: 10px;
	  }
	  
	  }
/* Когда кнопка превращена в "Переглянути кошик" */
.button.is-view-cart,
.add_to_cart_button.is-view-cart,
.single_add_to_cart_button.is-view-cart {
  background: #33432E;    /* твой зелёный */
  color: #fff;
  border-color: #33432E;
}

.button.is-view-cart:hover,
.add_to_cart_button.is-view-cart:hover,
.single_add_to_cart_button.is-view-cart:hover {
  filter: brightness(0.95);
}
/* Убрать галочку у кнопок после добавления в корзину */
.add_to_cart_button.added::after,
.single_add_to_cart_button.added::after,
.button.is-view-cart::after,
a.added_to_cart.wc-forward::after {
  content: none !important;
  display: none !important;
}



/* 404 */
      body.error404-page{
        
      }
     body.error404-page .error-wrap{
        width:min(900px,92vw);
        text-align:center;
        margin: 0 auto;
        padding: 80px 0 50px 0;
      }
      /* Заголовок ERROR */
       body.error404-page .error-label{
        text-transform: uppercase;
        font-weight:300;
        font-size:40px;
        margin:0 0 28px;
      }
      /* Большой код 404 */
       body.error404-page .code{
        display:flex;
        align-items:flex-end;
        justify-content:center;
      
      }
     
       body.error404-page .code .leaf{
        display:block;
        width:700px;
      }
      /* Подзаголовки */
       body.error404-page .headline{
        margin:22px 0 10px;
        font-size: 24px;
        font-weight:400;
        text-transform: uppercase;
      }
       body.error404-page .subcopy{
        margin:0 auto 28px;
        max-width:560px;
        color: rgba(0, 0, 0, 1);
        line-height:1.55;
        font-size:16px;
      }
      /* Кнопка */
       body.error404-page .btn{
        display:inline-block;
        padding:16px 58px;
        background: rgba(51, 67, 46, 1);
        color:#fff;
        border-radius: 5px;
        text-decoration:none;
        font-weight:400;
        font-size:18px;
        line-height:1;
      }
 
      /* Мелкие правки для узких экранов */
      @media (max-width:768px){
         body.error404-page .error-label{ font-size:22px; }
         body.error404-page .code{ gap:26px; }
         body.error404-page .code .leaf {
	        width: 80%;
        }
        body.error404-page .headline {
    font-size: 14px;
 }
  body.error404-page .subcopy {
	 font-size: 14px;
	 font-weight: 300;
 }
  body.error404-page .btn {
	 font-size: 14px;
	     padding: 10px 38px;
 }
      }
      
      
      /* ===== Static Pages base (isolated) ===== */
body.singlepage .csf-page__hero{
  margin-top: -160px;              
  padding: 200px 0 80px 0;
}

body.singlepage .csf-page__hero{
  position: relative;
  background-image: var(--hero-bg);
  background-size: cover;
  background-position: center;
  isolation: isolate;
}
body.singlepage .csf-page__hero::before{
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,.75); /* мягкая вуаль поверх фона */
  z-index: -1;
}
body.singlepage .csf-page__hero-grid{
  display: grid;
  grid-template-columns: 1fr minmax(320px,0.9fr);
  gap: 32px;
  align-items: end;
}
body.singlepage .csf-page__title{
  margin: 0;
  font-weight: 300;
  line-height: 1.1;
  text-transform: uppercase;
  font-size: 48px;
  color: rgba(51, 67, 46, 1);
}
body.singlepage .csf-page__lead{
  font-size: 16px;
  line-height: 1.5;
  color: rgba(51, 67, 46, 1);
  font-weight: 300;
}

body.singlepage .csf-page__content{ padding: 0 0 64px 0; }
body.singlepage .csf-breadcrumbs{
  font-size: 12px;
  color: #6b7280;
  margin-bottom: 16px;
}
body.singlepage .entry-content, body.singlepage .entry-content p, body.singlepage .entry-content ul li {
	font-size: 16px;
	font-weight: 300;
	color: rgba(0, 0, 0, 1);
	line-height: 1.5;
}
 body.singlepage .entry-content p {
	 margin-bottom: 25px;
 }
body.singlepage .entry-content h2,
body.singlepage .entry-content h3{ margin-top: 1.6em; }

body.singlepage .product-breadcrumbs {
	padding: 25px 0;
	
}

body.singlepage .breadcrumb-current {
	color: rgba(111, 111, 110, 1);s
}

@media (max-width: 768px){
body.singlepage .csf-page__hero{
  margin-top: -190px;              
  padding: 200px 0 30px 0;
}

body.singlepage .csf-page__title {
	font-size: 24px;
}
body.singlepage .csf-page__hero-grid {
	display: block;
}
body.singlepage .csf-page__lead {
	font-size: 12px;
	line-height: 1.3;
	margin-top: 15px;
}
body.singlepage .csf-page__content {
	padding: 30px 15px 0 15px;
}
body.singlepage .entry-content, body.singlepage .entry-content p, body.singlepage .entry-content ul li {
	font-size: 14px;
}
}

 /* ===== About Us Page ===== */
 
/* ===== About page via template class ===== */
.page-template-page-about-php .about-hero .container, .page-template-page-about-php .product-breadcrumbs .container, .page-template-page-about-php .about-body .container { max-width: 1200px; }

/* HERO: те же отступы, чтобы уходил под шапку */
.page-template-page-about-php .csf-page__hero{
  margin-top: -160px;
  padding: 200px 0 80px 0;
  position: relative;
  background-size: cover;
  background-position: center;
  isolation: isolate;
}

/* лёгкая вуаль или градиент поверх фона (если нужна) */
.page-template-page-about-php .csf-page__hero::after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,.45), rgba(0,0,0,.15));
  z-index:0;
}
.page-template-page-about-php .about-hero__content{ position: relative; z-index: 1; }

/* Сетка (если используете) */
.page-template-page-about-php .csf-page__hero-grid{
  display:grid;
  grid-template-columns: 1fr minmax(320px,0.9fr);
  gap:32px;
  align-items:end;
}

/* Заголовок / подзаголовок – как в singlepage */
.page-template-page-about-php .csf-page__title{
  margin: 0 0 25px 0;
  font-weight:300;
  line-height:1.1;
  text-transform:uppercase;
  font-size:48px;
  color:#fff;
}
.page-template-page-about-php .csf-page__lead{
  font-size:20px;
  line-height:1.5;
  color:#fff;
  font-weight:300;
  max-width:820px;
}

/* Крошки — как на базовой */
.page-template-page-about-php .product-breadcrumbs{ padding:25px 0; }
.page-template-page-about-php .breadcrumb-current{ color: rgba(111,111,110,1); }

/* Блок: изображение слева + текст справа */
.page-template-page-about-php .section-padding{ padding: 0 0 64px 0; }
.page-template-page-about-php .about-row{
  display:grid;
  grid-template-columns: minmax(320px, 520px) 1fr;
  gap:40px 56px;
  align-items:center;
  margin-top:24px;
}
.page-template-page-about-php .about-row__media img{
  width:100%; height:auto; display:block; border-radius:18px;
}
.page-template-page-about-php .about-row__text,
.page-template-page-about-php .entry-content{
  font-size:16px;
  font-weight:300;
  color:#000;
  line-height:1.5;
}
.page-template-page-about-php .about-row__text p{ margin:0 0 25px; }

/* Мобильная адаптация */
@media (max-width: 768px){
  .page-template-page-about-php .csf-page__hero{
    margin-top:-190px;
    padding:200px 0 30px 0;
  }
.page-template-page-about-php .about-body .container {padding-right: 15px; padding-left: 15px; }
  .page-template-page-about-php .csf-page__title{ font-size:24px; }
  .page-template-page-about-php .csf-page__lead{ font-size:12px; line-height:1.3; margin-top:15px; }
  .page-template-page-about-php .section-padding{ padding:30px 0 30px 0; }
  .page-template-page-about-php .about-row{ grid-template-columns:1fr; gap: 0; display: flex;
    flex-direction: column-reverse; margin-top: 0; }
  .page-template-page-about-php .about-row__text,
  .page-template-page-about-php .entry-content{ font-size:14px; }
}


/* БЛОГ */

.page-template-page-blog-php .csf-page__hero{
  margin-top: -160px;
  padding: 200px 0 80px 0;
  position: relative;
  background-size: cover;
  background-position: center;
  isolation: isolate;
}

.page-template-page-blog-php .csf-page__hero::after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,.45), rgba(0,0,0,.15));
  z-index:0;
}
.page-template-page-blog-php .about-hero__content{ position: relative; z-index: 1; }

.page-template-page-blog-php .csf-page__title{
  margin:0;
  font-weight:300;
  line-height:1.1;
  text-transform:uppercase;
  font-size:48px;
  color:#fff;
  margin-bottom: 10px;
}
.page-template-page-blog-php .csf-page__lead{
  font-size:21px;
  line-height:1.5;
  color:#fff;
  font-weight:300;
  max-width:820px;
  opacity:.95;
}

/* Крошки */
.page-template-page-blog-php .product-breadcrumbs{ padding:25px 0; }
.page-template-page-blog-php .breadcrumb-current{ color: rgba(111,111,110,1); }

/* Адаптив */
@media (max-width: 768px){
	.csf-page__hero .container {
		padding-left: 15px;
		padding-right: 15px;
	}
  .page-template-page-blog-php .csf-page__hero{
    margin-top: -190px;
    padding: 200px 0 30px 0;
  }
  .page-template-page-blog-php .csf-page__title{ font-size:24px; }
  .page-template-page-blog-php .csf-page__lead{
    font-size:12px;
    line-height:1.3;
    margin-top:15px;
  }
  .page-template-page-blog-php .blog-archive {
	margin-top: 30px;
	margin-bottom: 30px;
}
.page-template-page-blog-php .blog-archive .container {
	padding-right: 15px;
	padding-left: 15px;
}
}

/* 3 в ряд → 2 → 1 */
.page-template-page-blog-php .blog-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}
.page-template-page-blog-php .blog-card{
  overflow: hidden;
  display:flex;
  flex-direction: column;
}
.page-template-page-blog-php .blog-card__media img{ width:100%; height:auto; display:block; }
.page-template-page-blog-php .blog-card__body{ display:flex; flex-direction:column; gap:12px; }
.page-template-page-blog-php .blog-card__title{ font-size:18px; margin-top: 10px; font-weight: 300; text-transform: uppercase; color:rgba(43, 43, 43, 1); }
.page-template-page-blog-php .blog-card__title a{ text-decoration:none; color:inherit; }
.page-template-page-blog-php .blog-card__excerpt{ color:rgba(43, 43, 43, 1); font-weight:300; font-size: 16px; line-height: 1.5; margin-bottom: 10px; }
.page-template-page-blog-php .blog-card__meta{ font-size:12px; color:#999; }
.page-template-page-blog-php .blog-card__more { 
	position: relative;
	width: 100%;
    display: block;
    text-align: center;
    color: white;
    font-weight: 400;
    font-size: 16px;
    cursor: pointer;
    text-decoration: none;
    background: rgb(60, 74, 50);
    padding: 7px 20px;
    border-radius: 6px;
    border-width: initial;
    border-style: none;
    border-color: initial;
    border-image: initial;
    transition: background 0.3s;
}
	.page-template-page-blog-php .blog-card__more::after {
    content: "";
    top: 10px;
    height: 20px;
    width: 20px;
    position: absolute;
    background: url(img/arrow-right-up.svg);
}
.page-template-page-blog-php .blog-card img {
	border-radius: 8px;
}


/* Blog pagination  */
.page-template-page-blog-php .blog-pagination, .woocommerce-pagination {
  display:flex;
  justify-content:center;
  align-items:center;
  gap: 28px;               /* расстояние между элементами */
  padding: 30px 0 30px;
}

.page-template-page-blog-php .blog-pagination .page-numbers, .woocommerce-pagination .page-numbers {
  background:none;
  border:0;
  box-shadow:none;
  text-decoration:none;
  line-height:1;
  padding: 4px 6px;        /* кликабельная зона, без «кнопки» */
}

/* обычные цифры */
.page-template-page-blog-php .blog-pagination .page-numbers:not(.current):not(.prev):not(.next), .woocommerce-pagination .page-numbers:not(.current):not(.prev):not(.next) {
  color: rgba(109,109,109,1);
  font-size: 16px;
  font-weight: 400;
}

/* активная страница */
.page-template-page-blog-php .blog-pagination .page-numbers.current, .woocommerce-pagination .page-numbers.current {
  color: rgba(43,43,43,1);
  font-size: 24px;
  font-weight: 500;
}

/* стрелки */
.page-template-page-blog-php .blog-pagination .page-numbers.prev,
.page-template-page-blog-php .blog-pagination .page-numbers.next, .woocommerce-pagination .page-numbers.prev, .woocommerce-pagination .page-numbers.next {
  color: rgba(43,43,43,1);
  font-size: 24px;
}
.woocommerce nav.woocommerce-pagination ul li a:focus, .woocommerce nav.woocommerce-pagination ul li a:hover, .woocommerce nav.woocommerce-pagination ul li span.current {
	background: transparent;
	color: rgba(109,109,109,1);
}

.woocommerce nav.woocommerce-pagination ul, .woocommerce nav.woocommerce-pagination ul li {
	border: none;
}

.woocommerce nav.woocommerce-pagination ul {
	display: flex;
	justify-content: center;
	align-items: center;
}

/* ховер по желанию */
.page-template-page-blog-php .blog-pagination .page-numbers:hover{
  color: rgba(43,43,43,1);
}


@media (max-width: 640px){
  .page-template-page-blog-php .blog-pagination{ gap: 18px; }
}


@media (max-width: 1024px){
  .page-template-page-blog-php .blog-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px){
  .page-template-page-blog-php .blog-grid{ grid-template-columns: 1fr; }
}

/* ===== WooCommerce Product Archives hero ===== */

.post-type-archive-product .csf-page__hero.shop-hero,
.tax-product_cat .csf-page__hero.shop-hero,
.tax-product_tag .csf-page__hero.shop-hero{
  margin-top: -220px;           /* чтобы "заезжал" под шапку */
  padding: 220px 0 60px 0;
  position: relative;
  background-size: cover;
  background-position: center;
  isolation: isolate;
}

/* светлая вуаль поверх фона — как на базовых страницах */
.post-type-archive-product .csf-page__hero.shop-hero::before,
.tax-product_cat .csf-page__hero.shop-hero::before,
.tax-product_tag .csf-page__hero.shop-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(255,255,255,.75);
  z-index: 0;
}

.post-type-archive-product .csf-page__hero-grid,
.tax-product_cat .csf-page__hero-grid,
.tax-product_tag .csf-page__hero-grid{
  position: relative;
  z-index: 1; /* над вуалью */
  display: grid;
  grid-template-columns: 1fr minmax(320px,0.9fr); /* заголовок слева, текст справа */
  gap: 32px;
  align-items: end;
}

/* типографика — как в "singlepage" */
.post-type-archive-product .csf-page__title,
.tax-product_cat .csf-page__title,
.tax-product_tag .csf-page__title{
  margin: 0;
  font-weight: 400;
  line-height: 1.1;
  text-transform: uppercase;
  font-size: 48px;
  color: rgba(51, 67, 46, 1);
}

.post-type-archive-product .csf-page__lead,
.tax-product_cat .csf-page__lead,
.tax-product_tag .csf-page__lead{
  font-size: 16px;
  line-height: 1.5;
  color: rgba(51, 67, 46, 1);
  font-weight: 300;
}

/* крошки — одинаковые отступы */
.post-type-archive-product .product-breadcrumbs,
.tax-product_cat .product-breadcrumbs,
.tax-product_tag .product-breadcrumbs{
  padding: 25px 0;
}

/* Адаптив */
@media (max-width: 768px){
  .post-type-archive-product .csf-page__hero.shop-hero,
  .tax-product_cat .csf-page__hero.shop-hero,
  .tax-product_tag .csf-page__hero.shop-hero{
    margin-top: -230px;
    padding: 200px 0 30px 0;
  }
  .post-type-archive-product .csf-page__hero-grid,
  .tax-product_cat .csf-page__hero-grid,
  .tax-product_tag .csf-page__hero-grid{
    display:block;
  }
  .post-type-archive-product .csf-page__title,
  .tax-product_cat .csf-page__title,
  .tax-product_tag .csf-page__title{
    font-size: 24px;
  }
  .post-type-archive-product .csf-page__lead,
  .tax-product_cat .csf-page__lead,
  .tax-product_tag .csf-page__lead{
    font-size: 12px;
    line-height: 1.3;
    margin-top: 15px;
  }
}

/* === Shop AJAX loader (как на главной) === */
.shop-results-wrap {
  position: relative;
}

.csf-loader {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  pointer-events: none;      /* клики сквозь, пока hidden не снят — фон блокирует backdrop */
  z-index: 10;
}

.csf-loader[hidden] {
  display: none;
}

.csf-loader__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0.75);
  backdrop-filter: blur(2px);
}

/* Спинер-кольцо (тот же стиль, что в табах) */
.csf-spinner {
  width: 44px;
  height: 44px;
  border: 3px solid rgba(0,0,0,0.1);
  border-top-color: currentColor;
  border-radius: 50%;
  animation: csf-spin 0.8s linear infinite;
}

@keyframes csf-spin {
  to { transform: rotate(360deg); }
}

/* Скрытый для экранных читалок текст */
.csf-spinner__sr {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,1px,1px);
  white-space: nowrap; border: 0;
}

/* Эффект затемнения/блокировки контента при загрузке */
.shop-results-wrap.is-loading #csf-shop-results {
  opacity: 0.35;
  filter: grayscale(0.1);
  transition: opacity .2s ease;
  user-select: none;
  pointer-events: none;
}

/* Плавное появление товаров после подгрузки */
#csf-shop-results .products,
#csf-shop-results li.product {
  animation: csf-fade-in .25s ease both;
}

@keyframes csf-fade-in {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* =========================
   SHOP LAYOUT
   ========================= */
.shop-archive .container {max-width: 1240px;}

body:not(.tax-product_cat) .shop-layout {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 32px;
    align-items: start;
}
@media screen and (max-width: 768px) {
body:not(.tax-product_cat) .shop-layout {
	display: block;
}
}

body.tax-product_cat .shop-layout,
body.search-results .shop-layout {
    display: block;
}
/* =========================
   FILTERS (левая колонка)
   ========================= */
.shop-filters{
  position: sticky;
  top: var(--sticky-offset, 110px);
}
.csf-filters{
  background:#fff;
  border:1px solid #E8E6E2;
  border-radius:5px;
  padding:16px;
}
.filters-group + .filters-group{ margin-top:12px; padding-top:12px; }

.filters-title{
  display:flex; align-items:center; justify-content:space-between;
  font-weight:600; font-size:16px; line-height:1.2; color:#2A2A2A;
  margin:0 0 10px;
}
.filters-scroll{ max-height:420px; overflow:auto; padding-right:6px; }
.filters-scroll::-webkit-scrollbar{ width:6px; }
.filters-scroll::-webkit-scrollbar-thumb{ background:#E0DED9; border-radius:6px; }

.csf-cats{ list-style:none; margin:0; padding:0; }
.csf-cat-item{ padding:10px 0; border-bottom: 2px solid #A88667; }
.csf-children .csf-cat-item {
	border: none;
	padding:6px 0;
}
.csf-cat-line{ display:flex; align-items:center; gap:10px; }
.csf-cat-title{ cursor:pointer; font-size:15px; color:#3A3A3A; }
.csf-children{ padding-left:18px; margin-top:6px; }
.csf-toggle{
  margin-left:auto; width:20px; height:20px; border:0; background:transparent; cursor:pointer; position:relative;
}
.csf-toggle::before{
  content:""; position:absolute; inset:0; margin:auto;
  width:10px; height:10px; border-right:2px solid rgba(168, 134, 103, 1); border-bottom:2px solid rgba(168, 134, 103, 1); transform:rotate(-45deg);
}
.csf-cat-item.has-children .csf-children{ display:block; }

.shop-filters .csf-cats.level-0 > .csf-cat-item > .csf-cat-line > .csf-cat-title {
  font-size: 18px;
}
.shop-filters .csf-cats.level-1 .csf-cat-title,
.shop-filters .csf-cats.level-2 .csf-cat-title,
.shop-filters .csf-cats.level-3 .csf-cat-title {
  font-size: 16px;
}


.csf-filters input[type="checkbox"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;

  width:23px;
  height:23px;
  border:1.5px solid #2E3D32;   /* тёмно-зелёная обводка */
  border-radius:4px;
  display:inline-grid;
  place-items:center;
  background:#fff;
  cursor:pointer;
  position: relative;
}

/* отмеченные */
.csf-filters input[type="checkbox"]:checked {
  background:#EEF2EF;            /* светлый фон при выборе */
  border-color:#2E3D32;
}

/* Галочка */
.csf-filters input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 40%;
  width: 5px;       /* длина короткого плеча */
  height: 12px;     /* длина длинного плеча */
  border: solid #2E3D32;
  border-width: 0 2px 2px 0; /* угол галочки */
  transform: translate(-50%, -50%) rotate(45deg);
}


/* убираем синий подсвет при фокусе */
.csf-filters input[type="checkbox"]:focus {
  outline: none;
  box-shadow: none;
}

/* price inputs */
.price-range{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.price-row label{ display:block; font-size:12px; color:#7A786F; margin-bottom:4px; }
.price-row input{
  width:100%; height:40px; border:1px solid #DCD9D2; border-radius:8px; padding:0 10px; background:#F7F6F3;
}

/* buttons */
.filters-actions{ display:flex; gap:10px; margin-top:14px; }
.csf-filters .button{
  flex:1 1 auto; height:44px; border-radius:10px; border:0; font-weight:600; cursor:pointer;
}
.csf-filters .button-primary{ background:#2E533B; color:#fff; }
.csf-filters .button-secondary{ background:#EFEDE9; color:#2E533B; }

/* =========================
   RIGHT COLUMN: ORDERING + GRID
   ========================= */
.shop-ordering{
  display:flex; justify-content:flex-end; margin-bottom:14px;
}
@media screen and (max-width: 768px) {
	.shop-ordering {
		justify-content:flex-start;
	}
	
	}
.shop-ordering select{
  height:42px; border:1px solid #E2E0DA; border-radius:10px; background:#fff; padding:0 12px; min-width:210px;
}

/* Woo grid → 3 в ряд */
#csf-shop-results .products{
  display:grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin:0; padding:0; list-style:none;
}

/* =========================
   PRODUCT CARD
   (использует разметку из content-product.php)
   ========================= */


/* Сброс WooCommerce ширин внутри grid */
#csf-shop-results ul.products{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 24px;
}

#csf-shop-results ul.products li.product{
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  flex: none !important;
}

/* Убираем clearfix WooCommerce, который ломает grid */
#csf-shop-results ul.products::before,
#csf-shop-results ul.products::after{
  content: none !important;
  display: none !important;
}

/* На всякий случай: чистый grid без наследованных отступов/float */
#csf-shop-results ul.products{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 24px;
  padding: 0;
  margin: 0;
  list-style: none;
}
#csf-shop-results ul.products li.product{
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  flex: none !important;
}

.shop-layout ul.products li.product a img {
	margin-bottom: 0 !important;
}

.shop-layout .product__thumb {
	margin-bottom: 10px;
}

.shop-layout ul.products li.product .sku {
	margin-bottom: 0;
}

.shop-layout ul.products li.product .price   {
    font-size: 16px;
    font-weight: 400;
    color: #33432E;
    margin-left: auto;
    margin-bottom: 10px;
}
.shop-layout ul.products li.product button.button, .filters-actions button.button {
	font-size: 14px;
	line-height: 1.1;
	font-weight: 300;
	color: #fff;
	background: rgba(51, 67, 46, 1);
	padding: 8px 10px;
}
.filters-actions button.button {
	height: inherit;
}
.filters-actions button.button:hover {
	color: #fff;
	background: rgba(51, 67, 46, 1);
}
/* Offcanvas mini-cart */
.header-cart { position: relative; }
.header-cart .mini-cart {
  position: fixed;
  top: 0;
  right: -420px;             /* спрятана за пределами */
  width: 420px;
  height: 100vh;
  background: #fff;
  box-shadow: -12px 0 32px rgba(0,0,0,.12);
  opacity: 0;
  visibility: hidden;
  transition: right .25s ease, opacity .2s ease, visibility 0s linear .2s;
  z-index: 1100; 
  overflow-y: auto;                 /* ← скролл всей панели */
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;        
}
.header-cart .mini-cart.is-open{
  right: 0;
  opacity: 1;
  visibility: visible;
  transition: right .25s ease, opacity .2s ease, visibility 0s;
}
.body.mini-cart-open { overflow: hidden; }

@media (hover: hover){
  .header-cart .mini-cart{ overflow-y: hidden; }
  .header-cart .mini-cart:hover,
  .header-cart .mini-cart:focus-within{ overflow-y: auto; }
}
@media (hover: none){
  .header-cart .mini-cart{ overflow-y: auto; }
}


/* Плавное раскрытие дочерних категорий в фильтрах */
.shop-filters .csf-children {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transition: max-height .28s ease, opacity .18s ease;
  will-change: max-height;
}

.shop-filters li.csf-cat-item.is-open > .csf-children {

  max-height: 800px;
  opacity: 1;
}


.shop-filters .csf-toggle {
	color: rgba(168, 134, 103, 1) !important;
  position: relative;
  transition: transform .24s ease;
}
.shop-filters li.csf-cat-item.is-open > .csf-cat-line > .csf-toggle {
  transform: rotate(90deg);
}


/* ====== SHOP: Mobile layout ====== */
@media (max-width: 767.98px) {
	
	.shop-layout {
		display: block;
	}
	
	#csf-shop-results ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    padding: 0;
    margin: 0;
    list-style: none;
}


.woocommerce-loop-product__title a {
    font-size: 14px;
    line-height: 1.2;
}

			
.shop-mobile-filters,
  .jet-smart-filters-area,
  #secondary,
  .elementor-sticky,
  .elementor-sticky--active,
  .e-sticky,
  .is-sticky,
  .sticky {
    position: static !important;
    top: auto !important;
    inset: auto !important;
    transform: none !important;
  }
  .shop-archive .container {
	  padding-right: 15px;
	  padding-left: 15px;
	  margin-top: 30px;
	  margin-bottom: 30px;
  }

    .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product {
    width: auto !important;  /* убираем инлайн-ширину Woo */
    float: none !important;
    margin: 0 !important;
  }

  /* Картинки в карточках — одинаковые пропорции */
  .woocommerce ul.products li.product a img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;     /* квадрат, чтобы сетка не “скакала” */
    object-fit: cover;
    display: block;
  }


  .shop-mobile-filters,
  .shop-filters,
  #secondary,                    /* стандартный Woo sidebar */
  .jet-smart-filters-area {      /* если обёртка Jet Smart Filters */
    margin-bottom: 16px;
  }


  .jet-smart-filters-submit,
  .jsf-submit,
  .woocommerce .widget .button,
  .woocommerce .widget button[type="submit"],
  .shop-filters button[type="submit"] {
    width: 100%;
    display: block;
  }


  .shop-filters .widget, 
  #secondary .widget {
    border-bottom: 1px solid #e6e0da;
    padding: 10px 0;
  }
}


@media (max-width: 360px) {
  .woocommerce ul/products,
  .woocommerce-page ul.products {
    gap: 8px;
  }
}

/* ОСОБИСТИЙ КАБІНЕТ */

body.singlepage .entry-content, body.singlepage .entry-content p, body.singlepage .entry-content ul li {
	list-style: none;
	color: rgba(43, 43, 43, 1);
	padding: 0 15px 15px 0;
	font-size: 18px;
}
body.singlepage .entry-content, body.singlepage .entry-content p, body.singlepage .entry-content ul li a {
	color: rgba(43, 43, 43, 1);
	text-decoration: none;
}
body.singlepage .entry-content, body.singlepage .entry-content p, body.singlepage .entry-content ul li a:hover {

	text-decoration: none;
}

table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name {
	color: rgba(43, 43, 43, 1);
	font-size: 18px;
	font-weight: 300;
	text-decoration: none;
}

body.woocommerce-cart {
	background-color: rgba(247, 245, 240, 1);
}
.is-large.wc-block-cart .wc-block-cart-items th {
	color: rgba(43, 43, 43, 1);
	font-size: 23px;
	font-weight: 300;
}
.wc-block-components-product-details.wc-block-components-product-details, .wc-block-cart .wc-block-cart__totals-title {
	color: rgba(43, 43, 43, 1) !important;
	font-weight: 300 !important;
}
.wc-block-cart .wc-block-cart__totals-title {
	font-size: 23px !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-weight: 300 !important;
	color: rgba(43, 43, 43, 1) !important;
	font-size: 23px !important;
}
.wc-block-components-button:not(.is-link) {
	width: 100%;
    display: block;
    text-align: center;
    background: #3c4a32;
    color: white;
    padding: 10px 20px;
    border-radius: 6px;
    border: none;
    font-weight: 400;
    font-size: 16px;
    transition: background 0.3s;
    cursor: pointer;
    text-decoration: none;
   }

body.woocommerce-checkout .entry-content {
	color: rgba(43, 43, 43, 1);
}
body.woocommerce-checkout .entry-content h2 {
	font-size: 27px !important;
	font-weight: 300;
}

body.woocommerce-account .entry-content ul li a {
	font-weight: 300;
	font-size: 21px;
	color: rgba(43, 43, 43, 1);
}
.cw-wishlist-item {
	border: none;
}
body.woocommerce-account .cw-remove {
	background: rgba(51, 67, 46, 1);
	color: #fff;
	padding: 8px 16px; 
}
body.woocommerce-account .entry-content h3 {
	font-size: 23px;
	font-weight: 300;
	color: rgba(43, 43, 43, 1);
	margin-bottom: 25px;
}

body.woocommerce-account .entry-content ul li.is-active a {
	color: rgba(168, 134, 103, 1) !important;
} 
body.woocommerce-account .woocommerce a.button {
	background: rgba(51, 67, 46, 1);
	font-size: 16px;
	color: #fff;
	padding: 8px 16px; 
	color: #fff;
}






.authbox {
  max-width: 480px;
  margin: 0 auto;
  padding: 24px 20px 40px;
  text-align: center;
  color: rgba(51, 67, 46, 1);
}
.authbox label {
	text-align: left;
}
.authbox__title{
  font-size: 40px;
  line-height: 1.2;
  font-weight: 300;
  margin: 0 0 18px;
  color: rgba(51, 67, 46, 1); 
}

:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button {
	background: rgba(51, 67, 46, 1);
	font-weight: 400;
	color: #fff;
}
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button:hover {
	background: rgba(51, 67, 46, 1);
	font-weight: 400;
	color: #fff;
}

.authbox p.authbox__consent {
	font-size: 14px !important;
	color: rgba(88, 59, 31, 1) !important;
}
.authbox p.authbox__consent a {
	color: rgba(88, 59, 31, 1) !important;
	text-decoration: underline !important;
}

.authbox .phoneauth__form{
  margin: 0 auto;
  max-width: 420px;
}
.authbox input[type="tel"], .authbox input[type="text"]{
  width: 100%;
  height: 48px;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  padding: 10px 14px;
  font-size: 16px;
  background: #fff;
}
.authbox .button,
.authbox button[type="submit"]{
  width: 100%;
  height: 48px;
  border-radius: 10px;
  background: #2f4b2f; /* тёмно-зелёная кнопка */
  color: #fff;
  border: 0;
  font-weight: 600;
  font-size: 16px;
  cursor: pointer;
}
.authbox .button:hover{ filter: brightness(0.95); }

.authbox__consent{
  margin: 12px auto 16px;
  max-width: 460px;
  font-size: 12px;
  line-height: 1.4;
  color: #6c6c6c;
}
.authbox__consent a{
  color: #1f3a22; text-decoration: underline;
}

.authbox__sep{
  display: flex; align-items: center; gap: 12px;
  margin: 18px 0;
  color: #7a7a7a; font-size: 15px;
}
.authbox__sep::before,
.authbox__sep::after{
  content:""; flex:1; height:1px; background:#e5e5e5;
}

.authbox__social{
  display: grid; gap: 12px;
}
.authbox__btn{
  display: flex; align-items: center; justify-content: center;
  gap: 10px;
  height: 48px;
  border-radius: 10px;
  border: 1px solid #e5e5e5;
  background: #fff;
  color: #111;
  text-decoration: none;
  font-weight: 600;
  font-size: 16px;
}
.authbox__btn:hover{ background:#f8f8f8; }
.authbox__icon{
  display:inline-flex; width:20px; height:20px; line-height:0;
}
.authbox__btn--google .authbox__icon svg{ display:block; }
.authbox__btn--apple  .authbox__icon svg{ display:block; fill:#000; }


.authbox .phoneauth__form .button.phoneauth__submit{ margin-top: 12px; }


.single-post-page .container { max-width: 1200px; margin: 0 auto; padding: 0 16px; }
.csf-breadcrumbs { margin: 16px 0 24px; font-size: 14px; color: #777; }
.csf-breadcrumbs a { color: inherit; text-decoration: none; }
.csf-breadcrumbs .sep { margin: 0 6px; }

.csf-post-hero { margin-bottom: 32px; }
.csf-post-hero__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: center; }
.csf-post-hero__media img { width: 100%; height: auto; border-radius: 12px; display:block; }
.csf-post-hero__placeholder { width: 100%; aspect-ratio: 16/10; background:#f1f1f1; border-radius:12px; }
.csf-post-hero__title { margin: 0 0 12px; font-size: 37px; color: rgba(43, 43, 43, 1); line-height: 1.3; text-transform: uppercase; font-weight: 300; }
.csf-post-hero__excerpt { margin: 0 0 10px; font-size: 18px; font-weight: 300; color:rgba(43, 43, 43, 1); }
.csf-post-hero__meta { font-size: 14px; color:#777; }
.csf-post-hero__meta .dot { margin: 0 8px; }

.csf-post-content h2, .csf-post-content h3 {
	color: rgba(43, 43, 43, 1);
	font-weight: 300;
	font-size: 24px;
	text-transform: uppercase;
	margin-bottom: 15px;
}
.csf-post-content .entry-content p, .csf-post-content .entry-content ul { margin-bottom: 15px; }

.csf-post-content .entry-content { font-size: 18px; line-height: 1.7; font-weight: 300; }
.csf-post-content .entry-content img { max-width:100%; height:auto; }
.csf-post-nav { display:flex; justify-content:space-between; gap:12px; margin: 32px 0; }



@media (max-width: 900px) {
  .csf-post-hero__inner { grid-template-columns: 1fr; }
}


.woocommerce-ordering select { 
  -webkit-appearance: none; /* Chrome, Safari */
  -moz-appearance: none;    /* Firefox */
  appearance: none;
  background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'>\
<path d='M6 9l6 6 6-6' fill='none' stroke='%23687371' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/>\
</svg>");
  background-repeat: no-repeat;
  background-position: right 12px center; /* смещение от правого края */
  background-size: 16px;
color: rgba(109, 109, 109, 1);
border: 1px solid rgba(224, 228, 226, 1);
border-radius: 5px;
  padding-right: 40px; /* чтобы текст не налазил на стрелку */
  font-size: 16px;
}
.woocommerce-ordering .orderby:focus,
.woocommerce-ordering select:focus {
  outline: none;
}

@media (min-width: 1024px) {
  .single-product .leftcol {
    position: sticky;
    top: 20px; 
    align-self: flex-start; 
    height: fit-content;
  }
}

    .csf-range-wrap{position:relative;height:32px;margin:10px 4px 16px}
    .csf-range-wrap input[type=range]{position:absolute;left:0;right:0;top:6px;width:100%;pointer-events:none;-webkit-appearance:none;background:transparent;margin:0}
    .csf-range-wrap input[type=range]::-webkit-slider-thumb{pointer-events:auto;-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:#2E533B;border:2px solid #fff;box-shadow:0 0 0 1px #2E533B}
    .csf-range-wrap input[type=range]::-moz-range-thumb{pointer-events:auto;width:20px;height:20px;border-radius:50%;background:#2E533B;border:2px solid #fff;box-shadow:0 0 0 1px #2E533B}
    .csf-range-wrap input[type=range]::-webkit-slider-runnable-track{height:2px;background:transparent}
    .csf-range-wrap input[type=range]::-moz-range-track{height:2px;background:transparent}
    .csf-range-track{position:absolute;left:0;right:0;top:15px;height:2px;background:#E0E4E2;border-radius:2px}
    .csf-range-highlight{position:absolute;height:100%;background:#2E533B;border-radius:2px}
    .csf-price-readout{display:flex;gap:6px;align-items:baseline;font-weight:600;margin-top:6px}
    .csf-price-readout__currency{opacity:.7;font-weight:500}
    #csf-range-min { z-index: 2; }
#csf-range-max { z-index: 3; }

.woocommerce-edit-account fieldset {
	border: none;
}

.wc-block-cart-items .wc-block-components-product-metadata__description {
	display: none;
}
@media (max-width: 767.98px){
  /* Настраиваем «виртуальный» зазор */
  .mobile-swiper-container{
    --sp-gap: 15px;       /* ширина желаемого зазора между слайдами */
    overflow: hidden;
    position: relative;
  }

  /* Убираем реальные промежутки между слайдами */
  .mobile-swiper-container .swiper-wrapper{
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Каждый слайд ровно 100% ширины, а «зазор» рисуем паддингом внутри */
  .mobile-swiper-container .swiper-slide{
    box-sizing: border-box;
    flex: 0 0 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding-left:  var(--sp-gap);
    padding-right: var(--sp-gap);
  }

  /* Картинка заполняет «полезную» часть слайда без щелей */
  .mobile-swiper-container .sp-image{
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover; /* или contain, если без обрезки */
  }

  /* Если контейнер колонки даёт свои отступы — обнуляем */
  .single-product__container .leftcol{
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* ===================== MINI-CART — REFERENCE LOOK ===================== */

/* 1) Overlay */
.mini-cart__overlay{
  position: fixed; inset: 0; z-index: 1080;
  background: rgba(0,0,0,.45);
  opacity: 0; visibility: hidden;
  pointer-events: none;                        
  transition: opacity .28s ease, visibility 0s linear .28s;
}
.mini-cart__overlay.is-open{
  opacity: 1; visibility: visible;
  pointer-events: auto;                           
  transition: opacity .28s ease, visibility 0s;
}

.mini-cart{
  position: fixed; top: 0; right: 0; z-index: 1100;
  width: clamp(320px, 35vw, 560px);
  height: 100vh;
  background: #F7F5F0;
  box-shadow: -12px 0 32px rgba(0,0,0,.12);

  transform: translate3d(100%,0,0);
  opacity: 0; visibility: hidden;
  will-change: transform, opacity;
  backface-visibility: hidden;
  contain: layout paint;
  pointer-events: none;
  transition:
    transform .42s cubic-bezier(.22,.61,.36,1),
    opacity   .28s ease,
    visibility 0s linear .42s;
    overflow-y: auto;                 /* <-- ПРОКРУТКА ПАНЕЛИ */
  overscroll-behavior: contain;     /* не прокручивать фон при инерции */
  -webkit-overflow-scrolling: touch;/* плавная инерция на iOS */
}
.mini-cart.is-open{
  transform: translate3d(0,0,0);
  opacity: 1; visibility: visible;
  pointer-events: auto;
  transition:
    transform .48s cubic-bezier(.12,.80,.22,1),
    opacity   .24s ease,
    visibility 0s;
}
@media (max-width: 1024px){
  .mini-cart{ width: min(92vw, 520px); }
}

/* Ссылки внутри панели (дубликаты трёх правил на случай портала) */
.mini-cart .mc a{ color:#111827; text-decoration:none; }
.mini-cart .mc a:visited{ color:#111827; }
.mini-cart .mc a:hover{ color:#2E533B; }

/* 2) Off-canvas panel (≈35% экрана на десктопе) */
.header-cart .mini-cart{
  position: fixed; top: 0; right: 0; z-index: 1100;
  width: clamp(320px, 35vw, 560px);
  height: 100vh;
  background: #FFFFFF;
  border-radius: 10px 0 0 10px;
  box-shadow: -12px 0 32px rgba(0,0,0,.12);

  /* анимация: закрытое состояние */
  transform: translate3d(100%,0,0);              
  opacity: 0; visibility: hidden;
  will-change: transform, opacity;               /* GPU & предикт рендеринга */
  backface-visibility: hidden;
  contain: layout paint;
  pointer-events: none;                          /* пока закрыта — клики сквозь */
  transition:
    transform .42s cubic-bezier(.22,.61,.36,1), /* плавный уход при закрытии (ease-in) */
    opacity   .28s ease,
    visibility 0s linear .42s; 
    overflow-y: auto;                 /* <-- ПРОКРУТКА ПАНЕЛИ */
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.header-cart .mini-cart.is-open{
   transform: translate3d(0,0,0);
  opacity: 1; visibility: visible;
  pointer-events: auto;
  transition:
    transform .48s cubic-bezier(.12,.80,.22,1),  /* мягкий выезд (ease-out) */
    opacity   .24s ease,
    visibility 0s;
}
@media (max-width: 1024px){
  .header-cart .mini-cart{ width: min(92vw, 520px); }
}

/* 3) Общая сетка содержимого */
.mc{ display:flex; flex-direction:column; height: auto; color:#2B2B2B; }
.header-cart .mini-cart .mc a{ color:#111827; text-decoration:none; }
.header-cart .mini-cart .mc a:visited{ color:#111827; }        /* убираем «фиолетовый» */
.header-cart .mini-cart .mc a:hover{ color:#2E533B; }

/* 4) Шапка (бежевый бэкграунд + бордюр) */
.mc__head{
  position: static; top: auto; z-index: 1;
  display:flex; align-items:center; justify-content:space-between;
  padding: 18px 20px;
  border-bottom: 2px solid #A88667;    
}
.mc__title{ margin:0; font-weight:400; font-size:24px; text-transform: uppercase; }
.mc__close{ border:0; background:transparent; font-size:26px; line-height:1; cursor:pointer; opacity:.55; }
.mc__close:hover{ opacity:1; }

/* 5) Прогресс до бесплатной доставки */
.mc__free{ padding: 10px 20px 8px; }
.mc__free-text{ font-size:14px; color:#374151; margin-bottom:8px; }
.mc__bar{ height:6px; background:#ECE7DE; border-radius:999px; overflow:hidden; }
.mc__bar > span{ display:block; height:100%; background:#2E533B; }

/* 6) Список товаров */
.mc__items{
  list-style:none; margin:0; padding: 8px 16px 0 16px;
  overflow: visible !important;
  max-height: none !important;
  flex: 0 0 auto;
}
.mc__item{
  position:relative; display:flex; gap:14px;
  padding: 16px 6px;
  border-bottom: 1px solid #E6DED2;   /* тёплый разделитель как на рефе */
}
.mc__thumb img{ width:88px; height:88px; object-fit:cover; border-radius:5px; }
.mc__content{ flex: 1 1 auto;
  min-width: 0;
  padding-right: 40px;
  display: grid;
  grid-template-columns: 1fr auto; /* 2 колонки: слева селект/контент, справа qty */
  column-gap: 12px;
  row-gap: 8px;
  height: auto; }
  
.mc__product{ display: block;
	font-size: 16px;
	line-height: 1.4em;
	font-weight: 300;
  margin: 0 0 10px;            
  white-space: normal;
  word-break: break-word;      
  hyphens: auto;
  position: static !important; 
  z-index: auto !important;}
.mc__meta{ font-size:13px; color:#6B7280; margin-bottom:10px; }

.mc__product,
.mc__meta{ grid-column: 1 / -1; }
.mc__weight{ grid-column: 1; }
.mc__row{ grid-column: 1; justify-self: start; }
.mc__weight ~ .mc__row{ grid-column: 2; }

.mc__row{ display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 0;           
  position: static;
  height: auto;
  min-height: 0;
   }
   .mc__qty,
.mc__qty-btn,
.mc__qty-input,
.mc__price{
  position: static;           /* чтобы ничего не всплывало поверх текста */
}

.mc__qty{ display:flex; align-items:center; gap:10px; }
.mc__qty-btn{
  width: 36px; height: 36px; border-radius: 0;
  border: none; background:transparent; cursor:pointer; font-size:18px;
}
.mc__qty-btn:hover{ border-color:#CBD5E1; }
.mc__qty-input{
  width: 60px; height: 38px; text-align:center;
  border:1px solid #E4E6E8; border-radius:10px; font-size:15px;
}
.mc__price{ font-weight:300; font-size: 18px; white-space:nowrap; }

.mc__remove{
  text-decoration:none;
  font-size:20px; opacity:.5; color:#111827;
}
.mc__remove:hover{ opacity:1; }

/* 7) Блок рекомендаций (если есть) — под реф */
.mc-suggest{ padding:16px 16px 4px; background:#F5F1EA; border-top:2px solid #CBB79E; }
.mc-suggest__title{ font-weight:800; font-size:18px; margin:8px 0 12px; color:#1F2937; }
.mc-suggest__grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.mc-suggest .card{ background:#fff; border:1px solid #E6DED2; border-radius:12px; padding:12px; }
.mc-suggest .card img{ width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:10px; }
.mc-suggest .card .btn{ display:block; margin-top:10px; text-align:center; padding:10px 12px; border-radius:10px; background:#2E533B; color:#fff; }

/* 8) Футер (как шапка — беж, бордер, крупный CTA) */
.mc__footer{
  padding: 16px 20px 20px;
  background:#F5F1EA;
  border-top: 2px solid #CBB79E;
  border-radius: 0 0 0 10px;
}
.mc__subtotal{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom: 12px; font-size:16px;
}
.mc__subtotal span{ color:#374151; font-size: 21px; text-transform: uppercase; font-weight: 300; }
.mc__subtotal strong{ font-weight:300; font-size:21px; color:#111827; }

.mc__checkout{
  display:block; width:100%; text-align:center;
  padding: 14px 16px !important; border-radius: 5px;
  font-weight: 300 !important; background:#2E533B; font-size: 24px !important; color:#fff !important;
}
.mc__checkout:hover{ filter: brightness(1.05); }
.mc__viewcart{
  display:block; text-align:center; margin-top:10px; font-size:14px;
  color:#4B5563; text-decoration:underline;
}

/* 9) Моб. полировка */
@media (max-width: 480px){
  .mc__thumb img{ width:76px; height:76px; }
  .mc__qty-btn{ width:32px; height:32px; }
  .mc__qty-input{ width:50px; height:34px; }
}


.header-cart .mini-cart .mc,
.header-cart .mini-cart .mc *{
  line-height: 1.3 !important;
}
.header-cart .mini-cart .mc *{
  max-height: none !important;
}

.mini-cart .mc__row{ display:flex; align-items:center; }
.mini-cart .mc__price{ margin-left:auto; text-align:right; }


.mini-cart .mc__right {
  display: flex;
  flex-direction: column;
  justify-content: space-between; 
  align-items: flex-end;
  min-height: 100%; 
}
.mc__select-wrap{
  position: relative;
  display: inline-block;
}
.mc__select-wrap .mc__weight-select{
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding: 8px 30px 8px 15px;
  border: 1px solid #E0E4E2;
  border-radius: 5px;
  outline: none;
  color: #2B2B2B;
  font-size: 16px;

}
.mc__select-wrap::after{
  content: "";
  position: absolute;
  right: 12px;                 /* сдвиг стрелки от края */
  top: 50%;
  width: 5px;
  height: 5px;
  pointer-events: none;        /* клики уходят в select */
  transform: translateY(-50%) rotate(45deg);
  border-right: 2px solid #7B8985;
  border-bottom: 2px solid #7B8985; /* галочка-«шеврон» */
}

/* ===== Минималистичный контрол количества в мини-корзине ===== */
.mini-cart .mc__qty{
  display: inline-flex;
  align-items: center;
  gap: 0;                
  line-height: 1;
}

.mini-cart .mc__qty-btn{
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  background: transparent;
  color: #2B2B2B;
  font-size: 20px;           
  font-weight: 300;
  line-height: 1;
  padding: 6px 4px;          /* кликабельная область побольше */
  cursor: pointer;
  transition: opacity .15s ease;
}
.mini-cart .mc__qty-btn:hover{ opacity: .8; }
.mini-cart .mc__qty-btn:active{ transform: translateY(0.5px); }
.mini-cart .mc__qty-btn[disabled]{ opacity:.35; cursor: default; }

/* само число — без рамки и фона, по центру */
.mini-cart .mc__qty-input{
  width: 28px;               /* узкое число */
  text-align: center;
  font-weight: 300;
  border: 0 !important;
  background: transparent !important;
  color: #2B2B2B;
  font-size: 18px;
  line-height: 1;
  padding: 0;
  outline: none;
}

/* убрать стрелки у number */
.mini-cart .mc__qty-input::-webkit-outer-spin-button,
.mini-cart .mc__qty-input::-webkit-inner-spin-button{
  -webkit-appearance: none;
  margin: 0;
}
.mini-cart .mc__qty-input[type=number]{ -moz-appearance: textfield; }

/* чтобы правая колонка (удалить/цена) не “скакала” из-за высоты qty */
.mini-cart .mc__row{ align-items: center; }

/* Ползунок "до бесплатной доставки" в мини-корзине */
.mini-cart .mc__free{ margin: 8px 0 18px; }
.mini-cart .mc__bar{
  width: 100%;
  height: 12px;
  background: #ECECF2;         /* светлый фон трека */
  border-radius: 999px;
  position: relative;
  overflow: hidden;
}
.mini-cart .mc__bar > span{
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 0%;
  background: #2E533B;         /* твой зелёный */
  border-radius: 999px;
  transition: width .25s ease;
}
.mini-cart .mc__free-text{
  margin-top: 10px;
  font-size: 18px;
  line-height: 1.35;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price, .woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {
	color: #2B2B2B;
}

.mc__item img, .mc__item img {
	max-width: inherit;
}
.mini-cart .mc__reco{border-radius:12px; padding:16px 14px; margin:12px 0 18px}
.mini-cart .mc__reco-title{
  font-size:18px; font-weight:300; letter-spacing:.02em; text-transform:uppercase;
  margin:0 0 12px; color:#2c2a28;
}
.mini-cart .woocommerce-loop-product__title {
	font-size: 14px; 
	line-height: 1.3em;
	font-weight: 300;
	text-transform: none;
}
.mini-cart .product {
	padding-bottom: 0;

}
.mini-cart .mc__reco-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px}
.mini-cart .mc__reco .product{
  /* чуть компактнее карточки в офф-канвасе */
  --card-radius:12px;
}
@media (max-width:420px){
  .mini-cart .mc__reco-grid{grid-template-columns:1fr}
}

/* === Mini-cart coupon (точно под твою разметку) === */

/* Ряд: поле + кнопка в одну линию */
.mc__coupon-form{
  display:grid;
  grid-template-columns: 1fr auto;
  gap:8px;
  align-items:center;
  margin:16px 0 12px;
}

/* Поле ввода */
.mc__coupon-form .mc__coupon-input{
  height:48px !important;
  padding:0 14px !important;
  border:1px solid var(--wc-input-border, #e5e7eb) !important;
  border-radius:6px !important;
  background:#fff !important;
  width:100%;
  box-sizing:border-box;
  font:inherit;
  outline:none;
}

/* Кнопка применить (сохраняем базовые стили .button, только размеры) */
.mc__coupon-form .mc__coupon-apply{
  height:48px !important;
  padding:0 18px !important;
  border-radius:6px !important;
  border: none;
  line-height:46px !important; /* визуальное выравнивание текста */
  white-space:nowrap;
  color: #fff;
  background: #2E533B;
}

/* Нотификации под формой (как на /cart/) */
.mc__coupon .mc__coupon-note{
  margin-top:10px;
  font-size:13px;
  border-radius:6px;
  padding:10px 12px;
  display:none; /* по умолчанию прячем */
}

/* состояние ошибки / успеха */
.mc__coupon .mc__coupon-note.is-error{
  display:block;
  background:#fef2f2;
  color:#991b1b;
  border:1px solid #fecaca;
}
.mc__coupon .mc__coupon-note.is-ok{
  display:block;
  background:#ecfdf5;
  color:#065f46;
  border:1px solid #a7f3d0;
}

/* disabled во время AJAX */
.mc__coupon-form .mc__coupon-apply[disabled]{
  pointer-events:none;
  opacity:.6;
}

/* Очень узкие экраны — кнопка уходит под поле */
@media (max-width:360px){
  .mc__coupon-form{ grid-template-columns:1fr; }
}

.mc__coupon {
	padding-left: 10px;
	padding-right: 10px;
}



/* ==== Кнопка "Наверх" ==== */
.back-to-top {
  position: fixed;
  bottom: 30px;
  right: 30px;
  z-index: 999;
  background: #33432E;
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 44px;
  height: 44px;
  font-size: 22px;
  line-height: 44px;
  text-align: center;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease, background 0.3s;
  box-shadow: 
    0 2px 6px rgba(0, 0, 0, 0.25),
    0 4px 12px rgba(0, 0, 0, 0.15);
}

.back-to-top:hover {
  background: #33432E;
  box-shadow: 
    0 3px 8px rgba(0, 0, 0, 0.35),
    0 6px 14px rgba(0, 0, 0, 0.2);
}

.back-to-top.show {
  opacity: 1;
  visibility: visible;
}


/* === Product card: meta row and 50/50 controls (category & SKU; weight select & price) === */
.product .product__meta,
.product .product__controls{display:flex;align-items:center;gap:12px;margin:0;}
.product .product__meta-left,
.product .product__meta-right,
.product .product__control-left,
.product .product__control-right{width:50%;line-height: 1.2em}
.product .product__meta-right,
.product .product__control-right{ text-align:right; }
.product .product__control-left select{ width:100%; }

/* === Cards: weight (left 50%) + price (right 50%); button full width === */

/* оставляем карточку блочной, без grid */
.home .products .product,
.archive .products .product,
.post-type-archive-product .products .product, .recommendations-section__inner .product {
  display: block;
}

/* по умолчанию остальные элементы идут на всю ширину */
.home .products .product > *:not(.price):not(form.ch-variations-light),
.archive .products .product > *:not(.price):not(form.ch-variations-light),
.post-type-archive-product .products .product > *:not(.price):not(form.ch-variations-light) {
  width: 100%;
  margin-top: 5px;
}

/* цена – справа, 50% */
.home .products .product > .price,
.archive .products .product > .price,
.post-type-archive-product .products .product > .price, .recommendations-section__inner .product > .price {
  float: right;
  width: 50%;
  margin: 10px 0 10px;
  text-align: right;
}

.recommendations-section__inner .product .js-variation-select {
	float: left;

}

.recommendations-section__inner container .product form.cart {
	clear: none;
    width: 100%;
    margin: 5px 0;
}

/* форма вариаций – остаётся на 100%, внутри делаем левую колонку */
.home .products .product > form.ch-variations-light,
.archive .products .product > form.ch-variations-light,
.post-type-archive-product .products .product > form.ch-variations-light {
  clear: none;
  width: 100%;
  margin: 5px 0;
}


.home .products .product > form.ch-variations-light select,
.archive .products .product > form.ch-variations-light select,
.post-type-archive-product .products .product > form.ch-variations-light select {
  width: 100%;
}

/* clearfix внутри формы, чтобы кнопка ушла ниже двух колонок */
.home .products .product > form.ch-variations-light::after,
.archive .products .product > form.ch-variations-light::after,
.post-type-archive-product .products .product > form.ch-variations-light::after {
  content: "";
  display: block;
  clear: both;
}

/* кнопка variable – на всю ширину ниже ряда селект+цена */
.home .products .product > form.ch-variations-light .single_add_to_cart_button,
.archive .products .product > form.ch-variations-light .single_add_to_cart_button,
.post-type-archive-product .products .product > form.ch-variations-light .single_add_to_cart_button {
  display: block;
  width: 100%;
  clear: both;
}

/* кнопка для simple – тоже на всю ширину */
.home .products .product a.button,
.archive .products .product a.button,
.post-type-archive-product .products .product a.button,
.home .products .product .ajax_add_to_cart,
.archive .products .product .ajax_add_to_cart,
.post-type-archive-product .products .product .ajax_add_to_cart {
  display: block;
  width: 100%;
  clear: both;
}



.product__meta-left a {
	font-size: 13px;
	line-height: 15px;
	color: #33432E;
	text-decoration: none;
}
.product__meta-left a:hover {
	text-decoration: underline !important;	
}
.woocommerce ul.products li.product .woocommerce-loop-category__title, .woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product h3 {
	margin: 0;
	line-height: 1.3em;
}
.ch-variation-row {
	float: left;
    width: 50%;
}
/* Навигация карусели "Вам також може сподобатись" */
.also-like { position: relative; }

.alsolike-prev,
.alsolike-next {
  position: absolute;
  top: 35%;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  color: #a88667;        /* скобки нужного цвета */
  font-size: 40px;
  line-height: 1;
  cursor: pointer;
  opacity: 0.9;
  z-index: 2;             /* поверх слайдов */
}

.alsolike-prev { left: 2px; }
.alsolike-next { right: 2px; }

@media (hover:hover) {
  .alsolike-prev:hover,
  .alsolike-next:hover { opacity: 1; }
}

@media (max-width: 767px) {
  .alsolike-prev,
  .alsolike-next { font-size: 18px; padding: 2px 6px; }
}
/* Базовые звёзды без зависимости от woo-шрифта */
.star-rating {
  display:inline-block; position:relative; overflow:hidden;
  width:5.4em; height:1em; line-height:1; font-size:16px;
}
.star-rating::before {
  content:"★★★★★";
  color:#D6C6B8; /* контур пустых */
}
.star-rating > span {
  position:absolute; left:0; top:0; height:100%;
  overflow:hidden; white-space:nowrap; display:block;
}
.star-rating > span::before {
  content:"★★★★★";
  color:#9A6B43; /* заполненные */
}

/* (опционально) рядом со звёздами число отзывов */
.ch-review-count { margin-left:6px; color:#8A8F98; font-size:14px; }

.product-meta-line {
  display: flex;
  justify-content: space-between;
  align-items: center; 
}

.product-meta-line .product-category {
  display: flex;
  align-items: center; /* если там будет несколько элементов */
}

.product-meta-line .product-rating-inline {
  display: flex;
  align-items: center; /* звёзды и счётчик по центру */
  gap: 4px;
}

/* ===== Brew specs: auto-width items + auto gaps ===== */
.brew-specs{
  margin: 24px 0 8px;   /* только вертикальные отступы */
  padding: 0;
}

.brew-specs__grid{
  display: flex;
  align-items: flex-start;
  justify-content: space-between; /* авто-пробел между карточками, крайние к краям */
  flex-wrap: nowrap;              /* в одну строку на десктопе */
  gap: 0;                         /* управляет только межкарточными отступами; тут не нужен */
  width: 100%;
  box-sizing: border-box;
}

.brew-specs__item{
  flex: 0 0 auto;     /* ширина = ширине контента */
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  /* никаких margin/padding по бокам — крайние прижаты к краям контейнера */
}

.brew-specs__icon img{
  display: block;
  width: 80px;        /* задай размер иконки — от него зависит ширина карточки */
  height: auto;
  margin: 0 auto;
}

.brew-specs__val{
  margin-top: 12px;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.3;
  color: #2B2B2B;     /* исправил некорректный #2B2B2 */
}

/* На узких экранах разрешим перенос строк, расстояние между рядами — фиксированное */
@media (max-width: 768px){
  .brew-specs__grid{
    flex-wrap: wrap;
    justify-content: space-between; /* крайние в ряду — к краям, остальное — авто */
    row-gap: 16px;                  /* вертикальный зазор между рядами */
  }
}

.single-product .rightcol select:not([multiple]) {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;

  padding-right: 36px;                 /* место под стрелку */
  background-repeat: no-repeat;
  background-size: 12px 12px;
  background-position: right 12px center;  /* ← отступ стрелки от правого края (12px ≈ +5px к текущему) */
  background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'>\
<path d='M4 6l4 4 4-4' fill='none' stroke='%232B2B2B' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/>\
</svg>");
}

/* Если где-то используется Select2 — тоже подвинем стрелку */
.single-product .rightcol .select2-container--default .select2-selection--single .select2-selection__arrow{
  right: 12px !important; /* было ближе к краю */
}
.single-product .rightcol .select2-container--default .select2-selection--single{
  padding-right: 36px; /* запас под стрелку */
}

/* === Quantity на странице товара: используем те же стили, что и в mini-cart === */
.single-product .cart .quantity {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Превращаем стандартный input.qty в вид mini-cart */
.single-product .cart .quantity .qty {

  
  text-align: center;
  border: 1px solid #3c4a32;
  border-radius: 5px;
  font-size: 15px;
  -moz-appearance: textfield;
}
.single-product .cart .quantity .qty::-webkit-outer-spin-button,
.single-product .cart .quantity .qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Кнопки +/- такие же, как в mini-cart */
.single-product .cart .quantity .mc__qty-btn{
  width:36px; height:36px; background:#fff; cursor:pointer; font-size:18px; color: #33432e;
  line-height: 1; display: inline-flex; align-items:center; justify-content:center;
}
.single-product .cart .quantity .mc__qty-btn:hover{ border-color:#CBD5E1; }

/* Отступы вокруг блока количества на форме товара */
.single-product .cart .quantity { margin: 12px 0; }

button.mc__coupon-apply {
	background: #33432e !important;
	color: #fff !important;
	font-weight: 400;
}
button.mc__coupon-apply:hover {
	background: #33432e !important;
	color: #fff !important;
}
/* Відгуки — стрелки-навигация */
.reviews-prev,
.reviews-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  color: #33432e; /* тот же цвет скобок */
  font-size: 40px;
  line-height: 1;
  cursor: pointer;
  opacity: 0.9;
  z-index: 2;
}
.reviews-prev { left: 2px; }
.reviews-next { right: 2px; }

@media (hover:hover) {
  .reviews-prev:hover,
  .reviews-next:hover { opacity: 1; }
}
@media (max-width: 767px) {
  .reviews-prev,
  .reviews-next { font-size: 35px; padding: 2px 6px; }
}
/* контейнер секции — станет опорой для оверлея навигации */
.reviews-section__container { position: relative; }

/* сам оверлей со стрелками — растягиваем на карусель */
.reviews-nav {
  position: absolute;
  inset: 0;          /* top:0; right:0; bottom:0; left:0; */
  z-index: 5;
  pointer-events: none; /* чтобы клики по слайдам работали сквозь контейнер */
}

/* а вот кнопкам — возвращаем клики */
.reviews-prev,
.reviews-next { pointer-events: auto; }

/* === One-line product titles on listings (catalog, sliders, widgets) === */
/* WooCommerce стандартный заголовок карточки */
body:not(.single-product) .woocommerce ul.products li.product .woocommerce-loop-product__title,
body:not(.single-product) .products li.product .woocommerce-loop-product__title, .also-like .woocommerce-loop-product__title, .accessory-title, .recommendations-section .woocommerce-loop-product__title,
/* JetWoo/Elementor возможные варианты (на всякий случай) */
body:not(.single-product) .jet-woo-builder-archive-product-title,
body:not(.single-product) .jet-woo-products .product .woocommerce-loop-product__title {
  display: block;              
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;     
  max-width: 100%;
}

/* Иногда текст внутри — это <a>. Подстрахуемся: */
body:not(.single-product) .woocommerce-loop-product__title a {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.shop-results li.product h3 {
	padding: 0 !important;
}
.shop-results li.product .button {
margin: 0 !important;
}
/* === Checkout two-column layout (base) === */
.ch-checkout .ch-co {
  display: grid;
  grid-template-columns: 1fr 1fr;  /* под твой макет (правая колонка ~ карт/итоги) */
  gap: 24px;
  align-items: start;
}
@media (max-width: 1024px) {
  .ch-checkout .ch-co { grid-template-columns: 1fr; }
  .ch-checkout .ch-co__right { order: -1; } /* сначала корзина на мобиле, если нужно — убери */
}

/* Чтобы не применялись портальные стили мини-корзины к checkout */
.mini-cart--checkout {
  position: static !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
.mini-cart--checkout .mc { max-height: none; }
.mini-cart--checkout .mc__head,
.mini-cart--checkout .mc__close { display: none; } /* шапка/крестик в checkout не нужны */

/* Подправь отступы под макет */
.mc--checkout .mc__items { margin: 0 0 16px; }
.mc--checkout .mc__totals { margin-top: 12px; }
.mc--checkout .mc__place { margin-top: 16px; }

/* Поля на левой стороне — базовая типографика (подгони под нужные классы) */
.ch-co__section .form-row { margin-bottom: 12px; }

/* Правый столбец checkout: убираем внутренние скроллы и портальные стили */
.mini-cart--checkout,
.mini-cart--checkout .mc,
.mini-cart--checkout .mc__items,
.mini-cart--checkout .mc__place {
  max-height: none !important;
  overflow: visible !important;
}

/* На checkout мини-корзина – обычный статический блок */
.mini-cart--checkout { 
  position: static !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
.mini-cart--checkout .mc__head,
.mini-cart--checkout .mc__close { display: none !important; } /* крестик/заголовок не нужны */

/* Выровнять карточку правой колонки под референс (паддинги, отступы) */
.mc--checkout .mc__items { margin: 0 0 16px; }
.mc--checkout .mc__totals { margin-top: 12px; }
.mc--checkout .mc__place  { margin-top: 16px; }
.mc--checkout .mc__subtotal,
.mc--checkout .mc__discount,
.mc--checkout .mc__shipping,
.mc--checkout .mc__fee,
.mc--checkout .mc__total { display:flex; justify-content:space-between; align-items:center; }

/* Кнопка подтверждения – в правой колонке, без дубликатов и без прилипания */
.woocommerce-checkout .place-order { position: static !important; }
.woocommerce-checkout #payment div.form-row { margin: 0; }

body.woocommerce-checkout h3.ch-co__title {
	color: #33432E;
	text-transform: uppercase;
	font-weight: 300;
	font-size: 18px;
	margin-bottom: 25px;
}
body.woocommerce-checkout .form-row label {
	font-size: 14px;
	font-weight: 300;
}
body.woocommerce-checkout input, body.woocommerce-checkout .input-text {
border: 1px solid #E0DEE3 !important;
}
body.woocommerce-checkout  .entry-content h3 {
	color: #33432E;
	text-transform: uppercase;
	font-weight: 300;
	font-size: 18px;
	margin-bottom: 25px;
}
body.woocommerce-checkout .zen-ui-select__value-text {
	font-size: 14px;
}
body.woocommerce-checkout .ch-co__thumb img {
	width: 60px;
}
body.woocommerce-checkout table.shop_table td {
	font-size: 14px !important;
}
@media only screen and (max-width: 768px) {
	body.woocommerce-checkout .ch-co__left { order: 1; }
  body.woocommerce-checkout .ch-co__right { order: 2; }
  span.ch-out-of-stock {
	  font-size: 12px !important;
	  padding-bottom: 6px;
  }
  body.post-type-archive .js-variation-select {
	  margin-bottom: 15px !important;
  }
 
	}
	
/* ==== Единый оверлей для всех карточек (включая слайды Swiper) ==== */

/* Контейнер изображения: нужен relative + обрезка краёв */
.product .product__thumb {
  position: relative;
  overflow: hidden;
}

/* Светлый оверлей (по умолчанию скрыт) */
.product .product__thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,.22); /* можно усилить до .28–.32 при желании */
  opacity: 0;
  transition: opacity .25s ease;
  pointer-events: none;
  z-index: 1; /* ниже сердечка */
}

/* Включаем оверлей при наведении карточки
   Работает и в гриде, и внутри .also-like__carousel .swiper-slide */
.product:hover .product__thumb::after,
.product:focus-within .product__thumb::after { /* для тач/клавиатуры */
  opacity: 1;
}

/* Страхуем изображение */
.product .product__thumb img {
  display: block;
  width: 100%;
  height: auto;
}

/* ==== Сердечко: всегда поверх оверлея и хорошо читаемо ==== */

/* Контейнер, который выводит плагин */
.product .product__thumb .cw-wishlist-wrap {
  position: absolute;        /* если в плагине уже absolute — не мешает */
  top: 10px;
  right: 10px;
  z-index: 3;                /* выше оверлея */
}

/* Кнопка-сердце — светлая «таблетка» для контраста */
.product .product__thumb .cw-wishlist-wrap .cw-wishlist-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  border-radius: 9999px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 6px 18px rgba(0,0,0,.18);
  transition: transform .18s ease, background .2s ease, box-shadow .2s ease;
}

/* Hover-состояние */
.product .product__thumb .cw-wishlist-wrap .cw-wishlist-btn:hover {
  transform: scale(1.05);
  background: #fff;
  box-shadow: 0 10px 22px rgba(0,0,0,.22);
}

/* Размер иконки */
.product .product__thumb .cw-wishlist-wrap .cw-heart-img,
.product .product__thumb .cw-wishlist-wrap svg {
  width: 20px;
  height: 20px;
  display: block;
}

/* ==== Доп. прицельная область для секции «Также может понравиться» ==== */
/* (не обязательно, но оставляю на случай локальной настройки именно карусели) */
.also-like__carousel .product .product__thumb::after { background: rgba(255,255,255,.24); }
/* .also-like__carousel .product:hover .product__thumb::after { opacity: 1; }  — уже покрыто .product:hover */


/* ==== Single Product: мобильная галерея без внутренних отступов, слайд = 100% ==== */
@media (max-width: 767.98px) {
  /* 1) Обнуляем «щели» на контейнере */
  body.single-product .mobile-swiper-container {
    --sp-gap: 0 !important;     /* гасим схему с переменной */
    overflow: hidden;            /* не даём соседям «подглядывать» */
  }

  /* 2) Делаем сами слайды ровно на ширину вьюпорта контейнера */
  body.single-product .mobile-swiper-container .swiper-slide {
    width: 100% !important;      /* перекрывает inline-width Swiper */
    margin-right: 0 !important;  /* Swiper часто задаёт margin-right */
    padding: 0 !important;       /* если gap делался паддингами */
    box-sizing: border-box;
  }

  /* 3) Убираем возможные внешние отступы у wrapper (иногда ставят через gap/padding) */
  body.single-product .mobile-swiper-container .swiper-wrapper {
    margin: 0 !important;
    gap: 0 !important;           /* если используется native flex gap */
  }

  /* 4) Картинка реально на всю ширину слайда */
  body.single-product .mobile-swiper-container .swiper-slide img,
  body.single-product .mobile-swiper-container .sp-image {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;         /* при высоких изображениях не «обрезаем» */
  }
}

.quantity.quantity-buttons {
  display:inline-flex; align-items:center;
   overflow:hidden;
  background:#fff; height:33.56px;
}
.quantity.quantity-buttons .qty { 
  width:40px; text-align:center; border:0; outline:none; box-shadow:none; height:30px;
  font-size:13px; line-height:30px; padding:0 6px; color: #3c4a32;
}
.quantity.quantity-buttons .qty {
	border:1px solid #3c4a32; border-radius:5px;
}
.quantity.quantity-buttons .qty::-webkit-outer-spin-button,
.quantity.quantity-buttons .qty::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.quantity.quantity-buttons .qty { -moz-appearance:textfield; }

.quantity.quantity-buttons .qty-minus,
.quantity.quantity-buttons .qty-plus {
  width:30px; height:30px; line-height:30px;
  display:inline-flex; align-items:center; justify-content:center;
  background:transparent; border:0; cursor:pointer; font-size:20px; color:#2f3b22;
}
.quantity.quantity-buttons .qty-minus:hover,
.quantity.quantity-buttons .qty-plus:hover { background:#f4f6f2; }

body.woocommerce-checkout .entry-content p {
    margin-bottom: 15px !important;
    padding-bottom: 0 !important;
}

/* ==== PDP: mobile layout for SIMPLE products (fixed) ==== */
@media (max-width: 767px) {
  /* Вся строка количества: label + контрол в ОДНУ линию */
  .quantity-row {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;                 /* расстояние между label и контролом */
    flex-wrap: wrap;           /* чтобы «Всього» стало новой строкой */
    margin: 10px 0 12px;
  }

  /* Лейбл больше НЕ занимает 100% — остаётся слева от контрола */
  .quantity-row .product-quantity-label {
    order: 1;
    flex: 0 1 auto;            /* ключевое изменение: не 100% */
    margin: 0;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
    color: #2f3b22;
  }

  /* Контрол ±/input рядом с лейблом */
  .quantity-row .mc__qty {
    order: 2;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 6px;
    background: #fff;
  }

  .quantity-row .mc__qty-btn {
    width: 40px;
    height: 40px;
    line-height: 38px;
    text-align: center;
    font-size: 22px;
    border: 0;
    background: transparent;
    cursor: pointer;
    user-select: none;
  }
  .quantity-row .mc__qty-btn:active { transform: scale(0.96); }

  .quantity-row .mc__qty-input,
  .quantity-row input.qty {
    width: 64px;
    height: 40px;
    text-align: center;
    border: 0;
    outline: none;
    background: transparent;
    font-size: 16px;
    padding: 0;
    appearance: textfield;
  }
  .quantity-row input.qty::-webkit-outer-spin-button,
  .quantity-row input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
  .quantity-row input.qty[type=number] { -moz-appearance: textfield; }

  /* «Всього» — ОТДЕЛЬНОЙ строкой под количеством */
  .quantity-row .sp-total-mobile {
    order: 3;
    flex: 0 0 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 8px 0 0;
    font-size: 18px;
  }
  .sp-total-mobile__label { color: #2f3b22; font-weight: 600; }
  .sp-total-mobile__value { font-weight: 700; }
}

@media (max-width: 767px) { .sp-total-mobile { display:flex; justify-content:space-between; align-items:center; margin:10px 0 6px; font-size:18px; } .sp-total-mobile__label { color:#2f3b22; font-weight:600; } .sp-total-mobile__value { font-weight:700; } } @media (min-width: 768px) { .sp-total-mobile { display:none !important; } }

.archive .products .product > .ch-out-of-stock, .post-type-archive-product .products .product > .ch-out-of-stock, .alsolike-swiper .ch-out-of-stock {
	width: 100% !important;
	float: none !important;
	text-align: center !important;
	color: #e31724 !important;
}

/* карточки в любом листинге, где встречается .product__thumb */
.product .product__thumb { position: relative; }

/* если внутри карточки есть .ch-out-of-stock — затеняем превью */
.product:has(.ch-out-of-stock) .product__thumb::after{
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.15);   /* лёгкая серая дымка */
  border-radius: inherit;
  pointer-events: none;
}

/* делаем картинку чуть «тусклой» */
.product:has(.ch-out-of-stock) .product__thumb img{
  filter: grayscale(100%) contrast(90%) opacity(.55);
}

.tea-accessories-section .quantity {
	display: none !important;
}

body.single-product .rightcol .ch-out-of-stock {
	font-size: 12px !important;
	min-height: 30px;
}

/* ===== Mobile shrinking + search toggle ===== */
@media (max-width: 767.98px) {
  /* базовые переменные высоты */
  .site-header { --header-logo-h: 40px; --header-pad-y: 8px; }

  .site-header .main-header { position:relative; display:flex; align-items:center; gap:12px; padding:14px; }
  .site-header .logo img { display:block; height: 40px; }

  /* порядок: бургер, поиск, логотип, иконки справа */
  .site-header .menu-toggle   { order: 1; position:relative; z-index:3; }
  .site-header .search-toggle { order: 2; position:relative; z-index:3; }
  .site-header .logo{
    order: 3;
    position:absolute; left:50%; transform:translateX(-50%);
    margin:0; z-index:1;
  }
  .site-header .icons{ order: 4; margin-left:auto; display:flex; align-items:center; gap:16px; }

  /* Кнопка-иконка поиска рядом с бургером */
  .site-header .search-toggle{
    display:none; /* показываем в компактном режиме ниже */
    background:none; border:0; padding:0; line-height:0;
    width:22px; height:22px; flex:0 0 28px; pointer-events:auto;
  }
  .site-header .search-toggle img{ width:100%; height:100%; }

  /* При скролле уменьшаем логотип */
  body.is-compact .site-header{ --header-logo-h: 32px; --header-pad-y: 6px; }
  body.is-compact .site-header .search-toggle{ display:block; }
  body.is-compact .top-bar{ display:none; }

  /* ===== Строка поиска — может быть ВНЕ header, поэтому два селектора ===== */

  /* базовое состояние (раскрыта) */
  .site-header .search-bar,
  .search-bar{
    max-height: 56px; overflow: hidden;
    transition: max-height .25s ease, padding .25s ease;
    padding: 6px 14px 10px;
    position: relative; z-index: 5;
  }

  /* в компактном режиме по умолчанию скрыта */
  body.is-compact:not(.is-search-open) .site-header .search-bar,
  body.is-compact:not(.is-search-open) .search-bar{
    max-height: 0; padding-top: 0; padding-bottom: 0;
  }

  /* прячем старую иконку в блоке .icons на мобиле, чтобы не дублировалась */
  .site-header .icons .searchicon{ display:none; }
}

/* Когда поиск открыт — принудительно показываем полосу поиска */
@media (max-width: 767.98px){
  body.is-search-open .site-header .search-bar,
  body.is-search-open .search-bar{
    max-height: 56px !important;
    padding: 6px 14px 10px !important;
  }
}
@media (min-width: 768px){
  .site-header .search-toggle{ display:none !important; }
}
/* === iOS safe-area: чтобы header не уезжал под статус-бар на iPhone === */
@media (max-width: 767.98px) {

  /* базовое состояние sticky */
  .site-header{
    position: sticky;
    top: 0;                 /* липнем к верху в обычных браузерах */
    z-index: 1000;
    background-clip: padding-box; /* фон хедера заполняет safe-area */
  }

  /* Современные iOS (env) */
  @supports (padding-top: env(safe-area-inset-top)) {
    :root { --sat: env(safe-area-inset-top); }


    .site-header .main-header{
      padding-top: calc(var(--header-pad-y) + var(--sat));
    }
    /* если у тебя есть верхняя полоска (.top-bar) — ей тоже даём safe-area */
    .site-header .top-bar{
      padding-top: calc( var(--sat) + 6px );
    }
    /* строка поиска под шапкой не «скачет» */
    .site-header .search-bar{
      padding-top: calc(6px + var(--sat));
    }
  }

  /* Старые iOS 11–12 (constant) */
  @supports (padding-top: constant(safe-area-inset-top)) {
    :root { --sat: constant(safe-area-inset-top); }

    .site-header .main-header{
      padding-top: calc(var(--header-pad-y) + var(--sat));
    }
    .site-header .top-bar{
      padding-top: calc( var(--sat) + 6px );
    }
    .site-header .search-bar{
      padding-top: calc(6px + var(--sat));
    }
  }
}
/* === Увеличиваем верхний отступ на iOS (добавляем extra) === */
@media (max-width: 767.98px) {

  /* сколько добавить сверх safe-area; поменяй значение по вкусу */
  :root { --ios-extra: 10px; } /* было бы 0px — стало +10px */

  /* Современные iOS (env) */
  @supports (padding-top: env(safe-area-inset-top)) {
    .site-header .main-header{
      padding-top: calc(var(--header-pad-y) + env(safe-area-inset-top) + var(--ios-extra));
    }
    .site-header .top-bar{
      padding-top: calc(env(safe-area-inset-top) + var(--ios-extra) + 6px);
    }
    .site-header .search-bar{
      padding-top: calc(6px + env(safe-area-inset-top) + var(--ios-extra));
    }
  }

  /* Старые iOS (constant) */
  @supports (padding-top: constant(safe-area-inset-top)) {
    .site-header .main-header{
      padding-top: calc(var(--header-pad-y) + constant(safe-area-inset-top) + var(--ios-extra));
    }
    .site-header .top-bar{
      padding-top: calc(constant(safe-area-inset-top) + var(--ios-extra) + 6px);
    }
    .site-header .search-bar{
      padding-top: calc(6px + constant(safe-area-inset-top) + var(--ios-extra));
    }
  }
}

.woocommerce .woocommerce-shipping-totals ul#shipping_method li {
	margin: 0;
	padding-bottom: 0;
}

@media (max-width: 768px) {
	
.woocommerce-ordering, .orderby {
	width: 100% !important;
}
	
.quantity.quantity-buttons {
	margin-bottom: 15px;
	width: 50%;
}
.product .product__meta {
	display: block;
}
.product .product__meta-left, .product .product__meta-right, .product .product__control-left, .product .product__control-right {
	width: 100%;
}
.product .product__meta-right, .product .product__control-right {
	text-align: left;
}

}

.live-search-results {
	border-radius: 5px;
}

.live-search-results a {
  display: block;
  padding: 8px 12px;
  text-decoration: none;
  color: #333;
  font-size: 12px;
  line-height: 1.3em;
}
.live-search-results a:hover {
  background: #f0f0f0;
}
.live-search-results span {
  display: block;
  padding: 8px 12px;
  color: #999;
  font-size: 12px;
  line-height: 1.3em;
}

@media screen and (min-width: 768px) {
.hero-btn {
	min-width: 300px;
	text-align: center;
}
}

.csf-price-inputs {
  display: flex;
  align-items: center;
  gap: 10px;
}

.csf-price-inputs input[type="number"] {
  width: 100%;
  padding: 10px 14px;
  background: #F6F6F6;
  border: none;
  border-radius: 12px;
  font-size: 14px;
  color: #000; /* обычный текст */
  -moz-appearance: textfield;
}

.csf-price-inputs input::placeholder {
  color: #A8A8A9;
}

/* убрать стрелки у number в Chrome */
.csf-price-inputs input::-webkit-outer-spin-button,
.csf-price-inputs input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.csf-price-sep {
  color: #A8A8A9;
  font-size: 16px;
  line-height: 1;
  user-select: none;
}

