/*Обнуление*/
* {
	padding: 0;
	margin: 0;
	border: 0;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

*,
*:before,
*:after {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

:focus,
:active {
	outline: none;
}

a:focus,
a:active {
	outline: none;
}

nav,
footer,
header,
aside {
	display: block;
}
/*body.light-mode-invert {
  background-color: rgba(200, 200, 200, 0.20) !important;
}*/
html,
body {
	height: 100%;
	width: 100%;
	font-size: 100%;
	line-height: 1;
	font-size: 14px;
	-ms-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}
body{
	display: flex;
  flex-direction: column;
  min-height: 100vh;
  background-color: #343434;
}
input,
button,
textarea {
	font-family: inherit;
	border-radius: 0
}

input::-ms-clear {
	display: none;
}

button {
	cursor: pointer;
}

button::-moz-focus-inner {
	padding: 0;
	border: 0;
}

a,
a:visited {
	text-decoration: none;
}

a:hover {
	text-decoration: none;
}

ul li {
	list-style: none;
}

img {
	vertical-align: top;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: inherit;
	font-weight: 400;
	color: #fff;
	
}

input:focus::-webkit-input-placeholder {
	color: transparent;
}

input:focus:-moz-placeholder {
	color: transparent;
}

/* FF 4-18 */
input:focus::-moz-placeholder {
	color: transparent;
}

/* FF 19+ */
input:focus:-ms-input-placeholder {
	color: transparent;
}

/* IE 10+ */
/*--------------------*/

html,
body {
	height: auto;

}

body {
	font-family: 'fira sans', sans-serif;

	

}
.light-mode-invert * {
  box-shadow: none !important;
  text-shadow: none !important;
}
.search-bar,
.search-bar * {
  box-shadow: none !important;
  text-shadow: none !important;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-filter: none !important;
}

.fira-sans-thin {
  font-family: "Fira Sans", sans-serif;
  font-weight: 100;
  font-style: normal;
}

.fira-sans-extralight {
  font-family: "Fira Sans", sans-serif;
  font-weight: 200;
  font-style: normal;
}

.fira-sans-light {
  font-family: "Fira Sans", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.fira-sans-regular {
  font-family: "Fira Sans", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.fira-sans-medium {
  font-family: "Fira Sans", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.fira-sans-semibold {
  font-family: "Fira Sans", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.fira-sans-bold {
  font-family: "Fira Sans", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.fira-sans-extrabold {
  font-family: "Fira Sans", sans-serif;
  font-weight: 800;
  font-style: normal;
}

.fira-sans-black {
  font-family: "Fira Sans", sans-serif;
  font-weight: 900;
  font-style: normal;
}

.fira-sans-thin-italic {
  font-family: "Fira Sans", sans-serif;
  font-weight: 100;
  font-style: italic;
}

.fira-sans-extralight-italic {
  font-family: "Fira Sans", sans-serif;
  font-weight: 200;
  font-style: italic;
}

.fira-sans-light-italic {
  font-family: "Fira Sans", sans-serif;
  font-weight: 300;
  font-style: italic;
}

.fira-sans-regular-italic {
  font-family: "Fira Sans", sans-serif;
  font-weight: 400;
  font-style: italic;
}

.fira-sans-medium-italic {
  font-family: "Fira Sans", sans-serif;
  font-weight: 500;
  font-style: italic;
}

.fira-sans-semibold-italic {
  font-family: "Fira Sans", sans-serif;
  font-weight: 400;
  font-style: italic;
}

.fira-sans-bold-italic {
  font-family: "Fira Sans", sans-serif;
  font-weight: 700;
  font-style: italic;
}

.fira-sans-extrabold-italic {
  font-family: "Fira Sans", sans-serif;
  font-weight: 800;
  font-style: italic;
}

.fira-sans-black-italic {
  font-family: "Fira Sans", sans-serif;
  font-weight: 900;
  font-style: italic;
}





h1 {
	font-weight: 900;
	font-size: 20px;
	line-height: 45px;
	text-align: center;
	letter-spacing: -0.005em;
	text-transform: uppercase;
	margin-bottom: 10px;
	color: #fff;
}

h2 {
	font-weight: 400;
	font-size: 24px;
	line-height: 20px;


	text-align: center;
	letter-spacing: -0.005em;
	text-transform: uppercase;
	margin-bottom: 26px;
	color: #fff;
}

.container {
	max-width: 1950px;
	padding: 0 15px;
	margin: 0 auto;

}



.logo {
	margin-left: 25px;

}

.logo img {
	max-height: 70px;

}




.header {

	position: sticky;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	background-color: rgba(40, 40, 40, 0.9);
	/*backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);*/
	-webkit-box-shadow: 0px 0px 7px 0px rgba(0, 0, 0, 0.15);
	-moz-box-shadow: 0px 0px 7px 0px rgba(0, 0, 0, 0.15);
	box-shadow: 0px 0px 7px 0px rgba(0, 0, 0, 0.30);
}



.menu-hidden {
	position: fixed;
	z-index: 800;
	visibility: hidden;
}

.header__wrap {

	overflow: hidden;
	
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 60px;
	transition: 0.4s ease;
	
}

.header-phone {
	color: #000;
	margin-bottom: 5px;
}

.header-phone a {
	text-align: center;
	font-weight: 400;
	font-size: 14px;
	text-transform: uppercase;
	color: #fff;

}

.header-adress {
	text-align: center;
	font-weight: 400;
	font-size: 13px;

	color: #fff;
}

.scroll {
	background-color: rgba(105, 110, 110, 0.7);
	height: 40px;
	border-radius: 22px;
}


.cart-subtotal,
.woocommerce-cart .cart-subtotal,
.woocommerce-checkout-review-order-table .cart-subtotal,
.woocommerce-email .cart-subtotal,
.woocommerce-order-overview__subtotal,
.woocommerce-order-details .woocommerce-table--order-details tfoot .woocommerce-order-subtotal {
    display: none !important;
}
.container__header {

	max-width: 1950px;
	padding: 0 15px;
	margin: 0 auto;
}


.header__burger {
	position: relative;
	display: none;
	text-align: center;
	margin-right: 30px;
}

.header__list li a {
	transition: 0.2s ease;
	padding: 40px 1.5vw;
}

.header__list li {
	display: inline-block;
}

nav ul {
	margin-right: 0px;
	white-space: nowrap;
}
.header__link img {
	height: 30px;
}
.header__link {
	color: #fff;
	font-size: 16px;
	font-weight: 600;
	text-transform: uppercase;

	transition: 0.3s;
}

.header__list li a:hover {
	background-color: rgba(219, 110, 33, 0.1);
	color: #DB6E21;
}

@media screen and (min-width: 993px) {
	.header__list li a {
		padding: 40px 25px;
	}
	.contacts-header{
		
		
		
	}
	.header-phone{
		margin-bottom: 0px;
		font-size: 20px;
	}
	
	
}
@media screen and (max-width: 1400px){
	.contacts-header{
		flex-direction: column;

	}
}
@media screen and (min-width: 1170px) {
	
	
	.contacts-header{
		display: flex;
		justify-content: space-around;
		align-items: center;
		width: 100%;

	}
	.header-phone{
		margin-bottom: 0px;

	}
	.header-phone a{
		font-size: 20px;
	}
	
	.header-adress {
		font-size: 20px;
	}
}
@media screen and (max-width: 1200px){
.header__link {
		font-size: 14px;
	}
}
@media screen and (max-width: 1100px){
.header__link {
		font-size: 13px;
	}
}
@media screen and (max-width: 1100px){
.header__link {
		font-size: 12px;
	}
}
@media screen and (max-width: 992px) {

	.header__link {
		font-size: 10px;
	}
	.logo img {
	max-height: 70px;


}
.logo{
	margin-left: 10px;
}

}


@media screen and (max-width: 768px) {

	
	.contacts-header {
		transform: translateX(-50%);
	}
.logo{
	margin-left: 25px;
}
	.header__list li a {
		padding: 40px 1.5vw;
	}

	.container {
		padding: 0 7px;
	}

	.container__header {
		padding: 0 7px;
	}


	.header__burger {
		display: block;
		position: relative;
		width: 30px;
		height: 20px;
	}

	.header__burger span {
		position: absolute;
		background-color: #fff;
		border-radius: 10px;
		right: 0;
		top: 9px;
		
		width: 100%;
		transition: 0.2s ease;
	}

	.header__burger:before,
	.header__burger:after {
		content: '';
		background-color: #fff;
		position: absolute;
		height: 3px;
		right: 0;
		transition: 0.2s ease;
		border-radius: 10px;
	}

	.header__burger:before {
		top: 1px;
		width: 100%;
	}

	.header__burger:after {
		bottom: 0;
		width: 100%;

	}

	.header__burger.clicked:before {
		transform: rotate(45deg);
		top: 8.5px;
		width: 100%;
	}

	.header__burger.clicked:after {
		transform: rotate(-45deg);
		bottom: 8.5px;
		width: 100%;
	}

	.header__burger.clicked span {
		transform: scale(0);
		width: 100%;
	}

	.header__list li a {
		padding: 40px 0vw;
		display: block;
		font-size: 20px;
		height: 100%;
		text-align: center;
		text-shadow: 1px 0px 2px rgba(150, 150, 150, 0.5);
	}

	.header__list li {
		display: block;
	}

	.lock {
		overflow: hidden;
	}

	.header__list {
		padding: 170px 0 60px 0;
		margin-top: 0px;
		background: rgba(0, 0, 0, 0);
		position: fixed;
		top: 0;
		left: 0;
		visibility: hidden;
		transition: 0.3s;
		width: 100%;
		height: 100%;
		z-index: -1;
		overflow: auto;
	}

	.header__list li {
		display: block;
		margin: 0;
		text-align: center;
		transform: scale(0);
		transition: 0.2s;
	}

	.header__burger {
		display: block;
		position: absolute;
		right: 15px;
	}

	.menu-hidden .header__list.active {
		height: 100vh;
		visibility: visible;
		top: 0;
		transition: 0.3s;
		background-color: rgba(40, 40, 40, 0.95);
	/*backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	-webkit-box-shadow: 0px 0px 7px 0px rgba(0, 0, 0, 0.15);
	-moz-box-shadow: 0px 0px 7px 0px rgba(0, 0, 0, 0.15);*/
	}

	.header__list.active li {
		transform: scale(1);

	}

	.header__list li a:hover {
		background-color: rgba(0, 0, 0, 0);

	}
}
.header__list {
 
}


.header__list li {
  position: relative;
}

.header__list li:not(:last-child)::after {
  content: "";
  position: absolute;
  right: -2px;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 16px;
  background-color: rgba(255, 255, 255, 0.1); /* Светлая полупрозрачная линия */
}

@media screen and (max-width: 576px) {
	.header-phone {
		font-size: 12px;
	}

	.contacts-header {
		transform: translateX(-30%);
	}

	.header-adress {
		font-size: 12px;
	}

	.logo {
		margin-left: 20px;

	}

	.logo img {
		max-height: 70px;
	}

	.header__burger {

		margin-right: 10px;
	}
}

.header-sub {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  padding: 7px 0px;
  flex-wrap: nowrap; /* Запрещаем перенос элементов */
}

.cart-icon {
  display: flex;
  align-items: center;
  flex-shrink: 0; /* Запрещаем уменьшение корзины */
}

.cart-icon img {
  width: 20px;
  height: 20px;
  cursor: pointer;
}

.cart-text {
  font-size: 15px;
  color: #fff;
  font-weight: 400;
  padding-left: 10px;
  white-space: nowrap; /* Текст не переносится */
}

.search-bar {
  display: flex;
  align-items: center;
  max-width: 700px;
  width: 50vw; /* Занимает все доступное пространство */
  min-width: 0; /* Разрешаем уменьшение */
}

.search-bar input {
  flex: 1;
  min-width: 50px; /* Минимальная ширина инпута */
  padding: 8px 12px;
  border: 1px solid #8f8f8f;
  border-radius: 40px 0 0 40px;
  outline: none;
  font-weight: 300;
  font-size: 14px;
  color: #c9c9c9;
  background-color: transparent;
  width: 100%; /* Занимает всю ширину search-bar */

}
input[type="search"]::-webkit-search-cancel-button {
    filter: invert(39%) sepia(93%) saturate(752%) hue-rotate(1deg) brightness(103%) contrast(101%);
    cursor: pointer;
}
.search-bar button {
  padding: 8px 16px;
  border: none;
  border: 1px solid #8f8f8f;
  background-color: #2f2f2f;
  color: #fff;
  font-weight: 300;
  border-radius: 0 40px 40px 0;
  cursor: pointer;
  font-size: 14px;
  transition: 0.2s;
  flex-shrink: 0; /* Фиксированная ширина кнопки */
}
.search-bar button:hover{
	background-color: #1a1a1a;
	color: #db6e21;

}
.dgwt-wcas-search-input {
    background: transparent !important;
    
    color: #fff !important;

}
.dgwt-wcas-style-pirx.dgwt-wcas-style-pirx-compact .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input {
    padding-top: 8px;
    padding-bottom: 8px;
    /* line-height: normal; */
    font-size: 14px;

}
.dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit {
    
    min-height: 29px;
    min-width: 26px;
    height: 33px;
    width: 33px;
    left: 23px;
    top: 21px;
    
}
 .dgwt-wcas-overlay-mobile {
     background: #2d2d2d;
border-radius: 0 0 20px 20px;
}
.dgwt-wcas-open-pirx .dgwt-wcas-style-pirx.dgwt-wcas-style-pirx-compact .dgwt-wcas-sf-wrapp, .dgwt-wcas-open-pirx.dgwt-wcas-overlay-mobile-on .dgwt-wcas-om-bar button.dgwt-wcas-om-return {
    background: #2d2d2d;
border-radius: 20px 20px 0 0}
.dgwt-wcas-open-pirx.dgwt-wcas-overlay-mobile-on .dgwt-wcas-om-bar button.dgwt-wcas-om-return svg {
  filter: brightness(0) invert(1);
}
.dgwt-wcas-open-pirx.dgwt-wcas-overlay-mobile-on .dgwt-wcas-om-bar button.dgwt-wcas-om-return path, .dgwt-wcas-style-pirx .dgwt-wcas-close:not(.dgwt-wcas-inner-preloader) path, .dgwt-wcas-style-pirx .dgwt-wcas-voice-search svg path, .dgwt-wcas-style-pirx.dgwt-wcas-has-submit .dgwt-wcas-search-submit svg path {
     fill: #eee; 
}

.dgwt-wcas-search-input::placeholder {
    color: rgba(255, 255, 255, 0.6);
}
/* 1. Отключает горизонтальный скролл */
body {
    overflow-x: hidden;
}

/* 2. Фикс ширины выпадающего блока */
.dgwt-wcas-suggestions-wrapp {
    max-width: 100% !important;
    overflow-x: hidden;
    box-sizing: border-box;
}

/* 3. Фикс при фокусе, если body дергается */
html.dgwt-wcas-open body {
    padding-right: 0 !important;
    overflow: hidden !important;
}
/* Адаптация для маленьких экранов */
@media screen and (max-width: 768px) {
  .header-sub {
    gap: 10px;
    padding: 7px;
  }
  
  .search-bar {
    flex-grow: 1;
    
  }
  
  .cart-text {
    display: none; /* Скрываем текст на маленьких экранах */
  }
  .cart-icon{
  	margin: 0 20px;
  }
}

@media screen and (max-width: 480px) {
  .header-sub {
    gap: 5px;
  }
  
  .search-bar input {
    padding: 6px 10px;
    font-size: 14px;
  }
  
  .search-bar button {
    padding: 6px 12px;
  }
  
  .cart-icon img {
    width: 18px;
    height: 18px;
  }
}
@media screen and (max-width: 992px) {
	.search-bar {
  
  	
}
.search-bar input {
	
		

}
}


.btn {
	transition: 0.4s;
	border-radius: 50px;
	padding: 11px 23px;
	background-color: #DB6E21;
	font-weight: 400;
	font-size: 14px;
	line-height: 17px;


	text-transform: uppercase;

	color: #FFFFFF;
}

.btn:hover {
	background-color: #9E4D14;
}



@media screen and (max-width: 992px) {}

@media screen and (max-width: 768px) {
	h1 {
		font-size: 30px;

	}

	h2 {
		font-size: 17px;
	}

	.utp {
		padding: 30px 70px 43px 70px;
	}
}

@media screen and (max-width: 576px) {

	h1 {
		font-size: 22px;
		line-height: 25px;
		margin-bottom: 7px;

	}
	.logo img{
	max-height: 40px;
}

	h2 {
		font-size: 14px;
		line-height: 15px;

	}

	.utp {
		padding: 20px 50px 33px 50px;
	}
}


/* Стилизация скроллбара для браузеров на основе Webkit (Chrome, Safari) */
::-webkit-scrollbar {
    width: 12px; /* Ширина скроллбара */
    border-radius: 12px; /* Закругленные углы скроллбара */
}

::-webkit-scrollbar-track {
    background: #f1f1f1; /* Цвет дорожки скроллбара */
    border-radius: 12px; /* Закругленные углы дорожки */
}

::-webkit-scrollbar-thumb {
    background: #888; /* Цвет ползунка */
    border-radius: 12px; /* Закругленные углы ползунка */
    border: 3px solid #f1f1f1; /* Добавление отступа для более округлого вида */
}

::-webkit-scrollbar-thumb:hover {
    background: #555; /* Цвет ползунка при наведении */
}

/* Стилизация скроллбара для Firefox */
html {
    scrollbar-width: thin; /* Толщина скроллбара */
    scrollbar-color: #343434 #f1f1f1; /* Цвет ползунка и дорожки */
}

/* Дополнительные стили для закругления углов в Chrome */
body::-webkit-scrollbar {
    border-radius: 12px; /* Закругленные углы скроллбара */
}
/* about*/
h3 {
	font-weight: 400;
	font-size: 20px;
	line-height: 24px;


	text-transform: uppercase;

	color: #fff;
}

.

h4 {
	font-weight: 400;
	font-size: 16px;
	line-height: 19px;
	text-transform: uppercase;
	color: #DB6E21;
}






/* Каталог фасадных панелей - стили */
.woocommerce-breadcrumb{
	margin-top: 30px;
}
    /* Основные стили */
    .site-content {
        
        
    }
main {
	min-height: 50vh;
	margin: 30px auto 0;
	padding: 0 0px 30px 0px;
	max-width: 1950px;
	color: #fff;

}
    .container {
        max-width: 1950px;
        padding: 0 15px;
        margin: 0 auto;
        position: relative;
    }

    .breadcrumbs-list {
    display: flex;
    list-style: none;
    flex-wrap: wrap;
    
    margin: 0;
}

.breadcrumbs-item {
    margin-right: 10px;
    color: #c9c9c9;
	font-size: 15px;
    display: inline-block;
    text-decoration: none;
}
.breadcrumbs-item a{
	color: #c9c9c9;
	  font-weight: 400;
}
.breadcrumbs-item:not(:last-child)::after {
    content: '›';
    margin-left: 10px;
    font-size: 15px;
    color: #fff;
}

.breadcrumbs-link {
    color: #fff;
    text-decoration: none;
    transition: color 0.3s;
    
}

.breadcrumbs-link:hover {
    color: #DB6E21;
}

/* Финальный элемент хлебных крошек */
.breadcrumbs-item:last-child {
    color: #c9c9c9;
    font-weight: 400;
    pointer-events: none;
    
}

    /* Основная структура */
    .site-content-wrapper {
        display: flex;
        flex-wrap: wrap;
        gap: 30px;
        
    }

    .sidebar {
        flex: 0 0 300px;
        background: #2d2d2d;
        border-radius: 45px;
        box-shadow: 0px 0px 7px 0px rgba(0,0,0,0.10);
        padding: 25px;
        height: fit-content;
        transition: all 0.3s ease;
    }

    .site-content-catalog {
        flex: 1;
        min-width: 0;
    }

    /* Стили для сайдбара */
    .sidebar-categories {
        
    }

    .sidebar-title {
        font-size: 20px;
        font-weight: 400;
        margin-bottom: 20px;
       text-align: center;
        
        color: #fff;
        text-transform: uppercase;
    }

    
/* Полностью удаляем текстовую иконку */
.product-card__zoom-icon {
    font-size: 0 !important;
    color: transparent !important;
}

/* Создаем новую иконку через псевдоэлемент */
.product-card__zoom-icon::before {
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"><path d="M15.5 14h-.79l-.28-.27a6.5 6.5 0 0 0 1.48-5.34c-.47-2.78-2.79-5-5.59-5.34a6.505 6.505 0 0 0-7.27 7.27c.34 2.8 2.56 5.12 5.34 5.59a6.5 6.5 0 0 0 5.34-1.48l.27.28v.79l4.25 4.25c.41.41 1.08.41 1.49 0 .41-.41.41-1.08 0-1.49L15.5 14zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/></svg>');
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
    .category-link {
        color: #fff;
        text-decoration: none;
        transition: all 0.3s;
        display: block;
        padding: 15px 15px;
        border-radius: 8px;
        font-size: 18px;
        font-weight: 400;
    }

    .category-link:hover {
        color: #DB6E21;
        border-radius: 15px;
        background-color: rgba(219, 110, 33, 0.1);
    }

    .category-link.active {
        color: #DB6E21;
        background-color: rgba(219, 110, 33, 0.1);
        font-weight: 400;
    }

    /* Заголовок каталога */
    .catalog-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 30px;
        flex-wrap: wrap;
        gap: 15px;
    }

    .catalog-title {
        font-size: 28px;
        font-weight: 400;
        color: #fff;
        text-transform: uppercase;
        margin: 0;
    }

    .sort-select {
        padding: 10px 15px;
        border-radius: 25px;
        border: 1px solid #8f8f8f;
        background-color: #343434;
        color: #fff;
        font-size: 14px;
        min-width: 250px;
        appearance: none;
        background-image: url("up.svg");

        background-repeat: no-repeat;
        background-position: right 10px center;
        background-size: 16px;
    }
  
.orderby{
	padding: 10px 15px;
        border-radius: 25px;
        border: 1px solid #8f8f8f;
        background-color: #343434;
        color: #fff;
        font-size: 14px;
        min-width: 250px;
        appearance: none;
        background-image: url("up.svg");
        background-repeat: no-repeat;
        background-position: right 10px center;
        background-size: 10px;
}
   
 /* Стили для кнопки "Показать еще" */
    .load-more-wrapper {
        text-align: center;
        margin-top: 30px;
    }

    .load-more {
        padding: 12px 30px;
        background-color: #343434;
        color: #8f8f8f;
        border: 1px solid #8f8f8f;
        border-radius: 25px;
        font-weight: 400;
        cursor: pointer;
        transition: all 0.3s;
    }

    .load-more:hover {
        background-color: #eee;
        border-color: #ccc;
        color: #333;
    }

    /* Стили для кнопки toggle сайдбара */
    .sidebar-toggle {
        display: none;
        width: 100%;
        padding: 12px 20px;
        background-color: #DB6E21;
        color: white;
        border: none;
        border-radius: 25px;
        font-weight: 400;
        font-size: 14px;
        cursor: pointer;
        margin-bottom: 15px;
        align-items: center;
        justify-content: space-between;
    }
    
    .sidebar-toggle svg {
        transition: transform 0.3s;
    }
    
    .sidebar-toggle.active svg {
        transform: rotate(180deg);
    }

    /* Адаптивность */
    @media (max-width: 1200px) {
        .sidebar {
            
        }
    }

    @media (max-width: 992px) {
        .product-grid {
            grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
        }
    }

    @media (max-width: 768px) {
        .site-content-wrapper {
            flex-direction: column;
            gap: 0;
        }
        
        .sidebar {
            flex: 0 0 100%;
            max-width: 100%;
            position: static !important;
           flex: 0 0 auto; /* или flex: 1 0 auto; в зависимости от нужного поведения */
        background: none; /* или transparent */
        width: auto; /* ширина по контенту */
        height: auto !important; /* высота по контенту */
        border-radius: 0; /* если нужно убрать скругление */
        box-shadow: none; /* если нужно убрать тень */
        padding:  0 0 15px 0;
        }
        .sidebar-title{
        	display: none;
        }
        .catalog-header {
            flex-direction: column;
            align-items: flex-start;
        }
        
        .sort-select {
            width: 100%;
        }
        
        .sidebar-toggle {
            display: flex;
                background: #2d2d2d;
                border: 1px solid #8f8f8f;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
        }
        .category-item{
        	
        }
        .category-item .has-children {

        }

        .sidebar-categories {
            display: none;
            margin-top: 15px;
            
        }

        .sidebar-categories.active {
            display: block;
        }
    }
.mobile-toggle{
        	display: none;
        }
    @media (max-width: 576px) {
        .product-grid {
            grid-template-columns: repeat(2, 1fr);
            gap: 15px;
        }
        
        .product-image {
            height: 150px;
        }
        
        .product-info {
            padding: 15px;
        }
        
        .catalog-title {
            font-size: 24px;
        }
    }

    @media (max-width: 480px) {
        .product-grid {
            grid-template-columns: 1fr;
        }
    }
/* Обертка для карточек (UL в WooCommerce) */
ul.products {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap: 20px;
    padding: 0;
    list-style: none;
}
.empty-cart-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 70vh;
    text-align: center;
    padding: 40px 20px;
    background: #343434;
}

.empty-cart-content {
    max-width: 400px;
    background: #2d2d2d;
    padding: 40px 30px;
    border-radius: 16px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.05);
}

.empty-cart-icon {
    color: #999;
    margin-bottom: 20px;
}

.empty-cart-title {
    font-size: 24px;
    margin-bottom: 10px;
    color: #fff;
    font-weight: 600;
    line-height: 1.3;

}

.empty-cart-subtitle {
    font-size: 16px;
    color: #999;
    margin-bottom: 25px;
}

.empty-cart-button {
    display: inline-block;
    background-color: #db6e21;
    color: white;
    padding: 12px 24px;
    border-radius: 30px;
    font-size: 16px;
    text-decoration: none;
    transition: background 0.3s ease;
}

.empty-cart-button:hover {
    background-color: #005f8c;
}
ss3-loader:after {
  display: none !important;
}
/* Карточка товара - компактная версия */
.product-card {
    position: relative;
    
    background: linear-gradient(to bottom, #4a4848, #151515);

        border: solid 1px #4a4848;
    overflow: hidden;
    box-shadow: 0px 0px 7px 0px rgba(0, 0, 0, 0.10);
    transition: all 0.3s ease;
    width: 100%;
    height: 100%;
    border-radius: 30px;
    cursor: pointer;

}
  .added_to_cart {
    display: none !important;
}
.product-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

.product-card__inner {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Изображение товара */
.product-card__image-wrapper {
    position: relative;
    overflow: hidden;
    padding-top: 100%; /* Квадратное изображение */
    
}

.product-card__image-link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;

}
.product-card__image-wrapper img{
	background: #fff;
}
.product-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.product-card__zoom-icon {
    position: absolute;
    top: 10px;
    right: 10px;
    background: rgba(0,0,0,0.6);
    color: #fff;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s;
}

.product-card__image-link:hover .product-card__zoom-icon {
    opacity: 1;
}

.product-card:hover .product-card__image {
    transform: scale(1.03);
}

/* Бейдж распродажи */
.product-card__badge {
    position: absolute;
    top: 10px;
    left: 10px;
    padding: 3px 8px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    color: #fff;
    z-index: 2;
}

.product-card__badge--sale {
    background-color: #DB6E21;
}

/* Информация о товаре */
.product-card__info {
    padding: 15px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.product-card__categories {
    margin-bottom: 5px;
    font-size: 11px;
}

.product-card__categories a,
.product-card__category {
    color: #DB6E21 !important;
    text-decoration: none;
    transition: opacity 0.3s;
}

.product-card__categories a:hover {
    opacity: 0.8;
}

.product-card__title {
     margin: 0 0 8px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  color: #fff;

  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;

  /* Минимальная высота для двух строк */
  min-height: calc(1.3em * 2);

  /* Скрытие "хвостов" букв на iOS (например, Й) */
  

  

  /* Резервное затемнение для Safari без поддержки mask-image */
  background-clip: padding-box;

  border-bottom: solid 1px #414141;
}
.product-card__price p{

	color: #9a9999;
	font-size: 12px;
	margin-bottom: 5px;
	font-weight: 400;
}
.product-card__price {
    margin: 0 0 10px;
    font-size: 16px;
    font-weight: 700;
    color: #DB6E21;
}
.product-card__title a {
    text-decoration: none;
    color: inherit;
}

.product-card__price del {
    color: #8f8f8f;
    font-size: 14px;
    margin-right: 5px;
}

.product-card__price ins {
    text-decoration: none;
}

/* Выбор количества */
.product-card__quantity {
    margin: 0 0 10px;
}
.product-card__quantity-title{
	color: #9a9999;
	font-weight: 400;
	font-size: 12px;
}
.product-card__quantity .qty {
    width: 60px;
    padding: 5px;
    text-align: center;
    background: #343434;
    border: 1px solid #4d4d4d;
    color: #fff;
    border-radius: 20px;
}

/* Статус наличия */
.product-card__stock {
    font-size: 12px;
    margin-bottom: 8px;
}

.product-card__stock--in-stock {
    color: #4CAF50;
}

.product-card__stock--out-of-stock {
    color: #f44336;
}

/* Атрибуты */
.product-card__attributes {
    margin: 0 0 10px;
    font-size: 12px;
}

.product-card__attribute {
    margin-bottom: 3px;
    display: flex;
}

.product-card__attribute-label {
    color: #9A9999;
    margin-right: 5px;
    flex-shrink: 0;
}

.product-card__attribute-value {
    color: #fff;
}

/* Артикул */
.product-card__sku-wrapper {
    margin-top: auto;
    padding-top: 10px;
    border-top: 1px solid #414141;
    font-size: 12px;
}

.product-card__sku {
    display: flex;
    align-items: center;
    color: #9A9999;
}

.product-card__sku-label {
    margin-right: 5px;
}

.product-card__sku-value {
    color: #fff;
    margin-right: 10px;
}

.product-card__sku-copy {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    margin-left: auto;
    color: #DB6E21;
    font-size: 12px;
    display: flex;
    align-items: center;
    position: relative;
    text-align: center;
}

.product-card__sku-copy .copy-default {
    display: inline-block;
}

.product-card__sku-copy .copy-success {
    display: none;
    color: #4CAF50;
}

.product-card__sku-copy.copied .copy-default {
    display: none;
}

.product-card__sku-copy.copied .copy-success {
    display: inline-block;
}

/* Кнопка "В корзину" */
.product-card__add-to-cart {
    margin-top: 10px;
    position: relative;
}
.product-card-qty{
	text-align: left;
}
.product-card__add-to-cart .button {
    display: block;
    width: 100%;
    padding: 8px;
    background-color: #DB6E21;
    color: #fff;
    border: none;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 500;
    text-align: center;
    cursor: pointer;
    transition: background-color 0.3s;
}

.product-card__add-to-cart .button:hover {
    background-color: #b85416;
}

.product-card__add-to-cart .button.added {
    
}

.product-card__added-to-cart {
    display: none;
    width: 100%;
    padding: 8px;
    background-color: #4CAF50;
    color: #fff;
    border: none;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 500;
    text-align: center;
}

.product-card__add-to-cart .added + .product-card__added-to-cart {
    display: block;
}

.dgwt-wcas-suggestions-wrapp {
	border-radius: 0 0 25px 25px !important;

}
.not-found-thumb {
    display: block;
    margin: 0px auto 15px auto;
    
    
}
#contacts::before {
  content: "";
  display: block;
  height: 80px; /* высота твоего хедера */
  margin-top: -80px;
}

/* Адаптивность */
@media (max-width: 768px) {
    .product-card__info {
        padding: 12px;
    }
    
    .product-card__title {
        font-size: 13px;
        min-height: 34px;
    }
    
    .product-card__price {
        font-size: 15px;
    }
    
    .product-card__add-to-cart .button {
        padding: 7px;
        font-size: 12px;
    }
}
/* Кнопка копирования артикула */
.product-card__sku-copy {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    margin-left: auto;
    width: 20px;
    height: 20px;
    position: relative;
}

.product-card__sku-copy .check-icon {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    transform: scale(0.8);
    transition: all 0.3s ease;
}

.product-card__sku-copy .copy-icon {
    opacity: 1;
    transition: all 0.3s ease;
}

.product-card__sku-copy.copied .copy-icon {
    opacity: 0;
    transform: scale(0.8);
}

.product-card__sku-copy.copied .check-icon {
    opacity: 1;
    transform: scale(1);
}

/* Кнопка "В корзину" */
.product-card__add-to-cart .button {
    display: block;
    width: 100%;
    padding: 10px;
    background-color: #DB6E21;
    color: #fff;
    border: none;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 500;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s;
}
.product-card__sku-copy img{
	height: 17px;
}
.product-card__add-to-cart .button.added {
    background-color: #4CAF50;
    
}

.product-card__add-to-cart .button.added::after {
    
}

.product-card__add-to-cart .button.loading {
    opacity: 0.7;
    pointer-events: none;
}

.product-card__add-to-cart .button.added.loading {
    background-color: #4CAF50;
}

.product-page-btn{
	max-width: 50%;
    display: block;
    margin: 0 auto;
}
@media (max-width: 768px) {
    .product-page-btn {
        max-width: 100%; /* На экранах меньше 768px кнопка занимает всю ширину */
    }
}
@media (max-width: 768px) {
    ul.products {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
        gap: 15px;
    }
    
    .product-card {
        margin-bottom: 15px;
    }
}


.site-content-catalog {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.category_ware_table {
    flex-grow: 1;
}
.footer {
    margin-top: auto; /* Это заставит футер прижиматься вниз */
    padding: 20px 0;
}




.site-content-catalog {
    width: 100%;
}
.woocommerce-pagination {
    margin: 40px 0;
    text-align: center;
}

.page-numbers {
    display: inline-flex;
    gap: 8px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.page-numbers li {
    display: inline-block;
    margin: 0;
}

.page-numbers a,
.page-numbers span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%; /* Делаем идеальный круг */
    text-decoration: none;
    font-weight: 500;
    font-size: 16px;
    transition: all 0.3s ease;
}

.page-numbers a {
    color: #fff;
    background-color: #343434;
    border: 1px solid #8f8f8f;
}

.page-numbers span.current {
    color: #fff;
    background-color: #DB6E21;
    border: 1px solid #DB6E21;
}

/* Фиксируем стрелки в кругах */
.page-numbers a.prev,
.page-numbers a.next {
    width: 40px; /* Такая же ширина как у цифр */
    padding: 0; /* Убираем лишние отступы */
}

.page-numbers a:hover {
    background-color: #DB6E21;
    border-color: #DB6E21;
    color: #fff;
}

@media (max-width: 768px) {
    .page-numbers {
        gap: 5px;
    }
    
    .page-numbers a,
    .page-numbers span,
    .page-numbers a.prev,
    .page-numbers a.next {
        width: 35px;
        height: 35px;
        font-size: 14px;
    }
}



/* Внешний контейнер */
.archive-projects-pagination {
    margin: 40px 0;
    text-align: center;
    font-size: 0; /* убираем пробелы между inline-элементами */
}

/* Внутренний flex-контейнер для кнопок */
.archive-projects-pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
}

/* Элементы пагинации */
.archive-projects-pagination > a.page-numbers,
.archive-projects-pagination > span.page-numbers {
    font-size: 16px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    box-sizing: border-box;
    font-weight: 500;
    text-decoration: none;
    transition: .3s;
}

/* Обычные ссылки */
.archive-projects-pagination > a.page-numbers {
    background: #343434;
    color: #fff;
    border: 1px solid #8f8f8f;
}

/* Активная */
.archive-projects-pagination > span.page-numbers.current {
    background: #DB6E21;
    border: 1px solid #DB6E21;
    color: #fff;
}

/* Стрелки */
.archive-projects-pagination > a.page-numbers.prev,
.archive-projects-pagination > a.page-numbers.next {
    background: #343434;
    color: #fff;
    border: 1px solid #8f8f8f;
}

/* Ховер */
.archive-projects-pagination > a.page-numbers:hover {
    background: #DB6E21;
    border-color: #DB6E21;
    color: #fff;
}

/* Адаптив */
@media (max-width: 768px) {
    .archive-projects-pagination {
        gap: 5px;
    }

    .archive-projects-pagination > a.page-numbers,
    .archive-projects-pagination > span.page-numbers {
        width: 35px;
        height: 35px;
        font-size: 14px;
    }
}

/*footer-----------------------------*/

.footer {
    background-color: #000;
    padding: 60px 0 30px;
    position: relative;
}
.footer {
    position: relative;
    padding: 60px 0 30px;
}

.footer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #343434; /* Основной цвет футера */
    z-index: -2;
}

.footer::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url('logo-pattern.svg');
    background-repeat: repeat;
    background-position: center center;
    opacity: 0.01;
    z-index: 1;
    pointer-events: none;
}
.footer-block {

    display: flex;
    flex-direction: column;
    gap: 40px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
}

.footer-main {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 30px;
}

.footer-logo img {
    max-height: 83px;
    width: auto;
}

.footer-social {
    display: flex;
    gap: 15px;
}

.social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: rgba(255,255,255,0.1);
    transition: all 0.3s ease;
}

.social-link:hover {
    background-color: rgba(255,255,255,0.2);
    transform: translateY(-3px);
}

.social-link img {
    width: 20px;
    height: 20px;
}

.footer-links {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 30px;
    padding-bottom: 30px;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}

.links-title {
    color: #fff;
    font-size: 16px;
    font-weight: 400;
    margin-bottom: 20px;
    text-transform: uppercase;
}

.footer-link {
    display: block;
    color: #9A9999;
    font-size: 14px;
    margin-bottom: 12px;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-link:hover {
    color: #DB6E21;
}

.footer-address {
    color: #9A9999;
    font-size: 14px;
    line-height: 1.5;
    margin-top: 12px;
}

.footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}

.footer-copyright {
    font-weight: 400;
    font-size: 12px;
    color: #9A9999;
}

.footer-legal {
    display: flex;
    gap: 20px;
    color: #9A9999;

}

.legal-link {
    color: #9A9999;
    font-size: 12px;
    text-decoration: none;
    transition: color 0.3s ease;
}

.legal-link:hover {
    color: #DB6E21;
}

/* ===== Реквизиты продавца в футере ===== */
.footer-legal-info {
    margin-top: 10px;
}
.footer-legal-info__toggle {
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #c4c4c4;
    font-size: 12px;
    font-weight: 400;
    padding: 8px 16px;
    border-radius: 999px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: color .2s ease, border-color .2s ease, background .2s ease;
    font-family: inherit;
    letter-spacing: 0.01em;
}
.footer-legal-info__toggle:hover {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.2);
    background: rgba(255, 255, 255, 0.03);
}
.footer-legal-info__toggle svg {
    transition: transform .25s ease;
}
.footer-legal-info__toggle[aria-expanded="true"] svg {
    transform: rotate(180deg);
}
.footer-legal-info__body {
    margin-top: 14px;
    animation: footerLegalFadeIn .25s ease both;
}
@keyframes footerLegalFadeIn {
    from { opacity: 0; transform: translateY(-4px); }
    to   { opacity: 1; transform: translateY(0); }
}
.footer-legal-info__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 24px;
    margin: 0;
    padding: 16px 18px;
    background: rgba(255, 255, 255, 0.025);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 14px;
    font-size: 12px;
    line-height: 1.5;
    color: #c4c4c4;
}
.footer-legal-info__row {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}
.footer-legal-info__row--wide {
    grid-column: 1 / -1;
}
.footer-legal-info__list dt {
    color: #8f8f8f;
    font-size: 11px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.footer-legal-info__list dd {
    color: #e0e0e0;
    margin: 0;
    font-size: 13px;
    font-weight: 400;
    word-break: break-word;
}
.footer-legal-info__list dd a {
    color: #e0e0e0;
    text-decoration: none;
    border-bottom: 1px dotted rgba(224, 224, 224, 0.3);
    transition: color .2s ease, border-color .2s ease;
}
.footer-legal-info__list dd a:hover {
    color: #DB6E21;
    border-bottom-color: #DB6E21;
}
.footer-legal-info__muted {
    color: #8f8f8f;
    font-size: 11px;
    white-space: nowrap;
}
@media (max-width: 768px) {
    .footer-legal-info__list {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 14px 16px;
    }
}
@media (max-width: 370px) {
    .footer-legal-info { margin-top: 8px !important; }
    .footer-legal-info__toggle { font-size: 11px !important; padding: 7px 14px !important; }
    .footer-legal-info__list { font-size: 11px !important; padding: 12px !important; }
    .footer-legal-info__list dd { font-size: 12px !important; }
}

/* reCAPTCHA notice — обязательное упоминание (Google требует видимой ссылки, если бейдж скрыт) */
.footer-recaptcha {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    font-size: 11px;
    line-height: 1.5;
    color: #6e6e6e;
    text-align: center;
    letter-spacing: 0.01em;
}
.footer-recaptcha a {
    color: #8f8f8f;
    text-decoration: none;
    border-bottom: 1px dotted rgba(143, 143, 143, 0.4);
    transition: color 0.2s ease, border-color 0.2s ease;
}
.footer-recaptcha a:hover {
    color: #DB6E21;
    border-bottom-color: #DB6E21;
}

/* Адаптив */
@media screen and (max-width: 992px) {
    .footer {
        padding: 50px 0 30px;
    }
    
    .footer-links {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (max-width: 768px) {
    .footer-main {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    
    .footer-social {
        justify-content: center;
    }
    
    .footer-links {
        grid-template-columns: 1fr;
        text-align: center;
    }
    
    .footer-bottom {
        flex-direction: column;
        text-align: center;
    }
    
    .footer-legal {
        flex-direction: column;
        gap: 10px;
    }
}

@media screen and (max-width: 576px) {
    .footer-copyright,
    .legal-link {
        font-size: 11px;
    }
    
    .links-title {
        font-size: 15px;
        margin-bottom: 15px;
    }
    
    .footer-link {
        font-size: 13px;
    }
}






.woocommerce-cart-form__contents{

}
/* Базовые стили для больших экранов (десктоп) */
.cart-page-container {
    max-width: 1300px;
    margin: 0 auto;
    padding: 0px 30px 30px 30px;
}

.woocommerce-cart-form {
    background: #2d2d2d;
    border-radius: 25px;
    overflow: hidden;
    color: #fff;
}

.cart-table-wrapper {
    padding: 15px;
}

.woocommerce-cart-form table {
    width: 100%;
    border-collapse: collapse;
}

.woocommerce-cart-form thead {
    background-color: #343434;
    color: #fff;
}

thead {
    border-radius: 25px;
}

.woocommerce-cart-form th,
.woocommerce-cart-form td {
    padding: 15px;
    text-align: left;
    vertical-align: middle;
}

.woocommerce-cart-form td a {
    color: #fff;
}

.product-thumbnail img {
    width: 60px;
    height: auto;
    border-radius: 8px;
}

.product-remove {
    width: 40px;
    min-width: 40px;
    text-align: center;
}

.product-remove a {
    color: #db6e21;
    font-size: 20px;
    font-weight: bold;

}

.cart-actions {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
    padding: 15px;
}

.cart-actions input[type="text"] {
    padding: 10px 15px;
    background: #444;
    border: none;
    color: #fff;
    border-radius: 25px;
    margin-right: 15px;
}

.cart-actions .cart-button,
.empty-cart-button {
    background-color: #2d2d2d;
    color: white;
    padding: 8px 24px;
    border-radius: 30px;
    font-size: 14px;
    text-decoration: none;
    transition: background 0.3s ease;
    border: solid 1px #db6e21;
    cursor: pointer;
}
.clear_cart{
	margin-left: 10px;
}
.cart-actions .cart-button:hover,
.empty-cart-button:hover {
    background-color: #db6e21;
}

.floating-clear-cart {
    position: fixed;
    bottom: 30px;
    right: 30px;
    background-color: #db6e21;
    color: white;
    border-radius: 50%;
    width: 56px;
    height: 56px;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
    font-size: 22px;
    text-decoration: none;
    z-index: 999;
}

.floating-clear-cart:hover {
    background-color: #005f8c;
}

/* Количество товара — обертка */
.quantity-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    max-width: 90px;
    margin: 0 auto;
}

/* Кнопки + / - */
.qty-btn {
    color: #fff;
    background: none;
    border: none;
    font-size: 22px;
    cursor: pointer;
    line-height: 1;
    padding: 10px;
    transition: 0.3s ease;
}

.qty-btn:hover {
    transform: scale(1.5);
}
.qty-btn:active {
    transform: scale(1.8);
}


/* Инпут */
input.qty {
    
    max-width: 80px;
    padding: 10px 0;
    font-size: 16px;
    text-align: center;
    border-radius: 30px;
    border: 1px solid #555;
    background-color: #2d2d2d;
    color: #fff;
    transition: border-color 0.3s ease;
    appearance: textfield;
}

input.qty:focus {
    outline: none;
    border-color: #db6e21;
}

input.qty::-webkit-outer-spin-button,
input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Стили для коллатералов корзины */


.cart-collaterals {
    margin-top: 30px;
    background-color: #2d2d2d;
    padding: 20px 30px;
    border-radius: 25px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    color: #fff;
}

.cart_totals h2 {
    font-size: 20px;
    color: #fff;
    margin-bottom: 20px;
}

.cart_totals table.shop_table {
    width: 100%;
    border-collapse: collapse;
    color: #fff;
}

.cart_totals table.shop_table th,
.cart_totals table.shop_table td {
    padding: 12px 8px;
    border-bottom: 1px solid #444;
    font-size: 16px;
}
.woocommerce-cart-form__cart-item {
    border-bottom: 1px dashed  rgba(255, 255, 255, 0.1);
}
.cart_totals table.shop_table td {
    text-align: right;
}

.cart_totals .order-total strong {
    font-size: 18px;
    color: #db6e21;
}

.wc-proceed-to-checkout {
    margin-top: 20px;
    text-align: right;
}
.woocommerce-button.button.invoice.order-actions-button {
    color: #fff !important;
    text-decoration: underline !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    font-weight: normal;
}


.wc-proceed-to-checkout .checkout-button {
    background-color: #db6e21;
    color: white;
    padding: 10px 26px;
    border-radius: 30px;
    font-size: 16px;
    border: 1px solid transparent;
    text-decoration: none;
    transition: background 0.3s ease;
    display: inline-block;
    white-space: nowrap;
}

.wc-proceed-to-checkout .checkout-button:hover {
    background-color: #005f8c;
}

/* Адаптивность до 768px */
@media (max-width: 768px) {
    .wc-proceed-to-checkout {
        text-align: center;
    }

    .wc-proceed-to-checkout .checkout-button {
        width: 100%;
        padding: 12px;
        font-size: 16px;
        border-radius: 30px;
    }

    .cart-page-container {
        padding: 0 15px 20px;
    }

    .woocommerce-cart-form {
        border-radius: 12px;
    }

    .woocommerce-cart-form table {
        font-size: 14px;
    }

    .woocommerce-cart-form th,
    .woocommerce-cart-form td {
        padding: 10px;
        font-size: 13px;
    }

    .product-thumbnail img {
        width: 45px;
        height: auto;
    }

    input.qty {
        font-size: 14px;
        padding: 6px;
    }

    .cart-actions {
        flex-direction: column;
        gap: 12px;
        padding: 15px 15px;
    }

    

    .cart-actions input[type="text"] {
        width: 100%;
        margin: 0;
        padding: 10px 12px;
        margin-bottom: 10px;
    }

    .cart-actions .cart-button {
        width: 100%;
        text-align: center;
        padding: 10px;
    }
.clear_cart{
	margin-left: 0;
	width: 100%;
	margin-top: 12px;
}
    .woocommerce-cart-form td.product-name a {
        font-size: 14px;
        display: block;
        word-break: break-word;

    }

    .product-remove a {
        font-size: 18px;
    }

    .woocommerce-cart-form td.product-price,
    .woocommerce-cart-form td.product-subtotal {
        font-size: 13px;
    }

    .quantity-container {
        max-width: 60px;
    }

    .qty-btn {
        font-size: 14px;
    }
}

/* Мобильные */
@media (max-width: 480px) {
    
    .woocommerce-cart-form .product-name,
    .woocommerce-cart-form thead th.product-name {
        display: none;
    }
    .woocommerce-cart-form th,
    .woocommerce-cart-form td {
        font-size: 12px;
        padding: 6px;
    }

    .woocommerce-cart-form th.product-remove,
    .woocommerce-cart-form td.product-remove {
        width: 24px;
        min-width: 24px;
        text-align: center;
        padding: 5px;
    }

    .woocommerce-cart-form th.product-quantity,
    .woocommerce-cart-form td.product-quantity {
        width: 60px;
        min-width: 60px;
        padding: 5px;
    }

    input.qty {
        font-size: 13px;
        padding: 5px 6px;
        text-align: center;
    }

    .product-remove {
        width: 24px;
        min-width: 24px;
        text-align: center;
    }

    .product-remove a {
        font-size: 14px;
        padding: 2px;
        display: inline-block;
    }
}
.woocommerce-cart-form thead th:first-child {
    border-top-left-radius: 16px;
    border-bottom-left-radius: 16px;
}

.woocommerce-cart-form thead th:last-child {
    border-top-right-radius: 16px;
    border-bottom-right-radius: 16px;
}

.woocommerce-message {
        display: none;
    }
.custom-qty {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.qty-btn {
    
    margin: 2px 0;
    line-height: 1;
}

.custom-qty input.qty {
    
    text-align: center;
    margin: 2px 0;
}
.woocommerce-cart-form th.product-quantity {
    text-align: center;
}
.header-cart {
  position: absolute;
  top: -8px;
  left: 7px;
}

.header-cart .count {
  
  background-color: #dc0c1c; /* насыщенный красный */
  color: #fff;
  font-size: 12px;
  font-weight: bold;
  border-radius: 50%;
  padding: 4px 7px;
  min-width: 20px;
  text-align: center;
  line-height: 1;
  position: relative;
}
@media screen and (max-width: 768px){
	.header-cart {
  
  top: -8px;
  left: 25px;
}
}
.cart-contents .count {
    display: none;
}

.cart-contents.active .count {
    display: inline-block;
}


/*страница товара*/


/* Убираем хлебные крошки */
/*.custom-single-product .woocommerce-breadcrumb {
  display: none;
}*/
/* ======================== */
/* SINGLE PRODUCT PAGE STYLES */
/* ======================== */

/* Основные стили */
.single-product-container{
    max-width: 1300px;
    margin: 0 auto;
    padding: 15px;
    
    border-radius: 25px;
    
}

.page-product-main {
		margin-bottom: 30px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    align-items: flex-start;

}

/* Блок с изображением товара */
.page-product-image {
    position: relative;
    
    
    border-radius: 15px;
    overflow: hidden;
    
    
    
    
}
.page-product-page-product-card__image{
	background: #fff;
}
.page-product-image img {
    width: 100%;
    height: 100%;
    border-radius: 45px;
    object-fit: cover;
/*    max-height: 500px;*/
}
.related.products{
	margin-top: 60px;
}
.page-product-image .page-product-zoom-icon {
    display: none; /* Убираем стандартную иконку Fancybox */
}

/* Информация о товаре */
.page-product-summary {
    background-color: #343434;
    border-radius: 45px;
    padding: 30px;

    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
    color: #fff;
}

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

.page-product-price__title {
    font-weight: 300;
    font-size: 18px;
    color: #eee;
}

.page-product-price__value {
    font-size: 22px;
    color: ##db6e21; /* Цвет можно изменить под твой дизайн */
}

.page-product-cart {
    display: flex;
    justify-content: center;
    margin-top: 25px;
}

.page-product-single_add_to_cart_button {
    background-color: #db6e21;
    color: white;
    padding: 15px 35px;
    border-radius: 30px;
    font-size: 16px;
    text-decoration: none;
    transition: background-color 0.3s ease;
    cursor: pointer;
    width: 100%;
    max-width: 380px;
}

.page-product-single_add_to_cart_button:hover {
    background-color: #d47c36;
}

/* Информация о товаре (описание) */
.page-product-info {
    margin-top: 30px;
}

.page-product-info h3 {
    font-size: 18px;
    font-weight: 700;
    color: #db6e21;
    margin-bottom: 12px;
}

.page-product-info p,
.page-product-info ul {
    font-size: 16px;
    color: #fff;
    line-height: 1.7;
}

.page-product-sku {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 20px;
}

.page-product-sku span {
    font-weight: 600;
}

.page-product-sku-copy-button {
    background: none;
    border: none;
    color: #db6e21;
    cursor: pointer;
    font-size: 16px;
}

.page-product-sku-copy-button:hover {
    color: #fff;
}

/* Стили для похожих товаров */
.page-product-related-products {
    margin-top: 50px;
}

.page-product-related-products .product {
    background-color: #2d2d2d;
    border-radius: 12px;
    padding: 15px;
    text-align: center;
    color: #fff;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

.page-product-related-products .product img {
    width: 100%;
    height: auto;
    border-radius: 12px;
    transition: transform 0.3s ease;
}

.page-product-related-products .product:hover img {
    transform: scale(1.05);
}

.page-product-related-products .product-title {
    font-size: 16px;
    margin-top: 15px;
}

/* Адаптивность */
@media (max-width: 768px) {
    .page-product-main {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .page-product-summary {
        padding: 20px;
    }

    .page-product-title {
        font-size: 24px;
    }

    .page-product-price {
        font-size: 20px;
    }

    .page-product-single_add_to_cart_button {
        padding: 12px;
        font-size: 14px;
    }

    .page-product-info {
        margin-top: 20px;
    }

    .page-product-info h3 {
        font-size: 16px;
    }

    .page-product-sku-copy-button {
        font-size: 14px;
    }
}

/* Мобильные устройства */
@media (max-width: 480px) {
    .page-product-title {
        font-size: 18px;
    }

    .page-product-price {
        font-size: 16px;
    }

    .page-product-single_add_to_cart_button {
        padding: 10px;
        font-size: 14px;
    }

    .page-product-info {
        margin-top: 15px;
    }

    .page-product-info h3 {
        font-size: 14px;
    }

    .page-product-sku-copy-button {
        font-size: 14px;
    }
}
.page-product-card__zoom-icon {
	display: none;
}
.page-product-custom-single-product {
	margin: 30px 0;
}



/*галерея миниатюр*/



/*.page-product-gallery-thumbs {
    
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 15px;
    justify-content: center;
}
.page-product-thumb img {
    width: 60px;
    height: 60px;
    object-fit: cover;
    border-radius: 10px;
    transition: transform 0.2s ease;
}
.page-product-thumb:hover img {
    transform: scale(1.05);
}

*/
.fancybox-thumbs-horizontal {
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    gap: 10px;
    padding: 10px 0;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none; /* Firefox */
}

.fancybox-thumbs-horizontal::-webkit-scrollbar {
    display: none;
}

.fancybox-thumbs-horizontal a {
    flex: 0 0 auto;
    scroll-snap-align: start;
    border-radius: 6px;
    overflow: hidden;
}

.fancybox-thumbs-horizontal img {
    display: block;
    max-height: 80px;
    max-width: 80px;
    border-radius: 15px;
}

/* Основной блок информации */
.page-product-summary {
    padding: 20px;
    background: rgba(45, 45, 45, 0.8);
    backdrop-filter: blur(10px);
    border-radius: 45px;
   border: solid 1px #4a4848;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
}

/* Заголовок товара */
.page-product-title {
    font-size: 28px;
    font-weight: 500;
    color: #fff;
    margin: 0 0 15px;
    line-height: 1.3;
    position: relative;
    padding-bottom: 15px;
}



/* Цена */
.page-product-price {
    font-size: 24px;
    
    margin: 20px 0;
    font-weight: 600;
}

.page-product-price del {
    color: #8f8f8f;
    font-size: 20px;
    margin-right: 10px;
    opacity: 0.7;
}


/* Краткое описание */
.woocommerce-product-details__short-description {
    color: #c9c9c9;
    line-height: 1.6;
    margin: 20px 0;
    font-size: 15px;
    padding: 15px;
    background: rgba(52, 52, 52, 0.5);
    border-radius: 25px;
    border-left: 3px solid #434343; 
}

.size-thumbnail{
	background: #fff;
}






/* Блок дополнительной информации */
.page-product-info {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

/* Артикул */
.page-product-sku {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
    padding: 12px 15px;
    background: rgba(52, 52, 52, 0.5);
    border-radius: 25px;
}

.page-product-sku strong {
    color: #c4c4c4;
    font-weight: 300;
}

.page-product-sku span {
    color: #fff;
    font-family: 'Fira Sans', monospace;
}







/* Описание товара */
.page-product-description {
    margin: 20px 0;
    padding: 15px;
    background: rgba(52, 52, 52, 0.5);
    border-radius: 25px;
}

.page-product-description strong {
    color: #c4c4c4;
    
    
    margin-bottom: 8px;
}

.page-product-description p {
    color: #fff;
    font-weight: 300;
    line-height: 1.6;
    margin: 0;

}

/* Атрибуты */
.page-product-attributes {
    margin-top: 25px;
}

.page-product-attributes strong {
    color: #c4c4c4;
    
    margin-bottom: 10px;
}

.page-product-attributes ul {
    list-style: none;
    padding: 0;
    margin: 0;
    font-weight: 300;
}
.woocommerce-remove-coupon {
	color: #fff;
}
.page-product-attributes li {
    padding: 8px 0;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.1);
    display: flex;
    flex-wrap: wrap;
}

.page-product-attributes li:last-child {
    border-bottom: none;
}

.page-product-attributes li strong {
    color: #fff;
    font-weight: 500;
    width: 150px;
    margin: 0;
}

/* Адаптивность */
@media (max-width: 768px) {
    .page-product-title {
        font-size: 24px;
    }
    
    .page-product-price {
        font-size: 22px;
    }
    
    .product-card__add-to-cart .button {
        width: 100%;
        padding: 14px;
    }
    
    .page-product-attributes li strong {
        width: 100%;
        margin-bottom: 5px;
    }
}
.br_lmp_button_settings{
	color: #fff;
}
.fa-spinner i{
	color: #fff;
}
.fa{
	color: #fff;
	font-size: 12px;
}



/* ======================== */
/* CHECKOUT PAGE STYLES */
/* ======================== */

.checkout-page-container {
    max-width: 700px;
    margin: 0 auto;
    padding: 20px 30px 30px;
}

.checkout-columns {
    display: grid;
    grid-template-columns: 1fr ;
    gap: 30px;
}

.checkout-section {
    background: #2d2d2d;
   box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    border-radius: 25px;
    padding: 25px;
    margin-bottom: 20px;
    color: #fff;
}

.checkout-section h3 {
    font-size: 20px;
    font-weight: 400;
    color: #fff;
    margin: 0 0 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}
th.product-total{
	display: none;
}
/* Поля формы */
.woocommerce form .form-row {
    padding: 0;
    margin: 0 0 20px;
}

.woocommerce form .form-row label {
    display: block;
    margin-bottom: 8px;
    color: #c9c9c9;
    font-size: 14px;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
    width: 100%;
    padding: 12px 15px;
    background: #343434;
    border: 1px solid #5c5c5c;
    border-radius: 25px;
    color: #fff;
    font-size: 14px;
    transition: all 0.3s;
}
.checkout-section p{
	font-weight: 200;
	margin: 10px 0;
}
.woocommerce-additional-fields{
	margin-top: 30px;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
    outline: none;
    border-color: #DB6E21;
    box-shadow: 0 0 0 1px #DB6E21;
}

.woocommerce form .form-row textarea {
    min-height: 100px;
    resize: vertical;
}

/* Чекбоксы и радио кнопки */
.woocommerce form .form-row .input-checkbox,
.woocommerce form .form-row .input-radio {
    margin-right: 10px;
}

/* Таблица заказа */
.woocommerce-checkout-review-order-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
    padding: 12px 8px;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    text-align: left;
    vertical-align: top;
}

.woocommerce-checkout-review-order-table th {
    font-weight: 400;
    color: #c9c9c9;
}

.woocommerce-checkout-review-order-table td {
    text-align: right;
}

.woocommerce-checkout-review-order-table .order-total td {
    font-size: 18px;
    color: #DB6E21;
    font-weight: 500;
}

/* Кнопка оформления заказа */
#place_order {
    width: 100%;
    padding: 15px;
    background-color: #DB6E21;
    color: #fff;
    border: none;
    border-radius: 25px;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.3s;
}

#place_order:hover {
    background-color: #c45e18;
}
.woocommerce-form-coupon-toggle{
	display: none;
}
/* Сообщения об ошибках */
.woocommerce-error {
    background: #eb4646;
    color: #fff;
    padding: 15px;
    border-radius: 8px;
    margin-bottom: 20px;
    list-style: none;
}
.woocommerce-error li a{
	color: fff;
}
.woocommerce-error a{
	color: fff;
}
.woocommerce-error li {
    margin-bottom: 5px;
}

.woocommerce-error li:last-child {
    margin-bottom: 0;
}

/* Адаптивность */
@media (max-width: 992px) {
    .checkout-columns {
        grid-template-columns: 1fr;
    }
    
    .checkout-order-review {
        order: -1;
    }
}

@media (max-width: 768px) {
    .checkout-page-container {
        padding: 15px;
    }
    
    .checkout-section {
        padding: 20px;
    }
}

@media (max-width: 480px) {
    .woocommerce-checkout-review-order-table th,
    .woocommerce-checkout-review-order-table td {
        padding: 8px 5px;
        font-size: 14px;
    }
    
    #place_order {
        padding: 12px;
        font-size: 15px;
    }
}
/* ======================== */
/* UPDATED CHECKOUT STYLES */
/* ======================== */
.coupon{
	max-width: 400px;
}
@media (max-width: 768px){
	.coupon{
	max-width: 100%;
}
}
.dimensions-text-page-product{
	padding: 10px 0;
}
/* Купон */
.checkout-coupon {
    margin-bottom: 20px;
}
.product-card__stock.product-card__stock--available-on-backorder{
	color: #fff;
}
.coupon-form {
    display: flex;
    gap: 10px;
    margin-bottom: 15px;
}
.fas.fa-ruler-combined{
	margin-right: 5px;
}
.coupon-form input {
    flex: 1;
    padding: 12px 15px;
    background: #343434;
    border: 1px solid #5c5c5c;
    border-radius: 25px;
    color: #fff;
    font-size: 14px;
}

.coupon-form .apply-coupon {
    padding: 12px 20px;
    background: #DB6E21;
    color: white;
    border: none;
    border-radius: 25px;
    cursor: pointer;
    transition: background 0.3s;
}

.coupon-form .apply-coupon:hover {
    background: #c45e18;
}

/* Поле отчества */
#billing_middle_name_field {
    margin-top: 15px;
}

/* Email поле */
#billing_email_field {
    margin-top: 20px;
}

/* Убираем дублирующиеся заголовки */
.woocommerce-additional-fields h3 {
    display: none;
}

/* Кнопка оформления заказа рядом с купоном */
#place_order {
    margin-top: 10px;
    width: 100%;
}
/* Стили для блока доставки */
.delivery-info {
    margin-bottom: 20px;
}

