/*
 * PixelXpixeL — nuova grafica 2026 ("Galleria")
 * Attiva solo con body.pxp-v2. Riveste gli elementi nativi di Flatsome UX Builder:
 * nei layout si usano Section, Row, Col, Title, Text, Button, UX Image, Gallery,
 * Banner, Blog posts. Classi di supporto da inserire nel campo "Class" di UX Builder:
 *   pxp-eyebrow   piccola etichetta arancio maiuscola (su Text)
 *   pxp-lead      testo introduttivo più grande (su Text)
 *   pxp-center    centra il contenuto di una colonna
 *   pxp-list      elenco con trattini arancio (su Text con <ul>)
 *   pxp-tiles     card immagine con didascalia in basso (su Row di UX Image/Banner)
 *   pxp-line-top  filetto sottile sopra la sezione (su Section)
 */

body.pxp-v2 {
	--pxp-bg: #0a0b0c;
	--pxp-bg2: #111315;
	--pxp-bg3: #181b1e;
	--pxp-line: rgba(255, 255, 255, .08);
	--pxp-line2: rgba(255, 255, 255, .16);
	--pxp-text: #e9ebec;
	--pxp-muted: #8f9aa1;
	--pxp-orange: #c67031;
	--pxp-orange-lt: #d98a50;
	--pxp-serif: "Cormorant Garamond", Georgia, serif;
	--pxp-sans: "Hanken Grotesk", system-ui, -apple-system, sans-serif;

	background: var(--pxp-bg);
	color: var(--pxp-text);
	font-family: var(--pxp-sans);
	font-weight: 300;
	-webkit-font-smoothing: antialiased;
}

body.pxp-v2 #wrapper,
body.pxp-v2 #main,
body.pxp-v2 .page-wrapper,
body.pxp-v2 .blog-wrapper { background: var(--pxp-bg); }

