/*
 * Il sito di consulenza — pubblicitaonline.it
 *
 * Si carica solo con l'interruttore acceso (inc/consulenza.php), e tutto sta
 * sotto la classe .pol-c sul body: spento, non cambia una riga del sito.
 * Mockup di riferimento: docs/mockup-pubblicitaonline.
 *
 * Famiglia di MakeZone (stesso fondo caldo, stessi caratteri) ma colore
 * proprio: blu. I caratteri sono serviti da qui, non da Google.
 */

@font-face {
	font-family: 'Syne';
	font-style: normal;
	font-weight: 600 800;
	font-display: swap;
	src: url('fonts/syne-latin.woff2') format('woff2');
}
@font-face {
	font-family: 'DM Sans';
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url('fonts/dm-sans-latin.woff2') format('woff2');
}

body.pol-c {
	--pol-fondo: #f7f6f3;
	--pol-bianco: #ffffff;
	--pol-testo: #17120f;
	--pol-corpo: #4f4741;
	--pol-tenue: #6b625c;
	--pol-bordo: #e4e0da;
	--pol-accento: #1f3fbf;
	--pol-accento-scuro: #17306f;
	--pol-azzurro: #e8ecfa;
	--pol-largo: 1200px;
	background: var(--pol-fondo);
	color: var(--pol-testo);
	font-family: 'DM Sans', system-ui, sans-serif;
	font-size: 17px;
	line-height: 1.6;
}

.pol-c h1, .pol-c h2, .pol-c h3 {
	font-family: 'Syne', 'DM Sans', sans-serif;
	color: var(--pol-testo);
	letter-spacing: -0.02em;
}

/* ---------- salto al contenuto, intestazione, menu ---------- */

.pol-c .pol-salta {
	position: absolute;
	left: -9999px;
	top: 0;
	background: var(--pol-testo);
	color: #fff;
	padding: 12px 18px;
	z-index: 100;
}
.pol-c .pol-salta:focus { left: 0; }

.pol-c .pol-testata {
	background: var(--pol-fondo);
	border-bottom: 1px solid var(--pol-bordo);
}
.pol-c .pol-testata-dentro {
	max-width: var(--pol-largo);
	margin: 0 auto;
	padding: 18px 24px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}
.pol-c .pol-logo {
	font-family: 'Syne', sans-serif;
	font-weight: 700;
	font-size: 24px;
	letter-spacing: -0.02em;
	color: var(--pol-testo);
	text-decoration: none;
}
.pol-c .pol-logo span { color: var(--pol-accento); }
.pol-c .pol-menu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 28px;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4;
}
.pol-c .pol-menu a {
	color: var(--pol-corpo);
	text-decoration: none;
}
.pol-c .pol-menu a:hover { color: var(--pol-testo); }
.pol-c .pol-menu .pol-bottone-scuro {
	background: var(--pol-testo);
	color: #fff;
	padding: 12px 20px;
	border-radius: 999px;
	min-height: 44px;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
}
.pol-c .pol-menu .pol-bottone-scuro:hover { background: var(--pol-accento); color: #fff; }

/* ---------- struttura comune ---------- */

.pol-c .pol-main { font-size: 17px; line-height: 1.6; }
.pol-c .pol-sezione,
.pol-c .pol-eroe,
.pol-c .pol-intestazione-pagina,
.pol-c .pol-numeri {
	max-width: var(--pol-largo);
	margin-left: auto;
	margin-right: auto;
	padding-left: 24px;
	padding-right: 24px;
	box-sizing: border-box;
}
.pol-c .pol-sezione { padding-top: 96px; padding-bottom: 24px; }
.pol-c .pol-occhiello {
	margin: 0 0 14px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--pol-accento);
}
.pol-c .pol-main h2 {
	margin: 0;
	max-width: 760px;
	font-weight: 700;
	font-size: clamp(32px, 3.6vw, 50px);
	line-height: 1.08;
}
.pol-c .pol-main h3 { font-weight: 700; line-height: 1.25; margin: 0; }
.pol-c .pol-etichetta {
	margin: 0;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--pol-tenue);
}
.pol-c .pol-piccolo { margin: 0; font-size: 14px; color: var(--pol-tenue); }
.pol-c .pol-main a { color: var(--pol-accento); }

