﻿/*
 * Theme custom styles — sezioni generate da Figma
 * Design tokens: colore primario #2B2A29 (nero fifa), Oswald (headings), Open Sans (body)
 */

/*
 <style>
@import url('https://fonts.googleapis.com/css2?family=Anton&display=swap');
</style>*/

<style>
@import url('https://fonts.googleapis.com/css2?family=Anton&family=Khand:wght@300;400;500;600;700&display=swap');
</style>


.anton-regular {
  font-family: "Anton", sans-serif;
  font-weight: 400;
  font-style: normal;
}

:root {
	--plb-color-dark: #2B2A29;
	--plb-color-light-bg: #f5f5f5;
	--plb-font-heading: 'Anton', sans-serif;
	/*--plb-font-body: 'Open Sans', sans-serif;*/
	--plb-font-body: 'Poppins', sans-serif;
}

body,
.plb-body {
	font-family: var(--plb-font-body);
	color: var(--plb-color-dark);
}



.plb-heading,
.plb-section h1,
.plb-section h2 {
	font-family: var(--plb-font-heading);
	font-weight: 400;
	color: #000;
	margin: 0;
}

.plb-h1 { font-size: 50px; line-height: 1; }
.plb-h2 { font-size: 35px; line-height: 1; }

.plb-intro-lead {
	font-family: var(--plb-font-body);
	font-weight: 600;
	font-size: 18px;
	line-height: 1.2;
}

.plb-text {
	font-family: var(--plb-font-body);
	font-size: 16px;
	line-height: 1.4;
}

.plb-text strong,
.plb-text b { font-weight: 600; }

/* CTA button — replica lo stile del Figma (bg nero, testo bianco uppercase, radius 2px) */
.plb-btn {
	display: inline-block;
	background-color: var(--plb-color-dark);
	color: #fff;
	font-family: var(--plb-font-body);
	font-weight: 700;
	font-size: 18px;
	line-height: 1;
	/*text-transform: uppercase;*/
	text-decoration: none;
	padding: 10px 15px;
	border-radius: 2px;
	border: 0;
	transition: opacity .2s ease-in-out;
}
.plb-btn:hover,
.plb-btn:focus {
	/*color: #fff;*/
	opacity: .85;
}

/* ═════════════════════════════════════════════════════════════════════════
 * SITE HEADER (redesign landing) — bianco con brand Fi.Fa. + tagline + menu
 * ═════════════════════════════════════════════════════════════════════════ */

.plb-site-header {
	background-color: #fff;
	border-bottom: 1px solid rgba(0,0,0,.08);
}
.plb-site-nav {
	background-color: #fff;
	padding: 18px 0;
}
.plb-site-nav .container { max-width: 1280px; }

.plb-site-brand {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	padding: 0;
	text-decoration: none;
}
.plb-site-brand-logo,
.plb-site-brand .custom-logo {
	height: 26px;
	width: auto;
	display: block;
	/* Il logo sorgente è bianco: lo scuriamo via filter per usarlo su bg chiaro. */
	filter: brightness(0);
}
.plb-site-brand-tagline {
	/*font-family: 'Instrument Sans', 'Open Sans', sans-serif;*/
	font-family: 'Poppins', 'Open Sans', sans-serif;
	font-weight: 600;
	font-size: 11px;
	line-height: 1;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(0,0,0,.55);
	padding-left: 14px;
	border-left: 1px solid rgba(0,0,0,.15);
}

