/*
Theme Name: GDPR33
Theme URI: https://github.com/Pa33srl/gdpr33-website
Author: PA33 srl
Author URI: https://www.pa33.it/
Description: Tema del sito gdpr33.it: sito vetrina delle soluzioni GDPR33 di PA33. Tema classico autonomo, senza risorse esterne (nessun font remoto, CDN o script di terze parti), con home page, pagine soluzione, blog, FAQ e moduli di contatto (Contact Form 7).
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: gdpr33
Tags: one-column, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

/* ---------------------------------------------------------------------------
   Variabili e base
   --------------------------------------------------------------------------- */
:root {
	--accento: #32c5d2;
	--accento-scuro: #27a8b4;
	--scuro: #2f353b;
	--scuro-2: #3a3f45;
	--testo: #3a3f45;
	--testo-chiaro: #6c757d;
	--muted: #a4aeb8;
	--grigio: #f7f7f7;
	--bordo: #e1e1e1;
	--bianco: #fff;
	--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--container: 1140px;
	--gutter: 16px;
	--header-h: 80px;
	--ombra: 0 2px 12px rgba(0, 0, 0, .08);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body {
	margin: 0;
	font-family: var(--font);
	font-size: 16px;
	line-height: 1.65;
	color: var(--testo);
	background: var(--bianco);
	-webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }
a { color: var(--accento-scuro); text-decoration: none; }
a:hover, a:focus { color: var(--scuro); text-decoration: underline; }
:focus-visible { outline: 3px solid var(--accento); outline-offset: 2px; }
h1, h2, h3, h4 { color: var(--scuro); line-height: 1.25; margin: 0 0 .6em; font-weight: 700; }
h1 { font-size: 2rem; } h2 { font-size: 1.6rem; } h3 { font-size: 1.25rem; } h4 { font-size: 1.05rem; }
p { margin: 0 0 1em; }
ul, ol { margin: 0 0 1em; padding-left: 1.4em; }
hr { border: 0; border-top: 1px solid var(--bordo); margin: 2em 0; }
.container { width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter); }
.contenuto-stretto { max-width: 900px; }
.centro { text-align: center; }
.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%); margin: -1px; padding: 0; border: 0; word-wrap: normal !important;
}
.skip-link:focus {
	position: fixed !important; left: 8px; top: 8px; z-index: 1000; width: auto; height: auto; clip: auto; clip-path: none;
	padding: .6em 1em; background: var(--scuro); color: #fff; font-weight: 700; border-radius: 3px;
}

/* Titoli di marchi con maiuscole miste (es. PRiMa): nessuna trasformazione */
.no-maiuscolo, .no-maiuscolo a { text-transform: none !important; }

