/*
 Theme Name: Hello Elementor Child
 Theme URI: https://elementor.com/hello-theme/
 Description: Child theme for Tecnografica, based on Hello Elementor.
 Author: Tecnografica
 Template: hello-elementor
 Version: 1.1.12
 Text Domain: hello-elementor-child
 License: GNU General Public License v3 or later
 License URI: https://www.gnu.org/licenses/gpl-3.0.html
*/

/* Header fisso allo scroll (fascia top fucsia + logo/menu) */
.elementor-location-header {
	position: sticky;
	position: -webkit-sticky;
	top: 0;
	z-index: 999;
	width: 100%;
}

/* Header — frame "navigazione" (Figma) */
.elementor-location-header .tecnografica-header {
	display: flex !important;
	flex-direction: column !important;
	width: 100%;
	max-width: none;
	padding: 0 !important;
	position: relative;
	background-color: rgba(255, 255, 255, 0.9);
}

.elementor-location-header .tecnografica-header::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	backdrop-filter: blur(12.5px);
	-webkit-backdrop-filter: blur(12.5px);
}

.elementor-location-header .tecnografica-header__inner {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: space-between;
	width: 100%;
	max-width: none !important;
	margin: 0;
	padding: 30px !important;
	box-sizing: border-box;
}

.elementor-location-header .tecnografica-header__inner > .e-image-link-base,
.elementor-location-header .tecnografica-header__inner > a:has(.tecnografica-header__logo),
.elementor-location-header .tecnografica-header__inner > .elementor-widget-html,
.elementor-location-header .tecnografica-header__inner > .elementor-widget-image,
.elementor-location-header .tecnografica-header__inner > .elementor-widget-e-image,
.elementor-location-header .tecnografica-header__inner > :first-child:not(.tecnografica-header__menu) {
	display: flex !important;
	align-items: center !important;
	align-self: center !important;
}

.elementor-location-header .tecnografica-header__logo,
.elementor-location-header .tecnografica-header__inner > .elementor-widget-html img {
	display: block;
	width: 130px;
	height: auto;
	max-height: 23px;
	max-width: 100%;
	object-fit: contain;
	object-position: left center;
	flex-shrink: 0;
}

.elementor-location-header .tecnografica-header__menu {
	display: flex !important;
	align-items: center !important;
	align-self: center !important;
	margin-left: auto;
	flex-shrink: 0;
}

/* Desktop: allinea le voci del menu orizzontalmente */
@media (min-width: 1025px) {
	.elementor-location-header .tecnografica-header__menu .elementor-widget-container,
	.elementor-location-header .tecnografica-header__menu .elementor-nav-menu--layout-horizontal,
	.elementor-location-header .tecnografica-header__menu .elementor-nav-menu--main .elementor-nav-menu {
		display: flex !important;
		align-items: center !important;
		justify-content: flex-end;
		flex-wrap: nowrap;
	}
}

