/* Pagina articolo: indice, leggi anche, autore, correlati, segui */
:root { --cm-arancio: #F1592B; --cm-arancio-scuro: #c75a0a; --cm-nero: #0c0c0c; --cm-tenue: #6b6b6b; --cm-bordo: #e6ddd4; --cm-fondo: #fff7f0; }
html { scroll-padding-top: 110px; }

.cm-indice { margin: 0 0 2em; border: 1px solid var(--cm-bordo); border-left: 4px solid var(--cm-arancio); border-radius: 4px; background: var(--cm-fondo); }
.cm-indice summary { cursor: pointer; padding: 14px 18px; font: 700 .85rem/1.2 Poppins, system-ui, sans-serif; text-transform: uppercase; letter-spacing: .1em; color: var(--cm-nero); }
.cm-indice ol { margin: 0; padding: 0 18px 16px 2.4em; }
.cm-indice li { margin: .35em 0; line-height: 1.4; }
.cm-indice a { color: var(--cm-nero) !important; text-decoration: none !important; border-bottom: 1px solid var(--cm-bordo); }
.cm-indice a:hover, .cm-indice a:focus-visible { border-bottom-color: var(--cm-arancio); }

.cm-leggi-anche { margin: 1.6em 0; padding: 12px 0 12px 16px; border-left: 3px solid var(--cm-arancio); font-family: Poppins, system-ui, sans-serif; line-height: 1.4; }
.cm-leggi-anche span { display: block; font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--cm-arancio-scuro); margin-bottom: 2px; }
.cm-leggi-anche a { font-weight: 600; color: var(--cm-nero) !important; }

.cm-autore { display: flex; gap: 20px; align-items: flex-start; margin: 3em 0 0; padding: 24px 0; border-top: 2px solid var(--cm-nero); border-bottom: 1px solid var(--cm-bordo); }
.cm-autore img.cm-autore__foto { width: 80px; height: 80px; border-radius: 50%; object-fit: cover; flex: none; margin: 0; }
.cm-autore p { margin: 0 0 6px; }
.cm-autore__etichetta { font: 700 .75rem Poppins, system-ui, sans-serif; text-transform: uppercase; letter-spacing: .1em; color: var(--cm-tenue); }
.cm-autore__nome { font: 700 1.35rem/1.2 Poppins, system-ui, sans-serif; }
.cm-autore__nome a { color: var(--cm-nero) !important; text-decoration: none !important; }
.cm-autore__ruolo { font-family: Poppins, system-ui, sans-serif; color: var(--cm-arancio-scuro); font-weight: 600; }
.cm-autore__bio { line-height: 1.55; }
.cm-autore__link { font: 600 .9rem Poppins, system-ui, sans-serif; }

.cm-correlati { margin: 2.5em 0 0; }
.cm-correlati .cm-correlati__titolo { font: 700 1.5rem/1.2 Poppins, system-ui, sans-serif; margin: 0 0 16px; }
.cm-correlati__griglia { display: grid; gap: 20px; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.cm-correlati__voce a { display: block; color: var(--cm-nero) !important; text-decoration: none !important; }
.cm-correlati__voce img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 4px; margin: 0 0 10px; }
.cm-correlati__cat { display: block; font: 700 .72rem Poppins, system-ui, sans-serif; text-transform: uppercase; letter-spacing: .1em; color: var(--cm-arancio-scuro); margin-bottom: 4px; }
.cm-correlati__nome { font: 700 1.1rem/1.25 Poppins, system-ui, sans-serif; }
.cm-correlati__voce a:hover .cm-correlati__nome, .cm-correlati__voce a:focus-visible .cm-correlati__nome { text-decoration: underline; text-decoration-color: var(--cm-arancio); }

