/*
Theme Name:  Product Compliance
Template:    kadence
Version:     0.8.4
Description: Tema figlio di Kadence per product-compliance.pro. Colori istituzionali, caratteri ospitati sul sito, testata e piede del restyling, stili dei componenti.
Author:      Antonio Gargasole
Text Domain: product-compliance
*/

/* ==========================================================
   1. Token del marchio (da css.txt e dal restyling rev. 6)
   ========================================================== */
:root {
	--pc-abyss: #041E33;
	--pc-ink: #062944;
	--pc-navy-deep: #00335C;
	--pc-navy: #00457C;
	--pc-link: #2272B1;
	--pc-orange: #F08228;
	--pc-orange-2: #FF9A45;
	--pc-amber: #FFB300;
	--pc-paper: #F2F6FA;
	--pc-line: #D3DEEA;
	--pc-text: #1F2937;
	--pc-title: #0B1B2B;
	--pc-muted: #51637A;
	--pc-on: #EDF3F9;
	--pc-on-2: #AFC3D8;
	--pc-font-display: "Archivo", "Roboto", "Helvetica Neue", Arial, sans-serif;
	--pc-font-body: "Roboto", "Helvetica Neue", Arial, sans-serif;
	--pc-font-mono: "IBM Plex Mono", ui-monospace, monospace;
	--pc-ease: cubic-bezier(.2, .75, .2, 1);
}

/* IBM Plex Mono (SIL Open Font License 1.1), ospitato dal tema figlio:
   Kadence gestisce solo i caratteri scelti nel Personalizza (Archivo, Roboto).
   Sottoinsieme latino da Google Fonts, pesi 500 e 600. */
@font-face {
	font-family: "IBM Plex Mono";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("fonts/ibm-plex-mono-500.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Archivo variabile (SIL Open Font License 1.1), ospitato dal tema figlio:
   Kadence ospita solo il peso 400 statico; questo file copre i pesi 100-900
   e le larghezze 62-125% usati dal restyling. Sottoinsieme latino. */
@font-face {
	font-family: "Archivo";
	font-style: normal;
	font-weight: 100 900;
	font-stretch: 62% 125%;
	font-display: swap;
	src: url("fonts/archivo-variabile.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "IBM Plex Mono";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("fonts/ibm-plex-mono-600.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Roboto variabile (SIL Open Font License 1.1, metadati google/fonts
   ofl/roboto verificati il 26-09-2026), ospitato dal tema figlio: copre i
   pesi 100-900 chiesti dai contenuti (Kadence ne ospitava solo 400 e 700).
   Sottoinsieme latino, tondo e corsivo. */
@font-face {
	font-family: "Roboto";
	font-style: normal;
	font-weight: 100 900;
	font-stretch: 100%;
	font-display: swap;
	src: url("fonts/roboto-variabile.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Roboto";
	font-style: italic;
	font-weight: 100 900;
	font-stretch: 100%;
	font-display: swap;
	src: url("fonts/roboto-variabile-corsivo.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ==========================================================
   2. Titolo della pagina
   Si nasconde il titolo di Kadence solo dove il contenuto
   ha gia' un proprio H1, per non mostrare due titoli.
   ========================================================== */
.entry-content-wrap:has(.entry-content h1) > .entry-header {
	display: none;
}
.entry-header .entry-title {
	color: var(--pc-navy);
}
/* Titolo delle pagine interne come nel modello del restyling */
body.single .entry-header h1.entry-title,
body.page:not(.home) .entry-header h1.entry-title {
	font-family: var(--pc-font-display);
	font-weight: 850;
	font-stretch: 108%;
	font-size: clamp(2rem, 4.4vw, 3.2rem);
	line-height: 1.08;
	letter-spacing: -.01em;
	text-wrap: balance;
}

/* ==========================================================
   3. Testata (dal restyling: fondo abisso, voci chiare)
   ========================================================== */
#masthead .site-main-header-wrap .site-header-row-container-inner,
#masthead .site-header-row-container-inner {
	background: rgba(4, 30, 51, .96);
	-webkit-backdrop-filter: blur(18px) saturate(140%);
	backdrop-filter: blur(18px) saturate(140%);
}
#masthead {
	box-shadow: 0 1px 0 rgba(255, 255, 255, .08);
}
#masthead .custom-logo {
	filter: drop-shadow(0 2px 12px rgba(4, 30, 51, .45));
}

/* Mega menu (Max Mega Menu sulla posizione Primario) */
#mega-menu-wrap-primary,
#mega-menu-wrap-primary #mega-menu-primary {
	background: transparent;
}
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link {
	color: var(--pc-on);
	font-family: var(--pc-font-body);
	font-weight: 500;
	font-size: 15px;
	background: transparent;
	border-radius: 999px;
	padding: 0 14px;
	transition: background .25s, color .25s;
}
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link:hover,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-toggle-on > a.mega-menu-link,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link:focus {
	background: rgba(255, 255, 255, .1);
	color: #fff;
}
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link {
	color: #fff;
	background: transparent;
	box-shadow: inset 0 -2px 0 var(--pc-orange);
	border-radius: 0;
}
#mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item ul.mega-sub-menu {
	background: rgba(255, 255, 255, .98);
	border-radius: 18px;
	padding: 18px;
	box-shadow: 0 40px 80px -30px rgba(4, 30, 51, .6);
}
#mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link {
	color: var(--pc-title);
	font-family: var(--pc-font-body);
	font-size: 15px;
	line-height: 1.35;
	border-radius: 10px;
	padding: 8px 10px;
	background: transparent;
	transition: background .2s, color .2s;
}
#mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link:hover,
#mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link:focus {
	background: var(--pc-paper);
	color: var(--pc-navy);
}

