/*** Header ***/
header {
	width:100%;
    position:relative;
    margin:30px auto 0 auto;
}
.logo {
	width:100%;
    max-width:400px;
    margin:auto;
    display:block;
}
strong {
	font-weight:600;
}
.btnConferma {
	width:100%;
	background-color:#005ca9;
	padding:10px 20px;
	border:1px solid #575756;
	font-family: "Poppins", serif;
	color:#fff;
	cursor:pointer;
	display:block;
	text-align:center;
	font-weight:500;
    margin:25px 0;
	text-transform:uppercase;
	font-size:15px;
}
	.btnConferma:hover {
		background-color:#fff;
        color:#005ca9;
	}
.btnModifica {
	background-color:#f1f1f1;
	padding:5px 15px;
	border:1px solid #222;
	border-radius:40px;
	font-family: "Poppins", serif;
	color:#222;
	cursor:pointer;
	display:inline-block;
	font-weight:500;
    margin:0 0 25px 0;
	font-size:12px;
}
	.btnModifica:hover {
		background-color:#222;
        color:#fff;
	}
h2 {
	text-align:center;
	margin-top:30px;
}
h3 {
	text-align:center;
	margin-bottom:10px;
	font-size:25px;
}
h4 {
	text-align:center;
	margin-bottom:30px;
	margin-top:20px;
	font-size:20px;
}
h5 {
	text-align:center;
	margin-bottom:30px;
	font-size:16px;
	font-weight:500;
}
h6 {
    margin-bottom: 10px;
    font-size: 17px;
    font-weight: 600;
}

/*** Pagine Interne ***/
.formDatiSpedizione, .formBeneficienza  {
	margin-top:40px;
	display: none;
    opacity: 0;
    transition: opacity 0.4s ease;
}
#bottoneSalva  {
	display: none;
    opacity: 0;
    transition: opacity 0.4s ease;
}
	.formDatiSpedizione.active,	.formBeneficienza.active, #bottoneSalva.active {
		display: block;
		opacity: 1;
	}
.alertSede {
	color:red;
	text-align:center;
	font-size: 16px;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 30px;
}
.loginWrapper {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
	max-width: 800px;
	border-radius: 3px;
	border: 1px solid #ccc;
	padding: 30px;
	margin: auto;
	background-color: #f1f1f1;
}
.formLogin {
    width:47%;
}
	.formLogin p {
		font-size:13px;
		line-height:18px;
	}
	.formLogin h2 {
		text-align:left;
		margin-bottom:5px;
	}
.formDati {
    width:100%;
    max-width:800px;
    border-radius:3px;
    border:1px solid #ccc;
    padding:30px;
    margin:auto;
    background-color:#f1f1f1;
}
.formRiepilogo {
	width:100%;
    max-width:800px;
    border-radius:3px;
    border:1px solid #ccc;
    padding:30px;
    margin:auto;
    background-color:#f1f1f1;
}
	.formRiepilogo table {
		width:100%;
		margin:40px auto;
		font-size:15px;
		line-height:25px;
	}
		.formRiepilogo table tr td {
			border:1px solid #ccc;
			padding:10px 15px;
			background-color:#fff;
		}
.testoIntroduttivo {
    text-align:center;
    font-size:14px;
    line-height:20px;
    margin-bottom:30px;
}
	.testoIntroduttivo span {
		font-size:12px;
		font-weight:400;
	}
