/* AVENTA MEBEL Luxine — professional mobile polish */

html{
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

html,
body{
	max-width: 100%;
	overflow-x: hidden;
}

img,
video,
svg{
	max-width: 100%;
	height: auto;
}

/* Hide custom cursor on touch devices */
@media (hover: none), (pointer: coarse){
	.cb-cursor{
		display: none !important;
	}

	a,
	button,
	.btn-default,
	.video-play-button-elite a,
	.popup-video,
	.nav-link,
	.slicknav_btn{
		cursor: pointer !important;
	}
}

@media only screen and (max-width: 991px){
	.container{
		padding-left: 16px;
		padding-right: 16px;
	}

	.main-header .header-sticky{
		backdrop-filter: blur(16px);
		-webkit-backdrop-filter: blur(16px);
		background: rgba(255, 255, 255, 0.92);
		box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
	}

	.navbar-brand{
		font-size: 1.35rem !important;
		letter-spacing: -0.03em !important;
		max-width: calc(100% - 64px);
		position: relative;
		z-index: 10004;
	}

	.main-header .navbar .container{
		display: flex;
		align-items: center;
		width: 100%;
		padding-right: 64px;
	}

	.header-sticky{
		position: relative;
		z-index: 1000;
	}

	/* Hide unused toggle slot — menu lives in .responsive-menu */
	.navbar-toggle{
		display: none !important;
	}

	.responsive-menu{
		display: block !important;
		position: absolute;
		top: 0;
		right: 0;
		left: 0;
		width: 100%;
		height: 0;
		z-index: 10002;
		overflow: visible;
	}

	.responsive-menu .slicknav_menu{
		position: static !important;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		padding: 0 !important;
		margin: 0 !important;
		background: transparent !important;
		background-image: none !important;
	}

	.responsive-menu .slicknav_menu:before,
	.responsive-menu .slicknav_menu:after{
		display: none !important;
		content: none !important;
	}

	/* Fixed-size hamburger button */
	.responsive-menu .slicknav_btn{
		position: absolute !important;
		top: 14px;
		right: 16px;
		float: none !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		min-height: 44px !important;
		max-width: 44px !important;
		max-height: 44px !important;
		margin: 0 !important;
		padding: 0 !important;
		border-radius: 12px !important;
		background: linear-gradient(90deg, var(--accent-secondary-color) 0%, var(--accent-color) 100%) !important;
		z-index: 10005;
		box-sizing: border-box !important;
	}

	.responsive-menu .slicknav_menutxt{
		display: none !important;
	}

	.responsive-menu .slicknav_icon,
	.responsive-menu .slicknav_icon.slicknav_no-text{
		float: none !important;
		position: relative !important;
		display: flex !important;
		flex-direction: column !important;
		justify-content: space-between !important;
		align-items: center !important;
		width: 20px !important;
		height: 14px !important;
		min-width: 20px !important;
		min-height: 14px !important;
		max-width: 20px !important;
		max-height: 14px !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.responsive-menu .slicknav_icon:before{
		display: none !important;
		content: none !important;
		width: 0 !important;
		height: 0 !important;
	}

	.responsive-menu .slicknav_icon-bar,
	.responsive-menu .slicknav_icon .slicknav_icon-bar{
		display: block !important;
		float: none !important;
		width: 20px !important;
		height: 2px !important;
		min-width: 20px !important;
		min-height: 2px !important;
		max-width: 20px !important;
		max-height: 2px !important;
		margin: 0 !important;
		padding: 0 !important;
		border-radius: 2px !important;
		background-color: #fff !important;
		box-shadow: none !important;
		flex: 0 0 2px !important;
		transform: none;
	}

	.responsive-menu .slicknav_btn.slicknav_open .slicknav_icon{
		justify-content: center !important;
	}

	.responsive-menu .slicknav_btn.slicknav_open .slicknav_icon-bar:nth-child(1){
		transform: translateY(0) rotate(45deg) !important;
		margin: 0 !important;
	}

	.responsive-menu .slicknav_btn.slicknav_open .slicknav_icon-bar:nth-child(2){
		opacity: 0 !important;
		width: 0 !important;
		height: 0 !important;
	}

	.responsive-menu .slicknav_btn.slicknav_open .slicknav_icon-bar:nth-child(3){
		transform: translateY(0) rotate(-45deg) !important;
		margin: 0 !important;
		margin-top: -2px !important;
	}

	/* Dropdown panel */
	.responsive-menu .slicknav_nav{
		clear: both !important;
		float: none !important;
		width: auto !important;
		max-width: none !important;
		margin: 72px 16px 16px !important;
		padding: 8px !important;
		overflow: auto !important;
		max-height: min(70vh, 480px);
		background: #fff !important;
		border-radius: 16px !important;
		box-shadow: 0 18px 40px rgba(0, 0, 0, 0.14) !important;
		-webkit-overflow-scrolling: touch;
	}

	.responsive-menu .slicknav_nav ul{
		margin: 0 !important;
		padding: 0 !important;
		overflow: visible !important;
	}

	.responsive-menu .slicknav_nav .nav-link,
	.responsive-menu .slicknav_nav li a,
	.responsive-menu .slicknav_nav .slicknav_row{
		display: block !important;
		padding: 14px 16px !important;
		margin: 0 !important;
		font-size: 15px !important;
		font-weight: 600 !important;
		line-height: 1.3 !important;
		text-transform: none !important;
		border-radius: 12px !important;
		color: #1a1a1a !important;
		background: transparent !important;
	}

	.responsive-menu .slicknav_nav a:hover,
	.responsive-menu .slicknav_nav a:focus,
	.responsive-menu .slicknav_nav .slicknav_row:hover{
		background: rgba(97, 83, 40, 0.08) !important;
		color: #615328 !important;
	}

	/* Hero video */
	.hero-elite--video,
	.hero-elite{
		padding: 120px 0 48px !important;
		min-height: auto;
	}

	.hero-elite--video::before{
		backdrop-filter: blur(2px);
		-webkit-backdrop-filter: blur(2px);
		background:
			linear-gradient(180deg, rgba(0, 0, 0, 0.62) 0%, rgba(0, 0, 0, 0.38) 48%, rgba(0, 0, 0, 0.82) 100%),
			linear-gradient(120deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.2) 55%, rgba(0, 0, 0, 0.45) 100%);
	}

	.hero-video-overlay-elite{
		box-shadow:
			inset 0 0 80px 30px rgba(0, 0, 0, 0.5),
			inset 0 -60px 70px -10px rgba(0, 0, 0, 0.7);
	}

	.hero-video-bg-elite video{
		transform: scale(1.1);
		filter: brightness(0.62) contrast(1.06) saturate(0.9);
	}

	.hero-content-elite .section-title h3{
		font-size: 13px !important;
		line-height: 1.2;
		display: inline-flex;
		max-width: 100%;
		white-space: normal;
		text-align: left;
	}

	.hero-content-elite .section-title h1{
		font-size: clamp(1.65rem, 7.2vw, 2.15rem) !important;
		line-height: 1.15 !important;
		letter-spacing: -0.02em;
		word-break: break-word;
		hyphens: auto;
		margin-bottom: 14px;
	}

	.hero-content-elite .section-title p{
		font-size: 15px !important;
		line-height: 1.6 !important;
		max-width: 100% !important;
		margin-bottom: 8px;
	}

	.hero-body-elite{
		flex-direction: column;
		align-items: flex-start;
		gap: 18px !important;
		width: 100%;
	}

	.hero-btn-elite,
	.hero-btn-elite .btn-default{
		width: 100%;
	}

	.hero-btn-elite .btn-default{
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: 48px;
		padding: 14px 22px;
		font-size: 15px;
	}

	.video-play-button-elite{
		width: 100%;
		justify-content: flex-start;
	}

	.video-play-button-elite a{
		width: 48px !important;
		height: 48px !important;
		flex-shrink: 0;
	}

	.video-play-button-elite p{
		font-size: 15px !important;
	}

	.hero-counter-list-elite{
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px !important;
		margin-top: 28px !important;
		padding-top: 24px !important;
	}

	.hero-counter-item-elite{
		width: 100% !important;
		padding: 14px 12px;
		border-radius: 14px;
		background: rgba(255, 255, 255, 0.06);
		border: 1px solid rgba(255, 255, 255, 0.08);
		text-align: left;
	}

	.hero-counter-item-elite::before{
		display: none !important;
	}

	.hero-counter-item-elite h2{
		font-size: 26px !important;
		margin-bottom: 4px;
	}

	.hero-counter-item-elite p{
		font-size: 13px !important;
		margin: 0;
		opacity: 0.9;
	}

	/* Section titles */
	.section-title h2,
	.section-title .text-anime-style-3{
		font-size: clamp(1.45rem, 6.5vw, 1.9rem) !important;
		line-height: 1.2 !important;
		word-break: break-word;
	}

	.section-title p,
	.section-title-content p{
		font-size: 15px !important;
		line-height: 1.6 !important;
	}

	/* About */
	.about-us-images-elite{
		flex-direction: column;
		align-items: stretch;
		gap: 16px;
		margin-right: 0;
		margin-bottom: 28px;
		max-width: 100%;
		height: auto;
	}

	.about-us-image-box-1-elite,
	.about-us-image-box-2-elite{
		width: 100% !important;
	}

	.about-us-image-elite figure img{
		aspect-ratio: 4 / 5;
		border-radius: 18px;
	}

	.about-us-image-box-2-elite{
		align-items: stretch !important;
		gap: 16px !important;
	}

	.about-us-image-box-2-elite .get-in-touch-circle-elite{
		display: none;
	}

	.achievement-box-elite{
		margin-left: 0 !important;
		border: none !important;
		border-radius: 18px;
	}

	.achievement-item-elite{
		border-radius: 18px;
	}

	.about-us-body-elite{
		display: flex;
		flex-direction: column;
		gap: 16px;
	}

	.about-item-list-elite{
		width: 100% !important;
	}

	.about-counter-box-elite{
		width: 100% !important;
		max-width: 100% !important;
		justify-content: flex-start;
	}

	.about-us-btn-elite .btn-default{
		width: 100%;
		min-height: 48px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	/* Services */
	.service-item-elite{
		margin-bottom: 20px;
	}

	.service-item-content-elite h2{
		font-size: 17px !important;
		line-height: 1.3;
	}

	.service-item-content-elite p{
		font-size: 14px;
		line-height: 1.5;
	}

	/* Why choose */
	.why-choose-item-list-elite{
		gap: 14px !important;
	}

	.why-choose-item-elite{
		width: 100% !important;
		min-height: auto !important;
	}

	.why-choose-image-2-elite figure img{
		max-width: 160px !important;
	}

	/* How it works — horizontal chip tabs */
	.how-work-boxes-elite{
		display: flex;
		flex-direction: column;
		gap: 16px;
		height: auto !important;
	}

	.how-work-nav-elite{
		width: 100% !important;
		padding: 0 !important;
		overflow: hidden;
	}

	.how-work-nav-elite ul.nav-tabs{
		display: flex;
		flex-wrap: nowrap;
		gap: 8px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		padding-bottom: 4px;
		border: none;
	}

	.how-work-nav-elite ul.nav-tabs::-webkit-scrollbar{
		display: none;
	}

	.how-work-nav-elite ul li{
		flex: 0 0 auto;
	}

	.how-work-nav-elite ul li .nav-link{
		white-space: nowrap;
		font-size: 13px !important;
		padding: 10px 14px !important;
		border-radius: 999px !important;
		border: 1px solid rgba(0, 0, 0, 0.1);
		background: #fff;
	}

	.how-work-nav-elite ul li .nav-link.active{
		background: linear-gradient(90deg, var(--accent-secondary-color) 0%, var(--accent-color) 100%);
		color: #fff;
		border-color: transparent;
	}

	.how-work-box-elite{
		width: 100% !important;
	}

	.how-work-box-item-elite{
		height: auto !important;
		margin-bottom: 16px !important;
		padding: 18px !important;
	}

	.how-work-footer-elite,
	.testimonials-footer-elite{
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}

	.how-work-footer-list-elite ul,
	.testimonials-footer-list-elite ul{
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
	}

	/* Pricing / projects / blog */
	.pricing-item-elite,
	.project-item,
	.post-item{
		margin-bottom: 18px;
	}

	.pricing-item-btn-elite .btn-default,
	.section-btn .btn-default{
		width: 100%;
		min-height: 48px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.pricing-benefit-list-elite ul{
		flex-direction: column;
		align-items: flex-start;
		gap: 12px !important;
	}

	/* FAQ */
	.faqs-image-box-elite{
		padding: 0 !important;
		margin-bottom: 24px !important;
	}

	.faq-accordion-elite .accordion-header .accordion-button{
		font-size: 15px !important;
		line-height: 1.4;
		padding: 16px 44px 16px 16px !important;
		text-align: left;
	}

	.faq-accordion-elite .accordion-body p{
		font-size: 14px;
		line-height: 1.6;
	}

	/* Testimonials */
	.testimonial-item-elite{
		padding: 20px;
	}

	.testimonial-item-content-elite p{
		font-size: 15px;
		line-height: 1.55;
	}

	/* Footer */
	.main-footer-elite{
		padding-top: 48px;
	}

	.footer-header-elite{
		flex-direction: column;
		align-items: flex-start;
		gap: 20px !important;
	}

	.footer-newsletter-form-elite form,
	.footer-newsletter-form-elite .form-group{
		display: flex;
		flex-direction: column;
		gap: 10px;
		width: 100%;
	}

	.footer-newsletter-form-elite input,
	.footer-newsletter-form-elite button,
	.footer-newsletter-form-elite .btn-default{
		width: 100%;
		min-height: 48px;
		border-radius: 12px;
	}

	.footer-links-box-elite{
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 24px 16px;
		margin-left: 0 !important;
	}

	.footer-contact-list-elite{
		display: flex;
		flex-direction: column;
		gap: 16px;
	}

	.footer-copyright-text-elite{
		text-align: center;
		font-size: 13px;
	}

	.aventa-hero-video-popup{
		margin: 16px;
		max-width: calc(100% - 32px);
		border-radius: 14px;
	}

	.section-footer-text p{
		font-size: 14px;
		line-height: 1.55;
	}
}

@media only screen and (max-width: 575px){
	.hero-elite--video,
	.hero-elite{
		padding: 108px 0 40px !important;
	}

	.hero-counter-list-elite{
		grid-template-columns: 1fr 1fr;
		gap: 10px !important;
	}

	.hero-counter-item-elite{
		padding: 12px 10px;
	}

	.hero-counter-item-elite:last-child{
		grid-column: 1 / -1;
	}

	.footer-links-box-elite{
		grid-template-columns: 1fr;
	}

	.how-work-footer-list-elite ul li,
	.testimonials-footer-list-elite ul li{
		font-size: 12px !important;
		padding: 8px 12px !important;
	}

	.section-row{
		margin-bottom: 10px;
	}

	.our-services-elite,
	.why-choose-us-elite,
	.how-it-works-elite,
	.our-pricing-elite,
	.our-projects-elite,
	.our-faqs-elite,
	.our-testimonials-elite,
	.our-blog-elite,
	.about-us-elite{
		padding-top: 44px !important;
		padding-bottom: 44px !important;
	}
}

/* Safe areas (notch / home indicator) */
@supports (padding: max(0px)){
	@media only screen and (max-width: 991px){
		.main-header .navbar .container{
			padding-left: max(16px, env(safe-area-inset-left));
			padding-right: max(16px, env(safe-area-inset-right));
		}

		.main-footer-elite{
			padding-bottom: max(24px, env(safe-area-inset-bottom));
		}
	}
}