/* Voce "Contatti" del menu come pulsante arancione */
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.pc-cta {
	display: inline-flex;
	align-items: center;
	vertical-align: middle;
}
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.pc-cta > a.mega-menu-link {
	background: var(--pc-orange);
	color: #fff;
	font-weight: 700;
	height: auto;
	line-height: 1.2;
	padding: 12px 22px;
	border-radius: 999px;
	margin-left: 10px;
	box-shadow: 0 14px 34px -12px rgba(240, 130, 40, .75);
}
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.pc-cta > a.mega-menu-link:hover {
	background: var(--pc-orange-2);
	color: #fff;
}

/* Selettore della lingua: bandierina in linea con il testo */
#mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item a.mega-menu-link img,
.lang-item img {
	display: inline-block;
	vertical-align: middle;
	margin: 0 6px 0 0;
}

/* Testata su tablet e smartphone (menu mobile di Kadence) */
#mobile-header .site-header-row-container-inner {
	background: rgba(4, 30, 51, .96);
}
#mobile-header .menu-toggle-open,
#mobile-header .menu-toggle-open .menu-toggle-icon {
	color: #fff;
}
#mobile-drawer .drawer-inner {
	background: rgba(4, 30, 51, .97);
}
#mobile-drawer .drawer-inner a,
#mobile-drawer .drawer-inner .drawer-sub-toggle {
	color: #fff;
}
#mobile-drawer .mobile-navigation ul li > a,
#mobile-drawer .mobile-navigation ul li.menu-item-has-children > .drawer-nav-drop-wrap {
	border-bottom-color: rgba(255, 255, 255, .1);
}
#mobile-drawer .mobile-navigation li.pc-cta > a {
	display: inline-block;
	margin-top: 16px;
	padding: 12px 22px;
	background: var(--pc-orange);
	border-radius: 999px;
	font-weight: 700;
}

/* ==========================================================
   4. Piede (dal restyling: fondo abisso, tre colonne)
   ========================================================== */
