/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

/*---------- Home page Modular css --------------*/
.house-turnkey-price{
    color: #000000;
    font-size: 17px;
    font-weight: 500;
}
.homepage-modulars{
    display:flex;
    flex-direction:column;
    gap:25px;
}

.modular-row{
    display:flex;
    gap:25px;
}

.modular-card{
    flex:1;
    position:relative;
    display:block;
    overflow:hidden;
    border-radius:12px;
    text-decoration:none;
    transition:flex .45s ease;
}

/* Shrink both cards when row is hovered */
.modular-row:hover .modular-card{
    flex:.9;
}

/* Expand hovered card */
.modular-row .modular-card:hover{
    flex:1.1;
}

.modular-image{
    position:relative;
    height:520px;
    overflow:hidden;
}

.modular-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .45s ease;
}

.overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(
        to top,
        rgba(0,0,0,.82),
        rgba(0,0,0,.12),
        rgba(0,0,0,.35)
    );
    transition:.4s;
}

.modular-title{
    position:absolute;
    top:45px;
    left:50%;
    transform:translateX(-50%);
    color:#fff;
    font-size:30px;
    font-weight:500;
    margin:0;
    z-index:5;
    width:90%;
    text-align:center;
}

.modular-bottom{
    position:absolute;
    left:30px;
    right:30px;
    bottom:30px;
    transition:.35s;
    z-index:5;
}

.price-pill{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:12px 24px;
    border-radius:40px;
    background:#fff;
    color:#111;
    font-weight:600;
    margin-bottom:18px;
}

.modular-info{
    color:#fff;
    font-size:22px;
    margin:0;
    line-height:1.4;
}
p.modular-info{
    margin-bottom: 0px !important;
}
.design-btn{
    position:absolute;
    left:30px;
    right:30px;
    bottom:30px;
    padding:12px;
    background:#fff;
    color:#111;
    text-align:center;
    border-radius:6px;
    font-weight:600;
    opacity:0;
    transform:translateY(90px);
    transition:.35s;
    z-index:6;
}

/* Hover Effects */

.modular-card:hover img{
    transform:scale(1.08);
}

.modular-card:hover .overlay{
    background:linear-gradient(
        to top,
        rgba(0,0,0,.92),
        rgba(0,0,0,.25),
        rgba(0,0,0,.45)
    );
}

.modular-card:hover .modular-bottom{
    transform:translateY(-85px);
}

.modular-card:hover .design-btn{
    opacity:1;
    transform:translateY(0);
}

/* Responsive */

@media (max-width:991px){

    .modular-row{
        flex-direction:column;
    }

    .modular-image{
        height:430px;
    }

    .modular-title{
        font-size:24px;
    }

    .modular-info{
        font-size:18px;
    }

}

.single-modular header, .single-modular .navigation.post-navigation, .single-bunglow header, .single-bunglow .navigation.post-navigation{
    display: none;
}
.single-modular .entry-content.clear, .single-bunglow .entry-content.clear{
    margin-bottom: 0px !important;
}
.single-house .post-navigation{
	display: none;
}
.post-template-default .content-area.primary{
	margin-top: 0px !important;
	padding-top: 0px !important;
}
.e-n-accordion-item .e-n-accordion-item-title .e-child:last-child{
	border-bottom-width: 0px !important;
}
.e-n-accordion-item:last-child .e-n-accordion-item-title, .e-n-accordion-item:last-child .e-con.e-child{
	border-bottom-width: 0px !important;
}
.bb_product .elementor-image-box-img{
	display: flex;
    justify-content: center;
}
a{
	text-decoration: none !important;
}
.forminator-input {
	border-color: #776F69 !important;
	border-radius: 10px !important;
	border-color: #D1D5DB !important;
}
.forminator-row-last{
	text-align: end;
}
textarea{
	border-radius: 10px !important;
}
.small-font{
	font-size: 25px !important;
}
#forminator-module-1019 label{
	color: #776F69 !important;
}
.forminator-button{
	background: #000000 !important;
	border-radius: 10px !important;
}
.elementor-location-single, .ast-article-single{
	padding: 0px !important;
}
.single-house header{
	display: none;
}
.elementor-counter-number-suffix{
	font-size: 20px;
}
.house-template-default .entry-content{
    margin-bottom: 0px !important;
}
/* Header */