.delivery-card {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px;
    background: rgba(45, 45, 45, 0.7);
    border-radius: 12px;
    margin-bottom: 12px;
    border-left: 3px solid #343434;
}

.delivery-icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(219, 110, 33, 0.1);
    border-radius: 8px;
}

.delivery-content h4 {
    font-size: 16px;
    font-weight: 500;
    color: #fff;
    margin: 0 0 5px;
}

.delivery-content p {
    margin: 0;
    font-size: 14px;
    color: #c9c9c9;
}

.delivery-content strong {
    color: #DB6E21;
    font-weight: 500;
}

.delivery-notice {
    display: flex;
    gap: 10px;
    padding: 12px;
    background: rgba(45, 45, 45, 0.5);
    border-radius: 35px;
    font-size: 13px;
    color: #9A9999;
    align-items: flex-start;
}
.woocommerce-terms-and-conditions,
.woocommerce-privacy-policy-text {
    font-size: 14px;
    color: #666;
    margin-top: 20px;
    line-height: 1.5;
}

.woocommerce-terms-and-conditions a,
.woocommerce-privacy-policy-text a {
    color: #db6e21; /* Цвет ссылок */
    text-decoration: underline;
}
.delivery-notice svg {
    flex-shrink: 0;
    margin-top: 2px;
}
.button {
  transition: all 0.3s ease;
}
.button:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(219, 110, 33, 0.3);
}
.woocommerce-customer-details{
	display: none;
}
.order-details li span{
margin: 10px 0;
}
/* Сообщения об ошибках */
/* Основной блок ошибок */
.woocommerce-error, 
.woocommerce-error li,
.woocommerce-error a {
    color: white !important; /* Белый текст и ссылки */
}

