/* Pattern condivisi qrevely/diviso, qrevely/diviso-inverso e qrevely/passi: valgono in ogni pagina, selettori solo sulle classi dei pattern.
Valori misurati sul live (1440 e 390), dove le due forme nascono (pagine «Funzionalità»). `body` alza la specificità sopra il blockGap del tema. */

body .qrevely-diviso :where(h2, h3, p, figure),
body .qrevely-passi :where(h2, h3, p, figure) {
	margin: 0;
}
body :where(.qrevely-diviso, .qrevely-passi) .wp-block-columns {
	margin: 0;
}

/* Diviso: testo da un lato, figura dall'altro */
body .qrevely-diviso {
	padding-bottom: 100px;
}
body .qrevely-diviso:not(:has(.qrevely-filetto)) {
	padding-top: 96px;
}
body .wp-block-separator.qrevely-filetto {
	height: 0;
	margin-top: 68px;
	margin-bottom: 76px;
	border: 0;
	border-top: 1px solid var(--wp--preset--color--linea);
	background: none;
}
body .qrevely-diviso-colonne {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 76px;
	align-items: stretch;
}
body .qrevely-diviso-colonne > .wp-block-column {
	flex-basis: auto;
}
body .qrevely-diviso h2 {
	margin-top: 22px;
	font-size: clamp(26px, 3.1vw, 34px);
	line-height: 1.22;
	letter-spacing: -0.03em;
}
body .qrevely-diviso .qrevely-testo {
	margin-top: 22px;
	font-size: 15.5px;
	line-height: 1.75;
}
body .qrevely-diviso .wp-block-list {
	margin: 30px 0 0;
}
body .qrevely-diviso .wp-block-buttons {
	margin-top: 32px;
}
body .qrevely-box {
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-top: 30px;
	padding: 18px 20px;
	border: 1px solid #d8d2c9; /* tinta del live, solo qui */
}
body .qrevely-box p {
	color: var(--wp--preset--color--inchiostro);
	font-size: 13.5px;
	line-height: 1.6;
}
body .qrevely-box strong {
	font-weight: 600;
}
body .qrevely-box .qrevely-vlink {
	flex: 0 0 auto;
	white-space: nowrap;
}
body .qrevely-vlink a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--wp--preset--color--viola);
	font-size: 13.5px;
	font-weight: 600;
	text-decoration: none;
}
body .qrevely-vlink a::after {
	content: "";
	flex: 0 0 auto;
	width: 10px;
	height: 10px;
	background: currentColor;
	-webkit-mask: url(../icone/freccia-diagonale.svg) center / contain no-repeat;
	mask: url(../icone/freccia-diagonale.svg) center / contain no-repeat;
}
/* La figura riempie l'altezza della colonna; la didascalia sta in fondo. */
body .qrevely-diviso-colonne > .wp-block-column:has(> .wp-block-image) {
	display: flex;
	flex-direction: column;
}
body .qrevely-diviso .wp-block-image {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
}
body .qrevely-diviso .wp-block-image img {
	display: block;
	flex: 1 1 0;
	width: 100%;
	height: auto;
	min-height: 300px;
	object-fit: cover;
}
body .qrevely-diviso figcaption {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin: 7px 0 0;
	padding-top: 13px;
	border-top: 1px solid var(--wp--preset--color--linea);
	color: var(--wp--preset--color--grigio);
	font-size: 10.5px;
	line-height: 1.6;
	letter-spacing: 0.14em;
	text-align: left;
	text-transform: uppercase;
}
body .qrevely-diviso figcaption mark {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
body .qrevely-diviso figcaption mark::after,
body .qrevely-diviso figcaption:not(:has(mark))::after {
	content: "";
	flex: 0 0 auto;
	width: 9px;
	height: 9px;
	background: var(--wp--preset--color--arancio);
	-webkit-mask: url(../icone/freccia-diagonale.svg) center / contain no-repeat;
	mask: url(../icone/freccia-diagonale.svg) center / contain no-repeat;
}
/* Tre passi */
body .qrevely-passi {
	padding-top: 84px;
	padding-bottom: 88px;
}
body .qrevely-passi-testa {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 76px;
	align-items: start;
	margin-bottom: 52px;
}
body .qrevely-passi-testa > .wp-block-column {
	flex-basis: auto;
}
body .qrevely-passi h2 {
	font-size: clamp(26px, 3.1vw, 34px);
	line-height: 1.22;
	letter-spacing: -0.03em;
}
body .qrevely-passi-testa p {
	font-size: 15.5px;
	line-height: 1.75;
}
body .qrevely-passi-colonne {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0 28px;
}
body .qrevely-passi-colonne > .wp-block-column {
	flex-basis: auto;
	padding-top: 26px;
	border-top: 1px solid #d9d2ea /* tinta del live, solo qui */;
}
body .qrevely-passi .qrevely-num {
	display: block;
	color: var(--wp--preset--color--viola);
	font-size: 34px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.03em;
}
body .qrevely-passi h3 {
	margin-top: 24px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.02em;
}
body .qrevely-passi-colonne p:not(.qrevely-num) {
	margin-top: 14px;
	font-size: 14.5px;
	line-height: 1.7;
}
@media (max-width: 1080px) {
	body .qrevely-diviso-colonne,
	body .qrevely-passi-testa {
		grid-template-columns: 1fr;
		gap: 40px 0;
	}
	body .wp-block-separator.qrevely-filetto {
		margin-bottom: 56px;
		margin-top: 22px;
	}
	body .qrevely-diviso h2 {
		margin-top: 18px;
	}
	/* Il testo viene sempre prima della figura. */
	body .qrevely-diviso-colonne > .wp-block-column:has(> .wp-block-image) {
		order: 2;
	}
	body .qrevely-diviso .wp-block-image img {
		flex: 0 0 auto;
		min-height: 0;
		aspect-ratio: 1498 / 1050;
	}
}
@media (max-width: 781px) {
	body .wp-block-separator.qrevely-filetto {
		margin-bottom: 44px;
	}
	body .qrevely-diviso {
		padding-bottom: 56px;
	}
	body .qrevely-diviso:not(:has(.qrevely-filetto)) {
		padding-top: 54px;
	}
	body .qrevely-diviso-colonne,
	body .qrevely-passi-testa {
		gap: 30px 0;
	}
	body .qrevely-diviso .qrevely-testo {
		margin-top: 18px;
		font-size: 14.5px;
	}
	body .qrevely-diviso .wp-block-list {
		margin-top: 22px;
	}
	body .qrevely-diviso .is-style-spunte li {
		padding-top: 6px;
		padding-bottom: 6px;
		font-size: 14px;
	}
	body .qrevely-diviso .is-style-spunte li::before {
		top: 8px;
	}
	body .qrevely-box {
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
		margin-top: 24px;
		padding: 16px;
	}
	body .qrevely-passi {
		padding-top: 54px;
		padding-bottom: 58px;
	}
	body .qrevely-passi-testa {
		margin-bottom: 30px;
	}
	body .qrevely-passi-colonne {
		grid-template-columns: 1fr;
		gap: 26px 0;
	}
	body .qrevely-passi-colonne > .wp-block-column {
		padding-top: 20px;
	}
	body .qrevely-passi .qrevely-num {
		font-size: 28px;
	}
	body .qrevely-passi h3 {
		margin-top: 18px;
	}
	body .qrevely-diviso figcaption {
		padding-top: 11px;
		font-size: 9px;
		letter-spacing: 0.1em;
		white-space: nowrap;
	}
}

/* qrevely/tre-celle: tre celle con numero, freccia, titolo e testo, separate da filetti (landing «API pubblica» e «Business»).
Valori misurati sul live (1440, 390). La colonna di 1160px e il padding laterale li danno la famiglia e base.css. */
body .qrevely-l-tre {
	padding-bottom: 78px;
}
body .qrevely-l-celle {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	margin: 0;
	border-top: 1px solid var(--wp--preset--color--linea);
}
body .qrevely-l-celle > .wp-block-column {
	flex-basis: auto;
	min-width: 0;
}
body .qrevely-l-cella {
	box-sizing: border-box;
	padding: 24px 30px 4px;
	border-right: 1px solid var(--wp--preset--color--linea);
}
body .qrevely-l-cella:first-child {
	padding-left: 0;
}
body .qrevely-l-cella:last-child {
	padding-right: 0;
	border-right: 0;
}
body .qrevely-l-cella :where(h3, p) {
	margin: 0;
}
body .qrevely-l-cella .wp-block-qrevely-icona {
	display: block;
	line-height: 0;
}
/* La riga col numero prende le regole dei paragrafi della cella: 13,5px, riga 1,72, 12px sopra. */
body .qrevely-l-cella > .qrevely-l-cella-testa {
	align-items: flex-start;
	justify-content: space-between;
	margin-top: 12px;
}
body .qrevely-l-cella-n {
	color: var(--wp--preset--color--grigio);
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.72;
	letter-spacing: 0.13em;
}
body .qrevely-l-cella h3 {
	margin-top: 22px;
	font-size: 18.5px;
	font-weight: 800;
	line-height: 1.26;
	letter-spacing: -0.022em;
}
body .qrevely-l-cella p:not(.qrevely-l-cella-n) {
	margin-top: 12px;
	color: var(--wp--preset--color--grigio);
	font-size: 13.5px;
	line-height: 1.72;
}
@media (max-width: 1080px) {
	body .qrevely-l-celle {
		grid-template-columns: minmax(0, 1fr);
	}
	body .qrevely-l-cella {
		padding: 24px 0 26px;
		border-right: 0;
		border-bottom: 1px solid var(--wp--preset--color--linea);
	}
	body .qrevely-l-cella:last-child {
		border-bottom: 0;
	}
}
@media (max-width: 781px) {
	body .qrevely-l-tre {
		padding-bottom: 52px;
	}
}

/* ---------- Pattern degli articoli: qrevely/articolo-passi, -box, -cta, -fonti (valori del foglio «ar-» del live) ---------- */
/* ---------- passi: elenco numerato col contatore ---------- */
body .qrevely-articolo-passi {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 24px;
	padding: 0;
	border-top: 1px solid var(--wp--preset--color--linea);
	list-style: none;
	counter-reset: passo;
}
body .qrevely-articolo-passi li {
	padding: 22px 34px 24px 0;
	border-bottom: 1px solid var(--wp--preset--color--linea);
	font-size: 15px;
	line-height: 1.7;
	color: var(--wp--preset--color--inchiostro-2);
	counter-increment: passo;
}
body .qrevely-articolo-passi li:nth-child(even) {
	padding: 22px 0 24px 34px;
	border-left: 1px solid var(--wp--preset--color--linea);
}
body .qrevely-articolo-passi li::before {
	content: counter(passo, decimal-leading-zero);
	display: block;
	margin-top: 8px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.7;
	letter-spacing: 0.14em;
	color: var(--wp--preset--color--inchiostro-2);
}
body .qrevely-articolo-passi li > strong:first-child {
	display: block;
	margin: 10px 0 8px;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: -0.015em;
	color: var(--wp--preset--color--inchiostro);
}
body .qrevely-articolo-passi li > strong:first-child + br {
	display: none;
}

/* ---------- riquadro lilla ---------- */
body .qrevely-articolo-box.is-style-card-bordata {
	margin-top: 40px;
	padding: 34px 36px 38px;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	background: var(--wp--preset--color--lilla);
}
body .qrevely-articolo-box p a,
body .qrevely-articolo-passi a {
	color: var(--wp--preset--color--viola);
	text-decoration: underline;
}
body .qrevely-articolo-box > * {
	margin-block: 16px 0;
}
body .qrevely-articolo-box > :first-child {
	margin-top: 0;
}
body .qrevely-articolo-box-testa {
	align-items: flex-start;
	gap: 20px;
}
body .qrevely-articolo-box-testa > :not(.is-style-eyebrow) {
	margin: 0;
}
body .qrevely-articolo-box .is-style-eyebrow {
	margin-top: 16px;
	color: var(--wp--preset--color--inchiostro-2);
	font-size: 15px;
	line-height: 1.7;
	letter-spacing: 0.14em;
}
body .qrevely-articolo-box h2 {
	margin-top: 18px;
	font-size: clamp(22px, 2vw, 28px);
	font-weight: 800;
	line-height: 1.22;
	letter-spacing: -0.028em;
}
body .qrevely-articolo-box p {
	font-size: 15px;
	line-height: 1.7;
	color: var(--wp--preset--color--inchiostro-2);
}
body .qrevely-articolo-box .wp-block-list {
	margin-top: 18px;
	padding: 0;
	list-style: none;
}
body .qrevely-articolo-box .wp-block-list li {
	position: relative;
	padding: 12px 0 12px 30px;
	border-bottom: 1px solid #dfd8f0; /* filetto del riquadro lilla, fuori palette */
	font-size: 15px;
	font-weight: 300; /* anche quando la lista ha lo stile «spunte», che porta 400 */
	line-height: 1.6;
	color: var(--wp--preset--color--inchiostro-2);
}
body .qrevely-articolo-box .wp-block-list li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 19px;
	width: 9px;
	height: 9px;
	background: var(--wp--preset--color--viola);
	-webkit-mask: none;
	mask: none;
}
body .qrevely-articolo-box .wp-block-list li:last-child {
	border-bottom: 0;
}

