/* 
    Created on : 24 Ottobre 2023, 09:32:02
    Author     : luca.pepe
*/
/*:root{*/
/*--bs-primary: #4e7e5b;*/
/*--bs-primary-hls: hsl(160deg, 100%, 48%);*/
/*--bs-primary-rgb: 78, 126, 91;*/
/*--bs-secondary: #00402b;*/
/*--btn-primary: #4e7e5b;*/
/*--btn-primary-hover: #3c6046;*/
/*--bs-link-color: #4e7e5b;*/
/*--bs-body-color: #191919;*/
/*--bs-warning: #f46007;*/
/*--bs-primary-light: #ebfef0;*/
/*}*/


/*custom calendar - start*/

#calendario_date .ui-datepicker-inline {
  width: 100%;
}

#calendario_date .ui-widget.ui-widget-content {
  border: 3px solid var(--bs-primary);
}

#calendario_date .ui-widget-content {
  /*background: var(--bs-secondary);*/
  background: #fff
}

#calendario_date .ui-widget-header {
  background: unset;
  border: unset;
  color: var(--bs-secondary);
  padding: 8px;
  /* border-bottom: 1px solid var(--bs-primary); */
  border-radius: 0 !important;
}

#calendario_date .ui-datepicker {
  border-radius: 0px;
  border: none !important;
}

#calendario_date .ui-state-hover {
  border: 1px solid var(--bs-primary-light);
  background: var(--bs-primary-light);
}

#calendario_date .ui-datepicker-header .ui-state-hover {
  background: var(--bs-primary) !important;
  color: #fff !important;
}

#calendario_date .ui-datepicker td span,
#calendario_date .ui-datepicker td a {
  text-align: right;
  padding-right: 10px;
}

#calendario_date .ui-datepicker th {
  text-align: center;
  padding-right: 10px;
}


#calendario_date .ui-state-default {
  /*color: white;*/
  /*background: var(--bs-secondary);*/
  /* color: var(--bs-primary); */
  color: #5b6f82;
  background: white;
  border: none;
  font-size: 1.2rem;
}

#ricorrente_data_fine,
#ricorrente_data_inizio {
  border: none !important;
  font-weight: 700 !important;
  padding: 0;
}

#calendario_date .ui-datepicker-unselectable .ui-state-default {
  color: #5b6f82;
  background: white;
  border: none;

}

#calendario_date .ui-datepicker-calendar thead tr th,
#calendario_date .ui-datepicker-calendar tbody tr td {
  border: 1px solid rgba(0, 0, 0, 0.301);
}

#calendario_date .ui-datepicker td span,
#calendario_date .ui-datepicker td a {
  padding: 10px !important;
}

.ui-state-disabled,
.ui-widget-content .ui-state-disabled,
.ui-widget-header .ui-state-disabled {
  opacity: 0.25;
}

.ui-range-bk {
  opacity: 0.75 !important;
}

.ui-icon-circle-triangle-e {
  /*background-position: -48px -192px !important;*/
}

.ui-datepicker-calendar thead span {
  /*color: #fff;*/
  color: var(--bs-primary);
}

.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
  /*border: 1px solid var(--bs-primary);*/
  border: none;
}

.ui-state-highlight a,
.ui-widget-content .ui-state-highlight a,
.ui-widget-header .ui-state-highlight a {
  color: white !important;
  background: var(--bs-primary) !important;
}


.btn-outline-primary:focus {
  box-shadow: inset 0 0 0 2px var(--bs-primary) !important;
  /*border: 1px solid var(--bs-primary) !important;*/
}

.card_orari_calendar .btn-primary {
  border: none !important;
}


.ui-widget-header .ui-icon {
  background-image: url('https://code.jquery.com/ui/1.12.1/themes/pepper-grinder/images/ui-icons_222222_256x240.png') !important;
}

/*custom calendar - end*/

.card_orari_calendar>.check-card.border.required {
  border: 1px solid red !important;
}

/* custom loader - start */

/* Absolute Center Spinner */
.loading {
  /*position: fixed;*/
  z-index: 100;
  /*overflow: show;*/
  margin: auto;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 50px;
  height: 50px;
}


/* :not(:required) hides these rules from IE9 and below */
.loading:not(:required) {
  /* hide "loading..." text */
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}

.loading:not(:required):after {
  content: '';
  display: block;
  font-size: 10px;
  width: 50px;
  height: 50px;
  margin-top: -0.5em;

  border: 15px solid var(--bs-primary);
  border-radius: 100%;
  border-bottom-color: transparent;
  -webkit-animation: spinner 1s linear 0s infinite;
  animation: spinner 1s linear 0s infinite;

}