.woocommerce-error {
    background-color: #9e3535 !important; /* Пастельный красный фон */
    border: 1px solid #ff8080 !important;
    border-radius: 4px;
    padding: 15px 20px !important;
    margin: 0 0 20px 0 !important;
    list-style: none !important;
}

/* Элементы списка */
.woocommerce-error li {
    margin-bottom: 8px !important;
    line-height: 1.4;
    position: relative;
    padding-left: 20px !important;
}

/* Иконка перед пунктами */
.woocommerce-error li:before {
    content: "!";
    display: inline-block;
    background: white;
    color: #ff6b6b;
    font-weight: bold;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    text-align: center;
    line-height: 18px;
    margin-right: 10px;
    position: absolute;
    left: 0;
    top: 2px;
}

/* Ссылки */
.woocommerce-error a {
    text-decoration: underline !important;
    font-weight: normal !important;
}

/* Ховер эффекты */
.woocommerce-error a:hover {
    opacity: 0.8 !important;
}

/* Заголовки в ошибках */
.woocommerce-error strong {
    font-weight: 600 !important;
}
/* ======================== */
/* CATEGORY CARDS STYLES */
/* ======================== */

.subcategory-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 20px;
    margin-bottom: 40px;
}
.category-card, 
.category-card:hover {
    position: relative;
    border-radius: 45px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    
}

.category-card:hover {
    
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.category-card__link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.category-card__image-wrapper {
    position: relative;
    padding-top: 100%; /* 1:1 Aspect Ratio */
    overflow: hidden;
}

.category-card__image,
.category-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;


}

.category-card:hover .category-card__image,
.category-card:hover .category-image img {
    transform: scale(1.05);
}

.category-card__overlay {
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;
    background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.3) 100%, transparent 100%);
}

.category-card__content {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 20px;
    z-index: 2;
}

.category-card__title {
    font-size: 18px;
    font-weight: 500;
    color: #fff;
    margin: 0 0 5px;
    text-transform: uppercase;
}

.category-card__count {
    display: inline-block;
    font-size: 14px;
    color: #DB6E21;
    background: rgba(219, 110, 33, 0.2);
    padding: 3px 10px;
    border-radius: 12px;
}

/* Старая версия классов, если используются в коде, оставь их до рефакторинга HTML: */
.category-image {
    position: relative;
    padding-top: 100%;
    overflow: hidden;
}
.category-info {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 20px;
    z-index: 2;
}
.category-info h3 {
    font-size: 18px;
    font-weight: 500;
    color: #fff;
    margin: 0 0 5px;
    text-transform: uppercase;
}
.count {
    display: inline-block;
    font-size: 14px;
    color: #DB6E21;
    background: rgba(219, 110, 33, 0.2);
    padding: 3px 10px;
    border-radius: 12px;
}


/* Адаптивность */
@media (max-width: 992px) {
    .subcategory-cards {
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    }
}

@media (max-width: 768px) {
    .subcategory-cards {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
        gap: 15px;
    }
    
    .category-card__content {
        padding: 15px;
    }
    
    .category-card__title {
        font-size: 16px;
    }
}

@media (max-width: 480px) {
    .subcategory-cards {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .category-card__title {
        font-size: 14px;
    }
    
    .category-card__count {
        font-size: 12px;
    }
}

/* ======================== */
/* HOMEPAGE SPECIFIC STYLES */
/* ======================== */

.homepage {
    
    color: #fff;
    font-family: 'Fira Sans', sans-serif;
}

.homepage-container {
    max-width: 1950px;
    padding: 0 15px;
    margin: 0 auto;
}

/* Hero Section */
.homepage-hero {
    padding: 100px 0;
    position: relative;
    background: linear-gradient(135deg, rgba(52,52,52,0.9) 0%, rgba(33,33,33,0.9) 100%);
    margin-bottom: 60px;
}

.homepage-hero-content {
    max-width: 600px;
}

.homepage-hero-title {
    font-size: 42px;
    font-weight: 900;
    color: #fff;
    margin-bottom: 20px;
    line-height: 1.2;
    text-transform: uppercase;
}

.homepage-hero-text {
    font-size: 18px;
    color: #c9c9c9;
    margin-bottom: 30px;
    font-weight: 300;
}

.homepage-hero-buttons {
    display: flex;
    gap: 15px;
}

.homepage-hero-image img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.3);
}

/* Section Titles */
.homepage-section-title {
    font-size: 32px;
    font-weight: 400;
    text-align: center;
    margin-bottom: 50px;
    color: #fff;
    position: relative;
    text-transform: uppercase;
}

.homepage-section-title::after {
    content: '';
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 3px;
    background-color: #DB6E21;
}

/* Popular Categories */
.homepage-categories {
    padding: 60px 0;
    max-width: 1200px;
    margin: 0 auto;
}

.homepage-categories-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 30px;
}

.homepage-category-card {
    background: #2d2d2d;
    border-radius: 45px;
    overflow: hidden;
    box-shadow: 0px 0px 7px 0px rgba(0, 0, 0, 0.10);
    transition: all 0.3s ease;
}

.homepage-category-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}

.homepage-category-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.homepage-category-image-wrapper {
    position: relative;
    padding-top: 100%;
    overflow: hidden;
}

.homepage-category-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.homepage-category-card:hover .homepage-category-image {
    transform: scale(1.05);
}

.homepage-category-content {
    padding: 20px;
    text-align: center;
}

.homepage-category-title {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 5px;
    color: #fff;
    text-transform: uppercase;
}

.homepage-category-count {
    font-size: 14px;
    color: #DB6E21;
}

/* Featured Products */
.homepage-products {
    padding: 60px 0;
    background-color: #2d2d2d;
}

.homepage-products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 30px;
}

/* Используем существующие стили карточек товаров */
.homepage-products-grid .products {
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
}

.homepage-products-more {
    text-align: center;
    margin-top: 40px;
}

/* Buttons */
.homepage-btn {
    display: inline-block;
    padding: 12px 24px;
    border-radius: 30px;
    font-weight: 500;
    text-align: center;
    text-decoration: none;
    transition: all 0.3s ease;
    font-size: 14px;
    text-transform: uppercase;
}

.homepage-btn-primary {
    background-color: #DB6E21;
    color: white;
    border: 1px solid #DB6E21;
}

.homepage-btn-primary:hover {
    background-color: #c45e18;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(219,110,33,0.3);
}

.homepage-btn-outline {
    background-color: transparent;
    color: #DB6E21;
    border: 1px solid #DB6E21;
}

.homepage-btn-outline:hover {
    background-color: rgba(219, 110, 33, 0.1);
    transform: translateY(-2px);
}

/* Responsive */
@media (max-width: 1200px) {
    .homepage-hero-title {
        font-size: 36px;
    }
    
    .homepage-section-title {
        font-size: 28px;
    }
}