/* Mobile/tablet: hamburger a destra e menu fullscreen */
@media (max-width: 1024px) {
	.elementor-location-header .tecnografica-header__menu {
		flex: 1 1 auto !important;
		justify-content: flex-end !important;
		min-width: 0;
	}

	.elementor-location-header .tecnografica-header__menu .elementor-widget-container,
	.elementor-location-header .tecnografica-header__menu.elementor-widget-nav-menu {
		display: flex !important;
		align-items: center !important;
		justify-content: flex-end !important;
		width: 100%;
	}

	.elementor-location-header .tecnografica-header__menu .elementor-nav-menu--main {
		display: none !important;
	}

	.elementor-location-header .tecnografica-header__menu .elementor-nav-menu--dropdown[aria-hidden="true"] {
		position: absolute;
		width: 0;
		height: 0;
		overflow: hidden;
		visibility: hidden;
		pointer-events: none;
	}

	.elementor-location-header .tecnografica-header__menu .elementor-menu-toggle {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		align-self: center !important;
		margin: 0 0 0 auto !important;
		padding: 0 !important;
		background-color: transparent !important;
		border: 0 !important;
		line-height: 1;
	}

	.elementor-location-header .tecnografica-header__inner > .elementor-widget-html img {
		width: 130px !important;
		max-height: 23px;
	}

	/* Menu a tutto schermo con voci centrate */
	.elementor-location-header .tecnografica-header__menu .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown[aria-hidden="false"] {
		position: fixed;
		inset: 0;
		width: 100%;
		height: 100dvh;
		max-height: none !important;
		margin: 0 !important;
		padding: 120px 30px 40px;
		display: flex !important;
		align-items: center;
		justify-content: center;
		overflow-x: hidden;
		overflow-y: auto;
		transform: none !important;
		z-index: 1000;
		background-color: rgba(255, 255, 255, 0.97);
		backdrop-filter: blur(12.5px);
		-webkit-backdrop-filter: blur(12.5px);
		border: 0;
		border-radius: 0;
		box-shadow: none;
	}

	.elementor-location-header .tecnografica-header__menu .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown[aria-hidden="false"] .elementor-nav-menu {
		display: flex !important;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 40px;
		width: 100%;
		margin: 0;
		padding: 0;
		text-align: center;
	}

	.elementor-location-header .tecnografica-header__menu .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown[aria-hidden="false"] .elementor-nav-menu > li {
		width: auto;
		margin: 0 !important;
		text-align: center;
	}

	.elementor-location-header .tecnografica-header__menu .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown[aria-hidden="false"] .elementor-item {
		justify-content: center;
		text-align: center;
		border-inline-start: 0 !important;
	}

	.elementor-location-header .tecnografica-header__menu .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown[aria-hidden="false"] .elementor-item.elementor-item-active,
	.elementor-location-header .tecnografica-header__menu .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown[aria-hidden="false"] .current-menu-item > .elementor-item {
		background-color: transparent !important;
		color: #ee008d !important;
		fill: #ee008d !important;
	}

	.elementor-location-header .tecnografica-header__menu .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown[aria-hidden="false"] .elementor-item.elementor-item-active:hover,
	.elementor-location-header .tecnografica-header__menu .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown[aria-hidden="false"] .elementor-item.elementor-item-active:focus,
	.elementor-location-header .tecnografica-header__menu .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown[aria-hidden="false"] .current-menu-item > .elementor-item:hover,
	.elementor-location-header .tecnografica-header__menu .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown[aria-hidden="false"] .current-menu-item > .elementor-item:focus {
		background-color: transparent !important;
		color: #ee008d !important;
		fill: #ee008d !important;
	}

	/* Logo e hamburger restano sopra l'overlay */
	.elementor-location-header .tecnografica-header__inner > .e-image-link-base,
	.elementor-location-header .tecnografica-header__inner > a:has(.tecnografica-header__logo),
	.elementor-location-header .tecnografica-header__inner > .elementor-widget-html,
	.elementor-location-header .tecnografica-header__inner > .elementor-widget-image,
	.elementor-location-header .tecnografica-header__inner > .elementor-widget-e-image,
	.elementor-location-header .tecnografica-header__inner > :first-child:not(.tecnografica-header__menu),
	.elementor-location-header .tecnografica-header__menu .elementor-menu-toggle {
		position: relative;
		z-index: 1001;
	}

	.elementor-location-header:has(.tecnografica-header__menu .elementor-menu-toggle.elementor-active) {
		z-index: 10000;
	}
}

.elementor-location-header .tecnografica-header__divider {
	display: block;
	width: 100%;
	height: 1px;
	margin: 0;
	border: 0;
	background-color: #000;
	flex-shrink: 0;
}

/* Footer — frame "Frame 33" (Figma) */
.elementor-location-footer .tecnografica-footer {
	display: flex !important;
	flex-direction: column !important;
	width: 100%;
	max-width: none;

	background-color: #000;
}

.elementor-location-footer .tecnografica-footer__ticker {
	padding: 4px 0 !important;
	background-color: #ee008d;
	width: 100% !important;
	max-width: 100% !important;
	overflow: hidden !important;
}

/* Track vuoto (menu fuori posto) — nascondi */
.elementor-location-footer .tecnografica-footer__ticker > .tecnografica-footer__ticker-track:not(:has(.elementor-widget-nav-menu)) {
	display: none !important;
}

