/*
Theme Name: Druco Child
Theme URI: https://demo.theme-sky.com/druco/
Author: Theme Sky Team
Author URI: http://theme-sky.com/
Description: A Premium and Responsive WordPress theme, designed for E-Commerce websites
Template: druco
Version: 1.0.0
License: GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Tags: two-columns, left-sidebar, custom-background, custom-colors, custom-header, custom-menu, editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, threaded-comments, translation-ready
Text Domain: druco-child
*/

/*html,*/
/*label,*/
/*body, input, textarea, keygen, select, button, span, body .font-body, blockquote cite, blockquote .entry-meta-middle, .product-name, h3.product-name, .product-name h3, .yith-wfbt-item .product-name, .woocommerce-shipping-fields h3, .ts-tiny-cart-wrapper .cart_list li .product-name, .woocommerce .ts-tiny-cart-wrapper .product-name, .woocommerce table.shop_table td.product-name,*/
/*.ts-header nav > ul.menu > li > a, .ts-header nav > ul > li > a {*/
/*	font-family: 'Inter', sans-serif !important;*/
/*}*/

.elementor-element-populated > .elementor-widget-wrap > *:not(.elementor-inner-section),
.elementor-element-populated > *:not(.elementor-inner-section) {
	padding: 0;
}

.ts-search-by-category > form {
	border-radius: 2px;
}

.ts-search-by-category .select-category::placeholder,
.ts-search-by-category .search-table .search-field input[type="text"]::placeholder{
	color: #242424;
}

.ts-search-by-category .search-table .search-button {
	width: 38px;
	height: 38px;
	border-radius: 4px;
	background: #DA1C1C;
}

.ts-search-by-category .search-table .search-button:before {
	color: #fff;
}

.search-table .search-button {
/*	width: 38px;*/
/*	height: 38px;*/
/*	border-radius: 4px;*/
	background: #DA1C1C;
}

.search-table .search-button:before {
	color: #fff;
}

/* HEADER */

.header-contact-info {
	position: relative;
	min-width: 240px;
}

.header-contact-info .header-phone-block {
	height: 100%;
	width: 100%;
	background: #DA1C1C;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px 30px 8px;
	cursor: pointer;
}

.header-contact-info .header-phone-block img {
	margin-right: 14px;
}

.header-contact-info .header-phone-block span {
	display: inline-block;
	font-size: 18px;
	font-weight: 500;
}

.header-contact-info .phone-dropdown {
	display: none;
	position: absolute;
	top: 100%;
	width: 100%;
	padding: 10px 18px;
	background: #FFFFFF;
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	z-index: 1;
	box-shadow: 6px 6px 20px 0px #0000000F;
}

.sticky-wrapper.is-sticky .icon-menu-sticky-header {
	display: none !important;
}

@media only screen and (max-width: 767px) {
	.group-button-header {
		display: none;
	}

	.group-button-header .header-contact-info .phone-dropdown {
		display: none;
	}

	.group-button-header .header-contact-info.has-icon:before {
		content: none;
	}
}

.header-contact-info .phone-dropdown a {
	position: relative;
	font-size: 18px;
	font-weight: 500;
	letter-spacing: normal;
	padding: 10px 10px;
}

.header-contact-info .phone-dropdown a:hover {
	color: #DA1C1C;
}

.header-contact-info .phone-dropdown a:not(:last-child):after {
	content: '';
	position: absolute;
	top: 100%;
	left: 0;
	height: 1px;
	width: 100%;
	background: #A3A3A3;
}

.header-middle .ts-search-by-category + .header-contact-info {
	margin-left: 10px;
}

header .ts-search-by-category form {
	width: 100%;
	max-width: 580px;
}

@media only screen and (min-width: 768px) {
	.header-contact-info:hover .phone-dropdown {
		display: block;
	}

	.header-template .header-middle .container {
		padding: 0 15px;
		align-items: normal;
	}

	.header-template .header-middle .header-left,
	.header-template .header-middle .ts-search-by-category {
		padding: 26px 0;
		display: flex;
		align-items: center;
	}

	.header-template .header-middle .header-right {
		display: none;
	}
}

header .logo-wrapper {
	padding-right: 30px;
}

header .header-middle {
	border: none;
}

header .header-bottom {
	background: #2B2B2B;
	color: #fff;
	border: none;
}

