/* Shift — sezioni di contenuto (home, landing): slider, display, box con icona, CTA, clienti, testimonianze. */

/* Pagine a tutta larghezza: le sezioni si toccano, gli spazi sono definiti da ciascuna sezione. */
.shift-main--full .wp-block-post-content > * { margin-block: 0; }

/* -------------------------------------------------------------- Tipografia */
.wp-block-heading.shift-display {
	margin-block: 0;
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: 46px;
	font-weight: 800;
	line-height: 60px;
	letter-spacing: 0;
}
.wp-block-heading.shift-display:not(.has-text-color) { color: #0a0a0a; }
.shift-lead {
	margin-block: 25px 0 !important;
	font-size: 18px;
	font-weight: 200;
	line-height: 25px;
	color: #000;
}

/* --------------------------------------------------------------- Pulsanti */
.wp-block-button.is-small .wp-block-button__link {
	padding: 0 28px;
	border-width: 1px;
	background-color: var(--wp--preset--color--accent-text);
	border-color: var(--wp--preset--color--accent-text);
	font-size: 12px;
	line-height: 43px;
}
.wp-block-button.is-large .wp-block-button__link {
	padding: 0 46px;
	border-width: 1px;
	background-color: var(--wp--preset--color--accent-text);
	border-color: var(--wp--preset--color--accent-text);
	font-size: 14px;
	line-height: 55px;
}
/* vc_btn di WPBakery, stile "classic" colore "inverse". */
.wp-block-buttons.is-vc-btn { margin-bottom: 21.74px; }
.wp-block-button.is-vc-classic .wp-block-button__link {
	padding: 14px 20px;
	border: 1px solid rgba(0, 0, 0, 0.1);
	background-color: #555;
	color: #fff;
	font-family: var(--wp--preset--font-family--open-sans);
	font-size: 14px;
	line-height: normal;
	letter-spacing: normal;
	text-transform: none;
}
.wp-block-button.is-vc-classic .wp-block-button__link:hover { border-color: transparent; background-color: #464646; color: #f7f7f7; }
.wp-block-button.is-outline-light .wp-block-button__link {
	padding: 0 37px;
	border: 2px solid rgba(255, 255, 255, 0.5);
	background: transparent;
	font-size: 13px;
	line-height: 45px;
	letter-spacing: 0.5px;
}
.wp-block-button.is-outline-light .wp-block-button__link:hover { background: var(--wp--preset--color--base); border-color: var(--wp--preset--color--base); color: var(--wp--preset--color--ink); }
.wp-block-button.has-arrow .wp-block-button__link { display: inline-flex; align-items: center; }
.wp-block-button.has-arrow .wp-block-button__link::after {
	content: "";
	width: 20px;
	height: 20px;
	margin-left: 10px;
	background-color: currentColor;
	-webkit-mask: url("../icons/fe/arrow_right.svg") center / contain no-repeat;
	mask: url("../icons/fe/arrow_right.svg") center / contain no-repeat;
}

/* ------------------------------------------------------------------ Icona */
.shift-icon {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	color: var(--shift-icon-color, currentColor);
	line-height: 0;
}
.shift-icon svg { width: var(--shift-icon-size, 20px); height: var(--shift-icon-size, 20px); }
.shift-icon:not(.is-shape-none) {
	width: var(--shift-icon-box, 47px);
	height: var(--shift-icon-box, 47px);
	background: var(--shift-icon-bg, var(--wp--preset--color--accent-text));
}
.shift-icon.is-shape-circle { border-radius: 50%; }

/* ----------------------------------------------------------------- Slider */
.shift-slider { position: relative; overflow: hidden; }
.shift-slider__track { display: flex; transition: transform 0.8s var(--shift-ease); transform: translateX(calc(var(--shift-slide, 0) * -100%)); }
.shift-slider__track > * { flex: 0 0 100%; min-width: 0; margin: 0 !important; }
.is-effect-fade > .shift-slider__track { display: grid; transform: none; }
.is-effect-fade > .shift-slider__track > * { grid-area: 1 / 1; opacity: 0; visibility: hidden; transition: opacity 0.8s ease, visibility 0s linear 0.8s; }
.is-effect-fade > .shift-slider__track > .is-active,
.is-effect-fade:not(.is-ready) > .shift-slider__track > :first-child { opacity: 1; visibility: visible; transition: opacity 0.8s ease, visibility 0s; }
.shift-slider.is-editing { overflow: visible; }

.shift-slider__dots { display: flex; gap: 10px; }
.shift-slider__dot {
	width: 14px;
	height: 14px;
	padding: 0;
	border: 2px solid var(--wp--preset--color--base);
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
}
.shift-slider__dot[aria-current="true"] { background: var(--wp--preset--color--base); }
.shift-slider__arrow {
	position: absolute;
	top: 50%;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	margin-top: -25px;
	padding: 0;
	border: 0;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--ink);
	cursor: pointer;
	transition: background-color 0.2s ease-out, color 0.2s ease-out;
}
.shift-slider__arrow:hover { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--base); }
.shift-slider__arrow--prev { left: 0; }
.shift-slider__arrow--next { right: 0; }
.shift-slider__arrow-icon { width: 20px; height: 20px; background-color: currentColor; }
.shift-slider__arrow--prev .shift-slider__arrow-icon { -webkit-mask: url("../icons/fe/arrow_carrot-left.svg") center / contain no-repeat; mask: url("../icons/fe/arrow_carrot-left.svg") center / contain no-repeat; }
.shift-slider__arrow--next .shift-slider__arrow-icon { -webkit-mask: url("../icons/fe/arrow_carrot-right.svg") center / contain no-repeat; mask: url("../icons/fe/arrow_carrot-right.svg") center / contain no-repeat; }
.shift-slider :focus-visible { outline: 2px solid var(--wp--preset--color--base); outline-offset: 3px; }