@media (min-width: 922px) {
    .ast-narrow-container .site-content > .ast-container {
        max-width: 1400px !important;
    }
}
.small-text {
  font-size: 0.7em;
  vertical-align: sub;
}
.footer_sub_form .elementor-button{
	margin-left: -135px;
    margin-bottom: 7px;
}
.footer_sub_form .elementor-form-fields-wrapper{
	justify-content: center;
    width: 125%;
}
.footer_sub_form  .elementor-message{
	justify-content: center;
    display: flex;
	color: #ffffff;
}
/* .page-id-538 header, .page-id-538 footer, .page-id-642 header, .page-id-642 footer{
	display: none;
} */
.woocommerce-shop .product_type_simple{
	display: none !important;
}
.woocommerce-shop .site-content{
	width: 1400px !important;
	margin-left: auto;
	margin-right: auto;
}
.page-id-1023 a{
	text-decoration: none !important;
}
.bb_shop .products li{
	border-left: 1px solid #000;
	border-top: 1px solid #000;
	margin-bottom: 0px !important;
	padding: 20px !important;
}
/* .woocommerce-page ul.products{
	column-gap: 0px !important;
} */
.bb_shop .products{
	grid-column-gap: 0px !important;
    grid-row-gap: 0px !important;
}
.bb_shop .size-woocommerce_thumbnail{
	width: auto !important;
}
.bb_shop .astra-shop-thumbnail-wrap{
	display: flex;
	justify-content: center;
}
.woocommerce ul.products:not(.elementor-grid), .woocommerce-page ul.products:not(.elementor-grid){
	grid-template-columns: repeat(3,1fr);
}
.bb_shop li.product.last, .bb_shop li.product.post-704 {
	border-right: 1px solid #000 !important;
}
.bb_shop li.product.post-714, .bb_shop li.product.post-713, .bb_shop li.product.post-704{
	border-bottom: 1px solid #000 !important;
}

.bb_shop .ast-woo-product-category, .bb_shop .button {
	display: none !important;
}
.bb_shop .astra-shop-summary-wrap{
	margin-top: 20px !important;
}
.bb_tab .e-n-tabs-heading{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}

.bb_tab .e-n-tab-title{
    width: 100%;
    text-align: center;
}
.page-id-786 header, .page-id-743 header{
	position: absolute !important;
	width: 100% !important;
}
.blog_content h2{
	margin-top: 0px !important;
	margin-bottom: 0px !important;
}
.bb_underline .elementor-icon-list-item a{
	text-decoration: none !important;
}

/* Deatil Page Layout */

.tz-house-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    grid-auto-flow: dense;
}

.tz-house-item {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    transition: all 0.3s ease;
    grid-column: span 1;
}

.tz-house-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
}

.tz-house-link {
    text-decoration: none;
    color: inherit;
    display: block;
}

.tz-house-image {
    background: #f3f3f3;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tz-house-image img {
    width: 100%;
    height: 320px;
    object-fit: cover;
    display: block;
}

.tz-house-content {
    padding: 15px;
}

.tz-house-title {
    font-size:24px;
	line-height:32px;
    font-weight: 600;
    margin: 0 0 5px;
	text-transform:uppercase;
}

.tz-house-price {
    font-size: 18px;
	line-height:24px;
    color: #666;
}

.tz-house-grid.grid-50 .tz-house-item:nth-child(5n+1) {
    grid-column: span 2;
}

.tz-house-grid.grid-50 .tz-house-item:nth-child(5n+2),
.tz-house-grid.grid-50 .tz-house-item:nth-child(5n+3) {
    grid-column: span 1;
}

.tz-house-grid.grid-50 .tz-house-item:nth-child(5n+4),
.tz-house-grid.grid-50 .tz-house-item:nth-child(5n+5) {
    grid-column: span 2;
}

.tz-house-grid.grid-75 .tz-house-item:nth-child(2n+1) {
    grid-column: span 3; /* 75% */
}

.tz-house-grid.grid-75 .tz-house-item:nth-child(2n+2) {
    grid-column: span 1; /* 25% */
}