.cm-segui { margin: 2.5em 0 0; padding: 22px 24px; background: var(--cm-nero); color: #f3e9df; border-radius: 6px; display: flex; flex-wrap: wrap; gap: 16px 28px; align-items: center; }
.cm-segui p { margin: 0; }
.cm-segui .cm-segui__titolo { font: 700 1.3rem/1.2 Poppins, system-ui, sans-serif; color: #fff; margin-bottom: 4px; }
.cm-segui ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 10px; flex-wrap: wrap; }
.cm-segui ul a { display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border: 1px solid #4a4440; border-radius: 999px; color: #fff !important; text-decoration: none !important; font: 600 .9rem Poppins, system-ui, sans-serif; }
.cm-segui ul a:hover, .cm-segui ul a:focus-visible { border-color: var(--cm-arancio); }
.cm-segui .cm-icona { width: 18px; height: 18px; }
.cm-segui__scrivi { flex-basis: 100%; font-family: Poppins, system-ui, sans-serif; font-size: .95rem; color: #cfc6bd; }
.cm-segui__scrivi a { color: var(--cm-arancio) !important; font-weight: 700; }

@media (max-width: 600px) {
	.cm-autore { flex-direction: column; gap: 12px; }
}

.cm-briciole-articolo { font: 600 .82rem Poppins, system-ui, sans-serif; color: var(--cm-tenue); margin: 0 0 1.4em; }
.cm-briciole-articolo a { color: var(--cm-nero) !important; text-decoration: none !important; border-bottom: 2px solid var(--cm-arancio); }
.cm-sezione-box { --cm-sez: #F1592B; margin: 3em 0 0; padding: 20px 22px; border-radius: 8px; background: #0b0b0d; color: #e4ddd5; display: grid; gap: 4px; border-left: 6px solid var(--cm-sez); font-family: Poppins, system-ui, sans-serif; }
.cm-sezione-box[data-sezione="cybersecurity"] { --cm-sez: #12b886; } .cm-sezione-box[data-sezione="intelligenza-artificiale"] { --cm-sez: #6b5cff; } .cm-sezione-box[data-sezione="digital-transformation"] { --cm-sez: #1c8fe3; } .cm-sezione-box[data-sezione="open-innovation"] { --cm-sez: #ffc21a; } .cm-sezione-box[data-sezione="startup"] { --cm-sez: #f0447c; }
.cm-sezione-box span { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; color: var(--cm-sez); }
.cm-sezione-box a { font: 700 1.35rem/1.2 Poppins, system-ui, sans-serif; color: #fff !important; text-decoration: none !important; }
.cm-sezione-box a b { color: var(--cm-sez); }
.cm-sezione-box small { color: #9a9189; font-size: .85rem; }

/* ---- Modello articolo [cm_articolo] ---- */
.cm-art { --cm-sez: #F1592B; padding-bottom: 40px; font-family: Poppins, system-ui, sans-serif; }
.cm-art[data-sezione="cybersecurity"] { --cm-sez: #12b886; } .cm-art[data-sezione="intelligenza-artificiale"] { --cm-sez: #6b5cff; } .cm-art[data-sezione="digital-transformation"] { --cm-sez: #1c8fe3; } .cm-art[data-sezione="open-innovation"] { --cm-sez: #ffc21a; } .cm-art[data-sezione="startup"] { --cm-sez: #f0447c; }
.cm-art__testa { max-width: 900px !important; padding-top: 32px; padding-bottom: 26px; display: grid; gap: 14px; justify-items: start; }
.cm-art__testa .cm-briciole-articolo { margin: 0; }
.cm-art__titolo { font: 700 clamp(2rem, 4.6vw, 3.4rem)/1.06 Poppins, system-ui, sans-serif !important; color: #0c0c0c !important; margin: 0 !important; letter-spacing: -.012em; text-wrap: balance; }
.cm-art__sommario { font: 400 clamp(1.1rem, 1.8vw, 1.3rem)/1.5 Poppins, system-ui, sans-serif; color: #3b3632; margin: 0; max-width: 62ch; }
.cm-art__firma { width: 100%; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; padding-top: 16px; border-top: 1px solid #e6ddd4; }
.cm-art__autore { display: flex; align-items: center; gap: 10px; color: #0c0c0c !important; text-decoration: none !important; }
.cm-art__autore img { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; margin: 0 !important; }
.cm-art__autore span { display: grid; font-size: .82rem; color: #6b645d; line-height: 1.3; }
.cm-art__autore strong { font-size: .98rem; color: #0c0c0c; }
.cm-art__dati { margin: 0; font-size: .86rem; color: #6b645d; }
.cm-condividi { display: flex; gap: 8px; list-style: none; margin: 0 0 0 auto !important; padding: 0 !important; }
.cm-condividi a, .cm-condividi button { width: 38px; height: 38px; border-radius: 50% !important; display: inline-flex !important; align-items: center; justify-content: center; border: 1px solid #d8cfc6 !important; background: #fff !important; color: #0c0c0c !important; padding: 0 !important; cursor: pointer; transition: background .2s, color .2s, border-color .2s; position: relative; box-shadow: none !important; }
.cm-condividi button::before, .cm-condividi button::after { display: none !important; }
.cm-condividi a:hover, .cm-condividi a:focus-visible, .cm-condividi button:hover, .cm-condividi button:focus-visible { background: #0c0c0c !important; color: #fff !important; border-color: #0c0c0c !important; }
.cm-copiato::after { content: "Link copiato" !important; display: block !important; position: absolute; top: 44px; right: 0; white-space: nowrap; background: #0c0c0c; color: #fff; font-size: .75rem; padding: 4px 8px; border-radius: 4px; }
.cm-art__foto { max-width: 1240px !important; margin: 0 auto 40px !important; }
.cm-art__foto img { display: block; width: 100% !important; height: auto !important; aspect-ratio: 16 / 9; max-height: 620px; object-fit: cover; border-radius: 10px; margin: 0 !important; }
.cm-art__foto figcaption { font-size: .82rem; color: #6b645d; margin-top: 8px; }
.cm-art__corpo { display: grid; grid-template-columns: 250px minmax(0, 720px); gap: 56px; justify-content: center; }
.cm-art__lato { position: relative; }
.cm-art__lato .cm-indice { position: sticky; top: 100px; margin: 0; background: transparent; border: 0; border-left: 3px solid var(--cm-sez); border-radius: 0; }
.cm-art__lato .cm-indice summary { padding: 0 0 10px 16px; }
.cm-art__lato .cm-indice ol { padding: 0 0 0 2.2em; font-size: .9rem; }
.cm-art__testo { font: 400 1.14rem/1.75 Poppins, system-ui, sans-serif; color: #1e1b18; min-width: 0; }
.cm-art__testo > p, .cm-art__testo li { font-size: inherit !important; line-height: inherit !important; text-align: left !important; }
.cm-art__testo p { margin: 0 0 1.25em; }
.cm-art__testo h2 { font: 700 1.75rem/1.2 Poppins, system-ui, sans-serif !important; margin: 1.8em 0 .6em !important; color: #0c0c0c !important; }
.cm-art__testo h3 { font: 700 1.3rem/1.25 Poppins, system-ui, sans-serif !important; margin: 1.5em 0 .5em !important; }
.cm-art__testo > p a, .cm-art__testo > ul a, .cm-art__testo > ol a { color: #0c0c0c !important; text-decoration: underline !important; text-decoration-color: var(--cm-sez) !important; text-decoration-thickness: 2px !important; text-underline-offset: 3px; }
.cm-art__testo img { border-radius: 8px; height: auto; }
.cm-art__testo blockquote { border-left: 4px solid var(--cm-sez); margin: 1.6em 0; padding: .2em 0 .2em 1.2em; font: 500 1.3rem/1.45 Poppins, system-ui, sans-serif; }
.cm-art__testo .cm-leggi-anche { border-left-color: var(--cm-sez); }
.cm-art__testo .cm-leggi-anche span { color: #0c0c0c; }
@media (max-width: 1000px) {
	.cm-art__corpo { grid-template-columns: minmax(0, 720px); gap: 0; }
	.cm-art__lato .cm-indice { position: static; margin: 0 0 2em; border: 1px solid #e6ddd4; border-left: 4px solid var(--cm-sez); background: #fff7f0; border-radius: 4px; }
	.cm-art__lato .cm-indice summary { padding: 14px 18px; }
	.cm-art__lato .cm-indice ol { padding: 0 18px 16px 2.4em; }
}
@media (max-width: 640px) {
	.cm-art__foto { padding: 0 !important; }
	.cm-art__foto img { border-radius: 0; aspect-ratio: 4 / 3; }
	.cm-condividi { margin-left: 0 !important; }
	.cm-art__testo { font-size: 1.08rem; }
}
/* Del vecchio modello restano solo i blocchi che non duplicano i nostri */
body.single-post .cm-art ~ * .elementor-widget-cmsmasters-post-navigation { display: none; }

.cm-art__corpo--unico { grid-template-columns: minmax(0, 760px); }
/* Il tempo di lettura è già nella firma: via l'etichetta di Worth The Read (resta la barra di avanzamento nostra) */
.cm-art .wtr-time-wrap, .cm-art .wtr-time-wrap.block { display: none !important; }

.cm-art__testo .cm-segui__scrivi a { color: #F1592B !important; text-decoration: underline !important; }
.cm-art__testo .cm-correlati a, .cm-art__testo .cm-autore a, .cm-art__testo .cm-sezione-box a, .cm-art__testo .cm-ad a { text-decoration: none !important; }

/* In breve (riassunto citabile) e FAQ dell'articolo */
.cm-in-breve { margin: 0 0 2em; padding: 22px 26px; border-radius: 10px; background: #fff7f0; border: 1px solid #f3dccb; font-family: Poppins, system-ui, sans-serif; }
.cm-in-breve__titolo { margin: 0 0 10px !important; font-size: .74rem !important; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: #c2410c; }
.cm-in-breve ul { margin: 0; padding-left: 1.2em; display: grid; gap: 8px; }
.cm-in-breve li { font-size: 1rem !important; line-height: 1.5 !important; color: #2a231d; }
.cm-faq-art { margin: 2.5em 0 0; font-family: Poppins, system-ui, sans-serif; }
.cm-faq-art h2 { margin: 0 0 .6em !important; }
.cm-faq-art details { border-bottom: 1px solid #e8e1d9; padding: 14px 0; }
.cm-faq-art summary { cursor: pointer; font-weight: 600; font-size: 1.05rem; color: #141210; }
.cm-faq-art details p { margin: 10px 0 0 !important; font-size: 1rem !important; line-height: 1.6 !important; }
