/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 4.10
*/

/*************** ADD CUSTOM CSS HERE. ***************/

/* Newsreader (OFL), ospitato nel child theme */
@font-face {
	font-family: "Newsreader";
	font-style: normal;
	font-weight: 400 600;
	font-display: swap;
	src: url("fonts/newsreader-latin.woff2") format("woff2");
}
@font-face {
	font-family: "Newsreader";
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url("fonts/newsreader-latin-italic.woff2") format("woff2");
}

/* =========================================================
   Fashionature v2 — "diario di campo"
   Gli stili valgono solo con la classe .fn-v2 sul body
   (vedi fn_v2_attivo() in functions.php).
   ========================================================= */

.fn-v2 {
	--fn-carta: #F5F6F2;
	--fn-bianco: #FFFFFF;
	--fn-inchiostro: #151714;
	--fn-testo2: #5B6158;
	--fn-linea: #DFE2DA;
	--fn-bordo: #C9CEC3;
	--fn-muschio: #3E5A3A;
	--fn-muschio-chiaro: #E4EBE0;
	--fn-font-titoli: "Newsreader", Georgia, "Times New Roman", serif;
	--fn-font-testo: "Montserrat", "Helvetica Neue", Arial, sans-serif;
	--fn-font-note: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
	--fn-raggio: 2px;

	--fs-color-primary: var(--fn-inchiostro);
	--fs-color-secondary: var(--fn-muschio);
	--fs-color-base: var(--fn-testo2);
	--fs-experimental-link-color: var(--fn-inchiostro);
	--fs-experimental-link-color-hover: var(--fn-muschio);

	background-color: var(--fn-carta);
	color: var(--fn-inchiostro);
	font-family: var(--fn-font-testo);
}

.fn-v2 #wrapper,
.fn-v2 #main,
.fn-v2 .page-wrapper {
	background-color: var(--fn-carta);
}

/* Titoli */
.fn-v2 h1, .fn-v2 h2, .fn-v2 h3, .fn-v2 h4,
.fn-v2 .heading-font {
	font-family: var(--fn-font-titoli);
	font-weight: 400;
	color: var(--fn-inchiostro);
	letter-spacing: -0.01em;
	text-transform: none;
	text-wrap: balance;
}
.fn-v2 h1 { font-size: clamp(2.1rem, 4.2vw, 3.75rem); line-height: 1.05; }
.fn-v2 h2 { font-size: clamp(1.75rem, 3vw, 2.75rem); line-height: 1.1; }
.fn-v2 h3 { font-size: 1.6rem; line-height: 1.2; }
.fn-v2 h4 { font-size: 1.3rem; line-height: 1.25; }

.fn-v2 p,
.fn-v2 li {
	color: var(--fn-testo2);
}

/* Testo chiaro dentro i blocchi scuri di Flatsome (.dark) */
.fn-v2 .dark h1, .fn-v2 .dark h2, .fn-v2 .dark h3, .fn-v2 .dark h4,
.fn-v2 .dark .heading-font,
.fn-v2 .dark .section-title-main,
.fn-v2 .dark a {
	color: var(--fn-bianco);
}
.fn-v2 .dark p,
.fn-v2 .dark li {
	color: rgba(255, 255, 255, 0.85);
}

/* Link */
.fn-v2 a { color: var(--fn-inchiostro); }
.fn-v2 a:hover { color: var(--fn-muschio); }
.fn-v2 p a { text-decoration: underline; text-underline-offset: 3px; }
.fn-v2 .product-small a,
.fn-v2 .nav a { text-decoration: none; }

.fn-v2 a:focus-visible,
.fn-v2 button:focus-visible,
.fn-v2 input:focus-visible,
.fn-v2 select:focus-visible,
.fn-v2 textarea:focus-visible {
	outline: 2px solid var(--fn-muschio);
	outline-offset: 3px;
}