#colophon .site-footer-row-container-inner {
	background: var(--pc-abyss);
	color: var(--pc-on-2);
}
#colophon a {
	color: var(--pc-on);
	text-decoration: none;
}
#colophon a:hover {
	color: var(--pc-amber);
}
#colophon h2,
#colophon h3,
#colophon h4 {
	color: #fff;
	font-family: var(--pc-font-display);
	font-weight: 800;
	font-size: 1rem;
	letter-spacing: .02em;
}
#colophon .footer-widget-area-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) minmax(0, 1fr);
	gap: 2.5rem;
	align-items: start;
}
/* piede compatto: ricerca sotto il logo, link su due colonne */
#colophon .footer-widget-area-inner > section:nth-child(2),
#colophon .footer-widget-area-inner > section:nth-child(3) {
	grid-row: span 2;
}
#colophon .footer-widget-area-inner > section:nth-child(4) {
	grid-column: 1;
	max-width: 320px;
}
#colophon .footer-widget-area-inner > section {
	margin: 0;
}
#colophon .footer-widget-area-inner p {
	margin: 0;
}
#colophon .site-footer-section,
#colophon .footer-widget-area {
	text-align: left;
}
#colophon .pc-foot-links > .wp-block-group__inner-container,
#colophon .pc-foot-links:not(:has(> .wp-block-group__inner-container)) {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: .45rem 1.5rem;
}
#colophon .pc-foot-links h2 {
	grid-column: 1 / -1;
}
#colophon .footer-widget-area-inner h2 {
	margin: 0 0 .8rem;
}
#colophon .site-middle-footer-inner-wrap {
	padding-top: 44px;
	padding-bottom: 28px;
}
#colophon .site-bottom-footer-inner-wrap {
	padding-top: 14px;
	padding-bottom: 14px;
	min-height: 0;
}
#colophon .site-bottom-footer-wrap .site-footer-row-container-inner {
	font-size: .9rem;
}
#colophon .site-bottom-footer-wrap .site-footer-row-container-inner {
	border-top: 1px solid rgba(255, 255, 255, .1);
}
#colophon input[type="search"] {
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, .25);
	background: rgba(255, 255, 255, .06);
	color: #fff;
}
#colophon .wp-block-search__button {
	background: var(--pc-orange);
	color: #fff;
	border-radius: 999px;
	border: 0;
}
#colophon p,
#colophon .has-text-color {
	color: var(--pc-on-2) !important;
}
#colophon .has-text-align-center,
#colophon .wp-block-heading {
	text-align: left !important;
}
#colophon .wp-block-image img {
	height: 64px;
	width: auto;
}
#colophon .wp-block-image {
	margin: 0 0 .8rem;
}
@media (max-width: 767px) {
	#colophon .footer-widget-area-inner {
		grid-template-columns: 1fr;
		gap: 1.6rem;
	}
	#colophon .footer-widget-area-inner > section:nth-child(n) {
		grid-row: auto;
		grid-column: auto;
	}
}

/* Pagine con il contenuto del restyling (#pcr): i titoli prendono il colore
   dal proprio blocco, come nel file originale, e non quello globale di Kadence */
#pcr :where(h1, h2, h3, h4, h5, h6) {
	color: inherit;
}

/* Servizio PPWR sospeso (decisione dell'utente del 23-08-2026): nascosti i
   banner e i box che portano alla consulenza PPWR nelle pagine informative.
   Stessa regola del CSS globale del sito vivo (voce 3042), spento sulla copia.
   Restano visibili i box generici che non puntano al servizio. */
.pcp-consulenza-ppwr-image-box,
.pcp-banner-link,
.pcp-cta:has(a[href*="consulenza-ppwr"]),
.pcp-cta:has(a[href*="ppwr-consulting"]) {
	display: none !important;
}

/* Tabelle su smartphone: Kadence taglia cio' che esce dalla pagina, quindi
   le tabelle piu' larghe dello schermo scorrono in orizzontale dentro il
   proprio riquadro. Escluse le pagine con il nuovo modello delle notizie
   (#pcn), dove la tabella e' gia' disegnata a schede. */
