/* Theme-specific CSS overrides. */
/* ============================================================
   Bootstrap 5 spacing scale extension (generato da design/spacing.json)
   Livelli personalizzati: 6 (2rem), 6.5 (4.5rem), 7 (5rem), 8 (6rem)
   Mirrors Bootstrap mobile-first: xs, sm (>=576px), md (>=768px),
   lg (>=992px), xl (>=1200px), xxl (>=1400px)
   Proprietà: p, pt, pe, pb, ps, px, py, m, mt, me, mb, ms, mx, my
   No !important (coerente con Bootstrap).
   Per aggiungere un livello: php tools/generate-spacing-utilities.php 40px
   ============================================================ */

/* ---------- xs — level 6 32px (2rem) ---------- */
.p-6 { padding: 2rem; }
.pt-6 { padding-top: 2rem; }
.pe-6 { padding-inline-end: 2rem; }
.pb-6 { padding-bottom: 2rem; }
.ps-6 { padding-inline-start: 2rem; }
.px-6 { padding-inline: 2rem; }
.py-6 { padding-block: 2rem; }
.m-6 { margin: 2rem; }
.mt-6 { margin-top: 2rem; }
.me-6 { margin-inline-end: 2rem; }
.mb-6 { margin-bottom: 2rem; }
.ms-6 { margin-inline-start: 2rem; }
.mx-6 { margin-inline: 2rem; }
.my-6 { margin-block: 2rem; }

/* ---------- xs — level 6 72px (4.5rem) ---------- */
.p-72 { padding: 4.5rem; }
.pt-72 { padding-top: 4.5rem; }
.pe-72 { padding-inline-end: 4.5rem; }
.pb-72 { padding-bottom: 4.5rem; }
.ps-72 { padding-inline-start: 4.5rem; }
.px-72 { padding-inline: 4.5rem; }
.py-72 { padding-block: 4.5rem; }
.m-72 { margin: 4.5rem; }
.mt-72 { margin-top: 4.5rem; }
.me-72 { margin-inline-end: 4.5rem; }
.mb-72 { margin-bottom: 4.5rem; }
.ms-72 { margin-inline-start: 4.5rem; }
.mx-72 { margin-inline: 4.5rem; }
.my-72 { margin-block: 4.5rem; }

/* ---------- xs — level 7 80px (5rem) ---------- */
.p-7 { padding: 5rem; }
.pt-7 { padding-top: 5rem; }
.pe-7 { padding-inline-end: 5rem; }
.pb-7 { padding-bottom: 5rem; }
.ps-7 { padding-inline-start: 5rem; }
.px-7 { padding-inline: 5rem; }
.py-7 { padding-block: 5rem; }
.m-7 { margin: 5rem; }
.mt-7 { margin-top: 5rem; }
.me-7 { margin-inline-end: 5rem; }
.mb-7 { margin-bottom: 5rem; }
.ms-7 { margin-inline-start: 5rem; }
.mx-7 { margin-inline: 5rem; }
.my-7 { margin-block: 5rem; }

/* ---------- xs — level 8 96px (6rem) ---------- */
.p-8 { padding: 6rem; }
.pt-8 { padding-top: 6rem; }
.pe-8 { padding-inline-end: 6rem; }
.pb-8 { padding-bottom: 6rem; }
.ps-8 { padding-inline-start: 6rem; }
.px-8 { padding-inline: 6rem; }
.py-8 { padding-block: 6rem; }
.m-8 { margin: 6rem; }
.mt-8 { margin-top: 6rem; }
.me-8 { margin-inline-end: 6rem; }
.mb-8 { margin-bottom: 6rem; }
.ms-8 { margin-inline-start: 6rem; }
.mx-8 { margin-inline: 6rem; }
.my-8 { margin-block: 6rem; }

