/*	-----------------------------------------------------------------------------------
	Cosmo S.p.A. 
	Author: Maurizio Zilli
	Version: 2.0 - 2020 - 2026
	WCAG 2.1 AA compliance integrated - 2026-02-27

	MODIFICHE WCAG rispetto alla versione 1.0:
	- outline:none rimosso da a, button (WCAG 2.4.7)
	- #86BC24 → #2d7a00 per testi (ratio 2.3:1 → 5.4:1)
	- #86BC24 → #2d7a00 per bottoni (ratio 2.3:1 → 5.4:1)
	- #58bc00 → #006b3f per btn-zillion-green
	- #39C32F → #1f5500 per hi-link:hover
	- bgc-yellow-green: rgba semitrasparente → opaco
	- bgc-yellow-green-2/3: #86BC24 → #9dd138
	- cookieChoiceInfo: color:gray → #595959
	- Aggiunto: Skip Link, Focus Visible, SR-only,
	  Footer links, F73 underline, testi grigi
	----------------------------------------------------------------------------------- */
	@import url('https://fonts.googleapis.com/css2?family=Baloo+Bhai+2:wght@400;500&display=swap');

	.form-control-inline {
		border-color: rgba(0, 0, 0, .1);
		box-shadow: none;
		display: inline-block;
	}

	body {
		margin: 0;
		padding: 0;
		background: #FFFFFF;
		overflow-x: hidden;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}

	.page-container {
		overflow: hidden;
	}

	/* WCAG 2.4.7: outline:none rimosso — il focus deve essere visibile */
	a,
	button {
		transition: background .3s ease-in-out;
	}

	a:hover {
		text-decoration: none;
		cursor: pointer;
	}

	/* =============================================
	   WCAG 2.4.7 – SKIP LINK
	   ============================================= */
	.skip-link {
		position: absolute;
		top: -40px;
		left: 0;
		background: #000000; 
		color: #ffffff;
		padding: 10px 15px;
		text-decoration: none;
		z-index: 9999;
		font-weight: bold;
	}

	.skip-link:focus {
		top: 0;
		outline: 3px solid #ffffff;
		outline-offset: -3px;
	}

	/* =============================================
	   WCAG 2.4.7 – FOCUS VISIBLE
	   ============================================= */
	a:focus,
	button:focus,
	input:focus,
	select:focus,
	textarea:focus,
	[tabindex]:focus,
	[role="button"]:focus,
	.btn:focus {
		outline: 3px solid #005a9c;
		outline-offset: 3px;
		box-shadow: 0 0 0 3px rgba(0, 90, 156, 0.25);
	}

	a:focus {
		background-color: #ffffcc;
		outline-offset: 2px;
	}

	.btn:focus,
	button:focus {
		outline: 3px solid #ffffff;
		outline-offset: 2px;
		box-shadow: 0 0 0 5px #005a9c;
	}

	.carousel-control-prev:focus,
	.carousel-control-next:focus {
		outline: 3px solid #ffffff;
		outline-offset: -3px;
		background-color: rgba(0, 90, 156, 0.5);
	}

	:focus-visible {
		outline: 3px solid #005a9c;
		outline-offset: 3px;
	}

	a svg,
	button svg {
		pointer-events: none;
	}

	.page-preloader {
		position: fixed;
		top: 0;
		bottom: 0;
		width: 100%;
		z-index: 100000;
		background: #FFFFFF url("img/pageload-spinner.gif") no-repeat center center;
		animation-name: preloader-fade;
		animation-delay: 2s;
		animation-duration: 0.5s;
		animation-fill-mode: both;
	}

	.preloader-complete {
		animation-delay: 0.1s;
	}

	@keyframes preloader-fade {
		0% {
			opacity: 1;
			visibility: visible;
		}

		100% {
			opacity: 0;
			visibility: hidden;
		}
	}

	.bloc {
		width: 100%;
		clear: both;
		background: 50% 50% no-repeat;
		padding: 0 20px;
		-webkit-background-size: cover;
		-moz-background-size: cover;
		-o-background-size: cover;
		background-size: cover;
		position: relative;
		display: flex;
	}

	.bloc .container {
		padding-left: 0;
		padding-right: 0;
	}

	.bloc-lg {
		padding: 100px 20px;
	}

	.bloc-md {
		padding: 50px 20px;
	}

	.bloc-sm {
		padding: 20px;
	}

	.full-width-bloc {
		padding-left: 0;
		padding-right: 0;
	}

	.full-width-bloc .row {
		margin-left: 0;
		margin-right: 0;
	}

	.full-width-bloc .container {
		width: 100%;
		max-width: 100% !important;
	}

	.full-width-bloc .carousel img {
		width: 100%;
		height: auto;
	}

	.bloc-group {
		display: flex;
	}

	.bloc-tile-2 {
		width: 50%;
	}

	.bloc-tile-3 {
		width: 33.33333333%;
	}

	.bloc-tile-4 {
		width: 25%;
	}

	.bloc-tile-2 .container,
	.bloc-tile-3 .container,
	.bloc-tile-4 .container {
		width: 100%;
	}

	.bg-center,
	.bg-l-edge,
	.bg-r-edge,
	.bg-t-edge,
	.bg-b-edge,
	.bg-tl-edge,
	.bg-bl-edge,
	.bg-tr-edge,
	.bg-br-edge,
	.bg-repeat {
		-webkit-background-size: auto !important;
		-moz-background-size: auto !important;
		-o-background-size: auto !important;
		background-size: auto !important;
	}

	.bg-center {
		-webkit-background-size: auto;
	}

	.bloc-bg-texture::before {
		content: "";
		background-size: 2px 2px;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
	}

	.texture-diagonal-lines::before {
		background: url("img/texture-diag-lines.png");
		background-size: 10px 10px;
	}

	.parallax__container {
		clip: rect(0, auto, auto, 0);
		height: 100%;
		left: 0;
		overflow: hidden;
		position: absolute;
		top: 0;
		width: 100%;
		z-index: -1;
	}

	.parallax {
		position: fixed;
		top: 0;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
		-webkit-transform-style: preserve-3d;
		transform-style: preserve-3d;
		width: 100%;
		background-position: center;
		background-repeat: no-repeat;
		background-size: cover;
	}

	.d-bloc {
		color: rgba(255, 255, 255, .7);
	}

	.d-bloc button:hover {
		color: rgba(255, 255, 255, .9);
	}

	.d-bloc .icon-round,
	.d-bloc .icon-square,
	.d-bloc .icon-rounded,
	.d-bloc .icon-semi-rounded-a,
	.d-bloc .icon-semi-rounded-b {
		border-color: rgba(255, 255, 255, .9);
	}

	.d-bloc .divider-h span {
		border-color: rgba(255, 255, 255, .2);
	}

	.d-bloc .a-btn,
	.d-bloc .navbar a,
	.d-bloc a .icon-sm,
	.d-bloc a .icon-md,
	.d-bloc a .icon-lg,
	.d-bloc a .icon-xl,
	.d-bloc h1 a,
	.d-bloc h2 a,
	.d-bloc h3 a,
	.d-bloc h4 a,
	.d-bloc h5 a,
	.d-bloc h6 a,
	.d-bloc p a {
		color: rgba(255, 255, 255, .6);
	}

	.d-bloc .a-btn:hover,
	.d-bloc .navbar a:hover,
	.d-bloc a:hover .icon-sm,
	.d-bloc a:hover .icon-md,
	.d-bloc a:hover .icon-lg,
	.d-bloc a:hover .icon-xl,
	.d-bloc h1 a:hover,
	.d-bloc h2 a:hover,
	.d-bloc h3 a:hover,
	.d-bloc h4 a:hover,
	.d-bloc h5 a:hover,
	.d-bloc h6 a:hover,
	.d-bloc p a:hover {
		color: rgba(255, 255, 255, 1);
	}

	.d-bloc .navbar-toggle .icon-bar {
		background: rgba(255, 255, 255, 1);
	}

	.d-bloc .btn-wire,
	.d-bloc .btn-wire:hover {
		color: rgba(255, 255, 255, 1);
		border-color: rgba(255, 255, 255, 1);
	}

	.d-bloc .card {
		color: rgba(0, 0, 0, .5);
	}

	.d-bloc .card button:hover {
		color: rgba(0, 0, 0, .7);
	}

	.d-bloc .card icon {
		border-color: rgba(0, 0, 0, .7);
	}

	.d-bloc .card .divider-h span {
		border-color: rgba(0, 0, 0, .1);
	}

	.d-bloc .card .a-btn {
		color: rgba(0, 0, 0, .6);
	}

	.d-bloc .card .a-btn:hover {
		color: rgba(0, 0, 0, 1);
	}

	.d-bloc .card .btn-wire,
	.d-bloc .card .btn-wire:hover {
		color: rgba(0, 0, 0, .7);
		border-color: rgba(0, 0, 0, .3);
	}

	.d-bloc .card,
	.l-bloc {
		color: rgba(0, 0, 0, .8);
	}

	.d-bloc .card button:hover,
	.l-bloc button:hover {
		color: rgba(0, 0, 0, .7);
	}

	.l-bloc .icon-round,
	.l-bloc .icon-square,
	.l-bloc .icon-rounded,
	.l-bloc .icon-semi-rounded-a,
	.l-bloc .icon-semi-rounded-b {
		border-color: rgba(0, 0, 0, .7);
	}

	.d-bloc .card .divider-h span,
	.l-bloc .divider-h span {
		border-color: rgba(0, 0, 0, .1);
	}

	.d-bloc .card .a-btn,
	.l-bloc .a-btn,
	.l-bloc .navbar a,
	.l-bloc a .icon-sm,
	.l-bloc a .icon-md,
	.l-bloc a .icon-lg,
	.l-bloc a .icon-xl,
	.l-bloc h1 a,
	.l-bloc h2 a,
	.l-bloc h3 a,
	.l-bloc h4 a,
	.l-bloc h5 a,
	.l-bloc h6 a,
	.l-bloc p a {
		color: rgba(0, 0, 0, .6);
	}

	.d-bloc .card .a-btn:hover,
	.l-bloc .a-btn:hover,
	.l-bloc .navbar a:hover,
	.l-bloc a:hover .icon-sm,
	.l-bloc a:hover .icon-md,
	.l-bloc a:hover .icon-lg,
	.l-bloc a:hover .icon-xl,
	.l-bloc h1 a:hover,
	.l-bloc h2 a:hover,
	.l-bloc h3 a:hover,
	.l-bloc h4 a:hover,
	.l-bloc h5 a:hover,
	.l-bloc h6 a:hover,
	.l-bloc p a:hover {
		color: rgba(0, 0, 0, 1);
	}

	.l-bloc .navbar-toggle .icon-bar {
		color: rgba(0, 0, 0, .6);
	}

	.d-bloc .card .btn-wire,
	.d-bloc .card .btn-wire:hover,
	.l-bloc .btn-wire,
	.l-bloc .btn-wire:hover {
		color: rgba(255, 255, 255, 1);
		border-color: rgba(255, 255, 255, 1);
		border: 3px solid;
	}

	.b-divider {
		border-top: 1px solid rgba(0, 0, 0, .1);
		border-bottom: 1px solid rgba(0, 0, 0, .1);
	}

	.hero .hero-nav {
		padding-left: inherit;
		padding-right: inherit;
	}

	.nav-special {
		overflow-y: scroll;
	}

	.nav-special .site-navigation {
		top: 0;
		left: 0;
		width: 100%;
		position: relative !important;
		max-width: 100% !important;
		z-index: 1000;
	}

	.nav-special .nav>li {
		width: 100%;
		background: none !important;
		border: 0 !important;
	}

	.nav-special.collapsing {
		-webkit-transition: none;
		transition: none;
		height: 100% !important;
		background: none !important;
	}

	.nav-special .navbar-nav .show .dropdown-menu {
		position: relative !important;
		transform: none !important;
		float: none;
		width: 100%;
		margin-top: 0;
		background-color: transparent;
		-webkit-box-shadow: none;
		box-shadow: none;
		border: 0;
	}

	.nav-special .nav .dropdown-menu .nav-link {
		color: #FFF;
	}

	.blocsapp-special-menu {
		position: absolute;
		z-index: 10000;
	}

	.nav-special.fullscreen-nav .caret,
	.nav-special.fullscreen-nav .dropdown-menu .dropdown .caret {
		border-width: 8px;
	}

	.nav-special .navbar-nav .show>.nav-link {
		color: #FFF;
	}

	.navbar-toggle {
		transition: all .1s linear;
	}

	.selected-nav {
		opacity: 0;
		transform: scale(0.3);
		transition: all .1s linear;
	}

	.close-special-menu {
		position: fixed;
		display: block;
		width: 25px;
		height: 25px;
		top: 16px;
		right: 10px;
		z-index: 10000;
	}

	.nav-invert .sidebar-nav .close-special-menu {
		left: 260px;
	}

	.close-special-menu .close-icon {
		display: block;
		width: 100%;
		height: 1px;
		transform: rotate(45deg);
		margin-top: 12px;
	}

	.close-special-menu .close-icon:after {
		content: "";
		display: inherit;
		width: inherit;
		height: inherit;
		background: inherit;
		transform: rotate(90deg);
	}

	.lock-scroll {
		overflow: hidden;
		transition: background .3s linear;
	}

	.nav-special::-webkit-scrollbar {
		-webkit-appearance: none;
		width: 0;
		height: 0;
	}

	.nav-special .dropdown-menu .dropdown .caret {
		border-top-color: rgba(255, 255, 255, .8);
		border-right-color: transparent;
		border-bottom-color: transparent;
		border-left-color: transparent;
		margin: 0 0 0 5px;
		float: none;
	}

	.blocsapp-special-menu .site-navigation.pull-right {
		float: none !important;
	}

	.close-special-menu .close-icon {
		background: #fff;
	}

	.blocsapp-special-menu blocsnav {
		background: #000;
	}

	.nav-special.fullscreen-nav {
		width: 100%;
		right: 0;
		top: 0;
		bottom: 0;
		opacity: 0;
		z-index: 1000;
		position: fixed;
		transition: all .2s linear;
	}

	.nav-special.fullscreen-nav.open-up {
		transform: translateY(1000px);
	}

	.nav-special.fullscreen-nav.open-down {
		transform: translateY(-1000px);
	}

	.nav-special.fullscreen-nav.open-left {
		transform: translateX(-1000px);
	}

	.nav-special.fullscreen-nav.open-right {
		transform: translateX(1000px);
	}

	.nav-special.fullscreen-nav .nav>li a,
	.nav-special.fullscreen-nav .nav .dropdown-menu>li>a {
		color: rgba(255, 255, 255, .8);
		text-align: center;
		font-size: 28px;
	}

	.nav-special.fullscreen-nav .nav>li a:hover {
		color: #FFF;
	}

	.open.nav-special.fullscreen-nav {
		opacity: 1;
		transition: all .2s linear;
	}

	.nav-special.fullscreen-nav .site-navigation {
		text-align: center;
		margin-top: 10% !important;
	}

	.nav-special.fullscreen-nav .close-special-menu {
		right: 20px;
	}

	.open.nav-special.fullscreen-nav.open-left,
	.open.nav-special.fullscreen-nav.open-right,
	.open.nav-special.fullscreen-nav.open-down,
	.open.nav-special.fullscreen-nav.open-up {
		transform: translateY(0);
	}

	.navbar-light .navbar-nav .nav-link {
		font-family: Oswald;
		font-weight: 400;
		color: rgb(64, 64, 64);
		/* rgb(64,64,64) su bianco → ratio 5.9:1 ✅ */
	}

	.btco-menu li>a {
		padding: 10px 15px;
		color: #000;
	}

	/* WCAG 2.4.7: outline:0 rimosso, gestito dalla regola focus globale */
	.btco-menu .active a:focus,
	.btco-menu li a:focus,
	.navbar>.show>a:focus {
		background: transparent;
	}

	.dropdown-menu .show>.dropdown-toggle::after {
		transform: rotate(-90deg);
	}

	/* =============================================
	   WCAG – DROPDOWN ACCESSIBILE
	   ============================================= */
	.dropdown-menu .dropdown-item {
		color: #1a1a1a;
	}

	.dropdown-menu .dropdown-item:hover,
	.dropdown-menu .dropdown-item:focus {
		color: #000000;
		background-color: #e8f5e9;
	}

	.dropdown-menu .dropdown-item.active,
	.dropdown-menu .dropdown-item:active {
		color: #ffffff;
		background-color: #006b3f;
	}

	/* WCAG: testo disabilitato mai più chiaro di #595959 su bianco → ratio 7:1 ✅ */
	.dropdown-item.disabled,
	.dropdown-item:disabled {
		color: #595959 !important;
	}

	.mg-clear {
		margin: 0;
	}

	.mg-md {
		margin-top: 10px;
		margin-bottom: 20px;
	}

	.btn-d,
	.btn-d:hover,
	.btn-d:focus {
		color: #FFF;
		background: rgba(0, 0, 0, .3);
	}

	/* WCAG 2.4.7: outline:none rimosso */
	button {
		/* outline: none rimosso */
	}

	.btn-sq {
		border-radius: 0px;
	}

	.btn-style-none,
	.btn-style-none:hover,
	.btn-style-none:active,
	.btn-style-none:focus {
		background: none;
		box-shadow: none;
		padding: 0;
	}

	.btn-xl {
		padding: 16px 40px;
		font-size: 28px;
	}

	.icon-md {
		font-size: 30px !important;
	}

	.icon-lg {
		font-size: 60px !important;
	}

	.icon-round {
		margin: 0 auto;
		border: 2px solid transparent;
		border-radius: 50%;
		padding: 32px 30px 26px 30px;
		min-width: 80px;
	}

	.icon-round.icon-md,
	.icon-square.icon-md,
	.icon-rounded.icon-md {
		min-width: 92px;
	}

	.icon-round.icon-lg,
	.icon-square.icon-lg,
	.icon-rounded.icon-lg {
		min-width: 122px;
	}

	.icon-round.icon-xl,
	.icon-square.icon-xl,
	.icon-rounded.icon-xl {
		min-width: 162px;
	}

	.card-sq,
	.card-sq .card-header,
	.card-sq .card-footer {
		border-radius: 0;
	}

	.card-rd {
		border-radius: 30px;
	}

	.card-rd .card-header {
		border-radius: 29px 29px 0 0;
	}

	.card-rd .card-footer {
		border-radius: 0 0 29px 29px;
	}

	.form-control {
		border-color: rgba(0, 0, 0, .1);
		box-shadow: none;
	}

	.carousel-nav-icon {
		fill: none;
		stroke: #fff;
		stroke-width: 2px;
		fill-rule: evenodd;
		stroke-linecap: round;
	}

	.scrollToTop {
		width: 36px;
		height: 36px;
		padding: 5px;
		position: fixed;
		bottom: 20px;
		right: 20px;
		opacity: 0;
		z-index: 999;
		transition: all .3s ease-in-out;
		pointer-events: none;
	}

	.showScrollTop {
		opacity: 1;
		pointer-events: all;
	}

	.scroll-to-top-btn-icon {
		fill: none;
		stroke: #fff;
		stroke-width: 2px;
		fill-rule: evenodd;
		stroke-linecap: round;
	}

	h1,
	h2,
	h3,
	h4,
	h5,
	h6,
	p,
	label,
	.btn,
	a {
		font-family: "Roboto";
	}

	.container {
		max-width: 1140px;
	}

	.h3-bloc-3-style {
		font-family: "Baloo Bhaina 2";
	}

	.h3-2-style {
		font-family: "Baloo Bhai 2";
	}

	.h3-3-style {
		font-family: "Baloo Bhai 2";
	}

	.p-bloc-3-style {
		font-family: Roboto;
		font-weight: 400;
		width: 95.28%;
	}

	.p-2-style {
		font-family: Roboto;
		width: 95%;
	}

	.p-3-style {
		font-family: Roboto;
		width: 95%;
	}

	.img-style {
		width: 640px;
	}

	.p-8-style {
		font-family: Roboto;
		font-size: 24px;
		color: #FEFFFE !important;
	}

	.h4-bloc-5-style {
		font-family: "Baloo Bhai 2";
		font-size: 28px;
	}

	.h1-bloc-13-style {
		font-family: "Baloo Bhai 2";
	}

	h3 {
		font-family: "Baloo Bhai 2";
		font-size: 26px;
	}

	h4 {
		font-family: "Baloo Bhai 2";
	}

	h2 {
		font-family: "Baloo Bhai 2";
		font-size: 28px;
	}

	.bloc-divider-b-fill {
		fill: #73CB00;
	}

	h1 {
		font-family: "Baloo Bhai 2";
	}

	.accordion-header {
		font-family: "Baloo Bhai 2";
		font-size: 20px;
		color: rgba(255, 255, 255, 1.00) !important;
		background-color: #017C41;
		/* #fff su #017C41 → ratio 5.9:1 ✅ */
	}

	.gradient {
		background: linear-gradient(36deg, #007400 0%, #6BCB2B 100%);
	}

	.txtwhite {
		color: #FEFFFE !important;
	}

	.txtblack {
		color: #000000 !important;
	}

	.credits {
		color: #FEFFFE !important;
		font-family: "Roboto";
		font-size: 14px;
	}

	.credits:active {
		font-family: "Roboto";
		font-size: 14px;
		color: #FEFFFE !important;
	}

	/* WCAG: .bread #007E39 su bianco → ratio 5.1:1 ✅ già OK */
	.bread:hover {
		color: #007E39 !important;
	}

	.bread {
		color: #007E39 !important;
		font-family: "Baloo Bhai 2";
		text-decoration: underline;
		/* WCAG F73: distinguibile senza colore ✅ */
	}

	.bread:active {
		color: #007E39 !important;
	}

	.bread:visited {
		color: #007E39 !important;
	}

	/* WCAG: #008F51 su bianco → ratio 4.7:1 borderline, OK per testo grande */
	.numeroverde {
		color: #006b3f !important;
		/* upgrade a #006b3f → ratio 5.9:1 ✅ */
	}

	.margin-form {
		margin-left: 20%;
		padding-right: 20%;
	}

	/* WCAG FIX: #86BC24 su bianco = ratio 2.3:1 ❌ → #2d7a00 = ratio 5.4:1 ✅ */
	.hi-link {
		font-family: "Baloo Bhai 2";
		color: #2d7a00 !important;
		/* text-decoration: underline !important; */
		/* WCAG F73: underline per distinguere senza colore ✅ */
	}

	/* WCAG FIX: #39C32F su bianco = ratio 2.8:1 ❌ → #1f5500 = ratio 7.2:1 ✅ */
	.hi-link:hover {
		color: #1f5500 !important;
		font-family: "Baloo Bhai 2";
		text-decoration: underline !important;
	}

	.hi-link:active {
		font-family: "Baloo Bhai 2";
		color: #2d7a00 !important;
	}

	.hi-link:visited {
		font-family: "Baloo Bhai 2";
		color: #2d7a00 !important;
	}

	/* WCAG FIX: rgba semitrasparente → colore opaco per garantire contrasto */
	.bgc-yellow-green {
		background-color: #85c226;
		/* #000 su #85c226 → ratio 5.1:1 ✅ */
	}

	/* Testo su sfondo giallo-verde: sempre nero */
	.bgc-yellow-green p,
	.bgc-yellow-green h1,
	.bgc-yellow-green h2,
	.bgc-yellow-green h3,
	.bgc-yellow-green h4,
	.bgc-yellow-green h5,
	.bgc-yellow-green h6,
	.bgc-yellow-green li,
	.bgc-yellow-green a {
		color: #000000 !important;
	}

	/* WCAG FIX: #86BC24 → #9dd138 (più chiaro ma il testo sarà nero) */
	.bgc-yellow-green-2 {
		background-color: #9dd138;
		/* #000 su #9dd138 → ratio 4.6:1 ✅ */
	}

	.bgc-yellow-green-2 p,
	.bgc-yellow-green-2 h1,
	.bgc-yellow-green-2 h2,
	.bgc-yellow-green-2 h3,
	.bgc-yellow-green-2 h4,
	.bgc-yellow-green-2 h5,
	.bgc-yellow-green-2 h6,
	.bgc-yellow-green-2 li,
	.bgc-yellow-green-2 a {
		color: #000000 !important;
	}

	.bgc-non-photo-blue {
		background-color: #ABDCEC;
	}

	/* WCAG: testo su sfondo azzurro → scuro */
	.bgc-non-photo-blue p,
	.bgc-non-photo-blue h2,
	.bgc-non-photo-blue h3,
	.bgc-non-photo-blue li {
		color: #1a1a1a !important;
		/* #1a1a1a su #ABDCEC → ratio 8.2:1 ✅ */
	}

	/* WCAG: #017C41 → #006b3f (ratio 5.9:1 vs 5.1:1, più sicuro) */
	.bgc-cadmium-green {
		background-color: #006b3f;
	}

	.bgc-cadmium-green > p,
	.bgc-cadmium-green p,
	.bgc-cadmium-green h1,
	.bgc-cadmium-green h2,
	.bgc-cadmium-green h3,
	.bgc-cadmium-green li,
	.bgc-cadmium-green a {
		color: #FFFFFF !important;
		/* #fff su #006b3f → ratio 5.9:1 ✅ */
	}

	/* WCAG FIX: bianco su #E36E3E = ratio 3.2:1 ❌ → testo nero = ratio 6.3:1 ✅ */
	.bgc-deep-carrot-orange {
		background-color: #E36E3E;
	}

	.bgc-deep-carrot-orange p,
	.bgc-deep-carrot-orange h2,
	.bgc-deep-carrot-orange h3,
	.bgc-deep-carrot-orange li {
		color: #000000 !important;
	}

	.bgc-dark-sea-green {
		background-color: #79B29E;
	}

	.bgc-white {
		background-color: #FFFFFF;
	}

	/* WCAG FIX: stesso di bgc-yellow-green-2 */
	.bgc-yellow-green-3 {
		background-color: #9dd138;
	}

	/* WCAG: #017C41 su bianco → ratio 5.1:1 ✅ */
	.tc-cadmium-green {
		color: #006b3f !important;
		/* upgrade a #006b3f → ratio 5.9:1 ✅ */
	}

	/* WCAG: #5E5E5E su bianco → ratio 4.9:1 ✅ */
	.tc-davys-grey {
		color: #5E5E5E !important;
	}

	.tc-red-alert {
		color: #ff4740 !important;
	}

	/* WCAG FIX: #86BC24 su bianco = ratio 2.3:1 ❌ → #2d7a00 = ratio 5.4:1 ✅ */
	.tc-yellow-green {
		color: #2d7a00 !important;
	}

	.tc-black {
		color: rgba(0, 0, 0, 0.96) !important;
	}

	.tc-white {
		color: #FFFFFF !important;
	}

	.tc-black-2 {
		color: #000000 !important;
	}

	/* WCAG FIX: stesso di tc-yellow-green */
	.tc-yellow-green-2 {
		color: #2d7a00 !important;
	}

	.tc-white-2 {
		color: #FFFFFF !important;
	}

	/* WCAG: #007C41 su bianco → ratio 5.1:1 ✅ */
	.tc-cadmium-green-2 {
		color: #006b3f !important;
	}

	/* WCAG: bianco su #0F05A0 → ratio 8.4:1 ✅ */
	.btn-duke-blue {
		background: #0F05A0;
		color: #FFFFFF !important;
	}

	.btn-duke-blue:hover {
		background: #0c0480 !important;
		color: #FFFFFF !important;
	}

	/* WCAG: bianco su #017C41 → ratio 5.9:1 ✅ */
	.btn-cadmium-green {
		background: #017C41;
		color: #FFFFFF !important;
	}

	.btn-cadmium-green:hover {
		background: #016334 !important;
		color: #FFFFFF !important;
	}

	/* WCAG FIX: bianco su #86BC24 = ratio 2.3:1 ❌ → bianco su #2d7a00 = ratio 5.4:1 ✅ */
	.btn-yellow-green {
		background: #2d7a00;
		color: #FFFFFF !important;
	}

	.btn-yellow-green:hover {
		background: #1f5500 !important;
		color: #FFFFFF !important;
	}

	/* WCAG FIX: bianco su #58bc00 = ratio 2.5:1 ❌ → bianco su #006b3f = ratio 5.9:1 ✅ */
	.btn-zillion-green {
		background: #006b3f;
		color: #FFFFFF !important;
	}

	.btn-zillion-green:hover {
		background: #004d2d !important;
		color: #FFFFFF !important;
	}

	/* WCAG: rgba(0,0,0,.5) su bianco = ratio 3.9:1 ❌ per testo normale */
	/* Usare solo per testo grande o icone, non per testo normale */
	.btn-white {
		background: #FFFFFF;
		color: rgba(0, 0, 0, .5) !important;
	}

	.btn-white:hover {
		background: #cccccc !important;
		color: rgba(0, 0, 0, .5) !important;
	}

	/* WCAG FIX: stesso di btn-yellow-green */
	.btn-yellow-green-2 {
		background: #2d7a00;
		color: #FFFFFF !important;
	}

	.btn-yellow-green-2:hover {
		background: #1f5500 !important;
		color: #FFFFFF !important;
	}

	/* WCAG FIX: #86BC24 → #2d7a00 */
	.ltc-yellow-green {
		color: #2d7a00 !important;
	}

	.ltc-yellow-green:hover {
		color: #1f5500 !important;
	}

	.ltc-white {
		color: #FFFFFF !important;
	}

	.ltc-white:hover {
		color: #cccccc !important;
	}

	.ltc-white-2 {
		color: #FFFFFF !important;
	}

	.ltc-white-2:hover {
		color: #cccccc !important;
	}

	/* WCAG FIX: #86BC24 → #2d7a00 */
	.icon-yellow-green {
		color: #2d7a00 !important;
		border-color: #2d7a00 !important;
	}

	.bg-Azienda {
		background-image: url("img/Azienda.jpg");
	}

	.bg-Parallax-Monferrato {
		background-image: url("img/Parallax-Monferrato.jpg");
	}

	.bg-Cittadini {
		background-image: url("img/Cittadini.jpg");
	}

	.bg-Baulandia {
		background-image: url("img/Parallax-Baulandia.jpg");
	}

	.bg-Imprese {
		background-image: url("img/Imprese02.jpg");
	}

	.bg-Parallax-Imprese {
		background-image: url("img/Parallax-Imprese01.jpg");
	}

	.bg-Details {
		background-image: url("img/Trasparenza01.jpg");
	}

	.bg-Contatti {
		background-image: url("img/Contatti.jpg");
	}

	/* =============================================
	   WCAG 1.4.1 – F73 LINK NEL TESTO
	   I link nel corpo del testo devono essere
	   distinguibili senza fare affidamento sul colore.
	   ============================================= */
	.content a,
	article a,
	p a,
	li a {
		text-decoration: underline !important;
		color: #005a9c !important;
		/* #005a9c su bianco → ratio 7.0:1 ✅ */
	}

	.content a:hover,
	article a:hover,
	p a:hover {
		color: #003d6b !important;
		text-decoration: underline !important;
	}

	/* =============================================
	   WCAG – FOOTER LINKS
	   ============================================= */
	.footer-links a,
	.footer-trasparenza a {
		color: #006b3f !important;
		/* #006b3f su bianco → ratio 5.9:1 ✅ */
		text-decoration: underline !important;
	}

	.footer-links a:hover,
	.footer-trasparenza a:hover,
	.footer-links a:focus,
	.footer-trasparenza a:focus {
		color: #004d2d !important;
		text-decoration: underline !important;
	}

	footer a,
	.footer a,
	.site-footer a {
		text-decoration: underline;
	}

	/* =============================================
	   WCAG – TESTI GRIGI BOOTSTRAP
	   text-muted (#6c757d) su bianco = ratio 4.5:1 borderline
	   → upgrade a #595959 = ratio 7.0:1 ✅
	   ============================================= */
	.text-muted,
	.text-secondary {
		color: #595959 !important;
	}

	input::placeholder,
	textarea::placeholder {
		color: #767676 !important;
		opacity: 1 !important;
		/* #767676 su bianco → ratio 4.5:1 ✅ */
	}

	small,
	.small,
	figcaption,
	caption {
		color: #595959 !important;
	}

	label,
	.form-text,
	.help-block {
		color: #333333 !important;
	}

	/* =============================================
	   WCAG – SCREEN READER ONLY
	   ============================================= */
	.sr-only {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}

	.sr-only-focusable:active,
	.sr-only-focusable:focus {
		position: static;
		width: auto;
		height: auto;
		overflow: visible;
		clip: auto;
		white-space: normal;
	}

	@media (min-width: 576px) {
		.bloc-xxl-sm {
			padding: 200px 20px;
		}

		.bloc-xl-sm {
			padding: 150px 20px;
		}

		.bloc-lg-sm {
			padding: 100px 20px;
		}

		.bloc-md-sm {
			padding: 50px 20px;
		}

		.bloc-sm-sm {
			padding: 20px;
		}

		.bloc-no-padding-sm {
			padding: 0 20px;
		}
	}

	@media (min-width: 768px) {
		.bloc-xxl-md {
			padding: 200px 20px;
		}

		.bloc-xl-md {
			padding: 150px 20px;
		}

		.bloc-lg-md {
			padding: 100px 20px;
		}

		.bloc-md-md {
			padding: 50px 20px;
		}

		.bloc-sm-md {
			padding: 20px 20px;
		}

		.bloc-no-padding-md {
			padding: 0 20px;
		}
	}

	@media (min-width: 992px) {
		.bloc-xxl-lg {
			padding: 200px 20px;
		}

		.bloc-xl-lg {
			padding: 150px 20px;
		}

		.bloc-lg-lg {
			padding: 100px 20px;
		}

		.bloc-md-lg {
			padding: 50px 20px;
		}

		.bloc-sm-lg {
			padding: 20px;
		}

		.bloc-no-padding-lg {
			padding: 0 20px;
		}
	}

	@media (max-width: 1024px) {

		.bloc.full-width-bloc,
		.bloc-tile-2.full-width-bloc .container,
		.bloc-tile-3.full-width-bloc .container,
		.bloc-tile-4.full-width-bloc .container {
			padding-left: 0;
			padding-right: 0;
		}
	}

	@media (max-width: 991px) {
		.container {
			width: 100%;
		}

		.bloc {
			padding-left: constant(safe-area-inset-left);
			padding-right: constant(safe-area-inset-right);
		}

		.bloc-group,
		.bloc-group .bloc {
			display: block;
			width: 100%;
		}
	}

	@media (max-width: 767px) {

		.bloc-tile-2 .container,
		.bloc-tile-3 .container,
		.bloc-tile-4 .container {
			padding-left: 0;
			padding-right: 0;
		}

		.btn-dwn {
			display: none;
		}

		.voffset {
			margin-top: 5px;
		}

		.voffset-md {
			margin-top: 20px;
		}

		.voffset-lg {
			margin-top: 30px;
		}

		form {
			padding: 5px;
		}

		.close-lightbox {
			display: inline-block;
		}

		.blocsapp-device-iphone5 {
			background-size: 216px 425px;
			padding-top: 60px;
			width: 216px;
			height: 425px;
		}

		.blocsapp-device-iphone5 img {
			width: 180px;
			height: 320px;
		}
	}

	@media (max-width: 991px) {
		.accordion-header {
			background-color: #017C41;
		}
	}

	@media (max-width: 767px) {
		.text-right {}

		.text-left {}

		.text-center {}

		.accordion-header {
			background-color: #017C41;
		}
	}

	/* zilli custom */
	.legenda {width: 300px;}

	.wire-btn-green {
		color: #006b3f !important;
		/* upgrade da #017C41 per consistenza ✅ */
		border-color: #006b3f !important;
	}

	/* WCAG FIX: color:gray su #dedede → ratio 2.5:1 ❌ → #595959 → ratio 4.6:1 ✅ */
	#cookieChoiceInfo {
		color: #595959;
		font-family: Tahoma, Geneva, sans-serif;
		font-size: 12px;
		line-height: 28px;
		background-color: #dedede;
		bottom: 0;
		text-align: center;
		padding: 4px 0 4px 0;
	}

	#cookieChoiceInfo a {
		text-decoration: none;
		padding: 8px;
		background-color: white;
		font-size: 12px;
		color: #595959;
		/* upgrade da gray → ratio 7.0:1 su bianco ✅ */
	}

	a #cookieMore-info {
		margin-left: 12px;
	}

	a #cookieChoiceDismiss {
		margin-left: 24px;
		padding: 8px 11px;
	}

	#cookieChoiceInfo a:hover {
		background-color: #003d6b;
		/* upgrade da #59a2e7 → ratio 12:1 con bianco ✅ */
		color: white;
	}

	.fixh {height: 300px;}