@media (max-width: 480px) {
	body:not(:has(#pcn)) .entry-content table {
		display: block;
		min-width: 0;
		max-width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
}

/* Smartphone, correzioni dal collaudo della copia (26-09-2026) */
/* Chi sono e About me: il nome nell'H1 e' bloccato su una riga dal CSS della
   pagina e allarga tutta la colonna della testata oltre lo schermo */
@media (max-width: 900px) {
	.entry-content .pcp-hero-content h1,
	.entry-content .pcp-hero-content h1 span,
	.entry-content .pcp-interventions h2 {
		white-space: normal;
	}
}
.entry-content .pcp-bento-grid {
	grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
}
/* Pagine GPSR: il riquadro della checklist passa a una colonna, ma il widget
   reCAPTCHA (304 px) ne fissava la larghezza minima */
@media (max-width: 900px) {
	.entry-content #pc-gpsr-hub .pcp-lead-magnet {
		grid-template-columns: minmax(0, 1fr);
	}
}
@media (max-width: 480px) {
	.entry-content #pc-gpsr-hub .pcp-lead-magnet {
		padding: 18px;
	}
	.entry-content #pc-gpsr-hub .pcp-form-wrapper {
		padding: 14px;
	}
	.entry-content #pc-gpsr-hub .g-recaptcha {
		transform: scale(.86);
		transform-origin: center top;
		margin-bottom: -10px;
	}
}
/* Home: il titolo della hero non si riduceva su smartphone */
@media (max-width: 760px) {
	body #pcr#pcr .hero h1 {
		font-size: clamp(2rem, 11vw, 2.8rem);
	}
}

/* Home attuale: la hero ha un margine negativo pensato per il vecchio tema */
.home .hero-overlay-container,
.page-id-1942 .hero-overlay-container {
	margin-top: 0 !important;
}

/* ==========================================================
   5. Componenti ripresi dal CSS globale del sito
   (plugin Simple Custom CSS and JS, voce 3042), invariati
   ========================================================== */
.colonne-arrotondate {
    z-index: 21;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 5px 12px rgba(0,0,0,0.25);
    background-color: #fff;
}

.chi-sono-section h2 {
    position: relative;
    z-index: 20;
    margin-top: -50px;
}

.selezione-gruppo {
    position: relative;
    z-index: 9;
    transform: translateY(-200px);
}

.wp-block-button__link {
    transition: all 0.3s ease-in-out !important;
}

.latest-news img {
    max-width: 180px;
    height: auto;
}

.latest-news h2 {
    font-size: 24px;
    font-weight: bold;
    line-height: 1.2;
}

.latest-news {
    display: flex;
    align-items: center;
    gap: 10px;
}

@media screen and (max-width: 768px) {
    .latest-news {
        flex-direction: column;
        align-items: flex-start;
    }
    .latest-news img {
        max-width: 100px;
    }
}

.comments-area,
.comments-title,
.comment-list,
.comment-reply-title,
.comment-respond,
.comment-form,
#respond,
#comments,
.comments-rss-link,
.form-search {
    display: none !important;
}

.sovrapp { z-index: 18; }

.sotto { z-index: 16; }

.elemento-testo {
    position: absolute;
    bottom: 15px;
    left: 20px;
    right: 20px;
}

.paragrafo-servizi {
    text-shadow: 3px 4px 10px rgba(0,0,0,0.1);
}

.hero-section .wp-block-button__link,
.wp-block-cover .wp-block-button__link {
    background-color: #f08228 !important;
    color: #00457C !important;
    padding: 12px 24px !important;
    border-radius: 30px !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15) !important;
    transition: all 0.3s ease-in-out !important;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #ccc;
    border-radius: 8px;
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    box-sizing: border-box;
    margin-bottom: 20px;
}

.wpcf7 form label {
    font-weight: 500;
    margin-bottom: 6px;
    display: inline-block;
    color: #222;
    font-family: 'Roboto', sans-serif;
}

.chi-sono-blocco p {
    font-size: 18px;
    line-height: 1.7;
    color: #333;
}

.custom-competenze li {
    font-size: 22px !important;
    line-height: 1.7;
}

/* Tipografia del vecchio modello, esclusa la notizia del restyling (#pcn):
   collaudo, blocco 1.1. :where() lascia la specificita' del CSS globale. */
