/* Shift — stili che theme.json non copre: header, menu, footer, layout articolo, moduli. */

/* Contenitore a gradini come nel tema originale (non fluido). */
:root {
	--shift-container: 1300px;
	--shift-header-h: 96px;
	--shift-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
}
@media (max-width: 1399px) { :root { --shift-container: 1100px; } }
@media (max-width: 1199px) { :root { --shift-container: 950px; } }
@media (max-width: 1000px) { :root { --shift-container: 768px; } }
@media (max-width: 768px) { :root { --shift-container: 600px; } }
@media (max-width: 600px) { :root { --shift-container: 420px; } }
@media (max-width: 480px) { :root { --shift-container: 300px; } }
@media (max-width: 350px) { :root { --shift-container: 290px; } }

@media (prefers-reduced-motion: no-preference) {
	html { scroll-behavior: smooth; }
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* I blocchi di primo livello non hanno margini tra loro (header, contenuto, footer). */
.wp-site-blocks > * { margin-block-start: 0; }

:where(.wp-site-blocks) h1, :where(.wp-site-blocks) h2, :where(.wp-site-blocks) h3,
:where(.wp-site-blocks) h4, :where(.wp-site-blocks) h5, :where(.wp-site-blocks) h6 {
	margin-top: 0;
}

/* ------------------------------------------------------------------ Header */

.shift-header-part {
	position: relative;
	z-index: 100;
	height: var(--shift-header-h);
}
.shift-header-part.is-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
}
.admin-bar .shift-header-part.is-overlay { top: 0; }

.shift-header {
	position: relative;
	height: var(--shift-header-h);
	padding: 0 39px;
	background: var(--wp--preset--color--base);
}
.shift-header.is-transparent { background: transparent; }
.shift-header-part.has-divider .shift-header { border-bottom: 1px solid rgba(255, 255, 255, 0.3); }

/* Fascia bianca che scende dietro l'header quando si apre il menu. */
.shift-header::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 0;
	background: var(--wp--preset--color--base);
	transition: height 0.3s var(--shift-ease) 0.1s;
}
.shift-header.is-menu-open::before { height: 100%; transition-delay: 0s; }

.shift-header__bar {
	position: relative;
	z-index: 1;
	height: 100%;
	align-items: center;
}
.shift-header__menu { gap: 18px; height: 100%; }

.shift-logo { display: block; line-height: 0; }
.shift-logo img { width: auto; height: 39px; }
.shift-logo__light { display: none; }
.shift-header.is-transparent:not(.is-menu-open):not(.is-sticky) .shift-logo__dark { display: none; }
.shift-header.is-transparent:not(.is-menu-open):not(.is-sticky) .shift-logo__light { display: block; }

/* Voci di menu: nascoste finché non si apre l'hamburger. */
.shift-nav { height: 100%; }
.shift-nav .wp-block-navigation__container { gap: 0; height: 100%; }
.shift-nav .wp-block-navigation-item { height: 100%; }
.shift-nav .wp-block-navigation-item__content.wp-block-navigation-item__content {
	display: flex;
	align-items: center;
	height: 100%;
	padding: 0 19px;
	color: var(--wp--preset--color--heading);
	transition: color 0.15s ease-out;
}
.shift-nav .wp-block-navigation-item__content.wp-block-navigation-item__content:hover,
.shift-nav .current-menu-item > .wp-block-navigation-item__content.wp-block-navigation-item__content { color: var(--wp--preset--color--accent-text); }

@media (min-width: 1001px) {
	.shift-nav .wp-block-navigation-item {
		opacity: 0;
		visibility: hidden;
		transform: translateX(15px);
		transition: opacity 0.2s var(--shift-ease), transform 0.3s var(--shift-ease), visibility 0s linear 0.3s;
	}
	.shift-header.is-menu-open .shift-nav .wp-block-navigation-item {
		opacity: 1;
		visibility: visible;
		transform: none;
		transition: opacity 0.3s var(--shift-ease), transform 0.4s var(--shift-ease), visibility 0s;
	}
	.shift-header.is-menu-open .shift-nav .wp-block-navigation-item:nth-child(1) { transition-delay: 0.25s; }
	.shift-header.is-menu-open .shift-nav .wp-block-navigation-item:nth-child(2) { transition-delay: 0.2s; }
	.shift-header.is-menu-open .shift-nav .wp-block-navigation-item:nth-child(3) { transition-delay: 0.15s; }
	.shift-header.is-menu-open .shift-nav .wp-block-navigation-item:nth-child(4) { transition-delay: 0.1s; }
}

