/*
Theme Name: Cidiemme Blocks
Author: Franchi Web Design
Author URI: https://franchiwebdesign.com/
Theme URI: https://www.cidiemme.it/
Tags: full-site-editing, block-patterns
Text Domain: cidiemme-blocks
Requires at least: 6.4
Requires PHP: 7.4
Tested up to: 6.4
Version: 100.0

License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/


html {
	scroll-behavior: smooth;
}

body {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}


main {
	margin-block-start: 0!important;
	padding-top: 0!important;
}


/* Header sovrapposto ai contenuti - contenitore generale */
body > .wp-block-group:first-child {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	z-index: 1001 !important;
	overflow: visible !important;
}

/* Banda informazioni superiore - azzurra */
.wp-block-group.has-primary-background-color.desktop-only {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	z-index: 1002 !important;
}

/* Header principale con navigazione - trasparente con effetto vetro */
.wp-block-group.has-base-background-color {
	position: absolute !important;
	top: 54px !important; /* Altezza ridotta della banda superiore */
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	z-index: 1000 !important;
	overflow: visible !important;
	background: rgba(18, 19, 70, 0.15) !important; /* Effetto vetro blu scuro #121346 */
	backdrop-filter: blur(5px) !important;
	-webkit-backdrop-filter: blur(5px) !important; /* Safari */
}

/* Header sticky con background semi-trasparente */
.wp-block-group.has-base-background-color.is-sticky {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	z-index: 1000 !important;
	overflow: visible !important;
	transition: transform 0.3s ease-in-out, background-color 0.3s ease-in-out, color 0.3s ease-in-out, opacity 0.3s ease-in-out;
	background-color: rgba(255, 255, 255, 0.95) !important; /* Semi-trasparente quando sticky */
	backdrop-filter: blur(5px); /* Effetto blur */
}

/* Effetto overlay gradiente per slider home */
.wp-block-cover:has(.blur-group-slider-home) {
	position: relative !important;
}

/* Filtro blu tra l'immagine di sfondo del Cover e il gruppo */
.wp-block-cover:has(.blur-group-slider-home)::after {
	content: '' !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	background: linear-gradient(to right, rgba(1, 51, 103, 0.96) 0%, rgba(1, 51, 103, 0.3) 30%, transparent 60%) !important;
	pointer-events: none !important;
	z-index: 1 !important; /* Sopra l'immagine di sfondo del Cover */
}

/* Gruppo con overlay nitido sopra il filtro */
.blur-group-slider-home {
	position: relative !important;
	z-index: 2 !important; /* Sopra il filtro blu */
}

/* Contenuti del gruppo sopra tutto */
.blur-group-slider-home > * {
	position: relative !important;
	z-index: 3 !important;
}


.wp-block-group.has-base-background-color.header-hide {
	transform: translateY(-100%);
	opacity: 0;
}

/* Stili per i submenu del blocco navigazione */

/* Ponte invisibile per distanziare il submenu senza perdere l'hover */
.wp-block-navigation .wp-block-navigation-item.has-child {
	position: relative !important;
}

@media (min-width: 1300px) {
.wp-block-navigation .wp-block-navigation-item.has-child::before {
	content: '' !important;
	position: absolute !important;
	top: 100% !important;
	left: 0 !important;
	right: 0 !important;
	height: 35px !important; /* distanza tra menu e submenu */
	background: transparent !important;
	pointer-events: auto !important;
	z-index: 999 !important;
}


/* Submenu con background azzurro (colore primario) e spaziatura */
.wp-block-navigation__submenu-container {
	background-color: var(--wp--preset--color--primary) !important;
	padding: 20px 24px !important;
	border-radius: 8px !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
	min-width: 240px !important;
	margin-top: 35px !important; /* distanza dal menu principale */
	
	/* Animazione: parte dal basso - più fluida */
	opacity: 0 !important;
	transform: translateY(-10px) !important;
	transition: opacity 0.4s ease-out, transform 0.4s ease-out !important;
}
}

/* Submenu visibile quando il parent è in hover */
.wp-block-navigation .wp-block-navigation-item.has-child:hover .wp-block-navigation__submenu-container,
.wp-block-navigation .wp-block-navigation-item.has-child:focus-within .wp-block-navigation__submenu-container {
	opacity: 1 !important;
	transform: translateY(0) !important;
}

