/*
Theme Name: Toolvita by Miłosz Pradela
Template:   bootstrap-basic
Theme URI: https://pradela.pl
Author: Miłosz Pradela
*/

/* Required WordPress CSS */

@font-face {
	font-family: 'Open Sans';
	src: url('../fonts/Open_Sans/static/OpenSans-Regular.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Roboto';
	src: url('../fonts/Roboto/static/Roboto-Regular.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Font Awesome 6 Pro';
	font-display: block;
}

:root {
	--white-color: #fff;
	--light-grey-color: #f4f4f4;
	--gray-100: #f8f9fa;
	--gray-200: #e9ecef;
	--black-color: #262626;
	--full-black-color: #000;
	--primary-color: #4baf5a;
	--social-grey: #6c757d;
	--border-radius: 20px;
	--header-shadow: 0 3px 15px rgba(0,0,0,0.10);
	--header-transition: 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	--font-main: 'Open Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--font-second: 'Roboto', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--font-fa: 'Font Awesome 6 Pro';
}
ul, li,
p, a,
body {
	font-family: var(--font-second);
}

.p-h2, .p-h3, .p-h4, .p-h5, .p-h6,
h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-main);
	font-weight: 700 !important;
}

.primary-color { color: var(--primary-color); }
.black-color { color: var(--black-color); }
.c-white { color: var(--white-color); }
.bc-white { background-color: var(--white-color); }
.box-shadow { box-shadow: var(--header-shadow); }

a, i {
	color: var(--black-color);
	transition: .3s ease-in-out !important;
	text-decoration: unset;
}

a:hover, i:hover,
.social-link-element:hover {
	color: var(--primary-color);
}

/* H1 (hero główna) */
.p1-error,
h1.h2-hero {
	font-size: 80px !important;
	font-weight: normal !important;
	text-transform: uppercase;
}
/* H1 */
body.single-product h1,
h1 {
	font-size: 40px !important;
	line-height: 44px !important;
	text-transform: uppercase;
}

/* H2 */
.p-h2,
h2 {
	font-size: 33px !important;
	text-transform: uppercase;
	line-height: 40px !important;
}

/* H3 */
h3, .p-h3 {
	font-size: 24px !important;
	text-transform: uppercase;
	line-height: 30px !important;
}
h4, .p-h4 {
	font-size: 22px !important;
	font-weight: 400 !important;
	line-height: 29px !important;
}

/* P */
p {
	font-size: 18px !important;
	font-weight: 300 !important;
}

/* P Bold */
p.bold {
	font-size: 16px !important;
	font-weight: bold !important;
}

.p2 {
	font-size: 14px !important;
}
@media only screen and (max-width: 1460px) {
	.p1-error,
	h1.h2-hero {
		font-size: 50px !important;
	}
	h1 { font-size: 36px !important; 
		line-height: 40px !important;	
	}
	.p-h2,
	.cytat-text,
	.modal-h2,
	h2 { 
		font-size: 32px !important; 
		line-height: 36px !important;
	}
	h3, .p-h3 { font-size: 23px !important; }
	h4, .p-h4 { font-size: 21px !important; }
	li, p { font-size: 17px !important; }
}

@media only screen and (max-width: 992px) {
	.p1-error {
		font-size: 44px !important;
		line-height: 60px !important;
	}
	h1.h1-hero,
	h1, .h1 { font-size: 34px !important; line-height: 42px !important; }
	h2, .h2, .p-h2 { font-size: 30px !important; line-height: 38px !important; }
	h3, .h3, .p-h3 { font-size: 22px !important; line-height: 30px !important; }
	h4, .h4, .p-h4 { font-size: 20px !important; line-height: 24px !important; }
	h5, .h5 { font-size: 16px !important; line-height: 22px !important; }
	h6, .h6 { font-size: 14px !important; line-height: 20px !important; }
}
@media only screen and (max-width: 650px) {
	.p1-error,
	h1.h2-hero {
		font-size: 38px !important;
		line-height: 46px !important;
		max-width: 270px;
	}
	li,
	p, .p, .p-regular {
		font-size: 16px !important;;
		line-height: 22px !important;
		text-align: justify;
	}
	.p2 {
		font-size: 14px !important;
	}
	.service-item p,
	.newsletter-content-wrapper > p {
		text-align: center !important;
	}
	body.single-product h1, 
	body.single-product .h1 {
		font-size: 34px !important;
		line-height: 37px !important;
	}
	.wc-block-components-title.wc-block-components-title {
		font-size: 24px !important;
		line-height: 30px !important;
	}
}
@media only screen and (max-width: 400px) {
	body.single-product h1, 
	body.single-product .h1,
	h1.h1-hero { 
		font-size: 30px !important; 
		line-height: 34px !important; 
	}
}
/* error */

@media only screen and (max-width: 400px) {
	.section-not-found  .buttons-error {
		flex-direction: column;
		width: 100%;
		gap: 15px !important;
	}
}

section {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body.single-product .single-product {
	padding-top: 150px;
}
body.woocommerce-checkout .site-main,
body.woocommerce-cart  .site-main,
.padding-top-bottom {
	padding: 85px 0 !important;
}

.section-padding-first {
	padding: 85px 0 85px;
}
.section-margin-bottom-top {
	margin: 150px 0;
}
.section-margin-bottom {
	margin-bottom: 150px !important;
}

.woocommerce-account .main .site-main,
.padding-top,
.section-padding-top {
	padding-top: 85px;
}
.padding-bottom,
.section-padding-bottom {
	padding-bottom: 85px;
}

@media only screen and (max-width: 768px) {
	.section-margin-bottom {
		margin-bottom: 100px !important;
	}
	body.woocommerce-checkout .site-main,
	body.woocommerce-cart  .site-main
	.padding-top-bottom {
		padding: 125px 0 !important;
	}
	.section-margin-bottom-top {
		margin: 100px 0;
	}
	.woocommerce-account .main .site-main,
	.padding-top,
	.section-padding-top {
		padding-top: 125px;
	}

}
@media only screen and (max-width: 768px) {
	ul.sub-menu {
		position: relative;
	}
	ul.sub-menu > li.menu-item-has-children > ul.sub-menu {
		left: 0;
		top: 0;
	}
	body.single-product .single-product {
		padding-top: 120px;
	}
}

ul.nav ul.sub-menu {
	min-width: 150px;
	width: max-content;
}

.col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-xs-1, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9 {
	padding-left: 0;
	padding-right: 0;
}
.row {
	margin-right: 0;
	margin-left: 0;
}
.mb-1 { margin-bottom: 10px !important; }
.mb-2 { margin-bottom: 20px !important; }
.mb-3 { margin-bottom: 30px !important; }
.mb-4 { margin-bottom: 40px !important; } 
.mb-5 { margin-bottom: 50px !important; }

.mt-1 { margin-top: 10px !important; }
.mt-2 { margin-top: 20px !important; }
.mt-3 { margin-top: 30px !important; }
.mt-4 { margin-top: 40px !important; }
.mt-5 { margin-top: 50px !important; }
.gap-1 { gap: 10px !important;}
.gap-2 { gap: 20px !important;}
.gap-3 { gap: 30px !important;}
.gap-4 { gap: 40px !important;}
.gap-5 { gap: 50px !important;}
.pt-2 {
	padding-top: 10px !important;
}
/* ------------------- Ogólne ----------------------------------------- */

html {
	scroll-behavior: smooth;
	scroll-margin-top: 130px;
	min-height: 100%;
	overscroll-behavior: none;
}

body {
	font-family: var(--font-main);
	color: var(--black-color);
	background: var(--white-color);
	min-height: 100vh;
	overscroll-behavior: none;
	overflow-x: hidden;
}
@media only screen and (max-width: 767px) {
	html {
		overscroll-behavior-y: none;
		-webkit-overflow-scrolling: touch;
	}

	body {
		overscroll-behavior-y: none;
		-webkit-overflow-scrolling: touch;
	}
}

/* body::before {
content: '';
position: fixed;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
background: var(--full-black-color);
opacity: 0;
visibility: hidden;
transition: opacity 0.3s ease, visibility 0s 0.3s;
z-index: 1099;
pointer-events: auto;
} */

body.menu-open::before {
	opacity: 0.45;
	visibility: visible;
	transition: opacity 0.3s ease;
}

.container-large,
.container, 
.container-medium, 
.container-small {
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 12px !important;
	padding-right: 12px !important; 
	width: 100% !important;

}

.container-large {
	max-width: 1564px !important;
}
.container {
	max-width: 1424px !important;
}
.container-medium {
	max-width: 1224px !important;
}
.container-small {
	max-width: 1124px !important;
}

@media only screen and (max-width: 1500px) {
	body.woocommerce-shop #main-products .container {
		padding-left: 60px !important;
		padding-right: 60px !important;
	}
}