.pcn-body:not(:where(#pcn *)) p,
.pcn-body:not(:where(#pcn *)) li {
    font-size: 1.08rem;
    line-height: 1.7;
}

.pcn-body:not(:where(#pcn *)) ul li {
    margin-bottom: 1em;
}

.main-container:not(:where(#pcn *)) p,
.main-container:not(:where(#pcn *)) li {
    font-size: 1.08rem !important;
    line-height: 1.7;
}

.main-container:not(:where(#pcn *)) ul li {
    margin-bottom: 1em;
}

.three-columns {
    display: flex;
    justify-content: center;
    gap: 40px;
    flex-wrap: wrap;
}

.three-columns > .wp-block-column {
    flex: 0 1 28%;
    min-width: 260px;
}

#come-avviare-collaborazione,
#how-to-start-collaboration {
    scroll-margin-top: 120px;
}

/* Pulsante di invio dei moduli: vale l'ultima versione del CSS globale */
.wpcf7 form input[type="submit"] {
    background-color: #f08228 !important;
    border: 2px solid #f08228 !important;
    color: #ffffff !important;
    font-weight: 600;
    font-size: 16px;
    padding: 12px 28px;
    border-radius: 8px;
    cursor: pointer;
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
    transition: all 0.25s ease-in-out;
}

.wpcf7 form input[type="submit"]:hover {
    background-color: #e48f00 !important;
    border-color: #e48f00 !important;
    color: #ffffff !important;
}

/* ==========================================================
   6. Correzioni dal collaudo della copia (26-09-2026)
   ========================================================== */
/* 1.2 Logo CE in apertura di Marchio CE ridotto al 60% della colonna */
.hero-image {
	width: 60% !important;
	height: auto !important;
	margin: 40px auto;
	display: block;
}
/* 1.7 Cornice di Kadence protetta dalle regole globali dei vecchi contenuti
   (body con padding, h2 con bordo): da togliere a conversione completata */
html body {
	padding: 0;
}
#colophon h2,
#colophon h3 {
	border-left: 0;
	padding-left: 0;
}
/* 1.8 e 2.1 Moduli di contatto: carattere del pulsante, campi a tutta
   larghezza in un riquadro bianco al posto del fondo beige */
.wpcf7 form input[type="submit"] {
	font-family: var(--pc-font-body);
}
.wpcf7 {
	background: #fff;
	border: 1px solid var(--pc-line);
	border-radius: 22px;
	padding: clamp(20px, 3vw, 34px);
	box-shadow: 0 1px 2px rgba(11, 27, 43, .06), 0 16px 36px -14px rgba(11, 27, 43, .30);
}
.wpcf7 form label {
	display: block;
}
.wpcf7 input[type='text'],
.wpcf7 input[type='email'],
.wpcf7 textarea {
	border-color: var(--pc-line);
	border-radius: 12px;
}
/* 2.2 Elenchi notizie e archivi di categoria */
.blog .loop-entry,
.archive .loop-entry,
.entry-related .loop-entry {
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 1px 0 var(--pc-line), 0 20px 36px -32px rgba(4, 30, 51, .55);
}
.blog .loop-entry .entry-title a,
.archive .loop-entry .entry-title a,
.entry-related .loop-entry .entry-title a {
	color: var(--pc-navy);
	font-family: var(--pc-font-display);
	font-weight: 800;
}

/* Corpo del testo in rem: segue la dimensione del carattere scelta dal
   lettore nel browser (Kadence lo fissava a 17 px) */
body {
	font-size: 1.0625rem;
}
.entry-related .loop-entry .entry-title {
	font-size: 1.15rem;
	line-height: 1.3;
}

/* ==========================================================
   7. Larghezza su computer (26-09-2026), Per chi lavoro IT ed EN
   (pagine 3180 e 3270), nata come prova sulla sola 3180: richiesta dell'utente "il testo si estende su una
   colonna troppo stretta, vorrei che si sviluppasse in larghezza".
   Pagina a larghezza normale di Kadence (impostazione della pagina),
   contenitore interno a 1240 px, schede con testo e punti elenco
   affiancati, niente bordino laterale nel riquadro evidenziato.
   ========================================================== */
body:is(.page-id-3180, .page-id-3270) .pcp-container {
	max-width: 1240px;
}
body:is(.page-id-3180, .page-id-3270) .pcp-target-intro {
	max-width: 62rem;
}
@media (min-width: 900px) {
	body:is(.page-id-3180, .page-id-3270) .pcp-target-card {
		grid-template-columns: 250px minmax(0, 1fr);
		gap: 36px;
	}
}
body:is(.page-id-3180, .page-id-3270) .pcp-value-box {
	border-left: 0;
	border-radius: 14px;
	background: var(--pc-paper);
}
@media (min-width: 1100px) {
	body:is(.page-id-3180, .page-id-3270) .pcp-card-content-col {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: 28px;
		align-items: start;
	}
}

/* ==========================================================
   8. Contrasto fra testo e fondo (controllo del 26-09-2026 su 78
   indirizzi a 1400 e 390 px, WCAG 2.1 criterio 1.4.3, livello AA).
   Segnalazione dell'utente: "in alcuni casi il colore del testo non
   combina col colore dello sfondo".
   ========================================================== */
/* invito finale del modello: link e grassetti chiari sul fondo blu
   (erano blu scuro su blu, rapporto 1,78) */
#pcn.pcn .pcp-cta p a,
#pcn.pcn .pcp-cta p strong {
	color: #fff;
}
#pcn.pcn .pcp-cta p a {
	text-decoration-color: rgba(255, 255, 255, .6);
}
#pcn.pcn .pcp-cta p a:hover {
	text-decoration-color: var(--pc-amber);
}
/* Chi sono e About me: titoli nella sezione scura (erano il blu notte di
   Kadence su blu, rapporto 1,78) */
.entry-content .pcp-dark-section :where(h1, h2, h3, h4) {
	color: #fff;
}
/* grigio troppo chiaro su bianco (rapporto 3,62) */
.entry-content .pcp-brands-label,
.entry-content .pcp-breadcrumb span {
	color: var(--pc-muted);
}
/* testi arancioni su fondo chiaro: arancio scuro del marchio, lo stesso
   del modello notizie (#B35300, rapporto 5 su bianco); l'arancio pieno
   resta per fondi e pulsanti */
.entry-content .pcp-nav-link {
	color: #B35300;
}
body #pcr#pcr .bento .more,
body #pcr#pcr .tiles .tile span,
body #pcr#pcr .qcard em {
	color: #B35300;
}

/* ==========================================================
   9. Pagine istituzionali a piena larghezza (26-09-2026, utente:
   "la pagina chi sono ha ancora testo su una colonna stretta. lo
   voglio a piena larghezza come nelle altre pagine"). Pagine a
   larghezza normale di Kadence (Chi sono, About me, Servizi IT ed
   EN, Contatti IT ed EN, Per chi lavoro EN) e limiti interni tolti.
   ========================================================== */
/* Chi sono e About me */
.entry-content .pcp-chisono .pcp-section-header,
.entry-content .pcp-chisono .pcp-dark-footer-text,
.entry-content .pcp-chisono .pcp-protocol-wrapper .pcp-container > div {
	max-width: none !important;
}
/* Servizi */
.entry-content .pcp-servizi-header > p,
.entry-content .servizi-pacchetti-wrapper > div {
	max-width: none !important;
}
.entry-content .servizi-aree,
.entry-content .servizi-pacchetti-container {
	max-width: none;
}
.entry-content .servizi-pacchetto-card {
	max-width: none;
	flex: 1 1 300px;
}

/* ==========================================================
   10. Home, sezione autore: credenziale istituzionale (26-09-2026).
   Utente: dare piu' evidenza all'incarico di docenza per l'Agenzia
   ICE senza sembrare autoreferenziali: in primo piano l'ente, poi il
   ruolo con il Master verificabile. Fascia a tutta larghezza sopra i
   contatti, che passano su una riga.
   ========================================================== */
body #pcr#pcr .auth-foot {
	grid-template-columns: 1fr;
}
body #pcr#pcr .auth-foot .contacts {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 2.4rem;
	align-items: center;
}
/* 27-09-2026, utente: piu' risalto cromatico al riquadro ICE. Fondo ambra
   e arancio, bordo ambra pieno, barra laterale, icona piena; bagliore in
   alto a destra, lontano dall'occhiello ambra, per tenerne il contrasto. */
