@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Source+Sans+3:ital,wght@0,200..900;1,200..900&family=Titillium+Web:ital,wght@0,200;0,300;0,400;0,600;0,700;0,900;1,200;1,300;1,400;1,600;1,700&display=swap');

.hidden {
	display:none !important;
}
h2, h3 {font-weight:600 !important;}

.text-primary {
    color:#00a4b7;
}

.left {
    text-align: left;
}
.text-end {
    text-align: right;
}
.pl-20 {
	padding-left:20px;
}
.pt-10 {
	padding-top:10px;
}
.pt-20 {
	padding-top:20px;
}
.pt-30 {
	padding-top:30px;
}
.pb-30 {
	padding-bottom:30px;
}
.mb-30{
    margin-bottom:30px;
}
.mr-25 {
    margin-right:25px;
}
.w-100 {
    width:100%;
}
.inter {
	font-family:inter;
}
.s13 {
	font-size:13px;
	font-weight: 300;
}
.text-nero {
	color:#1a1a1a;
}
.magenta { 
	color:#E6007E !important;
}
.vantaggi {
	font-size:18px;
	font-weight:700;
	color:#1a1a1a;
	padding-bottom:3px;
	margin-bottom:5px;
	border-bottom:1px solid #1a1a1a;
}
a.link-nero {
	color:#1a1a1a;
}
a.link-nero:hover {
	color:#000;
}

.advice {
	font-size:12px;
	text-align:left;
	padding-top:5px;
}

.alert-error, .alert-stop {
	font-size: 14px;
	font-weight: 600;
	justify-content: center;
	display: flex;
    flex-wrap: wrap;
	width: 100%;
	border: 1px solid #e6007e;
    border-radius: 4px;
	background: #e6007e;/* #fff5fa; */
	color: white;
	padding:10px;
    margin: auto;
    margin-top:20px;
    margin-bottom:30px;
}

.alert-warning {
	font-size:14px;
	font-weight:600;
	text-align:center;
	display:block;
	width:70%;
	border: 1px solid #ffd966;
    border-radius: 4px;
	background: #ffd966;;
	color:#3d3c3c;
	padding:10px;
    margin: 20px auto;
}

.testo-asterisco {
    font-size:12px;
    color:#1a1a1a;
    text-align:left;
}

.amount-promo {
	color:#e6007e !important;
	text-decoration: line-through;
	padding-right:5px;
	font-weight:700;
}


[type=button]:focus,[type=button]:hover,[type=submit]:focus,[type=submit]:hover,button:focus,button:hover {
    background-color: #fcbe00 !important;
		color:#1a1a1a !important; 
}

a.link-cliente {
	text-decoration:auto;
}

.bottone-cliente {
	background:#fcbe00;
	width:150px;
	height:32px;
	color:#706f6f;
	margin:0 auto;
	padding-top: 4px;
}

.text-img {
    display: flex; 
    gap: 20px; 
    align-items: flex-start;
    border-top: 1px solid #00a4b7;
    padding-top: 20px;
}

.benefit {
	display: flex; 
	justify-content: space-between; 
	align-items: center; 
	padding: 0px 20px; 
	width:100%;
	height:10px;
	align-self: flex-start; 
}
.app-card {
	font-size:25px; 
	font-weight:700; 
	color: #1a1a1a; 
	display: block; 
	margin-bottom: 15px;
	text-align:left;
    position:relative;
    top:3px;
}
.benefit-line {
    display: flex; 
    align-items: center;
    color: #1a1a1a;
    font-size: 15px;
    gap:5px;
    text-align: left;
}

.preferito {
    background: #008392;
    color: #fff;
    padding: 4px;
    bottom: 32px;
    width: 108px;
    display: block;
    font-size: 10px;
		top: -46px;
    position: relative;
		left:5px;
}

.preferito-step2 {
    background: #59b35c;
    color: #fff;
    padding: 5px 5px;
    bottom: 32px;
    width: 65px;
    height: 20px;
    font-size: 10px;
    top: -80px;
    position: relative;
}