/* ---------- invito all'azione ---------- */
body .qrevely-articolo-cta {
	margin-top: 56px;
	padding-top: 30px;
	border-top: 2px solid var(--wp--preset--color--viola);
}
body .qrevely-articolo-cta > * {
	margin-block: 14px 0;
}
body .qrevely-articolo-cta > :first-child {
	margin-top: 0;
}
body .qrevely-articolo-cta h2 {
	font-size: clamp(23px, 2vw, 28px);
	font-weight: 800;
	line-height: 1.5;
	letter-spacing: -0.028em;
}
body .qrevely-articolo-cta h2 mark {
	background: none;
}
body .qrevely-articolo-cta p {
	font-size: 15px;
	line-height: 1.66;
	color: var(--wp--preset--color--inchiostro-2);
}
body .qrevely-articolo-cta .wp-block-buttons {
	gap: 16px;
	margin-top: 24px;
	align-items: center;
}
body .qrevely-articolo-cta .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 15px 22px;
	border: 1px solid var(--wp--preset--color--viola);
	border-radius: 0;
	background: var(--wp--preset--color--viola);
	color: var(--wp--preset--color--bianco);
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
	text-decoration: none;
}
body .qrevely-articolo-cta .wp-block-button__link:hover {
	border-color: var(--wp--preset--color--viola-scuro);
	background: var(--wp--preset--color--viola-scuro);
}
body .qrevely-articolo-cta .qrevely-articolo-cta-secondario .wp-block-button__link {
	padding: 14px 22px;
	border-color: var(--wp--preset--color--bordo);
	background: none;
	color: var(--wp--preset--color--inchiostro);
}
body .qrevely-articolo-cta .qrevely-articolo-cta-secondario .wp-block-button__link:hover {
	border-color: var(--wp--preset--color--viola);
	background: none;
	color: var(--wp--preset--color--viola);
}
body .qrevely-articolo-cta .qrevely-articolo-cta-secondario .wp-block-button__link::after {
	content: "";
	flex: 0 0 auto;
	width: 11px;
	height: 11px;
	background: currentColor;
	-webkit-mask: url(../../icone/freccia-diagonale.svg) center / contain no-repeat;
	mask: url(../../icone/freccia-diagonale.svg) center / contain no-repeat;
}

/* ---------- approfondimenti e fonti: elenchi di link con la freccia ---------- */
body .qrevely-articolo-approfondimenti,
body .qrevely-articolo-fonti {
	margin-top: 22px;
	padding: 0;
	border-top: 1px solid var(--wp--preset--color--linea);
	list-style: none;
}
body .qrevely-articolo-approfondimenti {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 56px;
}
body .qrevely-articolo-approfondimenti li,
body .qrevely-articolo-fonti li {
	margin: 0;
	border-bottom: 1px solid var(--wp--preset--color--linea);
}
body .qrevely-articolo-approfondimenti a,
body .qrevely-articolo-fonti a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	padding: 13px 0;
	font-size: 15px;
	line-height: 1.65;
	text-decoration: none;
}
body .qrevely-articolo-approfondimenti a {
	color: var(--wp--preset--color--viola);
}
body .qrevely-articolo-approfondimenti a:hover {
	color: var(--wp--preset--color--viola-scuro);
}
body .qrevely-articolo-fonti a {
	color: var(--wp--preset--color--inchiostro-2);
}
body .qrevely-articolo-fonti a:hover {
	color: var(--wp--preset--color--viola);
}
body .qrevely-articolo-approfondimenti a::after,
body .qrevely-articolo-fonti a::after {
	content: "";
	flex: 0 0 auto;
	width: 11px;
	height: 11px;
	background: currentColor;
	opacity: 0.55;
	-webkit-mask: url(../../icone/freccia-diagonale.svg) center / contain no-repeat;
	mask: url(../../icone/freccia-diagonale.svg) center / contain no-repeat;
}

