.sv-main-content{
	margin-top: 76px;
}

.cart-header{
  background-color: rgb(255, 255, 255);
  box-shadow: 0 5px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  position: fixed;
  top: 0px;
  width: 100%;
  padding: 10px;
  z-index: 2;
}

.cart-logo-etes{
	height: 50px;
}

.anagrafica-errore-fid{
	background-color: #fff3cd;
	border: 1px solid #ffeeba;
	padding: 20px;
	border-radius: 25px;
	color: #856404;
	margin: 30px 0px 0px 0px;
	font-size: initial;
}

.anagrafica-errore-fid p{
	font-size: initial;
}

.anagrafica-errore-fid .title, .anagrafica{
	font-weight: bold;
}

.anagrafica-errore-fid .titolo-container{
	display: flex;
	gap: 10px;
}

.anagrafica-errore-fid ul {
	list-style: disc;
	margin: 0px 14px;
}

.anagrafica-errore-fid a{
	background-color: #4869ce;
	border: none;
	color: white;
	padding: 10px 20px;
	font-size: 16px;
	margin-top: 20px;
	border-radius: 10px;
	cursor: pointer;
	display: block;
	margin-left: auto;
	margin-right: auto;
	max-width: 250px;
    text-align: center;
}

#cart-progress-bar{
	display: flex;
	justify-content: space-between;
	color: #784d9f;  
	position: fixed;
	width: 100%;
	left: 0;
	z-index: 1;
	height: 70px;
}

.cart-progress-bar-block{
	width: 33.333333%;
}

.cart-progress-bar .cart-progress-bar-block:nth-of-type(1){
	background-color: #784d9f;
}

.cart-progress-bar .cart-progress-bar-block:nth-of-type(2), .cart-progress-bar .cart-progress-bar-block:nth-of-type(3){
	background-color: #e9e9e9;
}

.confirm-progress-bar .cart-progress-bar-block:nth-of-type(1){
	background-color: #e9e9e9;
}

.confirm-progress-bar .cart-progress-bar-block:nth-of-type(1) .cart-progress-bar-item{
	border-right: solid 2px #999;
}

.confirm-progress-bar .cart-progress-bar-block:nth-of-type(2), .confirm-progress-bar .cart-progress-bar-block:nth-of-type(3){
	background-color: #784d9f;
}

.cart-progress-bar-item{
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: bold;
  	padding: 10px;
  	color: #774c9e;
  	cursor: pointer;
  	background-color: #e9e9e9;
  	height: 100%;
  	border-top-right-radius: 35px;
	border-bottom-right-radius: 35px;
}


.cart-progress-bar-item.active{
	background-color: #784d9f;
	color: white;
  	cursor: default;
}

.border-inside{
	margin-right: -37px;
	z-index: 3;
	position: absolute;
	right: 0;
}

.cart-order-secure-container{
	display: flex;
	justify-content: end;
}

.cart-order-secure-container > img{
	height: 25px;
	margin: 5px;
}

.cart-order-secure-container > p{
	font-size: medium;
	font-weight: bold;
	color: #784d9f;
	margin-top: 8px;
}

section.cart-right{
	padding: 0px;
}

.cart-summary-header{
	font-size: initial;
	font-weight: bold;
	text-align: left;
}

.cart-price-container{
	display: flex;
	justify-content: space-between;
}

.cart-price-label{
	font-size: initial;
	color: #784d9f;
}

.cart-price{
	font-size: initial;
	color: black;
}

.cart-divider{
	border: 1px solid #d9d9d9;
	margin-bottom: 10px;
}

.cart-total-p{
	font-size: large;
	font-weight: bold;
}

.cart-right-body{
	margin-top: 10px;
	border: 2px solid #d9d9d9;
	border-radius: 20px;
}

.cart-legend-step1{
	position: absolute;
}

.cart-button{
	width: 100%;
	display: inline-block;
	background-color: #ef4568;
	padding: 6px;
	border-radius: 20px;
	text-align: center;
	text-transform: unset;
}


.cart-delivery-container{
	border: 2px solid #d9d9d9;
  	border-radius: 20px;
}


.cart-delivery-container-payment{
	border: 2px solid #d9d9d9;
  	border-radius: 20px;
}

.cart-delivery-container-payment:hover {
  cursor: pointer;
}