/* Hero */
.shift-hero-slider .shift-slider__dots { position: absolute; left: 0; right: 0; bottom: 24px; justify-content: center; z-index: 2; }
.wp-block-cover.shift-slide { padding: 0; overflow: hidden; }
.shift-slide .wp-block-cover__inner-container { width: 100%; }
.shift-slide .wp-block-cover__inner-container > * { max-width: calc(var(--shift-container) * 0.9) !important; margin-left: calc((100% - var(--shift-container)) / 2) !important; }
.wp-block-heading.shift-slide__title {
	margin: 0 0 24px;
	font-size: 94px;
	font-weight: 700;
	line-height: 100px;
	letter-spacing: -2px;
	color: var(--wp--preset--color--base);
}
.shift-slide__text {
	margin: 0;
	font-family: Georgia, serif;
	font-size: 26px;
	font-style: italic;
	line-height: 39px;
	color: var(--wp--preset--color--base);
}
.shift-slide .wp-block-buttons { margin-top: 47px; }
.shift-slide.is-compact .shift-slide__title { margin-bottom: 19px; font-size: 78px; line-height: 80px; letter-spacing: -1px; }
.shift-slide.is-compact .wp-block-buttons { margin-top: 30px; }

/* Zoom lento dell'immagine e testi che entrano da destra, uno alla volta. */
.shift-slide .wp-block-cover__image-background { transition: transform 7s ease-out; }
.shift-slide.is-active .wp-block-cover__image-background { transform: scale(1.08); }
.is-ready .shift-slide .wp-block-cover__inner-container > * { opacity: 0; transform: translateX(80px); transition: opacity 0.5s ease, transform 0.7s var(--shift-ease); }
.is-ready .shift-slide.is-active .wp-block-cover__inner-container > * { opacity: 1; transform: none; }
.is-ready .shift-slide.is-active .wp-block-cover__inner-container > :nth-child(1) { transition-delay: 0.3s; }
.is-ready .shift-slide.is-active .wp-block-cover__inner-container > :nth-child(2) { transition-delay: 0.45s; }
.is-ready .shift-slide.is-active .wp-block-cover__inner-container > :nth-child(3) { transition-delay: 0.6s; }

/* -------------------------------------------------------------- Chi siamo */
.shift-about__cols { gap: 30px; margin: 0; }
.shift-about__cols > .wp-block-column > * { margin-block: 0; }
.shift-about__title { margin: 0 !important; }
.shift-about__text { margin: 0 !important; }
.shift-about__title + .shift-about__text { margin-top: 20px !important; }
.shift-about__cols > .wp-block-column:first-child { padding-bottom: 40px; }

