/* Typo */
.home h2, .home .section-title{
	font-weight: 700;
    font-size: 2.2rem;
    line-height: 2.7rem;
}

.parallax-img {
  display: block;
  max-width: 100%;
  transition: transform 0.1s linear;
  will-change: transform;
}

.parallax-img img{
	transform: scale(1.06);
}

.slide-in-img {
  opacity: 0;
  transform: translateX(80px); /* starts off-screen to the right */
  transition: transform 0.6s ease-out, opacity 0.6s ease-out;
  will-change: transform, opacity;
}

.slide-in-left {
  opacity: 0;
  transform: translateX(-80px); /* start from the left */
  transition: transform 0.6s ease-out, opacity 0.6s ease-out;
  will-change: transform, opacity;
}

.slide-in-img.visible,
.slide-in-left.visible,
.woocommerce-no-js .slide-in-img,
.woocommerce-no-js .slide-in-left{
	opacity: 1;
  	transform: translateX(0);
}

/* Front Page Styles */
.home-search{
	display: none;
}

.hero.wp-block-group.has-background {
	padding: 40px 40px 0;
}

.hero .wp-block-columns{
	margin: 0;
}

.hero figure{
	margin: 0;
	margin-top: -60px;
}

.hero p{
	font-size: 1.4rem;
    line-height: 1.9rem;
}

.hero p.has-text-color{
	font-weight: 500;
}

.hero p.has-text-color strong{
	font-size: 1.7rem;
    line-height: 2.5rem;
}

.hero h1{
	font-size: 2.625rem;
    line-height: 3.1rem;
    font-weight: 700;
    margin: 0;
}

.hero .section-title{
	font-size: 2rem;
    line-height: 2.5rem;
    margin: 0;
}

.hero .wp-block-column:first-child{
	display: flex;
    flex-direction: column;
    padding-bottom: 40px;
}

.hero .wp-block-column:first-child .wp-block-buttons{
	margin-top: auto;
}

.hero .wp-block-column:nth-child(2){
	align-self: flex-end;
}

/* Slider */
.swiper-wrapper.is-layout-grid {
	display: flex;
	gap: 0;
}

/* 3 Columns with images */
.wp-block-group__col-img .wp-block-column{
	padding-inline: 24px;
	padding-bottom: 5px;
	box-shadow: var(--box-shadow);
    border: var(--border);
}

.wp-block-group__col-img .section-title{
	font-size: 1.7rem;
    line-height: 2.2rem;
    margin-bottom: 0;
}

.wp-block-group__col-img figure{
	margin-inline: -24px;
    width: calc(100% + 48px);
}

.wp-block-group__col-img figure img{
	height: 250px;
	object-fit: cover;
}

/* Seo Columns text + img */
.wp-block-group.wp-block-group__col-seo{
	padding-block: 0;
}

.wp-block-group__col-seo .wp-block-columns{
	margin: 0;
	justify-content: space-between;
}

.wp-block-group.wp-block-group__col-seo .wp-block-column:first-child{
	padding-block: 20px 32px;
}

/* Columns with image absolute */
.wp-block-group__full-width .wp-block-columns{
	position: relative;
}

/* Blog */
.wp-block-post-template{
	margin-bottom: 60px;
}

/* Clients */
.wp-block-group__clients{
	margin-bottom: 40px;
}

/* Product of the month */
.wp-block-columns__monthly-product{
	gap: 16px;
}
/* Main product */
.monthly-product{
	border: var(--border);
    height: auto;
    display: flex;
    flex-direction: column;
	max-width: 100%;
}

.monthly-product .wc-block-grid{
	height: auto;
    flex-grow: 1;
}

.monthly-product .wc-block-grid .wc-block-grid__products{
	height: 100%;
    grid-template-columns: 1fr;
	margin: 0;
}

.monthly-product .wc-block-grid .wc-block-grid__products .wc-block-grid__product.wc-block-grid__product{
	border: unset;
}

.monthly-product .wc-block-grid__product-link{
	flex-grow: 1;
}

.monthly-product .wc-block-grid__product-image,
.monthly-product .wc-block-grid__products .wc-block-grid__product-image img{
	height: 100%;
}

