#booking-flow-container {max-width: 600px;margin: 30px auto;border: 1px solid #eee;border-radius: 10px;
	background-color: #f9f9f9;overflow: hidden; }
#step-headers {display: flex;justify-content: space-around;border-bottom: 1px solid #ddd;background-color: #f0f0f0;}
.step-header {flex-grow: 1; padding: 15px 10px;text-align: center;cursor: pointer;font-weight: bold;color: #777;
	border-right: 1px solid #e0e0e0;transition: background-color 0.2s, color 0.2s;position:relative;}
.step-header.active::after{content: "";position: absolute;width: 3.9rem;height: 3.9rem;border-radius: 0.25rem;
	z-index: 1;transform: rotate(45deg);background-color: #6a7307;transform-origin: right top;right: calc(-2.65rem);
	top: 50%;}	
.step-header:not(.active)::after{content: "";position: absolute;width: 3.9rem;height: 3.9rem;border-radius: 0.25rem;
	z-index: 1;transform: rotate(45deg);background-color: #f0f0f0;transform-origin: right top;right: calc(-2.65rem);
	top: 50%;border-color: #ccc;border-style: solid;border-width: 1px 1px 0px 0px;}		
.step-header.completed:not(.active)::after{content: "";position: absolute;width: 3.9rem;height: 3.9rem;
	border-radius: 0.25rem;z-index: 1;transform: rotate(45deg);background-color: #e0e0e0;transform-origin: right top;
	right: calc(-2.65rem);top: 50%;border-color: #ccc;border-style: solid;border-width: 1px 1px 0px 0px;}	
.step-header:last-child {border-right: none;}
.step-header.active {background-color: #6a7307;color: white;cursor: default; }
.step-header.completed {background-color: #e0e0e0;color: #333;}
.booking-section-content {padding: 10px;background-color: #fff;}
.booking-section-content h2 {color: #333;margin-top: 0;margin-bottom: 15px;font-size: 1.5em;
	border-bottom: 1px solid #eee;padding-bottom: 10px;}
.summary-info,#special-menu-info{color: #6a7307;margin-bottom: 15px;text-align: center;padding: 10px;background-color: #e4ffc4;
	border-radius: 5px;border: 1px solid #6a7307;}
	
#selected-date-display, #final-selected-date-display, #final-selected-time-display {font-size: 1.1em;
	color: #6a7307;font-weight: bold;}
#specialMenuName, #specialMenuDeposit{font-weight:bold !important;color:#0e2c0f !important;}
.specialMenuDeposit{font-weight:bold !important;color:#0e2c0f !important;}
.specialMenuTotalDeposit{font-weight:bold !important;color:#FF0000 !important;}
#specialMenuTotalDeposit{font-weight:bold  !important;color:#ff0000 !important;}
.summary-info p, .summary-info span, #special-menu-info p, #special-menu-info span {font-size: 1.1em;font-weight: normal; color: #333; margin: 5px 0;
	line-height: 1.4;}
.summary-info strong, #special-menu-info strong {color: #206423;font-size: 1.2em; }
.summary-info .exception-info, #special-menu-info .exception-info{margin-top: 10px;padding-top: 10px;border-top: 1px dashed #cce7ff; }
.summary-info .exception-info:first-child, #special-menu-info .exception-info:first-child {border-top: none; padding-top: 0;margin-top: 0;}
#time-slot-buttons, #persons-buttons,#hidden-persons-buttons {display: flex;flex-wrap: wrap; gap: 10px; 
	margin-top: 15px;justify-content: start; }
.btn-more-options{border: 0px !important;background: transparent !important;font-weight: 600;
	text-decoration: underline;}
.mt-0{margin-top:0px !important;}
#time-slot-buttons button, #persons-buttons button {background-color: transparent;color: #333;border: 1px solid #ccc;
	padding: 10px 15px;border-radius: 5px;cursor: pointer;font-size: 1em;min-width: 60px; 
	transition: background-color 0.2s, border-color 0.2s, color 0.2s;}
#time-slot-buttons button:hover, #persons-buttons button:hover {background-color: #d0d0d0;border-color: #b0b0b0;}
#time-slot-buttons button.selected, #persons-buttons button.selected {background-color: #6a7307;color: white;
	border-color: #6a7307;}
.time-slot-category-title{width: 100%;margin-bottom: 0px;}		
.piu_persone{font-size: 1.2rem;font-weight: 600;}
.piu_persone a{text-decoration: underline !important;color: #6a7307;}
.form-group {margin-bottom: 15px;}
/*.form-group label {display: block;margin-bottom: 5px;font-weight: bold;color: #555;}*/
.form-group input[type="text"],.form-group input[type="email"],.form-group input[type="tel"],
.form-group input[type="number"],.form-group textarea {width: 100%;padding: 10px;border: 1px solid #ccc;
	border-radius: 5px;box-sizing: border-box; font-size: 1em;}
.form-group textarea {resize: vertical; }
.form-group button.btn {display: block;width: 100%;padding: 12px 20px;background-color: #28a745;color: white;
	border: none;border-radius: 5px;font-size: 1.1em;cursor: pointer;transition: background-color 0.2s;}
.form-group button.btn:hover {background-color: #218838;}
.info-message p {background-color: #fff3cd; color: #856404;border: 1px solid #ffeeba;border-radius: 5px;
	padding: 10px;margin-bottom: 10px;text-align: center;font-size: 0.95em;}
#no-auto-booking-info p, #no-auto-booking-info strong{color:#ff0000 !important;}
.hidden {display: none !important;}
.ui-widget.ui-widget-content {margin: 0 auto;}
.ui-state-disabled.closed-day:not(.giorno-passato){text-decoration: line-through;opacity: 1;}
.ui-state-disabled.closed-day span{background:rgba(255, 0, 0,0.6);}
.ui-widget.ui-widget-content {border: unset;width: 100%;}
.ui-widget-header {border: unset;background: #f0f0f0;color: #000;padding: 10px !important;}	
.ui-datepicker-title {font-size: 1.5em;}
.is-invalid {border-color: #dc3545 !important;box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25) !important;}
.error-message {color: #dc3545;font-size: 0.875em;margin-top: 0.25rem;display: block;}
.giorno-passato.closed-day span{border: 1px solid #c5c5c5;
    background: #f6f6f6 !important;
    font-weight: normal;
    color: #454545;}
.ui-datepicker-current-day a{border: 1px solid #455546 !important;
    background: #4CAF50 !important;
    color: #ffffff !important;}
.orari_non_disponibili{display: block;
    width: 100%;}
.no-times-message{color:#FF0000;}

/*frecce avanti e indietro mesi datepicker*/
.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span {display: none;}
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next {width: 2.8em;height: 2.8em;
	font: normal normal normal 14px / 1 FontAwesome;
    display: inline-block;text-rendering: auto;-webkit-font-smoothing: antialiased;top: 10px;cursor: pointer;}
.ui-datepicker-prev:before{content: "\f060";position: absolute;left: 50%;margin-left: -9px;top: 50%;
    margin-top: -9px;font-size: 1.5em;}
.ui-datepicker-next:before{content: "\f061";position: absolute;left: 50%;margin-left: -9px;top: 50%;
    margin-top: -9px;font-size: 1.5em;}