header .header-bottom nav > ul.menu > li.current-menu-item > a,
header .header-bottom nav > ul.menu > li.current-menu-item > a:hover {
	color: #DA1C1C !important;
}

#group-icon-header .sidebar-content .menu-title,
#group-icon-header .sidebar-content .meta-bottom{
	background: #DA1C1C !important;
	color: #fff !important;
}

/* MAIN BANNER */
.main_banner {
	background-position: center;
}

.main_banner h2 {
	font-size: 60px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: normal;
}

.main_banner .elementor-widget-heading {
	margin-bottom: 40px;
}

.main_banner .elementor-widget-heading p {
	font-size: 24px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: normal;
}

.main_banner .elementor-widget-container {
	display: flex;
	justify-content: center;
}

@media (max-width: 1200px) {
	.main_banner h2 {
		font-size: 42px;
	}

	.main_banner .elementor-widget-heading p {
		font-size: 20px;
	}
}

@media (max-width: 600px) {
	.main_banner h2 {
		font-size: 34px;
	}

	.main_banner .elementor-widget-heading p {
		font-size: 16px;
	}
}

/* CATEGORIES BANNER */
.categories_banner h2 {
	font-size: 40px;
	font-weight: 500;
	text-transform: uppercase;
	line-height: 1.1;
	letter-spacing: normal;
	max-width: 392px;
}

.categories_banner .elementor-widget-text-editor p {
	font-size: 18px;
	font-weight: 400;
	line-height: 1.2;
}

.custom-blocks .product-categories {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
}

.categories_banner .product-category-home {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	align-items: center;
	position: relative;
	min-height: 140px;
	box-shadow: 6px 6px 20px 0px #00000017;
	transition: box-shadow 0.3s;
}

.categories_banner .product-categories > a:hover .product-category {
	box-shadow: 0px 0px 20px 0px #0000005c;
}

.categories_banner .product-category-home .product-category-text {
	top: 0;
	left: 0;
	height: 100%;
	position: absolute;
	padding: 20px 30px 18px 18px;
}

.categories_banner .product-category-home h3 {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: normal;
	max-width: 170px;
}

.categories_banner .product-category-home .product-category-text > p {
	font-size: 14px;
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: normal;
	color: #ACACAC;
}

@media (max-width: 1200px) {
	.categories_banner h2 {
		font-size: 36px;
	}

	.categories_banner .product-category-home .product-category-text {
		padding: 30px 20px;
	}

	.categories_banner .product-category-home h3 {
		font-size: 20px;
	}
}

@media (max-width: 600px) {
	.categories_banner h2 {
		font-size: 30px;
	}

	.categories_banner .elementor-widget-text-editor p {
		font-size: 16px;
	}

	.custom-blocks .product-categories {
		grid-template-columns: 1fr;
	}
}

/* COMING BLOCK  */
.comming_block .elementor-container .elementor-widget-heading .elementor-widget-container {
	margin-bottom: 40px;
}
.comming_block h2 {
	font-size: 40px;
	font-weight: 400;
	line-height: 1.1;
	text-transform: uppercase;
	text-align: left;
	letter-spacing: normal;
}

.comming_block .woocommerce.list .products {
	margin: 0 -12px;
}

.comming_block .woocommerce.list .products .product:not(.product-category-home) {
	padding: 0 12px;
	border: none;
	margin-bottom: 24px;
}

.comming_block .woocommerce.list .products .product .product-wrapper {
	padding: 22px 8px !important;
	box-shadow: 6px 6px 20px 0px #0000000F;
}

.comming_block .woocommerce.list .products .product .product-wrapper:hover {
	box-shadow: 6px 6px 20px 0px #0000000F;
}

.comming_block .woocommerce.list .products .product .product-wrapper .thumbnail-wrapper {
	width: auto;
}

.comming_block .woocommerce.list .products .product .product-wrapper .meta-wrapper {
	padding-left: 25px !important;
}

.comming_block .woocommerce.list .products .product .product-wrapper figure {
	max-width: 150px;
}

.comming_block .woocommerce.list .products .product .product-wrapper img {
	object-fit: contain;
}

.comming_block .woocommerce.list .product-wrapper:hover .thumbnail-wrapper > a:before {
	content: none;
}

.comming_block .woocommerce.list .products .product .product-wrapper h3 {
	font-size: 18px;
	font-weight: 400;
	line-height: 1.3;
}