@media only screen and (max-width: 1400px) {
	#footer-section .container,
	.footer-bottom .container,
	.text-section-styled .container,
	.newsletter-section .container,
	.ostatnie-wpisy .container,
	.product-slider-container > .container {
		padding-left: 60px !important;
		padding-right: 60px !important;
	}
	.container-large {
		padding-left: 60px !important;
		padding-right: 60px !important;
	}

	.container-large > .container {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}
@media only screen and (max-width: 1124px) {
	body.woocommerce-shop #main-products .container,
	.container-large,
	#footer-section .container,
	.footer-bottom .container,
	.text-section-styled .container,
	.newsletter-section .container,
	.ostatnie-wpisy .container,
	.product-slider-container > .container {
		padding-left: 12px !important;
		padding-right: 12px !important;
	}
}

#main-products,
.content-area {
	padding: 0;
}
/* ------------------- Header ----------------------------------------- */
header.main-header {
	transition: box-shadow var(--header-transition);
	box-shadow: var(--header-shadow);
	z-index: 100;
}

/* body.home .header-main-element {
background-color: rgba(255, 255, 255, 0.01); 
}

body.home .very-top-menu-element {
background-color: rgba(255, 255, 255, 0.11); 
} */
body.home .very-top-menu-element,
body.home .header-main-element {
	-webkit-backdrop-filter: blur(5px);
	backdrop-filter: blur(5px);
}

body.home .main-header {
	position: absolute;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	z-index: 1004;
}
header .sticky-header {
	transform: translateY(-100%);
	transition: transform 0.4s cubic-bezier(.77,0,.175,1);
	z-index: 999;
}
header .sticky-header.active {
	transform: translateY(0);
}
/* body.home .mobile-cart-header .search-icon-open i,
body.home .mobile-cart-header .xoo-wsc-sc-bki,
body.home .main-header .header-account-cart .xoo-wsc-sc-bki,
body.home .header-account-cart i,
body.home .contact-top-element i,
body.home .contact-top-element a,
body.home .social-top-element a i{
color: var(--white-color);
} */
body.home .mobile-cart-header .search-icon-open:hover i,
body.home .contact-top-element i:hover,
body.home .contact-top-element a:hover,
body.home .social-top-element a i:hover,
.contact-top-element a:hover,
.very-top-menu-element i:hover,
body.home .header-account-cart .xoo-wsc-sc-bki:hover,
body.home .header-account-cart i:hover,
.mobile-cart-header-sticky .xoo-wsc-sc-bki:hover, 
.mobile-cart-header .xoo-wsc-sc-bki:hover,
.header-account-cart .xoo-wsc-sc-bki:hover,
.header-account-cart i:hover,
.social-top-element a i:hover {
	color: var(--primary-color) !important;
}
.mobile-menu-footer i {
	color: var(--black-color) !important;
}
.contact-top-element a,
.contact-top-element i,
.very-top-menu-element i {
	color: var(--white-color) !important;
}
.very-top-menu-element {
	background: var(--black-color);
}
.logo-img-element {
	max-height: 48px;
	transition: filter var(--header-transition);
	max-width: 270px;
}
ul.sub-menu {
	padding-left: 0 !important;
}
.xoo-wsc-sc-cont .xoo-wsc-cart-trigger > * {
	display: flex !important;
}
@media only screen and (min-width: 992px) {
	.main-nav ul, .main-nav li {
		list-style: none;
		margin: 0;
		padding: 0;
	}
	.main-nav .menu-item {
		position: relative;
		display: inline-block;
		vertical-align: middle;
	}
	.header-account-cart,
	.main-nav .menu-item > a {
		position: relative;
		display: inline-block;
		padding: 10px 0px;
		margin-left: 60px;
		color: var(--black-color);
		font-family: var(--font-main);
		font-size: 20px;
		font-weight: 500;
		text-transform: uppercase;
		text-decoration: none;
		transition: color 0.3s ease;
	}
	body.home #sticky-header .header-account-cart .xoo-wsc-sc-bki,
	#sticky-header .header-account-cart i,
	#sticky-header .main-nav .menu-item > a {
		color: var(--black-color);
	}
	/* 	body.home .main-header .main-nav .menu-item > a {
	color: var(--white-color);
} */
	body.home #sticky-header .header-account-cart .xoo-wsc-sc-bki:hover,
	#sticky-header .header-account-cart i:hover,
	#sticky-header .main-nav .menu-item > a:hover,
	.main-nav .menu-item:hover > a,
	.main-nav .menu-item.current-menu-item > a,
	.main-nav .menu-item.current-menu-ancestor > a,
	.main-nav .menu-item.current_page_item > a,
	.main-nav .menu-item.current_page_ancestor > a {
		color: var(--primary-color);
	}
	.main-nav > .menu-item > a::before,
	.main-nav > .menu-item > a::after {
		content: '';
		position: absolute;
		bottom: 5px;
		height: 2px;
		background-color: var(--primary-color);
		width: 0;
		transition: width 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
	}
	.main-nav > .menu-item > a::before {
		left: 50%;
		transform: translateX(-50%);
	}
	.main-nav > .menu-item > a::after {
		right: 50%;
		transform: translateX(50%);
	}
	.main-nav > .menu-item:hover > a::before,
	.main-nav > .menu-item:hover > a::after {
		width: 90%;
	}

	.main-nav .single-submenu > .sub-menu {
		display: block;
		position: absolute;
		left: 0;
		top: 130%;
		min-width: 240px;
		background: var(--white-color);
		box-shadow: var(--header-shadow);
		padding: 10px !important;
		border-radius: 10px;
		z-index: 200;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity 0.2s ease, visibility 0.2s ease;

		padding-top: 1rem;
		margin-top: -1rem;
	}
	.main-nav .single-submenu:hover > .sub-menu {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}
	.main-nav .single-submenu > .sub-menu .menu-item {
		display: block;
		width: 100%;
	}
	.main-nav .single-submenu > .sub-menu .menu-item > a {
		padding: 10px 15px;
		font-size: 16px;
		width: 100%;
		border-radius: 10px;
		margin-left: 0;
	}
	.main-nav  .sub-menu .menu-item > a:hover {
		color: var(--white-color);
		background-color: var(--primary-color);
	}
	.main-nav .single-submenu .menu-item-has-children:hover > .sub-menu {
		left: 100%;
		top: 0;
	}

	.main-nav .double-submenu {
		position: static;
	}

	.main-nav .double-submenu > .sub-menu {
		display: block;
		position: absolute;
		top: 100%;
		left: 0;
		width: 100%;
		background: var(--white-color);
		box-shadow: 0 10px 15px rgb(0 0 0 / 15%);
		z-index: 200;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity 0.2s ease, visibility 0.2s ease;
		margin-top: -1rem;
		/* 		background-image: url(/wp-content/uploads/2025/12/toolvita-logo-green.png);
		background-position: -100px center;
		background-repeat: no-repeat;
		background-size: contain; */
	}

	.main-nav .double-submenu:hover > .sub-menu {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}

	.main-nav .double-submenu > .sub-menu > .container {
		display: flex;
		flex-wrap: wrap;
		padding: 20px 12px;
	}

	.main-nav .double-submenu > .sub-menu > .container > .menu-item {
		flex: 1; 
		min-width: 200px;
		position: relative;
	}

	.main-nav .double-submenu > .sub-menu > .container > .menu-item:not(:last-child)::after {
		content: '';
		position: absolute;
		right: 15px;
		top: 0;
		height: 100%;
		width: 1px;
		background-color: #00000030;
	}

	.main-nav .double-submenu > .sub-menu > .container > .menu-item > a {
		color: var(--black-color) !important;
		background: transparent !important;
		pointer-events: none;
		cursor: default;
		padding-bottom: 10px;
		padding-top: 0;
		margin-bottom: 0px;
		border-bottom: 1px solid var(--primary-color);
		border-radius: 0;
	}

	.main-nav .double-submenu .sub-menu .sub-menu {
		position: static !important;
		display: block;
		opacity: 1; 
		visibility: visible;
		pointer-events: auto;
		box-shadow: none !important;
		border: none !important;
		padding: 0 !important;
		background: transparent !important;
		min-width: auto !important;
	}

	.main-nav .double-submenu > .sub-menu > .container > .menu-item > .sub-menu {
		opacity: 1;
		visibility: visible;
		pointer-events: none;
		transition: opacity 0.2s ease, visibility 0.2s ease;
		display: flex;
		flex-direction: column;
		margin-top: 15px;
		margin-right: 30px;
	}
	.main-nav .double-submenu > .sub-menu > .container > .menu-item > .sub-menu a {
		padding: 5px 15px;
		font-size: 16px;
		width: 100%;
		border-radius: 10px;
		margin-left: 0;

	}
	.main-nav .double-submenu > .sub-menu > .container > .menu-item:hover > .sub-menu {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}

	.main-nav .double-submenu .sub-menu .sub-menu .menu-item > a:hover {
		color: var(--white-color) !important;
		background-color: var(--primary-color) !important;
	}

	.main-nav .double-submenu .menu-item-has-children > a::after {
		content: none !important;
	}	
	.double-submenu .sub-menu > li {
		line-height: 40px;
	}

	.main-nav > .menu-item-has-children > a {
		display: inline-flex; 
		align-items: center;  
		gap: 0.5em;          
	}

	.menu-chevron {
		font-size: 14px;
		transition: transform 0.3s ease, color 0.3s ease;
		transform: rotate(0deg);
	}

	.main-nav > .menu-item-has-children:hover .menu-chevron {
		transform: rotate(180deg);
		color: var(--primary-color);
	}

	body.is-scrolling .main-nav .sub-menu {
		opacity: 0 !important;
		visibility: hidden !important;
		pointer-events: none !important;
		transition: opacity 0.1s, visibility 0s 0.1s !important; /* Szybka animacja zamykania */
	}
}