.pol-c .pol-bottone,
.pol-c .pol-bottone-vuoto,
.pol-c .pol-bottone-bianco {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	box-sizing: border-box;
	padding: 16px 28px;
	border-radius: 999px;
	font-weight: 700;
	text-decoration: none;
}
.pol-c .pol-main .pol-bottone { background: var(--pol-accento); color: #fff; }
.pol-c .pol-main .pol-bottone:hover { background: var(--pol-accento-scuro); }
.pol-c .pol-main .pol-bottone-vuoto { color: var(--pol-testo); border: 1.5px solid var(--pol-testo); }
.pol-c .pol-main .pol-bottone-vuoto:hover { background: var(--pol-testo); color: #fff; }
.pol-c .pol-main .pol-bottone-bianco { background: #fff; color: var(--pol-testo); padding: 18px 32px; }

/* ---------- eroe ---------- */

.pol-c .pol-eroe {
	padding-top: 96px;
	padding-bottom: 72px;
	display: flex;
	flex-wrap: wrap;
	gap: 56px;
	align-items: center;
}
.pol-c .pol-eroe-testo { flex: 999 1 560px; min-width: 0; }
.pol-c .pol-eroe h1 {
	margin: 0;
	font-weight: 700;
	font-size: clamp(38px, 4.6vw, 64px);
	line-height: 1.05;
	letter-spacing: -0.03em;
}
.pol-c .pol-sottotitolo {
	margin: 28px 0 0;
	max-width: 620px;
	font-size: 20px;
	color: var(--pol-corpo);
}
.pol-c .pol-azioni { margin: 40px 0 0; display: flex; flex-wrap: wrap; gap: 14px; }
.pol-c .pol-eroe-caso {
	flex: 1 1 400px;
	min-width: 0;
	background: var(--pol-bianco);
	border: 1px solid var(--pol-bordo);
	border-radius: 20px;
	padding: 32px;
	box-shadow: 0 24px 48px -32px rgba(23, 18, 15, 0.35);
}
.pol-c .pol-eroe-caso-titolo {
	margin: 8px 0 24px;
	font-family: 'Syne', sans-serif;
	font-weight: 700;
	font-size: 20px;
	line-height: 1.25;
	overflow-wrap: anywhere;
}
.pol-c .pol-coppia {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 20px;
}
.pol-c .pol-coppia > div { background: var(--pol-fondo); border-radius: 14px; padding: 18px; }
.pol-c .pol-numero {
	margin: 6px 0 0;
	font-family: 'Syne', sans-serif;
	font-weight: 700;
	font-size: 26px;
	line-height: 1;
	white-space: nowrap;
}
.pol-c .pol-numero span { color: var(--pol-accento); }

/* ---------- numeri ---------- */

.pol-c .pol-numeri {
	max-width: none;
	background: var(--pol-bianco);
	border-top: 1px solid var(--pol-bordo);
	border-bottom: 1px solid var(--pol-bordo);
	padding: 40px max(24px, calc((100% - var(--pol-largo)) / 2 + 24px));
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 32px;
}
.pol-c .pol-numeri p { margin: 8px 0 0; font-size: 15px; color: var(--pol-corpo); }
.pol-c .pol-numeri .pol-numero-grande {
	margin: 0;
	font-family: 'Syne', sans-serif;
	font-weight: 700;
	font-size: clamp(30px, 3.4vw, 40px);
	white-space: nowrap;
	line-height: 1;
	color: var(--pol-testo);
}

/* ---------- griglie e schede ---------- */

.pol-c .pol-griglia { margin-top: 56px; display: grid; gap: 20px; }
.pol-c .pol-griglia-4 { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.pol-c .pol-griglia-3 { grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); }

.pol-c .pol-scheda,
.pol-c .pol-caso {
	background: var(--pol-bianco);
	border: 1px solid var(--pol-bordo);
	border-radius: 18px;
	padding: 32px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.pol-c .pol-scheda h2, .pol-c .pol-scheda h3, .pol-c .pol-caso h3 { font-size: 23px; }
.pol-c .pol-scheda p, .pol-c .pol-caso p { margin: 0; color: var(--pol-corpo); font-size: 16px; }
.pol-c .pol-scheda .pol-indice {
	font-family: 'Syne', sans-serif;
	font-weight: 700;
	font-size: 15px;
	color: var(--pol-accento);
}
.pol-c .pol-caso .pol-etichetta { color: var(--pol-tenue); }
.pol-c .pol-caso .pol-caso-numero {
	font-family: 'Syne', sans-serif;
	font-weight: 700;
	font-size: 42px;
	line-height: 1;
	color: var(--pol-accento);
	letter-spacing: -0.02em;
}

.pol-c .pol-striscia { margin: 20px 0 0; }
.pol-c .pol-main .pol-striscia a {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	background: var(--pol-testo);
	color: #f3efe9;
	text-decoration: none;
	border-radius: 18px;
	padding: 26px 32px;
}
.pol-c .pol-striscia strong { color: #fff; }
.pol-c .pol-striscia-link { font-weight: 700; color: #fff; display: inline-flex; align-items: center; gap: 10px; }
.pol-c .pol-striscia-link i { width: 10px; height: 10px; border-radius: 50%; background: #d42a24; display: inline-block; }

/* ---------- metodo ---------- */

.pol-c .pol-metodo { display: flex; flex-wrap: wrap; gap: 56px; }
.pol-c .pol-metodo > div { flex: 1 1 340px; min-width: 0; }
.pol-c .pol-metodo ol { flex: 999 1 560px; min-width: 0; margin: 0; padding: 0; list-style: none; }
.pol-c .pol-metodo li { display: flex; gap: 28px; padding: 28px 0; border-top: 1px solid var(--pol-bordo); }
.pol-c .pol-metodo li:last-child { border-bottom: 1px solid var(--pol-bordo); }
.pol-c .pol-metodo li span {
	font-family: 'Syne', sans-serif;
	font-weight: 700;
	font-size: 28px;
	color: var(--pol-accento);
	min-width: 40px;
}
.pol-c .pol-metodo h3 { font-size: 22px; margin: 0 0 6px; }
.pol-c .pol-metodo p { margin: 0; color: var(--pol-corpo); }

/* ---------- chi sono ---------- */

.pol-c .pol-scuro { background: var(--pol-testo); color: #f3efe9; margin-top: 72px; }
.pol-c .pol-scuro-dentro { max-width: 860px; margin: 0 auto; padding: 96px 24px; box-sizing: border-box; }
.pol-c .pol-scuro .pol-occhiello { color: #b5aca4; }
.pol-c .pol-scuro h2 { color: #fff; }
.pol-c .pol-scuro .pol-grande { margin: 24px 0 0; font-size: 20px; color: #d9d1c9; }
.pol-c .pol-main .pol-link-chiaro {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	margin-top: 24px;
	color: #fff;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 4px;
}

/* ---------- blog ---------- */

.pol-c .pol-riga-titolo {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
}
.pol-c .pol-riga-titolo > a { font-weight: 700; display: inline-flex; align-items: center; min-height: 44px; }
.pol-c .pol-main .pol-articolo {
	display: flex;
	flex-direction: column;
	gap: 14px;
	text-decoration: none;
	color: var(--pol-testo);
}
.pol-c .pol-articolo-foto {
	display: block;
	aspect-ratio: 16 / 10;
	border-radius: 16px;
	background: var(--pol-bordo);
	overflow: hidden;
}
.pol-c .pol-articolo-foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pol-c .pol-articolo .pol-etichetta { color: var(--pol-accento); }
.pol-c .pol-articolo-titolo {
	font-family: 'Syne', sans-serif;
	font-weight: 700;
	font-size: 22px;
	line-height: 1.25;
}
.pol-c .pol-articolo:hover .pol-articolo-titolo { color: var(--pol-accento); }

/* ---------- invito finale ---------- */

.pol-c .pol-ultimo { padding-top: 72px; padding-bottom: 112px; }
.pol-c .pol-invito {
	background: var(--pol-accento);
	color: #fff;
	border-radius: 28px;
	padding: clamp(40px, 6vw, 80px);
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	align-items: center;
	justify-content: space-between;
}
.pol-c .pol-invito > div { flex: 999 1 520px; min-width: 0; }
.pol-c .pol-invito h2 { color: #fff; font-size: clamp(34px, 4vw, 56px); line-height: 1.05; }
.pol-c .pol-invito p { margin: 18px 0 0; font-size: 19px; color: #e8ecfa; }

/* ---------- pagina dei servizi ---------- */

.pol-c .pol-intestazione-pagina { padding-top: 88px; padding-bottom: 8px; }
.pol-c .pol-intestazione-pagina h1 {
	margin: 0;
	max-width: 860px;
	font-weight: 700;
	font-size: clamp(36px, 4.6vw, 62px);
	line-height: 1.05;
}
.pol-c .pol-contenuto-pagina { padding-bottom: 96px; max-width: 860px; }
.pol-c .pol-contenuto-pagina input[type="submit"] {
	background: var(--pol-accento);
	color: #fff;
	border: 0;
	border-radius: 999px;
	padding: 14px 28px;
	font-weight: 700;
	min-height: 44px;
}

/* ---------- piede ---------- */

.pol-c .pol-piede { border-top: 1px solid var(--pol-bordo); background: var(--pol-fondo); }
.pol-c .pol-piede-dentro {
	max-width: var(--pol-largo);
	margin: 0 auto;
	padding: 32px 24px;
	display: flex;
	flex-wrap: wrap;
	gap: 12px 32px;
	justify-content: space-between;
	font-size: 14px;
	color: var(--pol-tenue);
}
.pol-c .pol-piede p { margin: 0; }
.pol-c .pol-piede a { color: var(--pol-testo); font-weight: 700; }
.pol-c .pol-piede-link { display: flex; gap: 20px; }

/* ---------- pagine interne del tema padre (articoli, archivi) ---------- */

.pol-c .main-container { padding-top: 32px; }
.pol-c .entry-title, .pol-c .page-title { font-family: 'Syne', sans-serif; font-weight: 700; letter-spacing: -0.02em; }
.pol-c .entry-content, .pol-c .entry-summary { font-size: 18px; line-height: 1.7; color: #2e2723; }
.pol-c .entry-content a { color: var(--pol-accento); }

@media (max-width: 600px) {
	.pol-c .pol-sezione { padding-top: 64px; }
	.pol-c .pol-eroe { padding-top: 56px; gap: 36px; }
	.pol-c .pol-scuro-dentro { padding: 64px 24px; }
	.pol-c .pol-coppia { grid-template-columns: 1fr; }
}