.comming_block .woocommerce.list .products .product .product-wrapper .loop-add-to-cart a {
	max-width: 165px;
	width: 100% !important;
	height: 40px;
	border-radius: 2px;
	background: #DA1C1C;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}

.comming_block .woocommerce.list .products .product .product-wrapper .loop-add-to-cart a:hover {
	background: #b21515;
	border: none;
}

.comming_block .woocommerce.list .products .product .product-wrapper .loop-add-to-cart a span {
	font-size: 15px;
	font-weight: 600;
	line-height: 1.1;
}

.product-group-button {
	display: none !important;
}

@media (max-width: 1200px) {
	.comming_block h2 {
		font-size: 36px;
	}
}

@media (max-width: 600px) {
	.comming_block h2 {
		font-size: 30px;
	}

	.comming_block .woocommerce.list .products .product .product-wrapper {
		padding: 15px 10px !important;
	}

	.comming_block .woocommerce.list .products .product .product-wrapper h3 {
		font-size: 16px;
	}

	.comming_block .woocommerce.list .products .product .product-wrapper .loop-add-to-cart a span {
		font-size: 14px;
	}
}

/* SECTION ABOUT US */
.about_us .elementor-container .elementor-widget-heading {
	margin-bottom: 40px !important;
}

.about_us h2 {
	font-size: 52px;
	font-weight: 400;
	line-height: 1.1;
	text-transform: uppercase;
	letter-spacing: normal;
}

.about_us .elementor-widget-text-editor .elementor-widget-container {
	font-size: 18px;
	font-weight: 300;
	line-height: 1.2;
	letter-spacing: normal;
}

.about_us .elementor-button.elementor-button-link {
	max-width: 184px;
	width: 100%;
	height: 56px;
	border-radius: 2px;
	background: #DA1C1C;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
}

.about_us .elementor-button.elementor-button-link span {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.2;
}

.about_us .elementor-button.elementor-button-link:hover {
	background: #b21515;
	color: #fff;
	border: none;
}

@media (max-width: 1200px) {
	.about_us h2 {
		font-size: 42px;
	}
}

@media (max-width: 600px) {
	.about_us h2 {
		font-size: 30px;
	}

	.about_us .elementor-container .elementor-widget-heading {
		margin-bottom: 20px !important;
	}

	.about_us .elementor-widget-text-editor .elementor-widget-container {
		font-size: 16px;
	}

	.about_us .elementor-button.elementor-button-link {
		margin: 0 auto;
	}

	.about_us .elementor-button.elementor-button-link span {
		font-size: 16px;
	}
}

/* SECTION ADVANTAGES */
.advantages_block .elementor-widget-heading h2 {
	font-size: 52px !important;
	font-weight: 400;
	line-height: 1.1;
	text-transform: uppercase;
	letter-spacing: normal;
	max-width: 570px;
	margin-bottom: 70px;
}

.advantages_block .advantages_item .elementor-widget-wrap {
	border: 1px solid #FFFFFF;
	padding: 40px 29px 35px 19px;
	position: relative;
}

.advantages_block .advantages_item .icon_wrapper {
	position: absolute;
	width: fit-content;
	top: -28px;
	left: 15px;
	padding: 0 20px;
	background: #2B2B2B;
}

.advantages_block .advantages_item h3 {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.1;
	text-transform: uppercase;
	letter-spacing: normal;
}

.advantages_block .elementor-widget-text-editor .elementor-widget-container {
	font-size: 15px;
	font-weight: 300;
	line-height: 1.1;
	letter-spacing: normal;
}

@media (max-width: 1200px) {
	.advantages_block .elementor-widget-heading h2 {
		font-size: 42px !important;
	}
}

@media (max-width: 600px) {
	.advantages_block .elementor-widget-heading h2 {
		font-size: 30px !important;
	}
}

/* SECTION NEWS */
.news_block h2 {
	font-size: 52px;
	font-weight: 400;
	line-height: 1.1;
	text-transform: uppercase;
	letter-spacing: normal;
	text-align: left;
}

.news_block .items article.item {
	border: none;
	margin-bottom: 0;
}

.news_block .items article.item .thumbnail-content {
	border: 1px solid #A3A3A3;
	border-bottom: none;
	border-top-left-radius: 1px;
	border-top-right-radius: 1px;
}

.news_block .items article.item .entry-content {
	border: 1px solid #A3A3A3;
	border-top: none;
	border-bottom-left-radius: 1px;
	border-bottom-right-radius: 1px;
}

.news_block .items article.item figure {
	border-radius: 0;
}

.news_block .items article.item .entry-meta-top {
	margin: 0;
}

.news_block .items article.item h4 {
	font-size: 22px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: normal;
	margin-bottom: 16px;
}

.news_block .items article.item .excerpt {
	font-size: 16px;
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: normal;
	margin-bottom: 16px;
}

.news_block .items article.item .button-readmore {
	max-width: 145px;
	width: 100%;
	height: 40px;
	font-size: 13px;
	font-weight: 600;
	background: #DA1C1C;
	color: #fff;
	border-radius: 2px;
	margin: 0;
	border: none;
}

.news_block .items article.item .button-readmore:hover {
	background: #b21515;
	color: #fff;
}

@media (max-width: 1200px) {
	.news_block h2 {
		font-size: 42px;
	}
}

@media (max-width: 600px) {
	.news_block h2 {
		font-size: 30px;
	}
}

/* FOOTER */
footer {
	letter-spacing: normal;
}

footer.footer-container nav ul.hfe-nav-menu li {
	padding: 0;
}

footer.footer-container nav ul.hfe-nav-menu li:not(:last-child) {
	margin-bottom: 18px;
}

footer.footer-container nav ul.hfe-nav-menu li a {
	font-size: 15px;
	font-weight: 400;
	line-height: 1.46;
	padding: 0 !important;
	color: #2B2B2B !important;
}

footer.footer-container .elementor-widget-heading {
	margin-bottom: 16px;
}

footer.footer-container h2 {
	font-size: 22px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: normal;
}

footer.footer-container .elementor-widget-text-editor {
	font-size: 15px;
	font-weight: 300;
	line-height: 1.6;
	color: #2B2B2B;
}

footer.footer-container .elementor-column:nth-child(4) .elementor-widget-text-editor:nth-child(3) {
	/*margin-bottom: 100px;*/
}

.footer-image {
	/*height: 100%;*/
}

.footer-image .elementor-widget-image,
.footer-image .elementor-widget-image .elementor-widget-container {
	height: 100%;
}

.footer-image .elementor-widget-image img {
	height: 100%;
	object-fit: cover;
}

.footer-image .elementor-widget-image:before {
	content: '';
	position: absolute;
	top: 0;
	right: -1px;
	border: 40px solid transparent; border-top: 40px solid #F6F6F6; border-right: 40px solid #F6F6F6;
	z-index: 1;
}

@media (max-width: 600px) {
	footer .elementor-column:not(.footer-image) > .elementor-widget-wrap {
		/*padding: 40px 20px !important;*/
	}

	/*.elementor-widget-wrap > .elementor-element {*/
	/*	width: auto;*/
	/*}*/
}

/* Стили для попапов */
#consultation-popup, #success-popup {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 1000;
}

