/* =============== Small  desktop screen Responsive =============== */
@media screen and (min-width: 1367px){
	.main-navbar ul li a{
		font-size: 14px !important;
	}

	.main-navbar li.menu-item.menu-item-type-custom.menu-item-object-custom.menu-item-572{
		margin-left: 550px !important;
	}

	.elementor-nav-menu--layout-horizontal .elementor-nav-menu{
		display: flex !important;
		flex-wrap: nowrap !important;
	}

	.contact-address span.elementor-icon-list-text{
		font-size: 18px !important;
	}
}

@media screen and (min-width: 1025px) and (max-width: 1366px){
	.main-navbar ul li a{
		font-size: 14px !important;
	}

	.main-navbar li.menu-item.menu-item-type-custom.menu-item-object-custom.menu-item-572{
/* 		margin-left: 50px !important; */
		margin-left: 380px !important;
	}

	.elementor-nav-menu--layout-horizontal .elementor-nav-menu{
		display: flex !important;
		flex-wrap: nowrap !important;
	}

	.contact-address span.elementor-icon-list-text{
		font-size: 18px !important;
	}
}

@media screen and (max-width: 1024px){
	.main-navbar li.menu-item.menu-item-type-custom.menu-item-object-custom.menu-item-572{
		margin-left: 0 !important;
	}

	.main-navbar svg.elementor-menu-toggle__icon--open.e-font-icon-svg.e-eicon-menu-bar{
		fill: #fff !important;
	}

	.main-navbar.nostyle svg.elementor-menu-toggle__icon--open.e-font-icon-svg.e-eicon-menu-bar,
	.main-navbar.nav-scrolled svg.elementor-menu-toggle__icon--open.e-font-icon-svg.e-eicon-menu-bar{
		fill: #8E3238 !important;
	}
	
	.projects-carousel .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal {
		bottom: 105px;
	}
}