.radio-text {
	position:relative;
	top:2px;
	left:-5px;
}

.checkbox-label {
    display: flex;
    gap: 0.5rem;
    align-items: flex-start;
}

.checkbox-label input[type="checkbox"] {
    margin-top: 0.1rem;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    cursor: pointer;
	position: relative;
    top: 2px;
    margin-right: 10px;
}

.checkbox-label .inter {
    flex: 1;
    display: inline-block; /* importante per far andare il testo a capo */
    line-height: 1.5;
}

#triangoli {
    padding-top: 40px;
	padding-bottom: 20px;
    background-image: url('/wp-content/uploads/2025/sfondo-triangoli.webp');
    background-size: 100% 100% !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    min-height: 75vh;
}

@media only screen and (max-width: 1200px) {
    #triangoli {
        background-image: url('/wp-content/uploads/2025/sfondo-triangoli-M.webp');
		padding: 20px 5px 5px 5px;
    }
}

.page-content {
    border-radius: 10px;
    box-shadow: 0 0 5px 5px rgba(167, 167, 167, 0.3);
    margin-bottom: 20px;
    background: #fff;
}

#buoni-pasto-wizard {
    max-width: 1440px;
    margin: 0 auto;
    padding: 60px 60px 60px 60px;
    font-family: 'titillium web', Roboto, sans-serif;
	text-align: center;
}

/* Progress Bar Integrata */
.buoni-pasto-progress-bar {
    width: 70%;
    margin: 0 auto;
    padding-bottom: 40px;
}

.progress-bar {
    display: flex;
    justify-content: space-between;
    position: relative;
    margin-bottom: 20px;
}

.progress-bar::before {
    content: '';
    position: absolute;
    top: 30px;
    left: 25px;
    right: 25px;
    height: 3px;
    background: #e0e0e0;
    z-index: 10;
	width:70%;
	margin: 0 auto;
}

.progress-bar .step {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 5px;
    transition: all 0.3s ease;
    cursor: default;
    flex: 1;
    text-align: center;
	z-index:100;
}

.progress-bar .step.clickable {
    cursor: pointer !important;
}

.progress-bar .step.clickable:hover .step-number {
    background: #0085ba;
    transform: scale(1.05);
}

.step-number {
    width: 35px;
    height: 35px;
    border-radius: 50%;
    background: #e0e0e0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 14px;
    color: #666;
    transition: all 0.3s ease;
}

.step-label {
    margin-top: 8px;
    font-size: 11px;
    color: #666;
    line-height: 1.2;
}

.step.active img[src*="/wp-content/plugins/shop-welfarepellegrini/assets/img/icona-dati-azienda.svg"] {
    content: url("/wp-content/plugins/shop-welfarepellegrini/assets/img/icona-dati-azienda-active.svg");
}

.step.active img[src*="icona-buoni-pasto.svg"] {
    content: url("/wp-content/plugins/shop-welfarepellegrini/assets/img/icona-buoni-pasto-active.svg");
}

.step.active img[src*="icona-configurazione.svg"] {
    content: url("/wp-content/plugins/shop-welfarepellegrini/assets/img/icona-configurazione-active.svg");
}

.step.active img[src*="icona-intestazione.svg"] {
    content: url("/wp-content/plugins/shop-welfarepellegrini/assets/img/icona-intestazione-active.svg");
}

.step.active img[src*="icona-pagamento.svg"] {
    content: url("/wp-content/plugins/shop-welfarepellegrini/assets/img/icona-pagamento-active.svg");
}


.step.active .step-label {
    color: #1A1A1A;
    font-weight: bold;
}

.step.completed .step-number {
    background: #46b450;
    color: white;
}

.step.completed .step-label {
    color: #000;
}

.progress-indicator {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 20px;
    background: #f8f9fa;
    border-radius: 6px;
    border: 1px solid #e0e0e0;
    font-size: 14px;
    margin-bottom: 15px;
}

.progress-text {
    color: #333;
}

