body {
	background: #f5f5f5;
}

#page-wrapper {
	background: #f5f5f5;
	border-radius: 8px;
}

h3.titolo-sezione {
	background: #c50306;
	color: #fff;
	padding: 15px;
	border-radius: 8px;
	text-transform: uppercase;
	font-weight: bold;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
	font-family: 'Poppins', sans-serif !important;
}

#le-tue-scelte {
	overflow: hidden;
	max-height: 0;
	transition: max-height 0.5s ease;
}

#le-tue-scelte.show {
	max-height: 1000px;
}

.widget-inline-box {
	height: 300px;
	display: flex !important;
	flex-direction: column !important;
	padding: 10px;
	border: 5px solid #ddd;
	border-radius: 6px;
	text-align: center;
	background-color: #fff;
	font-size: 12px;
	color: #666;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	flex: 1;
}

.nome-servizio {
	font-size: 20px; 
	font-weight: 700;
	color: #333;
}

#scelte-container,
.scelte-flex {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 30px;
}

#scelte-container > div {
	width: calc(33.333% - 10px);
	min-width: 220px;
}
@media (max-width: 992px) {
	#scelte-container > div {
		width: calc(50% - 10px);
	}
}

@media (max-width: 576px) {
	#scelte-container > div {
		width: 100%;
	}
}

.scelta-card {
	width: calc(25% - 10px);
	min-width: 180px;
	display: flex;
}

.btn-rosso {
  background-color: #c50306;
  color: white;
  border: none;
  font-size: 16px;  /* leggermente più grande (default ~14px) */
  padding: 10px 20px; /* leggermente più grande */
  border-radius: 5px; /* angoli arrotondati */
}

.btn-rosso:hover {
  background-color: #c50306;
  color: white;
}

.btn-remove {
  background-color: #bbc2c7;
  color: black;
  border: none;
  font-size: 16px;  /* leggermente più grande (default ~14px) */
  padding: 10px 20px; /* leggermente più grande */
  border-radius: 5px; /* angoli arrotondati */
}

.btn-prosegui {
  background-color: #c50306 !important;
  color: white;
  border: 1px solid #c50306;
  font-size: 16px;  /* leggermente più grande (default ~14px) */
  padding: 10px 20px; /* leggermente più grande */
  border-radius: 5px; /* angoli arrotondati */
}

.btn-prosegui:hover {
  background-color: #c50306;
  color: white;
}


@media (max-width: 768px) {
	.scelta-card {
		width: 100%;
	}
}

.scelte-box {
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	width: 100%;
	padding-bottom: 30px;
	gap: 1px;
}

.scelta-box-inner {
	flex: 1;
	padding: 8px;
	border-width: 3px;
	font-size: 14px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.scelta-box-inner strong {
	display: block;
	margin-bottom: 5px;
	color: #333;
}

.scelta-box-inner .text-danger,
.scelta-box-inner span {
	font-size: 16px;
	font-weight: 600;
}

.scelta-bottone-rimuovi,
.card-servizio .footer-servizio {
	margin-top: auto;
	font-size: 12px;
	background-color: #f5f5f5;
	padding: 8px;
	border-radius: 6px;
	width: 100%;
	display: block;
}

.scelte-box .text-center {
	padding-bottom: 20px;
}

.card-servizio {
	padding: 15px 10px;
}

.card-servizio .info-servizio {
	font-size: 15px;
	margin-top: 10px;
}

.riepilogo p {
	margin: 0;
}

.riepilogo .fs-5 {
	font-size: 1.25rem;
}

/* Totale font migliorato */
#totale-costo,
#totale-durata {
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 5px;
}

/* Spazio tra durata totale e bottone Prosegui */
#form-scelte {
	margin-top: 25px;
}

/* Stilizzazione coerente per blocchi scelti */
.widget-servizio {
	background-color: #fff;
	border: 5px solid #ddd;
	border-radius: 6px;
	padding: 15px;
	display: flex;
	flex-direction: column;
	text-align: center;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	min-height: 200px;
	justify-content: space-between;
}

.widget-servizio .nome-servizio {
	font-size: 20px;
	font-weight: bold;
	color: #333;
}