.card-header h5 {
  color: #fff;
}

#ricorrenza_days_content .tab-pane {
  display: none;
}

#ricorrenza_days_content .tab-pane.active {
  display: block;
}



.ricorrenza-date-chip {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .2rem .3rem .2rem .6rem;
  margin: .15rem;
  border-radius: .25rem;
  background: #f4f4f4;
  border: 1px solid #dcdcdc;
  font-size: 1rem;
  color: black;
}

.ricorrenza-chip-remove {
  border: none;
  background: transparent;
  color: #b02a37;
  font-weight: bold;
  line-height: 1;
  padding: 0 .2rem;
  cursor: pointer;
}

.ricorrenza-chip-remove:hover {
  color: #7a1d28;
}

#modalDettaglioGiornoBody .ricorrenza-fascia-card .card {
  border-radius: 4px;
  border: 1px solid;
  box-shadow: 0px 3px 6px #00000026;
}

#modalDettaglioGiornoBody .ricorrenza-field-label {
  font-weight: 600;
}

.ricorrenza-fascia-chip {
  display: inline-block;
  padding: .1rem .4rem;
  margin: .1rem;
  border-radius: .2rem;
  background: #eef6f0;
  border: 1px solid #cfe8d6;
  font-size: .75rem;
}

.ricorrenza-mesi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: .75rem;
}

.ricorrenza-mese-block {
  border: 1px solid #eee;
  border-radius: .25rem;
  padding: .5rem;
  background: #fafafa;
}

#accordionFasce .accordion-button {

  padding: 10px;
}

.body-compilazione-dati .card,
#repielogo_prenotazione .card {
  /* box-shadow: 0px 3px 6px #00000029; */
  /* border-radius: 0.5rem; */
  border: 1px solid #e4e6eb;
}

.ps-dt-toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-start !important;
  gap: 12px;
  flex-wrap: wrap;
}

.ps-dt-length,
.ps-dt-buttons {
  display: flex;
  align-items: center;
}

.ps-dt-buttons {
  margin-left: 0 !important;
}

.ps-dt-buttons .dt-buttons {
  margin-left: 0 !important;
}

/* Animation */

@-webkit-keyframes spinner {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@-moz-keyframes spinner {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@-o-keyframes spinner {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes spinner {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/* custom loader - end */

.steppers .steppers-header ul li.active,
.steppers .steppers-header ul li.steppers-index {
  display: flex !important;
}

@media screen and (max-width: 992px) {

  .steppers .steppers-header {
    padding: 0;
    margin: 0;
  }

  .steppers .steppers-index {
    display: none;
  }

  .step-servizi-content {
    height: auto;
    margin-bottom: 0;
  }

  .bread-element {
    overflow: hidden !important;
  }
}

/* descrizione struttura selezionata - troncamento */
.descrizione-clamp {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.descrizione-clamp.expanded {
  display: block;
  -webkit-line-clamp: unset;
  overflow: visible;
}

.descrizione-toggle-btn {
  text-decoration: none;
  font-weight: 600;
}

/* galleria più compatta dentro la card di riepilogo */
.ps-gallery-main-image-sm {
  display: block;
  width: 100%;
  height: 100% !important;
  max-height: 350px;
  object-fit: cover;
  border-radius: 4px;
}

.ps-detail-list-clean {
  background: #f8faf8;
  border: 1px solid #eef1ee;
  border-radius: 4px;
  padding: 12px 14px !important;
}

.ps-gallery-main-sm .swiper-slide {
  height: 220px;
}

#tipo_utente_box .custom-option-content {
  text-align: left;
  padding: 1rem;
}

#tipo_utente_box .custom-option-body {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin: 0;
}

#tipo_utente_box .custom-option-text {
  min-width: 0;
}
#tipo_utente_box .custom-option-title b {
    font-size: 18px!important;
}


.tipo-utente-icon {
  display: block;
  height: 38px;
  width: auto;
  margin: 0;
}

.tipo-utente-icon-associazione {
  height: 38px;
  width: auto;
  min-width: 50px;
}

.tipo-utente-icon path[fill="currentColor"] {
  stroke: currentColor;
  stroke-width: 10px;
  stroke-linejoin: round;
}

.tipo-utente-icon path[fill="#fff"] {
  stroke: #fff;
  stroke-width: 2px;
  stroke-linejoin: round;
}

.dati-extra-title {
  font-weight: 700;
  text-align: center;
  margin-bottom: 1rem;
  font-size:16px;
}

.dati-extra-box {
  border: 1px solid #d9dee3;
  border-radius: .5rem;
  padding: 1.25rem;
}

.title-booking {
  color: var(--bs-primary);
  font-weight: 700;
  margin-bottom: 10px;
}

.card-step {
  position: relative;
  padding: 1rem 1.25rem;
  display: flex;
  align-items: center;
  gap: .75rem;
  overflow: hidden;
  border-radius: .25rem .25rem 0 0;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

.card-step::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--card-step-leaves-bg);
  background-repeat: no-repeat;
  background-position: right center;
  background-size: contain;
  opacity: 1;
  pointer-events: none;
}