.popup-content {
	background-color: #fff;
	padding: 30px;
	border-radius: 5px;
	max-width: 500px;
	width: 95%;
	position: relative;
}

.popup-content h2 {
	font-size: 30px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: normal;
}

.popup-content img {
	margin: 20px 0 30px;
}

.popup-content p {
	margin: 0;
}

.popup-content p input:not([type="submit"]) {
	height: 50px;
	padding: 15px;
	border-radius: 4px;
	margin-top: 10px;
	margin-bottom: 30px;
}

.popup-content input[type="submit"] {
	height: 50px;
	border-radius: 4px;
	background: #DA1C1C;
	color: #FFFFFF;
	border: none;
}

.popup-content input[type="submit"]:hover {
	background: #b21515;
	color: #FFFFFF;
}

#popup-close, #success-popup-close {
	position: absolute;
	top: 10px;
	right: 10px;
	font-size: 24px;
	cursor: pointer;
}

@media (max-width: 767px) {
	.popup-content {
		padding: 30px 20px;
	}
}

/* PRODUCT PAGE */
.woocommerce div.product .summary h1.product_title {
	display: block;
	font-size: 40px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: normal;
	margin-bottom: 40px;
}

.woocommerce div.product .summary > p.price {
	margin: 0 !important;
}

.woocommerce div.product .summary .availability {
	display: none;
}

.woocommerce div.product .summary .woocommerce-product-details__short-description {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: normal;
	margin-bottom: 40px;
}

.woocommerce div.product .summary .woocommerce-product-details__short-description > p {
	margin-bottom: 18px;
}

