/*
Theme Name: Hiroshi Child
Theme URI: https://hiroshi.qodeinteractive.com
Description: A child theme of Hiroshi
Author: Select Themes
Author URI: https://qodeinteractive.com
Version: 1.0
Text Domain: hiroshi
Template: hiroshi
*/
html{
	overflow-x: hidden;
}
.qodef-header-navigation>ul>li>a>span {
		min-width: 26px;
}

.home #qodef-page-header #qodef-page-header-inner {
		padding-left: 40px!important;
		padding-right: 40px!important;
}
.qodef-portfolio-content {
	border-bottom: 0px;
}
.qodef-e.qodef-portfolio-content::-webkit-scrollbar {
	width: 4px; /* or other width */
}

.qodef-e.qodef-portfolio-content::-webkit-scrollbar-track {
	background: #f1f1f1; /* color of the track */
}

.qodef-e.qodef-portfolio-content::-webkit-scrollbar-thumb {
	background: rgb(0, 0, 0); /* color of the scroll thumb */
	border-radius: 0px; /* roundness of the scroll thumb */
}

.qodef-e.qodef-portfolio-content::-webkit-scrollbar-thumb:hover {
	background: rgb(0, 0, 0); /* color on hover */
}
#qodef-page-wrapper {
	overflow: visible;
}
.mt-0 {margin-top:0px;}
.home #qodef-page-outer {
	margin-top: 0;
}
.home #qodef-page-header {
	position: absolute;
}
.qodef-header-navigation {
	margin-top: -10px;
}
.qodef-h1, h1 {
	font-size: 30px;
}
.qodef-page-title {
	height: 100vh;
}
.page-id-3326 #qodef-page-header-inner a.qodef-header-logo-link img,
.page-id-24836 #qodef-page-header-inner a.qodef-header-logo-link img,
.page-id-26006 #qodef-page-header-inner a.qodef-header-logo-link img {
	filter: invert(1);
}
.qodef-header--switch #qodef-page-header {
	height: auto;
	padding: 40px 0;
	pointer-events: none;
}
.blog_posts .qodef-e-content {
	display: flex !important;
	flex-direction: column-reverse;
	gap: 5px;
}
.qodef-header-holder--right {
	pointer-events: all;
}
.blog_posts .qodef-e-media-image {
	margin-bottom: 0px !important;
}
.blog_posts .qodef-e-content * {
	text-transform: capitalize !important;
	letter-spacing: 0px;
}
.blog_posts h4 {
	font-weight: bold;
}

.blog_posts .qodef-e-info a[rel="tag"],
.blog_posts .qodef-info-separator-end {
	display: none;
}

#qodef-page-footer .qodef-alignment--left .widget img {
	margin-right: auto;
	object-fit: cover;
	object-position: -10px;
	width: 300px;
	height: 73px;
}
#qodef-page-footer .qodef-grid-inner {
	display: flex !important;
	flex-direction: column;
	align-content: center;
	align-items: flex-start;
	text-align: left;
}
footer#qodef-page-footer-top-area-inner {
	padding-left: 50px !important;
}

#qodef-page-footer .qodef-grid-item {
	width: 350px;
}
.page-id-24977 footer#qodef-page-footer {
	display: none;
}
footer #qodef-page-footer-top-area .qodef-social-icons-group {
	display: flex;
	flex-direction: row;
	gap: 20px;
}

.qodef-fullscreen-tabs .qodef-m-title-vertical {
	bottom: -35px !important;
}
#qodef-page-header {
	position: relative;
	z-index: 99999 !important;
	top: 10px;
}
.home #qodef-page-header {
	top: 0px;
}
#news_block {
	.blog_posts {
		img {
			object-fit: contain;
			aspect-ratio: 9 / 7;
			object-position: left;
		}
	}
}
.mio-selettore-lingua {
		background-color: #000;
		position: absolute;
		right: 0;
		top: 0;
		width: 30px;
		height: 30px;
		color: #fff;
		display: flex;
		justify-content: center;
		align-items: center;
		z-index: 99999999;
}
.mio-selettore-lingua a{

		color: #fff;
}

.galleria-meta-shortcode {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 15px;
	margin: 40px 0px;
}