body #pcr#pcr .cred {
	position: relative;
	overflow: hidden;
	margin-top: clamp(14px, 1.6vw, 22px);
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	gap: clamp(1.2rem, 3vw, 3rem);
	align-items: center;
	border-radius: 24px;
	padding: clamp(24px, 3vw, 40px);
	background:
		radial-gradient(120% 150% at 100% 0%, rgba(255, 179, 0, .28), rgba(255, 179, 0, 0) 60%),
		linear-gradient(120deg, rgba(240, 130, 40, .20), rgba(240, 130, 40, .07));
	border: 1px solid rgba(255, 179, 0, .8);
	box-shadow: 0 24px 64px -28px rgba(255, 179, 0, .5), 0 30px 60px -40px rgba(0, 0, 0, .8);
}
body #pcr#pcr .cred::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 6px;
	background: linear-gradient(180deg, var(--pc-amber), var(--pc-orange));
}
body #pcr#pcr .cred .ico {
	background: linear-gradient(145deg, var(--pc-amber), var(--pc-orange));
	border-color: transparent;
	box-shadow: 0 8px 22px -8px rgba(255, 179, 0, .7);
}
body #pcr#pcr .cred .ico svg {
	stroke: var(--pc-abyss);
	color: var(--pc-abyss);
}
body #pcr#pcr .cred-org {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 1.2rem;
	align-items: start;
}
body #pcr#pcr .cred-k {
	margin: 0 0 .5rem;
	font: 700 .78rem/1.2 var(--pc-font-body);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--pc-amber);
}
body #pcr#pcr .cred-t {
	margin: 0;
	font: 850 clamp(1.3rem, 2vw, 1.6rem)/1.15 var(--pc-font-display);
	font-stretch: 108%;
	color: #fff;
	text-wrap: balance;
}
body #pcr#pcr .cred-d {
	margin-top: .6rem;
	color: var(--pc-on);
	font-size: 1rem;
	line-height: 1.55;
}
body #pcr#pcr .cred-role p {
	font-size: clamp(1.05rem, 1.5vw, 1.25rem);
	line-height: 1.6;
	color: #fff;
}
body #pcr#pcr .cred-role a {
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	box-shadow: inset 0 -2px 0 var(--pc-orange);
	transition: box-shadow .3s;
}
body #pcr#pcr .cred-role a:hover {
	box-shadow: inset 0 -1.2em 0 rgba(240, 130, 40, .35);
}
@media (max-width: 980px) {
	body #pcr#pcr .cred {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 600px) {
	body #pcr#pcr .cred-org {
		grid-template-columns: 1fr;
		gap: .9rem;
	}
}

