/*
Theme Name:     GeneratePress Child
Theme URI:
Description:    Generatepress child theme.
Author:         Adam Antoszczak
Author URI:     <https://adamant.pl/>
Template:       generatepress
Version:        0.1.0
*/

/* Elementor Global */
.elementor-widget-text-editor p {
	margin-bottom: 0px;
}

.e-n-accordion details.e-n-accordion-item[open] .e-n-accordion-item-title {
	background-color: #f68e39 !important;
	color: #ffffff;
    position: relative;
    z-index: 2;
}

.e-n-accordion .e-opened svg {
	fill: #ffffff !important;
}

.e-n-accordion .e-n-accordion-item-title-icon {
    position: absolute !important;
    right: 40px;
}

.e-n-accordion .e-child {
	background: #fff;
    position: relative;
    top: -15px;
    z-index: 1;
}

.elementor-page .site.grid-container,
.elementor-page .inside-header,
.elementor-page .site-content,
.elementor-page .content-area{
	max-width:100% !important;
	width:100% !important;
	padding:0 !important;
	margin:0 !important;
}


/* Posty w Elementor [latest_posts_grid]  */
.latest-posts-grid {
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:30px;
	margin:40px 0;
}

.post-card {
	background: #f6f6f6;
	border-radius: 25px;
	overflow:hidden;
	transition:.3s ease;
}

.post-card:hover{
	transform:translateY(-6px);
}

.post-card img {
	width:100%;
	height:240px;
	object-fit:contain;
	display:block;
}

.post-card .content{
	padding: 30px;
}

.post-card h3 {
	font-size:22px;
	text-transform: uppercase;
	margin:0 0 12px;
	line-height:1.3;
}

.post-card h3 a {
	text-decoration:none;
	color:#111;
}

.post-card p {
	font-size:15px;
	color:#666;
	margin-bottom:20px;
}


@media(max-width:1024px){
	.latest-posts-grid{
		grid-template-columns:1fr 1fr;
	}

	.site-header .header-widget {
	    align-items: center;
	    justify-content: end;
	}  

	.secondary-menu-toggle{
		display:none !important;
	}

	#secondary-navigation .main-nav{
		display:block !important;
		position:static !important;
		visibility:visible !important;
		opacity:1 !important;
		height:auto !important;
	}

	#secondary-navigation ul{
		display:flex !important;
		flex-direction: row;
	}
}

@media(max-width:768px){
	.latest-posts-grid{
		grid-template-columns:1fr;
	}

	.e-n-accordion .e-n-accordion-item-title-icon {
		right: 20px;
	}	

}

/* Header */
.site-header {
    padding-bottom: 20px;
}

.site-logo {
    margin: 10px 40px;
}

.nav-float-right #site-navigation {
    margin-left: auto;
    margin-right: auto;
}

.main-navigation {
	border-bottom: none !important;
}

nav .main-nav .mega-menu.menu-item-has-children .dropdown-menu-toggle {
	color: #f68e39;
}

button.menu-toggle:hover, button.menu-toggle:focus {
	color: #000000 !important;
}

/* Mega menu */

.main-navigation {
	border-bottom: 1px solid #FF8536;
}