/**********************************/
.burger-btn-element,
.mobile-menu-close-btn {
	width: 36px;
	height: 24px;
	padding: 0;
	cursor: pointer;
	z-index: 1102;
	transition: opacity 0.3s, visibility 0.3s;
}

.burger-btn-element {
	margin-left: 1.5rem;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.mobile-menu-close-btn {
	top: 25px;
	right: 14px;
	color: var(--white-color);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.3s, visibility 0.3s;
	background: transparent;
	border: none;
	margin-left: 0;
}

.burger-bar {
	display: block;
	width: 100%;
	height: 4px;
	background: var(--primary-color);
	border-radius: 2px;
	transition: transform 0.3s, opacity 0.3s, background 0.3s;
	transform-origin: center;
}
.burger-btn-element:hover span,
.mobile-menu-close-btn:hover span {
	background: var(--primary-color) !important;
}
/* Animacja burgera w X */
.burger-btn-element.active .burger-bar:nth-child(1),
.mobile-menu-close-btn.active .burger-bar:nth-child(1) {
	transform: translateY(12px) rotate(45deg);
}
.burger-btn-element.active .burger-bar:nth-child(2),
.mobile-menu-close-btn.active .burger-bar:nth-child(2) {
	opacity: 0;
	transform: scaleX(0.5);
}
.burger-btn-element.active .burger-bar:nth-child(3),
.mobile-menu-close-btn.active .burger-bar:nth-child(3) {
	transform: translateY(-8px) rotate(-45deg);
}

body.menu-open .burger-btn-element {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}
body.menu-open .mobile-menu-close-btn {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

body.menu-open .burger-btn-element.active .burger-bar,
body.menu-open .mobile-menu-close-btn .burger-bar {
	background: var(--white-color);
}

.mobile-menu-element {
	z-index: 1100;
	visibility: hidden;
	transition: visibility 0.3s;
}
.mobile-menu-element.active {
	visibility: visible;
}
.mobile-menu-overlay {
	background: var(--full-black-color);
	opacity: 0;
	transition: opacity 0.3s;
}
.mobile-menu-element.active .mobile-menu-overlay {
	opacity: 0.45;
}
.mobile-menu-content {
	height: 100dvh;
	max-width: 400px;
	transform: translateX(-100%);
	transition: transform 0.4s cubic-bezier(.77,0,.175,1);
}
@media only screen and (max-width: 500px) {
	.mobile-menu-content {
		max-width: 80vw;;
	}
}
.mobile-menu-element.active .mobile-menu-content {
	transform: translateX(0);
}
.mobile-menu-header {
	border-bottom: 1px solid var(--gray-200);
}
.mobile-main-menu {
	box-shadow: inset 0px -2px 10px #00000020;
}
.mobile-main-menu .menu-item:last-child > a {
	border-bottom: none;
}
.mobile-main-menu .sub-menu {
	padding-left: 1rem;
	display: none;
}


.mobile-menu-footer {
	border-top: 1px solid var(--gray-200);
	border-bottom: 1px solid var(--gray-200);
}
@media only screen and (max-width: 992px) {
	.main-menu-element { display: none !important; }
	.burger-btn-element { display: flex !important; }
	.logo-img-element {
		max-width: 240px;
	}
}
@media only screen and (min-width: 992px) {
	.burger-btn-element { display: none !important; }
	.mobile-menu-element { display: none !important; }
}
.mobile-main-menu .sub-menu .menu-item > a::before {
	content: "\f192";
	font-weight: 900;
	font-size: 14px;
	top: -2px;
}

.mobile-main-menu .sub-menu .sub-menu .menu-item > a::before {
	content: "\f192";
	font-weight: 400;
	font-size: 12px;
	top: -3px;
}
.mobile-main-menu .sub-menu .menu-item > a::before,
.mobile-main-menu .sub-menu .sub-menu .menu-item > a::before {
	margin-right: 0.7em;
	display: inline-block;
	vertical-align: middle;
	transition: color 0.18s;
	position: relative;
	color: var(--primary-color);
	font-family: var(--font-fa);
}

.mobile-main-menu .menu-item {
	position: relative;
	width: 100%;
}
.mobile-main-menu .cart-shortcode,
.mobile-main-menu a ,
.mobile-main-menu .menu-item > a {
	display: block;
	width: 100%;
	padding: 15px;
	color: var(--black-color);
	font-family: var(--font-main);
	font-size: 20px;
	font-weight: 500;
	text-transform: uppercase;
	text-decoration: none;
	background: transparent;
	border: none;
	transition: color 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), border-left-color 0.18s, background 0.18s;
	position: relative;
	z-index: 1;
	outline: none;
	border-left: 3px solid transparent;
}

.mobile-main-menu .menu-item.open > a,
.mobile-main-menu .menu-item > a:focus,
.mobile-main-menu .menu-item > a:hover {
	color: var(--primary-color);
	background: var(--light-grey-color);
	border-left: 3px solid var(--primary-color);
}

.mobile-main-menu .submenu-toggle {
	background: none;
	border: none;
	position: absolute;
	top: 0px;
	right: 4px;
	color: var(--black-color);
	font-size: 1.25rem;
	cursor: pointer;
	z-index: 2;
	padding: 18px;
	transition: color 0.18s, transform 0.25s;
	display: flex;
	align-items: center;
	justify-content: center;
}
.mobile-main-menu .menu-item.open > .submenu-toggle {
	color: var(--primary-color);
	transform: rotate(360deg);
}
.mobile-main-menu .submenu-toggle i {
	transition: transform 0.25s;
}
.mobile-main-menu .menu-item.open > .submenu-toggle i {
	color: var(--primary-color);
}

.mobile-main-menu .sub-menu {
	display: none;
	padding-left: 0.7rem;
	margin: 0.1rem 0 0 0;
	animation: mobileSubmenuSlideIn 0.26s cubic-bezier(.77,0,.175,1);
	list-style: none;
	padding-left: 0;
}
.mobile-main-menu .menu-item.open > .sub-menu {
	margin: 0;
	display: block;
	animation: mobileSubmenuSlideIn 0.26s cubic-bezier(.77,0,.175,1);
}
.mobile-main-menu .menu-item.open .sub-menu .sub-menu a {
	padding-left: 1.5rem !important;
}
@keyframes mobileSubmenuSlideIn {
	from { opacity: 0; transform: translateY(-8px);}
	to { opacity: 1; transform: translateY(0);}
}

.mobile-main-menu .sub-menu .menu-item > a {
	font-size: 16px;
	padding: 15px;
	color: var(--black-color);
	background: transparent;
	text-transform: none;
	border-bottom: 1px solid #00000017;
	transition: border-left-color 0.18s, background 0.18s;
}
.mobile-main-menu .sub-menu .menu-item > a
.mobile-main-menu .sub-menu .menu-item.open > a,
.mobile-main-menu .sub-menu .menu-item > a:focus,
.mobile-main-menu .sub-menu .menu-item > a:hover {
	color: var(--primary-color);
	background: var(--white-color);
	border-left: 3px solid var(--primary-color);
}

.mobile-main-menu .menu-item .submenu-toggle + .submenu-toggle {
	display: none !important;
}


/** breadcrumps **/
body.home .section-breadcrumps {
	display: none !important;
}
.section-breadcrumps {
	min-height: 230px;
	top: 0px;
	background-color: var(--light-grey-color);
	overflow: visible !important;
}

span.breadcrumb_last {
	color: var(--primary-color) !important;
	margin-left: 15px !important;
	font-weight: 300 !important;
	text-decoration: unset;
	text-shadow: 0.3px 0 0 var(--primary-color), -0.3px 0 0 var(--primary-color), 0 0.3px 0 var(--primary-color), 0 -0.3px 0 var(--primary-color) !important;
}
#breadcrumbs {
	margin: 0 !important;	
}
#breadcrumbs,
#breadcrumbs-single-product {
	font-size: 14px !important;
	z-index: 2;
}
#breadcrumbs-single-product span a:hover,
#breadcrumbs span a:hover {
	color: var(--primary-color) !important;
	text-decoration: underline !important;
}
#breadcrumbs-single-product span:first-child,
#breadcrumbs-single-product>span>span:first-child,
#breadcrumbs span:first-child,
#breadcrumbs>span>span:first-child {
	margin-left: 0 !important;
	font-family: var(--font-secondary);
}
#breadcrumbs-single-product > span > span,
#breadcrumbs > span > span {
	margin: 0 15px;
}
#breadcrumbs-single-product > span > span.breadcrumbs-last {
	margin: 0;
}
#breadcrumbs-single-product .breadcrumbs-inner {
	white-space: normal;
}

