/*
Theme Name: Conio 2026
Theme URI: https://coniosrl.it/
Author: D.P.S. Soluzioni Informatiche S.r.l.
Description: Tema a blocchi di Conio srl. Riproduce l'aspetto del sito del 2022 con i soli formati del nucleo di WordPress (nessun costruttore di pagine). Carattere Montserrat sul nostro server.
Version: 1.0.0
Requires at least: 6.7
Requires PHP: 8.1
License: GPL-2.0-or-later
Text Domain: conio-2026
*/

/* ---------- Basi (misurate sul vecchio: Montserrat 14/23.8, peso 500, #666) ---------- */
:root {
	--c-blu: #2f3982;
	--c-blu-scuro: #192054;
	--c-blu-bordo: #003399;
	--c-petrolio: #35879c;
	--c-testo: #666;
	--c-titoli: #333;
	--c-collegamento: #2ea3f2;
	--c-riga: min(80%, 1080px);
}
html { scroll-behavior: auto; }
body {
	margin: 0;
	font-family: Montserrat, Helvetica, Arial, sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.7em; /* come il vecchio: in em, cosi' i figli ereditano 23,8 px */
	color: var(--c-testo);
	background: #fff;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
}
*, *::before, *::after { box-sizing: border-box; }
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * + *, .is-layout-flow > * + *, .is-layout-constrained > * + * { margin-block-start: 0; }
a { color: var(--c-collegamento); text-decoration: none; }
img { max-width: 100%; height: auto; vertical-align: bottom; }
p { margin: 0; padding-bottom: 1em; }
p:last-of-type { padding-bottom: 0; } /* come il vecchio: l'ultimo paragrafo del gruppo, anche se dopo c'e' un elenco */
h1, h2, h3, h4, h5, h6 { margin: 0; padding-bottom: 10px; color: var(--c-titoli); font-weight: 500; line-height: 1em; }
/* dimensioni lette nel foglio di stile del vecchio (22/09): h1 28, h2 24, h3 20, h4 16, h5 14; h6 non trovata (12, da verificare) */
h1 { font-size: 28px; } h2 { font-size: 24px; } h3 { font-size: 20px; }
h4 { font-size: 16px; } h5 { font-size: 14px; } h6 { font-size: 12px; }
strong, b { font-weight: 700; }
ul { margin: 0; padding: 0 0 23px 1em; line-height: 26px; list-style: disc; }
ol { margin: 0; padding: 0 0 23px 0; line-height: 26px; list-style-position: inside; }
figure { margin: 0; }

/* Riga di contenuto: l'80% della pagina fino a 1080 px, come le «righe» del vecchio.
   E' un «contenitore»: dentro, 1cqw = 1% della larghezza della riga (il vecchio calcola cosi' gli spazi). */
.c-riga { width: var(--c-riga); max-width: 1080px; margin-left: auto; margin-right: auto; container-type: inline-size; }
/* Spazi del vecchio: fissi sopra i 1350 px, in percentuale della riga fino a 981, fissi sotto i 980.
   --c-pr = spazio sopra/sotto una riga (usato DENTRO la riga); --c-mod = spazio sotto un elemento.
   --c-ps = lo stesso spazio ma messo su un blocco largo tutta la pagina: fra 981 e 1349 px la riga e' l'80%
   della pagina, quindi il 2% della riga e' l'1,6% della pagina (le percentuali di padding si riferiscono alla pagina).
   Nelle pagine impaginate a mano (non col modello comune) la riga non e' annidata: il 2% e' della pagina (--c-ps2).
   --c-sez = spazio sotto una sezione (54 px, poi 4% della pagina, poi 50 px); --c-sez1 = lo stesso nelle pagine
   del modello comune (4% della riga = 3,2% della pagina). --c-pr2 = il 2% della pagina usato DENTRO una riga (= 2,5% della riga). */
:root { --c-pr: 27px; --c-pr2: 27px; --c-ps: 27px; --c-ps2: 27px; --c-sez: 54px; --c-sez1: 54px; --c-mod: 2.2cqw; }
@media (max-width: 1349px) { :root { --c-pr: 2cqw; --c-pr2: 2.5cqw; --c-ps: 1.6%; --c-ps2: 2%; --c-sez: 4%; --c-sez1: 3.2%; } }
@media (max-width: 980px) { :root { --c-pr: 30px; --c-pr2: 30px; --c-ps: 30px; --c-ps2: 30px; --c-sez: 50px; --c-sez1: 50px; --c-mod: 30px; } }
.c-sezione { position: relative; }

