/* STRUTTURA GENERALE */
#availability-form-row, #availability-form-row * {
  font-family: inherit;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

.availability-form {
  display: flex;
  align-items: center;
  max-width: 1280px;
  margin: 0 auto;
  background: #ffffff;
  border-radius: 999px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  padding: 0 10px 0 20px;
  position: relative;
}

.form-group {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 56px;
  padding-left: 16px;
  flex: 1;
}

.form-group--range { flex: 1.6; }
.form-group--submit { flex: 0 0 auto; }

/* BORDO: Solo sul primo elemento (Date) */
.form-group:first-child::after {
  content: "";
  position: absolute;
  right: 0; 
  top: 25%; 
  height: 50%; 
  width: 1px;
  background: #eeeeee;
}

/* ALLINEAMENTO A SINISTRA */
#availability-form-row .label, 
#availability-form-row .form-group--range label, 
#availability-form-row .value, 
#availability-form-row #datepicker {
  text-align: left !important;
  display: block;
  width: 100%;
}

#availability-form-row .label {
  color: #8b8b8b;
  font-size: 14px;
  margin-bottom: 2px;
}

#availability-form-row .value, 
#availability-form-row #datepicker {
  color: #222223;
  font-size: 16px;
  font-weight: 600;
  border: none !important;
  outline: none !important;
  background: transparent;
  cursor: pointer;
  padding: 0;
}

#availability-form-row #datepicker::placeholder { color: #222223; opacity: 1; }

/* --- STILE PULSANTI ISOLATO --- */
#availability-form-row [type=button], 
#availability-form-row [type=submit], 
#availability-form-row button {
    background-color: transparent;
    border: none !important;
    color: transparent !important;
    display: inline-block;
    transition: all .3s;
    cursor: pointer;
}

#availability-form-row [type=button]:focus, 
#availability-form-row [type=submit]:focus, 
#availability-form-row button:focus {
    outline: none !important;
    box-shadow: none !important;
}

/* Eccezione: Bottoni Contatore (+ e -) */
#availability-form-row .counter button {
    width: 32px; height: 32px;
    border-radius: 50%;
    border: 1px solid #ddd !important;
    background: #fff !important;
    display: flex; align-items: center; justify-content: center;
    color: #222223 !important;
    font-size: 18px; font-weight: 400; padding: 0;
}

#availability-form-row .counter button:hover {
    border-color: #222223 !important;
    background: #f7f7f7 !important;
}

/* Eccezione: Bottone Cerca */
#availability-form-row #submit_id {
  width: 54px; height: 54px; border-radius: 50%;
  background: #222223 url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='8'></circle><line x1='21' y1='21' x2='16.65' y2='16.65'></line></svg>") no-repeat center !important;
  color: transparent !important;
}

/* PANNELLI DROPDOWN OSPITI */
.dropdown-panel, .guest-panel {
  position: absolute; 
  left: 0; 
  bottom: 100%; 
  transform: translateY(-17px); 
  background: #ffffff; 
  border-radius: 24px;
  box-shadow: 0 10px 40px rgba(0,0,0,0.12);
  padding: 24px; 
  min-width: 300px; 
  z-index: 1000;
}

.option { padding: 12px 14px; border-radius: 12px; cursor: pointer; }
.option:hover { background: #f5f5f5; }

.guest-row { display: flex; justify-content: space-between; align-items: center; padding: 8px 0; }
.guest-panel hr { border: none; border-top: 1px solid #eeeeee; margin: 8px 0; }
.title { color: #222223; font-size: 16px; font-weight: 600; }
.subtitle { color: #777777; font-size: 14px; }
.counter { display: flex; align-items: center; gap: 12px; }

/* CALENDARIO EASEPICK - SOLUZIONE ARROTONDAMENTO FORZATA */
:root { 
    --e-main-color: #222223; 
}



/* Applichiamo il raggio a tutti i possibili contenitori interni */
.easepick-wrapper,
.easepick-wrapper .container,
.easepick-wrapper .container > div,
.easepick-wrapper .calendar { 
  border-radius: 24px !important;
  overflow: hidden !important;
  border: none !important;
}

.easepick-wrapper { 
  z-index: 99999 !important; 
  transform: translateY(-40px) !important;
  overflow:visible !important;
}

.easepick-wrapper .container { 
  box-shadow: 0 20px 50px rgba(0,0,0,0.15) !important;
  background-color: #ffffff !important;
}

/* Forziamo gli angoli anche sulle sezioni interne (header/footer) */
.easepick-wrapper .header, 
.easepick-wrapper .footer {
  border-radius: 0 !important; /* Evita conflitti, l'arrotondamento lo dà il padre */
}

.easepick-wrapper .day { border: none !important; font-weight: 500 !important; }
.easepick-wrapper .day.selected { background: #222223 !important; border-radius: 50% !important; }
.easepick-wrapper .day.in-range { background: #f7f7f7 !important; border-radius: 0 !important; }