/* ---------- sm (>=576px) ---------- */
@media (min-width: 576px) {

	/* ---------- sm — level 6 32px (2rem) ---------- */
	.p-sm-6 { padding: 2rem; }
	.pt-sm-6 { padding-top: 2rem; }
	.pe-sm-6 { padding-inline-end: 2rem; }
	.pb-sm-6 { padding-bottom: 2rem; }
	.ps-sm-6 { padding-inline-start: 2rem; }
	.px-sm-6 { padding-inline: 2rem; }
	.py-sm-6 { padding-block: 2rem; }
	.m-sm-6 { margin: 2rem; }
	.mt-sm-6 { margin-top: 2rem; }
	.me-sm-6 { margin-inline-end: 2rem; }
	.mb-sm-6 { margin-bottom: 2rem; }
	.ms-sm-6 { margin-inline-start: 2rem; }
	.mx-sm-6 { margin-inline: 2rem; }
	.my-sm-6 { margin-block: 2rem; }

	/* ---------- sm — level 6 72px (4.5rem) ---------- */
	.p-sm-72 { padding: 4.5rem; }
	.pt-sm-72 { padding-top: 4.5rem; }
	.pe-sm-72 { padding-inline-end: 4.5rem; }
	.pb-sm-72 { padding-bottom: 4.5rem; }
	.ps-sm-72 { padding-inline-start: 4.5rem; }
	.px-sm-72 { padding-inline: 4.5rem; }
	.py-sm-72 { padding-block: 4.5rem; }
	.m-sm-72 { margin: 4.5rem; }
	.mt-sm-72 { margin-top: 4.5rem; }
	.me-sm-72 { margin-inline-end: 4.5rem; }
	.mb-sm-72 { margin-bottom: 4.5rem; }
	.ms-sm-72 { margin-inline-start: 4.5rem; }
	.mx-sm-72 { margin-inline: 4.5rem; }
	.my-sm-72 { margin-block: 4.5rem; }

	/* ---------- sm — level 7 80px (5rem) ---------- */
	.p-sm-7 { padding: 5rem; }
	.pt-sm-7 { padding-top: 5rem; }
	.pe-sm-7 { padding-inline-end: 5rem; }
	.pb-sm-7 { padding-bottom: 5rem; }
	.ps-sm-7 { padding-inline-start: 5rem; }
	.px-sm-7 { padding-inline: 5rem; }
	.py-sm-7 { padding-block: 5rem; }
	.m-sm-7 { margin: 5rem; }
	.mt-sm-7 { margin-top: 5rem; }
	.me-sm-7 { margin-inline-end: 5rem; }
	.mb-sm-7 { margin-bottom: 5rem; }
	.ms-sm-7 { margin-inline-start: 5rem; }
	.mx-sm-7 { margin-inline: 5rem; }
	.my-sm-7 { margin-block: 5rem; }

	/* ---------- sm — level 8 96px (6rem) ---------- */
	.p-sm-8 { padding: 6rem; }
	.pt-sm-8 { padding-top: 6rem; }
	.pe-sm-8 { padding-inline-end: 6rem; }
	.pb-sm-8 { padding-bottom: 6rem; }
	.ps-sm-8 { padding-inline-start: 6rem; }
	.px-sm-8 { padding-inline: 6rem; }
	.py-sm-8 { padding-block: 6rem; }
	.m-sm-8 { margin: 6rem; }
	.mt-sm-8 { margin-top: 6rem; }
	.me-sm-8 { margin-inline-end: 6rem; }
	.mb-sm-8 { margin-bottom: 6rem; }
	.ms-sm-8 { margin-inline-start: 6rem; }
	.mx-sm-8 { margin-inline: 6rem; }
	.my-sm-8 { margin-block: 6rem; }
}