.progress-percentage {
    color: #1A1A1A;
    font-weight: 600;
}

.progress-bar-visual {
    width: 100%;
    height: 8px;
    background: #e0e0e0;
    border-radius: 4px;
    overflow: hidden;
}

.progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #007cba 0%, #0085ba 50%, #46b450 100%);
    border-radius: 4px;
    transition: width 0.5s ease;
}

/* Step Containers */
.step-container {
    display: none;
    transition: opacity 0.3s ease;
}

.step-container.active {
    display: block;
    opacity: 1;
    animation: fadeIn 0.5s ease-in;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

.icona-dati {
	padding-right:10px;
	position:relative;
	top:0px;
    display:inline-block;
    width:28px;
    top:2px;
}

.step1-scelta {
	position:relative;
}

/* Forms */
.form-group {
    margin-bottom: 10px;
}

.form-group label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: #1A1A1A;
	text-align:left;
	padding-bottom:0px;
}

/*
span.step-3-text {
	position:relative;
	top:2px;
}
*/

input#voucher-custom-value, input#voucher-custom-quantity {
   height:57px;
}

.divider-alt {
    position: relative;
    text-align: center;
}

.divider-alt::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    border-top: 1px solid #ddd;
}

.divider-alt span {
    position: relative;
    top:-2px;
    display: inline-block;
    padding: 0 15px;
    background: #fff;
    color: #666;
    font-size: 14px;
}

.form-group input, 
.form-group select,
.form-group textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 16px;
    transition: border-color 0.3s ease;
    box-sizing: border-box;
    background: #fff;
}

.form-group input:focus, 
.form-group select:focus,
.form-group textarea:focus,
.field-group input:focus {
    outline: none;
    border:1px solid #007cba;
    box-shadow: 0 0 0 2px rgba(0, 124, 186, 0.2);
}

.form-group textarea {
    resize: vertical;
}

.help-text {
    display: block;
    margin-top: 4px;
    color: #666;
    font-size: 12px;
}

/* Radio Buttons */
.radio-group {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 10px;
    margin-top: 8px;
}
.radio-group-3col {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 10px;
    margin-top: 8px;
}

.radio-label {
    display: flex;
    align-items: center;
	padding:12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.3s ease;
    background: white;
    min-height: 56px;
}

.radio-label-50 {
    display: flex;
    align-items: center;
	padding:12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.3s ease;
    background: white;
    min-height: 56px;
    width:50%;
}

/*
#step-2 .radio-label {
	padding: 10px;
	height:260px;
	align-self: flex-start;
}
*/

.step2-radio {
    padding: 10px;
	height:260px;
	align-self: flex-start;
}

.radio-label.selected {
    background-color: #F5FEFF; /* colore quando selezionato */
    border: 1px solid #11616F; /* opzionale: bordo colorato */
}

.radio-label:hover {
    border-color: #007cba;
    background: #f8f9fa;
}

.radio-label input[type="radio"] {
    display: none;
}

.radio-custom {
    width: 20px;
    height: 20px;
    min-width: 20px;
    border: 2px solid #ddd;
    border-radius: 50%;
    margin-right: 12px;
    position: relative;
	top:6px;
    display: inline-block;
    transition: all 0.3s ease;
}

/*
#step-1 .radio-custom {
	top:3px;
}
*/


.radio-custom-pagamento {
	top:0px;
    padding-right: 10px;
}

.pagamento {
	padding:10px;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
}
.pagamento.selected {
    background-color: #F5FEFF;
    border: 1px solid #11616F;
}
.pagamento:hover {
    border-color: #007cba;
    background: #f8f9fa;
}

.radio-group-pagamento {
    display: flex;
    margin-top: 8px;
	flex-direction: column;
}


.pagamento-text {
	font-size:12px;
}

.summary-section.quantity-section {
    padding-bottom: 20px;
}

.radio-label input[type="radio"]:checked + .radio-custom {
    border-color: #00a4b7;
    background: #00a4b7;
}