/* =============== Mobile Responsive =============== */
@media screen and (max-width: 767px) {
	 /* Disable smooth scroll pada mobile untuk kontrol manual */
    html {
        scroll-behavior: auto !important;
    }
	
	.home-content-image .cursor-discover img {
		height: 370px;
		width: 100%;
		object-fit: cover;
		transition: transform 0.5s linear;
	}
	
	.crafted-wood-section .custom-transform{
		max-height: 20vh;
		overflow: hidden;
		transition: max-height 0.1s linear;
	}
	
	.crafted-wood-section .custom-transform.expanded{
		max-height: 100%;
	}
	
	.main-navbar.nostyle li.menu-item.menu-item-type-custom.menu-item-object-custom.menu-item-572{
		margin-left: 0;
	}
	
	.crafted-wood-section .toggle-arrow svg{
		cursor: pointer !important;
		transition: transform 0.4s linear;
	}
	
	.crafted-wood-section .toggle-arrow svg.expanded{
		transform: rotate(180deg);
	}
	
	.crafted-wood-section .custom-transform::after{
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 40px;
		background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
		pointer-events: none;
		transition: opacity 0.3s;
		opacity: 1;
	}

	.crafted-wood-section .custom-transform.expanded::after{
		opacity: 0;
	}
	
	.why-coosing-us-mobile .swiper-pagination-bullet {
		position: relative;
		width: 8px;
		height: 8px;
		background: #000;
		opacity: 1;
	}
	
	.why-coosing-us-mobile .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal{
		margin-top: 20px;
	}

	.why-coosing-us-mobile .swiper-pagination-bullet-active {
		opacity: 1;
	}

	.why-coosing-us-mobile .swiper-pagination-bullet-active::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		width: 30px;
		height: 30px;
		border: 1px solid #000;
		border-radius: 50%;
		transform: translate(-50%, -50%);
	}
	
	.main-navbar li.menu-item.menu-item-type-custom.menu-item-object-custom.menu-item-572{
		margin-left: 0;
	}
	
	.about-us-main img{
		height: 230px;
		width: 100%;
		object-fit: cover;
	}
	
	.lightbox-close {
		top: 10px;
		right: 15px;
		font-size: 40px;
	}
            
	.lightbox-nav {
		font-size: 40px;
		padding: 15px;
	}
            
	.lightbox-prev {
		left: 10px;
	}
            
	.lightbox-next {
		right: 10px;
	}
            
	.lightbox-counter {
		bottom: 20px;
		font-size: 14px;
		padding: 10px 20px;
	}
	
	.vc-bottom-navbar {
    	display: none;
	}
	
	.vc-bottom-navbar.is-visible {
    	display: block;
	}
	
	.floating-text h2 {
/*     	color: #878583 !important; */
		color: #fff !important;
    	text-decoration: none;
    	font-size: 16px !important;
		transition: all 0.2s ease-in-out !important;
	}
	
	.floating-text.active h2 {
    	text-decoration: underline;
    	color: #fff !important;
    	font-size: 16px !important;
	}
	
	.news-list-content2 img{
		min-height: 250px !important;
	}
	
	/* ======================= Home =================== */
	.mobile-projects .e-n-tabs-heading {
		display: flex;
		flex-wrap: nowrap; 
		z-index: 10;
		align-items: center;
		justify-content: center;
		gap: 40px;
		padding: 0px 20px 0px 20px;
		position: absolute;
		bottom: 20px;
		width: 100%;
	}
	
	.mobile-projects .e-n-tabs-heading button{
		margin: 0;
		padding: 0;
		background: transparent;
	}

	.mobile-projects .e-n-tab-title {
		background-color: transparent;
		margin: 0 !important;
		color: #ffffff;
		transition: all 0.3s ease;
		flex-shrink: 0;
	}

	.mobile-projects .e-n-tab-title.e-activated {
		color: #000000; 
		text-decoration: underline
	}

	.mobile-projects .e-n-tab-title:hover:not(.e-activated) {
		background-color: rgba(255, 255, 255, 0.1); 
		color: #ffffff;
		cursor: pointer;
	}
	
	.mobile-projects .elementor-widget-n-tabs .e-n-tab-title[aria-selected=false]{
		background: none !important;
	}
	
	.mobile-projects .elementor-widget-n-tabs .e-n-tab-title[aria-selected=true], .elementor-widget-n-tabs .e-n-tab-title[aria-selected=true] a{
		text-decoration: underline;
	}
	
	.mobile-projects div.e-n-tabs-content div[role=tabpanel]{
		position: relative;
	}

	.mobile-projects div.e-n-tabs-content div[role=tabpanel] .elementor-element[data-settings*="background_background"]{
		position: relative;
	}

	.mobile-projects div.e-n-tabs-content div[role=tabpanel] .elementor-element[data-settings*="background_background"]::after{
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: #0000004a;
		z-index: 1;
		pointer-events: none;
	}

	.mobile-projects div.e-n-tabs-content div[role=tabpanel] .e-con-inner,
	.mobile-projects div.e-n-tabs-content div[role=tabpanel] .elementor-widget{
		position: relative;
		z-index: 2;
	}
	
	.home-whatsup .elementor-element-8d44172 {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: stretch;
		overflow-x: auto;
		overflow-y: hidden;
		width: 100%;
		gap: 16px;
	}

	.home-whatsup .elementor-element-68cd1eb,
	.home-whatsup .elementor-element-86d0c23 {
		display: contents;
	}

	.home-whatsup .cursor-discover {
		flex: 0 0 auto;
		min-width: 280px;
		display: flex;
		flex-direction: column;
	}

	.home-whatsup .cursor-discover > .e-con {
		display: flex;
		flex-direction: column;
	}

	.home-whatsup .elementor-element-8d44172::-webkit-scrollbar {
		display: none;
	}

	.home-whatsup .elementor-element-8d44172 {
		-ms-overflow-style: none;
		scrollbar-width: none;
	}

    .home-whatsup .cursor-discover {
        min-width: 260px;
    }
	
	.main-video-player .e-hosted-video.elementor-wrapper.elementor-open-inline{
		aspect-ratio: 9/11 !important;
	}
	
	body.home .elementor-element.elementor-element-8d44172.e-con-full.elementor-hidden-tablet.elementor-hidden-mobile.e-flex.e-con.e-child {
		display: none;
	}
	
	/* ================== Detail Projects Hospital =============== */
	.project-detail-carousel .elementor-swiper-button-prev, .project-detail-carousel .elementor-swiper-button-next {
		display: none !important;
	}
	
	.custom-height {
		height: 30px;
	}
	
	.project-detail-carousel .elementor-carousel-image.swiper-lazy.swiper-lazy-loaded {
		background-size: cover;
	}
	
	/* =================== Projects ======================	*/
	.service-carousel .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal {
		max-width: fit-content; 
		bottom: 35px;
		text-align: right;
		position: absolute;
		max-height: fit-content;
		right: auto;
	}

	.service-carousel img.swiper-slide-image {
		height: 270px;
		width: 100%;
		aspect-ratio: 1/1;
		object-fit: cover;
		border-radius: 20px;
	}

	.service-carousel .swiper-pagination-bullet {
		position: relative;
		width: 8px;
		height: 8px;
		background: #fff;
		opacity: 0.5;
	}
	.service-carousel .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal {
		display: flex;
        gap: 6px;
        align-items: center;
        justify-content: flex-end;
        bottom: -20px;
        right: auto;
        left: 50%;
        transform: translate(-50%);
        width: auto;
        max-width: none;
        position: absolute;
	}

	.service-carousel .swiper-pagination-bullet {
		position: relative;
		width: 8px;
		height: 8px;
		background: #000;
		opacity: 0.5;
	}

	.service-carousel .swiper-pagination-bullet-active {
		opacity: 1;
	}

	.service-carousel .swiper-pagination-bullet-active::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		width: 30px;
		height: 30px;
		border: 1px solid #000;
		border-radius: 50%;
		transform: translate(-50%, -50%);
	}

	.service-carousel .swiper-pagination-bullet-active::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		width: 30px;
		height: 30px;
		border: 1px solid #000;
		border-radius: 50%;
		transform: translate(-50%, -50%);
	}

	.service-carousel .swiper-pagination-bullet-active {
		opacity: 1;
	}
	
	.project-form-carousel .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal{
		max-width: fit-content;
        bottom: 20px !important;
        top: unset;
        text-align: right;
        position: absolute;
        max-height: fit-content;
        left: 20px;
        right: unset;
	}
	
	.elementor-element.elementor-element-3607378.elementor-widget.elementor-widget-heading{
		margin-bottom: 20px !important;
	}
	
	.elementor-element.elementor-element-ab4032a.project-form-carousel.elementor-pagination-position-outside.elementor-widget.elementor-widget-image-carousel.e-widget-swiper .swiper-pagination-horizontal{
		max-width: fit-content;
        bottom: 50px !important;
        top: unset;
        text-align: right;
        position: absolute;
        max-height: fit-content;
        left: 20px;
        right: unset
	}
	
	.elementor-element.elementor-element-86cc45b.elementor-widget.elementor-widget-heading{
		margin-bottom: 20px !important;
	}
	
	.u-mark-text::after {
		top: 4px;
		left: 3.5px;
		height: 1px;
	}
	
	/* final projects */
	.final-projects-carousel img.swiper-slide-image{
		height: 240px;
		width: 100%;
		aspect-ratio: 1/1;
		object-fit: cover;
		border-radius: 20px;
	}

	.final-projects-carousel .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal {
		display: flex;
        gap: 6px;
        align-items: center;
        justify-content: flex-end;
        bottom: 10px;
        right: auto;
        left: 50%;
        transform: translate(-50%);
        width: auto;
        max-width: none;
        position: absolute;
	}

	.final-projects-carousel .swiper-pagination-bullet {
		position: relative;
		width: 8px;
		height: 8px;
		background: #000;
		opacity: 0.5;
	}

	.final-projects-carousel .swiper-pagination-bullet-active {
		opacity: 1;
	}

	.final-projects-carousel .swiper-pagination-bullet-active::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		width: 30px;
		height: 30px;
		border: 1px solid #000;
		border-radius: 50%;
		transform: translate(-50%, -50%);
	}

	.final-projects-carousel .swiper-pagination-bullet-active::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		width: 30px;
		height: 30px;
		border: 1px solid #000;
		border-radius: 50%;
		transform: translate(-50%, -50%);
	}

	.final-projects-carousel .swiper-pagination-bullet-active {
		opacity: 1;
	}
	