.cart-radio-container{
	display: flex;
	justify-content: start;
	align-items: center;
	gap: 10px;
	clear: both;
}

.cart-radio-container-payment{
	display: flex;
	justify-content: start;
	align-items: center;
	gap: 10px;
	height: 35px;
}

.cart-radio-container-payment > span {
	font-size: 16px;
}


.img-payment{
	
	margin-left:auto; 
	display:block;
	height: 24px;
	
}


.cart-radio-container-payment > input[type="radio"],
.cart-radio-container > input[type="radio"]{
	height: 15px;
  	width: 15px;
  	margin-left: 5px;
	max-width: 15px;
	min-width: 15px;
	margin-top: 0px;
}

.cart-radio-container > .cart-radio-label{
	font-size: initial;
	font-weight: bold;
}

.cart-delivery-container > p{
	margin-bottom: 20px;
  	margin-left: auto; 
	font-size: 14px;
  	line-height: 15px;
  	color: #989796;
}

.cart-delivery-price{
	font-size: 14px;
	font-weight: bold;
	color: black;
}


.cart-profile-form{
	margin-top:200px;
}

.cart-img-container{
	display: flex;
  	justify-content: center;
  	background: linear-gradient(0deg, rgba(239, 69, 105, 1) 0%, rgba(121, 78, 160, 1) 100%);
  	border-radius: 25px;
}

.cart-img-container > img {
	border-radius: 25px;
	max-height: 300px;
	margin: 20px 0px;
}

.cart-delete-button{
	background-color: red !important;
	color: white;
	border: 1px solid red;
	border-radius: 20px;
	padding: 2px 20px;
	font-size: initial;
	margin-top: 20px;
}

.cart-item-description{
	line-height: 10px;
}

.cart-item-posti{
	line-height: 10px;
}

.cart-item-posti > p{
	font-size: initial;
	font-weight: bold;
	color: #784d9f;
}

.cart-item-posti > p > span{
	font-size: initial;
	font-weight: initial;
	color: black;
}

.cart-articles-container{
	margin-top: 30px; 
	line-height: 10px;
}

.cart-articles-container > .cart-articles-title {
	color: #784d9f;
	font-weight: bold;
}

.cart-articles-container > .cart-articles-item {
	font-weight: initial;
	color: black;
}

.cart-step1-label{
	margin-left: 14px;
	color: #784d9f;
	font-size: 18px;
	font-weight: bold;
}

.cart-item-info{
	padding: 0px 8px;
}

.cart-item-info > div:nth-of-type(2) span+p, .cart-item-info > div:nth-of-type(2) p+p{
	margin-top: 0px;
}

.cart-item-separator{
	border: 1px solid #d9d9d9;
	margin-bottom: 5px;
	margin-top: 5px;
}

.delete-button{  
	display: flex !important;
	justify-content: center; 
	align-items: center;
	gap: 8px;
	font-size: initial !important;
	padding: 4px 40px !important;
	margin: 20px 0px;
}

.cart-label-selection{
	text-align: end;
}

.cart-button-next{
	-webkit-animation:flash 3s infinite;
    -moz-animation:flash 3s infinite;
    -o-animation:flash 3s infinite;
    animation:flash 3s infinite;
	animation-delay: 1s;
    
	width: 100%;
	display: inline-block;
	background-color: #ef4568;
	padding: 6px;
	border-radius: 20px;
	text-align: center;
	text-transform: unset;
	font-weight: bold;
  	border: solid 1px #EA3A60;
}


.cart-button-next:hover{
	background-color: #ef4568 !important;
  	border: solid 1px #EA3A60 !important;
  	cursor: pointer;
  	color: white !important;
}

.cart-button-finish:hover{
	background-color: #ef4568 !important;
  	border: solid 1px #EA3A60 !important;
  	cursor: pointer;
  	color: white !important;
}

.cart-button-finish{
	-webkit-animation:flash 3s infinite;
    -moz-animation:flash 3s infinite;
    -o-animation:flash 3s infinite;
    animation:flash 3s infinite;
	animation-delay: 1s;
    
	width: 100%;
	display: inline-block;
	background-color: #ef4568;
	padding: 6px;
	border-radius: 20px;
	text-align: center;
	text-transform: unset;
	font-weight: bold;
  	border: solid 1px #EA3A60;
}