/* Pulsanti */
.fn-v2 .button,
.fn-v2 button.button,
.fn-v2 input[type="submit"] {
	border-radius: var(--fn-raggio);
	font-family: var(--fn-font-testo);
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	min-height: 48px;
	line-height: 46px;
	padding: 0 26px;
	box-shadow: none;
}
.fn-v2 .button.primary:not(.is-outline),
.fn-v2 input[type="submit"] {
	background-color: var(--fn-inchiostro);
	border-color: var(--fn-inchiostro);
	color: var(--fn-carta);
}
.fn-v2 .button.primary:not(.is-outline):hover,
.fn-v2 input[type="submit"]:hover {
	background-color: var(--fn-muschio);
	border-color: var(--fn-muschio);
}
.fn-v2 .button.is-outline {
	border: 1px solid var(--fn-inchiostro);
	color: var(--fn-inchiostro);
	background: transparent;
}
.fn-v2 .button.is-outline:hover {
	background-color: var(--fn-inchiostro);
	color: var(--fn-carta);
}

/* Moduli */
.fn-v2 input[type="text"],
.fn-v2 input[type="email"],
.fn-v2 input[type="search"],
.fn-v2 input[type="tel"],
.fn-v2 select,
.fn-v2 textarea {
	border: 1px solid var(--fn-bordo);
	border-radius: var(--fn-raggio);
	background-color: var(--fn-bianco);
	box-shadow: none;
	min-height: 48px;
	font-size: 15px;
	color: var(--fn-inchiostro);
}

/* Titoli di sezione Flatsome */
.fn-v2 .section-title-container { margin-bottom: 32px; }
.fn-v2 .section-title b { display: none; }
.fn-v2 .section-title-main {
	font-family: var(--fn-font-titoli);
	font-weight: 400;
	font-size: clamp(1.75rem, 3vw, 2.75rem);
	text-transform: none;
	letter-spacing: -0.01em;
	color: var(--fn-inchiostro);
	padding: 0;
}