@media (max-width: 1080px) {
	body .qrevely-articolo-passi {
		grid-template-columns: minmax(0, 1fr);
	}
	body .qrevely-articolo-passi li,
	body .qrevely-articolo-passi li:nth-child(even) {
		padding: 22px 0 24px;
		border-left: 0;
	}
	body .qrevely-articolo-approfondimenti {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
	}
}
@media (max-width: 781px) {
	body .qrevely-articolo-box.is-style-card-bordata {
		padding: 24px 20px 28px;
	}
	body .qrevely-articolo-cta {
		margin-top: 44px;
	}
	body .qrevely-articolo-cta .wp-block-button__link {
		padding: 13px 16px;
		font-size: 14px;
	}
	body .qrevely-articolo-cta .qrevely-articolo-cta-secondario .wp-block-button__link {
		padding: 12px 16px;
	}
}

/* ---------- Pattern «Tipo di QR»: qrevely/eroe-tipo-qr e qrevely/statico-o-dinamico ----------
Valori misurati sul live (1440 e 390). L'header del tema è sticky e occupa spazio (85px, 67px sotto i 1000px), sul live era
sovrapposto: il padding alto della testata è quello del live meno l'header (146 - 85, 110 - 67). Le regole non hanno scopo di
famiglia: i pattern portano con sé gutter, colonna di 1160px e azzeramenti. */
body :is(.qrevely-eroe--tipo-qr, .qrevely-statico-dinamico) {
	margin-block: 0;
	padding-right: 20px;
	padding-left: 20px;
}
body :is(.qrevely-eroe--tipo-qr, .qrevely-statico-dinamico) > * {
	max-width: 1160px;
	margin-inline: auto;
}
body :is(.qrevely-eroe--tipo-qr, .qrevely-statico-dinamico) :where(h1, h2, h3, p, figure, .wp-block-columns) {
	margin: 0;
}
body :is(.qrevely-eroe--tipo-qr, .qrevely-statico-dinamico) :where(.wp-block-group, .wp-block-column) > * {
	margin-block: 0;
}
body :is(.qrevely-eroe--tipo-qr, .qrevely-statico-dinamico) .is-style-eyebrow {
	line-height: 1.7;
}
body .qrevely-eroe--tipo-qr {
	padding-top: 61px;
	padding-bottom: 0;
}
body .qrevely-eroe-colonne {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 56px;
	align-items: stretch;
}
body .qrevely-eroe-colonne > .wp-block-column {
	flex-basis: auto;
	min-width: 0;
}
body .qrevely-eroe--tipo-qr h1 {
	margin-top: 24px;
	margin-right: -56px; /* il live lascia sforare il titolo nel vuoto fra le colonne: le righe lunghe non vanno a capo */
	font-size: clamp(38px, 5.2vw, 70px);
	line-height: 1.06;
	letter-spacing: -0.035em;
}
body .qrevely-sub {
	margin-top: 28px;
	color: var(--wp--preset--color--inchiostro);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.7;
	letter-spacing: -0.01em;
}
body .qrevely-lead {
	max-width: 470px;
	margin-top: 14px;
	font-size: 15px;
	line-height: 1.7;
}
body .qrevely-eroe-colonne .wp-block-buttons {
	align-items: center;
	gap: 24px;
	margin-top: 34px;
}
body :is(.qrevely-eroe--tipo-qr, .qrevely-statico-dinamico) .wp-block-button.is-style-freccia .wp-block-button__link {
	padding: 14px 22px;
	font-size: 14.5px;
	line-height: 1;
}
body :is(.qrevely-eroe--tipo-qr, .qrevely-statico-dinamico) .wp-block-button.is-style-link-freccia .wp-block-button__link {
	gap: 7px;
	padding: 0 0 3px;
	font-size: 14.5px;
	line-height: 1.7;
}
body .qrevely-barra {
	align-items: stretch;
	gap: 12px;
	margin-top: 22px;
	margin-bottom: 24px;
}
body .qrevely-pillola {
	align-items: center;
	gap: 9px;
	padding: 9px 16px;
	border: 1px solid #e4dfd7; /* tinta del live, solo qui */
	border-radius: 999px;
	background: var(--wp--preset--color--bianco);
}
body .qrevely-pillola p {
	color: var(--wp--preset--color--inchiostro);
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 12.5px;
	line-height: 1;
	letter-spacing: -0.01em;
	white-space: nowrap;
}
body .qrevely-barra > .wp-block-qrevely-icona {
	align-self: center;
}
body .qrevely-pillola--vecchia {
	border: 1px dashed #d8d1c8; /* tinta del live, solo qui */
	background: transparent;
}
body .qrevely-pillola--vecchia p {
	color: var(--wp--preset--color--grigio);
}
body .qrevely-pillola--chip {
	align-items: center;
	gap: 12px;
	padding: 11px 16px;
	border-radius: 12px;
}
body .qrevely-pillola--chip p {
	color: var(--wp--preset--color--grigio);
	font-family: inherit;
	font-size: 11px;
	line-height: 1.25;
	letter-spacing: 0;
	white-space: normal;
}
body .qrevely-pillola--chip strong {
	display: block;
	margin-bottom: 3px;
	color: var(--wp--preset--color--inchiostro);
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 12.5px;
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: -0.01em;
}
body .qrevely-eroe-colonne > .wp-block-column:has(> .wp-block-image) {
	display: flex;
	flex-direction: column;
}
body .qrevely-eroe-figura {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
}
body .qrevely-eroe-figura img {
	display: block;
	box-sizing: border-box;
	flex: 1 1 0;
	width: 100%;
	height: auto;
	min-height: 320px;
	padding: 26px;
	background: var(--wp--preset--color--lilla);
	object-fit: contain;
}
body .qrevely-eroe-figura figcaption {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin: 7px 0 0;
	padding-top: 12px;
	border-top: 1px solid var(--wp--preset--color--linea);
	color: var(--wp--preset--color--grigio);
	font-size: 10.5px;
	line-height: 1.6;
	letter-spacing: 0.14em;
	text-align: left;
	text-transform: uppercase;
}
body .qrevely-eroe-figura figcaption::after {
	content: "";
	flex: 0 0 auto;
	width: 9px;
	height: 9px;
	background: var(--wp--preset--color--arancio);
	-webkit-mask: url(../../icone/freccia-diagonale.svg) center / contain no-repeat;
	mask: url(../../icone/freccia-diagonale.svg) center / contain no-repeat;
}
body .qrevely-statico-dinamico {
	padding-top: 94px;
}
body .qrevely-sd-colonne {
	display: grid;
	grid-template-columns: minmax(0, 450px) minmax(0, 1fr);
	gap: 0 76px;
	align-items: stretch;
}
body .qrevely-sd-colonne > .wp-block-column {
	display: flex;
	flex-direction: column;
	flex-basis: auto;
	min-width: 0;
}
body .qrevely-tp-card {
	flex: 1 1 auto;
	padding: 34px 32px 36px;
	background: var(--wp--preset--color--lilla);
}
body .qrevely-statico-dinamico h2 {
	margin-top: 18px;
	font-size: clamp(22px, 2.4vw, 28px);
	line-height: 1.22;
	letter-spacing: -0.03em;
}
body .qrevely-kv {
	margin-top: 24px;
	padding-top: 16px;
	border-top: 1px solid #ddd5f0; /* tinta del live, solo qui */
}
body .qrevely-kv-etichetta {
	color: var(--wp--preset--color--viola);
	font-size: 10.5px;
	font-weight: 600;
	line-height: 1.7;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
body .qrevely-kv p:not(.qrevely-kv-etichetta) {
	margin-top: 9px;
	color: var(--wp--preset--color--inchiostro);
	font-size: 14.5px;
	line-height: 1.7;
}
body .qrevely-schema img {
	display: block;
	width: auto;
	max-width: 100%;
	height: 38px;
	margin-top: 12px;
}
body .qrevely-tp-card .wp-block-list {
	margin: 26px 0 0;
}
body .qrevely-tp-card .is-style-spunte li {
	padding: 6px 0 6px 24px;
	font-size: 13.5px;
}
body .qrevely-tp-card .is-style-spunte li::before {
	top: 8px;
	width: 13px;
	height: 13px;
}
body .qrevely-tp-card .qrevely-vlink {
	display: flex;
	margin-top: 26px;
}
body .qrevely-tp-card .qrevely-vlink a {
	padding-bottom: 3px;
	border-bottom: 1px solid #c9bef0; /* tinta del live, solo qui */
}
body .qrevely-statico-dinamico .qrevely-testo {
	max-width: 460px;
	margin-top: 18px;
	font-size: 14.5px;
	line-height: 1.75;
}
body .qrevely-steps {
	margin-top: 28px;
	border-bottom: 1px solid var(--wp--preset--color--linea);
}
body .qrevely-srow {
	display: grid;
	grid-template-columns: 36px minmax(0, 1fr);
	gap: 0 8px;
	align-items: baseline;
	padding: 15px 0;
	border-top: 1px solid var(--wp--preset--color--linea);
}
body .qrevely-sn {
	color: var(--wp--preset--color--viola);
	font-size: 11.5px;
	font-weight: 600;
	line-height: 1.65; /* 18.975px sul live: a 1.7 ogni riga dei passi cresceva di mezzo pixel */
	letter-spacing: 0.06em;
}
body .qrevely-st {
	color: var(--wp--preset--color--inchiostro);
	font-size: 14.5px;
	line-height: 1.5;
}
body .qrevely-sd-colonne .wp-block-buttons {
	align-self: flex-start;
	margin-top: auto;
}
@media (max-width: 1080px) {
	body .qrevely-eroe--tipo-qr h1 {
		margin-right: 0;
	}
	body .qrevely-eroe-colonne {
		grid-template-columns: 1fr;
		gap: 36px 0;
	}
	body .qrevely-sd-colonne {
		grid-template-columns: 1fr;
		gap: 40px 0;
	}
	body .qrevely-eroe-figura {
		flex: 0 0 auto;
	}
	body .qrevely-eroe-figura img {
		flex: 0 0 auto;
		min-height: 0;
		aspect-ratio: 5 / 4;
		padding: 20px;
	}
	body .qrevely-statico-dinamico {
		padding-top: 72px;
	}
	body .qrevely-sd-colonne .qrevely-steps + .wp-block-buttons {
		padding-top: 28px;
	}
}
@media (max-width: 781px) {
	body .qrevely-eroe--tipo-qr {
		padding-top: 43px;
	}
	body .qrevely-eroe--tipo-qr h1 {
		margin-top: 20px;
		font-size: clamp(32px, 8.6vw, 42px);
	}
	body .qrevely-sub {
		margin-top: 20px;
		font-size: 16px;
	}
	body .qrevely-lead {
		font-size: 14.5px;
	}
	body .qrevely-eroe-colonne .wp-block-buttons {
		gap: 18px;
		margin-top: 26px;
	}
	body .qrevely-eroe-figura figcaption {
		padding-top: 11px;
		font-size: 9px;
		letter-spacing: 0.1em;
		white-space: nowrap;
	}
	body .qrevely-barra {
		gap: 9px;
		margin-top: 18px;
	}
	body .qrevely-barra:has(> .wp-block-qrevely-icona) {
		flex-direction: column;
		align-items: flex-start;
	}
	body .qrevely-barra > .wp-block-qrevely-icona {
		margin-left: 16px;
		width: 17px;
		height: 13px;
		transform: rotate(90deg);
	}
	body .qrevely-pillola {
		padding: 8px 13px;
	}
	body .qrevely-pillola p {
		font-size: 11.5px;
	}
	body .qrevely-pillola--chip {
		gap: 10px;
		padding: 10px 13px;
	}
	body .qrevely-pillola--chip p {
		font-size: 11px;
	}
	body .qrevely-pillola--chip strong {
		font-size: 11.5px;
	}
	body .qrevely-statico-dinamico {
		padding-top: 54px;
	}
	body .qrevely-tp-card {
		padding: 26px 22px 28px;
	}
	body .qrevely-schema img {
		height: 34px;
		margin-top: 10px;
	}
}

/* ---------- Pattern «Griglia di immagini»: qrevely/griglia-immagini ----------
Titolo con nota e card con immagine, titolo a pillola quadrata e testo (pagine «Hub» casi d'uso e risorse). Misurato sul live
(1440, 390). Le regole non hanno scopo di famiglia: il pattern porta con sé gutter, colonna di 1160px e azzeramenti. Il titolo
della card è un link allungato su tutta la card (::after), così l'intera card si clicca come sul live. */
body .qrevely-griglia-immagini {
	margin-block: 0;
	padding: 24px 20px 96px;
}
body .qrevely-griglia-immagini > * {
	max-width: 1160px;
	margin-inline: auto;
}
body .qrevely-griglia-immagini :where(h2, h3, p, figure) {
	margin: 0;
}
body .qrevely-griglia-immagini :where(.wp-block-group) > * {
	margin-block: 0;
}
body .qrevely-gi-regola {
	padding-top: 58px;
	border-top: 1px solid var(--wp--preset--color--linea);
}
body .qrevely-gi-testa {
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 44px;
}
body .qrevely-griglia-immagini h2 {
	font-size: clamp(26px, 3.1vw, 34px);
	line-height: 1.2;
	letter-spacing: -0.03em;
}
body .qrevely-gi-nota {
	color: var(--wp--preset--color--grigio);
	font-size: 11.5px;
	font-weight: 400;
	letter-spacing: 0.14em;
	line-height: 1.6;
	text-transform: uppercase;
}
body .qrevely-gi-griglia {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 42px 28px;
}
body .qrevely-gi-item {
	position: relative;
	min-width: 0;
	padding-bottom: 30px;
	border-bottom: 1px solid var(--wp--preset--color--linea);
}
body .qrevely-gi-item--ampia {
	grid-column: span 2;
}
body .qrevely-gi-img {
	margin-bottom: 24px;
}
body .qrevely-gi-img img {
	display: block;
	width: 100%;
	height: 200px;
	object-fit: cover;
}
body :is(.qrevely-gi-item--ampia, .qrevely-gi-item--alta) .qrevely-gi-img img,
body .qrevely-griglia-immagini--alte .qrevely-gi-img img {
	height: 260px;
}
/* Una foto che si legge meglio inquadrata un po' sopra il centro (la scatola del packaging). */
body .qrevely-gi-img--sopra img {
	object-position: center 30%;
}
body .qrevely-gi-txt h3 {
	display: flex;
	align-items: center;
	gap: 11px;
	font-size: 21px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.02em;
}
body .qrevely-gi-txt h3::before {
	content: "";
	flex: 0 0 auto;
	width: 9px;
	height: 9px;
	background: var(--wp--preset--color--viola);
}
body .qrevely-gi-txt h3.qrevely-gi-b--or::before {
	background: var(--wp--preset--color--arancio);
}
body .qrevely-gi-txt h3 a {
	color: inherit;
	text-decoration: none;
}
body .qrevely-gi-txt h3 a::after {
	content: "";
	position: absolute;
	inset: 0;
}
body .qrevely-gi-item:hover h3 a {
	color: var(--wp--preset--color--viola);
}
body .qrevely-gi-txt p {
	margin-top: 14px;
	font-size: 14.5px;
	line-height: 1.7;
}
body .qrevely-gi-item--ampia .qrevely-gi-txt {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 28px;
	align-items: start;
}
body .qrevely-gi-item--ampia .qrevely-gi-txt p {
	margin-top: 5px;
}
@media (max-width: 1080px) {
	body .qrevely-gi-regola {
		padding-top: 50px;
	}
	body .qrevely-gi-griglia {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	body .qrevely-griglia-immagini--alte .qrevely-gi-img img {
		height: 220px;
	}
}
@media (max-width: 781px) {
	body .qrevely-griglia-immagini {
		padding-bottom: 56px;
	}
	body .qrevely-gi-regola {
		padding-top: 44px;
	}
	body .qrevely-gi-testa {
		gap: 12px;
		margin-bottom: 26px;
	}
	body .qrevely-gi-griglia {
		grid-template-columns: 1fr;
		gap: 28px 0;
	}
	/* Un solo figlio per riga: la card ampia perde le due colonne (più specifico di body .qrevely-gi-item--ampia). */
	body .qrevely-gi-griglia > .qrevely-gi-item {
		grid-column: span 1;
		padding-bottom: 26px;
	}
	body .qrevely-gi-item .qrevely-gi-img {
		margin-bottom: 18px;
	}
	body .qrevely-gi-item .qrevely-gi-img img {
		height: 120px;
	}
	body .qrevely-griglia-immagini--alte .qrevely-gi-item .qrevely-gi-img img {
		height: 150px;
	}
	body .qrevely-gi-item--ampia .qrevely-gi-txt {
		display: block;
	}
	body .qrevely-gi-txt h3 {
		gap: 9px;
		font-size: 18px;
	}
	body .qrevely-gi-txt p,
	body .qrevely-gi-item--ampia .qrevely-gi-txt p {
		margin-top: 10px;
		font-size: 14px;
	}
}

/* ---------- Pattern «CTA finale»: qrevely/cta ----------
Chiusura lilla: eyebrow e titolo a sinistra, testo e bottone a destra. Valori comuni delle pagine «Tipo di QR», «Hub» e
«Funzionalità» (live a 1440 e 390). Le famiglie cambiano i loro numeri con le custom property qui sotto; il titolo passa dal
preset «titolo-grande», perché la classe del preset ha !important. L'allineamento in fondo del blocco Colonne non conta: la
griglia stende le colonne all'altezza della riga. */
body .qrevely-cta {
	--wp--preset--font-size--titolo-grande: clamp(28px, 3.6vw, 40px);
	--qrevely-cta-spazio-titolo: 28px; /* sopra il titolo */
	--qrevely-cta-spazio-bottoni: 30px; /* sopra i bottoni */
	--qrevely-cta-spazio-colonne: 30px; /* fra le colonne impilate, sotto i 1080px */
	--qrevely-cta-colonna-destra: 420px;
	margin-block: 0;
	padding: 76px 20px 84px;
}
body .qrevely-cta :where(h2, p) {
	margin: 0;
}
body .qrevely-cta-colonne {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, var(--qrevely-cta-colonna-destra));
	gap: 0 60px;
	margin: 0;
}
body .qrevely-cta-colonne > .wp-block-column {
	display: flex;
	flex-direction: column;
	align-self: stretch;
}
body .qrevely-cta .is-style-eyebrow {
	line-height: 1.6;
}
body .qrevely-cta h2 {
	margin-top: var(--qrevely-cta-spazio-titolo);
	line-height: 1.14;
}
body .qrevely-cta-colonne .wp-block-buttons {
	align-self: flex-start;
	margin-top: var(--qrevely-cta-spazio-bottoni);
}
@media (max-width: 1080px) {
	body .qrevely-cta-colonne {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--qrevely-cta-spazio-colonne) 0;
	}
}
@media (max-width: 781px) {
	body .qrevely-cta {
		--wp--preset--font-size--titolo-grande: clamp(26px, 7.4vw, 32px);
		--qrevely-cta-spazio-titolo: 22px;
		padding-top: 52px;
		padding-bottom: 58px;
	}
}