/* Menu principale */
.plb-site-menu { gap: 28px; }
.plb-site-menu .nav-link {
	/*font-family: 'Instrument Sans', 'Open Sans', sans-serif;*/
	font-family: 'Poppins', 'Open Sans', sans-serif;
	font-weight: 500;
	font-size: 14px;
	line-height: 1;
	color: rgba(0,0,0,.65);
	padding: 6px 0;
	text-transform: none;
	letter-spacing: 0;
	transition: color .2s;
}
.plb-site-menu .nav-link:hover,
.plb-site-menu .nav-link:focus {
	color: var(--plb-near-black, #0F0F10);
	opacity: 1;
}
/* Voce CTA (classe .plb-cta sul menu item → walker aggiunge .plb-navbar-cta) */
.plb-site-menu .plb-navbar-cta {
	background: var(--plb-ink);
	color: #fff;
	padding: 10px 20px;
	border-radius: 5px;
	font-weight: 600;
}
.plb-site-menu .plb-navbar-cta:hover,
.plb-site-menu .plb-navbar-cta:focus {
	color: #fff;
	background: var(--plb-near-black, #0F0F10);
	opacity: .9;
}

/* Toggler mobile scuro su bianco */
.plb-site-toggler {
	border-color: rgba(0,0,0,.2);
	padding: 4px 10px;
}
.plb-site-toggler .navbar-toggler-icon {
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(0,0,0,0.75)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}
.plb-site-toggler:focus { box-shadow: 0 0 0 .15rem rgba(0,0,0,.1); }

@media (max-width: 991.98px) {
	.plb-site-menu {
		gap: 12px;
		padding-top: 16px;
		align-items: flex-start !important;
	}
	.plb-site-menu .plb-navbar-cta { align-self: flex-start; }
	.plb-site-brand { gap: 10px; }
	.plb-site-brand-tagline { padding-left: 10px; font-size: 10px; }
}
@media (max-width: 480px) {
	.plb-site-brand-tagline { display: none; }
}

/* ─── Area utente (icona + dropdown) — adattata al nav chiaro ───────── */
.plb-user-dropdown { position: relative; }
.plb-user-toggle {
	background: transparent;
	border: 0;
	color: var(--plb-near-black, #0F0F10);
	line-height: 1;
	padding: 4px 6px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.plb-user-toggle .bi {
	font-size: 22px;
	line-height: 1;
	display: inline-block;
}
.plb-user-toggle:hover,
.plb-user-toggle:focus {
	color: var(--plb-near-black, #0F0F10);
	opacity: .7;
	outline: none;
	box-shadow: none;
}
.plb-user-toggle::after { display: none !important; }

.plb-user-menu.dropdown-menu {
	background-color: #fff;
	border: 0;
	border-radius: 10px;
	padding: 10px 0;
	margin-top: 0;
	box-shadow: 0 12px 32px rgba(0,0,0,.14);
	min-width: 220px;
}
@media (hover: hover) and (pointer: fine) {
	.plb-user-dropdown:hover > .dropdown-menu,
	.plb-user-dropdown:focus-within > .dropdown-menu { display: block; }
}
.plb-user-menu .dropdown-item {
	font-family: 'Instrument Sans', 'Open Sans', sans-serif;
	font-weight: 500;
	font-size: 14px;
	color: var(--plb-near-black, #0F0F10);
	padding: 10px 18px;
	line-height: 1.3;
}
.plb-user-menu .dropdown-item:hover,
.plb-user-menu .dropdown-item:focus {
	background-color: rgba(0,0,0,.04);
	color: var(--plb-near-black, #0F0F10);
}
.plb-user-menu .dropdown-divider {
	margin: 6px 10px;
	border-top: 1px solid rgba(0,0,0,.08);
}
.plb-user-menu .plb-user-logout { font-weight: 600; }

.plb-guest-login {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--plb-near-black, #0F0F10);
	text-decoration: none;
	padding: 4px 6px;
	line-height: 1;
}
.plb-guest-login .bi {
	font-size: 22px;
	line-height: 1;
	display: inline-block;
}
.plb-guest-login:hover,
.plb-guest-login:focus { color: var(--plb-near-black, #0F0F10); opacity: .7; }

@media (max-width: 991.98px) {
	.plb-user-dropdown,
	.plb-guest-login { margin-top: 12px; margin-left: 0 !important; }
	.plb-user-menu.dropdown-menu { margin-top: 6px; }
}

/* ═════════════════════════════════════════════════════════════════════════
 * SITE FOOTER (redesign landing) — dark bar + brand/links + legal
 * ═════════════════════════════════════════════════════════════════════════ */

.plb-site-footer {
	background-color: var(--plb-near-black, #0F0F10);
	color: #fff;
	padding: 56px 0 32px;
}
.plb-site-footer .container { max-width: 1280px; }

.plb-footer-main {
	padding-bottom: 32px;
	border-bottom: 1px solid rgba(255,255,255,.08);
}

.plb-footer-brand { }
.plb-footer-title {
	font-family: 'Instrument Sans', 'Open Sans', sans-serif;
	font-weight: 700;
	font-size: 20px;
	line-height: 1.2;
	color: #fff;
	margin: 0 0 6px;
}
.plb-footer-tagline {
	font-family: 'Instrument Sans', 'Open Sans', sans-serif;
	font-weight: 400;
	font-size: 13px;
	line-height: 1.4;
	color: rgba(255,255,255,.55);
	margin: 0;
}

.plb-footer-links {
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
.plb-footer-link-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
}
.plb-footer-link-list a {
	font-family: 'Instrument Sans', 'Open Sans', sans-serif;
	font-weight: 500;
	font-size: 14px;
	color: rgba(255,255,255,.75);
	text-decoration: underline;
	text-underline-offset: 4px;
	transition: color .2s;
}
.plb-footer-link-list a:hover,
.plb-footer-link-list a:focus { color: #fff; }

.plb-footer-legal {
	padding-top: 24px;
}
.plb-footer-legal small {
	display: block;
	font-family: 'Instrument Sans', 'Open Sans', sans-serif;
	font-size: 11px;
	line-height: 1.6;
	color: rgba(255,255,255,.4);
}
.plb-footer-legal a {
	color: rgba(255,255,255,.55);
	text-decoration: none;
}
.plb-footer-legal a:hover { color: #fff; }

@media (max-width: 767.98px) {
	.plb-site-footer { padding: 40px 0 24px; }
	.plb-footer-links { justify-content: flex-start; }
	.plb-footer-link-list { gap: 16px; }
}

/* Utility per menu WP: mostra/nascondi voci in base al ruolo dell'utente.
 * Uso: da Aspetto → Menu → Classi CSS, aggiungi una di queste classi alla voce.
 *
 *   only-loggati        → visibile SOLO agli utenti loggati (qualsiasi ruolo)
 *   only-guest          → visibile SOLO ai visitatori sloggati
 *   only-administrator  → visibile SOLO agli amministratori
 *   only-editor         → visibile SOLO agli editor
 *   only-subscriber     → visibile SOLO ai sottoscrittori
 *   only-scuola         → visibile SOLO agli utenti con ruolo Scuola
 *   hide-administrator, hide-editor, hide-subscriber, hide-scuola, hide-guest
 *                       → nascondi la voce a quel ruolo specifico
 *
 * Le classi funzionano su qualsiasi elemento con quella classe (menu-item o altro).
 */
.only-loggati,
.only-guest,
.only-administrator,
.only-editor,
.only-subscriber,
.only-scuola { display: none !important; }

.plb-role-guest .only-guest { display: revert !important; }
.plb-role-administrator .only-loggati,
.plb-role-editor .only-loggati,
.plb-role-subscriber .only-loggati,
.plb-role-scuola .only-loggati { display: revert !important; }
.plb-role-administrator .only-administrator { display: revert !important; }
.plb-role-editor .only-editor { display: revert !important; }
.plb-role-subscriber .only-subscriber { display: revert !important; }
.plb-role-scuola .only-scuola { display: revert !important; }

.plb-role-administrator .hide-administrator,
.plb-role-editor .hide-editor,
.plb-role-subscriber .hide-subscriber,
.plb-role-scuola .hide-scuola,
.plb-role-guest .hide-guest { display: none !important; }

/* ═════════════════════════════════════════════════════════════════════════════
 * HOME 1921 — sezioni della homepage (frame Figma 103:767).
 * ═════════════════════════════════════════════════════════════════════════════
 */

/* Eyebrow: piccola label uppercase sopra ogni titolo di sezione. */
.plb-eyebrow {
	display: inline-block;
	/*background-color: var(--plb-color-light-bg);*/
	color: #000;
	/*font-family: var(--plb-font-heading);*/
	font-weight: 400;
	font-size: 14px;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: .04em;
	/*padding: 4px 10px;*/
	padding: 4px 0px;
}
/* Quando la sezione ha già sfondo grigio, l'eyebrow si inverte a bianco. */
.plb-eyebrow.plb-eyebrow-on-gray { background-color: #fff; }

/* H2 della Home 1921 (38px con line-height 40 come da design tokens). */
.plb-main-home .plb-h2 { font-size: 38px; line-height: 40px; }

/* Text 18px riusabile (paragrafi di corpo delle sezioni Home 1921). */
.plb-text-lg {
	font-family: var(--plb-font-body);
	font-size: 18px;
	line-height: 1.5;
	color: var(--plb-color-dark);
}
.plb-text-lg strong { font-weight: 600; }
.plb-text-italic { font-style: italic; }
.plb-text-bold   { font-weight: 600; }

/* Sezione IL PROGETTO */
.plb-section-progetto { padding: 80px 0; /*text-align: center;*/ }

/* Sezione CHI PARTECIPA + L'OBIETTIVO (bounded container, card grigia interna) */
.plb-section-chi-partecipa { padding: 40px 0; }
.plb-section-chi-partecipa > .container {
	background-color: var(--plb-color-light-bg);
	padding: 0;
	border-radius: 2px;
	overflow: hidden;
}
.plb-section-chi-partecipa .plb-side-image {
	min-height: 419px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

/* Sezione COME VOTARE */
.plb-section-votare { padding: 56px 0; }
.plb-section-votare em { font-style: italic; font-weight: 700; }

.plb-step-row { margin-top: 40px; margin-bottom: 20px; }
.plb-step-card {
	background-color: var(--plb-color-light-bg);
	padding: 30px;
	height: 100%;
	display: flex;
	flex-direction: column;
	/*align-items: center;*/
	justify-content: flex-start;
	gap: 10px;
	/*text-align: center;*/
}

.plb-step-card.white-card {
	background-color: #fff!important;
}

.plb-step-icon { display: block; height: auto; margin-bottom: 4px; }
.plb-step-title {
	font-family: var(--plb-font-body);
	font-weight: 600;
	font-size: 18px;
	line-height: 1.2;
	color: var(--plb-color-dark);
	margin: 0;
}
.plb-step-text {
	font-family: var(--plb-font-body);
	font-weight: 400;
	font-size: 16px;
	line-height: 1.4;
	color: var(--plb-color-dark);
	margin: 0;
}

/* Sezione PREMI E RICONOSCIMENTI (bounded container, sfondo grigio sul container) */
.plb-section-premi { padding: 40px 0; }
.plb-section-premi > .container {
	/*background-color: var(--plb-color-light-bg);*/
	padding: 60px 40px;
	border-radius: 2px;
}
.plb-prize-row { margin-top: 30px; margin-bottom: 20px; }
.plb-prize-card {
	background-color: transparent;
	border: 1px solid var(--plb-color-dark);
	padding: 30px;
	height: 100%;
	display: flex;
	flex-direction: column;
	/*align-items: center;*/
	justify-content: flex-start;
	gap: 10px;
	/*text-align: center;*/
}
.plb-prize-icon { display: block; height: auto; margin-bottom: 4px; }
.plb-prize-title {
	font-family: var(--plb-font-body);
	font-weight: 600;
	font-size: 18px;
	line-height: 1.2;
	color: var(--plb-color-dark);
	margin: 0;
}
.plb-prize-subtitle {
	font-family: var(--plb-font-body);
	font-style: italic;
	font-weight: 400;
	font-size: 18px;
	line-height: 1.2;
	color: var(--plb-color-dark);
	margin: 0;
}
.plb-prize-text {
	font-family: var(--plb-font-body);
	font-weight: 400;
	font-size: 16px;
	line-height: 1.4;
	color: var(--plb-color-dark);
	margin: 0;
}

/* Sezione IL PERCORSO */
.plb-section-percorso { padding: 56px 0; }
.plb-timeline {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.plb-timeline-item {
	background-color: var(--plb-color-light-bg);
	padding: 30px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.plb-timeline-icon { display: block; height: auto; }
.plb-timeline-item .plb-timeline-body { display: flex; flex-direction: column; gap: 6px; }
.plb-timeline-title {
	font-family: var(--plb-font-heading);
	font-weight: 400;
	font-size: 22px;
	line-height: 1.1;
	color: var(--plb-color-dark);
	text-transform: uppercase;
	margin: 0;
}
.plb-timeline-item .plb-timeline-item-head {
	display: flex;
	align-items: center;
	gap: 13px;
}
.plb-timeline-date {
	font-family: var(--plb-font-body);
	font-weight: 600;
	font-size: 18px;
	line-height: 1.3;
	color: var(--plb-color-dark);
	margin: 0;
}

/* ─── Responsive Home 1921 ─────────────────────────────────────────────── */

/* Small tablet e desktop → contenitore card leggermente più compatto */
@media (max-width: 991.98px) {
	.plb-section-progetto,
	.plb-section-votare,
	.plb-section-premi,
	.plb-section-percorso { padding: 60px 0; }
	.plb-main-home .plb-h1 { font-size: 42px; line-height: 1.05; }
	.plb-main-home .plb-h2 { font-size: 32px; line-height: 34px; }
	.plb-section-chi-partecipa,
	.plb-section-how-it-works { padding: 30px 0; }
	.plb-section-chi-partecipa .plb-side-image,
	.plb-section-how-it-works .plb-side-image { min-height: 320px; }
	.plb-step-card,
	.plb-prize-card,
	.plb-timeline-item { padding: 24px; }
}

/* Mobile — riduzione aggressiva di padding e tipografia */
@media (max-width: 767.98px) {
	.plb-main-home { overflow-x: hidden; }
	.plb-main-home .plb-h1 { font-size: 32px; line-height: 1.1; }
	.plb-main-home .plb-h2 { font-size: 26px; line-height: 28px; }
	.plb-main-home .plb-text-lg { font-size: 16px; line-height: 1.5; }

	.plb-eyebrow { font-size: 12px; padding: 3px 8px; }

	/* Sezioni con contenuto centrato */
	.plb-section-progetto,
	.plb-section-votare,
	.plb-section-premi,
	.plb-section-percorso { padding: 40px 0; }

	/* Split sections (CHI PARTECIPA/OBIETTIVO/HOW-IT-WORKS) */
	.plb-section-chi-partecipa,
	.plb-section-how-it-works { padding: 20px 0; }
	.plb-section-chi-partecipa .plb-side-image,
	.plb-section-how-it-works .plb-side-image { min-height: 220px; }
	/* Inner content: riduci p-4 p-md-5 → padding contenuto */
	.plb-section-chi-partecipa .p-4,
	.plb-section-how-it-works .p-4 { padding: 24px !important; }

	/* Override utility p-5 di Bootstrap sulla sezione "come funziona" (era 3rem su tutti i lati) */
	.plb-section-how-it-works.p-5 { padding: 20px 12px !important; }

	/* Cards e timeline */
	.plb-step-card,
	.plb-prize-card,
	.plb-timeline-item { padding: 20px; }
	.plb-step-title,
	.plb-prize-title { font-size: 17px; }
	.plb-timeline-title { font-size: 18px; }
	.plb-timeline-date,
	.plb-step-text,
	.plb-prize-text { font-size: 14px; }

	/* Row gaps tra card */
	.plb-step-row,
	.plb-prize-row { --bs-gutter-y: 16px; margin-top: 24px; margin-bottom: 12px; }

	/* Il Percorso: stackato + tutti i testi centrati */
	.plb-section-percorso .row > [class*="col-"] + [class*="col-"] { margin-top: 16px; }
	.plb-section-percorso .col-12,
	.plb-section-percorso .plb-timeline-body,
	.plb-section-percorso .plb-timeline-title,
	.plb-section-percorso .plb-timeline-date,
	.plb-section-percorso .plb-text-lg { text-align: center; }
	.plb-section-percorso .plb-eyebrow { align-self: center; }
	.plb-section-percorso .plb-timeline-item {
		align-items: center;
		text-align: center;
	}
	.plb-section-percorso .plb-timeline-icon {
		margin-left: auto;
		margin-right: auto;
	}
}

/* Very small: sotto 400px, testo ancora più compatto */
@media (max-width: 399.98px) {
	.plb-main-home .plb-h1 { font-size: 28px; }
	.plb-main-home .plb-h2 { font-size: 22px; line-height: 26px; }
	.plb-section-chi-partecipa .plb-side-image,
	.plb-section-how-it-works .plb-side-image { min-height: 180px; }
}

/* Sezione hero — banner immagine full-width 1920x500 */
.plb-section-hero {
	width: 100%;
	height: clamp(280px, 26vw, 500px);
	overflow: hidden;
}
.plb-section-hero img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Sezione intro (titolo osservatorio) */
.plb-section-intro {
	padding: 50px 0;
	text-align: center;
}
.plb-section-intro .plb-intro-lead,
.plb-section-intro .plb-text {
	margin-left: auto;
	margin-right: auto;
}

/* Sezione vote — split 50/50 con testo a sx e immagine a dx */
.plb-section-vote {
	background-color: var(--plb-color-light-bg);
}
.plb-section-vote .plb-side-image {
	min-height: 419px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
.plb-section-vote ol {
	padding-left: 1.25rem;
	margin: 0;
}
.plb-section-vote ol li + li { margin-top: 4px; }

/* Sezione FAQ — accordion Bootstrap con look nero fifa */
.plb-section-faq { padding: 50px 0; }
.plb-section-faq .accordion { margin: 0 auto; }
.plb-section-faq .accordion-item {
	background-color: var(--plb-color-light-bg);
	border: 0;
	border-radius: 2px;
	margin-bottom: 5px;
}
.plb-section-faq .accordion-button {
	background-color: var(--plb-color-light-bg);
	color: var(--plb-color-dark);
	font-family: var(--plb-font-body);
	font-weight: 600;
	font-size: 18px;
	padding: 20px 15px;
	border-radius: 2px;
	box-shadow: none;
}
.plb-section-faq .accordion-button:not(.collapsed) {
	background-color: var(--plb-color-light-bg);
	color: var(--plb-color-dark);
	box-shadow: none;
}
.plb-section-faq .accordion-button:focus {
	box-shadow: none;
	border-color: transparent;
}
.plb-section-faq .accordion-body {
	padding: 0 15px 20px;
	font-family: var(--plb-font-body);
	font-size: 16px;
	color: var(--plb-color-dark);
}

/* Sezione how-it-works — split 50/50 con immagine a sx e testo a dx */
.plb-section-how-it-works {
	background-color: var(--plb-color-light-bg);
}
.plb-section-how-it-works .plb-side-image {
	min-height: 419px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

/* Sezione banner immagine finale */
.plb-section-image-banner {
	width: 100%;
	height: clamp(280px, 26vw, 500px);
	background-color: var(--plb-color-light-bg);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

/* Pagina Progetti — form ricerca, griglia, paginazione */
.plb-search-form {
	display: flex;
	gap: 10px;
	max-width: 640px;
	margin: 40px auto 30px;
}
.plb-search-input {
	flex: 1 1 auto;
	font-family: var(--plb-font-body);
	font-size: 16px;
	padding: 10px 15px;
	border: 1px solid #ccc;
	border-radius: 2px;
	background-color: #fff;
}
.plb-search-input:focus {
	outline: none;
	border-color: var(--plb-color-dark);
	box-shadow: 0 0 0 .15rem rgba(43, 42, 41, .15);
}
.plb-search-submit {
	background-color: var(--plb-color-dark);
	color: #fff;
	font-family: var(--plb-font-body);
	font-weight: 700;
	font-size: 16px;
	text-transform: uppercase;
	padding: 10px 20px;
	border-radius: 2px;
	border: 0;
	transition: opacity .2s ease-in-out;
}
.plb-search-submit:hover,
.plb-search-submit:focus { color: #fff; opacity: .85; }

.plb-progetti-results { transition: opacity .2s ease; }
.plb-progetti-results.is-loading { opacity: .55; pointer-events: none; }
.plb-no-results {
	text-align: center;
	font-family: var(--plb-font-body);
	font-size: 16px;
	margin: 30px 0;
}

.plb-pagination { margin-top: 30px;margin-bottom: 30px; }
.plb-pagination .pagination { margin: 0; gap: 5px; }
.plb-pagination .page-link {
	font-family: var(--plb-font-body);
	font-weight: 600;
	font-size: 14px;
	color: var(--plb-color-dark);
	background-color: var(--plb-color-light-bg);
	border: 0;
	border-radius: 2px;
	padding: 8px 14px;
}
.plb-pagination .page-link:hover,
.plb-pagination .page-link:focus {
	color: #fff;
	background-color: var(--plb-color-dark);
	box-shadow: none;
}
.plb-pagination .page-item.active .page-link,
.plb-pagination .page-link.active {
	color: #fff;
	background-color: var(--plb-color-dark);
	border-color: var(--plb-color-dark);
}

/* Pagina Caricamento progetto — form ACF allineato al tema */
.add_new_prj { margin: 30px 0 60px; }
.add_new_prj > [class*="col-"] { max-width: 720px; margin-left: auto; margin-right: auto; }

.fpp-form-wrapper {
	background-color: var(--plb-color-light-bg);
	padding: 30px;
	border-radius: 2px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .04);
}

#fpp-form .acf-fields.acf-form-fields {
	display: flex;
	flex-direction: column;
	gap: 20px;
	border: 0;
	background: transparent;
	padding: 0;
}
#fpp-form .acf-fields > .acf-field {
	padding: 0;
	border: 0;
	background: transparent;
	width: 100%;
}
#fpp-form .acf-fields > .acf-field > .acf-label {
	padding: 0 0 8px;
	margin: 0;
	min-width: 0;
	width: 100%;
	float: none;
}
#fpp-form .acf-fields > .acf-field > .acf-input {
	padding: 0;
	margin: 0;
	min-width: 0;
	width: 100%;
	float: none;
}
#fpp-form .acf-label label {
	font-family: var(--plb-font-body);
	font-weight: 600;
	font-size: 16px;
	color: var(--plb-color-dark);
	margin: 0;
	line-height: 1.2;
}
#fpp-form .acf-required {
	color: #cf2e2e;
	margin-left: 2px;
}

#fpp-form .acf-input-wrap input[type="text"],
#fpp-form .acf-input-wrap input[type="url"] {
	width: 100%;
	font-family: var(--plb-font-body);
	font-size: 16px;
	color: var(--plb-color-dark);
	background-color: #fff;
	border: 1px solid #ccc;
	border-radius: 2px;
	padding: 10px 15px;
	box-shadow: none;
	line-height: 1.2;
	transition: border-color .2s ease-in-out, box-shadow .2s ease-in-out;
}
#fpp-form .acf-input-wrap input[type="text"]:focus,
#fpp-form .acf-input-wrap input[type="url"]:focus {
	outline: none;
	border-color: var(--plb-color-dark);
	box-shadow: 0 0 0 .15rem rgba(43, 42, 41, .15);
}

/* Campo URL con icona globo */
#fpp-form .acf-input-wrap.acf-url {
	display: flex;
	align-items: center;
	background-color: #fff;
	border: 1px solid #ccc;
	border-radius: 2px;
	padding: 0 12px;
	transition: border-color .2s ease-in-out, box-shadow .2s ease-in-out;
}
#fpp-form .acf-input-wrap.acf-url:focus-within {
	border-color: var(--plb-color-dark);
	box-shadow: 0 0 0 .15rem rgba(43, 42, 41, .15);
}
#fpp-form .acf-input-wrap.acf-url .acf-icon {
	color: var(--plb-color-dark);
	opacity: .55;
	margin-right: 6px;
	position: static;
	background: transparent;
	border: 0;
}
#fpp-form .acf-input-wrap.acf-url input[type="url"] {
	border: 0;
	background: transparent;
	box-shadow: none;
	padding: 10px 0;
	flex: 1 1 auto;
}
#fpp-form .acf-input-wrap.acf-url input[type="url"]:focus {
	border: 0;
	box-shadow: none;
}

/* Uploader file */
#fpp-form .acf-file-uploader {
	background-color: #fff;
	border: 1px dashed #bdbdbd;
	border-radius: 2px;
	padding: 15px;
	transition: border-color .2s ease-in-out, background-color .2s ease-in-out;
}
#fpp-form .acf-file-uploader:hover,
#fpp-form .acf-file-uploader:focus-within {
	border-color: var(--plb-color-dark);
	background-color: #fafafa;
}
#fpp-form .acf-basic-uploader {
	display: block;
	cursor: pointer;
	margin: 0;
}
#fpp-form .acf-basic-uploader input[type="file"] {
	display: block;
	width: 100%;
	font-family: var(--plb-font-body);
	font-size: 14px;
	color: var(--plb-color-dark);
	cursor: pointer;
	background: transparent;
	border: 0;
	padding: 0;
}
#fpp-form .acf-basic-uploader input[type="file"]::file-selector-button {
	background-color: var(--plb-color-dark);
	color: #fff;
	font-family: var(--plb-font-body);
	font-weight: 700;
	font-size: 14px;
	text-transform: uppercase;
	border: 0;
	border-radius: 2px;
	padding: 8px 14px;
	margin-right: 12px;
	cursor: pointer;
	transition: opacity .2s ease-in-out;
}
#fpp-form .acf-basic-uploader input[type="file"]::file-selector-button:hover {
	opacity: .85;
}
/* Stato con file già selezionato (mostrato dopo upload) */
#fpp-form .acf-file-uploader .show-if-value.file-wrap {
	background-color: #fff;
	border: 1px solid #e0e0e0;
	border-radius: 2px;
	padding: 15px;
}
#fpp-form .acf-file-uploader .file-info strong { color: var(--plb-color-dark); }