@keyframes flash {
  0% {
  	color: #fff;
	background-color: #EA3A60;
	border-color: #EA3A60;
  }
  20% {
  	color: #fff;
	background-color: #EA3A60;
	border-color: #EA3A60;
  }
  60% {
  	color: #1c1c1c;
	background-color: #fff;
	border-color: #aaa;
  }
  100% {
  	color: #fff;
	background-color: #EA3A60;
	border-color: #EA3A60;
  }
}


@-webkit-keyframes flash {
  0% {
  	color: #fff;
	background-color: #EA3A60;
	border-color: #EA3A60;
  }
  20% {
  	color: #fff;
	background-color: #EA3A60;
	border-color: #EA3A60;
  }
  60% {
  	color: #1c1c1c;
	background-color: #fff;
	border-color: #aaa;
  }
  100% {
  	color: #fff;
	background-color: #EA3A60;
	border-color: #EA3A60;
  }
}

@-moz-keyframes flash {
  0% {
  	color: #fff;
	background-color: #EA3A60;
	border-color: #EA3A60;
  }
  20% {
  	color: #fff;
	background-color: #EA3A60;
	border-color: #EA3A60;
  }
  60% {
  	color: #1c1c1c;
	background-color: #fff;
	border-color: #aaa;
  }
  100% {
  	color: #fff;
	background-color: #EA3A60;
	border-color: #EA3A60;
  }
}

@-o-keyframes flash {
  0% {
  	color: #fff;
	background-color: #EA3A60;
	border-color: #EA3A60;
  }
  20% {
  	color: #fff;
	background-color: #EA3A60;
	border-color: #EA3A60;
  }
  60% {
  	color: #1c1c1c;
	background-color: #fff;
	border-color: #aaa;
  }
  100% {
  	color: #fff;
	background-color: #EA3A60;
	border-color: #EA3A60;
  }
}

.sv-btn.cart-button.delete-button{
	font-weight: initial !important;
}

.cart-profile-form > p{
	font-size: initial !important;
}

.cart-item-column{
	border: 2px solid #e9e9e9;
  	padding: 10px 25px 10px 15px !important;
	border-radius: 20px;
	width: 100%;
}

.optional-fields{
	margin-top: 20px;
}

.margin-top-of{
	margin-top: 50px;
}

.cart-item-columns{
	display:flex;
	justify-content: space-around;
	gap: 40px;
}
.cart-item-column .form-item-label{
  	font-size: small;
	font-weight: initial;
	color: black;
	margin-bottom: 0px !important;
}

.cart-item-column .form-control{
	border-radius: 20px !important;
  	border: 2px solid #7C4494 !important;
  	padding: 0px 0px 0px 13px !important;
  	margin-bottom: 15px !important;
}

.cart-date-container{
	display: flex; 
	justify-content: space-around; 
	gap: 30px;
}

.cart-date-container > input.form-control{
	border-radius: 20px;
  	border: 2px solid #7C4494 !important;
  	padding: 0px 0px 0px 13px !important;
  	margin-bottom: 0px !important;
}

.form-group.indirizzo .form-control, .form-group.civico .form-control, .form-group.cap .form-control{
	margin-bottom: 0px !important;
}

.form-group.has-error .form-control{
	border-color: red !important;
	color: red !important;
}

.form-group.has-error .form-item-label{
	color: red;
}


#billing-info{
	margin: 0px;
	border: 2px solid #e9e9e9;
}

#billing-info input{
	border-radius: 20px !important;
  	border: 2px solid #7C4494 !important;
  	padding: 0px 0px 0px 13px !important;
}

#billing-info select{
	border-radius: 20px !important;
  	border: 2px solid #7C4494 !important;
  	padding: 0px 0px 0px 13px !important;
}

#billing-info .form-item-label{
  	font-size: small !important;
	font-weight: initial !important;
	color: black;
	margin-bottom: 0px !important;
}

.cart-timer-small{
	display: none;
}

#cart-differentBill-container{
	position: relative; 
	margin-right: 40px;
}

#cart-rules-container{
	position: relative; 
	margin-right: 40px;
}

.cart-rules-agg-container{
	position: relative; 
	margin-right: 40px;
}

.form-group.nome{
	width: 50%;
	margin-right: 50%;
}

.form-group.cognome{
	width: 50%;
	margin-right: 50%;
}