/* Pulsanti */
.btn {
	display: inline-block; padding: .65em 1.4em; border: 2px solid var(--accento); border-radius: 0;
	font-weight: 700; text-transform: uppercase; letter-spacing: .02em; font-size: .85rem; line-height: 1.3;
	cursor: pointer; text-decoration: none; transition: background .15s, color .15s, border-color .15s;
}
.btn:hover, .btn:focus { text-decoration: none; }
.btn-accento { background: var(--accento); color: #fff; }
.btn-accento:hover, .btn-accento:focus { background: var(--accento-scuro); border-color: var(--accento-scuro); color: #fff; }
.btn-chiaro { background: transparent; color: #fff; border-color: #fff; }
.btn-chiaro:hover, .btn-chiaro:focus { background: #fff; color: var(--scuro); }

/* ---------------------------------------------------------------------------
   Header
   --------------------------------------------------------------------------- */
.sito-header {
	position: sticky; top: 0; z-index: 100; background: #fff;
	border-bottom: 1px solid var(--bordo); transition: box-shadow .2s;
}
.sito-header.compatto { box-shadow: var(--ombra); }
.header-inner { display: flex; align-items: center; justify-content: space-between; min-height: var(--header-h); gap: 1rem; }
.logo img, .custom-logo { display: block; height: 40px; width: auto; }
.nav-toggle {
	display: none; background: none; border: 0; padding: .5rem; cursor: pointer; color: var(--scuro);
}
.nav-toggle-linee { display: block; width: 26px; }
.nav-toggle-linee span { display: block; height: 3px; margin: 5px 0; background: currentColor; border-radius: 2px; transition: transform .2s, opacity .2s; }
.nav-toggle[aria-expanded="true"] .nav-toggle-linee span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle-linee span:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] .nav-toggle-linee span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

.nav-principale { display: flex; align-items: center; gap: .25rem; }
.nav-principale .menu { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; }
.nav-principale .menu > li { position: relative; display: flex; align-items: center; }
.nav-principale .menu a {
	display: block; padding: 1.7rem .95rem; color: var(--scuro-2); font-weight: 700; text-transform: uppercase;
	font-size: .88rem; letter-spacing: .02em; text-decoration: none; transition: color .15s;
}
.nav-principale .menu > li > a:hover, .nav-principale .menu > li > a:focus,
.nav-principale .menu > li.current-menu-item > a, .nav-principale .menu > li.current-menu-ancestor > a,
.nav-principale .menu > li.current_page_parent > a, .nav-principale .menu > li.current-page-ancestor > a { color: var(--accento); }
.nav-principale .menu-item-has-children > a { padding-right: .5rem; }
.sub-toggle {
	background: none; border: 0; padding: .4rem; margin-left: -.3rem; cursor: pointer; color: var(--scuro-2); width: 26px; height: 26px; position: relative;
}
.sub-toggle::after {
	content: ""; position: absolute; left: 8px; top: 7px; width: 7px; height: 7px;
	border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .15s;
}
.sub-aperto > .sub-toggle::after { transform: rotate(225deg); top: 11px; }
.nav-principale .sub-menu {
	list-style: none; margin: 0; padding: .4rem 0; position: absolute; top: 100%; left: 0; min-width: 260px;
	background: var(--scuro); box-shadow: var(--ombra); display: none; z-index: 50;
}
.nav-principale .sub-menu a { padding: .7rem 1.2rem; color: #fff; text-transform: none; font-weight: 600; font-size: .9rem; }
.nav-principale .sub-menu a:hover, .nav-principale .sub-menu a:focus { background: rgba(255, 255, 255, .08); color: var(--accento); }
.nav-principale .menu > li:hover > .sub-menu, .nav-principale .menu > li:focus-within > .sub-menu, .nav-principale .menu > li.sub-aperto > .sub-menu { display: block; }
.search-toggle { background: none; border: 0; padding: .6rem; margin-left: .25rem; cursor: pointer; color: var(--scuro-2); display: flex; }
.search-toggle:hover, .search-toggle[aria-expanded="true"] { color: var(--accento); }
.search-bar { background: var(--grigio); border-top: 1px solid var(--bordo); padding: .8rem 0; }
.form-ricerca { display: flex; gap: .5rem; max-width: 640px; }
.form-ricerca input[type="search"] {
	flex: 1; min-width: 0; padding: .65em .9em; border: 1px solid var(--bordo); border-radius: 0; font: inherit; font-size: 1rem;
}

@media (max-width: 991px) {
	:root { --header-h: 64px; }
	.nav-toggle { display: block; }
	.nav-principale {
		display: none; position: absolute; left: 0; right: 0; top: 100%; background: var(--scuro);
		flex-direction: column; align-items: stretch; padding: .5rem 0 1rem; box-shadow: var(--ombra); max-height: calc(100vh - var(--header-h)); overflow: auto;
	}
	.nav-principale.aperto { display: flex; }
	.nav-principale .menu { flex-direction: column; align-items: stretch; }
	.nav-principale .menu > li { flex-wrap: wrap; justify-content: space-between; }
	.nav-principale .menu a { color: #fff; padding: .85rem var(--gutter); flex: 1; }
	.nav-principale .menu > li > a:hover, .nav-principale .menu > li.current-menu-item > a { color: var(--accento); }
	.sub-toggle { color: #fff; width: 48px; height: 48px; margin: 0; }
	.sub-toggle::after { left: 19px; top: 17px; }
	.sub-aperto > .sub-toggle::after { top: 21px; }
	.nav-principale .sub-menu { position: static; display: none; width: 100%; box-shadow: none; background: rgba(0, 0, 0, .25); padding: 0; }
	.nav-principale .menu > li:hover > .sub-menu, .nav-principale .menu > li:focus-within > .sub-menu { display: none; }
	.nav-principale .menu > li.sub-aperto > .sub-menu { display: block; }
	.nav-principale .sub-menu a { padding-left: 2rem; }
	.search-toggle { color: #fff; margin: .25rem var(--gutter) 0; }
	body.menu-aperto { overflow: hidden; }
}

/* ---------------------------------------------------------------------------
   Home
   --------------------------------------------------------------------------- */
.hero {
	background-size: cover; background-position: center; min-height: 520px; display: flex; align-items: center; padding: 3rem 0;
}
.hero-box {
	position: relative; max-width: 520px; background: rgba(47, 53, 59, .82); color: #fff; padding: 2.4rem 2.2rem 1.6rem;
}
.hero-linea { position: absolute; left: 0; top: 0; width: 60px; height: 5px; background: var(--accento); }
.hero-box h2, .hero-box h1 { color: #fff; text-transform: uppercase; font-size: 1.75rem; margin-bottom: 1rem; }
.hero-box p { color: #fff; }
.hero-box strong { color: #fff; }
.hero-link, .hero-link:hover { color: #fff; text-decoration: none; display: block; }

.sezione { padding: 4rem 0; }
.sezione-soluzioni {
	background: var(--scuro) url(assets/img/sfondo-soluzioni.jpg) center / cover no-repeat; color: #fff;
}
@media (min-width: 992px) and (prefers-reduced-motion: no-preference) { .sezione-soluzioni { background-attachment: fixed; } }
.cards-soluzioni { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.5rem; }
.card-soluzione {
	display: flex; flex-direction: column; align-items: center; text-align: center; padding: 2rem 1.6rem; border: 1px solid var(--bordo); background: #fff;
}
.card-soluzione .card-titolo { font-size: 1.5rem; text-transform: uppercase; margin-bottom: .8rem; }
.card-soluzione .card-titolo a { color: inherit; text-decoration: none; }
.card-soluzione p { flex: 1; font-size: 1.05rem; }
.card-logo img { display: block; margin: 0 auto 1rem; }
.cards-scuro .card-soluzione { background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .2); color: #fff; }
.cards-scuro .card-titolo, .cards-scuro .card-titolo a { color: #fff; }
.cards-scuro .card-soluzione .card-titolo { font-size: 1.9rem; }
@media (min-width: 768px) { .cards-soluzioni { grid-template-columns: repeat(2, 1fr); } }

.barra-agid { background: var(--scuro) url(assets/img/sfondo-hero.jpg) center / cover no-repeat; position: relative; color: #fff; }
.barra-agid::before { content: ""; position: absolute; inset: 0; background: rgba(47, 53, 59, .78); }
.barra-agid-inner { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; padding-top: 1.4rem; padding-bottom: 1.4rem; }
.barra-agid-testo { margin: 0; font-weight: 700; text-transform: uppercase; font-size: 1.05rem; letter-spacing: .02em; }
.barra-agid-link { color: #fff; font-weight: 700; text-transform: uppercase; font-size: .9rem; border-bottom: 2px solid var(--accento); }
.barra-agid-link:hover { color: var(--accento); text-decoration: none; }

.titolo-sezione { text-align: center; text-transform: uppercase; font-size: 1.6rem; margin-bottom: 2.5rem; position: relative; padding-bottom: 1rem; }
.titolo-sezione::after { content: ""; position: absolute; left: 50%; bottom: 0; width: 40px; height: 3px; margin-left: -20px; background: var(--accento); }
.griglia-blog { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.5rem; margin-bottom: 2rem; }
.card-articolo { border: 1px solid var(--bordo); padding: 1.6rem; display: flex; flex-direction: column; }
.card-articolo .card-titolo { font-size: 1rem; text-transform: uppercase; margin-bottom: .5rem; line-height: 1.4; }
.card-articolo .card-titolo a { color: var(--scuro); }
.card-articolo .card-titolo a:hover { color: var(--accento); text-decoration: none; }
.card-data { display: block; color: var(--testo-chiaro); font-size: .85rem; margin-bottom: .8rem; }
.card-testo { flex: 1; color: var(--testo-chiaro); font-size: .95rem; }
.card-articolo .btn { align-self: flex-start; }

/* ---------------------------------------------------------------------------
   Pagine interne
   --------------------------------------------------------------------------- */
.intestazione-pagina { background: var(--scuro) url(assets/img/sfondo-hero.jpg) center / cover no-repeat; position: relative; color: #fff; }
.intestazione-pagina::before { content: ""; position: absolute; inset: 0; background: rgba(47, 53, 59, .72); }
.intestazione-inner { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; padding-top: 1.6rem; padding-bottom: 1.6rem; }
.intestazione-titolo { color: #fff; margin: 0; font-size: 1.25rem; text-transform: uppercase; letter-spacing: .03em; }
.briciole ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; font-size: .85rem; }
.briciole li + li::before { content: "/"; margin: 0 .5rem; color: var(--muted); }
.briciole a { color: #fff; } .briciole a:hover { color: var(--accento); }
.briciole span { color: var(--muted); }

.contenuto-box { padding: 3.5rem 0; }
.titolo-pagina { text-transform: uppercase; font-size: 1.5rem; position: relative; padding-bottom: .9rem; margin-bottom: 1.6rem; }
.titolo-pagina::after { content: ""; position: absolute; left: 0; bottom: 0; width: 40px; height: 3px; background: var(--accento); }

.contenuto { font-size: 1.02rem; }
.contenuto > * + * { margin-top: 1em; }
.contenuto p { margin: 0; }
.contenuto h2, .contenuto h3 { margin-top: 1.6em; }
.contenuto a { text-decoration: underline; text-decoration-color: rgba(50, 197, 210, .5); }
.contenuto img { display: block; }
.contenuto blockquote { border-left: 4px solid var(--accento); margin: 1em 0; padding: .4em 1.2em; background: var(--grigio); }
.contenuto table { border-collapse: collapse; width: 100%; }
.contenuto td, .contenuto th { border: 1px solid var(--bordo); padding: .5em .7em; }
.wp-block-details { border: 1px solid var(--bordo); padding: 0 1.1rem; background: #fff; }
.wp-block-details + .wp-block-details { margin-top: -1px; }
.wp-block-details summary { padding: .9rem 0; font-weight: 700; cursor: pointer; color: var(--scuro); list-style: none; position: relative; padding-right: 2rem; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; position: absolute; right: .2rem; top: .7rem; font-size: 1.4rem; color: var(--accento); line-height: 1; }
.wp-block-details[open] summary::after { content: "–"; }
.wp-block-details[open] summary { border-bottom: 1px solid var(--bordo); margin-bottom: .8rem; }
.wp-block-details > :not(summary) { margin-bottom: 1rem; }

/* Pagine soluzione: immagine a sinistra, testo a destra */
.soluzione-hero { display: grid; grid-template-columns: minmax(0, 1fr); }
.soluzione-immagine { min-height: 260px; background-size: cover; background-position: center; }
.soluzione-testo { padding: 3rem var(--gutter); background: #fff; }
@media (min-width: 992px) {
	.soluzione-hero { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.soluzione-immagine { min-height: 100%; }
	.soluzione-testo { padding: 4rem 3rem 4rem 3.5rem; max-width: calc(var(--container) / 2); }
}

/* Contatti */
.contatti-griglia { display: grid; grid-template-columns: minmax(0, 1fr); gap: 3rem; }
@media (min-width: 900px) { .contatti-griglia { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); } }
.faq-box { text-align: center; padding: 2.5rem 2rem; background: var(--scuro); color: #fff; align-self: start; }
.faq-box img { margin: 0 auto 1rem; }
.faq-box h2 { font-size: 1.2rem; text-transform: uppercase; color: #fff; }
.faq-box p { color: var(--muted); }

/* Articolo */
.articolo-testata { margin-bottom: 1.5rem; }
.articolo-sottotitolo { font-size: 1.15rem; color: var(--testo-chiaro); }
.articolo-nav { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--bordo); font-size: .95rem; }
.nav-succ { margin-left: auto; text-align: right; }

/* Paginazione e ricerca */
.paginazione .nav-links { display: flex; flex-wrap: wrap; gap: .4rem; justify-content: center; }
.paginazione .page-numbers { display: inline-block; padding: .5em .9em; border: 1px solid var(--bordo); color: var(--scuro); }
.paginazione .page-numbers.current { background: var(--accento); border-color: var(--accento); color: #fff; }
.paginazione .page-numbers:hover { background: var(--grigio); text-decoration: none; }
.ricerca-intro { margin-bottom: .5rem; }
.contenuto-box .form-ricerca { margin-bottom: 2rem; }

/* 404 */
.pagina-404 { text-align: left; }
.immagine-404 { display: block; margin: 0 auto 2rem; max-height: 340px; width: auto; }

/* Mappa */
.mappa-sito { display: grid; gap: 2rem; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.mappa-sito ul { list-style: none; padding-left: 0; }
.mappa-sito ul ul { padding-left: 1.2rem; }
.mappa-sito li { padding: .25rem 0; }
.mappa-sito small { color: var(--testo-chiaro); }

/* ---------------------------------------------------------------------------
   Moduli Contact Form 7
   --------------------------------------------------------------------------- */
.wpcf7 label { display: block; font-weight: 700; margin-bottom: 1rem; color: var(--scuro); font-size: .95rem; }
.wpcf7 .wpcf7-form-control-wrap { display: block; margin-top: .3rem; }
.wpcf7 input:not([type="checkbox"]):not([type="submit"]), .wpcf7 textarea, .wpcf7 select {
	width: 100%; padding: .7em .9em; border: 1px solid #d5d9dd; border-radius: 0; background: #fff; font: inherit; font-weight: 400; font-size: 1rem; color: var(--testo);
}
.wpcf7 input:focus, .wpcf7 textarea:focus, .wpcf7 select:focus { border-color: var(--accento); outline: none; box-shadow: 0 0 0 3px rgba(50, 197, 210, .25); }
.wpcf7 textarea { min-height: 130px; max-width: 100%; }
.wpcf7 input, .wpcf7 textarea, .wpcf7 select { min-width: 0; max-width: 100%; }
.wpcf7 .wpcf7-acceptance { font-weight: 400; }
.wpcf7 .wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.wpcf7 .wpcf7-acceptance input { width: auto; margin-right: .5em; accent-color: var(--accento); }
.wpcf7 .wpcf7-submit {
	background: var(--accento); color: #fff; border: 2px solid var(--accento); padding: .75em 1.6em; font-weight: 700; text-transform: uppercase; cursor: pointer; font: inherit; font-weight: 700; letter-spacing: .02em;
}
.wpcf7 .wpcf7-submit:hover { background: var(--accento-scuro); border-color: var(--accento-scuro); }
.wpcf7 .wpcf7-spinner { margin-left: .5em; }
.wpcf7 .wpcf7-not-valid-tip { color: #c0392b; font-weight: 400; font-size: .85rem; }
.wpcf7 form .wpcf7-response-output { margin: 1.5rem 0 0; padding: .8em 1em; border: 2px solid var(--accento); }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output { border-color: #e0a800; }
.wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.aborted .wpcf7-response-output { border-color: #c0392b; }
.wpcf7 form.sent .wpcf7-response-output { border-color: #28a745; }

/* ---------------------------------------------------------------------------
   Footer
   --------------------------------------------------------------------------- */
.prefooter { background: var(--grigio); padding: 3.5rem 0; border-top: 1px solid var(--bordo); }
.prefooter-inner { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2.5rem; }
@media (min-width: 900px) { .prefooter-inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 4rem; } }
.footer-logo img { display: block; margin-bottom: 1.2rem; }
.prefooter-intro p { color: var(--testo-chiaro); }
.prefooter-titolo { font-size: 1.3rem; text-transform: uppercase; }

.postfooter { background: var(--scuro); color: #fff; padding: 3rem 0 2.5rem; font-size: .9rem; }
.postfooter a { color: #fff; }
.postfooter a:hover { color: var(--accento); }
.postfooter-inner { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; }
@media (min-width: 768px) { .postfooter-inner { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); } }
.footer-dati p { margin-bottom: .6rem; }
.footer-dati strong { color: #fff; }
.certificazioni { list-style: none; margin: 1.5rem 0; padding: 0; display: flex; flex-wrap: wrap; gap: 1rem 1.4rem; align-items: center; }
.certificazioni img { height: 59px; width: auto; background: #fff; }
.copyright { color: var(--muted); display: flex; flex-wrap: wrap; gap: 0 .45em; align-items: baseline; margin-top: 1rem; }
.copyright a { color: var(--muted); }
.footer-menu { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0 .45em; }
.footer-menu li::before, .copyright .credits::before { content: "|"; margin-right: .45em; color: var(--muted); }
.footer-social { justify-self: start; }
@media (min-width: 768px) { .footer-social { justify-self: end; } }
.social { list-style: none; margin: 0; padding: 0; display: flex; gap: .6rem; }
.social a { display: flex; width: 40px; height: 40px; align-items: center; justify-content: center; border: 1px solid rgba(255, 255, 255, .3); color: #fff; }
.social a:hover { border-color: var(--accento); color: var(--accento); }
.social svg { width: 20px; height: 20px; }

.torna-su {
	position: fixed; right: 18px; bottom: 18px; width: 42px; height: 42px; display: flex; align-items: center; justify-content: center;
	background: var(--accento); color: #fff; opacity: 0; visibility: hidden; transition: opacity .2s, visibility .2s; z-index: 90;
}
.torna-su.visibile { opacity: 1; visibility: visible; }
.torna-su:hover { background: var(--scuro); color: #fff; }

/* Blocchi core: allineamenti e coerenza colori */
.has-accento-color { color: var(--accento) !important; } .has-accento-background-color { background-color: var(--accento) !important; }
.has-scuro-color { color: var(--scuro) !important; } .has-scuro-background-color { background-color: var(--scuro) !important; }
.has-chiaro-background-color { background-color: var(--grigio) !important; }
.has-bianco-color { color: #fff !important; } .has-bianco-background-color { background-color: #fff !important; }
.alignwide { max-width: var(--container); margin-left: auto; margin-right: auto; }
.alignfull { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.alignleft { float: left; margin: 0 1.5em 1em 0; }
.alignright { float: right; margin: 0 0 1em 1.5em; }
.wp-caption { max-width: 100%; }
.wp-caption-text, .wp-element-caption { font-size: .85rem; color: var(--testo-chiaro); text-align: center; }

@media print {
	.sito-header, .prefooter, .torna-su, .barra-agid, .search-bar { display: none !important; }
	.intestazione-pagina { background: none; color: #000; } .intestazione-pagina::before { display: none; } .intestazione-titolo { color: #000; }
}

/* Avviso al posto dei moduli quando GDPR33_MODULI_DISATTIVI è attiva */
.modulo-non-disponibile { border: 1px solid var(--bordo); border-left: 4px solid var(--accento); background: var(--grigio); padding: 1rem 1.2rem; }
.modulo-non-disponibile p { margin: 0; }
