/* LEVORA Hospitality v0.2.2 — Booking Mobile Form Stability
   Fix dirigido ao /reservar. Não altera archive, single, lightbox ou backend. */

.lvh18-booking-form,
.lvh18-booking-form label,
.lvh18-form-two,
.lvh18-form-two > label,
.lvh18-search,
.lvh18-search label{
  min-width:0;
  max-width:100%;
}

.lvh18-booking-form input,
.lvh18-booking-form select,
.lvh18-booking-form textarea,
.lvh18-search input{
  box-sizing:border-box;
  min-width:0;
  max-width:100%;
}

.lvh18-booking-form input[type="date"],
.lvh18-search input[type="date"]{
  display:block;
  width:100%;
  min-width:0;
  max-width:100%;
  -webkit-appearance:none;
  appearance:none;
  text-align:left;
}

.lvh18-booking-form input[type="date"]::-webkit-date-and-time-value,
.lvh18-search input[type="date"]::-webkit-date-and-time-value{
  min-width:0;
  width:100%;
  text-align:left;
}

.lvh18-booking-form input[type="date"]::-webkit-datetime-edit,
.lvh18-search input[type="date"]::-webkit-datetime-edit{
  padding:0;
  text-align:left;
}

@media(max-width:760px){
  .lvh18-reserve-wrap{
    width:calc(100vw - 34px);
    max-width:calc(100vw - 34px);
    margin-inline:auto;
  }

  .lvh18-reserve-grid,
  .lvh18-booking-form,
  .lvh18-search,
  .lvh18-form-two,
  .lvh18-form-two > label{
    width:100%;
    max-width:100%;
    min-width:0;
  }

  .lvh18-booking-form input,
  .lvh18-booking-form select,
  .lvh18-booking-form textarea{
    font-size:16px;
    line-height:1.35;
  }

  .lvh18-booking-form input,
  .lvh18-booking-form select{
    min-height:48px;
  }

  .lvh18-booking-form input[type="date"]{
    height:48px;
    padding:11px 12px;
  }

  .lvh18-booking-form textarea{
    min-height:112px;
    resize:vertical;
  }

  .lvh18-search input{
    font-size:16px;
    line-height:1.35;
  }

  .lvh18-search label{
    min-height:66px;
  }

  .lvh18-search input[type="date"]{
    height:30px;
  }
}

@media(max-width:480px){
  :root{--lvh18-shell:calc(100vw - 28px)}

  .lvh18-reserve-wrap{
    width:calc(100vw - 28px);
    max-width:calc(100vw - 28px);
  }

  .lvh18-form-two{
    grid-template-columns:minmax(0,1fr)!important;
    gap:13px;
  }

  .lvh18-booking-form{
    padding:17px;
    overflow:hidden;
  }

  .lvh18-booking-form label,
  .lvh18-form-unit{
    width:100%;
    max-width:100%;
  }
}

@media(max-width:390px){
  .lvh18-reserve-wrap{
    width:calc(100vw - 24px);
    max-width:calc(100vw - 24px);
  }

  .lvh18-booking-form{
    padding:15px;
  }
}