/* Struttura corretta: menu DENTRO il track */
.elementor-location-footer .tecnografica-footer__ticker-track:has(.elementor-widget-nav-menu) {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	gap: 80px;
	width: max-content !important;
	max-width: none !important;
	animation: tecnografica-footer-marquee 80s linear infinite !important;
	will-change: transform;
}

/* Fallback: menu come figli diretti del ticker (track vuoto) */
.elementor-location-footer .tecnografica-footer__ticker:has(> .elementor-widget-nav-menu):not(:has(> .tecnografica-footer__ticker-track .elementor-widget-nav-menu)) {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	gap: 80px;
	width: max-content !important;
	max-width: none !important;
	overflow: visible !important;
	animation: tecnografica-footer-marquee 80s linear infinite !important;
	will-change: transform;
}

/* Clip quando il ticker stesso scorre (menu fuori dal track) */
.elementor-location-footer .e-flexbox:has(> .tecnografica-footer__ticker > .elementor-widget-nav-menu),
.elementor-location-footer .tecnografica-footer:has(> .tecnografica-footer__ticker > .elementor-widget-nav-menu) {
	overflow: hidden !important;
	width: 100% !important;
	max-width: 100% !important;
}

.elementor-location-footer .tecnografica-footer__ticker .elementor-widget-nav-menu,
.elementor-location-footer .tecnografica-footer__ticker-track .elementor-widget-nav-menu,
.elementor-location-footer .tecnografica-footer__ticker-menu {
	display: flex !important;
	flex: 0 0 auto !important;
	flex-shrink: 0 !important;
	width: max-content !important;
	max-width: none !important;
	margin: 0 !important;
	--e-nav-menu-divider-content: none;
	--e-nav-menu-divider-width: 0;
}

.elementor-location-footer .tecnografica-footer__ticker .elementor-widget-nav-menu .elementor-nav-menu--main,
.elementor-location-footer .tecnografica-footer__ticker-track .elementor-widget-nav-menu .elementor-nav-menu--main,
.elementor-location-footer .tecnografica-footer__ticker-menu .elementor-nav-menu--main {
	display: flex !important;
	flex-shrink: 0 !important;
	width: max-content !important;
	max-width: none !important;
}