.woocommerce div.product .summary > .single-product-buttons #consultation-button {
	max-width: 282px;
	width: 100%;
	height: 50px;
	border-radius: 4px;
	background: #DA1C1C;
	color: #FFFFFF;
	border: none;
}

.woocommerce div.product .summary > .single-product-buttons #consultation-button:hover {
	background: #b21515;
}

.woocommerce div.product .summary > .single-product-buttons:not(:last-child) {
	padding-bottom: 40px;
	margin-bottom: 40px;
}

.woocommerce div.product .summary .meta-content .product-brands {
	font-size: 15px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: normal;
}

.woocommerce div.product .summary .meta-content .product-brands .brand-links a:hover {
	color: #DA1C1C;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	margin-bottom: 46px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li > a {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: normal;
}

#page div.product .woocommerce-tabs ul.tabs li.active a {
	color: #DA1C1C !important;
}

#page div.product .woocommerce-tabs ul.tabs li.active:after {
	border-width: 0 0 4px 0;
	border-color: #DA1C1C !important;
}

#page div.product .woocommerce-tabs .product-content {
	letter-spacing: normal;
}

.related.products h2 {
	font-size: 36px;
	font-weight: 500;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: normal;
	margin-bottom: 44px;
}

/* CATEGORY PAGE */
.main-products .products .product .thumbnail-wrapper figure,
.related .products .product .thumbnail-wrapper figure {
	padding: 20px;
	padding-bottom: 100%;
	position: relative;
}

.main-products .products .product .thumbnail-wrapper figure img,
.related .products .product .thumbnail-wrapper figure img {
	position: absolute;
	top: 0;
	left: 0;
	object-fit: contain;
	height: 100%;
	padding: 10px;
}

.products .meta-wrapper .heading-title.product-name {
	font-size: 16px;
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: normal;
}

.products .product .product-wrapper .product-group-button-meta .loop-add-to-cart .button,
.product-hover-vertical-style-2 .products .product .product-wrapper .product-group-button-meta .loop-add-to-cart .button {
	max-width: 282px;
	width: 100%;
	height: 50px;
	border-radius: 4px;
	background: #DA1C1C;
	color: #FFFFFF;
	display: flex;
	align-items: center;
	justify-content: center;
	border: none;
}

.products .product .product-wrapper .product-group-button-meta .loop-add-to-cart .button:hover,
.product-hover-vertical-style-2 .products .product .product-wrapper .product-group-button-meta .loop-add-to-cart .button:hover{
	background: #b21515;
	color: #fff;
}

@media (max-width: 767px) {
	.products .product .product-wrapper .product-group-button-meta .loop-add-to-cart .button,
	.product-hover-vertical-style-2 .products .product .product-wrapper .product-group-button-meta .loop-add-to-cart .button {
		height: 40px;
	}

	.filter-widget-area-button a {
		background: #DA1C1C !important;
		color: #FFFFFF !important;
	}

	#to-top {
		right: 20px;
	}
}

.woocommerce .woocommerce-pagination ul.page-numbers li span,
.woocommerce-page .woocommerce-pagination ul.page-numbers li span,
.woocommerce .woocommerce-pagination ul.page-numbers li a,
.woocommerce-page .woocommerce-pagination ul.page-numbers li a {
	border-radius: 4px !important;
}

.woocommerce .woocommerce-pagination ul.page-numbers li span.current,
.woocommerce-page .woocommerce-pagination ul.page-numbers li span.current {
	background: #DA1C1C;
	color: #FFFFFF;
}

.woocommerce .woocommerce-pagination ul.page-numbers li a:hover,
.woocommerce-page .woocommerce-pagination ul.page-numbers li a:hover {
	background: #DA1C1C;
	color: #FFFFFF !important;
}

.before-loop-wrapper {
	letter-spacing: normal;
}

.woocommerce .woocommerce-ordering,
.woocommerce-page .woocommerce-ordering {
	min-width: 200px;
}

.woocommerce .woocommerce-ordering ul.orderby {
	width: 100%;
}

.woocommerce .woocommerce-ordering .orderby-current {
	text-align: right;
	width: 100%;
}

.woocommerce .woocommerce-ordering .orderby ul {
	width: 100%;
}

#left-sidebar {
	letter-spacing: normal;
}

.scroll-button {
	background: #DA1C1C !important;
	color: #FFFFFF !important;
}