@media (min-width: 769px) {

	nav .main-nav .mega-menu.menu-item-has-children .dropdown-menu-toggle {

	}
	.main-navigation .main-nav ul li.menu-item-has-children>a {
		padding-right: 10px;
	}

    nav .main-nav .mega-menu {
        position: static;
    }

    nav .main-nav .mega-menu > ul {
        position: absolute;
        width: 100%;
        left: 0 !important;
        display: flex;
        flex-wrap: wrap;
		box-shadow: none;
		padding: 20px 10px;
		border-top: none;
    }

    nav .main-nav .mega-menu > ul > li > a {
        font-weight: bold;
		font-size: 18px;
    }

    nav .main-nav .mega-menu>ul>li {
        display: inline-block;
        width: 25%;
        vertical-align: top;
    }

    nav .main-nav .mega-menu.mega-menu-col-2>ul>li {
        width: 50%;
    }

    nav .main-nav .mega-menu.mega-menu-col-3>ul>li {
        width: 33.3333%;
    }

    nav .main-nav .mega-menu.mega-menu-col-5>ul>li {
        width: 20%;
    }

    nav .main-nav .mega-menu > ul > li:hover > a,
    nav .main-nav .mega-menu > ul > li:focus > a,
    nav .main-nav .mega-menu > ul > li[class*="current-"] > a,
    nav .main-nav .mega-menu ul ul {
        background-color: transparent !important;
        color: inherit;
    }

    nav .main-nav .mega-menu ul .sub-menu {
        position: static;
        display: block;
        opacity: 1;
        visibility: visible;
        width: 100%;
        box-shadow: 0 0 0;
        left: 0;
        height: auto;
        pointer-events: auto;
        transform: scale(1);
    }

    nav .main-nav .mega-menu ul.toggled-on .sub-menu {
        pointer-events: auto;
    }

    nav .main-nav .mega-menu .sub-menu .menu-item-has-children .dropdown-menu-toggle {
        display: none;
    }
}

/* Block corrections */

.widget ul li.wp-social-link.wp-social-link-facebook.wp-block-social-link {
	margin: 0;
}

/* Footer */

.site-footer {
	border-top: 1px solid #FF8536;
}

.footer-widgets a {
	text-decoration: none;
}

/* Product category archive */
.archive.tax-product_category h2 {
	margin-top: 2em;
	color: var(--accent);
}
.archive.tax-product_category h2:first-of-type {
	margin-top: 0;
}

.product-list {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
	column-gap: 20px;
	row-gap: 20px;
}

@media (min-width: 776px) and (max-width: 1080px) {
	.product-list {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr 1fr;
		column-gap: 20px;
		row-gap: 20px;
	}
}
@media (min-width: 531px) and (max-width: 775px) {
	.product-list {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		column-gap: 10px;
		row-gap: 10px;
	}
}
@media  (min-width: 381px) and (max-width: 530px) {
	.product-list {
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 10px;
		row-gap: 10px;
	}
}
@media  (max-width: 380px) {
	.product-list {
		display: grid;
		grid-template-columns: 1fr;
		column-gap: 10px;
		row-gap: 10px;
	}
}

.product-list .product {
	border: 1px solid whitesmoke;
	border-radius: 11px;
	overflow: hidden;
	padding: 20px;
}

.product-list .product-image {
	display: block;
	margin-bottom: 2em;
}
.product-list .product-image img {
	display: block;
}

.product-list .product-title {
	display: block;
	width: 100%;
	text-align: center;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	margin-bottom: .5em;
	text-decoration: none;
	color: var(--contrast);
}

.product-list .product-price {
	text-align: center;
	font-weight: bold;
	font-size: 1.1em;
	margin: .5em 0
}

.product-list .add-to-cart:hover {
	background: #e9813b
}

.product-list .add-to-cart-form {
	display: flex;
	/* flex-direction: column; */
	justify-content: space-between;
}
.product-list .add-to-cart-form [name="quantity"] {
	width: 100%;
	border-radius: 11px 0 0 11px;
	text-align: center;
}
.product-list .add-to-cart-form button {
	font-weight: bold;
	width: 100%;
	border-radius: 0 11px 11px 0;
	transition: .3s all;
	background-color: #FF8536;
	background-image: url('assets/add-to-cart.svg');
	background-repeat: no-repeat;
	background-size: 25px;
	background-position: center;
	padding: 10px;
}
.product-list .add-to-cart-form button:hover {
	background-color: #e9813b;
	background-size: 30px;
}

/* Product card */

.product-card .inside-article {
	display: flex;
	gap: 80px;
}
.product-card product-thumbs {
	display: flex;
	width: 100%;
	flex-wrap: wrap;
	justify-content: center;
}

