/* Picobarn — fork del pass visual complimed-child 0.7.0 (base di partenza, palette placeholder).
   Il capitolato visuale picobarn non esiste ancora: vedi skills/picobarn-brand.
   Solo ciò che theme.json non copre. Niente colori nuovi: solo variabili preset. */

:root {
	--picobarn-radius: 8px;
}

/* ---------- Animazioni — policy "sobria e funzionale" (12/08/2026) ----------
   Regole chiuse in skills/picobarn-brand: micro-hover ≤2px su transform/opacity,
   un solo fade-in riservato agli hero, niente parallax/pulse/reveal diffuso,
   solo CSS, prefers-reduced-motion sempre rispettato. */

@keyframes picobarn-hero-in {
	from {
		opacity: 0;
		transform: translateY(12px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

.hero-fade {
	animation: picobarn-hero-in 350ms ease-out both;
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation: none !important;
		transition: none !important;
	}
}

/* ---------- Icone Lucide nelle card ---------- */

.card-icon {
	display: block;
	width: 28px;
	height: 28px;
	margin-bottom: 0.5rem;
}

/* ---------- Header: lockup logo + nome + tagline ---------- */

.wp-block-site-title {
	line-height: 1.1;
	margin: 0;
}

.wp-block-site-title a {
	text-decoration: none;
}

.header-tagline {
	margin: 0;
	line-height: 1.3;
}

@media (max-width: 781px) {
	.header-tagline {
		display: none;
	}
}

/* ---------- Kicker di sezione ---------- */

.kicker {
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
	margin-bottom: 0.5rem;
}

/* Variante per fondi scuri (footer, CTA finali) */
.kicker--light {
	color: var(--wp--preset--color--main-accent);
}

/* ---------- Card (6 progetti, 3 livelli PRRC) ---------- */

.card {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border-light);
	border-radius: var(--picobarn-radius);
	padding: 1.5rem;
	transition: box-shadow 160ms ease, border-color 160ms ease;
}

.card h3 {
	font-size: 1.25rem;
	line-height: 1.3;
}

.card:hover {
	box-shadow: 0 6px 24px rgba(53, 63, 68, 0.1);
	border-color: var(--wp--preset--color--main-accent);
}

/* ---------- FAQ accordion (core/details) ---------- */

.wp-block-details {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border-light);
	border-radius: var(--picobarn-radius);
	padding: 1rem 1.25rem;
	margin-bottom: 0.75rem;
}

.wp-block-details summary {
	cursor: pointer;
	font-weight: 700;
	list-style: none;
	position: relative;
	padding-right: 2rem;
}

.wp-block-details summary::-webkit-details-marker {
	display: none;
}

.wp-block-details summary::after {
	content: "+";
	position: absolute;
	right: 0.25rem;
	top: 50%;
	transform: translateY(-50%);
	color: var(--wp--preset--color--primary);
	font-weight: 700;
}

.wp-block-details[open] summary::after {
	content: "\2212";
}

.wp-block-details[open] summary {
	margin-bottom: 0.5rem;
}

/* ---------- Bottoni: focus visibile ---------- */

.wp-block-button__link:focus-visible,
a:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
}

/* ---------- Blockquote (disclaimer PRRC) ---------- */

.wp-block-quote {
	border-left: 4px solid var(--wp--preset--color--primary);
	background: var(--wp--preset--color--primary-accent);
	border-radius: 0 var(--picobarn-radius) var(--picobarn-radius) 0;
	padding: 1.25rem 1.5rem;
	margin-left: 0;
}

/* ---------- Navigazione ---------- */

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

.wp-block-navigation a:hover {
	color: var(--wp--preset--color--primary);
}

/* Voce attiva: pillola chiara, testo primary */
.wp-block-navigation .current-menu-item > a {
	background: var(--wp--preset--color--primary-accent);
	color: var(--wp--preset--color--primary) !important;
	font-weight: 700;
	border-radius: var(--picobarn-radius);
	padding: 0.35rem 0.8rem;
}

