/* Blocchi Efferd per WordPress: conversione di @efferd/hero-1 e @efferd/logo-cloud-3 */

.efferd-hero, .efferd-logos {
	--efferd-fg: currentColor;
	--efferd-border: color-mix(in srgb, currentColor 14%, transparent);
	--efferd-border-soft: color-mix(in srgb, currentColor 7%, transparent);
	--efferd-muted: color-mix(in srgb, currentColor 62%, transparent);
	--efferd-primary: var(--wp--preset--color--contrast, #171717);
	--efferd-primary-fg: var(--wp--preset--color--base, #ffffff);
	--efferd-secondary: color-mix(in srgb, currentColor 8%, transparent);
	--efferd-card: var(--wp--preset--color--base, #ffffff);
	--efferd-icon-rocket: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z'/%3E%3Cpath d='m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.350 22.35 0 0 1-4 2z'/%3E%3Cpath d='M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0'/%3E%3Cpath d='M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5'/%3E%3C/svg%3E");
	--efferd-icon-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E");
	--efferd-icon-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2a9 9 0 0 1 9 9'/%3E%3Cpath d='M13 6a5 5 0 0 1 5 5'/%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.910a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.110-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
}

/* ---------- Hero ---------- */

.efferd-hero {
	position: relative;
	isolation: isolate;
	box-sizing: border-box;
	width: 100%;
	max-width: 64rem !important;
	margin-inline: auto !important;
	padding: 0 !important;
}

/* Sfumatura radiale in alto + bordi laterali marcati (solo desktop) */
.efferd-hero::before,
.efferd-hero::after {
	content: "";
	position: absolute;
	pointer-events: none;
	display: none;
}
.efferd-hero::before {
	inset: -3.5rem 0 0;
	z-index: -1;
	background: radial-gradient(35% 80% at 49% 0%, color-mix(in srgb, currentColor 8%, transparent), transparent);
}
.efferd-hero::after {
	inset: 0;
	z-index: 1;
	border-inline: 1px solid color-mix(in srgb, currentColor 15%, transparent);
	-webkit-mask-image: linear-gradient(to bottom, transparent, #000 20%, #000 80%, transparent);
	mask-image: linear-gradient(to bottom, transparent, #000 20%, #000 80%, transparent);
}
@media (min-width: 1024px) {
	.efferd-hero::before,
	.efferd-hero::after { display: block; }
}

.efferd-hero__inner {
	--efferd-l1: 1rem;
	--efferd-l2: 2rem;
	position: relative;
	display: flex !important;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1.25rem;
	margin: 0 !important;
	padding: 8rem 1.5rem 7.5rem !important;
}
@media (min-width: 768px) {
	.efferd-hero__inner { --efferd-l1: 2rem; --efferd-l2: 3rem; padding-inline: 3.5rem !important; }
}
.efferd-hero__inner > * { margin-block: 0 !important; }

/* Linee verticali sfumate interne */
.efferd-hero__inner::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background:
		linear-gradient(to bottom, transparent, var(--efferd-border) 50%, var(--efferd-border)) left var(--efferd-l1) top / 1px 100% no-repeat,
		linear-gradient(to bottom, transparent, var(--efferd-border) 50%, var(--efferd-border)) right var(--efferd-l1) top / 1px 100% no-repeat,
		linear-gradient(to bottom, transparent, var(--efferd-border-soft) 50%, var(--efferd-border-soft)) left var(--efferd-l2) top / 1px 100% no-repeat,
		linear-gradient(to bottom, transparent, var(--efferd-border-soft) 50%, var(--efferd-border-soft)) right var(--efferd-l2) top / 1px 100% no-repeat;
}

/* Badge annuncio: icona razzo, testo, separatore, freccia */
.efferd-hero__badge {
	margin-inline: auto !important;
	width: fit-content;
	font-size: 0.75rem !important;
	line-height: 1.25rem !important;
}
.efferd-hero__badge a {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.25rem 0.75rem;
	border: 1px solid var(--efferd-border);
	border-radius: 999px;
	background:
		linear-gradient(var(--efferd-border), var(--efferd-border)) right 2.25rem center / 1px 1.25rem no-repeat,
		var(--efferd-card);
	color: inherit !important;
	text-decoration: none !important;
	box-shadow: 0 1px 3px rgb(0 0 0 / 0.08), 0 1px 2px rgb(0 0 0 / 0.05);
}
.efferd-hero__badge a::before,
.efferd-hero__badge a::after {
	content: "";
	flex: none;
	width: 0.75rem;
	height: 0.75rem;
	background: currentColor;
	-webkit-mask: var(--efferd-icon-rocket) center / contain no-repeat;
	mask: var(--efferd-icon-rocket) center / contain no-repeat;
}
.efferd-hero__badge a::before { opacity: 0.6; }
.efferd-hero__badge a::after {
	margin-left: 0.75rem;
	-webkit-mask-image: var(--efferd-icon-arrow);
	mask-image: var(--efferd-icon-arrow);
	transition: transform 150ms ease-out;
}
.efferd-hero__badge a:hover::after { transform: translateX(0.25rem); }
.efferd-hero__badge a:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

/* Titolo e sottotitolo */
.efferd-hero__title {
	font-size: clamp(2.25rem, 1.4rem + 3.6vw, 3.75rem) !important;
	font-weight: 500 !important;
	line-height: 1.1 !important;
	letter-spacing: -0.025em !important;
	text-wrap: balance;
	text-shadow: 0 0 50px color-mix(in srgb, currentColor 20%, transparent);
}
.efferd-hero__subtitle {
	max-width: 28rem;
	margin-inline: auto !important;
	font-size: clamp(1rem, 0.9rem + 0.5vw, 1.25rem) !important;
	line-height: 1.5 !important;
	letter-spacing: 0.025em;
	opacity: 0.8;
}

/* Pulsanti */
.efferd-hero__actions {
	gap: 0.75rem !important;
	padding-top: 0.5rem;
}
.efferd-hero .efferd-btn .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	height: 2.5rem;
	padding: 0 1.5rem !important;
	border: 0 !important;
	border-radius: 999px !important;
	font-size: 0.875rem !important;
	font-weight: 500;
	line-height: 1 !important;
	background: var(--efferd-primary) !important;
	color: var(--efferd-primary-fg) !important;
	text-decoration: none !important;
	transition: opacity 150ms ease, background-color 150ms ease;
}
.efferd-hero .efferd-btn .wp-block-button__link:hover { opacity: 0.9; }
.efferd-hero .efferd-btn .wp-block-button__link:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.efferd-hero .efferd-btn--secondary .wp-block-button__link {
	background: var(--efferd-secondary) !important;
	color: inherit !important;
}
.efferd-hero .efferd-btn--secondary .wp-block-button__link:hover {
	opacity: 1;
	background: color-mix(in srgb, currentColor 13%, transparent) !important;
}
.efferd-hero .efferd-btn--call .wp-block-button__link::before,
.efferd-hero .efferd-btn--arrow .wp-block-button__link::after {
	content: "";
	flex: none;
	width: 1rem;
	height: 1rem;
	background: currentColor;
	-webkit-mask: var(--efferd-icon-phone) center / contain no-repeat;
	mask: var(--efferd-icon-phone) center / contain no-repeat;
}
.efferd-hero .efferd-btn--arrow .wp-block-button__link::after {
	-webkit-mask-image: var(--efferd-icon-arrow);
	mask-image: var(--efferd-icon-arrow);
}

/* Animazione d'ingresso (dissolvenza + risalita, sfalsata) */
@keyframes efferd-rise {
	from { opacity: 0; transform: translateY(2.5rem); }
	to { opacity: 1; transform: none; }
}
.efferd-hero__badge,
.efferd-hero__title,
.efferd-hero__subtitle,
.efferd-hero__actions {
	animation: efferd-rise 500ms ease-out both;
}
.efferd-hero__title { animation-delay: 100ms; }
.efferd-hero__subtitle { animation-delay: 200ms; }
.efferd-hero__actions { animation-delay: 300ms; }
.efferd-hero__badge { animation-delay: 500ms; }

/* ---------- Loghi ---------- */

.efferd-logos {
	box-sizing: border-box;
	width: 100%;
	max-width: 64rem !important;
	margin-inline: auto !important;
	padding: 1.5rem 0 2.5rem !important;
	border-top: 1px solid var(--efferd-border);
}
.efferd-logos > * { margin-block: 0 !important; }
.efferd-logos__title {
	margin-bottom: 1rem !important;
	font-size: clamp(1.125rem, 1rem + 0.4vw, 1.25rem) !important;
	font-weight: 500 !important;
	letter-spacing: -0.025em !important;
	color: var(--efferd-muted);
}
.efferd-logos__title strong { font-weight: inherit; color: var(--efferd-fg); }
.efferd-logos__viewport {
	max-width: 56rem;
	margin-inline: auto !important;
	padding: 1rem 0 !important;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(to right, transparent, #000, transparent);
	mask-image: linear-gradient(to right, transparent, #000, transparent);
}
.efferd-logos__track {
	display: flex !important;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 2.625rem !important;
	margin: 0 !important;
}
.efferd-logos__track > * { margin: 0 !important; flex: none; }
.efferd-logos__track img {
	display: block;
	width: auto !important;
	height: 1rem !important;
	max-width: none !important;
	pointer-events: none;
	user-select: none;
}
@media (min-width: 768px) {
	.efferd-logos__track img { height: 1.25rem !important; }
}
/* Scorrimento infinito, attivato dallo script solo sul sito pubblico */
.efferd-logos__track.is-marquee {
	flex-wrap: nowrap;
	justify-content: flex-start;
	width: max-content;
}

/* Nell'editor niente animazioni: i blocchi restano fermi e modificabili */
.editor-styles-wrapper .efferd-hero * { animation: none !important; }

@media (prefers-reduced-motion: reduce) {
	.efferd-hero * { animation: none !important; }
	.efferd-hero__badge a::after { transition: none; }
}