/* ---------- Testata ---------- */
/* Il contenitore della parte di modello non deve fare da «scatola»: altrimenti la testata non resta fissa. */
.c-testa { display: contents; }
.c-striscia { height: 19px; background: var(--c-blu); }
.c-testata { position: sticky; top: 0; z-index: 99; background: #fff; }
.admin-bar .c-testata { top: 32px; }
.c-testata__riga {
	position: relative; display: flex; align-items: center;
	width: 100%; max-width: 1080px; height: 88px; margin: 0 auto; padding-top: 12px;
}
.c-logo { display: block; flex: none; margin-top: -2px; }
.c-logo img { display: block; width: 220px; height: 57px; }
.c-menu { margin-left: auto; height: 76px; }
.c-menu__lista { display: flex; list-style: none; margin: 0; padding: 0; height: 100%; line-height: 1; }
.c-menu__lista > li { position: relative; display: flex; padding: 0 11px; }
.c-menu__lista > li > a {
	display: flex; align-items: center; position: relative;
	padding: 31px 0; color: var(--c-blu); font-size: 14px; font-weight: 500; line-height: 14px;
	text-transform: uppercase; transition: opacity .4s ease-in-out;
}
.c-menu__lista > li.menu-item-has-children > a { padding-right: 20px; }
.c-menu__lista > li > a:hover { opacity: .7; }
.c-freccia { position: absolute; right: -2px; top: 50%; margin-top: -8px; width: 16px; height: 16px; }
.c-freccia svg { display: block; }
.c-menu .sub-menu {
	position: absolute; top: 76px; left: 0; z-index: 9999; list-style: none; margin: 0;
	padding: 20px 0; background: #fff; border-top: 3px solid var(--c-blu-bordo);
	box-shadow: 0 2px 5px rgba(0, 0, 0, .1); white-space: nowrap; line-height: 28px;
	opacity: 0; visibility: hidden; transition: all .2s ease-in-out;
}
.c-menu li:hover > .sub-menu, .c-menu li:focus-within > .sub-menu, .c-menu li.aperto > .sub-menu { opacity: 1; visibility: visible; }
.c-menu .sub-menu li { padding: 0 10px; }
.c-menu .sub-menu a {
	display: block; padding: 6px 15px; font-size: 12px; font-weight: 500; line-height: 28px;
	color: var(--c-blu); text-transform: uppercase; transition: opacity .4s ease-in-out;
}
.c-menu .sub-menu a:hover { opacity: .7; }
.c-cerca-apri, .c-cerca-chiudi, .c-menutel-apri, .c-apri-sotto {
	background: none; border: 0; padding: 0; margin: 0; cursor: pointer; color: var(--c-blu); font: inherit;
}
.c-cerca-apri { display: flex; align-items: center; width: 17px; height: 32px; margin-left: 1px; margin-right: 10px; }
.c-cerca-apri svg, .c-menutel-apri svg, .c-cerca-chiudi svg { display: block; }
.c-cerca-apri svg { width: 17px; height: 17px; }
.c-cerca {
	position: absolute; left: 252px; right: 0; top: 12px; bottom: 0;
	display: flex; align-items: center; background: #fff;
}
.c-cerca[hidden] { display: none; }
.c-cerca input {
	flex: 1; border: 0; outline: 0; background: transparent; padding: 0;
	font: inherit; font-size: 14px; color: var(--c-blu); height: 32px;
}
.c-cerca input::placeholder { color: var(--c-blu); opacity: .8; }
.c-cerca-chiudi { width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; margin-right: 11px; }
.c-cerca-chiudi svg { width: 20px; height: 20px; }
.c-testata.cerca-aperta .c-menu, .c-testata.cerca-aperta .c-cerca-apri { visibility: hidden; }
.c-menutel-apri { display: none; width: 32px; height: 32px; margin-left: 17px; margin-right: 6px; }
.c-menutel-apri .c-icona-chiudi { display: none; }
.c-menutel-apri[aria-expanded="true"] .c-icona-menu { display: none; }
.c-menutel-apri[aria-expanded="true"] .c-icona-chiudi { display: block; }
.c-menutel-apri svg { display: block; }
.c-menutel {
	position: absolute; left: 0; right: 0; top: 100%; z-index: 9998; padding: 5%;
	background: #fff; border-top: 7px solid var(--c-blu-bordo); box-shadow: 0 2px 5px rgba(0, 0, 0, .1);
}
.c-menutel[hidden] { display: none; }
.c-menutel ul { list-style: none; margin: 0; padding: 0; line-height: 26px; }
.c-menutel li { position: relative; }
.c-menutel a {
	display: block; padding: 10px 5%; color: var(--c-blu); font-size: 14px; font-weight: 500;
	text-transform: uppercase; border-bottom: 1px solid rgba(0, 0, 0, .03);
}
.c-menutel .menu-item-has-children > a { font-weight: 700; }
.c-menutel .sub-menu { display: none; padding-left: 10px; }
.c-menutel li.aperto > .sub-menu { display: block; }
.c-apri-sotto {
	position: absolute; right: 10px; top: 13px; width: 20px; height: 20px; border-radius: 50%;
	background: rgba(0, 0, 0, .05); display: flex; align-items: center; justify-content: center;
}
.c-apri-sotto svg { width: 14px; height: 14px; transition: transform .2s; }
.c-menutel li.aperto > .c-apri-sotto svg { transform: rotate(180deg); }

/* sotto i 980 px (tablet in verticale compreso) il vecchio usa la testata del telefono: misurata a 768 e 390 px il 22/09 */
@media (max-width: 980px) {
	.c-menu { display: none; }
	.c-menutel-apri { display: block; position: relative; top: -5px; }
	.c-cerca-apri { margin-left: auto; margin-right: 0; }
	.c-striscia { height: 18px; }
	.c-testata__riga { height: 69px; }
	.c-logo { margin-top: 0; }
}

/* ---------- Fascia del titolo (pagine interne) ---------- */
.c-titolo { padding-top: 29px; background: #fff; }
.c-titolo__riga {
	position: relative; display: flex; justify-content: space-between; align-items: flex-start;
	min-height: 67px; border-bottom: 4px solid var(--c-blu);
}
.c-titolo__riga::before {
	content: ""; position: absolute; left: 0; top: 0; width: 57.78%; height: 63px;
	background: url("assets/img/fascia-blu.svg") 0 0 / 100% 100% no-repeat;
}
.c-titolo__testo, .c-titolo h1 {
	position: relative; flex: 0 0 calc(57.78% - 30px); margin: 15px 15px 0; padding: 0 0 10px; color: #fff; font-size: 28px; line-height: 28px; font-weight: 500;
}
.c-briciole { position: relative; padding: 0 10px 0 0; font-size: 11px; line-height: 26px; color: var(--c-blu); text-align: right; }
.c-briciole a, .c-briciole span { color: var(--c-blu); }
.c-briciole a:first-child { display: inline-block; }
.c-briciole__sep { display: inline-block; width: 2px; height: 14px; margin: 0 7px -2px 7px; background: var(--c-collegamento); }
@media (max-width: 980px) { .c-briciole { display: none; } }
/* fino a 980 px (tablet in verticale compreso) come il telefono: misurato a 768 il 22/09 */
@media (max-width: 980px) {
	.c-titolo__riga { min-height: 98px; }
	.c-titolo__riga::before { width: 100%; }
	.c-titolo__testo, .c-titolo h1 { flex-basis: calc(100% - 30px); }
}

/* Variante «servizio»: riquadro blu con l'angolo in basso a destra arrotondato (raggio 120), senza riga */
.c-titolo--servizio { padding: var(--c-ps2) 0; }
.c-titolo--servizio .c-titolo__riga { border-bottom: 0; min-height: 0; }
.c-titolo--servizio .c-titolo__riga::before { display: none; }
.c-titolo.c-titolo--servizio .c-titolo__testo {
	flex: 0 0 57.78%; margin: 0; padding: 11px 16px 21px; border: 0;
	background: var(--c-blu); border-radius: 0 0 120px 0; overflow: hidden;
}
@media (max-width: 980px) { .c-titolo.c-titolo--servizio .c-titolo__testo { flex-basis: 100%; margin-bottom: 30px; } }
/* Variante «agency»: petrolio */
.c-titolo--agency .c-titolo__riga { border-bottom-color: var(--c-petrolio); }
.c-titolo--agency .c-titolo__riga::before { background-image: url("assets/img/fascia-petrolio.svg"); }
.c-titolo--agency .c-briciole, .c-titolo--agency .c-briciole a, .c-titolo--agency .c-briciole span { color: var(--c-petrolio); }

/* ---------- Invito «Contattaci» ---------- */
.c-invito { background: var(--c-blu); color: #fff; text-align: center; padding: 40px 60px; }
.c-invito p { font-size: 16px; color: #fff; padding-bottom: 0; }
.c-invito .c-pulsanti { margin-top: 20px; }
@media (max-width: 767px) { .c-invito { padding: 40px; } }

/* ---------- Pulsanti (collegamenti semplici; i blocchi pulsante sono sotto) ---------- */
a.c-bottone {
	display: inline-block; padding: 4.2px 14px; border: 2px solid var(--c-blu); border-radius: 15px;
	background: #fff; color: var(--c-blu); font-size: 14px; font-weight: 500; line-height: 23.8px;
}
a.c-bottone-contorno {
	display: inline-block; padding: 4.2px 14px; border: 2px solid #fff; border-radius: 3px;
	color: #fff; font-size: 14px; font-weight: 500; line-height: 23.8px; background: transparent; transition: all .3s ease;
}

/* ---------- Piè di pagina ---------- */
.c-piede { background: var(--c-blu-scuro); padding: 50px 0 15px; color: #fff; font-size: 12px; }
.c-piede a { color: #fff; }
.c-piede .c-piede__colonne { display: flex; gap: 60px; width: 100%; max-width: 1080px; }
.c-piede__colonne > div { flex: 1 1 0; min-width: 0; }
.c-piede__logo img { display: block; width: 158px; height: auto; }
.c-piede__link { list-style: none; margin: 0; padding: 0; line-height: 24px; font-size: 12px; }
.c-piede__link li { margin: 0; }
.c-piede p { font-size: 12px; line-height: 23.8px; color: #fff; padding-bottom: 0; }
.c-piede__indirizzo { padding-bottom: 12px !important; }
.c-piede__social {
	display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px;
	border-radius: 3px; background: #007bb6; margin-top: 9px;
}
.c-piede__social svg { width: 16px; height: 16px; fill: #fff; }
.c-piede__fondo { margin-top: 51px; text-align: center; font-size: 12px; line-height: 23.8px; }
@media (max-width: 980px) {
	.c-piede__link { line-height: 2em; }
}
/* tablet in verticale: il vecchio mette le 4 colonne su due righe da due, larghe 47,25% (misurato a 768 il 22/09) */
@media (min-width: 768px) and (max-width: 980px) {
	.c-piede .c-piede__colonne { display: grid; grid-template-columns: 1fr 1fr; column-gap: 5.5%; row-gap: 30px; max-width: none; }
	.c-piede__logo img { width: 145px; }
}
@media (max-width: 767px) {
	.c-piede .c-piede__colonne { flex-direction: column; gap: 30px; text-align: center; }
	.c-piede__logo img { width: 60%; margin: 0 auto; }
	.c-piede__link { line-height: 2.2em; }
	.c-piede__fondo { margin-top: 58px; }
}

/* ---------- Blocchi del nucleo: via gli stili predefiniti che il vecchio non ha ---------- */
.wp-block-columns { margin: 0; gap: 0; }
.wp-block-image { margin: 0; }
.wp-block-image img { display: block; }
.wp-block-buttons { gap: 0; }
.wp-block-button .wp-block-button__link { font-family: inherit; }
.c-pulsanti { margin: 0; }
.c-bottone .wp-block-button__link, .c-bottone-contorno .wp-block-button__link { text-decoration: none; }
.wp-block-button.c-bottone .wp-block-button__link {
	display: inline-block; padding: 4.2px 14px; border: 2px solid var(--c-blu); border-radius: 15px;
	background: #fff; color: var(--c-blu); font-size: 14px; font-weight: 500; line-height: 23.8px;
}
.wp-block-button.c-bottone--pieno .wp-block-button__link { background: var(--c-blu); color: #fff; }
.wp-block-button.c-bottone--piccolo .wp-block-button__link { padding: 3px 10px; font-size: 10px; line-height: 17px; }
.wp-block-button.c-bottone-contorno .wp-block-button__link {
	display: inline-block; padding: 4.2px 14px; border: 2px solid #fff; border-radius: 3px;
	color: #fff; background: transparent; font-size: 14px; font-weight: 500; line-height: 23.8px; transition: all .3s ease;
}
.wp-block-button.c-bottone-contorno .wp-block-button__link:hover { background: rgba(255, 255, 255, .2); border-color: transparent; }

/* ---------- Servizi: titolo, introduzione, 5 schede ---------- */
.c-servizi { padding: var(--c-ps) 0; }
.c-servizi__titolo { width: 80%; margin: 0 auto; font-size: 24px; line-height: 24px; color: var(--c-blu); text-align: center; }
.c-servizi__intro { width: 80%; margin: var(--c-mod) auto 0; padding-bottom: 0; color: var(--c-blu); text-align: center; }
.c-carte { display: flex; gap: 3%; margin-top: calc(2 * var(--c-pr)); }
.c-carte > .c-carta {
	flex: 1 1 0; display: flex; flex-direction: column; align-items: center; min-width: 0;
	padding: 30px; border: 2px solid var(--c-blu); background: #fff; text-align: center;
}
.c-carta__icona { width: 100%; }
.c-carta__icona img { width: 100%; height: auto; }
.c-carta__testo { align-self: stretch; margin-top: .93cqw; min-height: 71.4px; color: var(--c-blu); padding-bottom: 0; }
.c-carta .c-pulsanti { margin-top: .93cqw; }
@media (max-width: 980px) {
	.c-carta__testo { margin-top: 30px; }
	.c-carta__testo { min-height: 0; }
	.c-carta .c-pulsanti { margin-top: 30px; }
}

/* Testo solo per i lettori di schermo (standard WordPress) */
.screen-reader-text { border: 0; clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important; }
.screen-reader-text:focus { clip-path: none; height: auto; width: auto; margin: 0; padding: 15px 23px 14px; background: #fff; color: var(--c-blu); z-index: 100000; left: 5px; top: 5px; }

/* ---------- Pagina di un servizio: icona a sinistra, elenchi a destra ---------- */
.c-servizio { padding: var(--c-ps2) 0 calc(var(--c-ps2) + var(--c-sez)); }
.c-servizio__colonne { display: flex; gap: 5.55%; }
.wp-block-columns.c-servizio__colonne > .wp-block-column.c-servizio__immagine { flex: 0 0 36.67%; }
.wp-block-columns.c-servizio__colonne > .wp-block-column.c-servizio__testo { flex: 0 0 57.78%; }
.c-servizio__testo h3 { font-size: 20px; }
.c-servizio__testo ul { padding-bottom: 1em; }
.c-invito--tondo .wp-block-button.c-bottone-contorno .wp-block-button__link { border-radius: 15px; }
.c-invito.c-invito--piccolo p { font-size: 14px; }

/* ---------- Il nostro team: 4 colonne, separatore con icona, nome, ruolo, LinkedIn, curriculum ---------- */
.c-team-sezione { padding: 50px 0 var(--c-sez1); }
.c-team { display: flex; gap: 5.55%; padding-bottom: var(--c-pr); }
.wp-block-columns.c-team > .wp-block-column.c-membro { flex: 0 0 20.83%; min-width: 0; }
.c-sep { display: flex; align-items: center; height: 71.8px; padding: 0 15px; color: var(--c-blu); }
.c-sep svg { flex: none; width: 28px; height: 32px; }
.c-sep::after { content: ""; flex: 1; margin-left: 10px; border-top: 3px solid var(--c-blu); }
.c-membro__nome { margin: 10px 0 0 10px; padding: 0 0 10px; font-size: 18px; line-height: 18px; color: var(--c-titoli); }
.c-membro__ruolo { margin-left: 10px; padding: 0; font-size: 13px; color: #aaa; }
.c-membro__social { list-style: none; margin: 0 0 0 10px; padding: 0 0 23px 13px; line-height: 26px; }
.c-membro__social li { height: 26px; }
.c-membro__social a { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 26px; vertical-align: top; color: var(--c-blu); }
.c-membro__social svg { width: 14px; height: 16px; }
.c-membro .c-pulsanti { margin-left: 10px; }
.wp-block-button.c-bottone-cv .wp-block-button__link {
	display: inline-block; padding: 3.6px 12px; border: 1px solid var(--c-blu); border-radius: 10px;
	background: transparent; color: var(--c-blu); font-size: 12px; font-weight: 500; line-height: 20.4px;
}
@media (max-width: 980px) {
	.c-team { padding-bottom: 30px; }
	/* nel vecchio, sul telefono, l'ultima colonna dell'ultima riga ha anche 30 px sotto (misurato il 22/09) */
	.c-team:last-child { padding-bottom: 60px; }
}

/* ---------- Finestra del curriculum: il gruppo .c-cv resta nella pagina (si modifica con l'editor) e
   il tema lo mostra dentro un <dialog> quando si preme «Curriculum Vitae» ---------- */
.c-cv { display: none; }
dialog.c-finestra {
	width: 720px; max-width: 80%; height: 100%; max-height: 100%; margin: 0 auto; padding: 0; border: 0;
	background: #fff; color: var(--c-testo); overflow: hidden;
}
dialog.c-finestra::backdrop { background: rgba(0, 0, 0, .3); }
dialog.c-finestra[open] { display: flex; flex-direction: column; }
dialog.c-finestra .c-cv { display: flex; flex-direction: column; height: 100%; min-height: 0; }
.c-finestra__x { position: absolute; top: 20px; right: 20px; width: 12px; height: 12px; padding: 0; border: 0; background: none; color: var(--c-blu); cursor: pointer; }
.c-finestra__x svg { display: block; }
.c-cv__titolo { flex: none; margin: 0; padding: 20px 52px 20px 20px; font-size: 28px; line-height: 33.6px; color: var(--c-titoli); }
.c-cv__testo { flex: 1 1 auto; min-height: 0; overflow: auto; padding: 20px; text-align: left; }
.c-cv__testo p { padding-bottom: 14px; }
.c-cv > .c-pulsanti:last-child { flex: none; padding: 20px; margin: 0; }
.wp-block-button.c-cv__chiudi .wp-block-button__link { border-width: 2px; }

/* ---------- Due colonne (1/2 + 1/2) e separatori, come le righe del vecchio ---------- */
.c-due { display: flex; gap: 5.55%; padding: var(--c-pr) 0; }
.wp-block-columns.c-due > .wp-block-column { flex: 0 0 47.22%; min-width: 0; }
.c-due .wp-block-image img { width: 100%; }
.c-due ul { padding: 0 0 1em 1em; }
.c-separatore { display: flex; align-items: center; color: var(--c-blu); }
.c-separatore::before, .c-separatore::after { content: ""; flex: 1; border-top: 3px solid var(--c-blu); }
.c-separatore::before { margin-right: 10px; } .c-separatore::after { margin-left: 10px; }
.c-separatore__icona svg { display: block; width: 32px; height: 32px; }
.c-separatore--stretto { width: 80%; margin: 0 auto -2px; padding: calc(var(--c-pr) + 1px) 0 calc(var(--c-pr) + 18.9px); }
.c-separatore--stretto .c-separatore__icona { height: 38px; padding-top: 0; }
.c-separatore--titolo { padding-top: var(--c-pr); }
.c-separatore--titolo h2 { font-size: 24px; line-height: 24px; color: var(--c-blu); padding-bottom: 10px; }

/* ---------- Mission e Valori ---------- */
.c-mv { padding: 7px 0 var(--c-sez1); }
.c-due > .c-mv__testo--su { padding-top: 30px; }
.c-due > .c-mv__img--su { padding-top: 20px; } /* spazio interno: non si fonde con i 30 px fra colonne del telefono */
/* le immagini non si allargano oltre la loro misura vera, come nel vecchio (valori.jpg resta 600 px a 768: misurato il 22/09) */
.c-mv .wp-block-image img { width: auto; max-width: 100%; }

/* ---------- Mostra/nascondi per schermo (come il vecchio: «telefono» = fino a 767 px) ---------- */
@media (max-width: 767px) { .c-no-telefono { display: none !important; } }
@media (min-width: 768px) { .c-solo-telefono { display: none !important; } }

/* ---------- Track record ---------- */
.c-tr { padding: 23px 0 var(--c-sez1); }
.c-tr__intro { margin-top: var(--c-pr); margin-bottom: 2.75cqw; padding-bottom: 10px; font-size: 24px; line-height: 1.6em; color: var(--c-blu); }
.c-tr__tabella { margin-bottom: 2.75cqw; }
.c-tr__tabella img { width: 100%; }
.c-tr__righe { display: flex; gap: 5.5%; padding: var(--c-pr) 0; }
.wp-block-columns.c-tr__righe > .c-tr__voci { flex: 0 0 57.78%; min-width: 0; }
.wp-block-columns.c-tr__righe > .c-tr__lato { flex: 0 0 36.67%; min-width: 0; }
.c-tr__didascalia { margin-bottom: 14px; font-size: 18px; color: var(--c-blu); }
.c-tr__lato .wp-block-image img { width: 100%; }
@media (max-width: 980px) {
	.c-tr__intro, .c-tr__tabella { margin-bottom: 30px; }
}
/* fino a 980 px (tablet in verticale compreso) Track record è come sul telefono: tabella stretta, niente colonna laterale (misurato a 768 il 22/09) */
@media (max-width: 980px) {
	.c-tr__righe > .c-tr__voci { margin-bottom: 30px; } .c-tr__tabella.c-solo-telefono { margin-bottom: 0; }
	.c-tr .c-tr__tabella.c-no-telefono, .c-tr .c-tr__lato.c-no-telefono { display: none !important; }
	.c-tr .c-tr__tabella.c-solo-telefono { display: block !important; }
}

/* Voci apribili (blocco Dettagli): come le «toggle» del vecchio */
.wp-block-details.c-voce { margin: 0 0 2.75cqw; padding: 20px; border: 1px solid #d9d9d9; background: #f4f4f4; }
.wp-block-details.c-voce[open] { background: #fff; }
.wp-block-details.c-voce:last-child { margin-bottom: 0; }
.c-voce > summary {
	position: relative; display: block; list-style: none; cursor: pointer; padding: 0 50px 0 0;
	font-size: 14px; font-weight: 800; line-height: 14px; color: var(--c-blu);
}
.c-voce > summary::-webkit-details-marker { display: none; }
.c-voce > summary::after {
	content: ""; position: absolute; right: 0; top: 50%; width: 16px; height: 16px; margin-top: -8px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='8' fill='%23ccc'/%3E%3Cpath d='M8 4.5v7M4.5 8h7' stroke='%23fff' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat;
}
.c-voce[open] > summary::after { display: none; }
.c-voce > summary + * { margin-top: 20px; }
@media (max-width: 980px) { .wp-block-details.c-voce { margin-bottom: 10px; } } /* 10 px anche a 768 (misurato il 22/09) */

/* Testo che nel vecchio stava fuori dai paragrafi: nessuno spazio sotto. Paragrafi vuoti: solo lo spazio sotto. */
p.c-sciolto { padding-bottom: 0; }
p.c-vuoto { min-height: 0; }

/* ---------- Contatti: indirizzo a sinistra (2/5), modulo a destra (3/5), mappa sotto ---------- */
.c-contatti { padding: calc(var(--c-ps2) + 6px) 0 0; } /* riga esterna del vecchio (2% della pagina) + 5 px della sezione interna + 1 */
.c-contatti__righe { display: flex; gap: 5.5%; padding: var(--c-pr) 0; }
.wp-block-columns.c-contatti__righe > .c-contatti__info { flex: 0 0 36.67%; min-width: 0; }
.wp-block-columns.c-contatti__righe > .c-contatti__modulo { flex: 0 0 57.78%; min-width: 0; }
.c-contatti__info { font-size: 18px; color: var(--c-blu); }
.c-contatti__info h2 { font-size: 23px; line-height: 23px; color: var(--c-blu); }
.c-contatti__info p { padding-bottom: 18px; }
.c-contatti__info p:last-of-type { padding-bottom: 0; }
.c-mappa { line-height: 0; padding-bottom: 8px; }
.c-mappa__iframe { display: inline; width: 100%; height: 300px; border: 0; }

/* ---------- Moduli (Contact Form 7), come quelli del vecchio ---------- */
.wpcf7 { --c-mod-colore: var(--c-blu); container-type: inline-size; }
/* Spazi del modulo come nel vecchio: il 3% della larghezza del modulo Divi, che e' la colonna / 0,97 (3,093% della colonna). */
.c-agency-modulo .wpcf7 { --c-mod-colore: var(--c-petrolio); }
.wpcf7 form { margin: 0; }
.c-modulo__griglia { display: grid; grid-template-columns: 1fr 1fr; column-gap: 3.093cqw; row-gap: 3.093cqw; }
.c-modulo__campo--intero { grid-column: 1 / -1; }
.wpcf7-form-control-wrap { display: block; }
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 textarea {
	display: block; width: 100%; margin: 0; padding: 16px; border: 2px solid var(--c-mod-colore); border-radius: 0;
	background: rgba(255, 255, 255, 0); color: #898989; font: 400 14px/normal Montserrat, Helvetica, Arial, sans-serif;
	-webkit-appearance: none; appearance: none;
}
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"] { height: 54px; }
.wpcf7 textarea { height: 150px; resize: vertical; }
.wpcf7 input::placeholder, .wpcf7 textarea::placeholder { color: #898989; opacity: 1; }
.wpcf7 input:focus, .wpcf7 textarea:focus { outline: none; background: #fff; color: var(--c-mod-colore); }
.c-modulo__privacy { margin-top: 3.093cqw; color: #898989; }
.c-modulo__titolo { display: block; margin-bottom: 7px; font-weight: 600; color: var(--c-testo); }
.wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.wpcf7-acceptance label { display: inline-block; width: 100%; }
.wpcf7-acceptance input[type="checkbox"] {
	-webkit-appearance: none; appearance: none; width: 18px; height: 18px; margin: 0 6px 0 0; padding: 0;
	border: 2px solid var(--c-mod-colore); background: transparent; vertical-align: -3px; cursor: pointer;
}
.wpcf7-acceptance input[type="checkbox"]:checked {
	background: var(--c-mod-colore) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M3 7.5l2.6 2.6L11 4.5' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E") center / 12px no-repeat;
}
.wpcf7-acceptance a { color: #898989; font-weight: 700; text-decoration: underline; }
.c-modulo__invia { display: flex; justify-content: flex-end; margin-top: 1.546cqw; }
.c-modulo__invia .wpcf7-submit {
	margin: 0 0 0 18px; padding: 4.8px 16px; border: 2px solid #fff; border-radius: 15px; background: var(--c-mod-colore);
	color: #fff; font: 500 16px/27.2px Montserrat, Helvetica, Arial, sans-serif; cursor: pointer; transition: all .3s ease;
}
.wpcf7-spinner { display: none; }
.wpcf7 .wpcf7-not-valid { border-color: #f00; }
.wpcf7-not-valid-tip { font-size: 12px; color: #f00; }
.wpcf7 form .wpcf7-response-output { margin: 16px 0 0; padding: 8px 12px; border-width: 2px; font-size: 14px; }
@media (max-width: 767px) { .c-modulo__griglia { grid-template-columns: 1fr; } }

/* ---------- Colonne una sotto l'altra sotto i 980 px (come il vecchio), con 30 px di distacco.
   Niente flex: sotto i 782 px il nucleo impone alle colonne «flex-basis: 100% !important», che in verticale le allunga. */
@media (max-width: 980px) {
	.wp-block-columns.c-carte, .wp-block-columns.c-servizio__colonne, .wp-block-columns.c-team, .wp-block-columns.c-due,
	.wp-block-columns.c-tr__righe, .wp-block-columns.c-contatti__righe { display: block; }
	.wp-block-columns.c-carte > .wp-block-column + .wp-block-column, .wp-block-columns.c-servizio__colonne > .wp-block-column + .wp-block-column,
	.wp-block-columns.c-team > .wp-block-column + .wp-block-column, .wp-block-columns.c-due > .wp-block-column + .wp-block-column,
	.wp-block-columns.c-tr__righe > .wp-block-column + .wp-block-column, .wp-block-columns.c-contatti__righe > .wp-block-column + .wp-block-column { margin-top: 30px; }
	.wp-block-columns.c-carte > .wp-block-column { display: flex; }
}
/* tablet in verticale: il vecchio mette le schede due per riga, larghe 47,25%, distacco 5,5% e 30 px (misurato a 768 il 22/09) */
@media (min-width: 768px) and (max-width: 980px) {
	.wp-block-columns.c-carte, .wp-block-columns.c-team { display: grid; grid-template-columns: 1fr 1fr; column-gap: 5.5%; row-gap: 30px; }
	.wp-block-columns.c-carte > .wp-block-column + .wp-block-column, .wp-block-columns.c-team > .wp-block-column + .wp-block-column { margin-top: 0; }
}

/* ---------- Conio Agency ---------- */
/* Fascia alta: 600 px con la fotografia; la riga e' larga tutta la pagina fino a 1080 px (come la testata).
   Il logo sta in un riquadro spostato di 43 px a sinistra e 37 in basso, allineato a destra (misurato il 22/09). */
.c-agency-testa { height: 600px; padding-top: 1px; background-color: #fff; }
.c-agency-testa__riga { display: flex; justify-content: flex-end; width: 100%; max-width: 1080px; padding-top: var(--c-ps2); }
.c-agency-testa__logo { flex: 0 0 57.78%; position: relative; left: -43px; top: 37px; margin-top: 265px; }
.c-agency-testa__logo img { width: 439px; max-width: 100%; margin: 0 0 0 auto; }
.c-titolo.c-titolo--agency { padding-top: var(--c-ps2); }
.c-titolo--agency > .c-titolo__riga { width: 100%; max-width: 1080px; }
.c-agency { padding: 0; }
.c-agency__testo { padding: var(--c-pr2) 0; }
.c-agency__righe { display: flex; gap: 5.55%; padding: 17px 0 var(--c-pr2); }
.wp-block-columns.c-agency__righe > .wp-block-column { flex: 0 0 47.22%; min-width: 0; }
.c-agency__info { margin-bottom: 2.75cqw; padding: 15px 20px; background: var(--c-petrolio); color: #fff; font-size: 18px; line-height: 1.8em; }
.c-agency__info h2 { font-size: 24px; line-height: 24px; color: #fff; }
.c-agency__info p { padding-bottom: 18px; }
.c-agency__info p:last-of-type { padding-bottom: 0; }
.c-agency__info a { color: #fff; text-decoration: underline; }
.c-agency-modulo .c-modulo__invia .wpcf7-submit { background: var(--c-petrolio); }
@media (max-width: 980px) {
	.wp-block-columns.c-agency__righe { display: block; }
	.wp-block-columns.c-agency__righe > .wp-block-column + .wp-block-column { margin-top: 30px; }
	.c-agency__info { margin-bottom: 30px; }
}
@media (max-width: 767px) {
	.c-agency-testa__logo { flex-basis: 80%; }
}

/* ---------- Articolo (News) ---------- */
.c-articolo-testa > .c-riga { margin-top: 30px; border-bottom: 4px solid var(--c-blu); }
.c-articolo-testa h1 { margin: 0; padding: 15px 15px 20px; background: var(--c-blu); color: #fff; font-size: 28px; line-height: 28px; }
.c-articolo { padding: var(--c-ps2) 0; }
.c-articolo p { padding-bottom: 1em; }
.c-articolo p:last-of-type { padding-bottom: 0; }
.c-articolo ul { padding: 0 0 23px 1em; }
.c-articolo ol { padding: 0 0 23px 0; }
.c-articolo img { display: inline; vertical-align: baseline; }
.c-articolo .aligncenter { display: block; margin-left: auto; margin-right: auto; }
.c-articolo table { border-collapse: separate; border-spacing: 0; }

/* ---------- News: schede dei 30 articoli piu' recenti, 3 per riga (come il modulo Blog del vecchio) ---------- */
.c-news { padding-top: calc(var(--c-ps2) + 1px); padding-bottom: var(--c-ps2); }
.c-schede { display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-rows: 1fr; column-gap: 3%; row-gap: 3cqw; list-style: none; margin: 0; padding: 0 0 3cqw; line-height: 23.8px; }
/* grid-auto-rows 1fr: come nel vecchio, TUTTE le schede alte quanto la piu' alta dell'elenco; il contenuto resta in alto */
.c-schede > li { display: flex; flex-direction: column; min-width: 0; margin: 0; padding: 19px; border: 2px solid var(--c-blu); background: #fff; }
.c-scheda__titolo { margin: 0; padding-bottom: 10px; font-size: 20px; line-height: 32px; color: var(--c-titoli); }
.c-scheda__titolo a { display: inline; color: var(--c-blu); }
.c-scheda__data { margin: 0 0 6px; font-size: 14px; line-height: 56px; color: var(--c-testo); }
.c-scheda__riassunto { margin: 0; }
.c-scheda__riassunto p { padding-bottom: 0; }
.c-scheda__riassunto .wp-block-post-excerpt__more-text { display: none; }
.wp-block-read-more.c-scheda__leggi { align-self: flex-start; font-size: 16px; line-height: 80px; color: var(--c-collegamento); text-transform: uppercase; text-decoration: none; }
@media (max-width: 980px) { .c-schede { grid-template-columns: 1fr; grid-auto-rows: auto; } }
@media (max-width: 767px) { .c-schede { row-gap: 35.875px; padding-bottom: 35.875px; } .c-scheda__titolo { padding-bottom: 0; } }
/* tablet in verticale: due colonne alte uguali, distacco 5,5% e 47 px (16,21% della colonna), 30 px in fondo (misurato a 768 il 22/09) */
@media (min-width: 768px) and (max-width: 980px) { .c-schede { grid-template-columns: 1fr 1fr; grid-auto-rows: 1fr; column-gap: 5.5%; row-gap: 7.662cqw; padding-bottom: 30px; } }

/* ---------- Home ----------
   Misure lette riga per riga sul vecchio (22/09). I «27 px» sono lo spazio standard delle righe: --c-pr2 dentro la riga e --c-ps2 sulla riga
   (27 px, 2% della pagina fra 981 e 1349, 30 px sotto i 980). Gli altri valori sono fissi, come nel vecchio. */
.c-home__h2 { font-size: 24px; line-height: 24px; color: var(--c-blu); text-align: center; }
.c-home__h2--bianco { color: #fff; }
.wp-block-button.c-bottone--bordo-bianco .wp-block-button__link { border-color: #fff; }

/* riquadro fisso a destra (computer e tablet) */
.c-lato--fisso { position: fixed; right: 0; top: 50%; transform: translateY(-50%); z-index: 999; width: 200px; }
/* ombra su entrambi i pezzi, come il vecchio (misurata a 1440 il 22/09) */
.c-lato--fisso .c-lato__bianco, .c-lato--fisso .c-lato__blu { box-shadow: 0 2px 18px 0 rgba(0, 0, 0, .3); }
.c-lato__bianco { padding: 5px 15px 15px; background: #fff; }
.c-lato__etichetta { margin-bottom: 4.67px; font-size: 11px; line-height: 23.8px; color: var(--c-blu); }
.c-lato__logo img { width: 170px; height: auto; }
.c-lato__blu { padding: 20px 15px; background: var(--c-blu); }
.c-lato__img { padding-top: 10px; margin-bottom: 4.67px; }
.c-lato__voce + .c-lato__voce .c-lato__img { padding-top: 0; }
.c-lato__img img { width: 67px; height: auto; }
.c-lato__testo { margin-bottom: 4.67px; padding-top: 12px; font-size: 12px; color: #fff; }
.c-lato__voce:last-child .c-lato__testo { margin-bottom: 0; }
/* sotto i 980 px il vecchio stacca ogni pezzo di 30 px (misurato a 768 il 22/09) */
@media (max-width: 980px) { .c-lato--fisso .c-lato__etichetta, .c-lato--fisso .c-lato__img, .c-lato--fisso .c-lato__voce:first-child .c-lato__testo { margin-bottom: 30px; } }
/* fascia in fondo (telefono): tre colonne da 129 px, alta 120, come il vecchio (misurata il 22/09) */
.c-lato--fondo { position: fixed; left: 0; bottom: 0; z-index: 999; display: grid; grid-template-columns: repeat(3, 33.077%); width: 100%; height: 120px; box-shadow: 0 2px 18px 0 rgba(0, 0, 0, .3); }
.c-lato--fondo .c-lato__bianco { padding: 4px 0 0 20px; }
.c-lato--fondo .c-lato__etichetta { margin: 0; padding-top: 20px; font-size: 10px; line-height: 12px; }
.c-lato--fondo .c-lato__logo { margin: 0; padding: 15px 10px 15px 0; }
.c-lato--fondo .c-lato__logo img { width: 99px; }
.c-lato--fondo .c-lato__blu { display: contents; }
.c-lato--fondo .c-lato__voce { display: flex; align-items: flex-start; background: var(--c-blu); padding: 4px 0 0 20px; }
.c-lato--fondo .c-lato__voce + .c-lato__voce { padding: 0; }
.c-lato--fondo .c-lato__img { flex: none; margin: 0; padding-top: 10px; }
.c-lato--fondo .c-lato__img img { width: 33px; }
.c-lato--fondo .c-lato__voce + .c-lato__voce .c-lato__img img { width: 39px; }
.c-lato--fondo .c-lato__voce + .c-lato__voce .c-lato__img { padding-top: 10px; }
.c-lato--fondo .c-lato__testo { flex: 1; margin: 0; padding: 15px 0 0 15px; font-size: 10px; line-height: 12px; }
/* il testo va a capo come nel vecchio: 50 e 62 px di larghezza */
.c-lato--fondo .c-lato__voce .c-lato__testo { flex: none; width: 65px; }
.c-lato--fondo .c-lato__voce + .c-lato__voce .c-lato__testo { width: 77px; }
/* 1. presentazione: sezione alta 580 px, riquadro di testo e pulsante */
.c-home-testa { min-height: 580px; }
.c-home-testa > .c-riga { padding: var(--c-ps2) 0; }
.c-home-testa__righe { display: flex; gap: 5.55%; }
.wp-block-columns.c-home-testa__righe > .wp-block-column { flex: 0 0 47.22%; min-width: 0; }
.c-home-testa__box { margin-bottom: 2.75cqw; padding: 20px; background: rgba(0, 4, 130, .53); }
.c-home-testa__box h1 { font-size: 25px; line-height: 1.5em; color: #fff; }

/* 2. ultima notizia */
.c-home-news > .c-riga { padding: var(--c-ps2) 0; }
.c-notizia { list-style: none; margin: 0; padding: 0; line-height: 23.8px; }
.c-notizia > li { max-height: 208px; padding: 25px 40px; background: #fff; } /* come il vecchio: altezza massima 208 px, il contenuto puo' uscire */
/* ma la colonna che la contiene ha angoli di 25 px e taglia cio' che esce (misurato su 4 larghezze il 22/09) */
.c-notizia > li { border-radius: 25px; overflow: hidden; }
@media (max-width: 767px) { .c-notizia .c-notizia__titolo { font-size: 16px; line-height: 16px; padding-bottom: 0; } }
.c-notizia__titolo { margin: 0; padding-bottom: 10px; font-size: 24px; line-height: 24px; color: var(--c-titoli); }
.c-notizia__titolo a { display: inline; color: var(--c-titoli); }
.c-notizia__data { margin-bottom: 6px; font-size: 14px; }
.c-notizia__riassunto p { padding-bottom: 0; }
.wp-block-read-more.c-notizia__leggi { display: block; font-size: 16px; line-height: 48px; color: var(--c-collegamento); text-transform: uppercase; }
.c-home-news .c-pulsanti { margin-top: var(--c-pr2); }

/* 3. track record: titolo; testo e loghi; pulsante */
.c-home-tr { background: var(--c-blu); }
.c-home-tr > .c-riga { padding: var(--c-ps2) 0 var(--c-ps2); }
.c-home-tr .c-home__h2 { margin-bottom: calc(2 * var(--c-pr2)); }
.c-home-tr__righe.c-due { padding: 0 0 18px; }
.c-home-tr__testo p { font-size: 32px; line-height: 1.8em; color: #fff; }
.c-loghi.swiper { position: relative; overflow: hidden; padding: 10px 0 49px; } /* .swiper azzera lo spazio interno: serve la regola piu' forte */
.c-loghi .swiper-slide { display: flex; align-items: center; justify-content: center; height: 150px; }
.c-loghi .swiper-slide img { width: auto; max-width: 150px; height: auto; max-height: 150px; }
.c-loghi { --swiper-pagination-bottom: 0px; }
.c-loghi .swiper-pagination { top: auto; bottom: 0; height: 24px; padding-top: 8px; line-height: 0; }
.c-loghi .swiper-pagination-bullet { width: 10px; height: 10px; margin: 0 4px !important; border-radius: 0; background: var(--c-blu-scuro); opacity: 1; vertical-align: top; }
.c-loghi .swiper-pagination-bullet-active { background: #fff; }
.c-home-tr .c-pulsanti { margin-top: 21px; }

/* 4. perche' scegliere Conio */
.c-home-perche { padding-bottom: 6px; background: #f2f2f2; }
.c-home-perche > .c-riga { padding: var(--c-ps2) 0 var(--c-ps2); }
.c-home-perche .c-home__h2 { margin-bottom: calc(2px + var(--c-pr2)); }
.c-perche { display: flex; gap: 5.55%; margin: 0 0 calc(var(--c-pr2) + 7px); }
.wp-block-columns.c-perche > .wp-block-column { flex: 0 0 15.55%; min-width: 0; text-align: center; }
.c-perche__icona { display: flex; justify-content: center; height: 36px; margin-bottom: 10px; color: var(--c-blu); }
.c-perche__icona svg { width: 30px; height: 30px; }
.c-perche__testo { font-size: 16px; color: var(--c-blu); }

/* 5. global compact */
.c-home-gc { padding-bottom: 25px; background: #f2f2f2; }
.c-home-gc > .c-riga { padding: var(--c-ps2) 0 2px; }
.c-home-gc__icona { display: flex; justify-content: center; height: 52px; margin-bottom: -10px; color: var(--c-blu); }
.c-home-gc__icona svg { width: 63px; height: 50px; }
.c-home-gc__box { position: relative; padding: 10px 20px; background: var(--c-blu); color: #fff; font-size: 20px; text-align: center; }

/* 6. servizi */
.c-home-servizi { background: var(--c-blu); }
.c-home-servizi > .c-riga { padding: var(--c-ps2) 0; }
.c-home-servizi .c-home__h2 { margin-bottom: 8px; }
.c-home-servizi__intro { color: #fff; text-align: center; }
.c-home-servizi .c-carte { margin-top: calc(7px + var(--c-pr2)); }
.c-carte--home > .c-carta { border: 0; }
.c-carte--home .c-carta__testo { margin-top: 11.08px; }
.c-carte--home .c-pulsanti { margin-top: 11.08px; }

/* 7. vetrina annunci: riga larga 720 px, riquadro bianco con gli angoli in basso tondi */
.c-home-re { min-height: 250px; }
.c-home-re > .c-riga { width: min(50%, 720px); padding: var(--c-ps2) 0; }
.c-home-re__box { margin: -27px 80px 16px; padding: 20px 0; border-radius: 0 0 50px 50px; background: #fff; text-align: center; }
.c-home-re__box h2 { font-size: 24px; line-height: 24px; color: var(--c-blu); }
.c-home-re .c-pulsanti { margin-top: -22px; }

/* 8. societa' trasparente */
.c-home-trasparente { padding-bottom: 6px; background: #f2f2f2; }
.c-home-trasparente > .c-riga { padding: var(--c-ps2) 0; }
.c-home-trasparente .c-home__h2 { margin-bottom: calc(2px + var(--c-pr2)); text-transform: uppercase; }
.c-home-trasparente .wp-block-image img { width: 100%; }

@media (max-width: 980px) {
	.wp-block-columns.c-home-testa__righe, .wp-block-columns.c-perche { display: block; }
	/* nel vecchio la colonna vuota accanto al riquadro aggiunge 30 px sul telefono */
	.wp-block-columns.c-home-testa__righe > .wp-block-column:first-child { margin-bottom: 30px; }
	.c-home-testa__box { margin-bottom: 30px; }
	.c-carte--home .c-carta__testo, .c-carte--home .c-pulsanti { margin-top: 30px; }
	/* nel vecchio i pulsanti delle schede 2, 3 e 5 hanno 35 px sopra (misurato sul telefono il 22/09) */
	.c-carte--home > .c-carta:is(:nth-child(2), :nth-child(3), :nth-child(5)) .c-pulsanti { margin-top: 35px; }
	.wp-block-columns.c-perche > .wp-block-column + .wp-block-column { margin-top: 30px; }
}
/* riquadro CONIO RE ridotto solo sul telefono: a 768 px il vecchio lo tiene come sul computer (misurato il 22/09) */
@media (max-width: 767px) {
	.c-home-re__box { margin: -29px -60px 16px; }
	.c-home-re__box h2 { font-size: 14px; line-height: 14px; }
}
/* tablet in verticale: «Perché scegliere Conio» due per riga come il vecchio (misurato a 768 il 22/09) */
@media (min-width: 768px) and (max-width: 980px) {
	.wp-block-columns.c-perche { display: grid; grid-template-columns: 1fr 1fr; column-gap: 5.5%; row-gap: 30px; }
	.wp-block-columns.c-perche > .wp-block-column + .wp-block-column { margin-top: 0; }
}

/* Home sul telefono: la fascia AIRC fissa in fondo coprirebbe il piè; il vecchio gli aggiunge 70 px sopra (misurato il 22/09). */
@media (max-width: 767px) { .home .c-piede { padding-top: 120px; } }
/* pagina Servizi sul telefono: nel vecchio i pulsanti delle schede 2 e 5 hanno 35 px sopra invece di 30 (misurato il 22/09) */
@media (max-width: 980px) { .c-carte:not(.c-carte--home) > .c-carta:is(:nth-child(2), :nth-child(5)) .c-pulsanti { margin-top: 35px; } }

/* ---------- Pagina non trovata, ricerca, archivi (come l'impaginazione standard di Divi del vecchio) ---------- */
.c-lista__riga { display: flex; justify-content: space-between; padding: 58px 0 0; }
.c-lista__principale { flex: 0 0 73.6%; min-width: 0; padding-bottom: 50px; }
.c-lista__lato { flex: 0 0 18.06%; min-width: 0; position: relative; padding-bottom: 50px; }
.c-lista__lato::before { content: ""; position: absolute; top: -58px; bottom: 0; left: -30px; border-left: 1px solid #e2e2e2; }
.c-lista__nonvisto { font-size: 28px; line-height: 28px; color: var(--c-titoli); }
.c-lista__titolo { margin: 0; padding-bottom: 10px; font-size: 24px; line-height: 24px; color: var(--c-titoli); }
.c-lista__titolo a { color: var(--c-titoli); }
.c-lista__meta { gap: 4px; margin-bottom: 6px; padding-bottom: 15px; font-size: 14px; }
.c-lista__meta a { color: var(--c-testo); }
.c-lista__risultati .wp-block-post-template { list-style: none; margin: 0; padding: 0; line-height: 23.8px; }
.c-lista__risultati .wp-block-post-template > li { margin-bottom: 60px; }
.c-lista__risultati .wp-block-post-excerpt__more-text { display: none; }
.c-lista .wp-block-query-pagination a { color: var(--c-collegamento); font-size: 14px; }
.c-lista__lato h2 { margin-top: 30px; font-size: 24px; line-height: 24px; color: var(--c-titoli); }
.c-lato-cerca .wp-block-search__inside-wrapper { display: flex; }
.c-lato-cerca input.wp-block-search__input { flex: 1; min-width: 0; height: 40px; padding: 9.8px; border: 1px solid #ddd; border-right: 0; font: inherit; }
.c-lato-cerca .wp-block-search__button { height: 40px; margin: 0; padding: 0 9.8px; line-height: normal; border: 1px solid #ddd; background: #ddd; color: var(--c-testo); font: inherit; }
.c-lato-recenti { list-style: none; margin: 0; padding: 0; line-height: 23.8px; }
.c-lato-recenti li { margin-bottom: 7px; }
.c-lato-recenti a { color: var(--c-testo); }
.c-lista__lato .wp-block-latest-comments, .c-lista__lato .no-comments { margin: 0; padding: 0; line-height: 25.2px; }
@media (max-width: 767px) { .c-lista__titolo { font-size: 16px; line-height: 16px; } }
@media (max-width: 980px) {
	.c-lista__riga { display: block; }
	.c-lista__lato::before { display: none; }
}

/* ---------- Pulsanti col mouse sopra (come il vecchio, misurato il 22/09) ----------
   Lo spazio a sinistra scende al 70%, quello a destra raddoppia e nel posto liberato compare una freccia «›»;
   i colori si invertono. Tempi: 0,3 s (0,2 s per «Contattaci», «Curriculum Vitae», «Close» e INVIA). */
.wp-block-button.c-bottone .wp-block-button__link,
.wp-block-button.c-bottone-contorno .wp-block-button__link,
.wp-block-button.c-bottone-cv .wp-block-button__link { position: relative; --px: 14px; transition: all .3s ease; }
.wp-block-button.c-bottone--piccolo .wp-block-button__link { --px: 10px; }
.wp-block-button.c-bottone-cv .wp-block-button__link { --px: 12px; transition-duration: .2s; }
.wp-block-button.c-bottone-contorno .wp-block-button__link { transition-duration: .2s; }
.wp-block-button.c-bottone .wp-block-button__link::after,
.wp-block-button.c-bottone-contorno .wp-block-button__link::after,
.wp-block-button.c-bottone-cv .wp-block-button__link::after {
	content: ""; position: absolute; top: 50%; right: .74em; width: .5em; height: .82em; margin-top: -.41em;
	background: currentColor; opacity: 0; transform: translateX(-1.1em); transition: inherit;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 10'%3E%3Cpath d='M1 1l4 4-4 4' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 10'%3E%3Cpath d='M1 1l4 4-4 4' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
.wp-block-button.c-bottone .wp-block-button__link:hover,
.wp-block-button.c-bottone-contorno .wp-block-button__link:hover,
.wp-block-button.c-bottone-cv .wp-block-button__link:hover { padding-left: calc(var(--px) * .7); padding-right: calc(var(--px) * 2); }
.wp-block-button.c-bottone .wp-block-button__link:hover::after,
.wp-block-button.c-bottone-contorno .wp-block-button__link:hover::after,
.wp-block-button.c-bottone-cv .wp-block-button__link:hover::after { opacity: 1; transform: none; }
/* colori: bianco -> blu, blu -> bianco */
.wp-block-button.c-bottone .wp-block-button__link:hover { background: var(--c-blu); color: #fff; }
.wp-block-button.c-bottone--piccolo .wp-block-button__link:hover,
.wp-block-button.c-bottone--esterno .wp-block-button__link:hover { border-color: #fff; }
.wp-block-button.c-bottone--pieno .wp-block-button__link:hover { background: #fff; color: var(--c-blu); }
.wp-block-button.c-bottone-cv .wp-block-button__link:hover { background: rgba(255, 255, 255, .2); border-color: transparent; }
/* INVIA del modulo: e' un campo, la freccia e' un'immagine di sfondo */
.c-modulo__invia .wpcf7-submit { --px: 16px; transition: all .2s ease; background-repeat: no-repeat; background-position: right -20px center; background-size: 7px 11px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 10'%3E%3Cpath d='M1 1l4 4-4 4' fill='none' stroke='%23fff' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.c-modulo__invia .wpcf7-submit:hover { padding-left: 11.2px; padding-right: 32px; background-position: right 12px center; }

/* ---------- Animazioni d'entrata (come il vecchio, misurate il 22/09) ----------
   Un elemento con classe «c-anim c-anim-<tipo>» parte quando entra nello schermo: 1 s, ease-in-out, una volta.
   Ritardi: c-ritardo-300 / -600 / -800 / -1100 (ms). Punti di partenza letti sul vecchio:
   slideLeft -100%, slideRight +100%, slideBottom +100% in basso, slide e zoom meta' dimensione,
   flip rotateX 45°, flipLeft rotateY -45°, foldTop rotateX -45° dal bordo alto, bounceLeft -200 px con rimbalzi. */
.c-js .c-anim { opacity: 0; }
.c-js .c-anim.c-anim--in { animation-duration: 1s; animation-timing-function: ease-in-out; animation-fill-mode: both; }
.c-ritardo-300 { animation-delay: .3s; } .c-ritardo-600 { animation-delay: .6s; }
.c-ritardo-800 { animation-delay: .8s; } .c-ritardo-1100 { animation-delay: 1.1s; }
.c-anim-slideLeft.c-anim--in { animation-name: c-slideLeft; }
.c-anim-slideRight.c-anim--in { animation-name: c-slideRight; }
.c-anim-slideBottom.c-anim--in { animation-name: c-slideBottom; }
.c-anim-slide.c-anim--in, .c-anim-zoom.c-anim--in { animation-name: c-zoom; }
.c-anim-flip.c-anim--in { animation-name: c-flip; }
.c-anim-flipLeft.c-anim--in { animation-name: c-flipLeft; }
.c-anim-foldTop.c-anim--in { animation-name: c-foldTop; transform-origin: top; }
.c-anim-bounceLeft.c-anim--in { animation-name: c-bounceLeft; }
@keyframes c-slideLeft { from { opacity: 0; transform: translate3d(-100%, 0, 0); } to { opacity: 1; transform: translateZ(0); } }
@keyframes c-slideRight { from { opacity: 0; transform: translate3d(100%, 0, 0); } to { opacity: 1; transform: translateZ(0); } }
@keyframes c-slideBottom { from { opacity: 0; transform: translate3d(0, 100%, 0); } to { opacity: 1; transform: translateZ(0); } }
@keyframes c-zoom { from { opacity: 0; transform: scale3d(.5, .5, .5); } to { opacity: 1; transform: scaleX(1); } }
@keyframes c-flip { from { opacity: 0; transform: perspective(2000px) rotateX(45deg); } to { opacity: 1; transform: rotateX(0deg); } }
@keyframes c-flipLeft { from { opacity: 0; transform: perspective(2000px) rotateY(-45deg); } to { opacity: 1; transform: rotateY(0deg); } }
@keyframes c-foldTop { from { opacity: 0; transform: perspective(2000px) rotateX(-45deg); } to { opacity: 1; transform: rotateX(0deg); } }
@keyframes c-bounceLeft {
	0%, 60%, 75%, 90%, to { animation-timing-function: cubic-bezier(.215, .61, .355, 1); }
	0% { opacity: 0; transform: translate3d(-200px, 0, 0); }
	60% { transform: translate3d(25px, 0, 0); }
	75% { transform: translate3d(-10px, 0, 0); }
	90% { transform: translate3d(5px, 0, 0); }
	to { opacity: 1; transform: none; }
}
/* a fine animazione nessuna traccia (come il vecchio); sui pulsanti il vecchio fa solo una comparsa di 0,2 s */
.c-js .c-anim.c-anim--fatto { opacity: 1; animation: none; }
.c-js .c-pulsanti.c-anim { transition: opacity .2s ease; }
.c-js .c-pulsanti.c-anim.c-anim--in { opacity: 1; animation: none; }
@media (prefers-reduced-motion: reduce) { .c-js .c-anim { opacity: 1; } .c-js .c-anim.c-anim--in { animation: none; } }

/* ---------- Pulsante «torna su» (come il vecchio: compare oltre 800 px, entra ed esce da destra in 1 s) ---------- */
.c-su { display: none; position: fixed; z-index: 99999; right: 0; bottom: 125px; padding: 5px; border-radius: 5px 0 0 5px;
	background: rgba(0, 0, 0, .4); color: #fff; line-height: 0; cursor: pointer; }
.c-su svg { display: block; width: 30px; height: 30px; }
.c-su.c-su--si { display: block; opacity: 1; animation: c-su-entra 1s cubic-bezier(.77, 0, .175, 1) 1; }
.c-su.c-su--no { display: block; opacity: 0; pointer-events: none; animation: c-su-esce 1s cubic-bezier(.77, 0, .175, 1) 1; }
@keyframes c-su-entra { 0% { opacity: 0; transform: translateX(100%); } to { opacity: 1; transform: translateX(0); } }
@keyframes c-su-esce { 0% { opacity: 1; transform: translateX(0); } to { opacity: 0; transform: translateX(100%); } }

/* ---------- Articolo con sezione Divi nel testo (rigenerazione urbana): sezione e riga larga l'80%, centrata,
   come il vecchio (misurato a 1440, 1194, 768 e 390 il 22/09: sezione 54 / 4% / 50 px, riga 27 / 2% / 30 px) ---------- */
.c-divi-sezione { padding: 54px 0; }
.c-divi-riga { width: 80%; margin: 0 auto; padding: 27px 0; }
@media (max-width: 1349px) { .c-divi-sezione { padding: 4% 0; } .c-divi-riga { padding: 2% 0; } }
@media (max-width: 980px) { .c-divi-sezione { padding: 50px 0; } .c-divi-riga { padding: 30px 0; } }