#goToHomeIcon > a{
	display: flex;
	line-height: 16px;
}

#goToHomeIcon > a > img{
	height: 24px;
  	margin: 12px 2px 0px 0px;
}

#goToHomeIcon > a > p {
	color: #784d9f;
	margin-left: 5px;
	font-size: small;
}

#goToCartIcon > a{
	display: flex;
}

#goToCartIcon > a > img{
	height: 20px;
  	margin: 12px 2px 0px 0px;
}

#goToCartIcon > a > p {
	color: #784d9f;
	margin-left: 5px;
	font-size: small;
}

.cart-left-response-container{
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.cart-left-response-container > img{
    height: 80px;
}

.cart-left-response-container > h5 {
	text-align: center;
    color: #19a83d;
}

.cart-left-response-container > a {
	width: 60%;
	margin: auto;
	padding: 14px;
	font-weight: initial !important;
	text-transform: initial;
	font-weight: initial;
	font-size: large;  
	border-radius: 30px;
	display: flex;
  	justify-content: center;
  	gap: 10px;
  	align-items: center;
}

.cart-left-response-container a > img {
  	height: 20px;
}

.cart-left-response-container > p {
	border-radius: 30px;
	border: 2px solid #19a83d;
	padding: 30px;
	font-size: initial;
	color: #989796;
	margin-top: 30px;
}

.cart-profile-form #okRulesError
{
	color: #ff0000;
	margin-left: 0px;
	margin-bottom: 20px;
}

.cart-profile-form #formError h5
{
	color: #ff0000;
	margin: 0px;
	text-align: left;
}

/*MD*/
@media (max-width: 1199px) {
	
	.cart-left-response-container a {
		width: 100%;
		margin: auto;
	}
	
	.cart-profile-form{
		margin-top: 20px;
	}
	
	.optional-fields {
	  padding: 0px;
	}
}

.col-selezione {
	color: #784d9f !important;
	font-weight: 700;
	font-size: initial;
}

.cart-desktop-posti span{
	font-weight: 300;
	font-size: initial !important;
}

.zoom-in-out-element {
  	animation: zoom-in-zoom-out 1s ease infinite;
	transform-origin:top;
}

@keyframes zoom-in-zoom-out {
  0% {
    transform: scale(1, 1);
  }
  50% {
    transform: scale(1.03, 1.03);
  }
  100% {
    transform: scale(1, 1);
  }
}

/*XS*/
@media (max-width: 767px) {
	
	#goToHomeIcon > a{
		margin-left: 10px;
	}
	.cart-item-posti{
		line-height: 16px;
	}
	.cart-left-response-container > h5 {
		font-size: large;
	}
	
	.cart-left-response-container > img {
		height: 50px;
	}
	
	.sv-btn.cart-button.delete-button {
	  	margin-top: -25px;
	}
	
	.form-nome-cognome{
	  	display: flex;
	  	justify-content: space-between;
	  	gap: 20px;
	 }
	
	.form-group.nome{
		margin-right: 0;
	}
	
	.form-group.cognome{
		margin-right: 0;
	}
	
	.legend{
		margin-left: -6px;
	}
	
	.sv-btn.cart-button.delete-button {
		width: 30% !important;
  		margin-right: 10px;    
  		float: right;
	}
	
	.cart-label-selection{
		text-align: start;
		margin-left: 16px;
	}
	
	#cart-differentBill-container{
		position: unset;
	}
	
	#cart-rules-container{
		position: unset;
	}
	
	.cart-rules-agg-container{
		position: unset;
	}
	
	.cart-item-columns{
		flex-direction: column;
	}
	
	#cart-progress-bar{
		height: 38px;
	}
	
	.cart-bar-icon{
		height: 20px;
	}
	
	.border-inside{
		height: 38px;
		margin-right: -19px;
  	}
  	
  	.cart-content{
  		padding: 0;
  	}
  	
  	.cart-radio-container-payment{
        height: auto; 
        align-items: center;
  }
}

@media (max-width: 550px) {
	
	.cart-img-container{
	  background: unset;
	}
	
	.cart-order-secure-container > img {
		height: 20px;
		margin: 8px;
  	}
  	
  	.cart-order-secure-container > p{
		font-size: small;
	}
	
	.margin-top-of{
		margin-top: 50px;
	}
}