/* Layout 2 */
.tz-header {
    display: flex;
    align-items: center;
    margin-bottom: 60px;
}

.tz-title {
    font-size: 32px;
	margin-bottom:0;
}

.tz-line {
    flex: 1;
    height: 1px;
    background: #ddd;
    margin: 0 20px;
}

.tz-label {
    font-size: 12px;
    text-transform: uppercase;
}

/*========================
    Language Switcher
=========================*/

.bb-lang-btn{
    display:flex;
    align-items:center;
    gap:8px;
    background:#fff;
    border:none;
    cursor:pointer;
    font-size:16px;
    font-weight:500;
    color:#111;
    padding:0;
}

.bb-lang-icon{
    width:16px;
    height:16px;
    fill:currentColor;
}

.bb-lang-list{
    background: transparent;
    box-shadow: 0 10px 30px rgba(0,0,0,.08);
    list-style: none;
    padding: 4px 22px !important;
    margin: 0px !important;
}
.bb-lang-list li a{
    color: #000000 !important;
    background-color: transparent !important;
}
.bb-lang-list li a:hover{
    background:#000000;
}
.bb-lang-btn:hover{
    background-color: transparent !important;
    border-color: transparent !important;
    color: #000000 !important;
}
.bb-lang-dropdown{
    position:relative;
    display:inline-block;
}

.bb-lang-list{
    display:none !important;
    position:absolute;
    top:100%;
    left:0;
    min-width:100%;
    background:#fff;
    padding:0;
    margin:8px 0 0;
    list-style:none;
    border-radius:8px;
    box-shadow:0 10px 30px rgba(0,0,0,.15);
    z-index:99999;
}

.bb-lang-dropdown.open .bb-lang-list{
    display:block !important;
}
/* =========================
   🔹 TINY GRID
   ========================= */
.tz-tiny-grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 60px;
}

/* 1st item in group */
.tz-tiny-grid .tz-item:nth-child(4n+1) {
    grid-column: span 7;
}

/* 2nd item */
.tz-tiny-grid .tz-item:nth-child(4n+2) {
    grid-column: span 5;
    margin-top: 80px;
}

/* 3rd item */
.tz-tiny-grid .tz-item:nth-child(4n+3) {
    grid-column: span 6;
}

/* 4th item */
.tz-tiny-grid .tz-item:nth-child(4n+4) {
    grid-column: span 6;
}
.tz-modular-section{
	margin-top:60px;			
}
.tz-tiny-grid .tz-price{
	font-size: 14px;
    line-height: 22px;
    color: #666;		
}
.tz-tiny-grid .tz-content h3,
.tz-modular-grid .tz-content h3{
	margin-bottom:10px !important;
	font-size: 24px;
    line-height: 30px;
    font-weight: 600;
	text-transform:uppercase;
}
.tz-item .tz-house-image {
    overflow: hidden;
    position: relative;
}

.tz-item .tz-house-image img {
    transition: transform 0.5s ease;
}

.tz-item:hover .tz-house-image img {
    transform: scale(1.08);
}
.tz-modular-grid .tz-img img{
	object-fit:cover;		
}

/* =========================
   🔹 MODULAR GRID
   ========================= */
.tz-modular-grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 30px;
	padding-top:60px;
}

/* 1st */
.tz-modular-grid .tz-item:nth-child(4n+1) {
    grid-column: span 4;
}

/* 2nd */
.tz-modular-grid .tz-item:nth-child(4n+2) {
    grid-column: span 8;
    margin-top: -60px;
}

/* 3rd */
.tz-modular-grid .tz-item:nth-child(4n+3) {
    grid-column: 2 / span 6;
    margin-top: 40px;
}

/* 4th */
.tz-modular-grid .tz-item:nth-child(4n+4) {
    grid-column: span 4;
    margin-top: 80px;
}

/* =========================
   🔹 COMMON
   ========================= */
.tz-img img {
    width: 100%;
    height:400px;
    object-fit: contain;
	background:#f3f3f3;
	border-radius:30px;
}

.tz-content {
    margin-top: 15px;
}

.tz-price span {
    display: block;
    font-size: 14px;
    color: #555;
}
/* house  */

/* Image zoom on hover */
.house_card {
	overflow: hidden;
}