/* ---------- Pattern «Caso d'uso»: qrevely/scena, qrevely/perche, qrevely/cta-scura ----------
Valgono in ogni pagina (R15), selettori solo sulle classi dei pattern; `body` alza la specificità sopra il blockGap del tema.
Valori misurati sul live (1440 e 390) nelle pagine dei casi d'uso. La famiglia «caso-uso» non aggiunge deltas a queste tre
sezioni: le ha tutte qui. */
body .qrevely-scena,
body .qrevely-perche,
body .qrevely-cta-scura {
	margin-block: 0;
	padding-right: 20px;
	padding-left: 20px;
}
/* Il contenuto sta in una colonna larga (wideSize) anche fuori dalle pagine con la regola di base.css, dove il layout del gruppo lo
   limiterebbe alla colonna di testo. */
body .qrevely-scena > *,
body .qrevely-perche > *,
body .qrevely-cta-scura > * {
	max-width: var(--wp--style--global--wide-size, 1160px);
	margin-right: auto;
	margin-left: auto;
}
body .qrevely-scena :where(h2, h3, p, figure),
body .qrevely-perche :where(h2, h3, p, figure),
body .qrevely-cta-scura :where(h2, h3, p, figure) {
	margin: 0;
}
body .qrevely-scena :where(.wp-block-columns),
body .qrevely-perche :where(.wp-block-columns),
body .qrevely-cta-scura :where(.wp-block-columns) {
	margin: 0;
}
body .qrevely-scena :where(.wp-block-columns > .wp-block-column),
body .qrevely-perche :where(.wp-block-columns > .wp-block-column),
body .qrevely-cta-scura :where(.wp-block-columns > .wp-block-column) {
	flex-basis: auto;
}
body .qrevely-perche-fianco > * {
	margin: 0;
}
body .qrevely-scena .is-style-eyebrow,
body .qrevely-perche .is-style-eyebrow {
	line-height: 1.7;
}
body .qrevely-filetto-caso.wp-block-separator {
	width: 100%;
	height: 0;
	margin: 0 auto 60px;
	border: 0;
	border-top: 1px solid var(--wp--preset--color--linea);
	background: none;
}
body .qrevely-cta-scura .wp-block-button.is-style-freccia .wp-block-button__link {
	padding: 14px 22px;
	font-size: 14.5px;
	line-height: 1;
}