.product-card .product-thumb {
	width: 150px;
	cursor: pointer;
	flex: 0 0 auto;
}

.product-card .product-info {
	width: 50%;
	flex: 0 0 auto;
}

.product-card .product-cta {
	display: flex;
	width: 100%;
	margin: 20px 0;
	border: 1px solid #FF8536;
}

.product-card .product-price {
	border-right: 1px solid #ddd;
	padding: 5px 10px;
	width: 100%;
}

.product-card .product-quantity {
	position: relative;
	padding: 5px 10px;
	width: 100%;
}

.product-card .product-quantity .product-cta-controls {
	display: flex;
	flex-direction: column;
	position: absolute;
	top: 0;
	right: 0;
	width: 50px;
	height: 100%;
	background-color: white;
	border-left: 1px solid #FF8536;
}
.product-card .product-quantity .plus,
.product-card .product-quantity .minus {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 50%;
	transition: all 0.3s;
	cursor: pointer;
}
.product-card .product-quantity .plus:hover,
.product-card .product-quantity .minus:hover {
	background-color: #FF8536;
	color: white;
}

.product-card .product-cta-label {
	display: block;
	font-size: 14px;
}

.product-card .product-cta-number {
	font-size: 24px;
	font-weight: bold;
}

.product-card .product-cta-button {
	border: none;
	font-size: 24px;
	font-weight: bold;
	color: white;
	background: #FF8536;
	width: 100%;
	white-space: nowrap;
}
.product-card .product-cta-button:hover {
	background: #5A6162;
}

.product-card .product-features {
	margin: 1em;
}

.product-card .product-feature strong {
	text-transform: capitalize;
}

.complementary-products {
	margin-top: 80px;
}



@media (max-width: 1000px) {
	.product-card .inside-article {
		flex-direction: column-reverse;
	}

	.product-card .product-info {
		width: 100%;
		gap: 10px;
	}


}
@media (max-width: 570px) {
	.product-card .product-cta {
		flex-wrap: wrap;
	}
	.product-card .product-cta .product-quantity {
		border-top: 1px solid #FF8536;
	}
}


/* header cart and search */

.header-widget {
	display: flex;
	align-items: stretch;
}

.header-widget .wp-element-button {
	display: block;
	background-color: #5A6162;
	background-image: url('assets/search.svg');
	background-size: 26px;
	background-repeat: no-repeat;
	background-position: center;
	width: 50px;
	border: none;
	border-right: 1px solid white;
	margin: 0;
}
.header-widget .wp-element-button:hover {
	background-color: #FF8536;
}

.header-widget .wp-block-search .autocomplete {
    position: absolute;
    display: block;
	z-index: 10;
	box-shadow: 3px 3px 10px rgba(0,0,0,.3);
}
.header-widget .wp-block-search .autocomplete:empty {
	display: none;
}
.header-widget .wp-block-search .autocomplete a {
	display: block;
    width: 350px;
    background: white;
    padding: 15px;
	border-bottom: 1px solid #ddd;
	text-decoration: none;
	color: inherit;
	transition: all .3s;
}
.header-widget .wp-block-search .autocomplete a:hover {
    background: whitesmoke;
}

.brand-cart-button {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	color: white;
	background: #FF8536;
	border-radius: 50%;
	padding: 12px;
	text-decoration: none;
    height: 50px;
    width: 50px;
    margin-right: 40px;
}
.brand-cart-button:hover {
	background: #5A6162;
	color: white;
}

.brand-cart-button img {
	width: 24px;
	display: block;
}
.brand-cart-button::after {
	display: flex;
	align-items: center;
	justify-content: center;
	content: attr(data-quantity);
	width: 20px;
	height: 20px;
	position: absolute;
	top: -5px;
	right: -5px;
	border-radius: 50%;
	background: #666c6d;
	font-size: 14px;
}

/* Search */
.widget_block > p:empty{
display:none;
margin:0;
}

