/* Regole comuni del tema che theme.json non sa esprimere. */
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* Il live rende il testo con l'antialiasing leggero su ogni pagina (Ruling R10: corpo a 300, vedi theme.json). */
body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Dal CSS aggiuntivo del Customizer di Blocksy: sul live strong, b e th pesano 600 su tutto il sito. Il resto di
   quel CSS riguarda header, menu e footer di Blocksy (vedi il documento d'inventario). */
strong,
b,
th {
	font-weight: 600;
}

/* Il live non ha spazio fra header, contenuto e footer: si toglie il blockGap della radice (24px) una volta qui, non in ogni famiglia. */
.wp-site-blocks > * {
	margin-block: 0;
}

/* Il contenuto delle sezioni a tutta larghezza sta in una colonna di 1160px (wideSize), centrata, come sul live. */
.qrevely-pagina .wp-block-post-content > .alignfull > *:not(.alignfull) {
	max-width: var(--wp--style--global--wide-size, 1160px);
	margin-inline: auto;
}

/* Header: resta in alto scorrendo, come sul live, alto 85px (67px sotto i 1000px). Lo sticky sta sul contenitore che il template
part genera attorno al gruppo (un elemento sticky si ferma dentro il genitore: sul gruppo, unico figlio, non si attaccherebbe
mai). Il live non si restringe scorrendo: altezza, logo e fondo restano uguali (misurato a 1440 in Chrome e a 390 in WebKit),
quindi niente shrink. Da loggati si ferma sotto la barra di amministrazione. */
.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 50;
}
/* Il filo in basso separa la testata dal contenuto, anche quando scorre sotto di lei. Un'ombra interna e non un border-bottom: il bordo
   aggiungerebbe 1px all'altezza, tarata sul live (85px, 67px sotto i 1000px) e da cui dipendono scroll-padding, l'indice degli articoli
   e il pannello del menu. */
.qrevely-header {
	background: var(--wp--preset--color--crema);
	box-shadow: inset 0 -1px 0 var(--wp--preset--color--linea);
}
/* Le ancore (indice delle pagine legali e degli articoli, link profondi della FAQ) non finiscono sotto l'header fisso. */
html {
	scroll-padding-top: calc(85px + var(--wp-admin--admin-bar--height, 0px));
}
.qrevely-header-riga {
	min-height: 85px;
}
/* Un logo SVG non ha misure nei metadati: l'attributo width del blocco non arriva al markup, quindi si dà qui. */
.qrevely-header .wp-block-site-logo img {
	width: 26px;
	height: 26px;
}
.qrevely-header .wp-block-site-title {
	margin: 0;
	font-family: var(--wp--preset--font-family--figtree);
	font-size: 21px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.06em;
}
.qrevely-header .wp-block-site-title a {
	color: var(--wp--preset--color--inchiostro);
	text-decoration: none;
}
@media (max-width: 999.98px) {
	.qrevely-header-riga {
		min-height: 67px;
	}
	html {
		scroll-padding-top: calc(67px + var(--wp-admin--admin-bar--height, 0px));
	}
}
/* Fra 782 e 999px il live ha l'header da 67px sovrapposto al contenuto, e il contenuto alla stessa altezza che a 1440 (i
padding dei blocchi sono calcolati sui suoi 85px). Il nostro header è in flusso: mancano 18px. Si danno alla prima sezione
come bordo trasparente e non all'header come margine, perché il fondo della sezione si dipinge anche sotto il bordo: le testate
colorate (il lilla delle pagine legali) arrivano così fino all'header come sul live, senza una striscia crema in mezzo. La fascia
1000-1199 del live, dove il contenuto scende di 67px, è un suo difetto e non si copia. */
@media (min-width: 782px) and (max-width: 999.98px) {
	.qrevely-pagina > :first-child:not(.wp-block-post-content),
	.qrevely-pagina > .wp-block-post-content:first-child > :first-child {
		border-top: 18px solid transparent;
	}
}

/* «Accedi» e «Registrati» a destra del menu, misurati sul live (1440): alti 40px, padding 0 17px, 13.5px, raggio 5px, a 10px l'uno dall'altro, l'ultimo finisce a 1300. Sotto i 1000px stanno nel pannello del menu (blocco mega-menu). */
.qrevely-header .wp-block-group.qrevely-header-accesso {
	margin-left: auto;
	gap: 10px;
}
.qrevely-header-accesso p,
.qrevely-header-accesso .wp-block-buttons {
	margin: 0;
}
.qrevely-header .qr-login-link,
.qrevely-header .qrevely-registrati .wp-block-button__link {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 40px;
	padding: 0 17px;
	box-sizing: border-box;
	border-radius: 5px;
	font-size: 13.5px;
	line-height: 1.3;
	text-decoration: none;
	transition: background-color 0.2s, transform 0.2s;
}
.qrevely-header .qr-login-link {
	border: 1px solid var(--wp--preset--color--inchiostro);
	color: var(--wp--preset--color--inchiostro);
	font-weight: 500;
}
.qrevely-header .qr-login-link:hover {
	background: rgb(25 21 34 / 0.07);
}
.qrevely-header .qrevely-registrati .wp-block-button__link {
	gap: 8px;
	background: var(--wp--preset--color--arancio);
	color: var(--wp--preset--color--bianco);
	font-weight: 600;
}
.qrevely-header .qrevely-registrati .wp-block-button__link:hover {
	background: #E9551F;
	transform: translateY(-3px);
}
.qrevely-header .qrevely-registrati .wp-block-button__link::after {
	content: "";
	width: 11px;
	height: 11px;
	background: currentcolor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M24 0v22.78h-2.87V4.9L2.03 24 0 21.97l19.1-19.1H1.26V0z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M24 0v22.78h-2.87V4.9L2.03 24 0 21.97l19.1-19.1H1.26V0z'/%3E%3C/svg%3E") center / contain no-repeat;
}
@media (max-width: 999.98px) {
	.qrevely-header .wp-block-group.qrevely-header-accesso {
		display: none;
	}
}