/* ---------- Tipografia ---------- */
body.pxp-v2 h1, body.pxp-v2 h2, body.pxp-v2 h3,
body.pxp-v2 .h1, body.pxp-v2 .h2, body.pxp-v2 .h3,
body.pxp-v2 .entry-title, body.pxp-v2 .section-title {
	font-family: var(--pxp-serif);
	font-weight: 300;
	letter-spacing: -.005em;
	line-height: 1.05;
	color: var(--pxp-text);
	text-transform: none;
	text-wrap: balance;
}
body.pxp-v2 h4, body.pxp-v2 h5, body.pxp-v2 h6 { font-family: var(--pxp-sans); font-weight: 400; color: var(--pxp-text); }
body.pxp-v2 h1 { font-size: clamp(2.8rem, 6.4vw, 6.5rem); }
body.pxp-v2 h2 { font-size: clamp(2.3rem, 4.4vw, 4.1rem); }
body.pxp-v2 h3 { font-size: clamp(1.7rem, 2.4vw, 2.2rem); }
body.pxp-v2 h1 em, body.pxp-v2 h2 em, body.pxp-v2 h3 em { font-style: italic; color: var(--pxp-orange-lt); }
body.pxp-v2 p, body.pxp-v2 li { color: #c3c9cd; text-wrap: pretty; }
body.pxp-v2 strong, body.pxp-v2 b { font-weight: 500; color: var(--pxp-text); }
body.pxp-v2 a { color: var(--pxp-text); }
body.pxp-v2 a:hover { color: var(--pxp-orange-lt); }
body.pxp-v2 ::selection { background: var(--pxp-orange); color: #fff; }

body.pxp-v2 .pxp-eyebrow,
body.pxp-v2 .pxp-eyebrow p {
	font-family: var(--pxp-sans);
	font-size: 11px;
	font-weight: 400;
	letter-spacing: .32em;
	text-transform: uppercase;
	color: var(--pxp-orange-lt);
	margin-bottom: 1em;
}
/* H1 SEO in forma di etichetta + slogan grande decorativo */
body.pxp-v2 h1.pxp-h1 {
	font-family: var(--pxp-sans);
	font-size: 11px;
	font-weight: 400;
	letter-spacing: .32em;
	line-height: 1.8;
	text-transform: uppercase;
	color: var(--pxp-orange-lt);
	margin-bottom: 1.4em;
}
body.pxp-v2 .pxp-display {
	font-family: var(--pxp-serif);
	font-weight: 300;
	font-size: clamp(2.9rem, 7vw, 7rem);
	line-height: 1;
	letter-spacing: -.01em;
	color: #fff;
	margin-bottom: .45em;
	text-wrap: balance;
}
body.pxp-v2 .pxp-hero .pxp-display { font-size: clamp(2.6rem, 5vw, 5.4rem); }
body.pxp-v2 .pxp-display em { font-style: italic; color: var(--pxp-orange-lt); }
body.pxp-v2 .pxp-num { font-family: var(--pxp-serif); font-style: italic; font-size: 2.3rem; line-height: 1; color: var(--pxp-orange-lt); margin: .5em 0 .25em; }
body.pxp-v2 .pxp-quote p { font-family: var(--pxp-serif); font-weight: 300; font-size: clamp(1.9rem, 3.6vw, 3.3rem); line-height: 1.2; color: var(--pxp-text); }
body.pxp-v2 .pxp-quote p em { color: var(--pxp-orange-lt); }
body.pxp-v2 .pxp-lead p { font-size: clamp(1.05rem, 1.3vw, 1.2rem); color: #c8ced2; }
body.pxp-v2 .pxp-center { text-align: center; }
body.pxp-v2 .pxp-center p { margin-left: auto; margin-right: auto; max-width: 40em; }

/* ---------- Header ---------- */
body.pxp-v2 .header-top { display: none; }
body.pxp-v2 .header-main,
body.pxp-v2 .header-bg-color,
body.pxp-v2 .header-wrapper.stuck .header-main { background-color: var(--pxp-bg) !important; }
body.pxp-v2 .header-wrapper { border-bottom: 1px solid var(--pxp-line); }
body.pxp-v2.page-template-page-transparent-header .header-wrapper:not(.stuck),
body.pxp-v2 .transparent .header-wrapper:not(.stuck) { border-bottom: 0; }
body.pxp-v2 .transparent .header-wrapper:not(.stuck) .header-main,
body.pxp-v2 .transparent .header-wrapper:not(.stuck) .header-bg-color { background-color: transparent !important; }
body.pxp-v2 .header-nav-main > li > a,
body.pxp-v2 .header-main .nav > li > a {
	font-family: var(--pxp-sans);
	font-size: 12px;
	font-weight: 400;
	letter-spacing: .2em;
	color: #cfd4d7;
}
body.pxp-v2 .header-main .nav > li > a:hover,
body.pxp-v2 .header-main .nav > li.active > a,
body.pxp-v2 .header-main .nav > li.current-menu-item > a { color: #fff; }
/* Voce "Plugin WordPress" in evidenza (classe pxp-menu-plugin nel Menu 2026) */
body.pxp-v2 .header-main .nav > li.pxp-menu-plugin > a { color: var(--pxp-orange-lt); }
body.pxp-v2 .header-main .nav > li.pxp-menu-plugin > a:hover { color: #fff; }
body.pxp-v2 .mobile-sidebar .nav > li.pxp-menu-plugin > a { color: var(--pxp-orange-lt); }
body.pxp-v2 .nav-line-bottom > li > a::before,
body.pxp-v2 .nav-line > li > a::before { background-color: var(--pxp-orange); height: 1px; }
body.pxp-v2 .header-main .icon-search,
body.pxp-v2 .header-main .icon-menu { color: #fff; }
body.pxp-v2 .nav-dropdown { background: var(--pxp-bg2); border: 1px solid var(--pxp-line); }
body.pxp-v2 .nav-dropdown li a { color: #cfd4d7; }
body.pxp-v2 .nav-dropdown li a:hover { color: var(--pxp-orange-lt); background: transparent; }
body.pxp-v2 .mobile-sidebar, body.pxp-v2 .off-canvas-left .mfp-content { background: var(--pxp-bg2); }
body.pxp-v2 .nav-sidebar li a { color: var(--pxp-text); border-color: var(--pxp-line); }

/* ---------- Pulsanti (Button di UX Builder) ---------- */
body.pxp-v2 .button,
body.pxp-v2 button[type="submit"],
body.pxp-v2 input[type="submit"] {
	font-family: var(--pxp-sans);
	font-weight: 400;
	font-size: 12px;
	letter-spacing: .22em;
	text-transform: uppercase;
	border-radius: 0;
	box-shadow: none;
	min-height: 0;
	line-height: 3.4em;
	padding: 0 2.1em;
	transition: background-color .25s, color .25s, border-color .25s;
}
body.pxp-v2 .button.primary,
body.pxp-v2 .button.is-outline.primary,
body.pxp-v2 button[type="submit"],
body.pxp-v2 input[type="submit"] {
	background-color: transparent;
	border: 1px solid var(--pxp-orange);
	color: #fff;
}
body.pxp-v2 .button.primary:not(.is-outline):hover,
body.pxp-v2 .button.is-outline.primary:hover,
body.pxp-v2 button[type="submit"]:hover,
body.pxp-v2 input[type="submit"]:hover,
body.pxp-v2 .button.pxp-fill { background-color: var(--pxp-orange); color: #fff; }
/* Stile "link sottile" = Button con stile "link" in UX Builder */
body.pxp-v2 .button.is-link {
	padding: 0;
	min-height: 0;
	line-height: 1;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--pxp-line2);
	color: var(--pxp-text);
}
body.pxp-v2 .button.is-link:hover { border-color: var(--pxp-orange); color: #fff; }

/* ---------- Sezioni ---------- */
body.pxp-v2 .section { background-color: var(--pxp-bg); }
body.pxp-v2 .pxp-line-top { border-top: 1px solid var(--pxp-line); }
body.pxp-v2 .is-divider { background-color: var(--pxp-orange); max-width: 40px; height: 1px; }
body.pxp-v2 .section-title-container .section-title { border-bottom: 0; }
body.pxp-v2 .section-title b { display: none; }

/* Elenchi con trattino arancio */
body.pxp-v2 .pxp-list ul { list-style: none; margin: 0 0 2em; border-top: 1px solid var(--pxp-line); }
body.pxp-v2 .pxp-list li {
	margin: 0;
	padding: .8em 0 .8em 30px;
	border-bottom: 1px solid var(--pxp-line);
	position: relative;
	font-size: .95rem;
	color: #d5dadd;
}
body.pxp-v2 .pxp-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 1.45em;
	width: 14px;
	height: 1px;
	background: var(--pxp-orange);
}


/* Row alternata: aggiungere la classe pxp-rev alla Row (foto a destra su desktop) */
@media (min-width: 850px) {
	body.pxp-v2 .row.pxp-rev { flex-direction: row-reverse; }
}
body.pxp-v2 .pxp-service { border-top: 1px solid var(--pxp-line); }


/* Schede (Tabs di UX Builder con classe pxp-tabs) */
body.pxp-v2 .pxp-tabs > .nav { margin-bottom: 40px; gap: 6px 28px; flex-wrap: wrap; }
body.pxp-v2 .pxp-tabs > .nav > li > a {
	font-family: var(--pxp-sans); font-size: 12px; font-weight: 400; letter-spacing: .22em;
	text-transform: uppercase; color: var(--pxp-muted); padding: 10px 0;
}
body.pxp-v2 .pxp-tabs > .nav > li.active > a, body.pxp-v2 .pxp-tabs > .nav > li > a:hover { color: #fff; }
body.pxp-v2 .pxp-tabs > .nav-line > li > a::before { background-color: var(--pxp-orange); height: 1px; }


/* Row a 5 colonne su desktop (classe pxp-five sulla Row) */
@media (min-width: 850px) {
	body.pxp-v2 .row.pxp-five > .col { flex-basis: 20%; max-width: 20%; }
}


/* Spaziature compatte: niente margine automatico sotto l'ultimo elemento di colonna e sezione */
body.pxp-v2 .section .col-inner > *:last-child,
body.pxp-v2 .section .col-inner > *:last-child > *:last-child { margin-bottom: 0; }
@media (min-width: 850px) {
	body.pxp-v2 .section .section-content > .row:last-child > .col { padding-bottom: 0; }
}


/* Elenco clienti su più colonne (Text con classe pxp-clienti) */
body.pxp-v2 .pxp-clienti ul { list-style: none; margin: 0; columns: 3; column-gap: 48px; }
body.pxp-v2 .pxp-clienti li {
	break-inside: avoid; margin: 0; padding: .55em 0; border-bottom: 1px solid var(--pxp-line);
	font-size: .95rem; color: #d5dadd;
}
body.pxp-v2 .pxp-clienti li span { display: block; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--pxp-muted); margin-top: .2em; }
@media (max-width: 849px) { body.pxp-v2 .pxp-clienti ul { columns: 2; } }
@media (max-width: 549px) { body.pxp-v2 .pxp-clienti ul { columns: 1; } }

/* ---------- Immagini, banner, gallerie ---------- */
body.pxp-v2 .img-inner, body.pxp-v2 .banner, body.pxp-v2 .box-image { background-color: var(--pxp-bg2); }
body.pxp-v2 .banner .text-box h2,
body.pxp-v2 .banner .text-box h3 { font-family: var(--pxp-serif); font-weight: 300; }
body.pxp-v2 .image-zoom img, body.pxp-v2 .image-zoom-long img { transition: transform 1s cubic-bezier(.2, .7, .2, 1); }
body.pxp-v2 .overlay, body.pxp-v2 .image-overlay-add { transition: opacity .35s; }

/* Card con didascalia in basso (Banner / Box in una Row con classe pxp-tiles) */
body.pxp-v2 .pxp-tiles .box-text,
body.pxp-v2 .pxp-tiles .text-box {
	text-align: left;
}
body.pxp-v2 .pxp-tiles .box-overlay .box-text,
body.pxp-v2 .pxp-tiles .banner .text-box-content {
	background: linear-gradient(transparent, rgba(0, 0, 0, .55) 40%, rgba(0, 0, 0, .88));
	padding-top: 70px;
}
body.pxp-v2 .pxp-tiles .cat-label,
body.pxp-v2 .pxp-tiles .is-xsmall {
	font-family: var(--pxp-sans);
	font-size: 11px;
	letter-spacing: .24em;
	text-transform: uppercase;
	color: var(--pxp-orange-lt);
	opacity: 1;
}
body.pxp-v2 .pxp-tiles .box-text h5,
body.pxp-v2 .pxp-tiles .post-title {
	font-family: var(--pxp-serif);
	font-weight: 400;
	font-size: 1.5rem;
	text-transform: none;
	letter-spacing: 0;
	color: #fff;
}
body.pxp-v2 .pxp-tiles .is-divider,
body.pxp-v2 .pxp-tiles .post-meta,
body.pxp-v2 .pxp-tiles .badge { display: none; }


/* Gallery: didascalie visibili solo al passaggio del mouse */
body.pxp-v2 .gallery-box .box-text {
	opacity: 0;
	transform: translateY(8px);
	transition: opacity .3s ease, transform .3s ease;
	background: linear-gradient(transparent, rgba(0, 0, 0, .78));
	padding-top: 50px;
	pointer-events: none;
}
body.pxp-v2 .gallery-box:hover .box-text,
body.pxp-v2 .gallery-box:focus-within .box-text { opacity: 1; transform: none; }
body.pxp-v2 .gallery-box .box-text p { font-size: 13px; color: #fff; margin: 0; }
@media (hover: none) {
	body.pxp-v2 .gallery-box .box-text { display: none; }
}

/* Gallery di Flatsome: didascalie */
body.pxp-v2 .gallery-col .box-text { color: var(--pxp-text); }
body.pxp-v2 .mfp-bg { background: #000; opacity: .94; }

/* ---------- Loghi clienti (Row di UX Image con classe pxp-loghi) ---------- */
body.pxp-v2 .pxp-loghi img {
	filter: grayscale(1) invert(1);
	mix-blend-mode: screen;
	opacity: .45;
	transition: opacity .3s;
}
body.pxp-v2 .pxp-loghi .img:hover img { opacity: .9; }
body.pxp-v2 .pxp-loghi .img-inner { background: transparent; }

/* Griglia lavori a tutta larghezza (Blog posts dentro una Row full-width) */
body.pxp-v2 .row-full-width .row.pxp-tiles { max-width: none; margin-left: 0; margin-right: 0; }


/* Loghi neri dei marchi collegati, resi bianchi sul fondo scuro (Row con classe pxp-marchi) */
body.pxp-v2 .pxp-marchi .img-inner { background: transparent; }
body.pxp-v2 .pxp-marchi img { filter: invert(1); opacity: .9; transition: opacity .3s; }
body.pxp-v2 .pxp-marchi a:hover img { opacity: 1; }
body.pxp-v2 .pxp-marchi .pxp-no-invert img { filter: none; }

/* ---------- Articoli / schede lavoro ---------- */
body.pxp-v2 .entry-header-text { text-align: left; }
body.pxp-v2 .entry-category a,
body.pxp-v2 .entry-meta { font-family: var(--pxp-sans); font-size: 11px; letter-spacing: .24em; text-transform: uppercase; color: var(--pxp-muted); }
body.pxp-v2 .entry-category a { color: var(--pxp-orange-lt); }
body.pxp-v2 .entry-content { font-size: 1.05rem; }
body.pxp-v2 .entry-divider { display: none; }
body.pxp-v2 .blog-share, body.pxp-v2 .entry-author { border-color: var(--pxp-line); }
body.pxp-v2 .navigation-post { border-top: 1px solid var(--pxp-line); }
body.pxp-v2 .navigation-post a { font-family: var(--pxp-serif); font-size: 1.4rem; }
body.pxp-v2 .post-sidebar, body.pxp-v2 .widget { color: var(--pxp-muted); }

body.pxp-v2 .pxp-meta dd { font-size: 1.25rem; margin-bottom: .9em; }
body.pxp-v2.single-post .entry-header-text { padding-bottom: 1.5em; }
body.pxp-v2.single-post .entry-title { font-size: clamp(2.4rem, 4.6vw, 4.4rem); }
body.pxp-v2.single-post .entry-image img { width: 100%; }

/* ---------- Moduli (Contact Form 7) ---------- */
body.pxp-v2 input[type="text"], body.pxp-v2 input[type="email"], body.pxp-v2 input[type="tel"],
body.pxp-v2 input[type="search"], body.pxp-v2 input[type="url"], body.pxp-v2 select, body.pxp-v2 textarea {
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--pxp-line2);
	border-radius: 0;
	box-shadow: none;
	color: var(--pxp-text);
	font-family: var(--pxp-sans);
	font-weight: 300;
	font-size: 1.05rem;
	padding-left: 0;
	padding-right: 0;
}
body.pxp-v2 input:focus, body.pxp-v2 select:focus, body.pxp-v2 textarea:focus { border-color: var(--pxp-orange); box-shadow: none; background: transparent; }
body.pxp-v2 select option { background: var(--pxp-bg2); }
body.pxp-v2 label, body.pxp-v2 .wpcf7 label { font-size: 11px; font-weight: 400; letter-spacing: .24em; text-transform: uppercase; color: var(--pxp-muted); }
body.pxp-v2 .wpcf7-acceptance label, body.pxp-v2 .wpcf7-list-item-label { letter-spacing: 0; text-transform: none; font-size: 13px; }
body.pxp-v2 .wpcf7-checkbox .wpcf7-list-item { margin: 0 8px 8px 0; }
body.pxp-v2 .wpcf7 form .wpcf7-response-output { border-color: var(--pxp-orange); color: var(--pxp-text); }


/* Modulo contatti (Contact Form 7, wrapper .pxp-cf7) */
body.pxp-v2 .pxp-cf7-full { margin-bottom: 1.6em; }
body.pxp-v2 .pxp-cf7 .wpcf7-checkbox { display: flex; flex-wrap: wrap; gap: 10px; margin-top: .8em; }
body.pxp-v2 .pxp-cf7 .wpcf7-checkbox .wpcf7-list-item { margin: 0; }
body.pxp-v2 .pxp-cf7 .wpcf7-checkbox label {
	display: inline-flex; align-items: center; gap: 8px; cursor: pointer;
	border: 1px solid var(--pxp-line2); border-radius: 999px; padding: 9px 16px;
	font-size: 14px; letter-spacing: .02em; text-transform: none; color: #d5dadd;
	transition: border-color .2s, background-color .2s;
}
body.pxp-v2 .pxp-cf7 .wpcf7-checkbox label:has(input:checked) { border-color: var(--pxp-orange); background: rgba(198,112,49,.15); color: #fff; }
body.pxp-v2 .pxp-cf7 .wpcf7-checkbox input { accent-color: var(--pxp-orange); margin: 0; }
body.pxp-v2 .pxp-cf7 label > .wpcf7-form-control-wrap { display: block; margin-top: .4em; }
body.pxp-v2 .pxp-cf7 .wpcf7-acceptance input { accent-color: var(--pxp-orange); }
body.pxp-v2 .pxp-cf7 .wpcf7-acceptance a { color: var(--pxp-orange-lt); }
body.pxp-v2 .pxp-cf7 .wpcf7-not-valid-tip { color: #f0a070; font-size: 13px; text-transform: none; letter-spacing: 0; }
body.pxp-v2 .pxp-contact address { font-style: normal; margin-bottom: 1.5em; }
body.pxp-v2 .pxp-contact dl { display: block; margin: 0; }
body.pxp-v2 .pxp-contact dt, body.pxp-v2 .pxp-contact dd { float: none; display: block; width: auto; padding: 0; text-align: left; font-style: normal; }
body.pxp-v2 .pxp-contact dd { text-transform: none; letter-spacing: 0; }
body.pxp-v2 .pxp-contact dt { font-size: 11px; letter-spacing: .24em; text-transform: uppercase; color: var(--pxp-muted); margin-bottom: .3em; }
body.pxp-v2 .pxp-contact dd { font-family: var(--pxp-serif); font-size: 1.7rem; line-height: 1.3; margin: 0 0 1.2em; color: var(--pxp-text); }


/* ---------- WooCommerce (Carrello, Pagamento, Il mio account) ---------- */
body.pxp-v2 .woocommerce table.shop_table,
body.pxp-v2 .woocommerce table.shop_table th,
body.pxp-v2 .woocommerce table.shop_table td { border-color: var(--pxp-line); color: var(--pxp-text); background: transparent; }
body.pxp-v2 .woocommerce table.shop_table th,
body.pxp-v2 .cart_totals > h2, body.pxp-v2 .woocommerce-billing-fields > h3,
body.pxp-v2 #order_review_heading, body.pxp-v2 .woocommerce-additional-fields > h3 {
	font-family: var(--pxp-sans); font-size: 11px; font-weight: 400; letter-spacing: .24em; text-transform: uppercase; color: var(--pxp-muted);
}
body.pxp-v2 .woocommerce .product-name a { color: var(--pxp-text); }
body.pxp-v2 .woocommerce .amount, body.pxp-v2 .woocommerce .order-total .amount { color: var(--pxp-text); }
body.pxp-v2 .woocommerce .order-total .amount { font-family: var(--pxp-serif); font-size: 1.6rem; color: var(--pxp-orange-lt); }
body.pxp-v2 .cart_totals, body.pxp-v2 .checkout-sidebar, body.pxp-v2 .col-inner.has-border,
body.pxp-v2 .woocommerce-checkout-review-order { background: var(--pxp-bg2); border: 1px solid var(--pxp-line); padding: 24px; }
/* Una sola cornice: i riquadri annidati nel riepilogo ordine restano senza bordo né rientro */
body.pxp-v2 .col-inner.has-border .checkout-sidebar,
body.pxp-v2 .col-inner.has-border .woocommerce-checkout-review-order,
body.pxp-v2 .checkout-sidebar .woocommerce-checkout-review-order { background: none; border: 0; padding: 0; }
@media (max-width: 549px) {
	body.pxp-v2 .cart_totals, body.pxp-v2 .checkout-sidebar, body.pxp-v2 .col-inner.has-border { padding: 18px; }
}
body.pxp-v2 .is-well, body.pxp-v2 .col-inner.is-well { background: var(--pxp-bg2) !important; box-shadow: none; border: 1px solid var(--pxp-line); }
body.pxp-v2 #payment, body.pxp-v2 #payment .payment_methods,
body.pxp-v2 #payment div.payment_box { background: var(--pxp-bg3) !important; color: #c3c9cd; border-color: var(--pxp-line); }
body.pxp-v2 #payment div.payment_box::before { border-bottom-color: var(--pxp-bg3) !important; }
body.pxp-v2 #payment .payment_methods label { color: var(--pxp-text); }
body.pxp-v2 .woocommerce .button.alt, body.pxp-v2 .woocommerce button#place_order,
body.pxp-v2 .woocommerce .checkout-button, body.pxp-v2 .woocommerce .wc-proceed-to-checkout .button {
	background-color: var(--pxp-orange) !important; border-color: var(--pxp-orange) !important; color: #fff !important;
}
body.pxp-v2 .woocommerce .button.alt:hover, body.pxp-v2 .woocommerce button#place_order:hover,
body.pxp-v2 .woocommerce .checkout-button:hover { background-color: var(--pxp-orange-lt) !important; border-color: var(--pxp-orange-lt) !important; }
body.pxp-v2 .woocommerce-message, body.pxp-v2 .woocommerce-info, body.pxp-v2 .woocommerce-error,
body.pxp-v2 .message-container, body.pxp-v2 .woocommerce-notices-wrapper .message-wrapper {
	background: var(--pxp-bg2); color: var(--pxp-text); border: 1px solid var(--pxp-line); border-left: 2px solid var(--pxp-orange);
}
body.pxp-v2 .woocommerce-error { border-left-color: #e06a5a; }
body.pxp-v2 .woocommerce form .form-row label { font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--pxp-muted); }
body.pxp-v2 .woocommerce form .form-row .required { color: var(--pxp-orange-lt); }
body.pxp-v2 .select2-container--default .select2-selection--single {
	background: transparent; border: 0; border-bottom: 1px solid var(--pxp-line2); border-radius: 0; height: 2.6em;
}
body.pxp-v2 .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--pxp-text); line-height: 2.6em; padding-left: 0; }
body.pxp-v2 .select2-dropdown { background: var(--pxp-bg2); border-color: var(--pxp-line2); color: var(--pxp-text); }
body.pxp-v2 .select2-results__option--highlighted { background: var(--pxp-orange) !important; }
body.pxp-v2 .woocommerce-MyAccount-navigation ul li { border-color: var(--pxp-line); }
body.pxp-v2 .woocommerce-MyAccount-navigation ul li a { color: #cfd4d7; font-size: 12px; letter-spacing: .18em; text-transform: uppercase; }
body.pxp-v2 .woocommerce-MyAccount-navigation ul li.is-active a,
body.pxp-v2 .woocommerce-MyAccount-navigation ul li a:hover { color: var(--pxp-orange-lt); }
body.pxp-v2 .woocommerce .quantity input.qty { color: var(--pxp-text); background: transparent; border-color: var(--pxp-line2); }
body.pxp-v2 .woocommerce .cart-empty, body.pxp-v2 .return-to-shop { text-align: center; }
body.pxp-v2 .checkout-breadcrumbs a, body.pxp-v2 .checkout-breadcrumbs .divider { color: var(--pxp-muted); }
body.pxp-v2 .checkout-breadcrumbs a.current { color: #fff; }
/* Testi legali leggibili (Text con classe pxp-legal) */
body.pxp-v2 .pxp-legal h2, body.pxp-v2 .pxp-legal h3 { font-size: 1.6rem; margin-top: 1.6em; }
body.pxp-v2 .pxp-legal p, body.pxp-v2 .pxp-legal li { font-size: 1rem; line-height: 1.75; }

/* ---------- Footer ---------- */
body.pxp-v2 .footer-wrapper,
body.pxp-v2 .footer-1, body.pxp-v2 .footer-2,
body.pxp-v2 .absolute-footer { background-color: var(--pxp-bg) !important; color: var(--pxp-muted); }
body.pxp-v2 .footer-wrapper { border-top: 1px solid var(--pxp-line); }
body.pxp-v2 .footer-wrapper .widget-title,
body.pxp-v2 .footer-wrapper h3, body.pxp-v2 .footer-wrapper h4 {
	font-family: var(--pxp-sans);
	font-size: 11px;
	font-weight: 400;
	letter-spacing: .28em;
	text-transform: uppercase;
	color: var(--pxp-text);
}
body.pxp-v2 .footer-wrapper a { color: var(--pxp-muted); }
body.pxp-v2 .footer-wrapper a:hover { color: var(--pxp-orange-lt); }
body.pxp-v2 .absolute-footer { border-top: 1px solid var(--pxp-line); font-size: 12px; }
body.pxp-v2 .back-to-top { background: var(--pxp-bg2); border-color: var(--pxp-line2); color: #fff; }

/* ---------- Accessibilità e movimento ---------- */
body.pxp-v2 a:focus-visible, body.pxp-v2 .button:focus-visible, body.pxp-v2 input:focus-visible {
	outline: 2px solid var(--pxp-orange-lt);
	outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
	body.pxp-v2 * { transition: none !important; animation: none !important; }
}

/* ---------- Mobile ---------- */
@media only screen and (max-width: 48em) {
	body.pxp-v2 .header-main { border-bottom: 1px solid var(--pxp-line); }
	body.pxp-v2 .pxp-list li { font-size: .9rem; }
}

/* Video esterni bloccati dal plugin Cookie & Privacy (pxpc): riquadro scuro coerente */
body.pxp-v2 .pxp-video .pxpc-embed { background: var(--pxp-bg2, #141619); border: 1px solid var(--pxp-line, rgba(255,255,255,.08)); border-radius: 0; aspect-ratio: 16 / 9; display: flex; align-items: center; justify-content: center; }
body.pxp-v2 .pxp-video .pxpc-embed__inner { background: transparent; color: #cfd4d7; text-align: center; padding: 24px; max-width: 460px; }
body.pxp-v2 .pxp-video .pxpc-embed__title { font-family: var(--pxp-serif); font-size: 1.5rem; color: #fff; margin-bottom: .4em; }
body.pxp-v2 .pxp-video .pxpc-embed__text { font-size: .85rem; color: #9aa3a9; }
body.pxp-v2 .pxp-video .pxpc-embed__btn { background: var(--pxp-orange); border-color: var(--pxp-orange); color: #fff; border-radius: 0; letter-spacing: .15em; text-transform: uppercase; font-size: 11px; }
body.pxp-v2 .pxp-video .pxpc-embed__btn:hover { background: var(--pxp-orange-lt); border-color: var(--pxp-orange-lt); }

/* Footer 2026 (blocco UX "footer-2026") */
body.pxp-v2 .pxp-footer { font-size: 14px; line-height: 1.7; color: var(--pxp-muted); }
body.pxp-v2 .pxp-footer p { color: var(--pxp-muted); }
body.pxp-v2 .pxp-footer-logo img { width: 170px; height: auto; display: block; }
body.pxp-v2 .pxp-footer-title { font-family: var(--pxp-sans); font-size: 11px; letter-spacing: .25em; text-transform: uppercase; color: var(--pxp-orange-lt) !important; margin-bottom: 1.2em; }
body.pxp-v2 .pxp-footer-links { list-style: none; margin: 0; padding: 0; }
body.pxp-v2 .pxp-footer-links li { margin: 0 0 .55em; padding: 0; list-style: none; }
body.pxp-v2 .pxp-footer a { color: #cfd4d7; transition: color .2s ease; }
body.pxp-v2 .pxp-footer a:hover, body.pxp-v2 .pxp-footer a:focus-visible { color: var(--pxp-orange-lt); }
body.pxp-v2 .pxp-footer address { font-style: normal; }
body.pxp-v2 .pxp-footer-social a { display: inline-block; margin-right: 1.4em; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; }
body.pxp-v2 .absolute-footer a { color: #cfd4d7; }
body.pxp-v2 .absolute-footer a:hover { color: var(--pxp-orange-lt); }
@media (max-width: 549px) { body.pxp-v2 .pxp-footer .col { padding-bottom: 25px; } }

/* Catalogo plugin: schede alla stessa altezza, prezzo e pulsante allineati in fondo. */
body.pxp-v2 .pxp-plugin-card > .col-inner { display: flex; flex-direction: column; height: 100%; }
body.pxp-v2 .pxp-plugin-card .pxp-plugin-price { margin-top: auto; padding-top: .5em; }
body.pxp-v2 .pxp-plugin-card > .col-inner > .button { align-self: flex-start; margin-bottom: 0; }