/* FORM DISPONIBILITÀ - VillaggiHotelCalabria */
/* Primario: #2a80b9 - Sfondo campi: #f8f8f9 - Border: #2a80b9 */

.booking-form{max-width:600px;margin:0 auto;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.booking-form__form{}
.booking-form__row{display:block;margin-bottom:20px}
.booking-form__row--2col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.booking-form__row--3col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.booking-form__row--buttons{text-align:center}

.booking-form__label-top,
.booking-form__field label{
  font-size:14px;font-weight:700;color:#2a80b9;display:flex;align-items:center;gap:6px
}
.booking-form__label-icon{font-size:16px;color:#2a80b9;flex-shrink:0}

.booking-form__field input[type="text"],
.booking-form__field input[type="email"],
.booking-form__field input[type="tel"],
.booking-form__field select,
.booking-form__calendar-box,
.booking-form__counter,
.booking-form__field textarea{
  width:100%;
  border-radius:14px;
  background:#f8f8f9;
  border:1px solid #2a80b9;
  padding:12px 14px;
  font-size:15px;
  outline:none;
  transition:all .2s ease
}

/* altezza uniforme */
.booking-form__field input[type="text"],
.booking-form__field input[type="email"],
.booking-form__field input[type="tel"],
.booking-form__field select,
.booking-form__calendar-box,
.booking-form__counter{
  height:54px !important;
  display:flex;
  align-items:center;
}

.booking-form__field input:focus,
.booking-form__field textarea:focus,
.booking-form__field select:focus,
.booking-form__calendar-box:focus{
  border-color:#2a80b9;
  box-shadow:0 0 0 2px rgba(42,128,185,.20);
}

.booking-form__field textarea{min-height:110px;resize:vertical;padding:14px}

/* calendari */
.booking-form__field--calendar .booking-form__calendar-box{
  flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;cursor:pointer
}
.booking-form__calendar-input{
  border:none!important;background:transparent;padding:0;margin:0;
  font-size:15px;color:#2a80b9;font-weight:700
}
.booking-form__calendar-input:focus{outline:none}

/* animazione flatpickr */
.flatpickr-calendar{opacity:0;transform:scale(.94);transition:all .25s ease}
.flatpickr-calendar.open{opacity:1;transform:scale(1)}
.flatpickr-day{font-weight:600;color:#2a80b9}
.flatpickr-day:hover,.flatpickr-day:focus{background:#2a80b9!important;color:#fff!important;border-radius:50%!important}
.flatpickr-day.selected,.flatpickr-day.selected:hover,.flatpickr-day.selected:focus{background:#2a80b9!important;color:#fff!important;border-radius:50%!important}

/* contatori */
.booking-form__counter{gap:10px;justify-content:space-between}
.booking-form__counter-btn{
  border:none;background:#e1e1e5;border-radius:999px;
  width:32px;height:32px;font-size:20px;line-height:1;
  display:flex;align-items:center;justify-content:center;cursor:pointer;color:#2a80b9
}
.booking-form__counter-input{border:none;background:transparent;width:42px;text-align:center;font-size:16px;font-weight:700;color:#2a80b9}

/* camere dinamiche */
.booking-form__room{
  border:1px solid rgba(42,128,185,.35);
  background:#fff;
  border-radius:16px;
  padding:14px;
  margin-bottom:16px;
}
.booking-form__room-title{
  font-weight:800;
  color:#2a80b9;
  margin-bottom:12px;
  display:flex;
  align-items:center;
  gap:8px;
}
.booking-form__room-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.booking-form__eta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:10px}
.booking-form__eta-item .eta-bambino-label{font-size:14px!important;font-weight:700!important;color:#2a80b9!important;display:block;margin-bottom:4px}

/* privacy */
.booking-form__privacy{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:#333}
.booking-form__privacy input{width:18px;height:18px;margin-top:3px}
.booking-form__privacy-strong{font-size:15px}

/* messaggi */
.booking-form__messages{margin-top: 12px;margin-bottom:12px}
.booking-form__message{padding:10px 12px;border-radius:8px;font-size:15px;font-weight:600}
.booking-form__message--success{background:#e6f4ea;color:#156432}
.booking-form__message--error{background:#fee2e2;color:#b91c1c}
.booking-form__email-message{margin-top:6px;font-size:13px;font-weight:600}
.booking-form__email-message.success{color:#0a7a28}
.booking-form__email-message.error{color:#b91c1c}

/* submit */
.booking-form__submit{
  display:inline-block;padding:12px 32px;border-radius:16px;border:none;
  background:#2a80b9;color:#fff;font-size:18px;font-weight:700;cursor:pointer;
  width:100%;height:60px;transition:all .2s ease
}
.booking-form__submit:hover{background:#216a97;transform:translateY(-1px)}
.booking-form__submit.is-loading{opacity:.7;cursor:wait}

/* responsive */
@media (max-width: 900px){
  .booking-form__row--3col{grid-template-columns:1fr}
}
@media (max-width: 640px){
  .booking-form__row--2col{grid-template-columns:1fr}
  .booking-form__eta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .booking-form__room-grid{grid-template-columns:1fr}
}
/* ==============================
   FIX: Form full-width dentro Avada Modal
   (mettere in fondo al CSS)
============================== */

/* il wrapper si adatta al container */
.booking-form {
  max-width: none !important; /* rimuove il limite 600px */
  width: 100% !important;
  margin: 0 !important;
}

/* il form interno usa tutta la larghezza */
.booking-form__form {
  width: 100% !important;
}