.house_card .elementor-widget-theme-post-featured-image {
	overflow: hidden;
}

.house_card .elementor-widget-theme-post-featured-image img {
	transition: transform 0.5s ease;
	transform: scale(1);
}

.house_card:hover .elementor-widget-theme-post-featured-image img {
	transform: scale(1.1);
}
/* img scroll */

/* Main section */
.img_counter .e-con-inner{
    display:flex;
    align-items:flex-start;
    gap:80px;
    position:relative;
}

/* LEFT STICKY COLUMN */
.img_counter .tz_head_colum_sticky{
    position:sticky;
    top:50%;
    transform:translateY(-50%);
    height:fit-content;
    align-self:flex-start;
    z-index:5;
}

/* Heading */
.img_counter .tz_head_colum_sticky h2{
    margin:0;
}

/* RIGHT COLUMN */
.img_counter .elementor-element-3692c5d{
    position:relative;
}

/* Optional width balance */
.img_counter .tz_head_colum_sticky,
.img_counter .elementor-element-3692c5d{
    flex:1;
}

/*Slider on made in europe*/

/* MAIN */

.logo_slider .swiper-wrapper{

    transition-timing-function: linear !important;
}

/* REMOVE SNAP */

.logo_slider .swiper-slide{

    width:auto !important;
}

/* SMOOTH */

.logo_slider .swiper{

    overflow:visible;
}

/* Modular ACF Fileds */

.wp-admin #acf-modular-tabs{
    display:flex;
    gap:10px;
    margin:20px 20px;
    border-bottom:2px solid #ccd0d4;
}

.wp-admin #acf-modular-tabs button{

    background: #fff;
    border: 1px solid grey;
    padding: 15px 20px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    color: #000;
    cursor: pointer;
    transition: all 0.3s ease;
}

.wp-admin #acf-modular-tabs button.active{

    background:#000;
    color:#fff;
}

.wp-admin #acf-modular-tabs button:hover{

    background:#000;
    color:#fff;

}


/* MOBILE */
@media(max-width:767px){

    .img_counter .e-con-inner{
        flex-direction:column;
        gap:40px;
    }

    .img_counter .tz_head_colum_sticky{
        position:relative;
        top:auto;
        transform:none;
        width:100%;
    }
}

/* Tablet */
@media (max-width: 1024px){
	.bb_tab .e-n-tabs-heading{
	  grid-template-columns: repeat(3, 1fr);
	}
	.tz-house-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .tz-house-item {
        grid-column: span 1 !important;
    }

    .tz-house-image img {
        height: 200px;
    }
	.tz-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .tz-item {
        grid-column: span 1 !important;
        margin-top: 0 !important;
    }
 }
@media (max-width: 768px){
	.tz-house-grid {
        grid-template-columns: 1fr;
    }
    .tz-house-image img {
        height: 200px;
    }
	.footer_sub_form .elementor-form-fields-wrapper{
		width: 100%;
	}
	.footer_sub_form .elementor-button{
		margin-left: 0px;
		border: 1px solid #ffffff;
	}
	.bb_tab .e-n-tabs-heading{
		grid-template-columns: repeat(2, 1fr);
	}
	.tz-grid {
        grid-template-columns: 1fr;
    }
	.tz-img img{
		height:280px;
	}
	.tz-tiny-grid{
		gap:30px;
	}
	.tz-header{
		margin-bottom:30px;
	}
}

/* Mobile Horizontal Scroll */
@media (max-width: 767px) {

    .mobile-scroll {
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
    }

    .mobile-scroll .e-con-inner {
        display: flex;
        flex-direction: column;
        width: max-content;
        min-width: 100%;
    }

    /* Each row */
    .mobile-scroll .e-con-inner > .e-child {
        display: flex;
        flex-wrap: nowrap;
        width: max-content;
    }

    /* Each column */
    .mobile-scroll .e-con-inner > .e-child > .e-child {
        flex: 0 0 220px; /* adjust width */
        min-width: 220px;
    }

    /* Hide scrollbar */
    .mobile-scroll::-webkit-scrollbar {
        display: none;
    }

    .mobile-scroll {
        scrollbar-width: none;
    }
}