.galleria-meta-shortcode .gallery-item {
	margin: 0;
	overflow: hidden;
}

.galleria-meta-shortcode .gallery-item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.galleria-meta-shortcode .gallery-item img:hover {
	transform: scale(1.05);
}

.qodef-portfolio-info .qodef-e-label {
	font-weight: 600;
}
/* Contenitore principale per i dettagli */
.portfolio-details-qodef-style {
	margin-top: 40px;
	margin-bottom: 40px;
	padding-top: 20px;
	display: flex;
	flex-direction: column;
	gap: 12px; /* Spazio tra le righe */
}

/* Ogni singola riga (es. Cliente: Valore) */
.portfolio-details-qodef-style .qodef-e {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px; /* Spazio tra etichetta e valore */
}

/* Contenitore del valore */
.qodef-info--other-info {
	font-family: "DM Sans", sans-serif;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	line-height: 1.6em;
}
textarea.wpcf7-form-control.wpcf7-textarea {
	height: 160px;
}
.msg_accettazione {
	font-size: 13px;
	line-height: 16px;
	padding: 20px 0px;
	margin-bottom: 40px;
}
.accettazione {
	padding-bottom: 20px;
}
.wpcf7-list-item {
	margin-left: 0;
}
button.wpcf7-form-control:hover span {
	color: #fff !important;
}

div.custom-elementor-slider {
	overflow: hidden !important;
	position: relative;
	margin-left: auto;
	margin-right: auto;
}

/* 2. Wrapper delle Slide */
/* Il wrapper è un contenitore flex, queste regole aiutano a stabilizzarlo */
div.custom-elementor-slider .swiper-wrapper {
	display: flex;
	align-items: center; /* Allinea verticalmente le immagini se hanno altezze diverse */
}

div.custom-elementor-slider .swiper-slide {
	flex-shrink: 0;
	width: 100%;
	height: auto;
	transition-property: transform; /* Rende più fluida l'animazione */
}
#qodef-page-footer-top-area-inner {
	border: none;
}
div.custom-elementor-slider .swiper-slide img {
	display: block;
	height: auto; /* Mantiene le proporzioni dell'immagine */
}
.custom-elementor-slider
	.swiper-container-horizontal
	> .swiper-pagination-bullets,
.custom-elementor-slider .swiper-horizontal > .swiper-pagination-bullets {
	width: 170px;
}

.qodef-header-navigation > ul > li {
	height: 100%;
	margin: 0 10px;
}
.qodef-portfolio-single .qodef-variations--big .qodef-e-content {
	border: none;
}
.qodef-portfolio-content {
	margin-top: 20px;
	padding: 0px;
	margin-bottom: 30px;

	p {
		margin: 0px;
	}
}

.single-portfolio-item
	.qodef-portfolio-single
	.qodef-variations--big
	.qodef-e-content {
	margin-top: 0px;
}

.single {
	#qodef-page-inner {
		padding: 0px;
	}
	.qodef-h6,
	h6 {
		margin: 0;
	}
}
.mt-40 {
	margin-top: 40px;
}
.qodef-portfolio-single {
	padding: 0 40px;
}
.current-menu-item a span {
	color: #000 !important;
}

.single-portfolio-item #menu-main-menu #menu-item-24659 a span {
	color: #000 !important;
}
.single-portfolio-item #menu-main-menu li:not(#menu-item-24659) a span {
	color: #bbbbbb !important;
}

body.single #menu-main-menu li:not(:first-child) a,
#menu-main-menu li:not(.current-menu-item) a {
	color: #bbbbbb; /* Puoi usare 'grey' o un codice esadecimale specifico */
}
#qodef-page-inner {
	position: relative;
	padding: 0px;
}

.single {
	h1 {
		margin-top: -7px!important;
		margin-bottom: auto;
	}
	.qodef-page-title {
		display: none;
	}
	.qodef-portfolio-single .qodef-variations--big .qodef-e-content {
		margin-top:0px;

	}
	.qodef-portfolio-single {
		padding: 0 40px;
	}
	#qodef-page-inner {
		display: flex;
		gap: 100px;
		.qodef-e-media img {
			width: 1188px;
			object-fit: contain;
			object-position: top;
		}

		.qodef-e-content {
			width: 40%;
			display: flex;
		}
		.qodef-grid {
			.qodef-grid-inner {
				display: flex;
			}
		}
	}
}