.shift-performance { display: grid; padding: 64px 0 0 12px; }
.shift-performance > * { grid-area: 1 / 1; align-self: start; margin: 0 !important; }
.shift-performance__script {
	font-family: Georgia, serif;
	font-size: 95px;
	font-style: italic;
	line-height: 110px;
	text-align: center;
	color: #e5e5e5;
}
.shift-performance__kicker {
	padding: 12px 0 0 12px;
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: 17px;
	line-height: 25px;
	letter-spacing: -1px;
	color: var(--wp--preset--color--heading);
}
.shift-performance__word {
	padding: 44px 0 0;
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: 90px;
	font-weight: 700;
	line-height: 103px;
	letter-spacing: -5px;
	color: var(--wp--preset--color--performance);
}
@media (max-width: 991px) {
	.shift-about__claim { display: none; }
}

/* Comparsa allo scroll (solo con JS attivo) */
.shift-js .shift-reveal { opacity: 0; transition: opacity 0.6s ease, transform 0.8s var(--shift-ease); }
.shift-js .shift-reveal.is-grow { transform: scale(0.7); }
.shift-js .shift-reveal.is-up { transform: translateY(50px); }
.shift-js .shift-reveal.is-visible { opacity: 1; transform: none; }
.shift-performance__script.is-visible { transition-delay: 0.1s; }
.shift-performance__kicker.is-visible { transition-delay: 0.2s; }
.shift-performance__word.is-visible { transition-delay: 0.3s; }

/* --------------------------------------------------------- Box con icona */
.shift-iconboxes__row { gap: 30px; margin: 0; padding-bottom: 69px; }
.shift-iconboxes__row + .shift-iconboxes__row { padding-bottom: 112px; }
.shift-iconbox { gap: 23px; }
.shift-iconbox > .shift-icon { margin-top: -10px; }
.shift-iconbox__body > * { margin: 0; }
.wp-block-heading.shift-iconbox__title {
	margin-bottom: 17px;
	font-weight: 600;
	color: var(--wp--preset--color--subheading);
}

/* --------------------------------------------------------- Fascia parallax */
.wp-block-cover.shift-parallax { padding: 101px 0 84px; }
.wp-block-cover.shift-parallax.has-parallax { background-size: auto; }
.shift-parallax__buttons { margin-top: 65px !important; }

/* -------------------------------------------------------------------- CTA */
.shift-cta { padding: 53px 0; }
.shift-cta__inner { gap: 30px; }
.wp-block-heading.shift-cta__text { flex: 0 1 75%; margin: 0; font-weight: 300; }
@media (max-width: 767px) {
	.shift-cta { padding: 60px 0; }
	.shift-cta__inner { flex-direction: column; align-items: center !important; gap: 25px; text-align: center; }
}