#breadcrumbs-single-product .breadcrumbs-path {
	white-space: nowrap;
}

#breadcrumbs-single-product .breadcrumbs-last {
	white-space: nowrap;
}

@media only screen and (max-width: 500px) {
	#breadcrumbs-single-product {
		font-size: 12px !important;
		z-index: 2;
	}
}
/** koniec breadcurmps **/
.wp-block-woocommerce-cart.alignwide .wp-block-woocommerce-empty-cart-block p.has-text-align-center {
	display: flex;
	justify-content: center !important;
	margin-top: 30px !important;
}
body.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button svg {
	display: none !important;
}


.woocommerce-table.woocommerce-table--order-details.shop_table.order_details tfoot td a.woocommerce-button.button.pay.order-actions-button,
body.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button,
body.woocommerce-cart .wc-block-cart__submit-container a.btn-secondary,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button,
.furgonetka-wc-blocks-pickup-point-block-button-container button,
.tnp-submit,
.wp-block-woocommerce-cart.alignwide .wp-block-woocommerce-empty-cart-block p.has-text-align-center > a,
.woocommerce-ResetPassword button.woocommerce-Button.button,
.button.btn.xoo-el-action-btn.xoo-el-login-btn,
.button.btn.xoo-el-action-btn.xoo-el-single-btn,
.woocommerce-EditAccountForm.edit-account .woocommerce-Button.button,
.woocommerce-ResetPassword button,
.product-content-box .add_to_cart_button,
.card-body-outer .product-loop-actions-container a,
.woocommerce-button,
.product-add-to-cart a.add_to_cart_button,
.product-add-to-cart .button.product_type_variable.add_to_cart_button.yith-wcwl-themed-button-style,
.xoo-wsc-ft-buttons-cont a,
.container-formularz-form .form-group.recaptcha-group input[type="submit"],
.newsletter .wpcf7-form-control.wpcf7-submit,
.woocommerce-address-fields p button.button,
.woocommerce-orders-table__cell.woocommerce-orders-table__cell-order-actions a,
.woocommerce-EditAccountForm .woocommerce-Button,
.woocommerce-Button.woocommerce-button.button.woocommerce-form-register__submit,
.woocommerce-button.button.woocommerce-form-login__submit,
.woocommerce #respond input#submit,
.comment-form p.form-submit input,
.product-add-to-cart a.product_type_simple.add_to_cart_button,
.wc-block-components-totals-coupon__form button,
.wc-block-cart__submit-container a,
.toolvita-continue-wrap a,
.woocommerce button.button.alt,
.checkout_coupon.woocommerce-form-coupon button,
.wc-block-checkout__actions_row button,
.newsletter-section input[type="submit"],
#promoModal input[type="submit"],
.btn-primary,
.btn-secondary {
	border-radius: 0px !important;
	padding: 0px 25px;
	text-decoration: none;
	font-weight: 400;
	min-height: 50px  !important;
	align-items: center;
	text-align: center;
	display: flex;
	justify-content: center;
	min-width: 150px;
	font-size: 20px !important;
	font-family: var(--font-main) !important;
	transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
	box-shadow: var(--box-shadow);
	letter-spacing: 0px;
}

.woocommerce-table.woocommerce-table--order-details.shop_table.order_details tfoot td a.woocommerce-button.button.pay.order-actions-button,
.woocommerce-button.button.cancel.order-actions-button,
.furgonetka-wc-blocks-pickup-point-block-button-container button,
.tnp-submit,
.wp-block-woocommerce-cart.alignwide .wp-block-woocommerce-empty-cart-block p.has-text-align-center > a,
.button.btn.xoo-el-action-btn.xoo-el-login-btn,
.button.btn.xoo-el-action-btn.xoo-el-single-btn,
.woocommerce-EditAccountForm.edit-account .woocommerce-Button.button,
.woocommerce-ResetPassword button,
.product-content-box .add_to_cart_button,
.card-body-outer .product-loop-actions-container a,
.woocommerce-button,
.product-add-to-cart a.add_to_cart_button,
.product-add-to-cart .button.product_type_variable.add_to_cart_button.yith-wcwl-themed-button-style,
.xoo-wsc-ft-buttons-cont a,
.newsletter .wpcf7-form-control.wpcf7-submit,
.woocommerce-address-fields p button.button,
.woocommerce-orders-table__cell.woocommerce-orders-table__cell-order-actions a,
.woocommerce-EditAccountForm .woocommerce-Button,
.woocommerce-Button.woocommerce-button.button.woocommerce-form-register__submit,
.woocommerce-button.button.woocommerce-form-login__submit,
.woocommerce #respond input#submit,
.comment-form p.form-submit input,
.product-add-to-cart a.product_type_simple.add_to_cart_button,
.wc-block-components-totals-coupon__form button,
.wc-block-cart__submit-container a,
.woocommerce button.button.alt,
.checkout_coupon.woocommerce-form-coupon button,
.wc-block-checkout__actions_row button,
.newsletter-section input[type="submit"],
#promoModal input[type="submit"],
.btn-primary {
	background-color: var(--primary-color) !important;
	color: var(--white-color) !important;
	border: 1px solid var(--primary-color) !important; 
	&:hover {
		background-color: var(--white-color) !important;
		color: var(--primary-color) !important;
		border-color: var(--primary-color) !important;
	}
}

body.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button,
.toolvita-continue-wrap a,
body.woocommerce-cart .wc-block-cart__submit-container a.btn-secondary,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button,
.container-formularz-form .form-group.recaptcha-group input[type="submit"],
.woocommerce table.my_account_orders .button,
.woocommerce-info a.button.wc-forward,
.wpfFilterButton.wpfButton,
.remove_from_wishlist.button,
.close-button-filters,
.wc-block-components-notice-banner__content a.button.wc-forward,
.wc-block-components-notice-banner__content a,
.btn-secondary {
	background-color: var(--white-color);
	color: var(--black-color) !important;
	border: 1px solid var(--black-color); 
	&:hover {
		background-color: var(--black-color) !important;
		color: var(--white-color) !important;
		border-color: var(--black-color) !important;
	}
}

@media only screen and (max-width: 1200px) {
	body.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button,
	.woocommerce-ResetPassword button.woocommerce-Button.button,
	.button.btn.xoo-el-action-btn.xoo-el-login-btn,
	.button.btn.xoo-el-action-btn.xoo-el-single-btn,
	.woocommerce-EditAccountForm.edit-account .woocommerce-Button.button,
	.woocommerce-ResetPassword button,
	.product-content-box .add_to_cart_button,
	.card-body-outer .product-loop-actions-container a,
	.woocommerce-button,
	.product-add-to-cart a.add_to_cart_button,
	.product-add-to-cart .button.product_type_variable.add_to_cart_button.yith-wcwl-themed-button-style,
	.xoo-wsc-ft-buttons-cont a,
	.container-formularz-form .form-group.recaptcha-group input[type="submit"],
	.newsletter .wpcf7-form-control.wpcf7-submit,
	.woocommerce-address-fields p button.button,
	.woocommerce-orders-table__cell.woocommerce-orders-table__cell-order-actions a,
	.woocommerce-EditAccountForm .woocommerce-Button,
	.woocommerce-Button.woocommerce-button.button.woocommerce-form-register__submit,
	.woocommerce-button.button.woocommerce-form-login__submit,
	.woocommerce #respond input#submit,
	.comment-form p.form-submit input,
	.product-add-to-cart a.product_type_simple.add_to_cart_button,
	.wc-block-components-totals-coupon__form button,
	.wc-block-cart__submit-container a,
	.woocommerce button.button.alt,
	.checkout_coupon.woocommerce-form-coupon button,
	.wc-block-checkout__actions_row button,
	.newsletter-section input[type="submit"],
	#promoModal input[type="submit"],
	.btn-primary,
	.btn-secondary {
		font-size: 18px !important;
	}
}
@media only screen and (max-width: 992px) {
	.wpcf7-form-control.wpcf7-submit,
	.newsletter-section input[type="submit"],
	.btn-primary,
	.btn-secondary  {
		padding: 0px 10px;
	}
}