.brand_name {
	font-size: 36px;
	font-family: "Impact";
	line-height: normal;
	margin-top: -8px;
}
.qodef-skin--light {
	.brand_name a {
		color: #fff;
	}
}
.qodef-skin--dark {
	.brand_name a {
		color: #000;
	}
}
#qodef-page-header {
	background-color: transparent;
	z-index: 20;
}
.page-id-24517 #qodef-page-header,
.page-id-15405 #qodef-page-header,
.page-id-26018 #qodef-page-header,
.page-id-26005 #qodef-page-header {
	z-index: 0;
}
#qodef-page-header-inner {
	padding: 0 50px;
}
.qodef-m-filter {
	margin: 0px !important;
	line-height: normal;
	height: auto;
	display: flex;
}
.page-parent .qodef-page-title {
	height: 100vh !important;
}
.page-child .qodef-page-title {
	display: none;
}
body.page-parent #qodef-page-header nav .current-menu-item a span {
	color: #000 !important;
}
.page-child #qodef-page-header nav .current-page-ancestor a span {
	color: #000 !important;
}
.page-id-24517 .qodef-header-holder--right,
.page-id-15405 .qodef-header-holder--right,
.page-id-26018 .qodef-header-holder--right,
.page-id-26005 .qodef-header-holder--right {
	display: flex;
	flex-direction: row-reverse;
}
.single {
	#menu-main-menu li:not(:first-child) a span {
		color: #bbbbbb !important;
	}
}
.single-portfolio-item .qodef-header-holder--right,
.page-id-24836 .qodef-header-holder--right,
.page-id-26006 .qodef-header-holder--right,
.page-child .qodef-header-holder--right,
.single-post .qodef-header-holder--right {
	display: flex;
	flex-direction: row;
}
.single-portfolio-item #qodef-page-header {
	color: #000;
}
.single-portfolio-item {
	#qodef-page-inner {
		display: flex;
		gap: 0px;
		flex-direction: row;
	}
}

.page-id-24517 .qodef-m-filter,
.page-id-15405 .qodef-m-filter,
.page-id-26018 .qodef-m-filter,
.page-id-26005 .qodef-m-filter {
	visibility: hidden;
}
/* Menu */
.acme_mobile-nav-toggle {
	display: none; /* Nascosto di default, appare solo su mobile */
	position: relative;
	z-index: 1001; /* Deve stare sopra a tutto */
	border: none;
	background-color: transparent;
	cursor: pointer;
	padding: 15px;
}

.acme_hamburger-box {
	width: 30px;
	height: 24px;
	display: inline-block;
	position: relative;
}

.acme_hamburger-inner,
.acme_hamburger-inner::before,
.acme_hamburger-inner::after {
	width: 30px;
	height: 3px;
	background-color: #000; /* Colore delle linee */
	position: absolute;
	border-radius: 3px;
	transition: transform 0.3s ease-in-out;
}

.acme_hamburger-inner {
	top: 50%;
	transform: translateY(-50%);
}

.acme_hamburger-inner::before,
.acme_hamburger-inner::after {
	content: "";
	display: block;
}

.acme_hamburger-inner::before {
	top: -10px;
}

.acme_hamburger-inner::after {
	bottom: -10px;
}
.qodef-m-filter .qodef-m-filter-item {
	white-space: nowrap;
}
/* --- 3. Stato APERTO (quando il menu è visibile) --- */

/* Blocca lo scroll del body */
body.acme_nav-open {
	overflow: hidden;
}

/* Mostra il menu facendolo scorrere */
body.acme_nav-open .qodef-header-navigation {
	transform: translateX(0);
	visibility: visible;
}

/* Animazione dell'icona da hamburger a "X" */
body.acme_nav-open .acme_hamburger-inner {
	transform: rotate(45deg);
}

body.acme_nav-open .acme_hamburger-inner::before {
	top: 0;
	transform: rotate(-90deg);
}