/* Scena: figura col telefono disegnato a sinistra, testo a destra */
body .qrevely-scena {
	padding-top: 74px;
}
body .qrevely-scena-colonne {
	display: grid;
	grid-template-columns: minmax(0, 605px) minmax(0, 1fr);
	gap: 0 60px;
	align-items: start;
}
.qrevely-scena-foto {
	position: relative;
}
.qrevely-scena-img img {
	display: block;
	width: 100%;
	aspect-ratio: 6 / 5;
	object-fit: cover;
}
body .qrevely-scena .qrevely-nota {
	max-width: 460px;
	margin-top: 46px;
	color: var(--wp--preset--color--grigio);
	font-size: 11.5px;
	font-weight: 400;
	line-height: 1.6;
	text-align: center;
}
body .qrevely-scena h2 {
	margin-top: 18px;
	font-size: clamp(26px, 3.1vw, 34px);
	line-height: 1.2;
	letter-spacing: -0.03em;
}
body .qrevely-scena .qrevely-testo {
	margin-top: 20px;
	font-size: 14.5px;
	line-height: 1.75;
}
body .qrevely-scena .wp-block-list {
	margin: 26px 0 0;
	border-bottom: 1px solid var(--wp--preset--color--linea);
}
body .qrevely-scena .is-style-spunte li {
	padding: 13px 0 13px 25px;
	border-top: 1px solid var(--wp--preset--color--linea);
	font-size: 14px;
	line-height: 1.5;
}
body .qrevely-scena .is-style-spunte li::before {
	top: 15px;
	width: 13px;
	height: 13px;
}
.qrevely-scena-box {
	margin-top: 26px;
	padding: 4px 0 4px 18px;
	border-left: 3px solid var(--wp--preset--color--viola);
}
body .qrevely-scena-box p:not(.qrevely-vlink) {
	color: var(--wp--preset--color--inchiostro);
	font-size: 13.5px;
	line-height: 1.6;
}
.qrevely-scena-box strong {
	font-weight: 600;
}
/* Sul live il link sta da solo (inline-flex, 22px): il paragrafo flex non aggiunge la sua riga da 26px. */
body .qrevely-scena-box .qrevely-vlink {
	display: flex;
	margin-top: 10px;
}

/* Telefono disegnato: il gruppo .qrevely-telefono è la cornice, i paragrafi sono le righe dello schermo.
   Le tinte dello schermo (verde, crema, terracotta) sono quelle del live e restano qui. */
.qrevely-telefono {
	position: absolute;
	bottom: -26px;
	left: 20px;
	display: flex;
	flex-direction: column;
	width: 190px;
	height: 392px;
	box-sizing: border-box;
	border: 7px solid #15130f;
	border-radius: 30px;
	background: #fbf7ef;
	box-shadow: 0 26px 60px rgb(11 10 13 / 0.3);
	overflow: hidden;
	font-size: 10px;
}
.qrevely-telefono > *,
.qrevely-telefono .qrevely-tel-testa > *,
.qrevely-telefono .qrevely-tel-corpo > * {
	margin-block: 0;
}
body .qrevely-telefono .qrevely-tel-barra {
	display: flex;
	align-items: center;
	height: 1.9em;
	padding: 0 0.9em;
	background: #efe9de;
	color: var(--wp--preset--color--grigio);
	font-size: 0.62em;
	letter-spacing: 0.04em;
	line-height: 1.4;
}
.qrevely-tel-testa {
	padding: 1em 0.8em 1.1em;
	background: #1f3a2e;
	color: #f2ede2;
	text-align: center;
}
body .qrevely-telefono .qrevely-tel-sopra {
	font-size: 0.62em;
	line-height: 1.7;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	opacity: 0.78;
}
body .qrevely-telefono .qrevely-tel-titolo {
	margin-top: 0.12em;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.85em;
	font-weight: 400;
	line-height: 1.1;
}
body .qrevely-telefono .qrevely-tel-sotto {
	margin-top: 0.35em;
	font-size: 0.56em;
	line-height: 1.7;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	opacity: 0.7;
}
.qrevely-tel-corpo {
	padding: 0.7em 0.95em;
}
body .qrevely-telefono .qrevely-tel-sezione {
	margin: 0.9em 0 0.5em;
	color: #a4633a;
	font-size: 0.58em;
	line-height: 1.7;
	letter-spacing: 0.2em;
	text-align: center;
	text-transform: uppercase;
}
body .qrevely-telefono .qrevely-tel-riga {
	display: flex;
	justify-content: space-between;
	gap: 0.6em;
	color: #2a2620;
	font-size: 0.68em;
	line-height: 1.9;
}
body .qrevely-telefono .qrevely-tel-piede {
	margin-top: 1.1em;
	color: #a9a297;
	font-size: 0.52em;
	font-style: italic;
	line-height: 1.7;
	letter-spacing: 0.08em;
	text-align: center;
}