/* BRANDS */
h2.elementor-heading-title {
	font-size: 40px;
	font-weight: 500;
	line-height: 1.1;
	text-transform: uppercase;
	letter-spacing: normal;
}

p, h4 {
	letter-spacing: normal !important;
}

/* CONTACT US */
.contact-us-title {
	margin-bottom: 40px;
}

.contact-us-title h2.elementor-heading-title {
	font-size: 40px;
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: normal;
}

.contact-us-content .elementor-icon-box-wrapper {
	display: flex;
	align-items: center;
	margin-bottom: 20px;
}

.contact-us-content .elementor-icon-box-title {
	font-size: 24px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: normal;
	margin: 0;
}

.contact-us-content .elementor-icon svg {
	width: 24px;
	height: 24px;
}

.contact-us-content .elementor-widget-text-editor {
	font-size: 18px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: normal;
}

.contact-us-content form input:not([type="submit"]),
.contact-us-content form textarea {
	background-color: #F4F4F4 !important;
	color: #434343;
	border: none;
	border-radius: 4px;
}

.contact-us-content form input::placeholder,
.contact-us-content form textarea::placeholder {
	color: #434343;
}

.contact-us-content form input[type="submit"] {
	max-width: 255px;
	width: 100%;
	height: 50px;
	padding: 0;
	border-radius: 4px;
	background: #DA1C1C;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	border: none;
}

.contact-us-content form input[type="submit"]:hover {
	background: #b21515;
	color: #fff;
}

@media (max-width: 767px) {
	.contact-us-title h2.elementor-heading-title {
		font-size: 30px;
	}

	.contact-us-content .elementor-widget-icon-box.elementor-mobile-position-top .elementor-icon-box-wrapper {
		display: flex;
	 	justify-content: center;
		align-items: center;
		margin-bottom: 10px;
	}

	.contact-us-content .elementor-widget-icon-box.elementor-mobile-position-top .elementor-icon-box-icon {
		margin: 0 10px 0 0;
	}

	.contact-us-content .elementor-icon-box-wrapper .elementor-icon-box-content .elementor-icon-box-title {
		font-size: 20px;
		width: fit-content;
	}

	.contact-us-content form input:not([type="submit"]),
	.contact-us-content form textarea {
		height: 48px;
		margin: 0;
	}
}

.ts-blogs article a.button.button-readmore, article header:last-child .heading-title,
.woocommerce #review_form #respond .form-submit input, #commentform .form-submit .button {
	background: #DA1C1C;
	color: #fff;
	border: none;
	border-radius: 4px;
}

.ts-blogs article a.button.button-readmore:hover, article header:last-child .heading-title:hover,
.woocommerce #review_form #respond .form-submit input:hover, #commentform .form-submit .button:hover {
	background: #b21515;
}

.product-categories-home {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}

@media (max-width: 600px) {
	.product-categories-home {
		grid-template-columns: repeat(1, 1fr);
	}
}

.product-category-home {
	background: #fff;
	box-sizing: border-box;
	height: 100%;
}

.product-category-home .image-wrapper {
	max-width: 50%;
	height: 100%;
	overflow: hidden;
	margin-left: 20px;
}

.product-category-home img {
	object-fit: contain;
	max-height: 160px;
	height: 100%;
}

.product-category-home div {
	flex-grow: 1;
}

.vcard.author {
	display: none;
}

.cats-link {
	display: none !important;
}

/* Grillo product description blocks - clean style */
.woocommerce-Tabs-panel table[cellpadding="15"],
.woocommerce-Tabs-panel table[cellpadding="5"],
.woocommerce-Tabs-panel table[cellpadding="10"] {
	background: #fff !important;
	border: none !important;
	border-collapse: collapse !important;
	box-shadow: none !important;
}
.woocommerce-Tabs-panel table[cellpadding="15"] td,
.woocommerce-Tabs-panel table[cellpadding="5"] td,
.woocommerce-Tabs-panel table[cellpadding="10"] td {
	background: #fff !important;
	border: none !important;
	box-shadow: none !important;
}
.woocommerce-Tabs-panel table[cellpadding="15"] tr,
.woocommerce-Tabs-panel table[cellpadding="5"] tr,
.woocommerce-Tabs-panel table[cellpadding="10"] tr {
	background: #fff !important;
	border: none !important;
	box-shadow: none !important;
}
.woocommerce-Tabs-panel table[cellpadding="15"] tbody,
.woocommerce-Tabs-panel table[cellpadding="5"] tbody,
.woocommerce-Tabs-panel table[cellpadding="10"] tbody {
	border: none !important;
	box-shadow: none !important;
}