/* ---------------------------------------------------------------- Clienti */
.shift-section-intro > * { margin-block: 0; }
.wp-block-group.shift-clients { gap: 0; border-top: 1px solid #dadada; }
.shift-clients .wp-block-image {
	box-sizing: border-box;
	width: 100%;
	aspect-ratio: 383 / 265;
	margin: 0;
	border-right: 1px solid #dadada;
	border-bottom: 1px solid #dadada;
}
.shift-clients .wp-block-image a { display: block; height: 100%; }
.shift-clients .wp-block-image img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); transition: filter 0.3s ease; }
.shift-clients .wp-block-image a:hover img { filter: none; }
.shift-clients .wp-block-image a { position: relative; }
@media (max-width: 1000px) {
	.wp-block-group.shift-clients { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 480px) {
	.wp-block-group.shift-clients { grid-template-columns: 1fr !important; }
}

/* ---------------------------------------------------------- Testimonianze */
.wp-block-cover.shift-testimonials { padding: 100px 0 61px; align-items: flex-start; }
.wp-block-cover.shift-testimonials.has-parallax { background-size: auto; }
.shift-testimonials__slider { box-sizing: border-box; padding-left: 20px; overflow: visible; }
.shift-testimonial > * { margin: 0; }
.shift-testimonial__text {
	position: relative;
	isolation: isolate;
	padding: 10px 0 17px;
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: 36px;
	font-weight: 600;
	line-height: 50px;
	color: var(--wp--preset--color--base);
}
.shift-testimonial__text::before {
	content: "\201C";
	position: absolute;
	top: -64px;
	left: -54px;
	z-index: -1;
	font-family: Georgia, serif;
	font-size: 288px;
	line-height: 288px;
	color: rgba(255, 255, 255, 0.6);
	pointer-events: none;
}
.shift-testimonial__author { gap: 25px; min-height: 60px; margin-top: 15px !important; }
.shift-testimonial__avatar { margin: 0; }
.shift-testimonial__avatar img { width: 60px; height: 60px; border-radius: 50%; }
.shift-testimonial__name {
	margin: 0;
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: 17px;
	line-height: 20px;
	text-transform: capitalize;
	color: var(--wp--preset--color--base);
}
.shift-testimonial__company { color: #feb500; }
.shift-testimonials__slider .shift-slider__dots { margin-top: 30px; padding-bottom: 28px; }
.shift-testimonials__slider .shift-slider__dot { width: 12px; height: 12px; border-width: 1px; }
.shift-testimonials__slider .shift-slider__track { overflow: visible; }

/* --------------------------------------------------------------- Chiusura */
.shift-closing__buttons { margin-top: 49px !important; }

/* ------------------------------------------------------------- Responsive */
/* Scala di PitchWP: slider e titoli "display" si riducono a gradini. */
@media (max-width: 1199px) {
	.wp-block-heading.shift-slide__title { font-size: 75px; line-height: 80px; }
	.shift-slide.is-compact .shift-slide__title { font-size: 62px; line-height: 66px; }
	.shift-slide__text { font-size: 21px; line-height: 31px; }
	.shift-performance__script { font-size: 76px; line-height: 88px; }
	.shift-performance__word { font-size: 72px; line-height: 82px; }
}
@media (max-width: 1000px) {
	.wp-block-cover.shift-slide { min-height: calc(100vh - 96px) !important; }
	.wp-block-heading.shift-slide__title { font-size: 66px; line-height: 70px; letter-spacing: -1px; }
	.shift-slide.is-compact .shift-slide__title { font-size: 54px; line-height: 58px; }
	.shift-slide__text { font-size: 18px; line-height: 27px; }
	.shift-slide .wp-block-button__link { font-size: 10px; line-height: 32px; }
	.shift-hero-slider .shift-slider__arrow { display: none; }
}
@media (max-width: 767px) {
	.shift-slide .wp-block-button__link { line-height: 26px; }
	.shift-iconboxes__row { flex-wrap: wrap !important; padding-bottom: 0; }
	.shift-iconboxes__row > .wp-block-column { flex-basis: 100% !important; padding-bottom: 40px; }
	.shift-iconboxes__row + .shift-iconboxes__row { padding-bottom: 47px; }
}
@media (max-width: 600px) {
	.wp-block-heading.shift-slide__title,
	.shift-slide.is-compact .shift-slide__title { font-size: 56px; line-height: 60px; }
	.shift-slide__text { font-size: 16px; line-height: 23px; }
	.wp-block-heading.shift-display { font-size: 32px; line-height: 32px; }
	.shift-testimonial__text { font-size: 20px; line-height: 32px; }
	.shift-testimonial__text::before { font-size: 160px; line-height: 160px; top: -30px; left: -30px; }
}
@media (max-width: 480px) {
	.wp-block-heading.shift-slide__title,
	.shift-slide.is-compact .shift-slide__title { font-size: 47px; line-height: 50px; }
	.shift-slide__text { font-size: 13px; line-height: 20px; }
	.wp-block-heading.shift-display { font-size: 26px; line-height: 31px; }
	.shift-lead { font-size: 22px; line-height: 25px; }
}

/* ------------------------------------------------ Contenuti convertiti da WPBakery */
.shift-row > .wp-block-columns,
.shift-row-inner > .wp-block-columns { margin-block: 0; }
.shift-cols > .wp-block-column > * { margin-block: 0; }
.has-text-align-center { text-align: center; }
.has-text-align-right { text-align: right; }

/* Colonne con immagine di sfondo: il gruppo interno riempie la colonna. */
.wp-block-column.shift-col.has-bg { display: flex; flex-direction: column; align-self: stretch; }
.shift-col.has-bg > .shift-col__bg { flex: 1 1 auto; display: flex; flex-direction: column; justify-content: center; }
.shift-holder { margin-block: 0; }
.shift-holder > .wp-block-column { align-self: stretch; display: flex; flex-direction: column; justify-content: center; }
@media (max-width: 1024px) {
	.wp-block-columns.stack-at-1024 { flex-wrap: wrap !important; }
	.wp-block-columns.stack-at-1024 > .wp-block-column { flex-basis: 100% !important; }
	.stack-at-1024 .shift-col__bg { min-height: 400px; }
}
@media (max-width: 767px) {
	.shift-cols .shift-col__bg { min-height: 300px; }
	.shift-hide-mobile { display: none !important; }
}

/* Stelle e icone in fila */
.shift-icons { gap: 2px; }

/* Box con icona sopra il titolo */
.shift-iconbox.is-top { align-items: center; text-align: center; gap: 0; }
.shift-iconbox.is-top > .shift-icon { margin: 0 0 28px; transition: background-color 0.3s ease; }
.shift-iconbox.is-top .wp-block-heading.shift-iconbox__title { margin-bottom: 12px; }

/* Passi numerati */
.shift-step { gap: 14px; min-height: 68px; }
.shift-step > *, .shift-step__text > * { margin-block: 0; }
.shift-step__number {
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: 68px;
	font-weight: 700;
	line-height: 68px;
	color: var(--wp--preset--color--ink);
}
.wp-block-heading.shift-step__subtitle { padding-top: 3px; line-height: 30px; }

/* Liste "circle" di PitchWP: pallino blu da 7px */
.wp-block-post-content .wp-block-list.shift-list { margin: 10px 0 18px; padding: 0 0 28px; list-style: none; }
.wp-block-list.shift-list li { position: relative; padding-left: 21px; font-size: 14px; line-height: 25px; }
.wp-block-list.shift-list.is-style-circle li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 9px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--wp--preset--color--accent-text);
}