@media (max-width: 992px) {
    .homepage-hero {
        padding: 60px 0;
        text-align: center;
    }
    
    .homepage-hero-content {
        margin: 0 auto 40px;
    }
    
    .homepage-hero-buttons {
        justify-content: center;
    }
}

@media (max-width: 768px) {
    .homepage-hero-title {
        font-size: 30px;
    }
    
    .homepage-hero-text {
        font-size: 16px;
    }
    
    .homepage-section-title {
        font-size: 24px;
    }
    
    .homepage-categories-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
    
    .homepage-hero-buttons {
        flex-direction: column;
        align-items: center;
    }
    
    .homepage-btn {
        width: 100%;
        max-width: 250px;
    }
    .homepage-products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 15px;
}
}

@media (max-width: 576px) {
    .homepage-hero-title {
        font-size: 26px;
    }
    
    .homepage-section-title {
        font-size: 22px;
    }
    

}
/* ======================== */
/* HOMEPAGE SPECIFIC STYLES */
/* ======================== */

.homepage {
    
    color: #fff;
    font-family: 'Fira Sans', sans-serif;
}

.homepage-container {
    max-width: 1950px;
    padding: 0 15px;
    margin: 0 auto;
}

/* Hero Section - Centered UTP */
.homepage-hero {
    padding: 120px 0;
    position: relative;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 70vh;
    background: linear-gradient(rgba(52, 52, 52, 0.9), rgba(52, 52, 52, 0.9)), 
                url('<?php echo esc_url(get_theme_mod('home_hero_bg', get_template_directory_uri() . '/assets/img/hero-bg.jpg')); ?>') no-repeat center/cover;
}

.homepage-hero-content {
    max-width: 800px;
    margin: 0 auto;
    padding: 40px;
    background-color: rgba(45, 45, 45, 0.8);
    border-radius: 25px;
    backdrop-filter: blur(5px);
    border: 1px solid rgba(219, 110, 33, 0.2);
}

.homepage-hero-title {
    font-size: clamp(32px, 5vw, 52px);
    font-weight: 900;
    color: #fff;
    margin-bottom: 20px;
    line-height: 1.2;
    text-transform: uppercase;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}

.homepage-hero-text {
    font-size: clamp(16px, 2vw, 20px);
    color: #c9c9c9;
    margin-bottom: 30px;
    font-weight: 300;
    line-height: 1.6;
}

.homepage-hero-buttons {
    display: flex;
    gap: 15px;
    justify-content: center;
    flex-wrap: wrap;
}

/* Unique Blocks */
/* Benefits with icons */
.homepage-benefits {
    padding: 80px 0;
    background-color: #2d2d2d;
}

.benefits-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 30px;
    max-width: 1200px;
    margin: 0 auto;
    justify-content: center; /* добавлено */
}

.benefit-card {
    text-align: center;
    padding: 45px;
    background: #2d2d2d;
    border-radius: 15px;
    transition: all 0.3s ease;
    border: 1px solid #4a4848;
}

.benefit-card:hover {
    transform: translateY(-5px);
    border-color: rgba(219, 110, 33, 0.3);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.benefit-icon {
    width: 60px;
    height: 60px;
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(219, 110, 33, 0.1);
    border-radius: 50%;
    font-size: 28px;
    color: #DB6E21;
}

.benefit-title {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 15px;
    color: #fff;
    text-transform: uppercase;
}

.benefit-text {
    font-size: 15px;
    color: #c9c9c9;
    line-height: 1.5;
}

/* Interactive Gallery */
.homepage-gallery {
    padding: 80px 0;
}

.gallery-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
}

.gallery-item {
    position: relative;
    border-radius: 15px;
    overflow: hidden;
    height: 300px;
    transition: all 0.3s ease;
}

.gallery-item:hover {
    transform: scale(1.03);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.gallery-item:hover img {
    transform: scale(1.1);
}

.gallery-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 20px;
    background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, transparent 100%);
    color: white;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.gallery-item:hover .gallery-overlay {
    opacity: 1;
}

.gallery-title {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 5px;
}

.gallery-desc {
    font-size: 14px;
    color: #c9c9c9;
}

/* Dynamic Stats */
.homepage-stats {
    padding: 60px 0;
    background-color: #343434;
}

.stats-container {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    max-width: 1200px;
    margin: 0 auto;
    gap: 30px;
}

.stat-item {
    text-align: center;
    padding: 30px;
    min-width: 200px;
}

.stat-number {
    font-size: 48px;
    font-weight: 700;
    color: #DB6E21;
    margin-bottom: 10px;
    line-height: 1;
}

.stat-text {
    font-size: 16px;
    color: #c9c9c9;
    text-transform: uppercase;
}

/* Responsive */
@media (max-width: 992px) {
    .homepage-hero {
        padding: 80px 0;
        min-height: 60vh;
    }
    
    .homepage-hero-content {
        padding: 30px;
    }
    
    .stats-container {
        gap: 20px;
    }
    
    .stat-item {
        min-width: 160px;
        padding: 20px;
    }
    
    .stat-number {
        font-size: 36px;
    }
}

@media (max-width: 768px) {
    .homepage-hero {
        padding: 60px 0;
        min-height: 50vh;
    }
    
    .homepage-hero-content {
        padding: 20px;
    }
    
    .benefits-grid {
        grid-template-columns: 1fr 1fr;
    }
    
    .gallery-container {
        grid-template-columns: 1fr 1fr;
    }
    
    .stat-item {
        min-width: 120px;
    }
    
    .stat-number {
        font-size: 28px;
    }
}

@media (max-width: 576px) {
    .homepage-hero {
        padding: 40px 0;
        min-height: 40vh;
    }
    
    .homepage-hero-title {
        font-size: 28px;
    }
    
    .benefits-grid,
    .gallery-container {
        grid-template-columns: 1fr;
    }
    
    .gallery-item {
        height: 250px;
    }
    
    .stats-container {
        flex-direction: column;
        gap: 15px;
    }
    
    .stat-item {
        min-width: 100%;
    }
}
.mini-add-to-cart-button {
    margin: 5px;
    border: none;
    background: none;
    cursor: pointer;
    font-size: 20px;
    transition: transform 0.3s;
    color: #fff;
}

.mini-add-to-cart-button .fa-check {
    color: #28a745;
    transition: opacity 0.3s ease;
}

.mini-products-wrapper{
	margin-top: 30px;
	
	padding-top: 15px;
	border-radius: 15px;
}

.mini-products-row {
    display: flex;

    flex-wrap: wrap;
    gap: 16px;
    justify-content: center;
    align-items: stretch;
    max-width: 1950px;
    margin: 0 auto;
    padding: 30px 15px 0px 15px;
}

/* Карточка */
.mini-product-card {
    flex: 1 1 220px;
    max-width: 250px;
    box-sizing: border-box;
    border-radius: 12px;
    background: #2f2f2f;
    color: #fff;
    padding: 6px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: all 0.25s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    height: 100%;
}

.mini-product-card:hover {
    background: #3a3a3a;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.mini-product-card a {
    display: flex;
    align-items: center;
    width: 100%;
    color: inherit;
    max-width: 180px;
    text-decoration: none;
}

.mini-product-thumb {
    width: 54px;
    height: 54px;
    flex-shrink: 0;
    margin-right: 12px;
}

.mini-product-thumb img {
    border-radius: 8px;
    width: 100%;
    height: 100%;
    object-fit: cover;
    background: #fff;
}

.mini-product-info {
    flex-grow: 1;
    min-width: 0;
}

.mini-product-title {
    font-size: 13px;
    margin: 0 0 4px 0;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mini-product-price {
    font-size: 14px;
    white-space: nowrap;
    font-weight: 200;
}

.mini-product-price del {
    color: rgba(255, 255, 255, 0.5);
    font-size: 12px;
    text-decoration: line-through;
    margin-bottom: 2px;
    display: block;
}

.mini-product-price ins {
    color: #fff;
    font-weight: 400;
    text-decoration: none;
}
.mini-products-heading {
	text-align: center;
}

/* ===== Проекты с товаром (на странице товара, перед описанием) ===== */
.product-projects {
    margin: 0 0 var(--pp-gap, 28px);
    padding: 28px 30px;
    background: rgba(45, 45, 45, 0.82);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: var(--pp-radius-lg, 32px);
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.28);
    color: #fff;
    box-sizing: border-box;
}
.product-projects__title {
    font-size: 22px;
    font-weight: 600;
    color: #fff;
    margin: 0 0 20px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    position: relative;
    line-height: 1.3;
}
.product-projects__title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 52px;
    height: 2px;
    background: #db6e21;
    border-radius: 2px;
}
.mini-project-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
}
.mini-project-card {
    box-sizing: border-box;
    border-radius: 12px;
    background: #2f2f2f;
    color: #fff;
    padding: 6px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    transition: all 0.25s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    text-decoration: none;
    min-width: 0;
}
.mini-project-card:hover {
    background: #3a3a3a;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.18);
}
.mini-project-thumb {
    width: 54px;
    height: 54px;
    flex-shrink: 0;
    margin-right: 12px;
    border-radius: 8px;
    overflow: hidden;
    background: #1f1f1f;
}
.mini-project-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    background: #fff;
}
.mini-project-thumb__placeholder {
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #2a2a2a, #1a1a1a);
}
.mini-project-info {
    flex-grow: 1;
    min-width: 0;
    overflow: hidden;
}
.mini-project-title {
    font-size: 13px;
    color: #fff;
    margin: 0 0 4px 0;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: 500;
}
.mini-project-meta {
    font-size: 11px;
    color: #c4c4c4;
    font-weight: 300;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (max-width: 768px) {
    .product-projects { padding: 22px 20px; border-radius: 26px; }
    .product-projects__title { font-size: 19px; }
    .mini-project-cards { grid-template-columns: 1fr; }
}
@media (max-width: 370px) {
    .product-projects { padding: 16px 14px !important; border-radius: 18px !important; }
    .product-projects__title { font-size: 16px !important; margin-bottom: 12px !important; padding-bottom: 10px !important; }
    .mini-project-card { padding: 6px !important; border-radius: 10px !important; }
    .mini-project-thumb { width: 48px !important; height: 48px !important; margin-right: 10px !important; }
    .mini-project-title { font-size: 12px !important; }
    .mini-project-meta { font-size: 10px !important; }
}


.contact-page-container {
    max-width: 700px;
    margin: 0 auto;
    padding: 20px 30px 30px;
}

.contact-form-wrapper {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
}

.contact-section {
    background: #2d2d2d;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    border-radius: 25px;
    padding: 25px;
    color: #fff;
}

.contact-section h3 {
    font-size: 20px;
    font-weight: 400;
    color: #fff;
    margin: 0 0 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}

/* Поля формы */
.wpcf7-form label {
    display: block;
    margin-bottom: 8px;
    color: #c9c9c9;
    font-size: 14px;
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
    width: 100%;
    padding: 12px 15px;
    background: #343434;
    border: 1px solid #5c5c5c;
    border-radius: 25px;
    color: #fff;
    font-size: 14px;
    transition: all 0.3s;
    margin-bottom: 20px;
    margin-top: 5px;
}

.wpcf7-form textarea {
    min-height: 100px;
    resize: vertical;
    border-radius: 16px;
}

.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form textarea:focus {
    outline: none;
    border-color: #DB6E21;
    box-shadow: 0 0 0 1px #DB6E21;
}

/* Кнопка отправки */
.wpcf7-form input[type="submit"] {
    background-color: #DB6E21;
    color: white;
    padding: 12px 26px;
    border: none;
    border-radius: 30px;
    font-size: 15px;
    cursor: pointer;
    transition: background 0.3s ease;
}

.wpcf7-form input[type="submit"]:hover {
    background-color: #005f8c;
}

/* Чекбокс согласия на обработку ПДн */
.wpcf7-form .wpcf7-acceptance {
    display: block;
    margin: 18px 0 22px;
}

.wpcf7-form .wpcf7-acceptance .wpcf7-list-item {
    margin: 0;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.wpcf7-form .wpcf7-acceptance .wpcf7-list-item label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
    margin: 0;
    font-weight: 400;
    line-height: 1.45;
    font-size: 13px;
    color: #cfcfcf;
}

.wpcf7-form .wpcf7-acceptance input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    margin: 1px 0 0;
    border: 1.5px solid #888;
    border-radius: 4px;
    background-color: transparent;
    cursor: pointer;
    position: relative;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

.wpcf7-form .wpcf7-acceptance input[type="checkbox"]:hover {
    border-color: #DB6E21;
}

.wpcf7-form .wpcf7-acceptance input[type="checkbox"]:checked {
    background-color: #DB6E21;
    border-color: #DB6E21;
}

.wpcf7-form .wpcf7-acceptance input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    left: 5px;
    top: 1px;
    width: 5px;
    height: 10px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.wpcf7-form .wpcf7-acceptance .wpcf7-list-item-label a,
.wpcf7-form .wpcf7-acceptance label a {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color 0.2s ease;
}

.wpcf7-form .wpcf7-acceptance .wpcf7-list-item-label a:hover,
.wpcf7-form .wpcf7-acceptance label a:hover {
    color: #DB6E21;
}

/* Неактивный вид кнопки, пока чекбокс не отмечен */
.wpcf7-form:has(.wpcf7-acceptance input[type="checkbox"]:not(:checked)) input[type="submit"] {
    background-color: #6b6b6b;
    color: #d0d0d0;
    cursor: not-allowed;
    opacity: 0.7;
}

.wpcf7-form:has(.wpcf7-acceptance input[type="checkbox"]:not(:checked)) input[type="submit"]:hover {
    background-color: #6b6b6b;
}

/* Сообщения */
.wpcf7-response-output {
    margin-top: 20px;
    padding: 14px 20px;
    border-radius: 12px;
    background-color: #444;
    color: #fff;
}

/* Адаптив */
@media (max-width: 768px) {
    .contact-page-container {
        padding: 20px 15px;
    }

    .wpcf7-form input[type="submit"] {
        width: 100%;
        text-align: center;
    }
}
/* ===== Чекбокс согласия на обработку ПДн — оформление заказа ===== */
.woo-privacy-row {
    margin: 18px 0 22px !important;
}

.woo-privacy-label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    cursor: pointer;
    font-size: 13px !important;
    color: #cfcfcf !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
}

.woo-privacy-label input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    margin: 1px 0 0;
    border: 1.5px solid #888;
    border-radius: 4px;
    background-color: transparent;
    cursor: pointer;
    position: relative;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

.woo-privacy-label input[type="checkbox"]:hover {
    border-color: #DB6E21;
}

.woo-privacy-label input[type="checkbox"]:checked {
    background-color: #DB6E21;
    border-color: #DB6E21;
}

.woo-privacy-label input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    left: 5px;
    top: 1px;
    width: 5px;
    height: 10px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.woo-privacy-label a {
    color: #fff !important;
    text-decoration: underline !important;
    text-underline-offset: 2px;
    transition: color 0.2s ease;
}

.woo-privacy-label a:hover {
    color: #DB6E21 !important;
}

.woo-privacy-label .required {
    color: #DB6E21;
}

/* Кнопка "Оформить заказ" — неактивный вид */
#place_order.privacy-disabled {
    background-color: #6b6b6b !important;
    color: #d0d0d0 !important;
    cursor: not-allowed !important;
    opacity: 0.7 !important;
    pointer-events: none !important;
}

.about-page-container {
    max-width: 1300px;
    margin: 0 auto;
    padding: 40px 30px;
    color: #fff;


}

.about-section {
    border: solid 1px #5c5c5c;
    border-radius: 45px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    margin-bottom: 40px;
    padding: 30px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 30px;
    overflow: hidden;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.about-section:nth-child(even) {
    direction: rtl;
    text-align: right;
}

.about-section:nth-child(even) .about-text {
    direction: ltr;
    text-align: left;
}

.about-section:hover {
    transform: translateY(-5px);
}
h2{
	line-height: 1.2;
}
.about-section h2,
.about-section h3 {
    font-size: 22px;
    font-weight: 500;
    color: #fff;
    margin-bottom: 15px;
    text-align: left;
}

.about-text p {
    font-size: 15px;
    line-height: 1.6;
    color: #cfcfcf;
    text-align: left;
}

.about-image img {
    max-width: 100%;
    height: 100%;
    border-radius: 25px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.2);
}

.about-text i {
    color: #DB6E21;
    margin-right: 10px;
}

@media screen and (max-width: 768px) {
    .about-section {
        grid-template-columns: 1fr;
        text-align: left !important;
    }

    .about-section:nth-child(even) {
        direction: ltr;
    }
}



/* Для всех quantity inputs */
input[type="number"].qty-text::after {
    content: " шт";
    margin-left: 5px;
}

.dimensions-list{
	color: #9A9999;
	font-size: 12px;
	margin-bottom: 10px;
}
/* Контейнер уведомления */


/* Текст уведомления */
.woocommerce .woocommerce-notices-wrapper {
    max-width: 1000px;
    margin: 0 auto 20px;
    padding: 0 15px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.woocommerce .woocommerce-notices-wrapper + p {
    color: #c9c9c9;
    margin: 15px 0;
    line-height: 1.5;
    text-align: center;
    padding: 15px;
    
    width: 100%;
    box-sizing: border-box;
}
/* Кнопка "Вернуться" */
.woocommerce .wc-backward {
    display: block;
    width: fit-content;
    padding: 10px 20px;
    background-color: #DB6E21;
    color: white !important;
    border-radius: 25px;
    text-decoration: none;
    font-size: 14px;
    transition: all 0.3s ease;
    margin: 15px auto 0;
    text-align: center;
}
.woocommerce-info a{
	columns: #fff;
}

.woocommerce .wc-backward:hover {
    background-color: #c45e18;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(219,110,33,0.3);
}
/* Адаптивность */
@media (max-width: 768px) {
    .woocommerce-error, 
    .woocommerce-info, 
    .woocommerce-message {
        padding: 12px 15px;
    }
    
    .wc-backward {
        width: 100%;
        text-align: center;
    }
}

.stock-outofstock{
	color: #ff4747;
}
.stock-instock{
	color: #5b9207;
}
.quantity-wrapper{
	margin-top: 10px;
}
.product-stock-info strong{
	font-weight: 400;
}
.woocommerce-info{
	color: #fff;
}
/* 404 Page Styles */
.error-404-container {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 70vh;
    padding: 40px 15px;
    
    text-align: center;
}

.error-404-content {
    max-width: 600px;
    margin: 0 auto;
    padding: 40px;
    background: #2d2d2d;
    border-radius: 25px;
    box-shadow: 0 0 20px rgba(0,0,0,0.3);
}

.error-title {
    font-size: 120px;
    font-weight: 900;
    color: #DB6E21;
    line-height: 1;
    margin: 0 0 10px;
}

.error-subtitle {
    font-size: 28px;
    font-weight: 400;
    color: #fff;
    margin: 0 0 20px;
    text-transform: uppercase;
}

.error-text {
    color: #c9c9c9;
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 30px;
}

.error-actions {
    display: flex;
    gap: 15px;
    justify-content: center;
    flex-wrap: wrap;
}

.error-actions .button {
    padding: 12px 25px;
    border-radius: 25px;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.3s ease;
}

.error-actions .home-button {
    background-color: #DB6E21;
    color: white;
}

.error-actions .catalog-button {
    background-color: transparent;
    color: #DB6E21;
    border: 1px solid #DB6E21;
}

.error-actions .button:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(219, 110, 33, 0.3);
}

@media (max-width: 768px) {
    .error-title {
        font-size: 80px;
    }
    
    .error-subtitle {
        font-size: 22px;
    }
    
    .error-404-content {
        padding: 30px 20px;
    }
}



/* Homepage Specific Styles */
.homepage-container {
    max-width: 1950px;
    padding: 0 15px;
    margin: 0 auto;
}

/* Hero Section */
.hero-section {
    margin: 30px 0 50px;

}

.hero-grid {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 20px;
}

.categories-sidebar {
    background: #2d2d2d;
    border-radius: 25px;
    padding: 25px;
    height: fit-content;
}

.categories-sidebar .sidebar-title {
    font-size: 20px;
    font-weight: 400;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid #5c5c5c;
    color: #fff;
    text-transform: uppercase;
}

.categories-sidebar .category-list {
    list-style: none;
    padding: 0;
    margin: 0;
    position: relative;
}

.categories-sidebar .category-list li {
    margin-bottom: 12px;
    position: relative;
}

.categories-sidebar .category-list a {
    color: #fff;
    text-decoration: none;
    transition: all 0.3s;
    display: block;
    padding: 8px 15px;
    border-radius: 8px;
    font-size: 16px;
}

.categories-sidebar .category-list a:hover {
    color: #DB6E21;
    border-radius: 15px;
    background-color: rgba(219, 110, 33, 0.1);
}

/* Подкатегории поверх */
.categories-sidebar .category-list li ul {
    display: none;
    position: absolute;
    top: 0;
    left: 100%;
    background: #2d2d2d;
    z-index: 1000;
    min-width: 200px;
    padding: 10px 0;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.categories-sidebar .category-list li.has-children > a {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.categories-sidebar .category-list li.has-children > a .dropdown-arrow {
    margin-left: 10px;
    transition: transform 0.3s;
    color: #DB6E21;
}

/* Наведение (ПК) */
@media (hover: hover) {
    .categories-sidebar .category-list li.has-children:hover > ul {
        display: block;
    }
}

/* Клик (мобилки) */
.categories-sidebar .category-list li.has-children.open > ul {
    display: block;
}

/* Поворот стрелки при открытии */
.categories-sidebar .category-list li.has-children.open > a .dropdown-arrow {
    transform: rotate(90deg);
}


.hero-slider {
    border-radius: 45px;
    overflow: hidden;
    border: solid 1px #666;
    
}

/* Section Titles */
.section-title {
    font-size: 32px;
    font-weight: 400;
    text-align: center;
    margin-bottom: 50px;
    color: #fff;
    position: relative;
    text-transform: uppercase;
}

.section-title::after {
    content: '';
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 3px;
    border-radius: 30px;
    background-color: #DB6E21;

}
/* Homepage Completed Projects Section */
.home-completed-projects {
    padding: 60px 0;
    border-radius: 0px 0px 45px 45px;
    background-color: #2d2d2d;
    margin: 0px 0 60px 0;
    border-top: dashed 2px #4d4d4d;
}

.home-completed-projects .archive-projects-container {
    max-width: 1950px;
    margin: 0 auto;
    padding: 0 15px;
}

.home-completed-projects .archive-projects-header {
    text-align: center;
    margin-bottom: 40px;
    padding-bottom: 20px;
    
}

.home-completed-projects .archive-projects-title {
    font-size: 32px;
    font-weight: 400;
    color: #fff;
    margin-bottom: 15px;
    text-transform: uppercase;
    position: relative;
    display: inline-block;
}

.home-completed-projects .archive-projects-title::after {
    content: '';
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 3px;
    background-color: #DB6E21;
    border-radius: 3px;
}

.home-completed-projects .archive-projects-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 350px));
    gap: 30px;
    justify-content: center; /* Центрируем всю сетку */
    margin: 40px auto 0;
    max-width: calc(100% - 30px);
}

.home-completed-projects .archive-project-card {
    background: #2d2d2d;
    border-radius: 35px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    border: 1px solid #3e3e3e;
}

.home-completed-projects .archive-project-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
    border-color: #DB6E21;
}

.home-completed-projects .archive-project-image {
    position: relative;
    padding-top: 70%;
    overflow: hidden;
}

.home-completed-projects .archive-project-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.home-completed-projects .archive-project-card:hover .archive-project-image img {
    transform: scale(1.05);
}

.home-completed-projects .archive-project-content {
    padding: 20px;
}

.home-completed-projects .archive-project-title {
    font-size: 18px;
    font-weight: 500;
    color: #fff;
    margin-bottom: 10px;
    line-height: 1.3;
}

.home-completed-projects .archive-project-title a {
    color: inherit;
    text-decoration: none;
    transition: color 0.3s;
}

.home-completed-projects .archive-project-title a:hover {
    color: #DB6E21;
}