.elementor-location-footer .tecnografica-footer__ticker .elementor-widget-nav-menu .elementor-nav-menu,
.elementor-location-footer .tecnografica-footer__ticker-track .elementor-widget-nav-menu .elementor-nav-menu,
.elementor-location-footer .tecnografica-footer__ticker-menu .elementor-nav-menu {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	width: max-content !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.elementor-location-footer .tecnografica-footer__ticker .elementor-widget-nav-menu .elementor-menu-toggle,
.elementor-location-footer .tecnografica-footer__ticker .elementor-widget-nav-menu .elementor-nav-menu--dropdown,
.elementor-location-footer .tecnografica-footer__ticker-track .elementor-widget-nav-menu .elementor-menu-toggle,
.elementor-location-footer .tecnografica-footer__ticker-track .elementor-widget-nav-menu .elementor-nav-menu--dropdown,
.elementor-location-footer .tecnografica-footer__ticker-menu .elementor-menu-toggle,
.elementor-location-footer .tecnografica-footer__ticker-menu .elementor-nav-menu--dropdown {
	display: none !important;
}

.elementor-location-footer .tecnografica-footer__ticker .elementor-nav-menu--main .elementor-nav-menu > li,
.elementor-location-footer .tecnografica-footer__ticker-track .elementor-nav-menu--main .elementor-nav-menu > li,
.elementor-location-footer .tecnografica-footer__ticker-menu .elementor-nav-menu--main .elementor-nav-menu > li {
	display: flex !important;
	align-items: center !important;
	flex: 0 0 auto !important;
	flex-shrink: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.elementor-location-footer .tecnografica-footer__ticker .elementor-nav-menu--main .elementor-nav-menu > li:not(:last-child)::after,
.elementor-location-footer .tecnografica-footer__ticker-track .elementor-nav-menu--main .elementor-nav-menu > li:not(:last-child)::after,
.elementor-location-footer .tecnografica-footer__ticker-menu .elementor-nav-menu--main .elementor-nav-menu > li:not(:last-child)::after,
.elementor-location-footer .e-flexbox:has(> .elementor-widget-nav-menu + .elementor-widget-nav-menu) .elementor-nav-menu--main .elementor-nav-menu > li:not(:last-child)::after {
	content: " \2022 ";
	margin: 0 0.35em;
	border: 0 !important;
	border-left: 0 !important;
	height: auto !important;
	color: #fff;
	font-family: "Stack Sans Headline", sans-serif;
	font-size: 26px;
	font-weight: 700;
	line-height: 28px;
}

.elementor-location-footer .tecnografica-footer__ticker .elementor-nav-menu--main .elementor-item,
.elementor-location-footer .tecnografica-footer__ticker-track .elementor-nav-menu--main .elementor-item,
.elementor-location-footer .tecnografica-footer__ticker-menu .elementor-nav-menu--main .elementor-item,
.elementor-location-footer .e-flexbox:has(> .elementor-widget-nav-menu + .elementor-widget-nav-menu) .elementor-nav-menu--main .elementor-item {
	margin: 0 !important;
	padding: 0 !important;
	color: #fff !important;
	font-family: "Stack Sans Headline", sans-serif;
	font-size: 26px;
	font-weight: 700;
	line-height: 28px;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
}

.elementor-location-footer .tecnografica-footer__ticker .elementor-nav-menu--main.e--pointer-underline .elementor-item::before,
.elementor-location-footer .tecnografica-footer__ticker .elementor-nav-menu--main.e--pointer-underline .elementor-item::after,
.elementor-location-footer .tecnografica-footer__ticker-menu .elementor-nav-menu--main.e--pointer-underline .elementor-item::before,
.elementor-location-footer .tecnografica-footer__ticker-menu .elementor-nav-menu--main.e--pointer-underline .elementor-item::after,
.elementor-location-footer .e-flexbox:has(> .elementor-widget-nav-menu + .elementor-widget-nav-menu) .elementor-nav-menu--main.e--pointer-underline .elementor-item::before,
.elementor-location-footer .e-flexbox:has(> .elementor-widget-nav-menu + .elementor-widget-nav-menu) .elementor-nav-menu--main.e--pointer-underline .elementor-item::after {
	display: none !important;
}

.elementor-location-footer .tecnografica-footer__ticker .elementor-nav-menu--main .elementor-item:hover,
.elementor-location-footer .tecnografica-footer__ticker .elementor-nav-menu--main .elementor-item:focus,
.elementor-location-footer .tecnografica-footer__ticker-track .elementor-nav-menu--main .elementor-item:hover,
.elementor-location-footer .tecnografica-footer__ticker-track .elementor-nav-menu--main .elementor-item:focus,
.elementor-location-footer .tecnografica-footer__ticker-menu .elementor-nav-menu--main .elementor-item:hover,
.elementor-location-footer .tecnografica-footer__ticker-menu .elementor-nav-menu--main .elementor-item:focus,
.elementor-location-footer .e-flexbox:has(> .elementor-widget-nav-menu + .elementor-widget-nav-menu) .elementor-nav-menu--main .elementor-item:hover,
.elementor-location-footer .e-flexbox:has(> .elementor-widget-nav-menu + .elementor-widget-nav-menu) .elementor-nav-menu--main .elementor-item:focus {
	color: #fff !important;
	opacity: 0.85;
}


.elementor-location-footer .tecnografica-footer__logo {
	display: block;
	width: 235px;
	height: auto;
	max-height: 59px;
	object-fit: contain;
	object-position: left center;
}

.elementor-location-footer .tecnografica-footer__address,
.elementor-location-footer .tecnografica-footer__legal,
.elementor-location-footer .tecnografica-footer__contact,
.elementor-location-footer .tecnografica-footer__address .e-paragraph-base,
.elementor-location-footer .tecnografica-footer__legal .e-paragraph-base,
.elementor-location-footer .tecnografica-footer__contact .e-paragraph-base {
	margin: 0;
	color: #fff;
	font-family: "Stack Sans Text", sans-serif;
	font-size: 15px;
	font-weight: 200;
	line-height: 1.6;
}

.elementor-location-footer .tecnografica-footer__address {
	max-width: 226px;
}

.elementor-location-footer .tecnografica-footer__legal {
	max-width: 211px;
}

.elementor-location-footer .tecnografica-footer__contact {
	max-width: 225px;
}

.elementor-location-footer .tecnografica-footer__legal a {
	color: #fff;
	text-decoration: none;
}

.elementor-location-footer .tecnografica-footer__legal a:hover {
	color: #ee008d;
}

@keyframes tecnografica-footer-marquee {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-50%);
	}
}