.linkLogout {
    color:#222;
    border-bottom:1px solid #222;
    float:right;
    font-size:12px;
    margin-top:40px;
}
.linkLogoutRiepilogo {
    color:#222;
    border-bottom:1px solid #222;
    font-size:12px;
   	display:inline-block;
	text-align:center;
}
.erroreLogin {
	color:#ff0000;
	text-align:center;
	font-weight:600;
	font-size:13px;
	margin-top:15px;
}
.scrittaDemo {
	text-align:center;
	font-size:12px;
	margin:20px auto;
}
.boxProdotti, .boxBeneficienza {
    text-align: center;
    flex-wrap: wrap;
}
.boxProdotti input[type="radio"], .boxBeneficienza input[type="radio"] {
    opacity: 0;
    position: fixed;
    width: 0;
}
.boxProdotti label {
	background-color: #fff;
	width: 32%;
  	margin: 0 auto 2% auto;
	border: 1px solid #ccc;
	border-radius: 3px;
	transition: all 0.2s linear 0s;
	-moz-transition: all 0.2s linear 0s;
	-webkit-transition: all 0.2s linear 0s;
	-o-transition: all 0.2s linear 0s;
	cursor: pointer;
	display: inline-block;
    padding: 7px;
}
.boxBeneficienza label {
	background-color: #fff;
	width: 24%;
  	margin: 0 auto 2% auto;
	border: 1px solid #ccc;
	border-radius: 3px;
	transition: all 0.2s linear 0s;
	-moz-transition: all 0.2s linear 0s;
	-webkit-transition: all 0.2s linear 0s;
	-o-transition: all 0.2s linear 0s;
	cursor: pointer;
	display: inline-block;
    padding: 10px;
	min-height: 250px;
}

.boxProdotti label img, .boxBeneficienza label img {
    width:100%;
	border-radius: 3px;
}
.boxProdotti label p, .boxBeneficienza label p {
	font-size:14px;
}
.boxProdotti label ul, .boxBeneficienza label ul {
	margin:15px 0;
	text-align:left;
}
	.boxProdotti label ul li, .boxBeneficienza label ul li {
		list-style-type: disc;
		margin: 5px 0 5px 30px;
		font-size: 13px;
		line-height: 18px;
	}
.boxProdotti input[type="radio"]:checked + label, .boxBeneficienza input[type="radio"]:checked + label {
	border: 1px solid #ea5b0c;
	color:#ea5b0c;	
}
.imgScatola {
    width: 100%;
    max-width: 400px;
    display: block;
    margin: 0 auto 40px auto;
}
.sezioneAiuto {
	background-color:#555;
	padding:30px;
	text-align:center;
	color:#fff;
}
	.sezioneAiuto img {
		width:100%;
		max-width:50px;
		display:block;
		margin:0 auto 20px auto;
	}
	.sezioneAiuto a.btnAssistenza:link, .sezioneAiuto a.btnAssistenza:visited {
		display:block;
		width:100%;
		max-width:250px;
		border:2px solid #fff;
		padding:10px 20px;
		text-align:center;
		border-radius:50px;
		color:#fff;
		margin:30px auto 0 auto;
		background-color:#555;
	}
	.sezioneAiuto a.btnAssistenza:hover {
		background-color:#fff;
		color:#555;
	}
	.sezioneAiuto a.btnFAQ:link, .sezioneAiuto a.btnFAQ:visited {
		display:block;
		width:100%;
		max-width:250px;
		border:2px solid #333;
		padding:10px 20px;
		text-align:center;
		border-radius:50px;
		color:#222;
		margin:30px auto 0 auto;
		background-color:#999;
	}
	.sezioneAiuto a.btnFAQ:hover {
		background-color:#333;
		color:#fff;
	}
.imgProdottoRiepilogo {
	width:100%;
	max-width: 400px;
	display: block;
    margin: auto;
	border-radius: 5px;
    margin: 15px auto;
}
.nomeProdottoRiepilogo {
	text-align:center;
	font-size:14px;
}
.generaPsw {
	font-size:12px;
	line-height:15px;
	margin:15px 0;
}
.passo {
	width:50px;
	height:50px;
	display:block;
	margin:auto;
	border-radius:3px;
	background-color:#444;
	border:1px solid #222;
	position:relative;
	color:#fff;
}
	.passo span {
		position:absolute;
		font-size:20px;
		font-weight:500;
		left: 50%;
		top: 50%;
		transform: translate(-50%,-50%);
		-webkit-transform: translate(-50%,-50%);
	}
.boxScelta {
	text-align:center;
	border-radius:3px;
	border:1px solid #999;
	background-color:#ccc;
	color:#555;
	font-size:20px;
	font-weight:600;
}
	.boxScelta:hover {
		border:1px solid #666;
		background-color:#999;
		color:#fff;
	}