.monthly-product .sw-loop-product__info-wrapper{
	flex-grow: unset;
	position: static;
}

.monthly-product .wc-block-grid__product .wc-block-grid__product-title{
	font-size: 1.2rem;
    line-height: 1.7rem;
    font-weight: 600;
    max-width: 400px;
}

.monthly-product .sw-loop-product__sku{
	font-size: 1rem;
    line-height: 1.5rem;
    margin-bottom: 12px;
}

.monthly-product .price{
	display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 100px;
    left: 100px;
    background-color: var(--color-primary);
    color: #fff;
    padding: 32px 12px;
    border-radius: 50%;
    width: 150px;
    height: 150px;
    transform: rotate(-8deg);
    font-size: 1.4rem;
}

.monthly-product li .price .woocommerce-Price-amount{
	color: #fff;
    font-size: 1.5rem;
}

.monthly-product li .price .woocommerce-price-suffix{
	line-height: 1.2rem;
}

.monthly-product li .sw-swatch{
	width: 32px;
	height: 32px;
}

/* Products Loop */
.monthly-products {
	max-width: 100%;
}

.monthly-products .wc-block-grid{
	height: 100%;
}

.monthly-products .wc-block-grid .wc-block-grid__products{
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	row-gap: 16px;
	margin: 0;
	height: 100%;
}

.monthly-products .wc-block-grid .wc-block-grid__product img{
	max-height: 200px;
    padding-top: 16px;
}

.monthly-products .wc-block-grid__product .wc-block-grid__product-title{
	font-size: 0.85rem;
	line-height: 1.2rem;
}

.monthly-products .wc-block-grid__product .sw-loop-product__info-wrapper{
	padding: 8px 16px;
}

@media screen and (max-width: 992px){
	.wp-block-group__full-width .wp-block-columns:first-child figure img{
		max-width: 450px;
		margin-right: -15px;
	}
	.wp-block-group__col-img .wp-block-columns {
		gap: 12px;
	}
	.wp-block-group__col-img .section-title{
		font-size: 1.4rem;
    	line-height: 1.9rem;
	}
	.wp-block-query .wp-block-post-template,
	.wp-block-group__clients .wp-block-gallery{
		display: flex;
		overflow-x: scroll;
		flex-wrap: nowrap !important;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x mandatory;
		overscroll-behavior-x: contain;
	}
	.wp-block-post-template .wp-block-post,
	.wp-block-group__clients .wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image){
		width: 400px;
		max-width: 100%;
		margin: 0;
    	flex-shrink: 0;
		overflow: unset;
		scroll-snap-align: center;
		flex-basis: unset !important;
        flex-grow: unset;
	}
	.wp-block-group__clients .wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image){
		width: 200px;
	}
	.wp-block-columns__monthly-product{
		flex-direction: column;
	}
	.home .wc-block-grid .wc-block-grid__products .wc-block-grid__product.wc-block-grid__product{
		width: 250px;
		flex-shrink: 0;
	}
	.monthly-product .wc-block-grid:not(.single-post__content .wc-block-grid) .wc-block-grid__products .wc-block-grid__product.wc-block-grid__product{
		width: 100%;
	}
}

@media screen and (max-width: 781px){
	.home-search{
		display: block;
	}
	.home-search .dgwt-wcas-search-wrapp{
		margin: 0;
    	max-width: 100%;
		margin-bottom: 16px;
	}
	.wp-block-group__full-width .wp-block-columns:first-child{
		margin: 0;
	}
	.hero .wp-block-column:nth-child(3),
	.wp-block-group__full-width .wp-block-columns:nth-child(2):after,
	.wp-block-group__full-width .wp-block-columns:nth-child(2) figure{
		display: none;
	}
	.hero .wp-block-column:first-child{
		z-index: 1;
	}
	.hero .wp-block-column:nth-child(2){
   		display: flex;
    	justify-content: flex-end;
	}
	.hero figure{
		max-width: 240px;
		margin-top: -130px;
	}
	.wp-block-group__col-img .wp-block-columns{
		display: grid;
    	grid-template-columns: 1fr 1fr;
	}
	.wp-block-group__col-img .wp-block-column:last-child{
		grid-column: 2 span;
	}
	.wp-block-group__col-img .section-title{
		font-size: 1.4rem;
        line-height: 1.8rem;
	}
}