@media (max-width: 1024px) {
	.elementor-location-footer .tecnografica-footer__inner {
		flex-direction: column !important;
		align-items: flex-start !important;
		padding: 40px 30px !important;
		gap: 24px;
	}

	.elementor-location-footer .tecnografica-footer__address,
	.elementor-location-footer .tecnografica-footer__legal,
	.elementor-location-footer .tecnografica-footer__contact {
		max-width: none;
	}
}

/* Homepage — team showcase (testo default + hover immagini team) */
p.e-paragraph-base.team1,
p.e-paragraph-base.team2,
p.e-paragraph-base.team3,
p.e-paragraph-base.team4,
p.e-paragraph-base.team5,
p.e-paragraph-base.team6,
p.e-paragraph-base.team7 {
	display: none;
}

p.e-paragraph-base.teamdefault {
	display: block;
}

.tecnografica-team-showcase {
	--tecnografica-team-text-duration: 0.35s;
}

.tecnografica-team-showcase--ready p.e-paragraph-base.team1,
.tecnografica-team-showcase--ready p.e-paragraph-base.team2,
.tecnografica-team-showcase--ready p.e-paragraph-base.team3,
.tecnografica-team-showcase--ready p.e-paragraph-base.team4,
.tecnografica-team-showcase--ready p.e-paragraph-base.team5,
.tecnografica-team-showcase--ready p.e-paragraph-base.team6,
.tecnografica-team-showcase--ready p.e-paragraph-base.team7,
.tecnografica-team-showcase--ready p.e-paragraph-base.teamdefault {
	display: block;
}

.tecnografica-team-showcase__text {
	display: grid;
	width: 100%;
}

.tecnografica-team-showcase__text > p {
	grid-area: 1 / 1;
	margin: 0;
	opacity: 0;
	visibility: hidden;
	transition:
		opacity var(--tecnografica-team-text-duration) ease,
		visibility var(--tecnografica-team-text-duration) ease;
	pointer-events: none;
}

.tecnografica-team-showcase__text > p.teamdefault {
	opacity: 1;
	visibility: visible;
}

.tecnografica-team-showcase.is-active-team1 .tecnografica-team-showcase__text > p.teamdefault,
.tecnografica-team-showcase.is-active-team2 .tecnografica-team-showcase__text > p.teamdefault,
.tecnografica-team-showcase.is-active-team3 .tecnografica-team-showcase__text > p.teamdefault,
.tecnografica-team-showcase.is-active-team4 .tecnografica-team-showcase__text > p.teamdefault,
.tecnografica-team-showcase.is-active-team5 .tecnografica-team-showcase__text > p.teamdefault,
.tecnografica-team-showcase.is-active-team6 .tecnografica-team-showcase__text > p.teamdefault,
.tecnografica-team-showcase.is-active-team7 .tecnografica-team-showcase__text > p.teamdefault {
	opacity: 0;
	visibility: hidden;
}

.tecnografica-team-showcase.is-active-team1 .tecnografica-team-showcase__text > p.team1,
.tecnografica-team-showcase.is-active-team2 .tecnografica-team-showcase__text > p.team2,
.tecnografica-team-showcase.is-active-team3 .tecnografica-team-showcase__text > p.team3,
.tecnografica-team-showcase.is-active-team4 .tecnografica-team-showcase__text > p.team4,
.tecnografica-team-showcase.is-active-team5 .tecnografica-team-showcase__text > p.team5,
.tecnografica-team-showcase.is-active-team6 .tecnografica-team-showcase__text > p.team6,
.tecnografica-team-showcase.is-active-team7 .tecnografica-team-showcase__text > p.team7 {
	opacity: 1;
	visibility: visible;
}

