/*
 * progetti.soimm.com: stili del sito (misurati sul sito Astra 4.13 + Elementor 4.1 dismesso).
 *
 * Breakpoint: Elementor 1024 (tablet) e 767 (mobile) per le sezioni; Astra 921 (menu mobile e
 * dimensioni "tablet" dei titoli), 768 e 544 per tipografia e logo. Sotto 768 px Astra riduce
 * html a 85,5% (1rem = 13,68 px): le misure in rem/em qui sotto riproducono lo stesso
 * ridimensionamento.
 *
 * Classi:
 *  pr-sec / pr-con / pr-col / pr-w   sezione, contenitore 1140, colonna, blocco (come section,
 *                                    container, column, widget di Elementor)
 *  pr-h                              titolo con le regole dei widget heading di Elementor
 *  pr-text, pr-card, pr-formcard     testi, card bianche, card con il modulo
 */

/* ---------------------------------------------------------------- Base (Astra) */
html { font-size: 93.75%; }
@media (max-width: 768px) { html { font-size: 85.5%; } }
body { font-size: 1rem; line-height: 1.85714286; }
h1, h2, h3, h4, h5, h6 { font-weight: 800; color: #000f23; text-transform: capitalize; }
h1 { font-size: 5.3333333rem; line-height: 1.4em; }
h2 { font-size: 2.3333333rem; line-height: 1.3em; }
h3 { font-size: 1.6666667rem; line-height: 1.3em; }
h4 { font-size: 1.3333333rem; line-height: 1.2em; }
h5 { font-size: 1.2rem; line-height: 1.2em; }
h6 { font-size: 1rem; line-height: 1.25em; }
@media (max-width: 768px) {
	h1 { font-size: 3.3333333rem; }
	h3 { font-size: 1.4666667rem; }
}
@media (max-width: 544px) {
	h1 { font-size: 2.6666667rem; }
}
p { margin-bottom: 1.6em; }
small { font-size: 80%; }
.p2w-btn, .wp-block-button__link { font-size: 1.0666667rem; }

/* ---------------------------------------------------------------- Header */
.site-header__inner { min-height: 0; gap: 0; padding-top: 15px; padding-bottom: 15px; }
.custom-logo-link { padding-top: 22px; }
.custom-logo-link img { width: 225px; max-width: 225px; }
.main-navigation a { padding: 0 15px; line-height: 3em; }
.site-header__button--desktop {
	margin: 0 15px;
	padding: 10px 20px; /* stile "theme-button" di Astra: 10/20, non il padding del bottone personalizzato */
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
}
.site-header__button--desktop:hover, .site-header__button--desktop:focus { background: #e04700; color: #fff; }
/* Header trasparente: voce attiva e passaggio del mouse verdi (CSS aggiuntivo di Astra). */
.p2w-header-transparent .site-header .main-navigation .menu > li > a:hover,
.p2w-header-transparent .site-header .main-navigation .menu > li:focus-within > a,
.p2w-header-transparent .site-header .main-navigation .current-menu-item > a,
.p2w-header-transparent .site-header .main-navigation .current-menu-ancestor > a { color: #79be56 !important; }

/* Menu mobile (Astra: sotto 921 px). Pulsante bianco con icona nera, voci scure su fondo chiaro. */
@media (max-width: 921px) {
	.menu-toggle {
		width: 45px;
		height: 47.3px;
		padding: 0 11.25px;
		border-radius: 3px;
		background: #fff;
		color: #000;
	}
	.p2w-header-transparent .site-header:not(.is-stuck) .menu-toggle { color: #000; }
	.menu-toggle svg { width: 22.5px; height: 22.5px; }
	.p2w-menu-open .site-header__inner { padding-bottom: 0; }
	.p2w-mobile-menu--dropdown .main-navigation__panel {
		background: #f9f9f9;
		border-top: 1px solid #eaeaea;
		box-shadow: none;
		max-height: none;
	}
	.main-navigation__panel .menu > li { border-top: 0; }
	.main-navigation__panel .menu a {
		padding: 0 20px;
		border-bottom: 1px solid #eaeaea;
		color: #1d1e1d;
		font-size: 15px;
		line-height: 45px;
	}
	.main-navigation__panel .menu .current-menu-item > a,
	.main-navigation__panel .menu a:hover,
	.main-navigation__panel .menu a:focus { color: #79be56; }
}
@media (max-width: 768px) {
	.custom-logo-link { padding-top: 0; }
	.custom-logo-link img { width: 220px; max-width: 220px; }
	.site-header__inner { padding-top: 1rem; padding-bottom: 1rem; }
	.menu-toggle { width: 41px; height: 43.1px; padding: 0 10.26px; }
	.menu-toggle svg { width: 20.5px; height: 20.5px; }
	.main-navigation__panel .menu a { font-size: 2rem; line-height: 3em; }
}
@media (max-width: 544px) {
	/* Astra: larghezza mobile 170 (header trasparente, ricerca, archivi; misurato 1.0.1), sulla 404 resta 225. */
	.custom-logo-link img { width: 170px; max-width: 170px; }
	.error404 .custom-logo-link img { width: 225px; max-width: 225px; }
}

/* ---------------------------------------------------------------- Footer (small footer Astra, layout 2) */
.site-footer__inner { gap: 0 40px; padding-top: 2.66666em; padding-bottom: 2.66666em; align-items: center; }
.site-footer__credits, .site-footer__menu { flex: 1 1 0; min-width: 0; }
.site-footer__menu { text-align: right; }
.site-footer__menu ul { display: block; }
.site-footer__menu li { display: inline; } /* voci in linea con lo spazio tra una e l'altra, come in Astra */
.site-footer__menu a { padding-left: 15px; }
.site-footer__bottom { padding-bottom: 20px; font-size: 13px; }
/* 1.0.1: con "Soimm Srl Unipersonale" (prima "Soimm s.r.l.") la prima riga del footer e' ~90 px piu' lunga.
 * Da 991 px, dove in Astra stava su una riga, resta su una riga: la colonna del testo prende la larghezza
 * del contenuto e quella del menu il resto (menu allineato a destra, quindi nella stessa posizione). */
@media (min-width: 991px) {
	.site-footer__credits { flex: 0 1 auto; }
	.site-footer__credits .p2w-nowrap { white-space: nowrap; }
}
@media (max-width: 768px) {
	.site-footer__inner { text-align: center; padding-top: 2em; padding-bottom: 2em; }
	.site-footer__menu { margin-top: 1em; text-align: center; }
	.site-footer__menu a { padding: 0 .5em; }
}
@media (max-width: 767px) {
	.site-footer__inner { flex-direction: column; align-items: stretch; gap: 0; }
	.site-footer__menu { align-self: flex-start; max-width: 100%; } /* come Astra: blocco largo quanto il menu */
}
/* 1.0.2: la riga delle pagine legali, l'ultima della pagina, non deve finire sotto i pulsanti fissi:
   WhatsApp (Joinchat) a sinistra fino a 88 px (74 su mobile), chat SOIMM e "torna su" a destra
   (da 84 px dal bordo). Sopra 1383 px il contenitore parte gia' oltre i pulsanti. */
@media (max-width: 1383px) { .site-footer__legal { padding-left: 76px; } }
@media (max-width: 767px) { .site-footer__legal { padding-left: 64px; padding-right: 72px; } }

/* Torna su (Astra: 2.1em, a destra, verde). */
.p2w-scroll-top { right: 30px; bottom: 30px; width: 2.1em; height: 2.1em; border-radius: 2px; }
.p2w-scroll-top svg { width: 1em; height: 1em; }

/* ---------------------------------------------------------------- Struttura delle sezioni (Elementor) */
.pr-sec.p2w-section { padding-top: 0; padding-bottom: 0; }
.pr-sec { position: relative; }
.pr-con { flex-wrap: nowrap; }
.pr-col { display: flex; flex-direction: column; justify-content: flex-start; width: 100%; }
.pr-con--nogap > .pr-col { padding: 0; }
.pr-con--middle > .pr-col { justify-content: center; }
.pr-w { position: relative; width: 100%; }
.pr-col > .pr-w:not(:last-child), .pr-card > .pr-w:not(:last-child) { margin-bottom: 20px; }
.pr-h { margin: 0; padding: 0; line-height: 1; }
h4.pr-h, h5.pr-h { line-height: 1.2em; }
h6.pr-h { line-height: 1.25em; }
.pr-h--none { text-transform: none; }
.pr-green { color: #349145; }
.pr-text p { margin: 0 0 1.6em; }
@media (max-width: 1024px) {
	.pr-con { flex-wrap: wrap; }
}
@media (max-width: 767px) {
	.pr-con > .pr-col { width: 100%; }
}

/* ---------------------------------------------------------------- Hero (Home e Contatti) */
.pr-hero {
	background-color: #fff;
	background-image: var(--pr-bg);
	background-position: center center;
	background-size: cover;
}
.pr-hero--contatti { background-repeat: no-repeat; }
@media (min-width: 1025px) { .pr-hero--contatti, .pr-formsec { background-attachment: fixed; } }

.pr-hero--home .pr-hero__main { width: 65%; padding: 16.25% 6.5% 2.6% 0; }
.pr-hero--home .pr-hero__main > .pr-w { margin-bottom: 0; } /* colonna con spazio tra i blocchi 0 */
.pr-hero--home .pr-hero__side { width: 35%; padding: 170px 0 0; justify-content: flex-end; }
.pr-hero__kicker h2 { font-size: 2em; color: #79be56; }
.pr-hero__title { margin-top: 30px; }
.pr-hero__title h3 { font-size: 3.6em; line-height: 1.2em; letter-spacing: .3px; color: #fff; }
.pr-divider { display: flex; padding: 25px 0; }
.pr-divider span { display: block; width: 50px; border-top: 5px solid #79be56; }
.pr-hero__text { padding: 20px; background: rgba(255, 255, 255, .77); color: #000; font-size: 1.4em; line-height: 1.85714286; }
.pr-hero__text a { color: #349145 !important; }
.pr-hero__cta { margin-top: 9px; }
.pr-btn--hero {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	padding: 15px 30px;
	border-radius: 4px;
	font-weight: 600;
	letter-spacing: -.5px;
	text-transform: uppercase;
	box-shadow: 0 0 20px 0 rgba(0, 15, 35, .12);
}
.pr-btn__icon { width: .875em; height: 1em; flex: 0 0 auto; }
.pr-hero__badge { margin-bottom: 40px; text-align: right; line-height: 0; }
.pr-hero__badge img { width: 500px; max-width: 100%; height: auto; }

.pr-hero--contatti.p2w-section { padding-top: 30px; }
.pr-hero--contatti .pr-hero__main { width: 60%; padding: 9% 6% 3% 0; }
.pr-hero__kicker-green { color: #349145; text-transform: none; }
.pr-hero__h1 { margin-top: 30px; }
.pr-hero__h1 h1 { font-size: 3.6em; color: #fff; }
/* Colonna senza blocchi: in Elementor padding e margini non si applicavano, conta solo lo sfondo. */
.pr-hero__photo {
	width: 40%;
	padding: 0 !important;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}
.pr-shape-arrow svg { height: auto; }

@media (max-width: 1024px) {
	.pr-hero.pr-sec.p2w-section { padding: 125px 50px 0; }
	.pr-hero--home .pr-hero__main, .pr-hero--contatti .pr-hero__main { width: 65%; padding: 0 10px 50px 0; }
	.pr-hero--home .pr-hero__side, .pr-hero__photo { width: 35%; padding: 0; }
}
@media (max-width: 767px) {
	.pr-hero.pr-sec.p2w-section { padding: 150px 25px 0; }
	.pr-hero--home { background-repeat: no-repeat; }
	.pr-hero--home .pr-hero__main, .pr-hero--contatti .pr-hero__main { width: 100%; padding: 0; }
	.pr-hero--home .pr-hero__side { width: 100%; margin-top: 50px; }
	.pr-hero__photo { width: 100%; }
	.pr-hero__main .pr-w { text-align: center; }
	.pr-hero__kicker h2 { font-size: 1.5em; }
	.pr-hero__title h3 { font-size: 2.3em; }
	.pr-divider { padding: 15px 0; justify-content: center; }
	.pr-hero__text { padding: 5px; line-height: 1.7em; }
	.pr-hero__cta { margin-top: 50px; }
	.pr-hero__badge { text-align: center; }
	.pr-hero__badge img { width: 250px; }
}

/* ---------------------------------------------------------------- Fascia corsiva (Satisfy) */
.pr-fascia { background-color: #f1f1f1; }
.pr-fascia.p2w-section { padding: 40px 0; }
.pr-fascia__text {
	font-family: Satisfy, sans-serif;
	font-size: 2.9em;
	font-weight: 700;
	line-height: 1.3em;
	letter-spacing: -.5px;
	color: #349145;
	text-align: center;
}
.pr-fascia__text p { margin-bottom: 25px; }

/* ---------------------------------------------------------------- Consulenze: card Venditori e Acquirenti */
.pr-consulenze.p2w-section { padding-top: 125px; padding-bottom: 100px; }
.pr-cards { display: flex; margin-top: 80px; }
.pr-card {
	display: flex;
	flex-direction: column;
	flex: 1 1 0;
	min-width: 0;
	margin: -20px 20px 40px;
	padding: 30px;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 0 35px 0 rgba(93, 114, 128, .15);
}
.pr-card__title { color: #349145; }
.pr-card__text { margin-bottom: 20px; font-size: 16px; color: #000; text-align: start; }
@media (max-width: 1024px) {
	.pr-consulenze.p2w-section { padding: 80px 30px; }
	.pr-cards > .pr-card--acquirenti { margin: 0 20px 20px; }
}
@media (max-width: 767px) {
	.pr-consulenze.p2w-section { padding: 50px 20px; }
	.pr-cards { flex-direction: column; margin-top: 80px; padding-top: 15px; }
	.pr-cards > .pr-card { margin: 0; }
	.pr-cards > .pr-card--venditori { margin-bottom: 30px; }
	.pr-card--venditori > .pr-w:not(:last-child) { margin-bottom: 0; }
}

/* ---------------------------------------------------------------- I nostri obiettivi */
.pr-obiettivi { background-color: #f1f1f1; }
.pr-obiettivi.p2w-section { padding: 73px 0 26px; }
.pr-obiettivi .pr-card { flex: 0 0 auto; width: calc(100% - 40px); }
@media (max-width: 1024px) {
	/* Come oggi: in Elementor la colonna e' larga il 50% sui tablet. */
	.pr-obiettivi .pr-card { width: calc(50% - 40px); }
}
@media (max-width: 767px) {
	.pr-obiettivi.p2w-section { padding: 40px 20px; }
	.pr-obiettivi .pr-card { width: 100%; margin: 0; }
}

/* ---------------------------------------------------------------- Sezione con il modulo (Home) */
.pr-formsec {
	background-image: var(--pr-bg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
.pr-formsec.p2w-section { padding: 125px 0 0; }
.pr-formsec__foto { width: 50%; margin-top: -27px; justify-content: flex-end; }
.pr-formsec__img { text-align: right; line-height: 0; }
.pr-formsec__img img { width: 500px; height: auto; filter: brightness(109%) contrast(78%); }
.pr-formsec__card {
	width: calc(50% - 40px);
	margin-left: 40px;
	padding: 50px !important;
	border-radius: 20px 20px 0 0;
	background: #fff;
}
@media (max-width: 1024px) {
	.pr-formsec.p2w-section { padding: 80px; }
	.pr-formsec__card { width: 100%; margin-left: 0; border-radius: 20px; }
}
@media (max-width: 767px) {
	.pr-formsec.p2w-section { padding: 50px 25px 0; }
	.pr-formsec__con { flex-direction: column-reverse; }
	.pr-formsec__foto { width: 100%; margin-top: 50px; }
	.pr-formsec__img { text-align: center; }
	.pr-formsec__img img { width: 250px; }
	.pr-formsec__card { padding: 30px !important; border-radius: 40px; }
}

/* Titoli della card con il modulo (Home e Contatti) */
.pr-formcard__title { text-transform: none; }
.pr-formcard__title-wrap { padding-bottom: 35px; }

/* ---------------------------------------------------------------- Contatti: recapiti e modulo */
.pr-recapiti { margin: 30px 0; }
.pr-recapiti__dati { width: calc(50% - 40px); margin: 0 20px; padding: 0 !important; }
.pr-recapiti__modulo {
	width: calc(50% - 40px);
	margin: 0 20px;
	padding: 0 !important;
	border-radius: 20px 20px 0 0;
	background: #fff;
}
@media (max-width: 1024px) {
	.pr-recapiti__modulo { width: 100%; margin: 0; padding: 50px !important; border-radius: 20px; }
}
@media (max-width: 767px) {
	.pr-recapiti__dati { width: calc(100% - 40px); }
	.pr-recapiti__modulo { padding: 30px !important; border-radius: 40px; }
}
.pr-mappa .p2w-embed { height: 340px; }

/* ---------------------------------------------------------------- Modulo (come WPForms 1.10 "modern" + Astra) */
.pr-formcard__form .p2w-form-wrap { margin-bottom: 26px; }
.p2w-form__grid { display: block; }
.p2w-field { padding: 10px 0; }
.p2w-field__label { margin: 0; font-size: 14px; font-weight: 700; line-height: 20px; color: #3a3a3a; }
.p2w-req { color: #ff0000; font-weight: 400; }
.p2w-form legend.p2w-field__label { width: 100%; }
.p2w-form input[type="text"], .p2w-form input[type="email"], .p2w-form input[type="tel"], .p2w-form input[type="number"] {
	display: block;
	height: 40px;
	padding: 0 16px;
	border: 1px solid #ddd;
	border-radius: 4px;
	background: #fff;
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05);
	color: #475569;
	font-size: 16px;
	line-height: 24px;
}
.p2w-form input::placeholder { color: #9ca3af; opacity: 1; }
.p2w-form .p2w-check { display: block; margin: 0; font-size: 1rem; line-height: 1.85714286; }
.p2w-form .p2w-check input { display: inline-block; width: 13px; height: 13px; margin: 2px 6px 0 3px; vertical-align: baseline; } /* 6 px + lo spazio = 10 px come WPForms */
.p2w-form .p2w-field--privacy .p2w-check { line-height: 20px; }
.p2w-form .p2w-check > span { font-size: 14px; line-height: 20px; color: #3a3a3a; }
.p2w-form__actions { margin-top: 0; padding-top: 10px; }
.p2w-form__submit { font-size: 1.0666667rem; box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05); }

/* ---------------------------------------------------------------- Pagina 404 (layout Astra "separate container") */
.error404 { background: #f5f5f5; }
.error404 .site-header { background: #fff; }
.pr-404 { width: 100%; max-width: 1240px; margin: 0 auto; padding: 60px 20px; }
.pr-404__box { padding: 5.34em 6.67em; background: #fff; text-align: center; }
.pr-404__title { margin: 0; font-size: 80px; font-weight: 400; line-height: 1.2; color: #79be56; text-transform: none; }
.pr-404__sub { margin: 1em 0 0; font-size: 1.5rem; font-weight: 700; line-height: 1.85714286; color: #41494f; }
.pr-404 .search-form { position: relative; display: block; max-width: 370px; margin: 2em auto 0; }
.pr-404 .search-field { width: 100%; padding: 12px 45px 12px 15px; border: 1px solid #ddd; border-radius: 2px; background: transparent; color: #666; line-height: normal; }
.pr-404 .search-submit { position: absolute; top: 0; right: 0; width: 45px; height: 100%; padding: 0; border: 0; background: transparent; color: #000; cursor: pointer; }
@media (max-width: 1200px) { .pr-404__box { padding: 3.34em 2.4em; } }
@media (max-width: 768px) {
	.pr-404 { padding: 1.5em 20px; }
	.pr-404__box { padding: 1.5em 2.14em; }
	.pr-404__title { font-size: 50px; }
}
@media (max-width: 544px) {
	.pr-404 { padding: 1.5em .54em; }
	.pr-404__box { padding: 1.5em 1em; }
	.pr-404__title { font-size: 40px; }
}

/* ---------------------------------------------------------------- Ricerca e archivi (1.0.1, layout Astra "separate container") */
/* Valori misurati sulla ricerca e sulla categoria di Astra a 1440, 1024 e 390 px. */
.search, .archive { background: #f5f5f5; }
.search .site-header, .archive .site-header { background: #fff; }
.pr-arch { width: 100%; max-width: 1240px; margin: 0 auto; padding: 60px 20px; }
.pr-arch__head { padding: 3em; background: #fff; }
.pr-arch__title { margin: 0 0 4px; font-size: 2.85714286em; font-weight: 300; line-height: 1.4; color: #79be56; text-transform: capitalize; }
.pr-arch__head--archive .pr-arch__title { font-size: 2.6666667rem; } /* 40 px, 36,48 px sotto 768 come Astra */
.pr-arch__head .archive-description { margin-top: 1em; }
.pr-arch__post, .pr-arch__none { padding: 5.34em 6.67em; background: #fff; }
.pr-arch__post-title { margin: 0 0 .2em; font-size: 2em; font-weight: 400; line-height: 1.23; color: #000f23; text-transform: capitalize; }
.pr-arch__post-title a { color: #41494f; text-decoration: none; }
.pr-arch__post-title a:hover, .pr-arch__post-title a:focus { color: #79be56; }
.pr-arch__excerpt { margin-top: 1em; } /* in Astra qui c'era la riga dell'autore (22 px), tolta */
.pr-arch__excerpt p { margin: 0; }
.pr-arch__more { margin: 1.5em 0 .8em; }
.pr-arch__more a { display: inline-block; color: #79be56; text-decoration: none; }
.pr-arch__more a:hover, .pr-arch__more a:focus { color: #588b3e; }
.pr-arch__none .page-content p { margin: 0 0 1.75em; }
.pr-arch .navigation { margin-top: 2em; }
.pr-search { display: block; max-width: none; margin: 0; }
.pr-search label { display: inline; }
.pr-search .search-field { display: inline-block; width: auto; max-width: 100%; padding: .75em; border: 1px solid #ddd; border-radius: 2px; background: #fafafa; color: #666; font-size: 1em; line-height: 1; vertical-align: middle; box-shadow: none; }
.pr-search .search-submit { display: inline-block; width: auto; padding: 10px 20px; border: 0; border-radius: 3px; background: #79be56; color: #fff; font-family: inherit; font-size: 1.0666667em; font-weight: 700; line-height: 1; vertical-align: middle; cursor: pointer; }
.pr-search .search-submit:hover, .pr-search .search-submit:focus { background: #349145; }
/* Ricerca senza risultati: in Astra il bottone ha altre misure (body.search) e il modulo 3em sotto. */
.search .pr-search { margin-bottom: 3em; }
.search .pr-search .search-submit { padding: 10px 15px; border-radius: 2px; line-height: 1.85714286; }
@media (max-width: 1200px) { .pr-arch__post, .pr-arch__none { padding: 3.34em 2.4em; } }
@media (max-width: 768px) {
	.pr-arch { padding: 1.5em 20px; }
	.pr-arch__post, .pr-arch__none { padding: 1.5em 2.14em; }
}
@media (max-width: 544px) {
	.pr-arch { padding: 1.5em .54em; }
	.pr-arch__post, .pr-arch__none { padding: 1.5em 1em; }
}
/* Come Astra: il footer segue il contenuto (nessun footer "incollato" in fondo alla finestra). */
.site { min-height: 0; }

/* ---------------------------------------------------------------- Pagine semplici (es. pagine legali) */
.entry-content:not(.entry-content--full) h2 { font-size: 1.6666667rem; line-height: 1.3; margin-top: 1.5em; text-transform: none; }
.entry-content:not(.entry-content--full) h3 { font-size: 1.3333333rem; line-height: 1.3; margin-top: 1.2em; text-transform: none; }
.entry-content:not(.entry-content--full) ul { margin-left: 1.5em; }
.entry-header .entry-title { font-size: 2rem; line-height: 1.2; } /* Astra: titolo pagina 30 px */
.entry-content:not(.entry-content--full) table { display: block; overflow-x: auto; }
.entry-content:not(.entry-content--full) td { overflow-wrap: anywhere; }
.entry-content:not(.entry-content--full) .pr-da-completare { background: #fff3a8; font-weight: 700; }

/* 1.0.3 (19/10/2026): su mobile la riga legale resta sopra etichetta e pulsante fissi della chat SOIMM (arrivano a ~92 px dal fondo), cosi' Privacy, Cookie policy, Note legali e Preferenze cookie restano cliccabili. */
@media (max-width: 767px) { .site-footer__legal { padding-bottom: 104px; } }