body.acme_nav-open .acme_hamburger-inner::after {
	bottom: 0;
	transform: rotate(0deg);
	opacity: 0; /* Nascondiamo la linea in basso */
}
@media only screen and (min-width: 1830px) {
.single-portfolio-item {
	.qodef-portfolio-single {
		padding: 0 40px !important;
	}
	.qodef-media {
		width: 80%;
	}
	.qodef-portfolio-info {
		margin-top: 0px!important;
		margin-bottom:30px;
		.qodef-info--other-info {
			margin-bottom:10px; }
	}
	.inner_content {
		display: flex;
		flex-direction: column;
		padding-left:40px;
		position: relative;
		height: 100%;
		.scroll_inner {
			position: relative;
			margin-bottom: auto;
		}

		.qodef-portfolio-content {
			margin-bottom: 0px;
			height: 430px;
			overflow-y: scroll;
			position: relative;
			padding-right: 20px;
			text-align: justify;
			position: relative;
		}
			h1 {
				margin-top: 0px!important;
				margin-bottom: 0px;
			}


	}
	.pl-30 {
		padding-left: 30px !important;
	}
}

}
@media screen and (min-width: 1024px) and (max-width: 1440px) {
.single-post {
			#qodef-page-inner {
					display: flex;
					gap: 30px;
			}
	}
.single-portfolio-item {
	.qodef-e-content {
							width: 100%!important;
							display: flex;
							max-width: 80%;
							padding-top: 40px;
					}
	#qodef-page-inner {
						display: flex;
						gap: 0px;
						flex-direction: column;
	}
	.qodef-portfolio-single {
		padding: 0 40px !important;
	}
	.qodef-media {
		width: 100%;
	}
	.qodef-portfolio-info {
		margin-top: 0px!important;
		margin-bottom:30px;
		.qodef-info--other-info {
			margin-bottom:10px; }
	}
	.clear:before, .clear:after {
		content:none!important;
	}
	.inner_content {
		display: flex;
		gap: 40px;
		flex-direction: row;
		padding-left:0px;
		position: relative;
		height: 100%;
		.scroll_inner {
				width: 70%;
		}
		.qodef-portfolio-content {
			margin-bottom: 0px;
			height: auto;
			position: relative;
			padding-right: 0px;
			text-align: justify;
			position: relative;
			border:none;
		}
			h1 {
				margin-top: 0px!important;
				margin-bottom: 0px;
			}


	}
	.pl-30 {
		padding-left: 30px !important;
	}
}
}

@media only screen and (min-width: 1300px) {
	#project_loop img {
		max-height: 300px;
	}
	.single-portfolio-item .swiper-slide img {
		width: 100%;
	}
	.single-post {
			#qodef-page-inner {
					display: flex;
					gap: 30px;
					flex-direction: column;
			}
	}
}