/* 11. Dati chiave a quattro voci nelle notizie (classe .four, notizia asserzioni ambientali 26-09-2026): due colonne, una su smartphone */
body #pcn.pcn .pcn-facts.four {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 860px) {
	body #pcn.pcn .pcn-facts.four {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================
   12. Didascalia delle immagini generate con IA (27-09-2026, decisione
       dell'utente): copertine sotto il titolo, fascia iniziale di Servizi
       e immagini dei contenuti (classe .pc-ia scritta nel contenuto).
       Escluse le foto dell'utente, le grafiche ufficiali e l'animazione
       della home.
   ========================================================== */
#wrapper #primary .article-post-thumbnail {
	overflow: visible;
	margin-bottom: calc(30px + 1.9em);
}
#wrapper #primary .article-post-thumbnail .post-thumbnail-inner {
	overflow: hidden;
	border-radius: inherit;
}
#wrapper #primary .article-post-thumbnail::after {
	content: "Immagine concettuale generata con IA ad uso illustrativo.";
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	margin-top: .6em;
	font-size: .8125rem;
	line-height: 1.4;
	font-style: italic;
	color: #5b6b7d;
	text-align: left;
}
html[lang^="en"] #wrapper #primary .article-post-thumbnail::after {
	content: "Conceptual image generated with AI for illustrative purposes.";
}
body.page-id-174 #pci .portrait.wide::after,
body.page-id-1990 #pci .portrait.wide::after {
	content: "Immagine concettuale generata con IA ad uso illustrativo.";
	display: block;
	margin-top: .6em;
	font-size: .8125rem;
	line-height: 1.4;
	font-style: italic;
	color: rgba(255, 255, 255, .72);
}
body.page-id-1990 #pci .portrait.wide::after {
	content: "Conceptual image generated with AI for illustrative purposes.";
}
#wrapper .pc-ia {
	display: block;
	margin-top: .6em;
	font-size: .8125rem;
	line-height: 1.4;
	font-style: italic;
	font-weight: 400;
	color: #5b6b7d;
	text-align: left;
}
#wrapper figcaption .pc-ia {
	margin-top: .4em;
}
#wrapper #pcr .svc > .pc-ia {
	margin: .5em clamp(20px, 2.4vw, 32px) 0;
}
#wrapper #pcr .pc-ia-bn {
	text-align: center;
	margin: 1em auto 0;
}