@media only screen and (max-width: 650px) {
	.woocommerce-ResetPassword button.woocommerce-Button.button,
	.button.btn.xoo-el-action-btn.xoo-el-login-btn,
	.button.btn.xoo-el-action-btn.xoo-el-single-btn,
	.woocommerce-EditAccountForm.edit-account .woocommerce-Button.button,
	.woocommerce-ResetPassword button,
	.product-content-box .add_to_cart_button,
	.card-body-outer .product-loop-actions-container a,
	.woocommerce-button,
	.product-add-to-cart a.add_to_cart_button,
	.product-add-to-cart .button.product_type_variable.add_to_cart_button.yith-wcwl-themed-button-style,
	.xoo-wsc-ft-buttons-cont a,
	.container-formularz-form .form-group.recaptcha-group input[type="submit"],
	.newsletter .wpcf7-form-control.wpcf7-submit,
	.woocommerce-address-fields p button.button,
	.woocommerce-orders-table__cell.woocommerce-orders-table__cell-order-actions a,
	.woocommerce-EditAccountForm .woocommerce-Button,
	.woocommerce-Button.woocommerce-button.button.woocommerce-form-register__submit,
	.woocommerce-button.button.woocommerce-form-login__submit,
	.woocommerce #respond input#submit,
	.comment-form p.form-submit input,
	.product-add-to-cart a.product_type_simple.add_to_cart_button,
	.wc-block-components-totals-coupon__form button,
	.wc-block-cart__submit-container a,
	.woocommerce button.button.alt,
	.checkout_coupon.woocommerce-form-coupon button,
	.wc-block-checkout__actions_row button,
	.newsletter-section input[type="submit"],
	#promoModal input[type="submit"],
	.btn-primary,
	.btn-secondary {
		font-size: 14px !important;
	}

	.product-content-box a.btn-primary,
	.product-content-box .add_to_cart_button {
		font-size: 14px !important;
		padding: 0 5px !important;
		min-width: unset !important;
		width: 100% !important;
	}
}
@media only screen and (max-width: 400px) {
	.product-content-box button.btn-primary,
	.product-content-box a.btn-primary,
	.product-content-box .add_to_cart_button {
		padding: 0 5px !important;
		min-width: unset !important;
	}
}
/*******************************************/
.contact-section .col-left-contact p {
	max-width: 580px;
	padding-right: 30px;
}

.contact-section input,
.contact-section textarea {
	margin-bottom: 20px !important;
}


.contact-section input.wpcf7-form-control.wpcf7-submit {
	margin-bottom: 0 !important;
}
.contact-section .form-row {
	display: flex !important;
	gap: 20px;
}

.contact-left {
	flex: 1;
}

.contact-right {
	padding: 40px;
	border: 1px solid var(--white-color);
	background-color: var(--primary-color);
}
.contact-right form.wpcf7-form {
	position: relative;
}
.label-form  {
	font-size: 14px;
	font-weight: bold;
	padding-left: 25px;
}

.container-formularz-form.container-form-usluga .form-group textarea,
.container-formularz-form.container-form-usluga .form-group p,
.container-formularz-form.container-form-usluga .form-group input{
	margin-bottom: 0 !important;
}
#formularz p {
	margin-bottom: 0 !important;
}
.container-formularz-form input,
.container-formularz-form textarea {
	width: 100%;
	padding: 10px 15px;
	border: 1px solid var(--white-color);
	background: var(--white-color);
	font-size: 14px;
	resize: unset !important;
	border-radius: 35px;
	width: 100%;
}
.container-formularz-form .checkbox-group {
	margin-bottom: 20px !important;
}
.container-formularz-form .checkbox-group p{
	align-items: baseline;
	font-size: 14px !important;
	color: var(--white-color) !important;
	display: flex;
	line-height: 20px;
	gap: 15px;
}

.container-formularz-form .checkbox-group p a {
	display: contents;
}
.container-formularz-form .checkbox-group a:hover {
	color: var(--white) !important;
}

.container-formularz-form .checkbox-group a:hover {
	text-decoration: underline;
}
.social-media-formularz {
	margin-top: 75px;
}
.social-media-formularz-inner {
	display: flex;
	width: 100%;
	max-width: 150px;
	justify-content: space-between;
	margin-top: 25px;
}
.container-formularz-form .form-group.recaptcha-group p {
	display: flex !important;
	margin-bottom: 0 !important;
	width: 100%;
}
.wpcf7-spinner {
	position: absolute;
}
.container-formularz-form .form-group.recaptcha-group {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-direction: column;
	gap: 15px;
}

.container-formularz {
	display: flex;
	gap: 15px;
}
.contact-tekst-b2b {
	padding-right: 50px;
}

@media only screen and (max-width: 769px) {
	.contact-section {
		display: flex;
		justify-content: center;
		align-items: center;
		margin-top: unset !important;
		background-image: unset !important;
		flex-direction: column;
	}
	.container-formularz-form .form-group.recaptcha-group {
		flex-direction: column;
		gap: 15px;
	}
	.left-formularz {
		margin-top: unset !important;
	}
	.contact-section .form-row {
		display: block !important;
	}
	.container-formularz-form .form-group.recaptcha-group p,
	.container-formularz {
		flex-direction: column;
		width: 100%;
	}
	.left-formularz p {
		margin-bottom: 10px;
	}
	.social-media-formularz {
		margin: 35px 0 !important;
	}
	.contact-tekst-b2b {
		padding-right: 0px;
	}
	.contact-section .row {
		gap: 25px;
	}
	.contact-right {
		padding: 20px;
	}
	.contact-section h2 {
		text-align: start !important;
	}
}
/* Placeholdery */
.input-group input::placeholder,
input.wpcf7-form-control::placeholder,
textarea.wpcf7-form-control::placeholder {
	color: var(--black-color) !important;
	opacity: 1;
	transition: color 0.3s ease-in-out;
}

.input-group input:hover::placeholder,
.input-group input:focus::placeholder,
input.wpcf7-form-control:hover::placeholder,
input.wpcf7-form-control:focus::placeholder,
textarea.wpcf7-form-control:hover::placeholder,
textarea.wpcf7-form-control:focus::placeholder {
	color: var(--black-color) ;
	opacity: 1;
}

input:-webkit-autofill {
	-webkit-box-shadow: 0 0 0px 1000px white inset !important;
	-webkit-text-fill-color: var(--black-color) !important;
}

.input-group input,
input.wpcf7-form-control,
textarea.wpcf7-form-control {
	outline: none !important;
	box-shadow: none;
	border: none;
	height: 50px;
	background: var(--white-color);
	border-bottom: 1px solid var(--white-color);
	color: var(--black-color);
	transition: box-shadow 0.3s, color 0.3s;
}

.input-group input:hover,
.input-group input:focus,
input.wpcf7-form-control:hover,
input.wpcf7-form-control:focus,
textarea.wpcf7-form-control:hover,
textarea.wpcf7-form-control:focus {
	box-shadow: var(--box-shadow-hover);
	color: var(--black-color);
	border-bottom: 1px solid var(--primary-color);
}

textarea.wpcf7-form-control {
	border-radius: 0px;
	resize: vertical;
	min-height: 120px;
	transition: box-shadow 0.3s, color 0.3s;
}

input.wpcf7-form-control[type="text"],
input.wpcf7-form-control[type="email"],
input.wpcf7-form-control[type="tel"] {
	border-radius: 0px;
	padding: 10px 15px;
	font-size: 14px;
	transition: box-shadow 0.3s, color 0.3s;
	border: 1px solid #00000025;
}

input:focus,
textarea:focus {
	outline: none !important;
	box-shadow: var(--box-shadow-hover);
	border: none;
	color: var(--primary-color) !important;
	opacity: 1 !important;
}

.checkbox-group .wpcf7-list-item {
	margin: 0 !important;
}
input[type="checkbox"] {
	accent-color: var(--primary-color);
	background-color: var(--primary-color);
	color: var(--white-color) !important;
	border: 1px solid var(--primary-color) !important;
	transform: scale(1.2);
	margin: 0 !important;
}