.widget-servizio .info-servizio {
	margin-top: 8px;
	font-size: 15px;
	color: #333;
}

.widget-servizio .footer-servizio {
	margin-top: 15px;
}

/* Cambia il colore dei giorni selezionati */
.fc .fc-daygrid-day.fc-day-today {
  background-color: rgba(220, 53, 69, 0.1); /* sfondo giorno di oggi */
}

/* Cambia il colore del bordo quando selezioni un intervallo */
.fc .fc-highlight {
  background-color: rgba(220, 53, 69, 0.2);
}

/* Cambia il colore del bordo quando clicchi una data */
.fc .fc-daygrid-day.fc-day-selected {
  background-color: rgba(220, 53, 69, 0.2);
}

/* Colore degli eventi, se ne aggiungerai */
.fc-event {
  background-color: #c50306 !important;
  border: none !important;
}

/* Colore del testo delle intestazioni (giorni della settimana) */
.fc .fc-col-header-cell-cushion {
  color: #c50306;
  font-weight: bold;
}

/* Optional: cambia il colore del mese nella testata */
.fc .fc-toolbar-title {
  color: #c50306;
}

/* Optional: cambia colore ai bottoni (prev/next/today) */
.fc-button-primary {
  background-color: #c50306;
  border-color: #c50306;
}

.fc-button-primary:hover {
  background-color: #bb2d3b;
  border-color: #b02a37;
}

.giorno {
font-size: 12px !important;
padding: 10px 20px;
border-radius: 5px !important;
cursor: pointer;
background-color: rgb(222, 112, 123);
color: white;
border: none;
font-weight: bold;
}

.giorno:hover {
	background-color: #dc3545;
	color: white;
}
.giorno.active {
background-color: #c50306;
color: white;
border: none;
}

#orari-disponibili .btn-outline-danger.active {
background-color: #c50306;
color: white;
}

.giorno-non-lavorativo {
color: rgb(31, 17, 220) !important;
border-color: rgb(50, 21, 217) !important;
}

#flotContainer {
  width: 100%;
  height: 400px;
}
.giorno.disabled {
  background-color: #f8d7da !important; /* rosato */
  color: #721c24 !important;             /* rosso scuro */
  border-color: #f5c6cb !important;      /* bordo rosato */
  cursor: not-allowed !important;
}

#orari-disponibili {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 15px;
  width: 100%;
  margin: 0 auto;
  padding: 20px 0;
  min-height: 300px;
}

#orari-disponibili button {
  width: 100%;
  padding: 15px;
  font-size: 16px;
  white-space:nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.select-staff {
  width: 94%;
  display: inline-block;
  padding: 0.4rem 0.8rem;
  font-size: 1rem;
  border: 1px solid #ccc;
  border-radius: 4px;
  background-color: #fff;
  color: #333;
  font-family: 'Poppins', sans-serif; /* Usa il font carino! */
  transition: border-color 0.3s, box-shadow 0.3s;
  cursor: pointer;
}

.select-staff:focus {
  border-color: #c50306;
  box-shadow: 0 0 0 3px rgba(197, 3, 6, 0.2);
  outline: none;
}

.select-staff:hover {
  border-color: #c50306;
}

.select.select-staff option:disabled {
    color: #ccc; 
  }

.label-staff {
  font-weight: bold;
  font-family: 'Poppins', sans-serif; 
  font-size: 1.2rem;
  color: #333;    
  margin-right: 10px;
}

.mese-corrente {
  font-family: 'Poppins', sans-serif;  
  font-size: 1.5rem;                    
  font-weight: 600;                     
  color: #c50306;                      
  margin-bottom: 1rem;                 
}