@media only screen and (max-width: 1024px) {
	#qodef-m-filter-clone {
		display: none;
	}
	#qodef-page-header-inner.qodef-skin--light nav > ul > li > a > span,
	.qodef-custom-header-layout.qodef-skin--light nav > ul > li > a > span {
		color: #bbbbbb !important;
	}
	.qodef-skin--light {
		.brand_name a {
			color: #000;
		}
	}
	.home #qodef-page-header {
		display: inline-block;
		position: absolute;
		top: 20px;
		z-index: 90;
	}
	#qodef-page-header {
		display: inline-block;
		position: relative;
	}
	.qodef-header--switch #qodef-page-header {
		padding: 0px 0 !important;
	}
}
@media only screen and (max-width: 990px) {
	#project_loop img {
		height: 350px;
		object-fit: cover !important;
	}

	.qodef-m-filter .qodef-m-filter-items {
		flex-direction: row;
		display: flex;
		justify-content: center;
		width: 100%;
		flex-wrap: wrap;
		text-align: center;
	}
	.page-id-24517 .qodef-m-filter,
	.page-id-26005 .qodef-m-filter {
		visibility: visible !important;
		margin-bottom: 30px !important;
	}
	.page-id-24517 .qodef-m-filter-items a:nth-child(1),
	.page-id-26005 .qodef-m-filter-items a:nth-child(1) {
		flex: 100%;
		display: flex;
		text-align: center;
		justify-content: center;
	}
	.single {
		#qodef-page-inner {
			display: flex;
			gap: 20px;
			flex-direction: column;
		}
	}
	.single {
		& #qodef-page-inner {
			.qodef-e-content {
				width: 100%;
			}
		}
	}
}
@media (max-width: 768px) {
	.page.qodef-grid {
		    overflow-x: hidden;
	}
	.page .qodef-grid-item.qodef-page-content-section {
    padding: 0px !important;
}
	#qodef-page-header {
		#qodef-page-header-inner {
			padding-left: 15px;
			padding-right: 15px;
		}
	}
	.single {
			.qodef-portfolio-single {
					padding: 0 15px;
			}
	}
	footer{
	#qodef-page-footer-top-area-inner {
			padding-top: 100px;
			padding-bottom: 100px;
			padding-left: 15px !important;
			padding-right: 15px !important;
	}
	}
	#qodef-page-header-inner.qodef-skin--light nav > ul > li > a > span,
	.qodef-custom-header-layout.qodef-skin--light nav > ul > li > a > span {
		color: #000000 !important;
	}
	.single,
	.single-portfolio {
		#qodef-m-filter-clone {
			display: none;
		}
		.qodef-media {
			width: 100%;
		}
		h1,
		.qodef-h1 {
			font-size: 40px;
		}
	}
	/* Mostra il bottone hamburger */
	.acme_mobile-nav-toggle {
		display: block;
	}

	/* Nascondi il menu di navigazione desktop */
	.qodef-header-navigation {
		position: fixed;
		top: 0;
		right: 0;
		width: 100%; /* Larghezza del pannello menu */
		max-width: 100%;
		height: 100vh; /* Altezza piena */
		background-color: #ffffff; /* Sfondo del menu */
		box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);

		/* Logica per nascondere e animare */
		transform: translateX(100%);
		visibility: hidden;
		transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1), visibility 0.4s;

		/* Stili per la lista */
		padding-top: 80px;
	}

	.qodef-header-navigation .menu {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.qodef-header-navigation .menu > li {
		width: 100%;
		text-align: center;
		margin: 0;
		padding: 15px 20px;
		border-bottom: 1px solid #f0f0f0;
		height: 110px;
		display: flex;
		justify-content: center;
	}

	.qodef-header-navigation .menu li a span {
		font-size: 3.2rem;
		color: #bbbbbb !important;
	}
	.qodef-header-navigation .menu li.current-menu-item a span {
		color: #000 !important;
	}
}
@media (max-width: 600px) {
#qodef-page-footer	#qodef-page-footer-top-area-inner {
			padding-left: 15px !important;
			padding-right: 15px !important;
	}
	.single-portfolio-item {
			.qodef-portfolio-single {
					padding: 0 15px !important;
			}
	}

	.brand_name {
		font-size: 23px;
	}
	.single {
		& #qodef-page-inner {
			.qodef-e-media img {
				width: 100%;
				height: 300px;
				object-fit: cover;
			}
		}
	}
	.single-portfolio-item {
			.inner_content {
					padding: 0px;
					.qodef-portfolio-content {
						overflow-y: visible;
						box-shadow: none;
						height: auto;
						padding-right: initial;
					}
			}

	}
}
@media (max-width: 480px) {
	
	
	#news_block {
    & .blog_posts {
        img {
            object-fit: contain;
            aspect-ratio: auto;
            object-position: left;
        }
    }
}
	
	.single-portfolio-item {
					.inner_content {
							flex-direction: column;
							.scroll_inner {
									width: 100%;
							}
					}
			}
}

/* Smartphone in verticale (portrait) */
@media only screen and (max-width: 767px) and (orientation: portrait) {
	div.custom-elementor-slider .swiper-slide img {
	transform: scale(2.5);
	transform-origin: left;
	}
}

/* Smartphone in orizzontale (landscape) */
@media only screen and (max-width: 767px) and (orientation: landscape) {
	div.custom-elementor-slider .swiper-slide img {
		transform: scale( none);
		transform-origin: unset;
	}

}