input[type="checkbox"]:checked,
input[type="checkbox"]:checked:focus {
	background-color: var(--primary-color);
	accent-color: var(--primary-color);
	outline: 2px solid var(--white-color) !important;
	outline-offset: 0px;
	box-shadow: none !important;
}

.wpcf7-not-valid-tip {
	font-size: 12px;
	position: absolute;
	left: 17px;
	top: 24px;
	line-height: 14px;
}
.form-group.half-width .wpcf7-not-valid-tip {
	top: 24px;
}
.form-group.form-group-textarea .wpcf7-not-valid-tip {
	top: -20px;
}
.wpcf7 form .wpcf7-response-output {
	margin: 0;
	position: absolute;
	bottom: -37px;
	font-size: 12px;
}
#promoModal .wpcf7 form .wpcf7-response-output {
	bottom: -28px;
	font-size: 10px;
	left: 23px;
}
.contact-section .wpcf7 form .wpcf7-response-output {
	bottom: -100px;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	color: var(--black-color);
}
body.single-post .spider-web-corner{
	display: none;
}
/******** SEKCJA NEWSLETTER ********/
#newsletter-section {
	padding: 0px 0 150px;
	border-bottom-left-radius: 60px;
	border-bottom-right-radius: 60px;
	z-index: 1002;
	background: var(--white-color);
	margin-bottom: -50px;
}

#promoModal .wpcf7-form {
	position: relative !important;
}

.newsletter-consent-inner {
	max-width: 737px;
}

.newsletter-consent .wpcf7-list-item > label {
	display: flex;
	align-items: flex-start;
	cursor: pointer;
}
.newsletter-consent p {
	text-align: justify;
	margin-bottom: 0;
}
.newsletter-consent input[type="checkbox"] {
	margin-right: 10px !important; 
	flex-shrink: 0; 
	margin-top: 4px !important;
}

/* 3. Stylowanie tekstu etykiety */
.newsletter-consent .wpcf7-list-item-label {
	flex-grow: 1;
	display: block;
	font-size: 14px;
	line-height: 17px;
}

.newsletter-content-wrapper {
	max-width: 960px;
}

.newsletter-email-input input {
	width: 100%;
}
.contact-section  .wpcf7,
.newsletter-section .wpcf7 {
	display: flex;
	position: relative;
	justify-content: center;
}
.newsletter-section .wpcf7-form > p {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	margin-bottom: 25px;
}
#promoModal .wpcf7-acceptance .wpcf7-list-item,
.newsletter-section .wpcf7-acceptance .wpcf7-list-item {
	margin: 0 auto;
}
.newsletter-section .wpcf7-not-valid-tip {
	left: 16px;
	top: 24px;
}
@media only screen and (max-width: 768px) {
	.placeholder-newsletter-left {
		flex-direction: column;
		gap: 15px !important;
	}
	.newsletter-email-input p {
		margin-bottom: 0 !important;
	}
	.placeholder-newsletter-left p,
	.placeholder-newsletter-left input,
	.placeholder-newsletter-left div {
		width: 100% !important;
	}
	.newsletter-email-input {
		max-width: 100%;
	}
	.newsletter-section .wpcf7-not-valid-tip {
		left: 16px;
		top: 20px;
	}
	.newsletter-section input.wpcf7-form-control[type="email"] {
		text-align: center !important;
	}
	.newsletter-consent .wpcf7-list-item-label {
		font-size: 12px;
		line-height: 14px;
	}
}

.tnp.tnp-subscription {
	max-width: 960px;
	margin: 0 auto;
}
.tnp.tnp-subscription form {
	position: relative; 

}
.tnp-submit {
	position: absolute !important;
	top: 0 !important;
	right: 0 !important;
	max-height: 50px !important;
	align-items: center !important;
	justify-content: center !important;
	display: flex !important;
	line-height: 20px !important;
}
.tnp-field.tnp-field-email {
	margin-right: 170px !important;
}
.tnp-field-email .tnp-email {
	width: 100%;
	height: 50px;
	padding: 10px 15px;
	font-size: 14px;
	box-shadow: none;
	outline: none;
	transition: box-shadow 0.3s, color 0.3s, border-bottom 0.3s;
}

.tnp-subscription input[type=email] {
	background-color: var(--white-color) !important;
	border: 1px solid #00000020 !important;
	position: relative;
}

.tnp-field-email .tnp-email::placeholder {
	color: var(--black-color);
	opacity: 1;
}

.tnp-field-email .tnp-email:hover,
.tnp-field-email .tnp-email:focus {
	box-shadow: var(--box-shadow-hover);
	color: var(--black-color);
	border-bottom: 1px solid var(--primary-color);
}

.tnp-privacy-field label {
	display: flex;
	align-items: flex-start;
	cursor: pointer;
	font-size: 14px;
	line-height: 17px;
	text-align: justify;
}
.tnp.tnp-subscription .tnp-field.tnp-field-email label {
	display: none;
}

.tnp-field.tnp-field-button {
	margin: 0 !important;
}


@media only screen and (max-width: 768px) {
	.tnp.tnp-subscription form {
		display: flex;
		flex-direction: column;
		gap: 15px;
	}
	.tnp-field-button {
		text-align: center !important;
	}
}
@media only screen and (max-width: 480px) {
	.tnp-submit {
		position: relative !important;
		top: unset !important;
		right: unset !important;
		align-items: center !important;
		justify-content: center !important;
		display: flex !important;
		line-height: 20px !important;
	}
	.tnp-field.tnp-field-email {
		margin-right: 0px !important;
	}
	.tnp.tnp-subscription form {
		gap: 5px;
	}
	#promoModal .promo-list li {
		font-size: 16px !important;
		line-height: 20px !important;
	}
	.tnp-field.tnp-privacy-field label {
		font-size: 12px !important;
		line-height: 16px !important;
	}
	#promoModal img {
		max-width: 300px !important;
	}
}


/****** footer *********/
#site-footer {
	padding-top: 125px !important;
	background-color: var(--black-color);
	position: relative;
	z-index: 1001;
}
#site-footer .footer-menu a {
	color: var(--white-color);
}

.bottom-container p {
	font-size: 14px !important;
}