@media (max-width: 576px) {
  h3.titolo-sezione {
    font-size: 1.2rem;
    padding: 10px;
  }

  .scelte-box-inner {
    font-size: 12px;
  }

  #orari-disponibili button {
    font-size: 13px;
    padding: 10px 8px;
	white-space: nowrap;
  }

  .mese-corrente {
    font-size: 1.2rem;
  }
}
@media (max-width: 768px) {
  .controlli-settimana {
    flex-direction: column;  /* da riga a colonna */
    align-items: center;
    gap: 0.5rem;
  }

  #settimana {
    justify-content: center;  /* centra i bottoni giorni */
    flex-wrap: wrap; 
    width: 100%;
  }
}
@media (max-width: 576px) {
  .controlli-settimana {
	flex-direction: column;  /* da riga a colonna */
	align-items: center;
	gap: 0.5rem;
  }

  #settimana {
	justify-content: center;  /* centra i bottoni giorni */
	flex-wrap: wrap; 
	width: 100%;
  }
}
.box-navigazione {
  border: 1px solid #ddd;
  border-radius: 8px;
  background: #fff;
  padding: 20px;
  margin-bottom: 20px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.box-navigazione .controlli-settimana {
 display: flex;
	flex-wrap: wrap;
  gap: 5px;
  justify-content: center;
}

.box-navigazione button {
  flex-shrink: 0;
  padding: 0.25rem 0.5rem; /* riduci leggermente padding se necessario */
  font-size: 0.9rem; /* facoltativo: testi leggermente più piccoli */
}

.box-navigazione .controlli-settimana button {
  flex-shrink: 1; 
  padding: 0.3rem 0.6rem; 
  font-size: 0.9rem; 
}

@media (max-width: 768px) {
  .box-navigazione {
    padding: 15px;
  }

  .box-navigazione .controlli-settimana {
    flex-direction: column;
    align-items: stretch;
  }

  .box-navigazione .controlli-settimana button {
    width: 100%;
  }

  .box-navigazione #settimana {
    justify-content: center;
  }
}

.btn-left {
  background-color: #fff;
  color: black;
  border: 1px solid #ddd;
  font-size: 24px;
  display: inline-flex;          
  align-items: center;           
  justify-content: center;
  gap: 8px;                      
  padding: 6px 12px;            
}

.btn-left:hover {
  background-color: #fff;
  color: black;
  border: 1px solid #ddd;
	  font-size: 16px;
}

.btn-left i {
  font-size: 20px;              
  line-height: 1;               
  color: black;                
}

@media (max-width: 768px) {
	  .btn-left {
	width: 100%;
	margin-bottom: 10px;
  }
}
.btn-settimana {
  background-color: #c50306;
  color: white;
  border: 1px solid #c50306;
  transition: background-color 0.3s, color 0.3s;
}

.btn-settimana:hover {
  background-color: white;
  color: #c50306;
  border: 1px solid #c50306;
}

.btn-mese {
  background-color: #ffc107; /* bootstrap giallo */
  color: white;
  border: 1px solid #ffc107;
  transition: background-color 0.3s, color 0.3s;
}

.btn-mese:hover {
  background-color: white;
  color: #ffc107;
  border: 1px solid #ffc107;
}

.btn-annulla {
  background-color: #fff;
  color: #000;
  border: 1px solid #ddd;
}

.btn-annulla:hover,
.btn-annulla:focus {
  background-color: #f0f0f0;
  color: #000;
}

.btn-conferma {
  background-color: #c50306;
  color: #fff;
  border: none;
}

.btn-conferma:hover,
.btn-conferma:focus {
  background-color: #c50306;
  color: #fff;
}

label.form-label.required::after {
  content: " *";
  color: red;
  padding-left: 4px;
}

.btn-home-top {
	border: 5px solid #ddd;
	padding: 10px 12px;
	border-radius: 10px;
	background-color: white;
	color: black;
	text-decoration: none;
	position: fixed;
	top: 20px;
	right: 20px;
	z-index: 10;
	display: inline-block;
}

.btn-home-top i {
	color: black;
	font-size: 24px;
}

.btn-home-top:hover {
	background-color: #f8f9fa;
}

.btn-home-top:hover i {
	color: #000;
}
 
  /* Evidenziatore per gli slot orari
.slot-orario {
  background-color: #ffff66; // giallo evidenziatore classico
  color: #000;               // testo nero per contrasto
  padding: 2px 6px;
  border-radius: 2px;        // o 0 se vuoi spigoli netti come un evidenziatore
  font-weight: 600;
}
/*