/* ========================== Dsicover more mobile ========================== */
.vc-discover-more {
    color: #fff;
    margin-top: 15px;
    font-size: 14px;
    text-transform: capitalize;
    letter-spacing: 1px;
    opacity: 0.8;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
}

.circle-wrapper {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.outer-circle {
    width: 25px;
    height: 25px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
}

.inner-circle {
    width: 5px;
    height: 5px;
    background: #fff;
    border-radius: 50%;
}
	
	/* ========================= Materials ==========================	 */
	.materials-product-carousel img{
		height: 140px !important;
		width: 100% !important;
		object-fit: cover !important;
	}
	
	/* ========================= Term of us ========================	 */
	.tos-tab .e-n-tabs-heading{
		display: flex;
		align-items: center;
		justify-content: center;
		margin-bottom: 10px;
	}
	
	.tos-tab .e-n-tabs-heading button{
		margin: 0 !important;
	}
	
	/* ========================= Sustainbility ======================== */
	body.page-id-1821 svg.e-font-icon-svg.e-eicon-chevron-left, body.page-id-1821 svg.e-font-icon-svg.e-eicon-chevron-right {
		fill: #000 !important;
	}
	
	/* ======================= Full page scroll ======================= */
        .vc-home-wrapper {
/*         height: 100% !important; */
        width: 100%;
        overflow: hidden;
        position: relative;
        /* Prevent overscroll */
        overscroll-behavior: contain;
        touch-action: pan-y;
        /* Prevent flicker */
        will-change: transform;
        transform: translateZ(0);
    }

    /* Scrollable track */
    .vc-home-track {
        height: 100% !important;
        overflow-y: scroll !important;
        overflow-x: hidden;
        
        /* Disable native snap - JavaScript handles it */
        scroll-snap-type: none;
        scroll-behavior: auto;
        
        /* Hide scrollbar */
        -ms-overflow-style: none;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
        
        /* Reset padding/margin */
        padding: 0 !important;
        margin: 0 !important;
    }

    .vc-home-track::-webkit-scrollbar {
        display: none;
    }

    /* Each section full viewport height */
    .vc-home-item {
        min-height: 100vh !important;
        height: 100vh !important;
        width: 100%;
        flex-shrink: 0;
        display: flex !important;
        flex-direction: column;
    }

    /* Text indicators */
    .vc-text {
        opacity: 0.3;
        transition: opacity 0.4s ease, transform 0.4s ease;
        pointer-events: auto;
    }

    .vc-text.active {
        opacity: 1;
        transform: scale(1.05);
        text-decoration: underline;
        color: #fff;
    }
	
	.service-tab .e-n-tabs-heading{
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 15px !important; 
	}
	
	.service-tab .e-n-tab-title-text{
		font-size: 13px !important;
	}
	
	.service-tab .e-n-tabs-heading button{
		padding: 0 !important;
		margin: 0 !important;
	}
	
	.elementor-element.elementor-element-465ef4c.e-con-full.hospitality-proje.ct-gallery.vc-wrapper.e-flex.e-con.e-child, .elementor-element.elementor-element-af00636.e-con-full.e-flex.e-con.e-child{
		min-height: auto !important;
	}
	
	/* ======================== News Page ========================== */
	.elementor-posts-container.elementor-posts.elementor-posts--skin-cards.elementor-grid.elementor-has-item-ratio .elementor-post__thumbnail{
		min-height: 250px;
	}
	
	.materials-group-images img{
		min-height: 140px;
	}
}
/* =============== End Mobile Screen Responsive =============== */