/* Perché conviene: titolo e testo, poi tre card (una principale, viola) */
body .qrevely-perche {
	padding-top: 80px;
}
body .qrevely-perche .qrevely-perche-testa {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 543px);
	gap: 0 60px;
	align-items: start;
	margin-bottom: 34px;
}
body .qrevely-perche h2 {
	font-size: clamp(26px, 3.1vw, 34px);
	line-height: 1.2;
	letter-spacing: -0.03em;
}
body .qrevely-perche-testa p {
	font-size: 14.5px;
	line-height: 1.75;
}
body .qrevely-perche-carte {
	display: grid;
	grid-template-columns: minmax(0, 605px) minmax(0, 1fr);
	gap: 14px;
	align-items: stretch;
}
body .qrevely-perche .is-style-card-bordata {
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	padding: 30px 32px 32px;
	border-radius: 0;
	box-shadow: none;
}
/* Sul live la card viola e quella lilla non hanno bordo (solo quella crema ha il filetto): il bordo della card bordata,
   anche se del colore del fondo, toglie 2px di larghezza e ne aggiunge 2 di altezza. */
body :is(.qrevely-card-principale, .qrevely-card-lilla) {
	border-width: 0;
}
body .qrevely-card-principale {
	min-height: 470px;
	background: var(--wp--preset--color--viola);
}
.qrevely-card-principale .qrevely-icona {
	display: block;
	width: 36px;
	height: 36px;
}
.qrevely-card-principale .qrevely-icona svg {
	display: block;
	width: 100%;
	height: 100%;
}
body .qrevely-card-principale .qrevely-card-img {
	flex: 0 0 auto;
	margin: 14px 0 22px;
	text-align: center;
}
.qrevely-card-principale .qrevely-card-img img {
	display: block;
	width: 500px;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}
body .qrevely-card-principale h3 {
	font-size: 22px;
	font-weight: 800; /* misurato sul live, come gli altri titoli delle carte */
	line-height: 1.1;
	letter-spacing: -0.025em;
}
body .qrevely-card-principale p {
	margin-top: 16px;
	color: rgb(255 255 255 / 0.82);
	font-size: 14px;
	line-height: 1.65;
}
body .qrevely-perche-fianco {
	display: grid;
	grid-template-rows: auto auto;
	gap: 14px;
}
body .qrevely-perche-fianco > .is-style-card-bordata {
	justify-content: center;
}
body .qrevely-card-lilla {
	background: var(--wp--preset--color--lilla);
}
body .qrevely-card-linea {
	background: var(--wp--preset--color--crema);
}
body .qrevely-card-riga {
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	gap: 16px;
}
.qrevely-card-riga .qrevely-icona {
	display: block;
	flex: 0 0 auto;
	width: 24px;
	height: 24px;
	margin-top: 2px;
}
.qrevely-card-riga .qrevely-icona svg {
	display: block;
	width: 100%;
	height: 100%;
}
.qrevely-card-testo {
	min-width: 0;
}
body .qrevely-card-testo h3 {
	font-size: 19px;
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.02em;
}
body .qrevely-card-testo p {
	margin-top: 12px;
	font-size: 13.5px;
	line-height: 1.7;
}

/* Chiusura scura: scatola nera nella colonna, col bottone arancio */
body .qrevely-cta-scura {
	padding-top: 64px;
	padding-bottom: 56px;
}
body .qrevely-cta-scura-scatola {
	padding: 46px 48px 48px;
}
body .qrevely-cta-scura-colonne {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 430px);
	gap: 0 60px;
	align-items: start;
}
body .qrevely-cta-scura-colonne > .wp-block-column:last-child {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.qrevely-cta-scura .is-style-eyebrow {
	color: var(--wp--preset--color--grigio-chiaro);
	font-size: 14.5px; /* sul live questo eyebrow è più grande degli altri (cs-eyebrow nella CTA scura) */
	line-height: 1.7;
}
body .qrevely-cta-scura h2 {
	margin-top: 22px;
	font-size: clamp(24px, 2.9vw, 32px);
	line-height: 1.16;
	letter-spacing: -0.03em;
}
body .qrevely-cta-scura p:not(.is-style-eyebrow) {
	color: rgb(255 255 255 / 0.76);
	font-size: 14.5px;
	line-height: 1.7;
}
.qrevely-cta-scura strong {
	color: var(--wp--preset--color--bianco);
	font-weight: 600;
}
body .qrevely-cta-scura .wp-block-buttons {
	margin-top: 26px;
}

@media (max-width: 1080px) {
	body .qrevely-scena-colonne,
	body .qrevely-perche .qrevely-perche-testa,
	body .qrevely-cta-scura-colonne {
		grid-template-columns: 1fr;
		gap: 34px 0;
	}
	body .qrevely-perche-carte {
		grid-template-columns: 1fr;
	}
	body .qrevely-card-principale {
		min-height: 0;
	}
	body .qrevely-card-principale .qrevely-card-img {
		margin: 12px 0 20px;
	}
	.qrevely-card-principale .qrevely-card-img img {
		width: 100%;
	}
	body .qrevely-scena .qrevely-nota {
		max-width: none;
		margin-top: 52px;
	}
	body .qrevely-scena {
		padding-top: 58px;
	}
	body .qrevely-perche {
		padding-top: 64px;
	}
	body .qrevely-cta-scura-colonne {
		gap: 26px 0;
	}
}
@media (max-width: 781px) {
	body .qrevely-filetto-caso.wp-block-separator {
		margin-bottom: 42px;
	}
	body .qrevely-scena {
		padding-top: 44px;
	}
	.qrevely-telefono {
		bottom: -18px;
		left: 14px;
		width: 118px;
		height: 245px;
		border-width: 5px;
		border-radius: 20px;
		font-size: 6.3px;
	}
	body .qrevely-scena .qrevely-nota {
		margin-top: 38px;
		font-size: 10.5px;
	}
	body .qrevely-perche {
		padding-top: 48px;
	}
	body .qrevely-perche .qrevely-perche-testa {
		gap: 18px 0;
		margin-bottom: 24px;
	}
	body .qrevely-perche .is-style-card-bordata {
		padding: 24px 22px 26px;
	}
	body .qrevely-card-principale h3 {
		font-size: 20px;
	}
	body .qrevely-card-principale .qrevely-card-img {
		margin: 12px 0 18px;
	}
	body .qrevely-cta-scura {
		padding-top: 46px;
		padding-bottom: 46px;
	}
	body .qrevely-cta-scura-scatola {
		padding: 32px 24px 34px;
	}
	body .qrevely-cta-scura h2 {
		margin-top: 18px;
		font-size: clamp(22px, 6.6vw, 28px);
	}
}


/* Pattern qrevely/blog-home: l'ultimo articolo grande a sinistra, i tre successivi in riga a destra. Valori misurati sul live (1440 e 390). */
.wp-block-group.qrevely-blog-home {
	margin-block: 0;
	padding-left: var(--wp--custom--gutter);
	padding-right: var(--wp--custom--gutter);
	line-height: 1.6;
}
.qrevely-blog-home :is(.wp-block-column, .wp-block-group, .wp-block-columns) > * {
	margin-block-start: 0;
}
.qrevely-blog-home h2,
.qrevely-blog-home h3,
.qrevely-blog-home p {
	margin: 0;
}
.qrevely-blog-home .qrevely-stella-dopo::after {
	content: "";
	display: inline-block;
	flex: 0 0 auto;
	width: 26px;
	height: 26px;
	margin-left: 8px;
	background: var(--wp--preset--color--arancio);
	vertical-align: -3px;
	-webkit-mask: url(../icone/stella.svg) center / contain no-repeat;
	mask: url(../icone/stella.svg) center / contain no-repeat;
}
.qrevely-blog-home .qrevely-link a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--wp--preset--color--viola);
	font-size: 15px;
	font-weight: 600;
}
.qrevely-blog-home .qrevely-link a:hover {
	color: var(--wp--preset--color--viola-scuro);
}
.qrevely-blog-home .qrevely-link a::after {
	content: "";
	width: 12px;
	height: 12px;
	background: currentColor;
	-webkit-mask: url(../icone/freccia-diagonale.svg) center / contain no-repeat;
	mask: url(../icone/freccia-diagonale.svg) center / contain no-repeat;
}
.wp-block-group.qrevely-blog-home {
	padding-top: 98px;
	padding-bottom: 170px; /* sul live 24px di spazio fra la sezione e il footer */
}
.qrevely-blog-home .qrevely-blog-home-testa {
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 48px;
}
.qrevely-blog-home .qrevely-blog-home-testa h2 {
	margin-top: 20px;
}
.qrevely-blog-home .qrevely-blog-home-articoli .wp-block-post-template {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	grid-template-rows: auto auto 1fr;
	margin: 0;
	padding: 0;
	gap: 0;
	list-style: none;
}
.qrevely-blog-home .qrevely-blog-home-articoli .wp-block-post-template > li {
	margin: 0;
	min-width: 0;
}
.qrevely-blog-home .qrevely-blog-home-articoli .wp-block-post-template > li:first-child {
	grid-row: 1 / span 3;
	align-self: start;
	padding-right: 56px;
}
.qrevely-blog-home .qrevely-blog-home-articoli .wp-block-post-template > li:not(:first-child) {
	grid-column: 2;
	padding-left: 56px;
	border-left: 1px solid var(--wp--preset--color--linea);
}
.qrevely-blog-home .qrevely-blog-home-articolo .wp-block-post-featured-image {
	margin: 0;
}
.qrevely-blog-home .qrevely-blog-home-articolo .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	object-fit: cover;
}
.qrevely-blog-home .qrevely-blog-home-meta {
	flex-wrap: wrap;
	gap: 6px 16px;
	margin-bottom: 17px;
	color: var(--wp--preset--color--grigio);
	font-size: 11.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}