/* Lazy load spinner */
@keyframes tv-spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}
img.ts-lazy-load:not(.loaded) {
	color: transparent !important;
	font-size: 0 !important;
	border: none !important;
	outline: none !important;
	background: #f5f5f5 url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2740%27 height=%2740%27 viewBox=%270 0 40 40%27%3E%3Ccircle cx=%2720%27 cy=%2720%27 r=%2716%27 fill=%27none%27 stroke=%27%23e0e0e0%27 stroke-width=%273%27/%3E%3Cpath d=%27M20 4a16 16 0 0 1 16 16%27 fill=%27none%27 stroke=%27%23c8102e%27 stroke-width=%273%27 stroke-linecap=%27round%27%3E%3CanimateTransform attributeName=%27transform%27 type=%27rotate%27 from=%270 20 20%27 to=%27360 20 20%27 dur=%270.8s%27 repeatCount=%27indefinite%27/%3E%3C/path%3E%3C/svg%3E") no-repeat center center !important;
	min-height: 200px;
}
.products .product img:not(.loaded) {
	border: none !important;
	outline: none !important;
	color: transparent !important;
	font-size: 0 !important;
}

/* === PRODUCT DESCRIPTION BLOCKS === */
.product-desc-block {
  display: flex;
  gap: 30px;
  margin: 20px 0;
  align-items: center;
}
.product-desc-block.reverse { flex-direction: row-reverse; }
.product-desc-block .product-desc-img { flex: 0 0 45%; text-align: center; }
.product-desc-block .product-desc-img img { width: 90%; height: auto; border-radius: 6px; }
.product-desc-block .product-desc-text { flex: 0 0 55%; }
@media (max-width: 767px) {
  .product-desc-block, .product-desc-block.reverse { flex-direction: column; }
  .product-desc-block .product-desc-img, .product-desc-block .product-desc-text { flex: 1 1 100%; }
}

.product-action-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin: 20px 0;
}
.product-action-gallery a {
  display: block;
  overflow: hidden;
  border-radius: 6px;
  aspect-ratio: 4/3;
  background: #f5f5f5;
}
.product-action-gallery a img,
.product-action-gallery img,
.product-action-gallery a img.ts-lazy-load {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  border-radius: 6px;
  transition: opacity 0.2s;
  display: block;
}
.product-action-gallery a:hover img { opacity: 0.85; }
@media (max-width: 767px) {
  .product-action-gallery { grid-template-columns: repeat(2, 1fr); }
}

.product-accessories {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin: 20px 0;
}
.product-accessories .product-acc-card {
  background: #f9f9f9;
  border-radius: 8px;
  padding: 20px;
  text-align: center;
  border: 1px solid #eee;
}
.product-accessories .product-acc-card img { width: 70%; margin-bottom: 12px; }
@media (max-width: 991px) {
  .product-accessories { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
  .product-accessories { grid-template-columns: 1fr; }
}

.product-section-title {
  margin-top: 40px;
  padding-bottom: 10px;
  border-bottom: 2px solid #c8102e;
}

/* Fix wpautop BR inside grid containers */
.product-action-gallery br,
.product-accessories br,
.product-desc-block br {
  display: none !important;
}

/* === PRODUCT TABLES MOBILE === */
@media (max-width: 767px) {
  .woocommerce-Tabs-panel table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    width: 100% !important;
  }
  .woocommerce-Tabs-panel table tbody {
    display: table;
    width: 100%;
    min-width: 500px;
  }
  .woocommerce-Tabs-panel table td {
    padding: 10px 12px;
    font-size: 13px;
  }
}

/* Reset filters button */
.reset-filters-btn {
  display: block;
  text-align: center;
  padding: 10px 20px;
  margin-bottom: 20px;
  background: #DA1C1C;
  color: #fff !important;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none !important;
  transition: background 0.2s;
}
.reset-filters-btn:hover {
  background: #b21515;
}

/* Brands page headings */
.page-id-5290 h2.elementor-heading-title {
  font-size: 32px !important;
}
.page-id-5290 .elementor-widget-text-editor h2 {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 10px;
}
.page-id-5290 .elementor-widget-text-editor h3 {
  font-size: 18px;
  font-weight: 600;
  margin-top: 20px;
  margin-bottom: 6px;
}