.cart-item-column #form-otp-phone-error
{
	color: #ff0000;
    font-size: 12px;
    margin-left: 5px;
}

.cart-item-column #codPostaleErrorMessageI
{
	color: #ff0000;
    font-size: 12px;
    margin-left: 5px;
}

/* =========================================================
   FORM PROFILE - SELECT2 (classe s2-profile via JS)
   - Stile "form-control" come carrello.css
   - Dropdown attaccato (no gap)
   - Freccia custom
   ========================================================= */

/* Se ti serve davvero fisso: usa height. Io metto min-height per non tagliare errori/testi */
.form-profile .form-group{
  height: 70.4px;         /* richiesto da te */
  /* min-height: 70.4px;  <- alternativa più safe */
}

/* container select2: 100% */
.form-profile .select2-container.s2-profile{
  width: 100% !important;
}

/* il “campo” visibile */
.form-profile .select2-container--default .select2-selection--single {
	border-radius: 20px !important;
	border: 2px solid #7C4494 !important;
	padding: 0px 0px 0px 13px !important;
	margin-bottom: 0px !important;
	height: 44px !important;
	line-height: 44px !important;
} /* testo dentro */
.form-profile .select2-container--default.s2-profile .select2-selection--single .select2-selection__rendered
	{
	padding: 0 !important;
	line-height: 44px !important;
	color: #555 !important;
} /* placeholder (prima option vuota) */
.form-profile .select2-container--default.s2-profile .select2-selection__placeholder
	{
	color: #999 !important;
}

.form-profile .select2-container--default .select2-selection--single .select2-selection__arrow
	{
	display: none !important;
}

.form-profile .sv-select:has(.select2-container)::after {
	content: none !important;
	display: none !important;
} /* freccia */
.form-profile .select2-container--default .select2-selection--single::after
	{
	content: "";
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
	border-width: 6px 4px;
	border-style: solid;
	border-color: transparent;
	border-top-color: #6F6E6E;
} /* focus */
.form-profile .select2-container--default.s2-profile.select2-container--focus .select2-selection--single
	{
	outline: none !important;
	box-shadow: none !important;
	border-color: #7C4494 !important;
} 

/* disabled */
.form-profile .select2-container--default.s2-profile.select2-container--disabled .select2-selection--single
	{
	background: #eee !important;
	cursor: not-allowed;
}

/* ====== DROPDOWN (sta nel body, quindi NON usare .form-profile come parent) ====== */
.select2-dropdown.s2-profile{
  box-sizing: border-box !important;
  background-color: #fff !important;

  border: 2px solid #7C4494 !important;
  border-radius: 20px !important;
  overflow: hidden;

  /* IMPORTANT: niente display/float strani qui, altrimenti “si attaccano” le option */
}

/* attacca dropdown sotto (collasso del bordo) */
.select2-dropdown.s2-profile.select2-dropdown--below{
  margin-top: -2px !important;     /* stesso spessore del bordo */
  border-top: 0 !important;
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
}

/* attacca dropdown sopra */
.select2-dropdown.s2-profile.select2-dropdown--above{
  margin-bottom: -2px !important;
  border-bottom: 0 !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

/* quando è open sotto: squadro la selection in basso */
.select2-container--open.s2-profile.select2-container--below .select2-selection--single{
  border-bottom: 0 !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

/* quando è open sopra: squadro la selection in alto */
.select2-container--open.s2-profile.select2-container--above .select2-selection--single{
  border-top: 0 !important;
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
}

/* === MICRO-FIX anti-gap (subpixel/zoom) === */

/* rende stabile l'altezza: height include anche il bordo */
.form-profile .select2-container--default.s2-profile .select2-selection--single{
  box-sizing: border-box !important;
  position: relative; /* utile anche per la freccia ::after */
}

/* se resta 1px di aria, aumenta di 1px il "collasso" */
.select2-dropdown.s2-profile.select2-dropdown--below{
  margin-top: -3px !important;   /* era -2px */
}

.select2-dropdown.s2-profile.select2-dropdown--above{
  margin-bottom: -3px !important; /* era -2px */
}
/* Select2 sotto header fixed/sticky (stile Bootstrap) */
.select2-dropdown.s2-profile{
  z-index: 1000 !important;
}

#form-otp-error-message h5
{
	font-size: 14px;
    padding-top: 20px;
}