@media screen and (max-width: 480px){
	.hero.wp-block-group.has-background {
		padding: 24px 24px 0;
	}
	.hero h1{
		font-size: 1.625rem;
    	line-height: 2.1rem;
	}
	.hero p{
		font-size: 1.1rem;
    	line-height: 1.6rem;
	}
	.home h2, .home .section-title{
		font-size: 1.4rem;
        line-height: 1.8rem;
	}
	.monthly-products.wp-block-column .wc-block-grid .wc-block-grid__products{
		display: flex;
	}
	.monthly-product .price{
		top: 32px;
    	left: 32px;
		padding: 20px 12px;
		width: 120px;
    	height: 120px;
		font-size: 0.75rem;
        line-height: 1rem;
	}
	.monthly-product li .price .woocommerce-Price-amount{
		font-size: 1.2rem;
	}
	.monthly-product .wc-block-grid__product .wc-block-grid__product-title{
		font-size: 1.3rem;
    	line-height: 1.8rem;
	}
	.wp-block-group__col-img .wp-block-columns{
		grid-template-columns: 1fr;
	}
	.wp-block-group__col-img .wp-block-column:not(:first-child){
		display: none;
	}
	.monthly-product li .price .woocommerce-price-suffix{
		font-size: 0.85rem;
	}
	.wp-block-post-template{
		margin-bottom: 20px;
	}
}

/* GSAP */
@media screen and (min-width: 782px) {
	.gsap-animation {
		position: relative;
	}
	.gsap-animation-inner {
		min-height: 100vh;
		align-items: center;
	}
	.ga-left {
		position: relative;
		min-height: 260px;
	}
	.ga-step {
		position: absolute;
		top: 50%;
		left: 0;
		width: 100%;
		transform: translateY(20px);
		opacity: 0;
		transition: opacity 0.4s ease, transform 0.4s ease;
	}
	.ga-step .wp-block-image{
		display: none;
	}
	.ga-step.is-active {
		opacity: 1;
		transform: translateY(-50%);
	}
	.ga-right {
		display: flex;
		justify-content: center;
	}
	.ga-image-wrapper {
		position: relative;
		width: 100%;
		max-width: 480px;
		aspect-ratio: 1 / 1;
	}
	.ga-image {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		opacity: 0;
		transform: scale(0.96);
		transition: opacity 0.4s ease, transform 0.4s ease;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.ga-image.is-active {
		opacity: 1;
		transform: scale(1);
	}
	.woocommerce-no-js .ga-image:first-child {
		opacity: 1;
		transform: scale(1);
		position: relative;
		inset: unset;
	}
	.woocommerce-no-js .ga-step:first-child{
		opacity: 1;
		transform: none;
		position: relative;
		inset: unset;
	}
	.woocommerce-no-js .gsap-animation-inner{
		min-height: unset;
	}
	.woocommerce-no-js .ga-image-wrapper .wp-block-group__inner-container{
		height: 100%;
	}
}

@media screen and (min-width: 1500px){
	.ga-image{
		transform: scale(1.5);
	}
	.ga-image.is-active {
		transform: scale(1.6);
	}
	.ga-step{
		left: 12%;
        width: 70%;	
	}
}

@media screen and (max-width: 781px){
	.ga-image-wrapper{
		display: none;
	}
	.gsap-animation-inner{
		gap: 0;
		margin: 0;
	}
	.gsap-animation-inner .wp-block-column{
		display: flex;
        overflow-x: scroll;
        flex-wrap: nowrap !important;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x mandatory;
        overscroll-behavior-x: contain;
	}
	.gsap-animation-inner .ga-step{
		width: 100%;
		max-width: 100%;
		margin: 0;
		flex-shrink: 0;
		overflow: unset;
		scroll-snap-align: center;
		flex-basis: auto;
	}
	
}