.search-toggle-wrap{
position:relative;
display:inline-flex;
align-items:center;
}

.search-toggle-btn{
	background:none;
	border:none;
	font-size:24px !important;
	cursor:pointer;
	line-height:1;
	border-radius: 50%;
	padding: 12px !important;
	text-decoration: none;
    height: 50px;
    width: 50px;
    margin-right: 10px;
}

.search-toggle-form{
position:absolute;
right:40px;
top:50%;
transform:translateY(-50%);
opacity:0;
visibility:hidden;
width:0;
overflow:hidden;
transition:all .3s ease;
z-index:99;
}

.search-toggle-form.active{
opacity:1;
visibility:visible;
width:240px;
}

.search-toggle-form input{
width:100%;
padding:10px 14px;
border:1px solid #ddd;
border-radius:8px;
font-size:14px;
}

/* Cart page */

.cart-container {
	width: 100%;
	overflow:scroll
}
.cart {
	min-width: 800px;
}
.cart tbody td:nth-child(1) { text-align: center; }
.cart tbody td:nth-child(3) { text-align: right; }
.cart tbody td:nth-child(5) { text-align: right; }
.cart tbody td:nth-child(6) { text-align: right; }
.cart [name="quantity"] {
	border: 1px solid silver;
	border-radius: 11px;
	background: white;
	padding: 5px;
	width: 100%;
	text-align: center;
}
.cart tfoot th { text-align: right; }

.cart .change-quantity:hover {
	background: #eee;
}

.cart .delete-from-cart {
	color: red;
	border: none;
	background: transparent;
	padding: 5px;
	border-radius: 11px;
	transition: all .3s;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
}
.cart .delete-from-cart:hover {
	background: red;
	color: white;
}
.cart .delete-from-cart svg {
	stroke: red;
	fill: none;
	width: 20px;
	pointer-events: none;
}
.cart .delete-from-cart:hover svg {
	stroke: white;
}

.brand-order-form h3 {
	margin: 2em 0 .5em;
}
.brand-order-form label {
	display: block;
	margin: 1em 0 .5em;
}

.brand-order-form input,
.brand-order-form select,
.brand-order-form textarea {
	border: 1px solid silver;
	border-radius: 11px;
	background: white;
	padding: 10px;
	line-height: 1.5;
}
.brand-order-form select { padding: 13px 10px 12px; }

.brand-order-form button {
	color: white;
	background: #FF8536;
	padding: 10px 20px;
	border-radius: 11px;
	margin-top: 1em;
}

.brand-order-form .container {
	display: flex;
	flex-wrap: wrap;
	gap: 1em;
}

/* Loader */
.loader {
	display: block;
	position: relative;
	width: 150px;
	height: 50px;
	margin: 0 auto;
}

.loader::before, .loader::after {
	display: flex;
	position: absolute;
	width: 100px;
	height: 25px;
	text-transform: uppercase;
	text-transform: uppercase;
	color: white;
	font-size: 12px;
	align-items: center;
	justify-content: center;
}
.loader::before {
	content: '';
	top: 0;
	left: 0;
	z-index: 2;
	background-color: #E9924C;
	animation: pulse 2s infinite;
}
.loader::after {
	content: '';
	top: 23px;
	left: 30px;
	z-index: 1;
	background-color: #676C6D;
	animation: pulse 2s .3s infinite;
}

button .loader {
	height: 25px;
	width: 100px;
}
button .loader::before {
	height: 12px;
	top: 50%;
	transform: translate(0, -50%);
	background-color: rgba(255,255,255, .8);
}
button .loader::after {
	display: none;
}

@keyframes pulse {
	0% { width: 0; opacity: 1; }
	75% { width: 100px; opacity: 1; }
	100% { width: 100px; opacity: 0; }
}

.video-button .elementor-button-content-wrapper {
    align-items: center;
}

.video-button .elementor-button-icon {
	font-size: 40px;
}