/* Submit */
#fpp-form .acf-form-submit {
	margin-top: 30px;
	padding: 0;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 15px;
}
#fpp-form .fpp-submit,
#fpp-form input[type="submit"].button-primary {
	background-color: var(--plb-color-dark);
	color: #fff;
	font-family: var(--plb-font-body);
	font-weight: 700;
	font-size: 18px;
	line-height: 1;
	text-transform: uppercase;
	text-decoration: none;
	padding: 12px 26px;
	border-radius: 2px;
	border: 0;
	box-shadow: none;
	text-shadow: none;
	cursor: pointer;
	transition: opacity .2s ease-in-out;
}
#fpp-form .fpp-submit:hover,
#fpp-form .fpp-submit:focus,
#fpp-form input[type="submit"].button-primary:hover,
#fpp-form input[type="submit"].button-primary:focus {
	background-color: var(--plb-color-dark);
	color: #fff;
	opacity: .85;
	box-shadow: none;
	outline: none;
}
#fpp-form .acf-spinner {
	width: 20px;
	height: 20px;
	border: 2px solid rgba(43, 42, 41, .2);
	border-top-color: var(--plb-color-dark);
	border-radius: 50%;
	background: transparent;
	visibility: hidden;
}
#fpp-form .acf-spinner.is-active {
	visibility: visible;
	animation: plb-spin .8s linear infinite;
}
@keyframes plb-spin { to { transform: rotate(360deg); } }