.wp-block-navigation__submenu-container .wp-block-navigation-item a {
	color: var(--wp--preset--color--base) !important; /* bianco */
	padding: 12px 16px !important; /* più spazio nei link */
	display: block !important;
	border-radius: 4px !important;
	transition: background-color 0.2s ease !important;
	text-decoration: none !important;
	white-space: nowrap !important; /* non va a capo */
}

.wp-block-navigation__submenu-container .wp-block-navigation-item a:hover {
	background-color: rgba(255, 255, 255, 0.15) !important;
	text-decoration: none !important;
}

/* Rimuove underline da tutti i link del menu principale */
.wp-block-navigation a {
	text-decoration: none !important;
}

.wp-block-navigation a:hover {
	text-decoration: none !important;
}

/* Frecce dei submenu desktop - bianche e dimensione corretta */
.wp-block-navigation .wp-block-navigation-item.has-child > .wp-block-navigation-submenu-icon {
	color: var(--wp--preset--color--base) !important;
	fill: var(--wp--preset--color--base) !important;
	transition: transform 0.3s ease !important;
}

.wp-block-navigation .wp-block-navigation-item.has-child > .wp-block-navigation-submenu-icon svg {
	fill: var(--wp--preset--color--base) !important;
	transition: transform 0.3s ease !important;
}

/* Stili alternativi per le frecce - tutte le varianti possibili */
.wp-block-navigation .has-child svg,
.wp-block-navigation__submenu-icon,
.wp-block-navigation__submenu-icon svg,
.wp-block-navigation-item__content svg,
.wp-block-navigation-submenu-icon,
.wp-block-navigation-submenu-icon svg {
	color: var(--wp--preset--color--base) !important;
	fill: var(--wp--preset--color--base) !important;
	stroke: var(--wp--preset--color--base) !important;
	transition: transform 0.3s ease !important;
	width: 14px !important;
	height: 14px !important;
}

/* Ruota la freccia quando il submenu è aperto (in hover) */
.wp-block-navigation .wp-block-navigation-item.has-child:hover > .wp-block-navigation-submenu-icon,
.wp-block-navigation .wp-block-navigation-item.has-child:focus-within > .wp-block-navigation-submenu-icon {
	transform: rotate(180deg) !important;
}

/* Rotazione arrow su hover SOLO per desktop */
@media (min-width: 1301px) {
	.wp-block-navigation .wp-block-navigation-item.has-child:hover > .wp-block-navigation-submenu-icon svg,
	.wp-block-navigation .wp-block-navigation-item.has-child:focus-within > .wp-block-navigation-submenu-icon svg {
		transform: rotate(180deg) !important;
	}

	.wp-block-navigation .has-child:hover svg,
	.wp-block-navigation .has-child:focus-within svg {
		transform: rotate(180deg) !important;
	}
}

.wp-block-navigation__container.has-text-color.has-contrast-color.has-small-font-size.is-responsive.items-justified-right.menu-left.wp-block-navigation.has-small-font-size {
	align-items: flex-start;
}

@media (max-width: 1300px) {
.desktop-contact-cta{
	display: none !important;
}
.wp-block-navigation__container.has-text-color.has-contrast-color.has-small-font-size.is-responsive.items-justified-right.menu-left.wp-block-navigation.has-small-font-size {
	width: 100% !important;
}
	.wp-block-navigation__submenu-container.wp-block-navigation-submenu{
min-width: auto!important;
width: 100%!important;
align-items: flex-start!important;
padding-top: 0!important;
	}
	.wp-block-navigation .wp-block-navigation-item.has-child{
		align-items: flex-start!important;
		width: 100% !important;
	}
	
	/* Forza il bottone a prendere tutta la larghezza */
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child {
		display: flex !important;
		width: 100% !important;
		margin-bottom: -28px!important;
	}
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child.open{
		margin-bottom: 0px!important;
	}
	
	.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open{
		background-color: var(--wp--preset--color--contrast-dark)!important;
		color: var(--wp--preset--color--base);
		height: 100vh;
	}
	.wp-block-social-links{
		display: none!important;
	}
	
	/* Submenu nascosto di default nel menu responsive */
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child .wp-block-navigation__submenu-container {
		display: none;
	}
	
	/* Submenu visibile quando il parent ha la classe 'open' */
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child.open .wp-block-navigation__submenu-container {
		display: flex;
	}

	
	/* Arrow per le voci con figli - solo responsive */
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child > button {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		width: 100% !important;
		padding: 12px 0 !important;
		position: relative;
		top: -22px;
		padding-right:8px!important
	}
	
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child > button span {
		display: inline-block;
	}
	
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child > button svg {
		display: inline-block !important;
		opacity: 1 !important;
		visibility: visible !important;
		transition: transform 0.3s ease;
		width: 12px !important;
		height: 12px !important;
		flex-shrink: 0 !important;
		vertical-align: middle !important;
		margin-left: auto !important;
	}
	
	/* Rotazione arrow quando submenu è aperto */
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child.open > button svg {
		transform: rotate(180deg);
	}
	 .wp-block-navigation__responsive-container.is-menu-open .wp-block-search {
        display: none !important;
    }
	.has-text-color.has-contrast-color.has-small-font-size.is-responsive.items-justified-right.menu-left.wp-block-navigation.is-horizontal.is-content-justification-right.is-layout-flex.wp-container-core-navigation-is-layout-64619e5e.wp-block-navigation-is-layout-flex{
		color: var(--wp--preset--color--base)!important;
	}
}