/* ---------- md (>=768px) ---------- */
@media (min-width: 768px) {

	/* ---------- md — level 6 32px (2rem) ---------- */
	.p-md-6 { padding: 2rem; }
	.pt-md-6 { padding-top: 2rem; }
	.pe-md-6 { padding-inline-end: 2rem; }
	.pb-md-6 { padding-bottom: 2rem; }
	.ps-md-6 { padding-inline-start: 2rem; }
	.px-md-6 { padding-inline: 2rem; }
	.py-md-6 { padding-block: 2rem; }
	.m-md-6 { margin: 2rem; }
	.mt-md-6 { margin-top: 2rem; }
	.me-md-6 { margin-inline-end: 2rem; }
	.mb-md-6 { margin-bottom: 2rem; }
	.ms-md-6 { margin-inline-start: 2rem; }
	.mx-md-6 { margin-inline: 2rem; }
	.my-md-6 { margin-block: 2rem; }

	/* ---------- md — level 6 72px (4.5rem) ---------- */
	.p-md-72 { padding: 4.5rem; }
	.pt-md-72 { padding-top: 4.5rem; }
	.pe-md-72 { padding-inline-end: 4.5rem; }
	.pb-md-72 { padding-bottom: 4.5rem; }
	.ps-md-72 { padding-inline-start: 4.5rem; }
	.px-md-72 { padding-inline: 4.5rem; }
	.py-md-72 { padding-block: 4.5rem; }
	.m-md-72 { margin: 4.5rem; }
	.mt-md-72 { margin-top: 4.5rem; }
	.me-md-72 { margin-inline-end: 4.5rem; }
	.mb-md-72 { margin-bottom: 4.5rem; }
	.ms-md-72 { margin-inline-start: 4.5rem; }
	.mx-md-72 { margin-inline: 4.5rem; }
	.my-md-72 { margin-block: 4.5rem; }

	/* ---------- md — level 7 80px (5rem) ---------- */
	.p-md-7 { padding: 5rem; }
	.pt-md-7 { padding-top: 5rem; }
	.pe-md-7 { padding-inline-end: 5rem; }
	.pb-md-7 { padding-bottom: 5rem; }
	.ps-md-7 { padding-inline-start: 5rem; }
	.px-md-7 { padding-inline: 5rem; }
	.py-md-7 { padding-block: 5rem; }
	.m-md-7 { margin: 5rem; }
	.mt-md-7 { margin-top: 5rem; }
	.me-md-7 { margin-inline-end: 5rem; }
	.mb-md-7 { margin-bottom: 5rem; }
	.ms-md-7 { margin-inline-start: 5rem; }
	.mx-md-7 { margin-inline: 5rem; }
	.my-md-7 { margin-block: 5rem; }

	/* ---------- md — level 8 96px (6rem) ---------- */
	.p-md-8 { padding: 6rem; }
	.pt-md-8 { padding-top: 6rem; }
	.pe-md-8 { padding-inline-end: 6rem; }
	.pb-md-8 { padding-bottom: 6rem; }
	.ps-md-8 { padding-inline-start: 6rem; }
	.px-md-8 { padding-inline: 6rem; }
	.py-md-8 { padding-block: 6rem; }
	.m-md-8 { margin: 6rem; }
	.mt-md-8 { margin-top: 6rem; }
	.me-md-8 { margin-inline-end: 6rem; }
	.mb-md-8 { margin-bottom: 6rem; }
	.ms-md-8 { margin-inline-start: 6rem; }
	.mx-md-8 { margin-inline: 6rem; }
	.my-md-8 { margin-block: 6rem; }
}

/* ---------- lg (>=992px) ---------- */
@media (min-width: 992px) {

	/* ---------- lg — level 6 32px (2rem) ---------- */
	.p-lg-6 { padding: 2rem; }
	.pt-lg-6 { padding-top: 2rem; }
	.pe-lg-6 { padding-inline-end: 2rem; }
	.pb-lg-6 { padding-bottom: 2rem; }
	.ps-lg-6 { padding-inline-start: 2rem; }
	.px-lg-6 { padding-inline: 2rem; }
	.py-lg-6 { padding-block: 2rem; }
	.m-lg-6 { margin: 2rem; }
	.mt-lg-6 { margin-top: 2rem; }
	.me-lg-6 { margin-inline-end: 2rem; }
	.mb-lg-6 { margin-bottom: 2rem; }
	.ms-lg-6 { margin-inline-start: 2rem; }
	.mx-lg-6 { margin-inline: 2rem; }
	.my-lg-6 { margin-block: 2rem; }

	/* ---------- lg — level 6 72px (4.5rem) ---------- */
	.p-lg-72 { padding: 4.5rem; }
	.pt-lg-72 { padding-top: 4.5rem; }
	.pe-lg-72 { padding-inline-end: 4.5rem; }
	.pb-lg-72 { padding-bottom: 4.5rem; }
	.ps-lg-72 { padding-inline-start: 4.5rem; }
	.px-lg-72 { padding-inline: 4.5rem; }
	.py-lg-72 { padding-block: 4.5rem; }
	.m-lg-72 { margin: 4.5rem; }
	.mt-lg-72 { margin-top: 4.5rem; }
	.me-lg-72 { margin-inline-end: 4.5rem; }
	.mb-lg-72 { margin-bottom: 4.5rem; }
	.ms-lg-72 { margin-inline-start: 4.5rem; }
	.mx-lg-72 { margin-inline: 4.5rem; }
	.my-lg-72 { margin-block: 4.5rem; }

	/* ---------- lg — level 7 80px (5rem) ---------- */
	.p-lg-7 { padding: 5rem; }
	.pt-lg-7 { padding-top: 5rem; }
	.pe-lg-7 { padding-inline-end: 5rem; }
	.pb-lg-7 { padding-bottom: 5rem; }
	.ps-lg-7 { padding-inline-start: 5rem; }
	.px-lg-7 { padding-inline: 5rem; }
	.py-lg-7 { padding-block: 5rem; }
	.m-lg-7 { margin: 5rem; }
	.mt-lg-7 { margin-top: 5rem; }
	.me-lg-7 { margin-inline-end: 5rem; }
	.mb-lg-7 { margin-bottom: 5rem; }
	.ms-lg-7 { margin-inline-start: 5rem; }
	.mx-lg-7 { margin-inline: 5rem; }
	.my-lg-7 { margin-block: 5rem; }

	/* ---------- lg — level 8 96px (6rem) ---------- */
	.p-lg-8 { padding: 6rem; }
	.pt-lg-8 { padding-top: 6rem; }
	.pe-lg-8 { padding-inline-end: 6rem; }
	.pb-lg-8 { padding-bottom: 6rem; }
	.ps-lg-8 { padding-inline-start: 6rem; }
	.px-lg-8 { padding-inline: 6rem; }
	.py-lg-8 { padding-block: 6rem; }
	.m-lg-8 { margin: 6rem; }
	.mt-lg-8 { margin-top: 6rem; }
	.me-lg-8 { margin-inline-end: 6rem; }
	.mb-lg-8 { margin-bottom: 6rem; }
	.ms-lg-8 { margin-inline-start: 6rem; }
	.mx-lg-8 { margin-inline: 6rem; }
	.my-lg-8 { margin-block: 6rem; }
}