/* Galleria lavori */
.wp-block-gallery.shift-gallery { margin-block: 0; }

/* Hero di pagina (ex titolo PitchWP con immagine) */
.wp-block-cover.shift-page-hero { padding: 96px 0 0; }
.wp-block-heading.shift-page-hero__title {
	/* stessa tipografia dell'h1 nella hero di Servizi */
	margin-block: 0;
	font-size: 58px;
	line-height: 63px;
	letter-spacing: -1px;
	color: var(--wp--preset--color--base);
}
.shift-page-hero__subtitle {
	/* stessa colonna del titolo, ma il testo va a capo a 1000px */
	box-sizing: border-box;
	padding-right: max(0px, calc(var(--shift-container) - 1000px));
	/* come l'h5 della hero di Servizi, staccato dal titolo come lo spacer da 60px */
	margin-block: 60px 0 !important;
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: 19px;
	font-weight: 400;
	line-height: 26px;
	letter-spacing: -0.4px;
	color: var(--wp--preset--color--base);
}
@media (max-width: 768px) {
	/* PitchWP nasconde il sottotitolo del titolo pagina */
	.shift-page-hero__subtitle { display: none; }
}
@media (max-width: 767px) {
	.wp-block-cover.shift-page-hero { min-height: 60vh !important; padding-top: 0; }
}
/* Hero di Servizi: testo nella stessa colonna della hero di Contatti */
.page-id-57605 .wp-block-post-content > .wp-block-cover:first-child { padding-inline: 0 !important; }
.page-id-57605 .wp-block-post-content > .wp-block-cover:first-child > .wp-block-cover__inner-container > * {
	max-width: var(--shift-container);
	margin-inline: auto;
}
@media (max-width: 600px) {
	/* come .title h1 di PitchWP: a 58px le parole lunghe escono dalla colonna */
	:is(.wp-block-heading.shift-page-hero__title, .page-id-57605 .wp-block-post-content > .wp-block-cover:first-child h1) { font-size: 45px; line-height: 54px; }
}

