/*
Theme Name: DynAgency
Template: twentytwentyfive
Description: Tema figlio di Twenty Twenty-Five personalizzato per DynAgency — dinamismo e ottimismo, arancione predominante.
Version: 2.0
Text Domain: dynagency
*/

/* Micro-interazioni: bottoni con transizione veloce e sollevamento al passaggio del mouse */
a, .wp-block-button__link {
	transition: transform 0.15s ease, opacity 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}
.wp-block-button__link:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(0,0,0,0.15);
}
.wp-block-button.is-style-outline .wp-block-button__link {
	border: 2px solid currentColor;
}
.wp-block-button__link {
	white-space: nowrap;
}

/* Icone dei servizi: cerchio arancione con l'icona dentro */
.dyn-icona {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: var(--wp--preset--color--chiaro);
	color: var(--wp--preset--color--primario);
	margin-bottom: 1rem;
}
.dyn-icona svg {
	width: 32px;
	height: 32px;
}
.dyn-icona-bianca {
	background: rgba(255,255,255,0.18);
	color: #ffffff;
}

/* Badge "consigliato": nastro d'angolo invece di un semplice pill */
.dyn-badge-consigliato {
	display: inline-block;
	background: var(--wp--preset--color--testo);
	color: #ffffff;
	font-weight: 700;
	font-size: 0.75rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 0.3em 0.9em;
	border-radius: 999px;
	margin-bottom: 0.75rem;
}

/* Card prezzi: bordo superiore colorato e ombra leggera per dare peso visivo */
.dyn-card-prezzo {
	border-radius: 16px;
	box-shadow: 0 4px 20px rgba(27,27,47,0.08);
	background: var(--wp--preset--color--bianco);
	position: relative;
	overflow: hidden;
}
.dyn-card-prezzo::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 6px;
	background: var(--wp--preset--color--accento);
}
.dyn-card-prezzo.dyn-in-evidenza::before {
	background: var(--wp--preset--color--primario);
	height: 8px;
}
.dyn-card-prezzo.dyn-in-evidenza {
	box-shadow: 0 12px 32px rgba(255,106,61,0.28);
	transform: scale(1.03);
}

/* Grafica decorativa dell'hero: forma organica sfumata dietro al testo */
.dyn-hero {
	position: relative;
	overflow: hidden;
}
.dyn-hero__forma {
	position: absolute;
	inset: 0;
	pointer-events: none;
	opacity: 0.9;
}

/* Modulo di contatto (Contact Form 7): stile coerente col resto del sito */
.wpcf7-form label {
	display: block;
	font-weight: 700;
	color: var(--wp--preset--color--testo);
	margin-bottom: 1.25rem;
}
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form textarea {
	display: block;
	width: 100%;
	margin-top: 0.4rem;
	padding: 0.75rem 1rem;
	border: 2px solid #E5D5CC;
	border-radius: 8px;
	font-size: 1rem;
	font-family: inherit;
	box-sizing: border-box;
}
.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form textarea:focus {
	outline: none;
	border-color: var(--wp--preset--color--primario);
}
.wpcf7-form input[type="submit"] {
	background: var(--wp--preset--color--primario);
	color: #ffffff;
	font-weight: 700;
	font-size: 1rem;
	border: none;
	border-radius: 8px;
	padding: 0.9rem 2rem;
	cursor: pointer;
	transition: background-color 0.15s ease, transform 0.15s ease;
}
.wpcf7-form input[type="submit"]:hover {
	background: var(--wp--preset--color--primario-scuro);
	transform: translateY(-2px);
}
.wpcf7-spinner {
	margin-left: 0.75rem;
}

/* Divisore a onda fra sezioni, per rompere la monotonia dei blocchi rettangolari */
.dyn-onda {
	display: block;
	width: 100%;
	height: 60px;
	margin-bottom: -1px;
}