/* Card prodotto */
.fn-v2 .product-small .box-image {
	border-radius: var(--fn-raggio);
	background-color: var(--fn-bianco);
}
.fn-v2 .product-small .box-text { padding-top: 12px; }
.fn-v2 .product-small .category {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--fn-testo2);
	opacity: 1;
}
.fn-v2 .product-small .name,
.fn-v2 .product-small .product-title a {
	font-family: var(--fn-font-testo);
	font-size: 15px;
	font-weight: 500;
	color: var(--fn-inchiostro);
}
.fn-v2 .product-small .price,
.fn-v2 .product-small .amount {
	font-weight: 600;
	color: var(--fn-inchiostro);
	font-variant-numeric: tabular-nums;
}
.fn-v2 .badge-inner {
	border-radius: var(--fn-raggio);
	background-color: var(--fn-bianco);
	color: var(--fn-inchiostro);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* Classi da usare in UX Builder (campo "Class") */
.fn-v2 .fn-eyebrow {
	font-family: var(--fn-font-testo);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--fn-muschio);
}
.fn-v2 .fn-lead {
	font-size: 18px;
	line-height: 1.6;
	color: var(--fn-testo2);
	max-width: 34em;
}
.fn-v2 .fn-nota {
	font-family: var(--fn-font-note);
	font-size: 12px;
	color: var(--fn-testo2);
}
.fn-v2 .fn-specie {
	font-family: var(--fn-font-titoli);
	font-style: italic;
	font-size: 19px;
	color: var(--fn-inchiostro);
}
.fn-v2 .fn-citazione {
	font-family: var(--fn-font-titoli);
	font-size: clamp(1.6rem, 2.6vw, 2.2rem);
	line-height: 1.25;
	color: var(--fn-inchiostro);
	text-wrap: balance;
}
.fn-v2 .fn-fondo-bianco { background-color: var(--fn-bianco); }
.fn-v2 .fn-fondo-inchiostro { background-color: var(--fn-inchiostro); }
.fn-v2 .fn-fondo-muschio { background-color: var(--fn-muschio); }
.fn-v2 .fn-fondo-inchiostro,
.fn-v2 .fn-fondo-inchiostro h1, .fn-v2 .fn-fondo-inchiostro h2, .fn-v2 .fn-fondo-inchiostro h3,
.fn-v2 .fn-fondo-muschio,
.fn-v2 .fn-fondo-muschio h1, .fn-v2 .fn-fondo-muschio h2, .fn-v2 .fn-fondo-muschio h3 {
	color: var(--fn-carta);
}
.fn-v2 .fn-fondo-inchiostro p,
.fn-v2 .fn-fondo-muschio p { color: #D9DDD4; }
.fn-v2 .fn-linea-sopra { border-top: 1px solid var(--fn-linea); }
.fn-v2 .fn-scheda {
	background-color: var(--fn-bianco);
	border: 1px solid var(--fn-linea);
	border-radius: var(--fn-raggio);
	padding: 24px;
}

/* Header v2 */
body.fn-v2.header-shadow .header-wrapper { box-shadow: none; }
.fn-v2 .header-top { background-color: var(--fn-inchiostro); min-height: 36px; }
.fn-v2 .fn-topbar {
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	color: var(--fn-carta);
}
.fn-v2 .fn-topbar a {
	margin-left: 6px;
	font-weight: 600;
	color: var(--fn-carta);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.fn-v2 .header-main {
	background-color: var(--fn-bianco);
	border-bottom: 1px solid var(--fn-linea);
}
.fn-v2 .header-nav-main > li > a,
.fn-v2 .nav-uppercase > li > a {
	font-family: var(--fn-font-testo);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	color: var(--fn-inchiostro);
}
.fn-v2 .header-nav-main > li > a:hover,
.fn-v2 .header-nav-main > li.active > a,
.fn-v2 .header-nav-main > li.current-menu-item > a {
	color: var(--fn-muschio);
}

.fn-v2 .header-top .account-item,
.fn-v2 .header-top .header-social-icons { display: none; }

/* Footer v2 (blocco UX "footer-v2") */
/* Sotto il footer, nelle pagine corte, si vedeva lo sfondo grigio di html */
html:has(> body.fn-v2) { background-color: var(--fn-inchiostro, #151714); }
.fn-v2 .absolute-footer,
.fn-v2 #footer > p,
.fn-v2 #footer > br { display: none; }
.fn-v2 .fn-footer { font-size: 14px; }
.fn-v2 .fn-footer .fn-footer-marchio {
	font-family: var(--fn-font-titoli);
	font-size: 26px;
	color: var(--fn-carta);
	margin-bottom: 12px;
}
.fn-v2 .fn-footer .fn-footer-marchio strong { font-weight: 600; }
.fn-v2 .fn-footer p { color: #D9DDD4; }
.fn-v2 .fn-footer .fn-footer-titolo {
	font-family: var(--fn-font-testo);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--fn-carta);
	margin-bottom: 14px;
}
.fn-v2 .fn-footer .fn-footer-link { list-style: none; margin: 0; padding: 0; }
.fn-v2 .fn-footer .fn-footer-link li { list-style: none; margin: 0 0 8px; color: #D9DDD4; }
.fn-v2 .fn-footer a { color: #D9DDD4; text-decoration: none; }
.fn-v2 .fn-footer a:hover { color: var(--fn-bianco); text-decoration: underline; }
.fn-v2 .fn-footer .fn-footer-fondo {
	border-top: 1px solid #343832;
	margin-top: 24px;
	padding-top: 20px;
}
.fn-v2 .fn-footer .fn-footer-legale { font-size: 12px; color: #A9AFA4; margin: 0; }

/* Home v2 */
.fn-v2 .button.is-link,
.fn-v2 .button.primary.is-link {
	background: none;
	border: 0;
	padding: 0 4px;
	color: var(--fn-inchiostro);
	text-decoration: underline;
	text-underline-offset: 4px;
}
.fn-v2 .button.is-link:hover,
.fn-v2 .button.primary.is-link:hover { background: none; color: var(--fn-muschio); }
.fn-v2 .fn-hero-foto > .col-inner { position: relative; }
.fn-v2 .fn-hero-macro { margin-bottom: 14px; }
.fn-v2 .fn-hero-inset {
	position: absolute;
	top: 0;
	right: 0;
	width: 32% !important; /* Flatsome imposta la larghezza con #image_… */
	margin-top: calc(48% + 28px);
	z-index: 2;
}
.fn-v2 .fn-hero-inset .img-inner {
	border: 6px solid var(--fn-bianco);
	box-shadow: 0 10px 30px rgba(21, 23, 20, 0.18);
}
.fn-v2 .fn-hero-foto .fn-specie,
.fn-v2 .fn-hero-foto .fn-nota { padding-right: 36%; margin-bottom: 2px; }
.fn-v2 .fn-garanzie {
	border-top: 1px solid var(--fn-linea);
	border-bottom: 1px solid var(--fn-linea);
}
.fn-v2 .fn-garanzia { display: flex; gap: 14px; align-items: flex-start; }
.fn-v2 .fn-garanzia svg { flex: none; }
.fn-v2 .fn-garanzia p { margin: 0; font-size: 13px; line-height: 1.45; }
.fn-v2 .fn-garanzia strong { font-size: 14px; color: var(--fn-inchiostro); }
.fn-v2 .fn-storia .fn-nota { margin: 14px 0 4px; }
.fn-v2 .fn-storia h3 { margin-bottom: 8px; }
@media (min-width: 850px) {
	.fn-v2 .fn-a-destra { text-align: right; }
	.fn-v2 .fn-hero-inset { right: -16px; }
}

/* Scheda prodotto v2 */
.fn-v2.single-product .product-main { padding-top: 32px; }
.fn-v2.single-product .product-title {
	font-family: var(--fn-font-titoli);
	font-weight: 400;
	font-size: clamp(1.9rem, 3.2vw, 2.75rem);
	line-height: 1.08;
	text-transform: none;
	letter-spacing: -0.01em;
	margin-bottom: 8px;
}
.fn-v2.single-product .product-title + .is-divider { display: none; }
.fn-v2.single-product .product-info .breadcrumbs {
	font-size: 13px;
	text-transform: none;
	letter-spacing: 0;
	color: var(--fn-testo2);
}
.fn-v2.single-product .product-info .price-wrapper .price,
.fn-v2.single-product .product-info .price-wrapper .amount {
	font-size: 24px;
	font-weight: 600;
	color: var(--fn-inchiostro);
	font-variant-numeric: tabular-nums;
}
.fn-v2.single-product .wb-single-img-cnt img { max-width: 110px; height: auto; }
.fn-v2.single-product .product-short-description { font-size: 15px; }
.fn-v2.single-product .variations_form,
.fn-v2.single-product .yith-wcwl-add-to-wishlist { display: none; }
.fn-v2 .fn-riquadro-catalogo {
	background-color: var(--fn-bianco);
	border: 1px solid var(--fn-linea);
	border-radius: var(--fn-raggio);
	padding: 20px;
	margin: 8px 0 24px;
}
.fn-v2 .fn-riquadro-catalogo p { font-size: 14px; margin-bottom: 14px; }
.fn-v2 .fn-riquadro-catalogo .fn-riquadro-titolo {
	font-size: 15px;
	font-weight: 600;
	color: var(--fn-inchiostro);
	margin-bottom: 4px;
}
.fn-v2 .fn-riquadro-azioni { display: flex; flex-wrap: wrap; gap: 10px; }
.fn-v2 .fn-riquadro-azioni .button {
	flex: 1 1 180px;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1.2;
	padding: 12px 18px;
	text-align: center;
}
@media (max-width: 549px) {
	.fn-v2 .fn-riquadro-azioni .button { flex-basis: 100%; }
}
.fn-v2 .product_meta { font-size: 13px; color: var(--fn-testo2); }
.fn-v2 .woocommerce-tabs .tabs li a {
	font-family: var(--fn-font-testo);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	color: var(--fn-testo2);
}
.fn-v2 .woocommerce-tabs .tabs li.active a { color: var(--fn-inchiostro); }
.fn-v2 .woocommerce-tabs h3 span[style*="background"] { background: none !important; }
.fn-v2 .woocommerce-tabs .icon-box-text h6 {
	font-family: var(--fn-font-testo);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	color: var(--fn-inchiostro);
	opacity: 1;
}
.fn-v2 .related .product-section-title,
.fn-v2 .related h3 {
	font-family: var(--fn-font-titoli);
	font-weight: 400;
	font-size: 2rem;
	text-transform: none;
	letter-spacing: -0.01em;
}

/* Collezione v2 (negozio e categorie) */
.fn-v2 .shop-page-title .page-title-inner { padding-top: 16px; padding-bottom: 8px; }
.fn-v2 .shop-page-title .breadcrumbs,
.fn-v2 .shop-page-title .woocommerce-breadcrumb { font-size: 13px; text-transform: none; letter-spacing: 0; color: var(--fn-testo2); }
.fn-v2 .woocommerce-result-count { font-size: 13px; color: var(--fn-testo2); }
.fn-v2 .woocommerce-ordering select { font-size: 14px; border-color: var(--fn-bordo); border-radius: var(--fn-raggio); background-color: var(--fn-bianco); }
.fn-v2 .fn-collezione-testa { max-width: 720px; margin: 8px 0 40px; }
.fn-v2 .fn-collezione-testa h1 { font-size: clamp(2rem, 4vw, 3rem); line-height: 1.1; margin-bottom: 12px; }
.fn-v2 .fn-collezione-testa .fn-lead { margin-bottom: 24px; }
.fn-v2 .fn-filtri { display: flex; flex-wrap: wrap; gap: 8px; }
.fn-v2 .fn-filtri a {
	display: inline-block;
	padding: 8px 16px;
	border: 1px solid var(--fn-bordo);
	border-radius: 999px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	color: var(--fn-inchiostro);
	text-decoration: none;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}
.fn-v2 .fn-filtri a:hover { border-color: var(--fn-inchiostro); }
.fn-v2 .fn-filtri a.attivo { background-color: var(--fn-inchiostro); border-color: var(--fn-inchiostro); color: var(--fn-carta); }
.fn-v2 .fn-filtri a:focus-visible { outline: 2px solid var(--fn-muschio); outline-offset: 2px; }
.fn-v2.archive .product-small .star-rating,
.fn-v2.archive .product-small .wishlist-icon { display: none; }
.fn-v2 .woocommerce-pagination .page-numbers li > * { border-radius: var(--fn-raggio); }
.fn-v2 .woocommerce-pagination .page-numbers .current { background-color: var(--fn-inchiostro); border-color: var(--fn-inchiostro); color: var(--fn-carta); }
@media (max-width: 549px) {
	.fn-v2 .fn-collezione-testa { margin-bottom: 28px; }
	.fn-v2 .fn-filtri { flex-wrap: nowrap; overflow-x: auto; margin-right: -15px; padding-bottom: 4px; scrollbar-width: none; }
	.fn-v2 .fn-filtri::-webkit-scrollbar { display: none; }
	.fn-v2 .fn-filtri a { flex: 0 0 auto; }
}

/* Fotografi v2 (pagina 3728 e pagine dei tag fotografo) */
.fn-v2 .fn-pagina { padding: 48px 0 96px; }
.fn-v2 .fn-fotografi-griglia { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 24px; }
.fn-v2 .fn-fotografo { display: block; color: var(--fn-inchiostro); text-decoration: none; }
.fn-v2 .fn-fotografo-foto { display: block; aspect-ratio: 1; overflow: hidden; border-radius: var(--fn-raggio); background-color: var(--fn-bianco); }
.fn-v2 .fn-fotografo-foto img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
.fn-v2 .fn-fotografo:hover .fn-fotografo-foto img { transform: scale(1.03); }
.fn-v2 .fn-fotografo-logo {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	margin: -28px 0 0 12px;
	overflow: hidden;
	border: 3px solid var(--fn-carta);
	border-radius: 50%;
	background-color: var(--fn-inchiostro);
}
.fn-v2 .fn-fotografo-logo img { width: 100%; height: 100%; object-fit: cover; }
.fn-v2 .fn-fotografo-iniziali { font-size: 15px; font-weight: 600; letter-spacing: 0.04em; color: var(--fn-carta); }
.fn-v2 .fn-fotografo-nome { display: block; margin-top: 10px; font-family: var(--fn-font-titoli); font-size: 20px; line-height: 1.2; }
.fn-v2 .fn-fotografo:hover .fn-fotografo-nome { text-decoration: underline; text-underline-offset: 3px; }
.fn-v2 .fn-fotografo-conta { display: block; margin-top: 2px; font-size: 13px; color: var(--fn-testo2); }
.fn-v2 .fn-fotografo:focus-visible { outline: 2px solid var(--fn-muschio); outline-offset: 4px; }
.fn-v2 .fn-fotografi-invito {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-top: 80px;
	padding: 40px;
	border-radius: var(--fn-raggio);
	background-color: var(--fn-bianco);
}
.fn-v2 .fn-fotografi-invito h2 { margin-bottom: 8px; }
.fn-v2 .fn-fotografi-invito p { max-width: 560px; margin: 0; }
.fn-v2 .fn-fotografi-invito .button { margin: 0; }
@media (max-width: 849px) {
	.fn-v2 .fn-fotografi-griglia { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 549px) {
	.fn-v2 .fn-pagina { padding: 32px 0 64px; }
	.fn-v2 .fn-fotografi-griglia { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 12px; }
	.fn-v2 .fn-fotografo-logo { width: 44px; height: 44px; margin-top: -22px; margin-left: 8px; }
	.fn-v2 .fn-fotografo-nome { font-size: 17px; }
	.fn-v2 .fn-fotografi-invito { margin-top: 56px; padding: 28px 20px; }
}

/* Chi siamo v2 (pagina 2) */
.fn-v2 .fn-sezione { margin-top: 96px; }
.fn-v2 .fn-chi-testa { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 56px; align-items: center; }
.fn-v2 .fn-chi-testa h1 { font-size: clamp(2.2rem, 4.5vw, 3.4rem); line-height: 1.08; margin-bottom: 16px; }
.fn-v2 .fn-chi-ritratto { margin: 0; }
.fn-v2 .fn-chi-ritratto img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: var(--fn-raggio); }
.fn-v2 .fn-chi-testo { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: 56px; }
.fn-v2 .fn-chi-testo p { font-size: 17px; line-height: 1.65; }
.fn-v2 .fn-passi { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 16px 0 0; padding: 0; list-style: none; }
.fn-v2 .fn-passi li { margin: 0; padding: 28px; border-radius: var(--fn-raggio); background-color: var(--fn-bianco); }
.fn-v2 .fn-passo-num { display: block; margin-bottom: 12px; font-family: var(--fn-font-titoli); font-size: 32px; font-style: italic; line-height: 1; color: var(--fn-muschio); }
.fn-v2 .fn-passi h3 { margin-bottom: 8px; font-size: 22px; }
.fn-v2 .fn-passi p { margin: 0; color: var(--fn-testo2); }
.fn-v2 .fn-chi-citazione { margin-left: 0; margin-right: 0; padding: 64px 56px; border-radius: var(--fn-raggio); background-color: var(--fn-muschio); color: var(--fn-carta); }
.fn-v2 .fn-chi-citazione blockquote { max-width: 760px; margin: 0; padding: 0; border: 0; font-family: var(--fn-font-titoli); font-size: clamp(1.6rem, 3vw, 2.4rem); font-style: normal; line-height: 1.25; color: var(--fn-carta); }
.fn-v2 .fn-chi-citazione figcaption { margin-top: 20px; font-size: 14px; font-weight: 600; color: var(--fn-carta); opacity: 0.8; }
.fn-v2 .fn-galleria { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 24px; }
.fn-v2 .fn-galleria figure { margin: 0; aspect-ratio: 1; overflow: hidden; border-radius: var(--fn-raggio); background-color: var(--fn-bianco); }
.fn-v2 .fn-galleria figure:first-child { grid-column: span 2; grid-row: span 2; }
.fn-v2 .fn-galleria img { display: block; width: 100%; height: 100%; object-fit: cover; }
.fn-v2 .fn-chi-azioni { display: flex; flex-wrap: wrap; gap: 12px; }
.fn-v2 .fn-chi-azioni .button { margin: 0; }
@media (max-width: 849px) {
	.fn-v2 .fn-chi-testa,
	.fn-v2 .fn-chi-testo { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.fn-v2 .fn-chi-ritratto { max-width: 420px; }
	.fn-v2 .fn-passi { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 549px) {
	.fn-v2 .fn-sezione { margin-top: 64px; }
	.fn-v2 .fn-chi-testo p { font-size: 16px; }
	.fn-v2 .fn-chi-citazione { padding: 40px 24px; }
	.fn-v2 .fn-galleria { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.fn-v2 .fn-galleria figure:last-child { display: none; }
	.fn-v2 .fn-chi-azioni .button { flex: 1 1 100%; text-align: center; }
}

/* Blog v2 (pagina 763) e articoli */
.fn-v2 .fn-articolo { display: block; color: var(--fn-inchiostro); text-decoration: none; }
.fn-v2 .fn-articolo-foto { display: block; aspect-ratio: 3 / 2; overflow: hidden; border-radius: var(--fn-raggio); background-color: var(--fn-linea); }
.fn-v2 .fn-articolo-foto img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
.fn-v2 .fn-articolo:hover .fn-articolo-foto img { transform: scale(1.03); }
.fn-v2 .fn-articolo-testo { display: block; padding-top: 12px; }
/* Il CSS personalizzato di Flatsome ha "div a span { display: none; }" */
.fn-v2 .fn-articolo .fn-nota { display: block; }
.fn-v2 .fn-articolo-titolo { display: block; margin-top: 4px; font-family: var(--fn-font-titoli); font-size: 21px; line-height: 1.25; }
.fn-v2 .fn-articolo:hover .fn-articolo-titolo { text-decoration: underline; text-underline-offset: 3px; }
.fn-v2 .fn-articolo:focus-visible { outline: 2px solid var(--fn-muschio); outline-offset: 4px; }
.fn-v2 .fn-articolo-estratto { display: block; margin-top: 12px; font-size: 16px; line-height: 1.6; color: var(--fn-testo2); }
.fn-v2 .fn-articolo-leggi { display: inline-block; margin-top: 16px; font-size: 14px; font-weight: 600; border-bottom: 1px solid currentColor; }
.fn-v2 .fn-blog-evidenza .fn-articolo { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 40px; align-items: center; }
.fn-v2 .fn-blog-evidenza .fn-articolo-titolo { font-size: clamp(1.8rem, 3vw, 2.4rem); line-height: 1.15; }
.fn-v2 .fn-blog-griglia { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 24px; margin-top: 24px; }
.fn-v2 .fn-blog-stampa { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 40px; margin-top: 24px; }
.fn-v2 .fn-blog-stampa .fn-articolo { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 16px; align-items: center; padding-bottom: 16px; border-bottom: 1px solid var(--fn-linea); }
.fn-v2 .fn-blog-stampa .fn-articolo-foto { aspect-ratio: 1; }
.fn-v2 .fn-blog-stampa .fn-articolo-testo { padding-top: 0; }
.fn-v2 .fn-blog-stampa .fn-articolo-titolo { font-size: 18px; }
.fn-v2.single-post .entry-header-text { padding-bottom: 8px; }
.fn-v2.single-post .entry-title { font-size: clamp(2rem, 4vw, 3rem); line-height: 1.12; text-transform: none; }
.fn-v2.single-post .entry-category,
.fn-v2.single-post .entry-meta { font-size: 12px; font-weight: 600; letter-spacing: 0.08em; color: var(--fn-testo2); }
.fn-v2.single-post .entry-divider { display: none; }
.fn-v2.single-post .entry-content { max-width: 720px; margin-left: auto; margin-right: auto; font-size: 17px; line-height: 1.7; }
.fn-v2.single-post .entry-author { display: none; }
@media (max-width: 849px) {
	.fn-v2 .fn-blog-evidenza .fn-articolo { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.fn-v2 .fn-blog-griglia { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.fn-v2 .fn-blog-stampa { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 549px) {
	.fn-v2 .fn-blog-griglia { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.fn-v2 .fn-blog-stampa .fn-articolo { grid-template-columns: 88px minmax(0, 1fr); }
	.fn-v2.single-post .entry-content { font-size: 16px; }
}

/* Contatti v2 (pagina 113) */
.fn-v2 .fn-contatti-griglia { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 64px; align-items: start; }
.fn-v2 .fn-contatti h1 { font-size: clamp(2.2rem, 4.5vw, 3.4rem); line-height: 1.08; margin-bottom: 12px; }
.fn-v2 .fn-recapiti { margin: 32px 0; padding: 0; list-style: none; }
.fn-v2 .fn-recapiti li { margin: 0; padding: 16px 0; border-top: 1px solid var(--fn-linea); font-size: 17px; line-height: 1.5; }
.fn-v2 .fn-recapiti li:last-child { border-bottom: 1px solid var(--fn-linea); }
.fn-v2 .fn-recapiti .fn-nota { display: block; margin-bottom: 2px; }
.fn-v2 .fn-recapiti a { color: var(--fn-inchiostro); text-decoration: underline; text-underline-offset: 3px; }
.fn-v2 .fn-contatti-nota { font-size: 15px; color: var(--fn-testo2); }
.fn-v2 .fn-contatti-modulo { padding: 40px; border-radius: var(--fn-raggio); background-color: var(--fn-bianco); }
.fn-v2 .fn-contatti-modulo .column { width: 100%; float: none; }
.fn-v2 .fn-contatti-modulo p { margin-bottom: 14px; }
.fn-v2 .fn-contatti-modulo label { display: block; margin: 0 !important; }
.fn-v2 .fn-contatti-modulo input[type="text"],
.fn-v2 .fn-contatti-modulo input[type="email"],
.fn-v2 .fn-contatti-modulo textarea { width: 100%; margin: 0; font-size: 16px; }
.fn-v2 .fn-contatti-modulo textarea { min-height: 160px; }
.fn-v2 .fn-contatti-modulo .wpcf7-list-item { display: flex; gap: 10px; align-items: flex-start; margin: 0; font-size: 14px; line-height: 1.45; color: var(--fn-testo2); }
.fn-v2 .fn-contatti-modulo .wpcf7-list-item input { margin: 3px 0 0; flex: 0 0 auto; }
.fn-v2 .fn-contatti-modulo input[type="submit"] { margin: 8px 0 0; }
@media (max-width: 849px) {
	.fn-v2 .fn-contatti-griglia { grid-template-columns: minmax(0, 1fr); gap: 32px; }
}
@media (max-width: 549px) {
	.fn-v2 .fn-contatti-modulo { padding: 24px 18px; }
	.fn-v2 .fn-contatti-modulo input[type="submit"] { width: 100%; }
}

/* Affiliazione v2 (pagina 3584) */
.fn-v2 .fn-programmi { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.fn-v2 .fn-programma { display: flex; flex-direction: column; padding: 40px; border-radius: var(--fn-raggio); background-color: var(--fn-bianco); }
.fn-v2 .fn-programma h2 { margin: 4px 0 20px; }
.fn-v2 .fn-programma ul { flex: 1; margin: 0 0 28px; padding: 0; list-style: none; }
.fn-v2 .fn-programma li { position: relative; margin: 0; padding: 12px 0 12px 22px; border-top: 1px solid var(--fn-linea); font-size: 16px; line-height: 1.5; }
.fn-v2 .fn-programma li::before { content: ""; position: absolute; left: 0; top: 20px; width: 8px; height: 8px; border-radius: 50%; background-color: var(--fn-muschio); }
.fn-v2 .fn-programma .button { align-self: flex-start; margin: 0; }
.fn-v2 .fn-affiliazione-nota { max-width: 720px; margin-top: 40px; font-size: 15px; color: var(--fn-testo2); }
.fn-v2 .fn-affiliazione-nota a { color: var(--fn-inchiostro); }
@media (max-width: 849px) {
	.fn-v2 .fn-programmi { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 549px) {
	.fn-v2 .fn-programma { padding: 28px 20px; }
	.fn-v2 .fn-programma .button { align-self: stretch; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
	.fn-v2 *,
	.fn-v2 *::before,
	.fn-v2 *::after {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
	}
}

@media only screen and (max-width: 48em) {
/*************** ADD MOBILE ONLY CSS HERE ***************/

	.fn-v2 .fn-lead { font-size: 16px; }

}