.wp-block-navigation .current-menu-item > a:hover {
	background: var(--wp--preset--color--primary-alt);
	color: var(--wp--preset--color--primary-alt-accent) !important;
}

/* Sottomenu: pannello smussato, voci compatte */
.wp-block-navigation__submenu-container {
	border-radius: var(--picobarn-radius);
	border-color: var(--wp--preset--color--border-light) !important;
	box-shadow: 0 8px 28px rgba(53, 63, 68, 0.12);
	min-width: 280px;
}

.wp-block-navigation__submenu-container {
	gap: 0 !important;
	row-gap: 0 !important;
	padding-top: 0.35rem !important;
	padding-bottom: 0.35rem !important;
}

.wp-block-navigation__submenu-container > * + * {
	margin-block-start: 0 !important;
}

.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item {
	margin: 0 !important;
	padding: 0 !important;
}

.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	line-height: 1.4;
}

.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item .wp-block-navigation-item__content {
	display: block;
	width: 100%;
	padding: 0.45rem 0.9rem !important;
	border-radius: 4px;
}

/* Preselezione al transito */
.wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	background: var(--wp--preset--color--primary-accent);
	color: var(--wp--preset--color--primary) !important;
}

/* ---------- Spaziatura sezioni di pagina: al minimo ---------- */

main .wp-block-post-content > .wp-block-group.alignfull {
	padding-top: 1rem !important;
	padding-bottom: 2rem !important;
}

main .wp-block-post-content > .wp-block-group.alignfull:first-child {
	padding-top: 2.5rem !important;
}

/* ---------- Header e footer: link senza sottolineatura, righe compatte ---------- */

header.wp-block-template-part a,
footer.wp-block-template-part a {
	text-decoration: none;
}

header.wp-block-template-part a:hover,
footer.wp-block-template-part a:hover {
	text-decoration: underline;
}

footer.wp-block-template-part .wp-block-column > * + * {
	margin-block-start: 0.45rem;
}

footer.wp-block-template-part .wp-block-column .kicker {
	margin-bottom: 0.75rem;
}

/* ---------- Quick form nel footer scuro ---------- */

footer.wp-block-template-part .wpforms-container .wpforms-field-label,
footer.wp-block-template-part .wpforms-container .wpforms-field-sublabel,
footer.wp-block-template-part .wpforms-container .wpforms-field-description,
footer.wp-block-template-part .wpforms-container label {
	color: var(--wp--preset--color--main-accent);
	font-size: 0.8125rem;
}

footer.wp-block-template-part .wpforms-container input[type="text"],
footer.wp-block-template-part .wpforms-container input[type="email"],
footer.wp-block-template-part .wpforms-container textarea {
	border-radius: var(--picobarn-radius);
	border: 1px solid var(--wp--preset--color--border-dark);
	width: 100%;
}

footer.wp-block-template-part .wpforms-container textarea {
	min-height: 90px;
}

footer.wp-block-template-part .wpforms-container button[type="submit"] {
	background: var(--wp--preset--color--cta);
	border: none;
	border-radius: var(--picobarn-radius);
	color: var(--wp--preset--color--base);
	font-weight: 700;
	padding: 0.6rem 1.4rem;
}

footer.wp-block-template-part .wpforms-container .wpforms-field {
	padding: 0.35rem 0;
}

/* Quick contact collassato: summary come bottone di richiamo */

footer.wp-block-template-part .footer-quick {
	background: transparent;
	border: none;
	padding: 0;
	margin-bottom: 0.5rem;
}

footer.wp-block-template-part .footer-quick > summary {
	display: inline-block;
	background: var(--wp--preset--color--cta);
	color: var(--wp--preset--color--base);
	font-weight: 700;
	font-size: 0.9375rem;
	padding: 0.6rem 1.4rem;
	border-radius: var(--picobarn-radius);
	cursor: pointer;
	list-style: none;
	position: static;
}

footer.wp-block-template-part .footer-quick > summary::after {
	content: none;
}

footer.wp-block-template-part .footer-quick[open] > summary {
	margin-bottom: 0.75rem;
}