/* Responsive form */
@media (max-width: 575.98px) {
	.fpp-form-wrapper { padding: 20px; }
	#fpp-form .fpp-submit,
	#fpp-form input[type="submit"].button-primary {
		width: 100%;
		padding: 14px 20px;
	}
	#fpp-form .acf-form-submit { flex-direction: column; align-items: stretch; }
}

/* Pagina Login — stessa impostazione visiva della pagina Caricamento progetto */
.plb-login-section { margin: 20px 0 60px; }
.plb-login-wrapper {
	background-color: var(--plb-color-light-bg);
	padding: 30px;
	border-radius: 2px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .04);
}

.plb-login-alert {
	font-family: var(--plb-font-body);
	font-size: 14px;
	line-height: 1.4;
	padding: 12px 15px;
	border-radius: 2px;
	margin-bottom: 20px;
}
.plb-login-alert.is-error {
	background-color: rgba(207, 46, 46, .08);
	color: #cf2e2e;
	border-left: 3px solid #cf2e2e;
}

#plb-loginform { display: flex; flex-direction: column; gap: 20px; }
#plb-loginform p { margin: 0; }
#plb-loginform label {
	display: block;
	font-family: var(--plb-font-body);
	font-weight: 600;
	font-size: 16px;
	color: var(--plb-color-dark);
	margin-bottom: 8px;
	line-height: 1.2;
}
#plb-loginform .input,
#plb-loginform input[type="text"],
#plb-loginform input[type="password"] {
	width: 100%;
	font-family: var(--plb-font-body);
	font-size: 16px;
	color: var(--plb-color-dark);
	background-color: #fff;
	border: 1px solid #ccc;
	border-radius: 2px;
	padding: 10px 15px;
	line-height: 1.2;
	box-shadow: none;
	transition: border-color .2s ease-in-out, box-shadow .2s ease-in-out;
}
#plb-loginform .input:focus,
#plb-loginform input[type="text"]:focus,
#plb-loginform input[type="password"]:focus {
	outline: none;
	border-color: var(--plb-color-dark);
	box-shadow: 0 0 0 .15rem rgba(43, 42, 41, .15);
}

#plb-loginform .login-remember label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 400;
	font-size: 14px;
	color: var(--plb-color-dark);
	margin: 0;
	cursor: pointer;
}
#plb-loginform .login-remember input[type="checkbox"] {
	width: 16px;
	height: 16px;
	margin: 0;
	border: 1px solid #b0b0b0;
	border-radius: 2px;
	accent-color: var(--plb-color-dark);
}

#plb-loginform .login-submit { margin: 10px 0 0; }
#plb-loginform .button,
#plb-loginform .button-primary,
#plb-loginform input[type="submit"] {
	width: 100%;
	background-color: var(--plb-color-dark);
	color: #fff;
	font-family: var(--plb-font-body);
	font-weight: 700;
	font-size: 18px;
	line-height: 1;
	text-transform: uppercase;
	text-decoration: none;
	padding: 12px 26px;
	border-radius: 2px;
	border: 0;
	box-shadow: none;
	text-shadow: none;
	cursor: pointer;
	transition: opacity .2s ease-in-out;
}
#plb-loginform .button:hover,
#plb-loginform .button-primary:hover,
#plb-loginform input[type="submit"]:hover,
#plb-loginform .button:focus,
#plb-loginform .button-primary:focus,
#plb-loginform input[type="submit"]:focus {
	background-color: var(--plb-color-dark);
	color: #fff;
	opacity: .85;
	box-shadow: none;
	outline: none;
}

.plb-login-extra {
	margin-top: 20px;
	font-family: var(--plb-font-body);
	font-size: 14px;
	line-height: 1.4;
}
.plb-login-extra .plb-login-link {
	color: var(--plb-color-dark);
	text-decoration: underline;
}
.plb-login-extra .plb-login-link:hover { opacity: .85; }
.plb-login-extra .plb-sep {
	margin: 0 8px;
	color: rgba(43, 42, 41, .5);
}

@media (max-width: 575.98px) {
	.plb-login-wrapper { padding: 20px; }
	.plb-login-extra .plb-sep { display: block; margin: 6px 0; }
}

/* Modale "vote_offline": registrazione come Sottoscrittore */
.plb-vote-modal .modal-dialog { max-width: 940px; }
.plb-vote-modal .modal-content {
	border: 0;
	border-radius: 4px;
	background-color: #fff;
	padding: 12px;
	position: relative;
	box-shadow: 0 20px 50px rgba(0, 0, 0, .18);
}
/* Bordo interno tratteggiato decorativo (come nel design Figma) */
.plb-vote-modal .modal-content::before {
	content: "";
	position: absolute;
	inset: 8px;
	border: 1px dashed #a3d3d3;
	border-radius: 3px;
	pointer-events: none;
}
.plb-vote-modal .modal-body {
	padding: 30px 40px 40px;
	position: relative;
	z-index: 1;
}

/* Close X in alto a destra, senza header */
.plb-vote-modal .plb-vote-modal-close {
	position: absolute;
	top: 22px;
	right: 26px;
	z-index: 2;
	background: transparent;
	border: 0;
	opacity: .7;
	width: 22px;
	height: 22px;
	padding: 0;
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath stroke='%232B2A29' stroke-width='1.5' stroke-linecap='round' d='M4 4l16 16M20 4L4 20'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 22px 22px;
}
.plb-vote-modal .plb-vote-modal-close:hover,
.plb-vote-modal .plb-vote-modal-close:focus { opacity: 1; box-shadow: none; }

.plb-vote-modal .modal-title.plb-h1 {
	/*font-family: var(--plb-font-heading);*/
	font-family: var(--plb-font-display);
	/*font-weight: 400;*/
	font-weight: 600;
	font-size: 42px;
	line-height: 1;
	color: var(--plb-color-dark);
	margin: 0 0 15px;
}

.plb-vote-modal .plb-vote-intro {
	max-width: 640px;
	margin: 0 auto 28px;
	font-size: 15px;
	line-height: 1.45;
}
.plb-vote-modal .plb-vote-intro strong { font-weight: 600; }