/* Il menu sta accanto al logo: sul live la prima voce è a x 349, il logo finisce a 249. Il blockGap della riga (24px) conta: 76 + 24 = 100. Sotto i 1000px il trigger va a destra. */
.qrevely-header-riga .wp-block-qrevely-mega-menu {
	margin-left: 76px;
}
@media (max-width: 999.98px) {
	.qrevely-header-riga .wp-block-qrevely-mega-menu {
		margin-left: auto;
	}
}

/* Footer. Valori misurati sul live il 14 ottobre 2026 (1440, 900, 390); breakpoint 999 e 640 come il live.
   Il filetto sotto logo e claim è lo sfondo del footer, quello sopra la riga legale è ::before di .qrevely-footer-fondo. */
.qrevely-footer {
	position: relative;
	padding-top: 152px;
	padding-bottom: 44px;
	background-image: linear-gradient(rgb(255 255 255 / 0.14), rgb(255 255 255 / 0.14));
	background-repeat: no-repeat;
	background-position: center 105px;
	background-size: min(1160px, calc(100% - 40px)) 1px;
}
.qrevely-footer::before {
	content: "";
	position: absolute;
	top: 52px;
	left: max(20px, calc((100% - 1160px) / 2));
	width: 154px;
	height: 30px;
	background: url(../img/logo-chiaro.svg) left center / contain no-repeat;
}
.qrevely-footer::after {
	content: "Il tuo QR apre nuove possibilità.";
	position: absolute;
	top: 57px;
	right: max(20px, calc((100% - 1160px) / 2));
	width: max-content;
	padding-right: 28px;
	color: rgb(255 255 255 / 0.86);
	font-size: 14px;
	line-height: 1.4;
	white-space: nowrap;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.5v19M2.5 12h19M5.3 5.3l13.4 13.4M18.7 5.3L5.3 18.7' stroke='%23FF6B3D' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") right center / 15px 15px no-repeat;
}
.wp-block-columns.qrevely-footer-colonne {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 40px;
	margin-bottom: 0;
}
.qrevely-footer-colonne > .wp-block-column {
	flex-basis: auto;
	margin: 0;
}
.qrevely-footer-colonne > .wp-block-column:last-child {
	padding-left: 36px;
	border-left: 1px solid rgb(255 255 255 / 0.14);
}
.qrevely-footer-titolo {
	margin: 0 0 20px;
	color: var(--wp--preset--color--bianco);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: normal;
}
.qrevely-footer-link {
	margin: 0;
	color: rgb(255 255 255 / 0.66);
	font-size: 15px;
	line-height: 2.1;
}
.qrevely-footer-link a {
	color: inherit;
	text-decoration: none;
}
.qrevely-footer-link a:hover {
	color: var(--wp--preset--color--bianco);
}

/* Contatti (email e Instagram): una riga sopra la riga in fondo. */
.wp-block-group.qrevely-footer-contatti {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 28px;
	margin-top: 56px;
}
.qrevely-footer-contatti > p {
	margin: 0;
	font-size: 13px;
}

/* Riga in fondo: il testo della società, centrato. */
.wp-block-group.qrevely-footer-fondo {
	position: relative;
	margin-top: 52px;
}
.wp-block-group.qrevely-footer-fondo::before {
	content: "";
	position: absolute;
	top: -26px;
	left: 0;
	right: 0;
	height: 1px;
	background: rgb(255 255 255 / 0.14);
}
.qrevely-footer-societa {
	margin: 0;
	text-align: center;
	color: rgb(255 255 255 / 0.5);
	font-size: 13px;
	line-height: 1.3;
}
.qrevely-footer-consenso {
	margin: 0;
	color: rgb(255 255 255 / 0.66);
	font-size: 15px;
	line-height: 2.1;
}
.qrevely-footer-consenso .cmplz-manage-consent {
	color: inherit;
	line-height: inherit;
	text-decoration: none;
}
.qrevely-footer-consenso .cmplz-manage-consent:hover {
	color: var(--wp--preset--color--bianco);
}
.cmplz-manage-consent {
	padding: 0;
	border: 0;
	background: none;
	color: rgb(255 255 255 / 0.5);
	font: inherit;
	line-height: 1.65;
	text-decoration: underline;
	cursor: pointer;
}
.cmplz-manage-consent:hover {
	color: var(--wp--preset--color--bianco);
}