.tecnografica-team-showcase img.team1,
.tecnografica-team-showcase img.team2,
.tecnografica-team-showcase img.team3,
.tecnografica-team-showcase img.team4,
.tecnografica-team-showcase img.team5,
.tecnografica-team-showcase img.team6,
.tecnografica-team-showcase img.team7 {
	cursor: pointer;
}

@media (prefers-reduced-motion: reduce) {
	.tecnografica-team-showcase__text > p {
		transition: none;
	}
}

/* Pulsanti custom — freccia ↗ a destra (Figma) */
button.custombutton,
a.custombutton,
.custombutton.e-button-base,
button.custombuttonnegative,
a.custombuttonnegative,
.custombuttonnegative.e-button-base {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	width: 100%;
	text-transform: lowercase;
}

button.custombutton::after,
a.custombutton::after,
.custombutton.e-button-base::after,
button.custombuttonnegative::after,
a.custombuttonnegative::after,
.custombuttonnegative.e-button-base::after {
	content: "";
	flex-shrink: 0;
	width: 14px;
	height: 14px;
	background-color: currentColor;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='M1 13L13 1M13 1H4M13 1V10' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	mask-size: contain;
	mask-repeat: no-repeat;
	mask-position: center;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='M1 13L13 1M13 1H4M13 1V10' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
}

/* Homepage — blocco news (blog-home) */
.blog-home .elementor-post__text {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 30px 140px 30px 100px;
	transition:
		background-color 0.3s ease,
		color 0.3s ease;
}

.blog-home .elementor-post__text:hover {
	background-color: #ee008d;
	color: #fff;
}

.blog-home .elementor-post__text:hover .elementor-post__title,
.blog-home .elementor-post__text:hover .elementor-post__title a,
.blog-home .elementor-post__text:hover .elementor-post__meta-data,
.blog-home .elementor-post__text:hover .elementor-post__meta-data span,
.blog-home .elementor-post__text:hover .elementor-post__meta-data span::before,
.blog-home .elementor-post__text:hover .elementor-post__excerpt,
.blog-home .elementor-post__text:hover .elementor-post__excerpt p {
	color: #fff !important;
}

.blog-home .elementor-post__text .elementor-post__meta-data {
	order: 1;
}

.blog-home .elementor-post__text .elementor-post__title {
	order: 2;
	margin-bottom: 13px;
}

.blog-home .elementor-post__text .elementor-post__excerpt {
	order: 3;
	margin-bottom: 0;
}

.blog-home .elementor-post__text .elementor-post__read-more-wrapper {
	order: 3;
}

.blog-home .elementor-post__text::after {
	content: "";
	position: absolute;
	right: 100px;
	top: 50%;
	transform: translateY(-50%);
	width: 14px;
	height: 14px;
	background-color: currentColor;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='M1 13L13 1M13 1H4M13 1V10' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	mask-size: contain;
	mask-repeat: no-repeat;
	mask-position: center;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='M1 13L13 1M13 1H4M13 1V10' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
	.blog-home .elementor-post__text {
		transition: none;
	}
}

/* Articoli — immagine in evidenza sotto titolo ed excerpt */
.page-id-17 .elementor-post__text,
.page-id-18 .elementor-post__text {
	order: 1;
}

.page-id-17 .elementor-post__thumbnail__link,
.page-id-18 .elementor-post__thumbnail__link {
	order: 2;
	margin-bottom: 0;
	margin-top: 20px;
}

/* Homepage — Google Maps in bianco e nero (widget Elementor o iframe incollato) */
body.home .elementor-widget-google_maps iframe,
body.front-page .elementor-widget-google_maps iframe,
body.home iframe[src*="google.com/maps"],
body.home iframe[src*="maps.google"],
body.front-page iframe[src*="google.com/maps"],
body.front-page iframe[src*="maps.google"] {
	filter: grayscale(100%);
	-webkit-filter: grayscale(100%);
}