.home-completed-projects .archive-project-excerpt {
    color: #c9c9c9;
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 15px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.home-completed-projects .archive-project-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.home-completed-projects .archive-project-date {
    font-size: 12px;
    color: #8f8f8f;
}

.home-completed-projects .archive-project-link {
    color: #DB6E21;
    font-size: 14px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    transition: all 0.3s;
}

.home-completed-projects .archive-project-link:hover {
    color: #fff;
}

.home-completed-projects .archive-project-link svg {
    margin-left: 5px;
    transition: transform 0.3s;
}

.home-completed-projects .archive-project-link:hover svg {
    transform: translateX(3px);
}

/* Responsive */
@media (max-width: 768px) {
    .home-completed-projects .archive-projects-title {
        font-size: 26px;
    }
    
    .home-completed-projects .archive-projects-grid {
        grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
        gap: 20px;
    }
}

@media (max-width: 480px) {
    .home-completed-projects .archive-projects-grid {
        grid-template-columns: 1fr;
    }
}
/* About Company */
.about-company {
    margin: 30px 0px 0px 0px;
    padding: 60px;
    background-color: #2d2d2d;
    border-radius: 45px 45px 0px 0px;
    
}

.about-text {
    max-width: 800px;
    margin: 0 auto;
    color: #c9c9c9;
    line-height: 1.6;
    font-size: 16px;
    text-align: center;
}

/* Benefits */
.benefits-section {
    margin: 60px 0;
}

.benefits-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 30px;
    max-width: 1200px;
    margin: 0 auto;
}

.benefit-card {
    text-align: center;
    padding: 45px;
    background: #2d2d2d;
    border-radius: 45px;
    transition: all 0.3s ease;
    border: 1px solid #4a4848;
}

.benefit-card:hover {
    transform: translateY(-5px);
    border-color: rgba(219, 110, 33, 0.3);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.benefit-icon {
    width: 60px;
    height: 60px;
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(219, 110, 33, 0.1);
    border-radius: 50%;
    font-size: 28px;
    color: #DB6E21;
}

.benefit-card h3 {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 15px;
    color: #fff;
    text-transform: uppercase;
}

.benefit-card p {
    font-size: 15px;
    color: #c9c9c9;
    line-height: 1.5;
}

/* Popular Categories */
.popular-categories {
    margin: 60px 0;
}

.categories-grid {
 display: grid;
  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
  gap: 20px;
  max-width: 1300px; /* ограничивает ширину сетки */
  margin: 0 auto; /* центрирует сетку */
   
}



.placeholder-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #5c5c5c;
}



/* Featured Products */
.featured-products {
    margin: 60px 0;
}
body.home .site-content-wrapper .mini-products-wrapper {
    display: none;
}

.products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 20px;
    justify-content: center;
}

.view-all {
    text-align: center;
    margin-top: 40px;
}

/* Contacts Section */
.contacts-section {
    
}

.contacts-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.contacts-info {
    background: #2d2d2d;
    border-radius: 45px;
    padding: 40px;
}
.map-container iframe{
	margin-bottom: -5px;
}
.contact-details {
    margin: 24px 0 0;
}

/* Строки */
.cd-row {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 11px 0;
    border-bottom: 1px solid rgba(255,255,255,0.07);
}
.cd-row:last-child { border-bottom: none; }

/* Иконка */
.cd-icon {
    color: #DB6E21;
    width: 18px;
    flex-shrink: 0;
    margin-top: 3px;
    text-align: center;
    font-size: 14px;
}