.qrevely-blog-home .qrevely-blog-home-meta > * {
	margin: 0;
}
.qrevely-blog-home .qrevely-blog-home-meta a {
	color: inherit;
}
.qrevely-blog-home .qrevely-blog-home-articolo .wp-block-post-title {
	margin: 0;
}
.qrevely-blog-home .qrevely-blog-home-articolo .wp-block-post-title a {
	color: var(--wp--preset--color--inchiostro);
}
.qrevely-blog-home .qrevely-blog-home-articolo .wp-block-post-title a:hover {
	color: var(--wp--preset--color--viola);
}
/* primo articolo: immagine in alto, filetto sotto */
.qrevely-blog-home li:first-child > .qrevely-blog-home-articolo {
	padding-bottom: 30px;
	border-bottom: 1px solid var(--wp--preset--color--linea);
}
.qrevely-blog-home li:first-child .wp-block-post-featured-image {
	margin-bottom: 26px;
}
.qrevely-blog-home li:first-child .wp-block-post-featured-image img {
	height: 290px;
}
.qrevely-blog-home li:first-child .wp-block-post-title {
	font-size: 21px;
	letter-spacing: -0.02em;
	line-height: 1.3;
}
/* gli altri tre: miniatura a sinistra, testo a destra */
.qrevely-blog-home li:not(:first-child) > .qrevely-blog-home-articolo {
	display: grid;
	grid-template-columns: 130px minmax(0, 1fr);
	gap: 24px;
	margin-bottom: 30px;
	padding-bottom: 30px;
	border-bottom: 1px solid var(--wp--preset--color--linea);
}
.qrevely-blog-home li:last-child > .qrevely-blog-home-articolo {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: 0;
}
.qrevely-blog-home li:not(:first-child) .wp-block-post-featured-image img {
	width: 130px;
	height: 86px;
}
.qrevely-blog-home li:not(:first-child) .wp-block-post-title {
	font-size: 18px;
	letter-spacing: -0.01em;
	line-height: 1.35;
}

@media (max-width: 1080px) {
	.qrevely-blog-home .qrevely-blog-home-articoli .wp-block-post-template {
		grid-template-columns: 1fr;
	}
	.qrevely-blog-home .qrevely-blog-home-articoli .wp-block-post-template > li:first-child {
		grid-row: auto;
		padding-right: 0;
	}
	.qrevely-blog-home .qrevely-blog-home-articoli .wp-block-post-template > li:first-child > .qrevely-blog-home-articolo {
		padding-bottom: 0;
		border-bottom: 0;
	}
	.qrevely-blog-home .qrevely-blog-home-articoli .wp-block-post-template > li:not(:first-child) {
		grid-column: 1;
		padding-left: 0;
		border-left: 0;
	}
	.qrevely-blog-home .qrevely-blog-home-articoli .wp-block-post-template > li:nth-child(2) {
		margin-top: 34px;
		padding-top: 34px;
		border-top: 1px solid var(--wp--preset--color--linea);
	}
}
@media (max-width: 781px) {
	/* blog */
	.wp-block-group.qrevely-blog-home {
		padding-top: 58px;
		padding-bottom: 116px;
	}
	.qrevely-blog-home .qrevely-blog-home-testa {
		margin-bottom: 32px;
	}
	.qrevely-blog-home li:first-child .wp-block-post-featured-image {
		margin-bottom: 51px;
	}
	.qrevely-blog-home li:first-child .wp-block-post-featured-image img {
		height: 200px;
	}
	.qrevely-blog-home li:not(:first-child) > .qrevely-blog-home-articolo {
		grid-template-columns: 96px minmax(0, 1fr);
		gap: 16px;
	}
	.qrevely-blog-home li:not(:first-child) .wp-block-post-featured-image img {
		width: 96px;
		height: 70px;
	}
}

/* Pattern qrevely/elenco-guide: i filtri per categoria e l'elenco delle guide a tre colonne. Vale in ogni pagina (la pagina /guide/ e le categorie),
   con i valori delle schede del blog. */
.wp-block-group.qrevely-elenco-guide {
	margin-block: 0;
	padding: 56px var(--wp--custom--gutter) 0;
}
.qrevely-elenco-guide :where(h3, p) {
	margin: 0;
}
.qrevely-elenco-guide-lista {
	margin-top: 46px;
}
.qrevely-elenco-guide-lista .wp-block-post-template {
	gap: 46px 26px;
	margin: 0;
	padding: 0;
}
.qrevely-elenco-guide-lista .wp-block-post-template > li {
	margin: 0;
	min-width: 0;
}
.qrevely-elenco-guide-lista .wp-block-post-featured-image {
	margin: 0 0 18px;
}
.qrevely-elenco-guide-lista .wp-block-post-featured-image img {
	display: block;
	width: 100%;
}
.qrevely-elenco-guide-lista .qrevely-blog-meta {
	gap: 0;
	color: var(--wp--preset--color--grigio);
	font-size: 10.5px;
	line-height: 1.65;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.qrevely-elenco-guide-lista .qrevely-blog-meta a {
	color: inherit;
	text-decoration: none;
}
.qrevely-elenco-guide-lista .qrevely-blog-meta .wp-block-post-terms::before {
	content: "/";
	margin-right: 9px;
	color: var(--wp--preset--color--bordo);
}
.qrevely-elenco-guide-lista .wp-block-post-title {
	margin-top: 10px;
	font-size: 20px;
	font-weight: 800;
	line-height: 1.26;
	letter-spacing: -0.025em;
}
.qrevely-elenco-guide-lista .wp-block-post-title a {
	color: var(--wp--preset--color--inchiostro);
	text-decoration: none;
}
.qrevely-elenco-guide-lista .wp-block-post-title a:hover {
	color: var(--wp--preset--color--viola);
}
.qrevely-elenco-guide-lista .wp-block-post-excerpt {
	margin-top: 12px;
}
.qrevely-elenco-guide-lista .wp-block-post-excerpt p {
	color: var(--wp--preset--color--testo);
	font-size: 13.5px;
	line-height: 1.7;
}
.qrevely-elenco-guide-lista .wp-block-post-excerpt__more-text {
	display: none;
}
.qrevely-elenco-guide-lista .wp-block-read-more {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: fit-content;
	margin-top: 20px;
	padding-top: 14px;
	border-top: 1px solid var(--wp--preset--color--linea);
	color: var(--wp--preset--color--viola);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.65;
	text-decoration: none;
}
.qrevely-elenco-guide-lista .wp-block-read-more::after {
	content: "";
	flex: 0 0 auto;
	width: 13px;
	height: 13px;
	background: var(--wp--preset--color--viola);
	-webkit-mask: url(../icone/freccia-diagonale.svg) center / contain no-repeat;
	mask: url(../icone/freccia-diagonale.svg) center / contain no-repeat;
}
.qrevely-elenco-guide-lista .wp-block-query-pagination {
	gap: 8px;
	margin-top: 56px;
	padding-top: 22px;
	border-top: 1px solid var(--wp--preset--color--linea);
}
.qrevely-elenco-guide-lista .wp-block-query-pagination a,
.qrevely-elenco-guide-lista .wp-block-query-pagination .page-numbers {
	padding: 7px 12px;
	border: 1px solid transparent;
	color: var(--wp--preset--color--grigio);
	font-size: 12.5px;
	text-decoration: none;
}
.qrevely-elenco-guide-lista .wp-block-query-pagination .current {
	border-color: var(--wp--preset--color--linea);
	color: var(--wp--preset--color--inchiostro);
	font-weight: 600;
}
.qrevely-elenco-guide-lista .wp-block-query-no-results p {
	padding: 14px 18px;
	border-left: 3px solid var(--wp--preset--color--arancio);
	background: #fbeae1; /* tinta del riquadro «nessun articolo» del blog, fuori palette */
	color: var(--wp--preset--color--inchiostro);
	font-size: 13px;
}
@media (max-width: 999.98px) {
	.qrevely-elenco-guide-lista .wp-block-post-template.is-layout-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 640px) {
	.wp-block-group.qrevely-elenco-guide {
		padding-top: 38px;
		padding-bottom: 80px;
	}
	/* Due guide per riga anche sul telefono: testi più piccoli per stare nella colonna. */
	.qrevely-elenco-guide-lista .wp-block-post-template.is-layout-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 30px 14px;
	}
	.qrevely-elenco-guide-lista .wp-block-post-title {
		font-size: 15px;
		line-height: 1.3;
	}
	.qrevely-elenco-guide-lista .wp-block-post-excerpt p {
		display: -webkit-box;
		-webkit-line-clamp: 4;
		-webkit-box-orient: vertical;
		overflow: hidden;
		font-size: 12px;
		line-height: 1.55;
	}
	.qrevely-elenco-guide-lista .wp-block-read-more {
		margin-top: 14px;
		padding-top: 10px;
		font-size: 12px;
	}
}