.radio-label input[type="radio"]:checked + .radio-custom::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: white;
    transform: translate(-50%, -50%);
}

.radio-label input[type="radio"]:checked + .radio-custom {	
    color: #007cba;
    font-weight: 600;
}

.btn {
    padding: 12px 24px;
    border: none !important;
    border-radius: 4px;
    font-size: 18px !important;
    font-weight: 400;
    cursor: pointer;
    transition: all 0.3s ease;
    display: inline-block;
	position:relative;
}

.btn:disabled {
    background: #fee7aa !important;
    color: #a6a6a6 !important;
}
.btn:disabled:hover {
    background: #fee7aa !important;
    color: #a6a6a6 !important;
    cursor:default !important;
    font-size: 18px !important;
}

.btn-primary {
    background: #FCBE00 !important;
    color: #3c3c3d !important;
	border-radius:4px !important;
}

.btn-primary:hover {
    background: #11616f !important;
    color:#fff !important;
    border: 0px solid #11616f !important;
    font-size:18px !important;
}

.btn-secondary {
    background: #FFF !important;
    color: #00454D !important;
    border: 1px solid #00454D !important;
    border-radius:4px !important;
    font-size:18px !important;
    margin-right:10px !important;
}

.btn-secondary:hover {
    background: #f5feff !important;
    color:#00454D;
    border: 1px solid #00454D;
}

.form-actions {
    display:flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 30px;
    padding-top: 20px;
}

.form-actions .btn {
    min-width: 120px;
}

.employee-row {
    background: white;
    border-radius: 6px;
}

.employee-fields {
    display: grid;
    grid-template-columns: 1fr 1fr 120px 50px;
    gap: 15px;
    align-items: end;
}

.field-group {
    display: flex;
    flex-direction: column;
}

.field-group label {
    font-size: 14px;
    margin-bottom: 5px;
    font-weight: 700;
	text-align:left;
	color:#1a1a1a;
}

.field-group input {
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
}

.btn-remove-employee {
    background-image: url('/wp-content/plugins/shop-welfarepellegrini/assets/img/cestino.svg');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    color: white;
    border: none !important;
    width: 18px;
    height: 18px;
    cursor: pointer;
    /*display: flex;*/
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    font-size: 16px;
    margin-top:35px;
}


.btn-remove-employee:hover {
    transform: scale(1.1);
		background: transparent !important;
		background-image: url('/wp-content/plugins/shop-welfarepellegrini/assets/img/cestino.svg') !important;
		background-size: contain !important;
		background-position: center !important;
		background-repeat: no-repeat !important;
}

.add-employee-section {
    margin: 20px 0;
    text-align: left;
}

#add-employee-btn {
    color: #008392;
    border: none;
    cursor: pointer;
		text-decoration:underline;
    font-size: 16px;
    font-weight: 600;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

#add-employee-btn:hover {
		color: #008392;
		background-color: transparent !important;
    transform: translateY(-1px);
}

/* Summary */
.riepilogo {
    margin-top: 20px;
    padding: 15px;
    background: white;
		width: 80%;
    margin: 0 auto;
}

.riepilogo-item {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
    font-size: 20px;
		color:#1A1A1A;
}

.riepilogo-item:last-child {
    margin-bottom: 0;
    padding-top: 8px;
    border-top: 1px solid #eee;
    font-size: 20px;
    color:#1A1A1A;
}

/* Checkout */
.checkout-container {
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: 40px;
    align-items: start;
}

.checkout-section {
    margin-bottom: 15px;
    padding: 20px 0 20px 0;
    background: white;
    border-radius: 6px;
	text-align:left;
}

#shipping-toggle-section {
    border: 1px solid #ddd;
		border-radius: 6px;
		padding:5px 15px 5px 15px;
}

.checkout-section h3 {
    margin: 0 0 20px 0;
    color: #333;
    font-size: 18px;
    padding-bottom: 10px;
    padding-top: 20px;
}