/* ---------- xl (>=1200px) ---------- */
@media (min-width: 1200px) {

	/* ---------- xl — level 6 32px (2rem) ---------- */
	.p-xl-6 { padding: 2rem; }
	.pt-xl-6 { padding-top: 2rem; }
	.pe-xl-6 { padding-inline-end: 2rem; }
	.pb-xl-6 { padding-bottom: 2rem; }
	.ps-xl-6 { padding-inline-start: 2rem; }
	.px-xl-6 { padding-inline: 2rem; }
	.py-xl-6 { padding-block: 2rem; }
	.m-xl-6 { margin: 2rem; }
	.mt-xl-6 { margin-top: 2rem; }
	.me-xl-6 { margin-inline-end: 2rem; }
	.mb-xl-6 { margin-bottom: 2rem; }
	.ms-xl-6 { margin-inline-start: 2rem; }
	.mx-xl-6 { margin-inline: 2rem; }
	.my-xl-6 { margin-block: 2rem; }

	/* ---------- xl — level 6 72px (4.5rem) ---------- */
	.p-xl-72 { padding: 4.5rem; }
	.pt-xl-72 { padding-top: 4.5rem; }
	.pe-xl-72 { padding-inline-end: 4.5rem; }
	.pb-xl-72 { padding-bottom: 4.5rem; }
	.ps-xl-72 { padding-inline-start: 4.5rem; }
	.px-xl-72 { padding-inline: 4.5rem; }
	.py-xl-72 { padding-block: 4.5rem; }
	.m-xl-72 { margin: 4.5rem; }
	.mt-xl-72 { margin-top: 4.5rem; }
	.me-xl-72 { margin-inline-end: 4.5rem; }
	.mb-xl-72 { margin-bottom: 4.5rem; }
	.ms-xl-72 { margin-inline-start: 4.5rem; }
	.mx-xl-72 { margin-inline: 4.5rem; }
	.my-xl-72 { margin-block: 4.5rem; }

	/* ---------- xl — level 7 80px (5rem) ---------- */
	.p-xl-7 { padding: 5rem; }
	.pt-xl-7 { padding-top: 5rem; }
	.pe-xl-7 { padding-inline-end: 5rem; }
	.pb-xl-7 { padding-bottom: 5rem; }
	.ps-xl-7 { padding-inline-start: 5rem; }
	.px-xl-7 { padding-inline: 5rem; }
	.py-xl-7 { padding-block: 5rem; }
	.m-xl-7 { margin: 5rem; }
	.mt-xl-7 { margin-top: 5rem; }
	.me-xl-7 { margin-inline-end: 5rem; }
	.mb-xl-7 { margin-bottom: 5rem; }
	.ms-xl-7 { margin-inline-start: 5rem; }
	.mx-xl-7 { margin-inline: 5rem; }
	.my-xl-7 { margin-block: 5rem; }

	/* ---------- xl — level 8 96px (6rem) ---------- */
	.p-xl-8 { padding: 6rem; }
	.pt-xl-8 { padding-top: 6rem; }
	.pe-xl-8 { padding-inline-end: 6rem; }
	.pb-xl-8 { padding-bottom: 6rem; }
	.ps-xl-8 { padding-inline-start: 6rem; }
	.px-xl-8 { padding-inline: 6rem; }
	.py-xl-8 { padding-block: 6rem; }
	.m-xl-8 { margin: 6rem; }
	.mt-xl-8 { margin-top: 6rem; }
	.me-xl-8 { margin-inline-end: 6rem; }
	.mb-xl-8 { margin-bottom: 6rem; }
	.ms-xl-8 { margin-inline-start: 6rem; }
	.mx-xl-8 { margin-inline: 6rem; }
	.my-xl-8 { margin-block: 6rem; }
}