/* Change the WordPress default css to a 1300px media query */
@media (min-width: 1300px) {
    .wp-block-navigation__responsive-container-open:not(.always-shown) {
        display: none !important;
    }
    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
        display: block !important;
        width: 100%;
        position: relative;
        z-index: auto;
        background-color: inherit;
    }
}
/* Remove the WordPress default for 600px */
@media (min-width: 600px) {
    .wp-block-navigation__responsive-container-open:not(.always-shown) {
        display: flex;
    }
    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
        display: none;
    }
}


/* Footer */
footer a{
	text-decoration: none !important;
	transition: color 0.3s ease;
}

footer a:hover {
	color: #00B4D8 !important;
}

@media (min-width: 776px) {
.footer-no-border{
	border-left: none !important;
	border-right: none !important;
}
}

@media (max-width: 1024px) {
	.group-stat-resp{
		padding-top: 180px!important;
        margin-top: -120px!important;
	}
}

@media (max-width: 500px) {
	.group-stat-resp{
		padding-top: 350px!important;
        margin-top: -230px!important;
	}
}

@media (max-width: 776px) {
.respo-home-slider-group{
	min-height: 700px!important;
}
.only-desktop-nav{
	display: none!important;
}
.desktop-logo{
	width: 180px!important;
}
}
/* ===================================
   ICON SWING ANIMATION
   =================================== */

/* Definizione keyframe per l'effetto rotazione molla - 1 ciclo poi pausa */
@keyframes iconSwing {
	0% {
		transform: rotate(0deg);
	}
	16.67% {
		transform: rotate(20deg);
	}
	33.33% {
		transform: rotate(-20deg);
	}
	50% {
		transform: rotate(0deg);
	}
	50.01%, 100% {
		transform: rotate(0deg);
	}
}

/* Classe per animazione swing infinita con pausa di 2 secondi */
.icon-swing-infinite {
	animation: iconSwing 3s ease-in-out infinite;
	/* 1.5s movimento + 1.5s pausa = 3s totali */
	transform-origin: center center;
}

/* Versione alternativa con pausa più precisa */
@keyframes iconSwingWithPause {
	0% {
		transform: rotate(0deg);
	}
	11.11% {
		transform: rotate(20deg);
	}
	22.22% {
		transform: rotate(-20deg);
	}
	33.33% {
		transform: rotate(0deg);
	}
	33.34%, 100% {
		transform: rotate(0deg);
	}
}

/* Classe alternativa per una pausa più precisa (1s anim + 2s pausa) */
.icon-swing-infinite-precise {
	animation: iconSwingWithPause 3s ease-in-out infinite;
	transform-origin: center center;
}



/* Team effect */
.team-card {
    cursor: pointer;
}

.team-contact-info {
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    margin: 0 !important;
    padding: 0 !important;
    transition: all 0.4s ease;
}

.team-contact-info p {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.4;
}

.team-contact-info p:not(:first-child) {
    margin-top: 6px !important;
}

.team-card .has-white-background-color {
    transition: all 0.4s ease;
}

.team-card:hover .team-contact-info {
    opacity: 1;
    max-height: 60px;
    margin-top: 16px !important;
    padding-top: 4px !important;
}

.team-card:hover .has-white-background-color {
    background-color: #121346 !important; /* overlay scuro sul gruppo bianco */
}

/* Testi bianchi in hover */
.team-card:hover .wp-block-heading,
.team-card:hover p {
    color: #ffffff !important;
    transition: color 0.3s ease;
}