.boxScelta i {
	font-size:30px;
	margin-bottom:20px;
}
.btnPasso {
	background-color: #f1f1f1;
    color: #222;
    border: 2px solid #222;
    border-radius: 40px;
    padding: 10px 20px;
    margin-top: 40px;
    display: block;
    max-width: 220px;
    text-align: center;
}
	.btnPasso:hover {
		background-color: #222;
    	color: #fff;
	}
.iconaTipoSpedizione {
	display: block !important;
    margin: 30px auto 10px auto;
    color: #222;
    font-size: 35px;
    text-align: center;
}
#warning-message {
	display:none;
	color:red;
	margin-bottom:10px;
	font-size:12px;
	font-weight:500;
}
.sezioneFAQ {
	position:fixed;
	z-index:9999;
	top:0px;
	left:0px;
	bottom:0px;
	width:50%;
	background-color:rgba(0,0,0,0.9);
	padding:5%;
	color:#fff;
	display:none;
	overflow-y: auto;
}
.iconaChiusura {
	position:absolute;
	top:30px;
	right:30px;
	cursor:pointer;
	font-size:25px;
}
	.iconaChiusura:hover {
		color:#f65700;
	}
.titoloFAQ {
	font-size:30px;
	font-weight:600;
	margin-bottom:20px;
}
	.sezioneFAQ ul {
		margin:25px 0;
	}
		.sezioneFAQ ul li {
			list-style-type: disc;
			margin:15px 0 15px 30px;
		}
	.sezioneFAQ a:link, .sezioneFAQ a:visited {
		color:#f65700;
		border-bottom:1px solid #f65700;
	}
	.sezioneFAQ a:hover {
		color:#fff;
		border-bottom:1px solid #fff;
	}
.linkOpenFAQ {
	color:#f65700;
	border-bottom:1px solid #f65700;
}
.imgPartner {
	width:100%;
	max-width:200px;
	border-radius:5px;
	border:1px solid #ccc;
	display:block;
	margin:auto;
}

#popupOverlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0);
    z-index: 9998;
    opacity: 0;
    transition: opacity 0.4s ease;
}

#popupOverlay.show {
    display: block;
    opacity: 1;
    background: rgba(0, 0, 0, 0.7);
}

#popupSuccesso {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.9);
    background: #005ca9; /* rosso aziendale */
    color: #fff;
    border-radius: 12px;
    padding: 40px 30px;
    width: 90%;
    max-width: 400px;
    text-align: center;
    z-index: 9999;
    box-shadow: 0 0 20px rgba(0,0,0,0.3);
    opacity: 0;
    transition: opacity 0.4s ease, transform 0.4s ease;
    position: fixed;
}

#popupSuccesso.show {
    display: flex;
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

#popupSuccesso p {
    font-size: 18px;
    line-height: 1.4em;
    margin-bottom: 20px;
}

#popupSuccesso button {
    background: #fff;
    color: #005ca9;
    border: none;
    padding: 10px 20px;
    font-weight: bold;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
}

#popupSuccesso button:hover {
    background: #f5f5f5;
}

/* Pulsante X */
#closeIcon {
    position: absolute;
    top: 5px;
    right: 5px;
    background: transparent;
    border: none;
    color: #fff !important;
    font-size: 26px;
    cursor: pointer;
    transition: transform 0.2s ease, color 0.2s ease;
	background-color:transparent !important;
}

#closeIcon:hover {
    color: #ffdddd;
    transform: scale(1.1);
}




/*** Footer ***/
footer {
	width:100%;
    background-color:#222;
    color:#fff;
    padding:30px;
    text-align:center;
    font-size:12px;
}
.logoFooter {
    width:100%;
    max-width:300px;
    display:block;
    margin:0 auto 20px auto;
}
    footer span {
        margin:0 10px;    
    }
    footer a:link, footer a:visited {
        color:#fff;
        border-bottom:1px solid #fff;
    }
    footer a:hover {
        color:#999;
        border-bottom:1px solid #999;
    }