/* Sezioni GAW: forme, profondità e movimento della libreria di pattern.
   I colori NON stanno qui: arrivano da theme.json, composto dalla scheda di
   progetto (gaw-spec.json). Così la stessa libreria veste progetti diversi. */

:root {
	--gaw-ease: 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
	--gaw-radius: 14px;
	--gaw-card: var(--wp--preset--color--surface);
	--gaw-card-hi: color-mix(in srgb, var(--wp--preset--color--surface) 82%, var(--wp--preset--color--contrast));
	--gaw-glow: 0 12px 30px rgba(224, 144, 48, 0.32);
}

.wp-site-blocks { overflow-x: hidden; }

/* ------------------------------------------------- rete di punti (canvas) */

.gaw-net {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 0;
}

[data-gaw-net] { position: relative; }
[data-gaw-net] > *:not(.gaw-net) { position: relative; z-index: 1; }

/* ------------------------------------------------------------ barra alta */

.gaw-topbar { background: #071729; font-size: 0.8rem; border-bottom: 1px solid var(--wp--preset--color--line); }
.gaw-topbar a { color: #b9cade !important; text-decoration: none; }
.gaw-topbar a:hover { color: var(--wp--preset--color--accent) !important; }

/* ---------------------------------------------------------------- header */

.inquire-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(10, 30, 58, 0.9) !important;
	backdrop-filter: blur(10px) saturate(1.3);
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.inquire-header .wp-block-navigation { font-size: 1rem; font-weight: 500; }
.inquire-header .wp-block-navigation a { position: relative; padding-bottom: 4px; }

.inquire-header .wp-block-navigation a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 2px;
	background: var(--wp--preset--color--accent);
	transition: width var(--gaw-ease);
}

.inquire-header .wp-block-navigation a:hover::after { width: 100%; }

/* ------------------------------------------------------------- etichette */

/* Pillola d'occhiello: la stessa del marketplace ("Business Intelligence on demand"). */
.gaw-badge {
	display: inline-block;
	margin: 0 0 1.4rem;
	padding: 0.45rem 1.1rem;
	border-radius: 999px;
	background: rgba(47, 122, 192, 0.18);
	border: 1px solid rgba(96, 165, 250, 0.35);
	color: var(--wp--preset--color--contrast);
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.01em;
}

.gaw-paper .gaw-badge {
	background: #e8f1fb;
	border-color: #cfe1f5;
	color: var(--wp--preset--color--primary-deep);
}

/* ------------------------------------------------------------------ hero */

.gaw-hero {
	background:
		radial-gradient(900px 520px at 78% 20%, rgba(47, 122, 192, 0.28), transparent 65%),
		radial-gradient(700px 460px at 12% 88%, rgba(224, 144, 48, 0.14), transparent 62%);
	overflow: hidden;
}

.gaw-hero__title {
	font-size: clamp(2.5rem, 1.4rem + 4vw, 4.4rem);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -0.025em;
	max-width: 16ch;
	color: var(--wp--preset--color--contrast);
}

.gaw-hero__lead {
	font-size: 1.08rem;
	line-height: 1.65;
	color: var(--wp--preset--color--muted);
	max-width: 52ch;
	margin-top: 1.4rem;
}

/* --------------------------------------------------------------- bottoni */

.wp-block-button__link { transition: transform var(--gaw-ease), background-color var(--gaw-ease), box-shadow var(--gaw-ease); }
.wp-block-button__link:hover { transform: translateY(-2px); }

/* CTA arancio con freccia: identica per ruolo a quella del marketplace. */
.gaw-cta .wp-block-button__link {
	background: var(--wp--preset--color--accent);
	color: #ffffff;
	border-radius: 10px;
	font-weight: 700;
	box-shadow: var(--gaw-glow);
}

.gaw-cta .wp-block-button__link::after {
	content: " →";
	display: inline-block;
	transition: transform var(--gaw-ease);
}

.gaw-cta .wp-block-button__link:hover { background: #f0a445; }
.gaw-cta .wp-block-button__link:hover::after { transform: translateX(5px); }

.gaw-ghost .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--contrast);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 10px;
}

.gaw-ghost .wp-block-button__link:hover { background: rgba(255, 255, 255, 0.1); border-color: var(--wp--preset--color--contrast); color: var(--wp--preset--color--contrast); }

/* -------------------------------------------------------- fasce chiare */