/* Mail, Instagram e LinkedIn: bianchi, con la freccia in coda (e il glifo davanti per Instagram e LinkedIn), come sul live. */
.qrevely-footer-mail,
.qrevely-footer-vendite,
.qrevely-footer-ig,
.qrevely-footer-li {
	line-height: 1.4;
}
.qrevely-footer-mail a,
.qrevely-footer-vendite a,
.qrevely-footer-ig a,
.qrevely-footer-li a {
	color: var(--wp--preset--color--bianco);
	text-decoration: none;
}
.qrevely-footer-mail a,
.qrevely-footer-vendite a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}
.qrevely-footer-mail a::before,
.qrevely-footer-vendite a::before {
	content: "";
	flex: 0 0 auto;
	width: 14px;
	height: 14px;
	background: var(--wp--preset--color--bianco);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='2.5' y='4.5' width='19' height='15' rx='3' fill='none' stroke='%23000' stroke-width='1.7'/%3E%3Cpath d='M3.5 7.5l8.5 6 8.5-6' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='2.5' y='4.5' width='19' height='15' rx='3' fill='none' stroke='%23000' stroke-width='1.7'/%3E%3Cpath d='M3.5 7.5l8.5 6 8.5-6' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
.qrevely-footer-mail a::after,
.qrevely-footer-vendite a::after,
.qrevely-footer-ig a::after,
.qrevely-footer-li a::after {
	content: "";
	width: 9px;
	height: 9px;
	background: var(--wp--preset--color--bianco);
	-webkit-mask: url(../icone/freccia-diagonale.svg) center / contain no-repeat;
	mask: url(../icone/freccia-diagonale.svg) center / contain no-repeat;
}
.qrevely-footer-ig a,
.qrevely-footer-li a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}
.qrevely-footer-li a::before {
	content: "";
	flex: 0 0 auto;
	width: 14px;
	height: 14px;
	background: var(--wp--preset--color--bianco);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='2.5' y='2.5' width='19' height='19' rx='3' fill='none' stroke='%23000' stroke-width='1.7'/%3E%3Ccircle cx='8' cy='8' r='1.2'/%3E%3Crect x='7' y='10.5' width='2' height='6.5'/%3E%3Cpath d='M11.5 10.5h2v1c.4-.7 1.2-1.2 2.2-1.2 1.9 0 2.8 1.2 2.8 3.3V17h-2v-3.1c0-1-.4-1.7-1.3-1.7s-1.7.6-1.7 1.8V17h-2z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='2.5' y='2.5' width='19' height='19' rx='3' fill='none' stroke='%23000' stroke-width='1.7'/%3E%3Ccircle cx='8' cy='8' r='1.2'/%3E%3Crect x='7' y='10.5' width='2' height='6.5'/%3E%3Cpath d='M11.5 10.5h2v1c.4-.7 1.2-1.2 2.2-1.2 1.9 0 2.8 1.2 2.8 3.3V17h-2v-3.1c0-1-.4-1.7-1.3-1.7s-1.7.6-1.7 1.8V17h-2z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.qrevely-footer-ig a::before {
	content: "";
	flex: 0 0 auto;
	width: 14px;
	height: 14px;
	background: var(--wp--preset--color--bianco);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='2.5' y='2.5' width='19' height='19' rx='5' fill='none' stroke='%23000' stroke-width='1.7'/%3E%3Ccircle cx='12' cy='12' r='4.4' fill='none' stroke='%23000' stroke-width='1.7'/%3E%3Ccircle cx='17.6' cy='6.4' r='1.2'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='2.5' y='2.5' width='19' height='19' rx='5' fill='none' stroke='%23000' stroke-width='1.7'/%3E%3Ccircle cx='12' cy='12' r='4.4' fill='none' stroke='%23000' stroke-width='1.7'/%3E%3Ccircle cx='17.6' cy='6.4' r='1.2'/%3E%3C/svg%3E") center / contain no-repeat;
}

@media (max-width: 999.98px) {
	.wp-block-columns.qrevely-footer-colonne {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 40px 24px;
	}
	.qrevely-footer-colonne > .wp-block-column:last-child {
		padding-left: 0;
		border-left: 0;
	}
}
@media (max-width: 640px) {
	.qrevely-footer {
		padding-top: 176px;
		padding-bottom: 40px;
		background-position: center 140px;
	}
	.qrevely-footer::before {
		top: 44px;
		width: 146px;
		height: 28px;
	}
	.qrevely-footer::after {
		top: 92px;
		right: auto;
		left: 20px;
	}
	.wp-block-columns.qrevely-footer-colonne {
		gap: 34px 22px;
	}
	.wp-block-group.qrevely-footer-fondo {
		margin-top: 52px;
	}
}