/* Regole portate dal "CSS aggiuntivo" del vecchio tema (classi usate nei contenuti). */
.t-white :is(h1, h5, p) { color: var(--wp--preset--color--base); }
.alignCenter { text-align: center; }
@media (max-width: 1024px) {
	.stack-at-1024 .shift-col__bg { min-height: 100vw; }
}
@media (max-width: 600px) {
	/* Servizi: su mobile l'immagine va sopra il testo anche nelle righe con il testo a sinistra */
	:is(#design, #seo, #sviluppo) > .wp-block-columns { flex-direction: column-reverse; }
}
.shift-holder > .wp-block-column { box-sizing: border-box; }

/* Classi di utilità del vecchio tema child, usate nei contenuti. */
.center { text-align: center; }
.c-white,
.c-white p { color: var(--wp--preset--color--base) !important; }
.no-display { display: none !important; }
/* Barra fissa in fondo alle landing ("Parlaci del tuo progetto!") */
.wp-block-group.banner {
	position: fixed !important;
	left: 15px;
	bottom: 0;
	z-index: 999999;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
}
.banner .wp-block-button__link { text-transform: none; letter-spacing: -1px; }
/* In PitchWP il min-height delle righe esclude il padding. */
.wp-block-cover.visual-page { box-sizing: content-box; }
/* Galleria lavori: ultima riga non allargata, allineata a sinistra (come la griglia masonry di WPBakery). */
.wp-block-gallery.shift-gallery { justify-content: flex-start; }
.wp-block-gallery.shift-gallery.has-nested-images figure.wp-block-image { flex-grow: 0; }
/* Come WPBakery: padding delle colonne incluso nella larghezza/altezza. */
.shift-cols > .wp-block-column { box-sizing: border-box; }
/* Pulsanti nelle colonne/righe centrate (classi center/alignCenter di WPBakery). */
:is(.center, .alignCenter, .has-text-align-center) > .wp-block-buttons,
:is(.center, .alignCenter, .has-text-align-center) > * > .wp-block-buttons { justify-content: center; }
/* Righe "row-cell-equalHeight": in WPBakery la colonna aveva un solo wrapper interno; qui i figli sono diretti. */
.row-cell-equalHeight > .wp-block-columns > .wp-block-column {
	flex-direction: column;
	justify-content: center;
	align-items: stretch !important;
}

/* Righe "a schermo intero" di PitchWP: alte quanto la finestra, contenuto centrato (l'eccedenza viene tagliata). */
.wp-block-cover.is-fullscreen { height: calc(100vh - 84px); min-height: 0 !important; padding: 0; overflow: hidden; }
/* PitchWP centra la sezione su tutta la finestra e poi la sposta in su di 71px. */
.wp-block-cover.is-fullscreen > .wp-block-cover__inner-container { margin-top: -71px; }

/* Classe "lista" del vecchio tema child: elenco con spunta gialla (blu con "lista blue"). */
.wp-block-post-content .lista .wp-block-list { padding-left: 20px; list-style: none; }
/* .wpb_text_column :last-child { margin-bottom: 0 } */
.lista .wp-block-list li:last-child { margin-bottom: 0; }
.lista .wp-block-list li {
	position: relative;
	margin-bottom: 15px;
	padding-left: 18px;
	font-size: 18px;
	color: #000;
}
.lista .wp-block-list li::before {
	content: "";
	position: absolute;
	top: 4px;
	left: -5px;
	width: 18px;
	height: 18px;
	background-color: #ffb502;
	-webkit-mask: url("../icons/fa/check.svg") center / contain no-repeat;
	mask: url("../icons/fa/check.svg") center / contain no-repeat;
}
.lista.blue .wp-block-list li::before { background-color: #3175a8; }
/* Le righe WPBakery non hanno il padding predefinito (1em) della copertina. */
.wp-block-cover.shift-row { padding: 0; }
@media (max-width: 767px) {
	/* La griglia masonry di WPBakery su mobile diventa una colonna. */
	.wp-block-gallery.shift-gallery.has-nested-images figure.wp-block-image:not(#individual-image) { width: 100%; }
}
@media (max-width: 480px) {
	/* Passi numerati: il numero va su una riga a sé (regola del CSS di pagina originale). */
	.wp-block-group.shift-step { flex-wrap: wrap !important; }
	.shift-step__text { flex-basis: 100%; }
}
@media (max-width: 480px) {
	.wp-block-group.shift-step { row-gap: 0; }
}
@media (max-width: 767px) {
	.wp-block-post-content .shift-step { margin-block: 20px; }
}
/* Tema child PitchWP: sotto i 767px ogni "custom font" va a 26px/1.2 (vince anche sul ridimensionamento di PitchWP),
   tranne i testi con la classe custom-p-sh. */
@media (max-width: 767px) {
	/* stessa specificità del selettore originale: il CSS di pagina caricato dopo può ridefinirlo */
	.shift-font:not(.custom-p-sh) { font-size: 26px !important; line-height: 1.2 !important; }
	/* pulsanti PitchWP con classe icon_right (tutti salvo icona a sinistra) */
	.wp-block-button.is-icon-right { margin-top: 15px; }
	/* il margine proprio del pulsante (qui sul gruppo) viene sostituito dai 15px */
	.wp-block-buttons.has-own-margin { margin-top: 0 !important; }
	/* .q_elements_item_inner > .q_elements_item_content */
	.shift-holder > .wp-block-column:not(.has-bg),
	.shift-holder > .has-bg > .shift-col__bg { padding-left: 45px !important; padding-right: 45px !important; }
	/* specificità bassa: il CSS di pagina che ridefinisce .qbutton.icon_right deve vincere, come su live */
	:where(.wp-block-button.is-icon-right) .wp-block-button__link { width: auto; padding: 5px 15px !important; font-size: 12px !important; }
}
.wp-block-group.shift-icons { min-height: 25px; align-items: center; }
@media (max-width: 1000px) {
	/* Su mobile PitchWP non forza l'altezza della finestra: la sezione è alta quanto il contenuto. */
	.wp-block-cover.is-fullscreen { height: auto; overflow: visible; }
	.wp-block-cover.is-fullscreen > .wp-block-cover__inner-container { margin-top: 0; }
}

/* Righe "full width" di WPBakery: la riga sborda di 15px per lato (margini negativi di .vc_row, eccedenza tagliata)
   e ogni colonna ha 15px di padding laterale, salvo padding propri. */
.wp-site-blocks { overflow-x: clip; }
.shift-row.is-full > .shift-cols { margin-inline: -15px; }
.shift-row.is-full > .shift-cols > .wp-block-column:not(.has-bg),
.shift-row.is-full > .shift-cols > .has-bg > .shift-col__bg { padding-inline: 15px; }

/* Regole per pagina del tema child PitchWP. */
/* realizzazione-siti-web: niente hamburger desktop né menu "Navigazione" nel footer (la colonna resta, vuota) */
@media (min-width: 1001px) {
	body.page-id-57902 .shift-menu-toggle { display: none; }
}
body.page-id-57902 .shift-footer__cols > .shift-footer__col:nth-child(2) > * { display: none; }
@media (max-width: 767px) {
	body.page-id-57902 .shift-footer .shift-footer__col:nth-child(2) { margin-bottom: 58px; }
}
/* contatti */
body.page-id-1412 footer.wp-block-template-part { margin-top: 60px; }
/* Sotto i 600px PitchWP aggiunge 30px sopra e sotto alle righe a schermo intero. */
@media (max-width: 600px) {
	.wp-block-cover.is-fullscreen { padding-block: 30px; }
}
/* Colonna singola di una riga a griglia con padding laterale proprio: larga quanto la colonna WPBakery (contenitore + 30px). */
.is-layout-constrained > .shift-col--wide { max-width: calc(var(--wp--style--global--content-size) + 30px); }
/* qbutton di PitchWP: testo su una riga sola (specificità minima, il CSS di pagina può ridefinirlo) */
:where(.wp-block-post-content .wp-block-button:not([class*="is-vc-"])) .wp-block-button__link { white-space: nowrap; }