.gaw-paper { color: #33475b; }
.gaw-paper h2, .gaw-paper h3 { color: var(--wp--preset--color--primary-deep); }
.gaw-paper p { color: #4a5f75; }

.gaw-paper .gaw-card {
	background: #ffffff;
	border: 1px solid #e3ecf6;
	box-shadow: 0 10px 28px rgba(16, 64, 112, 0.07);
}

.gaw-paper .gaw-card:hover { box-shadow: 0 20px 44px rgba(16, 64, 112, 0.13); background: #ffffff; }
.gaw-paper .gaw-card p { color: #55697e; }
.gaw-paper .gaw-card h3 { color: var(--wp--preset--color--primary-deep); }

/* ------------------------------------------------------------------ card */

.gaw-card {
	padding: 1.9rem 1.7rem;
	border-radius: var(--gaw-radius);
	background: var(--gaw-card);
	border: 1px solid var(--wp--preset--color--line);
	transition: transform var(--gaw-ease), background var(--gaw-ease), box-shadow var(--gaw-ease), border-color var(--gaw-ease);
	height: 100%;
}

.gaw-card:hover { transform: translateY(-6px); background: var(--gaw-card-hi); border-color: rgba(96, 165, 250, 0.4); }
.gaw-card p { color: var(--wp--preset--color--muted); }

.gaw-card__n {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	margin-bottom: 1rem;
	border-radius: 10px;
	background: rgba(47, 122, 192, 0.16);
	border: 1px solid rgba(96, 165, 250, 0.3);
	color: #93c5fd;
	font-weight: 700;
	font-size: 0.92rem;
	transition: background var(--gaw-ease), color var(--gaw-ease);
}

.gaw-card:hover .gaw-card__n { background: var(--wp--preset--color--accent); color: #ffffff; border-color: transparent; }
.gaw-paper .gaw-card__n { background: #e8f1fb; border-color: #cfe1f5; color: var(--wp--preset--color--primary); }

/* --------------------------------------------------------- griglia usi */

.gaw-grid { display: grid; gap: 1.1rem; }
.gaw-grid--4 { grid-template-columns: repeat(4, 1fr); }
.gaw-grid--3 { grid-template-columns: repeat(3, 1fr); }

.gaw-use {
	display: flex;
	align-items: center;
	gap: 0.95rem;
	padding: 1.15rem 1.3rem;
	border-radius: var(--gaw-radius);
	background: rgba(18, 41, 74, 0.75);
	border: 1px solid var(--wp--preset--color--line);
	transition: background var(--gaw-ease), border-color var(--gaw-ease), transform var(--gaw-ease);
	font-size: 0.97rem;
	line-height: 1.35;
}

.gaw-use:hover { background: var(--gaw-card-hi); border-color: rgba(96, 165, 250, 0.45); transform: translateY(-3px); }

.gaw-use i {
	flex: 0 0 10px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--wp--preset--color--primary);
	box-shadow: 0 0 0 4px rgba(47, 122, 192, 0.16);
	transition: background var(--gaw-ease), box-shadow var(--gaw-ease);
}

.gaw-use:hover i { background: var(--wp--preset--color--accent); box-shadow: 0 0 0 5px rgba(224, 144, 48, 0.22); }

/* ----------------------------------------------------------- numeri */

.gaw-stat { text-align: center; }
.gaw-stat b {
	display: block;
	font-size: clamp(2rem, 1.4rem + 2vw, 3rem);
	font-weight: 800;
	line-height: 1;
	color: var(--wp--preset--color--contrast);
	letter-spacing: -0.02em;
}
.gaw-stat span { display: block; margin-top: 0.5rem; color: var(--wp--preset--color--muted); font-size: 0.92rem; }
.gaw-paper .gaw-stat b { color: var(--wp--preset--color--primary-deep); }

/* --------------------------------------------------------- loghi partner */

.gaw-logo-box {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #ffffff;
	border-radius: var(--gaw-radius);
	padding: 1.3rem 1.7rem;
	min-width: 180px;
	box-shadow: 0 10px 26px rgba(16, 64, 112, 0.08);
	transition: transform var(--gaw-ease);
}

.gaw-logo-box:hover { transform: translateY(-4px); }
.gaw-logo-box img { max-height: 44px; width: auto; }

/* ------------------------------------------------- comparsa in scorrimento */

.gaw-reveal { opacity: 0; transform: translateY(22px); transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1); }
.gaw-reveal.is-in { opacity: 1; transform: none; }
.gaw-reveal--d1 { transition-delay: 0.08s; }
.gaw-reveal--d2 { transition-delay: 0.16s; }
.gaw-reveal--d3 { transition-delay: 0.24s; }

/* ------------------------------------------------------- pagine interne */

.gaw-page-head { background: radial-gradient(700px 380px at 20% 120%, rgba(47, 122, 192, 0.3), transparent 65%); }
.wp-block-post-content ul li { margin-bottom: 0.45rem; }
.wp-block-post-content h2 { margin-top: 2.6rem; }
.wp-block-post-content h3 { margin-top: 1.8rem; }
.wp-block-post-content p { color: var(--wp--preset--color--contrast); }

footer .wp-block-navigation a { text-decoration: none; }
footer .wp-block-navigation a:hover { text-decoration: underline; }

/* ------------------------------------------------------------- responsive */

@media (max-width: 1024px) { .gaw-grid--4 { grid-template-columns: repeat(2, 1fr); } }

@media (max-width: 781px) {
	.gaw-grid--4, .gaw-grid--3 { grid-template-columns: 1fr; }
	.gaw-hero__title { max-width: none; }
}

@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; animation: none !important; }
	.gaw-reveal { opacity: 1; transform: none; }
	.wp-block-button__link:hover, .gaw-card:hover, .gaw-use:hover, .gaw-logo-box:hover { transform: none; }
}

/* --------------------------------------------------- testate pagine interne */

.gaw-page-hero {
	background:
		radial-gradient(760px 420px at 82% 15%, rgba(47, 122, 192, 0.26), transparent 64%),
		radial-gradient(560px 360px at 8% 95%, rgba(224, 144, 48, 0.12), transparent 62%);
	overflow: hidden;
}

.gaw-page-hero .wp-block-post-title {
	font-size: clamp(2.1rem, 1.3rem + 2.8vw, 3.4rem);
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.1;
	max-width: 18ch;
	color: var(--wp--preset--color--contrast);
}

/* Figure vettoriali: respiro lento e reazione al passaggio del mouse. */
.gaw-figure svg {
	width: 100%;
	height: auto;
	display: block;
	filter: drop-shadow(0 18px 40px rgba(4, 16, 32, 0.5));
	transition: transform var(--gaw-ease);
}

.gaw-figure:hover svg { transform: translateY(-6px); }

.gaw-page-hero .wp-block-image img { box-shadow: 0 18px 44px rgba(4, 16, 32, 0.45); }

/* Le pagine interne non restano un muro di testo: il primo paragrafo respira. */
.wp-block-post-content > p:first-of-type { font-size: 1.15rem; color: var(--wp--preset--color--muted); }

/* ------------------------------------------------------- figura di flusso */

.gaw-flow { max-width: 560px; margin-inline: auto; }

/* Le fonti pulsano piano: il dato che arriva. */
.gaw-flow__sources circle { animation: gaw-pulse 4.5s ease-in-out infinite; }
.gaw-flow__sources circle:nth-child(3) { animation-delay: 0.6s; }
.gaw-flow__sources circle:nth-child(4) { animation-delay: 1.2s; }
.gaw-flow__sources circle:nth-child(5) { animation-delay: 1.8s; }
.gaw-flow__sources circle:nth-child(6) { animation-delay: 2.4s; }

@keyframes gaw-pulse {
	0%, 100% { opacity: 0.55; }
	50% { opacity: 1; }
}

/* Il tratteggio scorre verso il report: il dato che diventa documento. */
.gaw-flow__dash { animation: gaw-dash 2.4s linear infinite; }

@keyframes gaw-dash {
	to { stroke-dashoffset: -22; }
}

.gaw-flow__panel, .gaw-flow__report { transition: transform var(--gaw-ease); }
.gaw-figure:hover .gaw-flow__panel { transform: translateY(-5px); }
.gaw-figure:hover .gaw-flow__report { transform: translateY(5px); }

/* ------------------------------------------------------- fasce fotografiche */

.gaw-band__img img {
	border-radius: var(--gaw-radius);
	box-shadow: 0 20px 48px rgba(4, 16, 32, 0.45);
	width: 100%;
	height: auto;
	max-height: 420px;
	object-fit: cover;
}

.gaw-band__img figcaption {
	margin-top: 0.9rem;
	color: var(--wp--preset--color--muted);
	font-size: 0.92rem;
	text-align: center;
}

/* --------------------------------------------------------------- marchio */

/* Col logo caricato il nome scritto diventa un doppione: resta solo per chi
   naviga con le immagini spente e per i lettori di schermo. */
.inquire-header .wp-block-site-logo + .wp-block-site-title { display: none; }
.inquire-header .wp-block-site-logo img { display: block; height: auto; }

/* ----------------------------------------------------------- contatti */

.gaw-contact__info { list-style: none; padding: 0; margin: 2rem 0 0; }
.gaw-contact__info li { margin-bottom: 1rem; color: var(--wp--preset--color--contrast); font-size: 0.98rem; }
.gaw-contact__info span {
	display: block;
	font-size: 0.72rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
	margin-bottom: 0.2rem;
}

.gaw-form { display: grid; gap: 1.1rem; }
.gaw-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem; }

.gaw-field { display: block; }
.gaw-field > span {
	display: block;
	margin-bottom: 0.4rem;
	font-size: 0.88rem;
	font-weight: 600;
	color: #cfdcea;
}
.gaw-field > span b { color: var(--wp--preset--color--accent); }

.gaw-field input,
.gaw-field select,
.gaw-field textarea {
	width: 100%;
	padding: 0.85rem 1rem;
	border-radius: 10px;
	background: #0e2340;
	border: 1px solid var(--wp--preset--color--line);
	color: var(--wp--preset--color--contrast);
	font: inherit;
	font-size: 1rem;
	transition: border-color var(--gaw-ease), box-shadow var(--gaw-ease), background var(--gaw-ease);
}

.gaw-field input:focus,
.gaw-field select:focus,
.gaw-field textarea:focus {
	outline: none;
	background: #0b1d38;
	border-color: var(--wp--preset--color--primary);
	box-shadow: 0 0 0 3px rgba(47, 122, 192, 0.25);
}

.gaw-field textarea { resize: vertical; min-height: 130px; }

/* Consensi GDPR stampati dal modulo dello stack. */
.gaw-consent { margin-top: 0.2rem; }
.gaw-consent__label { display: flex; gap: 0.7rem; align-items: flex-start; font-size: 0.9rem; color: var(--wp--preset--color--muted); line-height: 1.5; }
.gaw-consent__label input { margin-top: 0.28rem; accent-color: var(--wp--preset--color--accent); }
.gaw-consent__label a { color: var(--wp--preset--color--contrast); text-decoration: underline; }
.gaw-consent__label strong { color: var(--wp--preset--color--accent); }

.gaw-form__submit {
	justify-self: start;
	margin-top: 0.6rem;
	padding: 0.95em 2.1em;
	border: 0;
	border-radius: 10px;
	background: var(--wp--preset--color--accent);
	color: #ffffff;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
	box-shadow: var(--gaw-glow);
	transition: transform var(--gaw-ease), background var(--gaw-ease);
}

.gaw-form__submit:hover { transform: translateY(-2px); background: #f0a445; }
.gaw-form__submit::after { content: " →"; }

.gaw-note { padding: 1rem 1.2rem; border-radius: 10px; margin-bottom: 1.4rem; font-size: 0.98rem; }
.gaw-note--ok { background: rgba(69, 200, 216, 0.12); border: 1px solid rgba(69, 200, 216, 0.4); color: #bdeef5; }
.gaw-note--ko { background: rgba(224, 96, 96, 0.12); border: 1px solid rgba(224, 96, 96, 0.4); color: #f2c6c6; }

@media (max-width: 781px) { .gaw-form__row { grid-template-columns: 1fr; } }

/* ------------------------------------------------------------- valori */

.gaw-value {
	padding: 1.8rem 1.6rem;
	border-radius: var(--gaw-radius);
	background: rgba(18, 41, 74, 0.6);
	border: 1px solid var(--wp--preset--color--line);
	transition: transform var(--gaw-ease), border-color var(--gaw-ease), background var(--gaw-ease);
	height: 100%;
}

.gaw-value:hover { transform: translateY(-5px); background: var(--gaw-card-hi); border-color: rgba(96, 165, 250, 0.4); }

.gaw-value__n {
	display: block;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	color: var(--wp--preset--color--accent);
	margin-bottom: 0.7rem;
}

.gaw-value h3 { margin: 0 0 0.5rem; font-size: 1.12rem; }
.gaw-value p { color: var(--wp--preset--color--muted); margin: 0; font-size: 0.97rem; }

/* ---------------------------------------------------------------- FAQ */

.gaw-faq { max-width: 820px; margin-inline: auto; }

.gaw-faq__item {
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--gaw-radius);
	background: rgba(10, 30, 58, 0.55);
	margin-bottom: 0.8rem;
	overflow: hidden;
	transition: border-color var(--gaw-ease), background var(--gaw-ease);
}

.gaw-faq__item[open] { border-color: rgba(96, 165, 250, 0.45); background: rgba(18, 41, 74, 0.8); }

.gaw-faq__q {
	cursor: pointer;
	list-style: none;
	padding: 1.15rem 3.2rem 1.15rem 1.4rem;
	position: relative;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
	transition: color var(--gaw-ease);
}

.gaw-faq__q::-webkit-details-marker { display: none; }
.gaw-faq__q:hover { color: var(--wp--preset--color--accent); }

/* Il più diventa meno quando la risposta è aperta. */
.gaw-faq__q::after {
	content: "";
	position: absolute;
	right: 1.4rem;
	top: 50%;
	width: 14px;
	height: 2px;
	background: var(--wp--preset--color--accent);
	transform: translateY(-50%);
}

.gaw-faq__q::before {
	content: "";
	position: absolute;
	right: 1.4rem;
	top: 50%;
	width: 14px;
	height: 2px;
	background: var(--wp--preset--color--accent);
	transform: translateY(-50%) rotate(90deg);
	transition: transform var(--gaw-ease), opacity var(--gaw-ease);
}

.gaw-faq__item[open] .gaw-faq__q::before { transform: translateY(-50%) rotate(0deg); opacity: 0; }

.gaw-faq__a { padding: 0 1.4rem 1.3rem; color: var(--wp--preset--color--muted); }
.gaw-faq__a p { margin: 0; color: var(--wp--preset--color--muted); }
.gaw-faq__a em { color: var(--wp--preset--color--accent); font-style: normal; }

/* ---------------------------------------------------------------- FLAT
   Base di partenza: niente profondità, niente movimento, niente decori.
   La forma la fanno colore, spazio e tipografia. È il punto da cui il custom
   si costruisce insieme: aggiungere è facile, togliere lo è meno. */

.gaw-flat .gaw-hero,
.gaw-flat .gaw-pillar,
.gaw-flat .gaw-page-hero,
.gaw-flat .gaw-uses { background-image: none; }

.gaw-flat .gaw-hero::before,
.gaw-flat .gaw-hero::after,
.gaw-flat .gaw-pillar::after,
.gaw-flat .gaw-uses::before,
.gaw-flat .gaw-page-hero::before,
.gaw-flat .gaw-section-title::after,
.gaw-flat .gaw-net { display: none; }

.gaw-flat .gaw-card,
.gaw-flat .gaw-use,
.gaw-flat .gaw-value,
.gaw-flat .gaw-logo-box,
.gaw-flat .gaw-faq__item {
	box-shadow: none;
	border-radius: 6px;
	border: 1px solid var(--wp--preset--color--line);
	background: transparent;
}

.gaw-flat .gaw-card:hover,
.gaw-flat .gaw-use:hover,
.gaw-flat .gaw-value:hover,
.gaw-flat .gaw-logo-box:hover,
.gaw-flat .wp-block-button__link:hover,
.gaw-flat .gaw-shot:hover img { transform: none; }

.gaw-flat .gaw-use:hover,
.gaw-flat .gaw-card:hover { background: var(--wp--preset--color--surface); }

.gaw-flat .wp-block-button__link,
.gaw-flat .gaw-cta .wp-block-button__link,
.gaw-flat .gaw-ghost .wp-block-button__link { border-radius: 4px; box-shadow: none; }

.gaw-flat .wp-block-image img,
.gaw-flat .gaw-band__img img,
.gaw-flat .gaw-shot img { border-radius: 6px !important; box-shadow: none; }

.gaw-flat .gaw-badge {
	border-radius: 4px;
	background: transparent;
	border: 1px solid var(--wp--preset--color--line);
	color: var(--wp--preset--color--primary);
}

.gaw-flat .gaw-card__n {
	border-radius: 4px;
	background: transparent;
	border: 1px solid var(--wp--preset--color--line);
}

.gaw-flat .gaw-hero__title { font-size: clamp(2.2rem, 1.4rem + 2.6vw, 3.2rem); }
.gaw-flat .gaw-reveal { opacity: 1; transform: none; }