.card-step-first::after {
  background-image: none;
}

.card-step__num {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
  flex-shrink: 0;
  position: relative;
  z-index: 1;
  color: inherit;
}

.card-step__title {
  margin: 0;
  margin-bottom: 0px !important;
  font-weight: 700;
  flex-grow: 1;
  position: relative;
  z-index: 1;
  color: inherit;
  font-size: 22px !important;
  text-transform: uppercase;
}

.card-step__help {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 2px solid currentColor;
  background: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  position: relative;
  z-index: 1;
  color: inherit;
  font-size: 18px;
}

.card-step__help--inline {
  color: var(--bs-primary);
  border-color: var(--bs-primary);
  vertical-align: middle;
  margin-left: .4rem;
}


/* stato 1: step COMPLETATO */
.body-compilazione-dati .card-header.card-step--completed,
#repielogo_prenotazione .card-header.card-step--completed,
.card-header.card-step--completed {
  background: var(--bs-primary) !important;
  color: #fff;
}

.card-header.card-step--completed .btn-close{
 filter: invert(1) grayscale(100%) brightness(200%);
}
/* stato 2: step ATTIVO (in compilazione ora) */
.body-compilazione-dati .card-header.card-step--active,
#repielogo_prenotazione .card-header.card-step--active {
  background: #d8d8d8;
  color: var(--bs-primary);
  border: 1px solid var(--bs-primary);
}

.body-compilazione-dati .card-header.card-step--active .card-step__title,
#repielogo_prenotazione .card-header.card-step--active .card-step__title {
  color: var(--bs-primary);
}

.body-compilazione-dati .card-header.card-step--completed.card-step-first,
#repielogo_prenotazione .card-header.card-step--completed.card-step-first {
  background-color: transparent !important;
}

.cmp-card.is-active-step {
  border: 2px solid var(--bs-primary);
}

.cmp-card.has-step-error {
  border: 2px solid #c62828 !important;
}

/* stato 3: step NON ANCORA RAGGIUNTO */
.body-compilazione-dati .card-header.card-step--pending,
#repielogo_prenotazione .card-header.card-step--pending {
  background: #d8d8d8;
  color: #fff;
}

.card_orari_calendar button {
  font-weight: 600;
  color: #00402b;
  border-color: #cecece;
}

.data_selezione_title {
  font-weight: 700;
  color: #00402b;
}

.day-enabled.slot_day_hours.btn-primary, .recurring-slot.btn-primary {
  color: #fff;
}
#btn_genera_ricorrenza{
  color:white;
  border-radius: 14px;
}
#servizi_aggiuntivi_domanda .form-check-input:checked {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}
.struttura-scopri-wrapper {
    display: flex;
    align-items: center;
    gap: .5rem;
}
.struttura-allegato-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: white;
    flex-shrink: 0;
}
/* .struttura-allegato-icon:hover {
    background: var(--btn-primary-hover);
} */
 .prenotazione-eliminata-alert {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    border-radius: 6px;
    background: #f1f1f1;
    color: #6c6c6c;
    text-align: left;
    border:2px solid red;
}

.prenotazione-eliminata-alert i {
    font-size: 18px;
}

.prenotazione-eliminata-alert strong {
    display: block;
    font-size: 14px;
    text-transform: uppercase;
}

.prenotazione-eliminata-alert span {
    display: block;
    font-size: 12px;
    font-weight: normal;
}
.badge-prenotazione-eliminata {
    display: inline-flex;
    align-items: center;
    font-size: 12px;
    font-weight: 600;
    color: #6c6c6c;
    background: #f1f1f1;
    border-radius: 4px;
    padding: 4px 8px;
}