.plb-vote-modal .plb-vote-fields { margin-bottom: 20px; }
.plb-vote-modal .plb-form-label {
	display: block;
	font-family: var(--plb-font-body);
	font-weight: 700;
	font-size: 15px;
	color: var(--plb-color-dark);
	margin-bottom: 6px;
}
.plb-vote-modal .plb-form-input {
	width: 100%;
	font-family: var(--plb-font-body);
	font-size: 15px;
	color: var(--plb-color-dark);
	background-color: #fff;
	border: 1px solid #ccc;
	border-radius: 2px;
	padding: 10px 14px;
	line-height: 1.2;
	box-shadow: none;
}
.plb-vote-modal .plb-form-input::placeholder { color: #9a9a9a; }
.plb-vote-modal .plb-form-input:focus {
	outline: none;
	border-color: var(--plb-color-dark);
	box-shadow: 0 0 0 .15rem rgba(43, 42, 41, .15);
}

.plb-vote-modal .plb-vote-privacy {
	margin: 8px 0 24px;
	padding-left: 1.75em;
	font-size: 13px;
	line-height: 1.35;
}
.plb-vote-modal .plb-vote-privacy .form-check-input {
	width: 16px;
	height: 16px;
	margin-top: .2em;
	margin-left: -1.75em;
	border-color: #b0b0b0;
	border-radius: 2px;
}
.plb-vote-modal .plb-vote-privacy .form-check-input:checked {
	background-color: var(--plb-color-dark);
	border-color: var(--plb-color-dark);
}
.plb-vote-modal .plb-vote-privacy .form-check-label {
	font-size: 13px;
	color: var(--plb-color-dark);
	line-height: 1.35;
}
.plb-vote-modal .plb-vote-privacy a {
	color: var(--plb-color-dark);
	text-decoration: underline;
}

.plb-vote-modal .plb-vote-actions { margin-top: 8px; }
.plb-vote-modal .plb-vote-submit {
	display: inline-block;
	font-size: 16px;
	padding: 12px 34px;
	letter-spacing: .5px;
}
.plb-vote-modal .plb-vote-submit[disabled] { opacity: .6; cursor: not-allowed; }

.plb-vote-modal .plb-vote-login-wrap { margin-top: 14px; }
.plb-vote-modal .plb-vote-login-link {
	font-family: var(--plb-font-body);
	font-size: 13px;
	color: var(--plb-color-dark);
	text-decoration: underline;
}
.plb-vote-modal .plb-vote-login-link:hover { opacity: .85; }

.plb-vote-offline-status {
	font-family: var(--plb-font-body);
	font-size: 14px;
	line-height: 1.3;
	margin: 6px 0 0;
	min-height: 1.3em;
	text-align: center;
}
.plb-vote-offline-status.is-error { color: #cf2e2e; }
.plb-vote-offline-status.is-success { color: #1d7a3d; }

@media (max-width: 767.98px) {
	.plb-vote-modal .modal-body { padding: 24px 20px 28px; }
	.plb-vote-modal .modal-title.plb-h1 { font-size: 32px; }
	.plb-vote-modal .plb-vote-intro { font-size: 14px; }
	.plb-vote-modal .plb-vote-submit { width: 100%; }
	.plb-vote-modal .plb-vote-modal-close { top: 14px; right: 16px; }
	.plb-vote-modal .modal-content::before { inset: 6px; }
}

/* Sezione "Altri progetti" con Owl Carousel nella pagina single-progetto */
.plb-related-progetti {
	margin: 60px 0 40px;
}
.plb-related-progetti .plb-h2 {
	font-family: var(--plb-font-heading);
	font-weight: 400;
	color: var(--plb-color-dark);
}
.plb-progetti-carousel .item { height: 100%; }
.plb-progetti-carousel .project-box {
	height: 100%;
	background-color: var(--plb-color-light-bg);
	padding: 20px;
	border-radius: 2px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

/* Owl navigation colorata in tema */
.plb-progetti-carousel .owl-nav button.owl-prev,
.plb-progetti-carousel .owl-nav button.owl-next {
	background-color: var(--plb-color-dark);
	color: #fff;
	width: 34px;
	height: 34px;
	border-radius: 2px;
	font-size: 22px;
	line-height: 1;
	transition: opacity .2s ease-in-out;
}
.plb-progetti-carousel .owl-nav button.owl-prev:hover,
.plb-progetti-carousel .owl-nav button.owl-next:hover {
	background-color: var(--plb-color-dark);
	opacity: .85;
}
.plb-progetti-carousel .owl-dots .owl-dot span {
	background: rgba(43, 42, 41, .25);
	transition: background-color .2s ease-in-out;
}
.plb-progetti-carousel .owl-dots .owl-dot.active span,
.plb-progetti-carousel .owl-dots .owl-dot:hover span {
	background: var(--plb-color-dark);
}

/* Responsive: le sezioni split diventano stacked su mobile */
@media (max-width: 767.98px) {
	.plb-section-vote .plb-side-image,
	.plb-section-how-it-works .plb-side-image {
		min-height: 260px;
	}
	.plb-h1 { font-size: 36px; }
	.plb-h2 { font-size: 28px; }
}

/* ═══════════════════════════════════════════════════════════════════════════
 *  HOMEPAGE V2 — redesign artefatto "L'Osservatorio della Bellezza - Landing"
 *  Replica 1:1 della proposta Figma (frame 1440×6400), adattata a tutta pagina
 *  usando la griglia Bootstrap gia' nel tema. Tutte le regole sono scopate
 *  dentro .plb-home-v2 per non toccare il resto del sito.
 * ═══════════════════════════════════════════════════════════════════════════ */

:root {
	--plb-gray:			 #D9D6D6;
	--plb-accent:        #D4A537;
	--plb-accent-dark:   #7A5C14;
	--plb-eyebrow-ink:   #6B5212;
	--plb-ink:           #121212;
	--plb-ink-soft:      #3A3A3A;
	--plb-ink-muted:     #5A5A5A;
	/*--plb-gray-200:      #EAEAEA;*/
	--plb-gray-200:      #F4F4F4;
	--plb-gray-300:      #D6D2C8;
	--plb-cream:         #F3F1EC;
	--plb-cream-soft:    #F6F4EF;
	/*--plb-font-display:  'Instrument Sans', 'Open Sans', sans-serif;*/
	/*--plb-font-display:  'Poppins', 'Open Sans', sans-serif; */
	--plb-font-display: "Khand", sans-serif;
	--plb-font-serif:    'Anton', sans-serif;
}

/* ─────────────────────────────────────────────────────────────────────────
 *  HEADER (dark navbar) — scopato .plb-home-v2 off, applicato globalmente
 *  perche' header.php e' condiviso.
 * ───────────────────────────────────────────────────────────────────────── */
.plb-site-header {
	/*background: var(--plb-ink);*/
	background: #fff;
	border-bottom: 1px solid #2A2A2A;
	color: #fff;
}
.plb-site-nav {
	background: transparent;
	padding: 16px 24px;
}
.plb-site-nav .container { max-width: 1240px; }
.plb-site-brand { display: flex; align-items: center; gap: 12px; text-decoration: none; color: #fff; }
.plb-site-brand:hover,
.plb-site-brand:focus { color: #fff; opacity: .9; }
.plb-site-brand-shield { flex: 0 0 auto; }
.plb-site-brand-wordmark { display: flex; flex-direction: column; line-height: 1.1; }
.plb-site-brand-wordmark .plb-brand-name {
	font-family: var(--plb-font-display);
	font-weight: 700;
	font-size: 18px;
	letter-spacing: .5px;
	color: #fff;
}
.plb-site-brand-wordmark .plb-brand-tagline {
	font-size: 10px;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: #B8B8B8;
}
.plb-site-menu { gap: 8px 28px; align-items: center; }
.plb-site-menu .nav-link {
	color: #E6E6E6;
	font-size: 15px;
	font-weight: 500;
	/*padding: 8px 2px;*/
	padding-top: 10px;
	padding-bottom: 10px;
	padding-left: 10px!important;
	padding-right: 10px!important;
}

.plb-site-menu .current-menu-item .nav-link,
.plb-site-menu .nav-link:hover,
.plb-site-menu .nav-link:focus { color: #fff; opacity: 1; }

.plb-site-menu a {
	padding: 12px 18px;
	border-radius: 0;
	font-weight: 700;
	font-size: 15px;
}

.plb-site-menu .plb-navbar-cta {
	background: #fff;
	color: var(--plb-ink);
	font-weight: 700;
}

.plb-site-menu .plb-navbar-cta:hover,
.plb-site-menu .plb-navbar-cta:focus {
	background: #fff;
	color: var(--plb-ink);
	opacity: .9;
}
.plb-site-toggler {
	border: 1px solid var(--plb-ink);
	padding: 6px 10px;
}
.plb-site-toggler .navbar-toggler-icon {
	/*background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='%23000000' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");*/
	/*background-image: url("../img/navbar-toggler-icon.svg");*/
}
.plb-guest-login,
.plb-user-toggle {
	/*color: #E6E6E6;*/
	color: #000;
	background: transparent;
	border: 0;
}
/*.plb-guest-login:hover,
.plb-guest-login:focus,
.plb-user-toggle:hover,
.plb-user-toggle:focus { color: #fff; }*/

.plb-guest-login:hover,
.plb-guest-login:focus,
.plb-user-toggle:hover,
.plb-user-toggle:focus { color: #000; }

/* ─────────────────────────────────────────────────────────────────────────
 *  HOMEPAGE V2 wrapper
 * ───────────────────────────────────────────────────────────────────────── */
.plb-home-v2 {
	font-family: var(--plb-font-body);
	color: var(--plb-ink);
	background: #fff;
	text-align: left;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}
.plb-home-v2 a { color: #fff; }
.plb-home-v2 a:hover { opacity: .85; }
.plb-home-v2 strong, .plb-home-v2 b { font-weight: 700; color: var(--plb-ink); }
.plb-home-v2 h1, .plb-home-v2 h2, .plb-home-v2 h3, .plb-home-v2 h4 { color: var(--plb-ink); margin: 0; }

.plb-home-v2 .plb-faq-intro a{
	color: var(--plb-ink)!important;
}

/* Container: tutte le sezioni usano Bootstrap .container, limitato a 1240px */
.plb-home-v2 .container { max-width: 1240px; padding-left: 24px; padding-right: 24px; }

/* ─── Tipografia display ────────────────────────────────────────────── */
.plb-home-v2 .plb-display-xl {
/*	font-family: var(--plb-font-anton); */
	  /*font-family: "Anton", sans-serif;*/
	font-weight: 700;
	/*font-size: clamp(48px, 7vw, 96px);*/
	/*font-size: clamp(48px, 7vw, 75px);*/
	font-size: clamp(48px, 7vw, 70px);
	line-height: .95;
	text-transform:uppercase;
	color: rgba(255, 255, 255, 0); -webkit-text-stroke: 1px black;
}
.plb-home-v2 .plb-display-lg {
	font-family: var(--plb-font-display);
	font-weight: 700;
	font-size: clamp(36px, 4.6vw, 60px);
	line-height: 1.02;
	text-transform:uppercase;
	color: rgba(255, 255, 255, 0); -webkit-text-stroke: 1px black;
}
@media screen and (max-width: 991px){
	.plb-home-v2 .plb-display-lg {
		margin-bottom: 32px;
	}
}
.plb-home-v2 .plb-display-md {
	/*font-family: var(--plb-font-display);*/
	font-weight: 800;
	font-size: 30px;
	letter-spacing: -.5px;
}
.plb-home-v2 .plb-display-sm {
	font-family: var(--plb-font-display);
	font-weight: 800;
	font-size: 26px;
}
.plb-home-v2 .plb-serif-italic {
/*	font-family: var(--plb-font-serif); */
	 /* font-family: "Anton", sans-serif;*/
text-transform:uppercase;
/*	font-style: italic; */
	font-weight: 800;
	color: #000!important;
}
.plb-home-v2 .plb-body-text {
	font-size: 20px;
	line-height: 1.55;
	color: var(--plb-ink-soft);
	max-width: 560px;
	margin: 0;
}
.plb-home-v2 .plb-text-white { color: #fff; }

/* ─── Eyebrow / chip ────────────────────────────────────────────────── */
.plb-home-v2 .plb-eyebrow {
	display: inline-block;
	font-size: 13px;
	font-weight: 700;
	/*letter-spacing: 2px;*/
	text-transform: uppercase;
	color: var(--plb-eyebrow-ink);
	margin-bottom: 16px;
}
.plb-home-v2 .plb-eyebrow-sm { font-size: 11px; letter-spacing: 1.5px; }
.plb-home-v2 .plb-eyebrow-light { color: var(--plb-accent); }
.plb-home-v2 .plb-chip {
	display: inline-block;
	align-self: flex-start;
	font-size: 13px;
	font-weight: 600;
	/*letter-spacing: 1.5px;*/
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--plb-ink);
	/*background: var(--plb-accent);*/
	/*padding: 8px 14px;*/
	padding: 8px 0;
	/*border-radius: 999px;*/
}

/* ─── Bottoni / pill ─────────────────────────────────────────────────── */
#plb-loginform .button, #plb-loginform .button-primary, #plb-loginform input[type="submit"],
.plb-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 52px;
	padding: 0 26px;
	border-radius: 5px;
	font-weight: 700;
	font-size: 17px;
	text-decoration: none;
	border: 0;
	cursor: pointer;
	transition: all .2s;
}


#plb-loginform .button:hover, #plb-loginform .button-primary:hover, #plb-loginform input[type="submit"]:hover,
#plb-loginform .button:focus, #plb-loginform .button-primary:focus, #plb-loginform input[type="submit"]:focus,
.plb-btn:not(.plb-btn-dark):hover,
.plb-btn:not(.plb-btn-dark):focus { opacity: .9; background-color: #fff}


.plb-btn-dark:hover,
.plb-btn-dark:focus { opacity: .9;}

#plb-loginform .button, #plb-loginform .button-primary, #plb-loginform input[type="submit"],
.plb-btn-primary { background: var(--plb-ink); color: #fff; border: 1.5px solid var(--plb-ink);}

#plb-loginform .button:hover, #plb-loginform .button-primary:hover, #plb-loginform input[type="submit"]:hover,
.plb-btn-primary:hover, .plb-btn-primary:focus { border-color: var(--plb-ink); color:var(--plb-ink); border: 1.5px solid var(--plb-ink);}

.plb-btn-dark    { background: var(--plb-ink); color: #fff; }
.plb-btn-outline {
	background: transparent;
	border: 1.5px solid var(--plb-ink-muted);
	color: var(--plb-ink-soft);
	font-weight: 600;
}
.plb-btn-outline:hover,
.plb-btn-outline:focus { background: rgba(0,0,0,.04); opacity: 1; }
.plb-btn-outline-dark {
	background: transparent;
	/*border: 2px solid var(--plb-ink);*/
	border: 1.3px solid var(--plb-ink);
	color: #fff;
}
.plb-btn-outline-light {
	background: transparent;
	border: 1.5px solid var(--plb-ink);
	color: var(--plb-ink);
	font-weight: 600;
	min-height: 48px;
	padding: 0 22px;
	font-size: 16px;
}
.plb-btn-sm {
	min-height: 48px;
	padding: 0 22px;
	font-size: 16px;
	height: fit-content;
	margin-top: auto;
}
.plb-btn .plb-arrow { display: inline-flex; }

/* ═══════════════════════ SFONDI SEZIONI ══════════════════════════════ */
.plb-home-v2 .plb-hero,
.plb-home-v2 .plb-section-partecipa,
.plb-home-v2 .plb-section-faq ,
.plb-home-v2 .plb-section-percorso,
.plb-home-v2 .plb-section-vota{
	background: #fff!important;
}


.plb-home-v2 .plb-section-edizioni,
.plb-home-v2 .plb-section-progetto,
.plb-home-v2 .plb-section-premi{
	background: var(--plb-gray-200)!important;
}



/* ═════════════════════════════ HERO ══════════════════════════════════ */
.plb-home-v2 .plb-hero {
	padding: 72px 0 88px;
	background: #fff;
}
.plb-home-v2 .plb-hero .row { align-items: center; }
.plb-home-v2 .plb-hero-content {
	display: flex;
	flex-direction: column;
	gap: 28px;
	max-width: 640px;
}
.plb-home-v2 .plb-hero-content .plb-chip { align-self: flex-start; margin-bottom: 0; }
.plb-home-v2 .plb-cta-row { display: flex; flex-wrap: wrap; gap: 12px; }
.plb-home-v2 .plb-hero-dates {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 28px;
	font-size: 15px;
	color: var(--plb-ink-muted);
	border-top: 1px solid var(--plb-gray-200);
	padding-top: 16px;
}
.plb-home-v2 .plb-hero-date { display: inline-flex; align-items: center; gap: 8px; }
.plb-home-v2 .plb-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--plb-accent);
	display: inline-block;
}

/* Hero visual: cornice gialla col placeholder "Il tuo lavoro va qui" */
.plb-home-v2 .plb-hero-visual {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 22px;
}
.plb-home-v2 .plb-hero-frame {
	width: 100%;
	max-width: 400px;
	aspect-ratio: 4 / 5;
	box-sizing: border-box;
	/*border: 22px solid var(--plb-accent);
	box-shadow:
		inset 0 0 0 4px var(--plb-accent-dark),
		0 0 0 4px var(--plb-accent-dark),
		0 40px 80px rgba(0,0,0,.35);
	background: var(--plb-cream-soft);*/
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 32px;
	background-position: center;
	background-size: cover;
}

@media screen and (max-width: 991px){
	.plb-home-v2 .plb-hero-frame {
		max-width: 200px;
	}
}

.plb-home-v2 .plb-hero-frame-inner {
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	border: 1.5px dashed #9A9A9A;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	text-align: center;
	padding: 20px;
}
.plb-home-v2 .plb-hero-frame-plus {
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #6B6B6B;
	font-size: 40px;
	font-weight: 300;
	line-height: 1;
}
.plb-home-v2 .plb-hero-frame-text {
	font-family: var(--plb-font-serif);
	font-style: italic;
	font-size: 30px;
	color: var(--plb-ink-soft);
	line-height: 1.1;
	margin: 0;
}
.plb-home-v2 .plb-hero-frame-card {
	background: #fff;
	color: var(--plb-ink);
	padding: 14px 18px;
	width: 100%;
	max-width: 280px;
	box-sizing: border-box;
	font-size: 13px;
	line-height: 1.5;
	box-shadow: 0 10px 30px rgba(0,0,0,.15);
}
.plb-home-v2 .plb-hero-frame-card strong { display: block; font-weight: 700; font-size: 14px; }
.plb-home-v2 .plb-hero-frame-card em {
	display: block;
	/*font-family: var(--plb-font-serif);*/
	font-family: "Poppins";
	font-style: italic;
	color: #4A4A4A;
}
.plb-home-v2 .plb-hero-frame-card span { display: block; color: #4A4A4A; }


/* ═════════════════════════ LE EDIZIONI ═══════════════════════════════ */
.plb-home-v2 .plb-section-edizioni {
	/*padding: 112px 0;*/
	background: var(--plb-gray-200);
}
.plb-home-v2 .plb-section-edizioni .plb-section-head { margin-bottom: 32px; }
.plb-home-v2 .plb-section-edizioni .mt-sec { margin-top: 32px; }
.plb-home-v2 .plb-section-edizioni .plb-progetto-text {
	padding-top: 40px;
	font-size: 18px;
	line-height: 1.65;
	color: var(--plb-ink-soft);
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.plb-home-v2 .plb-section-edizioni .plb-progetto-text p { margin: 0; }
.plb-home-v2 .plb-section-edizioni .container{
	border-radius: 20px;
	overflow: hidden;
	/*background-color: #fff;*/
}
.plb-home-v2 .plb-section-edizioni .no-right{
	padding-right: 0;
}
.plb-home-v2 .plb-section-edizioni .no-right > div{
	width: 100%;
	height: auto;
	margin-bottom: -7px;
}


/* ═════════════════════════ IL PROGETTO ═══════════════════════════════ */
.plb-home-v2 .plb-section-progetto {
	padding: 112px 0;
	/*background: var(--plb-gray-200);*/
	background: #fff;
}
.plb-home-v2 .plb-section-progetto .plb-section-head { margin-bottom: 32px; }
.plb-home-v2 .plb-section-progetto .plb-progetto-text {
	
	font-size: 18px;
	line-height: 1.65;
	color: var(--plb-ink-soft);
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.plb-home-v2 .plb-section-progetto .plb-progetto-text p { margin: 0; }
.plb-home-v2 .plb-progetto-media .plb-progetto-img {
	width: 100%;
	height: 100%;
	min-height: 360px;
	object-fit: cover;
	border-radius: 5px;
	display: block;
}
.plb-home-v2 .plb-progetto-card {
	/*background: var(--plb-cream);*/
	/*background: var(--plb-gray-200);*/
	background: #fff;
	border-radius: 5px;
	padding: 40px;
	display: flex;
	flex-direction: column;
	gap: 28px;
	height: 100%;
	justify-content: center;
}
.plb-home-v2 .plb-chip-group {
	display: flex;
	flex-wrap: wrap;
	/*gap: 10px;*/
	gap: 30px;
}
.plb-home-v2 .plb-chip-outline {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #fff;
	border: 1.5px solid var(--plb-ink);
	border-radius: 999px;
	padding: 10px 18px;
	font-weight: 600;
	font-size: 16px;
	color: var(--plb-ink);
}
.plb-home-v2 .plb-chip-outline .bi { font-size: 16px; }
.plb-home-v2 .plb-progetto-meta {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	border-top: 1px solid var(--plb-gray-300);
	padding-top: 24px;
}
.plb-home-v2 .plb-progetto-meta > div { display: flex; flex-direction: column; gap: 6px; }
.plb-home-v2 .plb-progetto-meta .plb-eyebrow-sm {
	margin-bottom: 0;
	color: var(--plb-ink-muted);
}
.plb-home-v2 .plb-progetto-meta p { margin: 0; font-size: 16px; line-height: 1.45; color: var(--plb-ink-soft); }

[class^="bi-"]::before, [class*=" bi-"]::before{vertical-align: center;}


/* ═════════════════════ COME PARTECIPARE / 3 PASSI ════════════════════ */
.plb-home-v2 .plb-section-partecipa {
	padding: 112px 0;
	/*background: var(--plb-cream);*/
	background: var(--plb-gray-200);;
}
.plb-home-v2 .plb-section-head {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	/*align-items: flex-end;
	gap: 24px;*/
	margin-bottom: 32px;
}
.plb-home-v2 .plb-section-head .plb-headline-wrap {
	display: flex;
	flex-direction: column;
	gap: 16px;
	max-width: 720px;
}
.plb-home-v2 .plb-step-card {
	/*background: #fff;*/
	/*background: transparent;*/
	background-color: #f4f4f4;
	border-radius: 5px;
	padding: 36px;
	height: 100%;
	display: flex;
	flex-direction: column;
	gap: 16px;
	border:1.5px solid #F4F4F4;
}
.plb-home-v2 .plb-step-card-dark {
	/*background: var(--plb-ink);
	color: #fff;*/
	/*background: #fff;
	border-color: #fff;*/
	background: #F4F4F4;
	border-color: #F4F4F4;
}
/*.plb-home-v2 .plb-step-card-dark h3, .plb-home-v2 .plb-step-card-dark h4 { color: #fff; }
.plb-home-v2 .plb-step-card-dark p { color: #D0D0D0; }
.plb-home-v2 .plb-step-card-dark p strong { color: #fff; }*/
.plb-home-v2 .plb-step-num {
	font-family: var(--plb-font-display);
	font-weight: 700;
	font-size: 64px;
	line-height: 1;
	/*color: var(--plb-ink);*/
	color: var(--plb-gray);
}
.plb-home-v2 .plb-step-num-accent { color: var(--plb-gray); }
.plb-home-v2 .plb-step-card h3 { font-size: 26px; }
.plb-home-v2 .plb-step-card p {
	margin: 0;
	font-size: 17px;
	line-height: 1.6;
	color: var(--plb-ink-soft);
}
.plb-home-v2 .plb-step-card.plb-step-card-dark p{
	/*color:#fff;*/
}

/* ═════════════════════════ DATE / IL PERCORSO ════════════════════════ */
.plb-home-v2 .plb-section-percorso {
	padding: 112px 0;
	background: #fff;
}
.plb-home-v2 .plb-section-percorso .plb-section-head {
	align-items: flex-start;
	margin-bottom: 32px;
}
.plb-home-v2 .plb-fase {
	display: flex;
	flex-direction: column;
	gap: 14px;
	border-top: 6px solid var(--plb-gray);
	padding-top: 24px;
	height: 100%;
}
.plb-home-v2 .plb-fase-first { border-top-color: var(--plb-ink); }
.plb-home-v2 .plb-fase-chip {
	align-self: flex-start;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	background: var(--plb-ink);
	color: #fff;
	padding: 6px 12px;
	border-radius: 999px;
}
.plb-home-v2 .plb-fase-label {
	font-size: 14px;
	font-weight: 700;
	color: var(--plb-ink-muted);
}
.plb-home-v2 .plb-fase h3 { font-size: 26px; }
.plb-home-v2 .plb-fase-date {
	margin: 0;
	font-weight: 700;
	font-size: 20px;
	color: var(--plb-ink);
}
.plb-home-v2 .plb-fase p {
	margin: 0;
	font-size: 16px;
	line-height: 1.6;
	color: var(--plb-ink-soft);
}

/* ═════════════════════════════ PREMI ═════════════════════════════════ */
.plb-home-v2 .plb-section-premi {
	padding: 112px 0;
	/*background: var(--plb-ink);
	color: #fff;*/
	background: var(--plb-gray-200);
}
.plb-home-v2 .plb-section-premi .plb-eyebrow { color: var(--plb-accent); }
.plb-home-v2 .plb-section-premi .plb-section-head {
	margin-bottom: 32px;
}
/*.plb-home-v2 .plb-section-premi .plb-display-lg { color: #fff; }*/
.plb-home-v2 .plb-prize-card {
	border: 1.5px solid #fff;
	background: #fff;
	border-radius: 5px;
	padding: 36px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	height: 100%;
}
.plb-home-v2 .plb-prize-card-highlight {
	border: 1.5px solid #3A3A3A;
	background: #fff;
	color: var(--plb-ink);
	border-color: var(--plb-ink);
}
.plb-home-v2 .plb-prize-card-highlight .plb-prize-label { color: var(--plb-ink); }
.plb-home-v2 .plb-prize-card-highlight p { color: var(--plb-ink); }
.plb-home-v2 .plb-prize-label {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	/*color: #B8B8B8;*/
}
.plb-home-v2 .plb-prize-amount {
	font-family: var(--plb-font-display);
	font-weight: 700;
	font-size: 80px!important;
	line-height: 1;
	letter-spacing: -2px;
	margin: 0;
}
.plb-home-v2 .plb-prize-card p {
	margin: 0;
	font-size: 17px;
	line-height: 1.6;
	/*color: #D0D0D0;*/
}

.plb-home-v2 .plb-prize-card-highlight p{
	color:#000;
}

.plb-home-v2 .plb-prize-legal {
	margin: 48px 0 0;
	font-size: 14px;
	line-height: 1.6;
	/*color: #A8A8A8;*/
	max-width: 820px;
}

/* ═════════════════════════════ EDIZIONI ══════════════════════════════════ */
.plb-home-v2 .plb-section-edizioni{
	padding: 112px 0;	
}

/* ═════════════════════════════ VOTA ══════════════════════════════════ */
.plb-home-v2 .plb-section-vota {
	padding: 112px 0;
	background: #fff;
}
/*.plb-home-v2 .plb-section-vota .row { align-items: center; }*/
.plb-home-v2 .plb-vota-media {
	border-radius: 5px;
	overflow: hidden;
	line-height: 0;
}
.plb-home-v2 .plb-vota-media img {
	display: block;
	width: 100%;
	height: 440px;
	object-fit: cover;
}
.plb-home-v2 .plb-vota-body { display: flex; flex-direction: column; gap: 24px; }
.plb-home-v2 .plb-vota-body .plb-display-lg { font-size: clamp(34px, 4vw, 60px); }
.plb-home-v2 .plb-steps {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
	font-size: 17px;
	line-height: 1.5;
}
.plb-home-v2 .plb-steps li { display: flex; gap: 14px; align-items: flex-start; }
.plb-home-v2 .plb-steps .plb-step-num-circle {
	flex: 0 0 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--plb-ink);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 14px;
}
.plb-home-v2 .plb-signup {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding-top: 8px;
}
.plb-home-v2 .plb-signup label { font-size: 15px; font-weight: 600; }
.plb-home-v2 .plb-signup-row { display: flex; flex-wrap: wrap; gap: 10px; }
.plb-home-v2 .plb-signup-row input[type="email"] {
	flex: 1 1 240px;
	min-width: 0;
	min-height: 52px;
	padding: 0 18px;
	border-radius: 5px;
	border: 1.5px solid #8A8A8A;
	font-size: 16px;
	font-family: inherit;
	box-sizing: border-box;
	background: #fff;
	color: var(--plb-ink);
}
.plb-home-v2 .plb-signup-row button {
	min-height: 52px;
	padding: 0 26px;
	border-radius: 5px;
	border: 0;
	/*background: var(--plb-ink);*/
	background: var(--plb-ink);
	/*color: #fff;*/
	color: #fff;
	font-weight: 700;
	font-size: 16px;
	font-family: inherit;
	cursor: pointer;
	border: 1.5px solid var(--plb-ink);
	transition: all 0.2s;
}
.plb-home-v2 .plb-signup-row button:hover,
.plb-home-v2 .plb-signup-row button:focus {
	background: transparent;
	border: 1.5px solid var(--plb-ink);
	color: #000;
}

/* ═════════════════════════════ FAQ ═══════════════════════════════════ */
.plb-home-v2 .plb-section-faq {
	padding: 112px 0;
	/*background: var(--plb-cream);*/
	background: var(--plb-gray-200);
}
.plb-home-v2 .plb-section-faq .row { align-items: flex-start; gap: 48px 0; }
.plb-home-v2 .plb-faq-intro { display: flex; flex-direction: column; gap: 16px; }
.plb-home-v2 .plb-faq-intro p { font-size: 17px; line-height: 1.6; color: var(--plb-ink-soft); margin: 0; }
.plb-home-v2 .plb-faq-intro a { font-weight: 700; }
.plb-home-v2 .plb-faq-list { display: flex; flex-direction: column; gap: 36px; }
.plb-home-v2 .plb-faq-cat {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--plb-ink-muted);
	margin: 0 0 6px;
}
.plb-home-v2 .plb-accordion { display: flex; flex-direction: column; gap: 10px; }
.plb-home-v2 .plb-accordion .accordion-item {
	/*background: #fff;*/
	background: var(--plb-gray-200);
	border: 0;
	border-radius: 5px;
	overflow: hidden;
}
.plb-home-v2 .plb-accordion .accordion-button {
	/*background: #fff;*/
	background: var(--plb-gray-200);
	color: var(--plb-ink);
	box-shadow: none;
	padding: 20px 24px;
	min-height: 64px;
	font-size: 18px;
	font-weight: 600;
	font-family: inherit;
	gap: 16px;
}
.plb-home-v2 .plb-accordion .accordion-button:not(.collapsed) {
	/*background: #fff;*/
	background: var(--plb-gray-200);
	color: var(--plb-ink);
}
.plb-home-v2 .plb-accordion .accordion-button:focus {
	/*box-shadow: 0 0 0 .15rem rgba(212,165,55,.4);*/
}
.plb-home-v2 .plb-accordion .accordion-button::after {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23121212' stroke-width='2.5'%3e%3cpath d='M12 5v14M5 12h14'/%3e%3c/svg%3e");
	background-size: 20px;
	width: 20px;
	height: 20px;
	transition: transform .2s;
}
.plb-home-v2 .plb-accordion .accordion-button:not(.collapsed)::after {
	transform: rotate(45deg);
}
.plb-home-v2 .plb-accordion .accordion-body {
	padding: 0 24px 22px;
	font-size: 16px;
	line-height: 1.65;
	color: var(--plb-ink-soft);
}

/* ═════════════════════════════ FINAL CTA ═════════════════════════════ */
.plb-home-v2 .plb-section-patrocinio {
	padding: 54px 0;
	background: var(--plb-gray-200);
}
.plb-home-v2 .plb-section-cta {
	/*padding: 104px 0;*/
	padding: 54px 0;
	background: var(--plb-gray-200);
	color: var(--plb-ink);
}
.plb-home-v2 .plb-section-cta .row { align-items: flex-end; }
.plb-home-v2 .plb-cta-wrap { display: flex; flex-direction: column; gap: 16px; }
.plb-home-v2 .plb-cta-title {
	font-family: var(--plb-font-display);
	font-weight: 700;
	/*font-size: clamp(44px, 6vw, 84px);*/
	font-size: clamp(36px, 4.6vw, 60px);
	line-height: .95;
	letter-spacing: -2px;
	margin: 0;
}
.plb-home-v2 .plb-cta-sub {
	margin: 0;
	/*font-family: var(--plb-font-serif);
	font-style: italic;*/
	/*font-size: clamp(24px, 2.6vw, 34px);*/
	font-size: font-size: 17px;;
}
.plb-home-v2 .plb-cta-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: flex-end;
}

/* ─────────────────────────────────────────────────────────────────────────
 *  FOOTER (dark) — regole scopate .plb-site-footer, applicate globalmente
 * ───────────────────────────────────────────────────────────────────────── */
.plb-site-footer {
	background: var(--plb-ink);
	color: #B8B8B8;
	padding: 56px 24px;
	font-size: 14px;
	line-height: 1.6;
}
.plb-site-footer .container { max-width: 1240px; }
.plb-site-footer a { color: #E6E6E6; }
.plb-site-footer a:hover,
.plb-site-footer a:focus { color: #fff; }
.plb-footer-main {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 24px;
}
.plb-footer-brand { display: flex; flex-direction: column; gap: 6px; }
.plb-footer-title {
	font-family: var(--plb-font-display);
	font-weight: 700;
	font-size: 18px;
	color: #fff;
	margin: 0;
}
.plb-footer-tagline { margin: 0; }
.plb-footer-link-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 12px 24px;
	align-items: center;
}
.plb-footer-legal {
	margin-top: 32px;
	padding-top: 16px;
	border-top: 1px solid #2A2A2A;
}
.plb-footer-legal small { color: #8A8A8A; }

.plb-icon-img{
	height: 40px;
}
.plb-icon-img-osa{
	height: 80px;
}

.plb-text-comuni{
	/*font-size: 12px;*/
	font-style: italic;
}

/* ─────────────────────────────────────────────────────────────────────────
 *  RESPONSIVE
 * ───────────────────────────────────────────────────────────────────────── */
@media (max-width: 991.98px) {
	.plb-home-v2 .plb-hero { padding: 56px 0 72px; }
	.plb-home-v2 .plb-hero-content { max-width: 100%; }
	.plb-home-v2 .plb-hero-visual { padding-top: 32px; }

	.plb-home-v2 .plb-section-progetto,
	.plb-home-v2 .plb-section-partecipa,
	.plb-home-v2 .plb-section-percorso,
	.plb-home-v2 .plb-section-premi,
	.plb-home-v2 .plb-section-vota,
	.plb-home-v2 .plb-section-edizioni,
	.plb-home-v2 .plb-section-faq { padding: 80px 0; }

	.plb-home-v2 .plb-section-patrocinio,
	.plb-home-v2 .plb-section-cta { padding: 80px 0; }
	.plb-home-v2 .plb-cta-actions { justify-content: flex-start; }
	.plb-home-v2 .plb-prize-amount { font-size: 64px; }
}
@media (max-width: 767.98px) {
	.plb-home-v2 .plb-hero { padding: 40px 0 56px; }
	.plb-home-v2 .plb-hero-content { gap: 20px; }
	.plb-home-v2 .plb-cta-row { flex-direction: column; align-items: stretch; }
	.plb-home-v2 .plb-cta-row .plb-btn { justify-content: center; width: 100%; }
	.plb-home-v2 .plb-hero-dates { flex-direction: column; gap: 10px; padding-top: 12px; }

	.plb-home-v2 .plb-section-progetto,
	.plb-home-v2 .plb-section-partecipa,
	.plb-home-v2 .plb-section-percorso,
	.plb-home-v2 .plb-section-premi,
	.plb-home-v2 .plb-section-vota,
	.plb-home-v2 .plb-section-edizioni,
	.plb-home-v2 .plb-section-faq { padding: 64px 0; }

	.plb-home-v2 .plb-progetto-card { padding: 28px; }
	.plb-home-v2 .plb-progetto-meta { grid-template-columns: 1fr; gap: 16px; }
	.plb-home-v2 .plb-step-card { padding: 28px; }
	.plb-home-v2 .plb-step-num { font-size: 48px; }
	.plb-home-v2 .plb-prize-card { padding: 28px; }
	.plb-home-v2 .plb-prize-amount { font-size: 56px; }

	.plb-home-v2 .plb-vota-media img { height: 320px; }

	.plb-home-v2 .plb-section-patrocinio,
	.plb-home-v2 .plb-section-cta { padding: 64px 0; }
	.plb-home-v2 .plb-cta-actions { width: 100%; }
	.plb-home-v2 .plb-cta-actions .plb-btn { width: 100%; justify-content: center; }

	.plb-site-footer { padding: 32px 24px; }
	.plb-footer-main { flex-direction: column; align-items: flex-start; }
}