/* Chi siamo — FAQ accordion */
.faq {
	--tecnografica-faq-arrow-size: 14px;
	--n-accordion-title-justify-content: space-between;
}

/* Nascondi icona +/- predefinita a sinistra */
.faq .e-n-accordion-item-title-icon {
	display: none !important;
}

.faq .e-n-accordion-item-title {
	align-items: center;
	width: 100%;
}

.faq .e-n-accordion-item-title-header {
	flex: 1;
	min-width: 0;
}

/* Freccia ↘ a destra — domanda chiusa */
.faq .e-n-accordion-item-title::after {
	content: "";
	flex-shrink: 0;
	width: var(--tecnografica-faq-arrow-size);
	height: var(--tecnografica-faq-arrow-size);
	background-color: currentColor;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='M1 1L13 13M13 13H4M13 13V4' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	mask-size: contain;
	mask-repeat: no-repeat;
	mask-position: center;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='M1 1L13 13M13 13H4M13 13V4' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	pointer-events: none;
	margin-right: 30px;
}

/* Freccia ↗ a destra — domanda aperta */
.faq .e-n-accordion-item[open] > .e-n-accordion-item-title::after {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='M1 13L13 1M13 1H4M13 1V10' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='M1 13L13 1M13 1H4M13 1V10' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.e-n-accordion-item-title-text{padding-top:25px; padding-bottom:25px; padding-left:30px; padding-right:30px;}
.e-n-accordion-item{border-bottom:solid 1px #000;}

.casi-studio .elementor-grid-4{ width: 100%;}

.casi-studio .elementor-post__title{ padding: 0 30px 10px 30px;}
.casi-studio .elementor-post__excerpt{ padding: 0 30px 0 30px;}

/* WhatsApp floating button */
.tecnografica-whatsapp-float-wrap {
	position: fixed;
	bottom: 80px;
	right: 24px;
	z-index: 9999;
}

.tecnografica-whatsapp-hours {
	position: absolute;
	top: auto;
	bottom: 0;
	right: calc(100% + 12px);
	min-width: 320px;
	max-width: 400px;
	padding: 16px 20px;
	background-color: #fff;
	color: #000;
	font-family: "Stack Sans Text", sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	border-radius: 8px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
	opacity: 0;
	visibility: hidden;
	transform: translateX(8px);
	transition:
		opacity 0.3s ease,
		visibility 0.3s ease,
		transform 0.3s ease;
	pointer-events: none;
}

.tecnografica-whatsapp-hours p {
	margin: 0 0 0.5em;
}

.tecnografica-whatsapp-hours p:last-child {
	margin-bottom: 0;
}

.tecnografica-whatsapp-hours strong,
.tecnografica-whatsapp-hours b {
	font-weight: 600;
}

.tecnografica-whatsapp-float-wrap:hover .tecnografica-whatsapp-hours,
.tecnografica-whatsapp-float-wrap:focus-within .tecnografica-whatsapp-hours {
	opacity: 1;
	visibility: visible;
	transform: translateX(0);
}

.tecnografica-whatsapp-float {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background-color: #25d366;
	color: #fff;
	text-decoration: none;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	transition:
		transform 0.3s ease,
		box-shadow 0.3s ease;
}

.tecnografica-whatsapp-float:hover,
.tecnografica-whatsapp-float:focus,
.tecnografica-whatsapp-float:active,
.tecnografica-whatsapp-float:visited {
	color: #fff;
	transform: scale(1.05);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}

.tecnografica-whatsapp-float:focus-visible {
	outline: 2px solid #000;
	outline-offset: 3px;
}

.tecnografica-whatsapp-float svg {
	width: 28px;
	height: 28px;
	flex-shrink: 0;
	color: #fff;
	fill: currentColor;
}

.tecnografica-whatsapp-float-wrap a.tecnografica-whatsapp-float:hover svg,
.tecnografica-whatsapp-float-wrap a.tecnografica-whatsapp-float:focus svg,
.tecnografica-whatsapp-float-wrap a.tecnografica-whatsapp-float:active svg {
	color: #fff;
	fill: #fff;
}

@media (max-width: 767px) {
	.tecnografica-whatsapp-float-wrap {
		right: 16px;
	}

	.tecnografica-whatsapp-hours {
		right: calc(100% + 10px);
		min-width: 280px;
		max-width: calc(100vw - 80px);
		padding: 14px 16px;
		font-size: 13px;
	}

	.tecnografica-whatsapp-float {
		width: 52px;
		height: 52px;
	}

	.tecnografica-whatsapp-float svg {
		width: 26px;
		height: 26px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.tecnografica-whatsapp-hours,
	.tecnografica-whatsapp-float {
		transition: none;
	}
}

/* Mobile — pulsante fisso "contattaci" */
.tecnografica-mobile-contact-cta {
	display: none;
}

@media (max-width: 1024px) {
	body:not(.elementor-editor-active) {
		padding-bottom: calc(48px + env(safe-area-inset-bottom, 0px));
	}

	.tecnografica-mobile-contact-cta {
		display: flex;
		align-items: center;
		justify-content: center;
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		min-height: 48px;
		padding: 12px 30px;
		padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px));
		box-sizing: border-box;
		background-color: #ee008d;
		color: #fff !important;
		font-family: "Stack Sans Headline", Sans-serif !important;
		font-size: 24px;
		font-weight: 400;
		line-height: 1;
		text-transform: lowercase;
		text-decoration: none;
		text-align: center;
		z-index: 9998;
		transition: background-color 0.3s ease;
	}

	.tecnografica-mobile-contact-cta:hover,
	.tecnografica-mobile-contact-cta:focus {
		background-color: #000;
		color: #fff !important;
	}

	.tecnografica-mobile-contact-cta:focus-visible {
		outline: 2px solid #fff;
		outline-offset: -4px;
	}

	.tecnografica-whatsapp-float-wrap {
		bottom: calc(48px + env(safe-area-inset-bottom, 0px) + 16px);
	}
}


.header-icon{
	width:10px;
}

.header-top a:hover{ color:#000;}


footer p.link-shop-online-footer a:hover{ color:#000 !important; }


/* Contact Form 7 layout */
.cf7-form .cf7-row {
	display: flex;
	flex-wrap: wrap;
	column-gap: 16px;
	row-gap: 0;
	margin-bottom: 0;
}

.cf7-form .cf7-col-full {
	flex: 1 1 100%;
}

.cf7-form .cf7-col-half {
	flex: 1 1 calc(50% - 8px);
	min-width: 0;
}

.cf7-form label {
	display: block;
	width: 100%;
}

.cf7-form .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
}

.cf7-form input[type="text"],
.cf7-form input[type="email"],
.cf7-form input[type="tel"],
.cf7-form textarea {
	width: 100%;
	box-sizing: border-box;
}

.cf7-form textarea {
	min-height: 45px;
	resize: vertical;
}

.cf7-form .cf7-submit {
	margin-top: 0;
}

.cf7-form .cf7-submit .wpcf7-submit {
	width: 100%;
	background-color: #e6007e;
	color: #fff;
	border: none;
	cursor: pointer;
	transition: background-color 0.3s ease;
}

.cf7-form .cf7-submit .wpcf7-submit:hover,
.cf7-form .cf7-submit .wpcf7-submit:focus {
	background-color: #000;
	color: #fff;
}

@media (max-width: 767px) {
	.cf7-form .cf7-col-half {
		flex: 1 1 100%;
	}
}


a.custombutton {
	font-family: "Stack Sans Headline", Sans-serif !important;
	color:#fff !important;
}
a:hover.custombutton {
	font-family: "Stack Sans Headline", Sans-serif !important;
	color:#fff !important;
	background-color:#ee008d !important;
}
a.custombuttonnegative {
	font-family: "Stack Sans Headline", Sans-serif !important;
	color:#000!important;
}
a:hover.custombuttonnegative {
	font-family: "Stack Sans Headline", Sans-serif !important;
	color:#fff !important;
	background-color:#ee008d !important;
}