
		body, html {
			height: 100%;
			margin: 0;
			/* Applica Montserrat a tutto il documento */
			font-family: 'Montserrat', sans-serif; 
			-webkit-font-smoothing: antialiased;
			-moz-osx-font-smoothing: grayscale;
			font-size: 14px; /*14px*/
			font-weight: 500;
			color: #000000;
			line-height: 1.2;
		}

		
		h1, h2, h3, h4, .fw-bold {
			font-weight: 700; 
		}
		
		/* Bottoni */
		.btn {
            border-radius: 20px;
            border: none;
        }
		
		.btn-primary {
            background-color: var(--button-primary);
            color: var(--button-color-primary);
        }
		
		.btn-primary:hover {
			background-color: var(--button-primary-hover);
			color: var(--button-color-primary-hover);
			border: none;
		}
		
		.btn-primary-dark {
            background-color: var(--button-primary-dark);
            color: var(--button-color-primary);
        }
		
		.btn-primary-dark:hover {
			background-color: var(--button-primary-dark-hover);
			color: var(--button-color-primary-hover);
			border: none;
		}

		
        .btn-secondary {
            background-color: var(--button-secondary);
			color: var(--button-color-secondary);
        }
		
		.btn-secondary:hover {
            background-color: var(--button-secondary-hover);
			color: var(--button-color-secondary-hover);
        }
        
		.link-sfondo-bianco{
			text-decoration: none;
			color: var(--link-sfondo-bianco);
		}
		
		.link-sfondo-bianco:hover{
			text-decoration: underline;
			color: var(--link-sfondo-bianco-hover);
		}
		
		/* LOGIN ================================================================================== */
        /* Sfondo Hero con immagine */
		/*
        .login-bg {
            background: url('img/sf_login.jpg') no-repeat center center fixed;
            background-size: cover;
            min-height: 80vh;
            display: flex;
            align-items: center;
            justify-content: flex-end; 
            padding-right: 10%;
            position: relative;
        }*/

        /* Bandierina in alto a destra */
        .lang-switch {
            position: absolute;
            top: 20px;
            /*right: 100px;*/
			right: 10%;
        }

        /* Card di Login */
        .login-card {
            background: rgba(255, 255, 255, 0.95);
            border-radius: 30px;
            padding: 20px 40px;
            width: 100%;
            max-width: 400px;
            box-shadow: 0 10px 30px rgba(0,0,0,0.3);
            text-align: center;
        }

        .login-card img.brand-logo {
            max-width: 180px;
            margin-bottom: 10px;
        }

        .login-card h2 {
            font-size: 1.4rem;
            font-weight: 800;
            margin-bottom: 5px;
        }

        /* Input arrotondati */
		.form-control{
			border: 1px solid #7d7d7d;
		}
		
        .form-control-login {
			border-radius: 15px;
			padding: 5px 10px;
			margin-bottom: 5px;
        }

        .password-container {
            position: relative;
        }
		
     
		.password-container button {
            position: absolute;
            right: 5px;
            top: 1px;
            color: #6c757d;
            cursor: pointer;
        }
		
		@media (max-width: 768px) {
            .login-bg { justify-content: center; padding-right: 0; }
        }
		/* fine login ======================================== */
		
        /* header ======================================== */
		
		.sticky-top {z-index: 1020;top: 0;}
		.row-menu-header {height:40px}
		.row-menu-header .nav-link {font-size:14px}
		.position-relative {position: relative;}
	
		.badge-cart, .badge-cart-dropdown {position: absolute; top: -5px; right: -8px; background-color: #e30613; color: white; font-size: 10px; font-weight: bold; min-width: 16px;
			height: 16px;
			border-radius: 50%;
			display: flex;
			align-items: center;
			justify-content: center;
			padding: 2px;
			line-height: 1;
		}
		
		.badge-cart-dropdown {top: -12px; right: -12px; }

		.header-icons i { font-size: 1.4rem; color: #000; }
		
		/*dropmenu*/
		.dropdown-menu {
			/*min-width: 220px;*/
			margin-top: 0px !important;
			border-radius: 8px;
			border-top: 10px solid transparent;
			background-clip: padding-box;
			--bs-dropdown-link-active-bg: var(--bs-gray-400);
		}

		/* Rimuove la freccina standard dei dropdown di Bootstrap */
		.dropdown-toggle::after {
			display: none !important;
		}

		.dropdown-item {
			/*font-size: 0.9rem;*/
			/*padding: 10px 20px;*/
			color:#000;
			font-weight: 500;
		}
		
		.dropdown-item:hover {
			/*background-color: #f8f9fa;*/
			color: var(--testo-colorato);
		}
		
		.dropdown:hover .dropdown-menu {display: block;}
		
		.dropdown-menu-end {
			right: -15px !important;
			left: auto !important;
		}
		


		/* Evita che il menu sia troppo largo su schermi piccoli */
		@media (max-width: 576px) {
			.dropdown-menu {
				width: 90vw; /* Occupa al massimo il 90% della larghezza dello schermo */
				position: fixed !important; /* Opzionale: lo centra se è critico */
				left: 5% !important;
				right: 5% !important;
			}
		}

		
		.col-search{padding: 0 80px 10px 80px;} 
		
		/* Il wrapper della ricerca */
		.search-wrapper {
			position: relative;
			display: flex;
			align-items: center;
		}

		/* Input verde stile "Pill" */
		.search-pill {
			background-color: var(--sf-input_search) !important; /* Verde Fimar */
			border: none !important;
			border-radius: 40px !important;
			height: 40px;
			/*width: 80%;
			margin-left:30px;
			margin-right:30px;*/
			color: white !important;
			padding-left: 20px;
			padding-right: 45px;
			
		}
		.search-pill::placeholder { color: rgba(255,255,255,0.7); }

		.btn-search-icon {
			position: absolute;
			right: 10px;
			background: transparent;
			border: none;
			padding: 0 10px;
			color: #000;
		}
		
		
		@media (max-width: 992px) {
			.col-search{padding: 0 40px 10px 40px} 
		}
		@media (max-width: 768px) {
			.col-search{padding: 0 10px 10px 10px} 
		}

		
		


		/* Correzione compatibilità B4/B5 per margini */
		.ms-4 { margin-left: 1.5rem; }
		.ml-4 { margin-left: 1.5rem; }
		.me-3 { margin-right: 1rem; }
		.mr-3 { margin-right: 1rem; }

		/* Stile Menu Laterale */
		.offcanvas { width: 320px !important; }
		.list-group-item:hover {
			background-color: #f8f9fa;
			color: #1a8944;
		}
		/* fine header ======================================== */
		
		
		
		/*MAIN HOME =================================================*/


		.content-wrapper { background-color: #fff;}

		
	
	

		

        
        footer {
            background-color: #1b1b1b;
            color: white;
            padding: 50px 0 20px 0;
            
        }
		
		footer a{
			text-decoration: none;
			color: #fff;
		}
		
		footer a:hover{
			text-decoration: none;
			color: var(--button-primary);
		}
        
        .social-icons-header i { 
			font-size: 1.4rem; margin: 0 10px; 
		}
		
		#vcookies.cookiespolicy {
		position: fixed;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		z-index: 1060; /* Sopra la navbar */
		width: 90%;
		max-width: 500px;
		background-color: #fff;
		padding: 2rem;
		border-radius: 1rem;
		box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
		text-align: center;
		border: 1px solid #dee2e6;
	}

	/* Link alla policy */
	#vcookies .cookiespolicy a {
		display: block;
		margin: 10px 0;
		color: #0d6efd;
		text-decoration: underline;
	}

	/* Contenitore del tasto OK */
	#vcookies .closer {
		display: block;
		margin-top: 1.5rem;
	}



	/* Overlay opzionale per scurire lo sfondo */
	.cookie-overlay {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(0,0,0,0.6);
		z-index: 1055;
	}