.form-row {
    display: flex;
    gap: 1.5rem !important;
    flex-wrap: wrap;
	align-content: flex-start; 
    align-items: flex-start; 
}

.form-row .form-group {
    flex: 1;
    min-width: 0px; /* larghezza minima prima di andare a capo */
}

.form-group--buoni {
    flex: 0 0 100px !important;
}
.radio-group--centered {
    display: flex !important;
    justify-content: center;
    gap: 30px;
    width: 100%;
}

.intestatari {
    top:2px !important;
}

.radio-group--centered .radio-label {
    display: inline-flex;
    align-items: center;
}

.radio-options-wrapper {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 8px;
}

/* Desktop: 2 colonne */
@media (min-width: 1200px) {
    .radio-options-wrapper {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

.radio-option-block {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.option-benefits {
    padding-top:20px;
    margin-top:20px;
    padding-bottom: 20px;
    border-top: 1px solid #00a4b7;
    line-height: 28px;
	text-align:left;
    font-size:16px;
    color:#1a1a1a;
    font-weight: 400;
}

.radio-group {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 10px;
    margin-top: 8px;
}

.input-large {
    width:300px;
}

.referente {
    display: flex; 
    flex-direction: column; 
    width:100%;
    align-items: center;
}

.hide-desktop {
	display:none;
}


/* ---------------------------------------******************* MOBILE ************************-----------------------------------------------  */
/* ---------------------------------------******************* MOBILE ************************-----------------------------------------------  */
/* ---------------------------------------******************* MOBILE ************************-----------------------------------------------  */
/* ---------------------------------------******************* MOBILE ************************-----------------------------------------------  */

@media (max-width: 1200px) {
    .input-large {
        width:100%;
    }
    .referente {
        align-items: flex-start;
    }

    .form-group--buoni {
        flex: 0 0 0px !important;
    }

    .preferito-step2 {
        background: #59b35c;
        color: #fff;
        padding: 5px 5px;
        bottom: 32px;
        width: 85px;
        height: 20px;
        font-size: 10px;
        top: -65px;
        left: 0px;
        position: relative;
    }

    .piva {
        width:340px;
    }

    .checkout-section h3 {
        padding-bottom: 10px;
        padding-top: 40px; 
    }

    .benefit-line {
        line-height:15px;
    }
    .app-card {
        font-size:18px;
        top:9px;
    }
    .buoni-pasto-progress-bar {
        width:100%;
    }

  .form-row .form-group {
    flex: 1 1 100%; /* occupa tutta la larghezza */
		width:100%;
  }
	.form-group {
		margin-top:10px;
        margin-bottom: 0px;
	}
	.form-group label {
			padding-bottom:0px;
	}
	.pt-20 {
		padding-top:10px !important;
	}
	.checkbox-label {
		position:relative;
		top:20px;
	}
	.checkbox-termini {
		display: block;
        padding-bottom:10px;
	}
	.aquilone {
		height:190px;
	}
	.calcola {
		margin-top:0px;
	}
	.left-column, .right-column{
		    flex: 0 0 100%;
				padding:0;
	}
	/*
    .faq {
		gap:0px;
		margin-top:0px;
	}
    */
	.step img {
    width: 40px !important;
	}
	.footer-logo {
    text-align: center;
    }

    .field-actions.field-actions {
        margin-bottom:30px;
    }

	.hide-desktop {
		display:block;
		height:20px;
	}

    /*
	.step-2-scelta-img {
		padding: 0px;
	}
    */

    .s13 {
		padding-top:25px;
	}
    .btn {
        font-size:16px;
    }
    .btn-primary {
	    font-size:16px;
	}
	
    /*
	#step-2 .radio-label {
		height: 290px;
        font-size:18px;
	}
    */
	
	.benefit {
		padding:15px 10px 10px 0px !important;
	}
	
	.option-benefits {
		padding-bottom: 30px;
	}

    #step-4 .btn {
        font-size:14px;
    }

    .checkout-container {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .checkout-sidebar {
        position: static !important;
        order: -1;
        margin-top:0px !important;
    }

    #buoni-pasto-wizard {
        padding: 0px;
    }
    .pl-20 {
			padding:0px;
		}
    .progress-bar {
        margin-bottom: 20px;
    }
    
    .step-number {
        width: 30px;
        height: 30px;
        font-size: 12px;
    }
    
    .step-label {
        font-size: 10px;
    }
    
    .progress-bar::before {
        top: 15px;
        left: 15px;
        right: 15px;
    }
    
    .radio-group {
        grid-template-columns: 1fr;
        /*gap:50px;*/
        margin-top:0px !important;
    }
    .pt-10 {
        padding-top:0px !important;
    }
    .radio-group-3col {
        grid-template-columns: 1fr;
        gap: 0px !important;
    }

/*    
    #step-3 .radio-group {
        grid-template-columns: 1fr;
        gap:12px;
    }
*/    
    .employee-fields {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    
    .form-actions {
        flex-direction: row;
        gap: 10px;
    }
    
    .form-actions .btn {
        /*width: 100%;*/
    }
    
    .form-row {
        /*grid-template-columns: 1fr;*/
        flex-direction: column;
        flex-wrap: inherit !important;
        gap:0px !important;
        padding-top:10px;
        padding-left:0px;
        padding-right:0px;
    }

    #step-4 .form-row {
        gap:0px !important;
    }
    
    .payment-methods {
        grid-template-columns: 1fr;
    }
    
    .checkout-section {
        padding: 15px;
    }
    
    .order-summary {
        padding: 15px;
    }
    
    .toggle-slider {
        width: 100px !important;
        height: 20px;
    }
    
    .toggle-slider::before {
        width: 16px;
        height: 16px;
    }
    
    .toggle-label input[type="checkbox"]:checked + .toggle-slider::before {
        transform: translateX(20px);
    }
    
    .summary-item {
        grid-template-columns: 1fr auto 24px;
        gap: 8px;
    }
    
    .edit-icon {
        width: 20px;
        height: 20px;
        font-size: 12px;
    }
    
    .progress-indicator {
        flex-direction: column;
        gap: 8px;
        text-align: center;
    }
    
    .checkout-return-message {
        top: 10px;
        left: 10px;
        right: 10px;
        transform: none;
        max-width: none;
        font-size: 13px;
        padding: 12px 20px;
    }

    .step-number {
        width: 28px;
        height: 28px;
        font-size: 11px;
    }
    
    .progress-bar::before {
        top: 14px;
        left: 10px;
        right: 10px;
    }
    
    .step {
        padding: 0 2px;
    }
    
    .step-label {
        font-size: 9px;
    }
    
    /*
    .employee-row {
        padding: 15px;
    }
    */
    .btn-remove-employee {
        width: 25px;
        height: 25px;
        font-size: 14px;
        margin-top:10px;
    }

    #popup-content {
       /* width: 95% !important;
        height: 95% !important; */
        margin:10px !important;
    }

    #popup h2 {
        font-size: 20px;
        padding-top: 20px;
    }
    #popup-text {
        font-size:16px;
    }

}