/* Stylowanie kółek social media */
.social-icon-circle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background-color: var(--white-color, #fff);
	border: 1px solid var(--white-color, #d4a017);
	border-radius: 50%;

	text-decoration: none;
	transition: all 0.3s ease;
}

.social-icon-circle i {
	font-size: 1.1rem;
	color: var(--primary-color, #d4a017);
}

.contact-email-box .social-icon-circle:hover {
	background-color: unset;
	color: unset !important;
	border-color: unset;
}
.contact-email-box .social-icon-circle:hover i {
	color: unset !important;
}
.social-icon-circle:hover i {
	color: var(--white-color) !important;
}

].contact-email-box:hover .icon-box-small {
	background-color: var(--primary-color, #d4a017) !important;
	color: #fff !important;
}
.contact-email-box:hover .social-icon-circle i,
.contact-email-box:hover .social-icon-circle,
.social-icon-circle:hover {
	background-color: var(--primary-color, #d4a017);
	color: var(--white-color) !important;
	border-color: var(--primary-color, #d4a017);
}
.footer-main-content .p-h4{
	color: var(--primary-color) !important;
}
.brand-description {
	max-width: 400px;
}
.footer-logo {
	max-width: 240px;
}
@media only screen and (min-width: 769px) {
	.footer-menus .p-h4 {
		margin-top: 0 !important;
	}
}

@media only screen and (max-width: 768px) {
	.footer-menu {
		gap: 10px !important;
	}
	.footer-main-content {
		margin-bottom: 50px !important;
	}
}

/***** front page *****/
.hero-banner-wrapper img {
	max-width: 1000px;
}
.hero-section {
	background-color: var(--white-color);
	padding: 100px 0 0px;
}
.przyciski-slider-glowny {
	left: 50%;
	bottom: -50px;
	transform: translatex(-50%);
}
.tracking-wide {
	letter-spacing: 0.1em;
}
.hero-image-wrapper,
.hero-slider-wrapper {
	min-height: 430px;
}
.hero-slide .col-md-6 {
	margin-top: 0 !important;
}
.container-main-landing p {
	max-width: 600px;
	text-align: left !important;
}

.hero-slide {
	display: none;
	opacity: 0;
	transition: opacity 0.6s ease-in-out;
}
.hero-slide.active {
	display: block;
	opacity: 1;
}

.hero-image-wrapper {
	transform: perspective(1000px) rotateY(-5deg);
	transition: transform 0.3s ease;
	max-height: 100%;
	height: 100%;
	overflow: hidden;
	border-radius: 10px;
	align-items: center;
	display: flex;
}
.hero-image-wrapper img.img-fluid {
	max-height: 350px;
	width: 100%;
	height: 100%;
	object-fit: contain;
	border-radius: 8px;
}
.hero-image-wrapper:hover {
	transform: perspective(1000px) rotateY(0deg);
}

/* animacje tytułu, opisów, przycisków */
.h1-hero,
.hero-description,
.hero-buttons,
.hero-image-wrapper {
	opacity: 0;
}

/* różne czasy, ale ten sam efekt – buduje lekką sekwencję */
.hero-slide.active .h1-hero {
	animation: heroUltraSoft 0.8s ease-out forwards;
}
.hero-slide.active .hero-description {
	animation: heroUltraSoft 0.9s ease-out forwards;
}
.hero-slide.active .hero-buttons {
	animation: heroUltraSoft 1s ease-out forwards;
}
.hero-slide.active .hero-image-wrapper {
	animation: heroUltraSoft 0.9s ease-out forwards;
}

@keyframes heroUltraSoft {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@media only screen and (max-width: 992px) {
	.hero-image-wrapper,
	.hero-slider-wrapper {
		min-height: 330px;
	}
	.hero-image-wrapper {
		padding: 0;
		border: 0;
		margin-top: 25px;
	}

}

@media only screen and (max-width: 768px) {
	.hero-image-wrapper,
	.hero-slider-wrapper {
		min-height: unset;
	}
	.hero-section {
		min-height: unset !important;
	}

	.hero-banner-wrapper {
		padding-top: 25px !important;
	}

	.hero-image-wrapper {
		transform: perspective(0px) rotateY(0deg) !important; 
	}
	.container-main-landing {
		margin-top: 100px;
	}
	.hero-section::before {
		background-color: rgba(0, 0, 0, 0.89);
	}
	.hero-image-wrapper img.img-fluid {
		max-height: 500px;
		width: 100%;
		height: 100%;
		border: 0;
	}

	.hero-image-wrapper img.img-fluid {
		max-height: 250px;
	}
	.hero-buttons{
		gap: 10px !important;
	}
	.przyciski-slider-glowny {
		bottom: -50px;
	}
}
@media only screen and (min-width: 500px) {
	.kontakt-buttons a {
		min-width: 205px;
	}
}

@media only screen and (max-width: 400px) {
	.kontakt-buttons,
	.hero-buttons {
		flex-direction: column;
	}
	.kontakt-buttons a {
		width: 100%;
	}
}

/************************************************************/
.service-item {
	position: relative;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 0 15px;
}

.service-item:before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	background-image: url('/wp-content/uploads/2025/12/toolvita-logo-green.png'); 
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	width: 80%;
	height: 100%;
	z-index: -1;
	opacity: 0.05;
}

/* Pudełko z ikoną */
.service-item .outer-box {
	width: 80px;
	height: 80px !important;
	margin-bottom: 25px;
	z-index: 1;
	background: var(--primary-color, #28a745); /* Główny kolor (zielony z Toolvita) */
	border-radius: 20px 0; /* Charakterystyczny kształt */
	box-shadow: 0px 5px 15px rgba(0,0,0,0.15); /* Ładniejszy cień */
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.3s ease;
}

.service-item:hover .outer-box {
	transform: translateY(-5px);
}

.outer-box i {
	font-size: 28px !important;
	color: #ffffff !important;
}

.service-item h3 {
	margin-bottom: 15px;
	margin-top: 0 !important;
}

.service-item p {
	width: 90%;
	font-size: 16px !important;
	margin: 0;
}

@media only screen and (max-width: 1024px) {
	.service-item {
		margin-bottom: 40px;
	}
}

@media only screen and (max-width: 650px) {
	.service-item {
		margin-bottom: 25px;
		width: 100% !important;
	}

	.service-item p {
		width: 100%;
	}

	.service-item:before {
		display: none;
	}
	.service-item p {
		width: 90%;
		font-size: 14px !important;
		margin: 0;
	}
}

.contact-card {
	background: var(--white-color);
	background: linear-gradient(145deg, #ffffff, #f9f9f9);
	border: 1px solid rgba(0,0,0,0.05);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.contact-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 20px 40px rgba(0,0,0,0.08) !important;
}

.card-corner-decoration {
	display: none !important;
	position: absolute;
	top: -30px;
	right: -30px;
	width: 120px;
	height: 120px;
	background: var(--primary-color);
	opacity: 0.08;
	border-radius: 40% 60% 70% 30% / 40% 50% 60% 50%;
	z-index: 1;
	animation: morph 8s ease-in-out infinite;
}

@keyframes morph {
	0%, 100% { border-radius: 40% 60% 70% 30% / 40% 50% 60% 50%; }
	34% { border-radius: 70% 30% 50% 50% / 30% 30% 70% 70%; }
	67% { border-radius: 100% 60% 60% 100% / 100% 100% 60% 60%; }
}

.contact-row {
	transition: background-color 0.2s ease;
}

.contact-row:hover {
	background-color: rgba(var(--primary-rgb), 0.03);
}

.icon-box-small {
	width: 45px;
	height: 45px;
	background-color: #fff;
	color: var(--primary-color);
	border: 1px solid rgba(0,0,0,0.05);
	flex-shrink: 0;
	font-size: 1.1rem;
	transition: all 0.3s ease;
}

.contact-row:hover .icon-box-small {
	background-color: var(--primary-color);
	color: #fff;
	border-color: var(--primary-color);
	transform: scale(1.1);
}
.contact-row:hover .icon-box-small i {
	color: #fff;
}
/******* strzalki dla sliderow *********/
.hero-arrow,
.product-slider-section .swiper-button-prev,
.product-slider-section .swiper-button-next,
.related-products-section .swiper-button-prev,
.related-products-section .swiper-button-next {
	width: 40px !important;
	height: 40px !important;
	background: transparent;
	color: var(--black-color, #000);
	transition: color 0.3s ease, transform 0.3s ease;
	z-index: 10;
	border: unset;
}

.hero-arrow::after,
.product-slider-section .swiper-button-prev::after,
.product-slider-section .swiper-button-next::after,
.related-products-section .swiper-button-prev::after,
.related-products-section .swiper-button-next::after {
	display: none !important;
}

.hero-arrow::before,
.product-slider-section .swiper-button-prev::before,
.product-slider-section .swiper-button-next::before,
.related-products-section .swiper-button-prev::before,
.related-products-section .swiper-button-next::before {
	font-family: "Font Awesome 6 Pro";
	font-weight: 900;
	font-size: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	color: var(--black-color);
	height: 100%;
}

.hero-arrow-prev::before,
.product-slider-section .swiper-button-prev::before,
.related-products-section .swiper-button-prev::before {
	content: '\f053'; /* fa-chevron-left */
}
.hero-arrow-next::before,
.product-slider-section .swiper-button-next::before,
.related-products-section .swiper-button-next::before {
	content: '\f054'; /* fa-chevron-right */
}

.hero-arrow:hover::before,
.product-slider-section .swiper-button-prev:hover::before,
.product-slider-section .swiper-button-next:hover::before,
.related-products-section .swiper-button-prev:hover::before,
.related-products-section .swiper-button-next:hover::before {
	color: var(--primary-color, #28a745) !important;
}

.product-slider-section .swiper-button-prev,
.related-products-section .swiper-button-prev {
	left: 0px !important;
}

.product-slider-section .swiper-button-next,
.related-products-section .swiper-button-next {
	right: 0px !important;
}
.scrollTopBtn {
	position: fixed;
	right: 10px;
	bottom: 100px;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: none;
	background: var(--primary-color);
	border: 1px solid var(--primary-color);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: 0 3px 10px rgba(0,0,0,0.25);
	z-index: 1003;
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	pointer-events: none;
	transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, bottom 0.25s ease; ;	
}

.scrollTopBtn.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}

.scrollTopBtn--above-footer {
	bottom: 180px !important;
}

.scrollTopBtn i {
	color: var(--white-color);
}

.scrollTopBtn:hover {
	background-color: var(--white-color) !important;
	border: 1px solid var(--primary-color);
}
.scrollTopBtn:hover i {
	color: var(--primary-color) !important;
}
@media only screen and (max-width: 768px) {
	.hero-arrow,
	.product-slider-section .swiper-button-prev,
	.product-slider-section .swiper-button-next,
	.related-products-section .swiper-button-prev,
	.related-products-section .swiper-button-next {
		width: 30px !important;
		height: 30px !important;
	}
	.hero-arrow::before,
	.product-slider-section .swiper-button-prev::before,
	.product-slider-section .swiper-button-next::before,
	.related-products-section .swiper-button-prev::before,
	.related-products-section .swiper-button-next::before {
		font-size: 30px;
	}
	.product-slider-section .swiper-button-prev::before,
	.related-products-section .swiper-button-prev::before{
		justify-content: left; 
		padding-left: 3px;
	}
	.product-slider-section .swiper-button-next::before,
	.related-products-section .swiper-button-next::before {
		justify-content: right; 
		padding-right: 3px;
	}
	.product-slider-section .swiper-button-next, .related-products-section .swiper-button-next,
	.product-slider-section .swiper-button-prev, .related-products-section .swiper-button-prev {
		top: 47% !important;
	}
}

/*******************************************************/
/* podkreślenie inputu */
.search-input-underline {
	height: 1px;
	width: 100%;
	background-color: rgba(255,255,255,0.25);
	margin-top: 0px;
	position: relative;
}
.search-input-underline::after {
	content:'';
	position:absolute;
	left:0; top:0;
	height:100%;
	width:0;
	background-color:#4baf5a;
	transition:width .3s ease;
}
.search-input-wrapper:focus-within .search-input-underline::after {
	width:100%;
}

.product-search-card {
	border-radius:0;
	box-shadow: var(--header-shadow) !important;
}

.search-tag-badge {
	background-color:#f4f4f4;
	color:#262626;
	padding:8px 16px;
	border-radius:999px;
	text-decoration:none;
	font-size:.85rem;
}
.search-tag-badge:hover {
	background-color: var(--primary-color);
	color: var(--white-color) !important;
}
#close-search-btn {
	opacity: 1 !important;
	filter: none !important;
	transition: transform .15s ease, filter .15s ease;
}

/* hover */
#close-search-btn:hover,
#close-search-btn:focus-visible {
	transform: scale(1.1);
}


.search-input-wrapper:hover .search-input-icon-btn i{
	color: var(--primary-color) !important;
}
#search-results-container.products-scroll {
	max-height: 36vh;
	overflow-y: auto;
	padding-top: 10px
}

#universal-search-overlay {
	z-index: 9999999 !important;
	background-color: var(--white-color) !important;
	height: 100dvh !important;
}
.product-search-title {
	font-family: var(--font-main);
}
.product-search-excerpt {
	line-height: 1.4;
}
#search-results-container.products-scroll::-webkit-scrollbar {
	width: 6px;
}
#search-results-container.products-scroll::-webkit-scrollbar-track {
	background: var(--black-color);
}
#search-results-container.products-scroll::-webkit-scrollbar-thumb {
	background-color: rgba(255,255,255,0.4);
	border-radius: 3px;
}
#search-results-container.products-scroll::-webkit-scrollbar-thumb:hover {
	background-color: rgba(255,255,255,0.7);
}