/* Телефоны */
.cd-phones {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

/* Ссылки */
.cd-link {
    color: #c9c9c9;
    text-decoration: none;
    font-size: 15px;
    transition: color 0.2s;
}
.cd-link:hover { color: #DB6E21; }

/* Обычный текст */
.cd-text {
    color: #c9c9c9;
    font-size: 15px;
    line-height: 1.6;
}
.cd-small {
    font-size: 12px;
    color: #666;
    margin-top: 4px;
}

/* Мессенджеры */
.cd-messengers {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.cd-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 500;
    color: #fff !important;
    text-decoration: none;
    transition: opacity 0.2s, transform 0.15s;
    line-height: 1;
}
.cd-badge:hover { opacity: 0.85; transform: translateY(-1px); }
.cd-badge--wa  { background: #25D366; }
.cd-badge--tg  { background: #0088cc; }
.cd-badge--max { background: linear-gradient(90deg, #00a0ff, #8a2be2); }
.cd-badge-icon { width: 14px; height: 14px; filter: brightness(10); }

@media (max-width: 600px) {
    .contacts-info {
        padding: 28px 22px;
    }
    .cd-messengers {
        flex-direction: column;
        gap: 10px;
    }
    .cd-badge {
        width: 100%;
        justify-content: center;
        padding: 12px 18px;
        font-size: 15px;
        border-radius: 50px;
    }
    .cd-badge-icon {
        width: 17px;
        height: 17px;
    }
}

.map-container {
    border-radius: 45px;
    overflow: hidden;
}

/* Responsive */
@media (max-width: 1200px) {
    .hero-grid {
        grid-template-columns: 250px 1fr;
    }
    
    .section-title {
        font-size: 28px;
    }
}

@media (max-width: 992px) {
    .hero-grid {
        grid-template-columns: 1fr;
    }
    
    .categories-sidebar {
        display: none;
    }
    
    .hero-slider {
        
    }
    
    .contacts-grid {
        grid-template-columns: 1fr;
    }
    
    .map-container {
        height: 300px;
    }
}

@media (max-width: 768px) {
    .section-title {
        font-size: 24px;
    }
    
    .about-company {
        
    }
    
    .benefits-grid {
        grid-template-columns: 1fr 1fr;
    }
    
    .hero-slider {
        
    }
}

@media (max-width: 576px) {
    .section-title {
        font-size: 22px;
    }
    
    .benefits-grid,
    .categories-grid {
        grid-template-columns: 1fr;
    }
    
    .hero-slider {
        
    }
    
    .about-company {
        margin: 30px 0 0px 0;
    }
}





/* Основной список категорий */
.category-list {
    position: relative; /* Для позиционирования выпадающего списка */
    
    
    padding-right: 10px;
    border-radius: 8px;
    padding: 10px;
}

/* Элемент категории с подкатегориями */
.category-item.has-children {
    position: relative;
}

/* Выпадающий список подкатегорий */
.subcategory-dropdown {
    position: absolute;
    left: 100%;
    top: 0;
    min-width: 250px;
    background: #2d2d2d;
    border-radius: 15px;
    padding: 15px 15px 7px 15px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
    z-index: 10;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    border: 1px solid rgba(255, 255, 255, 0.1);
    max-height: 70vh;
    overflow-y: auto;
    margin-left: 10px;
}

/* Показываем подкатегории при наведении */
.category-item.has-children:hover .subcategory-dropdown {
    opacity: 1;
    visibility: visible;
}

/* Контейнер ссылки — делаем flex для выравнивания */
.category-item.has-children > .category-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;

}

/* Стрелка */
.category-item.has-children > .category-link::after {
    content: "";
    display: inline-flex; /* Используем flex для лучшего центрирования */
    align-items: center;
    justify-content: center;
    width: 10px;
    height: 10px;
    min-width: 10px;
    min-height: 10px;
    margin-left: 30px;
    
    /* Mask solution */
    background-color: currentColor; /* Берет цвет текста родителя */
    -webkit-mask: url("arrow.svg") no-repeat center / contain;
    mask: url("arrow.svg") no-repeat center / contain;
    
    /* Центр трансформации */
    transform-origin: center center;
    transition: transform 0.3s ease;
}

.category-item.has-children:hover > .category-link::after {
    transform: rotate(-90deg);
    background-color: #db6e21;
}

body.home .site-content-wrapper .site-content-catalog .catalog-header {
    display: none;
}

/* Стили для подкатегорий */
.subcategory-dropdown .category-item {
    margin-bottom: 8px;
}

.subcategory-dropdown .category-link {
    padding: 6px 12px;
    font-size: 14px;
}

/* Адаптив для мобильных устройств */
@media (max-width: 768px) {
    .subcategory-dropdown {
        position: static;
        opacity: 1;
        visibility: visible;
        display: none;
        margin-top: 8px;
        box-shadow: none;
        border: none;
        padding: 0 0 0 15px;
        background: transparent;
    }
    
    .category-item.has-children.active .subcategory-dropdown {
        display: block;
    }
    
    .category-item.has-children > .category-link::after {
        transition: transform 0.3s ease;
        display: none;
    }
    
    .category-item.has-children.active > .category-link::after {
        transform: rotate(180deg);
    }
    
    /* Убираем hover-эффекты на мобильных */
    .category-item.has-children:hover .subcategory-dropdown {
        opacity: 1;
        visibility: visible;
        display: none;
    }
    
    .category-item.has-children.active:hover .subcategory-dropdown {
        display: block;
    }
}

body.home .site-content-wrapper .sidebar {
    height: 600px;
    width: 200px;
    overflow: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
    z-index: 50;
     position: relative;

}
/* Градиент внизу сайдбара */
body.home .site-content-wrapper .sidebar::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 40px;
    max-width: 85%;
    margin: 0 auto;
    border-radius: 45px;
    background: linear-gradient(to bottom, 
        rgba(45, 45, 45, 0) 0%, 
        rgba(45, 45, 45, 1) 100%);
    pointer-events: none; /* Чтобы можно было кликать сквозь градиент */
    transition: opacity 0.3s ease;
}

/* При наведении убираем градиент */
body.home .site-content-wrapper .sidebar:hover::after {
    opacity: 0;
}

@media screen and (max-width: 768px){
	body.home .site-content-wrapper .sidebar {
    width: 100%;

}
body.home .site-content-wrapper .sidebar::after{
	display: none;
}
}
body.home .site-content-wrapper .sidebar::-webkit-scrollbar {
    display: none;
}

body.home .site-content-wrapper .sidebar:hover {
    overflow: visible;
}
.category-list {
    
    border-radius: 25px;
    
    background-color: #2d2d2d;
    border: solid 1px #3e3e3e;
}
.theme-wrap {
	position: relative;
}
.theme-text {
	text-align: center;
	position: absolute;
	top: -17px;
	left: 50%;
	transform: translateX(-50%);
	color: #9a9999;
	padding: 4px;
	font-size: 10px;
}
.theme-switch {
  width: 40px;
  height: 20px;
  border-radius: 20px;
  position: relative;
  cursor: pointer;
  transition: background-color 0.3s ease;
  display: inline-block;
  vertical-align: middle;
  border: solid 1px #eee;
  box-sizing: border-box;
}

.switch-thumb {
  width: 16px;
  height: 16px;
  background-color: #eee;
  border-radius: 50%;
  position: absolute;
  left: 1px;
  top: 50%;
  transform: translateY(-50%);
  transition: left 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  font-size: 11px;
}

.switch-thumb i {
  position: absolute;
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.icon-sun {
  opacity: 0;
  transform: scale(0);
  
}

.icon-moon {
  opacity: 1;
  transform: scale(1);
  
}

.light-mode-invert .switch-thumb {
  left: 21px;
}

.light-mode-invert .icon-sun {
  opacity: 1;
  transform: scale(1);
}

.light-mode-invert .icon-moon {
  opacity: 0;
  transform: scale(0);
}

.slider-text{
	width: 100px;
}
/* Заголовок категории */
.category-title {
    margin: 20px 0 15px;
    font-size: 28px;
    color: #333;
    text-align: center;
}

/* Панель подкатегорий */

.subcategory-nav {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 5px;
    
    padding: 0px 0 15px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    transition: transform 0.3s ease, opacity 0.3s ease;
    transform: translateY(-10px);
    
    width: 100%;


}

.subcategory-link {
    padding: 8px 10px;
    background: rgba(52, 52, 52, 0.5);
    border-radius: 10px;
    text-decoration: none;
    color: #c9c9c9;
    transition: all 0.3s ease;
    border: 1px solid rgba(255, 255, 255, 0.1);
    font-size: 14px;
            margin: 0 0px;
    text-transform: uppercase;
}

.subcategory-link:hover {
    background: rgba(219, 110, 33, 0.1);
    color: #DB6E21;
}

.subcategory-link.active {
    background: rgba(219, 110, 33, 0.2);
    color: #DB6E21;
    border-color: #DB6E21;
}

/* Фиксированная панель при скролле */
.subcategory-nav.fixed {
    position: fixed;
    top: 108px; /* под хедером */
    left: 0;
    right: 0;
    padding: 5px 5px;
    background-color: rgba(40, 40, 40, 0.9);
    display: flex;
    box-shadow: 0px 0px 7px 0px rgba(0, 0, 0, 0.30);
    z-index: 700;
    justify-content: center;
    margin: 0 !important;
    max-width: 1950px;
    transition: transform 0.3s ease, opacity 0.3s ease;
    transform: translateY(0);
    opacity: 1;
    border-bottom: none;
}
.subcategory-nav.fixed.anim-hide {
    transform: translateY(-20px);
    opacity: 0;
}
@keyframes slideDown {
    from {
        transform: translateY(-20px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}
.subcategory-placeholder {
    width: 100%;
}

/* Адаптивность */
@media (max-width: 992px) {
    .subcategory-nav {
        overflow-x: auto;
        flex-wrap: nowrap;
        justify-content: flex-start;
        padding: 10px;
        margin-bottom: 15px;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    
    .subcategory-nav::-webkit-scrollbar {
        display: none;
    }
    
    .subcategory-link {
        white-space: nowrap;
        font-size: 10px;
        padding: 8px 12px;
    }
    
    .subcategory-nav.fixed {
        
        justify-content: flex-start;
    }
}

@media (max-width: 768px) {
    .subcategory-nav.fixed {
        
    }
}

@media (max-width: 576px) {
    .subcategory-nav.fixed {
        
    }
}
.woocommerce-variation-add-to-cart{
	text-align: center;
}
.single_add_to_cart_button{
	background-color: #db6e21;
    color: white;
    padding: 15px 35px;
    border-radius: 30px;
    font-size: 16px;
    text-decoration: none;
    transition: background-color 0.3s ease;
    cursor: pointer;
    width: 100%;
    max-width: 380px;
}
/* Обёртка таблицы атрибутов */
.variations {
  width: 100%;
  max-width: 100%;
  border-collapse: collapse;
  margin-bottom: 1.5rem;
  font-size: 14px;
  border-bottom: 1px dashed rgba(255, 255, 255, 0.1);
}

/* Ячейки заголовков (названия атрибутов) */
.variations th.label {
  text-transform: capitalize;
  font-weight: 600;
  padding: 20px 12px 10px 12px;
  color: #fff;
  vertical-align: top;
  width: 100px;
}

/* Ячейки значений (селекты) */
.variations td.value {
  padding: 10px 0;
  vertical-align: middle;
}

/* Селекты опций */
.variations select {
  width: 100%;
  max-width: 280px;
  padding: 10px 14px;
  font-size: 14px;
  border-radius: 50px;
  border: 1px solid #4a4848;
  background-color: #343434;
  color: #fff;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  transition: border-color 0.2s, box-shadow 0.2s;
  cursor: pointer;
}

.variations select:focus {
  outline: none;
  border-color: #555;
  box-shadow: 0 0 0 2px rgba(85, 85, 85, 0.1);
}

/* Кнопка "Очистить" */
.reset_variations {
  display: inline-block;
  margin-top: 8px;
  font-size: 12px;
  color: #888;
  text-decoration: underline;
  transition: color 0.2s ease;
  margin-left: 10px;
}

.reset_variations:hover {
  color: #333;
  text-decoration: none;
}
.woocommerce-variation-price .woocommerce-Price-amount {
  font-size: 20px;          /* Увеличиваем размер шрифта */
  font-weight: 600;         /* Делаем чуть жирнее */
  color: #fff;           /* Оранжевый цвет как кнопка */

  
 
}
.woocommerce-Price-amount{
	white-space: nowrap;
}
.woocommerce-variation-price .woocommerce-Price-amount::before {
  content: "Цена товара: ";
  font-weight: 300;
  font-size: 18px;
  margin-right: 5px;
  color: #fff;
}
.woocommerce-variation-price .woocommerce-Price-amount .woocommerce-Price-currencySymbol {
  font-size: 18px;          /* Можно чуть меньше, чтобы не перетягивала внимание */
  margin-left: 2px;
}


.variation-thumbnail {
    
}

.variation-thumbnail-image {
    border-radius: 8px; /* Rounded corners */
    object-fit: cover; /* Ensure image fits nicely */
    width: 70px;
    height: 70px;
    margin: 15px 0;
    background: #fff;
    
}
.woocommerce-variation-description{
	margin: 15px 0;
	color: #c4c4c4;

}
/* Custom Mini-Cart Styles */
.custom-mini-cart-wrapper {
    background: #2d2d2d;
    border-radius: 16px;
    padding: 15px;
    border: 1px solid #4a4848;
    color: #fff;
    font-size: 13px;

}

.custom-mini-cart-list {
    list-style: none;
    padding: 0;
    margin: 0 0 15px 0;
    max-height: 300px;
    overflow-y: auto;
    scrollbar-width: none;
}

.custom-mini-cart-list::-webkit-scrollbar {
    display: none;
}

.custom-mini-cart-item {
    padding: 10px 0;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.1);
    position: relative;
}

.custom-remove-item {
    position: absolute;
    right: -4px;
    top: -7px;
    color: #ff4747 !important;
    font-size: 18px;
    line-height: 1;
    text-decoration: none;
    padding: 5px;
}

.custom-mini-cart-product {
    display: flex;
    gap: 12px;
    align-items: center;
}

.custom-mini-cart-thumbnail {
    flex: 0 0 50px;
border: solid 1px #4a4848 ;
border-radius: 10px;
overflow: hidden;
}

.custom-mini-cart-thumbnail img {
    width: 50px;
    height: 50px;
    
    object-fit: cover;
    background: #fff;

}

.custom-mini-cart-details {
    flex: 1;
    min-width: 0;
}

.custom-mini-cart-name {
    margin-bottom: 3px;
    line-height: 1.3;
}

.custom-mini-cart-name a {
    color: #fff;
    text-decoration: none;
}

.custom-mini-cart-meta {
    color: #9A9999;
    font-size: 12px;
}

.custom-mini-cart-price {
    color: #DB6E21;
}

.custom-mini-cart-footer {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 15px;
}

.custom-mini-cart-total {
    display: flex;
    justify-content: space-between;
    margin-bottom: 15px;
    font-size: 14px;
}

.custom-total-label {
    font-weight: 500;
}

.custom-total-amount {
    color: #DB6E21;
    font-weight: 600;
}

.custom-mini-cart-buttons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.custom-view-cart-button,
.custom-checkout-button {
    display: block;
    text-align: center;
    padding: 8px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s;
}

.custom-view-cart-button {
    background: transparent;
    color: #DB6E21;
    border: 1px solid #DB6E21;
}

.custom-view-cart-button:hover {
    background: rgba(219, 110, 33, 0.1);
}

.custom-checkout-button {
    background: #DB6E21;
    color: white;
    border: 1px solid #DB6E21;
}

.custom-checkout-button:hover {
    background: #c45e18;
}

.custom-mini-cart-empty {
    text-align: center;
    color: #9A9999;
    padding: 10px 0;
    margin: 0;
}
/* Mini Cart Hover Effect */
.cart-hover-wrapper {
    position: relative;
    display: inline-block;

}

.custom-mini-cart-wrapper {
    pointer-events: none;
    position: absolute;
    top: 100%;
    right: 0;
    width: 320px;
    background: #2d2d2d;
    border-radius: 25px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
    z-index: 1000;
    padding: 4px 15px 15px 15px;
    border: 1px solid #4a4848;
    opacity: 0 !important;
    transform: translateY(10px);
    transition: all 0.25s ease-out;

}

.cart-icon-wrapper:hover .custom-mini-cart-wrapper {
    display: block;
    opacity: 1 !important;
    transform: translateY(-10px);
    pointer-events: auto;

}
.hide-count {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease;
}

/* Остальные ваши стили для мини-корзины остаются без изменений */
.custom-mini-cart-wrapper { ... }
.custom-mini-cart-list { ... }
/* и т.д. */

/* Loader for mini cart */
.custom-mini-cart-wrapper.loading {
    
    min-height: 100px;

}

.custom-mini-cart-wrapper.loading:after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 -10px;
    border: 2px solid #DB6E21;
    border-radius: 50%;
    border-top-color: transparent;
    animation: spin 0.6s linear infinite;
}

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

/* Active state for cart */
.cart-hover-wrapper.active .widget_shopping_cart_content {
    display: block;
    
    transform: translateY(-10px);
    right: 0;
}
/* Скрываем стандартную иконку WooCommerce */
.widget_shopping_cart .cart_list + .buttons {
    display: none !important;
}





/* Запрещаем стандартное поведение удаления */

@media screen and (max-width: 768px){
	.widget_shopping_cart_content{
		display: none;
	}
}


.cookie-notice {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  max-width: 1000px;
  margin: 0 auto;
  background-color: rgba(52, 52, 52, 0.7);
  color: #fff;
  line-height: 20px;
  font-size: 14px;
  padding: 15px 20px;
  display: flex;
  border-radius: 25px 25px 0 0;
  justify-content: space-between;
  align-items: center;
  z-index: 10000;
  box-shadow: 0 -2px 10px rgba(0,0,0,0.5);
  border-top: 1px solid #444;
  animation: slideUp 0.5s ease-out;
  display: none;
}

.cookie-notice__text a {
  color: #DB6E21;
  text-decoration: underline;
}

.cookie-notice__btn {
  background-color: #DB6E21;
  color: white;
  border: none;
  padding: 8px 18px;
  border-radius: 20px;
  font-size: 14px;
  cursor: pointer;
  transition: background 0.3s ease;
  font-weight: 500;
}

.cookie-notice__btn:hover {
  background-color: #9E4D14;
}

.cookie-notice__actions {
  display: flex;
  gap: 10px;
  flex-shrink: 0;
}

.cookie-notice__btn--decline {
  background-color: transparent;
  border: 1px solid #888;
  color: #ddd;
}

.cookie-notice__btn--decline:hover {
  background-color: rgba(255, 255, 255, 0.1);
}

@media (max-width: 600px) {
  .cookie-notice {
    flex-direction: column;
    gap: 12px;
    text-align: center;
  }
  .cookie-notice__actions {
    width: 100%;
    justify-content: center;
  }
}

@keyframes slideUp {
  from { transform: translateY(100%); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}
.price-notice {
    margin-top: 20px;
    padding: 15px;
    background: #343434;
    border-radius: 25px;
    border-left: 3px solid #DB6E21;
    color: #c9c9c9;
    font-size: 14px;
    line-height: 1.5;
}

.price-notice strong,
.price-notice p {
    color: #c4c4c4;
}
.category-description{
	border: 1px solid rgba(255, 255, 255, 0.1);
	margin: 0px 0px 25px 0px;
	padding: 25px;
	border-radius: 25px;
	font-size: 14px;
	line-height: 1.5;
	color: #dedede;

}
.category-description a{
	color: #dedede;
	text-decoration: underline;

}

.grecaptcha-badge { 
    visibility: hidden !important; /* Разрешено Google */
  }
  .contact-buttons {
    display: flex;
    gap: 10px;
    margin-top: 20px;
    text-align: center;
}

.whatsapp-btn {
    background-color: #25D366;
    
    display: flex;
    align-items: center;
    justify-content: center; /* Добавьте это для горизонтального центрирования */
    gap: 5px;
    text-align: center; /* Дополнительное выравнивание текста */
    
}

.whatsapp-btn:hover {
    background-color: #1da851;
    
}


/* Медиазапрос для маленьких экранов */
@media (max-width: 768px) {
    .contact-buttons {
        flex-direction: column; /* вертикальное расположение */
    }
    
   
}


/* Contacts page — адаптив грида */
@media (max-width: 768px) {
  .contacts-grid {
    grid-template-columns: 1fr !important;
  }
}

.cf7-privacy {
    display: block;
    margin-bottom: 20px; /* отступ снизу всего блока */
    font-size: 14px;
    line-height: 1.5; /* межстрочный интервал */
    color: #c9c9c9; /* цвет текста */
}

.cf7-privacy i {
    color: #DB6E21; /* цвет иконки */
    margin-right: 8px; /* отступ от текста */
    vertical-align: middle; /* выравнивание по центру текста */
    font-size: 16px;
}

.cf7-privacy a {
    color: #DB6E21;
    text-decoration: none;
}

.cf7-privacy a:hover {
    text-decoration: underline;
}


.contacts_page.contact-map-wrapper iframe {
    height: 600px; /* большие экраны */
}

@media (max-width: 1024px) {
    .contacts_page.contact-map-wrapper iframe {
        height: 450px;
    }
}

@media (max-width: 768px) {
    .contacts_page.contact-map-wrapper iframe {
        height: 350px;
    }
}

@media (max-width: 480px) {
    .contacts_page.contact-map-wrapper iframe {
        height: 250px;
    }
}


.price-per-m2{
    font-size: 0.8em;
    font-weight: 300;
    
    margin-left: 6px;
}

/* Reviews Section */
.home-reviews {
    padding: 60px 0;
    margin: 60px 0 30px;
    border-top: 1px solid #4a4848;
    border-bottom: 1px solid #4a4848;
}

.reviews-wrapper {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 30px;
    max-width: 1300px;
    margin: 40px auto 0;
    align-items: center;
}

/* Виджет с уменьшенным масштабом */
.yandex-reviews-widget {
    width: 100%;
    height: 500px;
    border-radius: 25px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    border: 1px solid #4a4848;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    background: #2d2d2d;
    padding: 5px;
    position: relative;
}

.yandex-reviews-widget:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(219, 110, 33, 0.15);
}

/* Масштабирование контента */
.yandex-reviews-scaler {
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 20px;
    border: 1px solid #4a4848;
    background: #2d2d2d;
}

.yandex-reviews-scaler iframe {
    width: 200%;
    height: 200%;
    border: none;
    transform: scale(0.5);
    transform-origin: 0 0;
    background: #2d2d2d;
}

/* Ссылка внизу виджета */
.yandex-reviews-link {
    box-sizing: border-box;
    text-decoration: none;
    color: #9A9999;
    font-size: 10px;
    font-family: 'Fira Sans', sans-serif;
    position: absolute;
    bottom: 13px;
    left: 50%;
    transform: translateX(-50%);
    background: #2d2d2d;
    padding: 3px 10px;
    border-radius: 12px;
    white-space: nowrap;
    border: 1px solid #4a4848;
    transition: color 0.3s ease, border-color 0.3s ease;
    z-index: 2;
}

.yandex-reviews-link:hover {
    color: #DB6E21;
    border-color: #DB6E21;
}

/* Правый блок */
.reviews-info {
    background: #2d2d2d;
    border-radius: 25px;
    padding: 35px;
    border: 1px solid #4a4848;
    text-align: center;
    transition: all 0.3s ease;
}

.reviews-info:hover {
    border-color: #DB6E21;
}

.reviews-info-title {
    font-size: 24px;
    font-weight: 500;
    color: #fff;
    margin-bottom: 20px;
    line-height: 1.3;
    text-transform: uppercase;
}

.reviews-info-text {
    font-size: 15px;
    color: #c9c9c9;
    line-height: 1.6;
    margin-bottom: 25px;
}

.reviews-button {
    display: inline-block;
    width: 100%;
    padding: 14px 20px;
    font-size: 15px;
    background: transparent;
    border: 1px solid #DB6E21;
    color: #fff;
    transition: all 0.3s ease;
}

.reviews-button:hover {
    background: #DB6E21;
    color: #fff;
    border-color: #DB6E21;
}

/* Адаптивность */
@media (max-width: 992px) {
    .reviews-wrapper {
        grid-template-columns: 1fr;
    }
    
    .yandex-reviews-widget {
        height: 450px;
    }
    
    .reviews-info {
        max-width: 600px;
        margin: 0 auto;
    }
}

@media (max-width: 768px) {
    .home-reviews {
        padding: 40px 0;
    }
    
    .reviews-info-title {
        font-size: 22px;
    }
    
    /* На планшетах делаем виджет выше и текст крупнее */
    .yandex-reviews-widget {
        height: 600px;
    }
    
    .yandex-reviews-scaler iframe {
        width: 166.67%;
        height: 166.67%;
        transform: scale(0.6); /* Масштаб 0.6 = текст крупнее */
    }
}

@media (max-width: 576px) {
    .yandex-reviews-widget {
        height: 700px; /* В ДВА РАЗА ВЫШЕ (было 350, стало 700) */
    }
    
    .reviews-info {
        padding: 25px;
    }
    
    .reviews-info-text {
        font-size: 14px;
    }
    
    /* На телефонах делаем текст еще крупнее */
    .yandex-reviews-scaler iframe {
        width: 142.86%;
        height: 142.86%;
        transform: scale(0.7); /* Масштаб 0.7 = текст почти нормального размера */
    }
    
    /* Ссылка внизу виджета чуть крупнее */
    .yandex-reviews-link {
        font-size: 11px;
        padding: 4px 12px;
        bottom: 15px;
    }
}

/* Для очень маленьких экранов */
@media (max-width: 400px) {
    .yandex-reviews-widget {
        height: 800px; /* Еще выше */
    }
    
    .yandex-reviews-scaler iframe {
        width: 125%;
        height: 125%;
        transform: scale(0.8); /* Масштаб 0.8 = почти как на десктопе */
    }
}

/* ======================== */
/* FAQ SECTION STYLES */
/* ======================== */

.faq-section {
    padding: 60px 0;
    background-color: #343434;
    margin: 60px 0;
    border-radius: 45px;
    border: 1px solid #4a4848;
}

.faq-container {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 15px;
}

.faq-item {
    background: #2d2d2d;
    border: 1px solid #4a4848;
    border-radius: 25px;
    margin-bottom: 15px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.faq-item:hover {
    border-color: #DB6E21;
}

.faq-question {
    padding: 20px 25px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    transition: background-color 0.3s ease;
}

.faq-question h3 {
    font-size: 16px;
    font-weight: 500;
    color: #fff;
    margin: 0;
    padding-right: 40px;
    line-height: 1.4;
}

.faq-toggle {
    position: absolute;
    right: 25px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease;
}

.faq-item.active .faq-toggle {
    transform: translateY(-50%) rotate(45deg);
}

.faq-toggle svg {
    width: 20px;
    height: 20px;
    color: #DB6E21;
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
    background: rgba(52, 52, 52, 0.3);
}

.faq-item.active .faq-answer {
    max-height: 300px; /* Достаточно для длинного ответа */
    transition: max-height 0.5s ease-in;
}

.faq-answer p {
    padding: 0 25px 20px 25px;
    margin: 0;
    color: #c9c9c9;
    font-size: 15px;
    line-height: 1.6;
}

/* Адаптивность */
@media (max-width: 768px) {
    .faq-section {
        padding: 40px 0;
        margin: 40px 0;
        border-radius: 30px;
    }
    
    .faq-question {
        padding: 15px 20px;
    }
    
    .faq-question h3 {
        font-size: 15px;
        padding-right: 35px;
    }
    
    .faq-answer p {
        padding: 0 20px 15px 20px;
        font-size: 14px;
    }
}

@media (max-width: 576px) {
    .faq-section {
        padding: 30px 0;
        margin: 30px 0;
        border-radius: 25px;
    }
    
    .faq-question {
        padding: 12px 15px;
    }
    
    .faq-question h3 {
        font-size: 14px;
        padding-right: 30px;
    }
    
    .faq-toggle {
        right: 15px;
    }
    
    .faq-toggle svg {
        width: 18px;
        height: 18px;
    }
    
    .faq-answer p {
        padding: 0 15px 12px 15px;
        font-size: 13px;
    }
}

/* ======================== */
/* SEO BLOCK - CLEAN VERSION */
/* ======================== */

.seo-block {
    padding: 60px 0;
    margin: 60px 0;
    background-color: #2d2d2d;
    border-radius: 45px;
    border: 1px solid #4a4848;
}

.seo-block-title {
    font-size: 26px;
    font-weight: 400;
    color: #fff;
    text-align: center;
    margin-bottom: 40px;
    padding: 0 15px;
    line-height: 1.3;
    text-transform: uppercase;
}

.seo-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 20px;
    max-width: 1300px;
    margin: 0 auto;
    padding: 0 15px;
}

.seo-item {
    background: #343434;
    border-radius: 25px;
    padding: 25px;
    border: 1px solid #4a4848;
    transition: border-color 0.3s ease;
}

.seo-item:hover {
    border-color: #5a5a5a;
}

.seo-item-title {
    font-size: 18px;
    font-weight: 500;
    color: #fff;
    margin-bottom: 15px;
    padding-bottom: 8px;
    border-bottom: 1px solid #4a4848;
}

.seo-item p {
    font-size: 14px;
    line-height: 1.6;
    color: #c9c9c9;
    margin: 0;
}

.seo-item p strong {
    color: #fff;
    font-weight: 500;
}

.seo-item a {
    color: #c9c9c9;
    text-decoration: underline;
    transition: color 0.3s ease;
}

.seo-item a:hover {
    color: #DB6E21; /* Оранжевый ТОЛЬКО при наведении */
}

/* Адаптивность */
@media (max-width: 992px) {
    .seo-block {
        padding: 50px 0;
        margin: 50px 0;
    }
    
    .seo-block-title {
        font-size: 22px;
        margin-bottom: 30px;
    }
    
    .seo-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .seo-block {
        padding: 40px 0;
        margin: 40px 0;
        border-radius: 30px;
    }
    
    .seo-block-title {
        font-size: 20px;
        margin-bottom: 25px;
    }
    
    .seo-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    
    .seo-item {
        padding: 20px;
    }
    
    .seo-item-title {
        font-size: 17px;
    }
}

@media (max-width: 576px) {
    .seo-block {
        padding: 30px 0;
        margin: 30px 0;
        border-radius: 25px;
    }
    
    .seo-block-title {
        font-size: 18px;
        margin-bottom: 20px;
    }
    
    .seo-item {
        padding: 15px;
    }
    
    .seo-item-title {
        font-size: 16px;
        margin-bottom: 10px;
    }
    
    .seo-item p {
        font-size: 13px;
    }
}

/* ============================================ */
/* SINGLE PRODUCT — REDESIGNED LAYOUT (v16)     */
/* Откат к 2-колонкам сверху, миниатюра вариации*/
/* возвращена, исключения инверсии для кнопок   */
/* Белое фото с обводкой, равная высота колонок */
/* выверенная типографика, +/- в правильном     */
/* порядке, кнопка корзины по центру            */
/* ============================================ */

.page-product-custom-single-product {
    --pp-bg-card:      rgba(45, 45, 45, 0.82);
    --pp-bg-soft:      rgba(58, 58, 58, 0.55);
    --pp-bg-deep:      #1f1f1f;
    --pp-bg-photo:     linear-gradient(135deg, #2a2a2a 0%, #1a1a1a 100%);
    --pp-border:       rgba(255, 255, 255, 0.08);
    --pp-border-soft:  rgba(255, 255, 255, 0.05);
    --pp-text:         #ffffff;
    --pp-text-muted:   #c9c9c9;
    --pp-text-dim:     #9a9999;
    --pp-accent:       #db6e21;
    --pp-accent-hover: #e07a32;
    --pp-radius-lg:    32px;
    --pp-radius-md:    22px;
    --pp-radius-sm:    16px;
    --pp-shadow:       0 12px 36px rgba(0, 0, 0, 0.28);
    --pp-gap:          28px;

    margin: 30px 0 60px;
    color: var(--pp-text);
}

/* ===== ВЕРХНЯЯ ЗОНА: фото + карточка покупки в 2 колонки ===== */
.page-product-custom-single-product .page-product-main {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    gap: var(--pp-gap);
    align-items: stretch;
    margin-bottom: var(--pp-gap);
}

/* --- Блок с фото: белая карточка, не инвертируется --- */
.page-product-custom-single-product .page-product-image {
    position: relative;
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: var(--pp-radius-lg);
    padding: 18px;
    box-shadow: var(--pp-shadow);
    overflow: hidden;
    box-sizing: border-box;
}

/* Плитка с фото — белая, фото вписывается без обрезки */
.page-product-custom-single-product .page-product-image .page-product-card__image-link {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 100%;
    height: clamp(360px, 46vw, 540px);
    background: #ffffff;
    border-radius: var(--pp-radius-md);
    overflow: hidden;
    cursor: zoom-in;
    box-sizing: border-box;
    padding: 8px;
}
/* Когда инициализирован слайдер — обычный block без flex-центровки */
.page-product-custom-single-product .page-product-card__image-link.pp-slider {
    display: block;
    padding: 0;
    cursor: grab;
    touch-action: pan-y;
    user-select: none;
    -webkit-user-select: none;
    -webkit-touch-callout: none;
    outline: none;
}
.page-product-custom-single-product .page-product-card__image-link.pp-slider:active {
    cursor: grabbing;
}

/* Трек слайдера */
.page-product-custom-single-product .pp-slider-track {
    display: flex;
    width: 100%;
    height: 100%;
    will-change: transform;
    transform: translate3d(0,0,0);
}
.page-product-custom-single-product .pp-slide {
    flex: 0 0 100%;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    overflow: hidden;
    box-sizing: border-box;
    padding: 8px;
}
.page-product-custom-single-product .pp-slide img,
.page-product-custom-single-product .page-product-image .pp-slide img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    width: auto !important;
    height: auto !important;
    object-fit: contain;
    object-position: center center;
    border-radius: 0 !important;
    margin: 0 auto;
    pointer-events: none;
    -webkit-user-drag: none;
    user-select: none;
    background: transparent !important;
    vertical-align: middle;
}

/* Индикатор свайпа */
.page-product-custom-single-product .page-product-image .page-product-card__image-link::after {
    content: '‹  ›';
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 14px;
    letter-spacing: 6px;
    color: rgba(0, 0, 0, 0.25);
    pointer-events: none;
    opacity: 0;
    transition: opacity .25s ease;
    z-index: 2;
}
.page-product-custom-single-product .page-product-image:has(.fancybox-thumbs-horizontal a) .page-product-card__image-link::after {
    opacity: 1;
}

/* Активная миниатюра в галерее */
.page-product-custom-single-product .fancybox-thumbs-horizontal a.is-active {
    border-color: var(--pp-accent);
    box-shadow: 0 0 0 2px rgba(219, 110, 33, 0.25);
}
/* Скачок при наведении убран */

/* Само фото — никогда не растягиваем, центрируем, без белого */
.page-product-custom-single-product .page-product-image img.page-product-page-product-card__image {
    background: transparent !important;
    width: auto !important;
    height: auto !important;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 0 !important;
    display: block;
    margin: 0 auto;
}

/* Полоса миниатюр */
.page-product-custom-single-product .fancybox-thumbs-horizontal {
    display: flex;
    gap: 10px;
    margin-top: 14px;
    padding: 4px 2px 6px;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
}
.page-product-custom-single-product .fancybox-thumbs-horizontal::-webkit-scrollbar { display: none; }

.page-product-custom-single-product .fancybox-thumbs-horizontal a {
    flex: 0 0 auto;
    width: 72px;
    height: 72px;
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 14px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.page-product-custom-single-product .fancybox-thumbs-horizontal a:hover {
    border-color: var(--pp-accent);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(219, 110, 33, 0.2);
}
.page-product-custom-single-product .fancybox-thumbs-horizontal img {
    background: transparent !important;
    width: 100%;
    height: 100%;
    object-fit: contain;
    max-height: none;
    max-width: none;
    border-radius: 0;
    display: block;
}

/* --- Карточка покупки --- */
.page-product-custom-single-product .page-product-summary {
    display: flex;
    flex-direction: column;
    padding: 32px;
    background: var(--pp-bg-card);
    backdrop-filter: blur(10px);
    border: 1px solid var(--pp-border);
    border-radius: var(--pp-radius-lg);
    box-shadow: var(--pp-shadow);
    color: var(--pp-text);
    box-sizing: border-box;
    min-height: 100%;
}
.page-product-custom-single-product .page-product-summary__inner {
    display: flex;
    flex-direction: column;
    gap: 18px;
    height: 100%;
}

/* Заголовок */
.page-product-custom-single-product .page-product-title {
    font-size: 30px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: var(--pp-text);
    margin: 0;
    padding: 0 0 18px;
    border-bottom: 1px solid var(--pp-border);
    position: relative;
}
.page-product-custom-single-product .page-product-title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 52px;
    height: 2px;
    background: var(--pp-accent);
    border-radius: 2px;
}

/* Цена — единая плашка */
.page-product-custom-single-product .page-product-price {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0;
    padding: 16px 20px;
    background: var(--pp-bg-soft);
    border: 1px solid var(--pp-border-soft);
    border-radius: var(--pp-radius-md);
}
.page-product-custom-single-product .page-product-price__title {
    font-weight: 300;
    font-size: 14px;
    color: var(--pp-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.page-product-custom-single-product .page-product-price__value {
    color: var(--pp-accent);
    font-size: 28px;
    font-weight: 600;
    line-height: 1;
}
.page-product-custom-single-product .page-product-price del {
    color: var(--pp-text-dim);
    font-size: 18px;
    margin-right: 8px;
    opacity: 0.65;
}
.page-product-custom-single-product .page-product-price ins {
    text-decoration: none;
    background: transparent;
}

/* Мета: размеры / наличие / артикул — flex чтобы одиночные элементы тянулись на всю ширину */
.page-product-custom-single-product .page-product-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0;
}
.page-product-custom-single-product .page-product-meta__item {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 12px 16px;
    background: var(--pp-bg-soft);
    border: 1px solid var(--pp-border-soft);
    border-radius: var(--pp-radius-sm);
    font-size: 14px;
    color: var(--pp-text);
    line-height: 1.4;
    flex: 1 1 calc(50% - 5px);
    min-width: 160px;
    box-sizing: border-box;
}
.page-product-custom-single-product .page-product-meta__item strong {
    color: var(--pp-text-dim);
    font-weight: 400;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.page-product-custom-single-product .page-product-meta__item .dimensions-text,
.page-product-custom-single-product .page-product-meta__item .stock-status,
.page-product-custom-single-product .page-product-meta__item > span {
    color: var(--pp-text);
    font-size: 14px;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 6px;
    word-break: break-word;
}
.page-product-custom-single-product .page-product-meta__item .stock-status.stock-instock { color: #7cc34a; }
.page-product-custom-single-product .page-product-meta__item .stock-status.stock-outofstock { color: #ff6b6b; }

/* Артикул — на всю ширину, с кнопкой копирования */
.page-product-custom-single-product .page-product-meta .page-product-sku {
    flex: 1 1 100%;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    margin: 0;
}
.page-product-custom-single-product .page-product-meta .page-product-sku strong {
    margin: 0;
}
.page-product-custom-single-product .page-product-meta .page-product-sku span {
    color: var(--pp-text);
    font-family: 'Fira Sans', monospace;
    font-weight: 500;
    margin-right: auto;
    display: inline-flex;
}
.page-product-custom-single-product .product-card__sku-copy {
    position: relative;
    width: 28px;
    height: 28px;
    background: transparent;
    border: none;
    border-radius: 8px;
    padding: 0;
    cursor: pointer;
    transition: background .2s ease, transform .15s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    outline: none;
    opacity: 0.7;
}
.page-product-custom-single-product .product-card__sku-copy:hover {
    background: rgba(255, 255, 255, 0.06);
    opacity: 1;
}
.page-product-custom-single-product .product-card__sku-copy:focus,
.page-product-custom-single-product .product-card__sku-copy:focus-visible { outline: none; box-shadow: none; }
.page-product-custom-single-product .product-card__sku-copy.copied { opacity: 1; }
.page-product-custom-single-product .product-card__sku-copy img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 16px;
    background: transparent !important;
    transition: opacity .25s ease, transform .25s ease;
}
.page-product-custom-single-product .product-card__sku-copy .copy-icon {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}
.page-product-custom-single-product .product-card__sku-copy .check-icon {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.6);
    pointer-events: none;
}
.page-product-custom-single-product .product-card__sku-copy.copied .copy-icon {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.6);
}
.page-product-custom-single-product .product-card__sku-copy.copied .check-icon {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}
/* Прячем индикатор "перейти в корзину", который WC инжектит после клика */
.page-product-custom-single-product .added_to_cart { display: none !important; }
.page-product-custom-single-product .page-product-summary form.cart .button:focus,
.page-product-custom-single-product .qty-btn:focus { outline: none; }

/* Краткое описание */
.page-product-custom-single-product .page-product-summary .woocommerce-product-details__short-description {
    margin: 0;
    padding: 14px 18px;
    background: var(--pp-bg-soft);
    border: 1px solid var(--pp-border-soft);
    border-left: 3px solid var(--pp-accent);
    border-radius: var(--pp-radius-sm);
    color: var(--pp-text-muted);
    font-size: 15px;
    line-height: 1.6;
}
.page-product-custom-single-product .page-product-summary .woocommerce-product-details__short-description p {
    margin: 0;
}

/* Блок количество + кнопка корзины */
.page-product-custom-single-product .page-product-summary form.cart {
    margin: 0;
    padding: 20px;
    background: var(--pp-bg-soft);
    border: 1px solid var(--pp-border-soft);
    border-radius: var(--pp-radius-md);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}
.page-product-custom-single-product .quantity-wrapper {
    margin: 0;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}
.page-product-custom-single-product .quantity-label {
    color: var(--pp-text-muted);
    font-weight: 400;
    font-size: 14px;
}
/* Переопределяем .custom-qty в контексте страницы — кнопки в ряд */
.page-product-custom-single-product .quantity.custom-qty.product-card-qty {
    flex-direction: row;
    align-items: center;
    background: var(--pp-bg-deep);
    border: 1px solid var(--pp-border);
    border-radius: 999px;
    padding: 4px;
    gap: 0;
    max-width: none;
    width: auto;
    overflow: hidden;
}
.page-product-custom-single-product .quantity.custom-qty .qty-btn {
    width: 36px;
    height: 36px;
    padding: 0;
    margin: 0;
    font-size: 20px;
    line-height: 1;
    color: var(--pp-text);
    background: transparent;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background .2s ease, transform .15s ease;
}
.page-product-custom-single-product .quantity.custom-qty .qty-btn:hover {
    background: rgba(219, 110, 33, 0.18);
    transform: none;
}
.page-product-custom-single-product .quantity.custom-qty .qty-btn:active { transform: scale(0.95); }
.page-product-custom-single-product .quantity.custom-qty input.qty {
    width: 50px;
    max-width: 50px;
    margin: 0;
    padding: 0;
    background: transparent;
    border: none;
    color: var(--pp-text);
    font-size: 16px;
    font-weight: 500;
    text-align: center;
    -moz-appearance: textfield;
}
.page-product-custom-single-product .quantity.custom-qty input.qty::-webkit-outer-spin-button,
.page-product-custom-single-product .quantity.custom-qty input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.page-product-custom-single-product .product-card__add-to-cart.product-page-btn {
    margin: 0 auto;
    width: 100%;
    max-width: 340px;
    display: block;
}
.page-product-custom-single-product .product-card__add-to-cart .button {
    display: block;
    width: 100%;
    text-align: center;
    background: linear-gradient(135deg, var(--pp-accent) 0%, var(--pp-accent-hover) 100%);
    color: #fff;
    padding: 16px 28px;
    border-radius: 999px;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    text-decoration: none;
    border: none;
    box-shadow: 0 6px 20px rgba(219, 110, 33, 0.28);
    transition: transform .15s ease, box-shadow .25s ease, filter .2s ease;
}
.page-product-custom-single-product .product-card__add-to-cart .button:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(219, 110, 33, 0.4);
    filter: brightness(1.05);
}
.page-product-custom-single-product .product-card__add-to-cart .button:active { transform: translateY(0); }

/* ===== ВАРИАТИВНЫЕ ТОВАРЫ ===== */
.page-product-custom-single-product .page-product-summary form.variations_form.cart {
    padding: 0;
    background: transparent;
    border: none;
    border-radius: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
}

/* Таблица атрибутов вариаций */
.page-product-custom-single-product table.variations {
    width: 100%;
    margin: 0;
    padding: 18px 20px;
    background: var(--pp-bg-soft);
    border: 1px solid var(--pp-border-soft);
    border-radius: var(--pp-radius-md);
    border-collapse: separate;
    border-spacing: 0;
}
.page-product-custom-single-product table.variations tbody {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}
.page-product-custom-single-product table.variations tr {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
    width: 100%;
}
.page-product-custom-single-product table.variations tr + tr {
    padding-top: 12px;
    border-top: 1px dashed var(--pp-border);
}
.page-product-custom-single-product table.variations th.label {
    flex: 0 0 auto;
    padding: 0;
    margin: 0;
    background: transparent;
    color: var(--pp-text-muted);
    font-weight: 500;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    min-width: 70px;
    text-align: left;
}
.page-product-custom-single-product table.variations th.label label {
    color: var(--pp-text-muted);
    font-weight: 500;
    margin: 0;
}
.page-product-custom-single-product table.variations td.value {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0;
    background: transparent;
    flex-wrap: wrap;
    min-width: 0;
}
.page-product-custom-single-product table.variations select {
    flex: 1 1 200px;
    min-width: 0;
    max-width: none;
    width: 100%;
    height: 44px;
    line-height: 1.2;
    box-sizing: border-box;
    padding: 0 38px 0 16px;
    background: var(--pp-bg-deep) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23db6e21' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 14px center;
    border: 1px solid var(--pp-border);
    border-radius: 14px;
    color: var(--pp-text);
    font-size: 14px;
    font-weight: 500;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
    transition: border-color .2s ease, background-color .2s ease;
    box-shadow: none;
}
.page-product-custom-single-product table.variations select:hover,
.page-product-custom-single-product table.variations select:focus {
    border-color: var(--pp-accent);
    outline: none;
}
.page-product-custom-single-product table.variations select option {
    background: #2a2a2a;
    color: #fff;
}
.page-product-custom-single-product .reset_variations {
    color: var(--pp-text-dim);
    font-size: 13px;
    text-decoration: none;
    border-bottom: 1px dashed var(--pp-text-dim);
    transition: color .2s ease, border-color .2s ease;
    padding-bottom: 1px;
    flex: 0 0 auto;
}
.page-product-custom-single-product .reset_variations:hover {
    color: var(--pp-accent);
    border-color: var(--pp-accent);
}

/* Обёртка выбранной вариации — миниатюра слева, цена справа, кнопка ниже */
.page-product-custom-single-product .single_variation_wrap {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-areas:
        "thumb info"
        "cart  cart";
    gap: 14px;
    align-items: stretch;
    width: 100%;
}
/* Когда миниатюра скрыта — info занимает всю ширину */
.page-product-custom-single-product .single_variation_wrap:not(:has(.variation-thumbnail.visible)) {
    grid-template-columns: 1fr;
    grid-template-areas:
        "info"
        "cart";
}

/* Миниатюра выбранной вариации — плашка слева от цены, картинка во весь блок */
.page-product-custom-single-product .variation-thumbnail {
    display: none;
    grid-area: thumb;
    margin: 0;
    padding: 0;
    background: #fff;
    border: none;
    border-radius: var(--pp-radius-sm);
    width: 86px;
    height: 86px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2);
    overflow: hidden;
    align-self: stretch;
    flex-shrink: 0;
}
.page-product-custom-single-product .variation-thumbnail.visible {
    display: block;
}
.page-product-custom-single-product .variation-thumbnail a {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}
.page-product-custom-single-product .variation-thumbnail img,
.page-product-custom-single-product .variation-thumbnail-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0;
    margin: 0;
    padding: 0;
    background: transparent !important;
    display: block;
}

/* Плашка с информацией о выбранной вариации */
.page-product-custom-single-product .single_variation {
    grid-area: info;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    padding: 14px 18px;
    background: var(--pp-bg-soft);
    border: 1px solid var(--pp-border-soft);
    border-radius: var(--pp-radius-md);
    margin: 0;
    box-sizing: border-box;
    min-height: 86px;
}
.page-product-custom-single-product .single_variation:empty {
    background: transparent;
    border: 1px dashed var(--pp-border);
    color: var(--pp-text-dim);
}
.page-product-custom-single-product .single_variation:empty::before {
    content: 'Выберите вариант, чтобы увидеть цену';
    font-size: 13px;
    color: var(--pp-text-dim);
    text-align: center;
    width: 100%;
}
.page-product-custom-single-product .woocommerce-variation-price {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0;
    font-size: 22px;
    font-weight: 600;
    color: var(--pp-accent);
    line-height: 1.2;
}
.page-product-custom-single-product .woocommerce-variation-price .price { color: var(--pp-accent); }
.page-product-custom-single-product .woocommerce-variation-price del {
    color: var(--pp-text-dim);
    font-size: 16px;
    opacity: 0.6;
    margin-right: 4px;
}
.page-product-custom-single-product .woocommerce-variation-price ins {
    background: transparent;
    text-decoration: none;
    color: var(--pp-accent);
}
.page-product-custom-single-product .woocommerce-variation-availability,
.page-product-custom-single-product .woocommerce-variation-description {
    color: var(--pp-text-muted);
    font-size: 14px;
    line-height: 1.5;
    margin: 0;
}
.page-product-custom-single-product .woocommerce-variation-availability p,
.page-product-custom-single-product .woocommerce-variation-description p { margin: 0; }

/* Кнопка корзины для вариативного товара */
.page-product-custom-single-product .woocommerce-variation-add-to-cart {
    grid-area: cart;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    margin: 0;
    padding: 18px 20px;
    background: var(--pp-bg-soft);
    border: 1px solid var(--pp-border-soft);
    border-radius: var(--pp-radius-md);
    box-sizing: border-box;
}
.page-product-custom-single-product .woocommerce-variation-add-to-cart .quantity-wrapper {
    width: 100%;
}
.page-product-custom-single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button {
    display: block;
    width: 100%;
    max-width: 320px;
    margin: 0 auto;
    text-align: center;
    background: linear-gradient(135deg, var(--pp-accent) 0%, var(--pp-accent-hover) 100%);
    color: #fff;
    padding: 14px 24px;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    text-decoration: none;
    border: none;
    cursor: pointer;
    line-height: 1.2;
    box-shadow: 0 6px 20px rgba(219, 110, 33, 0.28);
    transition: transform .15s ease, box-shadow .25s ease, filter .2s ease;
}
.page-product-custom-single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(219, 110, 33, 0.4);
    filter: brightness(1.05);
}
.page-product-custom-single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button:active {
    transform: translateY(0);
}
.page-product-custom-single-product .woocommerce-variation-add-to-cart.variations_button.woocommerce-variation-add-to-cart-disabled .single_add_to_cart_button {
    opacity: 0.5;
    pointer-events: none;
    box-shadow: none;
}
.page-product-custom-single-product .woocommerce-variation-add-to-cart .product-card__add-to-cart {
    width: 100%;
    display: flex;
    justify-content: center;
}

@media (max-width: 768px) {
    .page-product-custom-single-product table.variations {
        padding: 14px 16px;
    }
    .page-product-custom-single-product table.variations tr {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
    }
    .page-product-custom-single-product table.variations th.label {
        min-width: 0;
    }
    .page-product-custom-single-product table.variations td.value {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
    }
    .page-product-custom-single-product table.variations select {
        flex: 0 0 auto;
        height: 42px;
        line-height: 1.2;
        padding: 0 38px 0 14px;
        font-size: 14px;
        border-radius: 12px;
    }
    .page-product-custom-single-product .reset_variations {
        align-self: flex-end;
    }
    .page-product-custom-single-product .variation-thumbnail {
        width: 86px;
        height: auto;
        min-height: 100%;
        align-self: stretch;
    }
    .page-product-custom-single-product .woocommerce-variation-price {
        font-size: 20px;
    }
    .page-product-custom-single-product .woocommerce-variation-add-to-cart {
        padding: 16px;
    }
    .page-product-custom-single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button {
        max-width: 100%;
        padding: 13px 18px;
        font-size: 14px;
        letter-spacing: 0.02em;
    }
}

/* ===== НИЖНЯЯ ЗОНА: подробное описание + характеристики ===== */
.page-product-custom-single-product .page-product-details {
    display: grid;
    gap: var(--pp-gap);
    margin: 0 0 var(--pp-gap);
}
.page-product-custom-single-product .page-product-details--two {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    align-items: stretch;
}
.page-product-custom-single-product .page-product-details--one {
    grid-template-columns: 1fr;
}

.page-product-custom-single-product .page-product-details__card {
    background: var(--pp-bg-card);
    backdrop-filter: blur(10px);
    border: 1px solid var(--pp-border);
    border-radius: var(--pp-radius-lg);
    padding: 30px;
    box-shadow: var(--pp-shadow);
    color: var(--pp-text);
    margin: 0;
}
.page-product-custom-single-product .page-product-details__title {
    font-size: 22px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.005em;
    color: var(--pp-text);
    margin: 0 0 22px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--pp-border);
    position: relative;
}
.page-product-custom-single-product .page-product-details__title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 52px;
    height: 2px;
    background: var(--pp-accent);
    border-radius: 2px;
}

/* Описание — читаемая типографика */
.page-product-custom-single-product .page-product-description__body {
    color: #e8e8e8;
    font-weight: 400;
    line-height: 1.75;
    font-size: 16px;
    letter-spacing: 0.005em;
}
.page-product-custom-single-product .page-product-description__body p { margin: 0 0 16px; }
.page-product-custom-single-product .page-product-description__body p:last-child { margin-bottom: 0; }
.page-product-custom-single-product .page-product-description__body ul,
.page-product-custom-single-product .page-product-description__body ol { margin: 0 0 16px; padding-left: 22px; }
.page-product-custom-single-product .page-product-description__body li { margin: 6px 0; padding-left: 4px; }
.page-product-custom-single-product .page-product-description__body strong { color: #ffffff; font-weight: 600; }
.page-product-custom-single-product .page-product-description__body em { color: #d8d8d8; }
.page-product-custom-single-product .page-product-description__body a {
    color: var(--pp-accent);
    text-decoration: none;
    border-bottom: 1px solid rgba(219, 110, 33, 0.4);
    transition: color .2s ease, border-color .2s ease;
}
.page-product-custom-single-product .page-product-description__body a:hover {
    color: var(--pp-accent-hover);
    border-color: var(--pp-accent-hover);
}
.page-product-custom-single-product .page-product-description__body h3,
.page-product-custom-single-product .page-product-description__body h4 {
    color: #fff;
    font-size: 17px;
    font-weight: 600;
    margin: 22px 0 10px;
    line-height: 1.3;
}

/* Характеристики */
.page-product-custom-single-product .page-product-attributes ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.page-product-custom-single-product .page-product-attributes li {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    padding: 14px 0;
    border-bottom: 1px dashed var(--pp-border);
    font-size: 15px;
    line-height: 1.5;
    color: var(--pp-text);
    font-weight: 400;
    align-items: baseline;
}
.page-product-custom-single-product .page-product-attributes li:first-child { padding-top: 0; }
.page-product-custom-single-product .page-product-attributes li:last-child { border-bottom: none; padding-bottom: 0; }
.page-product-custom-single-product .page-product-attributes li strong {
    color: var(--pp-text-dim);
    font-weight: 400;
    flex: 0 0 42%;
    max-width: 42%;
    margin: 0;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.page-product-custom-single-product .page-product-attributes li span {
    color: var(--pp-text);
    flex: 1 1 50%;
    min-width: 0;
    font-weight: 500;
}

/* "Обратите внимание" */
.page-product-custom-single-product .price-notice {
    background: var(--pp-bg-soft);
    backdrop-filter: blur(10px);
    border: 1px solid var(--pp-border-soft);
    border-left: 3px solid var(--pp-accent);
    border-radius: var(--pp-radius-md);
    padding: 22px 26px;
    color: var(--pp-text-muted);
    font-size: 14px;
    line-height: 1.65;
    margin: 0 0 40px;
}
.page-product-custom-single-product .price-notice strong {
    color: var(--pp-text);
    font-weight: 500;
    display: inline-block;
    margin-bottom: 8px;
    font-size: 15px;
}
.page-product-custom-single-product .price-notice p {
    margin: 6px 0;
}
.page-product-custom-single-product .price-notice p:last-child {
    margin-bottom: 0;
}

/* Заголовок «Рекомендуем также» / «Похожие» */
.page-product-custom-single-product + .related.products h2,
.up-sells.upsells h2,
.related.products h2 {
    font-size: 24px;
    font-weight: 500;
    color: var(--pp-text);
    margin: 0 0 24px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--pp-border);
    position: relative;
}
.page-product-custom-single-product + .related.products h2::after,
.up-sells.upsells h2::after,
.related.products h2::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 56px;
    height: 2px;
    background: var(--pp-accent);
    border-radius: 2px;
}

/* ===== АДАПТИВНОСТЬ ===== */
@media (max-width: 1100px) {
    .page-product-custom-single-product {
        --pp-gap: 22px;
    }
    .page-product-custom-single-product .page-product-main {
        grid-template-columns: 1fr 1fr;
    }
    .page-product-custom-single-product .page-product-details--two {
        grid-template-columns: 1fr;
    }
    .page-product-custom-single-product .page-product-image .page-product-card__image-link {
        height: clamp(320px, 44vw, 460px);
    }
}

@media (max-width: 768px) {
    .page-product-custom-single-product {
        margin: 20px 0 40px;
        --pp-radius-lg: 26px;
        --pp-radius-md: 20px;
        --pp-gap: 18px;
    }
    .page-product-custom-single-product .page-product-main {
        grid-template-columns: 1fr;
    }
    .page-product-custom-single-product .page-product-image {
        padding: 12px;
    }
    .page-product-custom-single-product .page-product-image .page-product-card__image-link {
        height: clamp(280px, 70vw, 420px);
    }
    .page-product-custom-single-product .page-product-summary {
        padding: 24px 20px;
        min-height: auto;
    }
    .page-product-custom-single-product .page-product-title {
        font-size: 22px;
    }
    .page-product-custom-single-product .page-product-price__value {
        font-size: 24px;
    }
    .page-product-custom-single-product .page-product-meta__item {
        flex: 1 1 100%;
    }
    .page-product-custom-single-product .page-product-details__card {
        padding: 24px 20px;
    }
    .page-product-custom-single-product .page-product-details__title {
        font-size: 20px;
    }
    .page-product-custom-single-product .page-product-description__body {
        font-size: 15px;
    }
    .page-product-custom-single-product .page-product-attributes li strong {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .page-product-custom-single-product .page-product-attributes li span {
        flex: 0 0 100%;
    }
    .page-product-custom-single-product .fancybox-thumbs-horizontal a {
        width: 60px;
        height: 60px;
    }
}

@media (max-width: 480px) {
    .page-product-custom-single-product .page-product-main {
        gap: 14px;
    }
    .page-product-custom-single-product .page-product-summary {
        padding: 20px 16px;
    }
    .page-product-custom-single-product .page-product-title {
        font-size: 20px;
    }
    .page-product-custom-single-product .page-product-price {
        padding: 14px 16px;
        gap: 8px;
    }
    .page-product-custom-single-product .page-product-price__value {
        font-size: 22px;
    }
    .page-product-custom-single-product .page-product-meta {
        grid-template-columns: 1fr;
    }
    .page-product-custom-single-product .page-product-summary form.cart {
        padding: 14px;
    }
    .page-product-custom-single-product .product-card__add-to-cart.product-page-btn {
        max-width: 100%;
    }
    .page-product-custom-single-product .product-card__add-to-cart .button {
        padding: 13px 18px;
        font-size: 14px;
        letter-spacing: 0.02em;
    }
    .page-product-custom-single-product .page-product-details__card {
        padding: 20px 16px;
    }
    .page-product-custom-single-product .price-notice {
        padding: 18px 18px;
    }
}

/* ============================================================== */
/* ULTRA-SMALL SCREENS (≤ 370px) — общая адаптация под 320–370px   */
/* Только сжатие / перестроение существующих блоков, без правок    */
/* логики и компонентов выше                                       */
/* ============================================================== */
@media (max-width: 370px) {

    /* ===== Жёсткая защита от горизонтального выпирания ===== */
    html, body {
        overflow-x: hidden !important;
        max-width: 100vw !important;
        width: 100% !important;
    }
    /* Любой элемент не шире вьюпорта; все паддинги/бордеры учитываются в ширине */
    *, *::before, *::after { box-sizing: border-box !important; }
    /* Картинки, видео, iframe — не вылазят */
    img, svg, video, iframe, embed, object, canvas, picture {
        max-width: 100% !important;
    }
    /* Таблицы — горизонтальный скролл внутри, не выпирают наружу */
    table {
        max-width: 100% !important;
        table-layout: auto;
        word-break: break-word;
    }
    /* Pre / code — переносим */
    pre, code {
        white-space: pre-wrap !important;
        word-wrap: break-word !important;
        overflow-wrap: anywhere !important;
        max-width: 100% !important;
    }
    /* Длинные слова и URL */
    p, span, a, h1, h2, h3, h4, h5, h6, li, td, th, label, div {
        overflow-wrap: anywhere;
        word-break: break-word;
    }
    /* Flex/grid дети — отключаем минимальную «контентную» ширину, чтобы могли ужиматься */
    .header__wrap, .header__wrap *,
    .header-sub, .header-sub *,
    .footer-container, .footer-container *,
    .hero-section, .hero-section *,
    .homepage, .homepage *,
    .woocommerce, .woocommerce *,
    .single-product-container, .single-product-container *,
    .checkout-page-container, .checkout-page-container * {
        min-width: 0 !important;
    }
    /* Контейнеры верхнего уровня — никаких отрицательных margin */
    .container,
    .container__header,
    .footer-container,
    .homepage-container,
    .archive-projects-container,
    .single-product-container,
    .woocommerce-cart-container,
    .woocommerce-checkout-container,
    .checkout-page-container {
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
    }
    /* Слайдеры/карусели с потенциально широким треком */
    .hero-slider,
    .swiper,
    .swiper-container,
    .slick-slider,
    .slick-list {
        max-width: 100% !important;
        overflow: hidden !important;
    }
    /* Скроллящаяся внутри полоса миниатюр товара — не должна растягивать родителя */
    .fancybox-thumbs-horizontal {
        max-width: 100% !important;
        overflow-x: auto !important;
    }
    /* Длинные select-опции */
    select, .select2-container { max-width: 100% !important; }

    /* Общее */
    html, body { font-size: 13px; }
    .container,
    .container__header,
    .footer-container,
    .homepage-container,
    .archive-projects-container,
    .single-product-container,
    .woocommerce-cart-container,
    .woocommerce-checkout-container {
        padding-left: 12px !important;
        padding-right: 12px !important;
        box-sizing: border-box;
    }
    h1 { font-size: 20px !important; line-height: 1.25; }
    h2 { font-size: 17px !important; line-height: 1.3; }
    h3 { font-size: 15px !important; line-height: 1.35; }

    /* Шапка */
    .header__wrap { gap: 6px; padding: 6px 0; }
    .logo img { max-width: 110px; height: auto; }
    .header-phone,
    .header-adress { font-size: 11px; }
    .contacts-header { gap: 2px; }
    .header__burger { transform: scale(0.85); transform-origin: right center; }
    .header__list li a { font-size: 18px; }
    .cart-text { display: none !important; }
    .cart-icon { margin: 0 6px !important; }
    .cart-icon img { width: 22px; height: 22px; }
    /* Счётчик корзины — бейдж в правом верхнем углу иконки */
    .cart-icon-wrapper { position: relative !important; }
    .header-cart {
        position: absolute !important;
        top: -6px !important;
        left: 14px !important;
        right: auto !important;
    }
    .header-cart .count {
        font-size: 10px !important;
        padding: 2px 5px !important;
        min-width: 16px !important;
        line-height: 1 !important;
    }
    .theme-wrap { transform: scale(0.85); transform-origin: right center; }
    .theme-text {
        white-space: nowrap !important;
        max-width: none !important;
        width: auto !important;
        padding: 2px 4px !important;
    }

    /* Виджет Яндекс-отзывов: возвращаем трюк со scale */
    .yandex-reviews-scaler {
        overflow: hidden !important;
    }
    .yandex-reviews-scaler iframe {
        width: 200% !important;
        max-width: none !important;
        min-width: 200% !important;
        height: 200% !important;
        transform: scale(0.5) !important;
        transform-origin: 0 0 !important;
        display: block;
    }
    .yandex-reviews-widget {
        max-width: 100% !important;
        overflow: hidden !important;
    }

    /* Поиск — фиксируем разумную ширину, чтобы корзина не залезала */
    .header-sub {
        gap: 6px !important;
        padding: 6px 0 !important;
        flex-wrap: nowrap !important;
    }
    .search-bar {
        width: auto !important;
        flex: 1 1 0 !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
    .search-bar input,
    .search-bar input[type="search"] {
        font-size: 12px !important;
        padding: 6px 8px !important;
        min-width: 0 !important;
        width: 100% !important;
    }
    .search-bar button { padding: 6px 8px !important; }
    .search-bar button svg,
    .search-bar button img { width: 14px; height: 14px; }
    .dgwt-wcas-search-wrapp,
    .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp { width: 100% !important; min-width: 0 !important; }
    .dgwt-wcas-style-pirx.dgwt-wcas-style-pirx-compact .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input {
        font-size: 12px !important;
        padding: 6px 36px 6px 12px !important;
        height: 32px !important;
        line-height: 1 !important;
    }
    /* Кнопка-лупа: позиционируется по правому краю строго по центру */
    .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit {
        position: absolute !important;
        top: 50% !important;
        left: auto !important;
        right: 6px !important;
        transform: translateY(-50%) !important;
        width: 24px !important;
        height: 24px !important;
        min-width: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
    }
    .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit svg {
        width: 14px !important;
        height: 14px !important;
    }

    /* Hero / главная */
    .hero-section { padding: 16px 0; }
    .hero-slider { border-radius: 18px !important; }
    .seo-block-title { font-size: 18px !important; }
    .seo-grid { gap: 10px !important; }
    .seo-item { padding: 14px 14px !important; border-radius: 18px; }
    .seo-item-title { font-size: 14px !important; margin-bottom: 6px !important; }
    .seo-item p { font-size: 12px !important; line-height: 1.5; }
    .section-title { font-size: 18px !important; }
    .about-company {
        padding: 18px 14px !important;
        border-radius: 20px 20px 0 0 !important;
        margin: 20px 0 0 !important;
    }
    .about-content { padding: 16px !important; border-radius: 20px; }
    .about-text {
        font-size: 13px !important;
        line-height: 1.55 !important;
        max-width: 100% !important;
        text-align: left !important;
    }
    .benefits-section { margin: 24px 0 !important; }
    .benefits-grid { gap: 12px !important; grid-template-columns: 1fr !important; }
    .benefit-card { padding: 18px !important; border-radius: 20px !important; }
    .benefit-icon { width: 44px !important; height: 44px !important; font-size: 20px !important; margin-bottom: 10px !important; }
    .archive-projects-title { font-size: 19px !important; }
    .archive-projects-grid { gap: 12px !important; grid-template-columns: 1fr !important; }
    /* НЕ ставим padding — иначе абсолютно-позиционированное фото внутри карточки не покрывает углы */
    .home-completed-projects .archive-project-card,
    .archive-project-card {
        padding: 0 !important;
        border-radius: 20px !important;
        overflow: hidden !important;
    }
    .home-completed-projects .archive-project-image { padding-top: 65% !important; }
    .home-completed-projects .archive-project-image img { border-radius: 0 !important; }
    .home-completed-projects .archive-project-content { padding: 14px !important; }
    .home-completed-projects .archive-project-title { font-size: 15px !important; }
    .home-completed-projects .archive-project-excerpt { font-size: 12px !important; line-height: 1.5 !important; }
    .home-completed-projects .archive-project-meta { font-size: 11px !important; flex-wrap: wrap; gap: 6px !important; }

    /* Кнопки общие */
    .btn,
    .button,
    .wc-backward,
    .checkout-button,
    .single_add_to_cart_button,
    .product-card__add-to-cart .button {
        font-size: 13px !important;
        padding: 11px 16px !important;
        border-radius: 22px !important;
    }

    /* Каталог / карточки товаров */
    ul.products,
    .products {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }
    .product-card {
        padding: 12px !important;
        border-radius: 18px !important;
    }
    .product-card .product-card__image-link img,
    .product-card img { border-radius: 6px !important; }
    .product-card__title {
        font-size: 13px !important;
        line-height: 1.35 !important;
    }
    .product-card__price,
    .product-card .price { font-size: 14px !important; }
    .product-card__sku,
    .product-card .dimensions-list { font-size: 11px !important; }
    .product-card-qty input.qty { width: 36px !important; font-size: 13px !important; }
    .qty-btn { font-size: 18px !important; padding: 6px !important; }

    /* Хлебные крошки */
    .woocommerce-breadcrumb { font-size: 11px !important; }

    /* Сайдбар / фильтры */
    .sidebar-title { font-size: 16px !important; }
    .widget,
    .sidebar .widget { padding: 12px !important; border-radius: 16px !important; }

    /* ===== Страница КОРЗИНЫ ===== */
    .woocommerce-cart-container,
    .woocommerce-cart .woocommerce { padding: 0 8px !important; }
    .woocommerce-cart-form,
    .cart_totals {
        padding: 12px !important;
        border-radius: 16px !important;
        box-sizing: border-box;
    }
    /* Таблица товаров — превращаем в карточки */
    .woocommerce-cart-form table.shop_table,
    .woocommerce-cart-form table.shop_table thead,
    .woocommerce-cart-form table.shop_table tbody,
    .woocommerce-cart-form table.shop_table tr,
    .woocommerce-cart-form table.shop_table td {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box;
    }
    .woocommerce-cart-form table.shop_table thead { display: none !important; }
    .woocommerce-cart-form table.shop_table tr.cart_item {
        position: relative;
        margin: 0 0 12px !important;
        padding: 12px 12px 12px 88px !important;
        background: rgba(58,58,58,0.55);
        border: 1px solid rgba(255,255,255,0.06);
        border-radius: 14px !important;
        min-height: 92px;
    }
    .woocommerce-cart-form table.shop_table tr.cart_item td {
        padding: 2px 0 !important;
        border: none !important;
        text-align: left !important;
        font-size: 13px !important;
    }
    .woocommerce-cart-form table.shop_table tr.cart_item td.product-thumbnail {
        position: absolute;
        top: 12px;
        left: 12px;
        width: 64px !important;
        height: 64px !important;
        padding: 0 !important;
    }
    .woocommerce-cart-form table.shop_table tr.cart_item td.product-thumbnail img {
        width: 64px !important;
        height: 64px !important;
        object-fit: cover;
        border-radius: 10px !important;
        margin: 0 !important;
    }
    .woocommerce-cart-form table.shop_table tr.cart_item td.product-remove {
        position: absolute;
        top: 8px;
        right: 8px;
        width: auto !important;
        padding: 0 !important;
    }
    .woocommerce-cart-form table.shop_table tr.cart_item td.product-remove a {
        font-size: 14px !important;
        opacity: 0.7;
    }
    .woocommerce-cart-form table.shop_table tr.cart_item td.product-name {
        font-size: 13px !important;
        font-weight: 500;
        padding-right: 24px !important;
        line-height: 1.3 !important;
    }
    .woocommerce-cart-form table.shop_table tr.cart_item td.product-name a { color: #fff; }
    .woocommerce-cart-form table.shop_table tr.cart_item td.product-price::before { content: 'Цена: '; color: #c4c4c4; font-size: 12px; }
    .woocommerce-cart-form table.shop_table tr.cart_item td.product-subtotal::before { content: 'Итого: '; color: #c4c4c4; font-size: 12px; }
    .woocommerce-cart-form table.shop_table tr.cart_item td.product-subtotal { font-weight: 600; color: #DB6E21 !important; }
    .woocommerce-cart-form table.shop_table tr.cart_item td.product-quantity {
        padding: 6px 0 0 !important;
    }
    .woocommerce-cart-form table.shop_table tr.cart_item .custom-qty {
        display: inline-flex !important;
        flex-direction: row !important;
        align-items: center;
        gap: 0 !important;
        background: #1f1f1f;
        border: 1px solid rgba(255,255,255,0.08);
        border-radius: 999px;
        padding: 2px 4px;
        max-width: none !important;
    }
    .woocommerce-cart-form table.shop_table tr.cart_item .custom-qty .qty-btn {
        width: 28px !important;
        height: 28px !important;
        padding: 0 !important;
        margin: 0 !important;
        font-size: 16px !important;
        color: #fff;
        background: transparent;
        border-radius: 999px;
    }
    .woocommerce-cart-form table.shop_table tr.cart_item .custom-qty input.qty {
        width: 36px !important;
        max-width: 36px !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: none !important;
        color: #fff !important;
        font-size: 13px !important;
        text-align: center !important;
    }

    /* Кнопки действий корзины */
    .cart-actions {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
        margin-top: 10px !important;
    }
    .coupon {
        max-width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
    }
    .coupon input,
    .coupon .cart-button { width: 100% !important; box-sizing: border-box; font-size: 13px !important; padding: 10px 14px !important; border-radius: 22px !important; }
    .cart-buttons {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
    }
    .cart-button {
        width: 100% !important;
        font-size: 13px !important;
        padding: 10px 14px !important;
        border-radius: 22px !important;
        box-sizing: border-box;
    }

    /* Итоги корзины */
    .cart-collaterals,
    .cart_totals { width: 100% !important; max-width: 100% !important; }
    .cart-collaterals h2,
    .cart_totals h2 { font-size: 16px !important; margin-bottom: 10px !important; }
    .cart_totals table { width: 100% !important; }
    .cart_totals table th,
    .cart_totals table td {
        font-size: 13px !important;
        padding: 6px 4px !important;
    }
    .wc-proceed-to-checkout .checkout-button {
        width: 100% !important;
        font-size: 14px !important;
        padding: 12px 16px !important;
        border-radius: 24px !important;
    }
    /* Когда корзина пуста */
    .cart-empty,
    .woocommerce-cart .cart-empty { font-size: 14px !important; padding: 16px !important; text-align: center; }
    .return-to-shop .wc-backward { width: 100% !important; font-size: 13px !important; padding: 10px 14px !important; }

    /* ===== Страница ОФОРМЛЕНИЯ ЗАКАЗА ===== */
    .checkout-page-container {
        padding: 12px 8px !important;
        max-width: 100% !important;
    }
    .checkout-columns {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }
    .checkout-section {
        padding: 14px 12px !important;
        border-radius: 18px !important;
        margin-bottom: 12px !important;
        box-sizing: border-box;
    }
    .checkout-section h3,
    #order_review_heading {
        font-size: 16px !important;
        margin: 0 0 12px !important;
        padding-bottom: 10px !important;
        line-height: 1.3 !important;
    }
    .checkout-section p { font-size: 13px !important; margin: 6px 0 !important; }
    .woocommerce-additional-fields { margin-top: 16px !important; }

    /* Поля формы */
    .woocommerce form .form-row,
    .woocommerce-checkout .form-row {
        padding: 0 !important;
        margin: 0 0 12px !important;
        width: 100% !important;
        float: none !important;
        box-sizing: border-box;
    }
    .woocommerce-checkout .form-row-first,
    .woocommerce-checkout .form-row-last {
        width: 100% !important;
    }
    .woocommerce form .form-row label,
    .woocommerce-checkout label {
        font-size: 12px !important;
        margin-bottom: 5px !important;
        display: block !important;
    }
    .woocommerce form .form-row input.input-text,
    .woocommerce form .form-row textarea,
    .woocommerce form .form-row select,
    .woocommerce-checkout input[type="text"],
    .woocommerce-checkout input[type="email"],
    .woocommerce-checkout input[type="tel"],
    .woocommerce-checkout input[type="number"],
    .woocommerce-checkout input[type="password"],
    .woocommerce-checkout textarea,
    .woocommerce-checkout select {
        width: 100% !important;
        font-size: 13px !important;
        padding: 10px 14px !important;
        border-radius: 20px !important;
        box-sizing: border-box;
    }
    .woocommerce form .form-row textarea,
    .woocommerce-checkout textarea {
        min-height: 70px !important;
        border-radius: 16px !important;
    }
    /* select2 (часто используется WC) */
    .select2-container .select2-selection--single { height: 38px !important; border-radius: 20px !important; }
    .select2-container--default .select2-selection--single .select2-selection__rendered {
        line-height: 38px !important;
        padding: 0 14px !important;
        font-size: 13px !important;
    }
    .select2-container--default .select2-selection--single .select2-selection__arrow { height: 38px !important; }

    /* Чекбоксы / радио */
    .woocommerce-form__label-for-checkbox,
    .woocommerce-checkout .checkbox-label,
    .woocommerce-checkout label.checkbox {
        font-size: 12px !important;
        display: flex !important;
        align-items: flex-start !important;
        gap: 8px !important;
        line-height: 1.4 !important;
    }
    .woocommerce form .form-row .input-checkbox,
    .woocommerce form .form-row .input-radio {
        margin: 2px 0 0 !important;
        transform: scale(1.05);
    }

    /* Таблица заказа */
    .woocommerce-checkout-review-order-table { font-size: 12px !important; }
    .woocommerce-checkout-review-order-table th,
    .woocommerce-checkout-review-order-table td {
        padding: 8px 4px !important;
        font-size: 12px !important;
        line-height: 1.4 !important;
        word-break: break-word;
    }
    .woocommerce-checkout-review-order-table .product-name {
        max-width: 60% !important;
        font-weight: 500;
    }
    .woocommerce-checkout-review-order-table .product-name .product-quantity {
        font-size: 11px !important;
        color: #c4c4c4;
        white-space: nowrap;
    }
    .woocommerce-checkout-review-order-table tfoot th,
    .woocommerce-checkout-review-order-table tfoot td { font-size: 13px !important; padding: 8px 4px !important; }
    .woocommerce-checkout-review-order-table .order-total td { font-size: 16px !important; }

    /* Способы доставки и оплаты */
    #shipping_method,
    .woocommerce-checkout-payment ul.payment_methods {
        padding: 0 !important;
        list-style: none !important;
    }
    #shipping_method li,
    .woocommerce-checkout-payment ul.payment_methods li {
        padding: 10px 12px !important;
        margin: 0 0 8px !important;
        background: rgba(58,58,58,0.55) !important;
        border-radius: 14px !important;
        font-size: 13px !important;
        line-height: 1.4 !important;
        list-style: none !important;
    }
    #shipping_method li label,
    .woocommerce-checkout-payment ul.payment_methods li label {
        font-size: 13px !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        margin: 0 !important;
    }
    .woocommerce-checkout-payment .payment_box {
        font-size: 12px !important;
        padding: 10px 12px !important;
        margin: 8px 0 0 !important;
        border-radius: 10px !important;
    }
    .woocommerce-checkout-payment img { max-height: 24px !important; width: auto !important; }

    /* Купон / промокод */
    .woocommerce-form-coupon { padding: 10px !important; border-radius: 14px !important; margin-bottom: 10px !important; }
    .woocommerce-form-coupon p { font-size: 12px !important; }
    .woocommerce-form-coupon .form-row { display: flex !important; flex-direction: column !important; gap: 8px !important; }
    .woocommerce-form-coupon input,
    .woocommerce-form-coupon button {
        width: 100% !important;
        font-size: 13px !important;
        padding: 10px 14px !important;
        border-radius: 22px !important;
        box-sizing: border-box;
    }

    /* Уведомления */
    .woocommerce-error,
    .woocommerce-info,
    .woocommerce-message,
    .woocommerce-NoticeGroup {
        padding: 10px 12px !important;
        font-size: 12px !important;
        border-radius: 14px !important;
        margin-bottom: 10px !important;
    }

    /* Кнопка «Оформить заказ» */
    #place_order,
    .woocommerce #place_order {
        width: 100% !important;
        font-size: 14px !important;
        padding: 13px !important;
        border-radius: 24px !important;
        margin-top: 4px !important;
    }

    /* Условия — текст согласия с обработкой данных */
    .woocommerce-terms-and-conditions-wrapper { font-size: 12px !important; line-height: 1.45 !important; }

    /* После заказа */
    .woocommerce-order { padding: 12px 8px !important; }
    .woocommerce-order h2,
    .woocommerce-order-details h2,
    .woocommerce-customer-details h2 { font-size: 16px !important; }
    .woocommerce-order p,
    .woocommerce-order address { font-size: 13px !important; line-height: 1.5 !important; }
    .woocommerce-order ul.woocommerce-order-overview {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        padding: 0 !important;
    }
    .woocommerce-order ul.woocommerce-order-overview li {
        font-size: 13px !important;
        padding: 10px 12px !important;
        background: rgba(58,58,58,0.55);
        border-radius: 12px !important;
        list-style: none !important;
    }

    /* Страница товара (поверх предыдущих 480px правил) */
    .single-product-container { padding: 8px !important; }
    .page-product-custom-single-product { margin: 14px 0 28px; }
    .page-product-custom-single-product .page-product-image { padding: 10px !important; }
    .page-product-custom-single-product .page-product-image .page-product-card__image-link {
        height: clamp(240px, 78vw, 360px) !important;
    }
    .page-product-custom-single-product .page-product-summary { padding: 16px 14px !important; border-radius: 22px !important; }
    .page-product-custom-single-product .page-product-title { font-size: 18px !important; }
    .page-product-custom-single-product .page-product-price { padding: 12px 14px !important; }
    .page-product-custom-single-product .page-product-price__value { font-size: 19px !important; }
    .page-product-custom-single-product .page-product-meta__item { padding: 10px 12px !important; font-size: 13px !important; }
    .page-product-custom-single-product .page-product-summary form.cart { padding: 12px !important; gap: 12px !important; }
    .page-product-custom-single-product .product-card__add-to-cart.product-page-btn { max-width: 100% !important; }
    .page-product-custom-single-product .product-card__add-to-cart .button {
        padding: 12px 16px !important;
        font-size: 13px !important;
        letter-spacing: 0.02em !important;
    }
    .page-product-custom-single-product .page-product-details__card { padding: 16px 14px !important; }
    .page-product-custom-single-product .page-product-details__title { font-size: 17px !important; }
    .page-product-custom-single-product .page-product-description__body { font-size: 14px !important; }
    .page-product-custom-single-product .page-product-attributes li { font-size: 13px !important; padding: 10px 0 !important; }
    .page-product-custom-single-product .price-notice { padding: 14px 16px !important; font-size: 12px !important; }
    .page-product-custom-single-product .fancybox-thumbs-horizontal a { width: 52px !important; height: 52px !important; }
    .page-product-custom-single-product .variation-thumbnail { width: 64px !important; }
    .page-product-custom-single-product table.variations { padding: 12px !important; }
    .page-product-custom-single-product table.variations select {
        height: 40px !important;
        font-size: 13px !important;
        padding: 0 34px 0 12px !important;
    }
    .page-product-custom-single-product .woocommerce-variation-price { font-size: 18px !important; }
    .page-product-custom-single-product .woocommerce-variation-add-to-cart { padding: 12px !important; }
    .page-product-custom-single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button {
        padding: 12px 16px !important;
        font-size: 13px !important;
    }

    /* Похожие/Рекомендуем */
    .related.products h2,
    .up-sells.upsells h2 { font-size: 18px !important; }

    /* Футер */
    .footer-container { padding: 18px 12px !important; }
    .footer-main { gap: 10px !important; }
    .footer-logo img { max-width: 110px; height: auto; }
    .footer-social { gap: 8px !important; }
    .footer-social .social-link { width: 32px; height: 32px; }
    .footer-links {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }
    .links-title { font-size: 14px !important; }
    .footer-link { font-size: 12px !important; }

    /* Cookie уведомление */
    #cookieNotice {
        padding: 10px 12px !important;
        font-size: 11px !important;
        flex-direction: column !important;
        gap: 8px !important;
        text-align: center;
        border-radius: 14px !important;
    }
    #cookieNotice button {
        font-size: 12px !important;
        padding: 8px 14px !important;
        width: 100%;
    }

    /* Страницы контента (about / contacts / delivery / montazh) */
    .page-about-content,
    .page-contact-content,
    .delivery-content,
    .montazh-content,
    .zemelnie-raboty {
        padding: 14px !important;
        border-radius: 18px !important;
        font-size: 13px !important;
    }

    /* WC уведомления */
    .woocommerce-message,
    .woocommerce-error,
    .woocommerce-info {
        font-size: 12px !important;
        padding: 10px 12px !important;
    }

    /* Поиск (AJAX search plugin) */
    .dgwt-wcas-search-input { font-size: 13px !important; }
    .dgwt-wcas-suggestion { font-size: 12px !important; }

    /* Fancybox lightbox внутренние кнопки */
    .fancybox-button { transform: scale(0.85); transform-origin: top right; }
}

/* ========== Виджет быстрой связи: защита от инверсии темы ========== */
/* .cw сам контр-инвертируется (двойная инверсия = оригинал),
   а его потомкам явно сбрасываем filter чтобы JS не навешивал
   третью инверсию на внутренние элементы с оранжевым фоном */
.light-mode-invert .cw {
  filter: invert(1) hue-rotate(180deg) !important;
}
.light-mode-invert .cw * {
  filter: none !important;
}
/* В светлой теме box-shadow убит глобальным !important поэтому
   делаем пульс через ::before с scale — его ничто не блокирует */
.light-mode-invert .cw__toggle {
  animation: none !important;
  overflow: visible !important;
}
.light-mode-invert .cw__toggle::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: rgba(219, 110, 33, 0.55);
  animation: cwBreathLight 2.4s ease-out infinite;
  z-index: -1;
  pointer-events: none;
}
.light-mode-invert .cw.is-open .cw__toggle::before {
  animation: none !important;
}
@keyframes cwBreathLight {
  0%   { transform: scale(1);   opacity: 0;    }
  20%  { transform: scale(1);   opacity: 0.55; }
  100% { transform: scale(1.7); opacity: 0;    }
}

/* ========== Виджет быстрой связи ========== */
.cw {
  position: fixed;
  bottom: 28px;
  right: 28px;
  z-index: 9990;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

/* Главная кнопка */
.cw__toggle {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  border: none;
  background: #DB6E21;
  color: #fff;
  font-size: 22px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 18px rgba(219,110,33,0.45);
  animation: cwBreathe 2.4s ease-out infinite;
  transition: background 0.2s;
  flex-shrink: 0;
  position: relative;
  z-index: 2;
}
.cw__toggle:hover { background: #c25e18; animation: none; }

@keyframes cwBreathe {
  0%   { box-shadow: 0 4px 18px rgba(219,110,33,0.45), 0 0 0 0    rgba(219,110,33,0.6); }
  100% { box-shadow: 0 4px 18px rgba(219,110,33,0.45), 0 0 0 16px rgba(219,110,33,0);   }
}

/* Иконки внутри кнопки */
.cw__toggle .cw__icon-close { display: none !important; }
.cw__toggle .cw__icon-phone { display: block !important; }
.cw.is-open .cw__toggle .cw__icon-phone { display: none !important; }
.cw.is-open .cw__toggle .cw__icon-close { display: block !important; }
.cw.is-open .cw__toggle     { animation: none; background: #555; }

/* Меню пунктов */
.cw__menu {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  pointer-events: none;
}

/* Каждый пункт */
.cw__item {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 22px;
  text-decoration: none;
  box-shadow: 0 3px 12px rgba(0,0,0,0.35);
  transition: transform 0.15s, box-shadow 0.15s;
  position: relative;
  opacity: 0;
  transform: translateY(20px) scale(0.7);
  pointer-events: none;
  flex-shrink: 0;
}
.cw__item:hover {
  transform: translateY(0) scale(1.12) !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.45);
}

/* Цвета мессенджеров */
.cw__item--call { background: #DB6E21; }
.cw__item--wa   { background: #25D366; }
.cw__item--tg   { background: #0088cc; }
.cw__item--max  { background: linear-gradient(135deg, #00a0ff, #8a2be2); }

/* Иконка Max (SVG) */
.cw__max-icon {
  width: 22px;
  height: 22px;
  filter: brightness(10);
  pointer-events: none;
}

/* Подпись при наведении */
.cw__label {
  position: absolute;
  right: calc(100% + 10px);
  top: 50%;
  transform: translateY(-50%);
  background: rgba(30,30,30,0.92);
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  padding: 5px 11px;
  border-radius: 20px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s;
}
.cw__item:hover .cw__label { opacity: 1; }

/* Анимация появления пунктов */
.cw.is-open .cw__menu { pointer-events: auto; }
.cw.is-open .cw__item {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
  transition: opacity 0.25s, transform 0.25s;
}
.cw.is-open .cw__item:nth-child(1) { transition-delay: 0.12s; }
.cw.is-open .cw__item:nth-child(2) { transition-delay: 0.08s; }
.cw.is-open .cw__item:nth-child(3) { transition-delay: 0.04s; }
.cw.is-open .cw__item:nth-child(4) { transition-delay: 0s;    }

/* Закрытие — обратный порядок */
.cw__item:nth-child(1) { transition-delay: 0s; }
.cw__item:nth-child(2) { transition-delay: 0.03s; }
.cw__item:nth-child(3) { transition-delay: 0.06s; }
.cw__item:nth-child(4) { transition-delay: 0.09s; }

@media (max-width: 480px) {
  .cw { bottom: 18px; right: 16px; }
  .cw__toggle { width: 54px; height: 54px; font-size: 20px; }
  .cw__item   { width: 46px; height: 46px; font-size: 18px; }
  .cw__label  { display: none; }
}

/* ========== Fancybox — скругления в стиле сайта ========== */
/* Контейнер с изображением */
.fancybox-content {
  border-radius: 20px !important;
  overflow: hidden !important;
}

/* Кнопки тулбара — круглые (они 44×44, квадратные) */
.fancybox-toolbar .fancybox-button {
  border-radius: 50% !important;
}

/* Стрелки навигации: убираем фон с внешнего элемента,
   переносим на внутренний div — он квадратный, круглится нормально */
.fancybox-navigation .fancybox-button {
  background: transparent !important;
  border-radius: 0 !important;
}
.fancybox-navigation .fancybox-button div {
  background: rgba(30, 30, 30, 0.6);
  border-radius: 50%;
  transition: background 0.2s;
}
.fancybox-navigation .fancybox-button:hover div {
  background: rgba(30, 30, 30, 0.9);
}

/* Тулбар (правый верхний угол) */
.fancybox-toolbar {
  border-radius: 0 0 0 20px !important;
  overflow: hidden !important;
}

/* Счётчик слева */
.fancybox-infobar {
  border-radius: 0 0 20px 0 !important;
}

/* Подпись снизу */
.fancybox-caption {
  border-radius: 0 0 20px 20px !important;
}



/* Светлая тема: текст кнопки «В корзину» в карточках «Похожие товары» / «Рекомендуем также»
   не должен чернеть от глобальной инверсии — задаём #000, после invert(1) он станет белым */
.light-mode-invert .related.products .product-card__add-to-cart .button,
.light-mode-invert .up-sells.upsells .product-card__add-to-cart .button {
    color: #000;
}
/* Иконка корзины имеет собственный color: #fff (.fa), наследование не работает — задаём отдельно */
.light-mode-invert .related.products .product-card__add-to-cart .button .fa,
.light-mode-invert .up-sells.upsells .product-card__add-to-cart .button .fa {
    color: #000;
}