/* ---------- xxl (>=1400px) ---------- */
@media (min-width: 1400px) {

	/* ---------- xxl — level 6 32px (2rem) ---------- */
	.p-xxl-6 { padding: 2rem; }
	.pt-xxl-6 { padding-top: 2rem; }
	.pe-xxl-6 { padding-inline-end: 2rem; }
	.pb-xxl-6 { padding-bottom: 2rem; }
	.ps-xxl-6 { padding-inline-start: 2rem; }
	.px-xxl-6 { padding-inline: 2rem; }
	.py-xxl-6 { padding-block: 2rem; }
	.m-xxl-6 { margin: 2rem; }
	.mt-xxl-6 { margin-top: 2rem; }
	.me-xxl-6 { margin-inline-end: 2rem; }
	.mb-xxl-6 { margin-bottom: 2rem; }
	.ms-xxl-6 { margin-inline-start: 2rem; }
	.mx-xxl-6 { margin-inline: 2rem; }
	.my-xxl-6 { margin-block: 2rem; }

	/* ---------- xxl — level 6 72px (4.5rem) ---------- */
	.p-xxl-72 { padding: 4.5rem; }
	.pt-xxl-72 { padding-top: 4.5rem; }
	.pe-xxl-72 { padding-inline-end: 4.5rem; }
	.pb-xxl-72 { padding-bottom: 4.5rem; }
	.ps-xxl-72 { padding-inline-start: 4.5rem; }
	.px-xxl-72 { padding-inline: 4.5rem; }
	.py-xxl-72 { padding-block: 4.5rem; }
	.m-xxl-72 { margin: 4.5rem; }
	.mt-xxl-72 { margin-top: 4.5rem; }
	.me-xxl-72 { margin-inline-end: 4.5rem; }
	.mb-xxl-72 { margin-bottom: 4.5rem; }
	.ms-xxl-72 { margin-inline-start: 4.5rem; }
	.mx-xxl-72 { margin-inline: 4.5rem; }
	.my-xxl-72 { margin-block: 4.5rem; }

	/* ---------- xxl — level 7 80px (5rem) ---------- */
	.p-xxl-7 { padding: 5rem; }
	.pt-xxl-7 { padding-top: 5rem; }
	.pe-xxl-7 { padding-inline-end: 5rem; }
	.pb-xxl-7 { padding-bottom: 5rem; }
	.ps-xxl-7 { padding-inline-start: 5rem; }
	.px-xxl-7 { padding-inline: 5rem; }
	.py-xxl-7 { padding-block: 5rem; }
	.m-xxl-7 { margin: 5rem; }
	.mt-xxl-7 { margin-top: 5rem; }
	.me-xxl-7 { margin-inline-end: 5rem; }
	.mb-xxl-7 { margin-bottom: 5rem; }
	.ms-xxl-7 { margin-inline-start: 5rem; }
	.mx-xxl-7 { margin-inline: 5rem; }
	.my-xxl-7 { margin-block: 5rem; }

	/* ---------- xxl — level 8 96px (6rem) ---------- */
	.p-xxl-8 { padding: 6rem; }
	.pt-xxl-8 { padding-top: 6rem; }
	.pe-xxl-8 { padding-inline-end: 6rem; }
	.pb-xxl-8 { padding-bottom: 6rem; }
	.ps-xxl-8 { padding-inline-start: 6rem; }
	.px-xxl-8 { padding-inline: 6rem; }
	.py-xxl-8 { padding-block: 6rem; }
	.m-xxl-8 { margin: 6rem; }
	.mt-xxl-8 { margin-top: 6rem; }
	.me-xxl-8 { margin-inline-end: 6rem; }
	.mb-xxl-8 { margin-bottom: 6rem; }
	.ms-xxl-8 { margin-inline-start: 6rem; }
	.mx-xxl-8 { margin-inline: 6rem; }
	.my-xxl-8 { margin-block: 6rem; }
}