/* ==========================================================
   13. Riquadro autore di guide e notizie su smartphone (27-09-2026,
   utente: riquadro troppo allungato, foto a sinistra e testo stretto
   a destra). Sotto i 600 px una sola colonna: foto in alto, testo e
   pulsanti a tutta larghezza. Prefisso body per prevalere su pcn.css.
   ========================================================== */
@media (max-width: 600px) {
	body #pcn.pcn .pcp-author-box {
		grid-template-columns: minmax(0, 1fr);
		justify-items: start;
		gap: 14px;
		padding: 20px;
	}
	body #pcn.pcn .pcp-author-img {
		width: 72px;
		height: 72px;
	}
	body #pcn.pcn .pcp-author-content,
	body #pcn.pcn .pcp-author-links {
		width: 100%;
	}
}

/* ==========================================================
   14. Pagina Notizie (11-10-2026, decisione dell'utente): rimando fisso a
   tutta larghezza alla pagina "Novita' normative in pillole" al posto del
   titolo d'archivio, con l'immagine del giornale scontornata appoggiata in
   basso. Markup da functions.php (.pc-pillole-banner).
   ========================================================== */
.blog .post-archive-hero-section .entry-hero-container-inner {
	background: linear-gradient(135deg, var(--pc-navy) 0%, var(--pc-ink) 100%);
}
.pc-pillole-banner {
	display: grid;
	text-align: left;
	grid-template-columns: minmax(0, 1fr) minmax(0, 440px);
	align-items: end;
	gap: 24px 56px;
	padding-top: 40px;
	color: var(--pc-on);
}
.pc-pillole-banner .pc-pb-testo {
	align-self: center;
	padding-bottom: 40px;
}
.blog .pc-pillole-banner h1.pc-pb-kicker {
	margin: 0 0 .7rem;
	padding: 0;
	font: 600 .82rem/1 var(--pc-font-mono);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--pc-amber);
}
.pc-pillole-banner .pc-pb-titolo {
	margin: 0;
	font: 800 clamp(1.7rem, 3.2vw, 2.6rem)/1.1 var(--pc-font-display);
	color: #fff;
}
.pc-pillole-banner .pc-pb-titolo a {
	color: #fff;
	text-decoration: none;
}
.pc-pillole-banner .pc-pb-sotto {
	margin: .65rem 0 0;
	max-width: 40rem;
	font-size: 1.05rem;
	line-height: 1.55;
	color: var(--pc-on-2);
}
.pc-pillole-banner .pc-pb-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 1.4rem;
	padding: .9rem 1.45rem;
	border-radius: 999px;
	background: var(--pc-orange);
	color: #fff;
	font: 700 1rem/1 var(--pc-font-body);
	text-decoration: none;
	white-space: nowrap;
	transition: background .2s;
}
.pc-pillole-banner .pc-pb-btn:hover {
	background: var(--pc-orange-2);
	color: #fff;
}
.pc-pillole-banner .pc-pb-img {
	display: block;
	line-height: 0;
}
.pc-pillole-banner .pc-pb-img img {
	display: block;
	width: 100%;
	height: auto;
}
@media (max-width: 820px) {
	.pc-pillole-banner {
		grid-template-columns: minmax(0, 1fr);
		padding-top: 34px;
	}
	.pc-pillole-banner .pc-pb-testo {
		padding-bottom: 0;
	}
	.pc-pillole-banner .pc-pb-img {
		width: min(100%, 360px);
		margin: 0 auto;
	}
}
@media (max-width: 600px) {
	.pc-pillole-banner .pc-pb-btn {
		width: 100%;
		justify-content: center;
	}
}