/* ---------------------------------------******** FINE MOBILE ************************-----------------------------------------------  */
/* ---------------------------------------******** FINE MOBILE ************************-----------------------------------------------  */
/* ---------------------------------------******** FINE MOBILE ************************-----------------------------------------------  */
/* ---------------------------------------******** FINE MOBILE ************************-----------------------------------------------  */



.checkout-section input[readonly] {
    background-color: #f8f9fa;
    color: #6c757d;
    cursor: not-allowed;
}


/* Toggle Switch */
.toggle-container {
    display: flex;
    align-items: center;
    margin: 15px 0;
}

.toggle-label {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-size: 16px;
    font-weight: 500;
	justify-content: space-between; 
    width: 100%; 
}

.toggle-label input[type="checkbox"] {
    display: none;
}

.toggle-title {
    font-size: 18px;
    color: #1a1a1a;
}

.toggle-slider {
    position: relative;
    width: 50px;
    height: 24px;
    background-color: #ccc;
    border-radius: 24px;
    margin-right: 12px;
    transition: background-color 0.3s ease;
	margin-left: 25px;
}

.toggle-slider::before {
    content: '';
    position: absolute;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #fff;
    top: 2px;
    left: 2px;
    transition: transform 0.3s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

/* Stato Attivo */
.toggle-label input[type="checkbox"]:checked + .toggle-content ~ .toggle-slider {
    background-color: #00b7cc;
}

.toggle-label input[type="checkbox"]:checked + .toggle-content ~ .toggle-slider::before {
    transform: translateX(28px);
}

/* Hover */
.toggle-label:hover .toggle-slider {
    opacity: 0.9;
}

/* Focus per accessibilità */
.toggle-label input[type="checkbox"]:focus + .toggle-content ~ .toggle-slider {
    box-shadow: 0 0 0 3px rgba(76, 175, 80, 0.2);
}

/* Payment Methods */
.payment-methods {
    grid-template-columns: 1fr 1fr;
}

/* Order Summary Sidebar */
.checkout-sidebar {
    position: sticky;
    top: 20px;
	margin-top: 100px;
}

.order-summary {
    background: #EBFDFF;
    border-radius: 8px;
    padding: 20px;
}

.order-summary h3 {
    margin: 0 0 20px 0;
		text-align:left;
    color: #11616F;
    font-size: 18px;
		font-weight:700;
    padding-bottom: 10px;
}

.summary-item {
    display: grid;
    grid-template-columns: 1fr auto 15px;
    align-items: center;
    gap: 10px;
	justify-items: baseline;
	padding-bottom:5px;
}
.summary-item > :first-child {
    overflow: hidden;
    white-space: nowrap;
}

.summary-item:last-child {
    border-bottom: none;
}

.summary-item span:first-child {
    color: #1A1A1A;
}

.summary-item strong {
    color: #333;
    font-weight: 600;
    text-align: right;
}

.summary-item.total {
    margin-top: 10px;
    padding-top: 15px;
    font-size: 18px;
    font-weight: bold;
    color: #11616F;
}

.summary-item.total strong {
    color: #11616F;
}

.promo-message {
	display:block;
	width:100%;
	background:#1991a6;
	color:#fff;
	margin-top:20px;
	margin-bottom:20px;
	padding:20px;
	border-radius:5px;
}

.promo-message p {
    margin-block-start: 0px;
    margin-block-end: 0px;
}

.summary-item.discount-item {
    padding: 10px 0;
    margin: 5px 0;
}

.summary-item.discount-item span:first-child,
.summary-item.discount-item strong {
    color: #E3017D;
    font-weight: 600;
}

.edit-icon {
    background: none !important;
    border: none !important;
    font-size: 14px !important;
    cursor: pointer !important;
    padding: 4px !important;
    border-radius: 3px !important;
    transition: all 0.3s ease !important;
    opacity: 0.7 !important;
    width: 24px !important;
    height: 24px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.edit-icon:hover {
    background: #f0f0f0;
    opacity: 1;
    transform: scale(1.1);
}

.summary-divider {
    margin: 6px 0;
}

/* Loading */
.loader {
    border: 4px solid #f3f3f3;
    border-top: 4px solid #007cba;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    animation: spin 1s linear infinite;
    margin: 20px auto;
}

.loading-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.9);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

.loading-overlay .loader {
    width: 50px;
    height: 50px;
    margin-bottom: 20px;
}

.loading-overlay p {
    margin: 0;
    font-size: 16px;
    color: #333;
    font-weight: 600;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Validation */
.error {
    border-color: #dc3545 !important;
    box-shadow: 0 0 0 2px rgba(220, 53, 69, 0.2) !important;
}


[type=submit]:focus, [type=submit]:hover, button:focus, button:hover {
	/*background:#fcb300 !important;*/
}
[type=button]:focus {
	background:transparent !important;
}

.error-message {
    color: #f00;
    font-weight: 500;
    animation: slideInTop 0.3s ease;
	text-align:left;
    font-size: 0.9rem;
}

.success-message {
    background: linear-gradient(135deg, #d4edda 0%, #c3e6cb 100%);
    border: 1px solid #b8dabc;
    color: #155724;
    padding: 15px 20px;
    border-radius: 6px;
    margin-bottom: 20px;
    font-weight: 500;
    box-shadow: 0 2px 4px rgba(21, 87, 36, 0.1);
    animation: slideInTop 0.3s ease;
}

.data-loaded-indicator {
    background: linear-gradient(135deg, #d1ecf1 0%, #bee5eb 100%);
    border: 1px solid #b8dadf;
    color: #0c5460;
    padding: 12px 20px;
    border-radius: 6px;
    margin-bottom: 20px;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.checkout-return-message {
    position: fixed;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, #e7f3ff 0%, #cce7ff 100%);
    border: 1px solid #7db3d3;
    color: #004085;
    padding: 15px 25px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    z-index: 10000;
    box-shadow: 0 4px 12px rgba(0, 64, 133, 0.15);
    animation: slideInTop 0.5s ease;
    display: flex;
    align-items: center;
    gap: 10px;
    max-width: 90vw;
}

@keyframes slideInTop {
    from { opacity: 0; transform: translateY(-20px); }
    to { opacity: 1; transform: translateY(0); }
}

input.valid {
    border-color: #28a745;
    background: #f8fff8;
}

input.invalid {
    border-color: #dc3545;
    background: #fff8f8;
}

/* Responsive */
@media (max-width: 1200px) {
    
}

@media print {
    .progress-bar,
    .form-actions,
    .add-employee-section,
    .btn-remove-employee,
    .checkout-return-message,
    .loading-overlay {
        display: none;
    }
    
    .step-container {
        display: block !important;
    }
}

/* ***************** STYLE PER POPUP DA ATTIVARE DOPO UN PERIODO DI INUTILIZZO ***************************************/
#popup {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-color: rgba(0, 0, 0, 0.7);
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 1000;
    backdrop-filter: blur(3px);
}

#popup-content {
	max-width: 500px;
	max-height: auto;
    aspect-ratio:1;
	background-image: url('/wp-content/plugins/shop-welfarepellegrini/assets/img/sfondo-popup.webp') !important;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 20px;
	box-sizing: border-box;
}

button.popup-chiudi {
    background:#FCBE00 !important;
    border:0px !important;
    color:#3c3c3d;
    font-weight:400 !important;
}

button.popup-chiudi:hover {
    background:#11616f !important;
    border:0px !important;
    color:#fff !important;
}

#popup-text {
    text-align: center;
    color: #333;
    font-size: 18px;
    font-weight: 500;
    margin-top:-60px;
    font-family: 'titillium web';
    padding-left: 20px;
    padding-right: 20px;
}
/******************* FINE POPUP  *************************************/

/* input wrapper con spinner loading */
.input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.input-spinner {
    position: absolute;
    right: 12px;
    width: 20px;
    height: 20px;
    border: 3px solid #e2e8f0;
    border-top-color: #667eea;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
    display: none;
}

.input-wrapper.loading .input-spinner {
    display: block;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* button con dots bounce loading */
.loading-dots {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: none;
    gap: 5px;
}

.btn-dots.loading .loading-dots {
    display: flex;
}

.btn-dots.loading .btn-text {
    opacity: 0;
}

.loading-dots span {
    width: 7px;
    height: 7px;
    background: white;
    border-radius: 50%;
    animation: bounce 1.4s infinite ease-in-out;
}

.loading-dots span:nth-child(1) { animation-delay: -0.32s; }
.loading-dots span:nth-child(2) { animation-delay: -0.16s; }

@keyframes bounce {
    0%, 80%, 100% {
        transform: scale(0);
        opacity: 0.5;
    }
    40% {
        transform: scale(1);
        opacity: 1;
    }
}