/* Firefox */
#search-results-container.products-scroll {
	scrollbar-width: thin;
	scrollbar-color: var(--primary-color) transparent;
}

.search-overlay-inner {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow-y: auto;
}
.search-loader {
	position: relative;
	width: 18px;
	height: 18px;
}

.search-loader .dot {
	opacity: 0;
	position: absolute;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background-color: var(--primary-color);
	top: 50%;
	left: 50%;
	transform-origin: 0 0;
	transform: translate(-50%, -50%) translateX(7px);
	animation: search-dots-rotate 0.9s linear infinite;
}

/* 9 kropek – równomierne przesunięcie */
.search-loader .dot-1 { animation-delay: 0s; }
.search-loader .dot-2 { animation-delay: 0.1s; }
.search-loader .dot-3 { animation-delay: 0.2s; }
.search-loader .dot-4 { animation-delay: 0.3s; }
.search-loader .dot-5 { animation-delay: 0.4s; }
.search-loader .dot-6 { animation-delay: 0.5s; }
.search-loader .dot-7 { animation-delay: 0.6s; }
.search-loader .dot-8 { animation-delay: 0.7s; }
.search-loader .dot-9 { animation-delay: 0.8s; }

@keyframes search-dots-rotate {
	0%   { transform: translate(-50%, -50%) rotate(0deg)   translateX(7px); opacity: 0.1; }
	50%  { transform: translate(-50%, -50%) rotate(180deg) translateX(7px); opacity: 1;   }
	100% { transform: translate(-50%, -50%) rotate(360deg) translateX(7px); opacity: 0.1; }
}


.search-overlay-content {
	flex: 0 0 auto;
}

#search-results-wrapper {
	flex: 1 1 auto;
}

.search-static-section {
	flex: 0 0 auto;
}

#promoModal .opisowy-con-modal p.p-h3 {
	max-width: 280px;
}

#promoModal .opisowy-con-modal p {
	max-width: 430px;
}

#promoModal img {
	max-height: 300px;
}
.promo-bar {
	background: var(--primary-color);
	z-index: 1001;
}

.promo-bar-inner {
	padding: 8px 0;
}
.modal-backdrop.show {
	background-color: rgba(0, 0, 0, 0.75);
}
.modal-dialog {
	margin: .5rem auto;
}

.modal.modal-dialog-centered .modal-dialog,
.modal.show .modal-dialog {
	margin-top: auto;
	margin-bottom: auto;
}
.modal.show .modal-dialog {
	height: 100vh;
	padding: 0 12px;
}
.promo-bar-img {
	width: 40px;
	height: 40px;
	object-fit: cover;
	border-radius: 999px;
}

.promo-bar-text div {
	line-height: 1.3;
}

@media (min-width: 992px) {
	.search-overlay-inner  {
		overflow-x: hidden;
	}
}
@media (max-width: 992px) { 
	.modal-zapis-newsletter {
		padding: 20px !important;
	}
}
@media only screen and (max-width: 768px) {
	#search-results-container.products-scroll {
		padding-left: 10px !important;
	}
	#results-products {
		padding-right: 10px !important;
		padding-top: 10px !important;
	}
	.search-static-section {
		padding: 25px 12px !important;
	}
	#results-products img {
		max-height: unset !important;
		width: 100% !important;
	}
	#results-products .btn-results {
		max-width: 100% !important;
	}
	#results-products .inner-div-zdjecie {
		max-height: unset !important;
		width: 50%;
		height: 100% !important;
	}
	.search-overlay-content {
		padding: 12px 12px 35px !important;
	}
	#products-heading {
		display: none !important;
	}

	#promoModal .col-lower-img {
		display: none;
	}
	#promoModal .opisowy-con-modal p.p-h3 {
		max-width: 235px;
	}

}
.product-promo {
	border: 2px dotted #4a4a4a; 
	border-radius: 20px;
	background-color: var(--gray-100); 
	padding: 20px;           
}

/* main slider */
.promo-box {
	display: flex;
	align-items: center;
	gap: 10px;
}

.promo-icon {
	font-size: 30px;
	color: #000000;
}

.promo-content h3 {
	font-size: 20px !important;
	line-height: 24px !important;
	font-weight: 700;
	margin: 0 0 0px;
}

.promo-content p {
	font-size: 15px !important;
	line-height: 20px !important;
	margin: 0;
	color: #444;
}
/*****************/
.promo-list {
	list-style: none;
	padding-left: 0;
	margin: 0;
}

.promo-list li {
	position: relative;
	padding-left: 28px;
	margin-bottom: 6px;
}

.promo-list li::before {
	content: "\f058";
	font-family: "Font Awesome 6 Pro";
	font-weight: 900;
	position: absolute;
	left: 0;
	top: 0px;
	color: #1a8f4b;
	font-size: 16px;
}
@media only screen and (max-height: 630px) and (min-width: 993px) {
	.product-details-section-sticky .promo-list li {
		font-size: 12px !important;
	}
	.promo-list li::before {
		font-size: 12px;
	}
	body.single-product h1 {
		font-size: 30px !important;
		line-height: 34px !important;
	}
}
@media only screen  and (min-width: 993px) and (max-width: 1250px) {
	.product-promo {
		padding: 15px !important;
		margin-top: 15px !important;
	}
	body.single-product h1 {
		font-size: 26px !important;
		line-height: 30px !important;
		margin-bottom: 15px !important;
	}
}
/*** cokies yes styles */
.cky-btn-revisit-wrapper {
	background-color: var(--primary-color) !important;
	z-index: 1000 !important;
}
.cky-show-desc-btn {
	color: var(--primary-color) !important;
}

.cky-btn.cky-btn-reject,
.cky-btn.cky-btn-preferences,
.cky-btn.cky-btn-accept {
	color: #ffffff !important;
	background-color: var(--primary-color) !important;
	border-color: var(--primary-color) !important;
}
.cky-btn.cky-btn-customize {
	border-color: var(--black-color) !important;
	color: var(--black-color) !important;
}
.cky-preference-content-wrapper a,
.cky-accordion-header-des a {
	color: var(--primary-color) !important;
}

.cky-btn:hover {
	opacity: 0.9;
}

#promoModalLabel {
	text-transform: none !important;
}

.about-contact-section p {
	text-align: left !important;
}