/* Hamburger → X */
.shift-menu-toggle {
	position: relative;
	width: 17px;
	height: 17px;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
	color: #000;
	transition: transform 0.5s ease-out;
}
.shift-menu-toggle__lines,
.shift-menu-toggle__lines::before,
.shift-menu-toggle__lines::after {
	position: absolute;
	left: 0;
	width: 100%;
	height: 3px;
	background-color: currentColor;
	transition: transform 0.3s ease-out, top 0.3s ease-out, background-color 0.3s ease-out;
}
.shift-menu-toggle__lines { top: 50%; margin-top: -1px; }
.shift-menu-toggle__lines::before,
.shift-menu-toggle__lines::after { content: ""; }
.shift-menu-toggle__lines::before { top: -5px; }
.shift-menu-toggle__lines::after { top: 5px; }
.shift-menu-toggle:hover .shift-menu-toggle__lines::before { transform: translateY(-1px); }
.shift-menu-toggle:hover .shift-menu-toggle__lines::after { transform: translateY(1px); }
.shift-menu-toggle:focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 6px; }
.shift-header.is-transparent:not(.is-menu-open):not(.is-sticky) .shift-menu-toggle { color: #fff; }

@media (min-width: 1001px) {
	.is-menu-open .shift-menu-toggle { transform: rotate(90deg); }
	.is-menu-open .shift-menu-toggle__lines { background-color: transparent; }
	.is-menu-open .shift-menu-toggle__lines::before,
	.is-menu-open .shift-menu-toggle__lines::after { top: 0; background-color: #000; }
	.is-menu-open .shift-menu-toggle__lines::before { transform: rotate(-45deg); }
	.is-menu-open .shift-menu-toggle__lines::after { transform: rotate(45deg); }
	.is-menu-open .shift-menu-toggle:hover .shift-menu-toggle__lines::before { transform: rotate(-50deg); background-color: #f5245f; }
	.is-menu-open .shift-menu-toggle:hover .shift-menu-toggle__lines::after { transform: rotate(50deg); background-color: #f5245f; }

	/* Header sticky: compare dall'alto dopo 85px di scroll. */
	.shift-header.is-sticky {
		position: fixed;
		top: var(--wp-admin--admin-bar--height, 0px);
		left: 0;
		right: 0;
		height: 60px;
		background: var(--wp--preset--color--base);
		box-shadow: 0 1px 3px rgba(0, 0, 0, 0.11);
		border-bottom: 0;
		animation: shift-sticky-in 0.3s var(--shift-ease);
	}
}
@keyframes shift-sticky-in {
	from { transform: translateY(-100%); }
	to { transform: none; }
}

/* Mobile: hamburger a sinistra, logo al centro, menu a tendina che spinge giù la pagina. */
@media (max-width: 1000px) {
	.shift-header-part,
	.shift-header { height: auto; }
	.shift-header { min-height: var(--shift-header-h); }
	.shift-header-part.is-overlay { position: relative; }
	.shift-header,
	.shift-header.is-transparent {
		padding: 0 45px;
		background: var(--wp--preset--color--base);
	}
	.shift-header::before { display: none; }
	.shift-header .shift-logo__dark { display: block !important; }
	.shift-header .shift-logo__light { display: none !important; }

	.shift-header .shift-header__bar { flex-wrap: wrap; row-gap: 0; height: auto; }
	.shift-header .shift-header__menu { display: contents; }
	.shift-menu-toggle {
		order: 1;
		width: 19px;
		height: 90px;
		color: #000 !important;
	}
	.shift-menu-toggle__lines::before { top: -6px; }
	.shift-menu-toggle__lines::after { top: 6px; }
	.shift-logo {
		position: absolute;
		top: calc(var(--shift-header-h) / 2);
		left: 50%;
		transform: translate(-50%, -50%);
	}
	.shift-logo img { height: 42px; }

	.shift-header .shift-nav {
		order: 2;
		flex-basis: 100%;
		height: auto;
		display: none;
	}
	.shift-header.is-menu-open .shift-nav { display: block; }
	.shift-nav .wp-block-navigation__container { flex-direction: column; align-items: stretch; height: auto; }
	.shift-nav .wp-block-navigation-item { height: auto; border-bottom: 1px solid var(--wp--preset--color--line); }
	.shift-nav .wp-block-navigation-item:last-child { border-bottom: 0; }
	.shift-nav .wp-block-navigation-item__content.wp-block-navigation-item__content {
		padding: 9px 0;
		font-family: var(--wp--preset--font-family--open-sans);
		font-size: 16px;
		font-weight: 400;
		line-height: 22.4px;
		letter-spacing: 0;
		color: #333;
	}
	.shift-nav.wp-block-navigation { padding-bottom: 9px; }
}

/* --------------------------------------------------------- Barra breadcrumb */

/* Altezza fissa con breadcrumb centrato, anche quando va su due righe (PitchWP). */
.shift-titlebar {
	display: flex;
	flex-direction: column;
	justify-content: center;
	box-sizing: border-box;
	height: 75px;
	padding: 0;
}
/* Negli articoli PitchWP ha 1px in più e 20px su mobile (dove il titolo va spesso a capo). */
.single .shift-titlebar { display: block; height: auto; padding: 25px 0 26px; }
.shift-titlebar > .shift-breadcrumbs { margin-block: 0; }
.shift-breadcrumbs {
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: 15px;
	font-weight: 500;
	line-height: 25px;
	letter-spacing: -1px;
	color: var(--wp--preset--color--ink);
}
.shift-breadcrumbs a { color: var(--wp--preset--color--ink); }
.shift-breadcrumbs a:hover { color: var(--wp--preset--color--accent-text); }
.shift-breadcrumbs__current { color: #777; }
@media (max-width: 480px) {
	.single .shift-titlebar { padding: 20px 0; }
}

/* ------------------------------------------------------------------ Pagine */

/* URL lunghi nel testo: vanno a capo invece di allargare la pagina su mobile. */
.shift-post-content a { overflow-wrap: anywhere; }

/* Testo nelle pagine come in PitchWP: nessun margine tra paragrafi, liste con punto interno. */
.wp-block-post-content :where(p, h1, h2, h3, h4, h5, h6) { margin-block: 0; }
.wp-block-post-content :where(ul, ol):not(.wp-block-gallery):not(.shift-iconlist) {
	margin: 0;
	padding: 0 0 28px 20px;
}

.shift-main--page,
.shift-main--single,
.shift-main--archive,
.shift-main--404 { padding-top: 44px; padding-bottom: 60px; }
/* Pagine semplici (contenuto WPBakery): in PitchWP il footer segue subito il contenuto. */
.shift-main--page.shift-main { padding-bottom: 0; }
/* PitchWP chiude l'articolo con due <br> (50px) prima del footer. */
.shift-main--single.shift-main { padding-bottom: 50px; }

/* ---------------------------------------------------------------- Articolo */

.shift-single { gap: 0; margin: 0; }
.shift-single > .wp-block-column { box-sizing: border-box; }
.shift-single__content { padding-right: 20px; }
.shift-single__sidebar { padding-left: 20px; }

.shift-post-category {
	margin: 0;
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: 17px;
	line-height: 31px;
	letter-spacing: -0.4px;
	color: #777;
}
.shift-post-category a { color: var(--wp--preset--color--accent-text); text-decoration: underline; }

.shift-post-title.wp-block-post-title {
	margin: 10px 0 0;
	padding-bottom: 28px;
	font-size: 34px;
	line-height: 40px;
	letter-spacing: -1.3px;
	color: var(--wp--preset--color--heading);
}
.shift-post-image { margin: 0 0 33px; }
.shift-post-image img { display: block; width: 100%; height: auto; }
/* 56px = 25px di fondo testo + 31px di margine dell'articolo in PitchWP. */
.shift-post-tags {
	margin: 56px 0 0;
	padding: 16px 0;
	border-top: 1px solid var(--wp--preset--color--line);
	border-bottom: 1px solid var(--wp--preset--color--line);
	font-size: 16px;
	line-height: 37.7px; /* PitchWP: prefisso inline-block su strut 16/25 */
	text-transform: capitalize;
}
.shift-post-tags .wp-block-post-terms__prefix {
	display: inline-block;
	margin-right: 4px;
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: 19px;
	letter-spacing: -0.4px;
	color: var(--wp--preset--color--subheading);
}
.shift-post-tags a { margin-left: 5px; font-size: 14px; color: var(--wp--preset--color--accent-text); text-decoration: underline; }
.shift-post-tags .wp-block-post-terms__separator { display: none; }
.shift-post-content > * + * { margin-block-start: 0; }
.shift-post-content p { margin: 0 0 25px; }
.shift-post-content li { margin-bottom: 15px; }
.shift-post-content pre.wp-block-code { margin: 15px 0; padding: 15px; background: #f6f6f6; white-space: pre-wrap; }
/* WPBakery: ".wpb_text_column :last-child { margin-bottom: 0 }" vale per ogni ultimo figlio dentro il testo. */
.shift-wpb-post .shift-post-content > :not(.wpcf7) :last-child { margin-bottom: 0; }
/* Ultimo elemento di un blocco di testo WPBakery (marcato dal convertitore). */
.shift-post-content > .shift-text-end { margin-bottom: 0; }
/* Senza tag: 25px di fondo testo + 31px di margine dell'articolo. */
.shift-single__content > .shift-post-content:last-child { margin-bottom: 56px; }
/* Negli articoli in HTML semplice resta anche il margine dell'ultimo paragrafo (25px). */
body:not(.shift-wpb-post) .shift-post-tags { margin-top: 81px; }
body:not(.shift-wpb-post) .shift-single__content > .shift-post-content:last-child { margin-bottom: 81px; }
:where(.shift-post-content) :where(h3, h4) { margin: 0; }
/* Come PitchWP: le parole lunghe nei titoli non vengono spezzate (core usa break-word). */
.shift-post-title.wp-block-post-title,
.shift-post-content .wp-block-heading { overflow-wrap: normal; word-break: normal; }
/* PitchWP: spazio sotto i titoli come padding, con -3px sopra. */
.shift-post-content h2 { margin: -3px 0 0; padding-bottom: 28px; }
/* Titoli interni sempre staccati: dopo tabelle, immagini e pulsanti lo stesso spazio dei paragrafi (25px). */
.shift-post-content > :is(figure, .wp-block-table, .wp-block-image, .wp-block-buttons):not(:last-child) { margin-bottom: 25px; }
/* H3/H4 con spazio sotto, come gli H2. */
.shift-post-content :is(h3, h4) { padding-bottom: 15px; }

.shift-sidebar-title.wp-block-heading {
	margin: 0 0 9px;
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: 20px;
	font-weight: 700;
	line-height: 31px;
	letter-spacing: -1px;
	text-transform: capitalize;
	color: var(--wp--preset--color--heading);
}

@media (max-width: 767px) {
	.wp-block-columns.shift-single { flex-wrap: wrap !important; }
	.shift-single > .wp-block-column { flex-basis: 100% !important; padding: 0; }
	.shift-single__sidebar { margin-top: 40px; }
}
@media (max-width: 600px) {
	.shift-post-title.wp-block-post-title,
	.shift-post-content h2 { margin-bottom: 20px; }
}
@media (min-width: 481px) and (max-width: 600px) {
	.wp-block-columns.shift-single > .shift-single__content { padding: 30px; }
	/* L'immagine in evidenza resta fuori dal padding del testo. */
	.shift-single__content > .shift-post-image { margin: -30px -30px 63px; }
}
@media (max-width: 480px) {
	.wp-block-columns.shift-single > .shift-single__content { padding: 25px 25px 50px; }
	.shift-single__content > .shift-post-image { margin: -25px -25px 58px; }
	.shift-post-title.wp-block-post-title,
	.shift-post-content h2 { margin-bottom: 15px; }
	/* + padding del contenitore (25px) e margine dei tag su mobile (35px). */
	.shift-post-tags { margin-top: 116px; }
	body:not(.shift-wpb-post) .shift-post-tags { margin-top: 141px; }
	.shift-single__content > .shift-post-content:last-child { margin-bottom: 81px; }
	body:not(.shift-wpb-post) .shift-single__content > .shift-post-content:last-child { margin-bottom: 131px; }
	.wp-block-columns.shift-single > .shift-single__sidebar { margin-top: 0; padding-bottom: 50px; }
	.shift-main--single.shift-main { padding-bottom: 0; }
}

/* ---------------------------------------------------------------- Archivio */

.shift-main--archive { padding-bottom: 0; }
.shift-archive__list { margin: 0; }
.shift-archive__list > li {
	margin: 0 0 45px;
	padding-bottom: 30px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.shift-archive__list > li > * { margin-block: 0; }
.shift-archive__list .shift-archive__image { margin-bottom: 38px; }
.shift-archive__image img { display: block; width: 100%; height: auto; }

.shift-archive__meta.wp-block-group {
	gap: 0;
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: 17px;
	line-height: 31px;
	letter-spacing: -0.4px;
	color: #777;
}
.shift-archive__date { padding-right: 5px; }
.shift-archive__category { padding-left: 5px; }
.shift-archive__category::before { content: "/"; }
.shift-archive__category a { color: var(--wp--preset--color--accent-text); text-decoration: underline; }

.shift-archive__list .shift-archive__title {
	margin-top: -3px;
	padding-bottom: 23px;
	font-size: 34px;
	line-height: 40px;
	letter-spacing: -1.3px;
	color: var(--wp--preset--color--heading);
}
.shift-archive__title a { color: inherit; text-decoration: none; }
.shift-archive__title a:hover { color: var(--wp--preset--color--accent-text); }

.shift-archive__excerpt p { margin: 0; }

.shift-archive__list .shift-archive__more,
.shift-404__button .wp-block-button__link {
	display: inline-block;
	padding: 0 25px;
	border: 1px solid var(--wp--preset--color--accent-text);
	border-radius: 2px;
	background: var(--wp--preset--color--accent-text);
	color: var(--wp--preset--color--base);
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: 12px;
	line-height: 43px;
	letter-spacing: 1px;
	text-transform: uppercase;
	text-decoration: none;
}
.shift-archive__list .shift-archive__more { margin: 40px 0 25px; }
.shift-archive__more:hover,
.shift-404__button .wp-block-button__link:hover { background: var(--wp--preset--color--base); color: var(--wp--preset--color--accent-text); }

.shift-pagination.wp-block-query-pagination {
	gap: 0;
	margin: 55px 0 50px; /* 10px + i 45px dell'ultimo articolo, che qui collassano */
	padding: 0 0 28px 20px;
}
.shift-pagination .wp-block-query-pagination-numbers { display: flex; margin: 0; }
.shift-pagination :is(.page-numbers, .shift-pagination__arrow) {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 46px;
	height: 46px;
	margin: 0 2px 4px 0;
	border: 1px solid var(--wp--preset--color--surface);
	background: var(--wp--preset--color--surface);
	color: #333;
	font-size: 15px;
	text-decoration: none;
}
.shift-pagination .page-numbers.current,
.shift-pagination a:hover {
	border-color: var(--wp--preset--color--accent-text);
	background: var(--wp--preset--color--accent-text);
	color: var(--wp--preset--color--base);
}
.shift-pagination__arrow svg { width: 15px; height: 15px; }

@media (max-width: 600px) {
	.shift-archive__list .shift-archive__title { margin-bottom: 20px; }
}
@media (max-width: 480px) {
	.shift-archive__list .shift-archive__title { margin-bottom: 15px; }
}

/* --------------------------------------------------------------------- 404 */

.shift-main--404.shift-main { padding-top: 118px; padding-bottom: 120px; }
@media (max-width: 1024px) {
	.shift-main--404.shift-main { padding-top: 162px; }
}
.shift-main--404 > * { margin-block: 0; }
.shift-404__title.wp-block-heading {
	font-size: 34px;
	line-height: 40px;
	letter-spacing: -1.3px;
	color: var(--wp--preset--color--heading);
}
.shift-main--404 .shift-404__text.wp-block-heading {
	margin: 30px 0 70px;
	font-family: var(--wp--preset--font-family--open-sans);
	font-size: 19px;
	font-weight: 300;
	line-height: 29px;
	letter-spacing: normal;
	color: var(--wp--preset--color--muted);
}
.shift-404__button .wp-block-button__link { padding: 0 28px; }

/* ------------------------------------------------------------------ Footer */

.shift-footer {
	padding: 83px 96px 77px;
	font-size: 14px;
	line-height: 23px;
}
.shift-footer a,
.shift-footer .wp-block-navigation-item__content.wp-block-navigation-item__content { color: var(--wp--preset--color--base); }
.shift-footer a:hover,
.shift-footer .wp-block-navigation-item__content.wp-block-navigation-item__content:hover { color: var(--wp--preset--color--accent); }
.shift-footer p { margin: 0; }
.shift-footer strong { font-weight: 700; }
.shift-footer__cols { gap: 0 !important; margin: 0; }
.shift-footer__col { box-sizing: border-box; }
/* Come PitchWP: due metà, la prima divisa in due colonne con 10px di spazio. */
.shift-footer .shift-footer__col:nth-child(1) { flex-basis: calc(25% - 5px) !important; padding: 0 10px 40px 0; }
.shift-footer .shift-footer__col:nth-child(2) { flex-basis: calc(25% + 5px) !important; }
.shift-footer .shift-footer__col:nth-child(3) { flex-basis: 50% !important; }
.shift-footer__logo img { max-width: 100%; }
.shift-footer__col + .shift-footer__col { padding-left: 10px; }
.shift-footer__col > * { margin-block: 0; }
.shift-footer__logo { margin: 0 0 26px !important; }
.shift-footer__col--contacts p + p { margin-top: 20px; }
.shift-footer__partner { display: inline-block; margin-top: 30px; }
/* Larga quanto la riga più lunga dei contatti (l'email). */
.shift-footer__partner img { display: block; width: 187px; max-width: 100%; height: auto; }

.shift-footer__title.wp-block-heading {
	margin: 0 0 40px;
	font-family: var(--wp--preset--font-family--open-sans);
	font-size: 23px;
	font-weight: 700;
	line-height: 26px;
	letter-spacing: -0.4px;
	text-transform: capitalize;
	white-space: nowrap;
	color: var(--wp--preset--color--base);
}
.shift-footer__nav .wp-block-navigation__container { gap: 0; }
.shift-footer__nav .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--open-sans);
	font-size: 14px;
	font-weight: 400;
	line-height: 23px;
	letter-spacing: 0;
}

/* Elenco con icone ("Perché sceglierci?") */
.shift-iconlist {
	margin: 5px 0 0 !important;
	padding: 0;
	list-style: none;
}
.shift-iconlist li {
	position: relative;
	padding: 4px 10px 4px 28px;
	line-height: 44px;
	border-bottom: 1px solid #35363d;
}
.shift-iconlist li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 18px;
	height: 18px;
	margin-top: -9px;
	background-color: var(--wp--preset--color--base);
	-webkit-mask: var(--shift-icon) center / contain no-repeat;
	mask: var(--shift-icon) center / contain no-repeat;
}
.shift-iconlist .is-icon-star { --shift-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linejoin='round'%3E%3Cpath d='M12 2.8l2.85 5.78 6.38.93-4.62 4.5 1.09 6.35L12 17.36l-5.7 3 1.09-6.35-4.62-4.5 6.38-.93z'/%3E%3C/svg%3E"); }
.shift-iconlist .is-icon-layers { --shift-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linejoin='round'%3E%3Cpath d='M12 3l9.5 5L12 13 2.5 8z'/%3E%3Cpath d='M2.5 12L12 17l9.5-5'/%3E%3Cpath d='M2.5 16L12 21l9.5-5'/%3E%3C/svg%3E"); }
.shift-iconlist .is-icon-heart { --shift-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linejoin='round'%3E%3Cpath d='M12 20.5S3 15 3 8.9A4.9 4.9 0 0 1 12 6a4.9 4.9 0 0 1 9 2.9C21 15 12 20.5 12 20.5z'/%3E%3C/svg%3E"); }

@media (max-width: 767px) {
	.shift-footer { padding-bottom: 80px; text-align: center; }
	.shift-footer .shift-footer__title { margin-bottom: 20px; }
	.shift-footer__cols { flex-direction: column; }
	.shift-footer .shift-footer__col,
	.shift-footer .shift-footer__col + .shift-footer__col { flex-basis: auto !important; padding: 0; }
	.shift-footer .shift-footer__col--contacts { margin-bottom: 27px; padding-right: 0; }
	.shift-footer .shift-footer__col:nth-child(2) { margin-bottom: 103px; }
	.shift-footer__logo { margin-inline: auto !important; }
	.shift-footer__logo img { margin-inline: auto; }
	.shift-footer .shift-footer__nav,
	.shift-footer__nav .wp-block-navigation__container { align-items: center; }
	.shift-footer .shift-iconlist { margin-top: 22px !important; }
	.shift-iconlist li { padding: 4px 0 0 23px; }
}
@media (max-width: 480px) {
	.shift-footer { padding-inline: 25px; }
}

/* Torna su */
.shift-to-top {
	position: fixed;
	right: 21px;
	bottom: 65px;
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	background: #326698;
	color: var(--wp--preset--color--base) !important;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.15s ease-out, visibility 0.15s ease-out, background-color 0.15s ease-out;
}
.shift-to-top.is-visible { opacity: 1; visibility: visible; }
.shift-to-top:hover { background: var(--wp--preset--color--heading); }

/* ----------------------------------------------------- Contact Form 7 */
/* Stile base (moduli "default" e sidebar): campi compatti da 40px. */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 10px 17px;
	border: 1px solid #e1e1e1;
	border-radius: 0;
	background: var(--wp--preset--color--base);
	font-family: var(--wp--preset--font-family--open-sans);
	font-size: 13.33px;
	line-height: 18px;
	color: var(--wp--preset--color--muted);
	outline: 0;
}
.wpcf7 textarea { height: 212px; padding-top: 15px; padding-bottom: 15px; resize: vertical; }
.wpcf7 :is(input, textarea):focus { border-color: var(--wp--preset--color--accent); }
.wpcf7 ::placeholder { color: var(--wp--preset--color--muted); opacity: 1; }
.wpcf7-form p { margin: 0; }
.wpcf7 input[type="submit"] {
	height: 43px;
	padding: 0 28px;
	border: 1px solid var(--wp--preset--color--accent-text);
	border-radius: 0;
	background: var(--wp--preset--color--accent-text);
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: 12px;
	line-height: 41px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--wp--preset--color--base);
	cursor: pointer;
	transition: background-color 0.2s ease-out, border-color 0.2s ease-out;
}
.wpcf7 input[type="submit"]:hover { background: var(--wp--preset--color--ink); border-color: var(--wp--preset--color--ink); }
.wpcf7 .wpcf7-list-item { margin: 0; }

/* Stile "cf7_custom_style_2" (Contatti e landing): campi da 50px distanziati. */
.cf7_custom_style_2 :is(input[type="text"], input[type="email"], input[type="tel"], textarea) {
	margin-bottom: 18px;
	padding: 15px 0 15px 21px;
	font-size: 14px;
}
.cf7_custom_style_2 textarea { height: 280px; }
.cf7_custom_style_2 input[type="submit"] { height: 50px; padding: 0 41px; line-height: 48px; letter-spacing: 0.5px; }

/* Sidebar articolo: paragrafi distanziati come nel tema originale. */
.shift-single__sidebar .wpcf7-form p { margin: 0 0 25px; font-size: 14px; color: var(--wp--preset--color--muted); text-transform: capitalize; }
.shift-single .wpcf7 input[type="submit"] { box-sizing: content-box; line-height: 43px; }
.shift-single .wpcf7 textarea { vertical-align: middle; }
.shift-post-content .wpcf7-form p { margin: 0 0 25px; }

/* Citazioni come in PitchWP: Georgia corsivo, senza bordo. */
.wp-block-post-content .wp-block-quote { margin: 20px 0; padding: 0; border: 0; font-size: 17px; font-style: italic; }
.wp-block-quote p { font-family: Georgia, serif; font-size: 22px; line-height: 35px; color: var(--wp--preset--color--ink); }