/* Pattern qrevely/eroe-elenco: la testata delle pagine di elenco (blog, categorie, guide): briciola, titolo a sinistra, icona e testo a destra.
   Vale in ogni pagina: gli stessi valori del blog, misurati sul live (1440 e 390). */
.wp-block-group.qrevely-blog-eroe {
	margin-block: 0;
	padding-inline: var(--wp--custom--gutter, 20px);
}
.wp-block-group.qrevely-blog-eroe > * {
	max-width: 1160px;
	margin-inline: auto;
}
.qrevely-blog-eroe .is-style-eyebrow {
	line-height: 1.7;
}
.wp-block-group.qrevely-blog-eroe {
	padding-top: 55px;
}
.wp-block-group.qrevely-blog-eroe > .is-style-eyebrow {
	margin-bottom: 0;
}
.qrevely-blog-eroe .qrevely-blog-eroe-colonne {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 290px);
	gap: 0 60px;
	align-items: start;
	margin: 26px 0 0;
}
.qrevely-blog-eroe .qrevely-blog-eroe-colonne > .wp-block-column {
	flex-basis: auto !important;
	min-width: 0;
}
.wp-block-group.qrevely-blog-eroe h1 {
	margin: 0;
	font-size: clamp(38px, 5.4vw, 72px);
	font-weight: 800;
	line-height: 1.04;
	letter-spacing: -0.04em;
	color: var(--wp--preset--color--inchiostro);
}
.qrevely-blog-eroe .qrevely-blog-eroe-lato {
	padding-top: 10px;
}
.qrevely-blog-eroe .qrevely-blog-eroe-lato .qrevely-icona {
	display: block;
}
.qrevely-blog-eroe .qrevely-blog-eroe-lato p {
	margin: 26px 0 0;
	font-size: 14.5px;
	line-height: 1.75;
	color: var(--wp--preset--color--testo);
}
.qrevely-blog-eroe .wp-block-term-description {
	margin-top: 14px;
	font-size: 14.5px;
	line-height: 1.75;
	color: var(--wp--preset--color--testo);
}
@media (max-width: 1080px) {
	.qrevely-blog-eroe .qrevely-blog-eroe-colonne {
		grid-template-columns: minmax(0, 1fr);
		gap: 30px 0;
	}
	.qrevely-blog-eroe .qrevely-blog-eroe-lato {
		padding-top: 0;
	}
	.qrevely-blog-eroe .qrevely-blog-eroe-lato p {
		margin-top: 18px;
	}
	.qrevely-blog-eroe .qrevely-blog-eroe-lato .qrevely-icona {
		width: 34px;
		height: 34px;
	}
}
@media (max-width: 781px) {
	.wp-block-group.qrevely-blog-eroe {
		padding-top: 39px;
	}
	.wp-block-group.qrevely-blog-eroe h1 {
		font-size: clamp(32px, 9vw, 44px);
	}
}

.qrevely-elenco-guide-lista .qrevely-blog-meta--categoria .wp-block-post-terms::before {
	display: none;
}

/* Nelle pagine di categoria il contenitore è `qrevely-pagina--blog`, e blog.css azzera i margini di immagine, titolo e descrizione delle sue
   schede (`.qrevely-pagina--blog .wp-block-post-title { margin: 0 }`, stessa specificità e caricato dopo): senza questo le schede delle guide
   uscivano con categoria, titolo e descrizione attaccati. Le stesse misure della pagina Guide, con un selettore che vince in entrambe.
   Il margine sotto la descrizione era il vuoto di blocco di WordPress: scritto qui perché non dipenda da un contenitore. */
.qrevely-pagina--blog .qrevely-elenco-guide-lista .wp-block-post-featured-image {
	margin: 0 0 18px;
}
.qrevely-pagina--blog .qrevely-elenco-guide-lista .wp-block-post-title {
	margin: 10px 0 0;
}
.qrevely-pagina--blog .qrevely-elenco-guide-lista .wp-block-post-excerpt {
	margin: 12px 0 24px;
}

/* Dopo l'elenco serve spazio: nelle pagine di categoria c'è il footer, nella pagina Guide la fascia «Pronto a creare i tuoi QR code?». */
.qrevely-pagina--blog > .wp-block-group.qrevely-elenco-guide,
.qrevely-pagina--domande .wp-block-group.qrevely-elenco-guide {
	padding-bottom: 110px;
}
@media (max-width: 640px) {
	.qrevely-pagina--blog > .wp-block-group.qrevely-elenco-guide,
	.qrevely-pagina--domande .wp-block-group.qrevely-elenco-guide {
		padding-bottom: 80px;
	}
}

/* Fascia scorrevole dei settori (parts/fascia-scorrevole.html): usabile in qualunque pagina, stesso spazio sopra e sotto */
.qrevely-fascia-sezione {
	padding-top: 76px;
	padding-bottom: 76px;
}
.qrevely-fascia {
	overflow: hidden;
	padding: 27px 0 26px;
	border-top: 1px solid var(--wp--preset--color--linea);
}
.qrevely-fascia-pista {
	display: flex;
	align-items: center;
	gap: 26px;
	width: max-content;
	animation: qrevely-fascia-scorre 38s linear infinite;
}
.qrevely-fascia:hover .qrevely-fascia-pista {
	animation-play-state: paused;
}
.qrevely-copia-decorativa {
	display: flex;
	align-items: center;
	gap: 26px;
}
.qrevely-fascia-voce {
	color: var(--wp--preset--color--inchiostro);
	font-size: 18px;
	letter-spacing: -0.01em;
	white-space: nowrap;
}
.qrevely-fascia-voce a {
	color: inherit;
}
.qrevely-fascia-voce a:hover {
	color: var(--wp--preset--color--viola);
}
@keyframes qrevely-fascia-scorre {
	from { transform: translate3d(0, 0, 0); }
	to { transform: translate3d(-50%, 0, 0); }
}
@media (prefers-reduced-motion: reduce) {
	.qrevely-fascia-pista {
		animation: none;
	}
	.qrevely-copia-decorativa {
		display: none;
	}
	.qrevely-fascia {
		overflow-x: auto;
	}
}
@media (max-width: 781px) {
	.qrevely-fascia-sezione {
		padding-top: 44px;
		padding-bottom: 44px;
	}
	.qrevely-fascia {
		padding: 20px 0;
	}
	.qrevely-fascia-pista,
	.qrevely-copia-decorativa {
		gap: 18px;
	}
	.qrevely-fascia-voce {
		font-size: 16px;
	}
}
